|
@@ -22,6 +22,7 @@
|
|
|
Intel PIIX4, 440MX
|
|
|
Serverworks OSB4, CSB5, CSB6, HT-1000, HT-1100
|
|
|
ATI IXP200, IXP300, IXP400, SB600, SB700, SB800
|
|
|
+ AMD SB900
|
|
|
SMSC Victory66
|
|
|
|
|
|
Note: we assume there can only be one device, with one SMBus interface.
|
|
@@ -479,6 +480,7 @@ static struct pci_device_id piix4_ids[] = {
|
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP300_SMBUS) },
|
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_SMBUS) },
|
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS) },
|
|
|
+ { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_SB900_SMBUS) },
|
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS,
|
|
|
PCI_DEVICE_ID_SERVERWORKS_OSB4) },
|
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS,
|
|
@@ -499,9 +501,10 @@ static int __devinit piix4_probe(struct pci_dev *dev,
|
|
|
{
|
|
|
int retval;
|
|
|
|
|
|
- if ((dev->vendor == PCI_VENDOR_ID_ATI) &&
|
|
|
- (dev->device == PCI_DEVICE_ID_ATI_SBX00_SMBUS) &&
|
|
|
- (dev->revision >= 0x40))
|
|
|
+ if ((dev->vendor == PCI_VENDOR_ID_ATI &&
|
|
|
+ dev->device == PCI_DEVICE_ID_ATI_SBX00_SMBUS &&
|
|
|
+ dev->revision >= 0x40) ||
|
|
|
+ dev->vendor == PCI_VENDOR_ID_AMD)
|
|
|
/* base address location etc changed in SB800 */
|
|
|
retval = piix4_setup_sb800(dev, id);
|
|
|
else
|