[PATCH v3 00/13] riscv: Switch to use binman to generate u-boot.itb

Bin Meng bmeng.cn at gmail.com
Sun May 9 15:20:15 CEST 2021


This series updates binman to handle creation of u-boot.itb image for
RISC-V boards.

Azure results: PASS
https://dev.azure.com/bmeng/GitHub/_build/results?buildId=360&view=results

The following tests were performed:
* booting qemu-riscv{32|64}_spl_defconfig on QEMU virt
* booting sifive_unleashed_defconfig on QEMU sifive_u

AE350 SPL defconfigs are not tested. @Rick, could you please test and report?

The series is available at u-boot-x86/riscv_binman for testing.


Changes in v3:
- Fix the opensbi entry type in binman.dtsi
- new patch: "lib: kconfig: Limit BINMAN_FDT for OF_SEPARATE or OF_EMBED"
- rename the Kconfig option name to BINMAN_STANDALONE_FDT
- make BINMAN_STANDALONE_FDT default y for OF_BOARD as well
- reword the Kconfig option help message a little bit
- update binman.rst to mention OF_BOARD or OF_PRIOR_STAGE usage
- new patch: "riscv: ae350: Switch to use binman to generate u-boot.itb"
- remove USE_SPL_FIT_GENERATOR in ae350_ defconfigs

Changes in v2:
- drop patch: "binman: test: Correct the name of 170_fit_fdt_missing_prop.dts",
  as it was based on a wrong version
- drop patch: "makefile: Update clean rule to remove files generated by binman",
  as it is better to refactor binman to generate all intermediate files for
  Makefile to clean
- drop "size = <16>" in the binman node
- new patch: "binman: Support packaging U-Boot for scenarios like OF_PRIOR_STAGE"
- new patch: "riscv: dts: Sort build targets in alphabetical order"
- new patch: "riscv: qemu: Switch to use binman to generate u-boot.itb"
- new patch: "riscv: Drop USE_SPL_FIT_GENERATOR"

Bin Meng (13):
  common: kconfig: Correct a typo in SPL_LOAD_FIT
  binman: Correct '-a' description in the doc
  binman: Correct the comment for ATF entry type
  binman: test: Rename 172_fit_fdt.dts to 170_fit_fdt.dts
  binman: Add support for RISC-V OpenSBI fw_dynamic blob
  makefile: Pass OpenSBI blob to binman make rules
  riscv: sifive: unleashed: Switch to use binman to generate u-boot.itb
  lib: kconfig: Limit BINMAN_FDT for OF_SEPARATE or OF_EMBED
  binman: Support packaging U-Boot for scenarios like OF_BOARD or
    OF_PRIOR_STAGE
  riscv: dts: Sort build targets in alphabetical order
  riscv: qemu: Switch to use binman to generate u-boot.itb
  riscv: ae350: Switch to use binman to generate u-boot.itb
  riscv: Drop USE_SPL_FIT_GENERATOR

 Makefile                                      |   5 +-
 arch/riscv/cpu/generic/Kconfig                |   1 +
 arch/riscv/dts/Makefile                       |   3 +-
 arch/riscv/dts/ae350_32.dts                   |   2 +
 arch/riscv/dts/ae350_64.dts                   |   2 +
 arch/riscv/dts/binman.dtsi                    |  78 ++++++++++++++
 .../dts/hifive-unleashed-a00-u-boot.dtsi      |   1 +
 arch/riscv/dts/qemu-virt.dts                  |   8 ++
 arch/riscv/lib/mkimage_fit_opensbi.sh         | 100 ------------------
 board/AndesTech/ax25-ae350/Kconfig            |   1 +
 board/sifive/unleashed/Kconfig                |   1 +
 common/Kconfig.boot                           |   5 +-
 configs/ae350_rv32_spl_defconfig              |   1 +
 configs/ae350_rv32_spl_xip_defconfig          |   1 +
 configs/ae350_rv64_spl_defconfig              |   1 +
 configs/ae350_rv64_spl_xip_defconfig          |   1 +
 configs/qemu-riscv32_spl_defconfig            |   1 +
 configs/qemu-riscv64_spl_defconfig            |   1 +
 dts/Kconfig                                   |  18 ++++
 lib/Kconfig                                   |   2 +-
 tools/binman/binman.rst                       |  26 ++++-
 tools/binman/entries.rst                      |  13 +++
 tools/binman/etype/atf_bl31.py                |   2 +-
 tools/binman/etype/opensbi.py                 |  23 ++++
 tools/binman/ftest.py                         |  17 ++-
 .../test/{172_fit_fdt.dts => 170_fit_fdt.dts} |   0
 tools/binman/test/201_opensbi.dts             |  14 +++
 27 files changed, 214 insertions(+), 114 deletions(-)
 create mode 100644 arch/riscv/dts/binman.dtsi
 create mode 100644 arch/riscv/dts/qemu-virt.dts
 delete mode 100755 arch/riscv/lib/mkimage_fit_opensbi.sh
 create mode 100644 tools/binman/etype/opensbi.py
 rename tools/binman/test/{172_fit_fdt.dts => 170_fit_fdt.dts} (100%)
 create mode 100644 tools/binman/test/201_opensbi.dts

-- 
2.25.1



More information about the U-Boot mailing list