1 /****************************************************************************** 2 * 3 * This file is provided under a dual BSD/GPLv2 license. When using or 4 * redistributing this file, you may do so under either license. 5 * 6 * GPL LICENSE SUMMARY 7 * 8 * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH 9 * Copyright(c) 2016 - 2017 Intel Deutschland GmbH 10 * Copyright(c) 2012 - 2014, 2020 Intel Corporation 11 * 12 * This program is free software; you can redistribute it and/or modify 13 * it under the terms of version 2 of the GNU General Public License as 14 * published by the Free Software Foundation. 15 * 16 * This program is distributed in the hope that it will be useful, but 17 * WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 * General Public License for more details. 20 * 21 * The full GNU General Public License is included in this distribution 22 * in the file called COPYING. 23 * 24 * Contact Information: 25 * Intel Linux Wireless <linuxwifi@intel.com> 26 * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 27 * 28 * BSD LICENSE 29 * 30 * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH 31 * Copyright(c) 2016 - 2017 Intel Deutschland GmbH 32 * Copyright(c) 2012 - 2014, 2020 Intel Corporation 33 * All rights reserved. 34 * 35 * Redistribution and use in source and binary forms, with or without 36 * modification, are permitted provided that the following conditions 37 * are met: 38 * 39 * * Redistributions of source code must retain the above copyright 40 * notice, this list of conditions and the following disclaimer. 41 * * Redistributions in binary form must reproduce the above copyright 42 * notice, this list of conditions and the following disclaimer in 43 * the documentation and/or other materials provided with the 44 * distribution. 45 * * Neither the name Intel Corporation nor the names of its 46 * contributors may be used to endorse or promote products derived 47 * from this software without specific prior written permission. 48 * 49 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 50 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 51 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 52 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 53 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 54 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 55 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 56 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 57 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 58 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 59 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 60 * 61 *****************************************************************************/ 62 63 #ifndef __iwl_fw_api_commands_h__ 64 #define __iwl_fw_api_commands_h__ 65 66 /** 67 * enum iwl_mvm_command_groups - command groups for the firmware 68 * @LEGACY_GROUP: legacy group, uses command IDs from &enum iwl_legacy_cmds 69 * @LONG_GROUP: legacy group with long header, also uses command IDs 70 * from &enum iwl_legacy_cmds 71 * @SYSTEM_GROUP: system group, uses command IDs from 72 * &enum iwl_system_subcmd_ids 73 * @MAC_CONF_GROUP: MAC configuration group, uses command IDs from 74 * &enum iwl_mac_conf_subcmd_ids 75 * @PHY_OPS_GROUP: PHY operations group, uses command IDs from 76 * &enum iwl_phy_ops_subcmd_ids 77 * @DATA_PATH_GROUP: data path group, uses command IDs from 78 * &enum iwl_data_path_subcmd_ids 79 * @NAN_GROUP: NAN group, uses command IDs from &enum iwl_nan_subcmd_ids 80 * @LOCATION_GROUP: location group, uses command IDs from 81 * &enum iwl_location_subcmd_ids 82 * @PROT_OFFLOAD_GROUP: protocol offload group, uses command IDs from 83 * &enum iwl_prot_offload_subcmd_ids 84 * @REGULATORY_AND_NVM_GROUP: regulatory/NVM group, uses command IDs from 85 * &enum iwl_regulatory_and_nvm_subcmd_ids 86 * @DEBUG_GROUP: Debug group, uses command IDs from &enum iwl_debug_cmds 87 */ 88 enum iwl_mvm_command_groups { 89 LEGACY_GROUP = 0x0, 90 LONG_GROUP = 0x1, 91 SYSTEM_GROUP = 0x2, 92 MAC_CONF_GROUP = 0x3, 93 PHY_OPS_GROUP = 0x4, 94 DATA_PATH_GROUP = 0x5, 95 NAN_GROUP = 0x7, 96 LOCATION_GROUP = 0x8, 97 PROT_OFFLOAD_GROUP = 0xb, 98 REGULATORY_AND_NVM_GROUP = 0xc, 99 DEBUG_GROUP = 0xf, 100 }; 101 102 /** 103 * enum iwl_legacy_cmds - legacy group command IDs 104 */ 105 enum iwl_legacy_cmds { 106 /** 107 * @MVM_ALIVE: 108 * Alive data from the firmware, as described in 109 * &struct mvm_alive_resp_v3 or &struct mvm_alive_resp. 110 */ 111 MVM_ALIVE = 0x1, 112 113 /** 114 * @REPLY_ERROR: Cause an error in the firmware, for testing purposes. 115 */ 116 REPLY_ERROR = 0x2, 117 118 /** 119 * @ECHO_CMD: Send data to the device to have it returned immediately. 120 */ 121 ECHO_CMD = 0x3, 122 123 /** 124 * @INIT_COMPLETE_NOTIF: Notification that initialization is complete. 125 */ 126 INIT_COMPLETE_NOTIF = 0x4, 127 128 /** 129 * @PHY_CONTEXT_CMD: 130 * Add/modify/remove a PHY context, using &struct iwl_phy_context_cmd. 131 */ 132 PHY_CONTEXT_CMD = 0x8, 133 134 /** 135 * @DBG_CFG: Debug configuration command. 136 */ 137 DBG_CFG = 0x9, 138 139 /** 140 * @SCAN_ITERATION_COMPLETE_UMAC: 141 * Firmware indicates a scan iteration completed, using 142 * &struct iwl_umac_scan_iter_complete_notif. 143 */ 144 SCAN_ITERATION_COMPLETE_UMAC = 0xb5, 145 146 /** 147 * @SCAN_CFG_CMD: 148 * uses &struct iwl_scan_config_v1 or &struct iwl_scan_config 149 */ 150 SCAN_CFG_CMD = 0xc, 151 152 /** 153 * @SCAN_REQ_UMAC: uses &struct iwl_scan_req_umac 154 */ 155 SCAN_REQ_UMAC = 0xd, 156 157 /** 158 * @SCAN_ABORT_UMAC: uses &struct iwl_umac_scan_abort 159 */ 160 SCAN_ABORT_UMAC = 0xe, 161 162 /** 163 * @SCAN_COMPLETE_UMAC: uses &struct iwl_umac_scan_complete 164 */ 165 SCAN_COMPLETE_UMAC = 0xf, 166 167 /** 168 * @BA_WINDOW_STATUS_NOTIFICATION_ID: 169 * uses &struct iwl_ba_window_status_notif 170 */ 171 BA_WINDOW_STATUS_NOTIFICATION_ID = 0x13, 172 173 /** 174 * @ADD_STA_KEY: 175 * &struct iwl_mvm_add_sta_key_cmd_v1 or 176 * &struct iwl_mvm_add_sta_key_cmd. 177 */ 178 ADD_STA_KEY = 0x17, 179 180 /** 181 * @ADD_STA: 182 * &struct iwl_mvm_add_sta_cmd or &struct iwl_mvm_add_sta_cmd_v7. 183 */ 184 ADD_STA = 0x18, 185 186 /** 187 * @REMOVE_STA: &struct iwl_mvm_rm_sta_cmd 188 */ 189 REMOVE_STA = 0x19, 190 191 /** 192 * @FW_GET_ITEM_CMD: uses &struct iwl_fw_get_item_cmd 193 */ 194 FW_GET_ITEM_CMD = 0x1a, 195 196 /** 197 * @TX_CMD: uses &struct iwl_tx_cmd or &struct iwl_tx_cmd_gen2 or 198 * &struct iwl_tx_cmd_gen3, 199 * response in &struct iwl_mvm_tx_resp or 200 * &struct iwl_mvm_tx_resp_v3 201 */ 202 TX_CMD = 0x1c, 203 204 /** 205 * @TXPATH_FLUSH: &struct iwl_tx_path_flush_cmd 206 */ 207 TXPATH_FLUSH = 0x1e, 208 209 /** 210 * @MGMT_MCAST_KEY: 211 * &struct iwl_mvm_mgmt_mcast_key_cmd or 212 * &struct iwl_mvm_mgmt_mcast_key_cmd_v1 213 */ 214 MGMT_MCAST_KEY = 0x1f, 215 216 /* scheduler config */ 217 /** 218 * @SCD_QUEUE_CFG: &struct iwl_scd_txq_cfg_cmd for older hardware, 219 * &struct iwl_tx_queue_cfg_cmd with &struct iwl_tx_queue_cfg_rsp 220 * for newer (22000) hardware. 221 */ 222 SCD_QUEUE_CFG = 0x1d, 223 224 /** 225 * @WEP_KEY: uses &struct iwl_mvm_wep_key_cmd 226 */ 227 WEP_KEY = 0x20, 228 229 /** 230 * @SHARED_MEM_CFG: 231 * retrieve shared memory configuration - response in 232 * &struct iwl_shared_mem_cfg 233 */ 234 SHARED_MEM_CFG = 0x25, 235 236 /** 237 * @TDLS_CHANNEL_SWITCH_CMD: uses &struct iwl_tdls_channel_switch_cmd 238 */ 239 TDLS_CHANNEL_SWITCH_CMD = 0x27, 240 241 /** 242 * @TDLS_CHANNEL_SWITCH_NOTIFICATION: 243 * uses &struct iwl_tdls_channel_switch_notif 244 */ 245 TDLS_CHANNEL_SWITCH_NOTIFICATION = 0xaa, 246 247 /** 248 * @TDLS_CONFIG_CMD: 249 * &struct iwl_tdls_config_cmd, response in &struct iwl_tdls_config_res 250 */ 251 TDLS_CONFIG_CMD = 0xa7, 252 253 /** 254 * @MAC_CONTEXT_CMD: &struct iwl_mac_ctx_cmd 255 */ 256 MAC_CONTEXT_CMD = 0x28, 257 258 /** 259 * @TIME_EVENT_CMD: 260 * &struct iwl_time_event_cmd, response in &struct iwl_time_event_resp 261 */ 262 TIME_EVENT_CMD = 0x29, /* both CMD and response */ 263 264 /** 265 * @TIME_EVENT_NOTIFICATION: &struct iwl_time_event_notif 266 */ 267 TIME_EVENT_NOTIFICATION = 0x2a, 268 269 /** 270 * @BINDING_CONTEXT_CMD: 271 * &struct iwl_binding_cmd or &struct iwl_binding_cmd_v1 272 */ 273 BINDING_CONTEXT_CMD = 0x2b, 274 275 /** 276 * @TIME_QUOTA_CMD: &struct iwl_time_quota_cmd 277 */ 278 TIME_QUOTA_CMD = 0x2c, 279 280 /** 281 * @NON_QOS_TX_COUNTER_CMD: 282 * command is &struct iwl_nonqos_seq_query_cmd 283 */ 284 NON_QOS_TX_COUNTER_CMD = 0x2d, 285 286 /** 287 * @LEDS_CMD: command is &struct iwl_led_cmd 288 */ 289 LEDS_CMD = 0x48, 290 291 /** 292 * @LQ_CMD: using &struct iwl_lq_cmd 293 */ 294 LQ_CMD = 0x4e, 295 296 /** 297 * @FW_PAGING_BLOCK_CMD: 298 * &struct iwl_fw_paging_cmd 299 */ 300 FW_PAGING_BLOCK_CMD = 0x4f, 301 302 /** 303 * @SCAN_OFFLOAD_REQUEST_CMD: uses &struct iwl_scan_req_lmac 304 */ 305 SCAN_OFFLOAD_REQUEST_CMD = 0x51, 306 307 /** 308 * @SCAN_OFFLOAD_ABORT_CMD: abort the scan - no further contents 309 */ 310 SCAN_OFFLOAD_ABORT_CMD = 0x52, 311 312 /** 313 * @HOT_SPOT_CMD: uses &struct iwl_hs20_roc_req 314 */ 315 HOT_SPOT_CMD = 0x53, 316 317 /** 318 * @SCAN_OFFLOAD_COMPLETE: 319 * notification, &struct iwl_periodic_scan_complete 320 */ 321 SCAN_OFFLOAD_COMPLETE = 0x6D, 322 323 /** 324 * @SCAN_OFFLOAD_UPDATE_PROFILES_CMD: 325 * update scan offload (scheduled scan) profiles/blacklist/etc. 326 */ 327 SCAN_OFFLOAD_UPDATE_PROFILES_CMD = 0x6E, 328 329 /** 330 * @MATCH_FOUND_NOTIFICATION: scan match found 331 */ 332 MATCH_FOUND_NOTIFICATION = 0xd9, 333 334 /** 335 * @SCAN_ITERATION_COMPLETE: 336 * uses &struct iwl_lmac_scan_complete_notif 337 */ 338 SCAN_ITERATION_COMPLETE = 0xe7, 339 340 /* Phy */ 341 /** 342 * @PHY_CONFIGURATION_CMD: &struct iwl_phy_cfg_cmd 343 */ 344 PHY_CONFIGURATION_CMD = 0x6a, 345 346 /** 347 * @CALIB_RES_NOTIF_PHY_DB: &struct iwl_calib_res_notif_phy_db 348 */ 349 CALIB_RES_NOTIF_PHY_DB = 0x6b, 350 351 /** 352 * @PHY_DB_CMD: &struct iwl_phy_db_cmd 353 */ 354 PHY_DB_CMD = 0x6c, 355 356 /** 357 * @POWER_TABLE_CMD: &struct iwl_device_power_cmd 358 */ 359 POWER_TABLE_CMD = 0x77, 360 361 /** 362 * @PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION: 363 * &struct iwl_uapsd_misbehaving_ap_notif 364 */ 365 PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION = 0x78, 366 367 /** 368 * @LTR_CONFIG: &struct iwl_ltr_config_cmd 369 */ 370 LTR_CONFIG = 0xee, 371 372 /** 373 * @REPLY_THERMAL_MNG_BACKOFF: 374 * Thermal throttling command 375 */ 376 REPLY_THERMAL_MNG_BACKOFF = 0x7e, 377 378 /** 379 * @DC2DC_CONFIG_CMD: 380 * Set/Get DC2DC frequency tune 381 * Command is &struct iwl_dc2dc_config_cmd, 382 * response is &struct iwl_dc2dc_config_resp 383 */ 384 DC2DC_CONFIG_CMD = 0x83, 385 386 /** 387 * @NVM_ACCESS_CMD: using &struct iwl_nvm_access_cmd 388 */ 389 NVM_ACCESS_CMD = 0x88, 390 391 /** 392 * @BEACON_NOTIFICATION: &struct iwl_extended_beacon_notif 393 */ 394 BEACON_NOTIFICATION = 0x90, 395 396 /** 397 * @BEACON_TEMPLATE_CMD: 398 * Uses one of &struct iwl_mac_beacon_cmd_v6, 399 * &struct iwl_mac_beacon_cmd_v7 or &struct iwl_mac_beacon_cmd 400 * depending on the device version. 401 */ 402 BEACON_TEMPLATE_CMD = 0x91, 403 /** 404 * @TX_ANT_CONFIGURATION_CMD: &struct iwl_tx_ant_cfg_cmd 405 */ 406 TX_ANT_CONFIGURATION_CMD = 0x98, 407 408 /** 409 * @STATISTICS_CMD: 410 * one of &struct iwl_statistics_cmd, 411 * &struct iwl_notif_statistics_v11, 412 * &struct iwl_notif_statistics_v10, 413 * &struct iwl_notif_statistics 414 */ 415 STATISTICS_CMD = 0x9c, 416 417 /** 418 * @STATISTICS_NOTIFICATION: 419 * one of &struct iwl_notif_statistics_v10, 420 * &struct iwl_notif_statistics_v11, 421 * &struct iwl_notif_statistics 422 */ 423 STATISTICS_NOTIFICATION = 0x9d, 424 425 /** 426 * @EOSP_NOTIFICATION: 427 * Notify that a service period ended, 428 * &struct iwl_mvm_eosp_notification 429 */ 430 EOSP_NOTIFICATION = 0x9e, 431 432 /** 433 * @REDUCE_TX_POWER_CMD: 434 * &struct iwl_dev_tx_power_cmd_v3 or &struct iwl_dev_tx_power_cmd_v4 435 * or &struct iwl_dev_tx_power_cmd 436 */ 437 REDUCE_TX_POWER_CMD = 0x9f, 438 439 /** 440 * @CARD_STATE_NOTIFICATION: 441 * Card state (RF/CT kill) notification, 442 * uses &struct iwl_card_state_notif 443 */ 444 CARD_STATE_NOTIFICATION = 0xa1, 445 446 /** 447 * @MISSED_BEACONS_NOTIFICATION: &struct iwl_missed_beacons_notif 448 */ 449 MISSED_BEACONS_NOTIFICATION = 0xa2, 450 451 /** 452 * @MAC_PM_POWER_TABLE: using &struct iwl_mac_power_cmd 453 */ 454 MAC_PM_POWER_TABLE = 0xa9, 455 456 /** 457 * @MFUART_LOAD_NOTIFICATION: &struct iwl_mfuart_load_notif 458 */ 459 MFUART_LOAD_NOTIFICATION = 0xb1, 460 461 /** 462 * @RSS_CONFIG_CMD: &struct iwl_rss_config_cmd 463 */ 464 RSS_CONFIG_CMD = 0xb3, 465 466 /** 467 * @REPLY_RX_PHY_CMD: &struct iwl_rx_phy_info 468 */ 469 REPLY_RX_PHY_CMD = 0xc0, 470 471 /** 472 * @REPLY_RX_MPDU_CMD: 473 * &struct iwl_rx_mpdu_res_start or &struct iwl_rx_mpdu_desc 474 */ 475 REPLY_RX_MPDU_CMD = 0xc1, 476 477 /** 478 * @BAR_FRAME_RELEASE: Frame release from BAR notification, used for 479 * multi-TID BAR (previously, the BAR frame itself was reported 480 * instead). Uses &struct iwl_bar_frame_release. 481 */ 482 BAR_FRAME_RELEASE = 0xc2, 483 484 /** 485 * @FRAME_RELEASE: 486 * Frame release (reorder helper) notification, uses 487 * &struct iwl_frame_release 488 */ 489 FRAME_RELEASE = 0xc3, 490 491 /** 492 * @BA_NOTIF: 493 * BlockAck notification, uses &struct iwl_mvm_compressed_ba_notif 494 * or &struct iwl_mvm_ba_notif depending on the HW 495 */ 496 BA_NOTIF = 0xc5, 497 498 /* Location Aware Regulatory */ 499 /** 500 * @MCC_UPDATE_CMD: using &struct iwl_mcc_update_cmd 501 */ 502 MCC_UPDATE_CMD = 0xc8, 503 504 /** 505 * @MCC_CHUB_UPDATE_CMD: using &struct iwl_mcc_chub_notif 506 */ 507 MCC_CHUB_UPDATE_CMD = 0xc9, 508 509 /** 510 * @MARKER_CMD: trace marker command, uses &struct iwl_mvm_marker 511 * with &struct iwl_mvm_marker_rsp 512 */ 513 MARKER_CMD = 0xcb, 514 515 /** 516 * @BT_PROFILE_NOTIFICATION: &struct iwl_bt_coex_profile_notif 517 */ 518 BT_PROFILE_NOTIFICATION = 0xce, 519 520 /** 521 * @BT_CONFIG: &struct iwl_bt_coex_cmd 522 */ 523 BT_CONFIG = 0x9b, 524 525 /** 526 * @BT_COEX_UPDATE_REDUCED_TXP: 527 * &struct iwl_bt_coex_reduced_txp_update_cmd 528 */ 529 BT_COEX_UPDATE_REDUCED_TXP = 0x5c, 530 531 /** 532 * @BT_COEX_CI: &struct iwl_bt_coex_ci_cmd 533 */ 534 BT_COEX_CI = 0x5d, 535 536 /** 537 * @REPLY_SF_CFG_CMD: &struct iwl_sf_cfg_cmd 538 */ 539 REPLY_SF_CFG_CMD = 0xd1, 540 /** 541 * @REPLY_BEACON_FILTERING_CMD: &struct iwl_beacon_filter_cmd 542 */ 543 REPLY_BEACON_FILTERING_CMD = 0xd2, 544 545 /** 546 * @DTS_MEASUREMENT_NOTIFICATION: 547 * &struct iwl_dts_measurement_notif_v1 or 548 * &struct iwl_dts_measurement_notif_v2 549 */ 550 DTS_MEASUREMENT_NOTIFICATION = 0xdd, 551 552 /** 553 * @LDBG_CONFIG_CMD: configure continuous trace recording 554 */ 555 LDBG_CONFIG_CMD = 0xf6, 556 557 /** 558 * @DEBUG_LOG_MSG: Debugging log data from firmware 559 */ 560 DEBUG_LOG_MSG = 0xf7, 561 562 /** 563 * @BCAST_FILTER_CMD: &struct iwl_bcast_filter_cmd 564 */ 565 BCAST_FILTER_CMD = 0xcf, 566 567 /** 568 * @MCAST_FILTER_CMD: &struct iwl_mcast_filter_cmd 569 */ 570 MCAST_FILTER_CMD = 0xd0, 571 572 /** 573 * @D3_CONFIG_CMD: &struct iwl_d3_manager_config 574 */ 575 D3_CONFIG_CMD = 0xd3, 576 577 /** 578 * @PROT_OFFLOAD_CONFIG_CMD: Depending on firmware, uses one of 579 * &struct iwl_proto_offload_cmd_v1, &struct iwl_proto_offload_cmd_v2, 580 * &struct iwl_proto_offload_cmd_v3_small, 581 * &struct iwl_proto_offload_cmd_v3_large 582 */ 583 PROT_OFFLOAD_CONFIG_CMD = 0xd4, 584 585 /** 586 * @OFFLOADS_QUERY_CMD: 587 * No data in command, response in &struct iwl_wowlan_status 588 */ 589 OFFLOADS_QUERY_CMD = 0xd5, 590 591 /** 592 * @REMOTE_WAKE_CONFIG_CMD: &struct iwl_wowlan_remote_wake_config 593 */ 594 REMOTE_WAKE_CONFIG_CMD = 0xd6, 595 596 /** 597 * @D0I3_END_CMD: End D0i3/D3 state, no command data 598 */ 599 D0I3_END_CMD = 0xed, 600 601 /** 602 * @WOWLAN_PATTERNS: &struct iwl_wowlan_patterns_cmd 603 */ 604 WOWLAN_PATTERNS = 0xe0, 605 606 /** 607 * @WOWLAN_CONFIGURATION: &struct iwl_wowlan_config_cmd 608 */ 609 WOWLAN_CONFIGURATION = 0xe1, 610 611 /** 612 * @WOWLAN_TSC_RSC_PARAM: &struct iwl_wowlan_rsc_tsc_params_cmd 613 */ 614 WOWLAN_TSC_RSC_PARAM = 0xe2, 615 616 /** 617 * @WOWLAN_TKIP_PARAM: &struct iwl_wowlan_tkip_params_cmd 618 */ 619 WOWLAN_TKIP_PARAM = 0xe3, 620 621 /** 622 * @WOWLAN_KEK_KCK_MATERIAL: &struct iwl_wowlan_kek_kck_material_cmd 623 */ 624 WOWLAN_KEK_KCK_MATERIAL = 0xe4, 625 626 /** 627 * @WOWLAN_GET_STATUSES: response in &struct iwl_wowlan_status 628 */ 629 WOWLAN_GET_STATUSES = 0xe5, 630 631 /** 632 * @SCAN_OFFLOAD_PROFILES_QUERY_CMD: 633 * No command data, response is &struct iwl_scan_offload_profiles_query 634 */ 635 SCAN_OFFLOAD_PROFILES_QUERY_CMD = 0x56, 636 }; 637 638 /** 639 * enum iwl_system_subcmd_ids - system group command IDs 640 */ 641 enum iwl_system_subcmd_ids { 642 /** 643 * @SHARED_MEM_CFG_CMD: 644 * response in &struct iwl_shared_mem_cfg or 645 * &struct iwl_shared_mem_cfg_v2 646 */ 647 SHARED_MEM_CFG_CMD = 0x0, 648 649 /** 650 * @SOC_CONFIGURATION_CMD: &struct iwl_soc_configuration_cmd 651 */ 652 SOC_CONFIGURATION_CMD = 0x01, 653 654 /** 655 * @INIT_EXTENDED_CFG_CMD: &struct iwl_init_extended_cfg_cmd 656 */ 657 INIT_EXTENDED_CFG_CMD = 0x03, 658 659 /** 660 * @FW_ERROR_RECOVERY_CMD: &struct iwl_fw_error_recovery_cmd 661 */ 662 FW_ERROR_RECOVERY_CMD = 0x7, 663 }; 664 665 #endif /* __iwl_fw_api_commands_h__ */ 666