mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-08-22 15:11:24 +02:00
imx: tpc70: Add board_boot_order() to distinguish between eMMC and SD boot
The TPC70 can boot from SD card (debug/development) and eMMC (production). The board_boot_order() function provides a run time check for the device from which one wants to boot (it is selected by GPIO pins setup). Moreover, a fallback to SD card is provided if the detection is not possible or working properly. Signed-off-by: Lukasz Majewski <lukma@denx.de>
This commit is contained in:
parent
309ce98fcb
commit
58c76e63f1
@ -308,6 +308,26 @@ int board_mmc_init(bd_t *bd)
|
|||||||
return fsl_esdhc_initialize(bd, &usdhc_cfg[0]);
|
return fsl_esdhc_initialize(bd, &usdhc_cfg[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void board_boot_order(u32 *spl_boot_list)
|
||||||
|
{
|
||||||
|
u32 boot_device = spl_boot_device();
|
||||||
|
u32 reg = imx6_src_get_boot_mode();
|
||||||
|
|
||||||
|
reg = (reg & IMX6_BMODE_MASK) >> IMX6_BMODE_SHIFT;
|
||||||
|
|
||||||
|
debug("%s: boot device: 0x%x (0x4 SD, 0x6 eMMC)\n", __func__, reg);
|
||||||
|
if (boot_device == BOOT_DEVICE_MMC1)
|
||||||
|
if (reg == IMX6_BMODE_MMC || reg == IMX6_BMODE_EMMC)
|
||||||
|
boot_device = BOOT_DEVICE_MMC2;
|
||||||
|
|
||||||
|
spl_boot_list[0] = boot_device;
|
||||||
|
/*
|
||||||
|
* Below boot device is a 'fallback' - it shall always be possible to
|
||||||
|
* boot from SD card
|
||||||
|
*/
|
||||||
|
spl_boot_list[1] = BOOT_DEVICE_MMC1;
|
||||||
|
}
|
||||||
|
|
||||||
void board_init_f(ulong dummy)
|
void board_init_f(ulong dummy)
|
||||||
{
|
{
|
||||||
/* setup AIPS and disable watchdog */
|
/* setup AIPS and disable watchdog */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user