[U-Boot] [PATCH 0/9] spl: dm: Make it possible for the SPL to pick its own DTB from a FIT

Simon Glass sjg at chromium.org
Thu Aug 3 15:27:23 UTC 2017


(correcting Tom's address)

Hi Jean-Jacques,

I see that I have made comments on v1 but now v2 has been sent. Sorry
I was so late.

Can you please take a look at the comments on v1?

- Simon


On 3 August 2017 at 09:25, Simon Glass <sjg at chromium.org> wrote:
> Hi Jean-Jacques,
>
> On 20 July 2017 at 11:02, Jean-Jacques Hiblot <jjhiblot at ti.com> wrote:
>> Following the RFC, here is the series implementing the mechanism in a cleaner
>> way. The idea is that the SPL may take advantage of selecting its DTB from a
>> pool of available DTBs. To do that several DTBs are embedded in a compressed
>> FIT image appended at the end of the SPL. The patch is done in such way that
>> this mechanism can easilly be extended to other ways of loading the DTBs.
>>
>> changes since RFC:
>>  - split the RFC patch in several patches.
>>  - leverage work from Cooper Jr., Franklin (CONFIG_FIT_EMBED) as a big part
>>    of the code is similar. Rename CONFIG_FIT_EMBED as CONFIG_MULTI_DTB_FIT
>>    to prevent confusion with CONFIG_OF_EMBED.
>>  - use the default configuration if no match is provided by
>>    board_fit_config_name_match(). note that this is generic not just for this
>>    feature.
>>  - provide an option to not use dynamic memory allocation.
>>  - added a patch related to board detection on omap that's required to take
>>    advantage of this feature.
>>
>>
>> Here are some numbers:
>>                        +----------------------------------------+
>>                        |  Size    |delta     |boot-time| delta  |
>>                        |  (bytes) |(bytes)   |(ms)     | (ms)   |
>> +---------------------------------------------------------------+
>> | reference            |  120185  |          |  1331   |        |
>> +---------------------------------------------------------------+
>> | feature              |          |          |         |        |
>> | deactiVated          |  120185  |   0      |  1330   |  -1    |
>> +---------------------------------------------------------------+
>> | 1 DTB   LZO          |  120208  |   2      |  1331   |  0     |
>> +---------------------------------------------------------------+
>> | 4 DTB   LZO          |  120810  |   625    |  1336   |  5     |
>> +---------------------------------------------------------------+
>> | 4 DTB   LZO          |          |          |         |        |
>> | no malloc            |  120746  |   561    |  1343   |  12    |
>> +---------------------------------------------------------------+
>> | 4 DTB   GZIP         |  128552  |   8367   |  1353   |  22    |
>> +---------------------------------------------------------------+
>> | 4 DTB   No comp      |  132352  |   12167  |  1351   |  20    |
>> +----------------------+----------+----------+---------+--------+
>>
>
> Can this information and usage instructions (e.g. how to create the
> FIT with a .its example) go in a README somewhere please?
>
>>
>>
>> Jean-Jacques Hiblot (9):
>>   dts: renamed FIT_EMBED to MULTI_DTB_FIT and moved it to the dts
>>     Kconfig
>>   fit: use 'const' for the input of fdt_offset() and locate_dtb_in_fit()
>>   fit: fixed bug in locate_dtb_in_fit()
>>   fit: If no matching config is found in fit_find_config_node(), use the
>>     default one
>>   lzo: add a function to check the validity of the header
>>   gzip: add a function to parse the header
>>   lib: allow building lzo and gunzip for the SPL
>>   spl: dm: Make it possible for the SPL to pick its own DTB from a FIT
>>   omap: detect board before spl_early_init()
>>
>>  Makefile                            |  2 +-
>>  arch/arm/mach-omap2/hwinit-common.c |  4 +-
>>  board/ti/ks2_evm/board_k2e.c        |  2 +-
>>  board/ti/ks2_evm/board_k2g.c        |  2 +-
>>  board/ti/ks2_evm/board_k2hk.c       |  2 +-
>>  board/ti/ks2_evm/board_k2l.c        |  2 +-
>>  common/Kconfig                      | 16 -------
>>  common/Makefile                     |  2 +-
>>  common/boot_fit.c                   |  6 +--
>>  common/common_fit.c                 | 20 ++++++++
>>  configs/k2e_evm_defconfig           |  2 +-
>>  configs/k2g_evm_defconfig           |  2 +-
>>  configs/k2hk_evm_defconfig          |  2 +-
>>  configs/k2l_evm_defconfig           |  2 +-
>>  dts/Kconfig                         | 96 ++++++++++++++++++++++++++++++++++++-
>>  include/boot_fit.h                  |  4 +-
>>  include/common.h                    |  1 +
>>  include/linux/lzo.h                 |  3 ++
>>  lib/Kconfig                         | 11 +++++
>>  lib/Makefile                        |  6 +--
>>  lib/fdtdec.c                        | 85 ++++++++++++++++++++++++++++----
>>  lib/gunzip.c                        | 15 ++++--
>>  lib/lzo/lzo1x_decompress.c          | 21 ++++++--
>>  scripts/Makefile.spl                | 35 +++++++++++++-
>>  24 files changed, 290 insertions(+), 53 deletions(-)
>>
>> --
>> 1.9.1
>>
>
> Regards,
> Simon


More information about the U-Boot mailing list