Hello Tim,

On 09.07.21 16:47, Tim Harvey wrote:
> On Wed, Jul 7, 2021 at 5:58 AM Teresa Remmet <t.rem...@phytec.de> wrote:
>>
>> Factor out the common node settings for dm-spl and dm-pre-reloc
>> and move them to imx8mp-u-boot.dtsi
>>
>> Signed-off-by: Teresa Remmet <t.rem...@phytec.de>
>> Reviewed-by: Fabio Estevam <feste...@gmail.com>
>> Reviewed-by: Heiko Schocher <h...@denx.de>
>> ---
>> Changes in v3:
>> - Moved binman nodes to common imx8mp-u-boot.dtsi
>> Changes in v2:
>> - none
>>
>>  arch/arm/dts/imx8mp-evk-u-boot.dtsi           | 143 +----------------
>>  .../imx8mp-phyboard-pollux-rdk-u-boot.dtsi    |  39 +----
>>  arch/arm/dts/imx8mp-u-boot.dtsi               | 149 ++++++++++++++++++
>>  3 files changed, 153 insertions(+), 178 deletions(-)
>>  create mode 100644 arch/arm/dts/imx8mp-u-boot.dtsi
>>
>> diff --git a/arch/arm/dts/imx8mp-evk-u-boot.dtsi 
>> b/arch/arm/dts/imx8mp-evk-u-boot.dtsi
>> index 4162f41cffb6..2abcf1f03d4f 100644
>> --- a/arch/arm/dts/imx8mp-evk-u-boot.dtsi
>> +++ b/arch/arm/dts/imx8mp-evk-u-boot.dtsi
>> @@ -3,11 +3,9 @@
>>   * Copyright 2019 NXP
>>   */
>>
>> -/ {
>> -       binman: binman {
>> -               multiple-images;
>> -       };
>> +#include "imx8mp-u-boot.dtsi"
>>
>> +/ {
>>         wdt-reboot {
>>                 compatible = "wdt-reboot";
>>                 wdt = <&wdog1>;
>> @@ -21,43 +19,6 @@
>>         };
>>  };
>>
>> -&{/soc@0} {
>> -       u-boot,dm-pre-reloc;
>> -       u-boot,dm-spl;
>> -};
>> -
>> -&clk {
>> -       u-boot,dm-spl;
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&osc_32k {
>> -       u-boot,dm-spl;
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&osc_24m {
>> -       u-boot,dm-spl;
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&aips1 {
>> -       u-boot,dm-spl;
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&aips2 {
>> -       u-boot,dm-spl;
>> -};
>> -
>> -&aips3 {
>> -       u-boot,dm-spl;
>> -};
>> -
>> -&iomuxc {
>> -       u-boot,dm-spl;
>> -};
>> -
>>  &reg_usdhc2_vmmc {
>>         u-boot,off-on-delay-us = <20000>;
>>  };
>> @@ -156,104 +117,4 @@
>>         phy-reset-post-delay = <100>;
>>  };
>>
>> -&binman {
>> -        u-boot-spl-ddr {
>> -               filename = "u-boot-spl-ddr.bin";
>> -               pad-byte = <0xff>;
>> -               align-size = <4>;
>> -               align = <4>;
>>
>> -               u-boot-spl {
>> -                       align-end = <4>;
>> -               };
>> -
>> -               blob_1: blob-ext@1 {
>> -                       filename = "lpddr4_pmu_train_1d_imem_202006.bin";
>> -                       size = <0x8000>;
>> -               };
>> -
>> -               blob_2: blob-ext@2 {
>> -                       filename = "lpddr4_pmu_train_1d_dmem_202006.bin";
>> -                       size = <0x4000>;
>> -               };
>> -
>> -               blob_3: blob-ext@3 {
>> -                       filename = "lpddr4_pmu_train_2d_imem_202006.bin";
>> -                       size = <0x8000>;
>> -               };
>> -
>> -               blob_4: blob-ext@4 {
>> -                       filename = "lpddr4_pmu_train_2d_dmem_202006.bin";
>> -                       size = <0x4000>;
>> -               };
>> -       };
>> -
>> -
>> -       flash {
>> -               mkimage {
>> -                       args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 
>> 0x920000";
>> -
>> -                       blob {
>> -                               filename = "u-boot-spl-ddr.bin";
>> -                       };
>> -               };
>> -       };
>> -
>> -       itb {
>> -               filename = "u-boot.itb";
>> -
>> -               fit {
>> -                       description = "Configuration to load ATF before 
>> U-Boot";
>> -                       #address-cells = <1>;
>> -                       fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
>> -
>> -                       images {
>> -                               uboot {
>> -                                       description = "U-Boot (64-bit)";
>> -                                       type = "standalone";
>> -                                       arch = "arm64";
>> -                                       compression = "none";
>> -                                       load = <CONFIG_SYS_TEXT_BASE>;
>> -
>> -                                       uboot_blob: blob-ext {
>> -                                               filename = 
>> "u-boot-nodtb.bin";
>> -                                       };
>> -                               };
>> -
>> -                               atf {
>> -                                       description = "ARM Trusted Firmware";
>> -                                       type = "firmware";
>> -                                       arch = "arm64";
>> -                                       compression = "none";
>> -                                       load = <0x970000>;
>> -                                       entry = <0x970000>;
>> -
>> -                                       atf_blob: blob-ext {
>> -                                               filename = "bl31.bin";
>> -                                       };
>> -                               };
>> -
>> -                               fdt {
>> -                                       description = "NAME";
>> -                                       type = "flat_dt";
>> -                                       compression = "none";
>> -
>> -                                       uboot_fdt_blob: blob-ext {
>> -                                               filename = "u-boot.dtb";
>> -                                       };
>> -                               };
>> -                       };
>> -
>> -                       configurations {
>> -                               default = "conf";
>> -
>> -                               conf {
>> -                                       description = "NAME";
>> -                                       firmware = "uboot";
>> -                                       loadables = "atf";
>> -                                       fdt = "fdt";
>> -                               };
>> -                       };
>> -               };
>> -       };
>> -};
>> diff --git a/arch/arm/dts/imx8mp-phyboard-pollux-rdk-u-boot.dtsi 
>> b/arch/arm/dts/imx8mp-phyboard-pollux-rdk-u-boot.dtsi
>> index 20e7f63ff91f..6c1528934a98 100644
>> --- a/arch/arm/dts/imx8mp-phyboard-pollux-rdk-u-boot.dtsi
>> +++ b/arch/arm/dts/imx8mp-phyboard-pollux-rdk-u-boot.dtsi
>> @@ -4,6 +4,8 @@
>>   * Author: Teresa Remmet <t.rem...@phytec.de>
>>   */
>>
>> +#include "imx8mp-u-boot.dtsi"
>> +
>>  / {
>>         wdt-reboot {
>>                 compatible = "wdt-reboot";
>> @@ -12,43 +14,6 @@
>>         };
>>  };
>>
>> -&{/soc@0} {
>> -       u-boot,dm-pre-reloc;
>> -       u-boot,dm-spl;
>> -};
>> -
>> -&clk {
>> -       u-boot,dm-spl;
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&osc_32k {
>> -       u-boot,dm-spl;
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&osc_24m {
>> -       u-boot,dm-spl;
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&aips1 {
>> -       u-boot,dm-spl;
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&aips2 {
>> -       u-boot,dm-spl;
>> -};
>> -
>> -&aips3 {
>> -       u-boot,dm-spl;
>> -};
>> -
>> -&iomuxc {
>> -       u-boot,dm-spl;
>> -};
>> -
>>  &reg_usdhc2_vmmc {
>>         u-boot,dm-spl;
>>  };
>> diff --git a/arch/arm/dts/imx8mp-u-boot.dtsi 
>> b/arch/arm/dts/imx8mp-u-boot.dtsi
>> new file mode 100644
>> index 000000000000..d61346da3032
>> --- /dev/null
>> +++ b/arch/arm/dts/imx8mp-u-boot.dtsi
>> @@ -0,0 +1,149 @@
>> +// SPDX-License-Identifier: GPL-2.0-or-later
>> +/*
>> + * Copyright (C) 2021 PHYTEC Messtechnik GmbH
>> + * Author: Teresa Remmet <t.rem...@phytec.de>
>> + */
>> +
>> +/ {
>> +       binman: binman {
>> +               multiple-images;
>> +       };
>> +};
>> +
>> +&{/soc@0} {
>> +       u-boot,dm-pre-reloc;
>> +       u-boot,dm-spl;
>> +};
>> +
>> +&clk {
>> +       u-boot,dm-spl;
>> +       u-boot,dm-pre-reloc;
>> +};
>> +
>> +&osc_32k {
>> +       u-boot,dm-spl;
>> +       u-boot,dm-pre-reloc;
>> +};
>> +
>> +&osc_24m {
>> +       u-boot,dm-spl;
>> +       u-boot,dm-pre-reloc;
>> +};
>> +
>> +&aips1 {
>> +       u-boot,dm-spl;
>> +       u-boot,dm-pre-reloc;
>> +};
>> +
>> +&aips2 {
>> +       u-boot,dm-spl;
>> +};
>> +
>> +&aips3 {
>> +       u-boot,dm-spl;
>> +};
>> +
>> +&iomuxc {
>> +       u-boot,dm-spl;
>> +};
>> +
>> +&binman {
>> +        u-boot-spl-ddr {
>> +               filename = "u-boot-spl-ddr.bin";
>> +               pad-byte = <0xff>;
>> +               align-size = <4>;
>> +               align = <4>;
>> +
>> +               u-boot-spl {
>> +                       align-end = <4>;
>> +               };
>> +
>> +               blob_1: blob-ext@1 {
>> +                       filename = "lpddr4_pmu_train_1d_imem_202006.bin";
>> +                       size = <0x8000>;
>> +               };
>> +
>> +               blob_2: blob-ext@2 {
>> +                       filename = "lpddr4_pmu_train_1d_dmem_202006.bin";
>> +                       size = <0x4000>;
>> +               };
>> +
>> +               blob_3: blob-ext@3 {
>> +                       filename = "lpddr4_pmu_train_2d_imem_202006.bin";
>> +                       size = <0x8000>;
>> +               };
>> +
>> +               blob_4: blob-ext@4 {
>> +                       filename = "lpddr4_pmu_train_2d_dmem_202006.bin";
>> +                       size = <0x4000>;
>> +               };
>> +       };
>> +
>> +       flash {
>> +               mkimage {
>> +                       args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 
>> 0x920000";
>> +
>> +                       blob {
>> +                               filename = "u-boot-spl-ddr.bin";
>> +                       };
>> +               };
>> +       };
>> +
>> +       itb {
>> +               filename = "u-boot.itb";
>> +
>> +               fit {
>> +                       description = "Configuration to load ATF before 
>> U-Boot";
>> +                       #address-cells = <1>;
>> +                       fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
>> +
>> +                       images {
>> +                               uboot {
>> +                                       description = "U-Boot (64-bit)";
>> +                                       type = "standalone";
>> +                                       arch = "arm64";
>> +                                       compression = "none";
>> +                                       load = <CONFIG_SYS_TEXT_BASE>;
>> +
>> +                                       uboot_blob: blob-ext {
>> +                                               filename = 
>> "u-boot-nodtb.bin";
>> +                                       };
>> +                               };
>> +
>> +                               atf {
>> +                                       description = "ARM Trusted Firmware";
>> +                                       type = "firmware";
>> +                                       arch = "arm64";
>> +                                       compression = "none";
>> +                                       load = <0x970000>;
>> +                                       entry = <0x970000>;
>> +
>> +                                       atf_blob: blob-ext {
>> +                                               filename = "bl31.bin";
>> +                                       };
>> +                               };
>> +
>> +                               fdt {
>> +                                       description = "NAME";
>> +                                       type = "flat_dt";
>> +                                       compression = "none";
>> +
>> +                                       uboot_fdt_blob: blob-ext {
>> +                                               filename = "u-boot.dtb";
>> +                                       };
>> +                               };
>> +                       };
>> +
>> +                       configurations {
>> +                               default = "conf";
>> +
>> +                               conf {
>> +                                       description = "NAME";
>> +                                       firmware = "uboot";
>> +                                       loadables = "atf";
>> +                                       fdt = "fdt";
>> +                               };
>> +                       };
>> +               };
>> +       };
>> +};
>> --
>> 2.25.1
>>
> 
> Teresa,
> 
> I've noticed many of the imx8m boards migrating to using binman for
> image packaging.
> 
> Doesn't this change from having a single flash.bin encompasing the SPL
> and U-Boot proper to having split files? I noticed that happened with
> imx8mm_evk for example when it switched to binman.

Yes, but you can easy generate there a single image again.

> What are the benefits to using binman?

Beside the pros from binmal in general, I see the benefit in special
for imx8mp, that you can get all infos you need for signing the image
from within the image. No need to save some log output from U-Boot
build and parse this output ...

bye,
Heiko
-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52   Fax: +49-8142-66989-80   Email: h...@denx.de

Reply via email to