ls1012afrwy support three revisions of the board.
512MB revA, revB boards and 1GB revC board.
revision A and B board are collectively identified as revA/B,
however revision C board is identifies as revC.

Signed-off-by: Pramod Kumar <pramod.kuma...@nxp.com>
---
 board/freescale/ls1012afrdm/ls1012afrdm.c | 20 ++++++++++++--------
 include/configs/ls1012afrwy.h             |  6 +++---
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/board/freescale/ls1012afrdm/ls1012afrdm.c 
b/board/freescale/ls1012afrdm/ls1012afrdm.c
index 315da8b866..5db1027717 100644
--- a/board/freescale/ls1012afrdm/ls1012afrdm.c
+++ b/board/freescale/ls1012afrdm/ls1012afrdm.c
@@ -24,11 +24,15 @@ DECLARE_GLOBAL_DATA_PTR;
 
 static inline int get_board_version(void)
 {
-       struct ccsr_gpio *pgpio = (void *)(GPIO1_BASE_ADDR);
-       int val;
+       uint32_t val;
+#ifdef CONFIG_TARGET_LS1012AFRDM
+       val = 0;
+#else
+       struct ccsr_gpio *pgpio = (void *)(GPIO2_BASE_ADDR);
 
-       val = in_be32(&pgpio->gpdat);
+       val = in_be32(&pgpio->gpdat) & BOARD_REV_MASK;/*Get GPIO2 11,12,14*/
 
+#endif
        return val;
 }
 
@@ -46,11 +50,11 @@ int checkboard(void)
        puts("Version");
 
        switch (rev) {
-       case BOARD_REV_A:
-               puts(": RevA ");
+       case BOARD_REV_A_B:
+               puts(": RevA/B ");
                break;
-       case BOARD_REV_B:
-               puts(": RevB ");
+       case BOARD_REV_C:
+               puts(": RevC ");
                break;
        default:
                puts(": unknown");
@@ -100,7 +104,7 @@ int dram_init(void)
 #ifdef CONFIG_TARGET_LS1012AFRWY
        board_rev = get_board_version();
 
-       if (board_rev & BOARD_REV_B) {
+       if (board_rev == BOARD_REV_C) {
                mparam.mdctl = 0x05180000;
                gd->ram_size = SYS_SDRAM_SIZE_1024;
        } else {
diff --git a/include/configs/ls1012afrwy.h b/include/configs/ls1012afrwy.h
index 35578c3e41..b03d18bb70 100644
--- a/include/configs/ls1012afrwy.h
+++ b/include/configs/ls1012afrwy.h
@@ -9,9 +9,9 @@
 #include "ls1012a_common.h"
 
 /* Board Rev*/
-#define BOARD_REV_A                    0x0
-#define BOARD_REV_B                    0x200
-
+#define BOARD_REV_A_B                  0x0
+#define BOARD_REV_C                    0x00080000
+#define BOARD_REV_MASK                 0x001A0000
 /* DDR */
 #define CONFIG_DIMM_SLOTS_PER_CTLR     1
 #define CONFIG_CHIP_SELECTS_PER_CTRL   1
-- 
2.17.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to