summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused short IDsMichael Karcher2010-02-241-13/+10
| | | | | | | | | | This also replaces the meaningless numbers in the DMI debug printout with the parameter names. Corresponding to flashrom svn r912. Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Replace PCI_OK/PCI_NT by OK/NTMichael Karcher2010-02-248-48/+46
| | | | | | | | | | We don't need to duplicate OK and NT as PCI_OK and PCI_NT if the symbols are already there (defined for the chipset enable table). Corresponding to flashrom svn r911. Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
* Fix PIIX4 GPO setMichael Karcher2010-02-241-4/+7
| | | | | | | | | | Intel datasheet says "byte accesses only". Looks like they mean it. Also fix use of or instead of and for lowering GPOs. Corresponding to flashrom svn r910. Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> Acked-by: Luc Verhaegen <libv@skynet.be>
* Patch to remove all references to dead chipdriversSean Nelson2010-02-228-687/+0
| | | | | | | | | | | | | | | | We also need to 'svn rm' the following files: am29f040b.c en29f002a.c m29f002.c mx29f002.c pm29f002.c sst49lf040.c w49f002u.c Corresponding to flashrom svn r909. Signed-off-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Add initial (non-working) code for Highpoint ATA/RAID controllersUwe Hermann2010-02-216-3/+138
| | | | | | | | | | It's disabled by default. The current status is detailed at: http://www.flashrom.org/pipermail/flashrom/2010-January/001828.html Corresponding to flashrom svn r908. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Here's a very quick patch to fix the missing unlock codeSean Nelson2010-02-198-7/+64
| | | | | | | | | | | | | | | | | | | | | | | Fixes missing unlock for certain chips: * unlock_49lf00x * Pm49fl002 * Pm49fl004 * unlock_49flxxxc * SST49LF160C * unlock_winbond_fwhub * W39V080FA * W39V080FA (dual mode) Fixes missing printlock for certain chip: * printlock_w39v040c * W39V040C Corresponding to flashrom svn r907. Signed-off-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
* Refactor MCP SPI detectionCarl-Daniel Hailfinger2010-02-181-54/+101
| | | | | | | | | | | | - Set supported buses based on ISA bridge reg 0x8a - Use MCP55 chipset enable only if LPC is detected - Allow LPC on MCP61 - Eliminate duplicated code where possible Corresponding to flashrom svn r906. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
* More NetBSD fixes (w/ patch)Jonathan A. Kollasch2010-02-162-2/+3
| | | | | | | | | | | | | Cast input to tolower() to unsigned char to work around how tolower() is implemented on NetBSD. Also, use CPPFLAGS (rather than overriding CFLAGS) for the NetBSD/DragonFly build example. Corresponding to flashrom svn r905. Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net> Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
* Allow the registration of functions to be called at programmer shutdownCarl-Daniel Hailfinger2010-02-142-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some programmers want to run certain functions during programmer shutdown, but the function choice depends on the code path taken during programmer init. Rather than rebuilding the whole init logic in the shutdown function, it is now possible to register functions for execution on programmer shutdown. The behaviour is similar to atexit(), but the registered functions will be run on programmer shutdown instead of on exit and the functions will be called with a void * argument that is specified on registration. Registered functions must have the prototype void function(void *); and will be executed in reverse registration order directly before calling the programmer-specific shutdown() function. It is recommended to have shutdown() only disable programmer/hardware access and leave all code path sensitive shutdown to functions registered with register_shutdown(). The most prominent use case is resetting the EC after flashing on laptops. Note: There are quite a few code paths in flashrom which proceed to terminate flashrom without any programmer shutdown. Those code paths will not get the benefit of register_shutdown() and they should be changed wherever possible. Corresponding to flashrom svn r904. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
* Use uname -p instead of -m on NetBSD so we get the right architecture ↵Jonathan A. Kollasch2010-02-141-1/+1
| | | | | | | | | library name Corresponding to flashrom svn r903. Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Add SPI mode diagnostics for all post-MCP55 (nForce 5) chipsets from NvidiaCarl-Daniel Hailfinger2010-02-131-1/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Huge thanks to Michael Karcher for reverse engineering the MCP67 chipset and writing a spec. Due to this, we were able to use the chinese wall technique for 100% clean room reverse engineering. This patch doesn't touch any of the new registers, it only reads them. Assuming that read has no side effects, this patch is a no-op and safe. We need "flashrom -V" output from all post-MCP55 (nForce 5) chipset boards. Please indicate if your board uses SPI flash or LPC flash (if you know it). Note: That output is only helpful if it is created with patched flashrom and if is from the first run of flashrom after a cold boot (reset or Ctrl-Alt-Del is not sufficient). There is a pattern based on which we can probably detect which flash type is present on the board. Thanks to Alessandro Polverini for testing earlier iterations of this patch. Note: The MCP67 should work. I guessed that the other recent Nvidia chipsets would work in a similar way, and created a simplified do-nothing catchall chipset enable function which dumps some info and instructs the user to send more info. Corresponding to flashrom svn r902. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
* Kill an erroneous .erase introduced in r900Carl-Daniel Hailfinger2010-02-131-1/+0
| | | | | | | Corresponding to flashrom svn r901. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Adds support for the Intel E28F004S5 flash chipSean Nelson2010-02-132-0/+26
| | | | | | | Corresponding to flashrom svn r900. Signed-off-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Ignore RES (1 byte) if chip replied to REMS (2 bytes)Carl-Daniel Hailfinger2010-02-121-4/+17
| | | | | | | | | | | | | | | | | | | SPI RES is the most unreliable way to identify chips because it only returns a 1-byte ID for most chips. For every given ID out there, probably a dozen incompatible flash chips match it. We already refuse to identify a chip with RES if that chip responds to RDID (3 bytes, good match), and with this patch we additionally refuse RES if the chip responds to REMS (2 bytes, still a good match). This increases matching accuracy a lot. Besides that, the RDID/REMS response checking has been cleaned up for better readability. Corresponding to flashrom svn r899. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Sean Nelson <audiohacked@gmail.com>
* Split internal.c into internal.c and hwaccess.cCarl-Daniel Hailfinger2010-02-124-67/+85
| | | | | | | | | | | | | | Linking in support for the internal programmer doesn't make sense if you only need hardware (ioport, memory) access. Note: This patch was created by "svn cp internal.c hwaccess.c" and then removing stuff from both files. That's why you can't apply the patch as-is before running the svn cp. Corresponding to flashrom svn r898. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Sean Nelson <audiohacked@gmail.com>
* Fix erase blocks for Winbond W25X{10,20,40,80} SPI chipsSean Nelson2010-02-121-24/+0
| | | | | | | | | | The Winbond W25X10 and related chips only have 4k and 64k blocks and only accept erase commands: 20h, d8h, and c7h. Corresponding to flashrom svn r897. Signed-off-by: Sean Nelson <audiohacked@gmail.com> Acked-by: David Hendricks <dhendrix@google.com>
* Fix DMI match logicMichael Karcher2010-02-121-1/+2
| | | | | | | | | This bug slipped in on changing back match-specific to match-any Corresponding to flashrom svn r896. Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* At long last, the day has come, and we can bury full-chip erase once and for allCarl-Daniel Hailfinger2010-02-113-224/+6
| | | | | | | | | | | | | | Back in November 2008(!) I proposed the first version of the flexible sector-based erase structure, and now we can finally rip out the old full-chip erase code without ill effects. Rejoice and party! Thanks to everyone who made this possible, especially to Sean Nelson who converted the majority of flash chips to sector erase. Corresponding to flashrom svn r895. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Sean Nelson <audiohacked@gmail.com>
* Rewrite substantial parts of the ICH SPI supportCarl-Daniel Hailfinger2010-02-111-53/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This megapatch rewrites substantial parts of ICH SPI to actually do what the SPI layer wants instead of its own weird idea about commands (running unrequested commands, running modified commands). Besides that, there is a fair share of cleanups as well. - Add JEDEC_EWSR (Enable Write Status Register) to default commands. - Mark a no longer used opcode/preopcode table as unused. - Declare all commands as non-atomic/standalone by default. The ICH SPI driver has no business executing commands (preopcodes) automatically if they were not requested. - Automatically adjust preopcode/opcode pairings (like WREN+ERASE) based on what the SPI layer requested. The ICH SPI driver has no business executing altered opcode pairs as it sees fit. - Fix incomplete initialization in the case of a locked down chipset. Leaving the first 4 opcodes with uninitialized pairings had unpredictable results. - switch() exists for a reason. Nested if() checking on the same variable is an interesting style. - Actually check if the requested readcnt/writecnt for a command is supported by the hardware instead of delivering corrupt/incomplete commands and data. - If a command has unsupported readlen/writelen, complain loudly to the user. - Use find_opcode instead of open-coding the same stuff in a dozen variations. - Introduce infrastructure for updating the command set of unlocked chipsets on the fly. Corresponding to flashrom svn r894. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: David Hendricks <dhendrix@google.com>
* Document the rules for DMI matching with PCI subsystem IDsCarl-Daniel Hailfinger2010-02-041-3/+9
| | | | | | | | | | The rules may change in the future, but right now it is important that the comments match the code. Corresponding to flashrom svn r893. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Allow DMI supported board enables with subsystem ID zeroMichael Karcher2010-02-041-1/+2
| | | | | | | | | This is needed for the Intel SE440BX-2 as well as the Asus P5A. Corresponding to flashrom svn r892. Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Properly initialize USB device in dediprog driverPatrick Georgi2010-02-041-0/+2
| | | | | | | | | | That's necessary to use bulk transfers, and just the right thing in any case. Corresponding to flashrom svn r891. Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de>
* Add a second set of PCI IDs for the Tekram P6Pro-A5Uwe Hermann2010-02-041-1/+1
| | | | | | | | | (Re-)tested on hardware, detection works OK. Corresponding to flashrom svn r890. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
* Create a physical memory mapping function which requests cached readonly memoryCarl-Daniel Hailfinger2010-02-023-7/+65
| | | | | | | | | | | | | | | | | | | | | | This should take care of picky Linux kernels which do not allow uncached mappings to cached areas. Handle mapping failure gracefully (no forced exit()) if the caller specifies it. Such cached areas which can handle mapping failure are DMI tables and coreboot tables. On failure we just ignore those tables. That is not perfect, but a lot better than aborting flashrom due to an error in nonessential functionality. This should fix flashrom on a sizable number of machines where it currently aborts early. Yes, I could have exploited a Linux kernel bug to "solve" this, but relying on such bugs is not exactly the best idea. Corresponding to flashrom svn r889. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Vincent Pelletier <plr.vincent@gmail.com>
* Adds support for ST M29W512BJeffrey A. Kent2010-02-012-0/+25
| | | | | | | | | Tested and works for me. Corresponding to flashrom svn r888. Signed-off-by: Jeffrey A. Kent <jakent@gmail.com> Acked-by: Sean Nelson <audiohacked@gmail.com>
* Add the Tekram P6Pro-A5 board as supportedUwe Hermann2010-01-312-0/+2
| | | | | | | | | | | | | The board doesn't need a board-enable, writing works out of the box. Also, the board can only decode 256KB. I verified this by writing a 512KB image of random bytes (which fails), whereas 256KB of random bytes can be written correctly. Corresponding to flashrom svn r887. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
* Complete the addition of Feature Bits for all Jedec based chipsSean Nelson2010-01-284-195/+316
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add FEATURE_SHORT_RESET, FEATURE_LONG_RESET, and FEATURE_EITHER_RESET rewrite jedec functions to use getaddrmask convert write_49f002 to write_jedec_1 convert write_w39v040c to write_jedec_1 convert probe_w39v040c to probe_jedec convert write_49lf040 to write_jedec_1 convert write_pm29f002 to write_jedec convert write_29f040b to write_jedec_1 convert probe_29f040b to probe_jedec convert erase_chip_29f040b to erase_chip_block_jedec convert erase_sector_29f040b to erase_sector_jedec convert write_m29f002b to write_jedec convert write_m29f002t to write_jedec convert *_29f002 to *_jedec decouple unused files from Makefile: am29f040b.c en29f002a.c m29f002.c mx29f002.c pm29f002.c sst49lf040.c w39v040c.c w49f002u.c Corresponding to flashrom svn r886. Signed-off-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Anders Juel Jensen <andersjjensen@gmail.com>
* The GIGABYTE GA-7ZM has a maximum decode size (parallel chips) of 512 KBUwe Hermann2010-01-281-7/+11
| | | | | | | | | | | | | | | | | Add this information to the new field in the board-enable table. We match the board via two sets of PCI IDs. However, as we don't need a board-enable function for this board (it works out of the box; well, at least if you remove the JP9 jumper on the board), change the code to allow NULL as value for the board-enable function. There will likely be more boards in the future where we want to record a maximum decode size but which don't need a board-enable. This is hardware-tested on the GIGABYTE GA-7ZM by successfully writing a 512KB image of random bytes to a chip in this board. Corresponding to flashrom svn r885. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Sean Nelson <audiohacked@gmail.com>
* Avoid bogus gcc warningMichael Karcher2010-01-271-2/+2
| | | | | | | | | | | | Recent gcc/glibc combinations warn about ignoring the fgets() result. The problem exists on Ubuntu 9.10 with current updates. This "fix" of the non-problem (as I check ferror() afterwards) should even be a (negligible) performance optimization. Corresponding to flashrom svn r884. Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> Acked-by: Andrew Morgan <ziltro@ziltro.com>
* Windows wants UNC names for COM ports >9 (legacy COM ports only work with ↵Patrick Georgi2010-01-261-1/+9
| | | | | | | | | | | | | one digit) As UNC also works for smaller names, just retarget all requests for dev=COMx on win32 to \\.\COMx. Tested with large and small COM port numbers on XP. Corresponding to flashrom svn r883. Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Open binary files in binary modePatrick Georgi2010-01-251-2/+2
| | | | | | | | | | No change on UNIX (or Mac OS, according to its documentation), but fixes operation on Windows. Corresponding to flashrom svn r882. Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de>
* Add support for the SST39SF512 chipUwe Hermann2010-01-232-0/+27
| | | | | | | | | All operations tested by me, works fine. Corresponding to flashrom svn r881. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Sean Nelson <audiohacked@gmail.com>
* Backout unintentional chunkStefan Reinauer2010-01-221-1/+1
| | | | | | | Corresponding to flashrom svn r880. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de>
* Add write supportCarl-Daniel Hailfinger2010-01-222-11/+18
| | | | | | | | | | | Speed up reads by a factor of 4 by switching block size from 4 to 16. Add support for 4 byte RDID. Add USB error decoding via usb_strerror. Corresponding to flashrom svn r879. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Stefan Reinauer <stepan@coresystems.de>
* This patch fixes the use of CFLAGS and CPPFLAGS in the flashrom makefileStefan Reinauer2010-01-211-8/+8
| | | | | | | Corresponding to flashrom svn r878. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Sean Nelson <audiohacked@gmail.com>
* Convert various SST chips to use block_erasersSean Nelson2010-01-205-48/+405
| | | | | | | | | | | | | | | | | | | | Convert the following chips to block_erasers: SST28SF040A SST29EE010 SST29LE010 SST29EE020A SST29LE020 SST39SF010A SST39SF020A SST39SF040 SST39VF512 SST39VF010 SST39VF020 SST39VF040 SST39VF080 SST49LF002A/B SST49LF003A/B SST49LF004C SST49LF008A SST49LF008C SST49LF016C SST49LF020 SST49LF020A SST49LF040 SST49LF040B SST49LF080A SST49LF160C . Extend sst28sf040 to include chip and sector functions for block_eraser. Extend sst49lfxxxc to include chip, sector, block erasers functions for block_erasers. Extend sst_fwhub to include chip and sector functions for block_erasers. Add copyrights to changed files. Killed erase_sst_fwhub. Killed erase_49lfxxxc. NULL A/A mux mode full chip erasers. Ignore block locks in erase/write. Change comments from "PP mode" to "A/A mux mode" Corresponding to flashrom svn r877. Signed-off-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
* Boards: Remove it8705_rom_write_enableLuc Verhaegen2010-01-201-50/+30
| | | | | | | | | Should be functionally the same as it8705f_write_enable_2e. Corresponding to flashrom svn r876. Signed-off-by: Luc Verhaegen <libv@skynet.be> Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
* Boards: Add max_rom_decode_parallel entry to board enable tableLuc Verhaegen2010-01-202-67/+64
| | | | | | | | | This is a quick fix for board specific parallel addressing limits. Corresponding to flashrom svn r875. Signed-off-by: Luc Verhaegen <libv@skynet.be> Acked-by: Sean Nelson <audiohacked@gmail.com>
* Matching board via DMIMichael Karcher2010-01-205-57/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a board is not uniquely identifiable by PCI device/subsystem IDs, a string can be specified to be looked for (case-sensitive, substring or anchored) for now in one of the following DMI items in addition to matching the PCI IDs: - System Manufacturer - System Product Name - System Version - Baseboard Manufacturer - Baseboard Product Name - Baseboard Version Strings are anchored re-like (^ at the beginning, $ at the end), but there are no plans to support full regular expressions and matched to any of the mentioned fields. The match is only made if DMI info is available and the string matches. If no DMI info is available and the PCI IDs match, a warning is printed as the board can not be autodetected. It's still open to discussion whether we add an DMI override switch to specify a string that will definitely match, and whether this switch is only used if no DMI is available or whether it overrides or augments DMI data. DMI data is currently read using dmidecode. This tool is available for all major platforms except MacOS X. I heard that there also is a MacOS X version of dmidecode, but didn't investigate that. Corresponding to flashrom svn r874. Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> Acked-by: Luc Verhaegen <libv@skynet.be> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Fix SyncMOS S29C51004T, which has 512 uniform 1k sectorsSean Nelson2010-01-191-1/+1
| | | | | | | Corresponding to flashrom svn r873. Signed-off-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Sean Nelson <audiohacked@gmail.com>
* Convert ST to block erasersSean Nelson2010-01-191-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ST M25P05-A ST M25P05.RES ST M25P10-A ST M25P10.RES ST M25P20 ST M25P40 ST M25P40-old ST M25P80 ST M25P16 ST M25P32 ST M25P64 ST M25P128 ST M29F002B ST M29F002T/NT ST M29F040B ST M29F400BT ST M29W010B ST M29W040B ST M50FLW040A ST M50FLW040B ST M50FLW080A ST M50FLW080B ST M50FW002 ST M50FW016 ST M50FW040 ST M50FW080 ST M50LPW116 Add erase_chip_stm50flw0x0x to stm50flw0x0x.c Add copyright to stm50flw0x0x.c Fix block sizes and counts Omit M50FLW0x0x mixed sector/block eraser Convert the used 82802ab functions to their stm50flw0x0x equivalents Fix incorrect sizes as found by Carl-Daniel. Add back M50FLW0x0x mixed sector/block eraser sans function pointer. Corresponding to flashrom svn r872. Signed-off-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Block eraser conversions and support for Eon EN25B seriesSean Nelson2010-01-193-49/+452
| | | | | | | | | | | | | | | | | | Convert chips to block_erasers: SyncMOS S29C31004T SyncMOS S29C51001T SyncMOS S29C51002T SyncMOS S29C51004T TI TMS29F002RT TI TMS29F002RB SyncMOS chips have Uniform sector; boot blocks on chips are made up of uniform sectors but have locking. Corresponding to flashrom svn r871. Signed-off-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Dediprog SF100 supportCarl-Daniel Hailfinger2010-01-195-1/+441
| | | | | | | | | | | | | | | | | | | | | | | Reverse engineered from USB logs. I never touched that programmer nor did I ever see the associated software. Disabled by default until it is complete. The driver needs to be hooked up to the SPI core before it will do anything besides init and diagnostics. I successfully reverse engineered all commands, but some are still somewhat magic. Logs from "flashrom -p dediprog -V" are appreciated. Probe and read should work, erase/write is expected to explode. The programmer will set voltage to 0 on exit. Thanks a lot to Stefan Reinauer and Patrick Georgi for providing USB logs and for testing the result. Corresponding to flashrom svn r870. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Stefan Reinauer <stepan@coresystems.de>
* Add eraseblock functions to self-checkCarl-Daniel Hailfinger2010-01-191-9/+28
| | | | | | | | | | | It doesn't make sense to have different layouts for the same function on one chip. Keep going if an error is found, we want all errors to be reported in one fell swoop. Corresponding to flashrom svn r869. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Sean Nelson <audiohacked@gmail.com>
* Converted chips to block_erasersSean Nelson2010-01-191-35/+314
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | W_25X10 W_25X20 W_25X40 W_25X80 W_25X16 W_25X32 W_25X64 W_29C011 W_29C020C W_29C040P W_29EE011 W_39V040A W_39V040B W_39V040C W_39V040FA W_39V080A W_49F002U W_49V002A W_49V002FA W_39V080FA W_39V080FA_DM Corresponding to flashrom svn r868. Signed-off-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Block eraser conversions and support for Eon EN25B seriesSean Nelson2010-01-194-21/+283
| | | | | | | | | | | | | | | | | | | | | | | | | | | Convert chips to block_erasers: ST_M25PE10 ST_M25PE20 ST_M25PE40 ST_M25PE80 ST_M25PE16 PMC_25LV010 PMC_25LV016B PMC_25LV020 PMC_25LV040 PMC_25LV080B PMC_25LV512 PMC_39F010 PMC_49FL002 PMC_49FL004 SANYO_LE25FW203A SPANSION_S25FL016A Added spi_block_erase_d7 for PMC chips. Corresponding to flashrom svn r867. Signed-off-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Add Intel NM10 chipset enableDavid Hendricks2010-01-191-0/+1
| | | | | | | | | | | | | Public chipset documentation available at http://www.intel.com/Assets/PDF/datasheet/322896.pdf Tested on NM10-based customer reference board from Intel. Corresponding to flashrom svn r866. Signed-off-by: David Hendricks <dhendrix@google.com> Acked-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Fix A25L40PU and A2540PT due to incorrect full-chip block size is incorrectSean Nelson2010-01-181-2/+2
| | | | | | | | Corresponding to flashrom svn r865. Thanks to hailfinger's self-check-erase routine for catching this. Signed-off-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
* Do sanity checks of block erasers at startup and continue check on errorsCarl-Daniel Hailfinger2010-01-181-20/+61
| | | | | | | | | | | | | | | Flashrom performs a self-check on every startup before it even starts to initialize any programmer. That way, compiler errors and code errors will be caught before they can do any harm. This patch adds an eraseblock structure self-check. It also modifies the self-check code to consistently run all checks even if one check failed. Corresponding to flashrom svn r864. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Sean Nelson <audiohacked@gmail.com>
* The write and erase column in the --list-supported-wiki output were swappedCarl-Daniel Hailfinger2010-01-181-1/+1
| | | | | | | | | Thanks to Michael Karcher for noticing. Corresponding to flashrom svn r863. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
OpenPOWER on IntegriCloud