--- /dev/null
+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 = <®_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 = <®_dcdc1>;
++ vcc-pd-supply = <®_dcdc1>;
++ vcc-pe-supply = <®_aldo1>;
++ vcc-pg-supply = <®_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 = <®_aldo2>;
++ */
++};
++
+ &r_rsb {
+ status = "okay";
+