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