[PATCH 0/7] binman: Add support for generating more complex FITs
Simon Glass
sjg at chromium.org
Tue Aug 25 18:57:55 CEST 2020
Hi Heinrich,
On Tue, 25 Aug 2020 at 04:12, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 25.08.20 06:07, Heinrich Schuchardt wrote:
> > 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-xypron.glpk@gmx.de/
> >
> > 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 at 1c0f000: 0, mmc at 1c11000: 1
> > Loading Environment from FAT... Card did not respond to voltage select!
> > In: serial
> > Out: serial
> > Err: serial
> > Net: phy interface7
> > eth0: ethernet at 1c30000
> > Hit any key to stop autoboot: 0
> >
> > Best regards
> >
> > Heinrich
>
> This is u-boot.its created without your patches:
>
> /dts-v1/;
>
> / {
> description = "Configuration to load ATF before U-Boot";
> #address-cells = <1>;
>
> images {
> uboot {
> description = "U-Boot (64-bit)";
> data = /incbin/("u-boot-nodtb.bin");
> type = "standalone";
> arch = "arm64";
> compression = "none";
> load = <0x4a000000>;
> };
> atf {
> description = "ARM Trusted Firmware";
> data =
> /incbin/("../trusted-firmware-a/build/sun50i_a64/debug/bl31.bin");
> type = "firmware";
> arch = "arm64";
> compression = "none";
> load = <0x44000>;
> entry = <0x44000>;
> };
> fdt_1 {
> description = "sun50i-a64-pine64-lts";
> data =
> /incbin/("arch/arm/dts/sun50i-a64-pine64-lts.dtb");
> type = "flat_dt";
> compression = "none";
> };
> };
> configurations {
> default = "config_1";
>
> config_1 {
> description = "sun50i-a64-pine64-lts";
> firmware = "uboot";
> loadables = "atf";
> fdt = "fdt_1";
> };
> };
> };
>
> This is the itb that is created with your patches:
>
> /dts-v1/;
>
> / {
> description = "Configuration to load ATF before U-Boot";
> #address-cells = < 0x01 >;
>
> images {
>
> uboot {
> data = < 0x1f000 ...
> description = "U-Boot (64-bit)";
> type = "standalone";
> arch = "arm64";
> compression = "none";
> load = < 0x4a000000 >;
> };
>
> atf {
> data = [ f4 ...
> description = "ARM Trusted Firmware";
> type = "firmware";
> arch = "arm64";
> compression = "none";
> load = < 0x44000 >;
> entry = < 0x44000 >;
> };
> };
>
> configurations {
> default = "config-1";
> };
> };
>
>
> The device tree is missing and the default configuration is empty.
There was a thread on this, I thought. Can you check u-boot-dm/binman-working ?
I can send v2 I suppose.
Regards,
Simon
More information about the U-Boot
mailing list