s5pc110: universal: Kernel auto burning support
authorKyungmin Park <kyungmin.park@samsung.com>
Fri, 31 Jul 2009 06:12:25 +0000 (15:12 +0900)
committerKyungmin Park <kyungmin.park@samsung.com>
Fri, 31 Jul 2009 06:12:25 +0000 (15:12 +0900)
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
board/samsung/universal/universal.c
include/configs/s5pc100_universal.h

index 1cf00d3..949c730 100644 (file)
@@ -121,14 +121,19 @@ static void check_hw_revision(void)
                setenv("mtdparts", MTDPARTS_DEFAULT_4KB);
        } else {
                setenv("bootk", "onenand read 0x20007FC0 0x60000 0x300000; bootm 0x20007FC0");
+               setenv("updatek", "onenand erase 0x60000 0x300000; onenand write 0x21008000 0x60000 0x300000");
        }
 }
 
 static void check_auto_burn(void)
 {
-       if (readl(0x22000000) == 0xa5a55a5a) {
+       if (readl(0x22000000) == 0x426f6f74) {  /* ASICC: Boot */
                printf("Auto burning bootloader\n");
-               setenv("bootcmd", "run updateb");
+               setenv("bootcmd", "run updateb; reset");
+       }
+       if (readl(0x22000000) == 0x4b65726e) {  /* ASICC: Kern */
+               printf("Auto burning kernel\n");
+               setenv("bootcmd", "run updatek; reset");
        }
 }
 
index 853a061..4c95002 100644 (file)
 #define CONFIG_ENV_OVERWRITE
 #define CONFIG_EXTRA_ENV_SETTINGS                                      \
        CONFIG_UPDATEB \
-       "updatek=onenand erase 0x60000 0x300000;" \
-       " onenand write 0x21008000 0x60000 0x300000\0" \
+       "updatek=onenand erase 0x80000 0x300000;" \
+       " onenand write 0x21008000 0x80000 0x300000\0" \
        "updateu=onenand erase 0x01560000 0x1eaa0000;" \
        " onenand write 0x22000000 0x1260000 0x8C0000\0" \
        "bootk=onenand read 0x20007FC0 0x80000 0x300000;" \