xref: /wlan-dirver/qca-wifi-host-cmn/target_if/init_deinit/inc/service_ready_param.h (revision 8cfe6b10058a04cafb17eed051f2ddf11bee8931)
1 /*
2  * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
3  * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
4  *
5  * Permission to use, copy, modify, and/or distribute this software for
6  * any purpose with or without fee is hereby granted, provided that the
7  * above copyright notice and this permission notice appear in all
8  * copies.
9  *
10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17  * PERFORMANCE OF THIS SOFTWARE.
18  */
19 /**
20  * DOC: service_ready_param.h
21  *
22  * Public structures to access (ext)service ready data
23  */
24 #ifndef _SERVICE_READY_PARAM_H_
25 #define _SERVICE_READY_PARAM_H_
26 
27 #include "qdf_types.h"
28 #ifdef WLAN_SUPPORT_RF_CHARACTERIZATION
29 #include "wmi_unified_param.h"
30 #endif
31 #ifdef WLAN_FEATURE_11BE_MLO
32 #include "wlan_mlo_mgr_public_structs.h"
33 #endif
34 
35 
36 /**
37  * struct wlan_psoc_hal_reg_capability - hal reg table in psoc
38  * @eeprom_rd: regdomain value specified in EEPROM
39  * @eeprom_rd_ext: regdomain
40  * @regcap1: CAP1 capabilities bit map
41  * @regcap2: REGDMN EEPROM CAP
42  * @wireless_modes: REGDMN MODE
43  * @low_2ghz_chan: lower 2.4GHz channels
44  * @high_2ghz_chan: higher 2.4 GHz channels
45  * @low_5ghz_chan: lower 5 GHz channels
46  * @high_5ghz_chan: higher 5 GHz channels
47  */
48 struct wlan_psoc_hal_reg_capability {
49 	uint32_t eeprom_rd;
50 	uint32_t eeprom_rd_ext;
51 	uint32_t regcap1;
52 	uint32_t regcap2;
53 	uint32_t wireless_modes;
54 	uint32_t low_2ghz_chan;
55 	uint32_t high_2ghz_chan;
56 	uint32_t low_5ghz_chan;
57 	uint32_t high_5ghz_chan;
58 };
59 
60 /**
61  * struct wlan_psoc_target_capability_info - target capabilities in psoc
62  * @phy_capability: PHY capabilities
63  * @max_frag_entry: Maximum frag entries
64  * @num_rf_chains: Number of RF chains supported
65  * @ht_cap_info: HT cap info
66  * @vht_cap_info: VHT cap info
67  * @vht_supp_mcs: VHT Supported MCS
68  * @hw_min_tx_power: HW minimum tx power
69  * @hw_max_tx_power: HW maximum tx power
70  * @sys_cap_info: sys capability info
71  * @min_pkt_size_enable: Enterprise mode short pkt enable
72  * @max_bcn_ie_size: Max beacon and probe rsp IE offload size
73  * @max_num_scan_channels: Max scan channels
74  * @max_supported_macs: max supported MCS
75  * @wmi_fw_sub_feat_caps: FW sub feature capabilities
76  * @txrx_chainmask: TXRX chain mask
77  * @default_dbs_hw_mode_index: DBS hw mode index
78  * @num_msdu_desc: number of msdu desc
79  * @fw_version: FW build version
80  * @fw_version_1: Second dword of FW version (Valid for non-tlv FW)
81  */
82 struct wlan_psoc_target_capability_info {
83 	uint32_t phy_capability;
84 	uint32_t max_frag_entry;
85 	uint32_t num_rf_chains;
86 	uint32_t ht_cap_info;
87 	uint32_t vht_cap_info;
88 	uint32_t vht_supp_mcs;
89 	uint32_t hw_min_tx_power;
90 	uint32_t hw_max_tx_power;
91 	uint32_t sys_cap_info;
92 	uint32_t min_pkt_size_enable;
93 	uint32_t max_bcn_ie_size;
94 	uint32_t max_num_scan_channels;
95 	uint32_t max_supported_macs;
96 	uint32_t wmi_fw_sub_feat_caps;
97 	uint32_t txrx_chainmask;
98 	uint32_t default_dbs_hw_mode_index;
99 	uint32_t num_msdu_desc;
100 	uint32_t fw_version;
101 	uint32_t fw_version_1;
102 };
103 
104 /**
105  * struct wlan_psoc_host_ppe_threshold - PPE threshold
106  * @numss_m1: NSS - 1
107  * @ru_bit_mask: RU bit mask indicating the supported RU's
108  * @ppet16_ppet8_ru3_ru0: ppet8 and ppet16 for max num ss
109  */
110 struct wlan_psoc_host_ppe_threshold {
111 	uint32_t numss_m1;
112 	uint32_t ru_bit_mask;
113 	uint32_t ppet16_ppet8_ru3_ru0[PSOC_HOST_MAX_NUM_SS];
114 };
115 
116 /**
117  * struct wlan_psoc_host_hal_reg_cap_ext - extended regulatory capabilities
118  * recvd in EXT service
119  * @wireless_modes: REGDMN MODE
120  * @low_2ghz_chan: lower 2.4GHz channels
121  * @high_2ghz_chan: higher 2.4 GHz channels
122  * @low_5ghz_chan: lower 5 GHz channels
123  * @high_5ghz_chan: higher 5 GHz channels
124  */
125 struct wlan_psoc_host_hal_reg_cap_ext {
126 	uint64_t wireless_modes;
127 	uint32_t low_2ghz_chan;
128 	uint32_t high_2ghz_chan;
129 	uint32_t low_5ghz_chan;
130 	uint32_t high_5ghz_chan;
131 };
132 
133 /**
134  * struct wlan_psoc_host_mac_phy_caps - Phy caps recvd in EXT service
135  *  @hw_mode_id: identify a particular set of HW characteristics,
136  *        as specified by the subsequent fields. WMI_MAC_PHY_CAPABILITIES
137  *        element must be mapped to its parent WMI_HW_MODE_CAPABILITIES
138  *        element using hw_mode_id. No particular ordering of
139  *        WMI_MAC_PHY_CAPABILITIES elements should be
140  *        assumed, though in practice the elements may always be ordered
141  *        by hw_mode_id.
142  * @pdev_id: pdev_id starts with 1. pdev_id 1 => phy_id 0, pdev_id 2 => phy_id 1
143  * @phy_id: Starts with 0
144  * @phy_idx: Index to mac phy caps structure for the given hw_mode_id and phy_id
145  * @hw_mode_config_type: holds the enum wmi_hw_mode_config_type
146  * @bitmap of supported modulations
147  * @supported_bands: supported bands, enum WLAN_BAND_CAPABILITY
148  * @ampdu_density: ampdu density 0 for no restriction, 1 for 1/4 us,
149  *        2 for 1/2 us, 3 for 1 us,4 for 2 us, 5 for 4 us,
150  *        6 for 8 us,7 for 16 us
151  * @max_bw_supported_2G: max bw supported 2G, enum wmi_channel_width
152  * @ht_cap_info_2G: WMI HT Capability, WMI_HT_CAP defines
153  * @vht_cap_info_2G: VHT capability info field of 802.11ac, WMI_VHT_CAP defines
154  * @vht_supp_mcs_2G: VHT Supported MCS Set field Rx/Tx same
155  *        The max VHT-MCS for n SS subfield (where n = 1,...,8) is encoded as
156  *        follows
157  *         - 0 indicates support for VHT-MCS 0-7 for n spatial streams
158  *         - 1 indicates support for VHT-MCS 0-8 for n spatial streams
159  *         - 2 indicates support for VHT-MCS 0-9 for n spatial streams
160  *         - 3 indicates that n spatial streams is not supported
161  * @he_cap_info_2G[]: HE capability info field of 802.11ax, WMI_HE_CAP defines
162  * @he_supp_mcs_2G: HE Supported MCS Set field Rx/Tx same
163  * @tx_chain_mask_2G: Valid Transmit chain mask
164  * @rx_chain_mask_2G: Valid Receive chain mask
165  * @max_bw_supported_5G: max bw supported 5G, enum wmi_channel_width
166  * @ht_cap_info_5G: WMI HT Capability, WMI_HT_CAP defines
167  * @vht_cap_info_5G: VHT capability info field of 802.11ac, WMI_VHT_CAP defines
168  * @vht_supp_mcs_5G: VHT Supported MCS Set field Rx/Tx same
169  *        The max VHT-MCS for n SS subfield (where n = 1,...,8) is encoded as
170  *        follows
171  *        - 0 indicates support for VHT-MCS 0-7 for n spatial streams
172  *        - 1 indicates support for VHT-MCS 0-8 for n spatial streams
173  *        - 2 indicates support for VHT-MCS 0-9 for n spatial streams
174  *        - 3 indicates that n spatial streams is not supported
175  * @he_cap_info_5G[]: HE capability info field of 802.11ax, WMI_HE_CAP defines
176  * @he_supp_mcs_5G: HE Supported MCS Set field Rx/Tx same
177  * @tx_chain_mask_5G: Valid Transmit chain mask
178  * @rx_chain_mask_5G: Valid Receive chain mask
179  * @he_cap_phy_info_2G: 2G HE capability phy field
180  * @he_cap_phy_info_5G: 5G HE capability phy field
181  * @he_cap_info_internal: HE PHY internal feature capability
182  * @he_ppet2G: 2G HE PPET info
183  * @he_ppet5G: 5G HE PPET info
184  * @chainmask_table_id: chain mask table id
185  * @lmac_id: hw mac id
186  * @reg_cap_ext: extended regulatory capabilities
187  * @tgt_pdev_id: target pdev id assigned and used by firmware
188  * @nss_ratio_enabled: This flag is set if nss ratio is received from FW as part
189  *                     of service ready ext event.
190  * @nss_ratio: nss ratio is used to calculate the NSS value for 160MHz.
191  * @hw_link_id: Unique link id across SoCs used to identify link in Multi-SoC ML
192  */
193 struct wlan_psoc_host_mac_phy_caps {
194 	uint32_t hw_mode_id;
195 	uint32_t pdev_id;
196 	uint32_t phy_id;
197 	uint8_t phy_idx;
198 	int hw_mode_config_type;
199 	uint32_t supports_11b:1,
200 		 supports_11g:1,
201 		 supports_11a:1,
202 		 supports_11n:1,
203 		 supports_11ac:1,
204 		 supports_11ax:1,
205 #ifdef WLAN_FEATURE_11BE
206 		 supports_11be:1,
207 #endif
208 		 reserved:25;
209 	uint32_t supported_bands;
210 	uint32_t ampdu_density;
211 	uint32_t max_bw_supported_2G;
212 	uint32_t ht_cap_info_2G;
213 	uint32_t vht_cap_info_2G;
214 	uint32_t vht_supp_mcs_2G;
215 	uint32_t he_cap_info_2G[PSOC_HOST_MAX_MAC_SIZE];
216 	uint32_t he_supp_mcs_2G;
217 	uint32_t tx_chain_mask_2G;
218 	uint32_t rx_chain_mask_2G;
219 	uint32_t max_bw_supported_5G;
220 	uint32_t ht_cap_info_5G;
221 	uint32_t vht_cap_info_5G;
222 	uint32_t vht_supp_mcs_5G;
223 	uint32_t he_cap_info_5G[PSOC_HOST_MAX_MAC_SIZE];
224 	uint32_t he_supp_mcs_5G;
225 	uint32_t tx_chain_mask_5G;
226 	uint32_t rx_chain_mask_5G;
227 	uint32_t he_cap_phy_info_2G[PSOC_HOST_MAX_PHY_SIZE];
228 	uint32_t he_cap_phy_info_5G[PSOC_HOST_MAX_PHY_SIZE];
229 	uint32_t he_cap_info_internal;
230 	struct wlan_psoc_host_ppe_threshold he_ppet2G;
231 	struct wlan_psoc_host_ppe_threshold he_ppet5G;
232 	uint32_t chainmask_table_id;
233 	uint32_t lmac_id;
234 	struct wlan_psoc_host_hal_reg_cap_ext reg_cap_ext;
235 	uint32_t tgt_pdev_id;
236 	bool nss_ratio_enabled;
237 	uint8_t nss_ratio_info;
238 #if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
239 	uint16_t hw_link_id;
240 #endif
241 };
242 
243 /**
244  * struct wlan_psoc_host_hw_mode_caps - HW mode capabilities in EXT event
245  * @hw_mode_id: identify a particular set of HW characteristics,
246  *              as specified by the subsequent fields
247  * @phy_id_map: BIT0 represents phy_id 0, BIT1 represent phy_id 1 and so on
248  * @hw_mode_config_type: HW mode config type
249  */
250 struct wlan_psoc_host_hw_mode_caps {
251 	uint32_t hw_mode_id;
252 	uint32_t phy_id_map;
253 	uint32_t hw_mode_config_type;
254 };
255 
256 /*
257  * struct wlan_psoc_host_mac_phy_caps_ext2 - Phy caps received in EXT2 service
258  * @hw_mode_id: HW mode id
259  * @pdev_id: Pdev id
260  * @phy_id: Phy id
261  * @wireless_modes_ext: Extended wireless modes
262  * @eht_cap_info_2G[]: EHT capability info field of 802.11ax, WMI_HE_CAP defines
263  * @eht_supp_mcs_2G: EHT Supported MCS Set field Rx/Tx same
264  * @eht_cap_info_5G[]: EHT capability info field of 802.11ax, WMI_HE_CAP defines
265  * @eht_supp_mcs_5G: EHT Supported MCS Set field Rx/Tx same
266  * @eht_cap_phy_info_2G: 2G EHT capability phy field
267  * @eht_cap_phy_info_5G: 5G EHT capability phy field
268  * @eht_cap_info_internal: EHT PHY internal feature capability
269  * @eht_supp_mcs_ext_2G: 2G EHT Supported MCS Set for Rx/Tx as per 11be D1.2
270  * @eht_supp_mcs_ext_5G: 5G EHT Supported MCS Set for Rx/Tx as per 11be D1.2
271  * @eht_ppet2G: 2G EHT PPET info
272  * @eht_ppet5G: 5G EHT PPET info
273  * @emlcap: EML Capabilities info
274  * @mldcap: MLD Capabilities info
275  */
276 struct wlan_psoc_host_mac_phy_caps_ext2 {
277 	uint32_t hw_mode_id;
278 	uint32_t pdev_id;
279 	uint32_t phy_id;
280 	uint64_t wireless_modes_ext;
281 #ifdef WLAN_FEATURE_11BE
282 	uint32_t eht_cap_info_2G[PSOC_HOST_MAX_EHT_MAC_SIZE];
283 	uint32_t eht_supp_mcs_2G;
284 	uint32_t eht_cap_info_5G[PSOC_HOST_MAX_EHT_MAC_SIZE];
285 	uint32_t eht_supp_mcs_5G;
286 	uint32_t eht_cap_phy_info_2G[PSOC_HOST_MAX_EHT_PHY_SIZE];
287 	uint32_t eht_cap_phy_info_5G[PSOC_HOST_MAX_EHT_PHY_SIZE];
288 	uint32_t eht_cap_info_internal;
289 	uint32_t eht_supp_mcs_ext_2G[PSOC_HOST_EHT_MCS_NSS_MAP_2G_SIZE];
290 	uint32_t eht_supp_mcs_ext_5G[PSOC_HOST_EHT_MCS_NSS_MAP_5G_SIZE];
291 	struct wlan_psoc_host_ppe_threshold eht_ppet2G;
292 	struct wlan_psoc_host_ppe_threshold eht_ppet5G;
293 #endif
294 #ifdef WLAN_FEATURE_11BE_MLO
295 	struct wlan_mlo_eml_cap emlcap;
296 	struct wlan_mlo_mld_cap mldcap;
297 #endif
298 };
299 
300 /*
301  * struct wlan_psoc_host_scan_radio_caps - scan radio capabilities
302  * @phy_id: phy id
303  * @scan_radio_supported: indicates scan radio support
304  * @dfs_en: indicates DFS needs to be enabled/disabled for scan radio vap
305  */
306 struct wlan_psoc_host_scan_radio_caps {
307 	uint32_t phy_id;
308 	bool scan_radio_supported;
309 	bool dfs_en;
310 };
311 
312 /**
313  * struct wlan_psoc_host_dbr_ring_caps - Direct buffer rx module ring
314  *                                       capability maintained by PSOC
315  * @pdev_id: Pdev id of the pdev
316  * @mod_id: Module id
317  * @ring_elems_min: Minimum number of pointers in the ring
318  * @min_buf_size: Minimum size of each buffer entry in the ring
319  * @min_buf_align: Minimum alignment of the addresses in the ring
320  */
321 struct wlan_psoc_host_dbr_ring_caps {
322 	uint32_t pdev_id;
323 	uint32_t mod_id;
324 	uint32_t ring_elems_min;
325 	uint32_t min_buf_size;
326 	uint32_t min_buf_align;
327 };
328 
329 /**
330  * struct wlan_psoc_host_spectral_scaling_params - Spectral scaling params
331  * @pdev_id: Pdev id of the pdev
332  * @formula_id: Formula id
333  * @low_level_offset: Low level offset
334  * @high_level_offset: High level offset
335  * @rssi_thr: RSSI threshold
336  * @default_agc_max_gain: Default agc max gain
337  */
338 struct wlan_psoc_host_spectral_scaling_params {
339 	uint32_t pdev_id;
340 	uint32_t formula_id;
341 	uint32_t low_level_offset;
342 	uint32_t high_level_offset;
343 	uint32_t rssi_thr;
344 	uint32_t default_agc_max_gain;
345 };
346 
347 /**
348  * struct wlan_psoc_host_chainmask_capabilities - chain mask capabilities list
349  * @supports_chan_width_20: channel width 20 support for this chain mask.
350  * @supports_chan_width_40: channel width 40 support for this chain mask.
351  * @supports_chan_width_80: channel width 80 support for this chain mask.
352  * @supports_chan_width_160: channel width 160 support for this chain mask.
353  * @supports_chan_width_80P80: channel width 80P80 support for this chain mask.
354  * @supports_aSpectral: Agile Spectral support for this chain mask.
355  * @supports_aSpectral_160: Agile Spectral support in 160 MHz.
356  * @supports_aDFS_160: Agile DFS support in 160 MHz for this chain mask.
357  * @supports_aDFS_320: Agile DFS support in 320 MHz for this chain mask.
358  * @chain_mask_2G: 2G support for this chain mask.
359  * @chain_mask_5G: 5G support for this chain mask.
360  * @chain_mask_tx: Tx support for this chain mask.
361  * @chain_mask_rx: Rx support for this chain mask.
362  * @supports_aDFS: Agile DFS support for this chain mask.
363  * @chainmask: chain mask value.
364  */
365 struct wlan_psoc_host_chainmask_capabilities {
366 	uint32_t supports_chan_width_20:1,
367 		 supports_chan_width_40:1,
368 		 supports_chan_width_80:1,
369 		 supports_chan_width_160:1,
370 		 supports_chan_width_80P80:1,
371 #ifdef WLAN_FEATURE_11BE
372 		 supports_chan_width_320:1,
373 #endif
374 		 supports_aSpectral:1,
375 		 supports_aSpectral_160:1,
376 		 supports_aDFS_160:1,
377 #ifdef WLAN_FEATURE_11BE
378 		 supports_aDFS_320:1,
379 #endif
380 		 reserved:17,
381 		 chain_mask_2G:1,
382 		 chain_mask_5G:1,
383 		 chain_mask_tx:1,
384 		 chain_mask_rx:1,
385 		 supports_aDFS:1;
386 	uint32_t chainmask;
387 };
388 
389 /**
390  * struct wlan_psoc_host_chainmask_table - chain mask table
391  * @table_id: tableid.
392  * @num_valid_chainmasks: num valid chainmasks.
393  * @cap_list: pointer to wlan_psoc_host_chainmask_capabilities list.
394  */
395 struct wlan_psoc_host_chainmask_table {
396 	uint32_t table_id;
397 	uint32_t num_valid_chainmasks;
398 	struct wlan_psoc_host_chainmask_capabilities *cap_list;
399 };
400 
401 /**
402  * struct wlan_psoc_host_service_ext_param - EXT service base params in event
403  * @default_conc_scan_config_bits: Default concurrenct scan config
404  * @default_fw_config_bits: Default HW config bits
405  * @wlan_psoc_host_ppe_threshold ppet: Host PPE threshold struct
406  * @he_cap_info: HE capabality info
407  * @mpdu_density: units are microseconds
408  * @max_bssid_rx_filters: Maximum no of BSSID based RX filters host can program
409  *                        Value 0 means FW hasn't given any limit to host.
410  * @fw_build_vers_ext: Extended FW build version info.
411  *                        bits 27:0 rsvd
412  *                        bits 31:28 CRM sub ID
413  * @num_hw_modes: Number of HW modes in event
414  * @num_phy: Number of Phy mode.
415  * @num_chainmask_tables: Number of chain mask tables.
416  * @num_dbr_ring_caps: Number of direct buf rx ring capabilities
417  * @max_bssid_indicator: Maximum number of VAPs in MBSS IE
418  * @num_bin_scaling_params: Number of Spectral bin scaling parameters
419  * @chainmask_table: Available chain mask tables.
420  * @sar_version: SAR version info
421  */
422 struct wlan_psoc_host_service_ext_param {
423 	uint32_t default_conc_scan_config_bits;
424 	uint32_t default_fw_config_bits;
425 	struct wlan_psoc_host_ppe_threshold ppet;
426 	uint32_t he_cap_info;
427 	uint32_t mpdu_density;
428 	uint32_t max_bssid_rx_filters;
429 	uint32_t fw_build_vers_ext;
430 	uint32_t num_hw_modes;
431 	uint32_t num_phy;
432 	uint32_t num_chainmask_tables;
433 	uint32_t num_dbr_ring_caps;
434 	uint32_t max_bssid_indicator;
435 	uint32_t num_bin_scaling_params;
436 	struct wlan_psoc_host_chainmask_table
437 		chainmask_table[PSOC_MAX_CHAINMASK_TABLES];
438 	uint32_t sar_version;
439 };
440 
441 /**
442  * struct wlan_psoc_host_service_ext2_param - EXT service base params in event
443  * reg_db_version_major: REG DB version major number
444  * reg_db_version_minor: REG DB version minor number
445  * bdf_reg_db_version_major: BDF REG DB version major number
446  * bdf_reg_db_version_minor: BDF REG DB version minor number
447  * @num_dbr_ring_caps: Number of direct buf rx ring capabilities
448  * @chwidth_num_peer_caps: Peer limit for peer_chan_width_switch WMI cmd
449  * @max_ndp_sessions: Max number of ndp session fw supports
450  * @preamble_puncture_bw_cap: Preamble Puncturing Tx support
451  * @num_scan_radio_caps: Number of scan radio capabilities
452  * @max_users_dl_ofdma: Max number of users per-PPDU for Downlink OFDMA
453  * @max_users_ul_ofdma: Max number of users per-PPDU for Uplink OFDMA
454  * @max_users_dl_mumimo: Max number of users per-PPDU for Downlink MU-MIMO
455  * @max_users_ul_mumimo: Max number of users per-PPDU for Uplink MU-MIMO
456  * @twt_ack_support_cap: TWT ack capability support
457  * @sap_coex_fixed_chan_support: Indicates if fw supports coex SAP in
458  *                               fixed chan config
459  * @target_cap_flags: Rx peer metadata version number used by target
460  * @ul_mumimo_tx_2g: UL MUMIMO Tx support for 2GHz
461  * @ul_mumimo_tx_5g: UL MUMIMO Tx support for 5GHz
462  * @ul_mumimo_tx_5g: UL MUMIMO Tx support for 6GHz
463  * @ul_mumimo_rx_2g: UL MUMIMO Rx support for 2GHz
464  * @ul_mumimo_rx_5g: UL MUMIMO Rx support for 5GHz
465  * @ul_mumimo_rx_6g: UL MUMIMO Rx support for 6GHz
466  * @afc_dev_type: AFC deployment type
467  */
468 struct wlan_psoc_host_service_ext2_param {
469 	uint8_t reg_db_version_major;
470 	uint8_t reg_db_version_minor;
471 	uint8_t bdf_reg_db_version_major;
472 	uint8_t bdf_reg_db_version_minor;
473 	uint32_t num_dbr_ring_caps;
474 	uint32_t chwidth_num_peer_caps;
475 	uint32_t max_ndp_sessions;
476 	uint32_t preamble_puncture_bw_cap;
477 	uint8_t num_scan_radio_caps;
478 	uint16_t max_users_dl_ofdma;
479 	uint16_t max_users_ul_ofdma;
480 	uint16_t max_users_dl_mumimo;
481 	uint16_t max_users_ul_mumimo;
482 	uint32_t twt_ack_support_cap:1;
483 	uint32_t sap_coex_fixed_chan_support:1;
484 	uint32_t target_cap_flags;
485 	uint8_t ul_mumimo_tx_2g:1,
486 		ul_mumimo_tx_5g:1,
487 		ul_mumimo_tx_6g:1,
488 		ul_mumimo_rx_2g:1,
489 		ul_mumimo_rx_5g:1,
490 		ul_mumimo_rx_6g:1;
491 #if defined(CONFIG_AFC_SUPPORT)
492 	enum reg_afc_dev_deploy_type afc_dev_type;
493 #endif
494 };
495 
496 #endif /* _SERVICE_READY_PARAM_H_*/
497