aboutsummaryrefslogtreecommitdiff
path: root/common/spl/Kconfig
diff options
context:
space:
mode:
authorBaruch Siach <baruch@tkos.co.il>2020-01-15 09:08:08 +0200
committerStefan Roese <sr@denx.de>2020-01-16 10:58:52 +0100
commite42afd8416fea64725eddf26be4ec3a0397778d6 (patch)
treeb7433786bba667b889986e7d73dd9253a5e0a05c /common/spl/Kconfig
parentc853fa721d874d5307beb8e5eae8a6dea2ad7b0d (diff)
downloadu-boot-e42afd8416fea64725eddf26be4ec3a0397778d6.zip
u-boot-e42afd8416fea64725eddf26be4ec3a0397778d6.tar.gz
u-boot-e42afd8416fea64725eddf26be4ec3a0397778d6.tar.bz2
spl: mmc: support uboot image offset on main partition
On Armada 38x platforms the ROM code loads SPL from offset 0 of eMMC hardware boot partitions. When there are no boot partitions (i.e. SD card) the ROM skips the first sector that usually contains the (logical) partition table. Since the generated .kwb image contains the main U-Boot image in a fixed location (0x140 sectors by default), we end up with the main U-Boot image in offset of 1 sector. The current workaround is to manually set CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR to 0x141 to compensate for that. This patch uses the run-time detected boot partition to determine the right offset of the main U-Boot partition. The generated .kwb image is now compatible with both eMMC boot partition, and SD card main data partition. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'common/spl/Kconfig')
-rw-r--r--common/spl/Kconfig12
1 files changed, 12 insertions, 0 deletions
diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index 61488da..784742a 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -329,6 +329,18 @@ 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_DATA_PART_OFFSET
+ hex "U-Boot main hardware partition image offset"
+ depends on SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
+ default 0x0
+ help
+ On some platforms SPL location depends on hardware partition. The ROM
+ code skips the MBR sector when loading SPL from main hardware data
+ partition. This adds offset to the main U-Boot image. Set this symbol
+ to the number of skipped sectors.
+
+ If unsure, leave the default.
+
config SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
bool "MMC Raw mode: by partition"
help