ARM: dts: sun8i: a711: Add regulator support
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Mon, 24 Jul 2017 16:29:29 +0000 (18:29 +0200)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Thu, 2 Nov 2017 08:09:19 +0000 (09:09 +0100)
The TBS A711 is using an AXP813 PMIC. Let's add all the regulators for that
board, and migrate the current, dumb, regulators to the actual ones.

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

index de0be14..1dc935b 100644 (file)
@@ -43,7 +43,8 @@
 
 /dts-v1/;
 #include "sun8i-a83t.dtsi"
-#include "sunxi-common-regulators.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
 
 / {
        model = "TBS A711 Tablet";
 };
 
 &mmc0 {
-       vmmc-supply = <&reg_vcc3v3>;
+       vmmc-supply = <&reg_dcdc1>;
        pinctrl-names = "default";
        pinctrl-0 = <&mmc0_pins>;
        cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
 &mmc1 {
        mmc-pwrseq = <&wifi_pwrseq>;
        bus-width = <4>;
-       vmmc-supply = <&reg_vcc3v3>;
-       vqmmc-supply = <&reg_vcc3v3>;
+       vmmc-supply = <&reg_dldo1>;
+       vqmmc-supply = <&reg_dldo1>;
        non-removable;
        wakeup-source;
        status = "okay";
 &mmc2 {
        pinctrl-0 = <&mmc2_8bit_emmc_pins>;
        pinctrl-names = "default";
-       vmmc-supply = <&reg_vcc3v3>;
-       vqmmc-supply = <&reg_vcc3v3>;
+       vmmc-supply = <&reg_dcdc1>;
+       vqmmc-supply = <&reg_dcdc1>;
        bus-width = <8>;
        non-removable;
        cap-mmc-hw-reset;
 &r_rsb {
        status = "okay";
 
-       axp813: pmic@3a3 {
-               compatible = "x-powers,axp813";
+       axp81x: pmic@3a3 {
                reg = <0x3a3>;
                interrupt-parent = <&r_intc>;
                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+               swin-supply = <&reg_dcdc1>;
+               x-powers,drive-vbus-en;
        };
 
        ac100: codec@e89 {
 
 };
 
+#include "axp81x.dtsi"
+
+&reg_aldo1 {
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "vcc-1.8";
+};
+
+&reg_aldo2 {
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-always-on;
+       regulator-name = "vdd-drampll";
+};
+
+&reg_aldo3 {
+       regulator-min-microvolt = <3000000>;
+       regulator-max-microvolt = <3000000>;
+       regulator-always-on;
+       regulator-name = "avcc";
+};
+
+&reg_dcdc1 {
+       regulator-min-microvolt = <3100000>;
+       regulator-max-microvolt = <3100000>;
+       regulator-always-on;
+       regulator-name = "vcc-io";
+};
+
+&reg_dcdc2 {
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-always-on;
+       regulator-name = "vdd-cpu-A";
+};
+
+&reg_dcdc3 {
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-always-on;
+       regulator-name = "vdd-cpu-B";
+};
+
+&reg_dcdc4 {
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-gpu";
+};
+
+&reg_dcdc5 {
+       regulator-min-microvolt = <1200000>;
+       regulator-max-microvolt = <1500000>;
+       regulator-always-on;
+       regulator-name = "vcc-dram";
+};
+
+&reg_dcdc6 {
+       regulator-min-microvolt = <900000>;
+       regulator-max-microvolt = <900000>;
+       regulator-always-on;
+       regulator-name = "vdd-sys";
+};
+
+&reg_dldo1 {
+       regulator-min-microvolt = <3100000>;
+       regulator-max-microvolt = <3100000>;
+       regulator-name = "vcc-wifi-io";
+};
+
+&reg_dldo2 {
+       regulator-min-microvolt = <2800000>;
+       regulator-max-microvolt = <4200000>;
+       regulator-name = "vcc-mipi";
+};
+
+&reg_dldo3 {
+       regulator-min-microvolt = <2800000>;
+       regulator-max-microvolt = <2800000>;
+       regulator-name = "vdd-csi";
+};
+
+&reg_dldo4 {
+       regulator-min-microvolt = <2800000>;
+       regulator-max-microvolt = <2800000>;
+       regulator-name = "avdd-csi";
+};
+
+&reg_drivevbus {
+       regulator-name = "usb0-vbus";
+       status = "okay";
+};
+
+&reg_eldo1 {
+       regulator-min-microvolt = <1200000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "dvdd-csi-r";
+};
+
+&reg_eldo2 {
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "vcc-dsi";
+};
+
+&reg_eldo3 {
+       regulator-min-microvolt = <1200000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "dvdd-csi-f";
+};
+
+&reg_fldo1 {
+       regulator-min-microvolt = <1200000>;
+       regulator-max-microvolt = <1200000>;
+       regulator-name = "vcc-hsic";
+};
+
+&reg_fldo2 {
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-always-on;
+       regulator-name = "vdd-cpus";
+};
+
+&reg_ldo_io0 {
+       regulator-min-microvolt = <3100000>;
+       regulator-max-microvolt = <3100000>;
+       regulator-name = "vcc-ctp";
+       status = "okay";
+};
+
+&reg_ldo_io1 {
+       regulator-min-microvolt = <3100000>;
+       regulator-max-microvolt = <3100000>;
+       regulator-name = "vcc-vb";
+       status = "okay";
+};
+
+&reg_sw {
+       regulator-min-microvolt = <3100000>;
+       regulator-max-microvolt = <3100000>;
+       regulator-name = "vcc-lcd";
+};
+
 &uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart0_pb_pins>;
 };
 
 &usbphy {
-       usb1_vbus_supply = <&reg_vcc5v0>;
-       usb2_vbus_supply = <&reg_vcc5v0>;
+       usb1_vbus_supply = <&reg_vmain>;
+       usb2_vbus_supply = <&reg_vmain>;
        status = "okay";
 };