[RFC PATCH v2 0/8] Build Rockchip final images using binman

Alper Nebi Yasak alpernebiyasak at gmail.com
Thu May 19 13:35:44 CEST 2022


On 16/05/2022 14:07, Andrew Abbott wrote:
> My original goal was to produce SPI images for Rockchip platforms (specifically
> for me, ROCKPro64, and in the future ROCK64). Looking into it, it seemed nicer
> to just switch the SD/MMC image generation over to binman as well in the
> process.
> 
> This is my attempt to move Rockchip final full image generation to binman,
> adding the option to make full SPI images as well.
> 
> Other questions:
> 
> - I noticed that ATF generation for ARM64 Rockchip is done via a Python script
>   instead of binman. I don't currently know how to change that over to binman,
>   but is that something worth pursuing as part of this?

Simon was working on that in [1] (see patches 22-26 which weren't
applied), but images produced by that don't exactly work (see comments
on earlier versions [2]). Then, things got stalled/postponed because of
various issues in binman AFAICT.

The crux of the problem there is the binman-wise design of splitting
bl31.elf into parts and putting them into the FIT. I have some weird
ideas about generic mechanisms that would allow us to do it nicely, but
nothing I could flesh out.

Recently I've been thinking we might be able to sidestep it by putting
the unsplit ELF directly into FIT (as a new IH_TYPE_ELF for mkimage?)
and do the split-loading at runtime. I didn't have time to experiment on
that, though. I'd appreciate it if you tried, but don't worry about it
if you don't have the time.

[1] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script
https://lore.kernel.org/u-boot/20220306031917.3005215-1-sjg@chromium.org/

[2] rockchip: Support building the all output files in binman
https://lore.kernel.org/u-boot/CAPnjgZ37wnb4r7zkkBMfAeGDir147R4kxMwUWAE0nj6iSYdZBQ@mail.gmail.com/

> Please give me your feedback!
> 
> Changes in v2:
> - Revert u-boot-rockchip-sdmmc.bin name to u-boot-rockchip.bin, to
>   keep the name the same as before.
> - Fix whitespace issues.
> - Remove note from docs about different offsets in SPI flash for
>   different SoCs - this was a bad assumption on my part, it doesn't work
>   this way.
> - Update name of SD/MMC image in the docs from u-boot-rockchip-sdmmc.bin
>   to u-boot-rockchip.bin.
> 
> Andrew Abbott (8):
>   binman: mkimage: Support ':'-separated inputs
>   rockchip: Add binman definitions for final images
>   soc: rockchip: Include common U-Boot dtsi file
>   board: rockchip: Move SPI U-Boot offset to config
>   rockchip: Remove obsolete Makefile targets
>   rockchip: Enable binman for ARM64
>   doc: rockchip: Update for new binman image generation
>   board: rockpro64: Enable building SPI image
> 
>  Kconfig                                      |  4 +-
>  Makefile                                     | 31 ++----------
>  arch/arm/Kconfig                             |  2 +-
>  arch/arm/dts/rk3308-u-boot.dtsi              |  2 +
>  arch/arm/dts/rk3328-u-boot.dtsi              |  2 +
>  arch/arm/dts/rk3368-lion-haikou-u-boot.dtsi  |  1 -
>  arch/arm/dts/rk3368-u-boot.dtsi              |  1 +
>  arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi |  4 --
>  arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi  |  1 -
>  arch/arm/dts/rk3399-roc-pc-u-boot.dtsi       |  4 --
>  arch/arm/dts/rk3399-rockpro64-u-boot.dtsi    |  4 --
>  arch/arm/dts/rk3568-u-boot.dtsi              |  2 +
>  arch/arm/dts/rockchip-u-boot.dtsi            | 53 ++++++++++++++++++--
>  arch/arm/mach-rockchip/Kconfig               |  7 ++-
>  arch/arm/mach-rockchip/rk3399/Kconfig        |  1 +
>  configs/lion-rk3368_defconfig                |  1 +
>  configs/pinebook-pro-rk3399_defconfig        |  1 +
>  configs/puma-rk3399_defconfig                |  2 +-
>  configs/roc-pc-rk3399_defconfig              |  1 +
>  configs/rockpro64-rk3399_defconfig           |  1 +
>  doc/board/rockchip/rockchip.rst              | 29 +++--------
>  tools/binman/etype/mkimage.py                | 33 +++++++-----
>  22 files changed, 100 insertions(+), 87 deletions(-)
> 


More information about the U-Boot mailing list