1 2* Samsung S2MPS11, S2MPS13, S2MPS14 and S2MPU02 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" or "samsung,s2mps13-pmic" 11 or "samsung,s2mps14-pmic" or "samsung,s2mpu02-pmic". 12- reg: Specifies the I2C slave address of the pmic block. It should be 0x66. 13 14Optional properties: 15- interrupt-parent: Specifies the phandle of the interrupt controller to which 16 the interrupts from s2mps11 are delivered to. 17- interrupts: Interrupt specifiers for interrupt sources. 18 19Optional nodes: 20- clocks: s2mps11, s2mps13 and s5m8767 provide three(AP/CP/BT) buffered 32.768 21 KHz outputs, so to register these as clocks with common clock framework 22 instantiate a sub-node named "clocks". It uses the common clock binding 23 documented in : 24 [Documentation/devicetree/bindings/clock/clock-bindings.txt] 25 The s2mps14 provides two (AP/BT) buffered 32.768 KHz outputs. 26 - #clock-cells: should be 1. 27 28 - The following is the list of clocks generated by the controller. Each clock 29 is assigned an identifier and client nodes use this identifier to specify 30 the clock which they consume. 31 Clock ID Devices 32 ---------------------------------------------------------- 33 32KhzAP 0 S2MPS11, S2MPS13, S2MPS14, S5M8767 34 32KhzCP 1 S2MPS11, S2MPS13, S5M8767 35 32KhzBT 2 S2MPS11, S2MPS13, S2MPS14, S5M8767 36 37 - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps13-clk", 38 "samsung,s2mps14-clk", "samsung,s5m8767-clk" 39 40- regulators: The regulators of s2mps11 that have to be instantiated should be 41included in a sub-node named 'regulators'. Regulator nodes included in this 42sub-node should be of the format as listed below. 43 44 regulator_name { 45 [standard regulator constraints....]; 46 }; 47 48 regulator-ramp-delay for BUCKs = [6250/12500/25000(default)/50000] uV/us 49 50 BUCK[2/3/4/6] supports disabling ramp delay on hardware, so explicitly 51 regulator-ramp-delay = <0> can be used for them to disable ramp delay. 52 In the absence of the regulator-ramp-delay property, the default ramp 53 delay will be used. 54 55NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set 56for a particular group of BUCKs. So provide same regulator-ramp-delay<value>. 57Grouping of BUCKs sharing ramp rate setting is as follow : BUCK[1, 6], 58BUCK[3, 4], and BUCK[7, 8, 10] 59 60On S2MPS14 the LDO10, LDO11 and LDO12 can be configured to external control 61over GPIO. To turn this feature on this property must be added to the regulator 62sub-node: 63 - samsung,ext-control-gpios: GPIO specifier for one GPIO 64 controlling this regulator (enable/disable); 65Example: 66 LDO12 { 67 regulator-name = "V_EMMC_2.8V"; 68 regulator-min-microvolt = <2800000>; 69 regulator-max-microvolt = <2800000>; 70 samsung,ext-control-gpios = <&gpk0 2 0>; 71 }; 72 73 74The regulator constraints inside the regulator nodes use the standard regulator 75bindings which are documented elsewhere. 76 77The following are the names of the regulators that the s2mps11 pmic block 78supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number 79as per the datasheet of s2mps11. 80 81 - LDOn 82 - valid values for n are: 83 - S2MPS11: 1 to 38 84 - S2MPS13: 1 to 40 85 - S2MPS14: 1 to 25 86 - S2MPU02: 1 to 28 87 - Example: LDO1, LDO2, LDO28 88 - BUCKn 89 - valid values for n are: 90 - S2MPS11: 1 to 10 91 - S2MPS13: 1 to 10 92 - S2MPS14: 1 to 5 93 - S2MPU02: 1 to 7 94 - Example: BUCK1, BUCK2, BUCK9 95 96Example: 97 98 s2mps11_pmic@66 { 99 compatible = "samsung,s2mps11-pmic"; 100 reg = <0x66>; 101 102 s2m_osc: clocks { 103 compatible = "samsung,s2mps11-clk"; 104 #clock-cells = <1>; 105 clock-output-names = "xx", "yy", "zz"; 106 }; 107 108 regulators { 109 ldo1_reg: LDO1 { 110 regulator-name = "VDD_ABB_3.3V"; 111 regulator-min-microvolt = <3300000>; 112 regulator-max-microvolt = <3300000>; 113 }; 114 115 ldo2_reg: LDO2 { 116 regulator-name = "VDD_ALIVE_1.1V"; 117 regulator-min-microvolt = <1100000>; 118 regulator-max-microvolt = <1100000>; 119 regulator-always-on; 120 }; 121 122 buck1_reg: BUCK1 { 123 regulator-name = "vdd_mif"; 124 regulator-min-microvolt = <950000>; 125 regulator-max-microvolt = <1350000>; 126 regulator-always-on; 127 regulator-boot-on; 128 }; 129 130 buck2_reg: BUCK2 { 131 regulator-name = "vdd_arm"; 132 regulator-min-microvolt = <950000>; 133 regulator-max-microvolt = <1350000>; 134 regulator-always-on; 135 regulator-boot-on; 136 regulator-ramp-delay = <50000>; 137 }; 138 }; 139 }; 140