u-boot/arch/arm/mach-mvebu
Joel Johnson ab2f757eb0 arm: mvebu: correct SPL boot configs for SPI/MMC
Update mvebu SPL boot selection mechanism for the move to driver model
usage by ensuring that the required driver support for SPI and MMC
booting is available in SPL when the respective boot method is
selected.

Previously, all mvebu boards selected a boot method (implicitly
MVEBU_SPL_BOOT_DEVICE_SPI for many) even if SPL booting wasn't used.
This changes mvebu boot method selection to depend on SPL usage which
resolves the issue with aarch64 boards which don't use SPL getting an
implicit boot device selection resulting in unmet dependencies. The
32-bit arm boards do use SPL, but I'm led to conclude that most aren't
intentionally using the MVEBU_SPL_BOOT_DEVICE selection since none have
SPL_DM_SPI enabled in their defconfig even though they still implicitly
select the SPI boot method.

This also results in the new addition of SPL_GPIO_SUPPORT to helios4.
The mainline dts for helios4 includes the cd-gpios entry for sdhci with
identical addresses as the clearfog dts. I don't have a helios4 board
to confirm, but based on the current source conclude that the board
itself is either wired to pull the signal low for eMMC, or the default
MMC boot isn't fully functional in mainline. In either case, as far as
I can tell, including the GPIO support will at least cause no
regression.

Tested on SolidRun ClearFog devices.

Signed-off-by: Joel Johnson <mrjoel@lixil.net>
Reviewed-by: Stefan Roese <sr@denx.de>
2020-04-22 14:28:15 +02:00
..
armada8k arm64: mvebu: armada-8k: move dram init code 2020-04-14 13:16:42 +02:00
armada3700 arm64: mvebu: a37xx: add device-tree fixer for PCIe regions 2020-04-14 13:16:42 +02:00
include/mach arm64: mvebu: a37xx: add device-tree fixer for PCIe regions 2020-04-14 13:16:42 +02:00
serdes arm: mvebu: fix SerDes table alignment 2020-04-14 13:16:42 +02:00
.gitignore mvebu: select boot device at SoC level 2018-08-06 14:07:23 +02:00
arm64-common.c arm64: mvebu: a37xx: improve code determining memory info structures 2020-04-14 13:16:42 +02:00
cpu.c common: Move some cache and MMU functions out of common.h 2019-12-02 18:23:55 -05:00
dram.c common: Move RAM-sizing functions to init.h 2020-01-17 14:02:35 -05:00
efuse.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gpio.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Kconfig arm: mvebu: correct SPL boot configs for SPI/MMC 2020-04-22 14:28:15 +02:00
kwbimage.cfg.in mvebu: select boot device at SoC level 2018-08-06 14:07:23 +02:00
lowlevel_spl.S SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Makefile arm: mvebu: Avoid generating kwbimage.cfg in the source tree 2019-10-29 16:17:36 -04:00
mbus.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
spl.c arm: mvebu: update RTC values for PCIe memory wrappers 2020-04-14 13:16:42 +02:00
timer.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00