projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'u-boot-stm32-20190412' of https://github.com/patrickdelaunay/u-boot
[oweals/u-boot.git]
/
common
/
spl
/
spl_mmc.c
diff --git
a/common/spl/spl_mmc.c
b/common/spl/spl_mmc.c
index db5be3dfa5f67bc9d652a549e9c1bc632b1c828e..324d91c88404b6e86d4e58f5ee0b77c8e00300b4 100644
(file)
--- a/
common/spl/spl_mmc.c
+++ b/
common/spl/spl_mmc.c
@@
-55,13
+55,13
@@
int mmc_load_image_raw_sector(struct spl_image_info *spl_image,
{
unsigned long count;
struct image_header *header;
{
unsigned long count;
struct image_header *header;
+ struct blk_desc *bd = mmc_get_blk_desc(mmc);
int ret = 0;
int ret = 0;
- header = (struct image_header *)(CONFIG_SYS_TEXT_BASE -
- sizeof(struct image_header));
+ header = spl_get_load_buffer(-sizeof(*header), bd->blksz);
/* read image header to find the image size & load address */
/* read image header to find the image size & load address */
- count = blk_dread(
mmc_get_blk_desc(mmc)
, sector, 1, header);
+ count = blk_dread(
bd
, sector, 1, header);
debug("hdr read sector %lx, count=%lu\n", sector, count);
if (count == 0) {
ret = -EIO;
debug("hdr read sector %lx, count=%lu\n", sector, count);
if (count == 0) {
ret = -EIO;
@@
-140,7
+140,8
@@
static int spl_mmc_find_device(struct mmc **mmcp, u32 boot_device)
#endif
if (err) {
#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
#endif
if (err) {
#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
- printf("spl: could not find mmc device. error: %d\n", err);
+ printf("spl: could not find mmc device %d. error: %d\n",
+ mmc_dev, err);
#endif
return err;
}
#endif
return err;
}
@@
-191,9
+192,11
@@
static int mmc_load_image_raw_partition(struct spl_image_info *spl_image,
static int mmc_load_image_raw_os(struct spl_image_info *spl_image,
struct mmc *mmc)
{
static int mmc_load_image_raw_os(struct spl_image_info *spl_image,
struct mmc *mmc)
{
- unsigned long count;
int ret;
int ret;
+#if defined(CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR)
+ unsigned long count;
+
count = blk_dread(mmc_get_blk_desc(mmc),
CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR,
CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS,
count = blk_dread(mmc_get_blk_desc(mmc),
CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR,
CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS,
@@
-204,6
+207,7
@@
static int mmc_load_image_raw_os(struct spl_image_info *spl_image,
#endif
return -1;
}
#endif
return -1;
}
+#endif /* CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR */
ret = mmc_load_image_raw_sector(spl_image, mmc,
CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR);
ret = mmc_load_image_raw_sector(spl_image, mmc,
CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR);
@@
-234,7
+238,7
@@
static int spl_mmc_do_fs_boot(struct spl_image_info *spl_image, struct mmc *mmc)
{
int err = -ENOSYS;
{
int err = -ENOSYS;
-#ifdef CONFIG_SPL_F
AT_SUPPOR
T
+#ifdef CONFIG_SPL_F
S_FA
T
if (!spl_start_uboot()) {
err = spl_load_image_fat_os(spl_image, mmc_get_blk_desc(mmc),
CONFIG_SYS_MMCSD_FS_BOOT_PARTITION);
if (!spl_start_uboot()) {
err = spl_load_image_fat_os(spl_image, mmc_get_blk_desc(mmc),
CONFIG_SYS_MMCSD_FS_BOOT_PARTITION);
@@
-249,7
+253,7
@@
static int spl_mmc_do_fs_boot(struct spl_image_info *spl_image, struct mmc *mmc)
return err;
#endif
#endif
return err;
#endif
#endif
-#ifdef CONFIG_SPL_
EXT_SUPPORT
+#ifdef CONFIG_SPL_
FS_EXT4
if (!spl_start_uboot()) {
err = spl_load_image_ext_os(spl_image, mmc_get_blk_desc(mmc),
CONFIG_SYS_MMCSD_FS_BOOT_PARTITION);
if (!spl_start_uboot()) {
err = spl_load_image_ext_os(spl_image, mmc_get_blk_desc(mmc),
CONFIG_SYS_MMCSD_FS_BOOT_PARTITION);
@@
-265,7
+269,7
@@
static int spl_mmc_do_fs_boot(struct spl_image_info *spl_image, struct mmc *mmc)
#endif
#endif
#endif
#endif
-#if defined(CONFIG_SPL_F
AT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT
)
+#if defined(CONFIG_SPL_F
S_FAT) || defined(CONFIG_SPL_FS_EXT4
)
err = -ENOENT;
#endif
err = -ENOENT;
#endif
@@
-280,7
+284,7
@@
static int spl_mmc_do_fs_boot(struct spl_image_info *spl_image, struct mmc *mmc)
u32 __weak spl_boot_mode(const u32 boot_device)
{
u32 __weak spl_boot_mode(const u32 boot_device)
{
-#if defined(CONFIG_SPL_F
AT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT
)
+#if defined(CONFIG_SPL_F
S_FAT) || defined(CONFIG_SPL_FS_EXT4
)
return MMCSD_MODE_FS;
#elif defined(CONFIG_SUPPORT_EMMC_BOOT)
return MMCSD_MODE_EMMCBOOT;
return MMCSD_MODE_FS;
#elif defined(CONFIG_SUPPORT_EMMC_BOOT)
return MMCSD_MODE_EMMCBOOT;