board: ti: am57xx: Add support for detection of X15 revb1
authorLokesh Vutla <lokeshvutla@ti.com>
Fri, 25 Nov 2016 05:44:20 +0000 (11:14 +0530)
committerTom Rini <trini@konsulko.com>
Sun, 4 Dec 2016 18:54:54 +0000 (13:54 -0500)
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@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
board/ti/am57xx/board.c
configs/am57xx_evm_defconfig
include/configs/ti_omap5_common.h

index fd15ba1a9fc038423e32de85e738da2363c6833a..125e965d2e741a48ef4fa2e24032968e31990784 100644 (file)
@@ -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"))
-               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
 
index a7f0fb60301a4576a1713cd7b191ad22862e4550..f401a6e3aa07a78b7d0b9c3867a7fcc983675d80 100644 (file)
@@ -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
index d6f750f25a70366ec69aab6e885ec0872f2cbe4f..59ac9b33f9526e4e89a253d3161d74407094c673 100644 (file)
@@ -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 " \