
This series enables UART-based boot of TI K3 AM65x SoCs by extending the TI K3 System Firmware (SYSFW) loader with support for UART-based loading of SYSFW. This is done by tapping into the existing SPL Y-Modem serial loader framework to accomplish the actual loading functionality. The series also implements a feature called "early console" which allows setting up an alternate full console (as required by Y-Modem) provided through an alternate serial port (a serial port different from what will be used by U-Boot proper/Linux in a system) which can be configured and used prior to SYSFW being available
Specifically, the MAIN_UART0 in case of AM654x SoCs can't be used in the early boot process (on R5 SPL) to load SYSFW as it is not clocked. However since the MCU_UART0 is readily available prior to loading SYSFW we use it during the early boot process via said "early console" functionality, and then later switch over to using MAIN_UART0 both for the continued boot process as well as for the actual U-Boot console itself (and Linux, etc.)
This series depends on [1] to be able to boot to prompt on the TI AM654x EVM. Sample instructions on how to boot are provided in the updates to the board-specific README.
[1] https://patchwork.ozlabs.org/patch/1142068/
Andreas Dannenberg (7): spl: ymodem: Fix FIT loading termination handling spl: ymodem: Make SPL Y-Modem loader framework accessible arm: K3: common: Allow for early console functionality arm: K3: sysfw-loader: Allow loading SYSFW via Y-Modem armv7R: dts: k3: am654: Add MCU_UART0 related definitions configs: am65x_evm_r5: Activate early console functionality board: ti: am65x: Add UART boot procedure in README
arch/arm/dts/k3-am654-r5-base-board.dts | 19 +++++++++++++++ arch/arm/mach-k3/Kconfig | 21 ++++++++++++++++ arch/arm/mach-k3/common.c | 26 ++++++++++++++++++++ arch/arm/mach-k3/common.h | 1 + arch/arm/mach-k3/sysfw-loader.c | 21 ++++++++++++++++ board/ti/am65x/README | 32 +++++++++++++++++++++++++ common/spl/spl_ymodem.c | 9 +++---- configs/am65x_evm_r5_defconfig | 1 + include/spl.h | 3 +++ 9 files changed, 129 insertions(+), 4 deletions(-)