]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: mt76: mt7996: add eeprom support for mt7990
authorStanleyYP Wang <StanleyYP.Wang@mediatek.com>
Wed, 9 Apr 2025 14:07:46 +0000 (22:07 +0800)
committerFelix Fietkau <nbd@nbd.name>
Wed, 21 May 2025 12:49:37 +0000 (14:49 +0200)
Add eeprom definition and default bin file for mt7990.
This is a preliminary patch to support mt7990 chipset.

Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Link: https://patch.msgid.link/20250409140750.724437-7-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
drivers/net/wireless/mediatek/mt76/mt7996/init.c
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h

index 51b09956486bf3754dc1ff8ceaea4668872ea978..6f3eb053ef02125b0cb9613ecf61c54b7aa80432 100644 (file)
@@ -17,6 +17,8 @@ static int mt7996_check_eeprom(struct mt7996_dev *dev)
                return is_mt7996(&dev->mt76) ? 0 : -EINVAL;
        case MT7992_DEVICE_ID:
                return is_mt7992(&dev->mt76) ? 0 : -EINVAL;
+       case MT7990_DEVICE_ID:
+               return is_mt7990(&dev->mt76) ? 0 : -EINVAL;
        default:
                return -EINVAL;
        }
@@ -39,6 +41,10 @@ static char *mt7996_eeprom_name(struct mt7996_dev *dev)
                                return MT7992_EEPROM_DEFAULT_MIX;
                        return MT7992_EEPROM_DEFAULT;
                }
+       case MT7990_DEVICE_ID:
+               if (dev->var.fem == MT7996_FEM_INT)
+                       return MT7990_EEPROM_DEFAULT_INT;
+               return MT7990_EEPROM_DEFAULT;
        case MT7996_DEVICE_ID:
        default:
                switch (dev->var.type) {
index f017d30e1c499d2b72433995137df84c31763c2f..a4c2986fcffd094e7d0a911544c3dfe172523d38 100644 (file)
@@ -943,6 +943,9 @@ static int mt7996_variant_type_init(struct mt7996_dev *dev)
                else
                        return -EINVAL;
                break;
+       case MT7990_DEVICE_ID:
+               var_type = MT7990_VAR_TYPE_23;
+               break;
        default:
                return -EINVAL;
        }
index 148271fcd88f4e004d1e3e0b982fa9396af869eb..2dd33f303a065401818af867d01259ecbe14bf05 100644 (file)
@@ -73,6 +73,9 @@
 #define MT7992_EEPROM_DEFAULT_23       "mediatek/mt7996/mt7992_eeprom_23.bin"
 #define MT7992_EEPROM_DEFAULT_23_INT   "mediatek/mt7996/mt7992_eeprom_23_2i5i.bin"
 
+#define MT7990_EEPROM_DEFAULT          "mediatek/mt7996/mt7990_eeprom.bin"
+#define MT7990_EEPROM_DEFAULT_INT      "mediatek/mt7996/mt7990_eeprom_2i5i.bin"
+
 #define MT7996_EEPROM_SIZE             7680
 #define MT7996_EEPROM_BLOCK_SIZE       16
 #define MT7996_TOKEN_SIZE              16384
@@ -143,6 +146,10 @@ enum mt7992_var_type {
        MT7992_VAR_TYPE_23,
 };
 
+enum mt7990_var_type {
+       MT7990_VAR_TYPE_23,
+};
+
 enum mt7996_fem_type {
        MT7996_FEM_EXT,
        MT7996_FEM_INT,