Path: blob/main/sys/contrib/dev/iwlwifi/fw/api/config.h
48425 views
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */1/*2* Copyright (C) 2012-2014, 2018-2019, 2023-2024 Intel Corporation3* Copyright (C) 2013-2015 Intel Mobile Communications GmbH4* Copyright (C) 2016-2017 Intel Deutschland GmbH5*/6#ifndef __iwl_fw_api_config_h__7#define __iwl_fw_api_config_h__89/*10* struct iwl_dqa_enable_cmd11* @cmd_queue: the TXQ number of the command queue12*/13struct iwl_dqa_enable_cmd {14__le32 cmd_queue;15} __packed; /* DQA_CONTROL_CMD_API_S_VER_1 */1617/*18* struct iwl_tx_ant_cfg_cmd19* @valid: valid antenna configuration20*/21struct iwl_tx_ant_cfg_cmd {22__le32 valid;23} __packed;2425/**26* struct iwl_calib_ctrl - Calibration control struct.27* Sent as part of the phy configuration command.28* @flow_trigger: bitmap for which calibrations to perform according to29* flow triggers, using &enum iwl_calib_cfg30* @event_trigger: bitmap for which calibrations to perform according to31* event triggers, using &enum iwl_calib_cfg32*/33struct iwl_calib_ctrl {34__le32 flow_trigger;35__le32 event_trigger;36} __packed;3738/* This enum defines the bitmap of various calibrations to enable in both39* init ucode and runtime ucode through CALIBRATION_CFG_CMD.40*/41enum iwl_calib_cfg {42IWL_CALIB_CFG_XTAL_IDX = BIT(0),43IWL_CALIB_CFG_TEMPERATURE_IDX = BIT(1),44IWL_CALIB_CFG_VOLTAGE_READ_IDX = BIT(2),45IWL_CALIB_CFG_PAPD_IDX = BIT(3),46IWL_CALIB_CFG_TX_PWR_IDX = BIT(4),47IWL_CALIB_CFG_DC_IDX = BIT(5),48IWL_CALIB_CFG_BB_FILTER_IDX = BIT(6),49IWL_CALIB_CFG_LO_LEAKAGE_IDX = BIT(7),50IWL_CALIB_CFG_TX_IQ_IDX = BIT(8),51IWL_CALIB_CFG_TX_IQ_SKEW_IDX = BIT(9),52IWL_CALIB_CFG_RX_IQ_IDX = BIT(10),53IWL_CALIB_CFG_RX_IQ_SKEW_IDX = BIT(11),54IWL_CALIB_CFG_SENSITIVITY_IDX = BIT(12),55IWL_CALIB_CFG_CHAIN_NOISE_IDX = BIT(13),56IWL_CALIB_CFG_DISCONNECTED_ANT_IDX = BIT(14),57IWL_CALIB_CFG_ANT_COUPLING_IDX = BIT(15),58IWL_CALIB_CFG_DAC_IDX = BIT(16),59IWL_CALIB_CFG_ABS_IDX = BIT(17),60IWL_CALIB_CFG_AGC_IDX = BIT(18),61};6263/**64* struct iwl_phy_specific_cfg - specific PHY filter configuration65*66* Sent as part of the phy configuration command (v3) to configure specific FW67* defined PHY filters that can be applied to each antenna.68*69* @filter_cfg_chains: filter config id for LMAC1 chain A, LMAC1 chain B,70* LMAC2 chain A, LMAC2 chain B (in that order)71* values: 0: no filter; 0xffffffff: reserved; otherwise: filter id72*/73struct iwl_phy_specific_cfg {74__le32 filter_cfg_chains[4];75} __packed; /* PHY_SPECIFIC_CONFIGURATION_API_VER_1*/7677/**78* struct iwl_phy_cfg_cmd_v1 - Phy configuration command79*80* @phy_cfg: PHY configuration value, uses &enum iwl_fw_phy_cfg81* @calib_control: calibration control data82*/83struct iwl_phy_cfg_cmd_v1 {84__le32 phy_cfg;85struct iwl_calib_ctrl calib_control;86} __packed;8788/**89* struct iwl_phy_cfg_cmd_v3 - Phy configuration command (v3)90*91* @phy_cfg: PHY configuration value, uses &enum iwl_fw_phy_cfg92* @calib_control: calibration control data93* @phy_specific_cfg: configure predefined PHY filters94*/95struct iwl_phy_cfg_cmd_v3 {96__le32 phy_cfg;97struct iwl_calib_ctrl calib_control;98struct iwl_phy_specific_cfg phy_specific_cfg;99} __packed; /* PHY_CONFIGURATION_CMD_API_S_VER_3 */100101/*102* enum iwl_dc2dc_config_id - flag ids103*104* Ids of dc2dc configuration flags105*/106enum iwl_dc2dc_config_id {107DCDC_LOW_POWER_MODE_MSK_SET = 0x1, /* not used */108DCDC_FREQ_TUNE_SET = 0x2,109}; /* MARKER_ID_API_E_VER_1 */110111#endif /* __iwl_fw_api_config_h__ */112113114