From c8a3552f7d9e6bd4554730e3dec10ff6c661f07c Mon Sep 17 00:00:00 2001 From: Vishal Mahaveer Date: Fri, 5 Jun 2026 14:38:28 -0500 Subject: arm: mach-k3: am642: Update MAIN UART1 serial alias from 3 to 1 The upstream device tree changed the serial alias for MAIN UART1 from serial3 to serial1. Update the board initialization code to match this change by modifying the UCLASS_SERIAL sequence number lookup. This ensures proper pin control configuration for the UART used by system firmware (SYSFW). Signed-off-by: Vishal Mahaveer Fixes: d2edabfa8de5 ("arm: mach-k3: am642: Load SYSFW binary and config from boot media") Reviewed-by: Bryan Brattlof --- arch/arm/mach-k3/am64x/am642_init.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-k3/am64x/am642_init.c b/arch/arm/mach-k3/am64x/am642_init.c index a15adf1cb1e..d6cc7a85aae 100644 --- a/arch/arm/mach-k3/am64x/am642_init.c +++ b/arch/arm/mach-k3/am64x/am642_init.c @@ -212,14 +212,14 @@ void board_init_f(ulong dummy) #if defined(CONFIG_K3_LOAD_SYSFW) /* - * Process pinctrl for serial3 a.k.a. MAIN UART1 module and continue + * Process pinctrl for serial1 a.k.a. MAIN UART1 module and continue * regardless of the result of pinctrl. Do this without probing the * device, but instead by searching the device that would request the * given sequence number if probed. The UART will be used by the system * firmware (SYSFW) image for various purposes and SYSFW depends on us * to initialize its pin settings. */ - ret = uclass_find_device_by_seq(UCLASS_SERIAL, 3, &dev); + ret = uclass_find_device_by_seq(UCLASS_SERIAL, 1, &dev); if (!ret) pinctrl_select_state(dev, "default"); -- cgit v1.3.1 From 48b7c05d272747ec4d8f8f7eb53119ef149dcc7a Mon Sep 17 00:00:00 2001 From: Vishal Mahaveer Date: Fri, 5 Jun 2026 14:38:29 -0500 Subject: arm: dts: k3-am642-evm/sk: enable MAIN UART1 for SYSFW logs Enable MAIN UART1 in the R5 SPL device tree to collect system SYSFW debug traces during early boot. Signed-off-by: Vishal Mahaveer Reviewed-by: Bryan Brattlof --- arch/arm/dts/k3-am642-r5-evm.dts | 10 ++++++++++ arch/arm/dts/k3-am642-r5-sk.dts | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/arch/arm/dts/k3-am642-r5-evm.dts b/arch/arm/dts/k3-am642-r5-evm.dts index e3d363a8e39..d1fe7efd006 100644 --- a/arch/arm/dts/k3-am642-r5-evm.dts +++ b/arch/arm/dts/k3-am642-r5-evm.dts @@ -23,3 +23,13 @@ clocks = <&clk_200mhz>; clock-names = "clk_xin"; }; + +&main_uart1_pins_default { + bootph-pre-ram; +}; + +/* Main UART1 is used for TIFS firmware logs */ +&main_uart1 { + bootph-pre-ram; + status="okay"; +}; diff --git a/arch/arm/dts/k3-am642-r5-sk.dts b/arch/arm/dts/k3-am642-r5-sk.dts index 27f3e87fb90..19435cd1f5c 100644 --- a/arch/arm/dts/k3-am642-r5-sk.dts +++ b/arch/arm/dts/k3-am642-r5-sk.dts @@ -18,3 +18,13 @@ &serdes_wiz0 { status = "okay"; }; + +&main_uart1_pins_default { + bootph-pre-ram; +}; + +/* Main UART1 is used for TIFS firmware logs */ +&main_uart1 { + bootph-pre-ram; + status="okay"; +}; -- cgit v1.3.1