I have tried the below flashrom option (code tested) in order to find a right response on my no name VT6421A pci sata card, but no luck. Environment is Freedos in an usb boot sdcard device in a standard PC. Address was from 0xffff0000 to others. The card is found by flashrom at 1106:3249 BDF 02:0b.0 . The card has an Eprom flashable sst39Vf512 at is printed in top of it. Final messages are:
Requested bar is of type rom.
Error: No suported PCI found.
Error: Program initialization failed.
I managed flashrom to work with my 3C905TX and do it in the same environment as a charm. I know VT6421A hardware is very tricky depending on every pci maker. The final goal is to flash a 64k boot rom ins this card. Any help will be wellcome.
Thanks in advance.
The code tested:
flashrom –p atavia offset=(different address) –V
Hi David,
There was a mistake in the logic, which I have corrected.
I was also asked by someone else on the list if it worked with the MX25L25635F, which is 32Mbytes, but uses 3-byte addressing by default.
So I made the attached changes, which switch the chip to 4-byte mode. It also has some dedicated 4-byte commands, and a BAR register, but it seemed easiest to just use what I had tested for the MX25L25735F. I can’t actually test the MX25L25635F though, as I don’t have one.
Thanks,
Tim
From: David Hendricks [mailto:dhendrix@google.com]
Sent: 04 April 2016 23:21
To: Tim Chick
Cc: flashrom(a)flashrom.org
Subject: Re: [flashrom] [PATCH] 4 byte address mode for Macronix MX25L25735F
On Thu, Mar 31, 2016 at 8:21 AM, Tim Chick <Tim.Chick(a)mediatek.com<mailto:Tim.Chick@mediatek.com>> wrote:
Hi List,
Flashrom would not detect this chip. When the definition was added, everything failed as the chip only supports 4 byte address operation.
Interesting - I didn't know such chips existed. The ones I've used have backwards-compatible commands that support 3-byte addresses. FYI - Some other high-capacity chips have 4-byte address enable bit in a config register that will make the usual read/write/erase instructions accept 4 byte addresses. And yet other large chips have alternative instructions that function the same but only accept a 4-byte address.
The attached patch adds 4 byte address support for 4 byte only chips, as determined by the JEDEC flash parameter table, and support for this chip specifically.
I’ve only allowed it to work with the SPI_CONTROLLER_FT2232 controller, as that is the only one I have to test.
I’ve also only ported spi_block_erase_20 – the other block erase functions will fail.
Please let me know what you think!
Good stuff! FWIW, I have a work-in-progress patch on chromium.org<http://chromium.org> (https://chromium-review.googlesource.com/#/c/323359/) for the other types of high-capacity flash chips. I've tested on a Spansion S25FS256 using linux_spi and ft2232. It needs a lot of clean-up, but might be of help. Most of the changes were to convert read/write/erase functions to use allocated buffers whose length depends on whether we're using a 3- or 4-byte address.
I'll borrow some ideas from your patch as well to support the "4-byte address only" chips.
--
David Hendricks (dhendrix)
Systems Software Engineer, Google Inc.
Hi List,
Flashrom would not detect this chip. When the definition was added, everything failed as the chip only supports 4 byte address operation.
The attached patch adds 4 byte address support for 4 byte only chips, as determined by the JEDEC flash parameter table, and support for this chip specifically.
I've only allowed it to work with the SPI_CONTROLLER_FT2232 controller, as that is the only one I have to test.
I've also only ported spi_block_erase_20 - the other block erase functions will fail.
Please let me know what you think!
Thanks,
Tim
FYI,
This is informational only. I can program the ROM.
When programming the N25Q128 from the Raspberry PI, I will get verification errors. If I push it up the hill several times, it will eventually pass. The N25Q128 remains on the target board, I am hold the ARM processor on that board in RESET. The Raspberry PI is attached via a ribbon cable and 100 ohm series resistors.
Since my system is unique, it is entirely possible that this is just an artifact of my setup. However, the message as pasted below, asked me to report it, so I am doing that. I tried both the release and the latest snapshot. Both seem to operate the same.
I tried three different target boards with the N25Q128 and all operate the same. Verification fails, but if I repeat the programming operation several times, it will pass. Please note the message at the end. The previous program and verify attempt failed. However, when I tried again, it aborted early because what I was attempting to program into the part already matched the parts contents. AKA, nothing to do.
---- Steve
*************************************************************************************************************
Verifying flash... FAILED at 0x00022f00! Expected=0x61, Found=0xff, failed byte count from 0x00000000-0x00ffffff: 0x100
Your flash chip is in an unknown state.
Please report this on IRC at chat.freenode.net (channel #flashrom) or
mail flashrom(a)flashrom.org, thanks!
Verifying flash... FAILED at 0x0001cc92! Expected=0x83, Found=0x9f, failed byte count from 0x00000000-0x00ffffff: 0x68
Your flash chip is in an unknown state.
Please report this on IRC at chat.freenode.net (channel #flashrom) or
mail flashrom(a)flashrom.org, thanks!
Warning: Chip content is identical to the requested image.
Erase/write done.