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 * @UCODE_ALIVE_NTFY: 108 * Alive data from the firmware, as described in 109 * &struct iwl_alive_ntf_v3 or &struct iwl_alive_ntf_v4 or 110 * &struct iwl_alive_ntf_v5. 111 */ 112 UCODE_ALIVE_NTFY = 0x1, 113 114 /** 115 * @REPLY_ERROR: Cause an error in the firmware, for testing purposes. 116 */ 117 REPLY_ERROR = 0x2, 118 119 /** 120 * @ECHO_CMD: Send data to the device to have it returned immediately. 121 */ 122 ECHO_CMD = 0x3, 123 124 /** 125 * @INIT_COMPLETE_NOTIF: Notification that initialization is complete. 126 */ 127 INIT_COMPLETE_NOTIF = 0x4, 128 129 /** 130 * @PHY_CONTEXT_CMD: 131 * Add/modify/remove a PHY context, using &struct iwl_phy_context_cmd. 132 */ 133 PHY_CONTEXT_CMD = 0x8, 134 135 /** 136 * @DBG_CFG: Debug configuration command. 137 */ 138 DBG_CFG = 0x9, 139 140 /** 141 * @SCAN_ITERATION_COMPLETE_UMAC: 142 * Firmware indicates a scan iteration completed, using 143 * &struct iwl_umac_scan_iter_complete_notif. 144 */ 145 SCAN_ITERATION_COMPLETE_UMAC = 0xb5, 146 147 /** 148 * @SCAN_CFG_CMD: 149 * uses &struct iwl_scan_config_v1 or &struct iwl_scan_config 150 */ 151 SCAN_CFG_CMD = 0xc, 152 153 /** 154 * @SCAN_REQ_UMAC: uses &struct iwl_scan_req_umac 155 */ 156 SCAN_REQ_UMAC = 0xd, 157 158 /** 159 * @SCAN_ABORT_UMAC: uses &struct iwl_umac_scan_abort 160 */ 161 SCAN_ABORT_UMAC = 0xe, 162 163 /** 164 * @SCAN_COMPLETE_UMAC: uses &struct iwl_umac_scan_complete 165 */ 166 SCAN_COMPLETE_UMAC = 0xf, 167 168 /** 169 * @BA_WINDOW_STATUS_NOTIFICATION_ID: 170 * uses &struct iwl_ba_window_status_notif 171 */ 172 BA_WINDOW_STATUS_NOTIFICATION_ID = 0x13, 173 174 /** 175 * @ADD_STA_KEY: 176 * &struct iwl_mvm_add_sta_key_cmd_v1 or 177 * &struct iwl_mvm_add_sta_key_cmd. 178 */ 179 ADD_STA_KEY = 0x17, 180 181 /** 182 * @ADD_STA: 183 * &struct iwl_mvm_add_sta_cmd or &struct iwl_mvm_add_sta_cmd_v7. 184 */ 185 ADD_STA = 0x18, 186 187 /** 188 * @REMOVE_STA: &struct iwl_mvm_rm_sta_cmd 189 */ 190 REMOVE_STA = 0x19, 191 192 /** 193 * @FW_GET_ITEM_CMD: uses &struct iwl_fw_get_item_cmd 194 */ 195 FW_GET_ITEM_CMD = 0x1a, 196 197 /** 198 * @TX_CMD: uses &struct iwl_tx_cmd or &struct iwl_tx_cmd_gen2 or 199 * &struct iwl_tx_cmd_gen3, 200 * response in &struct iwl_mvm_tx_resp or 201 * &struct iwl_mvm_tx_resp_v3 202 */ 203 TX_CMD = 0x1c, 204 205 /** 206 * @TXPATH_FLUSH: &struct iwl_tx_path_flush_cmd 207 */ 208 TXPATH_FLUSH = 0x1e, 209 210 /** 211 * @MGMT_MCAST_KEY: 212 * &struct iwl_mvm_mgmt_mcast_key_cmd or 213 * &struct iwl_mvm_mgmt_mcast_key_cmd_v1 214 */ 215 MGMT_MCAST_KEY = 0x1f, 216 217 /* scheduler config */ 218 /** 219 * @SCD_QUEUE_CFG: &struct iwl_scd_txq_cfg_cmd for older hardware, 220 * &struct iwl_tx_queue_cfg_cmd with &struct iwl_tx_queue_cfg_rsp 221 * for newer (22000) hardware. 222 */ 223 SCD_QUEUE_CFG = 0x1d, 224 225 /** 226 * @WEP_KEY: uses &struct iwl_mvm_wep_key_cmd 227 */ 228 WEP_KEY = 0x20, 229 230 /** 231 * @SHARED_MEM_CFG: 232 * retrieve shared memory configuration - response in 233 * &struct iwl_shared_mem_cfg 234 */ 235 SHARED_MEM_CFG = 0x25, 236 237 /** 238 * @TDLS_CHANNEL_SWITCH_CMD: uses &struct iwl_tdls_channel_switch_cmd 239 */ 240 TDLS_CHANNEL_SWITCH_CMD = 0x27, 241 242 /** 243 * @TDLS_CHANNEL_SWITCH_NOTIFICATION: 244 * uses &struct iwl_tdls_channel_switch_notif 245 */ 246 TDLS_CHANNEL_SWITCH_NOTIFICATION = 0xaa, 247 248 /** 249 * @TDLS_CONFIG_CMD: 250 * &struct iwl_tdls_config_cmd, response in &struct iwl_tdls_config_res 251 */ 252 TDLS_CONFIG_CMD = 0xa7, 253 254 /** 255 * @MAC_CONTEXT_CMD: &struct iwl_mac_ctx_cmd 256 */ 257 MAC_CONTEXT_CMD = 0x28, 258 259 /** 260 * @TIME_EVENT_CMD: 261 * &struct iwl_time_event_cmd, response in &struct iwl_time_event_resp 262 */ 263 TIME_EVENT_CMD = 0x29, /* both CMD and response */ 264 265 /** 266 * @TIME_EVENT_NOTIFICATION: &struct iwl_time_event_notif 267 */ 268 TIME_EVENT_NOTIFICATION = 0x2a, 269 270 /** 271 * @BINDING_CONTEXT_CMD: 272 * &struct iwl_binding_cmd or &struct iwl_binding_cmd_v1 273 */ 274 BINDING_CONTEXT_CMD = 0x2b, 275 276 /** 277 * @TIME_QUOTA_CMD: &struct iwl_time_quota_cmd 278 */ 279 TIME_QUOTA_CMD = 0x2c, 280 281 /** 282 * @NON_QOS_TX_COUNTER_CMD: 283 * command is &struct iwl_nonqos_seq_query_cmd 284 */ 285 NON_QOS_TX_COUNTER_CMD = 0x2d, 286 287 /** 288 * @LEDS_CMD: command is &struct iwl_led_cmd 289 */ 290 LEDS_CMD = 0x48, 291 292 /** 293 * @LQ_CMD: using &struct iwl_lq_cmd 294 */ 295 LQ_CMD = 0x4e, 296 297 /** 298 * @FW_PAGING_BLOCK_CMD: 299 * &struct iwl_fw_paging_cmd 300 */ 301 FW_PAGING_BLOCK_CMD = 0x4f, 302 303 /** 304 * @SCAN_OFFLOAD_REQUEST_CMD: uses &struct iwl_scan_req_lmac 305 */ 306 SCAN_OFFLOAD_REQUEST_CMD = 0x51, 307 308 /** 309 * @SCAN_OFFLOAD_ABORT_CMD: abort the scan - no further contents 310 */ 311 SCAN_OFFLOAD_ABORT_CMD = 0x52, 312 313 /** 314 * @HOT_SPOT_CMD: uses &struct iwl_hs20_roc_req 315 */ 316 HOT_SPOT_CMD = 0x53, 317 318 /** 319 * @SCAN_OFFLOAD_COMPLETE: 320 * notification, &struct iwl_periodic_scan_complete 321 */ 322 SCAN_OFFLOAD_COMPLETE = 0x6D, 323 324 /** 325 * @SCAN_OFFLOAD_UPDATE_PROFILES_CMD: 326 * update scan offload (scheduled scan) profiles/blocklist/etc. 327 */ 328 SCAN_OFFLOAD_UPDATE_PROFILES_CMD = 0x6E, 329 330 /** 331 * @MATCH_FOUND_NOTIFICATION: scan match found 332 */ 333 MATCH_FOUND_NOTIFICATION = 0xd9, 334 335 /** 336 * @SCAN_ITERATION_COMPLETE: 337 * uses &struct iwl_lmac_scan_complete_notif 338 */ 339 SCAN_ITERATION_COMPLETE = 0xe7, 340 341 /* Phy */ 342 /** 343 * @PHY_CONFIGURATION_CMD: &struct iwl_phy_cfg_cmd 344 */ 345 PHY_CONFIGURATION_CMD = 0x6a, 346 347 /** 348 * @CALIB_RES_NOTIF_PHY_DB: &struct iwl_calib_res_notif_phy_db 349 */ 350 CALIB_RES_NOTIF_PHY_DB = 0x6b, 351 352 /** 353 * @PHY_DB_CMD: &struct iwl_phy_db_cmd 354 */ 355 PHY_DB_CMD = 0x6c, 356 357 /** 358 * @POWER_TABLE_CMD: &struct iwl_device_power_cmd 359 */ 360 POWER_TABLE_CMD = 0x77, 361 362 /** 363 * @PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION: 364 * &struct iwl_uapsd_misbehaving_ap_notif 365 */ 366 PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION = 0x78, 367 368 /** 369 * @LTR_CONFIG: &struct iwl_ltr_config_cmd 370 */ 371 LTR_CONFIG = 0xee, 372 373 /** 374 * @REPLY_THERMAL_MNG_BACKOFF: 375 * Thermal throttling command 376 */ 377 REPLY_THERMAL_MNG_BACKOFF = 0x7e, 378 379 /** 380 * @DC2DC_CONFIG_CMD: 381 * Set/Get DC2DC frequency tune 382 * Command is &struct iwl_dc2dc_config_cmd, 383 * response is &struct iwl_dc2dc_config_resp 384 */ 385 DC2DC_CONFIG_CMD = 0x83, 386 387 /** 388 * @NVM_ACCESS_CMD: using &struct iwl_nvm_access_cmd 389 */ 390 NVM_ACCESS_CMD = 0x88, 391 392 /** 393 * @BEACON_NOTIFICATION: &struct iwl_extended_beacon_notif 394 */ 395 BEACON_NOTIFICATION = 0x90, 396 397 /** 398 * @BEACON_TEMPLATE_CMD: 399 * Uses one of &struct iwl_mac_beacon_cmd_v6, 400 * &struct iwl_mac_beacon_cmd_v7 or &struct iwl_mac_beacon_cmd 401 * depending on the device version. 402 */ 403 BEACON_TEMPLATE_CMD = 0x91, 404 /** 405 * @TX_ANT_CONFIGURATION_CMD: &struct iwl_tx_ant_cfg_cmd 406 */ 407 TX_ANT_CONFIGURATION_CMD = 0x98, 408 409 /** 410 * @STATISTICS_CMD: 411 * one of &struct iwl_statistics_cmd, 412 * &struct iwl_notif_statistics_v11, 413 * &struct iwl_notif_statistics_v10, 414 * &struct iwl_notif_statistics, 415 * &struct iwl_statistics_operational_ntfy 416 */ 417 STATISTICS_CMD = 0x9c, 418 419 /** 420 * @STATISTICS_NOTIFICATION: 421 * one of &struct iwl_notif_statistics_v10, 422 * &struct iwl_notif_statistics_v11, 423 * &struct iwl_notif_statistic, 424 * &struct iwl_statistics_operational_ntfy 425 */ 426 STATISTICS_NOTIFICATION = 0x9d, 427 428 /** 429 * @EOSP_NOTIFICATION: 430 * Notify that a service period ended, 431 * &struct iwl_mvm_eosp_notification 432 */ 433 EOSP_NOTIFICATION = 0x9e, 434 435 /** 436 * @REDUCE_TX_POWER_CMD: 437 * &struct iwl_dev_tx_power_cmd 438 */ 439 REDUCE_TX_POWER_CMD = 0x9f, 440 441 /** 442 * @CARD_STATE_NOTIFICATION: 443 * Card state (RF/CT kill) notification, 444 * uses &struct iwl_card_state_notif 445 */ 446 CARD_STATE_NOTIFICATION = 0xa1, 447 448 /** 449 * @MISSED_BEACONS_NOTIFICATION: &struct iwl_missed_beacons_notif 450 */ 451 MISSED_BEACONS_NOTIFICATION = 0xa2, 452 453 /** 454 * @MAC_PM_POWER_TABLE: using &struct iwl_mac_power_cmd 455 */ 456 MAC_PM_POWER_TABLE = 0xa9, 457 458 /** 459 * @MFUART_LOAD_NOTIFICATION: &struct iwl_mfuart_load_notif 460 */ 461 MFUART_LOAD_NOTIFICATION = 0xb1, 462 463 /** 464 * @RSS_CONFIG_CMD: &struct iwl_rss_config_cmd 465 */ 466 RSS_CONFIG_CMD = 0xb3, 467 468 /** 469 * @REPLY_RX_PHY_CMD: &struct iwl_rx_phy_info 470 */ 471 REPLY_RX_PHY_CMD = 0xc0, 472 473 /** 474 * @REPLY_RX_MPDU_CMD: 475 * &struct iwl_rx_mpdu_res_start or &struct iwl_rx_mpdu_desc 476 */ 477 REPLY_RX_MPDU_CMD = 0xc1, 478 479 /** 480 * @BAR_FRAME_RELEASE: Frame release from BAR notification, used for 481 * multi-TID BAR (previously, the BAR frame itself was reported 482 * instead). Uses &struct iwl_bar_frame_release. 483 */ 484 BAR_FRAME_RELEASE = 0xc2, 485 486 /** 487 * @FRAME_RELEASE: 488 * Frame release (reorder helper) notification, uses 489 * &struct iwl_frame_release 490 */ 491 FRAME_RELEASE = 0xc3, 492 493 /** 494 * @BA_NOTIF: 495 * BlockAck notification, uses &struct iwl_mvm_compressed_ba_notif 496 * or &struct iwl_mvm_ba_notif depending on the HW 497 */ 498 BA_NOTIF = 0xc5, 499 500 /* Location Aware Regulatory */ 501 /** 502 * @MCC_UPDATE_CMD: using &struct iwl_mcc_update_cmd 503 */ 504 MCC_UPDATE_CMD = 0xc8, 505 506 /** 507 * @MCC_CHUB_UPDATE_CMD: using &struct iwl_mcc_chub_notif 508 */ 509 MCC_CHUB_UPDATE_CMD = 0xc9, 510 511 /** 512 * @MARKER_CMD: trace marker command, uses &struct iwl_mvm_marker 513 * with &struct iwl_mvm_marker_rsp 514 */ 515 MARKER_CMD = 0xcb, 516 517 /** 518 * @BT_PROFILE_NOTIFICATION: &struct iwl_bt_coex_profile_notif 519 */ 520 BT_PROFILE_NOTIFICATION = 0xce, 521 522 /** 523 * @BT_CONFIG: &struct iwl_bt_coex_cmd 524 */ 525 BT_CONFIG = 0x9b, 526 527 /** 528 * @BT_COEX_UPDATE_REDUCED_TXP: 529 * &struct iwl_bt_coex_reduced_txp_update_cmd 530 */ 531 BT_COEX_UPDATE_REDUCED_TXP = 0x5c, 532 533 /** 534 * @BT_COEX_CI: &struct iwl_bt_coex_ci_cmd 535 */ 536 BT_COEX_CI = 0x5d, 537 538 /** 539 * @REPLY_SF_CFG_CMD: &struct iwl_sf_cfg_cmd 540 */ 541 REPLY_SF_CFG_CMD = 0xd1, 542 /** 543 * @REPLY_BEACON_FILTERING_CMD: &struct iwl_beacon_filter_cmd 544 */ 545 REPLY_BEACON_FILTERING_CMD = 0xd2, 546 547 /** 548 * @DTS_MEASUREMENT_NOTIFICATION: 549 * &struct iwl_dts_measurement_notif_v1 or 550 * &struct iwl_dts_measurement_notif_v2 551 */ 552 DTS_MEASUREMENT_NOTIFICATION = 0xdd, 553 554 /** 555 * @LDBG_CONFIG_CMD: configure continuous trace recording 556 */ 557 LDBG_CONFIG_CMD = 0xf6, 558 559 /** 560 * @DEBUG_LOG_MSG: Debugging log data from firmware 561 */ 562 DEBUG_LOG_MSG = 0xf7, 563 564 /** 565 * @BCAST_FILTER_CMD: &struct iwl_bcast_filter_cmd 566 */ 567 BCAST_FILTER_CMD = 0xcf, 568 569 /** 570 * @MCAST_FILTER_CMD: &struct iwl_mcast_filter_cmd 571 */ 572 MCAST_FILTER_CMD = 0xd0, 573 574 /** 575 * @D3_CONFIG_CMD: &struct iwl_d3_manager_config 576 */ 577 D3_CONFIG_CMD = 0xd3, 578 579 /** 580 * @PROT_OFFLOAD_CONFIG_CMD: Depending on firmware, uses one of 581 * &struct iwl_proto_offload_cmd_v1, &struct iwl_proto_offload_cmd_v2, 582 * &struct iwl_proto_offload_cmd_v3_small, 583 * &struct iwl_proto_offload_cmd_v3_large 584 */ 585 PROT_OFFLOAD_CONFIG_CMD = 0xd4, 586 587 /** 588 * @OFFLOADS_QUERY_CMD: 589 * No data in command, response in &struct iwl_wowlan_status 590 */ 591 OFFLOADS_QUERY_CMD = 0xd5, 592 593 /** 594 * @REMOTE_WAKE_CONFIG_CMD: &struct iwl_wowlan_remote_wake_config 595 */ 596 REMOTE_WAKE_CONFIG_CMD = 0xd6, 597 598 /** 599 * @D0I3_END_CMD: End D0i3/D3 state, no command data 600 */ 601 D0I3_END_CMD = 0xed, 602 603 /** 604 * @WOWLAN_PATTERNS: &struct iwl_wowlan_patterns_cmd 605 */ 606 WOWLAN_PATTERNS = 0xe0, 607 608 /** 609 * @WOWLAN_CONFIGURATION: &struct iwl_wowlan_config_cmd 610 */ 611 WOWLAN_CONFIGURATION = 0xe1, 612 613 /** 614 * @WOWLAN_TSC_RSC_PARAM: &struct iwl_wowlan_rsc_tsc_params_cmd 615 */ 616 WOWLAN_TSC_RSC_PARAM = 0xe2, 617 618 /** 619 * @WOWLAN_TKIP_PARAM: &struct iwl_wowlan_tkip_params_cmd 620 */ 621 WOWLAN_TKIP_PARAM = 0xe3, 622 623 /** 624 * @WOWLAN_KEK_KCK_MATERIAL: &struct iwl_wowlan_kek_kck_material_cmd 625 */ 626 WOWLAN_KEK_KCK_MATERIAL = 0xe4, 627 628 /** 629 * @WOWLAN_GET_STATUSES: response in &struct iwl_wowlan_status 630 */ 631 WOWLAN_GET_STATUSES = 0xe5, 632 633 /** 634 * @SCAN_OFFLOAD_PROFILES_QUERY_CMD: 635 * No command data, response is &struct iwl_scan_offload_profiles_query 636 */ 637 SCAN_OFFLOAD_PROFILES_QUERY_CMD = 0x56, 638 }; 639 640 /** 641 * enum iwl_system_subcmd_ids - system group command IDs 642 */ 643 enum iwl_system_subcmd_ids { 644 /** 645 * @SHARED_MEM_CFG_CMD: 646 * response in &struct iwl_shared_mem_cfg or 647 * &struct iwl_shared_mem_cfg_v2 648 */ 649 SHARED_MEM_CFG_CMD = 0x0, 650 651 /** 652 * @SOC_CONFIGURATION_CMD: &struct iwl_soc_configuration_cmd 653 */ 654 SOC_CONFIGURATION_CMD = 0x01, 655 656 /** 657 * @INIT_EXTENDED_CFG_CMD: &struct iwl_init_extended_cfg_cmd 658 */ 659 INIT_EXTENDED_CFG_CMD = 0x03, 660 661 /** 662 * @FW_ERROR_RECOVERY_CMD: &struct iwl_fw_error_recovery_cmd 663 */ 664 FW_ERROR_RECOVERY_CMD = 0x7, 665 }; 666 667 #endif /* __iwl_fw_api_commands_h__ */ 668