123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262 |
- 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)
- axp803 (X-Powers)
- axp806 (X-Powers)
- axp809 (X-Powers)
- axp813 (X-Powers)
- The AXP813 is 2 chips packaged into 1. The 2 chips do not share anything
- other than the packaging. Pins are routed separately. As such they should
- be treated as separate entities. The other half is an AC100 RTC/codec
- combo chip. Please see ./ac100.txt for its bindings.
- Required properties:
- - compatible: should be one of:
- * "x-powers,axp152"
- * "x-powers,axp202"
- * "x-powers,axp209"
- * "x-powers,axp221"
- * "x-powers,axp223"
- * "x-powers,axp803"
- * "x-powers,axp806"
- * "x-powers,axp809"
- * "x-powers,axp813"
- - reg: The I2C slave address or RSB hardware address for the AXP chip
- - 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/8XX: range: 1800-4050, Default: 3 MHz
- - x-powers,drive-vbus-en: 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.
- (axp221 / axp223 / axp803/ axp813 only)
- - x-powers,self-working-mode and
- x-powers,master-mode: Boolean (axp806 only). Set either of these when the
- PMIC is wired for self-working mode or master mode.
- If neither is set then slave mode is assumed.
- This corresponds to how the MODESET pin is wired.
- - <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
- AXP803 regulators, type, and corresponding input supply names:
- Regulator Type Supply Name Notes
- --------- ---- ----------- -----
- DCDC1 : DC-DC buck : vin1-supply
- DCDC2 : DC-DC buck : vin2-supply : poly-phase capable
- DCDC3 : DC-DC buck : vin3-supply : poly-phase capable
- DCDC4 : DC-DC buck : vin4-supply
- DCDC5 : DC-DC buck : vin5-supply : poly-phase capable
- DCDC6 : DC-DC buck : vin6-supply : poly-phase capable
- DC1SW : On/Off Switch : : DCDC1 secondary output
- 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
- FLDO1 : LDO : fldoin-supply : shared supply
- FLDO2 : LDO : fldoin-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
- AXP813 regulators, type, and corresponding input supply names:
- Regulator Type Supply Name Notes
- --------- ---- ----------- -----
- DCDC1 : DC-DC buck : vin1-supply
- DCDC2 : DC-DC buck : vin2-supply : poly-phase capable
- DCDC3 : DC-DC buck : vin3-supply : poly-phase capable
- DCDC4 : DC-DC buck : vin4-supply
- DCDC5 : DC-DC buck : vin5-supply : poly-phase capable
- DCDC6 : DC-DC buck : vin6-supply : poly-phase capable
- DCDC7 : DC-DC buck : vin7-supply
- 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
- FLDO1 : LDO : fldoin-supply : shared supply
- FLDO2 : LDO : fldoin-supply : shared supply
- FLDO3 : LDO : fldoin-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
- DRIVEVBUS : Enable output : drivevbus-supply : external regulator
- 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 */
- };
- };
- };
|