summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Harvey <[email protected]>2023-05-02 17:05:54 -0700
committerStefano Babic <[email protected]>2023-07-11 14:40:03 +0200
commit2c2cc1eaabc7b4bb5af66830c59a810e97280545 (patch)
treeea49fe30ff874a99c54c0e4e0d0392e3310e980e
parent8236c05ddb2a86080a1748c333764dd50013774b (diff)
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 <[email protected]>
-rw-r--r--board/gateworks/venice/venice.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/board/gateworks/venice/venice.c b/board/gateworks/venice/venice.c
index ca62f0be6d2..7aca7550384 100644
--- a/board/gateworks/venice/venice.c
+++ b/board/gateworks/venice/venice.c
@@ -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();