linux/drivers/usb/serial
Aleksander Morgado a7c7754500 USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules
commit 1ac6987908 upstream.

These modules have 2 different USB layouts:

The default layout with PID 0x9205 (AT+CUSBSELNV=1) exposes 4 TTYs and
an ECM interface:

  T:  Bus=02 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#=  6 Spd=480 MxCh= 0
  D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
  P:  Vendor=1e0e ProdID=9205 Rev=00.00
  S:  Manufacturer=SimTech, Incorporated
  S:  Product=SimTech SIM7080
  S:  SerialNumber=1234567890ABCDEF
  C:  #Ifs= 6 Cfg#= 1 Atr=e0 MxPwr=500mA
  I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
  I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
  I:  If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
  I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
  I:  If#=0x4 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether
  I:  If#=0x5 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether

The purpose of each TTY is as follows:
 * ttyUSB0: DIAG/QCDM port.
 * ttyUSB1: GNSS data.
 * ttyUSB2: AT-capable port (control).
 * ttyUSB3: AT-capable port (data).

In the secondary layout with PID=0x9206 (AT+CUSBSELNV=86) the module
exposes 6 TTY ports:

  T:  Bus=02 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#=  8 Spd=480 MxCh= 0
  D:  Ver= 2.00 Cls=02(commc) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
  P:  Vendor=1e0e ProdID=9206 Rev=00.00
  S:  Manufacturer=SimTech, Incorporated
  S:  Product=SimTech SIM7080
  S:  SerialNumber=1234567890ABCDEF
  C:  #Ifs= 6 Cfg#= 1 Atr=e0 MxPwr=500mA
  I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
  I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
  I:  If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
  I:  If#=0x3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
  I:  If#=0x4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
  I:  If#=0x5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option

The purpose of each TTY is as follows:
 * ttyUSB0: DIAG/QCDM port.
 * ttyUSB1: GNSS data.
 * ttyUSB2: AT-capable port (control).
 * ttyUSB3: QFLOG interface.
 * ttyUSB4: DAM interface.
 * ttyUSB5: AT-capable port (data).

Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
Cc: stable@vger.kernel.org
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-09-17 13:45:31 +02:00
..
aircable.c
ark3116.c
belkin_sa.c
belkin_sa.h
bus.c
ch341.c USB: serial: ch341: add new Product ID for CH340 2020-07-22 09:32:09 +02:00
console.c USB: serial: console: fix reported terminal settings 2018-12-13 09:16:15 +01:00
cp210x.c USB: serial: cp210x: enable usb generic throttle/unthrottle 2020-08-19 08:15:04 +02:00
cyberjack.c
cypress_m8.c USB: serial: cypress_m8: enable Simply Automated UPB PIM 2020-07-22 09:32:09 +02:00
cypress_m8.h USB: serial: cypress_m8: enable Simply Automated UPB PIM 2020-07-22 09:32:09 +02:00
digi_acceleport.c USB: serial: digi_acceleport: rename tty flag variable 2018-06-27 07:59:03 +02:00
empeg.c
ezusb_convert.pl
f81232.c USB: serial: f81232: fix interrupt worker not stop 2019-05-10 17:54:10 +02:00
f81534.c USB: serial: f81534: fix reading old/new IC config 2019-12-13 08:51:29 +01:00
ftdi_sio_ids.h USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter 2020-09-17 13:45:31 +02:00
ftdi_sio.c USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter 2020-09-17 13:45:31 +02:00
ftdi_sio.h
garmin_gps.c USB: serial: garmin_gps: add sanity checking for data length 2020-05-14 07:57:20 +02:00
generic.c USB: serial: fix unthrottle races 2019-05-16 19:41:18 +02:00
io_16654.h
io_edgeport.c USB: serial: io_edgeport: fix slab-out-of-bounds read in edge_interrupt_callback 2020-04-02 15:28:20 +02:00
io_edgeport.h
io_ionsp.h
io_ti.c USB: serial: io_ti: use irqsave() in USB's complete callback 2018-06-26 14:34:32 +02:00
io_ti.h USB: serial: io_ti: fix array underflow in completion handler 2018-08-27 11:52:34 +02:00
io_usbvend.h
ipaq.c
ipw.c
ir-usb.c USB: serial: ir-usb: fix IrLAP framing 2020-02-01 09:37:02 +00:00
iuu_phoenix.c USB: serial: iuu_phoenix: fix led-activity helpers 2020-08-19 08:14:58 +02:00
iuu_phoenix.h
Kconfig
keyspan_pda.c USB: serial: keyspan_pda: fix modem-status error handling 2018-07-06 10:32:14 +02:00
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
keyspan.c USB: serial: keyspan: handle unbound ports 2020-01-23 08:21:28 +01:00
kl5kusb105.c USB: serial: kl5kusb105: remove KLSI device id 2018-07-11 10:11:29 +02:00
kl5kusb105.h USB: serial: kl5kusb105: remove KLSI device id 2018-07-11 10:11:29 +02:00
kobil_sct.c USB: serial: kobil_sct: add missing version error handling 2018-07-06 10:42:42 +02:00
kobil_sct.h
Makefile
Makefile-keyspan_pda_fw
mct_u232.c
mct_u232.h
metro-usb.c
mos7720.c USB: serial: mos7720: fix remote wakeup 2019-12-01 09:17:43 +01:00
mos7840.c USB: serial: mos7840: fix remote wakeup 2019-12-01 09:17:43 +01:00
mxuport.c
navman.c
omninet.c
opticon.c USB: serial: opticon: fix control-message timeouts 2020-01-23 08:21:27 +01:00
option.c USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules 2020-09-17 13:45:31 +02:00
oti6858.c
oti6858.h
pl2303.c USB: serial: pl2303: add device-id for HP LD381 2020-03-25 08:06:09 +01:00
pl2303.h USB: serial: pl2303: add device-id for HP LD381 2020-03-25 08:06:09 +01:00
qcaux.c
qcserial.c USB: serial: qcserial: add EM7305 QDL product ID 2020-08-11 15:32:30 +02:00
quatech2.c USB: serial: quatech2: handle unbound ports 2020-01-23 08:21:28 +01:00
safe_serial.c
sierra.c USB: serial: sierra: use irqsave() in USB's complete callback 2018-06-26 15:22:25 +02:00
spcp8x5.c
ssu100.c
symbolserial.c USB: serial: symbolserial: use irqsave() in USB's complete callback 2018-06-26 15:25:01 +02:00
ti_usb_3410_5052.c USB: serial: ti_usb_3410_5052: fix port-close races 2019-10-29 09:19:46 +01:00
upd78f0730.c
usb_debug.c
usb_wwan.c USB: serial: usb_wwan: do not resubmit rx urb on fatal errors 2020-06-10 21:34:59 +02:00
usb-serial-simple.c USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx 2020-01-23 08:21:27 +01:00
usb-serial.c USB: serial: suppress driver bind attributes 2020-01-23 08:21:27 +01:00
usb-wwan.h USB: serial: option: add ZLP support for 0x1bc7/0x9010 2020-01-14 20:07:04 +01:00
visor.c
visor.h
whiteheat.c USB: serial: whiteheat: fix line-speed endianness 2019-11-06 13:06:18 +01:00
whiteheat.h USB: serial: whiteheat: fix line-speed endianness 2019-11-06 13:06:18 +01:00
wishbone-serial.c
xsens_mt.c