diff options
author | Shanyu Zhao <shanyu.zhao@intel.com> | 2010-04-07 21:06:36 -0400 |
---|---|---|
committer | Reinette Chatre <reinette.chatre@intel.com> | 2010-04-16 16:48:06 -0400 |
commit | 4b3e8062807822271e02aafc0432e9a2497cb46c (patch) | |
tree | 954651c7e966d0710fd62414b93bfac3a5d60ef0 /drivers | |
parent | 7944f8e4acbb76bc8fde64dbffef43d2c8b5d053 (diff) |
iwlwifi: bring up 6000 Series 2x2 AGN Gen2 adapters
This patch is to bring up 6000 Series 2x2 AGN Gen2 adapters.
Seperate various version numbers from 6000 Series definitions;
Add module firmware declaration for the new adapters;
Add additional device IDs and subsystem IDs;
Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-6000.c | 20 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 7 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-dev.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-eeprom.h | 4 |
4 files changed, 24 insertions, 9 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c index f5d0665fd88a..63d27e3e4e35 100644 --- a/drivers/net/wireless/iwlwifi/iwl-6000.c +++ b/drivers/net/wireless/iwlwifi/iwl-6000.c | |||
@@ -51,13 +51,14 @@ | |||
51 | /* Highest firmware API version supported */ | 51 | /* Highest firmware API version supported */ |
52 | #define IWL6000_UCODE_API_MAX 4 | 52 | #define IWL6000_UCODE_API_MAX 4 |
53 | #define IWL6050_UCODE_API_MAX 4 | 53 | #define IWL6050_UCODE_API_MAX 4 |
54 | #define IWL6000G2_UCODE_API_MAX 4 | ||
54 | 55 | ||
55 | /* Lowest firmware API version supported */ | 56 | /* Lowest firmware API version supported */ |
56 | #define IWL6000_UCODE_API_MIN 4 | 57 | #define IWL6000_UCODE_API_MIN 4 |
57 | #define IWL6050_UCODE_API_MIN 4 | 58 | #define IWL6050_UCODE_API_MIN 4 |
59 | #define IWL6000G2_UCODE_API_MIN 4 | ||
58 | 60 | ||
59 | #define IWL6000_FW_PRE "iwlwifi-6000-" | 61 | #define IWL6000_FW_PRE "iwlwifi-6000-" |
60 | #define IWL6000_G2_FW_PRE "iwlwifi-6005-" | ||
61 | #define _IWL6000_MODULE_FIRMWARE(api) IWL6000_FW_PRE #api ".ucode" | 62 | #define _IWL6000_MODULE_FIRMWARE(api) IWL6000_FW_PRE #api ".ucode" |
62 | #define IWL6000_MODULE_FIRMWARE(api) _IWL6000_MODULE_FIRMWARE(api) | 63 | #define IWL6000_MODULE_FIRMWARE(api) _IWL6000_MODULE_FIRMWARE(api) |
63 | 64 | ||
@@ -65,6 +66,10 @@ | |||
65 | #define _IWL6050_MODULE_FIRMWARE(api) IWL6050_FW_PRE #api ".ucode" | 66 | #define _IWL6050_MODULE_FIRMWARE(api) IWL6050_FW_PRE #api ".ucode" |
66 | #define IWL6050_MODULE_FIRMWARE(api) _IWL6050_MODULE_FIRMWARE(api) | 67 | #define IWL6050_MODULE_FIRMWARE(api) _IWL6050_MODULE_FIRMWARE(api) |
67 | 68 | ||
69 | #define IWL6000G2_FW_PRE "iwlwifi-6005-" | ||
70 | #define _IWL6000G2_MODULE_FIRMWARE(api) IWL6000G2_FW_PRE #api ".ucode" | ||
71 | #define IWL6000G2_MODULE_FIRMWARE(api) _IWL6000G2_MODULE_FIRMWARE(api) | ||
72 | |||
68 | static void iwl6000_set_ct_threshold(struct iwl_priv *priv) | 73 | static void iwl6000_set_ct_threshold(struct iwl_priv *priv) |
69 | { | 74 | { |
70 | /* want Celsius */ | 75 | /* want Celsius */ |
@@ -363,16 +368,16 @@ static const struct iwl_ops iwl6050_ops = { | |||
363 | /* | 368 | /* |
364 | * "i": Internal configuration, use internal Power Amplifier | 369 | * "i": Internal configuration, use internal Power Amplifier |
365 | */ | 370 | */ |
366 | struct iwl_cfg iwl6000i_g2_2agn_cfg = { | 371 | struct iwl_cfg iwl6000g2i_2agn_cfg = { |
367 | .name = "6000 Series 2x2 AGN Gen2", | 372 | .name = "6000 Series 2x2 AGN Gen2", |
368 | .fw_name_pre = IWL6000_G2_FW_PRE, | 373 | .fw_name_pre = IWL6000G2_FW_PRE, |
369 | .ucode_api_max = IWL6000_UCODE_API_MAX, | 374 | .ucode_api_max = IWL6000G2_UCODE_API_MAX, |
370 | .ucode_api_min = IWL6000_UCODE_API_MIN, | 375 | .ucode_api_min = IWL6000G2_UCODE_API_MIN, |
371 | .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, | 376 | .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, |
372 | .ops = &iwl6000_ops, | 377 | .ops = &iwl6000_ops, |
373 | .eeprom_size = OTP_LOW_IMAGE_SIZE, | 378 | .eeprom_size = OTP_LOW_IMAGE_SIZE, |
374 | .eeprom_ver = EEPROM_6000_EEPROM_VERSION, | 379 | .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, |
375 | .eeprom_calib_ver = EEPROM_6000_TX_POWER_VERSION, | 380 | .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, |
376 | .num_of_queues = IWLAGN_NUM_QUEUES, | 381 | .num_of_queues = IWLAGN_NUM_QUEUES, |
377 | .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES, | 382 | .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES, |
378 | .mod_params = &iwlagn_mod_params, | 383 | .mod_params = &iwlagn_mod_params, |
@@ -600,3 +605,4 @@ struct iwl_cfg iwl6000_3agn_cfg = { | |||
600 | 605 | ||
601 | MODULE_FIRMWARE(IWL6000_MODULE_FIRMWARE(IWL6000_UCODE_API_MAX)); | 606 | MODULE_FIRMWARE(IWL6000_MODULE_FIRMWARE(IWL6000_UCODE_API_MAX)); |
602 | MODULE_FIRMWARE(IWL6050_MODULE_FIRMWARE(IWL6050_UCODE_API_MAX)); | 607 | MODULE_FIRMWARE(IWL6050_MODULE_FIRMWARE(IWL6050_UCODE_API_MAX)); |
608 | MODULE_FIRMWARE(IWL6000G2_MODULE_FIRMWARE(IWL6000G2_UCODE_API_MAX)); | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index 31998188e879..e788722c23ab 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -3835,7 +3835,12 @@ static DEFINE_PCI_DEVICE_TABLE(iwl_hw_card_ids) = { | |||
3835 | {IWL_PCI_DEVICE(0x4238, 0x1111, iwl6000_3agn_cfg)}, | 3835 | {IWL_PCI_DEVICE(0x4238, 0x1111, iwl6000_3agn_cfg)}, |
3836 | {IWL_PCI_DEVICE(0x4239, 0x1311, iwl6000i_2agn_cfg)}, | 3836 | {IWL_PCI_DEVICE(0x4239, 0x1311, iwl6000i_2agn_cfg)}, |
3837 | {IWL_PCI_DEVICE(0x4239, 0x1316, iwl6000i_2abg_cfg)}, | 3837 | {IWL_PCI_DEVICE(0x4239, 0x1316, iwl6000i_2abg_cfg)}, |
3838 | {IWL_PCI_DEVICE(0x0082, 0x1201, iwl6000i_g2_2agn_cfg)}, | 3838 | |
3839 | /* 6x00 Series Gen2 */ | ||
3840 | {IWL_PCI_DEVICE(0x0082, 0x1201, iwl6000g2i_2agn_cfg)}, | ||
3841 | {IWL_PCI_DEVICE(0x0082, 0x1301, iwl6000g2i_2agn_cfg)}, | ||
3842 | {IWL_PCI_DEVICE(0x0082, 0x1321, iwl6000g2i_2agn_cfg)}, | ||
3843 | {IWL_PCI_DEVICE(0x0085, 0x1311, iwl6000g2i_2agn_cfg)}, | ||
3839 | 3844 | ||
3840 | /* 6x50 WiFi/WiMax Series */ | 3845 | /* 6x50 WiFi/WiMax Series */ |
3841 | {IWL_PCI_DEVICE(0x0087, 0x1301, iwl6050_2agn_cfg)}, | 3846 | {IWL_PCI_DEVICE(0x0087, 0x1301, iwl6050_2agn_cfg)}, |
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h index dc9d8ae7e26d..ff4b47ceafd2 100644 --- a/drivers/net/wireless/iwlwifi/iwl-dev.h +++ b/drivers/net/wireless/iwlwifi/iwl-dev.h | |||
@@ -58,7 +58,7 @@ 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 iwl5150_abg_cfg; | 59 | extern struct iwl_cfg iwl5150_abg_cfg; |
60 | extern struct iwl_cfg iwl6000i_2agn_cfg; | 60 | extern struct iwl_cfg iwl6000i_2agn_cfg; |
61 | extern struct iwl_cfg iwl6000i_g2_2agn_cfg; | 61 | extern struct iwl_cfg iwl6000g2i_2agn_cfg; |
62 | extern struct iwl_cfg iwl6000i_2abg_cfg; | 62 | extern struct iwl_cfg iwl6000i_2abg_cfg; |
63 | extern struct iwl_cfg iwl6000i_2bg_cfg; | 63 | extern struct iwl_cfg iwl6000i_2bg_cfg; |
64 | extern struct iwl_cfg iwl6000_3agn_cfg; | 64 | extern struct iwl_cfg iwl6000_3agn_cfg; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-eeprom.h b/drivers/net/wireless/iwlwifi/iwl-eeprom.h index 9977d5ef78df..95aa202c85e3 100644 --- a/drivers/net/wireless/iwlwifi/iwl-eeprom.h +++ b/drivers/net/wireless/iwlwifi/iwl-eeprom.h | |||
@@ -276,6 +276,10 @@ struct iwl_eeprom_enhanced_txpwr { | |||
276 | #define EEPROM_6050_TX_POWER_VERSION (4) | 276 | #define EEPROM_6050_TX_POWER_VERSION (4) |
277 | #define EEPROM_6050_EEPROM_VERSION (0x532) | 277 | #define EEPROM_6050_EEPROM_VERSION (0x532) |
278 | 278 | ||
279 | /* 6x00g2 Specific */ | ||
280 | #define EEPROM_6000G2_TX_POWER_VERSION (6) | ||
281 | #define EEPROM_6000G2_EEPROM_VERSION (0x709) | ||
282 | |||
279 | /* OTP */ | 283 | /* OTP */ |
280 | /* lower blocks contain EEPROM image and calibration data */ | 284 | /* lower blocks contain EEPROM image and calibration data */ |
281 | #define OTP_LOW_IMAGE_SIZE (2 * 512 * sizeof(u16)) /* 2 KB */ | 285 | #define OTP_LOW_IMAGE_SIZE (2 * 512 * sizeof(u16)) /* 2 KB */ |