Move the v3 resource allocator to v2.
[coreboot.git] / src / southbridge / intel / i82801xx / i82801xx_ac97.c
index 14e2b4ae6ed13c04128ae71cb595439278067ac2..ace04ffaebd9c571c0174a64b1ce2375cef331c6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * 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)
@@ -19,6 +19,8 @@
  * 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>
@@ -34,80 +36,93 @@ static struct device_operations ac97_ops = {
        .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,
 };