s5pc110: kessler: S1 board memory detection
authorKyungmin Park <kyungmin.park@samsung.com>
Sat, 27 Mar 2010 03:15:07 +0000 (12:15 +0900)
committerKyungmin Park <kyungmin.park@samsung.com>
Sat, 27 Mar 2010 03:15:07 +0000 (12:15 +0900)
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
board/samsung/universal/lowlevel_init.S
board/samsung/universal/universal.c

index 3383663..f7fdad9 100644 (file)
@@ -302,6 +302,10 @@ skip_check_didle:
        moveq   r9, #3
        str     r4, [r2, #0x48]         /* Restore PULLUP configuration */
 
+#ifdef KESSLER_S1
+       mov     r9, #2                  /* Rev 0.9 */
+#endif
+
        bl      mem_ctrl_asm_init
 
        /* Wakeup support. Don't know if it's going to be used, untested. */
index 9359000..dfab8d6 100644 (file)
@@ -260,6 +260,11 @@ static int board_is_neptune(void)
        return mach_is_kessler() && (board_rev & NEPTUNE_BOARD);
 }
 
+static int board_is_s1(void)
+{
+       return mach_is_kessler() && (board_rev & S1_BOARD);
+}
+
 /* DLNA Dongle */
 static int mach_is_wmg160(void)
 {
@@ -2320,7 +2325,7 @@ int dram_init(void)
                 * Aquila Rev0.8 4G3G1G
                 * Aquila Rev0.9 4G3G1G
                 */
-               if (mach_is_aquila() || mach_is_kessler())
+               if (mach_is_aquila() || mach_is_kessler()) {
                        if (hwrevision(5) || hwrevision(8) || hwrevision(9)) {
                                memconfig1 = readl(base + MEMCONFIG1_OFFSET);
 
@@ -2328,7 +2333,9 @@ int dram_init(void)
                                sz = ((unsigned char) ~sz) + 1;
                                sz = sz << 4;
                        }
-
+                       if (mach_is_kessler() && board_is_s1())
+                               sz = 0;
+               }
        }
        /*
         * bi_dram[1].size contains all DMC1 memory size