diff options
author | Luc Verhaegen <libv@skynet.be> | 2009-05-26 09:48:28 +0000 |
---|---|---|
committer | Luc Verhaegen <libv@skynet.be> | 2009-05-26 09:48:28 +0000 |
commit | 90e8e613183a817553511f670852100a42fe39be (patch) | |
tree | def0bcc88068d6825711377aa468fd339b8c5856 | |
parent | 24c1a160307b2a9c670ab97ae263f368cd722209 (diff) | |
download | flashrom-90e8e613183a817553511f670852100a42fe39be.tar.gz flashrom-90e8e613183a817553511f670852100a42fe39be.tar.bz2 flashrom-90e8e613183a817553511f670852100a42fe39be.zip |
Add NForce2 chipset enable
While the other chipset enables for nvidia could potentially also work,
this one, by not touching other bits, seems like the safest solution.
Uwe tested this on his Asus A7N8X Deluxe, so hopefully the A7N8X-E
(reporter unknown) is now no longer an issue.
Corresponding to flashrom svn r548.
Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
-rw-r--r-- | board_enable.c | 2 | ||||
-rw-r--r-- | chipset_enable.c | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/board_enable.c b/board_enable.c index 57677df6..6bdba920 100644 --- a/board_enable.c +++ b/board_enable.c @@ -717,6 +717,7 @@ const struct board_info boards_ok[] = { { "ASUS", "P2B-F", }, { "ASUS", "P2B-D", }, { "ASUS", "P2B-DS", }, + { "ASUS", "A7N8X Deluxe", }, { "ASUS", "A7V400-MX", }, { "ASUS", "A7V8X-MX", }, { "ASUS", "P4B266", }, @@ -781,7 +782,6 @@ const struct board_info boards_ok[] = { 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", }, diff --git a/chipset_enable.c b/chipset_enable.c index 3cac2c8f..8fbbe862 100644 --- a/chipset_enable.c +++ b/chipset_enable.c @@ -769,6 +769,19 @@ static int enable_flash_sb600(struct pci_dev *dev, const char *name) 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 @@ const struct penable chipset_enables[] = { {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, OK, "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}, |