aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2009-09-17 13:43:53 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-10-07 16:39:35 -0400
commit5953a62e7df064a5d7ba7e790d590f27c65ddf4c (patch)
treeed0531c4345d24525739bd9f94b59971e320e931 /drivers/net/wireless/iwlwifi
parent4bd0914fa2a09d655c54fb0355aed7f9182b2187 (diff)
iwlwifi: update PCI Subsystem ID for 6000 series
Update PCI Subsystem ID for 60x0 series based on HW SKU. Adding new SKU for "ABG" and "BG" only devices. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-6000.c105
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c43
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-dev.h5
3 files changed, 142 insertions, 11 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c
index 0d2cbab1f7d2..01a1f81cba2a 100644
--- a/drivers/net/wireless/iwlwifi/iwl-6000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-6000.c
@@ -262,6 +262,48 @@ struct iwl_cfg iwl6000h_2agn_cfg = {
262 .use_rts_for_ht = true, /* use rts/cts protection */ 262 .use_rts_for_ht = true, /* use rts/cts protection */
263}; 263};
264 264
265struct iwl_cfg iwl6000h_2abg_cfg = {
266 .name = "6000 Series 2x2 ABG",
267 .fw_name_pre = IWL6000_FW_PRE,
268 .ucode_api_max = IWL6000_UCODE_API_MAX,
269 .ucode_api_min = IWL6000_UCODE_API_MIN,
270 .sku = IWL_SKU_A|IWL_SKU_G,
271 .ops = &iwl6000_ops,
272 .eeprom_size = OTP_LOW_IMAGE_SIZE,
273 .eeprom_ver = EEPROM_6000_EEPROM_VERSION,
274 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
275 .mod_params = &iwl50_mod_params,
276 .valid_tx_ant = ANT_AB,
277 .valid_rx_ant = ANT_AB,
278 .need_pll_cfg = false,
279 .pa_type = IWL_PA_HYBRID,
280 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
281 .shadow_ram_support = true,
282 .ht_greenfield_support = true,
283 .led_compensation = 51,
284};
285
286struct iwl_cfg iwl6000h_2bg_cfg = {
287 .name = "6000 Series 2x2 BG",
288 .fw_name_pre = IWL6000_FW_PRE,
289 .ucode_api_max = IWL6000_UCODE_API_MAX,
290 .ucode_api_min = IWL6000_UCODE_API_MIN,
291 .sku = IWL_SKU_G,
292 .ops = &iwl6000_ops,
293 .eeprom_size = OTP_LOW_IMAGE_SIZE,
294 .eeprom_ver = EEPROM_6000_EEPROM_VERSION,
295 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
296 .mod_params = &iwl50_mod_params,
297 .valid_tx_ant = ANT_AB,
298 .valid_rx_ant = ANT_AB,
299 .need_pll_cfg = false,
300 .pa_type = IWL_PA_HYBRID,
301 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
302 .shadow_ram_support = true,
303 .ht_greenfield_support = true,
304 .led_compensation = 51,
305};
306
265/* 307/*
266 * "i": Internal configuration, use internal Power Amplifier 308 * "i": Internal configuration, use internal Power Amplifier
267 */ 309 */
@@ -287,6 +329,48 @@ struct iwl_cfg iwl6000i_2agn_cfg = {
287 .use_rts_for_ht = true, /* use rts/cts protection */ 329 .use_rts_for_ht = true, /* use rts/cts protection */
288}; 330};
289 331
332struct iwl_cfg iwl6000i_2abg_cfg = {
333 .name = "6000 Series 2x2 ABG",
334 .fw_name_pre = IWL6000_FW_PRE,
335 .ucode_api_max = IWL6000_UCODE_API_MAX,
336 .ucode_api_min = IWL6000_UCODE_API_MIN,
337 .sku = IWL_SKU_A|IWL_SKU_G,
338 .ops = &iwl6000_ops,
339 .eeprom_size = OTP_LOW_IMAGE_SIZE,
340 .eeprom_ver = EEPROM_6000_EEPROM_VERSION,
341 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
342 .mod_params = &iwl50_mod_params,
343 .valid_tx_ant = ANT_BC,
344 .valid_rx_ant = ANT_BC,
345 .need_pll_cfg = false,
346 .pa_type = IWL_PA_INTERNAL,
347 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
348 .shadow_ram_support = true,
349 .ht_greenfield_support = true,
350 .led_compensation = 51,
351};
352
353struct iwl_cfg iwl6000i_2bg_cfg = {
354 .name = "6000 Series 2x2 BG",
355 .fw_name_pre = IWL6000_FW_PRE,
356 .ucode_api_max = IWL6000_UCODE_API_MAX,
357 .ucode_api_min = IWL6000_UCODE_API_MIN,
358 .sku = IWL_SKU_G,
359 .ops = &iwl6000_ops,
360 .eeprom_size = OTP_LOW_IMAGE_SIZE,
361 .eeprom_ver = EEPROM_6000_EEPROM_VERSION,
362 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
363 .mod_params = &iwl50_mod_params,
364 .valid_tx_ant = ANT_BC,
365 .valid_rx_ant = ANT_BC,
366 .need_pll_cfg = false,
367 .pa_type = IWL_PA_INTERNAL,
368 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
369 .shadow_ram_support = true,
370 .ht_greenfield_support = true,
371 .led_compensation = 51,
372};
373
290struct iwl_cfg iwl6050_2agn_cfg = { 374struct iwl_cfg iwl6050_2agn_cfg = {
291 .name = "6050 Series 2x2 AGN", 375 .name = "6050 Series 2x2 AGN",
292 .fw_name_pre = IWL6050_FW_PRE, 376 .fw_name_pre = IWL6050_FW_PRE,
@@ -309,6 +393,27 @@ struct iwl_cfg iwl6050_2agn_cfg = {
309 .use_rts_for_ht = true, /* use rts/cts protection */ 393 .use_rts_for_ht = true, /* use rts/cts protection */
310}; 394};
311 395
396struct iwl_cfg iwl6050_2abg_cfg = {
397 .name = "6050 Series 2x2 ABG",
398 .fw_name_pre = IWL6050_FW_PRE,
399 .ucode_api_max = IWL6050_UCODE_API_MAX,
400 .ucode_api_min = IWL6050_UCODE_API_MIN,
401 .sku = IWL_SKU_A|IWL_SKU_G,
402 .ops = &iwl6000_ops,
403 .eeprom_size = OTP_LOW_IMAGE_SIZE,
404 .eeprom_ver = EEPROM_6000_EEPROM_VERSION,
405 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
406 .mod_params = &iwl50_mod_params,
407 .valid_tx_ant = ANT_AB,
408 .valid_rx_ant = ANT_AB,
409 .need_pll_cfg = false,
410 .pa_type = IWL_PA_SYSTEM,
411 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
412 .shadow_ram_support = true,
413 .ht_greenfield_support = true,
414 .led_compensation = 51,
415};
416
312struct iwl_cfg iwl6000_3agn_cfg = { 417struct iwl_cfg iwl6000_3agn_cfg = {
313 .name = "6000 Series 3x3 AGN", 418 .name = "6000 Series 3x3 AGN",
314 .fw_name_pre = IWL6000_FW_PRE, 419 .fw_name_pre = IWL6000_FW_PRE,
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 0c95b0ec5fb3..26c66b4ffd60 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -3258,17 +3258,38 @@ static struct pci_device_id iwl_hw_card_ids[] = {
3258/* 5150 Wifi/WiMax */ 3258/* 5150 Wifi/WiMax */
3259 {IWL_PCI_DEVICE(0x423C, PCI_ANY_ID, iwl5150_agn_cfg)}, 3259 {IWL_PCI_DEVICE(0x423C, PCI_ANY_ID, iwl5150_agn_cfg)},
3260 {IWL_PCI_DEVICE(0x423D, PCI_ANY_ID, iwl5150_agn_cfg)}, 3260 {IWL_PCI_DEVICE(0x423D, PCI_ANY_ID, iwl5150_agn_cfg)},
3261/* 6000/6050 Series */ 3261
3262 {IWL_PCI_DEVICE(0x008D, PCI_ANY_ID, iwl6000h_2agn_cfg)}, 3262/* 6x00 Series */
3263 {IWL_PCI_DEVICE(0x008E, PCI_ANY_ID, iwl6000h_2agn_cfg)}, 3263 {IWL_PCI_DEVICE(0x008D, 0x1301, iwl6000h_2agn_cfg)},
3264 {IWL_PCI_DEVICE(0x422B, PCI_ANY_ID, iwl6000_3agn_cfg)}, 3264 {IWL_PCI_DEVICE(0x008D, 0x1321, iwl6000h_2agn_cfg)},
3265 {IWL_PCI_DEVICE(0x422C, PCI_ANY_ID, iwl6000i_2agn_cfg)}, 3265 {IWL_PCI_DEVICE(0x008D, 0x1326, iwl6000h_2abg_cfg)},
3266 {IWL_PCI_DEVICE(0x4238, PCI_ANY_ID, iwl6000_3agn_cfg)}, 3266 {IWL_PCI_DEVICE(0x008D, 0x1306, iwl6000h_2abg_cfg)},
3267 {IWL_PCI_DEVICE(0x4239, PCI_ANY_ID, iwl6000i_2agn_cfg)}, 3267 {IWL_PCI_DEVICE(0x008D, 0x1307, iwl6000h_2bg_cfg)},
3268 {IWL_PCI_DEVICE(0x0086, PCI_ANY_ID, iwl6050_3agn_cfg)}, 3268 {IWL_PCI_DEVICE(0x008E, 0x1311, iwl6000h_2agn_cfg)},
3269 {IWL_PCI_DEVICE(0x0087, PCI_ANY_ID, iwl6050_2agn_cfg)}, 3269 {IWL_PCI_DEVICE(0x008E, 0x1316, iwl6000h_2abg_cfg)},
3270 {IWL_PCI_DEVICE(0x0088, PCI_ANY_ID, iwl6050_3agn_cfg)}, 3270
3271 {IWL_PCI_DEVICE(0x0089, PCI_ANY_ID, iwl6050_2agn_cfg)}, 3271 {IWL_PCI_DEVICE(0x422B, 0x1101, iwl6000_3agn_cfg)},
3272 {IWL_PCI_DEVICE(0x422B, 0x1121, iwl6000_3agn_cfg)},
3273 {IWL_PCI_DEVICE(0x422C, 0x1301, iwl6000i_2agn_cfg)},
3274 {IWL_PCI_DEVICE(0x422C, 0x1306, iwl6000i_2abg_cfg)},
3275 {IWL_PCI_DEVICE(0x422C, 0x1307, iwl6000i_2bg_cfg)},
3276 {IWL_PCI_DEVICE(0x422C, 0x1321, iwl6000i_2agn_cfg)},
3277 {IWL_PCI_DEVICE(0x422C, 0x1326, iwl6000i_2abg_cfg)},
3278 {IWL_PCI_DEVICE(0x4238, 0x1111, iwl6000_3agn_cfg)},
3279 {IWL_PCI_DEVICE(0x4239, 0x1311, iwl6000i_2agn_cfg)},
3280 {IWL_PCI_DEVICE(0x4239, 0x1316, iwl6000i_2abg_cfg)},
3281
3282/* 6x50 WiFi/WiMax Series */
3283 {IWL_PCI_DEVICE(0x0086, 0x1101, iwl6050_3agn_cfg)},
3284 {IWL_PCI_DEVICE(0x0086, 0x1121, iwl6050_3agn_cfg)},
3285 {IWL_PCI_DEVICE(0x0087, 0x1301, iwl6050_2agn_cfg)},
3286 {IWL_PCI_DEVICE(0x0087, 0x1306, iwl6050_2abg_cfg)},
3287 {IWL_PCI_DEVICE(0x0087, 0x1321, iwl6050_2agn_cfg)},
3288 {IWL_PCI_DEVICE(0x0087, 0x1326, iwl6050_2abg_cfg)},
3289 {IWL_PCI_DEVICE(0x0088, 0x1111, iwl6050_3agn_cfg)},
3290 {IWL_PCI_DEVICE(0x0089, 0x1311, iwl6050_2agn_cfg)},
3291 {IWL_PCI_DEVICE(0x0089, 0x1316, iwl6050_2abg_cfg)},
3292
3272/* 1000 Series WiFi */ 3293/* 1000 Series WiFi */
3273 {IWL_PCI_DEVICE(0x0083, 0x1205, iwl1000_bgn_cfg)}, 3294 {IWL_PCI_DEVICE(0x0083, 0x1205, iwl1000_bgn_cfg)},
3274 {IWL_PCI_DEVICE(0x0083, 0x1305, iwl1000_bgn_cfg)}, 3295 {IWL_PCI_DEVICE(0x0083, 0x1305, iwl1000_bgn_cfg)},
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h
index cca4c6a4b060..3ea97be7f6b2 100644
--- a/drivers/net/wireless/iwlwifi/iwl-dev.h
+++ b/drivers/net/wireless/iwlwifi/iwl-dev.h
@@ -57,9 +57,14 @@ extern struct iwl_cfg iwl5100_bg_cfg;
57extern struct iwl_cfg iwl5100_abg_cfg; 57extern struct iwl_cfg iwl5100_abg_cfg;
58extern struct iwl_cfg iwl5150_agn_cfg; 58extern struct iwl_cfg iwl5150_agn_cfg;
59extern struct iwl_cfg iwl6000h_2agn_cfg; 59extern struct iwl_cfg iwl6000h_2agn_cfg;
60extern struct iwl_cfg iwl6000h_2abg_cfg;
61extern struct iwl_cfg iwl6000h_2bg_cfg;
60extern struct iwl_cfg iwl6000i_2agn_cfg; 62extern struct iwl_cfg iwl6000i_2agn_cfg;
63extern struct iwl_cfg iwl6000i_2abg_cfg;
64extern struct iwl_cfg iwl6000i_2bg_cfg;
61extern struct iwl_cfg iwl6000_3agn_cfg; 65extern struct iwl_cfg iwl6000_3agn_cfg;
62extern struct iwl_cfg iwl6050_2agn_cfg; 66extern struct iwl_cfg iwl6050_2agn_cfg;
67extern struct iwl_cfg iwl6050_2abg_cfg;
63extern struct iwl_cfg iwl6050_3agn_cfg; 68extern struct iwl_cfg iwl6050_3agn_cfg;
64extern struct iwl_cfg iwl1000_bgn_cfg; 69extern struct iwl_cfg iwl1000_bgn_cfg;
65extern struct iwl_cfg iwl1000_bg_cfg; 70extern struct iwl_cfg iwl1000_bg_cfg;