[U-Boot] [PATCH 3/9] board: ti: am57xx: Add support for detection of X15 revb1

Lokesh Vutla lokeshvutla at ti.com
Fri Nov 25 06:44:20 CET 2016


BeagleBoard-X15 Rev B1 with SR1.1 platform have incompatible changes for HDMI
GPIO requiring new dtb support. This implies we have to properly identify
the platform now as well. Hence provide a different board name for the
Rev B1 variants.

Signed-off-by: Lokesh Vutla <lokeshvutla at ti.com>
---
 board/ti/am57xx/board.c           | 26 +++++++++++++++++++-------
 configs/am57xx_evm_defconfig      |  2 +-
 include/configs/ti_omap5_common.h |  2 ++
 3 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c
index bf092e7..ef3940b 100644
--- a/board/ti/am57xx/board.c
+++ b/board/ti/am57xx/board.c
@@ -35,6 +35,8 @@
 #include "mux_data.h"
 
 #define board_is_x15()		board_ti_is("BBRDX15_")
+#define board_is_x15_revb1()	(board_ti_is("BBRDX15_") && \
+				 (strncmp("B.10", board_ti_get_rev(), 3) <= 0))
 #define board_is_am572x_evm()	board_ti_is("AM572PM_")
 #define board_is_am572x_evm_reva3()	\
 				(board_ti_is("AM572PM_") && \
@@ -394,7 +396,10 @@ static void setup_board_eeprom_env(void)
 		goto invalid_eeprom;
 
 	if (board_is_x15()) {
-		name = "beagle_x15";
+		if (board_is_x15_revb1())
+			name = "beagle_x15_revb1";
+		else
+			name = "beagle_x15";
 	} else if (board_is_am572x_evm()) {
 		if (board_is_am572x_evm_reva3())
 			name = "am57xx_evm_reva3";
@@ -782,14 +787,21 @@ int ft_board_setup(void *blob, bd_t *bd)
 #ifdef CONFIG_SPL_LOAD_FIT
 int board_fit_config_name_match(const char *name)
 {
-	if (board_is_x15() && !strcmp(name, "am57xx-beagle-x15"))
-		return 0;
-	else if (board_is_am572x_evm() && !strcmp(name, "am57xx-beagle-x15"))
+	if (board_is_x15()) {
+		if (board_is_x15_revb1()) {
+			if (!strcmp(name, "am57xx-beagle-x15-revb1"))
+				return 0;
+		} else if (!strcmp(name, "am57xx-beagle-x15")) {
+			return 0;
+		}
+	} else if (board_is_am572x_evm() &&
+		   !strcmp(name, "am57xx-beagle-x15")) {
 		return 0;
-	else if (board_is_am572x_idk() && !strcmp(name, "am572x-idk"))
+	} else if (board_is_am572x_idk() && !strcmp(name, "am572x-idk")) {
 		return 0;
-	else
-		return -1;
+	}
+
+	return -1;
 }
 #endif
 
diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig
index 12d9a14..bffa47c 100644
--- a/configs/am57xx_evm_defconfig
+++ b/configs/am57xx_evm_defconfig
@@ -47,7 +47,7 @@ CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_CONTROL=y
-CONFIG_OF_LIST="am57xx-beagle-x15 am572x-idk"
+CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am572x-idk"
 CONFIG_DM=y
 # CONFIG_BLK is not set
 CONFIG_DM_GPIO=y
diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
index 51608d2..540bde8 100644
--- a/include/configs/ti_omap5_common.h
+++ b/include/configs/ti_omap5_common.h
@@ -102,6 +102,8 @@
 			"setenv fdtfile dra71-evm.dtb; fi;" \
 		"if test $board_name = beagle_x15; then " \
 			"setenv fdtfile am57xx-beagle-x15.dtb; fi;" \
+		"if test $board_name = beagle_x15_revb1; then " \
+			"setenv fdtfile am57xx-beagle-x15-revb1.dtb; fi;" \
 		"if test $board_name = am572x_idk; then " \
 			"setenv fdtfile am572x-idk.dtb; fi;" \
 		"if test $board_name = am57xx_evm; then " \
-- 
2.10.1



More information about the U-Boot mailing list