Merge branch 'async-scsi-resume' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux.git] / Documentation / devicetree / bindings / mfd / s2mps11.txt
1
2 * Samsung S2MPS11 and S2MPS14 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,s2mps14-pmic".
11 - reg: Specifies the I2C slave address of the pmic block. It should be 0x66.
12
13 Optional 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
18 Optional nodes:
19 - 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 :
23   [Documentation/devicetree/bindings/clock/clock-bindings.txt]
24   The s2mps14 provides two (AP/BT) buffered 32.768 KHz outputs.
25   - #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.
30     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"
38
39 - regulators: The regulators of s2mps11 that have to be instantiated should be
40 included in a sub-node named 'regulators'. Regulator nodes included in this
41 sub-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.
51  In the absence of the regulator-ramp-delay property, the default ramp
52  delay will be used.
53
54 NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set
55 for a particular group of BUCKs. So provide same regulator-ramp-delay<value>.
56 Grouping of BUCKs sharing ramp rate setting is as follow : BUCK[1, 6],
57 BUCK[3, 4], and BUCK[7, 8, 10]
58
59 The regulator constraints inside the regulator nodes use the standard regulator
60 bindings which are documented elsewhere.
61
62 The following are the names of the regulators that the s2mps11 pmic block
63 supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
64 as per the datasheet of s2mps11.
65
66         - LDOn
67                   - valid values for n are:
68                         - S2MPS11: 1 to 38
69                         - S2MPS14: 1 to 25
70                   - Example: LDO1, LD02, LDO28
71         - BUCKn
72                   - valid values for n are:
73                         - S2MPS11: 1 to 10
74                         - S2MPS14: 1 to 5
75                   - Example: BUCK1, BUCK2, BUCK9
76
77 Example:
78
79         s2mps11_pmic@66 {
80                 compatible = "samsung,s2mps11-pmic";
81                 reg = <0x66>;
82
83                 s2m_osc: clocks {
84                         compatible = "samsung,s2mps11-clk";
85                         #clock-cells = 1;
86                         clock-output-names = "xx", "yy", "zz";
87                 };
88
89                 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         };