diff options
author | Gertjan van Wingerde <gwingerde@gmail.com> | 2011-05-04 15:41:36 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-05-05 14:59:21 -0400 |
commit | aca355b9784fbc960c9caa6b30f953a965296420 (patch) | |
tree | 52f5d5037d3600366e9979a47c80c39f8e3d8c90 /drivers/net | |
parent | 28ef6450f0182f95c4f50aaa0ab2043a09c72b0a (diff) |
rt2x00: Initial support for RT5370 USB devices.
Add necessary RF chipset define and basic support for these devices.
Tested-by: Juan Carlos Garza <juancarlosgarza@gmail.com>
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/rt2x00/Kconfig | 11 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800lib.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800usb.c | 8 |
4 files changed, 24 insertions, 2 deletions
diff --git a/drivers/net/wireless/rt2x00/Kconfig b/drivers/net/wireless/rt2x00/Kconfig index c45773108283..9def1e5369a1 100644 --- a/drivers/net/wireless/rt2x00/Kconfig +++ b/drivers/net/wireless/rt2x00/Kconfig | |||
@@ -93,7 +93,7 @@ config RT2800PCI_RT35XX | |||
93 | intended for testers and developers. | 93 | intended for testers and developers. |
94 | 94 | ||
95 | config RT2800PCI_RT53XX | 95 | config RT2800PCI_RT53XX |
96 | bool "rt2800-pci - Include support for rt53xx devices (EXPERIMENTAL)" | 96 | bool "rt2800pci - Include support for rt53xx devices (EXPERIMENTAL)" |
97 | depends on EXPERIMENTAL | 97 | depends on EXPERIMENTAL |
98 | default y | 98 | default y |
99 | ---help--- | 99 | ---help--- |
@@ -163,6 +163,15 @@ config RT2800USB_RT35XX | |||
163 | Support for these devices is non-functional at the moment and is | 163 | Support for these devices is non-functional at the moment and is |
164 | intended for testers and developers. | 164 | intended for testers and developers. |
165 | 165 | ||
166 | config RT2800USB_RT53XX | ||
167 | bool "rt2800usb - Include support for rt53xx devices (EXPERIMENTAL)" | ||
168 | depends on EXPERIMENTAL | ||
169 | default y | ||
170 | ---help--- | ||
171 | This adds support for rt53xx wireless chipset family to the | ||
172 | rt2800pci driver. | ||
173 | Supported chips: RT5370 | ||
174 | |||
166 | config RT2800USB_UNKNOWN | 175 | config RT2800USB_UNKNOWN |
167 | bool "rt2800usb - Include support for unknown (USB) devices" | 176 | bool "rt2800usb - Include support for unknown (USB) devices" |
168 | default n | 177 | default n |
diff --git a/drivers/net/wireless/rt2x00/rt2800.h b/drivers/net/wireless/rt2x00/rt2800.h index 3b3d851fe266..47a04d2dad4b 100644 --- a/drivers/net/wireless/rt2x00/rt2800.h +++ b/drivers/net/wireless/rt2x00/rt2800.h | |||
@@ -51,6 +51,7 @@ | |||
51 | * RF3320 2.4G 1T1R(RT3350/RT3370/RT3390) | 51 | * RF3320 2.4G 1T1R(RT3350/RT3370/RT3390) |
52 | * RF3322 2.4G 2T2R(RT3352/RT3371/RT3372/RT3391/RT3392) | 52 | * RF3322 2.4G 2T2R(RT3352/RT3371/RT3372/RT3391/RT3392) |
53 | * RF3853 2.4G/5G 3T3R(RT3883/RT3563/RT3573/RT3593/RT3662) | 53 | * RF3853 2.4G/5G 3T3R(RT3883/RT3563/RT3573/RT3593/RT3662) |
54 | * RF5370 2.4G 1T1R | ||
54 | * RF5390 2.4G 1T1R | 55 | * RF5390 2.4G 1T1R |
55 | */ | 56 | */ |
56 | #define RF2820 0x0001 | 57 | #define RF2820 0x0001 |
@@ -66,6 +67,7 @@ | |||
66 | #define RF3320 0x000b | 67 | #define RF3320 0x000b |
67 | #define RF3322 0x000c | 68 | #define RF3322 0x000c |
68 | #define RF3853 0x000d | 69 | #define RF3853 0x000d |
70 | #define RF5370 0x5370 | ||
69 | #define RF5390 0x5390 | 71 | #define RF5390 0x5390 |
70 | 72 | ||
71 | /* | 73 | /* |
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c index 6ed646a02d49..93fb67491acc 100644 --- a/drivers/net/wireless/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/rt2x00/rt2800lib.c | |||
@@ -1751,7 +1751,8 @@ static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev, | |||
1751 | rt2x00_rf(rt2x00dev, RF3052) || | 1751 | rt2x00_rf(rt2x00dev, RF3052) || |
1752 | rt2x00_rf(rt2x00dev, RF3320)) | 1752 | rt2x00_rf(rt2x00dev, RF3320)) |
1753 | rt2800_config_channel_rf3xxx(rt2x00dev, conf, rf, info); | 1753 | rt2800_config_channel_rf3xxx(rt2x00dev, conf, rf, info); |
1754 | else if (rt2x00_rf(rt2x00dev, RF5390)) | 1754 | else if (rt2x00_rf(rt2x00dev, RF5370) || |
1755 | rt2x00_rf(rt2x00dev, RF5390)) | ||
1755 | rt2800_config_channel_rf53xx(rt2x00dev, conf, rf, info); | 1756 | rt2800_config_channel_rf53xx(rt2x00dev, conf, rf, info); |
1756 | else | 1757 | else |
1757 | rt2800_config_channel_rf2xxx(rt2x00dev, conf, rf, info); | 1758 | rt2800_config_channel_rf2xxx(rt2x00dev, conf, rf, info); |
@@ -3686,6 +3687,7 @@ int rt2800_init_eeprom(struct rt2x00_dev *rt2x00dev) | |||
3686 | !rt2x00_rf(rt2x00dev, RF3022) && | 3687 | !rt2x00_rf(rt2x00dev, RF3022) && |
3687 | !rt2x00_rf(rt2x00dev, RF3052) && | 3688 | !rt2x00_rf(rt2x00dev, RF3052) && |
3688 | !rt2x00_rf(rt2x00dev, RF3320) && | 3689 | !rt2x00_rf(rt2x00dev, RF3320) && |
3690 | !rt2x00_rf(rt2x00dev, RF5370) && | ||
3689 | !rt2x00_rf(rt2x00dev, RF5390)) { | 3691 | !rt2x00_rf(rt2x00dev, RF5390)) { |
3690 | ERROR(rt2x00dev, "Invalid RF chipset detected.\n"); | 3692 | ERROR(rt2x00dev, "Invalid RF chipset detected.\n"); |
3691 | return -ENODEV; | 3693 | return -ENODEV; |
@@ -3988,6 +3990,7 @@ int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev) | |||
3988 | rt2x00_rf(rt2x00dev, RF3021) || | 3990 | rt2x00_rf(rt2x00dev, RF3021) || |
3989 | rt2x00_rf(rt2x00dev, RF3022) || | 3991 | rt2x00_rf(rt2x00dev, RF3022) || |
3990 | rt2x00_rf(rt2x00dev, RF3320) || | 3992 | rt2x00_rf(rt2x00dev, RF3320) || |
3993 | rt2x00_rf(rt2x00dev, RF5370) || | ||
3991 | rt2x00_rf(rt2x00dev, RF5390)) { | 3994 | rt2x00_rf(rt2x00dev, RF5390)) { |
3992 | spec->num_channels = 14; | 3995 | spec->num_channels = 14; |
3993 | spec->channels = rf_vals_3x; | 3996 | spec->channels = rf_vals_3x; |
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c index 0eb44cf2f44a..ba82c972703a 100644 --- a/drivers/net/wireless/rt2x00/rt2800usb.c +++ b/drivers/net/wireless/rt2x00/rt2800usb.c | |||
@@ -1000,6 +1000,14 @@ static struct usb_device_id rt2800usb_device_table[] = { | |||
1000 | /* Zinwell */ | 1000 | /* Zinwell */ |
1001 | { USB_DEVICE(0x5a57, 0x0284) }, | 1001 | { USB_DEVICE(0x5a57, 0x0284) }, |
1002 | #endif | 1002 | #endif |
1003 | #ifdef CONFIG_RT2800USB_RT53XX | ||
1004 | /* Azurewave */ | ||
1005 | { USB_DEVICE(0x13d3, 0x3329) }, | ||
1006 | { USB_DEVICE(0x13d3, 0x3365) }, | ||
1007 | /* Ralink */ | ||
1008 | { USB_DEVICE(0x148f, 0x5370) }, | ||
1009 | { USB_DEVICE(0x148f, 0x5372) }, | ||
1010 | #endif | ||
1003 | #ifdef CONFIG_RT2800USB_UNKNOWN | 1011 | #ifdef CONFIG_RT2800USB_UNKNOWN |
1004 | /* | 1012 | /* |
1005 | * Unclear what kind of devices these are (they aren't supported by the | 1013 | * Unclear what kind of devices these are (they aren't supported by the |