[PATCH] Add support of TI ICDI to USB simple serial device

From: Da Shi Cao
Date: Sat Oct 13 2018 - 05:11:08 EST


In-Circuit Debug Interface is a debugging interface for TI ARM
microcontrollers. It has three USB interfaces and two of them are
presented as standard ACM serial device. The 3rd interface is the
debugging interface and it can be driven as a Linux USB simple
terminal. With it, debugging session and firmware up/down loading are
supported on Linux.

Signed-off-by: Dashi Cao <dscao999@xxxxxxxxxxx, dscao999@xxxxxxxxx>
---
drivers/usb/serial/usb-serial-simple.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/usb/serial/usb-serial-simple.c
b/drivers/usb/serial/usb-serial-simple.c
index 4d0273508043..ae43088b659e 100644
--- a/drivers/usb/serial/usb-serial-simple.c
+++ b/drivers/usb/serial/usb-serial-simple.c
@@ -109,6 +109,11 @@ DEVICE(suunto, SUUNTO_IDS);
{ USB_DEVICE(0x908, 0x0004) }
DEVICE(siemens_mpi, SIEMENS_IDS);

+/* TI In-Circuit Debug Interface */
+#define ICDI_IDS() \
+ { USB_DEVICE_INTERFACE_CLASS(0x1cbe, 0x00fd, USB_CLASS_VENDOR_SPEC) }
+DEVICE(ti_icdi, ICDI_IDS);
+
/* All of the above structures mushed into two lists */
static struct usb_serial_driver * const serial_drivers[] = {
&carelink_device,
@@ -124,6 +129,7 @@ static struct usb_serial_driver * const serial_drivers[] = {
&hp4x_device,
&suunto_device,
&siemens_mpi_device,
+ &ti_icdi_device,
NULL
};

@@ -141,6 +147,7 @@ static const struct usb_device_id id_table[] = {
HP4X_IDS(),
SUUNTO_IDS(),
SIEMENS_IDS(),
+ ICDI_IDS(),
{ },
};
MODULE_DEVICE_TABLE(usb, id_table);
--
2.11.0