diff options
author | wdenk <wdenk> | 2004-03-23 20:18:25 +0000 |
---|---|---|
committer | wdenk <wdenk> | 2004-03-23 20:18:25 +0000 |
commit | efa329cb892c8b9a5e453638b3ca57c94b71e9a2 (patch) | |
tree | b8c5361b7054e21662e619100c1a7f53e6d8de0a /board/trab/flash.c | |
parent | 7d7ce4125f769a21a321c3df972272c5854d54f7 (diff) | |
download | u-boot-imx-efa329cb892c8b9a5e453638b3ca57c94b71e9a2.zip u-boot-imx-efa329cb892c8b9a5e453638b3ca57c94b71e9a2.tar.gz u-boot-imx-efa329cb892c8b9a5e453638b3ca57c94b71e9a2.tar.bz2 |
* Add start-up delay to make sure power has stabilized before
attempting to switch on USB on SX1 board.
* Patch by Josef Wagner, 18 Mar 2004:
- Add support for MicroSys XM250 board (PXA255)
- Add support for MicroSys PM828 board (MPC8280)
- Add support for 32 MB Flash on PM825/826
- new SDRAM refresh rate for PM825/PM826
- added support for MicroSys PM520 (MPC5200)
- replaced Query by Identify command in CPU86/flash.c
to support 28F160F3B
* Fix wrap around problem with udelay() on ARM920T
* Add support for Macronix flash on TRAB board
Diffstat (limited to 'board/trab/flash.c')
-rw-r--r-- | board/trab/flash.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/board/trab/flash.c b/board/trab/flash.c index 764c57b..2cccee6 100644 --- a/board/trab/flash.c +++ b/board/trab/flash.c @@ -83,6 +83,7 @@ ulong flash_init (void) switch (info->flash_id & FLASH_TYPEMASK) { case (FLASH_AM320B & FLASH_TYPEMASK): + case (FLASH_MXLV320B & FLASH_TYPEMASK): /* Boot sector type: 8 x 8 + N x 128 kB */ flashbase += (j < 8) ? 0x4000 : 0x20000; break; @@ -130,6 +131,8 @@ void flash_print_info (flash_info_t * info) printf ("AMD "); break; case (FLASH_MAN_FUJ & FLASH_VENDMASK): printf ("FUJITSU "); break; + case (FLASH_MAN_MX & FLASH_VENDMASK): + printf ("MACRONIX "); break; default: printf ("Unknown Vendor "); break; } @@ -137,6 +140,9 @@ void flash_print_info (flash_info_t * info) case (FLASH_AM320B & FLASH_TYPEMASK): printf ("2x Am29LV320DB (32Mbit)\n"); break; + case (FLASH_MXLV320B & FLASH_TYPEMASK): + printf ("2x MX29LV320DB (32Mbit)\n"); + break; case (FLASH_AM640U & FLASH_TYPEMASK): printf ("2x Am29LV640D (64Mbit)\n"); break; @@ -191,6 +197,7 @@ int flash_erase (flash_info_t * info, int s_first, int s_last) switch (info->flash_id & FLASH_VENDMASK) { case (FLASH_MAN_AMD & FLASH_VENDMASK): break; /* OK */ case (FLASH_MAN_FUJ & FLASH_VENDMASK): break; /* OK */ + case (FLASH_MAN_MX & FLASH_VENDMASK): break; /* OK */ default: debug ("## flash_erase: unknown manufacturer\n"); return (ERR_UNKNOWN_FLASH_VENDOR); @@ -502,6 +509,9 @@ static ulong flash_get_size (vu_long *addr, flash_info_t *info) case FUJ_MANUFACT: info->flash_id = FLASH_MAN_FUJ; break; + case MX_MANUFACT: + info->flash_id = FLASH_MAN_MX; + break; default: info->flash_id = FLASH_UNKNOWN; info->sector_count = 0; @@ -532,6 +542,14 @@ static ulong flash_get_size (vu_long *addr, flash_info_t *info) addr[0] = 0x00F000F0; /* restore read mode */ break; /* => 16 MB */ + case MX_ID_LV320B: + info->flash_id += FLASH_MXLV320B; + info->sector_count = 71; + info->size = 0x00800000; + + addr[0] = 0x00FF00FF; /* restore read mode */ + break; /* => 8 MB */ + default: debug ("## flash_init: unknown flash chip\n"); info->flash_id = FLASH_UNKNOWN; |