xref: /aosp_15_r20/external/wpa_supplicant_8/src/common/brcm_vendor.h (revision 03f9172ca588f91df233974f4258bab95191f931)
1 /*
2  * Broadcom Corporation OUI and vendor specific assignments
3  * Copyright (c) 2020, Broadcom Corporation.
4  *
5  * This software may be distributed under the terms of the BSD license.
6  * See README for more details.
7  */
8 
9 #ifndef BRCM_VENDOR_H
10 #define BRCM_VENDOR_H
11 
12 /*
13  * This file is a registry of identifier assignments from the Broadcom
14  * OUI 00:10:18 for purposes other than MAC address assignment. New identifiers
15  * can be assigned through normal review process for changes to the upstream
16  * hostap.git repository.
17  */
18 
19 #define OUI_BRCM    0x001018
20 
21 /**
22  * enum brcm_nl80211_vendor_subcmds - BRCM nl80211 vendor command identifiers
23  *
24  * @BRCM_VENDOR_SCMD_UNSPEC: Reserved value 0
25  *
26  * @BRCM_VENDOR_SCMD_PRIV_STR: Provide vendor private cmds to send to FW.
27  *
28  * @BRCM_VENDOR_SCMD_BCM_STR:  Provide vendor cmds to BCMDHD driver.
29  *
30  * @BRCM_VENDOR_SCMD_BCM_PSK: Used to set SAE password.
31  *
32  * @BRCM_VENDOR_SCMD_SET_PMK: Command to check driver support
33  *	for DFS offloading.
34  *
35  * @BRCM_VENDOR_SCMD_GET_FEATURES: Command to get the features
36  *      supported by the driver.
37  *
38  * @BRCM_VENDOR_SCMD_SET_MAC: Set random mac address for P2P interface.
39  *
40  * @BRCM_VENDOR_SCMD_SET_CONNECT_PARAMS: Set some connect parameters.
41  *      Used for the case that FW handle SAE.
42  *
43  * @BRCM_VENDOR_SCMD_SET_START_AP_PARAMS: Set SoftAP parameters.
44  *      Used for the case that FW handle SAE.
45  *
46  * @BRCM_VENDOR_SCMD_ACS: ACS command/event which is used to
47  *	invoke the ACS function in device and pass selected channels to
48  *	hostapd. Uses enum qca_wlan_vendor_attr_acs_offload attributes.
49  *
50  * @BRCM_VENDOR_SCMD_MAX: This acts as a tail of cmds list.
51  *      Make sure it is located at the end of the list.
52  *
53  */
54 enum brcm_nl80211_vendor_subcmds {
55 	BRCM_VENDOR_SCMD_UNSPEC			= 0,
56 	BRCM_VENDOR_SCMD_PRIV_STR		= 1,
57 	BRCM_VENDOR_SCMD_BCM_STR		= 2,
58 	BRCM_VENDOR_SCMD_BCM_PSK		= 3,
59 	BRCM_VENDOR_SCMD_SET_PMK		= 4,
60 	BRCM_VENDOR_SCMD_GET_FEATURES		= 5,
61 	BRCM_VENDOR_SCMD_SET_MAC		= 6,
62 	BRCM_VENDOR_SCMD_SET_CONNECT_PARAMS	= 7,
63 	BRCM_VENDOR_SCMD_SET_START_AP_PARAMS	= 8,
64 	BRCM_VENDOR_SCMD_ACS			= 9,
65 	BRCM_VENDOR_SCMD_SET_TD_POLICY		= 10,
66 	BRCM_VENDOR_SCMD_MAX			= 11
67 };
68 
69 /**
70  * enum brcm_nl80211_vendor_events - BRCM nl80211 asynchronous event identifiers
71  *
72  * @BRCM_VENDOR_EVENT_UNSPEC: Reserved value 0
73  *
74  * @BRCM_VENDOR_EVENT_PRIV_STR: String command/event
75  */
76 enum brcm_nl80211_vendor_events {
77 	BRCM_VENDOR_EVENT_UNSPEC		= 0,
78 	BRCM_VENDOR_EVENT_PRIV_STR		= 1,
79 	GOOGLE_GSCAN_SIGNIFICANT_EVENT		= 2,
80 	GOOGLE_GSCAN_GEOFENCE_FOUND_EVENT	= 3,
81 	GOOGLE_GSCAN_BATCH_SCAN_EVENT		= 4,
82 	GOOGLE_SCAN_FULL_RESULTS_EVENT		= 5,
83 	GOOGLE_RTT_COMPLETE_EVENT		= 6,
84 	GOOGLE_SCAN_COMPLETE_EVENT		= 7,
85 	GOOGLE_GSCAN_GEOFENCE_LOST_EVENT	= 8,
86 	GOOGLE_SCAN_EPNO_EVENT			= 9,
87 	GOOGLE_DEBUG_RING_EVENT			= 10,
88 	GOOGLE_FW_DUMP_EVENT			= 11,
89 	GOOGLE_PNO_HOTSPOT_FOUND_EVENT		= 12,
90 	GOOGLE_RSSI_MONITOR_EVENT		= 13,
91 	GOOGLE_MKEEP_ALIVE_EVENT		= 14,
92 
93 	/*
94 	 * BRCM specific events should be placed after
95 	 * the Generic events so that enums don't mismatch
96 	 * between the DHD and HAL
97 	 */
98 	GOOGLE_NAN_EVENT_ENABLED		= 15,
99 	GOOGLE_NAN_EVENT_DISABLED		= 16,
100 	GOOGLE_NAN_EVENT_SUBSCRIBE_MATCH	= 17,
101 	GOOGLE_NAN_EVENT_REPLIED		= 18,
102 	GOOGLE_NAN_EVENT_PUBLISH_TERMINATED	= 19,
103 	GOOGLE_NAN_EVENT_SUBSCRIBE_TERMINATED	= 20,
104 	GOOGLE_NAN_EVENT_DE_EVENT		= 21,
105 	GOOGLE_NAN_EVENT_FOLLOWUP		= 22,
106 	GOOGLE_NAN_EVENT_TRANSMIT_FOLLOWUP_IND	= 23,
107 	GOOGLE_NAN_EVENT_DATA_REQUEST		= 24,
108 	GOOGLE_NAN_EVENT_DATA_CONFIRMATION	= 25,
109 	GOOGLE_NAN_EVENT_DATA_END		= 26,
110 	GOOGLE_NAN_EVENT_BEACON			= 27,
111 	GOOGLE_NAN_EVENT_SDF			= 28,
112 	GOOGLE_NAN_EVENT_TCA			= 29,
113 	GOOGLE_NAN_EVENT_SUBSCRIBE_UNMATCH	= 30,
114 	GOOGLE_NAN_EVENT_UNKNOWN		= 31,
115 	GOOGLE_ROAM_EVENT_START			= 32,
116 	BRCM_VENDOR_EVENT_HANGED                = 33,
117 	BRCM_VENDOR_EVENT_SAE_KEY               = 34,
118 	BRCM_VENDOR_EVENT_BEACON_RECV           = 35,
119 	BRCM_VENDOR_EVENT_PORT_AUTHORIZED       = 36,
120 	GOOGLE_FILE_DUMP_EVENT			= 37,
121 	BRCM_VENDOR_EVENT_CU			= 38,
122 	BRCM_VENDOR_EVENT_WIPS			= 39,
123 	NAN_ASYNC_RESPONSE_DISABLED		= 40,
124 	BRCM_VENDOR_EVENT_RCC_INFO		= 41,
125 	BRCM_VENDOR_EVENT_ACS			= 42,
126 	BRCM_VENDOR_EVENT_LAST
127 
128 };
129 
130 #ifdef CONFIG_BRCM_SAE
131 enum wifi_sae_key_attr {
132 	BRCM_SAE_KEY_ATTR_BSSID,
133 	BRCM_SAE_KEY_ATTR_PMK,
134 	BRCM_SAE_KEY_ATTR_PMKID
135 };
136 #endif /* CONFIG_BRCM_SAE */
137 
138 enum wl_vendor_attr_acs_offload {
139 	BRCM_VENDOR_ATTR_ACS_CHANNEL_INVALID = 0,
140 	BRCM_VENDOR_ATTR_ACS_PRIMARY_FREQ,
141 	BRCM_VENDOR_ATTR_ACS_SECONDARY_FREQ,
142 	BRCM_VENDOR_ATTR_ACS_VHT_SEG0_CENTER_CHANNEL,
143 	BRCM_VENDOR_ATTR_ACS_VHT_SEG1_CENTER_CHANNEL,
144 
145 	BRCM_VENDOR_ATTR_ACS_HW_MODE,
146 	BRCM_VENDOR_ATTR_ACS_HT_ENABLED,
147 	BRCM_VENDOR_ATTR_ACS_HT40_ENABLED,
148 	BRCM_VENDOR_ATTR_ACS_VHT_ENABLED,
149 	BRCM_VENDOR_ATTR_ACS_CHWIDTH,
150 	BRCM_VENDOR_ATTR_ACS_CH_LIST,
151 	BRCM_VENDOR_ATTR_ACS_FREQ_LIST,
152 
153 	BRCM_VENDOR_ATTR_ACS_LAST
154 };
155 
156 enum brcm_wlan_vendor_attr {
157 	BRCM_ATTR_DRIVER_CMD            = 0,
158 	BRCM_ATTR_DRIVER_KEY_PMK        = 1,
159 	BRCM_ATTR_DRIVER_MAC_ADDR	= 3,
160 	BRCM_ATTR_DRIVER_TD_POLICY	= 5,
161 	BRCM_ATTR_DRIVER_AFTER_LAST     = 6,
162 	BRCM_ATTR_DRIVER_MAX            = BRCM_ATTR_DRIVER_AFTER_LAST - 1,
163 };
164 #endif /* BRCM_VENDOR_H */
165 
166