u-boot-brain/arch/arm/mach-rockchip
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
..
rk3036 Kconfig: Migrate BOARD_LATE_INIT to a select 2017-01-24 10:35:54 -05:00
rk3188 rockchip: rk3188: Add Radxa Rock board 2017-04-04 20:01:57 -06:00
rk3288 rockchip: rk3288: sdram: style fixes from rk3188 sdram review 2017-03-16 16:03:44 -06:00
rk3328 rockchip: rk3328: add evb-rk3328 support 2017-03-16 16:03:46 -06:00
rk3399 rockchip: arm64: rk3399: remove unconditional debug message 2017-04-04 20:01:57 -06:00
Kconfig rockchip: spl: RK3399: use boot0 hook to create space for SPL magic 2017-04-04 20:01:57 -06:00
Makefile rockchip: rk3328: add soc basic support 2017-03-16 16:03:46 -06:00
rk_timer.c rockchip: add timer driver 2015-12-01 08:07:22 -07:00
rk3036-board-spl.c rockchip: Move bootrom-related declarations to a header 2017-03-16 16:03:44 -06:00
rk3036-board.c rockchip: add boot-mode support for rk3288, rk3036 2016-10-01 18:36:55 -06:00
rk3188-board-spl.c rockchip: rk3188: Setup the armclk in spl 2017-04-04 20:01:57 -06:00
rk3188-board-tpl.c rockchip: rk3188: Cleanup some SPL/TPL rename leftovers 2017-04-04 20:01:57 -06:00
rk3188-board.c rockchip: rk3188: Decode the actual amount of ram 2017-04-04 20:01:57 -06:00
rk3288-board-spl.c rockchip: Move bootrom-related declarations to a header 2017-03-16 16:03:44 -06:00
rk3288-board.c rockchip: rename miniarm to tinker board 2017-02-09 12:10:59 -07:00
rk3399-board-spl.c rockchip: rk3399: spl: make SPL boot-order configurable via /chosen 2017-04-04 20:01:57 -06:00
save_boot_param.S rockchip: add option to change method of loading u-boot 2016-07-25 20:44:18 -06:00