]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Add QCA vendor interface support to configure PHY modes
authorVamsi Krishna <vamsin@codeaurora.org>
Fri, 17 Apr 2020 11:30:34 +0000 (17:00 +0530)
committerJouni Malinen <j@w1.fi>
Wed, 20 May 2020 21:33:55 +0000 (00:33 +0300)
Add an attribute that can be used with
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION vendor command to
configure different PHY modes to the driver/firmware.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
src/common/qca-vendor.h

index e599b8d7ec8caf3073cdb8049799f85d084339ce..a6fbfa6607ae71b6524781e884bedfce061b2d89 100644 (file)
@@ -2120,6 +2120,14 @@ enum qca_wlan_vendor_attr_config {
         */
        QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON = 61,
 
+       /* 32-bit unsigned value to configure different PHY modes to the
+        * driver/firmware. The possible values are defined in
+        * enum qca_wlan_vendor_phy_mode. The configuration will be reset to
+        * default value, i.e., QCA_WLAN_VENDOR_PHY_MODE_AUTO upon restarting
+        * the driver.
+        */
+       QCA_WLAN_VENDOR_ATTR_CONFIG_PHY_MODE = 62,
+
        /* keep last */
        QCA_WLAN_VENDOR_ATTR_CONFIG_AFTER_LAST,
        QCA_WLAN_VENDOR_ATTR_CONFIG_MAX =
@@ -6847,6 +6855,72 @@ enum qca_wlan_vendor_attr_he_omi_tx {
        QCA_WLAN_VENDOR_ATTR_HE_OMI_AFTER_LAST - 1,
 };
 
+ /**
+  * enum qca_wlan_vendor_phy_mode - Different PHY modes
+  * These values are used with %QCA_WLAN_VENDOR_ATTR_CONFIG_PHY_MODE.
+  *
+  * @QCA_WLAN_VENDOR_PHY_MODE_AUTO: autoselect
+  * @QCA_WLAN_VENDOR_PHY_MODE_2G_AUTO: 2.4 GHz 802.11b/g/n/ax autoselect
+  * @QCA_WLAN_VENDOR_PHY_MODE_5G_AUTO: 5 GHz 802.11a/n/ac/ax autoselect
+  * @QCA_WLAN_VENDOR_PHY_MODE_11A: 5 GHz, OFDM
+  * @QCA_WLAN_VENDOR_PHY_MODE_11B: 2.4 GHz, CCK
+  * @QCA_WLAN_VENDOR_PHY_MODE_11G: 2.4 GHz, OFDM
+  * @QCA_WLAN_VENDOR_PHY_MODE_11AGN: Support 802.11n in both 2.4 GHz and 5 GHz
+  * @QCA_WLAN_VENDOR_PHY_MODE_11NG_HT20: 2.4 GHz, HT20
+  * @QCA_WLAN_VENDOR_PHY_MODE_11NG_HT40PLUS: 2.4 GHz, HT40 (ext ch +1)
+  * @QCA_WLAN_VENDOR_PHY_MODE_11NG_HT40MINUS: 2.4 GHz, HT40 (ext ch -1)
+  * @QCA_WLAN_VENDOR_PHY_MODE_11NG_HT40: 2.4 GHz, Auto HT40
+  * @QCA_WLAN_VENDOR_PHY_MODE_11NA_HT20: 5 GHz, HT20
+  * @QCA_WLAN_VENDOR_PHY_MODE_11NA_HT40PLUS: 5 GHz, HT40 (ext ch +1)
+  * @QCA_WLAN_VENDOR_PHY_MODE_11NA_HT40MINUS: 5 GHz, HT40 (ext ch -1)
+  * @QCA_WLAN_VENDOR_PHY_MODE_11NA_HT40: 5 GHz, Auto HT40
+  * @QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT20: 5 GHz, VHT20
+  * @QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT40PLUS: 5 GHz, VHT40 (Ext ch +1)
+  * @QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT40MINUS: 5 GHz VHT40 (Ext ch -1)
+  * @QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT40: 5 GHz, VHT40
+  * @QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT80: 5 GHz, VHT80
+  * @QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT80P80: 5 GHz, VHT80+80
+  * @QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT160: 5 GHz, VHT160
+  * @QCA_WLAN_VENDOR_PHY_MODE_11AX_HE20: HE20
+  * @QCA_WLAN_VENDOR_PHY_MODE_11AX_HE40: HE40
+  * @QCA_WLAN_VENDOR_PHY_MODE_11AX_HE40PLUS: HE40 (ext ch +1)
+  * @QCA_WLAN_VENDOR_PHY_MODE_11AX_HE40MINUS: HE40 (ext ch -1)
+  * @QCA_WLAN_VENDOR_PHY_MODE_11AX_HE80: HE80
+  * @QCA_WLAN_VENDOR_PHY_MODE_11AX_HE80P80: HE 80P80
+  * @QCA_WLAN_VENDOR_PHY_MODE_11AX_HE160: HE160
+  */
+enum qca_wlan_vendor_phy_mode {
+       QCA_WLAN_VENDOR_PHY_MODE_AUTO = 0,
+       QCA_WLAN_VENDOR_PHY_MODE_2G_AUTO = 1,
+       QCA_WLAN_VENDOR_PHY_MODE_5G_AUTO = 2,
+       QCA_WLAN_VENDOR_PHY_MODE_11A = 3,
+       QCA_WLAN_VENDOR_PHY_MODE_11B = 4,
+       QCA_WLAN_VENDOR_PHY_MODE_11G = 5,
+       QCA_WLAN_VENDOR_PHY_MODE_11AGN = 6,
+       QCA_WLAN_VENDOR_PHY_MODE_11NG_HT20 = 7,
+       QCA_WLAN_VENDOR_PHY_MODE_11NG_HT40PLUS = 8,
+       QCA_WLAN_VENDOR_PHY_MODE_11NG_HT40MINUS = 9,
+       QCA_WLAN_VENDOR_PHY_MODE_11NG_HT40 = 10,
+       QCA_WLAN_VENDOR_PHY_MODE_11NA_HT20 = 11,
+       QCA_WLAN_VENDOR_PHY_MODE_11NA_HT40PLUS = 12,
+       QCA_WLAN_VENDOR_PHY_MODE_11NA_HT40MINUS = 13,
+       QCA_WLAN_VENDOR_PHY_MODE_11NA_HT40 = 14,
+       QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT20 = 15,
+       QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT40PLUS = 16,
+       QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT40MINUS = 17,
+       QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT40 = 18,
+       QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT80 = 19,
+       QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT80P80 = 20,
+       QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT160 = 21,
+       QCA_WLAN_VENDOR_PHY_MODE_11AX_HE20 = 22,
+       QCA_WLAN_VENDOR_PHY_MODE_11AX_HE40 = 23,
+       QCA_WLAN_VENDOR_PHY_MODE_11AX_HE40PLUS = 24,
+       QCA_WLAN_VENDOR_PHY_MODE_11AX_HE40MINUS = 25,
+       QCA_WLAN_VENDOR_PHY_MODE_11AX_HE80 = 26,
+       QCA_WLAN_VENDOR_PHY_MODE_11AX_HE80P80 = 27,
+       QCA_WLAN_VENDOR_PHY_MODE_11AX_HE160 = 28,
+};
+
 /* Attributes for data used by
  * QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION
  */