board: mediatek: fix mmc_get_boot_dev() for platforms without external SD
authorDavid Woodhouse <dwmw2@infradead.org>
Sun, 12 Jul 2020 22:33:01 +0000 (23:33 +0100)
committerTom Rini <trini@konsulko.com>
Wed, 29 Jul 2020 12:43:40 +0000 (08:43 -0400)
On the UniElec U7623 board there is no external SD slot and the preloader
doesn't fill in the magic field at 0x81dffff0 to indicate that it was
booted from eMMC.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
board/mediatek/mt7623/mt7623_rfb.c

index 4ec2764..984e75c 100644 (file)
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <mmc.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -15,10 +16,15 @@ int board_init(void)
        return 0;
 }
 
+#ifdef CONFIG_MMC
 int mmc_get_boot_dev(void)
 {
        int g_mmc_devid = -1;
        char *uflag = (char *)0x81DFFFF0;
+
+       if (!find_mmc_device(1))
+               return 0;
+
        if (strncmp(uflag,"eMMC",4)==0) {
                g_mmc_devid = 0;
                printf("Boot From Emmc(id:%d)\n\n", g_mmc_devid);
@@ -33,3 +39,4 @@ int mmc_get_env_dev(void)
 {
        return mmc_get_boot_dev();
 }
+#endif