Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1AXP family PMIC device tree bindings
2
3The axp20x family current members :
4axp152 (X-Powers)
5axp202 (X-Powers)
6axp209 (X-Powers)
7axp221 (X-Powers)
8axp223 (X-Powers)
9
10Required properties:
11- compatible: "x-powers,axp152", "x-powers,axp202", "x-powers,axp209",
12 "x-powers,axp221", "x-powers,axp223"
13- reg: The I2C slave address or RSB hardware address for the AXP chip
14- interrupt-parent: The parent interrupt controller
15- interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin
16- interrupt-controller: The PMIC has its own internal IRQs
17- #interrupt-cells: Should be set to 1
18
19Optional properties:
20- x-powers,dcdc-freq: defines the work frequency of DC-DC in KHz
21 (range: 750-1875). Default: 1.5MHz
22- <input>-supply: a phandle to the regulator supply node. May be omitted if
23 inputs are unregulated, such as using the IPSOUT output
24 from the PMIC.
25
26- regulators: A node that houses a sub-node for each regulator. Regulators
27 not used but preferred to be managed by the OS should be
28 listed as well.
29 See Documentation/devicetree/bindings/regulator/regulator.txt
30 for more information on standard regulator bindings.
31
32Optional properties for DCDC regulators:
33- x-powers,dcdc-workmode: 1 for PWM mode, 0 for AUTO (PWM/PFM) mode
34 Default: Current hardware setting
35 The DCDC regulators work in a mixed PWM/PFM mode,
36 using PFM under light loads and switching to PWM
37 for heavier loads. Forcing PWM mode trades efficiency
38 under light loads for lower output noise. This
39 probably makes sense for HiFi audio related
40 applications that aren't battery constrained.
41
42
43AXP202/AXP209 regulators, type, and corresponding input supply names:
44
45Regulator Type Supply Name Notes
46--------- ---- ----------- -----
47DCDC2 : DC-DC buck : vin2-supply
48DCDC3 : DC-DC buck : vin3-supply
49LDO1 : LDO : acin-supply : always on
50LDO2 : LDO : ldo24in-supply : shared supply
51LDO3 : LDO : ldo3in-supply
52LDO4 : LDO : ldo24in-supply : shared supply
53LDO5 : LDO : ldo5in-supply
54
55AXP221/AXP223 regulators, type, and corresponding input supply names:
56
57Regulator Type Supply Name Notes
58--------- ---- ----------- -----
59DCDC1 : DC-DC buck : vin1-supply
60DCDC2 : DC-DC buck : vin2-supply
61DCDC3 : DC-DC buck : vin3-supply
62DCDC4 : DC-DC buck : vin4-supply
63DCDC5 : DC-DC buck : vin5-supply
64DC1SW : On/Off Switch : : DCDC1 secondary output
65DC5LDO : LDO : : input from DCDC5
66ALDO1 : LDO : aldoin-supply : shared supply
67ALDO2 : LDO : aldoin-supply : shared supply
68ALDO3 : LDO : aldoin-supply : shared supply
69DLDO1 : LDO : dldoin-supply : shared supply
70DLDO2 : LDO : dldoin-supply : shared supply
71DLDO3 : LDO : dldoin-supply : shared supply
72DLDO4 : LDO : dldoin-supply : shared supply
73ELDO1 : LDO : eldoin-supply : shared supply
74ELDO2 : LDO : eldoin-supply : shared supply
75ELDO3 : LDO : eldoin-supply : shared supply
76LDO_IO0 : LDO : ips-supply : GPIO 0
77LDO_IO1 : LDO : ips-supply : GPIO 1
78RTC_LDO : LDO : ips-supply : always on
79
80Example:
81
82axp209: pmic@34 {
83 compatible = "x-powers,axp209";
84 reg = <0x34>;
85 interrupt-parent = <&nmi_intc>;
86 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
87 interrupt-controller;
88 #interrupt-cells = <1>;
89
90 regulators {
91 x-powers,dcdc-freq = <1500>;
92
93 vdd_cpu: dcdc2 {
94 regulator-always-on;
95 regulator-min-microvolt = <1000000>;
96 regulator-max-microvolt = <1450000>;
97 regulator-name = "vdd-cpu";
98 };
99
100 vdd_int_dll: dcdc3 {
101 regulator-always-on;
102 regulator-min-microvolt = <1000000>;
103 regulator-max-microvolt = <1400000>;
104 regulator-name = "vdd-int-dll";
105 };
106
107 vdd_rtc: ldo1 {
108 regulator-always-on;
109 regulator-min-microvolt = <1200000>;
110 regulator-max-microvolt = <1400000>;
111 regulator-name = "vdd-rtc";
112 };
113
114 avcc: ldo2 {
115 regulator-always-on;
116 regulator-min-microvolt = <2700000>;
117 regulator-max-microvolt = <3300000>;
118 regulator-name = "avcc";
119 };
120
121 ldo3 {
122 /* unused but preferred to be managed by OS */
123 };
124 };
125};