Explorar o código

Fix auto_update for MCC200 board.

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.
Wolfgang Denk %!s(int64=18) %!d(string=hai) anos
pai
achega
787fa15860
Modificáronse 2 ficheiros con 7 adicións e 8 borrados
  1. 4 4
      board/mcc200/auto_update.c
  2. 3 4
      board/mcc200/mcc200.c

+ 4 - 4
board/mcc200/auto_update.c

@@ -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);

+ 3 - 4
board/mcc200/mcc200.c

@@ -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);
 }