aboutsummaryrefslogtreecommitdiff
path: root/tcl
diff options
context:
space:
mode:
authorJacek Wuwer <jacekmw8@gmail.com>2022-05-04 10:15:57 +0200
committerAntonio Borneo <borneo.antonio@gmail.com>2022-07-30 08:48:21 +0000
commitf97915f248d7e3e7db49139b4fbb40e1e480ed53 (patch)
tree7040667082811af116a529834dd98a49ac413f86 /tcl
parent49cf334e98dc2e6f52d64e594b8067247841b37d (diff)
downloadriscv-openocd-f97915f248d7e3e7db49139b4fbb40e1e480ed53.zip
riscv-openocd-f97915f248d7e3e7db49139b4fbb40e1e480ed53.tar.gz
riscv-openocd-f97915f248d7e3e7db49139b4fbb40e1e480ed53.tar.bz2
drivers/vdebug: add support for DAP level interface
This patch adds support for DAP interface to Cadence vdebug driver. It implements a new transport layer for dapdirect_swd. Change-Id: I64b02a9e1ce91e552e07fca692879655496f88b6 Signed-off-by: Jacek Wuwer <jacekmw8@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/6965 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Diffstat (limited to 'tcl')
-rw-r--r--tcl/board/vd_a53x2_dap.cfg29
-rw-r--r--tcl/board/vd_a53x2_jtag.cfg2
-rw-r--r--tcl/board/vd_m4_dap.cfg26
-rw-r--r--tcl/board/vd_m4_jtag.cfg2
-rw-r--r--tcl/board/vd_m7_jtag.cfg30
-rw-r--r--tcl/board/vd_pulpissimo_jtag.cfg2
-rw-r--r--tcl/board/vd_swerv_jtag.cfg2
-rw-r--r--tcl/target/vd_riscv.cfg3
8 files changed, 90 insertions, 6 deletions
diff --git a/tcl/board/vd_a53x2_dap.cfg b/tcl/board/vd_a53x2_dap.cfg
new file mode 100644
index 0000000..4cf5594
--- /dev/null
+++ b/tcl/board/vd_a53x2_dap.cfg
@@ -0,0 +1,29 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Cadence virtual debug interface
+# Arm Cortex A53x2 through DAP
+
+source [find interface/vdebug.cfg]
+
+set _CORES 2
+set _CHIPNAME a53
+set _MEMSTART 0x00000000
+set _MEMSIZE 0x1000000
+
+# vdebug select transport
+transport select dapdirect_swd
+
+# JTAG reset config, frequency and reset delay
+adapter speed 50000
+adapter srst delay 5
+
+# BFM hierarchical path and input clk period
+vdebug bfm_path tbench.u_vd_swdp_bfm 10ns
+
+# DMA Memories to access backdoor (up to 4)
+vdebug mem_path tbench.u_memory.mem_array $_MEMSTART $_MEMSIZE
+
+source [find target/swj-dp.tcl]
+
+swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf
+
+source [find target/vd_aarch64.cfg]
diff --git a/tcl/board/vd_a53x2_jtag.cfg b/tcl/board/vd_a53x2_jtag.cfg
index 869bc4d..a5e8d24 100644
--- a/tcl/board/vd_a53x2_jtag.cfg
+++ b/tcl/board/vd_a53x2_jtag.cfg
@@ -11,7 +11,7 @@ set _MEMSIZE 0x1000000
set _CPUTAPID 0x5ba00477
# vdebug select transport
-#transport select jtag
+transport select jtag
# JTAG reset config, frequency and reset delay
reset_config trst_and_srst
diff --git a/tcl/board/vd_m4_dap.cfg b/tcl/board/vd_m4_dap.cfg
new file mode 100644
index 0000000..691b623
--- /dev/null
+++ b/tcl/board/vd_m4_dap.cfg
@@ -0,0 +1,26 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Cadence virtual debug interface
+# Arm Cortex m4 through DAP
+
+source [find interface/vdebug.cfg]
+
+set _CHIPNAME m4
+set _MEMSTART 0x00000000
+set _MEMSIZE 0x10000
+
+# vdebug select transport
+transport select dapdirect_swd
+adapter speed 25000
+adapter srst delay 5
+
+# BFM hierarchical path and input clk period
+vdebug bfm_path tbench.u_vd_swdp_bfm 20ns
+
+# DMA Memories to access backdoor (up to 4)
+vdebug mem_path tbench.u_mcu.u_sys.u_rom.rom $_MEMSTART $_MEMSIZE
+
+source [find target/swj-dp.tcl]
+
+swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf
+
+source [find target/vd_cortex_m.cfg]
diff --git a/tcl/board/vd_m4_jtag.cfg b/tcl/board/vd_m4_jtag.cfg
index ca21476..4c795eb 100644
--- a/tcl/board/vd_m4_jtag.cfg
+++ b/tcl/board/vd_m4_jtag.cfg
@@ -10,7 +10,7 @@ set _MEMSIZE 0x10000
set _CPUTAPID 0x4ba00477
# vdebug select transport
-#transport select jtag
+transport select jtag
# JTAG reset config, frequency and reset delay
reset_config trst_and_srst
diff --git a/tcl/board/vd_m7_jtag.cfg b/tcl/board/vd_m7_jtag.cfg
new file mode 100644
index 0000000..880ef9b
--- /dev/null
+++ b/tcl/board/vd_m7_jtag.cfg
@@ -0,0 +1,30 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Cadence virtual debug interface
+# Arm Cortex m7 through JTAG
+
+source [find interface/vdebug.cfg]
+
+set _CHIPNAME m7
+set _MEMSTART 0x00000000
+set _MEMSIZE 0x100000
+set _CPUTAPID 0x0ba02477
+
+# vdebug select JTAG transport
+transport select jtag
+
+# JTAG reset config, frequency and reset delay
+reset_config trst_and_srst
+adapter speed 50000
+adapter srst delay 5
+
+# BFM hierarchical path and input clk period
+vdebug bfm_path tbench.u_vd_jtag_bfm 10ns
+
+# DMA Memories to access backdoor (up to 4)
+vdebug mem_path tbench.u_mcu.u_sys.u_itcm_ram.Mem $_MEMSTART $_MEMSIZE
+
+jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
+
+jtag arp_init-reset
+
+source [find target/vd_cortex_m.cfg]
diff --git a/tcl/board/vd_pulpissimo_jtag.cfg b/tcl/board/vd_pulpissimo_jtag.cfg
index 69dd9e6..a3f5a84 100644
--- a/tcl/board/vd_pulpissimo_jtag.cfg
+++ b/tcl/board/vd_pulpissimo_jtag.cfg
@@ -9,7 +9,7 @@ set _HARTID 0x20
set _CPUTAPID 0x249511c3
# vdebug select transport
-#transport select jtag
+transport select jtag
# JTAG reset config, frequency and reset delay
reset_config trst_and_srst
diff --git a/tcl/board/vd_swerv_jtag.cfg b/tcl/board/vd_swerv_jtag.cfg
index ff6c683..c5d33f2 100644
--- a/tcl/board/vd_swerv_jtag.cfg
+++ b/tcl/board/vd_swerv_jtag.cfg
@@ -11,7 +11,7 @@ set _MEMSTART 0x00000000
set _MEMSIZE 0x10000
# vdebug select transport
-#transport select jtag
+transport select jtag
# JTAG reset config, frequency and reset delay
reset_config trst_and_srst
diff --git a/tcl/target/vd_riscv.cfg b/tcl/target/vd_riscv.cfg
index b42b25a..f08cb1a 100644
--- a/tcl/target/vd_riscv.cfg
+++ b/tcl/target/vd_riscv.cfg
@@ -14,5 +14,4 @@ target create $_TARGETNAME riscv -chain-position $_TARGETNAME -coreid $_HARTID
riscv set_reset_timeout_sec 120
riscv set_command_timeout_sec 120
-# prefer to use sba for system bus access
-riscv set_prefer_sba on
+riscv set_mem_access sysbus progbuf