From: Mike Lavender <m...@steroidmicros.com>

I have changed and added Macronix's JEDEC id to "m25p_ids" array.
And initialized status register to 0 for using some Macronix devices.
Thank you!
Signed-off-by: Jim Kuo <jimting...@gmail.com>
---
diff -uprN a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
--- a/drivers/mtd/devices/m25p80.c      2013-03-22 00:11:50.554729702 +0800
+++ b/drivers/mtd/devices/m25p80.c      2013-03-22 00:23:25.502754241 +0800
@@ -743,16 +743,36 @@ 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) },
-       { "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
-       { "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, 0) },
-       { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 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) },
+       { "mx25u25635f", INFO(0xc22539, 0, 64 * 1024,  512, 0) },
+       { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024,  512, 0) },
+       { "mx66l51235f", INFO(0xc2201a, 0, 64 * 1024, 1024, 0) },

        /* Micron */
        { "n25q128a11",  INFO(0x20bb18, 0, 64 * 1024, 256, 0) },
@@ -970,13 +990,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);
        }
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to