mirror of
https://github.com/linux-msm/openocd.git
synced 2026-02-25 13:15:07 -08:00
Added OpenJTAG Driver
Updated OpenJTAG driver from www.openjtag.org to work with latest version of OpenOCD. Change-Id: I2917f4e5835fb9ca5265e81dc38515fa97ae9503 Signed-off-by: Ryan Corbin <corbin.ryan@gmail.com> Reviewed-on: http://openocd.zylin.com/1406 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
This commit is contained in:
committed by
Spencer Oliver
parent
cf8a3c3d70
commit
76b3563860
29
configure.ac
29
configure.ac
@@ -446,6 +446,14 @@ AC_ARG_ENABLE([usbprog],
|
||||
AS_HELP_STRING([--enable-usbprog], [Enable building support for the usbprog JTAG Programmer]),
|
||||
[build_usbprog=$enableval], [build_usbprog=no])
|
||||
|
||||
AC_ARG_ENABLE([openjtag_ftd2xx],
|
||||
AS_HELP_STRING([--enable-openjtag_ftd2xx], [Enable building support for the OpenJTAG Programmer with ftd2xx driver]),
|
||||
[build_openjtag_ftd2xx=$enableval], [build_openjtag_ftd2xx=no])
|
||||
|
||||
AC_ARG_ENABLE([openjtag_ftdi],
|
||||
AS_HELP_STRING([--enable-openjtag_ftdi], [Enable building support for the OpenJTAG Programmer with ftdi driver]),
|
||||
[build_openjtag_ftdi=$enableval], [build_openjtag_ftdi=no])
|
||||
|
||||
AC_ARG_ENABLE([oocd_trace],
|
||||
AS_HELP_STRING([--enable-oocd_trace],
|
||||
[Enable building support for some prototype OpenOCD+trace ETM capture hardware]),
|
||||
@@ -754,6 +762,19 @@ else
|
||||
AC_DEFINE([BUILD_USBPROG], [0], [0 if you don't want the usbprog JTAG driver.])
|
||||
fi
|
||||
|
||||
AC_DEFINE([BUILD_OPENJTAG], [0], [0 if you don't want the OpenJTAG driver.])
|
||||
AC_DEFINE([BUILD_OPENJTAG_FTD2XX], [0], [0 if you don't want the OpenJTAG driver with FTD2XX driver.])
|
||||
AC_DEFINE([BUILD_OPENJTAG_LIBFTDI], [0], [0 if you don't want to build OpenJTAG driver with libftdi.])
|
||||
|
||||
if test $build_openjtag_ftd2xx = yes; then
|
||||
AC_DEFINE([BUILD_OPENJTAG], [1], [1 if you want the OpenJTAG driver.])
|
||||
AC_DEFINE([BUILD_OPENJTAG_FTD2XX], [1], [1 if you want the OpenJTAG driver with FTD2XX driver.])
|
||||
fi
|
||||
if test $build_openjtag_ftdi = yes; then
|
||||
AC_DEFINE([BUILD_OPENJTAG], [1], [1 if you want the OpenJTAG drvier.])
|
||||
AC_DEFINE([BUILD_OPENJTAG_LIBFTDI], [1], [1 if you want to build OpenJTAG with FTDI driver.])
|
||||
fi
|
||||
|
||||
if test $build_oocd_trace = yes; then
|
||||
AC_DEFINE([BUILD_OOCD_TRACE], [1], [1 if you want the OpenOCD+trace ETM capture driver.])
|
||||
else
|
||||
@@ -849,7 +870,7 @@ then
|
||||
AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.])
|
||||
fi
|
||||
|
||||
if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes -o $build_usb_blaster_ftd2xx = yes ; then
|
||||
if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes -o $build_usb_blaster_ftd2xx = yes -o $build_openjtag_ftd2xx = yes; then
|
||||
AC_MSG_CHECKING([for ftd2xx.lib exists (win32)])
|
||||
|
||||
# if we are given a zipdir...
|
||||
@@ -919,7 +940,7 @@ then
|
||||
AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only])
|
||||
fi
|
||||
|
||||
if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes -o $build_usb_blaster_ftd2xx = yes ; then
|
||||
if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes -o $build_usb_blaster_ftd2xx = yes -o $build_openjtag_ftd2xx = yes; then
|
||||
# Must be linux
|
||||
if test $host_os != linux-gnu && test $host_os != linux ; then
|
||||
AC_MSG_ERROR([The (linux) ftd2xx library from FTDICHIP.com is linux only. Try --enable-ft2232-libftdi instead])
|
||||
@@ -1066,7 +1087,8 @@ LDFLAGS=$LDFLAGS_SAVE
|
||||
CFLAGS=$CFLAGS_SAVE
|
||||
fi
|
||||
|
||||
if test $build_ft2232_libftdi = yes -o $build_usb_blaster_libftdi = yes; then
|
||||
if test $build_ft2232_libftdi = yes -o $build_usb_blaster_libftdi = yes -o \
|
||||
$build_openjtag_ftdi = yes; then
|
||||
# We assume: the package is preinstalled in the proper place
|
||||
# these present as 2 libraries..
|
||||
LIBS="$LIBS -lftdi -lusb"
|
||||
@@ -1198,6 +1220,7 @@ AM_CONDITIONAL([GW16012], [test $build_gw16012 = yes])
|
||||
AM_CONDITIONAL([PRESTO_LIBFTDI], [test $build_presto_libftdi = yes])
|
||||
AM_CONDITIONAL([PRESTO_DRIVER], [test $build_presto_ftd2xx = yes -o $build_presto_libftdi = yes])
|
||||
AM_CONDITIONAL([USBPROG], [test $build_usbprog = yes])
|
||||
AM_CONDITIONAL([OPENJTAG], [test $build_openjtag_ftd2xx = yes -o $build_openjtag_ftdi = yes])
|
||||
AM_CONDITIONAL([OOCD_TRACE], [test $build_oocd_trace = yes])
|
||||
AM_CONDITIONAL([JLINK], [test $build_jlink = yes])
|
||||
AM_CONDITIONAL([AICE], [test $build_aice = yes])
|
||||
|
||||
@@ -115,6 +115,10 @@ if SYSFSGPIO
|
||||
DRIVERFILES += sysfsgpio.c
|
||||
endif
|
||||
|
||||
if OPENJTAG
|
||||
DRIVERFILES += openjtag.c
|
||||
endif
|
||||
|
||||
noinst_HEADERS = \
|
||||
bitbang.h \
|
||||
bitq.h \
|
||||
|
||||
845
src/jtag/drivers/openjtag.c
Normal file
845
src/jtag/drivers/openjtag.c
Normal file
File diff suppressed because it is too large
Load Diff
@@ -83,6 +83,9 @@ extern struct jtag_interface presto_interface;
|
||||
#if BUILD_USBPROG == 1
|
||||
extern struct jtag_interface usbprog_interface;
|
||||
#endif
|
||||
#if BUILD_OPENJTAG == 1
|
||||
extern struct jtag_interface openjtag_interface;
|
||||
#endif
|
||||
#if BUILD_JLINK == 1
|
||||
extern struct jtag_interface jlink_interface;
|
||||
#endif
|
||||
@@ -170,6 +173,9 @@ struct jtag_interface *jtag_interfaces[] = {
|
||||
#if BUILD_USBPROG == 1
|
||||
&usbprog_interface,
|
||||
#endif
|
||||
#if BUILD_OPENJTAG == 1
|
||||
&openjtag_interface,
|
||||
#endif
|
||||
#if BUILD_JLINK == 1
|
||||
&jlink_interface,
|
||||
#endif
|
||||
|
||||
8
tcl/interface/openjtag.cfg
Normal file
8
tcl/interface/openjtag.cfg
Normal file
@@ -0,0 +1,8 @@
|
||||
#
|
||||
# OpenJTAG
|
||||
#
|
||||
# www.openjtag.org
|
||||
#
|
||||
|
||||
interface openjtag
|
||||
openjtag_device_desc "Open JTAG Project"
|
||||
Reference in New Issue
Block a user