aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/ftdi_sio.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/serial/ftdi_sio.c')
-rw-r--r--drivers/usb/serial/ftdi_sio.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 1382af97db72..7200eaeb513b 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -309,12 +309,12 @@ struct ftdi_sio_quirk {
309 void (*port_probe)(struct ftdi_private *); /* Special settings for probed ports. */ 309 void (*port_probe)(struct ftdi_private *); /* Special settings for probed ports. */
310}; 310};
311 311
312static int ftdi_olimex_probe (struct usb_serial *serial); 312static int ftdi_jtag_probe (struct usb_serial *serial);
313static void ftdi_USB_UIRT_setup (struct ftdi_private *priv); 313static void ftdi_USB_UIRT_setup (struct ftdi_private *priv);
314static void ftdi_HE_TIRA1_setup (struct ftdi_private *priv); 314static void ftdi_HE_TIRA1_setup (struct ftdi_private *priv);
315 315
316static struct ftdi_sio_quirk ftdi_olimex_quirk = { 316static struct ftdi_sio_quirk ftdi_jtag_quirk = {
317 .probe = ftdi_olimex_probe, 317 .probe = ftdi_jtag_probe,
318}; 318};
319 319
320static struct ftdi_sio_quirk ftdi_USB_UIRT_quirk = { 320static struct ftdi_sio_quirk ftdi_USB_UIRT_quirk = {
@@ -570,7 +570,11 @@ static struct usb_device_id id_table_combined [] = {
570 { USB_DEVICE(TML_VID, TML_USB_SERIAL_PID) }, 570 { USB_DEVICE(TML_VID, TML_USB_SERIAL_PID) },
571 { USB_DEVICE(FTDI_VID, FTDI_ELSTER_UNICOM_PID) }, 571 { USB_DEVICE(FTDI_VID, FTDI_ELSTER_UNICOM_PID) },
572 { USB_DEVICE(OLIMEX_VID, OLIMEX_ARM_USB_OCD_PID), 572 { USB_DEVICE(OLIMEX_VID, OLIMEX_ARM_USB_OCD_PID),
573 .driver_info = (kernel_ulong_t)&ftdi_olimex_quirk }, 573 .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
574 { USB_DEVICE(FIC_VID, FIC_NEO1973_DEBUG_PID),
575 .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
576 { USB_DEVICE(FTDI_VID, FTDI_OOCDLINK_PID),
577 .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
574 { }, /* Optional parameter entry */ 578 { }, /* Optional parameter entry */
575 { } /* Terminating entry */ 579 { } /* Terminating entry */
576}; 580};
@@ -1283,10 +1287,11 @@ static void ftdi_HE_TIRA1_setup (struct ftdi_private *priv)
1283} /* ftdi_HE_TIRA1_setup */ 1287} /* ftdi_HE_TIRA1_setup */
1284 1288
1285/* 1289/*
1286 * First port on Olimex arm-usb-ocd is reserved for JTAG interface 1290 * First port on JTAG adaptors such as Olimex arm-usb-ocd or the FIC/OpenMoko
1287 * and can be accessed from userspace using openocd. 1291 * Neo1973 Debug Board is reserved for JTAG interface and can be accessed from
1292 * userspace using openocd.
1288 */ 1293 */
1289static int ftdi_olimex_probe(struct usb_serial *serial) 1294static int ftdi_jtag_probe(struct usb_serial *serial)
1290{ 1295{
1291 struct usb_device *udev = serial->dev; 1296 struct usb_device *udev = serial->dev;
1292 struct usb_interface *interface = serial->interface; 1297 struct usb_interface *interface = serial->interface;
@@ -1294,7 +1299,7 @@ static int ftdi_olimex_probe(struct usb_serial *serial)
1294 dbg("%s",__FUNCTION__); 1299 dbg("%s",__FUNCTION__);
1295 1300
1296 if (interface == udev->actconfig->interface[0]) { 1301 if (interface == udev->actconfig->interface[0]) {
1297 info("Ignoring reserved serial port on Olimex arm-usb-ocd\n"); 1302 info("Ignoring serial port reserved for JTAG");
1298 return -ENODEV; 1303 return -ENODEV;
1299 } 1304 }
1300 1305