[U-Boot] [PATCH v4 2/2] SPL: Move SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION to Kconfig

Marek Vasut marex at denx.de
Thu Feb 9 10:06:46 UTC 2017


On 02/03/2017 07:36 PM, Dalon Westergreen wrote:
> From: Dalon Westergreen <dalon.westergreen at intel.com>
> 
> Added SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION and
> SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION to Kconfig.
> 
> set to default y for socfpga platforms, and add appropriate
> configurations for kc1, snipper, and db-88f6820-gp boards.
> 
> Signed-off-by: Dalon Westergreen <dwesterg at gmail.com>
> 
> --
> Changes in v2:
>   -> Remove SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION from socfpga_common.h
>   -> wrong ifdef around mmc_load_image_raw_partition should be
>      CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
> 
> fix use_sector
> ---
>  common/spl/Kconfig               | 18 +++++++++++++++++-
>  common/spl/spl_mmc.c             | 12 +++---------
>  configs/db-88f6820-gp_defconfig  |  1 +
>  configs/kc1_defconfig            |  2 ++
>  configs/sniper_defconfig         |  2 ++
>  include/configs/db-88f6820-gp.h  |  1 -
>  include/configs/kc1.h            |  2 --
>  include/configs/sniper.h         |  2 --
>  include/configs/socfpga_common.h |  2 --
>  9 files changed, 25 insertions(+), 17 deletions(-)
> 
> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
> index 37e002f..120381a 100644
> --- a/common/spl/Kconfig
> +++ b/common/spl/Kconfig
> @@ -96,9 +96,25 @@ config SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
>  	  Address on the MMC to load U-Boot from, when the MMC is being used
>  	  in raw mode. Units: MMC sectors (1 sector = 512 bytes).
>  
> +config SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
> +	bool "MMC Raw mode: by partition"
> +	depends on SPL
> +	default y if ARCH_SOCFPGA

This is IMO wrong, it should be selected by ARCH_SOCFPGA in
arch/arm/Kconfig .

> +	help
> +	  Use a partition for loading U-Boot when using MMC/SD in raw mode.
> +
> +config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION
> +	hex "Partition to use to load U-Boot from"
> +	depends on SPL && SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
> +	default 1
> +	help
> +	  Partition on the MMC to load U-Boot from when the MMC is being
> +	  used in raw mode
> +
>  config SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
>  	bool "MMC raw mode: by partition type"
> -	depends on SPL && DOS_PARTITION
> +	depends on SPL && DOS_PARTITION && \
> +		SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
>  	default y if ARCH_SOCFPGA
>  	help
>  	  Use partition type for specifying U-Boot partition on MMC/SD in
> diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
> index f127aee..956695b 100644
> --- a/common/spl/spl_mmc.c
> +++ b/common/spl/spl_mmc.c
> @@ -150,7 +150,7 @@ static int spl_mmc_find_device(struct mmc **mmcp, u32 boot_device)
>  	return 0;
>  }
>  
> -#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION
> +#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
>  static int mmc_load_image_raw_partition(struct spl_image_info *spl_image,
>  					struct mmc *mmc, int partition)
>  {
> @@ -187,13 +187,6 @@ static int mmc_load_image_raw_partition(struct spl_image_info *spl_image,
>  	return mmc_load_image_raw_sector(spl_image, mmc, info.start);
>  #endif
>  }
> -#else
> -#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION -1
> -static int mmc_load_image_raw_partition(struct spl_image_info *spl_image,
> -					struct mmc *mmc, int partition)
> -{
> -	return -ENOSYS;
> -}
>  #endif
>  
>  #ifdef CONFIG_SPL_OS_BOOT
> @@ -341,11 +334,12 @@ int spl_mmc_load_image(struct spl_image_info *spl_image,
>  			if (!err)
>  				return err;
>  		}
> -
> +#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
>  		err = mmc_load_image_raw_partition(spl_image, mmc,
>  			CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION);
>  		if (!err)
>  			return err;
> +#endif
>  #ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
>  		err = mmc_load_image_raw_sector(spl_image, mmc,
>  			CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR);


The defconfig stuff should be in a separate patch IMO.

> diff --git a/configs/db-88f6820-gp_defconfig b/configs/db-88f6820-gp_defconfig
> index 1347550..fec5e56 100644
> --- a/configs/db-88f6820-gp_defconfig
> +++ b/configs/db-88f6820-gp_defconfig
> @@ -51,3 +51,4 @@ CONFIG_USB=y
>  CONFIG_DM_USB=y
>  CONFIG_USB_EHCI_HCD=y
>  CONFIG_USB_STORAGE=y
> +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y
> diff --git a/configs/kc1_defconfig b/configs/kc1_defconfig
> index d9895d7..ffaaec3 100644
> --- a/configs/kc1_defconfig
> +++ b/configs/kc1_defconfig
> @@ -36,3 +36,5 @@ CONFIG_G_DNL_MANUFACTURER="Texas Instruments"
>  CONFIG_G_DNL_VENDOR_NUM=0x0451
>  CONFIG_G_DNL_PRODUCT_NUM=0xd022
>  CONFIG_OF_LIBFDT=y
> +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y
> +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=2
> diff --git a/configs/sniper_defconfig b/configs/sniper_defconfig
> index fbdbc0c..9dd737f 100644
> --- a/configs/sniper_defconfig
> +++ b/configs/sniper_defconfig
> @@ -37,3 +37,5 @@ CONFIG_G_DNL_MANUFACTURER="Texas Instruments"
>  CONFIG_G_DNL_VENDOR_NUM=0x0451
>  CONFIG_G_DNL_PRODUCT_NUM=0xd022
>  CONFIG_OF_LIBFDT=y
> +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y
> +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=2
> diff --git a/include/configs/db-88f6820-gp.h b/include/configs/db-88f6820-gp.h
> index 1fdeedd..cc2bfbe 100644
> --- a/include/configs/db-88f6820-gp.h
> +++ b/include/configs/db-88f6820-gp.h
> @@ -123,7 +123,6 @@
>  
>  #if CONFIG_SPL_BOOT_DEVICE == SPL_BOOT_SDIO_MMC_CARD
>  /* SPL related MMC defines */
> -#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION 1
>  #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
> diff --git a/include/configs/kc1.h b/include/configs/kc1.h
> index 33b6a98..fed70f9 100644
> --- a/include/configs/kc1.h
> +++ b/include/configs/kc1.h
> @@ -113,8 +113,6 @@
>  #define CONFIG_SPL_LDSCRIPT		"arch/arm/mach-omap2/u-boot-spl.lds"
>  #define CONFIG_SPL_BOARD_INIT
>  
> -#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION	2
> -
>  /*
>   * Console
>   */
> diff --git a/include/configs/sniper.h b/include/configs/sniper.h
> index 4f8a9f8..06519fb 100644
> --- a/include/configs/sniper.h
> +++ b/include/configs/sniper.h
> @@ -121,8 +121,6 @@
>  #define CONFIG_SPL_LDSCRIPT		"arch/arm/mach-omap2/u-boot-spl.lds"
>  #define CONFIG_SPL_BOARD_INIT
>  
> -#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION	2
> -
>  #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION		1
>  #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME			"u-boot.img"
>  
> diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
> index 8bbe3c5..a5725cb 100644
> --- a/include/configs/socfpga_common.h
> +++ b/include/configs/socfpga_common.h
> @@ -311,8 +311,6 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
>  #if defined(CONFIG_SPL_FAT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT)
>  #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION	2
>  #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME		"u-boot-dtb.img"
> -#else
> -#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION	1
>  #endif
>  #endif
>  
> 


-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list