All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 00/10] Add falcon support for am62a, 62p and 62x
@ 2025-06-03 14:24 Anshul Dalal
  2025-06-03 14:24 ` [PATCH v7 01/10] spl: Kconfig: allow K3 devices to use falcon mode Anshul Dalal
                   ` (10 more replies)
  0 siblings, 11 replies; 38+ messages in thread
From: Anshul Dalal @ 2025-06-03 14:24 UTC (permalink / raw)
  To: u-boot
  Cc: Anshul Dalal, vigneshr, trini, afd, m-chawdhry, n-francis, b-liu,
	nm, bb

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 0x82000000 with K3_HW_CONFIG_BASE set to
0x88000000 for the DTB.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
---
Changes in v7:
 * Replaced AM62a/p documentation with a hyperlink to AM62x's docs
 * Made CMD_BOOTZ disabled for TI_SECURE_DEVICE
v6: https://lore.kernel.org/u-boot/20250428141235.1734014-1-anshuld@ti.com/
Changes in v6:
 * Added A53 build steps in docs
 * Had git add SVGs as text instead of blob
 * Added memory map for standard boot flow
v5: https://lore.kernel.org/u-boot/20250425145644.2228186-1-anshuld@ti.com/
Changes in v5:
 * Added documentation
 * Moved address for kernel and dtb to 0x82000000 and 0x88000000 respectively
v4: https://lore.kernel.org/u-boot/20250416074515.1452854-1-anshuld@ti.com/
Changes in v4:
 * Move emmc boot fixes to saperate patch
 * Update load address for kernel to 0x82200000
 * Add jump_stub config
v3: https://lore.kernel.org/u-boot/20250403215910.1292922-1-anshuld@ti.com/
Changes in v3:
 * Make tifs load and entry address consistent with tispl for am62a and 62p
 * Update loadables order to be same as tispl.bin
 * Use rootfs for boot instead of boot partition
 * Disable SPL_HAS_BOOTZ to save space
 * Add default dtbs for each board in Kconfig
 * Fix fdt totalsize in the header before applying fixups
 * Update Makefile to clean tispl_falcon.bin on `make clean`
v2: https://lore.kernel.org/u-boot/20250311095758.3383047-1-anshuld@ti.com/
Changes in v2:
 * Move to CONFIG_SYS_SPI_*
 * Remove the need for CMD_BOOTI
v1: https://lore.kernel.org/u-boot/20250307075541.2571104-1-anshuld@ti.com/
---

Anshul Dalal (10):
  spl: Kconfig: allow K3 devices to use falcon mode
  spl: make CMD_BOOTZ exclusive with TI_SECURE_DEVICE
  mach-k3: fix reading size and addr from fdt on R5
  arch: arm: k3-binman: add fit for falcon boot
  mach-k3: sysfw-loader: update img_hdr for falcon
  config: add falcon boot config fragment for am62x
  board: ti: add default dtb for am62 in falcon mode
  mach-k3: common: enable falcon mode for 62 platform
  Makefile: update tispl regex to also clean falcon spl
  doc: ti: am62: add falcon mode documentation

 Makefile                                      |   2 +-
 arch/arm/dts/k3-am625-sk-binman.dtsi          |  64 ++++
 arch/arm/dts/k3-am62a-sk-binman.dtsi          |  64 ++++
 arch/arm/dts/k3-am62p-sk-binman.dtsi          |  51 ++++
 arch/arm/dts/k3-binman.dtsi                   |  54 ++++
 arch/arm/mach-k3/common.c                     | 107 +++++++
 arch/arm/mach-k3/common_fdt.c                 |   4 +-
 arch/arm/mach-k3/r5/sysfw-loader.c            |   6 +-
 board/ti/am62ax/Kconfig                       |   3 +
 board/ti/am62px/Kconfig                       |   3 +
 board/ti/am62x/Kconfig                        |   3 +
 cmd/Kconfig                                   |   1 +
 common/spl/Kconfig                            |   2 +-
 configs/am62x_r5_falcon.config                |  38 +++
 doc/board/ti/am62ax_sk.rst                    |   7 +
 doc/board/ti/am62px_sk.rst                    |   7 +
 doc/board/ti/am62x_sk.rst                     | 289 ++++++++++++++++++
 doc/board/ti/img/fitImage_falcon.svg          | 180 +++++++++++
 .../ti/img/tifsstub_dm_tispl_falcon.bin.svg   | 285 +++++++++++++++++
 19 files changed, 1166 insertions(+), 4 deletions(-)
 create mode 100644 configs/am62x_r5_falcon.config
 create mode 100644 doc/board/ti/img/fitImage_falcon.svg
 create mode 100644 doc/board/ti/img/tifsstub_dm_tispl_falcon.bin.svg

-- 
2.49.0


^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2025-07-02 10:01 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-03 14:24 [PATCH v7 00/10] Add falcon support for am62a, 62p and 62x Anshul Dalal
2025-06-03 14:24 ` [PATCH v7 01/10] spl: Kconfig: allow K3 devices to use falcon mode Anshul Dalal
2025-06-06 19:06   ` Tom Rini
2025-06-09 12:08     ` Anshul Dalal
2025-06-09 14:59       ` Tom Rini
2025-06-10  8:31         ` Anshul Dalal
2025-06-10 14:44           ` Tom Rini
2025-06-12  4:35             ` Anshul Dalal
2025-06-12 15:05               ` Tom Rini
2025-06-12 15:31                 ` Anshul Dalal
2025-06-12 17:47                   ` Tom Rini
2025-06-03 14:24 ` [PATCH v7 02/10] spl: make CMD_BOOTZ exclusive with TI_SECURE_DEVICE Anshul Dalal
2025-06-06 19:00   ` Tom Rini
2025-06-03 14:24 ` [PATCH v7 03/10] mach-k3: fix reading size and addr from fdt on R5 Anshul Dalal
2025-06-03 14:24 ` [PATCH v7 04/10] arch: arm: k3-binman: add fit for falcon boot Anshul Dalal
2025-06-06 11:57   ` Bryan Brattlof
2025-06-09  7:28     ` Anshul Dalal
2025-06-09 15:23       ` Andrew Davis
2025-06-10 12:48         ` Anshul Dalal
2025-06-03 14:24 ` [PATCH v7 05/10] mach-k3: sysfw-loader: update img_hdr for falcon Anshul Dalal
2025-06-03 14:24 ` [PATCH v7 06/10] config: add falcon boot config fragment for am62x Anshul Dalal
2025-06-03 14:24 ` [PATCH v7 07/10] board: ti: add default dtb for am62 in falcon mode Anshul Dalal
2025-06-06 19:09   ` Tom Rini
2025-06-09  7:35     ` Anshul Dalal
2025-06-09 14:57       ` Tom Rini
2025-06-10 10:11         ` Anshul Dalal
2025-06-10 14:46           ` Tom Rini
2025-06-10 16:07             ` Anshul Dalal
2025-06-10 22:46               ` Tom Rini
2025-06-03 14:24 ` [PATCH v7 08/10] mach-k3: common: enable falcon mode for 62 platform Anshul Dalal
2025-06-06 19:15   ` Tom Rini
2025-06-09 12:02     ` Anshul Dalal
2025-06-03 14:24 ` [PATCH v7 09/10] Makefile: update tispl regex to also clean falcon spl Anshul Dalal
2025-06-03 14:24 ` [PATCH v7 10/10] doc: ti: am62: add falcon mode documentation Anshul Dalal
2025-06-30 14:05 ` [PATCH v7 00/10] Add falcon support for am62a, 62p and 62x Francesco Valla
2025-07-01  9:14   ` Raghavendra, Vignesh
2025-07-01 10:23     ` Francesco Valla
2025-07-02 10:01       ` Raghavendra, Vignesh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.