diff options
Diffstat (limited to 'board/phytec/common')
-rw-r--r-- | board/phytec/common/Kconfig | 8 | ||||
-rw-r--r-- | board/phytec/common/k3/board.c | 13 |
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; |