]>
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 | |
3471c122 | 72 | except these properties: |
26aec009 ADK |
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 | |
3471c122 KK |
79 | - s5m8767,pmic-ext-control-gpios: (optional) GPIO specifier for one |
80 | GPIO controlling this regulator (enable/disable); This is | |
81 | valid only for buck9. | |
26aec009 ADK |
82 | |
83 | The following are the names of the regulators that the s5m8767 pmic block | |
84 | supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number | |
85 | as per the datasheet of s5m8767. | |
86 | ||
87 | - LDOn | |
88 | - valid values for n are 1 to 28 | |
2243cb41 | 89 | - Example: LDO1, LD02, LDO28 |
26aec009 ADK |
90 | - BUCKn |
91 | - valid values for n are 1 to 9. | |
92 | - Example: BUCK1, BUCK2, BUCK9 | |
93 | ||
94 | The bindings inside the regulator nodes use the standard regulator bindings | |
95 | which are documented elsewhere. | |
96 | ||
97 | Example: | |
98 | ||
99 | s5m8767_pmic@66 { | |
100 | compatible = "samsung,s5m8767-pmic"; | |
101 | reg = <0x66>; | |
102 | ||
103 | s5m8767,pmic-buck2-uses-gpio-dvs; | |
104 | s5m8767,pmic-buck3-uses-gpio-dvs; | |
105 | s5m8767,pmic-buck4-uses-gpio-dvs; | |
106 | ||
107 | s5m8767,pmic-buck-default-dvs-idx = <0>; | |
108 | ||
39e24a16 SK |
109 | s5m8767,pmic-buck-dvs-gpios = <&gpx0 0 0>, /* DVS1 */ |
110 | <&gpx0 1 0>, /* DVS2 */ | |
111 | <&gpx0 2 0>; /* DVS3 */ | |
26aec009 | 112 | |
39e24a16 SK |
113 | s5m8767,pmic-buck-ds-gpios = <&gpx2 3 0>, /* SET1 */ |
114 | <&gpx2 4 0>, /* SET2 */ | |
115 | <&gpx2 5 0>; /* SET3 */ | |
26aec009 ADK |
116 | |
117 | s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>, | |
118 | <1250000>, <1200000>, | |
119 | <1150000>, <1100000>, | |
120 | <1000000>, <950000>; | |
121 | ||
122 | s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>, | |
123 | <1100000>, <1100000>, | |
124 | <1000000>, <1000000>, | |
125 | <1000000>, <1000000>; | |
126 | ||
127 | s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>, | |
128 | <1200000>, <1200000>, | |
129 | <1200000>, <1200000>, | |
130 | <1200000>, <1200000>; | |
131 | ||
132 | regulators { | |
133 | ldo1_reg: LDO1 { | |
134 | regulator-name = "VDD_ABB_3.3V"; | |
135 | regulator-min-microvolt = <3300000>; | |
136 | regulator-max-microvolt = <3300000>; | |
137 | op_mode = <1>; /* Normal Mode */ | |
138 | }; | |
139 | ||
140 | ldo2_reg: LDO2 { | |
141 | regulator-name = "VDD_ALIVE_1.1V"; | |
142 | regulator-min-microvolt = <1100000>; | |
143 | regulator-max-microvolt = <1100000>; | |
144 | regulator-always-on; | |
145 | }; | |
146 | ||
147 | buck1_reg: BUCK1 { | |
148 | regulator-name = "VDD_MIF_1.2V"; | |
149 | regulator-min-microvolt = <950000>; | |
150 | regulator-max-microvolt = <1350000>; | |
151 | regulator-always-on; | |
152 | regulator-boot-on; | |
153 | }; | |
3471c122 KK |
154 | |
155 | vemmc_reg: BUCK9 { | |
156 | regulator-name = "VMEM_VDD_2.8V"; | |
157 | regulator-min-microvolt = <2800000>; | |
158 | regulator-max-microvolt = <2800000>; | |
159 | op_mode = <3>; /* Standby Mode */ | |
160 | s5m8767,pmic-ext-control-gpios = <&gpk0 2 0>; | |
161 | }; | |
26aec009 ADK |
162 | }; |
163 | }; |