xref: /linux/drivers/net/wireless/nxp/nxpwifi/11ac.h (revision 91ec2035134982b98fab0609a9fd8480e8217dc1)
1*73b01e57SJeff Chen /* SPDX-License-Identifier: GPL-2.0-only */
2*73b01e57SJeff Chen /*
3*73b01e57SJeff Chen  * nxpwifi: 802.11ac (VHT) definitions
4*73b01e57SJeff Chen  *
5*73b01e57SJeff Chen  * Copyright 2011-2024 NXP
6*73b01e57SJeff Chen  */
7*73b01e57SJeff Chen 
8*73b01e57SJeff Chen #ifndef _NXPWIFI_11AC_H_
9*73b01e57SJeff Chen #define _NXPWIFI_11AC_H_
10*73b01e57SJeff Chen 
11*73b01e57SJeff Chen #define VHT_CFG_2GHZ BIT(0)
12*73b01e57SJeff Chen #define VHT_CFG_5GHZ BIT(1)
13*73b01e57SJeff Chen 
14*73b01e57SJeff Chen enum vht_cfg_misc_config {
15*73b01e57SJeff Chen 	VHT_CAP_TX_OPERATION = 1,
16*73b01e57SJeff Chen 	VHT_CAP_ASSOCIATION,
17*73b01e57SJeff Chen 	VHT_CAP_UAP_ONLY
18*73b01e57SJeff Chen };
19*73b01e57SJeff Chen 
20*73b01e57SJeff Chen #define DEFAULT_VHT_MCS_SET 0xfffe
21*73b01e57SJeff Chen #define DISABLE_VHT_MCS_SET 0xffff
22*73b01e57SJeff Chen 
23*73b01e57SJeff Chen #define VHT_BW_80_160_80P80 BIT(2)
24*73b01e57SJeff Chen 
25*73b01e57SJeff Chen int nxpwifi_cmd_append_11ac_tlv(struct nxpwifi_private *priv,
26*73b01e57SJeff Chen 				struct nxpwifi_bssdescriptor *bss_desc,
27*73b01e57SJeff Chen 				u8 **buffer);
28*73b01e57SJeff Chen int nxpwifi_cmd_11ac_cfg(struct nxpwifi_private *priv,
29*73b01e57SJeff Chen 			 struct host_cmd_ds_command *cmd, u16 cmd_action,
30*73b01e57SJeff Chen 			 struct nxpwifi_11ac_vht_cfg *cfg);
31*73b01e57SJeff Chen void nxpwifi_fill_vht_cap_tlv(struct nxpwifi_private *priv,
32*73b01e57SJeff Chen 			      struct ieee80211_vht_cap *vht_cap, u16 bands);
33*73b01e57SJeff Chen #endif /* _NXPWIFI_11AC_H_ */
34