forked from auracaster/openocd
Support two-wire cJTAG OSCAN1 and JScan3 using FTDI adapters
cJTAG OSCAN1, in lieu of 4-wire JTAG, is starting to be a configuration option for some SiFive hardware. An FTDI-based adapter that can be configured to drive the bidirectional pin TMSC is assumed for this topology. Specifically, the Olimex ARM-USB-TINY-H with the ARM-JTAG-SWD adapter, connected to a SiFive cJTAG-enabled target board is the only known concrete topology, currently. But in theory, other FTDI based devices that can drive a two-wire bidirectional signaling pattern could be made to work in this scheme in the future. These code changes are offered as a way to drive that topology. It's translating IR/DR and JTAG traversal commands to the two-wire clocking and signaling. See: - https://github.com/riscv-collab/riscv-openocd/pull/320 - https://github.com/riscv-collab/riscv-openocd/pull/736 Signed-off-by: Greg Savin <greg.savin@sifive.com> Signed-off-by: mrv96 <mrv96@users.noreply.github.com> Signed-off-by: Tim Newsome <tim@sifive.com> Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Change-Id: Ia1daa2c01227c4b0005be947b2bb0de81a800874 Reviewed-on: https://review.openocd.org/c/openocd/+/6981 Tested-by: jenkins
This commit is contained in:
29
tcl/interface/ftdi/olimex-arm-jtag-cjtag.cfg
Normal file
29
tcl/interface/ftdi/olimex-arm-jtag-cjtag.cfg
Normal file
@@ -0,0 +1,29 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#
|
||||
# Olimex ARM JTAG SWD adapter
|
||||
# https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/
|
||||
#
|
||||
|
||||
#
|
||||
# Olimex ARM-USB-TINY-H
|
||||
#
|
||||
# http://www.olimex.com/dev/arm-usb-tiny-h.html
|
||||
#
|
||||
|
||||
interface ftdi
|
||||
ftdi oscan1_mode on
|
||||
ftdi device_desc "Olimex OpenOCD JTAG ARM-USB-TINY-H"
|
||||
ftdi vid_pid 0x15ba 0x002a
|
||||
|
||||
ftdi layout_init 0x0808 0x0a1b
|
||||
ftdi layout_signal nSRST -oe 0x0200
|
||||
# oscan1_ftdi_layout_signal nTRST -data 0x0100 -oe 0x0100
|
||||
ftdi layout_signal LED -data 0x0800
|
||||
|
||||
# These signals are used for cJTAG escape sequence on initialization only
|
||||
ftdi layout_signal TCK -data 0x0001
|
||||
ftdi layout_signal TDI -data 0x0002
|
||||
ftdi layout_signal TDO -input 0x0004
|
||||
ftdi layout_signal TMS -data 0x0008
|
||||
ftdi layout_signal JTAG_SEL -data 0x0100 -oe 0x0100
|
||||
24
tcl/interface/ftdi/olimex-arm-usb-ocd-h-cjtag.cfg
Normal file
24
tcl/interface/ftdi/olimex-arm-usb-ocd-h-cjtag.cfg
Normal file
@@ -0,0 +1,24 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#
|
||||
# Olimex ARM-USB-OCD-H (using cJTAG)
|
||||
#
|
||||
# http://www.olimex.com/dev/arm-usb-ocd-h.html
|
||||
#
|
||||
|
||||
interface ftdi
|
||||
ftdi oscan1_mode on
|
||||
ftdi device_desc "Olimex OpenOCD JTAG ARM-USB-OCD-H"
|
||||
ftdi vid_pid 0x15ba 0x002b
|
||||
|
||||
ftdi layout_init 0x0808 0x0a1b
|
||||
ftdi layout_signal nSRST -oe 0x0200
|
||||
# oscan1_ftdi_layout_signal nTRST -data 0x0100 -oe 0x0100
|
||||
ftdi layout_signal LED -data 0x0800
|
||||
|
||||
# These signals are used for cJTAG escape sequence on initialization only
|
||||
ftdi layout_signal TCK -data 0x0001
|
||||
ftdi layout_signal TDI -data 0x0002
|
||||
ftdi layout_signal TDO -input 0x0004
|
||||
ftdi layout_signal TMS -data 0x0008
|
||||
ftdi layout_signal JTAG_SEL -data 0x0100 -oe 0x0100
|
||||
29
tcl/interface/ftdi/olimex-arm-usb-tiny-h-cjtag.cfg
Normal file
29
tcl/interface/ftdi/olimex-arm-usb-tiny-h-cjtag.cfg
Normal file
@@ -0,0 +1,29 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#
|
||||
# Olimex ARM JTAG SWD adapter
|
||||
# https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/
|
||||
#
|
||||
|
||||
#
|
||||
# Olimex ARM-USB-TINY-H (using cJTAG)
|
||||
#
|
||||
# http://www.olimex.com/dev/arm-usb-tiny-h.html
|
||||
#
|
||||
|
||||
interface ftdi
|
||||
ftdi oscan1_mode on
|
||||
ftdi device_desc "Olimex OpenOCD JTAG ARM-USB-TINY-H"
|
||||
ftdi vid_pid 0x15ba 0x002a
|
||||
|
||||
ftdi layout_init 0x0808 0x0a1b
|
||||
ftdi layout_signal nSRST -oe 0x0200
|
||||
# oscan1_ftdi_layout_signal nTRST -data 0x0100 -oe 0x0100
|
||||
ftdi layout_signal LED -data 0x0800
|
||||
|
||||
# These signals are used for cJTAG escape sequence on initialization only
|
||||
ftdi layout_signal TCK -data 0x0001
|
||||
ftdi layout_signal TDI -data 0x0002
|
||||
ftdi layout_signal TDO -input 0x0004
|
||||
ftdi layout_signal TMS -data 0x0008
|
||||
ftdi layout_signal JTAG_SEL -data 0x0100 -oe 0x0100
|
||||
Reference in New Issue
Block a user