[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