mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 04:48:04 +09:00
USB: ftdi_sio: add ST Micro Connect Lite uart support
commit 6ec2f46c4b upstream.
on ST Micro Connect Lite we have 4 port
Part A and B for the JTAG
Port C Uart
Port D for PIO
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
d5e403535d
commit
cbb040960b
@@ -104,6 +104,7 @@ struct ftdi_sio_quirk {
|
||||
static int ftdi_jtag_probe(struct usb_serial *serial);
|
||||
static int ftdi_mtxorb_hack_setup(struct usb_serial *serial);
|
||||
static int ftdi_NDI_device_setup(struct usb_serial *serial);
|
||||
static int ftdi_stmclite_probe(struct usb_serial *serial);
|
||||
static void ftdi_USB_UIRT_setup(struct ftdi_private *priv);
|
||||
static void ftdi_HE_TIRA1_setup(struct ftdi_private *priv);
|
||||
|
||||
@@ -127,6 +128,10 @@ static struct ftdi_sio_quirk ftdi_HE_TIRA1_quirk = {
|
||||
.port_probe = ftdi_HE_TIRA1_setup,
|
||||
};
|
||||
|
||||
static struct ftdi_sio_quirk ftdi_stmclite_quirk = {
|
||||
.probe = ftdi_stmclite_probe,
|
||||
};
|
||||
|
||||
/*
|
||||
* The 8U232AM has the same API as the sio except for:
|
||||
* - it can support MUCH higher baudrates; up to:
|
||||
@@ -815,6 +820,8 @@ static struct usb_device_id id_table_combined [] = {
|
||||
{ USB_DEVICE(FTDI_VID, FTDI_DOTEC_PID) },
|
||||
{ USB_DEVICE(QIHARDWARE_VID, MILKYMISTONE_JTAGSERIAL_PID),
|
||||
.driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
|
||||
{ USB_DEVICE(ST_VID, ST_STMCLT1030_PID),
|
||||
.driver_info = (kernel_ulong_t)&ftdi_stmclite_quirk },
|
||||
{ }, /* Optional parameter entry */
|
||||
{ } /* Terminating entry */
|
||||
};
|
||||
@@ -1747,6 +1754,25 @@ static int ftdi_jtag_probe(struct usb_serial *serial)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* First and second port on STMCLiteadaptors is reserved for JTAG interface
|
||||
* and the forth port for pio
|
||||
*/
|
||||
static int ftdi_stmclite_probe(struct usb_serial *serial)
|
||||
{
|
||||
struct usb_device *udev = serial->dev;
|
||||
struct usb_interface *interface = serial->interface;
|
||||
|
||||
dbg("%s", __func__);
|
||||
|
||||
if (interface == udev->actconfig->interface[2])
|
||||
return 0;
|
||||
|
||||
dev_info(&udev->dev, "Ignoring serial port reserved for JTAG\n");
|
||||
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
/*
|
||||
* The Matrix Orbital VK204-25-USB has an invalid IN endpoint.
|
||||
* We have to correct it if we want to read from it.
|
||||
|
||||
@@ -1040,6 +1040,12 @@
|
||||
#define STB_PID 0x0001 /* Sensor Terminal Board */
|
||||
#define WHT_PID 0x0004 /* Wireless Handheld Terminal */
|
||||
|
||||
/*
|
||||
* STMicroelectonics
|
||||
*/
|
||||
#define ST_VID 0x0483
|
||||
#define ST_STMCLT1030_PID 0x3747 /* ST Micro Connect Lite STMCLT1030 */
|
||||
|
||||
/*
|
||||
* Papouch products (http://www.papouch.com/)
|
||||
* Submitted by Folkert van Heusden
|
||||
|
||||
Reference in New Issue
Block a user