[flashrom] Added chipsets

Steven Zakulec spzakulec at gmail.com
Tue Jun 4 04:38:01 CEST 2013


So, I think Stefan is going to handle the review of the S25FL128S / 256S
Spansion chips since they're a bit unusual.

I'm going to cover the flashchips.h part of the patch, and some issues with
chip names/IDs that came up in review of the flashchips.h part.

In general, chip names should contain only important characters-
unimportant characters should be marked with a . or an _ depending on the
field in flashchips.c and with an _ for names in flashchips.h.  See
http://www.flashrom.org/pipermail/flashrom/2012-July/009599.html for the
reasoning here, and N25Q064..1E for an example.

The Spansion chips you've added seem to have an extra letter at the end
that's not important, so I would remove it.

>From flashchips.h:
#define ST_N25Q032__1E        0xBB16        /* N25Q032, 1.8V, (uniform
sectors expected) */
#define ST_N25Q064__3E        0xBA17        /* N25Q064, 3.0V, (uniform
sectors expected) */
#define ST_N25Q064__1E        0xBB17        /* N25Q064, 1.8V, (uniform
sectors expected) */
Here's examples of chips with names that have been shortened due to
unimportant characters. The underscore ( _ )  is used to replace the
unimportant characters.

There's also another item there that's important:
#define ST_N25Q064__1E        0xBB17        /* N25Q064, 1.8V, (uniform
sectors expected) */
The E and the uniform sector comment.  This is because there are certain
chips that once had (or still do) have hybrid sector setups- the top block
of the chip could have one value, and the bottom block another.
Flashrom can only handle uniform sectors right now.
The N25Q128A13 is a great example of this: the Numonyx datasheet from Feb
2011 mentions it has uniform sectors, but the May 2011 sheet says it has
top or bottom sectors

+#define ST_N25Q128A13       0xBA18 /* N25Q128, 3.0V */
should be:
+#define ST_N25Q128__3E       0xBA18 /* N25Q128, 3.0V, (uniform sectors
expected) */

+#define ST_N25Q128A11        0xBB18 /* N25Q128, 1.8V */
should be:
+#define ST_N25Q128__1E        0xBB18 /* N25Q128, 1.8V, (uniform sectors
expected) */

+#define ST_N25Q256A13        0xBA19 /* N25Q256, 3.0V */
should be:
+#define ST_N25Q256__3        0xBA19 /* N25Q256, 3.0V */

+#define ST_N25Q256A11        0xBB19 /* N25Q256, 1.8V */
should be:
+#define ST_N25Q256__1        0xBB19 /* N25Q256, 1.8V */

+#define ST_N25Q512A13        0xBA20 /* N25Q512, 3.0V */
should be:
+#define ST_N25Q512__3        0xBA20 /* N25Q512, 3.0V */

+#define ST_N25Q512A11        0xBB20 /* N25Q512, 1.8V */
should be:
+#define ST_N25Q512__1        0xBB20 /* N25Q512, 1.8V */

+#define ST_N25Q00AA13        0xBA21 /* N25Q00A, 3.0V */
should be:
+#define ST_N25Q00A__3        0xBA21 /* N25Q00A, 3.0V */

Please adjust the .name and .model_id fields in flashchips.c so the names
are properly shortened as done above:
.name uses periods in place of characters
.model_id uses underscores ( _ ) in place of characters

Please see N25Q064..3E for an example of this in flashchips.c

I realize this may be a lot to take in, so ask questions, and if I can't
answer it, hopefully someone else on the list can.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.flashrom.org/pipermail/flashrom/attachments/20130603/72f59e35/attachment.html>


More information about the flashrom mailing list