Discussion:
[flashrom] [coreboot] flashrom and 256 MiB S256FL256S
Carl-Daniel Hailfinger
2018-09-27 20:52:24 UTC
Permalink
yeah, also is there a programmer you recommend for 32MiB parts?
Any programmer that can handle arbitrary SPI commands, e.g. single-
board computers with native SPI interface (RPi, BeagleBone Black etc.),
CH341A is popular but slow, FTDI based programmers are faster (FT232H/
FT2232H/FT4232H), serprog programmers (some may not be too slow), Bus-
Pirate rather slow too.
If you want programming to be fast (almost on par with Dediprog): Either
Raspberry Pi or Beaglebone Black.

The Beaglebone Black has an abysmal internal power supply and for any
in-circuit flashing you'll need an additional 3.3V supply for the flash
chip. For standalone chips it usually is sufficient, though.

The Raspberry Pi has SPI disabled by default, you need to add
dtparam=spi=on to the file /boot/config.txt .

Regards,
Carl-Daniel
Nico
thanks
ron
Ah, dediprog... you happen to have the one programmer that is hard to
support.
hmm, is this useful?
Found Spansion flash chip "S25FL256S......0" (32768 kB, SPI) on dediprog.
Erasing and writing flash chip... 4-byte address requested but master
can't
handle 4-byte addresses.
That is expected, native 4-byte instructions are tried first but they
are not implemented yet for dediprog. It should fall back to another
instruction though. Unless the dediprog resets the chip between in-
structions, it should actually work. Though, David seemed to have
trouble with that too, I didn't test it myself yet.
Looking for another erase function.
Can you please just post the whole log (best taken with -o logfile).
Nico
ron minnich
2018-09-28 18:19:57 UTC
Permalink
Got the fix. I used dpcmd to update the firmware on the FS100 to 5.5.3

Then flashrom can program it with ease.

And, ironically, while dpcmd can update the firmware, it still can't flash
the part :-)

ron
ron minnich
2018-09-28 21:20:37 UTC
Permalink
I spoke too soon. It just flat out does not work to have sf100 and 256Mbit
part AFAICT
Post by ron minnich
Got the fix. I used dpcmd to update the firmware on the FS100 to 5.5.3
Then flashrom can program it with ease.
And, ironically, while dpcmd can update the firmware, it still can't flash
the part :-)
ron
Nico Huber
2018-09-29 16:35:02 UTC
Permalink
Post by ron minnich
I spoke too soon. It just flat out does not work to have sf100 and 256Mbit
part AFAICT
Ah, crap. I just gave this another thought and now I'm convinced that it
can't work with the current code. dediprog_spi uses its own functions
for read/write that likely don't call into the common, 4BA aware code.

I'll try to provide a patch later tonight...

Nico
Nico Huber
2018-09-29 23:36:11 UTC
Permalink
Post by Nico Huber
Post by ron minnich
I spoke too soon. It just flat out does not work to have sf100 and 256Mbit
part AFAICT
Ah, crap. I just gave this another thought and now I'm convinced that it
can't work with the current code. dediprog_spi uses its own functions
for read/write that likely don't call into the common, 4BA aware code.
I'll try to provide a patch later tonight...
Ok, it compiles ;) In case anything works with this [1], it adds about
6 different paths depending on protocol versions and what the chip sup-
ports; would be nice to have most of them tested. For instance testing
the S25FL256S patches one by one as they add different ways how to
handle the higher addresses. Also, in case you can downgrade Dediprog
firmwares, a test with something <5.5.0 would be good as well.

Nico

[1] https://review.coreboot.org/28804

Loading...