Support for AM29LV004T in mtd-driver
Christian Magnusson
christian.magnusson at runaware.com
Thu Mar 4 07:35:10 EST 2004
I'm using uClinux on my MCF5206eC3 evaluation board, and I noticed that the
AM29LV004T flash wasn't detected in jedec_probe.c.
I have tested it on the linux-2.4.24-uc0 kernel and it works perfect with
interleave 2 since there are 2 x 512Kb flash in the board.
I still haven't tried the patch for the linux-2.6.2-uc0 kernel yet, since I
was unsure about the .uaddr structure. Does anyone know for sure what it
should be set to?
/Christian
diff -u -r uClinux-dist/linux-2.4.x/drivers/mtd/chips/jedec_probe.c
uClinux-dist-test/linux-2.4.x/drivers/mtd/chips/jedec_probe.c
--- uClinux-dist/linux-2.4.x/drivers/mtd/chips/jedec_probe.c Tue Feb 17
13:53:07 2004
+++ uClinux-dist-test/linux-2.4.x/drivers/mtd/chips/jedec_probe.c Thu
Mar 4 10:29:29 2004
@@ -44,6 +44,8 @@
#define AM29F040 0x00A4
#define AM29LV040B 0x004F
#define AM29F032B 0x0041
+#define AM29LV004T 0x00B5
+#define AM29LV004B 0x00B6
/* Atmel */
#define AT49BV512 0x0003
@@ -150,6 +152,30 @@
static const struct amd_flash_info jedec_table[] = {
{
mfr_id: MANUFACTURER_AMD,
+ dev_id: AM29LV004T,
+ name: "AMD AM29LV004T",
+ DevSize: SIZE_512KiB,
+ CmdSet: P_ID_AMD_STD,
+ NumEraseRegions: 4,
+ regions: {ERASEINFO(0x10000,7),
+ ERASEINFO(0x08000,1),
+ ERASEINFO(0x02000,2),
+ ERASEINFO(0x04000,1)
+ }
+ }, {
+ mfr_id: MANUFACTURER_AMD,
+ dev_id: AM29LV004B,
+ name: "AMD AM29LV004B",
+ DevSize: SIZE_512KiB,
+ CmdSet: P_ID_AMD_STD,
+ NumEraseRegions: 4,
+ regions: {ERASEINFO(0x04000,1),
+ ERASEINFO(0x02000,2),
+ ERASEINFO(0x08000,1),
+ ERASEINFO(0x10000,7)
+ }
+ }, {
+ mfr_id: MANUFACTURER_AMD,
dev_id: AM29F032B,
name: "AMD AM29F032B",
DevSize: SIZE_4MiB,
--- uClinux-dist-test/linux-2.6.x.old/drivers/mtd/chips/jedec_probe.c Fri
Jan 30 00:22:39 2004
+++ uClinux-dist-test/linux-2.6.x/drivers/mtd/chips/jedec_probe.c Thu
Mar 4 10:40:44 2004
@@ -50,6 +50,8 @@
#define AM29F040 0x00A4
#define AM29LV040B 0x004F
#define AM29F032B 0x0041
+#define AM29LV004T 0x00B5
+#define AM29LV004B 0x00B6
/* Atmel */
#define AT49BV512 0x0003
@@ -239,6 +241,40 @@
static const struct amd_flash_info jedec_table[] = {
{
.mfr_id = MANUFACTURER_AMD,
+ .dev_id = AM29LV004T,
+ .name = "AMD AM29LV004T",
+ .uaddr = {
+ [0] = MTD_UADDR_0x0AAA_0x0555, /* x8 */
+ [1] = MTD_UADDR_0x0555_0x02AA, /* x16 */
+ },
+ .DevSize = SIZE_512KiB,
+ .CmdSet = P_ID_AMD_STD,
+ .NumEraseRegions= 4,
+ .regions = {
+ ERASEINFO(0x10000,7),
+ ERASEINFO(0x08000,1),
+ ERASEINFO(0x02000,2),
+ ERASEINFO(0x04000,1)
+ }
+ }, {
+ .mfr_id = MANUFACTURER_AMD,
+ .dev_id = AM29LV004B,
+ .name = "AMD AM29LV004B",
+ .uaddr = {
+ [0] = MTD_UADDR_0x0AAA_0x0555, /* x8 */
+ [1] = MTD_UADDR_0x0555_0x02AA, /* x16 */
+ },
+ .DevSize = SIZE_512KiB,
+ .CmdSet = P_ID_AMD_STD,
+ .NumEraseRegions= 4,
+ .regions = {
+ ERASEINFO(0x04000,1),
+ ERASEINFO(0x02000,2),
+ ERASEINFO(0x08000,1),
+ ERASEINFO(0x10000,7)
+ }
+ }, {
+ .mfr_id = MANUFACTURER_AMD,
.dev_id = AM29F032B,
.name = "AMD AM29F032B",
.uaddr = {
More information about the linux-mtd
mailing list