mtd: Handle 29LV800BT
authorDirk Eibach <dirk.eibach@gdsys.cc>
Thu, 13 Nov 2014 18:21:13 +0000 (19:21 +0100)
committerStefan Roese <sr@denx.de>
Wed, 19 Nov 2014 07:48:41 +0000 (08:48 +0100)
The device id makes u-boot think that this chip needs
cfi_reverse_geometry(), which is not the case.
Add it to jedec_flash, so it is handled properly.

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
Signed-off-by: Stefan Roese <sr@denx.de>
drivers/mtd/jedec_flash.c
include/flash.h

index 593b9b8433a43fd03b197efce4abdf5bb0b42326..ce9af8f2541210e5964073652044cd5604580c66 100644 (file)
@@ -332,6 +332,57 @@ static const struct amd_flash_info jedec_table[] = {
                        ERASEINFO(0x10000, 15),
                }
        },
+       {
+               .mfr_id         = (u16)AMD_MANUFACT,
+               .dev_id         = AM29LV800BT,
+               .name           = "AMD AM29LV800BT",
+               .uaddr          = {
+                       [1] = MTD_UADDR_0x0555_0x02AA /* x16 */
+               },
+               .DevSize        = SIZE_1MiB,
+               .CmdSet         = CFI_CMDSET_AMD_LEGACY,
+               .NumEraseRegions= 4,
+               .regions        = {
+                       ERASEINFO(0x10000, 15),
+                       ERASEINFO(0x08000, 1),
+                       ERASEINFO(0x02000, 2),
+                       ERASEINFO(0x04000, 1),
+               }
+       },
+       {
+               .mfr_id         = (u16)MX_MANUFACT,
+               .dev_id         = AM29LV800BT,
+               .name           = "MXIC MX29LV800BT",
+               .uaddr          = {
+                       [1] = MTD_UADDR_0x0555_0x02AA /* x16 */
+               },
+               .DevSize        = SIZE_1MiB,
+               .CmdSet         = CFI_CMDSET_AMD_LEGACY,
+               .NumEraseRegions= 4,
+               .regions        = {
+                       ERASEINFO(0x10000, 15),
+                       ERASEINFO(0x08000, 1),
+                       ERASEINFO(0x02000, 2),
+                       ERASEINFO(0x04000, 1),
+               }
+       },
+       {
+               .mfr_id         = (u16)EON_ALT_MANU,
+               .dev_id         = AM29LV800BT,
+               .name           = "EON EN29LV800BT",
+               .uaddr          = {
+                       [1] = MTD_UADDR_0x0555_0x02AA /* x16 */
+               },
+               .DevSize        = SIZE_1MiB,
+               .CmdSet         = CFI_CMDSET_AMD_LEGACY,
+               .NumEraseRegions= 4,
+               .regions        = {
+                       ERASEINFO(0x10000, 15),
+                       ERASEINFO(0x08000, 1),
+                       ERASEINFO(0x02000, 2),
+                       ERASEINFO(0x04000, 1),
+               }
+       },
        {
                .mfr_id         = (u16)STM_MANUFACT,
                .dev_id         = STM29F400BB,
index 5454c9ea218e29d27e1a883657bfdf59ba38be22..30aa080b883eb0ec1febcb067965cea758491bfd 100644 (file)
@@ -158,6 +158,7 @@ extern flash_info_t *flash_get_info(ulong base);
 #define EXCEL_MANUFACT 0x004A004A      /* Excel Semiconductor                  */
 #define AMIC_MANUFACT  0x00370037      /* AMIC    manuf. ID in D23..D16, D7..D0 */
 #define WINB_MANUFACT  0x00DA00DA      /* Winbond manuf. ID in D23..D16, D7..D0 */
+#define EON_ALT_MANU   0x001C001C      /* EON     manuf. ID in D23..D16, D7..D0 */
 
 /* Manufacturers inside bank 1 have ids like 0x01xx01xx */
 #define EON_MANUFACT   0x011C011C      /* EON     manuf. ID in D23..D16, D7..D0 */