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) 9axp803 (X-Powers) 10axp806 (X-Powers) 11axp809 (X-Powers) 12axp813 (X-Powers) 13 14The AXP813 is 2 chips packaged into 1. The 2 chips do not share anything 15other than the packaging. Pins are routed separately. As such they should 16be treated as separate entities. The other half is an AC100 RTC/codec 17combo chip. Please see ./ac100.txt for its bindings. 18 19Required properties: 20- compatible: should be one of: 21 * "x-powers,axp152" 22 * "x-powers,axp202" 23 * "x-powers,axp209" 24 * "x-powers,axp221" 25 * "x-powers,axp223" 26 * "x-powers,axp803" 27 * "x-powers,axp806" 28 * "x-powers,axp805", "x-powers,axp806" 29 * "x-powers,axp305", "x-powers,axp805", "x-powers,axp806" 30 * "x-powers,axp809" 31 * "x-powers,axp813" 32- reg: The I2C slave address or RSB hardware address for the AXP chip 33- interrupt-controller: The PMIC has its own internal IRQs 34- #interrupt-cells: Should be set to 1 35 36Supported common regulator properties, see ../regulator/regulator.txt for 37more information: 38- regulator-ramp-delay: sets the ramp up delay in uV/us 39 AXP20x/DCDC2: 1600, 800 40 AXP20x/LDO3: 1600, 800 41- regulator-soft-start: enable the output at the lowest possible voltage and 42 only then set the desired voltage 43 AXP20x/LDO3: software-based implementation 44 45Optional properties: 46- interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin 47- x-powers,dcdc-freq: defines the work frequency of DC-DC in KHz 48 AXP152/20X: range: 750-1875, Default: 1.5 MHz 49 AXP22X/8XX: range: 1800-4050, Default: 3 MHz 50 51- x-powers,drive-vbus-en: boolean, set this when the N_VBUSEN pin is 52 used as an output pin to control an external 53 regulator to drive the OTG VBus, rather then 54 as an input pin which signals whether the 55 board is driving OTG VBus or not. 56 (axp221 / axp223 / axp803/ axp813 only) 57 58- x-powers,self-working-mode and 59 x-powers,master-mode: Boolean (axp806 only). Set either of these when the 60 PMIC is wired for self-working mode or master mode. 61 If neither is set then slave mode is assumed. 62 This corresponds to how the MODESET pin is wired. 63 64- <input>-supply: a phandle to the regulator supply node. May be omitted if 65 inputs are unregulated, such as using the IPSOUT output 66 from the PMIC. 67 68- regulators: A node that houses a sub-node for each regulator. Regulators 69 not used but preferred to be managed by the OS should be 70 listed as well. 71 See Documentation/devicetree/bindings/regulator/regulator.txt 72 for more information on standard regulator bindings. 73 74Optional properties for DCDC regulators: 75- x-powers,dcdc-workmode: 1 for PWM mode, 0 for AUTO (PWM/PFM) mode 76 Default: Current hardware setting 77 The DCDC regulators work in a mixed PWM/PFM mode, 78 using PFM under light loads and switching to PWM 79 for heavier loads. Forcing PWM mode trades efficiency 80 under light loads for lower output noise. This 81 probably makes sense for HiFi audio related 82 applications that aren't battery constrained. 83 84AXP202/AXP209 regulators, type, and corresponding input supply names: 85 86Regulator Type Supply Name Notes 87--------- ---- ----------- ----- 88DCDC2 : DC-DC buck : vin2-supply 89DCDC3 : DC-DC buck : vin3-supply 90LDO1 : LDO : acin-supply : always on 91LDO2 : LDO : ldo24in-supply : shared supply 92LDO3 : LDO : ldo3in-supply 93LDO4 : LDO : ldo24in-supply : shared supply 94LDO5 : LDO : ldo5in-supply 95 96AXP221/AXP223 regulators, type, and corresponding input supply names: 97 98Regulator Type Supply Name Notes 99--------- ---- ----------- ----- 100DCDC1 : DC-DC buck : vin1-supply 101DCDC2 : DC-DC buck : vin2-supply 102DCDC3 : DC-DC buck : vin3-supply 103DCDC4 : DC-DC buck : vin4-supply 104DCDC5 : DC-DC buck : vin5-supply 105DC1SW : On/Off Switch : : DCDC1 secondary output 106DC5LDO : LDO : : input from DCDC5 107ALDO1 : LDO : aldoin-supply : shared supply 108ALDO2 : LDO : aldoin-supply : shared supply 109ALDO3 : LDO : aldoin-supply : shared supply 110DLDO1 : LDO : dldoin-supply : shared supply 111DLDO2 : LDO : dldoin-supply : shared supply 112DLDO3 : LDO : dldoin-supply : shared supply 113DLDO4 : LDO : dldoin-supply : shared supply 114ELDO1 : LDO : eldoin-supply : shared supply 115ELDO2 : LDO : eldoin-supply : shared supply 116ELDO3 : LDO : eldoin-supply : shared supply 117LDO_IO0 : LDO : ips-supply : GPIO 0 118LDO_IO1 : LDO : ips-supply : GPIO 1 119RTC_LDO : LDO : ips-supply : always on 120DRIVEVBUS : Enable output : drivevbus-supply : external regulator 121 122AXP803 regulators, type, and corresponding input supply names: 123 124Regulator Type Supply Name Notes 125--------- ---- ----------- ----- 126DCDC1 : DC-DC buck : vin1-supply 127DCDC2 : DC-DC buck : vin2-supply : poly-phase capable 128DCDC3 : DC-DC buck : vin3-supply : poly-phase capable 129DCDC4 : DC-DC buck : vin4-supply 130DCDC5 : DC-DC buck : vin5-supply : poly-phase capable 131DCDC6 : DC-DC buck : vin6-supply : poly-phase capable 132DC1SW : On/Off Switch : : DCDC1 secondary output 133ALDO1 : LDO : aldoin-supply : shared supply 134ALDO2 : LDO : aldoin-supply : shared supply 135ALDO3 : LDO : aldoin-supply : shared supply 136DLDO1 : LDO : dldoin-supply : shared supply 137DLDO2 : LDO : dldoin-supply : shared supply 138DLDO3 : LDO : dldoin-supply : shared supply 139DLDO4 : LDO : dldoin-supply : shared supply 140ELDO1 : LDO : eldoin-supply : shared supply 141ELDO2 : LDO : eldoin-supply : shared supply 142ELDO3 : LDO : eldoin-supply : shared supply 143FLDO1 : LDO : fldoin-supply : shared supply 144FLDO2 : LDO : fldoin-supply : shared supply 145LDO_IO0 : LDO : ips-supply : GPIO 0 146LDO_IO1 : LDO : ips-supply : GPIO 1 147RTC_LDO : LDO : ips-supply : always on 148DRIVEVBUS : Enable output : drivevbus-supply : external regulator 149 150AXP806 regulators, type, and corresponding input supply names: 151 152Regulator Type Supply Name Notes 153--------- ---- ----------- ----- 154DCDCA : DC-DC buck : vina-supply : poly-phase capable 155DCDCB : DC-DC buck : vinb-supply : poly-phase capable 156DCDCC : DC-DC buck : vinc-supply : poly-phase capable 157DCDCD : DC-DC buck : vind-supply : poly-phase capable 158DCDCE : DC-DC buck : vine-supply : poly-phase capable 159ALDO1 : LDO : aldoin-supply : shared supply 160ALDO2 : LDO : aldoin-supply : shared supply 161ALDO3 : LDO : aldoin-supply : shared supply 162BLDO1 : LDO : bldoin-supply : shared supply 163BLDO2 : LDO : bldoin-supply : shared supply 164BLDO3 : LDO : bldoin-supply : shared supply 165BLDO4 : LDO : bldoin-supply : shared supply 166CLDO1 : LDO : cldoin-supply : shared supply 167CLDO2 : LDO : cldoin-supply : shared supply 168CLDO3 : LDO : cldoin-supply : shared supply 169SW : On/Off Switch : swin-supply 170 171Additionally, the AXP806 DC-DC regulators support poly-phase arrangements 172for higher output current. The possible groupings are: A+B, A+B+C, D+E. 173 174AXP809 regulators, type, and corresponding input supply names: 175 176Regulator Type Supply Name Notes 177--------- ---- ----------- ----- 178DCDC1 : DC-DC buck : vin1-supply 179DCDC2 : DC-DC buck : vin2-supply 180DCDC3 : DC-DC buck : vin3-supply 181DCDC4 : DC-DC buck : vin4-supply 182DCDC5 : DC-DC buck : vin5-supply 183DC1SW : On/Off Switch : : DCDC1 secondary output 184DC5LDO : LDO : : input from DCDC5 185ALDO1 : LDO : aldoin-supply : shared supply 186ALDO2 : LDO : aldoin-supply : shared supply 187ALDO3 : LDO : aldoin-supply : shared supply 188DLDO1 : LDO : dldoin-supply : shared supply 189DLDO2 : LDO : dldoin-supply : shared supply 190ELDO1 : LDO : eldoin-supply : shared supply 191ELDO2 : LDO : eldoin-supply : shared supply 192ELDO3 : LDO : eldoin-supply : shared supply 193LDO_IO0 : LDO : ips-supply : GPIO 0 194LDO_IO1 : LDO : ips-supply : GPIO 1 195RTC_LDO : LDO : ips-supply : always on 196SW : On/Off Switch : swin-supply 197 198AXP813 regulators, type, and corresponding input supply names: 199 200Regulator Type Supply Name Notes 201--------- ---- ----------- ----- 202DCDC1 : DC-DC buck : vin1-supply 203DCDC2 : DC-DC buck : vin2-supply : poly-phase capable 204DCDC3 : DC-DC buck : vin3-supply : poly-phase capable 205DCDC4 : DC-DC buck : vin4-supply 206DCDC5 : DC-DC buck : vin5-supply : poly-phase capable 207DCDC6 : DC-DC buck : vin6-supply : poly-phase capable 208DCDC7 : DC-DC buck : vin7-supply 209ALDO1 : LDO : aldoin-supply : shared supply 210ALDO2 : LDO : aldoin-supply : shared supply 211ALDO3 : LDO : aldoin-supply : shared supply 212DLDO1 : LDO : dldoin-supply : shared supply 213DLDO2 : LDO : dldoin-supply : shared supply 214DLDO3 : LDO : dldoin-supply : shared supply 215DLDO4 : LDO : dldoin-supply : shared supply 216ELDO1 : LDO : eldoin-supply : shared supply 217ELDO2 : LDO : eldoin-supply : shared supply 218ELDO3 : LDO : eldoin-supply : shared supply 219FLDO1 : LDO : fldoin-supply : shared supply 220FLDO2 : LDO : fldoin-supply : shared supply 221FLDO3 : LDO : fldoin-supply : shared supply 222LDO_IO0 : LDO : ips-supply : GPIO 0 223LDO_IO1 : LDO : ips-supply : GPIO 1 224RTC_LDO : LDO : ips-supply : always on 225SW : On/Off Switch : swin-supply 226DRIVEVBUS : Enable output : drivevbus-supply : external regulator 227 228Example: 229 230axp209: pmic@34 { 231 compatible = "x-powers,axp209"; 232 reg = <0x34>; 233 interrupt-parent = <&nmi_intc>; 234 interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 235 interrupt-controller; 236 #interrupt-cells = <1>; 237 238 regulators { 239 x-powers,dcdc-freq = <1500>; 240 241 vdd_cpu: dcdc2 { 242 regulator-always-on; 243 regulator-min-microvolt = <1000000>; 244 regulator-max-microvolt = <1450000>; 245 regulator-name = "vdd-cpu"; 246 }; 247 248 vdd_int_dll: dcdc3 { 249 regulator-always-on; 250 regulator-min-microvolt = <1000000>; 251 regulator-max-microvolt = <1400000>; 252 regulator-name = "vdd-int-dll"; 253 }; 254 255 vdd_rtc: ldo1 { 256 regulator-always-on; 257 regulator-min-microvolt = <1200000>; 258 regulator-max-microvolt = <1400000>; 259 regulator-name = "vdd-rtc"; 260 }; 261 262 avcc: ldo2 { 263 regulator-always-on; 264 regulator-min-microvolt = <2700000>; 265 regulator-max-microvolt = <3300000>; 266 regulator-name = "avcc"; 267 }; 268 269 ldo3 { 270 /* unused but preferred to be managed by OS */ 271 }; 272 }; 273}; 274