[U-Boot] [PATCH v3 0/4] sunxi: support FEL-provided environment vars and "fel" boot target

Bernhard Nortmann bernhard.nortmann at web.de
Thu Sep 17 18:52:49 CEST 2015


This patch series builds upon
http://lists.denx.de/pipermail/u-boot/2015-September/226515.html
http://lists.denx.de/pipermail/u-boot/2015-September/226688.html

v2 combines the previous submissions, and adds some suggested
fixes/changes.

v3 introduces another patch at the start of the series to allow
using shared definitions from a common asm/arch-sunxi/spl.h
include. It's also aimed at addressing some of Siarhei's comments.

Siarhei: As I've shuffled things around a bit for that, I'm
not including your ACK on patch v3 2/4. The 4/4 one (bootcmd_fel)
is unchanged, and now includes your ACK.

The sunxi-tool side of things is discussed here:
https://www.mail-archive.com/linux-sunxi@googlegroups.com/msg13071.html

* Hans de Goede already pointed out that it might be preferable to
make use of the spl_boot_device() function even from the main
(non-SPL) U-Boot binary (e.g. for the "NAND" case). Currently this
function is only available with CONFIG_SPL_BUILD set, and
implemented in arch/arm/cpu/armv7/sunxi/board.c
Would it be safe to enable it for non-SPL builds and use something
like "(spl_boot_device == BOOT_DEVICE_BOARD)" for misc_init_r()?

* Side note: the sunxi spl_boot_device() will probably require
some future refinement anyway, to account for the 'oddball' A80.
That SoC requires the SPL at a different address (0x10000 instead
of 0x0).
I've tried to address this (at least in part) by introducing a
SPL_ADDR definition in the platform-specific spl.h.

Regards, B. Nortmann

Changes in v3:
- (new with v3)
- adapted to use asm/arch/spl.h
- make use of asm/arch/spl.h to share definitions / helper macro
- revert SPL version check to expect exact SPL_HEADER_VERSION

Changes in v2:
- Rename field to fel_script_address, discard fel_data_size
- Clearing header fields is no longer needed, as mksunxiboot.c zeroes entire image first
- renamed fel_data_addr to fel_script_addr, discarded fel_data_size
- make sure that FEL-related environment vars are always cleared first
- support minimum and maximum SPL (header) version, more verbose error messages
- renamed fel_data_addr to fel_scriptaddr
- combined both tests into one as suggested by Hans de Goede

Bernhard Nortmann (4):
  sunxi: move SPL-related definitions to platform-specific include
  sunxi: (mksunxiboot) signature to indicate "sunxi" SPL variant
  sunxi: retrieve FEL-provided values to environment variables
  sunxi: add "fel" boot target

 arch/arm/cpu/armv7/sunxi/board.c      |  2 +-
 arch/arm/include/asm/arch-sunxi/spl.h | 47 +++++++++++++++++++++++++++++------
 arch/arm/include/asm/spl.h            |  5 ++++
 board/sunxi/board.c                   | 35 ++++++++++++++++++++++++++
 include/configs/sunxi-common.h        | 11 ++++++++
 tools/mksunxiboot.c                   | 21 ++++------------
 6 files changed, 96 insertions(+), 25 deletions(-)

-- 
2.4.6



More information about the U-Boot mailing list