[U-Boot] [RFC PATCH v1 0/9] Add support for applications of overlays in SPL

Jean-Jacques Hiblot jjhiblot at ti.com
Fri Mar 22 14:39:47 UTC 2019


The purpose of this series is to provide the SPL with ability to apply
overlays for u-boot. this is only a RFC so far, to get a feedback on the
approach.

Our use-case is the support of the daughter boards of the AM65x EVM. In
Linux, each board is supported by a unique overlay. The presence of the
boards is detected at runtime, and some useful features (like USB) are
implemented on those daughter boards. Instead of providing multiple dtbs
and fall in a combinatorial pit, we propose to use DT overlays.

The first 4 patches are small fixes/improvement related to the build.
Patch #5 may be a bit controversial. It basically replaces u-boot.img with
a symlink to u-boot.itb in case we use a "complex" FIT (ie: if
SPL_FIT_SOURCE or SPL_FIT_GENERATOR are set)

Patch #6 and #7 are the core support for DTB application in the SPL. Based
on a patch posted by Michal Simek a few weeks ago. The list of overlays is
read from the "fdt" of the configuration chosen in the ITB (same property
as for the DTB):
  configurations {
     default = "conf-1";
     conf-1 {
       description = "dra76-evm";
       firmware = "firmware-1";
       fdt = "fdt-1", "overlay-1";
      };
  }


Patch #8 adds a way to dynamically select the DT overlays. That is were we
would use HW detection to select the required overlays. In that case, the
board-level code tells what overlay it needs (it gives the name of the
node).

Patch #9 is not required, but demonstrates on a DRA76-evm how this series
can be used.


Jean-Jacques Hiblot (8):
  dtbo: also generate dtbo from dtso
  Makefile.lib: include /__symbols__ in dtb if OF_LIBFDT_OVERLAY is
    enabled
  Makefile: Fix u-boot.itb generation when building outside the source
    tree
  Makefile: Pass the board name to the FIT generator scripts
  Makefile: use custom ITS to build u-boot.img if SPL_FIT_SOURCE or
    SPL_FIT_GENERATOR are set
  spl: fit: Allow calling spl_load_fit_image() to only get the image
    size
  sp: fit: Allow the board to dynamically select the DTB overlays it
    needs.
  !!! TEMP !!! For demonstration only !!! DRA76: Usage of overlays in
    SPL

Michal Simek (1):
  spl: fit: Add support for applying DT overlay

 Makefile                                      |  20 ++-
 arch/arm/dts/Makefile                         |   2 +-
 arch/arm/dts/dra76-evm-dummy.dtso             |  14 +++
 arch/arm/dts/dra76-evm-dummy2.dtso            |  15 +++
 arch/arm/mach-imx/mkimage_fit_atf.sh          |   3 +-
 arch/arm/mach-rockchip/make_fit_atf.py        |   5 +-
 .../lion_rk3368/fit_spl_atf.its               |   6 +-
 .../puma_rk3399/fit_spl_atf.its               |   8 +-
 board/ti/dra7xx/evm.c                         |  30 +++++
 board/ti/dra7xx/evm.its                       |  48 ++++++++
 common/spl/spl_fit.c                          | 114 +++++++++++++++++-
 configs/dra7xx_evm_defconfig                  |   2 +
 include/spl.h                                 |  20 +++
 scripts/Makefile.lib                          |   7 ++
 14 files changed, 273 insertions(+), 21 deletions(-)
 create mode 100644 arch/arm/dts/dra76-evm-dummy.dtso
 create mode 100644 arch/arm/dts/dra76-evm-dummy2.dtso
 create mode 100644 board/ti/dra7xx/evm.its

-- 
2.17.1



More information about the U-Boot mailing list