]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ARM: dts: sun8i: a83t: allwinner-h8homlet-v2: Add AXP818 regulator nodes
authorChen-Yu Tsai <wens@csie.org>
Wed, 18 Oct 2017 08:31:35 +0000 (16:31 +0800)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Thu, 2 Nov 2017 08:04:51 +0000 (09:04 +0100)
This patch adds device nodes for all the regulators of the AXP818 PMIC.
Sunxi common regulators are removed, and USB VBUS regulators are added.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun8i-a83t-allwinner-h8homlet-v2.dts

index 1f0d60afb25b695c44523c70d80677f1dd753ecb..5091cecbcd1eb0de85a11ccc268e2adcc76324be 100644 (file)
@@ -43,7 +43,8 @@
 
 /dts-v1/;
 #include "sun8i-a83t.dtsi"
-#include "sunxi-common-regulators.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
 
 / {
        model = "Allwinner A83T H8Homlet Proto Dev Board v2.0";
@@ -56,6 +57,26 @@ aliases {
        chosen {
                stdout-path = "serial0:115200n8";
        };
+
+       reg_usb0_vbus: reg-usb0-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usb0-vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-boot-on;
+               enable-active-high;
+               gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
+       };
+
+       reg_usb1_vbus: reg-usb1-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usb1-vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-boot-on;
+               enable-active-high;
+               gpio = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
+       };
 };
 
 &ehci0 {
@@ -65,7 +86,7 @@ &ehci0 {
 &mmc0 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc0_pins>;
-       vmmc-supply = <&reg_vcc3v0>;
+       vmmc-supply = <&reg_dcdc1>;
        cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
        bus-width = <4>;
        cd-inverted;
@@ -75,7 +96,8 @@ &mmc0 {
 &mmc2 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc2_8bit_emmc_pins>;
-       vmmc-supply = <&reg_vcc3v0>;
+       vmmc-supply = <&reg_dcdc1>;
+       vqmmc-supply = <&reg_dcdc1>;
        bus-width = <8>;
        non-removable;
        cap-mmc-hw-reset;
@@ -86,16 +108,6 @@ &ohci0 {
        status = "okay";
 };
 
-&reg_usb0_vbus {
-       gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
-       status = "okay";
-};
-
-&reg_usb1_vbus {
-       gpio = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
-       status = "okay";
-};
-
 &r_rsb {
        status = "okay";
 
@@ -104,6 +116,8 @@ axp81x: pmic@3a3 {
                reg = <0x3a3>;
                interrupt-parent = <&r_intc>;
                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+               eldoin-supply = <&reg_dcdc1>;
+               swin-supply = <&reg_dcdc1>;
        };
 
        ac100: codec@e89 {
@@ -131,6 +145,113 @@ ac100_rtc: rtc {
        };
 };
 
+#include "axp81x.dtsi"
+
+&reg_aldo1 {
+       regulator-always-on;
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "vcc-1v8";
+};
+
+&reg_aldo2 {
+       regulator-always-on;
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "dram-pll";
+};
+
+&reg_aldo3 {
+       regulator-always-on;
+       regulator-min-microvolt = <3000000>;
+       regulator-max-microvolt = <3000000>;
+       regulator-name = "avcc";
+};
+
+&reg_dcdc1 {
+       regulator-always-on;
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "vcc-3v3";
+};
+
+&reg_dcdc2 {
+       regulator-always-on;
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-cpua";
+};
+
+&reg_dcdc3 {
+       regulator-always-on;
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-cpub";
+};
+
+&reg_dcdc4 {
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-gpu";
+};
+
+&reg_dcdc5 {
+       regulator-always-on;
+       regulator-min-microvolt = <1500000>;
+       regulator-max-microvolt = <1500000>;
+       regulator-name = "vcc-dram";
+};
+
+&reg_dcdc6 {
+       regulator-always-on;
+       regulator-min-microvolt = <900000>;
+       regulator-max-microvolt = <900000>;
+       regulator-name = "vdd-sys";
+};
+
+&reg_dldo2 {
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "vcc-mipi";
+};
+
+&reg_dldo4 {
+       /*
+        * The PHY requires 20ms after all voltages are applied until core
+        * logic is ready and 30ms after the reset pin is de-asserted.
+        * Set a 100ms delay to account for PMIC ramp time and board traces.
+        */
+       regulator-enable-ramp-delay = <100000>;
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "vcc-ephy";
+};
+
+&reg_fldo1 {
+       regulator-min-microvolt = <1080000>;
+       regulator-max-microvolt = <1320000>;
+       regulator-name = "vdd12-hsic";
+};
+
+&reg_fldo2 {
+       /*
+        * Despite the embedded CPUs core not being used in any way,
+        * this must remain on or the system will hang.
+        */
+       regulator-always-on;
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-cpus";
+};
+
+&reg_rtc_ldo {
+       regulator-name = "vcc-rtc";
+};
+
+&reg_sw {
+       regulator-name = "vcc-wifi";
+};
+
 &uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart0_pb_pins>;