extern const struct wiphy_wowlan_support mt76_connac_wowlan_support;
 
+static inline bool is_mt7925(struct mt76_dev *dev)
+{
+       return mt76_chip(dev) == 0x7925;
+}
+
 static inline bool is_mt7922(struct mt76_dev *dev)
 {
        return mt76_chip(dev) == 0x7922;
        switch (mt76_chip(dev)) {
        case 0x7961:
        case 0x7922:
+       case 0x7925:
        case 0x7663:
        case 0x7622:
                return false;
 
 
        txp->msdu_id[0] = cpu_to_le16(id | MT_MSDU_ID_VALID);
 
-       if (is_mt7663(dev) || is_mt7921(dev))
+       if (is_mt7663(dev) || is_mt7921(dev) || is_mt7925(dev))
                last_mask = MT_TXD_LEN_LAST;
        else
                last_mask = MT_TXD_LEN_AMSDU_LAST |
        u32 last_mask;
        int i;
 
-       if (is_mt7663(dev) || is_mt7921(dev))
+       if (is_mt7663(dev) || is_mt7921(dev) || is_mt7925(dev))
                last_mask = MT_TXD_LEN_LAST;
        else
                last_mask = MT_TXD_LEN_MSDU_LAST;
 
 
        if ((!is_connac_v1(dev) && addr == MCU_PATCH_ADDRESS) ||
            (is_mt7921(dev) && addr == 0x900000) ||
+           (is_mt7925(dev) && addr == 0x900000) ||
            (is_mt7996(dev) && addr == 0x900000))
                cmd = MCU_CMD(PATCH_START_REQ);
        else
 {
        u32 mode = DL_MODE_NEED_RSP;
 
-       if (!is_mt7921(dev) || info == PATCH_SEC_NOT_SUPPORT)
+       if ((!is_mt7921(dev) && !is_mt7925(dev)) || info == PATCH_SEC_NOT_SUPPORT)
                return mode;
 
        switch (FIELD_GET(PATCH_SEC_ENC_TYPE_MASK, info)) {
 
 
        ret |= feature_set & FW_FEATURE_SET_ENCRYPT ?
               DL_MODE_ENCRYPT | DL_MODE_RESET_SEC_IV : 0;
-       if (is_mt7921(dev))
+       if (is_mt7921(dev) || is_mt7925(dev))
                ret |= feature_set & FW_FEATURE_ENCRY_MODE ?
                       DL_CONFIG_ENCRY_MODE_SEL : 0;
        ret |= FIELD_PREP(DL_MODE_KEY_IDX,