.. | .. |
---|
8 | 8 | * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. |
---|
9 | 9 | * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH |
---|
10 | 10 | * Copyright(c) 2016 - 2017 Intel Deutschland GmbH |
---|
| 11 | + * Copyright (C) 2018 - 2019 Intel Corporation |
---|
11 | 12 | * |
---|
12 | 13 | * This program is free software; you can redistribute it and/or modify |
---|
13 | 14 | * it under the terms of version 2 of the GNU General Public License as |
---|
.. | .. |
---|
30 | 31 | * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. |
---|
31 | 32 | * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH |
---|
32 | 33 | * Copyright(c) 2016 - 2017 Intel Deutschland GmbH |
---|
| 34 | + * Copyright (C) 2018 - 2019 Intel Corporation |
---|
33 | 35 | * All rights reserved. |
---|
34 | 36 | * |
---|
35 | 37 | * Redistribution and use in source and binary forms, with or without |
---|
.. | .. |
---|
118 | 120 | }; |
---|
119 | 121 | |
---|
120 | 122 | /** |
---|
| 123 | + * struct iwl_phy_specific_cfg - specific PHY filter configuration |
---|
| 124 | + * |
---|
| 125 | + * Sent as part of the phy configuration command (v3) to configure specific FW |
---|
| 126 | + * defined PHY filters that can be applied to each antenna. |
---|
| 127 | + * |
---|
| 128 | + * @filter_cfg_chain_a: filter config id for LMAC1 chain A |
---|
| 129 | + * @filter_cfg_chain_b: filter config id for LMAC1 chain B |
---|
| 130 | + * @filter_cfg_chain_c: filter config id for LMAC2 chain A |
---|
| 131 | + * @filter_cfg_chain_d: filter config id for LMAC2 chain B |
---|
| 132 | + * values: 0 - no filter; 0xffffffff - reserved; otherwise - filter id |
---|
| 133 | + */ |
---|
| 134 | +struct iwl_phy_specific_cfg { |
---|
| 135 | + __le32 filter_cfg_chain_a; |
---|
| 136 | + __le32 filter_cfg_chain_b; |
---|
| 137 | + __le32 filter_cfg_chain_c; |
---|
| 138 | + __le32 filter_cfg_chain_d; |
---|
| 139 | +} __packed; /* PHY_SPECIFIC_CONFIGURATION_API_VER_1*/ |
---|
| 140 | + |
---|
| 141 | +/** |
---|
121 | 142 | * struct iwl_phy_cfg_cmd - Phy configuration command |
---|
| 143 | + * |
---|
122 | 144 | * @phy_cfg: PHY configuration value, uses &enum iwl_fw_phy_cfg |
---|
123 | 145 | * @calib_control: calibration control data |
---|
124 | 146 | */ |
---|
125 | | -struct iwl_phy_cfg_cmd { |
---|
| 147 | +struct iwl_phy_cfg_cmd_v1 { |
---|
126 | 148 | __le32 phy_cfg; |
---|
127 | 149 | struct iwl_calib_ctrl calib_control; |
---|
128 | 150 | } __packed; |
---|
129 | 151 | |
---|
130 | | -#define PHY_CFG_RADIO_TYPE (BIT(0) | BIT(1)) |
---|
131 | | -#define PHY_CFG_RADIO_STEP (BIT(2) | BIT(3)) |
---|
132 | | -#define PHY_CFG_RADIO_DASH (BIT(4) | BIT(5)) |
---|
133 | | -#define PHY_CFG_PRODUCT_NUMBER (BIT(6) | BIT(7)) |
---|
134 | | -#define PHY_CFG_TX_CHAIN_A BIT(8) |
---|
135 | | -#define PHY_CFG_TX_CHAIN_B BIT(9) |
---|
136 | | -#define PHY_CFG_TX_CHAIN_C BIT(10) |
---|
137 | | -#define PHY_CFG_RX_CHAIN_A BIT(12) |
---|
138 | | -#define PHY_CFG_RX_CHAIN_B BIT(13) |
---|
139 | | -#define PHY_CFG_RX_CHAIN_C BIT(14) |
---|
| 152 | +/** |
---|
| 153 | + * struct iwl_phy_cfg_cmd_v3 - Phy configuration command (v3) |
---|
| 154 | + * |
---|
| 155 | + * @phy_cfg: PHY configuration value, uses &enum iwl_fw_phy_cfg |
---|
| 156 | + * @calib_control: calibration control data |
---|
| 157 | + * @phy_specific_cfg: configure predefined PHY filters |
---|
| 158 | + */ |
---|
| 159 | +struct iwl_phy_cfg_cmd_v3 { |
---|
| 160 | + __le32 phy_cfg; |
---|
| 161 | + struct iwl_calib_ctrl calib_control; |
---|
| 162 | + struct iwl_phy_specific_cfg phy_specific_cfg; |
---|
| 163 | +} __packed; /* PHY_CONFIGURATION_CMD_API_S_VER_3 */ |
---|
140 | 164 | |
---|
141 | 165 | /* |
---|
142 | 166 | * enum iwl_dc2dc_config_id - flag ids |
---|