|
@@ -73,6 +73,9 @@
|
|
|
#define PCI_DEVICE_ID_ROHM_ML7223_mPHUB 0x8012 /* for Bus-m */
|
|
|
#define PCI_DEVICE_ID_ROHM_ML7223_nPHUB 0x8002 /* for Bus-n */
|
|
|
|
|
|
+/* Macros for ML7831 */
|
|
|
+#define PCI_DEVICE_ID_ROHM_ML7831_PHUB 0x8801
|
|
|
+
|
|
|
/* SROM ACCESS Macro */
|
|
|
#define PCH_WORD_ADDR_MASK (~((1 << 2) - 1))
|
|
|
|
|
@@ -763,6 +766,22 @@ static int __devinit pch_phub_probe(struct pci_dev *pdev,
|
|
|
chip->pch_opt_rom_start_address =\
|
|
|
PCH_PHUB_ROM_START_ADDR_ML7223;
|
|
|
chip->pch_mac_start_address = PCH_PHUB_MAC_START_ADDR_ML7223;
|
|
|
+ } else if (id->driver_data == 5) { /* ML7831 */
|
|
|
+ retval = sysfs_create_file(&pdev->dev.kobj,
|
|
|
+ &dev_attr_pch_mac.attr);
|
|
|
+ if (retval)
|
|
|
+ goto err_sysfs_create;
|
|
|
+
|
|
|
+ retval = sysfs_create_bin_file(&pdev->dev.kobj, &pch_bin_attr);
|
|
|
+ if (retval)
|
|
|
+ goto exit_bin_attr;
|
|
|
+
|
|
|
+ /* set the prefech value */
|
|
|
+ iowrite32(0x000affaa, chip->pch_phub_base_address + 0x14);
|
|
|
+ /* set the interrupt delay value */
|
|
|
+ iowrite32(0x25, chip->pch_phub_base_address + 0x44);
|
|
|
+ chip->pch_opt_rom_start_address = PCH_PHUB_ROM_START_ADDR_EG20T;
|
|
|
+ chip->pch_mac_start_address = PCH_PHUB_MAC_START_ADDR_EG20T;
|
|
|
}
|
|
|
|
|
|
chip->ioh_type = id->driver_data;
|
|
@@ -847,6 +866,7 @@ static struct pci_device_id pch_phub_pcidev_id[] = {
|
|
|
{ PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ROHM_ML7213_PHUB), 2, },
|
|
|
{ PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ROHM_ML7223_mPHUB), 3, },
|
|
|
{ PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ROHM_ML7223_nPHUB), 4, },
|
|
|
+ { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ROHM_ML7831_PHUB), 5, },
|
|
|
{ }
|
|
|
};
|
|
|
MODULE_DEVICE_TABLE(pci, pch_phub_pcidev_id);
|