
CONFIG_FIXED_SDHCI_ALIGNED_BUFFER is needed on some Marvell SoCs when booting from MMC. All existing usages of this have the same value so make this the default and have the Kconfig option depend on SPL && MVEBU_SPL_BOOT_DEVICE_MMC.
Signed-off-by: Chris Packham judge.packham@gmail.com ---
drivers/mmc/Kconfig | 13 +++++++++++++ include/configs/clearfog.h | 7 ------- include/configs/controlcenterdc.h | 7 ------- include/configs/db-88f6820-gp.h | 7 ------- include/configs/helios4.h | 7 ------- include/configs/turris_omnia.h | 7 ------- scripts/config_whitelist.txt | 1 - 7 files changed, 13 insertions(+), 36 deletions(-)
diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig index 5e2921ce41a7..c8f9709d2d49 100644 --- a/drivers/mmc/Kconfig +++ b/drivers/mmc/Kconfig @@ -484,6 +484,19 @@ config SPL_MMC_SDHCI_ADMA This enables support for the ADMA (Advanced DMA) defined in the SD Host Controller Standard Specification Version 3.00 in SPL.
+config FIXED_SDHCI_ALIGNED_BUFFER + hex "SDRAM address for fixed buffer" + depends on SPL && MVEBU_SPL_BOOT_DEVICE_MMC + default 0x00180000 + help + On the Marvell Armada 38x when the SPL runs it located in internal + SRAM which is the L2 cache locked to memory. When the MMC buffers + are located on the stack (or bss), the SDIO controller (SDHCI) can't + write into this L2 cache memory. + + This specifies the address of a fixed buffer located in SDRAM that + will be used for all SDHCI transfers in the SPL. + config MMC_SDHCI_ASPEED bool "Aspeed SDHCI controller" depends on ARCH_ASPEED diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h index 871e87c26d01..ec0f0e3ed115 100644 --- a/include/configs/clearfog.h +++ b/include/configs/clearfog.h @@ -56,13 +56,6 @@ #define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10)) #define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
-#if defined(CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC) || defined(CONFIG_MVEBU_SPL_BOOT_DEVICE_SATA) -/* SPL related MMC defines */ -#ifdef CONFIG_SPL_BUILD -#define CONFIG_FIXED_SDHCI_ALIGNED_BUFFER 0x00180000 /* in SDRAM */ -#endif -#endif - /* * mv-common.h should be defined after CMD configs since it used them * to enable certain macros diff --git a/include/configs/controlcenterdc.h b/include/configs/controlcenterdc.h index b499d7085fd4..a8534e59d9b1 100644 --- a/include/configs/controlcenterdc.h +++ b/include/configs/controlcenterdc.h @@ -53,13 +53,6 @@ #define CONFIG_SPL_STACK (0x40000000 + ((212 - 16) << 10)) #define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
-#if CONFIG_SPL_BOOT_DEVICE == SPL_BOOT_SDIO_MMC_CARD -/* SPL related MMC defines */ -#ifdef CONFIG_SPL_BUILD -#define CONFIG_FIXED_SDHCI_ALIGNED_BUFFER 0x00180000 /* in SDRAM */ -#endif -#endif - /* * Environment Configuration */ diff --git a/include/configs/db-88f6820-gp.h b/include/configs/db-88f6820-gp.h index 8dc73e8b1cc9..b4b58e0bcb8a 100644 --- a/include/configs/db-88f6820-gp.h +++ b/include/configs/db-88f6820-gp.h @@ -53,13 +53,6 @@ #define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10)) #define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
-#if CONFIG_SPL_BOOT_DEVICE == SPL_BOOT_SDIO_MMC_CARD -/* SPL related MMC defines */ -#ifdef CONFIG_SPL_BUILD -#define CONFIG_FIXED_SDHCI_ALIGNED_BUFFER 0x00180000 /* in SDRAM */ -#endif -#endif - /* * mv-common.h should be defined after CMD configs since it used them * to enable certain macros diff --git a/include/configs/helios4.h b/include/configs/helios4.h index 151ab66f4c3f..62a52e68b56a 100644 --- a/include/configs/helios4.h +++ b/include/configs/helios4.h @@ -56,13 +56,6 @@ #define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10)) #define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
-#if defined(CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC) || defined(CONFIG_MVEBU_SPL_BOOT_DEVICE_SATA) -/* SPL related MMC defines */ -#ifdef CONFIG_SPL_BUILD -#define CONFIG_FIXED_SDHCI_ALIGNED_BUFFER 0x00180000 /* in SDRAM */ -#endif -#endif - /* * mv-common.h should be defined after CMD configs since it used them * to enable certain macros diff --git a/include/configs/turris_omnia.h b/include/configs/turris_omnia.h index 8119340b112f..112ddd3f4961 100644 --- a/include/configs/turris_omnia.h +++ b/include/configs/turris_omnia.h @@ -36,13 +36,6 @@ #define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10)) #define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
-#ifdef CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC -/* SPL related MMC defines */ -# ifdef CONFIG_SPL_BUILD -# define CONFIG_FIXED_SDHCI_ALIGNED_BUFFER 0x00180000 /* in SDRAM */ -# endif -#endif - /* * mv-common.h should be defined after CMD configs since it used them * to enable certain macros diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index cecdda678191..25962b735f27 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -87,7 +87,6 @@ CONFIG_FDTFILE CONFIG_FEC_ENET_DEV CONFIG_FEC_FIXED_SPEED CONFIG_FEC_MXC_PHYADDR -CONFIG_FIXED_SDHCI_ALIGNED_BUFFER CONFIG_FLASH_BR_PRELIM CONFIG_FLASH_CFI_LEGACY CONFIG_FLASH_OR_PRELIM