This is the mail archive of the
ecos-patches@sourceware.org
mailing list for the eCos project.
Re: Support for additional AMD-type Flash Devices
- From: Jonathan Larmour <jifl at eCosCentric dot com>
- To: Rene Nielsen <rbn at vitesse dot com>
- Cc: ecos-patches at sourceware dot org
- Date: Mon, 16 Feb 2009 23:13:50 +0000
- Subject: Re: Support for additional AMD-type Flash Devices
- References: <376637F07F8A9242AD11921B15FA17DC8AF27B@mx-dk.vsc.vitesse.com>
Rene Nielsen wrote:
The following patch adds support for the following flash devices:
8-bit S29GL128N, 8-bit MX29LV128M-B, 8-bit MX29LV128-T, and 16-bit
MX29LV128-B.
Thanks. A question below before committing though...
Index: flash_am29xxxxx_parts.inl
===================================================================
RCS file:
/cvs/ecos/ecos/packages/devs/flash/amd/am29xxxxx/current/include/flash_a
m29xxxxx_parts.inl,v
retrieving revision 1.30
diff -u -r1.30 flash_am29xxxxx_parts.inl
--- flash_am29xxxxx_parts.inl 29 Jan 2009 17:48:16 -0000 1.30
+++ flash_am29xxxxx_parts.inl 12 Feb 2009 08:44:05 -0000
@@ -78,6 +78,56 @@
#define _LAST_BOOTBLOCK (-1)
#if CYGNUM_FLASH_WIDTH == 8
+#ifdef CYGHWR_DEVS_FLASH_AMD_MX29LV128
+ { // MX29LV128M-B
+ long_device_id: true,
+ device_id : FLASHWORD(0x7e),
+ device_id2 : FLASHWORD(0x11),
+ device_id3 : FLASHWORD(0x00),
+ block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
+ block_count: 256,
+ device_size: 0x1000000 * CYGNUM_FLASH_INTERLEAVE,
+ base_mask : ~(0x1000000 * CYGNUM_FLASH_INTERLEAVE - 1),
+ bootblock : true,
+ bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ _LAST_BOOTBLOCK
+ },
+ banked : false,
+ bufsiz : 32
+ },
+ { // MX29LV128M-T
+ long_device_id: true,
+ device_id : FLASHWORD(0x7e),
+ device_id2 : FLASHWORD(0x11),
+ device_id3 : FLASHWORD(0x01),
+ block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
+ block_count: 256,
+ device_size: 0x1000000 * CYGNUM_FLASH_INTERLEAVE,
+ base_mask : ~(0x1000000 * CYGNUM_FLASH_INTERLEAVE - 1),
+ bootblock : true,
+ bootblocks : { 0xff0000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ _LAST_BOOTBLOCK
+ },
+ banked : false,
+ bufsiz : 16
+ },
Can you confirm the -B and -T parts really have different bufsiz and that
these values are correct? I tried looking it up myself in the datasheet[1]
and the only mention of the buffer size claimed it was unsupported.
And if you can include a ChangeLog entry with your reply that makes things
easier too :-). Thanks,
Jifl
[1] http://tinyurl.com/b5cfv2
--
*See us at Embedded World 2009, Nürnberg, Germany, 3-5 Mar, Stand 11-300*
eCosCentric Limited http://www.eCosCentric.com/ The eCos experts
Barnwell House, Barnwell Drive, Cambridge, UK. Tel: +44 1223 245571
Registered in England and Wales: Reg No 4422071.
------["Si fractum non sit, noli id reficere"]------ Opinions==mine