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 >> > > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot