Message ID | 20191022143922.10205-1-jjhiblot@ti.com |
---|---|
Headers | show |
Series | Add support for applications of overlays in SPL | expand |
Tom, Simon, gentle ping on this series. It has been posted for a long time and I did not push for it because I was working on other stuff. am654x and J7x SOCs will need this kind of feature. Before sending a version rebased on latest u-boot, I would have liked to have your feeling on the series as a whole. JJ On 22/10/2019 16:39, Jean-Jacques Hiblot wrote: > The purpose of this series is to provide the SPL with ability to apply > overlays for u-boot. > > Our use-case is the support of the daughter boards of the AM65x and J721e > EVMs. 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. > > 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/600742163 > > Changes in v6: > - Instead of matching a overlay by the name of it's node. Try to match it > first with the description, and then with the node's name. This allows > to use makeimg to add the overlays to u-boot.img and not use a custom > SPL_FIT_GENERATOR script > > Changes in v5: > - Do not allocate the buffer if not needed (no overlay). > - Add a Kconfig option for the buffer size > - board_get_fit_loadable() returns an error code instead of a NULL string > in case of failure > -reword commit log > > 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: > - depend on SPL_DM > - update the commit log > - 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 (12): > 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 > 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 > dts: Add support for adding DT overlays in u-boot.img > 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 | 18 +++++ > Makefile | 3 +- > common/spl/spl_fit.c | 151 ++++++++++++++++++++++++++++++++--- > drivers/Makefile | 2 +- > drivers/board/Kconfig | 3 + > drivers/board/Makefile | 2 +- > drivers/board/board-uclass.c | 11 +++ > dts/Kconfig | 8 ++ > include/board.h | 74 +++++++++++++++++ > scripts/Makefile.lib | 4 + > 10 files changed, 263 insertions(+), 13 deletions(-) >
Hi Jean-Jacques, On Mon, 23 Dec 2019 at 09:25, Jean-Jacques Hiblot <jjhiblot@ti.com> wrote: > > Tom, Simon, > > gentle ping on this series. It has been posted for a long time and I did > not push for it because I was working on other stuff. am654x and J7x > SOCs will need this kind of feature. > > Before sending a version rebased on latest u-boot, I would have liked to > have your feeling on the series as a whole. It looks fine from my point of view, but does need tests. - Simon