mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
imx: kontron-sl-mx8mm: Adjust offset for U-Boot proper in case of eMMC fastboot
The image offset on SD/MMC devices is 33 KiB, except for eMMC boot if fastboot is enabled. In this case it is 1 KiB. In order to make the the bootloader universal, check the fastboot OTP boot fuse and adjust the offset. Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
This commit is contained in:
committed by
Fabio Estevam
parent
4faa1a5287
commit
0358408104
@@ -186,6 +186,26 @@ static int power_init_board(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
unsigned long board_spl_mmc_get_uboot_raw_sector(struct mmc *mmc, unsigned long raw_sect)
|
||||
{
|
||||
/*
|
||||
* The image offset on SD/MMC devices is 33 KiB, except for eMMC boot if
|
||||
* fastboot is enabled. In this case it is 1 KiB. In order to make the
|
||||
* bootloader universal, check the fastboot OTP boot fuse and adjust
|
||||
* the offset.
|
||||
*/
|
||||
if (!IS_SD(mmc) && (readl(OCOTP_BASE_ADDR + 0x470) & 0x80)) {
|
||||
switch (EXT_CSD_EXTRACT_BOOT_PART(mmc->part_config)) {
|
||||
case EMMC_BOOT_PART_BOOT1:
|
||||
case EMMC_BOOT_PART_BOOT2:
|
||||
raw_sect -= 32 * 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return raw_sect;
|
||||
}
|
||||
|
||||
void board_init_f(ulong dummy)
|
||||
{
|
||||
int ret;
|
||||
|
||||
Reference in New Issue
Block a user