[U-Boot] adding saveenv-command for bananapi r2

Frank Wunderlich FrankWu at gmx.de
Mon Dec 3 14:39:16 UTC 2018


>From f5a9045316f962f397497bd169a20dc293b14641 Mon Sep 17 00:00:00 2001
From: Frank Wunderlich <frank-w at public-files.de>
Date: Mon, 3 Dec 2018 15:32:58 +0100
Subject: [PATCH] adding saveenv-command for bananapi r2

BananaPi r2 can be booted from sd-card and emmc
saving the environment have to choose the storage
from which the device has booted

also the offset is set to 1MB to make sure env is written
to block "user data area" between uboot and first partition

https://www.fw-web.de/dokuwiki/lib/exe/fetch.php?cache=&media=bpi-r2:boot-structure.png

Signed-off-by: Frank Wunderlich <frank-w at public-files.de>
---
 board/mediatek/mt7623/mt7623_rfb.c | 22 ++++++++++++++++++++++
 configs/mt7623n_bpir2_defconfig    |  3 +++
 include/configs/mt7623.h           |  3 +++
 3 files changed, 28 insertions(+)

diff --git a/board/mediatek/mt7623/mt7623_rfb.c b/board/mediatek/mt7623/mt7623_rfb.c
index 08468b50ea..542314adfc 100644
--- a/board/mediatek/mt7623/mt7623_rfb.c
+++ b/board/mediatek/mt7623/mt7623_rfb.c
@@ -14,3 +14,25 @@ int board_init(void)
 
 	return 0;
 }
+
+int mmc_get_boot_dev(void)
+{
+	int g_mmc_devid = -1;
+	char *uflag = (char *)0x81DFFFF0;
+	if (strncmp(uflag,"eMMC",4)==0)
+	{
+		g_mmc_devid = 0;
+		printf("Boot From Emmc(id:%d)\n\n", g_mmc_devid);
+	}
+	else
+	{
+		g_mmc_devid = 1;
+		printf("Boot From SD(id:%d)\n\n", g_mmc_devid);
+	}
+	return g_mmc_devid;
+}
+
+int mmc_get_env_dev(void)
+{
+	return mmc_get_boot_dev();
+}
diff --git a/configs/mt7623n_bpir2_defconfig b/configs/mt7623n_bpir2_defconfig
index 3a4de72e23..640c881ce9 100644
--- a/configs/mt7623n_bpir2_defconfig
+++ b/configs/mt7623n_bpir2_defconfig
@@ -52,3 +52,6 @@ CONFIG_MTK_TIMER=y
 CONFIG_WDT_MTK=y
 CONFIG_LZMA=y
 # CONFIG_EFI_LOADER is not set
+
+#enables savenenv-command
+CONFIG_ENV_IS_IN_MMC=y
diff --git a/include/configs/mt7623.h b/include/configs/mt7623.h
index 68da920e30..91d6369dd2 100644
--- a/include/configs/mt7623.h
+++ b/include/configs/mt7623.h
@@ -53,4 +53,7 @@
 #define CONFIG_EXTRA_ENV_SETTINGS	\
 	FDT_HIGH
 
+#define CONFIG_SYS_MMC_ENV_DEV	0
+#define CONFIG_ENV_OFFSET	0x100000
+
 #endif
-- 
2.17.1


More information about the U-Boot mailing list