Merge tag 'tegra-for-4.8-i2c' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra...
[cascardo/linux.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 - <input>-supply: a phandle to the regulator supply node. May be omitted if
32                   inputs are unregulated, such as using the IPSOUT output
33                   from the PMIC.
34
35 - regulators: A node that houses a sub-node for each regulator. Regulators
36               not used but preferred to be managed by the OS should be
37               listed as well.
38               See Documentation/devicetree/bindings/regulator/regulator.txt
39               for more information on standard regulator bindings.
40
41 Optional properties for DCDC regulators:
42 - x-powers,dcdc-workmode: 1 for PWM mode, 0 for AUTO (PWM/PFM) mode
43                           Default: Current hardware setting
44                           The DCDC regulators work in a mixed PWM/PFM mode,
45                           using PFM under light loads and switching to PWM
46                           for heavier loads. Forcing PWM mode trades efficiency
47                           under light loads for lower output noise. This
48                           probably makes sense for HiFi audio related
49                           applications that aren't battery constrained.
50
51 AXP202/AXP209 regulators, type, and corresponding input supply names:
52
53 Regulator         Type            Supply Name             Notes
54 ---------         ----            -----------             -----
55 DCDC2           : DC-DC buck    : vin2-supply
56 DCDC3           : DC-DC buck    : vin3-supply
57 LDO1            : LDO           : acin-supply           : always on
58 LDO2            : LDO           : ldo24in-supply        : shared supply
59 LDO3            : LDO           : ldo3in-supply
60 LDO4            : LDO           : ldo24in-supply        : shared supply
61 LDO5            : LDO           : ldo5in-supply
62
63 AXP221/AXP223 regulators, type, and corresponding input supply names:
64
65 Regulator         Type            Supply Name             Notes
66 ---------         ----            -----------             -----
67 DCDC1           : DC-DC buck    : vin1-supply
68 DCDC2           : DC-DC buck    : vin2-supply
69 DCDC3           : DC-DC buck    : vin3-supply
70 DCDC4           : DC-DC buck    : vin4-supply
71 DCDC5           : DC-DC buck    : vin5-supply
72 DC1SW           : On/Off Switch :                       : DCDC1 secondary output
73 DC5LDO          : LDO           :                       : input from DCDC5
74 ALDO1           : LDO           : aldoin-supply         : shared supply
75 ALDO2           : LDO           : aldoin-supply         : shared supply
76 ALDO3           : LDO           : aldoin-supply         : shared supply
77 DLDO1           : LDO           : dldoin-supply         : shared supply
78 DLDO2           : LDO           : dldoin-supply         : shared supply
79 DLDO3           : LDO           : dldoin-supply         : shared supply
80 DLDO4           : LDO           : dldoin-supply         : shared supply
81 ELDO1           : LDO           : eldoin-supply         : shared supply
82 ELDO2           : LDO           : eldoin-supply         : shared supply
83 ELDO3           : LDO           : eldoin-supply         : shared supply
84 LDO_IO0         : LDO           : ips-supply            : GPIO 0
85 LDO_IO1         : LDO           : ips-supply            : GPIO 1
86 RTC_LDO         : LDO           : ips-supply            : always on
87 DRIVEVBUS       : Enable output : drivevbus-supply      : external regulator
88
89 AXP806 regulators, type, and corresponding input supply names:
90
91 Regulator         Type            Supply Name             Notes
92 ---------         ----            -----------             -----
93 DCDCA           : DC-DC buck    : vina-supply           : poly-phase capable
94 DCDCB           : DC-DC buck    : vinb-supply           : poly-phase capable
95 DCDCC           : DC-DC buck    : vinc-supply           : poly-phase capable
96 DCDCD           : DC-DC buck    : vind-supply           : poly-phase capable
97 DCDCE           : DC-DC buck    : vine-supply           : poly-phase capable
98 ALDO1           : LDO           : aldoin-supply         : shared supply
99 ALDO2           : LDO           : aldoin-supply         : shared supply
100 ALDO3           : LDO           : aldoin-supply         : shared supply
101 BLDO1           : LDO           : bldoin-supply         : shared supply
102 BLDO2           : LDO           : bldoin-supply         : shared supply
103 BLDO3           : LDO           : bldoin-supply         : shared supply
104 BLDO4           : LDO           : bldoin-supply         : shared supply
105 CLDO1           : LDO           : cldoin-supply         : shared supply
106 CLDO2           : LDO           : cldoin-supply         : shared supply
107 CLDO3           : LDO           : cldoin-supply         : shared supply
108 SW              : On/Off Switch : swin-supply
109
110 Additionally, the AXP806 DC-DC regulators support poly-phase arrangements
111 for higher output current. The possible groupings are: A+B, A+B+C, D+E.
112
113 AXP809 regulators, type, and corresponding input supply names:
114
115 Regulator         Type            Supply Name             Notes
116 ---------         ----            -----------             -----
117 DCDC1           : DC-DC buck    : vin1-supply
118 DCDC2           : DC-DC buck    : vin2-supply
119 DCDC3           : DC-DC buck    : vin3-supply
120 DCDC4           : DC-DC buck    : vin4-supply
121 DCDC5           : DC-DC buck    : vin5-supply
122 DC1SW           : On/Off Switch :                       : DCDC1 secondary output
123 DC5LDO          : LDO           :                       : input from DCDC5
124 ALDO1           : LDO           : aldoin-supply         : shared supply
125 ALDO2           : LDO           : aldoin-supply         : shared supply
126 ALDO3           : LDO           : aldoin-supply         : shared supply
127 DLDO1           : LDO           : dldoin-supply         : shared supply
128 DLDO2           : LDO           : dldoin-supply         : shared supply
129 ELDO1           : LDO           : eldoin-supply         : shared supply
130 ELDO2           : LDO           : eldoin-supply         : shared supply
131 ELDO3           : LDO           : eldoin-supply         : shared supply
132 LDO_IO0         : LDO           : ips-supply            : GPIO 0
133 LDO_IO1         : LDO           : ips-supply            : GPIO 1
134 RTC_LDO         : LDO           : ips-supply            : always on
135 SW              : On/Off Switch : swin-supply
136
137 Example:
138
139 axp209: pmic@34 {
140         compatible = "x-powers,axp209";
141         reg = <0x34>;
142         interrupt-parent = <&nmi_intc>;
143         interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
144         interrupt-controller;
145         #interrupt-cells = <1>;
146
147         regulators {
148                 x-powers,dcdc-freq = <1500>;
149
150                 vdd_cpu: dcdc2 {
151                         regulator-always-on;
152                         regulator-min-microvolt = <1000000>;
153                         regulator-max-microvolt = <1450000>;
154                         regulator-name = "vdd-cpu";
155                 };
156
157                 vdd_int_dll: dcdc3 {
158                         regulator-always-on;
159                         regulator-min-microvolt = <1000000>;
160                         regulator-max-microvolt = <1400000>;
161                         regulator-name = "vdd-int-dll";
162                 };
163
164                 vdd_rtc: ldo1 {
165                         regulator-always-on;
166                         regulator-min-microvolt = <1200000>;
167                         regulator-max-microvolt = <1400000>;
168                         regulator-name = "vdd-rtc";
169                 };
170
171                 avcc: ldo2 {
172                         regulator-always-on;
173                         regulator-min-microvolt = <2700000>;
174                         regulator-max-microvolt = <3300000>;
175                         regulator-name = "avcc";
176                 };
177
178                 ldo3 {
179                         /* unused but preferred to be managed by OS */
180                 };
181         };
182 };