1*828c91f7SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2277b024eSKalle Valo /*
3932183aaSGanapathi Bhat  * NXP Wireless LAN device driver: 802.11ac
4277b024eSKalle Valo  *
5932183aaSGanapathi Bhat  * Copyright 2011-2020 NXP
6277b024eSKalle Valo  */
7277b024eSKalle Valo 
8277b024eSKalle Valo #ifndef _MWIFIEX_11AC_H_
9277b024eSKalle Valo #define _MWIFIEX_11AC_H_
10277b024eSKalle Valo 
11277b024eSKalle Valo #define VHT_CFG_2GHZ BIT(0)
12277b024eSKalle Valo #define VHT_CFG_5GHZ BIT(1)
13277b024eSKalle Valo 
14277b024eSKalle Valo enum vht_cfg_misc_config {
15277b024eSKalle Valo 	VHT_CAP_TX_OPERATION = 1,
16277b024eSKalle Valo 	VHT_CAP_ASSOCIATION,
17277b024eSKalle Valo 	VHT_CAP_UAP_ONLY
18277b024eSKalle Valo };
19277b024eSKalle Valo 
20277b024eSKalle Valo #define DEFAULT_VHT_MCS_SET 0xfffa
21277b024eSKalle Valo #define DISABLE_VHT_MCS_SET 0xffff
22277b024eSKalle Valo 
23277b024eSKalle Valo #define VHT_BW_80_160_80P80 BIT(2)
24277b024eSKalle Valo 
25277b024eSKalle Valo int mwifiex_cmd_append_11ac_tlv(struct mwifiex_private *priv,
26277b024eSKalle Valo 				struct mwifiex_bssdescriptor *bss_desc,
27277b024eSKalle Valo 				u8 **buffer);
28277b024eSKalle Valo int mwifiex_cmd_11ac_cfg(struct mwifiex_private *priv,
29277b024eSKalle Valo 			 struct host_cmd_ds_command *cmd, u16 cmd_action,
30277b024eSKalle Valo 			 struct mwifiex_11ac_vht_cfg *cfg);
31277b024eSKalle Valo void mwifiex_fill_vht_cap_tlv(struct mwifiex_private *priv,
32277b024eSKalle Valo 			      struct ieee80211_vht_cap *vht_cap, u8 bands);
33277b024eSKalle Valo #endif /* _MWIFIEX_11AC_H_ */
34