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

Jean-Jacques Hiblot jjhiblot at ti.com
Mon Aug 5 10:36:25 UTC 2019


On 05/08/2019 12:28, Simon Goldschmidt wrote:
> On Mon, Aug 5, 2019 at 11:44 AM 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.
> If it's RFC, shouldn't that be noted in the subject line?

Sorry I forgot to change that line in the cover letter. It is not a RFC 
anymore.

After the initial feedback was received I removed this from the subject 
line.

Thanks,

JJ

>
> Regards,
> Simon
>
>> 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 #2 "spl: fit: Add support for applying DT overlay" has been posted
>> a few weeks ago by Michal Simek.
>> Patch #3 to #6 amend Michal's patch.
>> Patch #7 to #9 are simple fixes for the Makefile
>> Patch #10 is used to reduce the complexity of the Makefile by having FIT
>> generator scripts provide their dependencies
>> Patch #12-#13 allow to use the board driver in SPL
>> Patch #14-#15 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 driver 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/567779404
>>
>> Changes in v4:
>> - use CONFIG_IS_ENABLED() instead of #idef
>> - make sure that the temp buffer is freed in all cases
>> - Use the board driver infrastructure to get the image names from the
>> board code.
>> - Remove a patch that passed the board name to the FIT generator. If needed
>> the generator can get it from elsewhere
>> - Add a fix to not load the firmware twice (once as a firmware and once as
>> a loadable)
>>
>> 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 (14):
>>    spl: fit: don't load the firmware twice
>>    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: Query the SPL Fit Generator for its dependencies
>>    spl: fit: constify the output parameter of spl_fit_get_image_name()
>>    drivers: board: Make the board drivers available in SPL
>>    drivers: board: Add get_fit_loadable()
>>    include: board: provide empty stubs when the BOARD option is not
>>      selected
>>    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                                       |   9 ++
>>   Makefile                                      |  23 ++--
>>   arch/arm/mach-imx/mkimage_fit_atf.sh          |   5 +
>>   arch/arm/mach-rockchip/make_fit_atf.py        |   7 ++
>>   board/sunxi/mksunxi_fit_atf.sh                |   4 +
>>   .../lion_rk3368/fit_spl_atf.its               |   6 +-
>>   .../puma_rk3399/fit_spl_atf.sh                |   6 +
>>   common/spl/spl_fit.c                          | 104 ++++++++++++++++--
>>   drivers/Makefile                              |   2 +-
>>   drivers/board/Kconfig                         |   2 +
>>   drivers/board/Makefile                        |   2 +-
>>   drivers/board/board-uclass.c                  |  11 ++
>>   include/board.h                               |  72 ++++++++++++
>>   scripts/Makefile.lib                          |   4 +
>>   14 files changed, 230 insertions(+), 27 deletions(-)
>>
>> --
>> 2.17.1
>>


More information about the U-Boot mailing list