[coreboot] [Patch] Flashrom: Add nforce2 chipset enable.
Luc Verhaegen
libv at skynet.be
Mon May 25 14:41:06 CEST 2009
Since no-one seems to have solid information as to the origins of
the supposedly known brokenness of flashrom on the Asus A7N8X-E, i
attach here a patch to add nforce2 support, which will hopefully fix
this board.
Attached as well is some lspci info i managed to pluck off the interweb.
No subsystem ids though, but a board specific enable does not seem
necessary for this board.
Luc Verhaegen.
-------------- next part --------------
Add NForce2 chipset enable.
This should, hopefully, fix the ASUS A7N8X-E.
While the other chipset enables for nvidia could potentially also work,
this one, by not touching other bits, seems like the safest solution.
Signed-off-by Luc Verhaegen <libv at skynet.be>
Index: chipset_enable.c
===================================================================
--- chipset_enable.c (revision 545)
+++ chipset_enable.c (working copy)
@@ -769,6 +769,19 @@
return 0;
}
+static int enable_flash_nvidia_nforce2(struct pci_dev *dev, const char *name)
+{
+ uint8_t tmp;
+
+ pci_write_byte(dev, 0x92, 0);
+
+ tmp = pci_read_byte(dev, 0x6d);
+ tmp |= 0x01;
+ pci_write_byte(dev, 0x6d, tmp);
+
+ return 0;
+}
+
static int enable_flash_ck804(struct pci_dev *dev, const char *name)
{
uint8_t old, new;
@@ -981,6 +994,7 @@
{0x8086, 0x122e, OK, "Intel", "PIIX", enable_flash_piix4},
{0x10de, 0x0050, OK, "NVIDIA", "CK804", enable_flash_ck804}, /* LPC */
{0x10de, 0x0051, OK, "NVIDIA", "CK804", enable_flash_ck804}, /* Pro */
+ {0x10de, 0x0060, NT, "NVIDIA", "NForce2", enable_flash_nvidia_nforce2},
/* Slave, should not be here, to fix known bug for A01. */
{0x10de, 0x00d3, OK, "NVIDIA", "CK804", enable_flash_ck804},
{0x10de, 0x0260, NT, "NVIDIA", "MCP51", enable_flash_ck804},
Index: board_enable.c
===================================================================
--- board_enable.c (revision 546)
+++ board_enable.c (working copy)
@@ -784,7 +784,6 @@
const struct board_info boards_bad[] = {
/* Verified non-working boards (for now). */
{ "Abit", "IS-10", },
- { "ASUS", "A7N8X-E Deluxe", },
{ "ASUS", "MEW-AM", },
{ "ASUS", "MEW-VM", },
{ "ASUS", "P3B-F", },
-------------- next part --------------
# lspci
0000:00:00.0 Host bridge: nVidia Corporation nForce2 AGP (different version?) (rev c1)
0000:00:00.1 RAM memory: nVidia Corporation nForce2 Memory Controller 1 (rev c1)
0000:00:00.2 RAM memory: nVidia Corporation nForce2 Memory Controller 4 (rev c1)
0000:00:00.3 RAM memory: nVidia Corporation nForce2 Memory Controller 3 (rev c1)
0000:00:00.4 RAM memory: nVidia Corporation nForce2 Memory Controller 2 (rev c1)
0000:00:00.5 RAM memory: nVidia Corporation nForce2 Memory Controller 5 (rev c1)
0000:00:01.0 ISA bridge: nVidia Corporation nForce2 ISA Bridge (rev a4)
0000:00:01.1 SMBus: nVidia Corporation nForce2 SMBus (MCP) (rev a2)
0000:00:02.0 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4)
0000:00:02.1 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4)
0000:00:02.2 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4)
0000:00:04.0 Ethernet controller: nVidia Corporation nForce2 Ethernet Controller (rev a1)
0000:00:08.0 PCI bridge: nVidia Corporation nForce2 External PCI Bridge (rev a3)
0000:00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2)
0000:00:0d.0 FireWire (IEEE 1394): nVidia Corporation nForce2 FireWire (IEEE 1394) Controller (rev a3)
0000:00:1e.0 PCI bridge: nVidia Corporation nForce2 AGP (rev c1)
0000:01:04.0 Ethernet controller: Marvell Technology Group Ltd. Yukon Gigabit Ethernet 10/100/1000Base-T Adapter (rev 13)
0000:01:08.0 Multimedia audio controller: Creative Labs: Unknown device 0008
0000:01:0b.0 RAID bus controller: Silicon Image, Inc. (formerly CMD Technology
Inc) SiI 3112 [SATALink/SATARaid] Serial ATA Controller (rev 02)
0000:03:00.0 VGA compatible controller: nVidia Corporation: Unknown device 0326 (rev a1)
# lspci -n
0000:00:00.0 0600: 10de:01e0 (rev c1)
0000:00:00.1 0500: 10de:01eb (rev c1)
0000:00:00.2 0500: 10de:01ee (rev c1)
0000:00:00.3 0500: 10de:01ed (rev c1)
0000:00:00.4 0500: 10de:01ec (rev c1)
0000:00:00.5 0500: 10de:01ef (rev c1)
0000:00:01.0 0601: 10de:0060 (rev a4)
0000:00:01.1 0c05: 10de:0064 (rev a2)
0000:00:02.0 0c03: 10de:0067 (rev a4)
0000:00:02.1 0c03: 10de:0067 (rev a4)
0000:00:02.2 0c03: 10de:0068 (rev a4)
0000:00:04.0 0200: 10de:0066 (rev a1)
0000:00:08.0 0604: 10de:006c (rev a3)
0000:00:09.0 0101: 10de:0065 (rev a2)
0000:00:0d.0 0c00: 10de:006e (rev a3)
0000:00:1e.0 0604: 10de:01e8 (rev c1)
0000:01:04.0 0200: 11ab:4320 (rev 13)
0000:01:08.0 0401: 1102:0008
0000:01:0b.0 0104: 1095:3112 (rev 02)
0000:03:00.0 0300: 10de:0326 (rev a1)
More information about the coreboot
mailing list