blob: 802e839b08294f6ef5f54c561b03c1981e395f0c [file] [log] [blame]
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +05301
Krzysztof Kozlowski8d7c7722014-03-07 11:10:52 +01002* Samsung S2MPS11 and S2MPS14 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:
Krzysztof Kozlowski8d7c7722014-03-07 11:10:52 +010010- compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps14-pmic".
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053011- 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:
Krzysztof Kozlowskib6ab7a82014-03-17 10:19:18 +010019- clocks: s2mps11 and s5m8767 provide three(AP/CP/BT) buffered 32.768 KHz
20 outputs, so to register these as clocks with common clock framework
21 instantiate a sub-node named "clocks". It uses the common clock binding
22 documented in :
Yadwinder Singh Brar3134bca2013-07-07 17:14:21 +053023 [Documentation/devicetree/bindings/clock/clock-bindings.txt]
Krzysztof Kozlowskib6ab7a82014-03-17 10:19:18 +010024 The s2mps14 provides two (AP/BT) buffered 32.768 KHz outputs.
Yadwinder Singh Brar3134bca2013-07-07 17:14:21 +053025 - #clock-cells: should be 1.
26
27 - The following is the list of clocks generated by the controller. Each clock
28 is assigned an identifier and client nodes use this identifier to specify
29 the clock which they consume.
Krzysztof Kozlowskib6ab7a82014-03-17 10:19:18 +010030 Clock ID Devices
31 ----------------------------------------------------------
32 32KhzAP 0 S2MPS11, S2MPS14, S5M8767
33 32KhzCP 1 S2MPS11, S5M8767
34 32KhzBT 2 S2MPS11, S2MPS14, S5M8767
35
36 - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps14-clk",
37 "samsung,s5m8767-clk"
Yadwinder Singh Brar3134bca2013-07-07 17:14:21 +053038
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053039- regulators: The regulators of s2mps11 that have to be instantiated should be
40included in a sub-node named 'regulators'. Regulator nodes included in this
41sub-node should be of the format as listed below.
42
43 regulator_name {
44 [standard regulator constraints....];
45 };
46
47 regulator-ramp-delay for BUCKs = [6250/12500/25000(default)/50000] uV/us
48
49 BUCK[2/3/4/6] supports disabling ramp delay on hardware, so explictly
50 regulator-ramp-delay = <0> can be used for them to disable ramp delay.
Sachin Kamat9a468472013-11-08 17:05:42 +053051 In the absence of the regulator-ramp-delay property, the default ramp
52 delay will be used.
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053053
54NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set
55for a particular group of BUCKs. So provide same regulator-ramp-delay<value>.
56Grouping of BUCKs sharing ramp rate setting is as follow : BUCK[1, 6],
57BUCK[3, 4], and BUCK[7, 8, 10]
58
59The regulator constraints inside the regulator nodes use the standard regulator
60bindings which are documented elsewhere.
61
62The following are the names of the regulators that the s2mps11 pmic block
63supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
64as per the datasheet of s2mps11.
65
66 - LDOn
Krzysztof Kozlowski8d7c7722014-03-07 11:10:52 +010067 - valid values for n are:
68 - S2MPS11: 1 to 38
69 - S2MPS14: 1 to 25
Sachin Kamat94100e72013-12-24 14:53:25 +053070 - Example: LDO1, LD02, LDO28
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053071 - BUCKn
Krzysztof Kozlowski8d7c7722014-03-07 11:10:52 +010072 - valid values for n are:
73 - S2MPS11: 1 to 10
74 - S2MPS14: 1 to 5
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053075 - Example: BUCK1, BUCK2, BUCK9
76
77Example:
78
79 s2mps11_pmic@66 {
80 compatible = "samsung,s2mps11-pmic";
81 reg = <0x66>;
82
Krzysztof Kozlowskib6ab7a82014-03-17 10:19:18 +010083 s2m_osc: clocks {
84 compatible = "samsung,s2mps11-clk";
Yadwinder Singh Brar3134bca2013-07-07 17:14:21 +053085 #clock-cells = 1;
86 clock-output-names = "xx", "yy", "zz";
87 };
88
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053089 regulators {
90 ldo1_reg: LDO1 {
91 regulator-name = "VDD_ABB_3.3V";
92 regulator-min-microvolt = <3300000>;
93 regulator-max-microvolt = <3300000>;
94 };
95
96 ldo2_reg: LDO2 {
97 regulator-name = "VDD_ALIVE_1.1V";
98 regulator-min-microvolt = <1100000>;
99 regulator-max-microvolt = <1100000>;
100 regulator-always-on;
101 };
102
103 buck1_reg: BUCK1 {
104 regulator-name = "vdd_mif";
105 regulator-min-microvolt = <950000>;
106 regulator-max-microvolt = <1350000>;
107 regulator-always-on;
108 regulator-boot-on;
109 };
110
111 buck2_reg: BUCK2 {
112 regulator-name = "vdd_arm";
113 regulator-min-microvolt = <950000>;
114 regulator-max-microvolt = <1350000>;
115 regulator-always-on;
116 regulator-boot-on;
117 regulator-ramp-delay = <50000>;
118 };
119 };
120 };