mbox series

[00/12] USB: serial: xr: add support for more device types

Message ID 20210330143934.9197-1-johan@kernel.org (mailing list archive)
Headers show
Series USB: serial: xr: add support for more device types | expand

Message

Johan Hovold March 30, 2021, 2:39 p.m. UTC
This series adds support for another nine models of Maxlinerar/Exar USB
UARTs to the xr driver. The various models can be divided into four
types:
	
	XR21V141X
        XR21B142X
        XR21B1411
        XR22804

with different register layouts and features.

All types can be used in CDC-ACM mode but further features such as
hardware and software flow control and in-band line status are available
in a second "custom driver" mode.

The fact that hardware flow control is enabled by default in CDC-ACM
mode also prevents using the standard CDC-ACM driver in cases where the
hardware engineers have failed to properly connect the CTS input.

The currently supported XR21V141X type stands out from the other three
by not being able to accept CDC requests without always entering CDC-ACM
mode, requiring a different enable/disable sequence and by using a
distinct register layout for certain functionality.

Expect for the above, most differences can be handled by simply using
different set of register addresses.

Note that this series depends on the recently posted
multi-interface-function series.

Johan



Johan Hovold (11):
  USB: serial: xr: add support for XR21V1412 and XR21V1414
  USB: serial: xr: rename GPIO-mode defines
  USB: serial: xr: rename GPIO-pin defines
  USB: serial: xr: move pin configuration to probe
  USB: serial: xr: drop type prefix from shared defines
  USB: serial: xr: add type abstraction
  USB: serial: xr: add support for XR21B1421, XR21B1422 and XR21B1424
  USB: serial: xr: add support for XR21B1411
  USB: serial: xr: add support for XR22801, XR22802, XR22804
  USB: serial: xr: reset FIFOs on open
  USB: serial: xr: add copyright notice

Mauro Carvalho Chehab (1):
  USB: cdc-acm: add more Maxlinear/Exar models to ignore list

 drivers/usb/class/cdc-acm.c    |  14 +-
 drivers/usb/serial/xr_serial.c | 727 ++++++++++++++++++++++++++-------
 2 files changed, 580 insertions(+), 161 deletions(-)