diff --git a/CHANGELOG b/CHANGELOG index c70c37695b..c1da98fc51 100644 --- a/CHANGELOG +++ b/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 diff --git a/board/pm520/flash.c b/board/pm520/flash.c index 386822179d..ccd0bd19cb 100644 --- a/board/pm520/flash.c +++ b/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: diff --git a/include/configs/PM520.h b/include/configs/PM520.h index 9f1dec82b8..812bfd0aaf 100644 --- a/include/configs/PM520.h +++ b/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) */