1 /* 2 * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. 3 * Copyright (c) 2021-2022 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 * @chain_mask_2G: 2G support for this chain mask. 358 * @chain_mask_5G: 5G support for this chain mask. 359 * @chain_mask_tx: Tx support for this chain mask. 360 * @chain_mask_rx: Rx support for this chain mask. 361 * @supports_aDFS: Agile DFS support for this chain mask. 362 * @chainmask: chain mask value. 363 */ 364 struct wlan_psoc_host_chainmask_capabilities { 365 uint32_t supports_chan_width_20:1, 366 supports_chan_width_40:1, 367 supports_chan_width_80:1, 368 supports_chan_width_160:1, 369 supports_chan_width_80P80:1, 370 #ifdef WLAN_FEATURE_11BE 371 supports_chan_width_320:1, 372 #endif 373 supports_aSpectral:1, 374 supports_aSpectral_160:1, 375 supports_aDFS_160:1, 376 reserved:19, 377 chain_mask_2G:1, 378 chain_mask_5G:1, 379 chain_mask_tx:1, 380 chain_mask_rx:1, 381 supports_aDFS:1; 382 uint32_t chainmask; 383 }; 384 385 /** 386 * struct wlan_psoc_host_chainmask_table - chain mask table 387 * @table_id: tableid. 388 * @num_valid_chainmasks: num valid chainmasks. 389 * @cap_list: pointer to wlan_psoc_host_chainmask_capabilities list. 390 */ 391 struct wlan_psoc_host_chainmask_table { 392 uint32_t table_id; 393 uint32_t num_valid_chainmasks; 394 struct wlan_psoc_host_chainmask_capabilities *cap_list; 395 }; 396 397 /** 398 * struct wlan_psoc_host_service_ext_param - EXT service base params in event 399 * @default_conc_scan_config_bits: Default concurrenct scan config 400 * @default_fw_config_bits: Default HW config bits 401 * @wlan_psoc_host_ppe_threshold ppet: Host PPE threshold struct 402 * @he_cap_info: HE capabality info 403 * @mpdu_density: units are microseconds 404 * @max_bssid_rx_filters: Maximum no of BSSID based RX filters host can program 405 * Value 0 means FW hasn't given any limit to host. 406 * @fw_build_vers_ext: Extended FW build version info. 407 * bits 27:0 rsvd 408 * bits 31:28 CRM sub ID 409 * @num_hw_modes: Number of HW modes in event 410 * @num_phy: Number of Phy mode. 411 * @num_chainmask_tables: Number of chain mask tables. 412 * @num_dbr_ring_caps: Number of direct buf rx ring capabilities 413 * @max_bssid_indicator: Maximum number of VAPs in MBSS IE 414 * @num_bin_scaling_params: Number of Spectral bin scaling parameters 415 * @chainmask_table: Available chain mask tables. 416 * @sar_version: SAR version info 417 */ 418 struct wlan_psoc_host_service_ext_param { 419 uint32_t default_conc_scan_config_bits; 420 uint32_t default_fw_config_bits; 421 struct wlan_psoc_host_ppe_threshold ppet; 422 uint32_t he_cap_info; 423 uint32_t mpdu_density; 424 uint32_t max_bssid_rx_filters; 425 uint32_t fw_build_vers_ext; 426 uint32_t num_hw_modes; 427 uint32_t num_phy; 428 uint32_t num_chainmask_tables; 429 uint32_t num_dbr_ring_caps; 430 uint32_t max_bssid_indicator; 431 uint32_t num_bin_scaling_params; 432 struct wlan_psoc_host_chainmask_table 433 chainmask_table[PSOC_MAX_CHAINMASK_TABLES]; 434 uint32_t sar_version; 435 }; 436 437 /** 438 * struct wlan_psoc_host_service_ext2_param - EXT service base params in event 439 * reg_db_version_major: REG DB version major number 440 * reg_db_version_minor: REG DB version minor number 441 * bdf_reg_db_version_major: BDF REG DB version major number 442 * bdf_reg_db_version_minor: BDF REG DB version minor number 443 * @num_dbr_ring_caps: Number of direct buf rx ring capabilities 444 * @chwidth_num_peer_caps: Peer limit for peer_chan_width_switch WMI cmd 445 * @max_ndp_sessions: Max number of ndp session fw supports 446 * @preamble_puncture_bw_cap: Preamble Puncturing Tx support 447 * @num_scan_radio_caps: Number of scan radio capabilities 448 * @max_users_dl_ofdma: Max number of users per-PPDU for Downlink OFDMA 449 * @max_users_ul_ofdma: Max number of users per-PPDU for Uplink OFDMA 450 * @max_users_dl_mumimo: Max number of users per-PPDU for Downlink MU-MIMO 451 * @max_users_ul_mumimo: Max number of users per-PPDU for Uplink MU-MIMO 452 * @twt_ack_support_cap: TWT ack capability support 453 * @target_cap_flags: Rx peer metadata version number used by target 454 * @ul_mumimo_tx_2g: UL MUMIMO Tx support for 2GHz 455 * @ul_mumimo_tx_5g: UL MUMIMO Tx support for 5GHz 456 * @ul_mumimo_tx_5g: UL MUMIMO Tx support for 6GHz 457 * @ul_mumimo_rx_2g: UL MUMIMO Rx support for 2GHz 458 * @ul_mumimo_rx_5g: UL MUMIMO Rx support for 5GHz 459 * @ul_mumimo_rx_6g: UL MUMIMO Rx support for 6GHz 460 * @afc_dev_type: AFC deployment type 461 */ 462 struct wlan_psoc_host_service_ext2_param { 463 uint8_t reg_db_version_major; 464 uint8_t reg_db_version_minor; 465 uint8_t bdf_reg_db_version_major; 466 uint8_t bdf_reg_db_version_minor; 467 uint32_t num_dbr_ring_caps; 468 uint32_t chwidth_num_peer_caps; 469 uint32_t max_ndp_sessions; 470 uint32_t preamble_puncture_bw_cap; 471 uint8_t num_scan_radio_caps; 472 uint16_t max_users_dl_ofdma; 473 uint16_t max_users_ul_ofdma; 474 uint16_t max_users_dl_mumimo; 475 uint16_t max_users_ul_mumimo; 476 uint32_t twt_ack_support_cap:1; 477 uint32_t target_cap_flags; 478 uint8_t ul_mumimo_tx_2g:1, 479 ul_mumimo_tx_5g:1, 480 ul_mumimo_tx_6g:1, 481 ul_mumimo_rx_2g:1, 482 ul_mumimo_rx_5g:1, 483 ul_mumimo_rx_6g:1; 484 #if defined(CONFIG_AFC_SUPPORT) 485 enum reg_afc_dev_deploy_type afc_dev_type; 486 #endif 487 }; 488 489 #endif /* _SERVICE_READY_PARAM_H_*/ 490