USB: ftdi_sio: add ST Micro Connect Lite uart support

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>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Jean-Christophe PLAGNIOL-VILLARD 2011-01-29 15:32:52 +01:00 committed by Greg Kroah-Hartman
parent c25f6b1591
commit 6ec2f46c4b
2 changed files with 32 additions and 0 deletions

View File

@ -100,6 +100,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);
@ -123,6 +124,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:
@ -810,6 +815,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 */
};
@ -1708,6 +1715,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.

View File

@ -1033,6 +1033,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