mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-26 14:40:41 +00:00
ARM: uniphier: detect SD boot mode
The planned new SoC supports the SD boot mode. Detect and display it. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
parent
539d6e0dbc
commit
c3d8f1e8e9
2 changed files with 12 additions and 0 deletions
|
@ -68,6 +68,10 @@ int board_late_init(void)
|
|||
printf("eMMC Boot");
|
||||
env_set("bootdev", "emmc");
|
||||
break;
|
||||
case BOOT_DEVICE_MMC2:
|
||||
printf("SD Boot");
|
||||
env_set("bootdev", "sd");
|
||||
break;
|
||||
case BOOT_DEVICE_NAND:
|
||||
printf("NAND Boot");
|
||||
env_set("bootdev", "nand");
|
||||
|
|
|
@ -21,6 +21,7 @@ struct uniphier_boot_device_info {
|
|||
unsigned int boot_device_sel_shift;
|
||||
const struct uniphier_boot_device *boot_device_table;
|
||||
const unsigned int *boot_device_count;
|
||||
int (*boot_device_is_sd)(u32 pinmon);
|
||||
int (*boot_device_is_usb)(u32 pinmon);
|
||||
unsigned int (*boot_device_fixup)(unsigned int mode);
|
||||
int (*boot_is_swapped)(void);
|
||||
|
@ -140,6 +141,9 @@ static unsigned int __uniphier_boot_device_raw(
|
|||
|
||||
pinmon = readl(SG_PINMON0);
|
||||
|
||||
if (info->boot_device_is_sd && info->boot_device_is_sd(pinmon))
|
||||
return BOOT_DEVICE_MMC2;
|
||||
|
||||
if (info->boot_device_is_usb && info->boot_device_is_usb(pinmon))
|
||||
return BOOT_DEVICE_USB;
|
||||
|
||||
|
@ -224,6 +228,10 @@ static int do_pinmon(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|||
|
||||
pinmon = readl(SG_PINMON0);
|
||||
|
||||
if (info->boot_device_is_sd)
|
||||
printf("SD Boot: %s\n",
|
||||
info->boot_device_is_sd(pinmon) ? "ON" : "OFF");
|
||||
|
||||
if (info->boot_device_is_usb)
|
||||
printf("USB Boot: %s\n",
|
||||
info->boot_device_is_usb(pinmon) ? "ON" : "OFF");
|
||||
|
|
Loading…
Reference in a new issue