This attaches OpenRD's "SYSTEM" console to uftdi. Some special casing is
needed to not attach to the JTAG interface as well. I know it's a bit
ugly, but I couldn't come up with something cleaner; suggestions?
obligatory dmesg snippet:
uftdi0 at uhub2 port 2 configuration 1 interface 1 "FTDI OpenRD JTAGKey
FT2232D B" rev 2.00/5.00 addr 2
ucom0 at uftdi0 portno 2
Index: dev/usb/uftdi.c
===================================================================
RCS file: /home/tobiasu/obsd/cvs/src/sys/dev/usb/uftdi.c,v
retrieving revision 1.54
diff -u -p -r1.54 uftdi.c
--- dev/usb/uftdi.c 13 Oct 2009 19:33:17 -0000 1.54
+++ dev/usb/uftdi.c 13 Dec 2009 14:22:51 -0000
@@ -261,6 +261,7 @@ static const struct usb_devno uftdi_devs
{ USB_VENDOR_FTDI, USB_PRODUCT_FTDI_OPENPORT_13M },
{ USB_VENDOR_FTDI, USB_PRODUCT_FTDI_OPENPORT_13S },
{ USB_VENDOR_FTDI, USB_PRODUCT_FTDI_OPENPORT_13U },
+ { USB_VENDOR_FTDI, USB_PRODUCT_FTDI_OPENRD },
{ USB_VENDOR_FTDI, USB_PRODUCT_FTDI_PCDJ_DAC2 },
{ USB_VENDOR_FTDI, USB_PRODUCT_FTDI_PYRAMID },
{ USB_VENDOR_FTDI, USB_PRODUCT_FTDI_SEMC_DSS20 },
@@ -426,6 +427,12 @@ uftdi_match(struct device *parent, void
return (UMATCH_NONE);
usbd_set_config_index(uaa->device, USB_UNCONFIG_INDEX, 1);
}
+
+ /* JTAG on USB interface 0 */
+ if (uaa->vendor == USB_VENDOR_FTDI &&
+ uaa->product == USB_PRODUCT_FTDI_OPENRD &&
+ uaa->ifaceno == 0)
+ return (UMATCH_NONE);
if (nifaces <= 1)
return (UMATCH_VENDOR_PRODUCT);
Index: dev/usb/usbdevs
===================================================================
RCS file: /home/tobiasu/obsd/cvs/src/sys/dev/usb/usbdevs,v
retrieving revision 1.462
diff -u -p -r1.462 usbdevs
--- dev/usb/usbdevs 8 Dec 2009 07:25:50 -0000 1.462
+++ dev/usb/usbdevs 12 Dec 2009 14:24:03 -0000
@@ -1414,6 +1414,7 @@ product FTDI FT232_6 0x6009 Serial
product FTDI SERIAL_2232C 0x6010 2232C Serial
product FTDI PS2KBDMS 0x8371 PS/2 Keyboard/Mouse
product FTDI SERIAL_8U100AX 0x8372 Serial
+product FTDI OPENRD 0x9e90 OpenRD JTAGKey
product FTDI LOCOBUFFER 0xc7d0 RR-CirKits LocoBuffer
product FTDI DMX4ALL 0xc850 DMX4ALL DMX interface
product FTDI ASK_RDR4X7_1 0xc990 ASK RDR 4X7