[U-Boot] [PATCH v2 2/3] spl: mmc: Add option to set eMMC HW boot partition
Andreas Dannenberg
dannenberg at ti.com
Mon Aug 19 15:50:30 UTC 2019
On Mon, Aug 19, 2019 at 09:42:09AM +0200, Lukasz Majewski wrote:
> From: Mans Rullgard <mans at mansr.com>
>
> This change allows setting pre-defined eMMC boot partition for SPL eMMC
> booting. It is necessary in the case when one wants to boot (through falcon
> boot) from eMMC after loading SPL from other memory (like SPI-NOR).
>
> Signed-off-by: Mans Rullgard <mans at mansr.com>
> [lukma: Edit the commit message]
> Signed-off-by: Lukasz Majewski <lukma at denx.de>
Acked-by: Andreas Dannenberg <dannenberg at ti.com>
Regards, Andreas
> ---
>
> Changes in v2: None
>
> common/spl/Kconfig | 6 ++++++
> common/spl/spl_mmc.c | 4 ++++
> 2 files changed, 10 insertions(+)
>
> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
> index 0a3877ec28..4fe4a1359c 100644
> --- a/common/spl/Kconfig
> +++ b/common/spl/Kconfig
> @@ -293,6 +293,12 @@ 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_EMMC_BOOT_PARTITION
> + int "Number of the eMMC boot partition to use"
> + default 1
> + help
> + eMMC boot partition number to use when the eMMC in raw mode.
> +
> config SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
> bool "MMC Raw mode: by partition"
> help
> diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
> index 2caceb5186..a4d2e63b82 100644
> --- a/common/spl/spl_mmc.c
> +++ b/common/spl/spl_mmc.c
> @@ -334,6 +334,9 @@ int spl_mmc_load(struct spl_image_info *spl_image,
> err = -EINVAL;
> switch (boot_mode) {
> case MMCSD_MODE_EMMCBOOT:
> +#ifdef CONFIG_SYS_MMCSD_RAW_MODE_EMMC_BOOT_PARTITION
> + part = CONFIG_SYS_MMCSD_RAW_MODE_EMMC_BOOT_PARTITION;
> +#else
> /*
> * We need to check what the partition is configured to.
> * 1 and 2 match up to boot0 / boot1 and 7 is user data
> @@ -343,6 +346,7 @@ int spl_mmc_load(struct spl_image_info *spl_image,
>
> if (part == 7)
> part = 0;
> +#endif
>
> if (CONFIG_IS_ENABLED(MMC_TINY))
> err = mmc_switch_part(mmc, part);
> --
> 2.11.0
>
More information about the U-Boot
mailing list