diff options
| author | Tom Rini <[email protected]> | 2025-10-22 12:23:48 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-10-22 12:23:48 -0600 |
| commit | 8bc918ed97b4c79eecd56969a2898a8c75886c5a (patch) | |
| tree | f4964b4e9a7dc85b72ebf0c72b3ca0211338257a /common | |
| parent | 29a96acaa3a84c68264d8dcf2182000bce71175e (diff) | |
| parent | 342fd918b1bf2f00f52216297d5fe22272e8c7ca (diff) | |
Merge patch series "Add support for dynamic MMU configuration"
Anshul Dalal <[email protected]> says:
In U-Boot, TI only provides a single memory map for all k3 platforms, this
does not scale for devices where atf and optee lie outside the range 0x80000000
- 0x80080000 and 0x9e780000 - 0xa0000000 respectively.
There are also issues for devices with < 2GiB of memory (eg am62SiP with 512MiB
of RAM) as the maximum size for the first DRAM bank is hardcoded to 2GiB in the
current memory map. Furthermore the second DRAM bank is mapped even for devices
that only have a single bank.
Therefore this patch set adds the required functionality to create the MMU table
at runtime based on the device-tree.
The patch set has been build tested on all effected platforms but boot-tested
only on TI's K3 EVMs, the beagleplay and phytec's phycore-am6* platforms.
The following effected boards have not been boot tested:
- verdin-am62
- iot2050
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'common')
| -rw-r--r-- | common/spl/spl.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/common/spl/spl.c b/common/spl/spl.c index 8c20b75b178..64313cb8dfe 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -120,8 +120,13 @@ int __weak booti_setup(ulong image, ulong *relocated_addr, ulong *size, bool for } #endif -/* Weak default function for arch/board-specific fixups to the spl_image_info */ -void __weak spl_perform_fixups(struct spl_image_info *spl_image) +/* Weak default function for arch specific fixups to the spl_image_info */ +void __weak spl_perform_arch_fixups(struct spl_image_info *spl_image) +{ +} + +/* Weak default function for board specific fixups to the spl_image_info */ +void __weak spl_perform_board_fixups(struct spl_image_info *spl_image) { } @@ -776,7 +781,8 @@ void board_init_r(gd_t *dummy1, ulong dummy2) hang(); } - spl_perform_fixups(&spl_image); + spl_perform_arch_fixups(&spl_image); + spl_perform_board_fixups(&spl_image); os = spl_image.os; if (os == IH_OS_U_BOOT) { |
