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
commit90e8e613183a817553511f670852100a42fe39be (patch)
treedef0bcc88068d6825711377aa468fd339b8c5856
parent24c1a160307b2a9c670ab97ae263f368cd722209 (diff)
downloadast2050-flashrom-90e8e613183a817553511f670852100a42fe39be.zip
ast2050-flashrom-90e8e613183a817553511f670852100a42fe39be.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