On 04/27/2014 12:38 AM, Stefan Tauner wrote:
> On Tue, 18 Mar 2014 18:46:31 -0400
> Michael Coppola <[email protected]> wrote:
>
>> I've added a new definition for the Macronix MX23L3254 chip (4M). Since
>> it is a mask ROM, it doesn't support write or erase. Let me know if the
>> definition is incorrect in describing this.
>>
>> Here's the datasheet for reference:
>> http://www.macronix.com/Lists/DataSheet/Attachments/1233/MX23L3254,%203.0-3.3V,%2032Mb,%20v1.5.pdf
>>
>> Probe and read works when tested on a real chip:
>>
>> $ ./flashrom -p buspirate_spi:dev=/dev/ttyUSB0 -r trying_again2.bin
>> flashrom v0.9.7-r1767 on Linux 3.8.0-37-generic (x86_64)
>> flashrom is free software, get the source code at http://www.flashrom.org
>>
>> Calibrating delay loop... OK.
>> Found Macronix flash chip "MX23L3254" (4096 kB, SPI) on buspirate_spi.
>> ===
>> This flash part has status UNTESTED for operations: ERASE WRITE
>> The test status of this chip may have been updated in the latest development
>> version of flashrom. If you are running the latest development version,
>> please email a report to [email protected] if any of the above
>> operations
>> work correctly for you with this flash part. Please include the flashrom
>> output with the additional -V option for all operations you tested (-V, -Vr,
>> -VE, -Vw), and mention which mainboard or programmer you tested.
>> Please mention your board in the subject line. Thanks for your help!
>> Reading flash... done.
>>
>> Signed-off-by: Michael Coppola <[email protected]>
> Hello Michael,
>
> thanks for your patch. There are datasheets available on Macronix'
> website for other ROMs as well. I am aware that you probably don't have
> the respective chips available but adding them without testing is
> perfectly OK (even more so because they can't be modified anyway).
> Would you like to add them too?
>
> Regarding the definition in the patch as is...
> The .tested field should be TEST_OK_PR | TEST_BAD_EW for tested ROMs
> (the latter does not exist yet, but will soon). Untested ROMs should
> just be tagged as TEST_BAD_EW.
>
> The following fields could be left out as well because they are
> initialized to 0/NULL anyway
> feature_bits, block_erasers, unlock and write too.
> I would set the latter to NULL however as you did and add the comment
> about it being a ROM there.
>
> Please let me know if you are planning to work on this patch or if I
> should incorporate it as it, thanks.
Hi Stefan,
I've attached the updated patch. I would be happy to add additional
Macronix chips -- I will submit patches as time permits.
Michael
Index: flashchips.c
===================================================================
--- flashchips.c (revision 1781)
+++ flashchips.c (working copy)
@@ -5909,6 +5909,24 @@
{
.vendor = "Macronix",
+ .name = "MX23L3254",
+ .bustype = BUS_SPI,
+ .manufacture_id = MACRONIX_ID,
+ .model_id = MACRONIX_MX23L3254,
+ .total_size = 4096,
+ .page_size = 256,
+ .tested = TEST_OK_PR | TEST_BAD_EW,
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
+ .printlock = spi_prettyprint_status_register_default_bp1,
+ .unlock = NULL,
+ .write = NULL, /* MX23L3254 is a mask ROM, so it is read-only */
+ .read = spi_chip_read,
+ .voltage = {3000, 3600},
+ },
+
+ {
+ .vendor = "Macronix",
.name = "MX25L512(E)/MX25V512(C)",
.bustype = BUS_SPI,
.manufacture_id = MACRONIX_ID,
Index: flashchips.h
===================================================================
--- flashchips.h (revision 1781)
+++ flashchips.h (working copy)
@@ -430,6 +430,7 @@
* and use the same set of IDs.
*/
#define MACRONIX_ID 0xC2 /* Macronix (MX) */
+#define MACRONIX_MX23L3254 0x0516 /* MX23L3254 mask ROM (4M) */
#define MACRONIX_MX25L512 0x2010 /* Same as MX25L512E, MX25V512, MX25V512C */
#define MACRONIX_MX25L1005 0x2011 /* Same as MX25L1005C, MX25L1006E */
#define MACRONIX_MX25L2005 0x2012 /* Same as MX25L2005C */
_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom