X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fjtag%2Finterfaces.c;h=286a73ac67483bf30ee0b0b00ccbdb5193d4386f;hp=1d8cb7566e63f329c489cc1ccbba56208db96c1c;hb=f9056d222c401f782481d323206595eed17671cb;hpb=c2cecc74b0acb11254392b6622655a4758f35903 diff --git a/src/jtag/interfaces.c b/src/jtag/interfaces.c index 1d8cb7566e..286a73ac67 100644 --- a/src/jtag/interfaces.c +++ b/src/jtag/interfaces.c @@ -23,72 +23,119 @@ * 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 . * ***************************************************************************/ + #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_FTDI == 1 +extern struct jtag_interface ftdi_interface; #endif -#if BUILD_FT2232_FTD2XX == 1 -extern jtag_interface_t ft2232_interface; +#if BUILD_USB_BLASTER == 1 || BUILD_USB_BLASTER_2 == 1 +extern struct jtag_interface usb_blaster_interface; #endif -#if BUILD_FT2232_LIBFTDI == 1 -extern jtag_interface_t ft2232_interface; +#if BUILD_JTAG_VPI == 1 +extern struct jtag_interface jtag_vpi_interface; +#endif +#if BUILD_FT232R == 1 +extern struct jtag_interface ft232r_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; +#if BUILD_PRESTO +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_OPENJTAG == 1 +extern struct jtag_interface openjtag_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_HLADAPTER == 1 +extern struct jtag_interface hl_interface; +#endif +#if BUILD_OSBDM == 1 +extern struct jtag_interface osbdm_interface; +#endif +#if BUILD_OPENDOUS == 1 +extern struct jtag_interface opendous_interface; +#endif +#if BUILD_SYSFSGPIO == 1 +extern struct jtag_interface sysfsgpio_interface; +#endif +#if BUILD_AICE == 1 +extern struct jtag_interface aice_interface; +#endif +#if BUILD_BCM2835GPIO == 1 +extern struct jtag_interface bcm2835gpio_interface; +#endif +#if BUILD_CMSIS_DAP == 1 +extern struct jtag_interface cmsis_dap_interface; +#endif +#if BUILD_KITPROG == 1 +extern struct jtag_interface kitprog_interface; +#endif +#if BUILD_IMX_GPIO == 1 +extern struct jtag_interface imx_gpio_interface; #endif -#endif // standard drivers +#if BUILD_XDS110 == 1 +extern struct jtag_interface xds110_interface; +#endif +#endif /* standard drivers */ /** * The list of built-in JTAG interfaces, containing entries for those @@ -97,23 +144,29 @@ 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 #if BUILD_DUMMY == 1 &dummy_interface, #endif -#if BUILD_FT2232_FTD2XX == 1 - &ft2232_interface, +#if BUILD_FTDI == 1 + &ftdi_interface, +#endif +#if BUILD_USB_BLASTER || BUILD_USB_BLASTER_2 == 1 + &usb_blaster_interface, +#endif +#if BUILD_JTAG_VPI == 1 + &jtag_vpi_interface, #endif -#if BUILD_FT2232_LIBFTDI == 1 - &ft2232_interface, +#if BUILD_FT232R == 1 + &ft232r_interface, #endif #if BUILD_AMTJTAGACCEL == 1 &amt_jtagaccel_interface, @@ -127,12 +180,15 @@ jtag_interface_t *jtag_interfaces[] = { #if BUILD_GW16012 == 1 &gw16012_interface, #endif -#if BUILD_PRESTO_LIBFTDI == 1 || BUILD_PRESTO_FTD2XX == 1 +#if BUILD_PRESTO &presto_interface, #endif #if BUILD_USBPROG == 1 &usbprog_interface, #endif +#if BUILD_OPENJTAG == 1 + &openjtag_interface, +#endif #if BUILD_JLINK == 1 &jlink_interface, #endif @@ -142,14 +198,53 @@ 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_HLADAPTER == 1 + &hl_interface, +#endif +#if BUILD_OSBDM == 1 + &osbdm_interface, +#endif +#if BUILD_OPENDOUS == 1 + &opendous_interface, +#endif +#if BUILD_SYSFSGPIO == 1 + &sysfsgpio_interface, +#endif +#if BUILD_AICE == 1 + &aice_interface, +#endif +#if BUILD_BCM2835GPIO == 1 + &bcm2835gpio_interface, +#endif +#if BUILD_CMSIS_DAP == 1 + &cmsis_dap_interface, +#endif +#if BUILD_KITPROG == 1 + &kitprog_interface, +#endif +#if BUILD_IMX_GPIO == 1 + &imx_gpio_interface, +#endif +#if BUILD_XDS110 == 1 + &xds110_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 */ }