All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] rockchip: Use external TPL binary to create a working firmware image
@ 2023-02-17 20:52 Jonas Karlman
  2023-02-17 20:52 ` [PATCH v3 1/5] binman: Add support for a rockchip-tpl entry Jonas Karlman
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Jonas Karlman @ 2023-02-17 20:52 UTC (permalink / raw)
  To: Simon Glass, Philipp Tomsich, Kever Yang, Joseph Chen,
	Alper Nebi Yasak
  Cc: Quentin Schulz, Jagan Teki, Heinrich Schuchardt, u-boot,
	Jonas Karlman

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-02-18 13:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-17 20:52 [PATCH v3 0/5] rockchip: Use external TPL binary to create a working firmware image Jonas Karlman
2023-02-17 20:52 ` [PATCH v3 1/5] binman: Add support for a rockchip-tpl entry Jonas Karlman
2023-02-17 20:52 ` [PATCH v3 2/5] rockchip: Use an external TPL binary on RK3568 Jonas Karlman
2023-02-17 20:52 ` [PATCH v3 3/5] Revert "board: rockchip: Fix binman_init failure on EVB-RK3568" Jonas Karlman
2023-02-17 20:52 ` [PATCH v3 5/5] rockchip: evb-rk3568: Update defconfig Jonas Karlman
2023-02-17 20:52 ` [PATCH v3 4/5] rockchip: mkimage: Update init size limit Jonas Karlman
2023-02-18  4:43   ` Johan Jonker
2023-02-18 11:48     ` Johan Jonker
2023-02-18 13:00       ` Jonas Karlman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.