}
 EXPORT_SYMBOL_GPL(mt76_connac_get_phy_mode);
 
+u8 mt76_connac_get_phy_mode_ext(struct mt76_phy *phy, struct ieee80211_vif *vif,
+                               enum nl80211_band band)
+{
+       const struct ieee80211_sta_eht_cap *eht_cap;
+       struct ieee80211_supported_band *sband;
+       u8 mode = 0;
+
+       if (band == NL80211_BAND_6GHZ)
+               mode |= PHY_MODE_AX_6G;
+
+       sband = phy->hw->wiphy->bands[band];
+       eht_cap = ieee80211_get_eht_iftype_cap(sband, vif->type);
+
+       if (!eht_cap || !eht_cap->has_eht)
+               return mode;
+
+       switch (band) {
+       case NL80211_BAND_6GHZ:
+               mode |= PHY_MODE_BE_6G;
+               break;
+       case NL80211_BAND_5GHZ:
+               mode |= PHY_MODE_BE_5G;
+               break;
+       case NL80211_BAND_2GHZ:
+               mode |= PHY_MODE_BE_24G;
+               break;
+       default:
+               break;
+       }
+
+       return mode;
+}
+EXPORT_SYMBOL_GPL(mt76_connac_get_phy_mode_ext);
+
 const struct ieee80211_sta_he_cap *
 mt76_connac_get_he_phy_cap(struct mt76_phy *phy, struct ieee80211_vif *vif)
 {
 }
 EXPORT_SYMBOL_GPL(mt76_connac_get_he_phy_cap);
 
+const struct ieee80211_sta_eht_cap *
+mt76_connac_get_eht_phy_cap(struct mt76_phy *phy, struct ieee80211_vif *vif)
+{
+       enum nl80211_band band = phy->chandef.chan->band;
+       struct ieee80211_supported_band *sband;
+
+       sband = phy->hw->wiphy->bands[band];
+
+       return ieee80211_get_eht_iftype_cap(sband, vif->type);
+}
+EXPORT_SYMBOL_GPL(mt76_connac_get_eht_phy_cap);
+
 #define DEFAULT_HE_PE_DURATION         4
 #define DEFAULT_HE_DURATION_RTS_THRES  1023
 static void
 
 
 const struct ieee80211_sta_he_cap *
 mt76_connac_get_he_phy_cap(struct mt76_phy *phy, struct ieee80211_vif *vif);
+const struct ieee80211_sta_eht_cap *
+mt76_connac_get_eht_phy_cap(struct mt76_phy *phy, struct ieee80211_vif *vif);
 u8 mt76_connac_get_phy_mode(struct mt76_phy *phy, struct ieee80211_vif *vif,
                            enum nl80211_band band, struct ieee80211_sta *sta);
+u8 mt76_connac_get_phy_mode_ext(struct mt76_phy *phy, struct ieee80211_vif *vif,
+                               enum nl80211_band band);
 
 int mt76_connac_mcu_add_key(struct mt76_dev *dev, struct ieee80211_vif *vif,
                            struct mt76_connac_sta_key_conf *sta_key_conf,