[PATCH] arm: mach-k3: introduce generic board detction kconfig option

Christian Gmeiner christian.gmeiner at gmail.com
Fri Mar 3 20:16:28 CET 2023


For non TI boards it is not possible to enable the do_board_detect()
call as TI_I2C_BOARD_DETECT is defined in board/ti/common/Kconfig.

I want to use do_board_detect() to dectect boards and properties based
on some SPI communication with a FPGA.

Signed-off-by: Christian Gmeiner <christian.gmeiner at gmail.com>
---
 arch/arm/mach-k3/Kconfig      | 5 +++++
 arch/arm/mach-k3/am642_init.c | 2 +-
 arch/arm/mach-k3/am654_init.c | 3 +--
 arch/arm/mach-k3/j721e_init.c | 5 ++---
 board/ti/common/Kconfig       | 1 +
 5 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-k3/Kconfig b/arch/arm/mach-k3/Kconfig
index a8c3a593d5..7edbac26cc 100644
--- a/arch/arm/mach-k3/Kconfig
+++ b/arch/arm/mach-k3/Kconfig
@@ -187,6 +187,11 @@ config K3_X509_SWRV
 	help
 	  SWRV for X509 certificate used for boot images
 
+config K3_BOARD_DETECT
+	bool "Support for Board detection"
+	help
+	   Support for board detection.
+
 source "board/ti/am65x/Kconfig"
 source "board/ti/am64x/Kconfig"
 source "board/ti/am62x/Kconfig"
diff --git a/arch/arm/mach-k3/am642_init.c b/arch/arm/mach-k3/am642_init.c
index 96f292ea75..1bf7e163cc 100644
--- a/arch/arm/mach-k3/am642_init.c
+++ b/arch/arm/mach-k3/am642_init.c
@@ -100,7 +100,7 @@ void do_dt_magic(void)
 {
 	int ret, rescan;
 
-	if (IS_ENABLED(CONFIG_TI_I2C_BOARD_DETECT))
+	if (IS_ENABLED(CONFIG_K3_BOARD_DETECT))
 		do_board_detect();
 
 	/*
diff --git a/arch/arm/mach-k3/am654_init.c b/arch/arm/mach-k3/am654_init.c
index 768fdd6960..70059edb03 100644
--- a/arch/arm/mach-k3/am654_init.c
+++ b/arch/arm/mach-k3/am654_init.c
@@ -245,8 +245,7 @@ void board_init_f(ulong dummy)
 	/* Output System Firmware version info */
 	k3_sysfw_print_ver();
 
-	/* Perform EEPROM-based board detection */
-	if (IS_ENABLED(CONFIG_TI_I2C_BOARD_DETECT))
+	if (IS_ENABLED(CONFIG_K3_BOARD_DETECT))
 		do_board_detect();
 
 #if defined(CONFIG_CPU_V7R) && defined(CONFIG_K3_AVS0)
diff --git a/arch/arm/mach-k3/j721e_init.c b/arch/arm/mach-k3/j721e_init.c
index 276cbb5dae..9cae3ac67e 100644
--- a/arch/arm/mach-k3/j721e_init.c
+++ b/arch/arm/mach-k3/j721e_init.c
@@ -140,7 +140,7 @@ void do_dt_magic(void)
 	int ret, rescan, mmc_dev = -1;
 	static struct mmc *mmc;
 
-	if (IS_ENABLED(CONFIG_TI_I2C_BOARD_DETECT))
+	if (IS_ENABLED(CONFIG_K3_BOARD_DETECT))
 		do_board_detect();
 
 	/*
@@ -267,8 +267,7 @@ void board_init_f(ulong dummy)
 	/* Output System Firmware version info */
 	k3_sysfw_print_ver();
 
-	/* Perform EEPROM-based board detection */
-	if (IS_ENABLED(CONFIG_TI_I2C_BOARD_DETECT))
+	if (IS_ENABLED(CONFIG_K3_BOARD_DETECT))
 		do_board_detect();
 
 #if defined(CONFIG_CPU_V7R) && defined(CONFIG_K3_AVS0)
diff --git a/board/ti/common/Kconfig b/board/ti/common/Kconfig
index 49edd98014..414fc3034f 100644
--- a/board/ti/common/Kconfig
+++ b/board/ti/common/Kconfig
@@ -1,5 +1,6 @@
 config TI_I2C_BOARD_DETECT
 	bool "Support for Board detection for TI platforms"
+	select K3_BOARD_DETECT
 	help
 	   Support for detection board information on Texas Instrument's
 	   Evaluation Boards which have I2C based EEPROM detection
-- 
2.39.2



More information about the U-Boot mailing list