[PATCH 2/3] Convert CONFIG_FIXED_SDHCI_ALIGNED_BUFFER to Kconfig

Stefan Roese sr at denx.de
Mon May 30 08:52:48 CEST 2022


On 29.05.22 01:13, Chris Packham wrote:
> 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 at gmail.com>

Reviewed-by: Stefan Roese <sr at denx.de>

Thanks,
Stefan

> ---
> 
>   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

Viele Grüße,
Stefan Roese

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list