tcl/target: Switch Renesas R-Car Gen2 boards to new config
[fw/openocd] / src / jtag / drivers / libusb0_common.h
index 985d084333ef6ff4196abcd40894bfdc1ef99170..6f632c4624ab14cdf5602de52c73abd65b22893e 100644 (file)
  *   GNU General Public License for more details.                          *
  *                                                                         *
  *   You should have received a copy of the GNU General Public License     *
- *   along with this program; if not, write to the                         *
- *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
 
-#ifndef JTAG_LIBUSB_COMMON_H
-#define JTAG_LIBUSB_COMMON_H
+#ifndef OPENOCD_JTAG_DRIVERS_LIBUSB0_COMMON_H
+#define OPENOCD_JTAG_DRIVERS_LIBUSB0_COMMON_H
 
-#include <helper/types.h>
 #include <usb.h>
 
 #define jtag_libusb_device                     usb_device
 #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
+#define LIBUSB_TRANSFER_TYPE_BULK              USB_ENDPOINT_TYPE_BULK
+
 static inline int jtag_libusb_claim_interface(jtag_libusb_device_handle *devh,
                                       int iface)
 {
        return usb_claim_interface(devh, iface);
 };
 
+static inline int jtag_libusb_release_interface(jtag_libusb_device_handle *devh,
+                                      int iface)
+{
+       return usb_release_interface(devh, iface);
+}
+
 int jtag_libusb_open(const uint16_t vids[], const uint16_t pids[],
-                    struct jtag_libusb_device_handle **out);
+               const char *serial,
+               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);
+               char *bytes, int size, int timeout, int *transferred);
 int jtag_libusb_bulk_read(struct jtag_libusb_device_handle *dev, int ep,
-                         char *bytes, int size, int timeout);
+               char *bytes, int size, int timeout, int *transferred);
 int jtag_libusb_set_configuration(jtag_libusb_device_handle *devh,
-                                 int configuration);
-int jtag_libusb_get_endpoints(struct jtag_libusb_device *udev,
-                             unsigned int *usb_read_ep,
-                             unsigned int *usb_write_ep);
+               int configuration);
+int jtag_libusb_choose_interface(struct jtag_libusb_device_handle *devh,
+               unsigned int *usb_read_ep,
+               unsigned int *usb_write_ep,
+               int bclass, int subclass, int protocol, int trans_type);
+int jtag_libusb_get_pid(struct jtag_libusb_device *dev, uint16_t *pid);
 
-#endif /* JTAG_USB_COMMON_H */
+#endif /* OPENOCD_JTAG_DRIVERS_LIBUSB0_COMMON_H */