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

Bernhard Nortmann
2015-09-03T14:11:58Z

This patch series builds upon
http://lists.denx.de/pipermail/u-boot/2015-September/226515.html
and is a first proposal. It will eventually get combined with that
patch for proper submission, but I'd like your thoughts / input on
several topics first:

* 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()?

* The test for FEL boot mode ("eGON.BT0") in spl_boot_device()
explicitly uses the "io" function readl() to access the signature.
Is there a specific reason for this? Marex pointed out (on IRC)
that the SRAM might as well be read directly. For now, I have
followed the existing code, and used readl() and readb() to work
with the SPL header information.

* The check_signature() function somewhat duplicates very similar
code from arch/arm/include/asm/io.h. That particular piece of code
depends on the presence of a "__mem_pci" symbol. However, it seems
'generic' enough - so it may be worth to factor out and reuse it?

* My second patch adds a "fel" boot target to the "distro_bootcmd"
logic. It seems simple enough, but I'm sure it did it 'the right
way'. Any feedback is appreciated.

Regards, B. Nortmann

Bernhard Nortmann (2):
sunxi: retrieve FEL-provided values to environment variables
sunxi: add "fel" boot target

board/sunxi/board.c | 59 ++++++++++++++++++++++++++++++++++++++++++
include/configs/sunxi-common.h | 13 ++++++++++
2 files changed, 72 insertions(+)

--
2.4.6