[PATCH 0/3] rockchip: Use external TPL binary to create a working firmware image
Jonas Karlman
jonas at kwiboo.se
Wed Feb 8 15:53:07 CET 2023
Hi Simon,
On 2023-02-07 05:02, Simon Glass wrote:
> Hi Jonas,
>
> On Sun, 5 Feb 2023 at 13:21, Jonas Karlman <jonas at 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
>>
More information about the U-Boot
mailing list