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
8enum 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
74void wcn36xx_firmware_set_feat_caps(u32 *bitmap,
75				    enum wcn36xx_firmware_feat_caps cap);
76int wcn36xx_firmware_get_feat_caps(u32 *bitmap,
77				   enum wcn36xx_firmware_feat_caps cap);
78void wcn36xx_firmware_clear_feat_caps(u32 *bitmap,
79				      enum wcn36xx_firmware_feat_caps cap);
80
81const char *wcn36xx_firmware_get_cap_name(enum wcn36xx_firmware_feat_caps x);
82
83#endif /* _FIRMWARE_H_ */
84
85