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