diff -Nur linux-2.6.21.1.orig/include/linux/pci_ids.h linux-2.6.21.1/include/linux/pci_ids.h
--- linux-2.6.21.1.orig/include/linux/pci_ids.h	2007-05-16 13:28:54.405386000 +0800
+++ linux-2.6.21.1/include/linux/pci_ids.h	2007-05-16 13:45:29.936636000 +0800
@@ -371,6 +371,9 @@
 #define PCI_DEVICE_ID_ATI_IXP600_SRAID	0x4381
 #define PCI_DEVICE_ID_ATI_IXP600_SMBUS	0x4385
 #define PCI_DEVICE_ID_ATI_IXP600_IDE	0x438c
+#define PCI_DEVICE_ID_ATI_IXP700_IDE	0x439c
 
 #define PCI_VENDOR_ID_VLSI		0x1004
 #define PCI_DEVICE_ID_VLSI_82C592	0x0005

diff -Nur linux-2.6.21.1.orig/drivers/ata/pata_atiixp.c linux-2.6.21.1/drivers/ata/pata_atiixp.c
--- linux-2.6.21.1.orig/drivers/ata/pata_atiixp.c	2007-05-16 13:27:49.764761000 +0800
+++ linux-2.6.21.1/drivers/ata/pata_atiixp.c	2007-05-16 13:37:47.014761000 +0800
@@ -283,6 +283,7 @@
 	{ PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP300_IDE), },
 	{ PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP400_IDE), },
 	{ PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP600_IDE), },
+	{ PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP700_IDE), },
 
 	{ },
 };

diff -Nur linux-2.6.21.1.orig/drivers/ide/pci/atiixp.c linux-2.6.21.1/drivers/ide/pci/atiixp.c
--- linux-2.6.21.1.orig/drivers/ide/pci/atiixp.c	2007-05-16 13:27:53.671011000 +0800
+++ linux-2.6.21.1/drivers/ide/pci/atiixp.c	2007-05-16 13:43:51.952261000 +0800
@@ -353,6 +353,7 @@
 	{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP300_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
 	{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
 	{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1},
+	{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP700_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1},
 	{ 0, },
 };
 MODULE_DEVICE_TABLE(pci, atiixp_pci_tbl);

