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