Add support for 28F256J3A flah (=> 64 MB) on PM520 board
This commit is contained in:
@@ -2,6 +2,8 @@
|
|||||||
Changes since U-Boot 1.1.4:
|
Changes since U-Boot 1.1.4:
|
||||||
======================================================================
|
======================================================================
|
||||||
|
|
||||||
|
* Add support for 28F256J3A flah (=> 64 MB) on PM520 board
|
||||||
|
|
||||||
* Fix compiler problem with at91rm9200dk board.
|
* Fix compiler problem with at91rm9200dk board.
|
||||||
Patch by Eugen Bigz, 19 Dec 2005
|
Patch by Eugen Bigz, 19 Dec 2005
|
||||||
|
|
||||||
|
@@ -168,6 +168,10 @@ void flash_print_info (flash_info_t *info)
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch (info->flash_id & FLASH_TYPEMASK) {
|
switch (info->flash_id & FLASH_TYPEMASK) {
|
||||||
|
case FLASH_28F256J3A:
|
||||||
|
printf ("28F256J3A\n");
|
||||||
|
break;
|
||||||
|
|
||||||
case FLASH_28F128J3A:
|
case FLASH_28F128J3A:
|
||||||
printf ("28F128J3A\n");
|
printf ("28F128J3A\n");
|
||||||
break;
|
break;
|
||||||
@@ -236,25 +240,32 @@ static ulong flash_get_size (FPW *addr, flash_info_t *info)
|
|||||||
|
|
||||||
switch (value) {
|
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:
|
case (FPW) INTEL_ID_28F128J3A:
|
||||||
info->flash_id += FLASH_28F128J3A;
|
info->flash_id += FLASH_28F128J3A;
|
||||||
info->sector_count = 128;
|
info->sector_count = 128;
|
||||||
info->size = 0x02000000;
|
info->size = 0x02000000;
|
||||||
info->start[0] = CFG_FLASH_BASE;
|
info->start[0] = CFG_FLASH_BASE + 0x02000000;
|
||||||
break; /* => 32 MB */
|
break; /* => 32 MB */
|
||||||
|
|
||||||
case (FPW) INTEL_ID_28F640J3A:
|
case (FPW) INTEL_ID_28F640J3A:
|
||||||
info->flash_id += FLASH_28F640J3A;
|
info->flash_id += FLASH_28F640J3A;
|
||||||
info->sector_count = 64;
|
info->sector_count = 64;
|
||||||
info->size = 0x01000000;
|
info->size = 0x01000000;
|
||||||
info->start[0] = CFG_FLASH_BASE + 0x01000000;
|
info->start[0] = CFG_FLASH_BASE + 0x03000000;
|
||||||
break; /* => 16 MB */
|
break; /* => 16 MB */
|
||||||
|
|
||||||
case (FPW) INTEL_ID_28F320J3A:
|
case (FPW) INTEL_ID_28F320J3A:
|
||||||
info->flash_id += FLASH_28F320J3A;
|
info->flash_id += FLASH_28F320J3A;
|
||||||
info->sector_count = 32;
|
info->sector_count = 32;
|
||||||
info->size = 0x800000;
|
info->size = 0x800000;
|
||||||
info->start[0] = CFG_FLASH_BASE + 0x01800000;
|
info->start[0] = CFG_FLASH_BASE + 0x03800000;
|
||||||
break; /* => 8 MB */
|
break; /* => 8 MB */
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -285,6 +296,7 @@ static void flash_sync_real_protect (flash_info_t * info)
|
|||||||
|
|
||||||
switch (info->flash_id & FLASH_TYPEMASK) {
|
switch (info->flash_id & FLASH_TYPEMASK) {
|
||||||
|
|
||||||
|
case FLASH_28F256J3A:
|
||||||
case FLASH_28F128J3A:
|
case FLASH_28F128J3A:
|
||||||
case FLASH_28F640J3A:
|
case FLASH_28F640J3A:
|
||||||
case FLASH_28F320J3A:
|
case FLASH_28F320J3A:
|
||||||
|
@@ -200,12 +200,13 @@
|
|||||||
* Flash configuration (8,16 or 32 MB)
|
* Flash configuration (8,16 or 32 MB)
|
||||||
* TEXT base always at 0xFFF00000
|
* TEXT base always at 0xFFF00000
|
||||||
* ENV_ADDR always at 0xFFF40000
|
* 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
|
* 0xFD000000 for 16 MB
|
||||||
* 0xFD800000 for 8 MB
|
* 0xFD800000 for 8 MB
|
||||||
*/
|
*/
|
||||||
#define CFG_FLASH_BASE 0xfc000000
|
#define CFG_FLASH_BASE 0xFA000000
|
||||||
#define CFG_FLASH_SIZE 0x02000000
|
#define CFG_FLASH_SIZE 0x04000000
|
||||||
#define CFG_BOOTROM_BASE 0xFFF00000
|
#define CFG_BOOTROM_BASE 0xFFF00000
|
||||||
#define CFG_BOOTROM_SIZE 0x00080000
|
#define CFG_BOOTROM_SIZE 0x00080000
|
||||||
#define CFG_ENV_ADDR (0xFDF00000 + 0x40000)
|
#define CFG_ENV_ADDR (0xFDF00000 + 0x40000)
|
||||||
@@ -214,17 +215,18 @@
|
|||||||
* Flash configuration (8,16 or 32 MB)
|
* Flash configuration (8,16 or 32 MB)
|
||||||
* TEXT base always at 0xFFF00000
|
* TEXT base always at 0xFFF00000
|
||||||
* ENV_ADDR always at 0xFFF40000
|
* 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
|
* 0xFF000000 for 16 MB
|
||||||
* 0xFF800000 for 8 MB
|
* 0xFF800000 for 8 MB
|
||||||
*/
|
*/
|
||||||
#define CFG_FLASH_BASE 0xfe000000
|
#define CFG_FLASH_BASE 0xFC000000
|
||||||
#define CFG_FLASH_SIZE 0x02000000
|
#define CFG_FLASH_SIZE 0x04000000
|
||||||
#define CFG_ENV_ADDR (0xFFF00000 + 0x40000)
|
#define CFG_ENV_ADDR (0xFFF00000 + 0x40000)
|
||||||
#endif
|
#endif
|
||||||
#define CFG_MAX_FLASH_BANKS 1 /* max num of memory banks */
|
#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_ERASE_TOUT 240000 /* Flash Erase Timeout (in ms) */
|
||||||
#define CFG_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (in ms) */
|
#define CFG_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (in ms) */
|
||||||
|
Reference in New Issue
Block a user