@@ -995,6 +1001,12 @@ static int enable_flash_mcp55(struct pci_dev *dev, const
char *name)
uint8_t old, new, val;
uint16_t wordval;
+ if (pci_read_word(dev, PCI_CLASS_DEVICE) != 0x0601) {
+ /* output is followed by "OK - searching for ...\n" */
+ msg_pinfo(" Seems to be a secondary south bridge, ");
+ return NOT_DONE_YET;
+ }
+
/* Set the 0-16 MB enable bits. */
val = pci_read_byte(dev, 0x88);
val |= 0xff; /* 256K */
@@ -1207,15 +1219,7 @@ const struct penable chipset_enables[] = {
{0x10de, 0x0262, NT, "NVIDIA", "MCP51", enable_flash_ck804},
{0x10de, 0x0263, NT, "NVIDIA", "MCP51", enable_flash_ck804},
{0x10de, 0x0360, OK, "NVIDIA", "MCP55",
enable_flash_mcp55}, /* M57SLI*/
- /* 10de:0361 is present in Tyan S2915 OEM systems, but not connected to
- * the flash chip. Instead, 10de:0364 is connected to the flash chip.
- * Until we have PCI device class matching or some fallback mechanism,
- * this is needed to get flashrom working on Tyan S2915 and maybe other
- * dual-MCP55 boards.
- */
-#if 0
- {0x10de, 0x0361, NT, "NVIDIA", "MCP55",
enable_flash_mcp55}, /* LPC */
-#endif
+ {0x10de, 0x0361, OK, "NVIDIA", "MCP55",
enable_flash_mcp55}, /* LPC */
{0x10de, 0x0362, OK, "NVIDIA", "MCP55",
enable_flash_mcp55}, /* LPC */
{0x10de, 0x0363, OK, "NVIDIA", "MCP55",
enable_flash_mcp55}, /* LPC */
{0x10de, 0x0364, OK, "NVIDIA", "MCP55",
enable_flash_mcp55}, /* LPC */