mt76: mt7915: add device id for mt7916
authorBo Jiao <Bo.Jiao@mediatek.com>
Mon, 20 Dec 2021 02:18:04 +0000 (10:18 +0800)
committerFelix Fietkau <nbd@nbd.name>
Thu, 3 Feb 2022 12:57:57 +0000 (13:57 +0100)
Add pci_device_id to enable mt7916. Note that MT_HW_CHIPID is no
longer used for further chips, so drop it accordingly.

Co-developed-by: Sujuan Chen <sujuan.chen@mediatek.com>
Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com>
Co-developed-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/mmio.c
drivers/net/wireless/mediatek/mt76/mt7915/pci.c
drivers/net/wireless/mediatek/mt76/mt7915/regs.h

index 4eaf46ef1d169d8cefa9b3bd6b4f6ee04b4afbd2..a6dd33f7576f90d1d49f944219bbeafc58605844 100644 (file)
@@ -406,7 +406,7 @@ static int mt7915_mmio_init(struct mt76_dev *mdev,
        bus_ops->rmw = mt7915_rmw;
        dev->mt76.bus = bus_ops;
 
-       mdev->rev = (mt76_rr(dev, MT_HW_CHIPID) << 16) |
+       mdev->rev = (device_id << 16) |
                    (mt76_rr(dev, MT_HW_REV) & 0xff);
        dev_dbg(mdev->dev, "ASIC revision: %04x\n", mdev->rev);
 
index 5d6adcdbef3c8fc2b8a03574aa2157c621d9c02c..92f4b5849cd8e7a01c337c94e3f6d89d1aaa4fa2 100644 (file)
@@ -18,11 +18,13 @@ static u32 hif_idx;
 
 static const struct pci_device_id mt7915_pci_device_table[] = {
        { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x7915) },
+       { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x7906) },
        { },
 };
 
 static const struct pci_device_id mt7915_hif_device_table[] = {
        { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x7916) },
+       { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x790a) },
        { },
 };
 
@@ -61,7 +63,8 @@ static void mt7915_put_hif2(struct mt7915_hif *hif)
 static struct mt7915_hif *mt7915_pci_init_hif2(struct pci_dev *pdev)
 {
        hif_idx++;
-       if (!pci_get_device(PCI_VENDOR_ID_MEDIATEK, 0x7916, NULL))
+       if (!pci_get_device(PCI_VENDOR_ID_MEDIATEK, 0x7916, NULL) &&
+           !pci_get_device(PCI_VENDOR_ID_MEDIATEK, 0x790a, NULL))
                return NULL;
 
        writel(hif_idx | MT_PCIE_RECOG_ID_SEM,
@@ -111,7 +114,7 @@ static int mt7915_pci_probe(struct pci_dev *pdev,
 
        mt76_pci_disable_aspm(pdev);
 
-       if (id->device == 0x7916)
+       if (id->device == 0x7916 || id->device == 0x790a)
                return mt7915_pci_hif2_probe(pdev);
 
        ret = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES);
index 1168a6260ab8e1588c40688fe4cce22851cfb3fb..aa19e5940070dc7d9cc96ca4c7c30a2957681590 100644 (file)
@@ -741,7 +741,6 @@ enum offs_rev {
 #define MT_TOP_MISC_FW_STATE           GENMASK(2, 0)
 
 #define MT_HW_BOUND                    0x70010020
-#define MT_HW_CHIPID                   0x70010200
 #define MT_HW_REV                      0x70010204
 #define MT_WF_SUBSYS_RST               0x70002600