aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00
diff options
context:
space:
mode:
authorGertjan van Wingerde <gwingerde@gmail.com>2010-11-13 13:09:50 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-11-17 16:18:47 -0500
commitf93bc9b3ce379800b30b3c2f4fc945ae35a80039 (patch)
treef71934913c3b483976f63b94dda7a8f678ac655e /drivers/net/wireless/rt2x00
parentae4ecb9f8f01eb9deffb5bd837dc90f4e646cd2d (diff)
rt2x00: Add initial support for RT3370/RT3390 devices.
Modified from Eddy's patch by adding the RT3370 USB support as well. Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com> Cc: Eddy Tsai <Eddy_Tsai@ralinktech.com> Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00')
-rw-r--r--drivers/net/wireless/rt2x00/Kconfig22
-rw-r--r--drivers/net/wireless/rt2x00/rt2800.h1
-rw-r--r--drivers/net/wireless/rt2x00/rt2800lib.c9
-rw-r--r--drivers/net/wireless/rt2x00/rt2800pci.c3
-rw-r--r--drivers/net/wireless/rt2x00/rt2800usb.c10
5 files changed, 39 insertions, 6 deletions
diff --git a/drivers/net/wireless/rt2x00/Kconfig b/drivers/net/wireless/rt2x00/Kconfig
index eea1ef2f502b..f0f01526556d 100644
--- a/drivers/net/wireless/rt2x00/Kconfig
+++ b/drivers/net/wireless/rt2x00/Kconfig
@@ -96,6 +96,17 @@ config RT2800PCI_RT30XX
96 Support for these devices is non-functional at the moment and is 96 Support for these devices is non-functional at the moment and is
97 intended for testers and developers. 97 intended for testers and developers.
98 98
99config RT2800PCI_RT33XX
100 bool "rt2800pci - Include support for rt33xx (PCI/PCIe/PCMCIA) devices"
101 default n
102 ---help---
103 This adds support for rt33xx wireless chipset family to the
104 rt2800pci driver.
105 Supported chips: RT3390
106
107 Support for these devices is non-functional at the moment and is
108 intended for testers and developers.
109
99config RT2800PCI_RT35XX 110config RT2800PCI_RT35XX
100 bool "rt2800pci - Include support for rt35xx (PCI/PCIe/PCMCIA) devices" 111 bool "rt2800pci - Include support for rt35xx (PCI/PCIe/PCMCIA) devices"
101 default n 112 default n
@@ -165,6 +176,17 @@ config RT2800USB_RT30XX
165 Support for these devices is non-functional at the moment and is 176 Support for these devices is non-functional at the moment and is
166 intended for testers and developers. 177 intended for testers and developers.
167 178
179config RT2800USB_RT33XX
180 bool "rt2800usb - Include support for rt33xx (USB) devices"
181 default n
182 ---help---
183 This adds support for rt33xx wireless chipset family to the
184 rt2800usb driver.
185 Supported chips: RT3370
186
187 Support for these devices is non-functional at the moment and is
188 intended for testers and developers.
189
168config RT2800USB_RT35XX 190config RT2800USB_RT35XX
169 bool "rt2800usb - Include support for rt35xx (USB) devices" 191 bool "rt2800usb - Include support for rt35xx (USB) devices"
170 default n 192 default n
diff --git a/drivers/net/wireless/rt2x00/rt2800.h b/drivers/net/wireless/rt2x00/rt2800.h
index 002224c9bb62..a81c4371835b 100644
--- a/drivers/net/wireless/rt2x00/rt2800.h
+++ b/drivers/net/wireless/rt2x00/rt2800.h
@@ -47,6 +47,7 @@
47 * RF3021 2.4G 1T2R 47 * RF3021 2.4G 1T2R
48 * RF3022 2.4G 2T2R 48 * RF3022 2.4G 2T2R
49 * RF3052 2.4G 2T2R 49 * RF3052 2.4G 2T2R
50 * RF3320 2.4G 1T1R
50 */ 51 */
51#define RF2820 0x0001 52#define RF2820 0x0001
52#define RF2850 0x0002 53#define RF2850 0x0002
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index b5d2ebab6ea8..ce8df66a3de8 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -1544,7 +1544,8 @@ static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev,
1544 rt2x00_rf(rt2x00dev, RF3020) || 1544 rt2x00_rf(rt2x00dev, RF3020) ||
1545 rt2x00_rf(rt2x00dev, RF3021) || 1545 rt2x00_rf(rt2x00dev, RF3021) ||
1546 rt2x00_rf(rt2x00dev, RF3022) || 1546 rt2x00_rf(rt2x00dev, RF3022) ||
1547 rt2x00_rf(rt2x00dev, RF3052)) 1547 rt2x00_rf(rt2x00dev, RF3052) ||
1548 rt2x00_rf(rt2x00dev, RF3320))
1548 rt2800_config_channel_rf3xxx(rt2x00dev, conf, rf, info); 1549 rt2800_config_channel_rf3xxx(rt2x00dev, conf, rf, info);
1549 else 1550 else
1550 rt2800_config_channel_rf2xxx(rt2x00dev, conf, rf, info); 1551 rt2800_config_channel_rf2xxx(rt2x00dev, conf, rf, info);
@@ -3012,7 +3013,8 @@ int rt2800_init_eeprom(struct rt2x00_dev *rt2x00dev)
3012 !rt2x00_rf(rt2x00dev, RF2020) && 3013 !rt2x00_rf(rt2x00dev, RF2020) &&
3013 !rt2x00_rf(rt2x00dev, RF3021) && 3014 !rt2x00_rf(rt2x00dev, RF3021) &&
3014 !rt2x00_rf(rt2x00dev, RF3022) && 3015 !rt2x00_rf(rt2x00dev, RF3022) &&
3015 !rt2x00_rf(rt2x00dev, RF3052)) { 3016 !rt2x00_rf(rt2x00dev, RF3052) &&
3017 !rt2x00_rf(rt2x00dev, RF3320)) {
3016 ERROR(rt2x00dev, "Invalid RF chipset detected.\n"); 3018 ERROR(rt2x00dev, "Invalid RF chipset detected.\n");
3017 return -ENODEV; 3019 return -ENODEV;
3018 } 3020 }
@@ -3276,7 +3278,8 @@ int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
3276 } else if (rt2x00_rf(rt2x00dev, RF3020) || 3278 } else if (rt2x00_rf(rt2x00dev, RF3020) ||
3277 rt2x00_rf(rt2x00dev, RF2020) || 3279 rt2x00_rf(rt2x00dev, RF2020) ||
3278 rt2x00_rf(rt2x00dev, RF3021) || 3280 rt2x00_rf(rt2x00dev, RF3021) ||
3279 rt2x00_rf(rt2x00dev, RF3022)) { 3281 rt2x00_rf(rt2x00dev, RF3022) ||
3282 rt2x00_rf(rt2x00dev, RF3320)) {
3280 spec->num_channels = 14; 3283 spec->num_channels = 14;
3281 spec->channels = rf_vals_3x; 3284 spec->channels = rf_vals_3x;
3282 } else if (rt2x00_rf(rt2x00dev, RF3052)) { 3285 } else if (rt2x00_rf(rt2x00dev, RF3052)) {
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index 5f3a018c088d..6642f134aaac 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -1051,6 +1051,9 @@ static DEFINE_PCI_DEVICE_TABLE(rt2800pci_device_table) = {
1051 { PCI_DEVICE(0x1814, 0x3092), PCI_DEVICE_DATA(&rt2800pci_ops) }, 1051 { PCI_DEVICE(0x1814, 0x3092), PCI_DEVICE_DATA(&rt2800pci_ops) },
1052 { PCI_DEVICE(0x1462, 0x891a), PCI_DEVICE_DATA(&rt2800pci_ops) }, 1052 { PCI_DEVICE(0x1462, 0x891a), PCI_DEVICE_DATA(&rt2800pci_ops) },
1053#endif 1053#endif
1054#ifdef CONFIG_RT2800PCI_RT33XX
1055 { PCI_DEVICE(0x1814, 0x3390), PCI_DEVICE_DATA(&rt2800pci_ops) },
1056#endif
1054#ifdef CONFIG_RT2800PCI_RT35XX 1057#ifdef CONFIG_RT2800PCI_RT35XX
1055 { PCI_DEVICE(0x1814, 0x3060), PCI_DEVICE_DATA(&rt2800pci_ops) }, 1058 { PCI_DEVICE(0x1814, 0x3060), PCI_DEVICE_DATA(&rt2800pci_ops) },
1056 { PCI_DEVICE(0x1814, 0x3062), PCI_DEVICE_DATA(&rt2800pci_ops) }, 1059 { PCI_DEVICE(0x1814, 0x3062), PCI_DEVICE_DATA(&rt2800pci_ops) },
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index 389ecba8e891..61852c5dc6d5 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -839,6 +839,13 @@ static struct usb_device_id rt2800usb_device_table[] = {
839 { USB_DEVICE(0x5a57, 0x0283), USB_DEVICE_DATA(&rt2800usb_ops) }, 839 { USB_DEVICE(0x5a57, 0x0283), USB_DEVICE_DATA(&rt2800usb_ops) },
840 { USB_DEVICE(0x5a57, 0x5257), USB_DEVICE_DATA(&rt2800usb_ops) }, 840 { USB_DEVICE(0x5a57, 0x5257), USB_DEVICE_DATA(&rt2800usb_ops) },
841#endif 841#endif
842#ifdef CONFIG_RT2800USB_RT33XX
843 /* Ralink */
844 { USB_DEVICE(0x148f, 0x3370), USB_DEVICE_DATA(&rt2800usb_ops) },
845 { USB_DEVICE(0x148f, 0x8070), USB_DEVICE_DATA(&rt2800usb_ops) },
846 /* Sitecom */
847 { USB_DEVICE(0x0df6, 0x0050), USB_DEVICE_DATA(&rt2800usb_ops) },
848#endif
842#ifdef CONFIG_RT2800USB_RT35XX 849#ifdef CONFIG_RT2800USB_RT35XX
843 /* Allwin */ 850 /* Allwin */
844 { USB_DEVICE(0x8516, 0x3572), USB_DEVICE_DATA(&rt2800usb_ops) }, 851 { USB_DEVICE(0x8516, 0x3572), USB_DEVICE_DATA(&rt2800usb_ops) },
@@ -851,12 +858,9 @@ static struct usb_device_id rt2800usb_device_table[] = {
851 /* I-O DATA */ 858 /* I-O DATA */
852 { USB_DEVICE(0x04bb, 0x0944), USB_DEVICE_DATA(&rt2800usb_ops) }, 859 { USB_DEVICE(0x04bb, 0x0944), USB_DEVICE_DATA(&rt2800usb_ops) },
853 /* Ralink */ 860 /* Ralink */
854 { USB_DEVICE(0x148f, 0x3370), USB_DEVICE_DATA(&rt2800usb_ops) },
855 { USB_DEVICE(0x148f, 0x3572), USB_DEVICE_DATA(&rt2800usb_ops) }, 861 { USB_DEVICE(0x148f, 0x3572), USB_DEVICE_DATA(&rt2800usb_ops) },
856 { USB_DEVICE(0x148f, 0x8070), USB_DEVICE_DATA(&rt2800usb_ops) },
857 /* Sitecom */ 862 /* Sitecom */
858 { USB_DEVICE(0x0df6, 0x0041), USB_DEVICE_DATA(&rt2800usb_ops) }, 863 { USB_DEVICE(0x0df6, 0x0041), USB_DEVICE_DATA(&rt2800usb_ops) },
859 { USB_DEVICE(0x0df6, 0x0050), USB_DEVICE_DATA(&rt2800usb_ops) },
860 /* Zinwell */ 864 /* Zinwell */
861 { USB_DEVICE(0x5a57, 0x0284), USB_DEVICE_DATA(&rt2800usb_ops) }, 865 { USB_DEVICE(0x5a57, 0x0284), USB_DEVICE_DATA(&rt2800usb_ops) },
862#endif 866#endif