board: amlogic: add proper boot device detection for params.bin load 01/247601/5
authorMarek Szyprowski <m.szyprowski@samsung.com>
Thu, 12 Nov 2020 11:49:53 +0000 (12:49 +0100)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 16 Nov 2020 07:20:32 +0000 (08:20 +0100)
Detect eMMC/SD card boot and report proper MMC device to the environment
loading code. This requires to use an empty device part in
CONFIG_ENV_FAT_DEVICE_AND_PART to let the code update the device to the
value returned by mmc_get_env_dev() function.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I4ff26f3be631a018a3707b58b6ffaf15fd717001

board/amlogic/odroid-n2/odroid-n2.c
board/amlogic/w400/w400.c
configs/khadas-vim3_defconfig
configs/odroid-c4_defconfig
configs/odroid-n2_defconfig

index 4c07ac9882be9a659b12b5664e5fdcaff80836f4..636e0ca2c4db0c65f3b3265df5da8a8ed307fe67 100644 (file)
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <net.h>
 #include <asm/io.h>
+#include <asm/arch/boot.h>
 #include <asm/arch/sm.h>
 #include <asm/arch/eth.h>
 
 #define EFUSE_MAC_SIZE         12
 #define MAC_ADDR_LEN           6
 
+int mmc_get_env_dev(void)
+{
+       if (meson_get_boot_device() == BOOT_DEVICE_EMMC)
+               return 1;
+
+       return 0;
+}
+
 int misc_init_r(void)
 {
        u8 mac_addr[MAC_ADDR_LEN];
index e9b14f10349626d77296001163bb8d86a7f8bbcf..5bef026fa9d28ff908fbbde5ef39504f54f16d4a 100644 (file)
 #include <init.h>
 #include <net.h>
 #include <asm/io.h>
+#include <asm/arch/boot.h>
 #include <asm/arch/eth.h>
 
+int mmc_get_env_dev(void)
+{
+       if (meson_get_boot_device() == BOOT_DEVICE_EMMC)
+               return 1;
+
+       return 0;
+}
+
 int misc_init_r(void)
 {
        meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0);
index 22c1c3bd020dbb3564eb93cacf68a61b2253dc9a..55dad745d2629332fcd9c51f85427d526eeb65b8 100644 (file)
@@ -32,11 +32,9 @@ CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_CMD_REGULATOR=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_FAT=y
-CONFIG_ENV_FAT_DEVICE_AND_PART="1:1"
+CONFIG_ENV_FAT_DEVICE_AND_PART=":1"
 CONFIG_ENV_FAT_FILE="vim3/params.bin"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
-CONFIG_SYS_MMC_ENV_DEV=1
-CONFIG_SYS_MMC_ENV_PART=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DFU_MMC=y
index e0b499f02dee498d8017ef0c55190fb80d31365e..2c39987b28785898a01a69d05a64c2024d5163a6 100644 (file)
@@ -29,11 +29,9 @@ CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_CMD_REGULATOR=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_FAT=y
-CONFIG_ENV_FAT_DEVICE_AND_PART="1:1"
+CONFIG_ENV_FAT_DEVICE_AND_PART=":1"
 CONFIG_ENV_FAT_FILE="odroid-c4/params.bin"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
-CONFIG_SYS_MMC_ENV_DEV=1
-CONFIG_SYS_MMC_ENV_PART=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DFU_MMC=y
index fd3d529b4afc97b75d02bca41f15a4100ffeeffc..37da6098f3c4dc115caf38138125c303437308cc 100644 (file)
@@ -30,11 +30,9 @@ CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_CMD_REGULATOR=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_FAT=y
-CONFIG_ENV_FAT_DEVICE_AND_PART="1:1"
+CONFIG_ENV_FAT_DEVICE_AND_PART=":1"
 CONFIG_ENV_FAT_FILE="odroid-n2/params.bin"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
-CONFIG_SYS_MMC_ENV_DEV=1
-CONFIG_SYS_MMC_ENV_PART=1
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DFU_MMC=y
 CONFIG_SET_DFU_ALT_INFO=y