public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/4] spl: spl_mmc: provide one weak function spl_boot_partition
@ 2018-03-20  9:54 Patrick Delaunay
  2018-03-20  9:54 ` [U-Boot] [PATCH 2/4] stm32mp1: add eMMC support for ED1 Patrick Delaunay
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Patrick Delaunay @ 2018-03-20  9:54 UTC (permalink / raw)
  To: u-boot

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@st.com>
Signed-off-by: Christophe KERELLO <christophe.kerello@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);
 
 /**
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-04-07 13:25 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-20  9:54 [U-Boot] [PATCH 1/4] spl: spl_mmc: provide one weak function spl_boot_partition Patrick Delaunay
2018-03-20  9:54 ` [U-Boot] [PATCH 2/4] stm32mp1: add eMMC support for ED1 Patrick Delaunay
2018-04-07 13:24   ` [U-Boot] [U-Boot,2/4] " Tom Rini
2018-03-20  9:54 ` [U-Boot] [PATCH 3/4] stm32mp1: get boot mode from BootRom Patrick Delaunay
2018-04-07 13:24   ` [U-Boot] [U-Boot,3/4] " Tom Rini
2018-03-20  9:54 ` [U-Boot] [PATCH 4/4] stm32mp1: select boot device and partition Patrick Delaunay
2018-04-07 13:25   ` [U-Boot] [U-Boot, " Tom Rini
2018-03-20 13:24 ` [U-Boot] [PATCH 1/4] spl: spl_mmc: provide one weak function spl_boot_partition Tom Rini
2018-03-20 14:10 ` Lukasz Majewski
2018-04-07 13:24 ` [U-Boot] [U-Boot, " Tom Rini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox