2
2
/******************************************************************************
3
3
*
4
4
* Copyright(c) 2008 - 2014 Intel Corporation. All rights reserved.
5
- * Copyright(c) 2018 - 2020, 2023 Intel Corporation
5
+ * Copyright(c) 2018 - 2020, 2023, 2025 Intel Corporation
6
6
*****************************************************************************/
7
7
8
8
#include <linux/module.h>
40
40
#define IWL135_FW_PRE "iwlwifi-135"
41
41
#define IWL135_MODULE_FIRMWARE (api ) IWL135_FW_PRE "-" __stringify(api) ".ucode"
42
42
43
- static const struct iwl_base_params iwl2000_base_params = {
43
+ static const struct iwl_family_base_params iwl2000_base = {
44
44
.eeprom_size = OTP_LOW_IMAGE_SIZE_2K ,
45
45
.num_of_queues = IWLAGN_NUM_QUEUES ,
46
46
.max_tfd_queue_size = 256 ,
@@ -54,7 +54,7 @@ static const struct iwl_base_params iwl2000_base_params = {
54
54
};
55
55
56
56
57
- static const struct iwl_base_params iwl2030_base_params = {
57
+ static const struct iwl_family_base_params iwl2030_base = {
58
58
.eeprom_size = OTP_LOW_IMAGE_SIZE_2K ,
59
59
.num_of_queues = IWLAGN_NUM_QUEUES ,
60
60
.max_tfd_queue_size = 256 ,
@@ -67,12 +67,6 @@ static const struct iwl_base_params iwl2030_base_params = {
67
67
.scd_chain_ext_wa = true,
68
68
};
69
69
70
- static const struct iwl_ht_params iwl2000_ht_params = {
71
- .ht_greenfield_support = true,
72
- .use_rts_for_aggregation = true, /* use rts/cts protection */
73
- .ht40_bands = BIT (NL80211_BAND_2GHZ ),
74
- };
75
-
76
70
static const struct iwl_eeprom_params iwl20x0_eeprom_params = {
77
71
.regulatory_bands = {
78
72
EEPROM_REG_BAND_1_CHANNELS ,
@@ -86,97 +80,119 @@ static const struct iwl_eeprom_params iwl20x0_eeprom_params = {
86
80
.enhanced_txpower = true,
87
81
};
88
82
83
+ const struct iwl_mac_cfg iwl2000_mac_cfg = {
84
+ .device_family = IWL_DEVICE_FAMILY_2000 ,
85
+ .base = & iwl2000_base ,
86
+ };
87
+
89
88
#define IWL_DEVICE_2000 \
90
89
.fw_name_pre = IWL2000_FW_PRE, \
91
90
.ucode_api_max = IWL2000_UCODE_API_MAX, \
92
91
.ucode_api_min = IWL2000_UCODE_API_MIN, \
93
- .trans.device_family = IWL_DEVICE_FAMILY_2000, \
94
92
.max_inst_size = IWL60_RTC_INST_SIZE, \
95
93
.max_data_size = IWL60_RTC_DATA_SIZE, \
96
94
.nvm_ver = EEPROM_2000_EEPROM_VERSION, \
97
95
.nvm_calib_ver = EEPROM_2000_TX_POWER_VERSION, \
98
- .trans.base_params = &iwl2000_base_params, \
99
96
.eeprom_params = &iwl20x0_eeprom_params, \
100
97
.led_mode = IWL_LED_RF_STATE
101
98
102
99
103
- const struct iwl_cfg iwl2000_2bgn_cfg = {
104
- .name = "Intel(R) Centrino(R) Wireless-N 2200 BGN" ,
100
+ const struct iwl_rf_cfg iwl2000_2bgn_cfg = {
105
101
IWL_DEVICE_2000 ,
106
- .ht_params = & iwl2000_ht_params ,
102
+ .ht_params = {
103
+ .ht_greenfield_support = true,
104
+ .use_rts_for_aggregation = true, /* use rts/cts protection */
105
+ .ht40_bands = BIT (NL80211_BAND_2GHZ ),
106
+ },
107
107
};
108
108
109
- const struct iwl_cfg iwl2000_2bgn_d_cfg = {
110
- .name = "Intel(R) Centrino(R) Wireless-N 2200D BGN" ,
111
- IWL_DEVICE_2000 ,
112
- .ht_params = & iwl2000_ht_params ,
109
+ const char iwl2000_2bgn_name [] = "Intel(R) Centrino(R) Wireless-N 2200 BGN" ;
110
+ const char iwl2000_2bgn_d_name [] = "Intel(R) Centrino(R) Wireless-N 2200D BGN" ;
111
+
112
+ const struct iwl_mac_cfg iwl2030_mac_cfg = {
113
+ .device_family = IWL_DEVICE_FAMILY_2030 ,
114
+ .base = & iwl2030_base ,
113
115
};
114
116
115
117
#define IWL_DEVICE_2030 \
116
118
.fw_name_pre = IWL2030_FW_PRE, \
117
119
.ucode_api_max = IWL2030_UCODE_API_MAX, \
118
120
.ucode_api_min = IWL2030_UCODE_API_MIN, \
119
- .trans.device_family = IWL_DEVICE_FAMILY_2030, \
120
121
.max_inst_size = IWL60_RTC_INST_SIZE, \
121
122
.max_data_size = IWL60_RTC_DATA_SIZE, \
122
123
.nvm_ver = EEPROM_2000_EEPROM_VERSION, \
123
124
.nvm_calib_ver = EEPROM_2000_TX_POWER_VERSION, \
124
- .trans.base_params = &iwl2030_base_params, \
125
125
.eeprom_params = &iwl20x0_eeprom_params, \
126
126
.led_mode = IWL_LED_RF_STATE
127
127
128
- const struct iwl_cfg iwl2030_2bgn_cfg = {
129
- .name = "Intel(R) Centrino(R) Wireless-N 2230 BGN" ,
128
+ const struct iwl_rf_cfg iwl2030_2bgn_cfg = {
130
129
IWL_DEVICE_2030 ,
131
- .ht_params = & iwl2000_ht_params ,
130
+ .ht_params = {
131
+ .ht_greenfield_support = true,
132
+ .use_rts_for_aggregation = true, /* use rts/cts protection */
133
+ .ht40_bands = BIT (NL80211_BAND_2GHZ ),
134
+ },
135
+ };
136
+
137
+ const char iwl2030_2bgn_name [] = "Intel(R) Centrino(R) Wireless-N 2230 BGN" ;
138
+
139
+ const struct iwl_mac_cfg iwl105_mac_cfg = {
140
+ .device_family = IWL_DEVICE_FAMILY_105 ,
141
+ .base = & iwl2000_base ,
132
142
};
133
143
134
144
#define IWL_DEVICE_105 \
135
145
.fw_name_pre = IWL105_FW_PRE, \
136
146
.ucode_api_max = IWL105_UCODE_API_MAX, \
137
147
.ucode_api_min = IWL105_UCODE_API_MIN, \
138
- .trans.device_family = IWL_DEVICE_FAMILY_105, \
139
148
.max_inst_size = IWL60_RTC_INST_SIZE, \
140
149
.max_data_size = IWL60_RTC_DATA_SIZE, \
141
150
.nvm_ver = EEPROM_2000_EEPROM_VERSION, \
142
151
.nvm_calib_ver = EEPROM_2000_TX_POWER_VERSION, \
143
- .trans.base_params = &iwl2000_base_params, \
144
152
.eeprom_params = &iwl20x0_eeprom_params, \
145
153
.led_mode = IWL_LED_RF_STATE, \
146
154
.rx_with_siso_diversity = true
147
155
148
- const struct iwl_cfg iwl105_bgn_cfg = {
149
- .name = "Intel(R) Centrino(R) Wireless-N 105 BGN" ,
156
+ const struct iwl_rf_cfg iwl105_bgn_cfg = {
150
157
IWL_DEVICE_105 ,
151
- .ht_params = & iwl2000_ht_params ,
158
+ .ht_params = {
159
+ .ht_greenfield_support = true,
160
+ .use_rts_for_aggregation = true, /* use rts/cts protection */
161
+ .ht40_bands = BIT (NL80211_BAND_2GHZ ),
162
+ },
152
163
};
153
164
154
- const struct iwl_cfg iwl105_bgn_d_cfg = {
155
- .name = "Intel(R) Centrino(R) Wireless-N 105D BGN" ,
156
- IWL_DEVICE_105 ,
157
- .ht_params = & iwl2000_ht_params ,
165
+ const char iwl105_bgn_name [] = "Intel(R) Centrino(R) Wireless-N 105 BGN" ;
166
+ const char iwl105_bgn_d_name [] = "Intel(R) Centrino(R) Wireless-N 105D BGN" ;
167
+
168
+ const struct iwl_mac_cfg iwl135_mac_cfg = {
169
+ .device_family = IWL_DEVICE_FAMILY_135 ,
170
+ .base = & iwl2030_base ,
158
171
};
159
172
160
173
#define IWL_DEVICE_135 \
161
174
.fw_name_pre = IWL135_FW_PRE, \
162
175
.ucode_api_max = IWL135_UCODE_API_MAX, \
163
176
.ucode_api_min = IWL135_UCODE_API_MIN, \
164
- .trans.device_family = IWL_DEVICE_FAMILY_135, \
165
177
.max_inst_size = IWL60_RTC_INST_SIZE, \
166
178
.max_data_size = IWL60_RTC_DATA_SIZE, \
167
179
.nvm_ver = EEPROM_2000_EEPROM_VERSION, \
168
180
.nvm_calib_ver = EEPROM_2000_TX_POWER_VERSION, \
169
- .trans.base_params = &iwl2030_base_params, \
170
181
.eeprom_params = &iwl20x0_eeprom_params, \
171
182
.led_mode = IWL_LED_RF_STATE, \
172
183
.rx_with_siso_diversity = true
173
184
174
- const struct iwl_cfg iwl135_bgn_cfg = {
175
- .name = "Intel(R) Centrino(R) Wireless-N 135 BGN" ,
185
+ const struct iwl_rf_cfg iwl135_bgn_cfg = {
176
186
IWL_DEVICE_135 ,
177
- .ht_params = & iwl2000_ht_params ,
187
+ .ht_params = {
188
+ .ht_greenfield_support = true,
189
+ .use_rts_for_aggregation = true, /* use rts/cts protection */
190
+ .ht40_bands = BIT (NL80211_BAND_2GHZ ),
191
+ },
178
192
};
179
193
194
+ const char iwl135_bgn_name [] = "Intel(R) Centrino(R) Wireless-N 135 BGN" ;
195
+
180
196
MODULE_FIRMWARE (IWL2000_MODULE_FIRMWARE (IWL2000_UCODE_API_MAX ));
181
197
MODULE_FIRMWARE (IWL2030_MODULE_FIRMWARE (IWL2030_UCODE_API_MAX ));
182
198
MODULE_FIRMWARE (IWL105_MODULE_FIRMWARE (IWL105_UCODE_API_MAX ));
0 commit comments