Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v3.14-rc7 110 lines 3.6 kB view raw
1 2* Samsung S2MPS11 Voltage and Current Regulator 3 4The Samsung S2MPS11 is a multi-function device which includes voltage and 5current regulators, RTC, charger controller and other sub-blocks. It is 6interfaced to the host controller using an I2C interface. Each sub-block is 7addressed by the host system using different I2C slave addresses. 8 9Required properties: 10- compatible: Should be "samsung,s2mps11-pmic". 11- reg: Specifies the I2C slave address of the pmic block. It should be 0x66. 12 13Optional properties: 14- interrupt-parent: Specifies the phandle of the interrupt controller to which 15 the interrupts from s2mps11 are delivered to. 16- interrupts: Interrupt specifiers for interrupt sources. 17 18Optional nodes: 19- clocks: s2mps11 provides three(AP/CP/BT) buffered 32.768 KHz outputs, so to 20 register these as clocks with common clock framework instantiate a sub-node 21 named "clocks". It uses the common clock binding documented in : 22 [Documentation/devicetree/bindings/clock/clock-bindings.txt] 23 - #clock-cells: should be 1. 24 25 - The following is the list of clocks generated by the controller. Each clock 26 is assigned an identifier and client nodes use this identifier to specify 27 the clock which they consume. 28 Clock ID 29 ---------------------- 30 32KhzAP 0 31 32KhzCP 1 32 32KhzBT 2 33 34- regulators: The regulators of s2mps11 that have to be instantiated should be 35included in a sub-node named 'regulators'. Regulator nodes included in this 36sub-node should be of the format as listed below. 37 38 regulator_name { 39 [standard regulator constraints....]; 40 }; 41 42 regulator-ramp-delay for BUCKs = [6250/12500/25000(default)/50000] uV/us 43 44 BUCK[2/3/4/6] supports disabling ramp delay on hardware, so explictly 45 regulator-ramp-delay = <0> can be used for them to disable ramp delay. 46 In the absence of the regulator-ramp-delay property, the default ramp 47 delay will be used. 48 49NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set 50for a particular group of BUCKs. So provide same regulator-ramp-delay<value>. 51Grouping of BUCKs sharing ramp rate setting is as follow : BUCK[1, 6], 52BUCK[3, 4], and BUCK[7, 8, 10] 53 54The regulator constraints inside the regulator nodes use the standard regulator 55bindings which are documented elsewhere. 56 57The following are the names of the regulators that the s2mps11 pmic block 58supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number 59as per the datasheet of s2mps11. 60 61 - LDOn 62 - valid values for n are 1 to 38 63 - Example: LDO1, LD02, LDO28 64 - BUCKn 65 - valid values for n are 1 to 10. 66 - Example: BUCK1, BUCK2, BUCK9 67 68Example: 69 70 s2mps11_pmic@66 { 71 compatible = "samsung,s2mps11-pmic"; 72 reg = <0x66>; 73 74 s2m_osc: clocks{ 75 #clock-cells = 1; 76 clock-output-names = "xx", "yy", "zz"; 77 }; 78 79 regulators { 80 ldo1_reg: LDO1 { 81 regulator-name = "VDD_ABB_3.3V"; 82 regulator-min-microvolt = <3300000>; 83 regulator-max-microvolt = <3300000>; 84 }; 85 86 ldo2_reg: LDO2 { 87 regulator-name = "VDD_ALIVE_1.1V"; 88 regulator-min-microvolt = <1100000>; 89 regulator-max-microvolt = <1100000>; 90 regulator-always-on; 91 }; 92 93 buck1_reg: BUCK1 { 94 regulator-name = "vdd_mif"; 95 regulator-min-microvolt = <950000>; 96 regulator-max-microvolt = <1350000>; 97 regulator-always-on; 98 regulator-boot-on; 99 }; 100 101 buck2_reg: BUCK2 { 102 regulator-name = "vdd_arm"; 103 regulator-min-microvolt = <950000>; 104 regulator-max-microvolt = <1350000>; 105 regulator-always-on; 106 regulator-boot-on; 107 regulator-ramp-delay = <50000>; 108 }; 109 }; 110 };