mt76: mt7615: add support for MT7611N
authorDENG Qingfang <dqfext@gmail.com>
Sun, 24 May 2020 03:41:10 +0000 (11:41 +0800)
committerFelix Fietkau <nbd@nbd.name>
Thu, 28 May 2020 15:57:24 +0000 (17:57 +0200)
MT7611N is basically the same as MT7615N, except it only supports 5GHz
It is used by some TP-Link and Mercury wireless routers

Signed-off-by: DENG Qingfang <dqfext@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
drivers/net/wireless/mediatek/mt76/mt7615/pci.c

index 6a5ae04..edac37e 100644 (file)
@@ -111,6 +111,12 @@ mt7615_eeprom_parse_hw_band_cap(struct mt7615_dev *dev)
                return;
        }
 
+       if (is_mt7611(&dev->mt76)) {
+               /* 5GHz only */
+               dev->mt76.cap.has_5ghz = true;
+               return;
+       }
+
        val = FIELD_GET(MT_EE_NIC_WIFI_CONF_BAND_SEL,
                        eeprom[MT_EE_WIFI_CONF]);
        switch (val) {
@@ -310,6 +316,7 @@ static void mt7615_cal_free_data(struct mt7615_dev *dev)
                mt7622_apply_cal_free_data(dev);
                break;
        case 0x7615:
+       case 0x7611:
                mt7615_apply_cal_free_data(dev);
                break;
        }
index 170d3c2..d6176d3 100644 (file)
@@ -414,7 +414,7 @@ static inline bool is_mt7622(struct mt76_dev *dev)
 
 static inline bool is_mt7615(struct mt76_dev *dev)
 {
-       return mt76_chip(dev) == 0x7615;
+       return mt76_chip(dev) == 0x7615 || mt76_chip(dev) == 0x7611;
 }
 
 static inline bool is_mt7663(struct mt76_dev *dev)
@@ -422,6 +422,11 @@ static inline bool is_mt7663(struct mt76_dev *dev)
        return mt76_chip(dev) == 0x7663;
 }
 
+static inline bool is_mt7611(struct mt76_dev *dev)
+{
+       return mt76_chip(dev) == 0x7611;
+}
+
 static inline void mt7615_irq_enable(struct mt7615_dev *dev, u32 mask)
 {
        mt76_set_irq_mask(&dev->mt76, 0, 0, mask);
index 88ff145..b09d08d 100644 (file)
@@ -14,6 +14,7 @@
 static const struct pci_device_id mt7615_pci_device_table[] = {
        { PCI_DEVICE(0x14c3, 0x7615) },
        { PCI_DEVICE(0x14c3, 0x7663) },
+       { PCI_DEVICE(0x14c3, 0x7611) },
        { },
 };