ARM: dts: sun9i: a80-optimus: Add AXP809 PMIC device node and regulators
The AXP809 PMIC is the primary PMIC. It provides various supply voltages for the SoC and other peripherals. The PMIC's interrupt line is connected to NMI pin of the SoC. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
This commit is contained in:
parent
51189d6484
commit
aa4a27bc81
|
@ -150,7 +150,7 @@
|
||||||
&mmc0 {
|
&mmc0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&mmc0_pins>, <&mmc0_cd_pin_optimus>;
|
pinctrl-0 = <&mmc0_pins>, <&mmc0_cd_pin_optimus>;
|
||||||
vmmc-supply = <®_vcc3v0>;
|
vmmc-supply = <®_dcdc1>;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
cd-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH8 */
|
cd-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH8 */
|
||||||
cd-inverted;
|
cd-inverted;
|
||||||
|
@ -160,7 +160,7 @@
|
||||||
&mmc2 {
|
&mmc2 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&mmc2_8bit_pins>;
|
pinctrl-0 = <&mmc2_8bit_pins>;
|
||||||
vmmc-supply = <®_vcc3v0>;
|
vmmc-supply = <®_dcdc1>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
non-removable;
|
non-removable;
|
||||||
cap-mmc-hw-reset;
|
cap-mmc-hw-reset;
|
||||||
|
@ -193,8 +193,135 @@
|
||||||
|
|
||||||
&r_rsb {
|
&r_rsb {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
|
axp809: pmic@3a3 {
|
||||||
|
reg = <0x3a3>;
|
||||||
|
interrupt-parent = <&nmi_intc>;
|
||||||
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
|
||||||
|
regulators {
|
||||||
|
reg_aldo1: aldo1 {
|
||||||
|
/*
|
||||||
|
* TODO: This should be handled by the
|
||||||
|
* USB PHY driver.
|
||||||
|
*/
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <3000000>;
|
||||||
|
regulator-max-microvolt = <3000000>;
|
||||||
|
regulator-name = "vcc33-usbh";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_aldo2: aldo2 {
|
||||||
|
regulator-min-microvolt = <1800000>;
|
||||||
|
regulator-max-microvolt = <1800000>;
|
||||||
|
regulator-name = "vcc-pb-io-cam";
|
||||||
|
};
|
||||||
|
|
||||||
|
aldo3 {
|
||||||
|
/* unused */
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_dc5ldo: dc5ldo {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <800000>;
|
||||||
|
regulator-max-microvolt = <1100000>;
|
||||||
|
regulator-name = "vdd-cpus-09-usbh";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_dcdc1: dcdc1 {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <3000000>;
|
||||||
|
regulator-max-microvolt = <3000000>;
|
||||||
|
regulator-name = "vcc-3v";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_dcdc2: dcdc2 {
|
||||||
|
regulator-min-microvolt = <800000>;
|
||||||
|
regulator-max-microvolt = <1100000>;
|
||||||
|
regulator-name = "vdd-gpu";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_dcdc3: dcdc3 {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <800000>;
|
||||||
|
regulator-max-microvolt = <1100000>;
|
||||||
|
regulator-name = "vdd-cpua";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_dcdc4: dcdc4 {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <800000>;
|
||||||
|
regulator-max-microvolt = <1100000>;
|
||||||
|
regulator-name = "vdd-sys-usb0-hdmi";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_dcdc5: dcdc5 {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <1425000>;
|
||||||
|
regulator-max-microvolt = <1575000>;
|
||||||
|
regulator-name = "vcc-dram";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_dldo1: dldo1 {
|
||||||
|
/*
|
||||||
|
* The WiFi chip supports a wide range
|
||||||
|
* (3.0 ~ 4.8V) of voltages, and so does
|
||||||
|
* this regulator (3.0 ~ 4.2V), but
|
||||||
|
* Allwinner SDK always sets it to 3.3V.
|
||||||
|
*/
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-name = "vcc-wifi";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_dldo2: dldo2 {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <3000000>;
|
||||||
|
regulator-max-microvolt = <3000000>;
|
||||||
|
regulator-name = "vcc-pl";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_eldo1: eldo1 {
|
||||||
|
regulator-min-microvolt = <1200000>;
|
||||||
|
regulator-max-microvolt = <1200000>;
|
||||||
|
regulator-name = "vcc-dvdd-cam";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_eldo2: eldo2 {
|
||||||
|
regulator-min-microvolt = <1800000>;
|
||||||
|
regulator-max-microvolt = <1800000>;
|
||||||
|
regulator-name = "vcc-pe";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_eldo3: eldo3 {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <3000000>;
|
||||||
|
regulator-max-microvolt = <3000000>;
|
||||||
|
regulator-name = "vcc-pm-codec-io1";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_ldo_io0: ldo_io0 {
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-min-microvolt = <3000000>;
|
||||||
|
regulator-max-microvolt = <3000000>;
|
||||||
|
regulator-name = "vcc-pg";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_ldo_io1: ldo_io1 {
|
||||||
|
regulator-min-microvolt = <2500000>;
|
||||||
|
regulator-max-microvolt = <2500000>;
|
||||||
|
regulator-name = "vcc-pa-gmac-2v5";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_rtc_ldo: rtc_ldo {
|
||||||
|
regulator-name = "vcc-rtc-vdd1v8-io";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#include "axp809.dtsi"
|
||||||
|
|
||||||
&uart0 {
|
&uart0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&uart0_pins_a>;
|
pinctrl-0 = <&uart0_pins_a>;
|
||||||
|
|
Loading…
Reference in New Issue