xref: /wlan-driver/qcacld-3.0/components/mlme/dispatcher/inc/cfg_mlme_eht_caps.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
3*5113495bSYour Name  *
4*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
5*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
6*5113495bSYour Name  * above copyright notice and this permission notice appear in all
7*5113495bSYour Name  * copies.
8*5113495bSYour Name  *
9*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
17*5113495bSYour Name  */
18*5113495bSYour Name 
19*5113495bSYour Name /**
20*5113495bSYour Name  * DOC: This file contains centralized definitions of converged configuration.
21*5113495bSYour Name  */
22*5113495bSYour Name 
23*5113495bSYour Name #ifndef __CFG_MLME_EHT_CAPS_H
24*5113495bSYour Name #define __CFG_MLME_EHT_CAPS_H
25*5113495bSYour Name 
26*5113495bSYour Name /*
27*5113495bSYour Name  * <ini>
28*5113495bSYour Name  * eht_su_beamformer - Enable SU beamformer
29*5113495bSYour Name  * @Min: 0
30*5113495bSYour Name  * @Max: 1
31*5113495bSYour Name  * @Default: 0
32*5113495bSYour Name  *
33*5113495bSYour Name  * This ini is used to enable or disable SU beamformer
34*5113495bSYour Name  *
35*5113495bSYour Name  * Related: None
36*5113495bSYour Name  *
37*5113495bSYour Name  * Supported Feature: 11be
38*5113495bSYour Name  *
39*5113495bSYour Name  * Usage: Internal
40*5113495bSYour Name  *
41*5113495bSYour Name  * </ini>
42*5113495bSYour Name  */
43*5113495bSYour Name #define CFG_EHT_SU_BEAMFORMER CFG_BOOL( \
44*5113495bSYour Name 				"eht_su_beamformer", \
45*5113495bSYour Name 				0, \
46*5113495bSYour Name 				"EHT Su Beamformer")
47*5113495bSYour Name 
48*5113495bSYour Name /*
49*5113495bSYour Name  * <ini>
50*5113495bSYour Name  * eht_su_beamformee - Enable SU beamformee
51*5113495bSYour Name  * @Min: 0
52*5113495bSYour Name  * @Max: 1
53*5113495bSYour Name  * @Default: 0
54*5113495bSYour Name  *
55*5113495bSYour Name  * This ini is used to enable or disable SU beamformee
56*5113495bSYour Name  *
57*5113495bSYour Name  * Related: None
58*5113495bSYour Name  *
59*5113495bSYour Name  * Supported Feature: 11be
60*5113495bSYour Name  *
61*5113495bSYour Name  * Usage: Internal
62*5113495bSYour Name  *
63*5113495bSYour Name  * </ini>
64*5113495bSYour Name  */
65*5113495bSYour Name #define CFG_EHT_SU_BEAMFORMEE CFG_BOOL( \
66*5113495bSYour Name 				"eht_su_beamformee", \
67*5113495bSYour Name 				0, \
68*5113495bSYour Name 				"EHT Su Beamformee")
69*5113495bSYour Name 
70*5113495bSYour Name /*
71*5113495bSYour Name  * <ini>
72*5113495bSYour Name  * mu_bformer_le_80mhz - Enable MU beamformer for BW <= 80
73*5113495bSYour Name  * @Min: 0
74*5113495bSYour Name  * @Max: 1
75*5113495bSYour Name  * @Default: 0
76*5113495bSYour Name  *
77*5113495bSYour Name  * This ini is used to enable or disable MU beamformer for BW <= 80
78*5113495bSYour Name  *
79*5113495bSYour Name  * Related: None
80*5113495bSYour Name  *
81*5113495bSYour Name  * Supported Feature: 11be
82*5113495bSYour Name  *
83*5113495bSYour Name  * Usage: Internal
84*5113495bSYour Name  *
85*5113495bSYour Name  * </ini>
86*5113495bSYour Name  */
87*5113495bSYour Name #define CFG_EHT_MU_BFORMER_LE_80MHZ CFG_BOOL( \
88*5113495bSYour Name 				"mu_bformer_le_80mhz", \
89*5113495bSYour Name 				0, \
90*5113495bSYour Name 				"EHT MU Beamformer BW <= 80 MHz")
91*5113495bSYour Name 
92*5113495bSYour Name /*
93*5113495bSYour Name  * <ini>
94*5113495bSYour Name  * mu_bformer_160mhz - Enable MU beamformer for BW == 160
95*5113495bSYour Name  * @Min: 0
96*5113495bSYour Name  * @Max: 1
97*5113495bSYour Name  * @Default: 0
98*5113495bSYour Name  *
99*5113495bSYour Name  * This ini is used to enable or disable MU beamformer for BW == 160
100*5113495bSYour Name  *
101*5113495bSYour Name  * Related: None
102*5113495bSYour Name  *
103*5113495bSYour Name  * Supported Feature: 11be
104*5113495bSYour Name  *
105*5113495bSYour Name  * Usage: Internal
106*5113495bSYour Name  *
107*5113495bSYour Name  * </ini>
108*5113495bSYour Name  */
109*5113495bSYour Name #define CFG_EHT_MU_BFORMER_160MHZ CFG_BOOL( \
110*5113495bSYour Name 				"mu_bformer_160mhz", \
111*5113495bSYour Name 				0, \
112*5113495bSYour Name 				"EHT MU Beamformer BW = 160 MHz")
113*5113495bSYour Name 
114*5113495bSYour Name /*
115*5113495bSYour Name  * <ini>
116*5113495bSYour Name  * mu_bformer_320mhz - Enable MU beamformer for BW == 320
117*5113495bSYour Name  * @Min: 0
118*5113495bSYour Name  * @Max: 1
119*5113495bSYour Name  * @Default: 0
120*5113495bSYour Name  *
121*5113495bSYour Name  * This ini is used to enable or disable MU beamformer for BW == 320
122*5113495bSYour Name  *
123*5113495bSYour Name  * Related: None
124*5113495bSYour Name  *
125*5113495bSYour Name  * Supported Feature: 11be
126*5113495bSYour Name  *
127*5113495bSYour Name  * Usage: Internal
128*5113495bSYour Name  *
129*5113495bSYour Name  * </ini>
130*5113495bSYour Name  */
131*5113495bSYour Name #define CFG_EHT_MU_BFORMER_320MHZ CFG_BOOL( \
132*5113495bSYour Name 				"mu_bformer_320mhz", \
133*5113495bSYour Name 				0, \
134*5113495bSYour Name 				"EHT MU Beamformer BW = 320 MHz")
135*5113495bSYour Name 
136*5113495bSYour Name /*
137*5113495bSYour Name  * <ini>
138*5113495bSYour Name  * eht_bfee_ss_le_80mhz - For a PPDU bandwidth less than or equal to 80 MHz,
139*5113495bSYour Name  *                        indicates the maximum number of spatial streams that
140*5113495bSYour Name  *                        the STA can receive in an EHT sounding NDP.
141*5113495bSYour Name  * @Min: 0
142*5113495bSYour Name  * @Max: 7
143*5113495bSYour Name  * @Default: 0
144*5113495bSYour Name  *
145*5113495bSYour Name  * If the SU Beamformee subfield is 1, set to the maximum number of spatial
146*5113495bSYour Name  * streams that the STA is capable of receiving in an EHT sounding NDP minus 1.
147*5113495bSYour Name  * The minimum value of this field is 3.
148*5113495bSYour Name  * Reserved if the SU Beamformee field is 0.
149*5113495bSYour Name  *
150*5113495bSYour Name  * Related: NA
151*5113495bSYour Name  *
152*5113495bSYour Name  * Supported Feature: 11be
153*5113495bSYour Name  *
154*5113495bSYour Name  * Usage: Internal
155*5113495bSYour Name  *
156*5113495bSYour Name  * </ini>
157*5113495bSYour Name  */
158*5113495bSYour Name #define CFG_EHT_BFEE_SS_LE_80MHZ CFG_UINT( \
159*5113495bSYour Name 				"eht_bfee_ss_le_80mhz", \
160*5113495bSYour Name 				3, \
161*5113495bSYour Name 				7, \
162*5113495bSYour Name 				3, \
163*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
164*5113495bSYour Name 				"EHT Beamformee SS <= 80 MHz")
165*5113495bSYour Name 
166*5113495bSYour Name /*
167*5113495bSYour Name  * <ini>
168*5113495bSYour Name  * eht_bfee_ss_160mhz - For a PPDU bandwidth of 160 MHz, indicates the
169*5113495bSYour Name  *                      maximum number of spatial streams that the STA
170*5113495bSYour Name  *                      can receive in an EHT sounding NDP.
171*5113495bSYour Name  * @Min: 0
172*5113495bSYour Name  * @Max: 7
173*5113495bSYour Name  * @Default: 0
174*5113495bSYour Name  *
175*5113495bSYour Name  * If the SU Beamformee subfield is 1, set to the maximum number of spatial
176*5113495bSYour Name  * streams that the STA is capable of receiving in an EHT sounding NDP minus 1.
177*5113495bSYour Name  * The minimum value of this field is 3.
178*5113495bSYour Name  * Reserved if the SU Beamformee field is 0.
179*5113495bSYour Name  *
180*5113495bSYour Name  * Related: NA
181*5113495bSYour Name  *
182*5113495bSYour Name  * Supported Feature: 11be
183*5113495bSYour Name  *
184*5113495bSYour Name  * Usage: Internal
185*5113495bSYour Name  *
186*5113495bSYour Name  * </ini>
187*5113495bSYour Name  */
188*5113495bSYour Name #define CFG_EHT_BFEE_SS_160MHZ CFG_UINT( \
189*5113495bSYour Name 				"eht_bfee_ss_160mhz", \
190*5113495bSYour Name 				3, \
191*5113495bSYour Name 				7, \
192*5113495bSYour Name 				3, \
193*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
194*5113495bSYour Name 				"EHT Beamformee SS = 160 MHz")
195*5113495bSYour Name 
196*5113495bSYour Name /*
197*5113495bSYour Name  * <ini>
198*5113495bSYour Name  * eht_bfee_ss_320mhz - For a PPDU bandwidth of 320 MHz, indicates the
199*5113495bSYour Name  *                      maximum number of spatial streams that the STA
200*5113495bSYour Name  *                      can receive in an EHT sounding NDP.
201*5113495bSYour Name  * @Min: 0
202*5113495bSYour Name  * @Max: 7
203*5113495bSYour Name  * @Default: 0
204*5113495bSYour Name  *
205*5113495bSYour Name  * If the SU Beamformee subfield is 1, set to the maximum number of spatial
206*5113495bSYour Name  * streams that the STA is capable of receiving in an EHT sounding NDP minus 1.
207*5113495bSYour Name  * The minimum value of this field is 3.
208*5113495bSYour Name  * Reserved if the SU Beamformee field is 0.
209*5113495bSYour Name  *
210*5113495bSYour Name  * Related: NA
211*5113495bSYour Name  *
212*5113495bSYour Name  * Supported Feature: 11be
213*5113495bSYour Name  *
214*5113495bSYour Name  * Usage: Internal
215*5113495bSYour Name  *
216*5113495bSYour Name  * </ini>
217*5113495bSYour Name  */
218*5113495bSYour Name #define CFG_EHT_BFEE_SS_320MHZ CFG_UINT( \
219*5113495bSYour Name 				"eht_bfee_ss_320mhz", \
220*5113495bSYour Name 				3, \
221*5113495bSYour Name 				7, \
222*5113495bSYour Name 				3, \
223*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
224*5113495bSYour Name 				"EHT Beamformee SS = 320 MHz")
225*5113495bSYour Name 
226*5113495bSYour Name /*
227*5113495bSYour Name  * <ini>
228*5113495bSYour Name  * eht_num_sounding_dim_le_80mhz - For bandwidth less than or equal to 80 MHz,
229*5113495bSYour Name  *                                 indicates the beamformer's capability
230*5113495bSYour Name  *                                 indicating the maximum value of the TXVECTOR
231*5113495bSYour Name  *                                 parameter NUM_STS for an EHT sounding NDP
232*5113495bSYour Name  * @Min: 0
233*5113495bSYour Name  * @Max: 7
234*5113495bSYour Name  * @Default: 0
235*5113495bSYour Name  *
236*5113495bSYour Name  * If the SU Beamformer subfield is 1, set to the supported maximum
237*5113495bSYour Name  * TXVECTOR parameter NUM_STS value minus 1.
238*5113495bSYour Name  * Reserved if the SU Beamformer subfield is 0.
239*5113495bSYour Name  *
240*5113495bSYour Name  * Related: NA
241*5113495bSYour Name  *
242*5113495bSYour Name  * Supported Feature: 11be
243*5113495bSYour Name  *
244*5113495bSYour Name  * Usage: Internal
245*5113495bSYour Name  *
246*5113495bSYour Name  * </ini>
247*5113495bSYour Name  */
248*5113495bSYour Name #define CFG_EHT_NUM_SOUNDING_DIM_LE_80MHZ CFG_UINT( \
249*5113495bSYour Name 				"eht_num_sounding_dim_le_80mhz", \
250*5113495bSYour Name 				0, \
251*5113495bSYour Name 				7, \
252*5113495bSYour Name 				0, \
253*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
254*5113495bSYour Name 				"EHT Number Of Sounding Dimensions <= 80 MHz")
255*5113495bSYour Name 
256*5113495bSYour Name /*
257*5113495bSYour Name  * <ini>
258*5113495bSYour Name  * eht_num_sounding_dim_160mhz - For bandwidth of 160 MHz, indicates the
259*5113495bSYour Name  *                               beamformer's capability indicating the
260*5113495bSYour Name  *                               maximum value of the TXVECTOR parameter
261*5113495bSYour Name  *                               NUM_STS for an EHT sounding NDP
262*5113495bSYour Name  * @Min: 0
263*5113495bSYour Name  * @Max: 7
264*5113495bSYour Name  * @Default: 0
265*5113495bSYour Name  *
266*5113495bSYour Name  * If the SU Beamformer subfield is 1, set to the supported maximum
267*5113495bSYour Name  * TXVECTOR parameter NUM_STS value minus 1.
268*5113495bSYour Name  * Reserved if the SU Beamformer subfield is 0 or the Supported Channel
269*5113495bSYour Name  * Width Set field does not indicate support for bandwidth of 160 MHz.
270*5113495bSYour Name  *
271*5113495bSYour Name  * Related: NA
272*5113495bSYour Name  *
273*5113495bSYour Name  * Supported Feature: 11be
274*5113495bSYour Name  *
275*5113495bSYour Name  * Usage: Internal
276*5113495bSYour Name  *
277*5113495bSYour Name  * </ini>
278*5113495bSYour Name  */
279*5113495bSYour Name #define CFG_EHT_NUM_SOUNDING_DIM_160MHZ CFG_UINT( \
280*5113495bSYour Name 				"eht_num_sounding_dim_160mhz", \
281*5113495bSYour Name 				0, \
282*5113495bSYour Name 				7, \
283*5113495bSYour Name 				0, \
284*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
285*5113495bSYour Name 				"EHT Number Of Sounding Dimensions = 160 MHz")
286*5113495bSYour Name 
287*5113495bSYour Name /*
288*5113495bSYour Name  * <ini>
289*5113495bSYour Name  * eht_num_sounding_dim_320mhz - For bandwidth of 320 MHz, indicates the
290*5113495bSYour Name  *                               beamformer's capability indicating the
291*5113495bSYour Name  *                               maximum value of the TXVECTOR parameter
292*5113495bSYour Name  *                               NUM_STS for an EHT sounding NDP
293*5113495bSYour Name  * @Min: 0
294*5113495bSYour Name  * @Max: 7
295*5113495bSYour Name  * @Default: 0
296*5113495bSYour Name  *
297*5113495bSYour Name  * If the SU Beamformer subfield is 1, set to the supported maximum
298*5113495bSYour Name  * TXVECTOR parameter NUM_STS value minus 1.
299*5113495bSYour Name  * Reserved if the SU Beamformer subfield is 0 or the Supported Channel
300*5113495bSYour Name  * Width Set field does not indicate support for bandwidth of 320 MHz.
301*5113495bSYour Name  *
302*5113495bSYour Name  * Related: NA
303*5113495bSYour Name  *
304*5113495bSYour Name  * Supported Feature: 11be
305*5113495bSYour Name  *
306*5113495bSYour Name  * Usage: Internal
307*5113495bSYour Name  *
308*5113495bSYour Name  * </ini>
309*5113495bSYour Name  */
310*5113495bSYour Name #define CFG_EHT_NUM_SOUNDING_DIM_320MHZ CFG_UINT( \
311*5113495bSYour Name 				"eht_num_sounding_dim_320mhz", \
312*5113495bSYour Name 				0, \
313*5113495bSYour Name 				7, \
314*5113495bSYour Name 				0, \
315*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
316*5113495bSYour Name 				"EHT Number Of Sounding Dimensions = 320 MHz")
317*5113495bSYour Name 
318*5113495bSYour Name #define CFG_EHT_CAPS_ALL \
319*5113495bSYour Name 	CFG(CFG_EHT_SU_BEAMFORMER) \
320*5113495bSYour Name 	CFG(CFG_EHT_SU_BEAMFORMEE) \
321*5113495bSYour Name 	CFG(CFG_EHT_MU_BFORMER_LE_80MHZ) \
322*5113495bSYour Name 	CFG(CFG_EHT_MU_BFORMER_160MHZ) \
323*5113495bSYour Name 	CFG(CFG_EHT_MU_BFORMER_320MHZ) \
324*5113495bSYour Name 	CFG(CFG_EHT_BFEE_SS_LE_80MHZ) \
325*5113495bSYour Name 	CFG(CFG_EHT_BFEE_SS_160MHZ) \
326*5113495bSYour Name 	CFG(CFG_EHT_BFEE_SS_320MHZ) \
327*5113495bSYour Name 	CFG(CFG_EHT_NUM_SOUNDING_DIM_LE_80MHZ) \
328*5113495bSYour Name 	CFG(CFG_EHT_NUM_SOUNDING_DIM_160MHZ) \
329*5113495bSYour Name 	CFG(CFG_EHT_NUM_SOUNDING_DIM_320MHZ)
330*5113495bSYour Name 
331*5113495bSYour Name #endif /* __CFG_MLME_EHT_CAPS_H */
332*5113495bSYour Name 
333