From: Dalon Westergreen <dalon.westergr...@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 <dwest...@gmail.com>
---
 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 --
 8 files changed, 25 insertions(+), 15 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 8119fc1..c2e2d90 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_SECTOR 
                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 beb14bc..77d2722 100644
--- a/include/configs/db-88f6820-gp.h
+++ b/include/configs/db-88f6820-gp.h
@@ -124,7 +124,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 8223f5a..7aa511f 100644
--- a/include/configs/kc1.h
+++ b/include/configs/kc1.h
@@ -119,8 +119,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 f41d6f6..c5b7425 100644
--- a/include/configs/sniper.h
+++ b/include/configs/sniper.h
@@ -127,8 +127,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"
 
-- 
2.7.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to