Linux Audio

Check our new training course

Loading...
v6.13.7
  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 */
 38enum 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 */
 58enum 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 */
587enum 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 */
644enum 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__ */
v4.17
  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,
197	 *	response in &struct iwl_mvm_tx_resp or
198	 *	&struct iwl_mvm_tx_resp_v3
199	 */
200	TX_CMD = 0x1c,
201
202	/**
203	 * @TXPATH_FLUSH: &struct iwl_tx_path_flush_cmd
 
204	 */
205	TXPATH_FLUSH = 0x1e,
206
207	/**
208	 * @MGMT_MCAST_KEY:
209	 * &struct iwl_mvm_mgmt_mcast_key_cmd or
210	 * &struct iwl_mvm_mgmt_mcast_key_cmd_v1
211	 */
212	MGMT_MCAST_KEY = 0x1f,
213
214	/* scheduler config */
215	/**
216	 * @SCD_QUEUE_CFG: &struct iwl_scd_txq_cfg_cmd for older hardware,
217	 *	&struct iwl_tx_queue_cfg_cmd with &struct iwl_tx_queue_cfg_rsp
218	 *	for newer (22000) hardware.
219	 */
220	SCD_QUEUE_CFG = 0x1d,
221
222	/**
223	 * @WEP_KEY: uses &struct iwl_mvm_wep_key_cmd
224	 */
225	WEP_KEY = 0x20,
226
227	/**
228	 * @SHARED_MEM_CFG:
229	 * retrieve shared memory configuration - response in
230	 * &struct iwl_shared_mem_cfg
231	 */
232	SHARED_MEM_CFG = 0x25,
233
234	/**
235	 * @TDLS_CHANNEL_SWITCH_CMD: uses &struct iwl_tdls_channel_switch_cmd
236	 */
237	TDLS_CHANNEL_SWITCH_CMD = 0x27,
238
239	/**
240	 * @TDLS_CHANNEL_SWITCH_NOTIFICATION:
241	 * uses &struct iwl_tdls_channel_switch_notif
242	 */
243	TDLS_CHANNEL_SWITCH_NOTIFICATION = 0xaa,
244
245	/**
246	 * @TDLS_CONFIG_CMD:
247	 * &struct iwl_tdls_config_cmd, response in &struct iwl_tdls_config_res
248	 */
249	TDLS_CONFIG_CMD = 0xa7,
250
251	/**
252	 * @MAC_CONTEXT_CMD: &struct iwl_mac_ctx_cmd
253	 */
254	MAC_CONTEXT_CMD = 0x28,
255
256	/**
257	 * @TIME_EVENT_CMD:
258	 * &struct iwl_time_event_cmd, response in &struct iwl_time_event_resp
259	 */
260	TIME_EVENT_CMD = 0x29, /* both CMD and response */
261
262	/**
263	 * @TIME_EVENT_NOTIFICATION: &struct iwl_time_event_notif
264	 */
265	TIME_EVENT_NOTIFICATION = 0x2a,
266
267	/**
268	 * @BINDING_CONTEXT_CMD:
269	 * &struct iwl_binding_cmd or &struct iwl_binding_cmd_v1
270	 */
271	BINDING_CONTEXT_CMD = 0x2b,
272
273	/**
274	 * @TIME_QUOTA_CMD: &struct iwl_time_quota_cmd
275	 */
276	TIME_QUOTA_CMD = 0x2c,
277
278	/**
279	 * @NON_QOS_TX_COUNTER_CMD:
280	 * command is &struct iwl_nonqos_seq_query_cmd
281	 */
282	NON_QOS_TX_COUNTER_CMD = 0x2d,
283
284	/**
285	 * @LEDS_CMD: command is &struct iwl_led_cmd
286	 */
287	LEDS_CMD = 0x48,
288
289	/**
290	 * @LQ_CMD: using &struct iwl_lq_cmd
291	 */
292	LQ_CMD = 0x4e,
293
294	/**
295	 * @FW_PAGING_BLOCK_CMD:
296	 * &struct iwl_fw_paging_cmd
297	 */
298	FW_PAGING_BLOCK_CMD = 0x4f,
299
300	/**
301	 * @SCAN_OFFLOAD_REQUEST_CMD: uses &struct iwl_scan_req_lmac
302	 */
303	SCAN_OFFLOAD_REQUEST_CMD = 0x51,
304
305	/**
306	 * @SCAN_OFFLOAD_ABORT_CMD: abort the scan - no further contents
307	 */
308	SCAN_OFFLOAD_ABORT_CMD = 0x52,
309
310	/**
311	 * @HOT_SPOT_CMD: uses &struct iwl_hs20_roc_req
312	 */
313	HOT_SPOT_CMD = 0x53,
314
315	/**
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
316	 * @SCAN_OFFLOAD_COMPLETE:
317	 * notification, &struct iwl_periodic_scan_complete
318	 */
319	SCAN_OFFLOAD_COMPLETE = 0x6D,
320
321	/**
322	 * @SCAN_OFFLOAD_UPDATE_PROFILES_CMD:
323	 * update scan offload (scheduled scan) profiles/blacklist/etc.
324	 */
325	SCAN_OFFLOAD_UPDATE_PROFILES_CMD = 0x6E,
326
327	/**
328	 * @MATCH_FOUND_NOTIFICATION: scan match found
329	 */
330	MATCH_FOUND_NOTIFICATION = 0xd9,
331
332	/**
333	 * @SCAN_ITERATION_COMPLETE:
334	 * uses &struct iwl_lmac_scan_complete_notif
335	 */
336	SCAN_ITERATION_COMPLETE = 0xe7,
337
338	/* Phy */
339	/**
340	 * @PHY_CONFIGURATION_CMD: &struct iwl_phy_cfg_cmd
341	 */
342	PHY_CONFIGURATION_CMD = 0x6a,
343
344	/**
345	 * @CALIB_RES_NOTIF_PHY_DB: &struct iwl_calib_res_notif_phy_db
346	 */
347	CALIB_RES_NOTIF_PHY_DB = 0x6b,
348
349	/**
350	 * @PHY_DB_CMD: &struct iwl_phy_db_cmd
351	 */
352	PHY_DB_CMD = 0x6c,
353
354	/**
355	 * @TOF_CMD: &struct iwl_tof_config_cmd
356	 */
357	TOF_CMD = 0x10,
358
359	/**
360	 * @TOF_NOTIFICATION: &struct iwl_tof_gen_resp_cmd
361	 */
362	TOF_NOTIFICATION = 0x11,
363
364	/**
365	 * @POWER_TABLE_CMD: &struct iwl_device_power_cmd
366	 */
367	POWER_TABLE_CMD = 0x77,
368
369	/**
370	 * @PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION:
371	 * &struct iwl_uapsd_misbehaving_ap_notif
372	 */
373	PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION = 0x78,
374
375	/**
376	 * @LTR_CONFIG: &struct iwl_ltr_config_cmd
377	 */
378	LTR_CONFIG = 0xee,
379
380	/**
381	 * @REPLY_THERMAL_MNG_BACKOFF:
382	 * Thermal throttling command
383	 */
384	REPLY_THERMAL_MNG_BACKOFF = 0x7e,
385
386	/**
387	 * @DC2DC_CONFIG_CMD:
388	 * Set/Get DC2DC frequency tune
389	 * Command is &struct iwl_dc2dc_config_cmd,
390	 * response is &struct iwl_dc2dc_config_resp
391	 */
392	DC2DC_CONFIG_CMD = 0x83,
393
394	/**
395	 * @NVM_ACCESS_CMD: using &struct iwl_nvm_access_cmd
396	 */
397	NVM_ACCESS_CMD = 0x88,
398
399	/**
400	 * @BEACON_NOTIFICATION: &struct iwl_extended_beacon_notif
401	 */
402	BEACON_NOTIFICATION = 0x90,
403
404	/**
405	 * @BEACON_TEMPLATE_CMD:
406	 *	Uses one of &struct iwl_mac_beacon_cmd_v6,
407	 *	&struct iwl_mac_beacon_cmd_v7 or &struct iwl_mac_beacon_cmd
408	 *	depending on the device version.
409	 */
410	BEACON_TEMPLATE_CMD = 0x91,
411	/**
412	 * @TX_ANT_CONFIGURATION_CMD: &struct iwl_tx_ant_cfg_cmd
413	 */
414	TX_ANT_CONFIGURATION_CMD = 0x98,
415
416	/**
417	 * @STATISTICS_CMD: &struct iwl_statistics_cmd
 
 
 
 
 
418	 */
419	STATISTICS_CMD = 0x9c,
420
421	/**
422	 * @STATISTICS_NOTIFICATION:
423	 * one of &struct iwl_notif_statistics_v10,
424	 * &struct iwl_notif_statistics_v11,
425	 * &struct iwl_notif_statistics_cdb
 
 
426	 */
427	STATISTICS_NOTIFICATION = 0x9d,
428
429	/**
430	 * @EOSP_NOTIFICATION:
431	 * Notify that a service period ended,
432	 * &struct iwl_mvm_eosp_notification
433	 */
434	EOSP_NOTIFICATION = 0x9e,
435
436	/**
437	 * @REDUCE_TX_POWER_CMD:
438	 * &struct iwl_dev_tx_power_cmd_v3 or &struct iwl_dev_tx_power_cmd
439	 */
440	REDUCE_TX_POWER_CMD = 0x9f,
441
442	/**
443	 * @CARD_STATE_NOTIFICATION:
444	 * Card state (RF/CT kill) notification,
445	 * uses &struct iwl_card_state_notif
446	 */
447	CARD_STATE_NOTIFICATION = 0xa1,
448
449	/**
450	 * @MISSED_BEACONS_NOTIFICATION: &struct iwl_missed_beacons_notif
451	 */
452	MISSED_BEACONS_NOTIFICATION = 0xa2,
453
454	/**
455	 * @MAC_PM_POWER_TABLE: using &struct iwl_mac_power_cmd
456	 */
457	MAC_PM_POWER_TABLE = 0xa9,
458
459	/**
460	 * @MFUART_LOAD_NOTIFICATION: &struct iwl_mfuart_load_notif
461	 */
462	MFUART_LOAD_NOTIFICATION = 0xb1,
463
464	/**
465	 * @RSS_CONFIG_CMD: &struct iwl_rss_config_cmd
466	 */
467	RSS_CONFIG_CMD = 0xb3,
468
469	/**
470	 * @REPLY_RX_PHY_CMD: &struct iwl_rx_phy_info
471	 */
472	REPLY_RX_PHY_CMD = 0xc0,
473
474	/**
475	 * @REPLY_RX_MPDU_CMD:
476	 * &struct iwl_rx_mpdu_res_start or &struct iwl_rx_mpdu_desc
477	 */
478	REPLY_RX_MPDU_CMD = 0xc1,
479
480	/**
 
 
 
 
 
 
 
481	 * @FRAME_RELEASE:
482	 * Frame release (reorder helper) notification, uses
483	 * &struct iwl_frame_release
484	 */
485	FRAME_RELEASE = 0xc3,
486
487	/**
488	 * @BA_NOTIF:
489	 * BlockAck notification, uses &struct iwl_mvm_compressed_ba_notif
490	 * or &struct iwl_mvm_ba_notif depending on the HW
491	 */
492	BA_NOTIF = 0xc5,
493
494	/* Location Aware Regulatory */
495	/**
496	 * @MCC_UPDATE_CMD: using &struct iwl_mcc_update_cmd
497	 */
498	MCC_UPDATE_CMD = 0xc8,
499
500	/**
501	 * @MCC_CHUB_UPDATE_CMD: using &struct iwl_mcc_chub_notif
502	 */
503	MCC_CHUB_UPDATE_CMD = 0xc9,
504
505	/**
506	 * @MARKER_CMD: trace marker command, uses &struct iwl_mvm_marker
507	 * with &struct iwl_mvm_marker_rsp
508	 */
509	MARKER_CMD = 0xcb,
510
511	/**
512	 * @BT_PROFILE_NOTIFICATION: &struct iwl_bt_coex_profile_notif
513	 */
514	BT_PROFILE_NOTIFICATION = 0xce,
515
516	/**
517	 * @BT_CONFIG: &struct iwl_bt_coex_cmd
518	 */
519	BT_CONFIG = 0x9b,
520
521	/**
522	 * @BT_COEX_UPDATE_REDUCED_TXP:
523	 * &struct iwl_bt_coex_reduced_txp_update_cmd
524	 */
525	BT_COEX_UPDATE_REDUCED_TXP = 0x5c,
526
527	/**
528	 * @BT_COEX_CI: &struct iwl_bt_coex_ci_cmd
529	 */
530	BT_COEX_CI = 0x5d,
531
532	/**
533	 * @REPLY_SF_CFG_CMD: &struct iwl_sf_cfg_cmd
534	 */
535	REPLY_SF_CFG_CMD = 0xd1,
536	/**
537	 * @REPLY_BEACON_FILTERING_CMD: &struct iwl_beacon_filter_cmd
538	 */
539	REPLY_BEACON_FILTERING_CMD = 0xd2,
540
541	/**
542	 * @DTS_MEASUREMENT_NOTIFICATION:
543	 * &struct iwl_dts_measurement_notif_v1 or
544	 * &struct iwl_dts_measurement_notif_v2
545	 */
546	DTS_MEASUREMENT_NOTIFICATION = 0xdd,
547
548	/**
549	 * @LDBG_CONFIG_CMD: configure continuous trace recording
550	 */
551	LDBG_CONFIG_CMD = 0xf6,
552
553	/**
554	 * @DEBUG_LOG_MSG: Debugging log data from firmware
555	 */
556	DEBUG_LOG_MSG = 0xf7,
557
558	/**
559	 * @BCAST_FILTER_CMD: &struct iwl_bcast_filter_cmd
560	 */
561	BCAST_FILTER_CMD = 0xcf,
562
563	/**
564	 * @MCAST_FILTER_CMD: &struct iwl_mcast_filter_cmd
565	 */
566	MCAST_FILTER_CMD = 0xd0,
567
568	/**
569	 * @D3_CONFIG_CMD: &struct iwl_d3_manager_config
570	 */
571	D3_CONFIG_CMD = 0xd3,
572
573	/**
574	 * @PROT_OFFLOAD_CONFIG_CMD: Depending on firmware, uses one of
575	 * &struct iwl_proto_offload_cmd_v1, &struct iwl_proto_offload_cmd_v2,
576	 * &struct iwl_proto_offload_cmd_v3_small,
577	 * &struct iwl_proto_offload_cmd_v3_large
578	 */
579	PROT_OFFLOAD_CONFIG_CMD = 0xd4,
580
581	/**
582	 * @OFFLOADS_QUERY_CMD:
583	 * No data in command, response in &struct iwl_wowlan_status
584	 */
585	OFFLOADS_QUERY_CMD = 0xd5,
586
587	/**
588	 * @REMOTE_WAKE_CONFIG_CMD: &struct iwl_wowlan_remote_wake_config
589	 */
590	REMOTE_WAKE_CONFIG_CMD = 0xd6,
591
592	/**
593	 * @D0I3_END_CMD: End D0i3/D3 state, no command data
594	 */
595	D0I3_END_CMD = 0xed,
596
597	/**
598	 * @WOWLAN_PATTERNS: &struct iwl_wowlan_patterns_cmd
599	 */
600	WOWLAN_PATTERNS = 0xe0,
601
602	/**
603	 * @WOWLAN_CONFIGURATION: &struct iwl_wowlan_config_cmd
604	 */
605	WOWLAN_CONFIGURATION = 0xe1,
606
607	/**
608	 * @WOWLAN_TSC_RSC_PARAM: &struct iwl_wowlan_rsc_tsc_params_cmd
 
609	 */
610	WOWLAN_TSC_RSC_PARAM = 0xe2,
611
612	/**
613	 * @WOWLAN_TKIP_PARAM: &struct iwl_wowlan_tkip_params_cmd
614	 */
615	WOWLAN_TKIP_PARAM = 0xe3,
616
617	/**
618	 * @WOWLAN_KEK_KCK_MATERIAL: &struct iwl_wowlan_kek_kck_material_cmd
 
 
619	 */
620	WOWLAN_KEK_KCK_MATERIAL = 0xe4,
621
622	/**
623	 * @WOWLAN_GET_STATUSES: response in &struct iwl_wowlan_status
 
 
624	 */
625	WOWLAN_GET_STATUSES = 0xe5,
626
627	/**
628	 * @SCAN_OFFLOAD_PROFILES_QUERY_CMD:
629	 * No command data, response is &struct iwl_scan_offload_profiles_query
630	 */
631	SCAN_OFFLOAD_PROFILES_QUERY_CMD = 0x56,
632};
633
634/**
635 * enum iwl_system_subcmd_ids - system group command IDs
636 */
637enum iwl_system_subcmd_ids {
638	/**
639	 * @SHARED_MEM_CFG_CMD:
640	 * response in &struct iwl_shared_mem_cfg or
641	 * &struct iwl_shared_mem_cfg_v2
642	 */
643	SHARED_MEM_CFG_CMD = 0x0,
644
645	/**
 
 
 
 
 
646	 * @INIT_EXTENDED_CFG_CMD: &struct iwl_init_extended_cfg_cmd
647	 */
648	INIT_EXTENDED_CFG_CMD = 0x03,
649
650	/**
651	 * @FSEQ_VER_MISMATCH_NTF: Notification about fseq version
652	 *	mismatch during init.  The format is specified in
653	 *	&struct iwl_fseq_ver_mismatch_ntf.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
654	 */
655	FSEQ_VER_MISMATCH_NTF = 0xFF,
656};
657
658#endif /* __iwl_fw_api_commands_h__ */