- 05 Dec, 2010 2 commits
-
-
Carl-Daniel Hailfinger authored
Print lock status for all supported Winbond W39* chips: W39V040A, W39V040B, W39V040C, W39V040FA, W39V040FB, W39V040FC, W39V080A, W39V080FA, W39V080FA (dual mode). Fill in correct probe timing for Winbond W39V040C and W39V080FA. Please note that the W39V040B/W39V040FB pair has identical IDs, identical read/write/erase, but locking differs. Same applies to W39V040C/W39V040FC. This causes double detection on chipsets which support LPC and FWH, making flashing more difficult because the user has to select the correct chip. This is called the evil twin problem. A better evil twin handling (patch available) will resolve that problem. Corresponding to flashrom svn r1245. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
-
Carl-Daniel Hailfinger authored
Update a few comments and messages to improve readability. Corresponding to flashrom svn r1244. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
-
- 04 Dec, 2010 2 commits
-
-
Carl-Daniel Hailfinger authored
Corresponding to flashrom svn r1243. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
David Borg authored
Am29F016D, Am29F040B, Am29LV040B, Am29LV081B, A29002B, A29002T, A29040B, MX29F001B, MX29F001T, MX29F002B, MX29F002T, MX29LV040, M29F040B Corresponding to flashrom svn r1242. Signed-off-by:
David Borg <borg.db@gmail.com> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
- 03 Dec, 2010 1 commit
-
-
Mark Marshall authored
The project is in the the process of designing and making a complete, open source, graphics card. More info at http://wiki.opengraphics.org . The first development card is a PCI add in card containing a couple of FPGAs and a couple of serial flash chips (amongst other things). The FPGAs are called XP10 and S3 (their part numbers). The XP10 contains its own flash and does not need to be programmed by flashrom - it ensures that the device can enumerate on the PCI bus without needing further configuration. The larger FPGA is the S3. This is configured from a large SPI flash (2 MBytes). The second SPI flash is used to store the VGA BIOS. It is smaller (128 KBytes). This patch adds support for programming either of the two SPI flash chips. The programmer device takes one configuration option which selects which of the two flash chips is accessed. This must be set to either "cprom" or "bprom". (The project refers to the two chips as "cprom" / "bprom", "s3" and "bios" are more readable alternatives). Add support for SST SST25VF010 (REMS). Mark SST SST25VF016B as tested for write. Corresponding to flashrom svn r1241. Signed-off-by:
Mark Marshall <mark.marshall@csr.com> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
- 02 Dec, 2010 3 commits
-
-
Carl-Daniel Hailfinger authored
Lock access may involve flash chip registers which will not be mapped if automatic detection failed. Corresponding to flashrom svn r1240. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Uwe Hermann authored
I found this via educated guessing and trial-and-error. Corresponding to flashrom svn r1239. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
Carl-Daniel Hailfinger authored
Corresponding to flashrom svn r1238. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
-
- 29 Nov, 2010 1 commit
-
-
Rudy Host authored
Tested S25FL064A using a Bus Pirate. Corresponding to flashrom svn r1237. Signed-off-by:
Rudy Host <segfault@committeeofdoom.com> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
- 24 Nov, 2010 1 commit
-
-
Carl-Daniel Hailfinger authored
Handle BBAR on VIA. Handle SPI lockdown on VIA. Corresponding to flashrom svn r1236. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Rudolf Marek <r.marek@assembler.cz>
-
- 23 Nov, 2010 1 commit
-
-
Carl-Daniel Hailfinger authored
Please note that the write speedup only applies to chips which have SPI page write (i.e. chips using spi_chip_write_256). This is a quick fix for write speed until I get around to implementing full bulk SPI write support. Corresponding to flashrom svn r1235. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Richard A. Smith <richard@laptop.org> Acked-by:
Mathias Krause <mathias.krause@secunet.com>
-
- 16 Nov, 2010 2 commits
-
-
Carl-Daniel Hailfinger authored
Should result in native speed for plain read and erase. Should result in a measurable speedup for writes due to a fast verify. Packet size is 512 bytes. Depending on your USB hardware and the Dediprog firmware version, this may not work at all. That said, it worked on the hardware we tested. Add lots of error checking where it was missing before. Thanks to Richard A. Smith, Mathias Krause and David Hendricks for testing multiple iterations of this patch. Corresponding to flashrom svn r1234. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Richard A. Smith <richard@laptop.org> Acked-by:
Mathias Krause <mathias.krause@secunet.com>
-
Carl-Daniel Hailfinger authored
Verify_range() and check_erased_range() check each page separately. While that may have seemed like a good idea back when the code was introduced, it has no benefits for any of the chips where we support write because all of them handle cross-page reads nicely. The only class of chips where this change could be a problem is chips with non power of two sector sizes which have gaps in the address space. We simply require their read functions to provide gap-free results and leave it at that. Corresponding to flashrom svn r1233. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
-
- 10 Nov, 2010 5 commits
-
-
Carl-Daniel Hailfinger authored
This means all chipset enables etc. will be undone on shutdown. Reversible PCI config space writes now use rpci_write_*(). PCI config space writes which are one-shot (e.g. communication via config space) should continue to use the permanent pci_write_* variants. Extend the number of available register_shutdown slots to 32. Corresponding to flashrom svn r1232. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
-
Alex Badea authored
Add support for the OpenMoko Neo1973/Neo FreeRunner debug board version 2 or 3 (vid:pid 1457:5118). The new type is called "openmoko". Information about the debug board can be found at http://wiki.openmoko.org/wiki/Debug_Board_v3 Corresponding to flashrom svn r1231. Signed-off-by:
Alex Badea <vamposdecampos@gmail.com> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
Alex Badea authored
ft2232_spi ftdi_usb_open() is called with the constant FTDI_VID vendor ID. Fix it by using the programmer-type-dependent ft2232_vid variable, to allow programmers with other vendor IDs. Corresponding to flashrom svn r1230. Signed-off-by:
Alex Badea <vamposdecampos@gmail.com> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
Alex Badea authored
Check at init time whether the chip is a type 'H' (FT2232H or FT4232H). If not, omit the disable-divide-by-5 (0x8a) command which can confuse older chips. Corresponding to flashrom svn r1229. Signed-off-by:
Alex Badea <vamposdecampos@gmail.com> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
Alex Badea authored
It is possible that ftdi_read_data() returns less data than requested. Catch this case and retry reading the rest of the buffer. Corresponding to flashrom svn r1228. Signed-off-by:
Alex Badea <vamposdecampos@gmail.com> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
- 09 Nov, 2010 2 commits
-
-
Mathias Krause authored
Allow any firmware version from 2.x.y to 5.x.y. Handle errors for the initial USB command to catch -EPERM. Corresponding to flashrom svn r1227. Signed-off-by:
Mathias Krause <mathias.krause@secunet.com> Acked-by:
Patrick Georgi <patrick@georgi-clan.de> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
Carl-Daniel Hailfinger authored
Add a generic voltage parameter parser. Move tolower_string() from dummyflasher.c to flashrom.c to make it available everywhere. Corresponding to flashrom svn r1226. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Stefan Reinauer <stepan@coreboot.org>
-
- 05 Nov, 2010 1 commit
-
-
Carl-Daniel Hailfinger authored
Avoid two memory leaks in doit() which were unproblematic for flashrom because flashrom terminates after finishing doit(). Rename oldcontents to curconents in erase_and_write_block_helper(). Unify the code for all granularities in get_next_write(). Return write length from get_next_write() instead of filling it as referenced parameter. Thanks to Michael Karcher for pointing out the first two issues. Thanks to David Hendricks for pointing out the third issue and suggesting a way to unify that code. Corresponding to flashrom svn r1225. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
-
- 04 Nov, 2010 1 commit
-
-
Carl-Daniel Hailfinger authored
If you write an image full of 0xff, flashrom will erase and detect that no write is needed. If you write an image which differs only in some parts from the current flash contents, flashrom will detect that and not touch unchanged areas. Fix a long-standing bug in need_erase() for 256 byte granularity as well. Nice side benefit: Detailed progress printing. S means skipped E means erased W means written Thanks to Andrew Morgan for testing countless iterations of this patch. Thanks to Richard A. Smith for testing on Dediprog SF100. Thanks to David Hendricks for the review and for creating a partial write torture test script and testing with it on Intel NM10 and AMD SB700 SPI. Thanks to Idwer Vollering for testing with Intel SPI NICs. Thanks to Rudolf Marek for testing on AMD SB710 and SiI SATA controllers. Thanks to Michael Karcher for the review. Corresponding to flashrom svn r1224. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
David Hendricks <dhendrix@google.com> Acked-by:
Rudolf Marek <r.marek@assembler.cz> Acked-by:
Idwer Vollering <vidwer@gmail.com> Acked-by:
Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
-
- 02 Nov, 2010 3 commits
-
-
Carl-Daniel Hailfinger authored
If a layout file was specified, all regions not mentioned in the layout file were taken from the new image instead of being preserved. If regions overlap, the non-included regions won. New behaviour: If a layout file is specified, only the regions explicitly requested for inclusion will be taken from the new image. If regions overlap, the included regions win. Corresponding to flashrom svn r1223. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
David Hendricks <dhendrix@google.com>
-
David Hendricks authored
This serves as a sort of progress indicator. The output looks like this:: localhost ~ # flashrom="./flashrom" sh flashrom_partial_write_test.sh testing flashrom binary: ./flashrom Running test in /tmp/tmp.4xPejwaADU ffh pattern written in ff_4k.bin 00h pattern written in 00_4k.bin Reading BIOS image Original image saved as bios.bin aligned region 0 test: passed ... aligned region 15 test: passed unaligned region 0 test: passed ... unaligned region 15 test: passed Result: PASSED restoring original bios image using system's flashrom test files remain in /tmp/tmp.4xPejwaADU Corresponding to flashrom svn r1222. Signed-off-by:
David Hendricks <dhendrix@google.com> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
Carl-Daniel Hailfinger authored
Avoid non-portable seq. Corresponding to flashrom svn r1221. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Idwer Vollering <vidwer@gmail.com>
-
- 01 Nov, 2010 1 commit
-
-
Carl-Daniel Hailfinger authored
You have to choose between - no emulation - ST M25P10.RES SPI flash chip (RES, page write) - SST SST25VF040.REMS SPI flash chip (REMS, byte write) - SST SST25VF032B SPI flash chip (RDID, AAI write) Example usage: flashrom -p dummy:emulate=SST25VF032B Flash image persistence is available as well. Example usage: flashrom -p dummy:image=dummy_simulator.rom Allow setting the max chunksize for page write with the dummy programmer. Example usage: flashrom -p dummy:spi_write_256_chunksize=5 Flash emulation is compiled in by default. This code helped me find and fix various bugs in the SPI write code as well as in the testsuite. Corresponding to flashrom svn r1220. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
David Hendricks <dhendrix@google.com>
-
- 29 Oct, 2010 2 commits
-
-
David Hendricks authored
Replace "$flashrom_PARAM" with ${FLASHROM_PARAM} in util/flashrom_partial_write_test.sh to avoid passing in quoted parameters which can cause problems especially if flashrom_PARAM is empty or contains spaces. Corresponding to flashrom svn r1219. Signed-off-by:
David Hendricks <dhendrix@google.com> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
David Hendricks authored
Focus is on partial write and layout functionality. Minor modifications by Carl-Daniel Hailfinger. Corresponding to flashrom svn r1218. Signed-off-by:
David Hendricks <dhendrix@google.com> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
- 27 Oct, 2010 1 commit
-
-
Carl-Daniel Hailfinger authored
The bug was invisible so far because we always started at offset 0. The pending partial write patch uses nonzero start offsets and trips over this bug. Clarify a few comments in IT87 SPI. Thanks to Idwer Vollering for reporting write breakage with my latest partial write patch. This should fix the underlying problem. Corresponding to flashrom svn r1217. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Idwer Vollering <vidwer@gmail.com>
-
- 20 Oct, 2010 1 commit
-
-
Sean Nelson authored
Previous probes might have had too short delays for entering ID mode, so the chip may still be in the process of entering the ID mode. Due to that, an additional delay before the reset makes sense. Add FEATURE_RESET_MASK to deal cleanly with those feature bits. Maciej Pijanka tested the patch and it fixes probing for him with some old Atmel chips. Corresponding to flashrom svn r1216. Signed-off-by:
Sean Nelson <audiohacked@gmail.com> Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Anders Juel Jensen <andersjjensen@gmail.com> Tested-by:
Maciej Pijanka <maciej.pijanka@gmail.com> Acked-by: Sean Nelson <audiohacked@gmail.com>
-
- 19 Oct, 2010 1 commit
-
-
Carl-Daniel Hailfinger authored
This will allow flashrom to skip erase of already-erased blocks and to skip write of blocks which already have the wanted contents. Avoid emergency messages by checking if the chip contents after a failed write operation (erase/write) are unchanged. Keep the emergency messages after a failed pure erase. That part is debatable because if someone wants erase, he pretty sure doesn't care about the flash contents anymore. Please note that this introduces additional overhead of a full chip read before write. This is frowned upon by people with slow programmers. A followup patch will make this configurable. Corresponding to flashrom svn r1215. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Stefan Reinauer <stepan@coreboot.org>
-
- 18 Oct, 2010 1 commit
-
-
Uwe Hermann authored
Details, lspci/superiotool/flashrom logs: http://www.flashrom.org/pipermail/flashrom/2010-October/005160.html Also add the vendor website URL for this board. Corresponding to flashrom svn r1214. Signed-off-by:
Uwe Hermann <uwe@hermann-uwe.de> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
- 15 Oct, 2010 2 commits
-
-
Jonathan Kollasch authored
Also, spelling correction. Corresponding to flashrom svn r1213. Signed-off-by:
Jonathan Kollasch <jakllsch@kollasch.net> Acked-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
Carl-Daniel Hailfinger authored
Doit() is the monster function we split off from main() when we created cli_classic() and tried to introduce some abstraction. doit() is a poster child of WTFs on an astronomic scale. Make doit() less bad by factoring out self-contained code. Corresponding to flashrom svn r1212. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Sean Nelson <audiohacked@gmail.com>
-
- 13 Oct, 2010 2 commits
-
-
Carl-Daniel Hailfinger authored
The inner write functions which handle partial write are renamed to the original name of their wrappers. The write wrappers are removed. Corresponding to flashrom svn r1211. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Tested-by:
Maciej Pijanka <maciej.pijanka@gmail.com> Tested-by:
Andrew Morgan <ziltro@ziltro.com> Tested-by:
Idwer Vollering <vidwer@gmail.com> Acked-by:
Idwer Vollering <vidwer@gmail.com> Tested-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Sean Nelson <audiohacked@gmail.com>
-
Carl-Daniel Hailfinger authored
Kill duplicated code. Annotate write functions with their chunk size. Mark Fujitsu MBM29F400BC and ST M29F400BB as untested because their write code no longer uses a broken layout. Corresponding to flashrom svn r1210. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de> Tested-by:
Maciej Pijanka <maciej.pijanka@gmail.com> Tested-by:
Idwer Vollering <vidwer@gmail.com> Acked-by:
Idwer Vollering <vidwer@gmail.com> Tested-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Sean Nelson <audiohacked@gmail.com>
-
- 10 Oct, 2010 2 commits
-
-
Carl-Daniel Hailfinger authored
No behavioural changes, just equivalence transformations. Corresponding to flashrom svn r1209. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
Carl-Daniel Hailfinger authored
The currently used write functions (wrappers) all use helpers which perform the actual write (inner functions). The signature of the write wrappers is: int write_chip(struct flashchip *flash, uint8_t * buf); The signature of the inner write functions varied a lot. This patch changes them to: int write_part(struct flashchip *flash, uint8_t *src, int start, int len); Did you know that flashrom has only 8 inner write functions for all flash chips? write_page_write_jedec_common write_sector_jedec_common write_sector_28sf040 spi_chip_write_256_new spi_chip_write_1_new spi_aai_write_new write_page_82802ab write_page_m29f400bt Export all inner write functions. Change the function signature of wait_82802ab to eliminate single-use variables. Remove an error message in write_page_m29f400bt which was printed for every byte written regardless of success. Add sharplhf00l04.c to the list of flash chip drivers in the Makefile. While the functions in there are unused, I suspect we will need them later, and by hooking the file up we ensure that compilation won't break. Corresponding to flashrom svn r1208. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-
- 08 Oct, 2010 2 commits
-
-
Carl-Daniel Hailfinger authored
Progress printing should be handled in the generic code, and will end up there once partial write is possible. Corresponding to flashrom svn r1207. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Sean Nelson <audiohacked@gmail.com>
-
Carl-Daniel Hailfinger authored
Flashrom had an implicit erase-on-write for most flash chip and programmer drivers, but it was not entirely consistent. Some drivers had their own hand-rolled partial update functionality which made handling partial updates from generic code impossible. Move implicit erase out of chip drivers, and kill some dead erase functions at the same time. A full chip erase is now performed in the generic code for all flash chips on write, and after that the whole chip is written. Corresponding to flashrom svn r1206. Signed-off-by:
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by:
Uwe Hermann <uwe@hermann-uwe.de>
-