The commit e8a9521e649f
("vf500/vf610: synchronise device trees with linux")
has synchronized U-Boot's DTS with v5.19 Linux kernel.
It turned out that in Linux's upstream iomuxc node description the
fsl,mux_mask' was missing, so the U-Boot's pinctrl driver for NXP's Vybrid
SoC was not working properly.

As by default the mux mask was set to 0, the vf610 based boards (like
BK4) were bricked, due to misconfiguration of gpio at early boot stage.

The fix for all vf610 based boards is to introduce vfxxx-u-boot.dtsi file
with 'fsl,mux_mask' property provided and include it in boards' specific
U-Boot adjustment files (like vf610-bk4r1-u-boot.dtsi).

Signed-off-by: Lukasz Majewski <lu...@denx.de>
---
 arch/arm/dts/vf610-bk4r1-u-boot.dtsi | 2 ++
 arch/arm/dts/vfxxx-u-boot.dtsi       | 9 +++++++++
 2 files changed, 11 insertions(+)
 create mode 100644 arch/arm/dts/vfxxx-u-boot.dtsi

diff --git a/arch/arm/dts/vf610-bk4r1-u-boot.dtsi 
b/arch/arm/dts/vf610-bk4r1-u-boot.dtsi
index 1336006e038..af2749803f4 100644
--- a/arch/arm/dts/vf610-bk4r1-u-boot.dtsi
+++ b/arch/arm/dts/vf610-bk4r1-u-boot.dtsi
@@ -4,6 +4,8 @@
  * Lukasz Majewski, DENX Software Engineering, lu...@denx.de
  */
 
+#include "vfxxx-u-boot.dtsi"
+
 / {
        soc {
                bootph-all;
diff --git a/arch/arm/dts/vfxxx-u-boot.dtsi b/arch/arm/dts/vfxxx-u-boot.dtsi
new file mode 100644
index 00000000000..d9ed3949232
--- /dev/null
+++ b/arch/arm/dts/vfxxx-u-boot.dtsi
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2025
+ * Lukasz Majewski, DENX Software Engineering, lu...@denx.de
+ */
+
+&iomuxc {
+       fsl,mux_mask = <0x700000>;
+};
-- 
2.39.5

Reply via email to