[PATCH 0/3] rockchip: Use external TPL binary to create a working firmware image

Jonas Karlman jonas at kwiboo.se
Sun Feb 5 21:21:21 CET 2023

Rockchip SoCs typically use U-Boot TPL to initialize DRAM, then jumps
back to boot-rom to load the next stage of the boot flow, U-Boot SPL.

For RK356x there is currently no support to initialize DRAM using U-Boot
TPL and instead an external TPL binary must be used to generate a
working u-boot-rockchip.bin image.

This adds a new generic external-tpl entry to binman and make use of
this new entry in rockchip-u-boot.dtsi.

Please note that the allow-missing flag and the added missing-msg entry
does not work as expected becuase the wrapping mkimage entry used
requires that the files to all child entries exists.
Instead without a provided EXTERNAL_TPL the build fails with:

  ValueError: Filename 'ddr.bin' not found in input path (...)

originating from


Not sure how to properly add support for allow-missing flag to mkimage
entry, possible something for another series?


Jonas Karlman (3):
  binman: Add support for an external-tpl entry
  rockchip: Require an external TPL binary when TPL is missing
  Revert "board: rockchip: Fix binman_init failure on EVB-RK3568"

 Makefile                               |  1 +
 arch/arm/dts/rockchip-u-boot.dtsi      | 16 ++++++++++++----
 configs/evb-rk3568_defconfig           |  1 -
 tools/binman/entries.rst               | 12 ++++++++++++
 tools/binman/etype/external_tpl.py     | 18 ++++++++++++++++++
 tools/binman/ftest.py                  |  7 +++++++
 tools/binman/missing-blob-help         |  5 +++++
 tools/binman/test/277_external_tpl.dts | 16 ++++++++++++++++
 8 files changed, 71 insertions(+), 5 deletions(-)
 create mode 100644 tools/binman/etype/external_tpl.py
 create mode 100644 tools/binman/test/277_external_tpl.dts


More information about the U-Boot mailing list