]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - Documentation/devicetree/bindings/mfd/s2mps11.txt
Merge remote-tracking branch 'drm-panel/drm/panel/for-next'
[karo-tx-linux.git] / Documentation / devicetree / bindings / mfd / s2mps11.txt
1
2 * Samsung S2MPS11, S2MPS13, S2MPS14 and S2MPU02 Voltage and Current Regulator
3
4 The Samsung S2MPS11 is a multi-function device which includes voltage and
5 current regulators, RTC, charger controller and other sub-blocks. It is
6 interfaced to the host controller using an I2C interface. Each sub-block is
7 addressed by the host system using different I2C slave addresses.
8
9 Required 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
14 Optional 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 - 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.
22
23 Optional nodes:
24 - 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
26   instantiate a sub-node named "clocks". It uses the common clock binding
27   documented in :
28   [Documentation/devicetree/bindings/clock/clock-bindings.txt]
29   The s2mps14 provides two (AP/BT) buffered 32.768 KHz outputs.
30   - #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.
35     Clock               ID           Devices
36     ----------------------------------------------------------
37     32KhzAP             0            S2MPS11, S2MPS13, S2MPS14, S5M8767
38     32KhzCP             1            S2MPS11, S2MPS13, S5M8767
39     32KhzBT             2            S2MPS11, S2MPS13, S2MPS14, S5M8767
40
41   - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps13-clk",
42                 "samsung,s2mps14-clk", "samsung,s5m8767-clk"
43
44 - regulators: The regulators of s2mps11 that have to be instantiated should be
45 included in a sub-node named 'regulators'. Regulator nodes included in this
46 sub-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
54  BUCK[2/3/4/6] supports disabling ramp delay on hardware, so explicitly
55  regulator-ramp-delay = <0> can be used for them to disable ramp delay.
56  In the absence of the regulator-ramp-delay property, the default ramp
57  delay will be used.
58
59 NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set
60 for a particular group of BUCKs. So provide same regulator-ramp-delay<value>.
61 Grouping of BUCKs sharing ramp rate setting is as follow : BUCK[1, 6],
62 BUCK[3, 4], and BUCK[7, 8, 10]
63
64 On S2MPS14 the LDO10, LDO11 and LDO12 can be configured to external control
65 over GPIO. To turn this feature on this property must be added to the regulator
66 sub-node:
67         - samsung,ext-control-gpios: GPIO specifier for one GPIO
68                 controlling this regulator (enable/disable);
69 Example:
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
78 The regulator constraints inside the regulator nodes use the standard regulator
79 bindings which are documented elsewhere.
80
81 The following are the names of the regulators that the s2mps11 pmic block
82 supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
83 as per the datasheet of s2mps11.
84
85         - LDOn
86                   - valid values for n are:
87                         - S2MPS11: 1 to 38
88                         - S2MPS13: 1 to 40
89                         - S2MPS14: 1 to 25
90                         - S2MPU02: 1 to 28
91                   - Example: LDO1, LDO2, LDO28
92         - BUCKn
93                   - valid values for n are:
94                         - S2MPS11: 1 to 10
95                         - S2MPS13: 1 to 10
96                         - S2MPS14: 1 to 5
97                         - S2MPU02: 1 to 7
98                   - Example: BUCK1, BUCK2, BUCK9
99
100 Example:
101
102         s2mps11_pmic@66 {
103                 compatible = "samsung,s2mps11-pmic";
104                 reg = <0x66>;
105
106                 s2m_osc: clocks {
107                         compatible = "samsung,s2mps11-clk";
108                         #clock-cells = <1>;
109                         clock-output-names = "xx", "yy", "zz";
110                 };
111
112                 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         };