|
@@ -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.
|