Wacky JEDEC probes

Thayne Harbaugh tharbaugh at lnxi.com
Tue Apr 1 15:51:24 EST 2003


On Tue, 2003-04-01 at 07:18, Stefan Roese wrote:
> Hi!
> 
> I am trying to use "jedec_probe.c" on our ppc based board to support two
> different flash types (AMD AM29VL160xT and SSTI SST39LF160). Both are used
> in 16bit mode. Since the SST flash is not really CFI compliant, I have to
> use jedec_probe, right?
> 
> Two problems:
> 1) 16bit support for the AM29LV160 device.
> The simple solution is to add the 16bit part as new device. Works here fine.

<snip>

I looked at your patch and saw this section where the AM29LV160 has byte
and word entries in jedec_table[]:

@@ -206,7 +218,20 @@
                mfr_id: MANUFACTURER_AMD,
                dev_id: AM29LV160DT,
                name: "AMD AM29LV160DT",
-               uaddr: MTD_UADDR_0x0555_0x02AA, /* FIXME - for words,
not bytes!! */
+               uaddr: MTD_UADDR_0x0555_0x02AA, /* bytes mode */
+               DevSize: SIZE_2MiB,
+               CmdSet: P_ID_AMD_STD,
+               NumEraseRegions: 4,
+               regions: {ERASEINFO(0x10000,31),
+                         ERASEINFO(0x08000,1),
+                         ERASEINFO(0x02000,2),
+                         ERASEINFO(0x04000,1)
+               }
+       }, {
+               mfr_id: MANUFACTURER_AMD,
+               dev_id: AM29LV160DT,
+               name: "AMD AM29LV160DT",
+               uaddr: MTD_UADDR_0x0AAA_0x0554, /* word mode */
                DevSize: SIZE_2MiB,
                CmdSet: P_ID_AMD_STD,
                NumEraseRegions: 4,
@@ -219,7 +244,20 @@
                mfr_id: MANUFACTURER_AMD,
                dev_id: AM29LV160DB,
                name: "AMD AM29LV160DB",
-               uaddr: MTD_UADDR_0x0555_0x02AA, /* FIXME - for words,
not bytes!! */
+               uaddr: MTD_UADDR_0x0555_0x02AA, /* byte mode */
+               DevSize: SIZE_2MiB,
+               CmdSet: P_ID_AMD_STD,
+               NumEraseRegions: 4,
+               regions: {ERASEINFO(0x04000,1),
+                         ERASEINFO(0x02000,2),
+                         ERASEINFO(0x08000,1),
+                         ERASEINFO(0x10000,31)
+               }
+       }, {
+               mfr_id: MANUFACTURER_AMD,
+               dev_id: AM29LV160DB,
+               name: "AMD AM29LV160DB",
+               uaddr: MTD_UADDR_0x0AAA_0x0554, /* word mode */
                DevSize: SIZE_2MiB,
                CmdSet: P_ID_AMD_STD,
                NumEraseRegions: 4,


Your diff indicates that MTD_UADDR_0x0AAA_0x0554 is for word mode and
MTD_UADDR_0x0555_0x02AA is for byte mode.

The AMD data sheet for AM29LV160D
(http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/22358B.pdf)
in table 9 - Am29LV160D command defenitions (page 24) indicates that the
unlock addresses for word mode are 0x0555 and 0x02AA while the unlock
addresses for byte mode are 0x0AAA and 0x0555.

Why the difference?  Are the data sheets in error?

-- 
Thayne Harbaugh
Linux Networx
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 232 bytes
Desc: This is a digitally signed message part
Url : http://lists.infradead.org/pipermail/linux-mtd/attachments/20030401/13891669/attachment.bin 


More information about the linux-mtd mailing list