[PATCH v2 0/8] Add falcon support for am62a, 62p and 62x
Anshul Dalal
anshuld at ti.com
Fri Apr 4 00:08:49 CEST 2025
On Tue Mar 11, 2025 at 3:27 PM IST, Anshul Dalal wrote:
> This patch set adds support for falcon boot on AM62a, 62p and 62x by
> bypassing A53 SPL and U-boot.
>
> Existing Boot flow:
> R5 SPL -> ATF -> A53 SPL -> U-Boot -> Linux Kernel
>
> Updated flow:
> R5 SPL -> ATF -> Linux Kernel
>
> U-boot's falcon flow expects the jump from SPL to kernel to happen on
> the same core which is not directly applicable for our heterogeneous
> platforms since ATF, OPTEE and other non SPL binaries from tispl.bin
> should be loaded before the kernel by the R5 SPL.
>
> So we have to use a non std flow to bypass A53 SPL and U-Boot, we first
> load the newly added tispl_falcon.bin instead of tispl.bin which lacks
> u-boot-spl.bin (A53's SPL) and the corresponding fdt. This sets up dm,
> tifs, optee and atf. Once loaded, we load the kernel and the dtb (with
> fixups) at ATF's PRELOADED_BL33_BASE and K3_HW_CONFIG_BASE.
>
> NOTE:
> Since we're now using the SPL to load the kernel and kernel expects a
> 2MiB aligned load address, the existing PRELOADED_BL33_BASE has to be
> changed for ATF to 0x80200000.
>
> This patch depends on:
>
> * [PATCH v3] spl: return header size to spl_load in os boot [1]
> * [PATCH v2] config: falcon: move CFG_SYS_SPI_* to Kconfig [2]
> * [PATCH v1] spl: remove usage of CMD_(BOOTI|BOOTZ) from image parsing [3]
>
> [1]: https://lore.kernel.org/u-boot/20250311093546.3371193-1-anshuld@ti.com/
> [2]: https://lore.kernel.org/u-boot/20250311044414.3155688-1-anshuld@ti.com/
> [3]: https://lore.kernel.org/u-boot/20250311093709.3372104-1-anshuld@ti.com/
>
> Signed-off-by: Anshul Dalal <anshuld at ti.com>
> ---
> Changes in v2:
> * Move to CONFIG_SYS_SPI_* as per [2]
> * Remove the need for CMD_BOOTI as per [3]
> v1: https://lore.kernel.org/u-boot/20250307075541.2571104-1-anshuld@ti.com/
> ---
> Anshul Dalal (8):
> spl: Kconfig: allow K3 devices to use falcon mode
> mach-k3: fix reading size and addr from fdt on R5
> arm: dts: am62a: allow booting from eMMC
> arch: arm: k3-binman: add fit for falcon boot
> mach-k3: add eMMC FS boot support for am62[ap]
> mach-k3: sysfw-loader: update img_hdr for falcon
> config: add falcon boot config fragment for am62x
> mach-k3: common: add falcon support for 62[axp]
>
> arch/arm/dts/k3-am625-sk-binman.dtsi | 64 ++++++++++++++++
> arch/arm/dts/k3-am62a-sk-binman.dtsi | 64 ++++++++++++++++
> arch/arm/dts/k3-am62a7-sk-u-boot.dtsi | 4 +
> arch/arm/dts/k3-am62p-sk-binman.dtsi | 51 +++++++++++++
> arch/arm/dts/k3-binman.dtsi | 53 +++++++++++++
> arch/arm/mach-k3/am62ax/am62a7_init.c | 4 +
> arch/arm/mach-k3/am62px/am62p5_init.c | 4 +
> arch/arm/mach-k3/common.c | 105 ++++++++++++++++++++++++++
> arch/arm/mach-k3/common_fdt.c | 4 +-
> arch/arm/mach-k3/r5/sysfw-loader.c | 6 +-
> common/spl/Kconfig | 3 +-
> configs/am62x_r5_falcon.config | 36 +++++++++
> 12 files changed, 395 insertions(+), 3 deletions(-)
> create mode 100644 configs/am62x_r5_falcon.config
Superseded by v3:
https://lore.kernel.org/u-boot/20250403215910.1292922-1-anshuld@ti.com/
Anshul
More information about the U-Boot
mailing list