1 #include <console/console.h>
2 #include <device/device.h>
3 #include <device/pci.h>
4 #include <device/pci_ids.h>
5 #include <device/pci_ops.h>
9 static void ide_init(struct device *dev)
11 #if ICH5_SATA_ADDRESS_MAP<=1
12 /* Enable ide devices so the linux ide driver will work */
15 int enable_a=1, enable_b=1;
18 word = pci_read_config16(dev, 0x40);
21 /* Enable first ide interface */
23 printk_debug("IDE0 ");
25 pci_write_config16(dev, 0x40, word);
27 word = pci_read_config16(dev, 0x42);
30 /* Enable secondary ide interface */
32 printk_debug("IDE1 ");
34 pci_write_config16(dev, 0x42, word);
39 static struct device_operations ide_ops = {
40 .read_resources = pci_dev_read_resources,
41 .set_resources = pci_dev_set_resources,
42 .enable_resources = pci_dev_enable_resources,
45 .enable = i82801dx_enable,
48 static const struct pci_driver ide_driver __pci_driver = {
50 .vendor = PCI_VENDOR_ID_INTEL,
51 .device = PCI_DEVICE_ID_INTEL_82801DBM_IDE,