[PATCH v2 0/4] Add support for RAM boot from maskrom mode
Jonas Karlman
jonas at kwiboo.se
Sat Apr 5 17:38:20 CEST 2025
The BootROM in Rockchip SoCs will enter maskrom mode when boot firmware
cannot be found in nand/spi/mmc storage.
In maskrom mode the USB OTG port can accept one of two custom commands.
Initially a 0x471 command to load TPL into SRAM. After TPL has been
executed and it has returned back-to-BROM, a 0x472 command to load SPL
into start of DRAM.
This series adds two binman images that can be used to RAM boot from
maskrom mode:
- u-boot-rockchip-usb471.bin that contains TPL to init DRAM.
- u-boot-rockchip-usb472.bin that contains SPL and the normal FIT
payload with i.e. U-Boot proper, TF-A and FDT.
These images can be used with rkbin tools/boot_merger to create a loader
image to be used with rkdeveloptool or rockusb tools, e.g.:
Create loader image:
$ ../rkbin/tools/boot_merger ./RK3588MINIALL.ini
Boot from maskrom:
$ rkdeveloptool db u-boot-rockchip-rk3588-loader.bin
or
$ rockusb download-boot u-boot-rockchip-rk3588-loader.bin
Or directly with tools such as rkflashtool or rkusbboot:
$ rkflashtool l < u-boot-rockchip-usb471.bin
$ rkflashtool L < u-boot-rockchip-usb472.bin
or
$ rkusbboot u-boot-rockchip-usb471.bin u-boot-rockchip-usb472.bin
Changes in v2:
- Rebase on top of "rockchip: binman: Use a template for FIT and other
improvements" series
- Add patch to fix booting into Linux on RK3588 board with 16+ GiB DRAM
This series depends on the "rockchip: ROCKCHIP_COMMON_STACK_ADDR
improvements" series [1] and the "rockchip: binman: Use a template for
FIT and other improvements" series [2]. See [3] for a branch including
both depends.
[1] https://patchwork.ozlabs.org/cover/2050003/
[2] https://patchwork.ozlabs.org/cover/2066701/
[3] https://source.denx.de/u-boot/contributors/kwiboo/u-boot/-/commits/ramboot-v2
Jonas Karlman (4):
rockchip: Move TEXT_BASE to 8 MiB offset from start of DRAM
rockchip: Add support for RAM boot from maskrom mode
rockchip: Enable RAM boot using ROCKCHIP_MASKROM_IMAGE
rockchip: sdram: Add fallback that fixup DRAM gaps on RK3588
arch/arm/dts/rockchip-u-boot.dtsi | 33 +++++++++++++++++++++++++
arch/arm/mach-rockchip/Kconfig | 19 +++++++++++---
arch/arm/mach-rockchip/rk3308/Kconfig | 3 ---
arch/arm/mach-rockchip/rk3568/Kconfig | 3 ---
arch/arm/mach-rockchip/rk3588/Kconfig | 3 ---
arch/arm/mach-rockchip/rk3588/rk3588.c | 27 ++++++++++++++++++++
arch/arm/mach-rockchip/sdram.c | 7 +++++-
arch/arm/mach-rockchip/spl-boot-order.c | 15 ++++++++---
boot/Kconfig | 3 +++
9 files changed, 97 insertions(+), 16 deletions(-)
--
2.49.0
More information about the U-Boot
mailing list