1  /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2  /*
3   * Copyright (C) 2013-2015 Intel Mobile Communications GmbH
4   * Copyright (C) 2016-2017 Intel Deutschland GmbH
5   * Copyright (C) 2018-2022, 2024 Intel Corporation
6   */
7  #ifndef __iwl_fw_api_commands_h__
8  #define __iwl_fw_api_commands_h__
9  
10  /**
11   * enum iwl_mvm_command_groups - command groups for the firmware
12   * @LEGACY_GROUP: legacy group, uses command IDs from &enum iwl_legacy_cmds
13   * @LONG_GROUP: legacy group with long header, also uses command IDs
14   *	from &enum iwl_legacy_cmds
15   * @SYSTEM_GROUP: system group, uses command IDs from
16   *	&enum iwl_system_subcmd_ids
17   * @MAC_CONF_GROUP: MAC configuration group, uses command IDs from
18   *	&enum iwl_mac_conf_subcmd_ids
19   * @PHY_OPS_GROUP: PHY operations group, uses command IDs from
20   *	&enum iwl_phy_ops_subcmd_ids
21   * @DATA_PATH_GROUP: data path group, uses command IDs from
22   *	&enum iwl_data_path_subcmd_ids
23   * @SCAN_GROUP: scan group, uses command IDs from
24   *	&enum iwl_scan_subcmd_ids
25   * @NAN_GROUP: NAN group, uses command IDs from &enum iwl_nan_subcmd_ids
26   * @LOCATION_GROUP: location group, uses command IDs from
27   *	&enum iwl_location_subcmd_ids
28   * @BT_COEX_GROUP: bt coex group, uses command IDs from
29   *	&enum iwl_bt_coex_subcmd_ids
30   * @PROT_OFFLOAD_GROUP: protocol offload group, uses command IDs from
31   *	&enum iwl_prot_offload_subcmd_ids
32   * @REGULATORY_AND_NVM_GROUP: regulatory/NVM group, uses command IDs from
33   *	&enum iwl_regulatory_and_nvm_subcmd_ids
34   * @DEBUG_GROUP: Debug group, uses command IDs from &enum iwl_debug_cmds
35   * @STATISTICS_GROUP: Statistics group, uses command IDs from
36   *	&enum iwl_statistics_subcmd_ids
37   */
38  enum iwl_mvm_command_groups {
39  	LEGACY_GROUP = 0x0,
40  	LONG_GROUP = 0x1,
41  	SYSTEM_GROUP = 0x2,
42  	MAC_CONF_GROUP = 0x3,
43  	PHY_OPS_GROUP = 0x4,
44  	DATA_PATH_GROUP = 0x5,
45  	SCAN_GROUP = 0x6,
46  	NAN_GROUP = 0x7,
47  	LOCATION_GROUP = 0x8,
48  	BT_COEX_GROUP = 0x9,
49  	PROT_OFFLOAD_GROUP = 0xb,
50  	REGULATORY_AND_NVM_GROUP = 0xc,
51  	DEBUG_GROUP = 0xf,
52  	STATISTICS_GROUP = 0x10,
53  };
54  
55  /**
56   * enum iwl_legacy_cmds - legacy group command IDs
57   */
58  enum iwl_legacy_cmds {
59  	/**
60  	 * @UCODE_ALIVE_NTFY:
61  	 * Alive data from the firmware, as described in
62  	 * &struct iwl_alive_ntf_v3 or &struct iwl_alive_ntf_v4 or
63  	 * &struct iwl_alive_ntf_v5 or &struct iwl_alive_ntf_v6.
64  	 */
65  	UCODE_ALIVE_NTFY = 0x1,
66  
67  	/**
68  	 * @REPLY_ERROR: Cause an error in the firmware, for testing purposes.
69  	 */
70  	REPLY_ERROR = 0x2,
71  
72  	/**
73  	 * @ECHO_CMD: Send data to the device to have it returned immediately.
74  	 */
75  	ECHO_CMD = 0x3,
76  
77  	/**
78  	 * @INIT_COMPLETE_NOTIF: Notification that initialization is complete.
79  	 */
80  	INIT_COMPLETE_NOTIF = 0x4,
81  
82  	/**
83  	 * @PHY_CONTEXT_CMD:
84  	 * Add/modify/remove a PHY context, using &struct iwl_phy_context_cmd
85  	 *	or &struct iwl_phy_context_cmd_v1.
86  	 */
87  	PHY_CONTEXT_CMD = 0x8,
88  
89  	/**
90  	 * @DBG_CFG: Debug configuration command.
91  	 */
92  	DBG_CFG = 0x9,
93  
94  	/**
95  	 * @SCAN_ITERATION_COMPLETE_UMAC:
96  	 * Firmware indicates a scan iteration completed, using
97  	 * &struct iwl_umac_scan_iter_complete_notif.
98  	 */
99  	SCAN_ITERATION_COMPLETE_UMAC = 0xb5,
100  
101  	/**
102  	 * @SCAN_CFG_CMD:
103  	 * uses &struct iwl_scan_config_v1, &struct iwl_scan_config_v2
104  	 * or &struct iwl_scan_config
105  	 */
106  	SCAN_CFG_CMD = 0xc,
107  
108  	/**
109  	 * @SCAN_REQ_UMAC: uses &struct iwl_scan_req_umac
110  	 */
111  	SCAN_REQ_UMAC = 0xd,
112  
113  	/**
114  	 * @SCAN_ABORT_UMAC: uses &struct iwl_umac_scan_abort
115  	 */
116  	SCAN_ABORT_UMAC = 0xe,
117  
118  	/**
119  	 * @SCAN_COMPLETE_UMAC: uses &struct iwl_umac_scan_complete
120  	 */
121  	SCAN_COMPLETE_UMAC = 0xf,
122  
123  	/**
124  	 * @BA_WINDOW_STATUS_NOTIFICATION_ID:
125  	 * uses &struct iwl_ba_window_status_notif
126  	 */
127  	BA_WINDOW_STATUS_NOTIFICATION_ID = 0x13,
128  
129  	/**
130  	 * @ADD_STA_KEY:
131  	 * &struct iwl_mvm_add_sta_key_cmd_v1 or
132  	 * &struct iwl_mvm_add_sta_key_cmd.
133  	 */
134  	ADD_STA_KEY = 0x17,
135  
136  	/**
137  	 * @ADD_STA:
138  	 * &struct iwl_mvm_add_sta_cmd or &struct iwl_mvm_add_sta_cmd_v7.
139  	 */
140  	ADD_STA = 0x18,
141  
142  	/**
143  	 * @REMOVE_STA: &struct iwl_mvm_rm_sta_cmd
144  	 */
145  	REMOVE_STA = 0x19,
146  
147  	/**
148  	 * @TX_CMD: uses &struct iwl_tx_cmd or &struct iwl_tx_cmd_gen2 or
149  	 *	&struct iwl_tx_cmd_gen3,
150  	 *	response in &struct iwl_tx_resp or
151  	 *	&struct iwl_tx_resp_v3
152  	 */
153  	TX_CMD = 0x1c,
154  
155  	/**
156  	 * @TXPATH_FLUSH: &struct iwl_tx_path_flush_cmd
157  	 *	response in &struct iwl_tx_path_flush_cmd_rsp
158  	 */
159  	TXPATH_FLUSH = 0x1e,
160  
161  	/**
162  	 * @MGMT_MCAST_KEY:
163  	 * &struct iwl_mvm_mgmt_mcast_key_cmd or
164  	 * &struct iwl_mvm_mgmt_mcast_key_cmd_v1
165  	 */
166  	MGMT_MCAST_KEY = 0x1f,
167  
168  	/* scheduler config */
169  	/**
170  	 * @SCD_QUEUE_CFG: &struct iwl_scd_txq_cfg_cmd for older hardware,
171  	 *	&struct iwl_tx_queue_cfg_cmd with &struct iwl_tx_queue_cfg_rsp
172  	 *	for newer (22000) hardware.
173  	 */
174  	SCD_QUEUE_CFG = 0x1d,
175  
176  	/**
177  	 * @WEP_KEY: uses &struct iwl_mvm_wep_key_cmd
178  	 */
179  	WEP_KEY = 0x20,
180  
181  	/**
182  	 * @SHARED_MEM_CFG:
183  	 * retrieve shared memory configuration - response in
184  	 * &struct iwl_shared_mem_cfg
185  	 */
186  	SHARED_MEM_CFG = 0x25,
187  
188  	/**
189  	 * @TDLS_CHANNEL_SWITCH_CMD: uses &struct iwl_tdls_channel_switch_cmd
190  	 */
191  	TDLS_CHANNEL_SWITCH_CMD = 0x27,
192  
193  	/**
194  	 * @TDLS_CHANNEL_SWITCH_NOTIFICATION:
195  	 * uses &struct iwl_tdls_channel_switch_notif
196  	 */
197  	TDLS_CHANNEL_SWITCH_NOTIFICATION = 0xaa,
198  
199  	/**
200  	 * @TDLS_CONFIG_CMD:
201  	 * &struct iwl_tdls_config_cmd, response in &struct iwl_tdls_config_res
202  	 */
203  	TDLS_CONFIG_CMD = 0xa7,
204  
205  	/**
206  	 * @MAC_CONTEXT_CMD: &struct iwl_mac_ctx_cmd
207  	 */
208  	MAC_CONTEXT_CMD = 0x28,
209  
210  	/**
211  	 * @TIME_EVENT_CMD:
212  	 * &struct iwl_time_event_cmd, response in &struct iwl_time_event_resp
213  	 */
214  	TIME_EVENT_CMD = 0x29, /* both CMD and response */
215  
216  	/**
217  	 * @TIME_EVENT_NOTIFICATION: &struct iwl_time_event_notif
218  	 */
219  	TIME_EVENT_NOTIFICATION = 0x2a,
220  
221  	/**
222  	 * @BINDING_CONTEXT_CMD:
223  	 * &struct iwl_binding_cmd or &struct iwl_binding_cmd_v1
224  	 */
225  	BINDING_CONTEXT_CMD = 0x2b,
226  
227  	/**
228  	 * @TIME_QUOTA_CMD: &struct iwl_time_quota_cmd
229  	 */
230  	TIME_QUOTA_CMD = 0x2c,
231  
232  	/**
233  	 * @NON_QOS_TX_COUNTER_CMD:
234  	 * command is &struct iwl_nonqos_seq_query_cmd
235  	 */
236  	NON_QOS_TX_COUNTER_CMD = 0x2d,
237  
238  	/**
239  	 * @LEDS_CMD: command is &struct iwl_led_cmd
240  	 */
241  	LEDS_CMD = 0x48,
242  
243  	/**
244  	 * @LQ_CMD: using &struct iwl_lq_cmd
245  	 */
246  	LQ_CMD = 0x4e,
247  
248  	/**
249  	 * @FW_PAGING_BLOCK_CMD:
250  	 * &struct iwl_fw_paging_cmd
251  	 */
252  	FW_PAGING_BLOCK_CMD = 0x4f,
253  
254  	/**
255  	 * @SCAN_OFFLOAD_REQUEST_CMD: uses &struct iwl_scan_req_lmac
256  	 */
257  	SCAN_OFFLOAD_REQUEST_CMD = 0x51,
258  
259  	/**
260  	 * @SCAN_OFFLOAD_ABORT_CMD: abort the scan - no further contents
261  	 */
262  	SCAN_OFFLOAD_ABORT_CMD = 0x52,
263  
264  	/**
265  	 * @HOT_SPOT_CMD: uses &struct iwl_hs20_roc_req
266  	 */
267  	HOT_SPOT_CMD = 0x53,
268  
269  	/**
270  	 * @WNM_80211V_TIMING_MEASUREMENT_NOTIFICATION: Time Sync
271  	 *	measurement notification for TM/FTM. Sent on receipt of
272  	 *	respective WNM action frame for TM protocol or public action
273  	 *	frame for FTM protocol from peer device along with additional
274  	 *	meta data specified in &struct iwl_time_msmt_notify
275  	 */
276  	WNM_80211V_TIMING_MEASUREMENT_NOTIFICATION = 0x67,
277  
278  	/**
279  	 * @WNM_80211V_TIMING_MEASUREMENT_CONFIRM_NOTIFICATION: Time Sync
280  	 *	measurement confirmation notification for TM/FTM. Sent on
281  	 *	receipt of Ack from peer for previously Tx'ed TM/FTM
282  	 *	action frame along with additional meta data specified in
283  	 *	&struct iwl_time_msmt_cfm_notify
284  	 */
285  	WNM_80211V_TIMING_MEASUREMENT_CONFIRM_NOTIFICATION = 0x68,
286  
287  	/**
288  	 * @SCAN_OFFLOAD_COMPLETE:
289  	 * notification, &struct iwl_periodic_scan_complete
290  	 */
291  	SCAN_OFFLOAD_COMPLETE = 0x6D,
292  
293  	/**
294  	 * @SCAN_OFFLOAD_UPDATE_PROFILES_CMD:
295  	 * update scan offload (scheduled scan) profiles/blocklist/etc.
296  	 */
297  	SCAN_OFFLOAD_UPDATE_PROFILES_CMD = 0x6E,
298  
299  	/**
300  	 * @MATCH_FOUND_NOTIFICATION: scan match found
301  	 */
302  	MATCH_FOUND_NOTIFICATION = 0xd9,
303  
304  	/**
305  	 * @SCAN_ITERATION_COMPLETE:
306  	 * uses &struct iwl_lmac_scan_complete_notif
307  	 */
308  	SCAN_ITERATION_COMPLETE = 0xe7,
309  
310  	/* Phy */
311  	/**
312  	 * @PHY_CONFIGURATION_CMD: &struct iwl_phy_cfg_cmd_v1 or &struct iwl_phy_cfg_cmd_v3
313  	 */
314  	PHY_CONFIGURATION_CMD = 0x6a,
315  
316  	/**
317  	 * @CALIB_RES_NOTIF_PHY_DB: &struct iwl_calib_res_notif_phy_db
318  	 */
319  	CALIB_RES_NOTIF_PHY_DB = 0x6b,
320  
321  	/**
322  	 * @PHY_DB_CMD: &struct iwl_phy_db_cmd
323  	 */
324  	PHY_DB_CMD = 0x6c,
325  
326  	/**
327  	 * @POWER_TABLE_CMD: &struct iwl_device_power_cmd
328  	 */
329  	POWER_TABLE_CMD = 0x77,
330  
331  	/**
332  	 * @PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION:
333  	 * &struct iwl_uapsd_misbehaving_ap_notif
334  	 */
335  	PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION = 0x78,
336  
337  	/**
338  	 * @LTR_CONFIG: &struct iwl_ltr_config_cmd
339  	 */
340  	LTR_CONFIG = 0xee,
341  
342  	/**
343  	 * @REPLY_THERMAL_MNG_BACKOFF:
344  	 * Thermal throttling command
345  	 */
346  	REPLY_THERMAL_MNG_BACKOFF = 0x7e,
347  
348  	/**
349  	 * @NVM_ACCESS_CMD: using &struct iwl_nvm_access_cmd
350  	 */
351  	NVM_ACCESS_CMD = 0x88,
352  
353  	/**
354  	 * @BEACON_NOTIFICATION: &struct iwl_extended_beacon_notif
355  	 */
356  	BEACON_NOTIFICATION = 0x90,
357  
358  	/**
359  	 * @BEACON_TEMPLATE_CMD:
360  	 *	Uses one of &struct iwl_mac_beacon_cmd_v6,
361  	 *	&struct iwl_mac_beacon_cmd_v7 or &struct iwl_mac_beacon_cmd
362  	 *	depending on the device version.
363  	 */
364  	BEACON_TEMPLATE_CMD = 0x91,
365  	/**
366  	 * @TX_ANT_CONFIGURATION_CMD: &struct iwl_tx_ant_cfg_cmd
367  	 */
368  	TX_ANT_CONFIGURATION_CMD = 0x98,
369  
370  	/**
371  	 * @STATISTICS_CMD:
372  	 * one of &struct iwl_statistics_cmd,
373  	 * &struct iwl_notif_statistics_v11,
374  	 * &struct iwl_notif_statistics_v10,
375  	 * &struct iwl_notif_statistics,
376  	 * &struct iwl_statistics_operational_ntfy_ver_14
377  	 */
378  	STATISTICS_CMD = 0x9c,
379  
380  	/**
381  	 * @STATISTICS_NOTIFICATION:
382  	 * one of &struct iwl_notif_statistics_v10,
383  	 * &struct iwl_notif_statistics_v11,
384  	 * &struct iwl_notif_statistic,
385  	 * &struct iwl_statistics_operational_ntfy_ver_14
386  	 * &struct iwl_statistics_operational_ntfy
387  	 */
388  	STATISTICS_NOTIFICATION = 0x9d,
389  
390  	/**
391  	 * @EOSP_NOTIFICATION:
392  	 * Notify that a service period ended,
393  	 * &struct iwl_mvm_eosp_notification
394  	 */
395  	EOSP_NOTIFICATION = 0x9e,
396  
397  	/**
398  	 * @REDUCE_TX_POWER_CMD:
399  	 * &struct iwl_dev_tx_power_cmd
400  	 */
401  	REDUCE_TX_POWER_CMD = 0x9f,
402  
403  	/**
404  	 * @MISSED_BEACONS_NOTIFICATION: &struct iwl_missed_beacons_notif_v4
405  	 */
406  	MISSED_BEACONS_NOTIFICATION = 0xa2,
407  
408  	/**
409  	 * @MAC_PM_POWER_TABLE: using &struct iwl_mac_power_cmd
410  	 */
411  	MAC_PM_POWER_TABLE = 0xa9,
412  
413  	/**
414  	 * @MFUART_LOAD_NOTIFICATION: &struct iwl_mfuart_load_notif
415  	 */
416  	MFUART_LOAD_NOTIFICATION = 0xb1,
417  
418  	/**
419  	 * @RSS_CONFIG_CMD: &struct iwl_rss_config_cmd
420  	 */
421  	RSS_CONFIG_CMD = 0xb3,
422  
423  	/**
424  	 * @REPLY_RX_PHY_CMD: &struct iwl_rx_phy_info
425  	 */
426  	REPLY_RX_PHY_CMD = 0xc0,
427  
428  	/**
429  	 * @REPLY_RX_MPDU_CMD:
430  	 * &struct iwl_rx_mpdu_res_start or &struct iwl_rx_mpdu_desc
431  	 */
432  	REPLY_RX_MPDU_CMD = 0xc1,
433  
434  	/**
435  	 * @BAR_FRAME_RELEASE: Frame release from BAR notification, used for
436  	 *	multi-TID BAR (previously, the BAR frame itself was reported
437  	 *	instead). Uses &struct iwl_bar_frame_release.
438  	 */
439  	BAR_FRAME_RELEASE = 0xc2,
440  
441  	/**
442  	 * @FRAME_RELEASE:
443  	 * Frame release (reorder helper) notification, uses
444  	 * &struct iwl_frame_release
445  	 */
446  	FRAME_RELEASE = 0xc3,
447  
448  	/**
449  	 * @BA_NOTIF:
450  	 * BlockAck notification, uses &struct iwl_mvm_compressed_ba_notif
451  	 * or &struct iwl_mvm_ba_notif depending on the HW
452  	 */
453  	BA_NOTIF = 0xc5,
454  
455  	/* Location Aware Regulatory */
456  	/**
457  	 * @MCC_UPDATE_CMD: using &struct iwl_mcc_update_cmd
458  	 */
459  	MCC_UPDATE_CMD = 0xc8,
460  
461  	/**
462  	 * @MCC_CHUB_UPDATE_CMD: using &struct iwl_mcc_chub_notif
463  	 */
464  	MCC_CHUB_UPDATE_CMD = 0xc9,
465  
466  	/**
467  	 * @MARKER_CMD: trace marker command, uses &struct iwl_mvm_marker
468  	 * with &struct iwl_mvm_marker_rsp
469  	 */
470  	MARKER_CMD = 0xcb,
471  
472  	/**
473  	 * @BT_PROFILE_NOTIFICATION: &struct iwl_bt_coex_prof_old_notif
474  	 */
475  	BT_PROFILE_NOTIFICATION = 0xce,
476  
477  	/**
478  	 * @BT_CONFIG: &struct iwl_bt_coex_cmd
479  	 */
480  	BT_CONFIG = 0x9b,
481  
482  	/**
483  	 * @BT_COEX_UPDATE_REDUCED_TXP:
484  	 * &struct iwl_bt_coex_reduced_txp_update_cmd
485  	 */
486  	BT_COEX_UPDATE_REDUCED_TXP = 0x5c,
487  
488  	/**
489  	 * @BT_COEX_CI: &struct iwl_bt_coex_ci_cmd
490  	 */
491  	BT_COEX_CI = 0x5d,
492  
493  	/**
494  	 * @REPLY_SF_CFG_CMD: &struct iwl_sf_cfg_cmd
495  	 */
496  	REPLY_SF_CFG_CMD = 0xd1,
497  	/**
498  	 * @REPLY_BEACON_FILTERING_CMD: &struct iwl_beacon_filter_cmd
499  	 */
500  	REPLY_BEACON_FILTERING_CMD = 0xd2,
501  
502  	/**
503  	 * @DTS_MEASUREMENT_NOTIFICATION:
504  	 * &struct iwl_dts_measurement_notif_v1 or
505  	 * &struct iwl_dts_measurement_notif_v2
506  	 */
507  	DTS_MEASUREMENT_NOTIFICATION = 0xdd,
508  
509  	/**
510  	 * @LDBG_CONFIG_CMD: configure continuous trace recording
511  	 */
512  	LDBG_CONFIG_CMD = 0xf6,
513  
514  	/**
515  	 * @DEBUG_LOG_MSG: Debugging log data from firmware
516  	 */
517  	DEBUG_LOG_MSG = 0xf7,
518  
519  	/**
520  	 * @MCAST_FILTER_CMD: &struct iwl_mcast_filter_cmd
521  	 */
522  	MCAST_FILTER_CMD = 0xd0,
523  
524  	/**
525  	 * @D3_CONFIG_CMD: &struct iwl_d3_manager_config
526  	 */
527  	D3_CONFIG_CMD = 0xd3,
528  
529  	/**
530  	 * @PROT_OFFLOAD_CONFIG_CMD: Depending on firmware, uses one of
531  	 * &struct iwl_proto_offload_cmd_v1, &struct iwl_proto_offload_cmd_v2,
532  	 * &struct iwl_proto_offload_cmd_v3_small,
533  	 * &struct iwl_proto_offload_cmd_v3_large
534  	 */
535  	PROT_OFFLOAD_CONFIG_CMD = 0xd4,
536  
537  	/**
538  	 * @D0I3_END_CMD: End D0i3/D3 state, no command data
539  	 */
540  	D0I3_END_CMD = 0xed,
541  
542  	/**
543  	 * @WOWLAN_PATTERNS: &struct iwl_wowlan_patterns_cmd
544  	 */
545  	WOWLAN_PATTERNS = 0xe0,
546  
547  	/**
548  	 * @WOWLAN_CONFIGURATION: &struct iwl_wowlan_config_cmd
549  	 */
550  	WOWLAN_CONFIGURATION = 0xe1,
551  
552  	/**
553  	 * @WOWLAN_TSC_RSC_PARAM: &struct iwl_wowlan_rsc_tsc_params_cmd_v4,
554  	 *	&struct iwl_wowlan_rsc_tsc_params_cmd
555  	 */
556  	WOWLAN_TSC_RSC_PARAM = 0xe2,
557  
558  	/**
559  	 * @WOWLAN_TKIP_PARAM: &struct iwl_wowlan_tkip_params_cmd
560  	 */
561  	WOWLAN_TKIP_PARAM = 0xe3,
562  
563  	/**
564  	 * @WOWLAN_KEK_KCK_MATERIAL: &struct iwl_wowlan_kek_kck_material_cmd_v2,
565  	 * &struct iwl_wowlan_kek_kck_material_cmd_v3 or
566  	 * &struct iwl_wowlan_kek_kck_material_cmd_v4
567  	 */
568  	WOWLAN_KEK_KCK_MATERIAL = 0xe4,
569  
570  	/**
571  	 * @WOWLAN_GET_STATUSES: response in &struct iwl_wowlan_status_v6,
572  	 *	&struct iwl_wowlan_status_v7, &struct iwl_wowlan_status_v9 or
573  	 *	&struct iwl_wowlan_status_v12
574  	 */
575  	WOWLAN_GET_STATUSES = 0xe5,
576  
577  	/**
578  	 * @SCAN_OFFLOAD_PROFILES_QUERY_CMD: No command data, response is
579  	 *	&struct iwl_scan_offload_profiles_query_v1
580  	 */
581  	SCAN_OFFLOAD_PROFILES_QUERY_CMD = 0x56,
582  };
583  
584  /**
585   * enum iwl_system_subcmd_ids - system group command IDs
586   */
587  enum iwl_system_subcmd_ids {
588  	/**
589  	 * @SHARED_MEM_CFG_CMD:
590  	 * response in &struct iwl_shared_mem_cfg or
591  	 * &struct iwl_shared_mem_cfg_v2
592  	 */
593  	SHARED_MEM_CFG_CMD = 0x0,
594  
595  	/**
596  	 * @SOC_CONFIGURATION_CMD: &struct iwl_soc_configuration_cmd
597  	 */
598  	SOC_CONFIGURATION_CMD = 0x01,
599  
600  	/**
601  	 * @INIT_EXTENDED_CFG_CMD: &struct iwl_init_extended_cfg_cmd
602  	 */
603  	INIT_EXTENDED_CFG_CMD = 0x03,
604  
605  	/**
606  	 * @FW_ERROR_RECOVERY_CMD: &struct iwl_fw_error_recovery_cmd
607  	 */
608  	FW_ERROR_RECOVERY_CMD = 0x7,
609  
610  	/**
611  	 * @RFI_CONFIG_CMD: &struct iwl_rfi_config_cmd
612  	 */
613  	RFI_CONFIG_CMD = 0xb,
614  
615  	/**
616  	 * @RFI_GET_FREQ_TABLE_CMD: &struct iwl_rfi_config_cmd
617  	 */
618  	RFI_GET_FREQ_TABLE_CMD = 0xc,
619  
620  	/**
621  	 * @SYSTEM_FEATURES_CONTROL_CMD: &struct iwl_system_features_control_cmd
622  	 */
623  	SYSTEM_FEATURES_CONTROL_CMD = 0xd,
624  
625  	/**
626  	 * @SYSTEM_STATISTICS_CMD: &struct iwl_system_statistics_cmd
627  	 */
628  	SYSTEM_STATISTICS_CMD = 0xf,
629  
630  	/**
631  	 * @SYSTEM_STATISTICS_END_NOTIF: &struct iwl_system_statistics_end_notif
632  	 */
633  	SYSTEM_STATISTICS_END_NOTIF = 0xfd,
634  
635  	/**
636  	 * @RFI_DEACTIVATE_NOTIF: &struct iwl_rfi_deactivate_notif
637  	 */
638  	RFI_DEACTIVATE_NOTIF = 0xff,
639  };
640  
641  /**
642   * enum iwl_statistics_subcmd_ids - Statistics group command IDs
643   */
644  enum iwl_statistics_subcmd_ids {
645  	/**
646  	 * @STATISTICS_OPER_NOTIF: Notification about operational
647  	 *	statistics &struct iwl_system_statistics_notif_oper
648  	 */
649  	STATISTICS_OPER_NOTIF = 0x0,
650  
651  	/**
652  	 * @STATISTICS_OPER_PART1_NOTIF: Notification about operational part1
653  	 *	statistics &struct iwl_system_statistics_part1_notif_oper
654  	 */
655  	STATISTICS_OPER_PART1_NOTIF = 0x1,
656  };
657  
658  #endif /* __iwl_fw_api_commands_h__ */
659