[1/1] m25p80: add JEDEC id and reset SR for Macronix devices
diff mbox series

Message ID OF44C3A336.F4B571D0-ON48257AE8.0037CB7F-48257AE8.0038A88B@mxic.com.tw
State New, archived
Headers show
Series
  • [1/1] m25p80: add JEDEC id and reset SR for Macronix devices
Related show

Commit Message

jimkuo@mxic.com.tw Jan. 3, 2013, 10:18 a.m. UTC
From: Mike Lavender <mike@steroidmicros.com>

The following modification is based on Linux-3.8-rc1.
I changed and added some JEDEC id of Macronix devices to "m25p_ids" array.
And I set status register to 0 at startup time for using some type of
Macronix device.
Signed-off-by: Jim Kuo <jimkuo@mxic.com.tw>
---



============================================================================

CONFIDENTIALITY NOTE:

This e-mail and any attachments may contain confidential information and may be protected by legal privilege. If you are not the intended addressee (or authorized to receive for the addressee), be aware that any disclosure, copying, distribution or use of this e-mail or any attachment is prohibited. If you have received this e-mail in error, please notify us immediately by returning it to the sender and delete this copy from your system. Thank you for your cooperation.

Macronix International Co., Ltd.

=====================================================================

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Patch
diff mbox series

diff -uprN a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
--- a/drivers/mtd/devices/m25p80.c  2013-01-03 14:48:03.250938000 +0800
+++ b/drivers/mtd/devices/m25p80.c  2013-01-03 14:55:14.364119000 +0800
@@ -649,13 +649,31 @@  static const struct spi_device_id m25p_i
      { "n25q064",  INFO(0x20ba17, 0, 64 * 1024, 128, 0) },

      /* Macronix */
-     { "mx25l2005a",  INFO(0xc22012, 0, 64 * 1024,   4, SECT_4K) },
-     { "mx25l4005a",  INFO(0xc22013, 0, 64 * 1024,   8, SECT_4K) },
-     { "mx25l8005",   INFO(0xc22014, 0, 64 * 1024,  16, 0) },
-     { "mx25l1606e",  INFO(0xc22015, 0, 64 * 1024,  32, SECT_4K) },
-     { "mx25l3205d",  INFO(0xc22016, 0, 64 * 1024,  64, 0) },
-     { "mx25l6405d",  INFO(0xc22017, 0, 64 * 1024, 128, 0) },
-     { "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
+     { "mx25l512e",   INFO(0xc22010, 0, 64 * 1024,   1, SECT_4K) },
+     { "mx25l5121e",  INFO(0xc22210, 0, 64 * 1024,   1, SECT_4K) },
+     { "mx25l1006e",  INFO(0xc22011, 0, 64 * 1024,   2, SECT_4K) },
+     { "mx25l1021e",  INFO(0xc22211, 0, 64 * 1024,   2, SECT_4K) },
+     { "mx25l2006e",  INFO(0xc22012, 0, 64 * 1024,   4, SECT_4K) },
+     { "mx25l4006e",  INFO(0xc22013, 0, 64 * 1024,   8, SECT_4K) },
+     { "mx25u4035",   INFO(0xc22533, 0, 64 * 1024,   8, SECT_4K) },
+     { "mx25v4035",   INFO(0xc22553, 0, 64 * 1024,   8, SECT_4K) },
+     { "mx25l8006e",  INFO(0xc22014, 0, 64 * 1024,  16, 0) },
+     { "mx25u8035",   INFO(0xc22534, 0, 64 * 1024,  16, 0) },
+     { "mx25v8035",   INFO(0xc22554, 0, 64 * 1024,  16, 0) },
+     { "mx25l1606e",  INFO(0xc22015, 0, 64 * 1024,  32, 0) },
+     { "mx25l1633e",  INFO(0xc22415, 0, 64 * 1024,  32, 0) },
+     { "mx25l1635e",  INFO(0xc22515, 0, 64 * 1024,  32, 0) },
+     { "mx25u1635e",  INFO(0xc22535, 0, 64 * 1024,  32, 0) },
+     { "mx25l1655d",  INFO(0xc22615, 0, 64 * 1024,  32, 0) },
+     { "mx25l3206e",  INFO(0xc22016, 0, 64 * 1024,  64, 0) },
+     { "mx25l3239e",  INFO(0xc22536, 0, 64 * 1024,  64, 0) },
+     { "mx25l3225d",  INFO(0xc25e16, 0, 64 * 1024,  64, 0) },
+     { "mx25l3255d",  INFO(0xc29e16, 0, 64 * 1024,  64, 0) },
+     { "mx25l6406e",  INFO(0xc22017, 0, 64 * 1024, 128, 0) },
+     { "mx25l6439e",  INFO(0xc22537, 0, 64 * 1024, 128, 0) },
+     { "mx25l6455e",  INFO(0xc22617, 0, 64 * 1024, 128, 0) },
+     { "mx25l12806e", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
+     { "mx25u12835f", INFO(0xc22538, 0, 64 * 1024, 256, 0) },
      { "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
      { "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, 0) },
      { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) },
@@ -876,13 +894,14 @@  static int m25p_probe(struct spi_device
      dev_set_drvdata(&spi->dev, flash);

      /*
-      * Atmel, SST and Intel/Numonyx serial flash tend to power
-      * up with the software protection bits set
+      * Atmel, SST, Intel/Numonyx and Macronix serial flash tend
+      * to power up with the software protection bits set
       */

      if (JEDEC_MFR(info->jedec_id) == CFI_MFR_ATMEL ||
          JEDEC_MFR(info->jedec_id) == CFI_MFR_INTEL ||
-         JEDEC_MFR(info->jedec_id) == CFI_MFR_SST) {
+         JEDEC_MFR(info->jedec_id) == CFI_MFR_SST   ||
+         JEDEC_MFR(info->jedec_id) == CFI_MFR_MACRONIX) {
            write_enable(flash);
            write_sr(flash, 0);
      }