From f7f9f6be95bc1f484ec118714defd3d6f6f10d4a Mon Sep 17 00:00:00 2001 From: Lokesh Vutla Date: Fri, 25 Nov 2016 11:14:20 +0530 Subject: [PATCH] board: ti: am57xx: Add support for detection of X15 revb1 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 Reviewed-by: Tom Rini --- 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 fd15ba1a9f..125e965d2e 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"; @@ -790,14 +795,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")) + 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_evm() && !strcmp(name, "am57xx-beagle-x15")) + } else if (board_is_am572x_idk() && !strcmp(name, "am572x-idk")) { return 0; - 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 a7f0fb6030..f401a6e3aa 100644 --- a/configs/am57xx_evm_defconfig +++ b/configs/am57xx_evm_defconfig @@ -50,7 +50,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 d6f750f25a..59ac9b33f9 100644 --- a/include/configs/ti_omap5_common.h +++ b/include/configs/ti_omap5_common.h @@ -89,6 +89,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 " \