> From: Jonas Karlman <[email protected]> > Date: Sat, 5 Apr 2025 15:38:20 +0000 > > 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
Hi Jonas, Would be great if you could document this, maybe in doc/README.rockchup and/or doc/board/rockchip/rockchip.rst? Thanks, Mark > 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 > >

