blob: f69bec294f0200d55806109b0c70c94f7ae7c732 [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:
Yadwinder Singh Brar3134bca2013-07-07 17:14:21 +053019- 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
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053034- 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.
Sachin Kamat9a468472013-11-08 17:05:42 +053046 In the absence of the regulator-ramp-delay property, the default ramp
47 delay will be used.
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053048
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
Krzysztof Kozlowski8d7c7722014-03-07 11:10:52 +010062 - valid values for n are:
63 - S2MPS11: 1 to 38
64 - S2MPS14: 1 to 25
Sachin Kamat94100e72013-12-24 14:53:25 +053065 - Example: LDO1, LD02, LDO28
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053066 - BUCKn
Krzysztof Kozlowski8d7c7722014-03-07 11:10:52 +010067 - valid values for n are:
68 - S2MPS11: 1 to 10
69 - S2MPS14: 1 to 5
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053070 - Example: BUCK1, BUCK2, BUCK9
71
72Example:
73
74 s2mps11_pmic@66 {
75 compatible = "samsung,s2mps11-pmic";
76 reg = <0x66>;
77
Yadwinder Singh Brar3134bca2013-07-07 17:14:21 +053078 s2m_osc: clocks{
79 #clock-cells = 1;
80 clock-output-names = "xx", "yy", "zz";
81 };
82
Yadwinder Singh Braraa32aca2013-06-29 18:21:20 +053083 regulators {
84 ldo1_reg: LDO1 {
85 regulator-name = "VDD_ABB_3.3V";
86 regulator-min-microvolt = <3300000>;
87 regulator-max-microvolt = <3300000>;
88 };
89
90 ldo2_reg: LDO2 {
91 regulator-name = "VDD_ALIVE_1.1V";
92 regulator-min-microvolt = <1100000>;
93 regulator-max-microvolt = <1100000>;
94 regulator-always-on;
95 };
96
97 buck1_reg: BUCK1 {
98 regulator-name = "vdd_mif";
99 regulator-min-microvolt = <950000>;
100 regulator-max-microvolt = <1350000>;
101 regulator-always-on;
102 regulator-boot-on;
103 };
104
105 buck2_reg: BUCK2 {
106 regulator-name = "vdd_arm";
107 regulator-min-microvolt = <950000>;
108 regulator-max-microvolt = <1350000>;
109 regulator-always-on;
110 regulator-boot-on;
111 regulator-ramp-delay = <50000>;
112 };
113 };
114 };