spl: mmc: support uboot image offset on main partition
authorBaruch Siach <baruch@tkos.co.il>
Wed, 15 Jan 2020 07:08:08 +0000 (09:08 +0200)
committerStefan Roese <sr@denx.de>
Thu, 16 Jan 2020 09:58:52 +0000 (10:58 +0100)
commite42afd8416fea64725eddf26be4ec3a0397778d6
treeb7433786bba667b889986e7d73dd9253a5e0a05c
parentc853fa721d874d5307beb8e5eae8a6dea2ad7b0d
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>
common/spl/Kconfig
common/spl/spl_mmc.c