Commit | Line | Data |
---|---|---|
26aec009 ADK |
1 | * Samsung S5M8767 Voltage and Current Regulator |
2 | ||
1baa3b4e | 3 | The Samsung S5M8767 is a multi-function device which includes voltage and |
26aec009 ADK |
4 | current regulators, rtc, charger controller and other sub-blocks. It is |
5 | interfaced to the host controller using a i2c interface. Each sub-block is | |
6 | addressed by the host system using different i2c slave address. This document | |
7 | describes the bindings for 'pmic' sub-block of s5m8767. | |
8 | ||
9 | Required properties: | |
10 | - compatible: Should be "samsung,s5m8767-pmic". | |
11 | - reg: Specifies the i2c slave address of the pmic block. It should be 0x66. | |
12 | ||
13 | - s5m8767,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV) | |
14 | units for buck2 when changing voltage using gpio dvs. Refer to [1] below | |
15 | for additional information. | |
16 | ||
17 | - s5m8767,pmic-buck3-dvs-voltage: A set of 8 voltage values in micro-volt (uV) | |
18 | units for buck3 when changing voltage using gpio dvs. Refer to [1] below | |
19 | for additional information. | |
20 | ||
21 | - s5m8767,pmic-buck4-dvs-voltage: A set of 8 voltage values in micro-volt (uV) | |
22 | units for buck4 when changing voltage using gpio dvs. Refer to [1] below | |
23 | for additional information. | |
24 | ||
25 | - s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used | |
26 | for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines. | |
27 | ||
28 | [1] If none of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional | |
29 | property is specified, the 's5m8767,pmic-buck[2/3/4]-dvs-voltage' | |
30 | property should specify atleast one voltage level (which would be a | |
31 | safe operating voltage). | |
32 | ||
33 | If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional | |
34 | property is specified, then all the eight voltage values for the | |
35 | 's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified. | |
36 | ||
37 | Optional properties: | |
38 | - interrupt-parent: Specifies the phandle of the interrupt controller to which | |
39 | the interrupts from s5m8767 are delivered to. | |
40 | - interrupts: Interrupt specifiers for two interrupt sources. | |
41 | - First interrupt specifier is for 'irq1' interrupt. | |
42 | - Second interrupt specifier is for 'alert' interrupt. | |
43 | - s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs. | |
44 | - s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs. | |
45 | - s5m8767,pmic-buck4-uses-gpio-dvs: 'buck4' can be controlled by gpio dvs. | |
46 | ||
47 | Additional properties required if either of the optional properties are used: | |
48 | ||
49 | - s5m8767,pmic-buck234-default-dvs-idx: Default voltage setting selected from | |
50 | the possible 8 options selectable by the dvs gpios. The value of this | |
51 | property should be between 0 and 7. If not specified or if out of range, the | |
52 | default value of this property is set to 0. | |
53 | ||
54 | - s5m8767,pmic-buck-dvs-gpios: GPIO specifiers for three host gpio's used | |
55 | for dvs. The format of the gpio specifier depends in the gpio controller. | |
56 | ||
57 | Regulators: The regulators of s5m8767 that have to be instantiated should be | |
58 | included in a sub-node named 'regulators'. Regulator nodes included in this | |
59 | sub-node should be of the format as listed below. | |
60 | ||
61 | regulator_name { | |
62 | ldo1_reg: LDO1 { | |
63 | regulator-name = "VDD_ALIVE_1.0V"; | |
64 | regulator-min-microvolt = <1100000>; | |
65 | regulator-max-microvolt = <1100000>; | |
66 | regulator-always-on; | |
67 | regulator-boot-on; | |
68 | op_mode = <1>; /* Normal Mode */ | |
69 | }; | |
70 | }; | |
71 | The above regulator entries are defined in regulator bindings documentation | |
72 | except op_mode description. | |
73 | - op_mode: describes the different operating modes of the LDO's with | |
74 | power mode change in SOC. The different possible values are, | |
75 | 0 - always off mode | |
76 | 1 - on in normal mode | |
77 | 2 - low power mode | |
78 | 3 - suspend mode | |
79 | ||
80 | The following are the names of the regulators that the s5m8767 pmic block | |
81 | supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number | |
82 | as per the datasheet of s5m8767. | |
83 | ||
84 | - LDOn | |
85 | - valid values for n are 1 to 28 | |
2243cb41 | 86 | - Example: LDO1, LD02, LDO28 |
26aec009 ADK |
87 | - BUCKn |
88 | - valid values for n are 1 to 9. | |
89 | - Example: BUCK1, BUCK2, BUCK9 | |
90 | ||
91 | The bindings inside the regulator nodes use the standard regulator bindings | |
92 | which are documented elsewhere. | |
93 | ||
94 | Example: | |
95 | ||
96 | s5m8767_pmic@66 { | |
97 | compatible = "samsung,s5m8767-pmic"; | |
98 | reg = <0x66>; | |
99 | ||
100 | s5m8767,pmic-buck2-uses-gpio-dvs; | |
101 | s5m8767,pmic-buck3-uses-gpio-dvs; | |
102 | s5m8767,pmic-buck4-uses-gpio-dvs; | |
103 | ||
104 | s5m8767,pmic-buck-default-dvs-idx = <0>; | |
105 | ||
39e24a16 SK |
106 | s5m8767,pmic-buck-dvs-gpios = <&gpx0 0 0>, /* DVS1 */ |
107 | <&gpx0 1 0>, /* DVS2 */ | |
108 | <&gpx0 2 0>; /* DVS3 */ | |
26aec009 | 109 | |
39e24a16 SK |
110 | s5m8767,pmic-buck-ds-gpios = <&gpx2 3 0>, /* SET1 */ |
111 | <&gpx2 4 0>, /* SET2 */ | |
112 | <&gpx2 5 0>; /* SET3 */ | |
26aec009 ADK |
113 | |
114 | s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>, | |
115 | <1250000>, <1200000>, | |
116 | <1150000>, <1100000>, | |
117 | <1000000>, <950000>; | |
118 | ||
119 | s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>, | |
120 | <1100000>, <1100000>, | |
121 | <1000000>, <1000000>, | |
122 | <1000000>, <1000000>; | |
123 | ||
124 | s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>, | |
125 | <1200000>, <1200000>, | |
126 | <1200000>, <1200000>, | |
127 | <1200000>, <1200000>; | |
128 | ||
129 | regulators { | |
130 | ldo1_reg: LDO1 { | |
131 | regulator-name = "VDD_ABB_3.3V"; | |
132 | regulator-min-microvolt = <3300000>; | |
133 | regulator-max-microvolt = <3300000>; | |
134 | op_mode = <1>; /* Normal Mode */ | |
135 | }; | |
136 | ||
137 | ldo2_reg: LDO2 { | |
138 | regulator-name = "VDD_ALIVE_1.1V"; | |
139 | regulator-min-microvolt = <1100000>; | |
140 | regulator-max-microvolt = <1100000>; | |
141 | regulator-always-on; | |
142 | }; | |
143 | ||
144 | buck1_reg: BUCK1 { | |
145 | regulator-name = "VDD_MIF_1.2V"; | |
146 | regulator-min-microvolt = <950000>; | |
147 | regulator-max-microvolt = <1350000>; | |
148 | regulator-always-on; | |
149 | regulator-boot-on; | |
150 | }; | |
151 | }; | |
152 | }; |