Module Name: src
Committed By: thorpej
Date: Thu Apr 25 01:33:04 UTC 2024
Modified Files:
src/sys/dev/usb: uftdi.c
Log Message:
Add a match quirk to prevent matching any interface on SiPEED FPGA
development boards (e.g. Tang Nano 9K). The FT2232s on these boards
are wired up only for JTAG.
To generate a diff of this commit:
cvs rdiff -u -r1.78 -r1.79 src/sys/dev/usb/uftdi.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/usb/uftdi.c
diff -u src/sys/dev/usb/uftdi.c:1.78 src/sys/dev/usb/uftdi.c:1.79
--- src/sys/dev/usb/uftdi.c:1.78 Wed Apr 17 02:34:45 2024
+++ src/sys/dev/usb/uftdi.c Thu Apr 25 01:33:03 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: uftdi.c,v 1.78 2024/04/17 02:34:45 maya Exp $ */
+/* $NetBSD: uftdi.c,v 1.79 2024/04/25 01:33:03 thorpej Exp $ */
/*
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uftdi.c,v 1.78 2024/04/17 02:34:45 maya Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uftdi.c,v 1.79 2024/04/25 01:33:03 thorpej Exp $");
#ifdef _KERNEL_OPT
#include "opt_usb.h"
@@ -229,7 +229,19 @@ static const struct uftdi_match_quirk_en
.vendor_str = "SecuringHardware.com",
.product_str = "Tigard V1.1",
.match_ret = UMATCH_NONE,
- }
+ },
+ /*
+ * The SiPEED Tang Nano 9K (and other SiPEED Tang FPGA development
+ * boards) have an FT2232 on-board, wired up only for JTAG.
+ */
+ {
+ .vendor_id = USB_VENDOR_FTDI,
+ .product_id = USB_PRODUCT_FTDI_SERIAL_2232C,
+ .iface_no = -1,
+ .vendor_str = "SIPEED",
+ .product_str = "JTAG Debugger",
+ .match_ret = UMATCH_NONE,
+ },
};
static int
@@ -243,7 +255,7 @@ uftdi_quirk_match(struct usbif_attach_ar
q = &uftdi_match_quirks[i];
if (uiaa->uiaa_vendor != q->vendor_id ||
uiaa->uiaa_product != q->product_id ||
- uiaa->uiaa_ifaceno != q->iface_no) {
+ (q->iface_no != -1 && uiaa->uiaa_ifaceno != q->iface_no)) {
continue;
}
if (q->vendor_str != NULL &&