aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Packham <judge.packham@gmail.com>2022-05-29 11:13:17 +1200
committerTom Rini <trini@konsulko.com>2022-06-06 12:09:29 -0400
commitb19512f1cf28b853d308079c421e9c4c564b2242 (patch)
tree47a515772178fc48819e099fe7988fdd76d4d363
parentbfbd62f69114fb4a8a1685e5d95b2e5789422fd4 (diff)
downloadu-boot-b19512f1cf28b853d308079c421e9c4c564b2242.tar.gz
Convert CONFIG_FIXED_SDHCI_ALIGNED_BUFFER to Kconfig
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> Reviewed-by: Marek BehĂșn <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de>
-rw-r--r--drivers/mmc/Kconfig13
-rw-r--r--include/configs/clearfog.h9
-rw-r--r--include/configs/controlcenterdc.h7
-rw-r--r--include/configs/db-88f6820-gp.h7
-rw-r--r--include/configs/helios4.h9
-rw-r--r--include/configs/turris_omnia.h7
6 files changed, 13 insertions, 39 deletions
diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
index 5e2921ce41a..c8f9709d2d4 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 4aaeba3602d..8497fe28eff 100644
--- a/include/configs/clearfog.h
+++ b/include/configs/clearfog.h
@@ -40,15 +40,6 @@
"fdt_high=0x10000000\0" \
"initrd_high=0x10000000\0"
-/* SPL */
-
-#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 571fdb3b07c..8b0d2603104 100644
--- a/include/configs/controlcenterdc.h
+++ b/include/configs/controlcenterdc.h
@@ -34,13 +34,6 @@
#define SPL_BOOT_SDIO_MMC_CARD 2
#define CONFIG_SPL_BOOT_DEVICE SPL_BOOT_SPI_NOR_FLASH
-#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 acc09da89d3..e01dd492530 100644
--- a/include/configs/db-88f6820-gp.h
+++ b/include/configs/db-88f6820-gp.h
@@ -39,13 +39,6 @@
#define SPL_BOOT_SDIO_MMC_CARD 2
#define CONFIG_SPL_BOOT_DEVICE SPL_BOOT_SPI_NOR_FLASH
-#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 c8aa564097b..23eb0d4375d 100644
--- a/include/configs/helios4.h
+++ b/include/configs/helios4.h
@@ -40,15 +40,6 @@
"fdt_high=0x10000000\0" \
"initrd_high=0x10000000\0"
-/* SPL */
-
-#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 c4671f11160..9013d9a6932 100644
--- a/include/configs/turris_omnia.h
+++ b/include/configs/turris_omnia.h
@@ -26,13 +26,6 @@
"fdt_high=0x10000000\0" \
"initrd_high=0x10000000\0"
-#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