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