Merge branch 'i2c/for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
[deliverable/linux.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 };
This page took 0.037802 seconds and 5 git commands to generate.