From: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Date: Thu, 15 Sep 2022 09:14:25 +0000 (+0200)
Subject: rockchip: puma-rk3399: load environment from same MMC as used for loading U-Boot... 
X-Git-Tag: v2025.01-rc5-pxa1908~1242^2~8
X-Git-Url: http://git.dujemihanovic.xyz/img/login.html?a=commitdiff_plain;h=d7435d4057ba23a5fcda6784d8e92289e11b4b01;p=u-boot.git

rockchip: puma-rk3399: load environment from same MMC as used for loading U-Boot proper

Automatically detect which MMC device (SD-Card or eMMC) was used to load
U-Boot proper and load the environment from that MMC device instead of
a hardcoded one.

Cc: Quentin Schulz <foss+uboot@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
---

diff --git a/board/theobroma-systems/puma_rk3399/puma-rk3399.c b/board/theobroma-systems/puma_rk3399/puma-rk3399.c
index b2c0ff5afe..f41293080c 100644
--- a/board/theobroma-systems/puma_rk3399/puma-rk3399.c
+++ b/board/theobroma-systems/puma_rk3399/puma-rk3399.c
@@ -113,6 +113,28 @@ static int setup_boottargets(void)
 	return 0;
 }
 
+int mmc_get_env_dev(void)
+{
+	const char *boot_device =
+		ofnode_read_chosen_string("u-boot,spl-boot-device");
+
+	if (!boot_device) {
+		debug("%s: /chosen/u-boot,spl-boot-device not set\n",
+		      __func__);
+		return CONFIG_SYS_MMC_ENV_DEV;
+	}
+
+	debug("%s: booted from %s\n", __func__, boot_device);
+
+	if (!strcmp(boot_device, "/mmc@fe320000"))
+		return 1;
+
+	if (!strcmp(boot_device, "/mmc@fe330000"))
+		return 0;
+
+	return CONFIG_SYS_MMC_ENV_DEV;
+}
+
 int misc_init_r(void)
 {
 	const u32 cpuid_offset = 0x7;