[U-Boot] [PATCH 1/2] board: ti: am57xx: Fix detection of board version

board_is*("rev", board_ti_get_rev()) uses strncmp() for revison detection and assumes it is success if return value is <= 0. This will fail in case of multiple versions, as revb will be true for board_is_*revb() and board_is_*reva(). Fix it by looking for exact match of the string.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com --- board/ti/am57xx/board.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c index bf8c8e1a67..6e248d6b1a 100644 --- a/board/ti/am57xx/board.c +++ b/board/ti/am57xx/board.c @@ -36,11 +36,11 @@
#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)) + !strncmp("B.10", board_ti_get_rev(), 3)) #define board_is_am572x_evm() board_ti_is("AM572PM_") #define board_is_am572x_evm_reva3() \ (board_ti_is("AM572PM_") && \ - (strncmp("A.30", board_ti_get_rev(), 3) <= 0)) + !strncmp("A.30", board_ti_get_rev(), 3)) #define board_is_am572x_idk() board_ti_is("AM572IDK") #define board_is_am571x_idk() board_ti_is("AM571IDK")

BeagleBoard X15 revC board is similar to X15 revB1 except with a SR2.0 where revB1 uses a SR1.1. Add board detection support for revC.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com --- board/ti/am57xx/board.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c index 6e248d6b1a..00a31a97fd 100644 --- a/board/ti/am57xx/board.c +++ b/board/ti/am57xx/board.c @@ -37,6 +37,8 @@ #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)) +#define board_is_x15_revc() (board_ti_is("BBRDX15_") && \ + !strncmp("C.00", board_ti_get_rev(), 3)) #define board_is_am572x_evm() board_ti_is("AM572PM_") #define board_is_am572x_evm_reva3() \ (board_ti_is("AM572PM_") && \ @@ -474,6 +476,8 @@ static void setup_board_eeprom_env(void) if (board_is_x15()) { if (board_is_x15_revb1()) name = "beagle_x15_revb1"; + else if (board_is_x15_revc()) + name = "beagle_x15_revc"; else name = "beagle_x15"; } else if (board_is_am572x_evm()) { @@ -683,7 +687,8 @@ void recalibrate_iodelay(void)
/* Now do the weird minor deltas that should be safe */ if (board_is_x15() || board_is_am572x_evm()) { - if (board_is_x15_revb1() || board_is_am572x_evm_reva3()) { + if (board_is_x15_revb1() || board_is_am572x_evm_reva3() || + board_is_x15_revc()) { pconf = core_padconf_array_delta_x15_sr2_0; pconf_sz = ARRAY_SIZE(core_padconf_array_delta_x15_sr2_0); } else {

On Sun, Jul 16, 2017 at 07:59:19PM +0530, Lokesh Vutla wrote:
BeagleBoard X15 revC board is similar to X15 revB1 except with a SR2.0 where revB1 uses a SR1.1. Add board detection support for revC.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com
Reviewed-by: Tom Rini trini@konsulko.com

On Sun, Jul 16, 2017 at 07:59:19PM +0530, Lokesh Vutla wrote:
BeagleBoard X15 revC board is similar to X15 revB1 except with a SR2.0 where revB1 uses a SR1.1. Add board detection support for revC.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com Reviewed-by: Tom Rini trini@konsulko.com
Applied to u-boot/master, thanks!

On Sun, Jul 16, 2017 at 07:59:18PM +0530, Lokesh Vutla wrote:
board_is*("rev", board_ti_get_rev()) uses strncmp() for revison detection and assumes it is success if return value is <= 0. This will fail in case of multiple versions, as revb will be true for board_is_*revb() and board_is_*reva(). Fix it by looking for exact match of the string.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com
Reviewed-by: Tom Rini trini@konsulko.com

On Sun, Jul 16, 2017 at 07:59:18PM +0530, Lokesh Vutla wrote:
board_is*("rev", board_ti_get_rev()) uses strncmp() for revison detection and assumes it is success if return value is <= 0. This will fail in case of multiple versions, as revb will be true for board_is_*revb() and board_is_*reva(). Fix it by looking for exact match of the string.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com Reviewed-by: Tom Rini trini@konsulko.com
Applied to u-boot/master, thanks!
participants (2)
-
Lokesh Vutla
-
Tom Rini