aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/drivers/libusb0_common.h
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/libusb0_common.h
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/libusb0_common.h')
-rw-r--r--src/jtag/drivers/libusb0_common.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/jtag/drivers/libusb0_common.h b/src/jtag/drivers/libusb0_common.h
index 2473c27d..38ff8cba 100644
--- a/src/jtag/drivers/libusb0_common.h
+++ b/src/jtag/drivers/libusb0_common.h
@@ -35,6 +35,12 @@
#define jtag_libusb_reset_device(dev) usb_reset(dev)
#define jtag_libusb_get_device(devh) usb_device(devh)
+/* make some defines compatible to libusb1 */
+#define LIBUSB_REQUEST_TYPE_VENDOR USB_TYPE_VENDOR
+#define LIBUSB_RECIPIENT_DEVICE USB_RECIP_DEVICE
+#define LIBUSB_ENDPOINT_OUT USB_ENDPOINT_OUT
+#define LIBUSB_ENDPOINT_IN USB_ENDPOINT_IN
+
static inline int jtag_libusb_claim_interface(jtag_libusb_device_handle *devh,
int iface)
{
@@ -44,6 +50,9 @@ static inline int jtag_libusb_claim_interface(jtag_libusb_device_handle *devh,
int jtag_libusb_open(const uint16_t vids[], const uint16_t pids[],
struct jtag_libusb_device_handle **out);
void jtag_libusb_close(jtag_libusb_device_handle *dev);
+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 jtag_libusb_bulk_write(struct jtag_libusb_device_handle *dev, int ep,
char *bytes, int size, int timeout);
int jtag_libusb_bulk_read(struct jtag_libusb_device_handle *dev, int ep,