X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fjtag%2Finterfaces.c;h=88bf929efa4d0b1fbedcb2cbc4a77fc9e4c6304d;hb=7bfcc10839d2a9190cb7ae9fae02280e643b3450;hp=1d8cb7566e63f329c489cc1ccbba56208db96c1c;hpb=c2cecc74b0acb11254392b6622655a4758f35903;p=openocd.git diff --git a/src/jtag/interfaces.c b/src/jtag/interfaces.c index 1d8cb7566e..88bf929efa 100644 --- a/src/jtag/interfaces.c +++ b/src/jtag/interfaces.c @@ -27,68 +27,90 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ + #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "interfaces.h" -/** - * @file This file includes declarations for all built-in jtag interfaces, - * which are then listed in the jtag_interfaces array. +/** @file + * This file includes declarations for all built-in jtag interfaces, + * which are then listed in the jtag_interfaces array. * - * Dynamic loading can be implemented be searching for shared libraries - * that contain a jtag_interface structure that can added to this list. + * Dynamic loading can be implemented be searching for shared libraries + * that contain a jtag_interface structure that can added to this list. */ #if BUILD_ZY1000 == 1 -extern jtag_interface_t zy1000_interface; +extern struct jtag_interface zy1000_interface; #elif defined(BUILD_MINIDRIVER_DUMMY) -extern jtag_interface_t minidummy_interface; -#else // standard drivers +extern struct jtag_interface minidummy_interface; +#else /* standard drivers */ #if BUILD_PARPORT == 1 -extern jtag_interface_t parport_interface; +extern struct jtag_interface parport_interface; #endif #if BUILD_DUMMY == 1 -extern jtag_interface_t dummy_interface; +extern struct jtag_interface dummy_interface; #endif #if BUILD_FT2232_FTD2XX == 1 -extern jtag_interface_t ft2232_interface; +extern struct jtag_interface ft2232_interface; #endif #if BUILD_FT2232_LIBFTDI == 1 -extern jtag_interface_t ft2232_interface; +extern struct jtag_interface ft2232_interface; +#endif +#if BUILD_USB_BLASTER_LIBFTDI == 1 || BUILD_USB_BLASTER_FTD2XX == 1 +extern struct jtag_interface usb_blaster_interface; #endif #if BUILD_AMTJTAGACCEL == 1 -extern jtag_interface_t amt_jtagaccel_interface; +extern struct jtag_interface amt_jtagaccel_interface; #endif #if BUILD_EP93XX == 1 -extern jtag_interface_t ep93xx_interface; +extern struct jtag_interface ep93xx_interface; #endif #if BUILD_AT91RM9200 == 1 -extern jtag_interface_t at91rm9200_interface; +extern struct jtag_interface at91rm9200_interface; #endif #if BUILD_GW16012 == 1 -extern jtag_interface_t gw16012_interface; +extern struct jtag_interface gw16012_interface; #endif #if BUILD_PRESTO_LIBFTDI == 1 || BUILD_PRESTO_FTD2XX == 1 -extern jtag_interface_t presto_interface; +extern struct jtag_interface presto_interface; #endif #if BUILD_USBPROG == 1 -extern jtag_interface_t usbprog_interface; +extern struct jtag_interface usbprog_interface; #endif #if BUILD_JLINK == 1 -extern jtag_interface_t jlink_interface; +extern struct jtag_interface jlink_interface; #endif #if BUILD_VSLLINK == 1 -extern jtag_interface_t vsllink_interface; +extern struct jtag_interface vsllink_interface; #endif #if BUILD_RLINK == 1 -extern jtag_interface_t rlink_interface; +extern struct jtag_interface rlink_interface; +#endif +#if BUILD_ULINK == 1 +extern struct jtag_interface ulink_interface; #endif #if BUILD_ARMJTAGEW == 1 -extern jtag_interface_t armjtagew_interface; +extern struct jtag_interface armjtagew_interface; +#endif +#if BUILD_BUSPIRATE == 1 +extern struct jtag_interface buspirate_interface; +#endif +#if BUILD_REMOTE_BITBANG == 1 +extern struct jtag_interface remote_bitbang_interface; +#endif +#if BUILD_STLINK == 1 +extern struct jtag_interface stlink_interface; +#endif +#if BUILD_OSBDM == 1 +extern struct jtag_interface osbdm_interface; #endif -#endif // standard drivers +#if BUILD_OPENDOUS == 1 +extern struct jtag_interface opendous_interface; +#endif +#endif /* standard drivers */ /** * The list of built-in JTAG interfaces, containing entries for those @@ -97,12 +119,12 @@ extern jtag_interface_t armjtagew_interface; * The list should be defined to contain either one minidriver interface * or some number of standard driver interfaces, never both. */ -jtag_interface_t *jtag_interfaces[] = { +struct jtag_interface *jtag_interfaces[] = { #if BUILD_ZY1000 == 1 &zy1000_interface, #elif defined(BUILD_MINIDRIVER_DUMMY) &minidummy_interface, -#else // standard drivers +#else /* standard drivers */ #if BUILD_PARPORT == 1 &parport_interface, #endif @@ -115,6 +137,9 @@ jtag_interface_t *jtag_interfaces[] = { #if BUILD_FT2232_LIBFTDI == 1 &ft2232_interface, #endif +#if BUILD_USB_BLASTER_LIBFTDI == 1 || BUILD_USB_BLASTER_FTD2XX == 1 + &usb_blaster_interface, +#endif #if BUILD_AMTJTAGACCEL == 1 &amt_jtagaccel_interface, #endif @@ -142,14 +167,32 @@ jtag_interface_t *jtag_interfaces[] = { #if BUILD_RLINK == 1 &rlink_interface, #endif +#if BUILD_ULINK == 1 + &ulink_interface, +#endif #if BUILD_ARMJTAGEW == 1 &armjtagew_interface, #endif -#endif // standard drivers +#if BUILD_BUSPIRATE == 1 + &buspirate_interface, +#endif +#if BUILD_REMOTE_BITBANG == 1 + &remote_bitbang_interface, +#endif +#if BUILD_STLINK == 1 + &stlink_interface, +#endif +#if BUILD_OSBDM == 1 + &osbdm_interface, +#endif +#if BUILD_OPENDOUS == 1 + &opendous_interface, +#endif +#endif /* standard drivers */ NULL, }; void jtag_interface_modules_load(const char *path) { - // @todo: implement dynamic module loading for JTAG interface drivers + /* @todo: implement dynamic module loading for JTAG interface drivers */ }