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-...@chromium.org/ [2] rockchip: Support building the all output files in binman https://lore.kernel.org/u-boot/capnjgz37wnb4r7zkkbmfaegdir147r4kxmwuwae0nj6isyd...@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(-) >