aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/drivers/libusb1_common.c
diff options
context:
space:
mode:
authorStefan Mahr <stefan.mahr@sphairon.com>2012-06-05 23:22:38 +0200
committerSpencer Oliver <spen@spen-soft.co.uk>2013-03-13 12:55:42 +0000
commit700e7605fe63571f6b912ce994c2f1eb1fd4fe92 (patch)
tree793d9f15a9dc1616c50851757d7a55fda82115c7 /src/jtag/drivers/libusb1_common.c
parent30fde70c0321fd70d9330d5c6b56ed4e86653dd9 (diff)
jtag: add support for some probes that are mostly compatible with opendous
This patch adds support for usbprog-jtag and usbvlab that are mostly compatible to opendous except for IN and OUT endpoints and usb transfer mode. Change-Id: I44557c2449fe7473295038efa6ae4fc8d80ec7bf Signed-off-by: Stefan Mahr <stefan.mahr@sphairon.com> Reviewed-on: http://openocd.zylin.com/687 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'src/jtag/drivers/libusb1_common.c')
-rw-r--r--src/jtag/drivers/libusb1_common.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/jtag/drivers/libusb1_common.c b/src/jtag/drivers/libusb1_common.c
index dc6c0a72..c4051907 100644
--- a/src/jtag/drivers/libusb1_common.c
+++ b/src/jtag/drivers/libusb1_common.c
@@ -79,6 +79,21 @@ void jtag_libusb_close(jtag_libusb_device_handle *dev)
libusb_exit(jtag_libusb_context);
}
+int jtag_libusb_control_transfer(jtag_libusb_device_handle *dev, uint8_t requestType,
+ uint8_t request, uint16_t wValue, uint16_t wIndex, char *bytes,
+ uint16_t size, unsigned int timeout)
+{
+ int transferred = 0;
+
+ transferred = libusb_control_transfer(dev, requestType, request, wValue, wIndex,
+ (unsigned char *)bytes, size, timeout);
+
+ if (transferred < 0)
+ transferred = 0;
+
+ return transferred;
+}
+
int jtag_libusb_bulk_write(jtag_libusb_device_handle *dev, int ep, char *bytes,
int size, int timeout)
{