1  /* SPDX-License-Identifier: GPL-2.0-only */
2  
3  #ifndef _FIRMWARE_H_
4  #define _FIRMWARE_H_
5  
6  /* Capability bitmap exchange definitions and macros starts */
7  
8  enum wcn36xx_firmware_feat_caps {
9  	MCC = 0,
10  	P2P = 1,
11  	DOT11AC = 2,
12  	SLM_SESSIONIZATION = 3,
13  	DOT11AC_OPMODE = 4,
14  	SAP32STA = 5,
15  	TDLS = 6,
16  	P2P_GO_NOA_DECOUPLE_INIT_SCAN = 7,
17  	WLANACTIVE_OFFLOAD = 8,
18  	BEACON_OFFLOAD = 9,
19  	SCAN_OFFLOAD = 10,
20  	ROAM_OFFLOAD = 11,
21  	BCN_MISS_OFFLOAD = 12,
22  	STA_POWERSAVE = 13,
23  	STA_ADVANCED_PWRSAVE = 14,
24  	AP_UAPSD = 15,
25  	AP_DFS = 16,
26  	BLOCKACK = 17,
27  	PHY_ERR = 18,
28  	BCN_FILTER = 19,
29  	RTT = 20,
30  	RATECTRL = 21,
31  	WOW = 22,
32  	WLAN_ROAM_SCAN_OFFLOAD = 23,
33  	SPECULATIVE_PS_POLL = 24,
34  	SCAN_SCH = 25,
35  	IBSS_HEARTBEAT_OFFLOAD = 26,
36  	WLAN_SCAN_OFFLOAD = 27,
37  	WLAN_PERIODIC_TX_PTRN = 28,
38  	ADVANCE_TDLS = 29,
39  	BATCH_SCAN = 30,
40  	FW_IN_TX_PATH = 31,
41  	EXTENDED_NSOFFLOAD_SLOT = 32,
42  	CH_SWITCH_V1 = 33,
43  	HT40_OBSS_SCAN = 34,
44  	UPDATE_CHANNEL_LIST = 35,
45  	WLAN_MCADDR_FLT = 36,
46  	WLAN_CH144 = 37,
47  	NAN = 38,
48  	TDLS_SCAN_COEXISTENCE = 39,
49  	LINK_LAYER_STATS_MEAS = 40,
50  	MU_MIMO = 41,
51  	EXTENDED_SCAN = 42,
52  	DYNAMIC_WMM_PS = 43,
53  	MAC_SPOOFED_SCAN = 44,
54  	BMU_ERROR_GENERIC_RECOVERY = 45,
55  	DISA = 46,
56  	FW_STATS = 47,
57  	WPS_PRBRSP_TMPL = 48,
58  	BCN_IE_FLT_DELTA = 49,
59  	TDLS_OFF_CHANNEL = 51,
60  	RTT3 = 52,
61  	MGMT_FRAME_LOGGING = 53,
62  	ENHANCED_TXBD_COMPLETION = 54,
63  	LOGGING_ENHANCEMENT = 55,
64  	EXT_SCAN_ENHANCED = 56,
65  	MEMORY_DUMP_SUPPORTED = 57,
66  	PER_PKT_STATS_SUPPORTED = 58,
67  	EXT_LL_STAT = 60,
68  	WIFI_CONFIG = 61,
69  	ANTENNA_DIVERSITY_SELECTION = 62,
70  
71  	MAX_FEATURE_SUPPORTED = 128,
72  };
73  
74  void wcn36xx_firmware_set_feat_caps(u32 *bitmap,
75  				    enum wcn36xx_firmware_feat_caps cap);
76  int wcn36xx_firmware_get_feat_caps(u32 *bitmap,
77  				   enum wcn36xx_firmware_feat_caps cap);
78  void wcn36xx_firmware_clear_feat_caps(u32 *bitmap,
79  				      enum wcn36xx_firmware_feat_caps cap);
80  
81  const char *wcn36xx_firmware_get_cap_name(enum wcn36xx_firmware_feat_caps x);
82  
83  #endif /* _FIRMWARE_H_ */
84  
85