resending from a different email address as Gmail rejected my first attempt to send
On Sat, Apr 18, 2020 at 9:18 AM Dennis Gilmore <dgilm...@fedoraproject.org> wrote: > > On Fri, Apr 17, 2020 at 2:19 AM Joel Johnson <mrj...@lixil.net> wrote: > > > > 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. > > Currently, SPL does not find u-boot.bin on the helios4, I am working > on syncing all of the changes done to clearfog to the helios4, > generally speaking, any change made to clearfog needs to also, be made > for the helios4 as they have the same SOM. the differences being in > changes for the carrier board. > > Dennis > > > Tested on SolidRun ClearFog devices. > > > > Signed-off-by: Joel Johnson <mrj...@lixil.net> > > > > --- > > > > This patch unifies two patches from a prior ClearFog specific series > > which caused issues when building for most other mvebu boards. Now > > build and config diff tested for all arm and aarch64 mvebu boards! > > > > The only substantive changes end up being the SPL dependency for boot > > selection, along with defconfig cleanups with Kconfig consolidated > > boot dependent values. > > > > The superfluous addition of SPL_MTD_SUPPORT present in the prior patch > > for SPI booting was also removed. > > > > --- > > arch/arm/mach-mvebu/Kconfig | 12 ++++++++++++ > > configs/clearfog_defconfig | 3 --- > > configs/controlcenterdc_defconfig | 4 ---- > > configs/db-88f6720_defconfig | 4 ---- > > configs/db-88f6820-amc_defconfig | 4 ---- > > configs/db-88f6820-gp_defconfig | 4 ---- > > configs/db-mv784mp-gp_defconfig | 3 --- > > configs/ds414_defconfig | 3 --- > > configs/helios4_defconfig | 1 - > > configs/maxbcm_defconfig | 3 --- > > configs/theadorable_debug_defconfig | 3 --- > > configs/turris_omnia_defconfig | 4 ---- > > configs/x530_defconfig | 4 ---- > > include/configs/helios4.h | 5 ----- > > 14 files changed, 12 insertions(+), 45 deletions(-) > > > > diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig > > index 161dee937f..645990b3ef 100644 > > --- a/arch/arm/mach-mvebu/Kconfig > > +++ b/arch/arm/mach-mvebu/Kconfig > > @@ -232,13 +232,25 @@ config SYS_SOC > > > > choice > > prompt "Boot method" > > + depends on SPL > > > > config MVEBU_SPL_BOOT_DEVICE_SPI > > bool "SPI NOR flash" > > + imply ENV_IS_IN_SPI_FLASH > > + select SPL_DM_SPI > > + select SPL_SPI_FLASH_SUPPORT > > + select SPL_SPI_LOAD > > + select SPL_SPI_SUPPORT > > > > config MVEBU_SPL_BOOT_DEVICE_MMC > > bool "SDIO/MMC card" > > + imply ENV_IS_IN_MMC > > + # GPIO needed for eMMC/SD card presence detection > > + select SPL_DM_GPIO > > + select SPL_DM_MMC > > + select SPL_GPIO_SUPPORT > > select SPL_LIBDISK_SUPPORT > > + select SPL_MMC_SUPPORT > > > > config MVEBU_SPL_BOOT_DEVICE_SATA > > bool "SATA" > > diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig > > index 6db8b8acf6..ada35cb53b 100644 > > --- a/configs/clearfog_defconfig > > +++ b/configs/clearfog_defconfig > > @@ -3,14 +3,12 @@ CONFIG_ARCH_CPU_INIT=y > > CONFIG_SYS_THUMB_BUILD=y > > CONFIG_ARCH_MVEBU=y > > CONFIG_SYS_TEXT_BASE=0x00800000 > > -CONFIG_SPL_GPIO_SUPPORT=y > > CONFIG_SPL_LIBCOMMON_SUPPORT=y > > CONFIG_SPL_LIBGENERIC_SUPPORT=y > > CONFIG_SYS_MALLOC_F_LEN=0x2000 > > CONFIG_TARGET_CLEARFOG=y > > CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y > > CONFIG_DM_GPIO=y > > -CONFIG_SPL_MMC_SUPPORT=y > > CONFIG_SPL_SERIAL_SUPPORT=y > > CONFIG_NR_DRAM_BANKS=2 > > CONFIG_SPL=y > > @@ -42,7 +40,6 @@ CONFIG_CMD_CACHE=y > > CONFIG_CMD_TIME=y > > # CONFIG_SPL_PARTITION_UUIDS is not set > > CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog" > > -CONFIG_ENV_IS_IN_MMC=y > > CONFIG_NET_RANDOM_ETHADDR=y > > CONFIG_SPL_OF_TRANSLATE=y > > CONFIG_AHCI_MVEBU=y > > diff --git a/configs/controlcenterdc_defconfig > > b/configs/controlcenterdc_defconfig > > index 51126cbdc3..524dbc2b39 100644 > > --- a/configs/controlcenterdc_defconfig > > +++ b/configs/controlcenterdc_defconfig > > @@ -14,8 +14,6 @@ CONFIG_NR_DRAM_BANKS=2 > > CONFIG_SPL=y > > CONFIG_DEBUG_UART_BASE=0xd0012000 > > CONFIG_DEBUG_UART_CLOCK=250000000 > > -CONFIG_SPL_SPI_FLASH_SUPPORT=y > > -CONFIG_SPL_SPI_SUPPORT=y > > CONFIG_DEBUG_UART=y > > CONFIG_AHCI=y > > CONFIG_SPL_TEXT_BASE=0x40000030 > > @@ -28,7 +26,6 @@ CONFIG_DISPLAY_BOARDINFO_LATE=y > > CONFIG_LAST_STAGE_INIT=y > > CONFIG_SPL_BOARD_INIT=y > > CONFIG_SPL_SYS_MALLOC_SIMPLE=y > > -CONFIG_SPL_SPI_LOAD=y > > CONFIG_SYS_SPI_U_BOOT_OFFS=0x30000 > > CONFIG_HUSH_PARSER=y > > # CONFIG_CMD_ELF is not set > > @@ -50,7 +47,6 @@ CONFIG_CMD_EXT4=y > > CONFIG_EFI_PARTITION=y > > CONFIG_OF_BOARD_FIXUP=y > > CONFIG_DEFAULT_DEVICE_TREE="armada-38x-controlcenterdc" > > -CONFIG_ENV_IS_IN_SPI_FLASH=y > > CONFIG_USE_ENV_SPI_MAX_HZ=y > > CONFIG_ENV_SPI_MAX_HZ=50000000 > > CONFIG_SYS_RELOC_GD_ENV_ADDR=y > > diff --git a/configs/db-88f6720_defconfig b/configs/db-88f6720_defconfig > > index 42c427b792..068f76bbe4 100644 > > --- a/configs/db-88f6720_defconfig > > +++ b/configs/db-88f6720_defconfig > > @@ -14,8 +14,6 @@ CONFIG_NR_DRAM_BANKS=2 > > CONFIG_SPL=y > > CONFIG_DEBUG_UART_BASE=0xf1012000 > > CONFIG_DEBUG_UART_CLOCK=250000000 > > -CONFIG_SPL_SPI_FLASH_SUPPORT=y > > -CONFIG_SPL_SPI_SUPPORT=y > > CONFIG_DEBUG_UART=y > > CONFIG_SPL_TEXT_BASE=0x40004030 > > # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set > > @@ -25,7 +23,6 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y > > # CONFIG_DISPLAY_BOARDINFO is not set > > CONFIG_DISPLAY_BOARDINFO_LATE=y > > CONFIG_SPL_I2C_SUPPORT=y > > -CONFIG_SPL_SPI_LOAD=y > > CONFIG_SYS_SPI_U_BOOT_OFFS=0x20000 > > CONFIG_CMD_I2C=y > > CONFIG_CMD_SPI=y > > @@ -43,7 +40,6 @@ CONFIG_CMD_FAT=y > > CONFIG_CMD_FS_GENERIC=y > > # CONFIG_DOS_PARTITION is not set > > CONFIG_DEFAULT_DEVICE_TREE="armada-375-db" > > -CONFIG_ENV_IS_IN_SPI_FLASH=y > > CONFIG_USE_ENV_SPI_MAX_HZ=y > > CONFIG_ENV_SPI_MAX_HZ=50000000 > > CONFIG_SYS_RELOC_GD_ENV_ADDR=y > > diff --git a/configs/db-88f6820-amc_defconfig > > b/configs/db-88f6820-amc_defconfig > > index 5bf9eb66ad..e231ca4673 100644 > > --- a/configs/db-88f6820-amc_defconfig > > +++ b/configs/db-88f6820-amc_defconfig > > @@ -14,8 +14,6 @@ CONFIG_NR_DRAM_BANKS=2 > > CONFIG_SPL=y > > CONFIG_DEBUG_UART_BASE=0xd0012000 > > CONFIG_DEBUG_UART_CLOCK=200000000 > > -CONFIG_SPL_SPI_FLASH_SUPPORT=y > > -CONFIG_SPL_SPI_SUPPORT=y > > CONFIG_DEBUG_UART=y > > CONFIG_SPL_TEXT_BASE=0x40000030 > > CONFIG_FIT=y > > @@ -26,7 +24,6 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y > > # CONFIG_DISPLAY_BOARDINFO is not set > > CONFIG_DISPLAY_BOARDINFO_LATE=y > > CONFIG_SPL_I2C_SUPPORT=y > > -CONFIG_SPL_SPI_LOAD=y > > CONFIG_SYS_SPI_U_BOOT_OFFS=0x24000 > > # CONFIG_CMD_FLASH is not set > > CONFIG_CMD_I2C=y > > @@ -48,7 +45,6 @@ CONFIG_EFI_PARTITION=y > > # CONFIG_PARTITION_UUIDS is not set > > # CONFIG_SPL_PARTITION_UUIDS is not set > > CONFIG_DEFAULT_DEVICE_TREE="armada-385-db-88f6820-amc" > > -CONFIG_ENV_IS_IN_SPI_FLASH=y > > CONFIG_USE_ENV_SPI_MAX_HZ=y > > CONFIG_ENV_SPI_MAX_HZ=50000000 > > CONFIG_SYS_RELOC_GD_ENV_ADDR=y > > diff --git a/configs/db-88f6820-gp_defconfig > > b/configs/db-88f6820-gp_defconfig > > index 7e3ee5ec1c..c866131025 100644 > > --- a/configs/db-88f6820-gp_defconfig > > +++ b/configs/db-88f6820-gp_defconfig > > @@ -14,8 +14,6 @@ CONFIG_NR_DRAM_BANKS=2 > > CONFIG_SPL=y > > CONFIG_DEBUG_UART_BASE=0xd0012000 > > CONFIG_DEBUG_UART_CLOCK=250000000 > > -CONFIG_SPL_SPI_FLASH_SUPPORT=y > > -CONFIG_SPL_SPI_SUPPORT=y > > CONFIG_DEBUG_UART=y > > CONFIG_AHCI=y > > CONFIG_SPL_TEXT_BASE=0x40000030 > > @@ -26,7 +24,6 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y > > CONFIG_DISPLAY_BOARDINFO_LATE=y > > CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y > > CONFIG_SPL_I2C_SUPPORT=y > > -CONFIG_SPL_SPI_LOAD=y > > CONFIG_SYS_SPI_U_BOOT_OFFS=0x24000 > > CONFIG_CMD_I2C=y > > CONFIG_CMD_MMC=y > > @@ -48,7 +45,6 @@ CONFIG_EFI_PARTITION=y > > # CONFIG_PARTITION_UUIDS is not set > > # CONFIG_SPL_PARTITION_UUIDS is not set > > CONFIG_DEFAULT_DEVICE_TREE="armada-388-gp" > > -CONFIG_ENV_IS_IN_SPI_FLASH=y > > CONFIG_USE_ENV_SPI_MAX_HZ=y > > CONFIG_ENV_SPI_MAX_HZ=50000000 > > CONFIG_SYS_RELOC_GD_ENV_ADDR=y > > diff --git a/configs/db-mv784mp-gp_defconfig > > b/configs/db-mv784mp-gp_defconfig > > index d3a0d0020a..012149a860 100644 > > --- a/configs/db-mv784mp-gp_defconfig > > +++ b/configs/db-mv784mp-gp_defconfig > > @@ -14,8 +14,6 @@ CONFIG_NR_DRAM_BANKS=2 > > CONFIG_SPL=y > > CONFIG_DEBUG_UART_BASE=0xd0012000 > > CONFIG_DEBUG_UART_CLOCK=250000000 > > -CONFIG_SPL_SPI_FLASH_SUPPORT=y > > -CONFIG_SPL_SPI_SUPPORT=y > > CONFIG_DEBUG_UART=y > > CONFIG_SPL_TEXT_BASE=0x40004030 > > # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set > > @@ -25,7 +23,6 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y > > # CONFIG_DISPLAY_BOARDINFO is not set > > CONFIG_DISPLAY_BOARDINFO_LATE=y > > CONFIG_SPL_I2C_SUPPORT=y > > -CONFIG_SPL_SPI_LOAD=y > > CONFIG_SYS_SPI_U_BOOT_OFFS=0x20000 > > # CONFIG_CMD_FLASH is not set > > CONFIG_CMD_I2C=y > > diff --git a/configs/ds414_defconfig b/configs/ds414_defconfig > > index 435c896e41..01a3909c8c 100644 > > --- a/configs/ds414_defconfig > > +++ b/configs/ds414_defconfig > > @@ -14,8 +14,6 @@ CONFIG_NR_DRAM_BANKS=2 > > CONFIG_SPL=y > > CONFIG_DEBUG_UART_BASE=0xd0012000 > > CONFIG_DEBUG_UART_CLOCK=250000000 > > -CONFIG_SPL_SPI_FLASH_SUPPORT=y > > -CONFIG_SPL_SPI_SUPPORT=y > > CONFIG_DEBUG_UART=y > > CONFIG_SPL_TEXT_BASE=0x40004030 > > CONFIG_BOOTDELAY=3 > > @@ -26,7 +24,6 @@ CONFIG_PREBOOT="usb start; sf probe" > > # CONFIG_DISPLAY_BOARDINFO is not set > > CONFIG_DISPLAY_BOARDINFO_LATE=y > > CONFIG_SPL_I2C_SUPPORT=y > > -CONFIG_SPL_SPI_LOAD=y > > CONFIG_SYS_SPI_U_BOOT_OFFS=0x24000 > > # CONFIG_CMD_FLASH is not set > > CONFIG_CMD_I2C=y > > diff --git a/configs/helios4_defconfig b/configs/helios4_defconfig > > index 1b8d130ebc..0fe8559507 100644 > > --- a/configs/helios4_defconfig > > +++ b/configs/helios4_defconfig > > @@ -38,7 +38,6 @@ CONFIG_CMD_CACHE=y > > CONFIG_CMD_TIME=y > > # CONFIG_SPL_PARTITION_UUIDS is not set > > CONFIG_DEFAULT_DEVICE_TREE="armada-388-helios4" > > -CONFIG_ENV_IS_IN_MMC=y > > CONFIG_NET_RANDOM_ETHADDR=y > > CONFIG_SPL_OF_TRANSLATE=y > > CONFIG_SCSI_AHCI=y > > diff --git a/configs/maxbcm_defconfig b/configs/maxbcm_defconfig > > index 60a87edac0..9cc9d66393 100644 > > --- a/configs/maxbcm_defconfig > > +++ b/configs/maxbcm_defconfig > > @@ -14,8 +14,6 @@ CONFIG_NR_DRAM_BANKS=2 > > CONFIG_SPL=y > > CONFIG_DEBUG_UART_BASE=0xd0012000 > > CONFIG_DEBUG_UART_CLOCK=250000000 > > -CONFIG_SPL_SPI_FLASH_SUPPORT=y > > -CONFIG_SPL_SPI_SUPPORT=y > > CONFIG_DEBUG_UART=y > > CONFIG_SPL_TEXT_BASE=0x40004030 > > CONFIG_BOOTDELAY=3 > > @@ -24,7 +22,6 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y > > # CONFIG_DISPLAY_BOARDINFO is not set > > CONFIG_DISPLAY_BOARDINFO_LATE=y > > CONFIG_SPL_I2C_SUPPORT=y > > -CONFIG_SPL_SPI_LOAD=y > > CONFIG_SYS_SPI_U_BOOT_OFFS=0x20000 > > CONFIG_CMD_I2C=y > > CONFIG_CMD_SPI=y > > diff --git a/configs/theadorable_debug_defconfig > > b/configs/theadorable_debug_defconfig > > index fb12e841cb..616c07ab54 100644 > > --- a/configs/theadorable_debug_defconfig > > +++ b/configs/theadorable_debug_defconfig > > @@ -15,8 +15,6 @@ CONFIG_NR_DRAM_BANKS=2 > > CONFIG_SPL=y > > CONFIG_DEBUG_UART_BASE=0xd0012000 > > CONFIG_DEBUG_UART_CLOCK=250000000 > > -CONFIG_SPL_SPI_FLASH_SUPPORT=y > > -CONFIG_SPL_SPI_SUPPORT=y > > CONFIG_DEBUG_UART=y > > CONFIG_SPL_TEXT_BASE=0x40004030 > > # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set > > @@ -28,7 +26,6 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y > > # CONFIG_DISPLAY_BOARDINFO is not set > > CONFIG_DISPLAY_BOARDINFO_LATE=y > > CONFIG_SPL_I2C_SUPPORT=y > > -CONFIG_SPL_SPI_LOAD=y > > CONFIG_SYS_SPI_U_BOOT_OFFS=0x1a000 > > CONFIG_HUSH_PARSER=y > > CONFIG_CMD_BOOTZ=y > > diff --git a/configs/turris_omnia_defconfig b/configs/turris_omnia_defconfig > > index f3ed9917d5..29c49686e2 100644 > > --- a/configs/turris_omnia_defconfig > > +++ b/configs/turris_omnia_defconfig > > @@ -17,8 +17,6 @@ CONFIG_NR_DRAM_BANKS=2 > > CONFIG_SPL=y > > CONFIG_DEBUG_UART_BASE=0xd0012000 > > CONFIG_DEBUG_UART_CLOCK=250000000 > > -CONFIG_SPL_SPI_FLASH_SUPPORT=y > > -CONFIG_SPL_SPI_SUPPORT=y > > CONFIG_DEBUG_UART=y > > CONFIG_AHCI=y > > CONFIG_SPL_TEXT_BASE=0x40000030 > > @@ -32,7 +30,6 @@ CONFIG_MISC_INIT_R=y > > # CONFIG_DISPLAY_BOARDINFO is not set > > CONFIG_DISPLAY_BOARDINFO_LATE=y > > CONFIG_SPL_I2C_SUPPORT=y > > -CONFIG_SPL_SPI_LOAD=y > > CONFIG_SYS_SPI_U_BOOT_OFFS=0x24000 > > CONFIG_CMD_MEMTEST=y > > CONFIG_SYS_ALT_MEMTEST=y > > @@ -53,7 +50,6 @@ CONFIG_CMD_HASH=y > > CONFIG_CMD_BTRFS=y > > # CONFIG_SPL_PARTITION_UUIDS is not set > > CONFIG_DEFAULT_DEVICE_TREE="armada-385-turris-omnia" > > -CONFIG_ENV_IS_IN_SPI_FLASH=y > > CONFIG_USE_ENV_SPI_MAX_HZ=y > > CONFIG_ENV_SPI_MAX_HZ=50000000 > > CONFIG_SYS_RELOC_GD_ENV_ADDR=y > > diff --git a/configs/x530_defconfig b/configs/x530_defconfig > > index a15b0b46b4..c49211df95 100644 > > --- a/configs/x530_defconfig > > +++ b/configs/x530_defconfig > > @@ -15,8 +15,6 @@ CONFIG_NR_DRAM_BANKS=2 > > CONFIG_SPL=y > > CONFIG_DEBUG_UART_BASE=0xd0012000 > > CONFIG_DEBUG_UART_CLOCK=250000000 > > -CONFIG_SPL_SPI_FLASH_SUPPORT=y > > -CONFIG_SPL_SPI_SUPPORT=y > > CONFIG_DEBUG_UART=y > > CONFIG_SPL_TEXT_BASE=0x40000030 > > CONFIG_FIT=y > > @@ -26,7 +24,6 @@ CONFIG_SILENT_U_BOOT_ONLY=y > > CONFIG_SILENT_CONSOLE_UPDATE_ON_RELOC=y > > CONFIG_MISC_INIT_R=y > > CONFIG_SPL_BOARD_INIT=y > > -CONFIG_SPL_SPI_LOAD=y > > CONFIG_SYS_SPI_U_BOOT_OFFS=0x24000 > > CONFIG_SPL_WATCHDOG_SUPPORT=y > > CONFIG_CMD_MEMINFO=y > > @@ -47,7 +44,6 @@ CONFIG_CMD_EXT4=y > > CONFIG_CMD_FAT=y > > CONFIG_CMD_FS_GENERIC=y > > CONFIG_DEFAULT_DEVICE_TREE="armada-385-atl-x530" > > -CONFIG_ENV_IS_IN_SPI_FLASH=y > > CONFIG_ENV_ADDR=0x100000 > > CONFIG_SPL_OF_TRANSLATE=y > > CONFIG_BLK=y > > diff --git a/include/configs/helios4.h b/include/configs/helios4.h > > index 5a4c9ae066..af595bc7bc 100644 > > --- a/include/configs/helios4.h > > +++ b/include/configs/helios4.h > > @@ -93,16 +93,11 @@ > > #define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4) > > > > #if CONFIG_SPL_BOOT_DEVICE == SPL_BOOT_SPI_NOR_FLASH > > -/* SPL related SPI defines */ > > -#define CONFIG_SPL_SPI_FLASH_SUPPORT > > -#define CONFIG_SPL_SPI_LOAD > > -#define CONFIG_SPL_SPI_SUPPORT > > #define CONFIG_SYS_U_BOOT_OFFS CONFIG_SYS_SPI_U_BOOT_OFFS > > #endif > > > > #if CONFIG_SPL_BOOT_DEVICE == SPL_BOOT_SDIO_MMC_CARD > > /* SPL related MMC defines */ > > -#define CONFIG_SPL_MMC_SUPPORT > > #define CONFIG_SYS_MMC_U_BOOT_OFFS (160 << 10) > > #define CONFIG_SYS_U_BOOT_OFFS CONFIG_SYS_MMC_U_BOOT_OFFS > > #ifdef CONFIG_SPL_BUILD > > -- > > 2.26.1 > >