]> git.baikalelectronics.ru Git - uboot.git/commit
rockchip: rk3399: spl: make SPL boot-order configurable via /chosen
authorPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tue, 28 Mar 2017 09:03:00 +0000 (11:03 +0200)
committerSimon Glass <sjg@chromium.org>
Wed, 5 Apr 2017 02:01:57 +0000 (20:01 -0600)
commitbab185f9b7ad35d4f61552ccbedb328a6f6e9b42
tree83e3ed5c0ea4c65b7c9699cc13d8f3798571c9cd
parentea72e5c463d035b2191065e120ee3502fbb92a45
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>
arch/arm/mach-rockchip/rk3399-board-spl.c
doc/device-tree-bindings/chosen.txt