xref: /linux/drivers/net/wireless/intel/iwlwifi/fw/api/system.h (revision 34f7c6e7d4396090692a09789db231e12cb4762b)
1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2 /*
3  * Copyright (C) 2012-2014, 2019-2021 Intel Corporation
4  * Copyright (C) 2013-2015 Intel Mobile Communications GmbH
5  * Copyright (C) 2016-2017 Intel Deutschland GmbH
6  */
7 #ifndef __iwl_fw_api_system_h__
8 #define __iwl_fw_api_system_h__
9 
10 #define SOC_CONFIG_CMD_FLAGS_DISCRETE		BIT(0)
11 #define SOC_CONFIG_CMD_FLAGS_LOW_LATENCY	BIT(1)
12 
13 #define SOC_FLAGS_LTR_APPLY_DELAY_MASK		0xc
14 #define SOC_FLAGS_LTR_APPLY_DELAY_NONE		0
15 #define SOC_FLAGS_LTR_APPLY_DELAY_200		1
16 #define SOC_FLAGS_LTR_APPLY_DELAY_2500		2
17 #define SOC_FLAGS_LTR_APPLY_DELAY_1820		3
18 
19 /**
20  * struct iwl_soc_configuration_cmd - Set device stabilization latency
21  *
22  * @flags: soc settings flags.  In VER_1, we can only set the DISCRETE
23  *	flag, because the FW treats the whole value as an integer. In
24  *	VER_2, we can set the bits independently.
25  * @latency: time for SOC to ensure stable power & XTAL
26  */
27 struct iwl_soc_configuration_cmd {
28 	__le32 flags;
29 	__le32 latency;
30 } __packed; /*
31 	     * SOC_CONFIGURATION_CMD_S_VER_1 (see description above)
32 	     * SOC_CONFIGURATION_CMD_S_VER_2
33 	     */
34 
35 /**
36  * struct iwl_system_features_control_cmd - system features control command
37  * @features: bitmap of features to disable
38  */
39 struct iwl_system_features_control_cmd {
40 	__le32 features[4];
41 } __packed; /* SYSTEM_FEATURES_CONTROL_CMD_API_S_VER_1 */
42 
43 #endif /* __iwl_fw_api_system_h__ */
44