[U-Boot] [PATCH PATCH v3 00/12] Add support for applications of overlays in SPL

Simon Glass sjg at chromium.org
Wed Jun 26 15:07:24 UTC 2019


Hi Jean-Jacques,

On Tue, 25 Jun 2019 at 12:10, Jean-Jacques Hiblot <jjhiblot at ti.com> wrote:
>
> Hi Simon,
>
>
> On 22/06/2019 21:09, Simon Glass wrote:
> > Hi Jean-Jacques,
> >
> > On Thu, 23 May 2019 at 11:39, Jean-Jacques Hiblot <jjhiblot at ti.com> wrote:
> >>
> >> 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.
> >>
> >> Patch #1 "spl: fit: Add support for applying DT overlay" has been posted
> >> a few weeks ago by Michal Simek.
> >> Patch #2 to #5 amend Michal's patch.
> >> Patch #6 to #8 are simple fixes for the Makefile
> >> Patch #9 is not required but relates to this series and will be required
> >> later by the AM6x platform
> >> Patch #10 is used to reduce the complexity of the Makefile by having FIT
> >> generator scripts provide their dependencies
> >> Patch #12 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).
> >>
> >> On arm, if overlay are supported, this series increases the size of the SPL
> >> by 3.2 kB.
> >>
> >> Travis build : https://travis-ci.org/jjhiblot/u-boot/builds/535686392
> >> For a strange reason, buildman on travis show errors for sun8i ans sun50i,
> >> but pass when I run it locally.
> >>
> >> Changes in v3:
> >> - Add a new config option: SPL_LOAD_FIT_APPLY_OVERLAY. By default, it is
> >> not selected.
> >> - removed the RFC prefix. This work will be needed soon by TI's AM65x
> >> platform. and can probably benefit other modular platforms
> >> - removed the last patch that provided an example of how to use this with
> >> on a DRA76.
> >> - removed the patch that made u-boot.img a symlink to u-boot.itb because
> >> it breaks the build of many platforms (because files required to build the
> >> ITB are missing)
> >> - removed the patch to reduce the footprint of the am335x SPL. (already
> >> merged)
> >> - Made the boot flow more permissive (don't fail immediately if an overlay
> >> is not present) and more verbose when an error occures
> >> - handle the dependencies of the FIT generation in a more generic way
> >> - use a dedicated kconfig option to enable the application of the overlays
> >> by the SPL.
> >>
> >> Changes in v2:
> >> - reworked board_fit_get_additionnal_images() and how it used in spl_fit.c
> >> - removed dtbo generation from dtso files and use .dts extension for the
> >>    overlays
> >> - add dynamic allocation usage in a separate patch
> >> - defconfig change for the am335x_evm
> >>
> >> Jean-Jacques Hiblot (11):
> >>    spl: fit: Make room in the FDT before applying overlays
> >>    spl: fit: allocate a temporary buffer to load the overlays
> >>    spl: fit: Do not fail immediately if an overlay is not available
> >>    spl: fit: be more verbose when an error occurs when applying the
> >>      overlays
> >>    Makefile.lib: include /__symbols__ in dtb if
> >>      SPL_LOAD_FIT_APPLY_OVERLAY is enabled
> >>    Makefile: Fix tests for CONFIG_SPL_LOAD_FIT and
> >>      CONFIG_SPL_FIT_GENERATOR
> >>    Makefile: Fix u-boot.itb generation when building outside the source
> >>      tree
> >>    Makefile: Pass the board name to the FIT generator scripts
> >>    Makefile: Query the SPL Fit Generator for its dependencies
> >>    spl: fit: constify the output parameter of spl_fit_get_image_name()
> >>    spl: fit: Allow the board to tell if more images must be loaded from
> >>      FIT
> >>
> >> Michal Simek (1):
> >>    spl: fit: Add support for applying DT overlay
> >>
> >>   Kconfig                                       | 10 +++
> >>   Makefile                                      | 23 +++--
> >>   arch/arm/mach-imx/mkimage_fit_atf.sh          | 10 ++-
> >>   arch/arm/mach-rockchip/make_fit_atf.py        | 13 ++-
> >>   board/sunxi/mksunxi_fit_atf.sh                |  7 ++
> >>   .../lion_rk3368/fit_spl_atf.its               |  6 +-
> >>   .../puma_rk3399/fit_spl_atf.its               |  8 +-
> >>   common/spl/spl_fit.c                          | 90 +++++++++++++++++--
> >>   include/spl.h                                 | 16 ++++
> >>   scripts/Makefile.lib                          |  4 +
> >>   10 files changed, 156 insertions(+), 31 deletions(-)
> > How about a test that uses sandbox to apply some overlays?
>
> I had had a look  it but came to the conclusion that the SPL is not
> passing the FDT to u-boot. Were I mistaken ?

Well actually that is possible. I haven't dug into the details, but
there is a feature where SPL can select a DT to pass to U-Boot proper.

>
> Thanks for the reviews, I'll take your comments in account for the next
> round.

OK sounds good.

Regards,
Simon


More information about the U-Boot mailing list