u-boot-brain/arch
Philipp Tomsich d02d11f8ae rockchip: rk3399: spl: make SPL boot-order configurable via /chosen
The RK3399 does not have any boot selection pins and the BootROM probes
the boot interfaces using the following boot-order:
    1. SPI
    2. eMMC (sdhci in DTS)
    3. SD card (sdmmc in DTS)
    4. USB loader
For ease of deployment, the SPL stage should mirror the boot order of
the ROM and use the same probing order (assuming that valid images can
be detected by SPL) unless instructed otherwise.  The boot-order can
then be configured via the 'u-boot,spl-boot-order' property in the
chosen-node of the DTS.

While this approach is easily extensible to other boards, it is only
implemented for the RK3399 for now, as the large SRAM on the RK3399
makes this easy to fit the needed infrastructure into SPL and our
production setup already runs with DM, OF_CONTROL and BLK in SPL.

The new boot-order property is expected to be used in conjunction with
FIT images (and all legacy image formats disabled via Kconfig).

A boot-sequence with probing and fallthroughs from SPI via eMMC to SD
card (i.e. &spiflash, &sdhci, &sdmmc) has been validated on the RK3399-Q7.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tested-by: Klaus Goger <klaus.goger@theobroma-systems.com>
Tested-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Acked-by: Simon Glass <sjg@chromium.org>
2017-04-04 20:01:57 -06:00
..
arc arcv2: Halt non-master cores 2017-03-31 22:09:36 +03:00
arm rockchip: rk3399: spl: make SPL boot-order configurable via /chosen 2017-04-04 20:01:57 -06:00
avr32 efi: Use asmlinkage for EFIAPI 2016-10-19 09:01:53 +02:00
blackfin Convert CONFIG_ARCH_MISC_INIT to Kconfig 2017-01-25 17:38:41 -05:00
m68k spi: Zap cf_qspi driver and related code 2017-01-15 18:29:04 +01:00
microblaze microblaze: Fix endif macro command 2017-02-10 13:59:36 +01:00
mips mips: Use common _AC macro now. 2017-01-10 08:19:26 -05:00
nds32 nds32: Support relocation. 2016-09-29 15:38:10 +08:00
nios2 dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
openrisc efi: Use asmlinkage for EFIAPI 2016-10-19 09:01:53 +02:00
powerpc Freescale/NXP: Migrate CONFIG_FSL_CAAM to defconfigs 2017-03-09 11:37:24 -05:00
sandbox dtoc: Replace dot with underscore to avoid compiler errors 2017-02-08 06:07:35 -07:00
sh sh: generate position independent code for all platforms 2016-12-02 21:32:54 -05:00
sparc efi: Use asmlinkage for EFIAPI 2016-10-19 09:01:53 +02:00
x86 x86: Intel MID platforms has no microcode update 2017-02-21 15:10:56 +08:00
xtensa Remove arch/${ARCH}/include/asm/errno.h 2016-09-23 17:56:18 -04:00
.gitignore .gitignore: drop include/asm/proc from ignore pattern 2014-06-19 11:18:54 -04:00
Kconfig arc: use timer driver for ARC boards 2017-03-29 07:38:11 +02:00