Rockchip SoCs typically use U-Boot TPL to initialize DRAM, then jumps back to BootRom to load next stage, U-Boot SPL, into DRAM. BootRom then jumps to U-Boot SPL to continue the boot flow.
For RK356x there is no support to initialize DRAM using U-Boot TPL and instead an external TPL binary must be used to generate a bootable u-boot-rockchip.bin image. This adds a new rockchip-tpl entry to binman and make use of this new entry in rockchip-u-boot.dtsi. Build U-Boot with ROCKCHIP_TPL=/path/to/ddr.bin to generate a bootable u-boot-rockchip.bin image for RK356x. I have dropped the RFC patch that was related to showing a friendly message instead of a generic file not found message when TPL blob is missing in v3. Will address that in a follow-up series. The last patch that updates evb-rk3568_defconfig is strictly not needed, it updates a few options that seemed relevant during testing. Tested on RK3568 (ODROID-M1, ROCK 3A) and RK3566 (ROCK 3C, Quartz64) boards using evb-rk3568_defconfig. Changes in v3: - Move test function last - Add help text to Kconfig option - Add build step for rk3568 to documentation - Resync init size limit table - Drop missing message RFC patch Changes in v2: - Renamed external-tpl to rockchip-tpl - Renamed EXTERNAL_TPL to ROCKCHIP_TPL - Add CONFIG_ROCKCHIP_EXTERNAL_TPL Kconfig option - New patch to sync init size limit in mkimage - New RFC patch to improve allow-missing/fake-ext-blobs handling for binman mkimage entry Jonas Karlman (5): binman: Add support for a rockchip-tpl entry rockchip: Use an external TPL binary on RK3568 Revert "board: rockchip: Fix binman_init failure on EVB-RK3568" rockchip: mkimage: Update init size limit rockchip: evb-rk3568: Update defconfig Makefile | 1 + arch/arm/dts/rockchip-u-boot.dtsi | 10 ++++++++-- arch/arm/mach-rockchip/Kconfig | 8 ++++++++ configs/evb-rk3568_defconfig | 8 ++++---- doc/board/rockchip/rockchip.rst | 11 +++++++++++ tools/binman/entries.rst | 14 ++++++++++++++ tools/binman/etype/rockchip_tpl.py | 20 ++++++++++++++++++++ tools/binman/ftest.py | 7 +++++++ tools/binman/missing-blob-help | 5 +++++ tools/binman/test/277_rockchip_tpl.dts | 16 ++++++++++++++++ tools/rkcommon.c | 10 +++++----- 11 files changed, 99 insertions(+), 11 deletions(-) create mode 100644 tools/binman/etype/rockchip_tpl.py create mode 100644 tools/binman/test/277_rockchip_tpl.dts -- 2.39.1