]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
board: gateworks: venice: dynamically determine U-Boot env partition
authorTim Harvey <tharvey@gateworks.com>
Wed, 3 May 2023 00:05:54 +0000 (17:05 -0700)
committerStefano Babic <sbabic@denx.de>
Tue, 11 Jul 2023 12:40:03 +0000 (14:40 +0200)
Determine the U-Boot env hardware partition depending on the boot
device.

This allows the same boot firmware image to be placed on user, boot0,
or boot1 without changing CONFIG_SYS_MMC_ENV_PART.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
board/gateworks/venice/venice.c

index ca62f0be6d25b833b7557a113d0a1d4f354d9944..7aca75503846f485df8bf18f9419dce0d6fd7578 100644 (file)
@@ -7,6 +7,7 @@
 #include <init.h>
 #include <led.h>
 #include <miiphy.h>
+#include <mmc.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
 
@@ -139,6 +140,20 @@ int board_mmc_get_env_dev(int devno)
        return devno;
 }
 
+uint mmc_get_env_part(struct mmc *mmc)
+{
+       if (!IS_SD(mmc)) {
+               switch (EXT_CSD_EXTRACT_BOOT_PART(mmc->part_config)) {
+               case 1:
+                       return 1;
+               case 2:
+                       return 2;
+               }
+       }
+
+       return 0;
+}
+
 int ft_board_setup(void *fdt, struct bd_info *bd)
 {
        const char *base_model = eeprom_get_baseboard_model();