diff options
author | Bjørn Mork <bjorn@mork.no> | 2012-07-15 10:47:40 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-07-16 20:17:59 -0400 |
commit | 1937131a01c6ce37bb1d76617293d0d5a0cd66a7 (patch) | |
tree | ee261799cd9d8d32b7988351e951cf12a6319859 /drivers/usb/serial/qcserial.c | |
parent | e7ad21e00eab6b77fb9b5cd79512b7dee473f476 (diff) |
USB: qcserial: adding Sierra Wireless devices
The QMI mode of the Sierra Wireless MC7710 is close to
a Gobi device, and also identified as one by the
Windows drivers provided by Sony. The serial interfaces
are the same as for any other Gobi module, but the USB
interface layout is different:
0: DM/DIAG (also present in bootloader mode)
2: NMEA
3: AT-capable modem port
8: QMI/net
19: QMI/net (not always present)
20: QMI/net (not always present)
Note in particular that the NMEA and AT ports are reversed
compared to a Gobi 2k+ device, and that the DM port appears
as a QDL port in bootloader mode using the same device ID.
The Sony driver also document two new devices with standard
Gobi 2k+ layout (1199:68a5, 1199:68a9) having a QDL mode
(1199:68a4, 1199:68a8). Adding these as well.
Lenovo Windows drivers document the USB interface layout
for a few additional Sierra Wireless devices. Adding these
while at it:
- MC7770 (1199:901b) with standard Gobi 2k+ layout
- MC7700 (0f3d:68a2) with the same layout as MC7710
- MC7750 (114f:68a2) with the same layout as MC7710
- EM7700 (1199:901c) with the same layout as MC7710
Cc: Anton Samokhvalov <pg83@yandex.ru>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/serial/qcserial.c')
-rw-r--r-- | drivers/usb/serial/qcserial.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c index 90395c7aa56a..8d103019d6aa 100644 --- a/drivers/usb/serial/qcserial.c +++ b/drivers/usb/serial/qcserial.c | |||
@@ -105,6 +105,10 @@ static const struct usb_device_id id_table[] = { | |||
105 | {USB_DEVICE(0x1410, 0xa021)}, /* Novatel Gobi 3000 Composite */ | 105 | {USB_DEVICE(0x1410, 0xa021)}, /* Novatel Gobi 3000 Composite */ |
106 | {USB_DEVICE(0x413c, 0x8193)}, /* Dell Gobi 3000 QDL */ | 106 | {USB_DEVICE(0x413c, 0x8193)}, /* Dell Gobi 3000 QDL */ |
107 | {USB_DEVICE(0x413c, 0x8194)}, /* Dell Gobi 3000 Composite */ | 107 | {USB_DEVICE(0x413c, 0x8194)}, /* Dell Gobi 3000 Composite */ |
108 | {USB_DEVICE(0x1199, 0x68a4)}, /* Sierra Wireless QDL */ | ||
109 | {USB_DEVICE(0x1199, 0x68a5)}, /* Sierra Wireless Modem */ | ||
110 | {USB_DEVICE(0x1199, 0x68a8)}, /* Sierra Wireless QDL */ | ||
111 | {USB_DEVICE(0x1199, 0x68a9)}, /* Sierra Wireless Modem */ | ||
108 | {USB_DEVICE(0x1199, 0x9010)}, /* Sierra Wireless Gobi 3000 QDL */ | 112 | {USB_DEVICE(0x1199, 0x9010)}, /* Sierra Wireless Gobi 3000 QDL */ |
109 | {USB_DEVICE(0x1199, 0x9012)}, /* Sierra Wireless Gobi 3000 QDL */ | 113 | {USB_DEVICE(0x1199, 0x9012)}, /* Sierra Wireless Gobi 3000 QDL */ |
110 | {USB_DEVICE(0x1199, 0x9013)}, /* Sierra Wireless Gobi 3000 Modem device (MC8355) */ | 114 | {USB_DEVICE(0x1199, 0x9013)}, /* Sierra Wireless Gobi 3000 Modem device (MC8355) */ |
@@ -112,8 +116,24 @@ static const struct usb_device_id id_table[] = { | |||
112 | {USB_DEVICE(0x1199, 0x9015)}, /* Sierra Wireless Gobi 3000 Modem device */ | 116 | {USB_DEVICE(0x1199, 0x9015)}, /* Sierra Wireless Gobi 3000 Modem device */ |
113 | {USB_DEVICE(0x1199, 0x9018)}, /* Sierra Wireless Gobi 3000 QDL */ | 117 | {USB_DEVICE(0x1199, 0x9018)}, /* Sierra Wireless Gobi 3000 QDL */ |
114 | {USB_DEVICE(0x1199, 0x9019)}, /* Sierra Wireless Gobi 3000 Modem device */ | 118 | {USB_DEVICE(0x1199, 0x9019)}, /* Sierra Wireless Gobi 3000 Modem device */ |
119 | {USB_DEVICE(0x1199, 0x901b)}, /* Sierra Wireless MC7770 */ | ||
115 | {USB_DEVICE(0x12D1, 0x14F0)}, /* Sony Gobi 3000 QDL */ | 120 | {USB_DEVICE(0x12D1, 0x14F0)}, /* Sony Gobi 3000 QDL */ |
116 | {USB_DEVICE(0x12D1, 0x14F1)}, /* Sony Gobi 3000 Composite */ | 121 | {USB_DEVICE(0x12D1, 0x14F1)}, /* Sony Gobi 3000 Composite */ |
122 | |||
123 | /* non Gobi Qualcomm serial devices */ | ||
124 | {USB_DEVICE_INTERFACE_NUMBER(0x0f3d, 0x68a2, 0)}, /* Sierra Wireless MC7700 Device Management */ | ||
125 | {USB_DEVICE_INTERFACE_NUMBER(0x0f3d, 0x68a2, 2)}, /* Sierra Wireless MC7700 NMEA */ | ||
126 | {USB_DEVICE_INTERFACE_NUMBER(0x0f3d, 0x68a2, 3)}, /* Sierra Wireless MC7700 Modem */ | ||
127 | {USB_DEVICE_INTERFACE_NUMBER(0x114f, 0x68a2, 0)}, /* Sierra Wireless MC7750 Device Management */ | ||
128 | {USB_DEVICE_INTERFACE_NUMBER(0x114f, 0x68a2, 2)}, /* Sierra Wireless MC7750 NMEA */ | ||
129 | {USB_DEVICE_INTERFACE_NUMBER(0x114f, 0x68a2, 3)}, /* Sierra Wireless MC7750 Modem */ | ||
130 | {USB_DEVICE_INTERFACE_NUMBER(0x1199, 0x68a2, 0)}, /* Sierra Wireless MC7710 Device Management */ | ||
131 | {USB_DEVICE_INTERFACE_NUMBER(0x1199, 0x68a2, 2)}, /* Sierra Wireless MC7710 NMEA */ | ||
132 | {USB_DEVICE_INTERFACE_NUMBER(0x1199, 0x68a2, 3)}, /* Sierra Wireless MC7710 Modem */ | ||
133 | {USB_DEVICE_INTERFACE_NUMBER(0x1199, 0x901c, 0)}, /* Sierra Wireless EM7700 Device Management */ | ||
134 | {USB_DEVICE_INTERFACE_NUMBER(0x1199, 0x901c, 2)}, /* Sierra Wireless EM7700 NMEA */ | ||
135 | {USB_DEVICE_INTERFACE_NUMBER(0x1199, 0x901c, 3)}, /* Sierra Wireless EM7700 Modem */ | ||
136 | |||
117 | { } /* Terminating entry */ | 137 | { } /* Terminating entry */ |
118 | }; | 138 | }; |
119 | MODULE_DEVICE_TABLE(usb, id_table); | 139 | MODULE_DEVICE_TABLE(usb, id_table); |