aboutsummaryrefslogtreecommitdiffstats
path: root/package/boot/uboot-mediatek/patches/008-board-mediatek-fix-mmc_get_boot_dev-for-platforms-wi.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/boot/uboot-mediatek/patches/008-board-mediatek-fix-mmc_get_boot_dev-for-platforms-wi.patch')
-rw-r--r--package/boot/uboot-mediatek/patches/008-board-mediatek-fix-mmc_get_boot_dev-for-platforms-wi.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/package/boot/uboot-mediatek/patches/008-board-mediatek-fix-mmc_get_boot_dev-for-platforms-wi.patch b/package/boot/uboot-mediatek/patches/008-board-mediatek-fix-mmc_get_boot_dev-for-platforms-wi.patch
new file mode 100644
index 0000000000..e32114a880
--- /dev/null
+++ b/package/boot/uboot-mediatek/patches/008-board-mediatek-fix-mmc_get_boot_dev-for-platforms-wi.patch
@@ -0,0 +1,51 @@
+From b0d1b85fb25a28a9532eaa9dda064b40a0e25f25 Mon Sep 17 00:00:00 2001
+From: David Woodhouse <dwmw2@infradead.org>
+Date: Sun, 12 Jul 2020 23:19:09 +0100
+Subject: [PATCH 1/3] board: mediatek: fix mmc_get_boot_dev() for platforms
+ without external SD
+
+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 | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/board/mediatek/mt7623/mt7623_rfb.c b/board/mediatek/mt7623/mt7623_rfb.c
+index 4ec2764976..984e75ccaf 100644
+--- a/board/mediatek/mt7623/mt7623_rfb.c
++++ b/board/mediatek/mt7623/mt7623_rfb.c
+@@ -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
+--
+2.26.2
+