kernel_optimize_test/drivers/usb/serial/Kconfig
Johan Hovold d136a2574a USB: serial: simple: add Nokia phone driver
commit c4b9c570965f75d0d55e639747f1e5ccdad2fae0 upstream.

Add a new "simple" driver for certain Nokia phones, including Nokia 130
(RM-1035) which exposes two serial ports in "charging only" mode:

Bus 001 Device 009: ID 0421:069a Nokia Mobile Phones 130 [RM-1035] (Charging only)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x0421 Nokia Mobile Phones
  idProduct          0x069a 130 [RM-1035] (Charging only)
  bcdDevice            1.00
  iManufacturer           1 Nokia
  iProduct                2 Nokia 130 (RM-1035)
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0037
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)

Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20220228084919.10656-1-johan@kernel.org
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-08 14:39:46 +02:00

659 lines
21 KiB
Plaintext

# SPDX-License-Identifier: GPL-2.0
#
# USB Serial device configuration
#
menuconfig USB_SERIAL
tristate "USB Serial Converter support"
depends on TTY
help
Say Y here if you have a USB device that provides normal serial
ports, or acts like a serial device, and you want to connect it to
your USB bus.
Please read <file:Documentation/usb/usb-serial.rst> for more
information on the specifics of the different devices that are
supported, and on how to use them.
To compile this driver as a module, choose M here: the
module will be called usbserial.
if USB_SERIAL
config USB_SERIAL_CONSOLE
bool "USB Serial Console device support"
depends on USB_SERIAL=y
help
If you say Y here, it will be possible to use a USB to serial
converter port as the system console (the system console is the
device which receives all kernel messages and warnings and which
allows logins in single user mode). This could be useful if some
terminal or printer is connected to that serial port.
Even if you say Y here, the currently visible virtual console
(/dev/tty0) will still be used as the system console by default, but
you can alter that using a kernel command line option such as
"console=ttyUSB0". (Try "man bootparam" or see the documentation of
your boot loader (lilo or loadlin) about how to pass options to the
kernel at boot time.)
If you don't have a VGA card installed and you say Y here, the
kernel will automatically use the first USB to serial converter
port, /dev/ttyUSB0, as system console.
If unsure, say N.
config USB_SERIAL_GENERIC
bool "USB Generic Serial Driver"
help
Say Y here if you want to use the generic USB serial driver. Please
read <file:Documentation/usb/usb-serial.rst> for more information on
using this driver. It is recommended that the "USB Serial converter
support" be compiled as a module for this driver to be used
properly.
config USB_SERIAL_SIMPLE
tristate "USB Serial Simple Driver"
help
Say Y here to use the USB serial "simple" driver. This driver
handles a wide range of very simple devices, all in one
driver. Specifically, it supports:
- Suunto ANT+ USB device.
- Medtronic CareLink USB device
- Fundamental Software dongle.
- Google USB serial devices
- HP4x calculators
- Libtransistor USB console
- a number of Motorola phones
- Motorola Tetra devices
- Nokia mobile phones
- Novatel Wireless GPS receivers
- Siemens USB/MPI adapter.
- ViVOtech ViVOpay USB device.
- Infineon Modem Flashloader USB interface
- ZIO Motherboard USB serial interface
To compile this driver as a module, choose M here: the module
will be called usb-serial-simple.
config USB_SERIAL_AIRCABLE
tristate "USB AIRcable Bluetooth Dongle Driver"
help
Say Y here if you want to use USB AIRcable Bluetooth Dongle.
To compile this driver as a module, choose M here: the module
will be called aircable.
config USB_SERIAL_ARK3116
tristate "USB ARK Micro 3116 USB Serial Driver"
help
Say Y here if you want to use a ARK Micro 3116 USB to Serial
device.
To compile this driver as a module, choose M here: the
module will be called ark3116
config USB_SERIAL_BELKIN
tristate "USB Belkin and Peracom Single Port Serial Driver"
help
Say Y here if you want to use a Belkin USB Serial single port
adaptor (F5U103 is one of the model numbers) or the Peracom single
port USB to serial adapter.
To compile this driver as a module, choose M here: the
module will be called belkin_sa.
config USB_SERIAL_CH341
tristate "USB Winchiphead CH341 Single Port Serial Driver"
help
Say Y here if you want to use a Winchiphead CH341 single port
USB to serial adapter.
To compile this driver as a module, choose M here: the
module will be called ch341.
config USB_SERIAL_WHITEHEAT
tristate "USB ConnectTech WhiteHEAT Serial Driver"
select USB_EZUSB_FX2
help
Say Y here if you want to use a ConnectTech WhiteHEAT 4 port
USB to serial converter device.
To compile this driver as a module, choose M here: the
module will be called whiteheat.
config USB_SERIAL_DIGI_ACCELEPORT
tristate "USB Digi International AccelePort USB Serial Driver"
help
Say Y here if you want to use Digi AccelePort USB 2 or 4 devices,
2 port (plus parallel port) and 4 port USB serial converters. The
parallel port on the USB 2 appears as a third serial port on Linux.
The Digi Acceleport USB 8 is not yet supported by this driver.
To compile this driver as a module, choose M here: the
module will be called digi_acceleport.
config USB_SERIAL_CP210X
tristate "USB CP210x family of UART Bridge Controllers"
help
Say Y here if you want to use a CP2101/CP2102/CP2103 based USB
to RS232 converters.
To compile this driver as a module, choose M here: the
module will be called cp210x.
config USB_SERIAL_CYPRESS_M8
tristate "USB Cypress M8 USB Serial Driver"
help
Say Y here if you want to use a device that contains the Cypress
USB to Serial microcontroller, such as the DeLorme Earthmate GPS.
Attempted SMP support... send bug reports!
Supported microcontrollers in the CY4601 family are:
CY7C63741 CY7C63742 CY7C63743 CY7C64013
To compile this driver as a module, choose M here: the
module will be called cypress_m8.
config USB_SERIAL_EMPEG
tristate "USB Empeg empeg-car Mark I/II Driver"
help
Say Y here if you want to connect to your Empeg empeg-car Mark I/II
mp3 player via USB. The driver uses a single ttyUSB{0,1,2,...}
device node. See <file:Documentation/usb/usb-serial.rst> for more
tidbits of information.
To compile this driver as a module, choose M here: the
module will be called empeg.
config USB_SERIAL_FTDI_SIO
tristate "USB FTDI Single Port Serial Driver"
help
Say Y here if you want to use a FTDI SIO single port USB to serial
converter device. The implementation I have is called the USC-1000.
This driver has also been tested with the 245 and 232 devices.
See <http://ftdi-usb-sio.sourceforge.net/> for more
information on this driver and the device.
To compile this driver as a module, choose M here: the
module will be called ftdi_sio.
config USB_SERIAL_VISOR
tristate "USB Handspring Visor / Palm m50x / Sony Clie Driver"
help
Say Y here if you want to connect to your HandSpring Visor, Palm
m500 or m505 through its USB docking station. See
<http://usbvisor.sourceforge.net/index.php3> for more information on using this
driver.
To compile this driver as a module, choose M here: the
module will be called visor.
config USB_SERIAL_IPAQ
tristate "USB PocketPC PDA Driver"
help
Say Y here if you want to connect to your Compaq iPAQ, HP Jornada
or any other PDA running Windows CE 3.0 or PocketPC 2002
using a USB cradle/cable. For information on using the driver,
read <file:Documentation/usb/usb-serial.rst>.
To compile this driver as a module, choose M here: the
module will be called ipaq.
config USB_SERIAL_IR
tristate "USB IR Dongle Serial Driver"
help
Say Y here if you want to enable simple serial support for USB IrDA
devices. This is useful if you do not want to use the full IrDA
stack.
To compile this driver as a module, choose M here: the
module will be called ir-usb.
config USB_SERIAL_EDGEPORT
tristate "USB Inside Out Edgeport Serial Driver"
help
Say Y here if you want to use any of the following devices from
Inside Out Networks (Digi):
Edgeport/4
Rapidport/4
Edgeport/4t
Edgeport/2
Edgeport/4i
Edgeport/2i
Edgeport/421
Edgeport/21
Edgeport/8
Edgeport/8 Dual
Edgeport/2D8
Edgeport/4D8
Edgeport/8i
Edgeport/2 DIN
Edgeport/4 DIN
Edgeport/16 Dual
To compile this driver as a module, choose M here: the
module will be called io_edgeport.
config USB_SERIAL_EDGEPORT_TI
tristate "USB Inside Out Edgeport Serial Driver (TI devices)"
help
Say Y here if you want to use any of the devices from Inside Out
Networks (Digi) that are not supported by the io_edgeport driver.
This includes the Edgeport/1 device.
To compile this driver as a module, choose M here: the
module will be called io_ti.
config USB_SERIAL_F81232
tristate "USB Fintek F81232 Single Port Serial Driver"
help
Say Y here if you want to use the Fintek F81232 single
port usb to serial adapter.
To compile this driver as a module, choose M here: the
module will be called f81232.
config USB_SERIAL_F8153X
tristate "USB Fintek F81532/534 Multi-Ports Serial Driver"
help
Say Y here if you want to use the Fintek F81532/534 Multi-Ports
USB to serial adapter.
To compile this driver as a module, choose M here: the
module will be called f81534.
config USB_SERIAL_GARMIN
tristate "USB Garmin GPS driver"
help
Say Y here if you want to connect to your Garmin GPS.
Should work with most Garmin GPS devices which have a native USB port.
See <http://sourceforge.net/projects/garmin-gps> for the latest
version of the driver.
To compile this driver as a module, choose M here: the
module will be called garmin_gps.
config USB_SERIAL_IPW
tristate "USB IPWireless (3G UMTS TDD) Driver"
select USB_SERIAL_WWAN
help
Say Y here if you want to use a IPWireless USB modem such as
the ones supplied by Axity3G/Sentech South Africa.
To compile this driver as a module, choose M here: the
module will be called ipw.
config USB_SERIAL_IUU
tristate "USB Infinity USB Unlimited Phoenix Driver"
help
Say Y here if you want to use a IUU in phoenix mode and get
an extra ttyUSBx device. More information available on
http://eczema.ecze.com/iuu_phoenix.html
To compile this driver as a module, choose M here: the
module will be called iuu_phoenix.o
config USB_SERIAL_KEYSPAN_PDA
tristate "USB Keyspan PDA Single Port Serial Driver"
select USB_EZUSB_FX2
help
Say Y here if you want to use a Keyspan PDA single port USB to
serial converter device. This driver makes use of firmware
developed from scratch by Brian Warner.
To compile this driver as a module, choose M here: the
module will be called keyspan_pda.
config USB_SERIAL_KEYSPAN
tristate "USB Keyspan USA-xxx Serial Driver"
select USB_EZUSB_FX2
help
Say Y here if you want to use Keyspan USB to serial converter
devices. This driver makes use of Keyspan's official firmware
and was developed with their support. You must also include
firmware to support your particular device(s).
See <http://blemings.org/hugh/keyspan.html> for more information.
To compile this driver as a module, choose M here: the
module will be called keyspan.
config USB_SERIAL_KLSI
tristate "USB KL5KUSB105 (Palmconnect) Driver"
help
Say Y here if you want to use a KL5KUSB105 - based single port
serial adapter. The most widely known -- and currently the only
tested -- device in this category is the PalmConnect USB Serial
adapter sold by Palm Inc. for use with their Palm III and Palm V
series PDAs.
Please read <file:Documentation/usb/usb-serial.rst> for more
information.
To compile this driver as a module, choose M here: the
module will be called kl5kusb105.
config USB_SERIAL_KOBIL_SCT
tristate "USB KOBIL chipcard reader"
help
Say Y here if you want to use one of the following KOBIL USB chipcard
readers:
- USB TWIN
- KAAN Standard Plus
- KAAN SIM
- SecOVID Reader Plus
- B1 Professional
- KAAN Professional
Note that you need a current CT-API.
To compile this driver as a module, choose M here: the
module will be called kobil_sct.
config USB_SERIAL_MCT_U232
tristate "USB MCT Single Port Serial Driver"
help
Say Y here if you want to use a USB Serial single port adapter from
Magic Control Technology Corp. (U232 is one of the model numbers).
This driver also works with Sitecom U232-P25 and D-Link DU-H3SP USB
BAY, Belkin F5U109, and Belkin F5U409 devices.
To compile this driver as a module, choose M here: the
module will be called mct_u232.
config USB_SERIAL_METRO
tristate "USB Metrologic Instruments USB-POS Barcode Scanner Driver"
help
Say Y here if you want to use a USB POS Metrologic barcode scanner.
To compile this driver as a module, choose M here: the
module will be called metro-usb.
config USB_SERIAL_MOS7720
tristate "USB Moschip 7720 Serial Driver"
help
Say Y here if you want to use USB Serial single and double
port adapters from Moschip Semiconductor Tech.
To compile this driver as a module, choose M here: the
module will be called mos7720.
config USB_SERIAL_MOS7715_PARPORT
bool "Support for parallel port on the Moschip 7715"
depends on USB_SERIAL_MOS7720
depends on PARPORT=y || PARPORT=USB_SERIAL_MOS7720
select PARPORT_NOT_PC
help
Say Y if you have a Moschip 7715 device and would like to use
the parallel port it provides. The port will register with
the parport subsystem as a low-level driver.
config USB_SERIAL_MOS7840
tristate "USB Moschip 7840/7820 USB Serial Driver"
help
Say Y here if you want to use a MCS7840 Quad-Serial or MCS7820
Dual-Serial port device from MosChip Semiconductor.
The MCS7840 and MCS7820 have been developed to connect a wide range
of standard serial devices to a USB host. The MCS7840 has a USB
device controller connected to four (4) individual UARTs while the
MCS7820 controller connects to two (2) individual UARTs.
To compile this driver as a module, choose M here: the
module will be called mos7840. If unsure, choose N.
config USB_SERIAL_MXUPORT
tristate "USB Moxa UPORT Serial Driver"
help
Say Y here if you want to use a MOXA UPort Serial hub.
This driver supports:
[2 Port]
- UPort 1250 : 2 Port RS-232/422/485 USB to Serial Hub
- UPort 1250I : 2 Port RS-232/422/485 USB to Serial Hub with
Isolation
[4 Port]
- UPort 1410 : 4 Port RS-232 USB to Serial Hub
- UPort 1450 : 4 Port RS-232/422/485 USB to Serial Hub
- UPort 1450I : 4 Port RS-232/422/485 USB to Serial Hub with
Isolation
[8 Port]
- UPort 1610-8 : 8 Port RS-232 USB to Serial Hub
- UPort 1650-8 : 8 Port RS-232/422/485 USB to Serial Hub
[16 Port]
- UPort 1610-16 : 16 Port RS-232 USB to Serial Hub
- UPort 1650-16 : 16 Port RS-232/422/485 USB to Serial Hub
To compile this driver as a module, choose M here: the
module will be called mxuport.
config USB_SERIAL_NAVMAN
tristate "USB Navman GPS device"
help
To compile this driver as a module, choose M here: the
module will be called navman.
config USB_SERIAL_PL2303
tristate "USB Prolific 2303 Single Port Serial Driver"
help
Say Y here if you want to use the PL2303 USB Serial single port
adapter from Prolific.
To compile this driver as a module, choose M here: the
module will be called pl2303.
config USB_SERIAL_OTI6858
tristate "USB Ours Technology Inc. OTi-6858 USB To RS232 Bridge Controller"
help
Say Y here if you want to use the OTi-6858 single port USB to serial
converter device.
To compile this driver as a module, choose M here: the
module will be called oti6858.
config USB_SERIAL_QCAUX
tristate "USB Qualcomm Auxiliary Serial Port Driver"
help
Say Y here if you want to use the auxiliary serial ports provided
by many modems based on Qualcomm chipsets. These ports often use
a proprietary protocol called DM and cannot be used for AT- or
PPP-based communication.
To compile this driver as a module, choose M here: the
module will be called qcaux. If unsure, choose N.
config USB_SERIAL_QUALCOMM
tristate "USB Qualcomm Serial modem"
select USB_SERIAL_WWAN
help
Say Y here if you have a Qualcomm USB modem device. These are
usually wireless cellular modems.
To compile this driver as a module, choose M here: the
module will be called qcserial.
config USB_SERIAL_SPCP8X5
tristate "USB SPCP8x5 USB To Serial Driver"
help
Say Y here if you want to use the spcp8x5 converter chip. This is
commonly found in some Z-Wave USB devices.
To compile this driver as a module, choose M here: the
module will be called spcp8x5.
config USB_SERIAL_SAFE
tristate "USB Safe Serial (Encapsulated) Driver"
config USB_SERIAL_SAFE_PADDED
bool "USB Secure Encapsulated Driver - Padded"
depends on USB_SERIAL_SAFE
config USB_SERIAL_SIERRAWIRELESS
tristate "USB Sierra Wireless Driver"
help
Say M here if you want to use Sierra Wireless devices.
Many devices have a feature known as TRU-Install. For those devices
to work properly, the USB Storage Sierra feature must be enabled.
To compile this driver as a module, choose M here: the
module will be called sierra.
config USB_SERIAL_SYMBOL
tristate "USB Symbol Barcode driver (serial mode)"
help
Say Y here if you want to use a Symbol USB Barcode device
in serial emulation mode.
To compile this driver as a module, choose M here: the
module will be called symbolserial.
config USB_SERIAL_TI
tristate "USB TI 3410/5052 Serial Driver"
help
Say Y here if you want to use the TI USB 3410 or 5052
serial devices.
To compile this driver as a module, choose M here: the
module will be called ti_usb_3410_5052.
config USB_SERIAL_CYBERJACK
tristate "USB REINER SCT cyberJack pinpad/e-com chipcard reader"
help
Say Y here if you want to use a cyberJack pinpad/e-com USB chipcard
reader. This is an interface to ISO 7816 compatible contact-based
chipcards, e.g. GSM SIMs.
To compile this driver as a module, choose M here: the
module will be called cyberjack.
If unsure, say N.
config USB_SERIAL_XIRCOM
tristate "USB Xircom / Entrega Single Port Serial Driver"
select USB_EZUSB_FX2
help
Say Y here if you want to use a Xircom or Entrega single port USB to
serial converter device. This driver makes use of firmware
developed from scratch by Brian Warner.
To compile this driver as a module, choose M here: the
module will be called keyspan_pda.
config USB_SERIAL_WWAN
tristate
config USB_SERIAL_OPTION
tristate "USB driver for GSM and CDMA modems"
select USB_SERIAL_WWAN
help
Say Y here if you have a GSM or CDMA modem that's connected to USB.
This driver also supports several PCMCIA cards which have a
built-in OHCI-USB adapter and an internally-connected GSM modem.
The USB bus on these cards is not accessible externally.
Supported devices include (some of?) those made by:
Option, Huawei, Audiovox, Novatel Wireless, or Anydata.
To compile this driver as a module, choose M here: the
module will be called option.
If this driver doesn't recognize your device,
it might be accessible via the FTDI_SIO driver.
config USB_SERIAL_OMNINET
tristate "USB ZyXEL omni.net LCD Plus Driver"
help
Say Y here if you want to use a ZyXEL omni.net LCD ISDN TA.
To compile this driver as a module, choose M here: the
module will be called omninet.
config USB_SERIAL_OPTICON
tristate "USB Opticon Barcode driver (serial mode)"
help
Say Y here if you want to use a Opticon USB Barcode device
in serial emulation mode.
To compile this driver as a module, choose M here: the
module will be called opticon.
config USB_SERIAL_XSENS_MT
tristate "Xsens motion tracker serial interface driver"
help
Say Y here if you want to use Xsens motion trackers.
This driver supports the new generation of motion trackers
by Xsens. Older devices can be accessed using the FTDI_SIO
driver.
To compile this driver as a module, choose M here: the
module will be called xsens_mt.
config USB_SERIAL_WISHBONE
tristate "USB-Wishbone adapter interface driver"
help
Say Y here if you want to use a USB attached Wishbone bus.
Wishbone is an open hardware SoC bus commonly used in FPGA
designs. Bus access can be serialized using the Etherbone
protocol <http://www.ohwr.org/projects/etherbone-core>.
This driver is intended to be used with devices which attach
their internal Wishbone bus to a USB serial interface using
the Etherbone protocol. A userspace library is required to
speak the protocol made available by this driver as ttyUSBx.
To compile this driver as a module, choose M here: the
module will be called wishbone-serial.
config USB_SERIAL_SSU100
tristate "USB Quatech SSU-100 Single Port Serial Driver"
help
Say Y here if you want to use the Quatech SSU-100 single
port usb to serial adapter.
To compile this driver as a module, choose M here: the
module will be called ssu100.
config USB_SERIAL_QT2
tristate "USB Quatech Serial Driver for USB 2 devices"
help
Say Y here if you want to use the Quatech USB 2
serial adapters.
To compile this driver as a module, choose M here: the
module will be called quatech-serial.
config USB_SERIAL_UPD78F0730
tristate "USB Renesas uPD78F0730 Single Port Serial Driver"
help
Say Y here if you want to use the Renesas uPD78F0730
serial driver.
To compile this driver as a module, choose M here: the
module will be called upd78f0730.
config USB_SERIAL_DEBUG
tristate "USB Debugging Device"
help
Say Y here if you have a USB debugging device used to receive
debugging data from another machine. The most common of these
devices is the NetChip TurboCONNECT device.
To compile this driver as a module, choose M here: the
module will be called usb-debug.
endif # USB_SERIAL