[flashrom] Chips requiring 12 volts on VPP for erase and write

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Fri Aug 15 00:11:26 CEST 2014


Hi,

Am 14.08.2014 16:45 schrieb Stefan Tauner:
> On Thu, 14 Aug 2014 16:35:16 +0200
> Daniele Forsi <dforsi at gmail.com> wrote:
>
>> Hello,
>>
>> I have an Intel P28F001 flash memory which flashrom knows as
>> INTEL_28F001T and lists with .tested = TEST_OK_PR
>>
>> I can confirm that reading works with -p internal but erasing and
>> writing don't work because according to its datasheet it needs 12
>> volts on VPP (min 11.4 max 12.6)
>>
>> should this fact about 12V VPP recorded somewhere?
>>
>> the same for the B variant (which I haven't got)
> Yes, definitely. flashrom does not handle that yet explicitly. Maybe
> there are some board enables that enable that on single boards, I dont
> know... but there is nothing chip-specific AFAIK.
> I'd suggest a new feature flag for that, what do you think Carl-Daniel?

Warning: Archaeology lecture ahead.

Quite a few old board enables do switch on 12 V. We noticed that
otherwise write didn't work. The command sequences (i.e. GPIO changes)
to switch on 12 V were board-specific, though, and we didn't document
which board enable does switch on 12 V. Back in the day, we assumed that
a board+chip combination needing 12 V implied that all chips in that
board would need 12 V, i.e. this was seen as a board-specific
requirement and not as a chip-specific requirement. Then again, we
didn't really think a lot about it, we just made things work.

Yes, this should be a feature flag. Beware about the pitfalls, though:
Some flash chips require 12 V for erase and/or write, and others
optionally support it for faster ("quick/turbo/fast") write/erase. You'd
have to differentiate between those cases.
To make matters slightly worse, some really old chips require 12 V even
for ID mode and don't support the classic probing. Not-so-old chips
allow 12 V as a way to trigger ID mode, but they can also enter ID mode
with one of the usual command sequences.
Suggestions (off the top of my head, you can surely come up with
something better):
FEATURE_ID_12V_ONLY_NOCOMMAND
FEATURE_ID_12V_OPTIONAL
FEATURE_ERASEWRITE_12V_ONLY
FEATURE_ERASEWRITE_12V_SPEEDUP

Just make sure it's not just FEATURE_ERASEWRITE_12V because other
contributors will surely misunderstand the exact meaning.

Regards,
Carl-Daniel




More information about the flashrom mailing list