diff mbox series

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

Message ID 20190115174906.27229-1-frank-w@public-files.de
State Accepted
Delegated to: Tom Rini
Headers show
Series [U-Boot,v3] adding saveenv-command for bananapi r2 | expand

Commit Message

Frank Wunderlich Jan. 15, 2019, 5:49 p.m. UTC
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

v3: using generated defconfig
v2: fixed bracket-style in if-else statement

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

Comments

Tom Rini Jan. 19, 2019, 2:53 a.m. UTC | #1
On Tue, Jan 15, 2019 at 06:49:06PM +0100, Frank Wunderlich wrote:

> 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
> 
> v3: using generated defconfig
> v2: fixed bracket-style in if-else statement
> 
> Signed-off-by: Frank Wunderlich <frank-w@public-files.de>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/board/mediatek/mt7623/mt7623_rfb.c b/board/mediatek/mt7623/mt7623_rfb.c
index 08468b50ea..4ec2764976 100644
--- a/board/mediatek/mt7623/mt7623_rfb.c
+++ b/board/mediatek/mt7623/mt7623_rfb.c
@@ -14,3 +14,22 @@  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 ae4fb280dc..fcb02f5a7b 100644
--- a/configs/mt7623n_bpir2_defconfig
+++ b/configs/mt7623n_bpir2_defconfig
@@ -28,6 +28,7 @@  CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_EMBED=y
 CONFIG_DEFAULT_DEVICE_TREE="mt7623n-bananapi-bpi-r2"
+CONFIG_ENV_IS_IN_MMC=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
 # CONFIG_BLOCK_CACHE is not set
diff --git a/include/configs/mt7623.h b/include/configs/mt7623.h
index ba763501cf..fb6ac073f3 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