summaryrefslogtreecommitdiff
path: root/board/phytec/common
diff options
context:
space:
mode:
Diffstat (limited to 'board/phytec/common')
-rw-r--r--board/phytec/common/Kconfig8
-rw-r--r--board/phytec/common/k3/board.c13
2 files changed, 15 insertions, 6 deletions
diff --git a/board/phytec/common/Kconfig b/board/phytec/common/Kconfig
index 65451a3b20d..a72f66ee3f5 100644
--- a/board/phytec/common/Kconfig
+++ b/board/phytec/common/Kconfig
@@ -42,7 +42,7 @@ config PHYTEC_AM62A_SOM_DETECTION
bool "Support SoM detection for AM62Ax PHYTEC platforms"
depends on (TARGET_PHYCORE_AM62AX_A53 || TARGET_PHYCORE_AM62AX_R5) && \
PHYTEC_SOM_DETECTION
- select SUPPORT_EXTENSION_SCAN
+ select PHYTEC_SOM_DETECTION_BLOCKS
depends on SPL_I2C && DM_I2C
default y
help
@@ -59,3 +59,9 @@ config PHYTEC_AM64_SOM_DETECTION
help
Support of I2C EEPROM based SoM detection. Supported
for PHYTEC AM64x boards.
+
+config PHYTEC_EEPROM_BUS
+ int "Board EEPROM's I2C bus number"
+ range 0 8
+ default 0
+ depends on PHYTEC_SOM_DETECTION
diff --git a/board/phytec/common/k3/board.c b/board/phytec/common/k3/board.c
index 7f34d71d530..33a779be06b 100644
--- a/board/phytec/common/k3/board.c
+++ b/board/phytec/common/k3/board.c
@@ -176,13 +176,14 @@ static void boot_targets_setup(void)
env_set("boot_targets", boot_targets);
}
+#if IS_ENABLED(CONFIG_PHYTEC_SOM_DETECTION_BLOCKS)
static void setup_mac_from_eeprom(void)
{
struct phytec_api3_element *block_element;
struct phytec_eeprom_data data;
int ret;
- ret = phytec_eeprom_data_setup(&data, 0, EEPROM_ADDR);
+ ret = phytec_eeprom_data_setup(&data, CONFIG_PHYTEC_EEPROM_BUS, EEPROM_ADDR);
if (ret || !data.valid)
return;
@@ -197,13 +198,15 @@ static void setup_mac_from_eeprom(void)
}
}
}
+#endif
int board_late_init(void)
{
boot_targets_setup();
- if (IS_ENABLED(CONFIG_PHYTEC_SOM_DETECTION_BLOCKS))
- setup_mac_from_eeprom();
+#if IS_ENABLED(CONFIG_PHYTEC_SOM_DETECTION_BLOCKS)
+ setup_mac_from_eeprom();
+#endif
#if IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)
configure_capsule_updates();
@@ -245,7 +248,7 @@ static void fdt_apply_som_overlays(void *blob)
memcpy(fdt_copy, blob, fdt_size);
- err = phytec_eeprom_data_setup(&data, 0, EEPROM_ADDR);
+ err = phytec_eeprom_data_setup(&data, CONFIG_PHYTEC_EEPROM_BUS, EEPROM_ADDR);
if (err)
goto fixup_error;
@@ -292,7 +295,7 @@ int ft_board_setup(void *blob, struct bd_info *bd)
fdt_apply_som_overlays(blob);
fdt_copy_fixed_partitions(blob);
- ret = phytec_eeprom_data_setup(&data, 0, EEPROM_ADDR);
+ ret = phytec_eeprom_data_setup(&data, CONFIG_PHYTEC_EEPROM_BUS, EEPROM_ADDR);
if (ret || !data.valid)
return 0;