s5pc110:aquila:add 'bamboo' board
authorDonggeun Kim <dg77.kim@samsung.com>
Thu, 7 Jan 2010 09:41:04 +0000 (18:41 +0900)
committerDonggeun Kim <dg77.kim@samsung.com>
Thu, 7 Jan 2010 09:41:04 +0000 (18:41 +0900)
Signed-off-by: Donggeun Kim <dg77.kim@samsung.com>
board/samsung/universal/universal.c

index 4a4a9b1..d83fcb1 100644 (file)
@@ -166,6 +166,7 @@ enum {
 #define LIMO_UNIVERSAL_BOARD   0x400
 #define LIMO_REAL_BOARD                0x800
 #define MEDIA_BOARD            0x1000
+#define BAMBOO_BOARD           0x2000
 /* board is MACH_P1P2 and board is like below. */
 #define P1_REAL_BOARD          0x200
 #define P2_REAL_BOARD          0x400
@@ -217,6 +218,11 @@ static int board_is_media(void)
        return machine_is_aquila() && (board_rev & MEDIA_BOARD);
 }
 
+static int board_is_bamboo(void)
+{
+       return machine_is_aquila() && (board_rev & BAMBOO_BOARD);
+}
+
 static int board_is_j1b2(void)
 {
        return machine_is_aquila() && (board_rev & J1_B2_BOARD);
@@ -340,6 +346,8 @@ static char *display_features(int board, int board_rev)
                        count += sprintf(buf + count, " - Limo Universal");
                if (board_rev & MEDIA_BOARD)
                        count += sprintf(buf + count, " - Media");
+               if (board_rev & BAMBOO_BOARD)
+                       count += sprintf(buf + count, " - Bamboo");
        } else if (board == MACH_P1P2) {
                /* P1P2 */
                if (board_rev & P1_REAL_BOARD)
@@ -367,6 +375,11 @@ static void check_board_revision(int board, int rev)
                if (rev & MEDIA_BOARD)
                        board_rev &= ~(J1_B2_BOARD |
                                        LIMO_UNIVERSAL_BOARD);
+               if (rev & BAMBOO_BOARD)
+                       board_rev &= ~(J1_B2_BOARD |
+                                       LIMO_UNIVERSAL_BOARD |
+                                       LIMO_REAL_BOARD |
+                                       MEDIA_BOARD);
                break;
        case MACH_P1P2:
                break;
@@ -434,17 +447,18 @@ static void check_hw_revision(void)
                 * OA: Old Aquila
                 * P1P2: Smart Book
                 * CYP: Cypress
+                * BB : Bamboo
                 *
                 * ADDR = 0xE0200000 + OFF
                 *
-                *       OFF    Universal LRA  LUA  OA   TT   SS        P1P2 CYP
-                *   J1: 0x0264 0x10      0x00 0x00 0x00 0x00 0x00      0x00
-                *   H1: 0x0C24    W      0x28 0xA8 0x1C                0x18 0x0F
-                *   H3: 0x0C64           0x03 0x07 0x0F                0xff
-                *   D1: 0x00C4 0x0F      0x3F 0x3F 0x0F 0xXC 0x3F
-                *    I: 0x0224                     0x02 0x00 0x08
-                * MP03: 0x0324                     0x9x      0xbx 0x9x
-                * MP05: 0x0364                     0x80      0x88
+                *       OFF    Universal BB   LRA  LUA  OA   TT   SS   P1P2 CYP
+                *   J1: 0x0264 0x10      0x10 0x00 0x00 0x00 0x00 0x00 0x00
+                *   H1: 0x0C24    W           0x28 0xA8 0x1C           0x18 0x0F
+                *   H3: 0x0C64                0x03 0x07 0x0F           0xff
+                *   D1: 0x00C4 0x0F      0x3F 0x3F 0x3F 0x0F 0xXC 0x3F
+                *    I: 0x0224                          0x02 0x00 0x08
+                * MP03: 0x0324                          0x9x      0xbx 0x9x
+                * MP05: 0x0364                          0x80      0x88
                 */
 
                /* C110 Aquila */
@@ -474,6 +488,13 @@ static void check_hw_revision(void)
                        board = MACH_AQUILA;
                        board_rev |= LIMO_REAL_BOARD;
                }
+               /* C110 Aquila Bamboo */
+               if (gpio_get_value(&gpio->gpio_j1, 4) == 1) {
+                       if (gpio_get_value(&gpio->gpio_d1, 4) == 1) {
+                               board = MACH_AQUILA;
+                               board_rev |= BAMBOO_BOARD;
+                       }
+               }
 
                /* C110 TickerTape */
                if (gpio_get_value(&gpio->gpio_d1, 0) == 0 &&