Message ID | 20230205202116.2891673-1-jonas@kwiboo.se |
---|---|
Headers | show |
Series | rockchip: Use external TPL binary to create a working firmware image | expand |
Hi Jonas, On Sun, 5 Feb 2023 at 13:21, Jonas Karlman <jonas@kwiboo.se> wrote: > > 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. Who is working on this suppose? Having a binary blob is a pain. > > 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 > > Entry_mkimage.ObtainContents: > fnames.append(tools.get_input_filename(entry.GetDefaultFilename())) > > Not sure how to properly add support for allow-missing flag to mkimage > entry, possible something for another series? If it's an input file, then Bincan supports creating a fake external blob, which should already be handled in mkimage.py But if I misunderstand, or there is a bug, let me know. Eegards, SImon > > Regards, > Jonas > > 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 > > -- > 2.39.1 >
Hi Simon, On 2023-02-07 05:02, Simon Glass wrote: > Hi Jonas, > > On Sun, 5 Feb 2023 at 13:21, Jonas Karlman <jonas@kwiboo.se> wrote: >> >> 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. > > Who is working on this suppose? Having a binary blob is a pain. Not sure if anyone is working on this, but I am hoping that someday someone will work on this :-) > >> >> 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 >> >> Entry_mkimage.ObtainContents: >> fnames.append(tools.get_input_filename(entry.GetDefaultFilename())) >> >> Not sure how to properly add support for allow-missing flag to mkimage >> entry, possible something for another series? > > If it's an input file, then Bincan supports creating a fake external > blob, which should already be handled in mkimage.py > > But if I misunderstand, or there is a bug, let me know. I think there may be a bug, mkimage with multiple-data-files does not handle missing/optional external blobs in a way that I was expecting. Will take a closer look for v2, or at least create a testcase to reproduce such issue. Will also rename to rockchip-tpl and address rest of your comments in v2. Regards, Jonas > > Eegards, > SImon > > > >> >> Regards, >> Jonas >> >> 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 >> >> -- >> 2.39.1 >>