Merge tag 'firewire-update2' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee139...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / regulator / samsung,s5m8767.txt
1 Binding for Samsung S5M8767 regulator block
2 ===========================================
3
4 This is a part of device tree bindings for S5M family multi-function devices.
5 More information can be found in bindings/mfd/sec-core.txt file.
6
7 The S5M8767 device provide buck and LDO regulators.
8
9 To register these with regulator framework instantiate under main device node
10 a sub-node named "regulators" with more sub-nodes for each regulator using the
11 common regulator binding documented in:
12  - Documentation/devicetree/bindings/regulator/regulator.txt
13
14
15 Required properties of the main device node (the parent!):
16  - s5m8767,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
17    units for buck2 when changing voltage using gpio dvs. Refer to [1] below
18    for additional information.
19
20  - s5m8767,pmic-buck3-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
21    units for buck3 when changing voltage using gpio dvs. Refer to [1] below
22    for additional information.
23
24  - s5m8767,pmic-buck4-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
25    units for buck4 when changing voltage using gpio dvs. Refer to [1] below
26    for additional information.
27
28  - s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used
29    for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines.
30
31  [1] If none of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
32      property is specified, the 's5m8767,pmic-buck[2/3/4]-dvs-voltage'
33      property should specify atleast one voltage level (which would be a
34      safe operating voltage).
35
36      If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
37      property is specified, then all the eight voltage values for the
38      's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified.
39
40 Optional properties of the main device node (the parent!):
41  - s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs.
42  - s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs.
43  - s5m8767,pmic-buck4-uses-gpio-dvs: 'buck4' can be controlled by gpio dvs.
44
45 Additional properties required if either of the optional properties are used:
46
47  - s5m8767,pmic-buck234-default-dvs-idx: Default voltage setting selected from
48    the possible 8 options selectable by the dvs gpios. The value of this
49    property should be between 0 and 7. If not specified or if out of range, the
50    default value of this property is set to 0.
51
52  - s5m8767,pmic-buck-dvs-gpios: GPIO specifiers for three host gpio's used
53    for dvs. The format of the gpio specifier depends in the gpio controller.
54
55
56 Names of regulators supported by S5M8767 device:
57         - LDOn
58                   - valid values for n are 1 to 28
59                   - Example: LDO1, LDO2, LDO28
60         - BUCKn
61                   - valid values for n are 1 to 9.
62                   - Example: BUCK1, BUCK2, BUCK9
63 Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
64 as per the datasheet of device.
65
66
67 Optional properties of the nodes under "regulators" sub-node:
68  - op_mode: describes the different operating modes of the LDO's with
69             power mode change in SOC. The different possible values are,
70              0 - always off mode
71              1 - on in normal mode
72              2 - low power mode
73              3 - suspend mode
74  - s5m8767,pmic-ext-control-gpios: (optional) GPIO specifier for one
75                                    GPIO controlling this regulator
76                                    (enable/disable); This is valid only
77                                    for buck9.
78
79 Example:
80
81         s5m8767_pmic@66 {
82                 compatible = "samsung,s5m8767-pmic";
83                 reg = <0x66>;
84
85                 s5m8767,pmic-buck2-uses-gpio-dvs;
86                 s5m8767,pmic-buck3-uses-gpio-dvs;
87                 s5m8767,pmic-buck4-uses-gpio-dvs;
88
89                 s5m8767,pmic-buck-default-dvs-idx = <0>;
90
91                 s5m8767,pmic-buck-dvs-gpios = <&gpx0 0 0>, /* DVS1 */
92                                                  <&gpx0 1 0>, /* DVS2 */
93                                                  <&gpx0 2 0>; /* DVS3 */
94
95                 s5m8767,pmic-buck-ds-gpios = <&gpx2 3 0>, /* SET1 */
96                                                 <&gpx2 4 0>, /* SET2 */
97                                                 <&gpx2 5 0>; /* SET3 */
98
99                 s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>,
100                                                  <1250000>, <1200000>,
101                                                  <1150000>, <1100000>,
102                                                  <1000000>, <950000>;
103
104                 s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
105                                                  <1100000>, <1100000>,
106                                                  <1000000>, <1000000>,
107                                                  <1000000>, <1000000>;
108
109                 s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>,
110                                                  <1200000>, <1200000>,
111                                                  <1200000>, <1200000>,
112                                                  <1200000>, <1200000>;
113
114                 regulators {
115                         ldo1_reg: LDO1 {
116                                 regulator-name = "VDD_ABB_3.3V";
117                                 regulator-min-microvolt = <3300000>;
118                                 regulator-max-microvolt = <3300000>;
119                                 op_mode = <1>; /* Normal Mode */
120                         };
121
122                         ldo2_reg: LDO2 {
123                                 regulator-name = "VDD_ALIVE_1.1V";
124                                 regulator-min-microvolt = <1100000>;
125                                 regulator-max-microvolt = <1100000>;
126                                 regulator-always-on;
127                         };
128
129                         buck1_reg: BUCK1 {
130                                 regulator-name = "VDD_MIF_1.2V";
131                                 regulator-min-microvolt = <950000>;
132                                 regulator-max-microvolt = <1350000>;
133                                 regulator-always-on;
134                                 regulator-boot-on;
135                         };
136
137                         vemmc_reg: BUCK9 {
138                                 regulator-name = "VMEM_VDD_2.8V";
139                                 regulator-min-microvolt = <2800000>;
140                                 regulator-max-microvolt = <2800000>;
141                                 op_mode = <3>; /* Standby Mode */
142                                 s5m8767,pmic-ext-control-gpios = <&gpk0 2 0>;
143                         };
144                 };
145         };