| From 92a18a657fb2e2ffbfa0659af32cc18fd2346516 Mon Sep 17 00:00:00 2001 |
| From: Reinhard Speyerer <rspmn@arcor.de> |
| Date: Fri, 15 Dec 2017 00:39:27 +0100 |
| Subject: USB: serial: qcserial: add Sierra Wireless EM7565 |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Reinhard Speyerer <rspmn@arcor.de> |
| |
| commit 92a18a657fb2e2ffbfa0659af32cc18fd2346516 upstream. |
| |
| Sierra Wireless EM7565 devices use the QCSERIAL_SWI layout for their |
| serial ports |
| |
| T: Bus=01 Lev=03 Prnt=29 Port=01 Cnt=02 Dev#= 31 Spd=480 MxCh= 0 |
| D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 |
| P: Vendor=1199 ProdID=9091 Rev= 0.06 |
| S: Manufacturer=Sierra Wireless, Incorporated |
| S: Product=Sierra Wireless EM7565 Qualcomm Snapdragon X16 LTE-A |
| S: SerialNumber=xxxxxxxx |
| C:* #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA |
| I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=qcserial |
| E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=qcserial |
| E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms |
| E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=qcserial |
| E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms |
| E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| I:* If#= 8 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan |
| E: Ad=86(I) Atr=03(Int.) MxPS= 8 Ivl=32ms |
| E: Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| |
| but need sendsetup = true for the NMEA port to make it work properly. |
| |
| Simplify the patch compared to v1 as suggested by BjΓΈrn Mork by taking |
| advantage of the fact that existing devices work with sendsetup = true |
| too. |
| |
| Use sendsetup = true for the NMEA interface of QCSERIAL_SWI and add |
| DEVICE_SWI entries for the EM7565 PID 0x9091 and the EM7565 QDL PID |
| 0x9090. |
| |
| Tests with several MC73xx/MC74xx/MC77xx devices have been performed in |
| order to verify backward compatibility. |
| |
| Signed-off-by: Reinhard Speyerer <rspmn@arcor.de> |
| Signed-off-by: Johan Hovold <johan@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/serial/qcserial.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/drivers/usb/serial/qcserial.c |
| +++ b/drivers/usb/serial/qcserial.c |
| @@ -166,6 +166,8 @@ static const struct usb_device_id id_tab |
| {DEVICE_SWI(0x1199, 0x9079)}, /* Sierra Wireless EM74xx */ |
| {DEVICE_SWI(0x1199, 0x907a)}, /* Sierra Wireless EM74xx QDL */ |
| {DEVICE_SWI(0x1199, 0x907b)}, /* Sierra Wireless EM74xx */ |
| + {DEVICE_SWI(0x1199, 0x9090)}, /* Sierra Wireless EM7565 QDL */ |
| + {DEVICE_SWI(0x1199, 0x9091)}, /* Sierra Wireless EM7565 */ |
| {DEVICE_SWI(0x413c, 0x81a2)}, /* Dell Wireless 5806 Gobi(TM) 4G LTE Mobile Broadband Card */ |
| {DEVICE_SWI(0x413c, 0x81a3)}, /* Dell Wireless 5570 HSPA+ (42Mbps) Mobile Broadband Card */ |
| {DEVICE_SWI(0x413c, 0x81a4)}, /* Dell Wireless 5570e HSPA+ (42Mbps) Mobile Broadband Card */ |
| @@ -346,6 +348,7 @@ static int qcprobe(struct usb_serial *se |
| break; |
| case 2: |
| dev_dbg(dev, "NMEA GPS interface found\n"); |
| + sendsetup = true; |
| break; |
| case 3: |
| dev_dbg(dev, "Modem port found\n"); |