1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-27 15:12:36 +02:00

217 Commits

Author SHA1 Message Date
Carl-Daniel Hailfinger
f6e3efb9c4 Clean up the SB400 chipset enable code
Use pci_dev_find() instead of setting up a filter and iterating over PCI
devices.

Corresponding to flashrom svn r464.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2009-05-06 00:35:31 +00:00
Carl-Daniel Hailfinger
41d6bd918f Rewrite the SB600 chipset enable function
- Check for read/write protected regions first.
- Region protection is write-once according to the data sheets. Check if
the write succeeded. Don't write if the region is not protected.
- Verbose region protection dumping.
- Improve readability of BAR mapping code.
- Align BAR mapping to a page boundary (4k) instead of a 16k boundary.

This patch prepares the code for a SPI detection heuristic.

Corresponding to flashrom svn r463.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>
2009-05-05 22:50:07 +00:00
Bertrand Jacquin
b452a913d6 Here is a fix for chipset_enable.c when there is not /dev/cpu
Open fails so there is no reason to lseek in. Actually this is a trivial
fix for a bad return value from open.

Corresponding to flashrom svn r462.

Signed-off-by: Bertrand Jacquin <beber@meleeweb.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
2009-05-05 21:08:36 +00:00
Zheng Bao
284a60065d Force enabling SPI mode for SB600 is a bad idea and leads to hangs
Only access LPC ROM if we boot via LPC ROM. Only access SPI ROM if we
boot via SPI ROM.
The code to force enable SPI is commented out in case someone wants to
reenable it for a particular board with LPC and SPI flash.

Corresponding to flashrom svn r459.

Signed-off-by: Zheng Bao <zheng.bao@amd.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2009-05-04 22:33:50 +00:00
Uwe Hermann
7b2969be53 Some coding style and consistency fixes
Corresponding to flashrom svn r429 and coreboot v2 svn r4117.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2009-04-15 10:52:49 +00:00
Rudolf Marek
0c2029f862 Following patch fixes VIA SPI (VT8237S)
It needs to have opcodes initialized same way as ICH7.

Corresponding to flashrom svn r413 and coreboot v2 svn r3926.

Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Acked-by: Peter Stuge <peter@stuge.se>
2009-02-01 18:40:50 +00:00
Peter Stuge
20ed5d104c Add VT8237A PCI ID
Corresponding to flashrom svn r411 and coreboot v2 svn r3919.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2009-01-26 15:29:27 +00:00
Stefan Reinauer
0593f21f10 Abstract mmap() in physmap.c and only open /dev/mem on the first physmap() call
Corresponding to flashrom svn r397 and coreboot v2 svn r3903.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2009-01-26 01:10:48 +00:00
Peter Stuge
ccf8c6c794 Check all mmap() calls and print helpful Linux error message
Corresponding to flashrom svn r386 and coreboot v2 svn r3890.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2009-01-23 05:23:06 +00:00
FENG yu ning
37179b807c Fix ICH9 locking register address and add important debug output
Corresponding to flashrom svn r384 and coreboot v2 svn r3869.

Signed-off-by: FENG yu ning <fengyuning1984@gmail.com>
Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: FENG yu ning <fengyuning1984@gmail.com>
2009-01-18 06:39:32 +00:00
Sven Schnelle
b5d677b5e3 Add AMD-768 chipset support
Corresponding to flashrom svn r372 and coreboot v2 svn r3849.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2009-01-07 12:15:46 +00:00
Sven Schnelle
ed2352b3b6 Add i631x LPC support
Corresponding to flashrom svn r371 and coreboot v2 svn r3848.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2009-01-07 12:11:13 +00:00
Peter Stuge
e8a3e4c209 Initialize ICH SPI opcodes also for ICH9 and later
Corresponding to flashrom svn r368 and coreboot v2 svn r3830.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2008-12-22 14:12:08 +00:00
FENG yu ning
f041e9b586 Various ichspi.c refinements
* add a generic preop-opcode-pair table.

* rename ich_check_opcodes to ich_init_opcodes.

* let ich_init_opcodes do not need to access flashchip structure:
  . move the definition of struct preop_opcode_pair to a better place
  . remove preop_opcode_pairs from 'struct flashchip'
  . modify ich_init_opcodes and generate_opcodes so that they do not access the flashchip structure

* call ich_init_opcodes during chipset enable. Now OPCODES generation mechanism works.

* fix a coding style mistake.

Corresponding to flashrom svn r367 and coreboot v2 svn r3814.

Signed-off-by: FENG yu ning <fengyuning1984@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>
2008-12-15 02:32:11 +00:00
FENG yu ning
c05a295dc3 Generates OPCODES struct from the ICH7/ICH9/VIA chipset if its SPI configuration is locked down
Corresponding to flashrom svn r364 and coreboot v2 svn r3805.

Signed-off-by: FENG yu ning <fengyuning1984@gmail.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-12-08 18:16:58 +00:00
Niels Ole Salscheider
f63c0dcba9 Add AMD SB700 flash enable
This patch adds SB700 support to flashrom. The code for enabling the flash
rom is the same as for SB600. It was tested (read, write, verify) with an
ASUS M3A-H/HDMI which contains a Macronix MX25L8005.

Corresponding to flashrom svn r361 and coreboot v2 svn r3799.

Signed-off-by: Niels Ole Salscheider <niels_ole@salscheider-online.de>
Acked-by: Peter Stuge <peter@stuge.se>
2008-12-05 11:58:43 +00:00
Stefan Reinauer
9a6d1764a2 Replace #ifdefs for sc520 systems by run time probing
Fixes #109

Corresponding to flashrom svn r355 and coreboot v2 svn r3790.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-12-03 21:24:40 +00:00
Jason Wang
a3f04be761 Add support for the AMD/ATI SB600 southbridge SPI functionality
This has been tested by Uwe Hermann on an RS690/SB600 board.

Corresponding to flashrom svn r351 and coreboot v2 svn r3779.

Signed-off-by: Jason Wang <Qingpei.Wang@amd.com>
Reviewed-by: Joe Bao <zheng.bao@amd.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-11-28 21:36:51 +00:00
Carl-Daniel Hailfinger
d3b0e39f4c Dump ICH8/ICH9/ICH10 SPI registers
This helps a lot if we have to track down configuration weirdnesses.

Corresponding to flashrom svn r338 and coreboot v2 svn r3723.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-11-03 00:20:22 +00:00
Ed Swierk
b759db2cb5 Enable SPI boot flash support on EP80579, which has the ICH7 register set
Corresponding to flashrom svn r332 and coreboot v2 svn r3706.

Signed-off-by: Ed Swierk <eswierk@aristanetworks.com>
Acked-by: Ed Swierk <eswierk@aristanetworks.com>
2008-10-29 14:54:36 +00:00
Uwe Hermann
c556d32000 Add support for the Intel 82371MX (MPIIX) southbridge
Untested, but should work just as well as the other *PIIX* southbridges
according to the datasheets.

Corresponding to flashrom svn r330 and coreboot v2 svn r3696.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-10-28 11:50:05 +00:00
Uwe Hermann
8720345d07 Add support for the Intel 82371FB PIIX and 82371SB (PIIX3) southbridges
Tested on PIIX3 hardware.

Corresponding to flashrom svn r329 and coreboot v2 svn r3694.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Corey Osgood <corey.osgood@gmail.com>
2008-10-26 18:40:42 +00:00
Uwe Hermann
190f8497d7 Add support for the VIA VT82C586A/B chipset, improve documentation
Corresponding to flashrom svn r328 and coreboot v2 svn r3693.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-10-25 18:03:50 +00:00
Uwe Hermann
394131ef14 Coding-style fixes for flashrom, partly indent-aided
Corresponding to flashrom svn r326 and coreboot v2 svn r3669.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-10-18 21:14:13 +00:00
Urja Rannikko
a88daa731d Allow the SiS 620 chipset to detect and read at least 256kb chips
Based on the 5595 datasheet and uniflash 1.40 sources, only looking for info
about SiS620.

Corresponding to flashrom svn r325 and coreboot v2 svn r3668.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>
2008-10-18 13:54:30 +00:00
Marc Jones
3af487d419 SB600 has four write once LPC ROM protect areas
It is not possible to write enable that area once the register is set so
print a warning.

Corresponding to flashrom svn r324 and coreboot v2 svn r3659.

Signed-off-by: Marc Jones <marcj.jones@amd.com>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-10-15 17:50:29 +00:00
Carl-Daniel Hailfinger
28ec74b229 Add ICH10 support
The ICH9 and ICH10 data sheets are identical regarding FWH/SPI flash
interfaces, so this just adds the required PCI IDs.

Corresponding to flashrom svn r323 and coreboot v2 svn r3648.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>
2008-10-10 20:54:41 +00:00
Ed Swierk
cd2ed475ad Recognize the Intel EP80579 LPC flash interface
Corresponding to flashrom svn r310 and coreboot v2 svn r3532.

Signed-off-by: Ed Swierk <eswierk@arastra.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-08-20 20:31:41 +00:00
Stefan Reinauer
7f27464c8a Adding support for flashing system with Nvidia MCP67
Corresponding to flashrom svn r298 and coreboot v2 svn r3414.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-07-05 09:48:30 +00:00
Stefan Reinauer
2cb94e183b First attempt to clean up SPI probing and create a common construct: the flash bus
At some point the flash bus will be part of struct flashchip.

Pardon me for pushing this in, but I think it is important to beware of further
decay and it will improve things for other developers in the short run.

Carl-Daniel, I will consider your suggestions in another patch. I want to keep
things from getting too much for now. The patch includes Rudolf's VIA SPI
changes though.

Corresponding to flashrom svn r285 and coreboot v2 svn r3401.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-06-30 23:45:22 +00:00
Rudolf Marek
3fdbccf697 This patch adds support for VIA SPI controller on VT8237S
It is similar with few documented exceptions to ICH7 SPI controller.

Corresponding to flashrom svn r282 and coreboot v2 svn r3398.

Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Acked-by: Peter Stuge <peter@stuge.se>
2008-06-30 21:38:30 +00:00
Peter Stuge
7e2c079367 Fix ICH7 non-SPI that broke in r3393
r3393 assumed that ICH7 always used SPI. This patch resets ich7_detected back
to 0 when BOOT BIOS Straps indicate something else than SPI.

Also fixes a build error in ichspi.c with gcc 4.2.2.

Corresponding to flashrom svn r280 and coreboot v2 svn r3395.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-06-29 01:30:41 +00:00
Stefan Reinauer
a9424d597d Multiple unrelated changes
* ICH7 SPI support
* fix some variable names in ichspi.c (Offset -> offset)
* Dump ICH7 SPI bar with -V
* Improve error message in case IOPL goes wrong. (It might not even be an IOPL)

Corresponding to flashrom svn r278 and coreboot v2 svn r3393.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Peter Stuge <peter@stuge.se>
2008-06-27 16:28:34 +00:00
Uwe Hermann
793bdcd71e A bunch of cosmetic improvements
- Fix typos and inconsistencies.
 - Drop duplicate line which tells us the chip name twice.
 - Also print the chip vendor, not only the name.

Corresponding to flashrom svn r249 and coreboot v2 svn r3348.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-05-22 22:47:04 +00:00
Andriy Gapon
65c1b86fe7 Changes to make flashrom compile (and work) on FreeBSD
This patch addresses different argument order of outX() calls,
FreeBSD-specific headers, difference in certain type names and system
interface names, and also FreeBSD-specific way of gaining IO port
access.

Corresponding to flashrom svn r245 and coreboot v2 svn r3344.

Signed-off-by: Andriy Gapon <avg@icyb.net.ua>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-05-22 13:22:45 +00:00
Carl-Daniel Hailfinger
1b18b3c076 ICH8 and ICH9 have an almost identical SPI interface, only the location of the SPIBAR differs
Add ICH8 support to the ICH9 code.

Corresponding to flashrom svn r241 and coreboot v2 svn r3327.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-05-16 14:39:39 +00:00
Dominik Geyer
b46acba6e0 Add support for SPI chips on ICH9
This is done by using the generic SPI interface.

Corresponding to flashrom svn r239 and coreboot v2 svn r3325.

Signed-off-by: Dominik Geyer <dominik.geyer@kontron.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-05-16 12:55:55 +00:00
Carl-Daniel Hailfinger
6dc1d3b8dc Add more infrastructure for flashrom ICH9 support
Corresponding to flashrom svn r234 and coreboot v2 svn r3314.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-05-14 14:51:22 +00:00
Claus Gindhart
a00e2a0edf Add the Intel 6300ESB as known chipset to the chipset struct enables
Corresponding to flashrom svn r233 and coreboot v2 svn r3310.

Signed-off-by: Claus Gindhart <claus.gindhart@kontron.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-05-14 12:22:38 +00:00
Bari Ari
9477c4eca5 Enable ROM decode range to 1MB for vt8237r
Corresponding to flashrom svn r220 and coreboot v2 svn r3275.

Signed-off-by: Bari Ari <bari@onelabs.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-04-29 13:46:38 +00:00
Carl-Daniel Hailfinger
b36a071717 Add ICH9 detection
Straight from the datasheet, untested.

Corresponding to flashrom svn r215 and coreboot v2 svn r3167.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-03-18 00:54:10 +00:00
Carl-Daniel Hailfinger
67f9ea3b71 Prepare for ICH7/ICH8 SPI support by adding some debugging for all ICH* chipsets
Functionality (except printing) should be unchanged.

Corresponding to flashrom svn r207 and coreboot v2 svn r3144.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

Ward says:
This code detects the ICH8 chipset on my laptop, and it appears to use
SPI.

Acked-by: Ward Vandewege <ward@gnu.org>
2008-03-14 17:20:59 +00:00
Uwe Hermann
eac1016437 Also print the chip vendor name in --list-supported output
Cosmetic changes in some files, partly bending the 80-characters-per-line
rule in this special case, as the 80-character-limited version looks
equally crappy even in an 80x25 console/xterm, so let's make it at least
look good in a high-resolution xterm.

Corresponding to flashrom svn r203 and coreboot v2 svn r3139.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-03-13 18:52:51 +00:00
Uwe Hermann
e5ac16445f Add --list-supported option which lists the supported ROM chips, chipsets, and mainboards
Corresponding to flashrom svn r199 and coreboot v2 svn r3133.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Ward Vandewege <ward@gnu.org>
2008-03-12 11:54:51 +00:00
Mart Raudsepp
3697ac75d5 Further cleanups to enable_flash_cs5536
- Remove the "enable write to flash" message, as the caller appears to
   already report that.

 - Move the 'modprobe msr' suggestions to the first lseek64 error handling, as
   we get an error there already.

 - Rename a perror string from "read" to "read msr", as we use the latter
   already in this function for another read.

Corresponding to flashrom svn r195 and coreboot v2 svn r3101.

Signed-off-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-02-11 14:32:45 +00:00
Mart Raudsepp
e1344da898 Improve error handling and make RCONF_DEFAULT_MSR address be a constant
Also, move a big code comment to the top of enable_flash_cs5536().

Corresponding to flashrom svn r193 and coreboot v2 svn r3098.

Signed-off-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-02-08 10:10:57 +00:00
Mart Raudsepp
0514a5f07a Write enable flash chips attached to CS3 of CS5536 chipsets (AMD Geode)
This implements support for devices using AMD Geode companion chip
CS5536 that have the Boot ROM on NOR flash that is directly connected to
FLASH_CS3 (Boot Flash Chip Select). We need to write enable it in the
NORF_CTL MSR register for flashrom to be able to write to it, including
JEDEC probe commands.

This patch allows us to stop using AMD gx_utils.ko for BIOS flashing on
the DBE61.

Corresponding to flashrom svn r192 and coreboot v2 svn r3097.

Signed-off-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-02-08 09:59:58 +00:00
Marc Jones
3ac76af6f0 Correctly disable the ROM area Write Protect bit in the Geode LX
Corresponding to flashrom svn r188 and coreboot v2 svn r3078.

Signed-off-by: Marc Jones <marc.jones@amd.com>
Acked-by: Peter Stuge <peter@stuge.se>

Tested on the pcengines alix1c and works fine.
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
2008-01-26 07:35:47 +00:00
Uwe Hermann
372eeb5710 Various coding style fixes, constification, fixed typos
Also, s/0xFF80/0xFFC0/ in the Acorp 6A815EPD board-enable, as per
http://www.linuxbios.org/pipermail/linuxbios/2007-December/027750.html

Corresponding to flashrom svn r162 and coreboot v2 svn r2997.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2007-12-04 21:49:06 +00:00
Lane Brooks
d54958a3c4 Flashrom support for AMD Geode CS5536
Attached is a patch that enables AMD Geode CS5536 chipset support.  I
have tested it successfully on a MSM800 board from digital logic.

Corresponding to flashrom svn r160 and coreboot v2 svn r2967.

Signed-off-by: Lane Brooks <lbrooks@mit.edu>
Acked-by: Jordan Crouse <jordan.crouse@amd.com>
2007-11-13 16:45:22 +00:00