/*
- * This file is part of the LinuxBIOS project.
+ * This file is part of the coreboot project.
*
* Copyright (C) 2005 Tyan Computer
* (Written by Yinghai Lu <yinghailu@gmail.com> for Tyan Computer)
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+/* This code should work for all ICH* southbridges with AC97 audio/modem. */
+
#include <console/console.h>
#include <device/device.h>
#include <device/pci.h>
.enable = i82801xx_enable,
};
-/* 82801AA */
+/* 82801AA (ICH) */
static const struct pci_driver i82801aa_ac97_audio __pci_driver = {
.ops = &ac97_ops,
.vendor = PCI_VENDOR_ID_INTEL,
- .device = 0x2415,
+ .device = PCI_DEVICE_ID_INTEL_82801AA_AC97_AUDIO,
};
static const struct pci_driver i82801aa_ac97_modem __pci_driver = {
.ops = &ac97_ops,
.vendor = PCI_VENDOR_ID_INTEL,
- .device = 0x2416,
+ .device = PCI_DEVICE_ID_INTEL_82801AA_AC97_MODEM,
};
-/* 82801AB */
+/* 82801AB (ICH0) */
static const struct pci_driver i82801ab_ac97_audio __pci_driver = {
.ops = &ac97_ops,
.vendor = PCI_VENDOR_ID_INTEL,
- .device = 0x2425,
+ .device = PCI_DEVICE_ID_INTEL_82801AB_AC97_AUDIO,
};
static const struct pci_driver i82801ab_ac97_modem __pci_driver = {
.ops = &ac97_ops,
.vendor = PCI_VENDOR_ID_INTEL,
- .device = 0x2426,
+ .device = PCI_DEVICE_ID_INTEL_82801AB_AC97_MODEM,
};
-/* 82801BA */
+/* 82801BA/BAM (ICH2/ICH2-M) */
static const struct pci_driver i82801ba_ac97_audio __pci_driver = {
.ops = &ac97_ops,
.vendor = PCI_VENDOR_ID_INTEL,
- .device = 0x2445,
+ .device = PCI_DEVICE_ID_INTEL_82801BA_AC97_AUDIO,
};
static const struct pci_driver i82801ba_ac97_modem __pci_driver = {
.ops = &ac97_ops,
.vendor = PCI_VENDOR_ID_INTEL,
- .device = 0x2446,
+ .device = PCI_DEVICE_ID_INTEL_82801BA_AC97_MODEM,
};
-/* 82801CA */
+/* 82801CA/CAM (ICH3-S/ICH3-M) */
static const struct pci_driver i82801ca_ac97_audio __pci_driver = {
.ops = &ac97_ops,
.vendor = PCI_VENDOR_ID_INTEL,
- .device = 0x2485,
+ .device = PCI_DEVICE_ID_INTEL_82801CA_AC97_AUDIO,
};
static const struct pci_driver i82801ca_ac97_modem __pci_driver = {
.ops = &ac97_ops,
.vendor = PCI_VENDOR_ID_INTEL,
- .device = 0x2486,
+ .device = PCI_DEVICE_ID_INTEL_82801CA_AC97_MODEM,
};
-/* 82801DB & 82801DBM */
+/* 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) */
static const struct pci_driver i82801db_ac97_audio __pci_driver = {
.ops = &ac97_ops,
.vendor = PCI_VENDOR_ID_INTEL,
- .device = 0x24c5,
+ .device = PCI_DEVICE_ID_INTEL_82801DB_AC97_AUDIO,
};
static const struct pci_driver i82801db_ac97_modem __pci_driver = {
.ops = &ac97_ops,
.vendor = PCI_VENDOR_ID_INTEL,
- .device = 0x24c6,
+ .device = PCI_DEVICE_ID_INTEL_82801DB_AC97_MODEM,
+};
+
+/* 82801EB/ER (ICH5/ICH5R) */
+static const struct pci_driver i82801eb_ac97_audio __pci_driver = {
+ .ops = &ac97_ops,
+ .vendor = PCI_VENDOR_ID_INTEL,
+ .device = PCI_DEVICE_ID_INTEL_82801EB_AC97_AUDIO,
+};
+
+static const struct pci_driver i82801eb_ac97_modem __pci_driver = {
+ .ops = &ac97_ops,
+ .vendor = PCI_VENDOR_ID_INTEL,
+ .device = PCI_DEVICE_ID_INTEL_82801EB_AC97_MODEM,
};
-/* 82801EB & 82801ER */
-static const struct pci_driver i82801ex_ac97_audio __pci_driver = {
+/* 82801FB/FR/FW/FRW/FBM (ICH6/ICH6R/ICH6W/ICH6RW/ICH6-M) */
+static const struct pci_driver i82801fb_ac97_audio __pci_driver = {
.ops = &ac97_ops,
.vendor = PCI_VENDOR_ID_INTEL,
- .device = 0x24d5,
+ .device = PCI_DEVICE_ID_INTEL_82801FB_AC97_AUDIO,
};
-static const struct pci_driver i82801ex_ac97_modem __pci_driver = {
+static const struct pci_driver i82801fb_ac97_modem __pci_driver = {
.ops = &ac97_ops,
.vendor = PCI_VENDOR_ID_INTEL,
- .device = 0x24d6,
+ .device = PCI_DEVICE_ID_INTEL_82801FB_AC97_MODEM,
};