All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andre Przywara <andre.przywara@arm.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 00/20] SPL: extend FIT loading support
Date: Tue, 16 May 2017 09:10:06 +0100	[thread overview]
Message-ID: <b6567176-8ac0-9428-4706-5eb494a6bfbb@arm.com> (raw)
In-Reply-To: <b58551e8-ece1-d5f4-a3b3-82b8f0a73ce7@rock-chips.com>

Hi,

On 16/05/17 02:40, Kever Yang wrote:
> I though I have add review and test tags for the first 5 patches, anyway,

Sorry, I must have missed that. Thanks for the review and testing!

> I will add again.
> 
> 
> Not sure if some patches for sunxi still need to wait, can we merge patches
> for SPL/FIT first?

That is a good question.

Tom, Simon: Are you OK with these (first six) patches? Are we good to
merge them? Who will take them?

I see that "spl: add support to booting with ATF" from Kever has been
merged already, my understanding is that this series here is a
prerequisite for this?

Shall I repost the first six patches separately, rebased and with the
new tags added?

Cheers,
Andre.

> Thanks,
> - Kever
> On 04/26/2017 08:32 AM, Andre Przywara wrote:
>> Another round of smaller fixes for the SPL FIT loading series and the
>> respective patches to enable this feature on 64-bit Allwinner SoCs.
>> The README has been changed to address all 64-bit Allwinner boards and
>> has consequently been renamed to README.sunxi64. Also we can now point
>> U-Boot to the ARM Trusted Firmware build by specifying the filename in
>> the BL31 environment variable. If this is not set, we default to look
>> for bl31.bin in U-Boot's build directory.
>> The other minor fixes are detailed in the Changelog below.
>> ---
>>
>> The first five patches introduce the core of the extened SPL FIT loading
>> support, see below for a description. Patch 6 fixes a Kconfig dependency
>> to simplify the usage of this option.
>> Patches 7-10 make some room in the sunxi 64-bit SPL to allow
>> compiling in the FIT loading bits. Patch 11 and 12 let the SPL choose
>> the proper DT from the FIT image.
>> The next two patches add the infrastructure and an actual generator
>> script,
>> so the FIT image is automatically created at build time.
>> Patches 14, 15 and 16 enable the SPL FIT support for Allwinner 64-bit
>> SoCs in
>> general and for the Pine64 and OrangePi PC 2 in particular.
>> The following two patches store a DT file name in the SPL header, so
>> U-Boot can easily pick the proper DT when scanning the FIT image.
>> The idea is that this DT name should stay with the board, ideally on
>> eMMC or SPI flash. So both U-Boot and a firmware update tool could
>> identify a board, updating with compatible firmware while keeping the
>> DT name in place. Ideally a board vendor would once seed this name
>> onto on-board storage like SPI flash.
>> I kept those two patches in, as the work on replacing mksunxiboot with
>> an mkimage extension is not ready yet. Feel free to drop those from
>> the series if this is a problem.
>> The penultimate patch updates the Pine64 README file to document the
>> current
>> way of building U-Boot, which now includes the ARM Trusted Firmware build
>> in its image.
>> The last patch moves the maintainership from Hans over to me.
>>
>> I would be delighted if that series could get merged into the sunxi tree.
>> This finally enables the fully open source firmware for the 64-bit
>> Allwinner SoCs (including the ATF binary).
>>
>> This series is based on current sunxi/master.
>>
>> Cheers,
>> Andre.
>>
>> -------
>> Currently the FIT format is not used to its full potential in the SPL:
>> It only loads the first image from the /images node and appends the
>> proper FDT.
>> Some boards and platforms would benefit from loading more images before
>> starting U-Boot proper, notably Allwinner A64 and ARMv8 Rockchip boards,
>> which use an ARM Trusted Firmware (ATF) image to be executed before
>> U-Boot.
>>
>> This series tries to solve this in a board agnostic and generic way:
>> We extend the SPL FIT loading scheme to allow loading multiple images.
>> So apart from loading the image which is referenced by the "firmware"
>> property in the respective configuration node and placing the DTB right
>> behind it, we iterate over all strings in the "loadable" property.
>> Each image referenced there will be loaded to its specified load address.
>> The entry point U-Boot eventually branches to will be taken from the
>> first image to explicitly provide the "entry" property, or, if none
>> of them does so, from the load address of the "firmware" image.
>> This keeps the scheme compatible with the FIT images our Makefile creates
>> automatically at the moment.
>> Apart from the already mentioned ATF scenario this opens up more usage
>> scenarios, of which the commit message of patch 04/11 lists some.
>> The remaining patches prepare ane finally enable this scheme for the
>> 64-bit
>> Allwinner boards.
>>
>> Changelog v3 ... v4:
>> - [01/20]: return proper error codes instead of just -1 (+Simon's RB)
>> - [02/20]: improve kernel-doc comment (+Simon's RB)
>> - [03/20]: return proper error codes instead of just -1 (+Simon's RB)
>> - [04/20]: improve kernel-doc comment and error codes (+Simon's RB)
>> - [05/20]: add example .its source file (+Simon's RB)
>> - [10,11,12/20]: add Maxime's Acked-by
>> - [14/20]: add BL31 environment variable (+Maxime's Acked-by)
>> - [15/20]: drop unneeded OrangePi PC2 change
>> - [16/20]: add Maxime's Acked-by
>> - [19/20]: rewrite to be more generic, rename to README.sunxi64
>> - [20/20]: new patch to change maintainership
>>
>> Changelog v2 ... v3:
>> - new patch 06/19 to improve SPL_FIT Kconfig dependencies
>> - rename symbol in mksunxiboot (SUNXI_SRAM instead of SUN4I_SRAM)
>> - enable SPL_LOAD_FIT for all Allwinner A64 and H5 boards in Kconfig
>> - add only CONFIG_OF_LIST to defconfigs (patch 15/19)
>>
>> Changelog v1 ... v2:
>> - Add some function comments to spl_fit.c (patch 1-5)
>> - Improve error handling in SPL FIT code (patch 1-5)
>> - Fix bisectability (observing entry-point property)
>> - add documentation to doc/uImage.FIT/howto.txt
>> - fix Freescale CCN504 build failure
>> - (no changes in the last 10 patches)
>> - update README.pine64 (new last patch)
>> - add Reviewed-by's from Simon and Lokesh
>>
>> -- 
>> Andre Przywara (19):
>>    SPL: FIT: refactor FDT loading
>>    SPL: FIT: rework U-Boot image loading
>>    SPL: FIT: improve error handling
>>    SPL: FIT: factor out spl_load_fit_image()
>>    SPL: FIT: allow loading multiple images
>>    Kconfig: fix SPL_FIT dependency
>>    tools: mksunxiboot: allow larger SPL binaries
>>    armv8: SPL: only compile GIC code if needed
>>    armv8: fsl: move ccn504 code into FSL Makefile
>>    sunxi: A64: move SPL stack to end of SRAM A2
>>    sunxi: SPL: store RAM size in gd
>>    sunxi: SPL: add FIT config selector for Pine64 boards
>>    Makefile: add rules to generate SPL FIT images
>>    sunxi: 64-bit SoCs: introduce FIT generator script
>>    sunxi: defconfig: add supported DT list for Pine64
>>    sunxi: enable automatic FIT build for 64-bit SoCs
>>    sunxi: use SPL header DT name for FIT board matching
>>    sunxi: update Pine64 README
>>    sunxi: Move maintainership for Pine64
>>
>> Siarhei Siamashka (1):
>>    sunxi: Store the device tree name in the SPL header
>>
>>   Kconfig                               |  22 ++-
>>   Makefile                              |  20 +++
>>   arch/arm/include/asm/arch-sunxi/spl.h |  19 ++-
>>   arch/arm/lib/Makefile                 |   4 +-
>>   board/sunxi/Kconfig                   |   4 +
>>   board/sunxi/MAINTAINERS               |   6 +-
>>   board/sunxi/README.pine64             |  98 -----------
>>   board/sunxi/README.sunxi64            | 165 +++++++++++++++++++
>>   board/sunxi/board.c                   |  36 +++-
>>   board/sunxi/mksunxi_fit_atf.sh        |  75 +++++++++
>>   common/spl/spl_fit.c                  | 301
>> ++++++++++++++++++++++------------
>>   configs/am335x_evm_defconfig          |   1 -
>>   configs/evb-rk3399_defconfig          |   1 -
>>   configs/pine64_plus_defconfig         |   1 +
>>   doc/uImage.FIT/howto.txt              |  21 +++
>>   doc/uImage.FIT/multi_spl.its          |  89 ++++++++++
>>   include/configs/sunxi-common.h        |  17 +-
>>   scripts/Makefile.spl                  |   3 +-
>>   tools/mksunxiboot.c                   |  53 +++++-
>>   19 files changed, 710 insertions(+), 226 deletions(-)
>>   delete mode 100644 board/sunxi/README.pine64
>>   create mode 100644 board/sunxi/README.sunxi64
>>   create mode 100755 board/sunxi/mksunxi_fit_atf.sh
>>   create mode 100644 doc/uImage.FIT/multi_spl.its
>>
> 
> 

  reply	other threads:[~2017-05-16  8:10 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-26  0:32 [U-Boot] [PATCH v4 00/20] SPL: extend FIT loading support Andre Przywara
2017-04-26  0:32 ` [U-Boot] [PATCH v4 01/20] SPL: FIT: refactor FDT loading Andre Przywara
2017-05-05 15:39   ` Heiko Stuebner
2017-05-16  1:34   ` Kever Yang
2017-05-16  7:40   ` Lokesh Vutla
2017-04-26  0:32 ` [U-Boot] [PATCH v4 02/20] SPL: FIT: rework U-Boot image loading Andre Przywara
2017-05-05 15:39   ` Heiko Stuebner
2017-05-16  1:35   ` Kever Yang
2017-04-26  0:32 ` [U-Boot] [PATCH v4 03/20] SPL: FIT: improve error handling Andre Przywara
2017-05-05 15:39   ` Heiko Stuebner
2017-05-16  1:36   ` Kever Yang
2017-04-26  0:32 ` [U-Boot] [PATCH v4 04/20] SPL: FIT: factor out spl_load_fit_image() Andre Przywara
2017-05-05 15:40   ` Heiko Stuebner
2017-05-16  1:36   ` Kever Yang
2017-04-26  0:32 ` [U-Boot] [PATCH v4 05/20] SPL: FIT: allow loading multiple images Andre Przywara
2017-05-05 15:40   ` Heiko Stuebner
2017-05-16  1:37   ` Kever Yang
2017-04-26  0:32 ` [U-Boot] [PATCH v4 06/20] Kconfig: fix SPL_FIT dependency Andre Przywara
2017-04-29  0:27   ` Simon Glass
2017-04-26  0:32 ` [U-Boot] [PATCH v4 07/20] tools: mksunxiboot: allow larger SPL binaries Andre Przywara
2017-04-26  0:32 ` [U-Boot] [PATCH v4 08/20] armv8: SPL: only compile GIC code if needed Andre Przywara
2017-04-26  0:32 ` [U-Boot] [PATCH v4 09/20] armv8: fsl: move ccn504 code into FSL Makefile Andre Przywara
2017-04-26  0:32 ` [U-Boot] [PATCH v4 10/20] sunxi: A64: move SPL stack to end of SRAM A2 Andre Przywara
2017-04-26  0:32 ` [U-Boot] [PATCH v4 11/20] sunxi: SPL: store RAM size in gd Andre Przywara
2017-04-26  0:32 ` [U-Boot] [PATCH v4 12/20] sunxi: SPL: add FIT config selector for Pine64 boards Andre Przywara
2017-04-26  0:32 ` [U-Boot] [PATCH v4 13/20] Makefile: add rules to generate SPL FIT images Andre Przywara
2017-04-26  0:32 ` [U-Boot] [PATCH v4 14/20] sunxi: 64-bit SoCs: introduce FIT generator script Andre Przywara
2017-04-26  0:32 ` [U-Boot] [PATCH v4 15/20] sunxi: defconfig: add supported DT list for Pine64 Andre Przywara
2017-05-05 19:55   ` Jagan Teki
2017-05-08 13:44     ` Andre Przywara
2017-05-14  9:32   ` Simon Glass
2017-04-26  0:32 ` [U-Boot] [PATCH v4 16/20] sunxi: enable automatic FIT build for 64-bit SoCs Andre Przywara
2017-04-26  0:32 ` [U-Boot] [PATCH v4 17/20] sunxi: Store the device tree name in the SPL header Andre Przywara
2017-04-26  0:32 ` [U-Boot] [PATCH v4 18/20] sunxi: use SPL header DT name for FIT board matching Andre Przywara
2017-04-26  0:32 ` [U-Boot] [PATCH v4 19/20] sunxi: update Pine64 README Andre Przywara
2017-04-26  0:32 ` [U-Boot] [PATCH v4 20/20] sunxi: Move maintainership for Pine64 Andre Przywara
2017-05-16  1:40 ` [U-Boot] [PATCH v4 00/20] SPL: extend FIT loading support Kever Yang
2017-05-16  8:10   ` Andre Przywara [this message]
2017-05-16 20:07     ` Mark Kettenis
2017-05-17  1:37       ` Simon Glass
2017-05-17 17:59 ` Jagan Teki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b6567176-8ac0-9428-4706-5eb494a6bfbb@arm.com \
    --to=andre.przywara@arm.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.