On Wed, Apr 26, 2017 at 6:02 AM, Andre Przywara <[email protected]> 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
Remove change from configs/evb-rk3399_defconfig > 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 Update Kconfig path to arch/arm/mach-sunxi/ while applying. > 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 Series tested on pine64 board. Applied to u-boot-sunxi/master thanks! -- Jagan Teki Free Software Engineer | www.openedev.com U-Boot, Linux | Upstream Maintainer Hyderabad, India. _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

