Skip to content

Commit 938b499

Browse files
committed
Merge branch 'change-6867-new' into xvc-tcp-support
2 parents 5ef8e99 + b094e21 commit 938b499

File tree

6 files changed

+774
-1
lines changed

6 files changed

+774
-1
lines changed

configure.ac

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,9 @@ m4_define([PCIE_ADAPTERS],
157157
m4_define([SERIAL_PORT_ADAPTERS],
158158
[[[buspirate], [Bus Pirate], [BUS_PIRATE]]])
159159

160+
m4_define([NETWORK_ADAPTERS],
161+
[[[xvc], [Xilinx XVC TCP], [xvc]]])
162+
160163
# The word 'Adapter' in "Dummy Adapter" below must begin with a capital letter
161164
# because there is an M4 macro called 'adapter'.
162165
m4_define([DUMMY_ADAPTER],
@@ -264,7 +267,8 @@ AC_ARG_ADAPTERS([
264267
LIBFTDI_USB1_ADAPTERS
265268
LIBGPIOD_ADAPTERS,
266269
SERIAL_PORT_ADAPTERS,
267-
LIBJAYLINK_ADAPTERS
270+
LIBJAYLINK_ADAPTERS,
271+
NETWORK_ADAPTERS
268272
],[auto])
269273

270274
AC_ARG_ADAPTERS([DUMMY_ADAPTER],[no])
@@ -388,6 +392,10 @@ AC_ARG_ENABLE([remote-bitbang],
388392
AS_HELP_STRING([--enable-remote-bitbang], [Enable building support for the Remote Bitbang driver]),
389393
[build_remote_bitbang=$enableval], [build_remote_bitbang=no])
390394

395+
AC_ARG_ENABLE([xvc],
396+
AS_HELP_STRING([--enable-xvc], [Enable building support for the Xilinx XVC TCP jtag driver]),
397+
[build_xvc=$enableval], [build_xvc=yes])
398+
391399
AS_CASE(["${host_cpu}"],
392400
[i?86|x86*], [],
393401
[
@@ -603,6 +611,13 @@ AS_IF([test "x$build_remote_bitbang" = "xyes"], [
603611
AC_DEFINE([BUILD_REMOTE_BITBANG], [0], [0 if you don't want the Remote Bitbang driver.])
604612
])
605613

614+
AS_IF([test "x$build_xvc" = "xyes"], [
615+
build_bitbang=yes
616+
AC_DEFINE([BUILD_XVC], [1], [1 if you want the Xilinx XVC TCP driver.])
617+
], [
618+
AC_DEFINE([BUILD_XVC], [0], [0 if you don't want the Xilinx XVC TCP driver.])
619+
])
620+
606621
AS_IF([test "x$build_sysfsgpio" = "xyes"], [
607622
build_bitbang=yes
608623
AC_DEFINE([BUILD_SYSFSGPIO], [1], [1 if you want the SysfsGPIO driver.])
@@ -779,6 +794,7 @@ AM_CONDITIONAL([USE_LIBJAYLINK], [test "x$use_libjaylink" = "xyes"])
779794
AM_CONDITIONAL([RSHIM], [test "x$build_rshim" = "xyes"])
780795
AM_CONDITIONAL([DMEM], [test "x$build_dmem" = "xyes"])
781796
AM_CONDITIONAL([HAVE_CAPSTONE], [test "x$enable_capstone" != "xno"])
797+
AM_CONDITIONAL([XVC], [test "x$build_xvc" = "xyes"])
782798

783799
AM_CONDITIONAL([INTERNAL_JIMTCL], [test "x$use_internal_jimtcl" = "xyes"])
784800
AM_CONDITIONAL([INTERNAL_LIBJAYLINK], [test "x$use_internal_libjaylink" = "xyes"])
@@ -857,6 +873,7 @@ m4_foreach([adapter], [USB1_ADAPTERS,
857873
LIBFTDI_USB1_ADAPTERS,
858874
LIBGPIOD_ADAPTERS,
859875
LIBJAYLINK_ADAPTERS, PCIE_ADAPTERS, SERIAL_PORT_ADAPTERS,
876+
NETWORK_ADAPTERS,
860877
DUMMY_ADAPTER,
861878
OPTIONAL_LIBRARIES],
862879
[s=m4_format(["%-40s"], ADAPTER_DESC([adapter]))

doc/openocd.texi

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -614,6 +614,9 @@ emulation model of target hardware.
614614
@item @b{xlnx_pcie_xvc}
615615
@* A JTAG driver exposing Xilinx Virtual Cable over PCI Express to OpenOCD as JTAG/SWD interface.
616616

617+
@item @b{xvc}
618+
@* A JTAG driver using Xilinx Virtual Cable over TCP to OpenOCD as JTAG interface.
619+
617620
@item @b{linuxgpiod}
618621
@* A bitbang JTAG driver using Linux GPIO through library libgpiod.
619622

@@ -3675,6 +3678,29 @@ Set the emulated address and address window size. Both of these
36753678
parameters must be aligned to page size.
36763679
@end deffn
36773680

3681+
@deffn {Interface Driver} {xvc}
3682+
This driver implements bitbang mode of JTAG devices
3683+
using Xilinx Virtual Cable messages over TCP/IP.
3684+
This implementation is XVC protocol 1.0/1.1 compatible. However, 'mrd' and 'mwr'
3685+
extensions introduced in version 1.1 are not supported. Refer to:
3686+
@url{https://github.com/Xilinx/XilinxVirtualCable} for protocol specification.
3687+
3688+
Example configuration:
3689+
3690+
@example
3691+
xvc_host 192.168.3.192
3692+
xvc_port 5000
3693+
@end example
3694+
@end deffn
3695+
3696+
@deffn {Config Command} {xvc_host} @var{hostname}
3697+
Specifies the hostname of the remote debugger to connect to.
3698+
@end deffn
3699+
3700+
@deffn {Config Command} {xvc_port} @var{number}
3701+
Specifies the port of the remote process to connect to.
3702+
@end deffn
3703+
36783704
@end deffn
36793705

36803706
@section Transport Configuration

src/jtag/drivers/Makefile.am

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,9 @@ endif
204204
if AM335XGPIO
205205
DRIVERFILES += %D%/am335xgpio.c
206206
endif
207+
if XVC
208+
DRIVERFILES += %D%/xvc.c
209+
endif
207210

208211
DRIVERHEADERS = \
209212
%D%/bitbang.h \

0 commit comments

Comments
 (0)