[U-Boot] [PATCH v4 0/2] SPL: Add support to boot a partition type

From: Dalon Westergreen dalon.westergreen@intel.com
This adds support for the spl to seach for and boot from an arbitrary partition type rather then a specific partition number. When USE_PARTITION_TYPE is enabled, splwill search for the partition type but fallback to the specified partition number.
In addition to the above, move SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION to Kconfig.
Dalon Westergreen (2): SPL: add support to boot from a partition type SPL: Move SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION to Kconfig
common/spl/Kconfig | 33 +++++++++++++++++++++++++++++++++ common/spl/spl_mmc.c | 27 ++++++++++++++++++--------- configs/db-88f6820-gp_defconfig | 1 + configs/kc1_defconfig | 2 ++ configs/sniper_defconfig | 2 ++ disk/part_dos.c | 1 + include/configs/db-88f6820-gp.h | 1 - include/configs/kc1.h | 2 -- include/configs/sniper.h | 2 -- include/configs/socfpga_common.h | 2 -- include/part.h | 3 +++ 11 files changed, 60 insertions(+), 16 deletions(-)

From: Dalon Westergreen dalon.westergreen@intel.com
the socfpga bootrom supports mmc booting from either a raw image starting at 0x0, or from a partition of type 0xa2. This patch adds support for locating the boot image in the first type 0xa2 partition found.
Assigned a partition number of -1 will cause a search for a partition of type CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE and use it to find the u-boot image
Signed-off-by: Dalon Westergreen dwesterg@gmail.com
-- Changes in V5: - fix styling in if (..) per Tom's request Changes in V4: - Try search for partition type and failover to the defined partition number Changes in V3: - Add depends on DOS_PARTITION - Ensure that PARTTION_TYPE defaults to non-zero - Add ifdef around sys_ind in disk_partition structure Changes in V2: - Merge partition search into single partition function --- common/spl/Kconfig | 17 +++++++++++++++++ common/spl/spl_mmc.c | 15 +++++++++++++++ disk/part_dos.c | 1 + include/part.h | 3 +++ 4 files changed, 36 insertions(+)
diff --git a/common/spl/Kconfig b/common/spl/Kconfig index b2ba492..37e002f 100644 --- a/common/spl/Kconfig +++ b/common/spl/Kconfig @@ -96,6 +96,23 @@ 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_TYPE + bool "MMC raw mode: by partition type" + depends on SPL && DOS_PARTITION + default y if ARCH_SOCFPGA + help + Use partition type for specifying U-Boot partition on MMC/SD in + raw mode. U-Boot will be loaded from the first partition of this + type to be found. + +config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE + hex "Partition Type on the MMC to load U-Boot from" + depends on SPL && SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE + default 0xa2 + help + Partition Type on the MMC to load U-Boot from, when the MMC is being + used in raw mode. + config TPL bool depends on SPL && SUPPORT_TPL diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index 0cd355c..f127aee 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -157,6 +157,21 @@ static int mmc_load_image_raw_partition(struct spl_image_info *spl_image, disk_partition_t info; int err;
+#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE + int type_part; + /* Only support MBR so DOS_ENTRY_NUMBERS */ + for (type_part = 1; type_part <= DOS_ENTRY_NUMBERS; type_part++) { + err = part_get_info(mmc_get_blk_desc(mmc), type_part, &info); + if (err) + continue; + if (info.sys_ind == \ + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE) { + partition = type_part; + break; + } + } +#endif + err = part_get_info(mmc_get_blk_desc(mmc), partition, &info); if (err) { #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT diff --git a/disk/part_dos.c b/disk/part_dos.c index c77d881..7ede15e 100644 --- a/disk/part_dos.c +++ b/disk/part_dos.c @@ -217,6 +217,7 @@ static int part_get_info_extended(struct blk_desc *dev_desc, #if CONFIG_IS_ENABLED(PARTITION_UUIDS) sprintf(info->uuid, "%08x-%02x", disksig, part_num); #endif + info->sys_ind = pt->sys_ind; return 0; }
diff --git a/include/part.h b/include/part.h index 9d0e20d..b6d1b33 100644 --- a/include/part.h +++ b/include/part.h @@ -59,6 +59,9 @@ typedef struct disk_partition { #ifdef CONFIG_PARTITION_TYPE_GUID char type_guid[37]; /* type GUID as string, if exists */ #endif +#ifdef CONFIG_DOS_PARTITION + uchar sys_ind; /* partition type */ +#endif } disk_partition_t;
/* Misc _get_dev functions */

On 02/03/2017 07:36 PM, Dalon Westergreen wrote:
From: Dalon Westergreen dalon.westergreen@intel.com
the socfpga bootrom supports mmc booting from either a raw image starting at 0x0, or from a partition of type 0xa2. This patch adds support for locating the boot image in the first type 0xa2 partition found.
Assigned a partition number of -1 will cause a search for a partition of type CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE and use it to find the u-boot image
Signed-off-by: Dalon Westergreen dwesterg@gmail.com
-- Changes in V5:
- fix styling in if (..) per Tom's request
Changes in V4:
- Try search for partition type and failover to the defined partition number
Changes in V3:
- Add depends on DOS_PARTITION
- Ensure that PARTTION_TYPE defaults to non-zero
- Add ifdef around sys_ind in disk_partition structure
Changes in V2:
- Merge partition search into single partition function
common/spl/Kconfig | 17 +++++++++++++++++ common/spl/spl_mmc.c | 15 +++++++++++++++ disk/part_dos.c | 1 + include/part.h | 3 +++ 4 files changed, 36 insertions(+)
diff --git a/common/spl/Kconfig b/common/spl/Kconfig index b2ba492..37e002f 100644 --- a/common/spl/Kconfig +++ b/common/spl/Kconfig @@ -96,6 +96,23 @@ 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_TYPE
- bool "MMC raw mode: by partition type"
- depends on SPL && DOS_PARTITION
- default y if ARCH_SOCFPGA
- help
Use partition type for specifying U-Boot partition on MMC/SD in
raw mode. U-Boot will be loaded from the first partition of this
type to be found.
+config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE
- hex "Partition Type on the MMC to load U-Boot from"
- depends on SPL && SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
- default 0xa2
- help
Partition Type on the MMC to load U-Boot from, when the MMC is being
used in raw mode.
config TPL bool depends on SPL && SUPPORT_TPL diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index 0cd355c..f127aee 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -157,6 +157,21 @@ static int mmc_load_image_raw_partition(struct spl_image_info *spl_image, disk_partition_t info; int err;
+#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
- int type_part;
- /* Only support MBR so DOS_ENTRY_NUMBERS */
- for (type_part = 1; type_part <= DOS_ENTRY_NUMBERS; type_part++) {
err = part_get_info(mmc_get_blk_desc(mmc), type_part, &info);
if (err)
continue;
if (info.sys_ind == \
The backslash here is not needed.
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE) {
partition = type_part;
break;
}
- }
+#endif
- err = part_get_info(mmc_get_blk_desc(mmc), partition, &info); if (err) {
#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT diff --git a/disk/part_dos.c b/disk/part_dos.c index c77d881..7ede15e 100644 --- a/disk/part_dos.c +++ b/disk/part_dos.c @@ -217,6 +217,7 @@ static int part_get_info_extended(struct blk_desc *dev_desc, #if CONFIG_IS_ENABLED(PARTITION_UUIDS) sprintf(info->uuid, "%08x-%02x", disksig, part_num); #endif
}info->sys_ind = pt->sys_ind; return 0;
diff --git a/include/part.h b/include/part.h index 9d0e20d..b6d1b33 100644 --- a/include/part.h +++ b/include/part.h @@ -59,6 +59,9 @@ typedef struct disk_partition { #ifdef CONFIG_PARTITION_TYPE_GUID char type_guid[37]; /* type GUID as string, if exists */ #endif +#ifdef CONFIG_DOS_PARTITION
- uchar sys_ind; /* partition type */
+#endif } disk_partition_t;
/* Misc _get_dev functions */

From: Dalon Westergreen dalon.westergreen@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@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 + 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); 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

On 02/03/2017 07:36 PM, Dalon Westergreen wrote:
From: Dalon Westergreen dalon.westergreen@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@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 && \
default y if ARCH_SOCFPGA help Use partition type for specifying U-Boot partition on MMC/SD inSYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
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

On Fri, 2017-02-03 at 10:36 -0800, Dalon Westergreen wrote:
From: Dalon Westergreen dalon.westergreen@intel.com
This adds support for the spl to seach for and boot from an arbitrary partition type rather then a specific partition number. When USE_PARTITION_TYPE is enabled, splwill search for the partition type but fallback to the specified partition number.
In addition to the above, move SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION to Kconfig.
Dalon Westergreen (2): SPL: add support to boot from a partition type SPL: Move SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION to Kconfig
common/spl/Kconfig | 33 +++++++++++++++++++++++++++++++++ common/spl/spl_mmc.c | 27 ++++++++++++++++++--------- configs/db-88f6820-gp_defconfig | 1 + configs/kc1_defconfig | 2 ++ configs/sniper_defconfig | 2 ++ disk/part_dos.c | 1 + include/configs/db-88f6820-gp.h | 1 - include/configs/kc1.h | 2 -- include/configs/sniper.h | 2 -- include/configs/socfpga_common.h | 2 -- include/part.h | 3 +++ 11 files changed, 60 insertions(+), 16 deletions(-)
Marek, I was wondering if you have had a chance to look this over?
--dalon

On 02/09/2017 01:15 AM, Dalon Westergreen wrote:
On Fri, 2017-02-03 at 10:36 -0800, Dalon Westergreen wrote:
From: Dalon Westergreen dalon.westergreen@intel.com
This adds support for the spl to seach for and boot from an arbitrary partition type rather then a specific partition number. When USE_PARTITION_TYPE is enabled, splwill search for the partition type but fallback to the specified partition number.
In addition to the above, move SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION to Kconfig.
Dalon Westergreen (2): SPL: add support to boot from a partition type SPL: Move SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION to Kconfig
common/spl/Kconfig | 33 +++++++++++++++++++++++++++++++++ common/spl/spl_mmc.c | 27 ++++++++++++++++++--------- configs/db-88f6820-gp_defconfig | 1 + configs/kc1_defconfig | 2 ++ configs/sniper_defconfig | 2 ++ disk/part_dos.c | 1 + include/configs/db-88f6820-gp.h | 1 - include/configs/kc1.h | 2 -- include/configs/sniper.h | 2 -- include/configs/socfpga_common.h | 2 -- include/part.h | 3 +++ 11 files changed, 60 insertions(+), 16 deletions(-)
Marek, I was wondering if you have had a chance to look this over?
Looks generally OK, just a few minor nits.

On Thu, 2017-02-09 at 11:06 +0100, Marek Vasut wrote:
On 02/09/2017 01:15 AM, Dalon Westergreen wrote:
On Fri, 2017-02-03 at 10:36 -0800, Dalon Westergreen wrote:
From: Dalon Westergreen dalon.westergreen@intel.com
This adds support for the spl to seach for and boot from an arbitrary partition type rather then a specific partition number. When USE_PARTITION_TYPE is enabled, splwill search for the partition type but fallback to the specified partition number.
In addition to the above, move SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION to Kconfig.
Dalon Westergreen (2): SPL: add support to boot from a partition type SPL: Move SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION to Kconfig
common/spl/Kconfig | 33 +++++++++++++++++++++++++++++++++ common/spl/spl_mmc.c | 27 ++++++++++++++++++--------- configs/db-88f6820-gp_defconfig | 1 + configs/kc1_defconfig | 2 ++ configs/sniper_defconfig | 2 ++ disk/part_dos.c | 1 + include/configs/db-88f6820-gp.h | 1 - include/configs/kc1.h | 2 -- include/configs/sniper.h | 2 -- include/configs/socfpga_common.h | 2 -- include/part.h | 3 +++ 11 files changed, 60 insertions(+), 16 deletions(-)
Marek, I was wondering if you have had a chance to look this over?
Looks generally OK, just a few minor nits.
thanks, i will clean them up.

On 02/09/2017 03:28 PM, Dalon Westergreen wrote:
On Thu, 2017-02-09 at 11:06 +0100, Marek Vasut wrote:
On 02/09/2017 01:15 AM, Dalon Westergreen wrote:
On Fri, 2017-02-03 at 10:36 -0800, Dalon Westergreen wrote:
From: Dalon Westergreen dalon.westergreen@intel.com
This adds support for the spl to seach for and boot from an arbitrary partition type rather then a specific partition number. When USE_PARTITION_TYPE is enabled, splwill search for the partition type but fallback to the specified partition number.
In addition to the above, move SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION to Kconfig.
Dalon Westergreen (2): SPL: add support to boot from a partition type SPL: Move SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION to Kconfig
common/spl/Kconfig | 33 +++++++++++++++++++++++++++++++++ common/spl/spl_mmc.c | 27 ++++++++++++++++++--------- configs/db-88f6820-gp_defconfig | 1 + configs/kc1_defconfig | 2 ++ configs/sniper_defconfig | 2 ++ disk/part_dos.c | 1 + include/configs/db-88f6820-gp.h | 1 - include/configs/kc1.h | 2 -- include/configs/sniper.h | 2 -- include/configs/socfpga_common.h | 2 -- include/part.h | 3 +++ 11 files changed, 60 insertions(+), 16 deletions(-)
Marek, I was wondering if you have had a chance to look this over?
Looks generally OK, just a few minor nits.
thanks, i will clean them up.
Thanks!
participants (2)
-
Dalon Westergreen
-
Marek Vasut