Add rev B board support

Signed-off-by: Pramod Kumar <[email protected]>
---
 board/freescale/ls1046afrwy/ls1046afrwy.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/board/freescale/ls1046afrwy/ls1046afrwy.c 
b/board/freescale/ls1046afrwy/ls1046afrwy.c
index ac2f8ee..3134feb 100644
--- a/board/freescale/ls1046afrwy/ls1046afrwy.c
+++ b/board/freescale/ls1046afrwy/ls1046afrwy.c
@@ -24,7 +24,7 @@
 #define LS1046A_PORSR1_REG 0x1EE0000
 #define BOOT_SRC_SD        0x20000000
 #define BOOT_SRC_MASK     0xFF800000
-#define BOARD_REV_GPIO         13
+#define BOARD_REV_GPIO_SHIFT   17
 #define USB2_SEL_MASK     0x00000100
 
 #define BYTE_SWAP_32(word)  ((((word) & 0xff000000) >> 24) |  \
@@ -88,9 +88,14 @@ int board_early_init_f(void)
 static inline uint8_t get_board_version(void)
 {
        u8 val;
+       u32 gpio_val;
        struct ccsr_gpio *pgpio = (void *)(GPIO2_BASE_ADDR);
 
-       val = (in_le32(&pgpio->gpdat) >> BOARD_REV_GPIO) & 0x03;
+       /* GPIO 13 and GPIO 14 are use for Board Rev */
+       gpio_val = ((in_be32(&pgpio->gpdat) >> BOARD_REV_GPIO_SHIFT)) & 0x03;
+
+       /* GPIO's are 0..31 in Big Endiness, swap GPIO 13 and GPIO 14 */
+       val = ((gpio_val >> 1) | (gpio_val << 1)) & 0x03;
 
        return val;
 }
-- 
2.7.4

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to