The Retronix R-Car V4H Sparrow Hawk EVTB1 uses 1V8 IO voltage supply
for VDDQ18_25_AVB power rail. Update the AVB0 pinmux to reflect the
change in IO voltage. Since the VDDQ18_25_AVB power rail is shared,
all four AVB0, AVB1, AVB2, TSN0 PFC/GPIO POC[7..4] registers have to
be configured the same way.

Correct the voltage for EVTA1 boards accordingly by patching the U-Boot
control DT in SPL.

Signed-off-by: Marek Vasut <marek.vasut+rene...@mailbox.org>
---
Cc: Nobuhiro Iwamatsu <iwama...@nigauri.org>
Cc: Tom Rini <tr...@konsulko.com>
---
V2: Move DT change to arch/arm/dts/r8a779g3-sparrow-hawk-u-boot.dtsi
    until the same fix lands in mainline Linux
---
 arch/arm/dts/r8a779g3-sparrow-hawk-u-boot.dtsi |  7 +++++++
 board/renesas/sparrowhawk/sparrowhawk.c        | 12 ++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/arch/arm/dts/r8a779g3-sparrow-hawk-u-boot.dtsi 
b/arch/arm/dts/r8a779g3-sparrow-hawk-u-boot.dtsi
index b5f226f2f2a..dff0355150d 100644
--- a/arch/arm/dts/r8a779g3-sparrow-hawk-u-boot.dtsi
+++ b/arch/arm/dts/r8a779g3-sparrow-hawk-u-boot.dtsi
@@ -7,6 +7,13 @@
 
 #include "r8a779g0-u-boot.dtsi"
 
+&avb0_pins {
+       pins-vddq18-25-avb {
+               pins = "PIN_VDDQ_AVB0", "PIN_VDDQ_AVB1", "PIN_VDDQ_AVB2", 
"PIN_VDDQ_TSN0";
+               power-source = <1800>;
+       };
+};
+
 /* Page 31 / FAN */
 &gpio1 {
        pwm-fan-hog {
diff --git a/board/renesas/sparrowhawk/sparrowhawk.c 
b/board/renesas/sparrowhawk/sparrowhawk.c
index 1fd7a63d2fa..58de7f25cbd 100644
--- a/board/renesas/sparrowhawk/sparrowhawk.c
+++ b/board/renesas/sparrowhawk/sparrowhawk.c
@@ -231,6 +231,18 @@ void spl_perform_fixups(struct spl_image_info *spl_image)
                printf("Failed to disable UHS pins in MicroSD node: %d\n", err);
                return;
        }
+
+       offs = fdt_path_offset(blob, 
"/soc/pinctrl@e6050000/avb0/pins-vddq18-25-avb");
+       if (offs < 0) {
+               printf("Failed to locate AVB pinctrl node: %d\n", offs);
+               return;
+       }
+
+       err = fdt_setprop_u32(blob, offs, "power-source", 2500);
+       if (err < 0) {
+               printf("Failed to set AVB IO voltage: %d\n", err);
+               return;
+       }
 }
 #endif
 
-- 
2.47.2

Reply via email to