[U-Boot] [PATCH 1/4] spl: spl_mmc: provide one weak function spl_boot_partition
Lukasz Majewski
lukma at denx.de
Tue Mar 20 14:10:45 UTC 2018
On Tue, 20 Mar 2018 10:54:51 +0100
Patrick Delaunay <patrick.delaunay at st.com> wrote:
> The spl_boot_partition function has been added in order to have
> the possibility to boot on a same binary from different mmc devices
> with different partitions.
>
> By default keep the current behavior, SPL use the partition defined
> by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION.
>
> Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
> Signed-off-by: Christophe KERELLO <christophe.kerello at st.com>
> ---
>
> common/spl/spl_mmc.c | 15 +++++++++++++--
> include/spl.h | 1 +
> 2 files changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
> index 351f4ed..4aa0b2c 100644
> --- a/common/spl/spl_mmc.c
> +++ b/common/spl/spl_mmc.c
> @@ -292,6 +292,14 @@ u32 __weak spl_boot_mode(const u32 boot_device)
> #endif
> }
>
> +#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
> +__weak
> +int spl_boot_partition(const u32 boot_device)
> +{
> + return CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION;
> +}
> +#endif
> +
> int spl_mmc_load_image(struct spl_image_info *spl_image,
> struct spl_boot_device *bootdev)
> {
> @@ -347,8 +355,11 @@ int spl_mmc_load_image(struct spl_image_info
> *spl_image, 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);
> + err = spl_boot_partition(bootdev->boot_device);
> + if (!err)
> + return err;
> +
> + err = mmc_load_image_raw_partition(spl_image, mmc,
> err); if (!err)
> return err;
> #endif
> diff --git a/include/spl.h b/include/spl.h
> index c14448b..5754012 100644
> --- a/include/spl.h
> +++ b/include/spl.h
> @@ -82,6 +82,7 @@ int spl_load_simple_fit(struct spl_image_info
> *spl_image, void preloader_console_init(void);
> u32 spl_boot_device(void);
> u32 spl_boot_mode(const u32 boot_device);
> +int spl_boot_partition(const u32 boot_device);
> void spl_set_bd(void);
>
> /**
Reviewed-by: Lukasz Majewski <lukma at denx.de>
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180320/1204962e/attachment.sig>
More information about the U-Boot
mailing list