#define DRV_NAME "cavium_ptp"
 
 #define PCI_DEVICE_ID_CAVIUM_PTP       0xA00C
+#define PCI_SUBSYS_DEVID_88XX_PTP      0xA10C
+#define PCI_SUBSYS_DEVID_81XX_PTP      0XA20C
+#define PCI_SUBSYS_DEVID_83XX_PTP      0xA30C
 #define PCI_DEVICE_ID_CAVIUM_RST       0xA00E
 
 #define PCI_PTP_BAR_NO 0
 }
 
 static const struct pci_device_id cavium_ptp_id_table[] = {
-       { PCI_DEVICE(PCI_VENDOR_ID_CAVIUM, PCI_DEVICE_ID_CAVIUM_PTP) },
+       { PCI_DEVICE_SUB(PCI_VENDOR_ID_CAVIUM, PCI_DEVICE_ID_CAVIUM_PTP,
+                       PCI_VENDOR_ID_CAVIUM, PCI_SUBSYS_DEVID_88XX_PTP) },
+       { PCI_DEVICE_SUB(PCI_VENDOR_ID_CAVIUM, PCI_DEVICE_ID_CAVIUM_PTP,
+                       PCI_VENDOR_ID_CAVIUM, PCI_SUBSYS_DEVID_81XX_PTP) },
+       { PCI_DEVICE_SUB(PCI_VENDOR_ID_CAVIUM, PCI_DEVICE_ID_CAVIUM_PTP,
+                       PCI_VENDOR_ID_CAVIUM, PCI_SUBSYS_DEVID_83XX_PTP) },
        { 0, }
 };