| AXP family PMIC device tree bindings |
| |
| The axp20x family current members : |
| axp152 (X-Powers) |
| axp202 (X-Powers) |
| axp209 (X-Powers) |
| axp221 (X-Powers) |
| axp223 (X-Powers) |
| axp809 (X-Powers) |
| |
| Required properties: |
| - compatible: "x-powers,axp152", "x-powers,axp202", "x-powers,axp209", |
| "x-powers,axp221", "x-powers,axp223", "x-powers,axp806", |
| "x-powers,axp809" |
| - reg: The I2C slave address or RSB hardware address for the AXP chip |
| - interrupt-parent: The parent interrupt controller |
| - interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin |
| - interrupt-controller: The PMIC has its own internal IRQs |
| - #interrupt-cells: Should be set to 1 |
| |
| Optional properties: |
| - x-powers,dcdc-freq: defines the work frequency of DC-DC in KHz |
| AXP152/20X: range: 750-1875, Default: 1.5 MHz |
| AXP22X/80X: range: 1800-4050, Default: 3 MHz |
| |
| - x-powers,drive-vbus-en: axp221 / axp223 only boolean, set this when the |
| N_VBUSEN pin is used as an output pin to control an external |
| regulator to drive the OTG VBus, rather then as an input pin |
| which signals whether the board is driving OTG VBus or not. |
| |
| - <input>-supply: a phandle to the regulator supply node. May be omitted if |
| inputs are unregulated, such as using the IPSOUT output |
| from the PMIC. |
| |
| - regulators: A node that houses a sub-node for each regulator. Regulators |
| not used but preferred to be managed by the OS should be |
| listed as well. |
| See Documentation/devicetree/bindings/regulator/regulator.txt |
| for more information on standard regulator bindings. |
| |
| Optional properties for DCDC regulators: |
| - x-powers,dcdc-workmode: 1 for PWM mode, 0 for AUTO (PWM/PFM) mode |
| Default: Current hardware setting |
| The DCDC regulators work in a mixed PWM/PFM mode, |
| using PFM under light loads and switching to PWM |
| for heavier loads. Forcing PWM mode trades efficiency |
| under light loads for lower output noise. This |
| probably makes sense for HiFi audio related |
| applications that aren't battery constrained. |
| |
| AXP202/AXP209 regulators, type, and corresponding input supply names: |
| |
| Regulator Type Supply Name Notes |
| --------- ---- ----------- ----- |
| DCDC2 : DC-DC buck : vin2-supply |
| DCDC3 : DC-DC buck : vin3-supply |
| LDO1 : LDO : acin-supply : always on |
| LDO2 : LDO : ldo24in-supply : shared supply |
| LDO3 : LDO : ldo3in-supply |
| LDO4 : LDO : ldo24in-supply : shared supply |
| LDO5 : LDO : ldo5in-supply |
| |
| AXP221/AXP223 regulators, type, and corresponding input supply names: |
| |
| Regulator Type Supply Name Notes |
| --------- ---- ----------- ----- |
| DCDC1 : DC-DC buck : vin1-supply |
| DCDC2 : DC-DC buck : vin2-supply |
| DCDC3 : DC-DC buck : vin3-supply |
| DCDC4 : DC-DC buck : vin4-supply |
| DCDC5 : DC-DC buck : vin5-supply |
| DC1SW : On/Off Switch : : DCDC1 secondary output |
| DC5LDO : LDO : : input from DCDC5 |
| ALDO1 : LDO : aldoin-supply : shared supply |
| ALDO2 : LDO : aldoin-supply : shared supply |
| ALDO3 : LDO : aldoin-supply : shared supply |
| DLDO1 : LDO : dldoin-supply : shared supply |
| DLDO2 : LDO : dldoin-supply : shared supply |
| DLDO3 : LDO : dldoin-supply : shared supply |
| DLDO4 : LDO : dldoin-supply : shared supply |
| ELDO1 : LDO : eldoin-supply : shared supply |
| ELDO2 : LDO : eldoin-supply : shared supply |
| ELDO3 : LDO : eldoin-supply : shared supply |
| LDO_IO0 : LDO : ips-supply : GPIO 0 |
| LDO_IO1 : LDO : ips-supply : GPIO 1 |
| RTC_LDO : LDO : ips-supply : always on |
| DRIVEVBUS : Enable output : drivevbus-supply : external regulator |
| |
| AXP806 regulators, type, and corresponding input supply names: |
| |
| Regulator Type Supply Name Notes |
| --------- ---- ----------- ----- |
| DCDCA : DC-DC buck : vina-supply : poly-phase capable |
| DCDCB : DC-DC buck : vinb-supply : poly-phase capable |
| DCDCC : DC-DC buck : vinc-supply : poly-phase capable |
| DCDCD : DC-DC buck : vind-supply : poly-phase capable |
| DCDCE : DC-DC buck : vine-supply : poly-phase capable |
| ALDO1 : LDO : aldoin-supply : shared supply |
| ALDO2 : LDO : aldoin-supply : shared supply |
| ALDO3 : LDO : aldoin-supply : shared supply |
| BLDO1 : LDO : bldoin-supply : shared supply |
| BLDO2 : LDO : bldoin-supply : shared supply |
| BLDO3 : LDO : bldoin-supply : shared supply |
| BLDO4 : LDO : bldoin-supply : shared supply |
| CLDO1 : LDO : cldoin-supply : shared supply |
| CLDO2 : LDO : cldoin-supply : shared supply |
| CLDO3 : LDO : cldoin-supply : shared supply |
| SW : On/Off Switch : swin-supply |
| |
| Additionally, the AXP806 DC-DC regulators support poly-phase arrangements |
| for higher output current. The possible groupings are: A+B, A+B+C, D+E. |
| |
| AXP809 regulators, type, and corresponding input supply names: |
| |
| Regulator Type Supply Name Notes |
| --------- ---- ----------- ----- |
| DCDC1 : DC-DC buck : vin1-supply |
| DCDC2 : DC-DC buck : vin2-supply |
| DCDC3 : DC-DC buck : vin3-supply |
| DCDC4 : DC-DC buck : vin4-supply |
| DCDC5 : DC-DC buck : vin5-supply |
| DC1SW : On/Off Switch : : DCDC1 secondary output |
| DC5LDO : LDO : : input from DCDC5 |
| ALDO1 : LDO : aldoin-supply : shared supply |
| ALDO2 : LDO : aldoin-supply : shared supply |
| ALDO3 : LDO : aldoin-supply : shared supply |
| DLDO1 : LDO : dldoin-supply : shared supply |
| DLDO2 : LDO : dldoin-supply : shared supply |
| ELDO1 : LDO : eldoin-supply : shared supply |
| ELDO2 : LDO : eldoin-supply : shared supply |
| ELDO3 : LDO : eldoin-supply : shared supply |
| LDO_IO0 : LDO : ips-supply : GPIO 0 |
| LDO_IO1 : LDO : ips-supply : GPIO 1 |
| RTC_LDO : LDO : ips-supply : always on |
| SW : On/Off Switch : swin-supply |
| |
| Example: |
| |
| axp209: pmic@34 { |
| compatible = "x-powers,axp209"; |
| reg = <0x34>; |
| interrupt-parent = <&nmi_intc>; |
| interrupts = <0 IRQ_TYPE_LEVEL_LOW>; |
| interrupt-controller; |
| #interrupt-cells = <1>; |
| |
| regulators { |
| x-powers,dcdc-freq = <1500>; |
| |
| vdd_cpu: dcdc2 { |
| regulator-always-on; |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <1450000>; |
| regulator-name = "vdd-cpu"; |
| }; |
| |
| vdd_int_dll: dcdc3 { |
| regulator-always-on; |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <1400000>; |
| regulator-name = "vdd-int-dll"; |
| }; |
| |
| vdd_rtc: ldo1 { |
| regulator-always-on; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1400000>; |
| regulator-name = "vdd-rtc"; |
| }; |
| |
| avcc: ldo2 { |
| regulator-always-on; |
| regulator-min-microvolt = <2700000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-name = "avcc"; |
| }; |
| |
| ldo3 { |
| /* unused but preferred to be managed by OS */ |
| }; |
| }; |
| }; |