Fix auto_update for MCC200 board.
authorWolfgang Denk <wd@pollux.denx.de>
Wed, 10 Jan 2007 00:28:39 +0000 (01:28 +0100)
committerWolfgang Denk <wd@denx.de>
Wed, 10 Jan 2007 00:28:39 +0000 (01:28 +0100)
The invocation of do_auto_update() is moved to the end of the
misc_init_r() function, after the flash mappings have been
initialized. Please find attached a patch that implements that
change.

Also correct the decoding of the keypad status. With this update, the
key that will trigger the update is Column 2, Row 2.

board/mcc200/auto_update.c
board/mcc200/mcc200.c

index 63e4139..f1bb721 100644 (file)
@@ -121,10 +121,10 @@ struct flash_layout aufl_layout[AU_MAXFILES] = { \
 #define I2C_PSOC_KEYPAD_ADDR   0x53
 
 /* keypad mask */
-#define KEYPAD_ROW     3
-#define KEYPAD_COL     3
-#define KEYPAD_MASK_LO ((1<<(KEYPAD_COL-1+(KEYPAD_ROW*4-4)))&0xFF)
-#define KEYPAD_MASK_HI ((1<<(KEYPAD_COL-1+(KEYPAD_ROW*4-4)))>>8)
+#define KEYPAD_ROW     2
+#define KEYPAD_COL     2
+#define KEYPAD_MASK_LO ((1<<(KEYPAD_COL-1+(KEYPAD_ROW*3-3)))&0xFF)
+#define KEYPAD_MASK_HI ((1<<(KEYPAD_COL-1+(KEYPAD_ROW*3-3)))>>8)
 
 /* externals */
 extern int fat_register_device(block_dev_desc_t *, int);
index 67969a6..554c51d 100644 (file)
@@ -228,10 +228,6 @@ int misc_init_r (void)
 {
        ulong flash_sup_end, snum;
 
-#ifdef CONFIG_AUTO_UPDATE
-       /* this has priority over all else */
-       do_auto_update();
-#endif
        /*
         * Adjust flash start and offset to detected values
         */
@@ -294,6 +290,9 @@ int misc_init_r (void)
                flash_info[0].sector_count = snum;
        }
 
+#ifdef CONFIG_AUTO_UPDATE
+        do_auto_update();
+#endif
        return (0);
 }