Prechádzať zdrojové kódy

Add support for 28F256J3A flah (=> 64 MB) on PM520 board

Wolfgang Denk 19 rokov pred
rodič
commit
c7428d49ac
3 zmenil súbory, kde vykonal 26 pridanie a 10 odobranie
  1. 2 0
      CHANGELOG
  2. 15 3
      board/pm520/flash.c
  3. 9 7
      include/configs/PM520.h

+ 2 - 0
CHANGELOG

@@ -2,6 +2,8 @@
 Changes since U-Boot 1.1.4:
 ======================================================================
 
+* Add support for 28F256J3A flah (=> 64 MB) on PM520 board
+
 * Fix compiler problem with at91rm9200dk board.
   Patch by Eugen Bigz, 19 Dec 2005
 

+ 15 - 3
board/pm520/flash.c

@@ -168,6 +168,10 @@ void flash_print_info (flash_info_t *info)
 	}
 
 	switch (info->flash_id & FLASH_TYPEMASK) {
+	case FLASH_28F256J3A:
+		printf ("28F256J3A\n");
+		break;
+
 	case FLASH_28F128J3A:
 		printf ("28F128J3A\n");
 		break;
@@ -236,25 +240,32 @@ static ulong flash_get_size (FPW *addr, flash_info_t *info)
 
 	switch (value) {
 
+	case (FPW) INTEL_ID_28F256J3A:
+		info->flash_id += FLASH_28F256J3A;
+		info->sector_count = 256;
+		info->size = 0x04000000;
+		info->start[0] = CFG_FLASH_BASE;
+		break;				/* => 64 MB     */
+
 	case (FPW) INTEL_ID_28F128J3A:
 		info->flash_id += FLASH_28F128J3A;
 		info->sector_count = 128;
 		info->size = 0x02000000;
-		info->start[0] = CFG_FLASH_BASE;
+		info->start[0] = CFG_FLASH_BASE + 0x02000000;
 		break;				/* => 32 MB     */
 
 	case (FPW) INTEL_ID_28F640J3A:
 		info->flash_id += FLASH_28F640J3A;
 		info->sector_count = 64;
 		info->size = 0x01000000;
-		info->start[0] = CFG_FLASH_BASE + 0x01000000;
+		info->start[0] = CFG_FLASH_BASE + 0x03000000;
 		break;				/* => 16 MB     */
 
 	case (FPW) INTEL_ID_28F320J3A:
 		info->flash_id += FLASH_28F320J3A;
 		info->sector_count = 32;
 		info->size = 0x800000;
-		info->start[0] = CFG_FLASH_BASE + 0x01800000;
+		info->start[0] = CFG_FLASH_BASE + 0x03800000;
 		break;				/* => 8 MB     */
 
 	default:
@@ -285,6 +296,7 @@ static void flash_sync_real_protect (flash_info_t * info)
 
 	switch (info->flash_id & FLASH_TYPEMASK) {
 
+	case FLASH_28F256J3A:
 	case FLASH_28F128J3A:
 	case FLASH_28F640J3A:
 	case FLASH_28F320J3A:

+ 9 - 7
include/configs/PM520.h

@@ -200,12 +200,13 @@
  * Flash configuration (8,16 or 32 MB)
  * TEXT base always at 0xFFF00000
  * ENV_ADDR always at  0xFFF40000
- * FLASH_BASE at 0xFC000000 for 32 MB
+ * FLASH_BASE at 0xFA000000 for 64 MB
+ *               0xFC000000 for 32 MB
  *               0xFD000000 for 16 MB
  *               0xFD800000 for  8 MB
  */
-#define CFG_FLASH_BASE		0xfc000000
-#define CFG_FLASH_SIZE		0x02000000
+#define CFG_FLASH_BASE		0xFA000000
+#define CFG_FLASH_SIZE		0x04000000
 #define CFG_BOOTROM_BASE	0xFFF00000
 #define CFG_BOOTROM_SIZE	0x00080000
 #define CFG_ENV_ADDR		(0xFDF00000 + 0x40000)
@@ -214,17 +215,18 @@
  * Flash configuration (8,16 or 32 MB)
  * TEXT base always at 0xFFF00000
  * ENV_ADDR always at  0xFFF40000
- * FLASH_BASE at 0xFE000000 for 32 MB
+ * FLASH_BASE at 0xFC000000 for 64 MB
+ *               0xFE000000 for 32 MB
  *               0xFF000000 for 16 MB
  *               0xFF800000 for  8 MB
  */
-#define CFG_FLASH_BASE		0xfe000000
-#define CFG_FLASH_SIZE		0x02000000
+#define CFG_FLASH_BASE		0xFC000000
+#define CFG_FLASH_SIZE		0x04000000
 #define CFG_ENV_ADDR		(0xFFF00000 + 0x40000)
 #endif
 #define CFG_MAX_FLASH_BANKS	1	/* max num of memory banks      */
 
-#define CFG_MAX_FLASH_SECT	128	/* max num of sects on one chip */
+#define CFG_MAX_FLASH_SECT	256	/* max num of sects on one chip */
 
 #define CFG_FLASH_ERASE_TOUT	240000	/* Flash Erase Timeout (in ms)  */
 #define CFG_FLASH_WRITE_TOUT	500	/* Flash Write Timeout (in ms)  */