blob: 90eaef393325799d895cd5b99ae130e6cc4451f7 [file] [log] [blame]
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +05301
Chanwoo Choi159a5e922014-11-18 17:59:43 +09002* Samsung S2MPS11, S2MPS13, S2MPS14 and S2MPU02 Voltage and Current Regulator
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +05303
Sachin Kamat9a468472013-11-08 17:05:42 +05304The Samsung S2MPS11 is a multi-function device which includes voltage and
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +05305current regulators, RTC, charger controller and other sub-blocks. It is
Sachin Kamat9a468472013-11-08 17:05:42 +05306interfaced to the host controller using an I2C interface. Each sub-block is
7addressed by the host system using different I2C slave addresses.
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +05308
9Required properties:
Chanwoo Choi159a5e922014-11-18 17:59:43 +090010- compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps13-pmic"
11 or "samsung,s2mps14-pmic" or "samsung,s2mpu02-pmic".
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053012- 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.
Krzysztof Kozlowski6a4479f2015-08-17 08:55:51 +090018- samsung,s2mps11-acokb-ground: Indicates that ACOKB pin of S2MPS11 PMIC is
19 connected to the ground so the PMIC must manually set PWRHOLD bit in CTRL1
20 register to turn off the power. Usually the ACOKB is pulled up to VBATT so
21 when PWRHOLD pin goes low, the rising ACOKB will trigger power off.
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053022
23Optional nodes:
Chanwoo Choi159a5e922014-11-18 17:59:43 +090024- clocks: s2mps11, s2mps13 and s5m8767 provide three(AP/CP/BT) buffered 32.768
25 KHz outputs, so to register these as clocks with common clock framework
Krzysztof Kozlowskib6ab7a82014-03-17 10:19:18 +010026 instantiate a sub-node named "clocks". It uses the common clock binding
27 documented in :
Yadwinder Singh Brar3134bca2013-07-07 17:14:21 +053028 [Documentation/devicetree/bindings/clock/clock-bindings.txt]
Krzysztof Kozlowskib6ab7a82014-03-17 10:19:18 +010029 The s2mps14 provides two (AP/BT) buffered 32.768 KHz outputs.
Yadwinder Singh Brar3134bca2013-07-07 17:14:21 +053030 - #clock-cells: should be 1.
31
32 - The following is the list of clocks generated by the controller. Each clock
33 is assigned an identifier and client nodes use this identifier to specify
34 the clock which they consume.
Krzysztof Kozlowskib6ab7a82014-03-17 10:19:18 +010035 Clock ID Devices
36 ----------------------------------------------------------
Chanwoo Choi159a5e922014-11-18 17:59:43 +090037 32KhzAP 0 S2MPS11, S2MPS13, S2MPS14, S5M8767
38 32KhzCP 1 S2MPS11, S2MPS13, S5M8767
39 32KhzBT 2 S2MPS11, S2MPS13, S2MPS14, S5M8767
Krzysztof Kozlowskib6ab7a82014-03-17 10:19:18 +010040
Chanwoo Choi159a5e922014-11-18 17:59:43 +090041 - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps13-clk",
42 "samsung,s2mps14-clk", "samsung,s5m8767-clk"
Yadwinder Singh Brar3134bca2013-07-07 17:14:21 +053043
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053044- regulators: The regulators of s2mps11 that have to be instantiated should be
45included in a sub-node named 'regulators'. Regulator nodes included in this
46sub-node should be of the format as listed below.
47
48 regulator_name {
49 [standard regulator constraints....];
50 };
51
52 regulator-ramp-delay for BUCKs = [6250/12500/25000(default)/50000] uV/us
53
Hayato Suzuki24488c32014-07-02 15:15:32 +090054 BUCK[2/3/4/6] supports disabling ramp delay on hardware, so explicitly
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053055 regulator-ramp-delay = <0> can be used for them to disable ramp delay.
Sachin Kamat9a468472013-11-08 17:05:42 +053056 In the absence of the regulator-ramp-delay property, the default ramp
57 delay will be used.
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053058
59NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set
60for a particular group of BUCKs. So provide same regulator-ramp-delay<value>.
61Grouping of BUCKs sharing ramp rate setting is as follow : BUCK[1, 6],
62BUCK[3, 4], and BUCK[7, 8, 10]
63
Krzysztof Kozlowski9b63cfb2014-04-14 10:09:08 +020064On S2MPS14 the LDO10, LDO11 and LDO12 can be configured to external control
65over GPIO. To turn this feature on this property must be added to the regulator
66sub-node:
67 - samsung,ext-control-gpios: GPIO specifier for one GPIO
68 controlling this regulator (enable/disable);
69Example:
70 LDO12 {
71 regulator-name = "V_EMMC_2.8V";
72 regulator-min-microvolt = <2800000>;
73 regulator-max-microvolt = <2800000>;
74 samsung,ext-control-gpios = <&gpk0 2 0>;
75 };
76
77
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053078The regulator constraints inside the regulator nodes use the standard regulator
79bindings which are documented elsewhere.
80
81The following are the names of the regulators that the s2mps11 pmic block
82supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
83as per the datasheet of s2mps11.
84
85 - LDOn
Krzysztof Kozlowski8d7c7722014-03-07 11:10:52 +010086 - valid values for n are:
87 - S2MPS11: 1 to 38
Chanwoo Choi159a5e922014-11-18 17:59:43 +090088 - S2MPS13: 1 to 40
Krzysztof Kozlowski8d7c7722014-03-07 11:10:52 +010089 - S2MPS14: 1 to 25
Chanwoo Choib264fc72014-06-25 16:14:46 +090090 - S2MPU02: 1 to 28
Andreas Färberf18ac1a2014-06-23 03:21:19 +020091 - Example: LDO1, LDO2, LDO28
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053092 - BUCKn
Krzysztof Kozlowski8d7c7722014-03-07 11:10:52 +010093 - valid values for n are:
94 - S2MPS11: 1 to 10
Chanwoo Choi159a5e922014-11-18 17:59:43 +090095 - S2MPS13: 1 to 10
Krzysztof Kozlowski8d7c7722014-03-07 11:10:52 +010096 - S2MPS14: 1 to 5
Chanwoo Choib264fc72014-06-25 16:14:46 +090097 - S2MPU02: 1 to 7
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053098 - Example: BUCK1, BUCK2, BUCK9
99
100Example:
101
102 s2mps11_pmic@66 {
103 compatible = "samsung,s2mps11-pmic";
104 reg = <0x66>;
105
Krzysztof Kozlowskib6ab7a82014-03-17 10:19:18 +0100106 s2m_osc: clocks {
107 compatible = "samsung,s2mps11-clk";
Andreas Färberc75e0832014-06-23 03:21:20 +0200108 #clock-cells = <1>;
Yadwinder Singh Brar3134bca2013-07-07 17:14:21 +0530109 clock-output-names = "xx", "yy", "zz";
110 };
111
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +0530112 regulators {
113 ldo1_reg: LDO1 {
114 regulator-name = "VDD_ABB_3.3V";
115 regulator-min-microvolt = <3300000>;
116 regulator-max-microvolt = <3300000>;
117 };
118
119 ldo2_reg: LDO2 {
120 regulator-name = "VDD_ALIVE_1.1V";
121 regulator-min-microvolt = <1100000>;
122 regulator-max-microvolt = <1100000>;
123 regulator-always-on;
124 };
125
126 buck1_reg: BUCK1 {
127 regulator-name = "vdd_mif";
128 regulator-min-microvolt = <950000>;
129 regulator-max-microvolt = <1350000>;
130 regulator-always-on;
131 regulator-boot-on;
132 };
133
134 buck2_reg: BUCK2 {
135 regulator-name = "vdd_arm";
136 regulator-min-microvolt = <950000>;
137 regulator-max-microvolt = <1350000>;
138 regulator-always-on;
139 regulator-boot-on;
140 regulator-ramp-delay = <50000>;
141 };
142 };
143 };