GNU Linux-libre 4.9.337-gnu1
[releases.git] / Documentation / devicetree / bindings / mfd / axp20x.txt
1 AXP family PMIC device tree bindings
2
3 The axp20x family current members :
4 axp152 (X-Powers)
5 axp202 (X-Powers)
6 axp209 (X-Powers)
7 axp221 (X-Powers)
8 axp223 (X-Powers)
9 axp809 (X-Powers)
10
11 Required properties:
12 - compatible: "x-powers,axp152", "x-powers,axp202", "x-powers,axp209",
13               "x-powers,axp221", "x-powers,axp223", "x-powers,axp806",
14               "x-powers,axp809"
15 - reg: The I2C slave address or RSB hardware address for the AXP chip
16 - interrupt-parent: The parent interrupt controller
17 - interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin
18 - interrupt-controller: The PMIC has its own internal IRQs
19 - #interrupt-cells: Should be set to 1
20
21 Optional properties:
22 - x-powers,dcdc-freq: defines the work frequency of DC-DC in KHz
23                       AXP152/20X: range:  750-1875, Default: 1.5 MHz
24                       AXP22X/80X: range: 1800-4050, Default: 3   MHz
25
26 - x-powers,drive-vbus-en: axp221 / axp223 only boolean, set this when the
27                   N_VBUSEN pin is used as an output pin to control an external
28                   regulator to drive the OTG VBus, rather then as an input pin
29                   which signals whether the board is driving OTG VBus or not.
30
31 - x-powers,master-mode: Boolean (axp806 only). Set this when the PMIC is
32                         wired for master mode. The default is slave mode.
33
34 - <input>-supply: a phandle to the regulator supply node. May be omitted if
35                   inputs are unregulated, such as using the IPSOUT output
36                   from the PMIC.
37
38 - regulators: A node that houses a sub-node for each regulator. Regulators
39               not used but preferred to be managed by the OS should be
40               listed as well.
41               See Documentation/devicetree/bindings/regulator/regulator.txt
42               for more information on standard regulator bindings.
43
44 Optional properties for DCDC regulators:
45 - x-powers,dcdc-workmode: 1 for PWM mode, 0 for AUTO (PWM/PFM) mode
46                           Default: Current hardware setting
47                           The DCDC regulators work in a mixed PWM/PFM mode,
48                           using PFM under light loads and switching to PWM
49                           for heavier loads. Forcing PWM mode trades efficiency
50                           under light loads for lower output noise. This
51                           probably makes sense for HiFi audio related
52                           applications that aren't battery constrained.
53
54 AXP202/AXP209 regulators, type, and corresponding input supply names:
55
56 Regulator         Type            Supply Name             Notes
57 ---------         ----            -----------             -----
58 DCDC2           : DC-DC buck    : vin2-supply
59 DCDC3           : DC-DC buck    : vin3-supply
60 LDO1            : LDO           : acin-supply           : always on
61 LDO2            : LDO           : ldo24in-supply        : shared supply
62 LDO3            : LDO           : ldo3in-supply
63 LDO4            : LDO           : ldo24in-supply        : shared supply
64 LDO5            : LDO           : ldo5in-supply
65
66 AXP221/AXP223 regulators, type, and corresponding input supply names:
67
68 Regulator         Type            Supply Name             Notes
69 ---------         ----            -----------             -----
70 DCDC1           : DC-DC buck    : vin1-supply
71 DCDC2           : DC-DC buck    : vin2-supply
72 DCDC3           : DC-DC buck    : vin3-supply
73 DCDC4           : DC-DC buck    : vin4-supply
74 DCDC5           : DC-DC buck    : vin5-supply
75 DC1SW           : On/Off Switch :                       : DCDC1 secondary output
76 DC5LDO          : LDO           :                       : input from DCDC5
77 ALDO1           : LDO           : aldoin-supply         : shared supply
78 ALDO2           : LDO           : aldoin-supply         : shared supply
79 ALDO3           : LDO           : aldoin-supply         : shared supply
80 DLDO1           : LDO           : dldoin-supply         : shared supply
81 DLDO2           : LDO           : dldoin-supply         : shared supply
82 DLDO3           : LDO           : dldoin-supply         : shared supply
83 DLDO4           : LDO           : dldoin-supply         : shared supply
84 ELDO1           : LDO           : eldoin-supply         : shared supply
85 ELDO2           : LDO           : eldoin-supply         : shared supply
86 ELDO3           : LDO           : eldoin-supply         : shared supply
87 LDO_IO0         : LDO           : ips-supply            : GPIO 0
88 LDO_IO1         : LDO           : ips-supply            : GPIO 1
89 RTC_LDO         : LDO           : ips-supply            : always on
90 DRIVEVBUS       : Enable output : drivevbus-supply      : external regulator
91
92 AXP806 regulators, type, and corresponding input supply names:
93
94 Regulator         Type            Supply Name             Notes
95 ---------         ----            -----------             -----
96 DCDCA           : DC-DC buck    : vina-supply           : poly-phase capable
97 DCDCB           : DC-DC buck    : vinb-supply           : poly-phase capable
98 DCDCC           : DC-DC buck    : vinc-supply           : poly-phase capable
99 DCDCD           : DC-DC buck    : vind-supply           : poly-phase capable
100 DCDCE           : DC-DC buck    : vine-supply           : poly-phase capable
101 ALDO1           : LDO           : aldoin-supply         : shared supply
102 ALDO2           : LDO           : aldoin-supply         : shared supply
103 ALDO3           : LDO           : aldoin-supply         : shared supply
104 BLDO1           : LDO           : bldoin-supply         : shared supply
105 BLDO2           : LDO           : bldoin-supply         : shared supply
106 BLDO3           : LDO           : bldoin-supply         : shared supply
107 BLDO4           : LDO           : bldoin-supply         : shared supply
108 CLDO1           : LDO           : cldoin-supply         : shared supply
109 CLDO2           : LDO           : cldoin-supply         : shared supply
110 CLDO3           : LDO           : cldoin-supply         : shared supply
111 SW              : On/Off Switch : swin-supply
112
113 Additionally, the AXP806 DC-DC regulators support poly-phase arrangements
114 for higher output current. The possible groupings are: A+B, A+B+C, D+E.
115
116 AXP809 regulators, type, and corresponding input supply names:
117
118 Regulator         Type            Supply Name             Notes
119 ---------         ----            -----------             -----
120 DCDC1           : DC-DC buck    : vin1-supply
121 DCDC2           : DC-DC buck    : vin2-supply
122 DCDC3           : DC-DC buck    : vin3-supply
123 DCDC4           : DC-DC buck    : vin4-supply
124 DCDC5           : DC-DC buck    : vin5-supply
125 DC1SW           : On/Off Switch :                       : DCDC1 secondary output
126 DC5LDO          : LDO           :                       : input from DCDC5
127 ALDO1           : LDO           : aldoin-supply         : shared supply
128 ALDO2           : LDO           : aldoin-supply         : shared supply
129 ALDO3           : LDO           : aldoin-supply         : shared supply
130 DLDO1           : LDO           : dldoin-supply         : shared supply
131 DLDO2           : LDO           : dldoin-supply         : shared supply
132 ELDO1           : LDO           : eldoin-supply         : shared supply
133 ELDO2           : LDO           : eldoin-supply         : shared supply
134 ELDO3           : LDO           : eldoin-supply         : shared supply
135 LDO_IO0         : LDO           : ips-supply            : GPIO 0
136 LDO_IO1         : LDO           : ips-supply            : GPIO 1
137 RTC_LDO         : LDO           : ips-supply            : always on
138 SW              : On/Off Switch : swin-supply
139
140 Example:
141
142 axp209: pmic@34 {
143         compatible = "x-powers,axp209";
144         reg = <0x34>;
145         interrupt-parent = <&nmi_intc>;
146         interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
147         interrupt-controller;
148         #interrupt-cells = <1>;
149
150         regulators {
151                 x-powers,dcdc-freq = <1500>;
152
153                 vdd_cpu: dcdc2 {
154                         regulator-always-on;
155                         regulator-min-microvolt = <1000000>;
156                         regulator-max-microvolt = <1450000>;
157                         regulator-name = "vdd-cpu";
158                 };
159
160                 vdd_int_dll: dcdc3 {
161                         regulator-always-on;
162                         regulator-min-microvolt = <1000000>;
163                         regulator-max-microvolt = <1400000>;
164                         regulator-name = "vdd-int-dll";
165                 };
166
167                 vdd_rtc: ldo1 {
168                         regulator-always-on;
169                         regulator-min-microvolt = <1200000>;
170                         regulator-max-microvolt = <1400000>;
171                         regulator-name = "vdd-rtc";
172                 };
173
174                 avcc: ldo2 {
175                         regulator-always-on;
176                         regulator-min-microvolt = <2700000>;
177                         regulator-max-microvolt = <3300000>;
178                         regulator-name = "avcc";
179                 };
180
181                 ldo3 {
182                         /* unused but preferred to be managed by OS */
183                 };
184         };
185 };