So far we only supported the TI K3 SoCs booting 2nd stage after U-Boot. This series adds full boot support for K3 SoCs, or more specifically, the AM625 SoC. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- Sascha Hauer (20): ARM: add ARMv7R MPU support lib/rationale: compile for pbl DDR: Add k3 DDR driver ARM: move ARM_CPU_PART_* defines to header nommu_v7_vectors_init: disable for r5 clocksource: timer-ti-dm: add support for K3 SoCs ARM: K3: mount /boot even with env handling disabled clk: add K3 clk driver pmdomain: add K3 driver rproc: add K3 arm64 rproc driver ARM: k3: add k3_debug_ll_init() ARM: K3: use debug_ll code for regular PBL console elf: use iomem regions as fallback when loading to non-sdram memory rproc: add K3 system_controller firmware: ti_sci: add function to get global handle ARM: k3: Add initial r5 support ARM: k3: Add k3img tool ARM: beagleplay: add binary files ARM: beagleplay: add Cortex-R5 boot support Documentation: add build documentation for TI K3 SoCs Documentation/boards/ti-k3.rst | 79 + arch/arm/Kconfig | 2 - arch/arm/boards/beagleplay/Makefile | 4 +- arch/arm/boards/beagleplay/combined-dm-cfg.bin | Bin 0 -> 1346 bytes arch/arm/boards/beagleplay/combined-sysfw-cfg.bin | Bin 0 -> 1740 bytes arch/arm/boards/beagleplay/ddr.c | 567 ++ arch/arm/boards/beagleplay/ddr.h | 6 + arch/arm/boards/beagleplay/entry-r5.S | 18 + arch/arm/boards/beagleplay/lowlevel.c | 39 + arch/arm/cpu/Kconfig | 7 + arch/arm/cpu/Makefile | 3 +- arch/arm/cpu/armv7r-mpu.c | 117 + arch/arm/cpu/cpu.c | 3 + arch/arm/cpu/cpuinfo.c | 11 +- arch/arm/cpu/no-mmu.c | 20 + arch/arm/cpu/uncompress.c | 2 + arch/arm/dts/Makefile | 2 +- arch/arm/dts/k3-am625-r5-beagleplay.dts | 4 + arch/arm/dts/k3-am625-r5.dtsi | 103 + arch/arm/include/asm/armv7r-mpu.h | 134 + arch/arm/include/asm/cputype.h | 11 + arch/arm/mach-k3/Kconfig | 21 + arch/arm/mach-k3/Makefile | 1 + arch/arm/mach-k3/common.c | 15 +- arch/arm/mach-k3/r5.c | 270 + arch/arm/mach-k3/ti-degenerate-key.pem | 10 + common/elf.c | 14 +- drivers/clk/Makefile | 1 + drivers/clk/k3/Makefile | 2 + drivers/clk/k3/am625.c | 475 ++ drivers/clk/k3/pll.c | 375 ++ drivers/clk/k3/ti-k3-clk.h | 8 + drivers/clocksource/timer-ti-dm.c | 53 +- drivers/ddr/Kconfig | 1 + drivers/ddr/Makefile | 1 + drivers/ddr/k3/Kconfig | 2 + drivers/ddr/k3/Makefile | 1 + .../ddr/k3/am64/lpddr4_address_slice_0_macros.h | 624 ++ .../ddr/k3/am64/lpddr4_address_slice_1_macros.h | 624 ++ .../ddr/k3/am64/lpddr4_address_slice_2_macros.h | 624 ++ .../ddr/k3/am64/lpddr4_am64_ctl_regs_rw_masks.h | 21 + drivers/ddr/k3/am64/lpddr4_am64_if.h | 103 + drivers/ddr/k3/am64/lpddr4_am64_obj_if.h | 14 + drivers/ddr/k3/am64/lpddr4_am64_structs_if.h | 15 + drivers/ddr/k3/am64/lpddr4_ctl_regs.h | 1306 ++++ drivers/ddr/k3/am64/lpddr4_data_slice_0_macros.h | 2036 +++++++ drivers/ddr/k3/am64/lpddr4_data_slice_1_macros.h | 2036 +++++++ drivers/ddr/k3/am64/lpddr4_ddr_controller_macros.h | 6436 ++++++++++++++++++++ drivers/ddr/k3/am64/lpddr4_phy_core_macros.h | 1838 ++++++ drivers/ddr/k3/am64/lpddr4_pi_macros.h | 5784 ++++++++++++++++++ drivers/ddr/k3/cps_drv_lpddr4.h | 102 + drivers/ddr/k3/k3-ddrss.c | 437 ++ drivers/ddr/k3/lpddr4.c | 1069 ++++ drivers/ddr/k3/lpddr4.h | 69 + drivers/ddr/k3/lpddr4_am64_ctl_regs_rw_masks.c | 1309 ++++ drivers/ddr/k3/lpddr4_am6x.c | 398 ++ drivers/ddr/k3/lpddr4_am6x.h | 41 + drivers/ddr/k3/lpddr4_am6x_sanity.h | 253 + drivers/ddr/k3/lpddr4_if.h | 142 + drivers/ddr/k3/lpddr4_obj_if.c | 52 + drivers/ddr/k3/lpddr4_obj_if.h | 88 + drivers/ddr/k3/lpddr4_sanity.h | 439 ++ drivers/ddr/k3/lpddr4_structs_if.h | 52 + drivers/firmware/ti_sci.c | 59 +- drivers/pmdomain/ti/Kconfig | 4 + drivers/pmdomain/ti/Makefile | 1 + drivers/pmdomain/ti/ti-k3.c | 479 ++ drivers/remoteproc/Kconfig | 6 + drivers/remoteproc/Makefile | 2 + drivers/remoteproc/ti_k3_arm64_rproc.c | 226 + drivers/remoteproc/ti_k3_system_controller.c | 214 + drivers/remoteproc/ti_sci_proc.h | 149 + images/Makefile.k3 | 24 + include/mach/k3/debug_ll.h | 32 +- include/mach/k3/r5.h | 9 + include/soc/k3/clk.h | 7 + include/soc/k3/ddr.h | 22 + include/soc/ti/ti_sci_protocol.h | 7 - lib/math/Makefile | 2 +- scripts/k3img | 160 + 80 files changed, 29609 insertions(+), 88 deletions(-) --- base-commit: 281c4cbf1235cfa2524325ac004e5ae951992a02 change-id: 20241129-k3-r5-0da3e97beaf9 Best regards, -- Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>