static const struct pci_device_id mt7996_pci_device_table[] = {
        { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x7990) },
+       { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x7992) },
        { },
 };
 
 static const struct pci_device_id mt7996_hif_device_table[] = {
        { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x7991) },
+       { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x799a) },
        { },
 };
 
 static struct mt7996_hif *mt7996_pci_init_hif2(struct pci_dev *pdev)
 {
        hif_idx++;
-       if (!pci_get_device(PCI_VENDOR_ID_MEDIATEK, 0x7991, NULL))
+
+       if (!pci_get_device(PCI_VENDOR_ID_MEDIATEK, 0x7991, NULL) &&
+           !pci_get_device(PCI_VENDOR_ID_MEDIATEK, 0x799a, NULL))
                return NULL;
 
        writel(hif_idx | MT_PCIE_RECOG_ID_SEM,
 
        mt76_pci_disable_aspm(pdev);
 
-       if (id->device == 0x7991)
+       if (id->device == 0x7991 || id->device == 0x799a)
                return mt7996_pci_hif2_probe(pdev);
 
        dev = mt7996_mmio_probe(&pdev->dev, pcim_iomap_table(pdev)[0],