diff options
author | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2009-09-17 13:43:53 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-10-07 16:39:35 -0400 |
commit | 5953a62e7df064a5d7ba7e790d590f27c65ddf4c (patch) | |
tree | ed0531c4345d24525739bd9f94b59971e320e931 /drivers/net/wireless/iwlwifi | |
parent | 4bd0914fa2a09d655c54fb0355aed7f9182b2187 (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.c | 105 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 43 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-dev.h | 5 |
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 | ||
265 | struct 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 | |||
286 | struct 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 | ||
332 | struct 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 | |||
353 | struct 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 | |||
290 | struct iwl_cfg iwl6050_2agn_cfg = { | 374 | struct 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 | ||
396 | struct 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 | |||
312 | struct iwl_cfg iwl6000_3agn_cfg = { | 417 | struct 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; | |||
57 | extern struct iwl_cfg iwl5100_abg_cfg; | 57 | extern struct iwl_cfg iwl5100_abg_cfg; |
58 | extern struct iwl_cfg iwl5150_agn_cfg; | 58 | extern struct iwl_cfg iwl5150_agn_cfg; |
59 | extern struct iwl_cfg iwl6000h_2agn_cfg; | 59 | extern struct iwl_cfg iwl6000h_2agn_cfg; |
60 | extern struct iwl_cfg iwl6000h_2abg_cfg; | ||
61 | extern struct iwl_cfg iwl6000h_2bg_cfg; | ||
60 | extern struct iwl_cfg iwl6000i_2agn_cfg; | 62 | extern struct iwl_cfg iwl6000i_2agn_cfg; |
63 | extern struct iwl_cfg iwl6000i_2abg_cfg; | ||
64 | extern struct iwl_cfg iwl6000i_2bg_cfg; | ||
61 | extern struct iwl_cfg iwl6000_3agn_cfg; | 65 | extern struct iwl_cfg iwl6000_3agn_cfg; |
62 | extern struct iwl_cfg iwl6050_2agn_cfg; | 66 | extern struct iwl_cfg iwl6050_2agn_cfg; |
67 | extern struct iwl_cfg iwl6050_2abg_cfg; | ||
63 | extern struct iwl_cfg iwl6050_3agn_cfg; | 68 | extern struct iwl_cfg iwl6050_3agn_cfg; |
64 | extern struct iwl_cfg iwl1000_bgn_cfg; | 69 | extern struct iwl_cfg iwl1000_bgn_cfg; |
65 | extern struct iwl_cfg iwl1000_bg_cfg; | 70 | extern struct iwl_cfg iwl1000_bg_cfg; |