
On 8/22/20 4:36 AM, Simon Glass wrote:
This series allows binman to generate FITs that include multiple DTB images and the configuration to use them.
It is then possible to remove the sunxi FIT generator script, so this series handles that also.
With this, sunxi is fully converted to use binman.
I have applied this patch series and it does not work on my pine64-lts_defconfig.
Environment variable BL31 points to my bl31.bin:
$ echo $BL31 ../trusted-firmware-a/build/sun50i_a64/debug/bl31.bin
U-Boot SPL 2020.10-rc2-00147-g72293dc579 (Aug 25 2020 - 03:29:28 +0000) DRAM: 2048 MiB Trying to boot from MMC1 No matching DT out of these options: Configuration to load ATF before U-Boot No matching DT out of these options: Configuration to load ATF before U-Boot mmc_load_image_raw_sector: mmc block read error SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ###
Without your patches U-Boot works. But CONFIG_SYS_MALLOC_F_LEN=0x400 is too small. This results in a warning "alloc space exhausted". Cf. https://patchwork.ozlabs.org/project/uboot/patch/20200725181851.4339-1-xypro...
U-Boot SPL 2020.10-rc2-00140-g1aa3966173 (Aug 25 2020 - 03:46:36 +0000) DRAM: 2048 MiB Trying to boot from MMC1 NOTICE: BL31: v2.2():v2.2-1138-g78460ced4 NOTICE: BL31: Built : 05:50:47, Apr 7 2020 NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689) NOTICE: BL31: Found U-Boot DTB at 0x4092cc8, model: Pine64 LTS INFO: ARM GICv2 driver initialized INFO: Configuring SPC Controller INFO: PMIC: Probing AXP803 on RSB INFO: PMIC: dcdc1 voltage: 3.300V INFO: PMIC: dcdc5 voltage: 1.200V INFO: PMIC: dcdc6 voltage: 1.100V INFO: PMIC: dldo1 voltage: 3.300V INFO: PMIC: dldo2 voltage: 3.300V INFO: PMIC: dldo4 voltage: 3.300V INFO: PMIC: fldo1 voltage: 1.200V INFO: PMIC: Enabling DC SW INFO: BL31: Platform setup done INFO: BL31: Initializing runtime services INFO: BL31: cortex_a53: CPU workaround for 843419 was applied INFO: BL31: cortex_a53: CPU workaround for 855873 was applied NOTICE: PSCI: System suspend is unavailable INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0x4a000000 INFO: SPSR = 0x3c9 alloc space exhausted
U-Boot 2020.10-rc2-00140-g1aa3966173 (Aug 25 2020 - 03:46:36 +0000) Allwinner Technology
CPU: Allwinner A64 (SUN50I) Model: Pine64 LTS DRAM: 2 GiB MMC: mmc@1c0f000: 0, mmc@1c11000: 1 Loading Environment from FAT... Card did not respond to voltage select! In: serial Out: serial Err: serial Net: phy interface7 eth0: ethernet@1c30000 Hit any key to stop autoboot: 0
Best regards
Heinrich
Simon Glass (7): binman: Allow entry args to be required binman: Fix up a few missing comments libfdt: Detected out-of-space with fdt_finish() binman: Add support for ATF BL31 binman: Support generating FITs with multiple dtbs sunxi: Convert 64-bit boards to use binman sunxi: Drop the FIT-generator script
Kconfig | 3 +- Makefile | 18 +--- arch/arm/dts/sunxi-u-boot.dtsi | 60 +++++++++++- board/sunxi/mksunxi_fit_atf.sh | 87 ----------------- scripts/dtc/pylibfdt/libfdt.i_shipped | 3 +- tools/binman/README.entries | 59 ++++++++++- tools/binman/etype/atf_bl31.py | 20 ++++ tools/binman/etype/blob_named_by_arg.py | 10 +- tools/binman/etype/cros_ec_rw.py | 3 +- tools/binman/etype/fit.py | 76 +++++++++++++-- tools/binman/ftest.py | 124 ++++++++++++++++++++++-- tools/binman/test/165_atf_bl31.dts | 16 +++ tools/binman/test/166_fit_fdt.dts | 55 +++++++++++ 13 files changed, 405 insertions(+), 129 deletions(-) delete mode 100755 board/sunxi/mksunxi_fit_atf.sh create mode 100644 tools/binman/etype/atf_bl31.py create mode 100644 tools/binman/test/165_atf_bl31.dts create mode 100644 tools/binman/test/166_fit_fdt.dts