Hello, i have here an "PMC25LV010E" which is not recognized by flashrom. I am no sure whats the difference between "PMC25LV010" and "E". The log is attached, maybe it's only another ID?
And i have an "Pm25LV010" here which is recognized as "Pm25LV010A". Maybe is the Description vice verse?
If you need more logs or something else, let me know.
On Fri, 23 May 2014 19:44:32 +0200 The Raven originalraven@hotmail.com wrote:
Hello, i have here an "PMC25LV010E" which is not recognized by flashrom. I am no sure whats the difference between "PMC25LV010" and "E". The log is attached, maybe it's only another ID?
And i have an "Pm25LV010" here which is recognized as "Pm25LV010A". Maybe is the Description vice verse?
If you need more logs or something else, let me know.
Hello!
Thanks for the log. I think the engineers at PMC interpret JEDEC's "continuation code" in a very *unconventional* manner. The good thing is that your log somewhat corresponds with the datasheet. The attached patch should detect the chip correctly, which IMHO is a PM25LV010 (no E suffix). I could not find any hint that such a model exists... I think you read a trailing E as part of the model number although it is part of a lot number or something similar. Even if not... it seems to match the non-suffix model (probing) behavior and that's all that counts. :)
Am 30.05.2014 16:48, schrieb Stefan Tauner:
Hello!
Thanks for the log. I think the engineers at PMC interpret JEDEC's "continuation code" in a very *unconventional* manner. The good thing is that your log somewhat corresponds with the datasheet. The attached patch should detect the chip correctly, which IMHO is a PM25LV010 (no E suffix). I could not find any hint that such a model exists... I think you read a trailing E as part of the model number although it is part of a lot number or something similar. Even if not... it seems to match the non-suffix model (probing) behavior and that's all that counts. :)
I have done a "quick test" and the patch works! I can read, write and erase the "E" chip. :-) Yes, it has an "E". Can i add a picture? Then you see it. ;-) In the next days i do more tests with this chip. And i also test my other "PM25LV010" witch was detected as "PM25LV010(A)". But on the chip is no "A". Seems to be a strange thing this PMC-Chips...
THX for your work!
On Fri, 30 May 2014 18:41:38 +0200 The Raven originalraven@hotmail.com wrote:
Am 30.05.2014 16:48, schrieb Stefan Tauner:
Hello!
Thanks for the log. I think the engineers at PMC interpret JEDEC's "continuation code" in a very *unconventional* manner. The good thing is that your log somewhat corresponds with the datasheet. The attached patch should detect the chip correctly, which IMHO is a PM25LV010 (no E suffix). I could not find any hint that such a model exists... I think you read a trailing E as part of the model number although it is part of a lot number or something similar. Even if not... it seems to match the non-suffix model (probing) behavior and that's all that counts. :)
I have done a "quick test" and the patch works! I can read, write and erase the "E" chip. :-) Yes, it has an "E". Can i add a picture? Then you see it. ;-) In the next days i do more tests with this chip. And i also test my other "PM25LV010" witch was detected as "PM25LV010(A)". But on the chip is no "A". Seems to be a strange thing this PMC-Chips...
Yes, they are strange... not all of them seem to be wrong regarding the continuation code. Anyway, if you say you can read/write/erase the chip, then that's enough reason to mark it as tested and commit the fix along with that. I have hence committed the patch + a changed .tested field of the Pm25LV010 in r1806, thanks a lot for your efforts.
Tested again with patched version:
Pm25LV010E: Chip is recognized as "Pm25LV010". All operations work. Looks good! :-) See logs for details.
Pm25LV010: Chip is recognized as two: Found PMC flash chip "Pm25LV010" (128 kB, SPI) on serprog. Found PMC flash chip "Pm25LV010A" (128 kB, SPI) on serprog. Multiple flash chip definitions match the detected chip(s): "Pm25LV010", "Pm25LV010A"
I have tested all functions (R/W/E) with -c "Pm25LV010A" and -c "Pm25LV010". Both work perfect with this chip. No problems so far. So i ask me what is the difference between this two definitions. Think this chip is not an "A", but not sure. Tell me if you need some logs. And tell me what logs you need.
On Sun, 1 Jun 2014 19:46:16 +0200 The Raven originalraven@hotmail.com wrote:
Pm25LV010: Chip is recognized as two: Found PMC flash chip "Pm25LV010" (128 kB, SPI) on serprog. Found PMC flash chip "Pm25LV010A" (128 kB, SPI) on serprog. Multiple flash chip definitions match the detected chip(s): "Pm25LV010", "Pm25LV010A"
I have tested all functions (R/W/E) with -c "Pm25LV010A" and -c "Pm25LV010". Both work perfect with this chip. No problems so far. So i ask me what is the difference between this two definitions. Think this chip is not an "A", but not sure. Tell me if you need some logs. And tell me what logs you need.
So far the only difference is the way we probe for the chip The method used for the non-A model works for both; the one used for the A version is only supported by itself but not by the non-A (visible in your logs of the "Pm25LV010E"). Therefore your Pm25LV010 is actually a Pm25LV010A, at least if my theory and hence the code is correct.
So far the only difference is the way we probe for the chip The method used for the non-A model works for both; the one used for the A version is only supported by itself but not by the non-A (visible in your logs of the "Pm25LV010E"). Therefore your Pm25LV010 is actually a Pm25LV010A, at least if my theory and hence the code is correct.
Ok, and now? :-) If the method for the non-A works for both, can we use only this? And let's say my "Pm25LV010" is an "A". Then it seems to work with both definitions (tested). I attached logs. This are only from the chip "Pm25LV010" (the non "E" version, you think this is "A" version). One log with -c "Pm25LV010A" and the other (same chip!) with -c "Pm25LV010".
Strange thing this PMC-Chips! :-/
On Sun, 1 Jun 2014 20:27:11 +0200 The Raven originalraven@hotmail.com wrote:
So far the only difference is the way we probe for the chip The method used for the non-A model works for both; the one used for the A version is only supported by itself but not by the non-A (visible in your logs of the "Pm25LV010E"). Therefore your Pm25LV010 is actually a Pm25LV010A, at least if my theory and hence the code is correct.
Ok, and now? :-) If the method for the non-A works for both, can we use only this?
Yes, we could and if I would not plan to redo probing in flashrom completely, then I would do that. But with the new probing the two chips could easily be distinguished without user interaction.
Even then it would not make much of a difference other than allowing the user to get the exact model by using flashrom, because everything else flashrom defines for them is equal - yet. I haven't checked, but I presume that e.g. maximum allowed SPI clock is different. We do not use that yet, but a future version of flashrom could set the frequency according to the detected chip. Then it becomes very relevant to distinguish the chips.
And let's say my "Pm25LV010" is an "A". Then it seems to work with both definitions (tested). I attached logs. This are only from the chip "Pm25LV010" (the non "E" version, you think this is "A" version). One log with -c "Pm25LV010A" and the other (same chip!) with -c "Pm25LV010".
Strange thing this PMC-Chips! :-/
That's expected because the definitions are otherwise completely equal right now. There are similar cases in the code base already although none where the chips are THAT similar (e.g. definitions using MACRONIX_MX25L1605).