board: gateworks: venice: dynamically determine U-Boot env partition

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>
This commit is contained in:
Tim Harvey 2023-05-02 17:05:54 -07:00 committed by Stefano Babic
parent 8236c05ddb
commit 2c2cc1eaab

View file

@ -7,6 +7,7 @@
#include <init.h> #include <init.h>
#include <led.h> #include <led.h>
#include <miiphy.h> #include <miiphy.h>
#include <mmc.h>
#include <asm/arch/clock.h> #include <asm/arch/clock.h>
#include <asm/arch/sys_proto.h> #include <asm/arch/sys_proto.h>
@ -139,6 +140,20 @@ int board_mmc_get_env_dev(int devno)
return 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) int ft_board_setup(void *fdt, struct bd_info *bd)
{ {
const char *base_model = eeprom_get_baseboard_model(); const char *base_model = eeprom_get_baseboard_model();