summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Verhaegen <libv@skynet.be>2009-05-26 09:48:28 +0000
committerLuc Verhaegen <libv@skynet.be>2009-05-26 09:48:28 +0000
commit0ab0a8a3e23acd7378ba0146282c0acf4685b03f (patch)
treedef0bcc88068d6825711377aa468fd339b8c5856
parentd2b9582645d1e3ec83154af7b85f3abaa08d7d82 (diff)
downloadflashrom-0ab0a8a3e23acd7378ba0146282c0acf4685b03f.zip
flashrom-0ab0a8a3e23acd7378ba0146282c0acf4685b03f.tar.gz
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.c2
-rw-r--r--chipset_enable.c14
2 files changed, 15 insertions, 1 deletions
diff --git a/board_enable.c b/board_enable.c
index 57677df..6bdba92 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 3cac2c8..8fbbe86 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},
OpenPOWER on IntegriCloud