sunxi: 5.4: dts: a64: olinuxino: add bank supply regulators
[openwrt/openwrt.git] / target / linux / sunxi / patches-5.4 / 410-v5.6-arm64-dts-allwinner-a64-olinuxino-Add-bank-supply-re.patch
diff --git a/target/linux/sunxi/patches-5.4/410-v5.6-arm64-dts-allwinner-a64-olinuxino-Add-bank-supply-re.patch b/target/linux/sunxi/patches-5.4/410-v5.6-arm64-dts-allwinner-a64-olinuxino-Add-bank-supply-re.patch
new file mode 100644 (file)
index 0000000..f844301
--- /dev/null
@@ -0,0 +1,62 @@
+From f0c3b29f56f0a946df4941edfe2d98e3e766c30f Mon Sep 17 00:00:00 2001
+From: Stefan Mavrodiev <stefan@olimex.com>
+Date: Fri, 29 Nov 2019 13:39:40 +0200
+Subject: [PATCH] arm64: dts: allwinner: a64: olinuxino: Add bank supply
+ regulators
+
+Allwinner A64 SoC has separate supplies for PC, PD, PE, PG and PL. This
+patch adds regulators for them to the pinctrl node.
+
+Exception is PL which is used by the RSB bus. To avoid circular
+dependencies, VCC-PL is omitted.
+
+On boards with eMMC, VCC-PC is supplied by ELDO1, instead of DCDC1.
+
+Signed-off-by: Stefan Mavrodiev <stefan@olimex.com>
+[Maxime: Changed the r_pio comment a bit]
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ .../dts/allwinner/sun50i-a64-olinuxino-emmc.dts |  4 ++++
+ .../boot/dts/allwinner/sun50i-a64-olinuxino.dts | 17 +++++++++++++++++
+ 2 files changed, 21 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
+index 96ab0227e82d..a1629688e694 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
+@@ -21,3 +21,7 @@
+       cap-mmc-hw-reset;
+       status = "okay";
+ };
++
++&pio {
++      vcc-pc-supply = <&reg_eldo1>;
++};
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
+index 01a9a52edae4..3e026a95a58a 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
+@@ -163,6 +163,23 @@
+       status = "okay";
+ };
++&pio {
++      vcc-pc-supply = <&reg_dcdc1>;
++      vcc-pd-supply = <&reg_dcdc1>;
++      vcc-pe-supply = <&reg_aldo1>;
++      vcc-pg-supply = <&reg_dldo4>;
++};
++
++&r_pio {
++      /*
++       * FIXME: We can't add that supply for now since it would
++       * create a circular dependency between pinctrl, the regulator
++       * and the RSB Bus.
++       *
++       * vcc-pl-supply = <&reg_aldo2>;
++       */
++};
++
+ &r_rsb {
+       status = "okay";