diff options
Diffstat (limited to 'tcl')
-rw-r--r-- | tcl/board/vd_a53x2_dap.cfg | 19 | ||||
-rw-r--r-- | tcl/board/vd_a53x2_jtag.cfg | 20 | ||||
-rw-r--r-- | tcl/board/vd_a75x4_dap.cfg | 30 | ||||
-rw-r--r-- | tcl/board/vd_a75x4_jtag.cfg | 30 | ||||
-rw-r--r-- | tcl/board/vd_m4_dap.cfg | 14 | ||||
-rw-r--r-- | tcl/board/vd_m4_jtag.cfg | 15 | ||||
-rw-r--r-- | tcl/board/vd_m7_jtag.cfg | 15 | ||||
-rw-r--r-- | tcl/board/xtensa-palladium-vdebug-dual.cfg | 33 | ||||
-rw-r--r-- | tcl/board/xtensa-palladium-vdebug.cfg | 16 | ||||
-rw-r--r-- | tcl/target/vd_aarch64.cfg | 50 | ||||
-rw-r--r-- | tcl/target/vd_cortex_m.cfg | 11 | ||||
-rw-r--r-- | tcl/target/xtensa-core-nxp_rt600.cfg | 456 | ||||
-rw-r--r-- | tcl/target/xtensa-core-xt8.cfg | 297 | ||||
-rw-r--r-- | tcl/target/xtensa.cfg | 25 |
14 files changed, 591 insertions, 440 deletions
diff --git a/tcl/board/vd_a53x2_dap.cfg b/tcl/board/vd_a53x2_dap.cfg index 4cf5594..bcf8b44 100644 --- a/tcl/board/vd_a53x2_dap.cfg +++ b/tcl/board/vd_a53x2_dap.cfg @@ -4,10 +4,13 @@ source [find interface/vdebug.cfg] -set _CORES 2 -set _CHIPNAME a53 -set _MEMSTART 0x00000000 -set _MEMSIZE 0x1000000 +set CORES 2 +set CHIPNAME a53 +set ACCESSPORT 0 +set MEMSTART 0x00000000 +set MEMSIZE 0x1000000 +set DBGBASE {0x80810000 0x80910000} +set CTIBASE {0x80820000 0x80920000} # vdebug select transport transport select dapdirect_swd @@ -19,11 +22,9 @@ 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 +# DMA Memories to access backdoor (up to 20) +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 +swd 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 a5e8d24..0c3eebd 100644 --- a/tcl/board/vd_a53x2_jtag.cfg +++ b/tcl/board/vd_a53x2_jtag.cfg @@ -4,11 +4,14 @@ source [find interface/vdebug.cfg] -set _CORES 2 -set _CHIPNAME a53 -set _MEMSTART 0x00000000 -set _MEMSIZE 0x1000000 -set _CPUTAPID 0x5ba00477 +set CORES 2 +set CHIPNAME a53 +set ACCESSPORT 0 +set MEMSTART 0x00000000 +set MEMSIZE 0x1000000 +set DBGBASE {0x80810000 0x80910000} +set CTIBASE {0x80820000 0x80920000} +set CPUTAPID 0x5ba00477 # vdebug select transport transport select jtag @@ -21,11 +24,10 @@ 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_memory.mem_array $_MEMSTART $_MEMSIZE - -jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID +# DMA Memories to access backdoor (up to 20) +vdebug mem_path tbench.u_memory.mem_array $MEMSTART $MEMSIZE +jtag newtap $CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $CPUTAPID jtag arp_init-reset source [find target/vd_aarch64.cfg] diff --git a/tcl/board/vd_a75x4_dap.cfg b/tcl/board/vd_a75x4_dap.cfg new file mode 100644 index 0000000..5c2a2ef --- /dev/null +++ b/tcl/board/vd_a75x4_dap.cfg @@ -0,0 +1,30 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Cadence virtual debug interface +# Arm Cortex A53x2 through DAP + +source [find interface/vdebug.cfg] + +set CORES 4 +set CHIPNAME a75 +set ACCESSPORT 0x00040000 +set MEMSTART 0x00000000 +set MEMSIZE 0x1000000 +set DBGBASE {0x01010000 0x01110000 0x01210000 0x01310000} +set CTIBASE {0x01020000 0x01120000 0x01220000 0x01320000} + +# vdebug select transport +transport select dapdirect_swd + +# JTAG reset config, frequency and reset delay +adapter speed 200000 +adapter srst delay 5 + +# BFM hierarchical path and input clk period +vdebug bfm_path tbench.u_vd_dap6_bfm 2250ps + +# DMA Memories to access backdoor (up to 20) +#vdebug mem_path tbench.u_memory.mem_array $_MEMSTART $_MEMSIZE + +swd newdap $CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf + +source [find target/vd_aarch64.cfg] diff --git a/tcl/board/vd_a75x4_jtag.cfg b/tcl/board/vd_a75x4_jtag.cfg new file mode 100644 index 0000000..c94a719 --- /dev/null +++ b/tcl/board/vd_a75x4_jtag.cfg @@ -0,0 +1,30 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Cadence virtual debug interface +# Arm Cortex A53x2 through DAP + +source [find interface/vdebug.cfg] + +set CORES 4 +set CHIPNAME a75 +set ACCESSPORT 0x00040000 +set MEMSTART 0x00000000 +set MEMSIZE 0x1000000 +set DBGBASE {0x01010000 0x01110000 0x01210000 0x01310000} +set CTIBASE {0x01020000 0x01120000 0x01220000 0x01320000} +set CPUTAPID 0x4ba06477 + +# vdebug select transport +transport select jtag + +# JTAG reset config, frequency and reset delay +reset_config trst_and_srst +adapter speed 1500000 +adapter srst delay 5 + +# BFM hierarchical path and input clk period +vdebug bfm_path tbench.u_vd_jtag_bfm 333ps + +jtag newtap $CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $CPUTAPID +jtag arp_init-reset + +source [find target/vd_aarch64.cfg] diff --git a/tcl/board/vd_m4_dap.cfg b/tcl/board/vd_m4_dap.cfg index 691b623..5d3605a 100644 --- a/tcl/board/vd_m4_dap.cfg +++ b/tcl/board/vd_m4_dap.cfg @@ -4,9 +4,9 @@ source [find interface/vdebug.cfg] -set _CHIPNAME m4 -set _MEMSTART 0x00000000 -set _MEMSIZE 0x10000 +set CHIPNAME m4 +set MEMSTART 0x00000000 +set MEMSIZE 0x10000 # vdebug select transport transport select dapdirect_swd @@ -16,11 +16,9 @@ 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 +# DMA Memories to access backdoor (up to 20) +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 +swd 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 4c795eb..3b32e17 100644 --- a/tcl/board/vd_m4_jtag.cfg +++ b/tcl/board/vd_m4_jtag.cfg @@ -4,10 +4,10 @@ source [find interface/vdebug.cfg] -set _CHIPNAME m4 -set _MEMSTART 0x00000000 -set _MEMSIZE 0x10000 -set _CPUTAPID 0x4ba00477 +set CHIPNAME m4 +set MEMSTART 0x00000000 +set MEMSIZE 0x10000 +set CPUTAPID 0x4ba00477 # vdebug select transport transport select jtag @@ -20,11 +20,10 @@ adapter srst delay 5 # BFM hierarchical path and input clk period vdebug bfm_path tbench.u_vd_jtag_bfm 20ns -# DMA Memories to access backdoor (up to 4) -vdebug mem_path tbench.u_mcu.u_sys.u_rom.rom $_MEMSTART $_MEMSIZE - -jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID +# DMA Memories to access backdoor (up to 20) +vdebug mem_path tbench.u_mcu.u_sys.u_rom.rom $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_m7_jtag.cfg b/tcl/board/vd_m7_jtag.cfg index 880ef9b..9a89584 100644 --- a/tcl/board/vd_m7_jtag.cfg +++ b/tcl/board/vd_m7_jtag.cfg @@ -4,10 +4,10 @@ source [find interface/vdebug.cfg] -set _CHIPNAME m7 -set _MEMSTART 0x00000000 -set _MEMSIZE 0x100000 -set _CPUTAPID 0x0ba02477 +set CHIPNAME m7 +set MEMSTART 0x00000000 +set MEMSIZE 0x100000 +set CPUTAPID 0x0ba02477 # vdebug select JTAG transport transport select jtag @@ -20,11 +20,10 @@ 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 +# DMA Memories to access backdoor (up to 20) +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/xtensa-palladium-vdebug-dual.cfg b/tcl/board/xtensa-palladium-vdebug-dual.cfg new file mode 100644 index 0000000..447bc1f --- /dev/null +++ b/tcl/board/xtensa-palladium-vdebug-dual.cfg @@ -0,0 +1,33 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Cadence virtual debug interface +# for Palladium emulation systems +# + +source [find interface/vdebug.cfg] + +# 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 + +# Future improvement: Enable backdoor memory access +# set _MEMSTART 0x00000000 +# set _MEMSIZE 0x100000 + +# BFM hierarchical path and input clk period +vdebug bfm_path Testbench.VJTAG 10ns + +# DMA Memories to access backdoor (up to 4) +# vdebug mem_path tbench.u_mcu.u_sys.u_itcm_ram.Mem $_MEMSTART $_MEMSIZE + +# Configure dual-core TAP chain +set XTENSA_NUM_CORES 2 + +# Create Xtensa target first +source [find target/xtensa.cfg] + +# Configure Xtensa core parameters next +# Generate [xtensa-core-XXX.cfg] via "xt-gdb --dump-oocd-config" diff --git a/tcl/board/xtensa-palladium-vdebug.cfg b/tcl/board/xtensa-palladium-vdebug.cfg index d4a700e..f14d92d 100644 --- a/tcl/board/xtensa-palladium-vdebug.cfg +++ b/tcl/board/xtensa-palladium-vdebug.cfg @@ -13,4 +13,18 @@ reset_config trst_and_srst adapter speed 50000 adapter srst delay 5 -source [find target/vd_xtensa_jtag.cfg] +# Future improvement: Enable backdoor memory access +# set _MEMSTART 0x00000000 +# set _MEMSIZE 0x100000 + +# BFM hierarchical path and input clk period +vdebug bfm_path Testbench.VJTAG 10ns + +# DMA Memories to access backdoor (up to 4) +# vdebug mem_path tbench.u_mcu.u_sys.u_itcm_ram.Mem $_MEMSTART $_MEMSIZE + +# Create Xtensa target first +source [find target/xtensa.cfg] + +# Configure Xtensa core parameters next +# Generate [xtensa-core-XXX.cfg] via "xt-gdb --dump-oocd-config" diff --git a/tcl/target/vd_aarch64.cfg b/tcl/target/vd_aarch64.cfg index 619134a..177416b 100644 --- a/tcl/target/vd_aarch64.cfg +++ b/tcl/target/vd_aarch64.cfg @@ -2,36 +2,44 @@ # Cadence virtual debug interface # Arm v8 64b Cortex A -if {![info exists _CORES]} { - set _CORES 1 +if {![info exists CORES]} { + set CORES 1 } -if {![info exists _CHIPNAME]} { - set _CHIPNAME aarch64 +if {![info exists CHIPNAME]} { + set CHIPNAME aarch64 +} +if {[info exists ACCESSPORT]} { + set _APNUM "-ap-num $ACCESSPORT" + if { $ACCESSPORT > 0xff } { + set _DAP6 "-adiv6" + } else { + set _DAP6 "-adiv5" + } +} else { + set _APNUM "" } -set _TARGETNAME $_CHIPNAME.cpu -set _CTINAME $_CHIPNAME.cti -set DBGBASE {0x80810000 0x80910000} -set CTIBASE {0x80820000 0x80920000} +set _TARGETNAME $CHIPNAME.cpu +set _CTINAME $CHIPNAME.cti +set _DAPNAME $CHIPNAME.dap -dap create $_CHIPNAME.dap -chain-position $_TARGETNAME -$_CHIPNAME.dap apsel 1 +dap create $_DAPNAME $_DAP6 -chain-position $_TARGETNAME -for { set _core 0 } { $_core < $_CORES } { incr _core } \ +for { set _core 0 } { $_core < $CORES } { incr _core } \ { - cti create $_CTINAME.$_core -dap $_CHIPNAME.dap -ap-num 1 -baseaddr [lindex $CTIBASE $_core] - set _command "target create $_TARGETNAME.$_core aarch64 -dap $_CHIPNAME.dap \ - -dbgbase [lindex $DBGBASE $_core] -cti $_CTINAME.$_core -coreid $_core" + set _cmd "cti create $_CTINAME.$_core -dap $_DAPNAME $_APNUM -baseaddr [lindex $CTIBASE $_core]" + eval $_cmd + set _cmd "target create $_TARGETNAME.$_core aarch64 -dap $_DAPNAME $_APNUM -dbgbase [lindex $DBGBASE $_core] -cti $_CTINAME.$_core -coreid $_core" if { $_core != 0 } { # non-boot core examination may fail - set _command "$_command -defer-examine" - set _smp_command "$_smp_command $_TARGETNAME.$_core" + set _cmd "$_cmd -defer-examine" + set _smp_cmd "$_smp_cmd $_TARGETNAME.$_core" } else { - set _smp_command "target smp $_TARGETNAME.$_core" + set _smp_cmd "target smp $_TARGETNAME.$_core" } - eval $_command + eval $_cmd } -eval $_smp_command +eval $_smp_cmd -# default target is core 0 -targets $_TARGETNAME.0 +set _TARGETCUR $_TARGETNAME.0 +targets $_TARGETCUR diff --git a/tcl/target/vd_cortex_m.cfg b/tcl/target/vd_cortex_m.cfg index 4d7b0df..7db9d3a 100644 --- a/tcl/target/vd_cortex_m.cfg +++ b/tcl/target/vd_cortex_m.cfg @@ -2,11 +2,12 @@ # Cadence virtual debug interface # ARM Cortex M -if {![info exists _CHIPNAME]} { - set _CHIPNAME cortex_m +if {![info exists CHIPNAME]} { + set CHIPNAME cortex_m } -set _TARGETNAME $_CHIPNAME.cpu +set _TARGETNAME $CHIPNAME.cpu +set _DAPNAME $CHIPNAME.dap -dap create $_CHIPNAME.dap -chain-position $_TARGETNAME +dap create $_DAPNAME -chain-position $_TARGETNAME -target create $_TARGETNAME cortex_m -dap $_CHIPNAME.dap +target create $_TARGETNAME cortex_m -dap $_DAPNAME diff --git a/tcl/target/xtensa-core-nxp_rt600.cfg b/tcl/target/xtensa-core-nxp_rt600.cfg index abd961e..ca7fd68 100644 --- a/tcl/target/xtensa-core-nxp_rt600.cfg +++ b/tcl/target/xtensa-core-nxp_rt600.cfg @@ -2,246 +2,254 @@ # OpenOCD configuration file for Xtensa HiFi DSP in NXP RT600 target +# Core instance default definition +if { [info exists XTNAME] } { + set _XTNAME $XTNAME +} else { + set _XTNAME xtensa.cpu +} + + # Core definition and ABI -xtensa xtdef LX -xtensa xtopt arnum 32 -xtensa xtopt windowed 1 +$_XTNAME xtensa xtdef LX +$_XTNAME xtensa xtopt arnum 32 +$_XTNAME xtensa xtopt windowed 1 # Exception/Interrupt Options -xtensa xtopt exceptions 1 -xtensa xtopt hipriints 1 -xtensa xtopt intlevels 4 -xtensa xtopt excmlevel 2 +$_XTNAME xtensa xtopt exceptions 1 +$_XTNAME xtensa xtopt hipriints 1 +$_XTNAME xtensa xtopt intlevels 4 +$_XTNAME xtensa xtopt excmlevel 2 # Cache Options -xtensa xtmem icache 256 32768 4 -xtensa xtmem dcache 256 65536 4 1 +$_XTNAME xtensa xtmem icache 256 32768 4 +$_XTNAME xtensa xtmem dcache 256 65536 4 1 # Memory Options -xtensa xtmem iram 0x24020000 65536 -xtensa xtmem dram 0x24000000 65536 -xtensa xtmem sram 0x00000000 603979776 +$_XTNAME xtensa xtmem iram 0x24020000 65536 +$_XTNAME xtensa xtmem dram 0x24000000 65536 +$_XTNAME xtensa xtmem sram 0x00000000 603979776 # Memory Protection/Translation Options # Debug Options -xtensa xtopt debuglevel 4 -xtensa xtopt ibreaknum 2 -xtensa xtopt dbreaknum 2 +$_XTNAME xtensa xtopt debuglevel 4 +$_XTNAME xtensa xtopt ibreaknum 2 +$_XTNAME xtensa xtopt dbreaknum 2 # Core Registers -xtensa xtregs 208 -xtensa xtreg pc 0x0020 -xtensa xtreg ar0 0x0100 -xtensa xtreg ar1 0x0101 -xtensa xtreg ar2 0x0102 -xtensa xtreg ar3 0x0103 -xtensa xtreg ar4 0x0104 -xtensa xtreg ar5 0x0105 -xtensa xtreg ar6 0x0106 -xtensa xtreg ar7 0x0107 -xtensa xtreg ar8 0x0108 -xtensa xtreg ar9 0x0109 -xtensa xtreg ar10 0x010a -xtensa xtreg ar11 0x010b -xtensa xtreg ar12 0x010c -xtensa xtreg ar13 0x010d -xtensa xtreg ar14 0x010e -xtensa xtreg ar15 0x010f -xtensa xtreg ar16 0x0110 -xtensa xtreg ar17 0x0111 -xtensa xtreg ar18 0x0112 -xtensa xtreg ar19 0x0113 -xtensa xtreg ar20 0x0114 -xtensa xtreg ar21 0x0115 -xtensa xtreg ar22 0x0116 -xtensa xtreg ar23 0x0117 -xtensa xtreg ar24 0x0118 -xtensa xtreg ar25 0x0119 -xtensa xtreg ar26 0x011a -xtensa xtreg ar27 0x011b -xtensa xtreg ar28 0x011c -xtensa xtreg ar29 0x011d -xtensa xtreg ar30 0x011e -xtensa xtreg ar31 0x011f -xtensa xtreg lbeg 0x0200 -xtensa xtreg lend 0x0201 -xtensa xtreg lcount 0x0202 -xtensa xtreg sar 0x0203 -xtensa xtreg prefctl 0x0228 -xtensa xtreg windowbase 0x0248 -xtensa xtreg windowstart 0x0249 -xtensa xtreg configid0 0x02b0 -xtensa xtreg configid1 0x02d0 -xtensa xtreg ps 0x02e6 -xtensa xtreg threadptr 0x03e7 -xtensa xtreg br 0x0204 -xtensa xtreg scompare1 0x020c -xtensa xtreg acclo 0x0210 -xtensa xtreg acchi 0x0211 -xtensa xtreg m0 0x0220 -xtensa xtreg m1 0x0221 -xtensa xtreg m2 0x0222 -xtensa xtreg m3 0x0223 -xtensa xtreg expstate 0x03e6 -xtensa xtreg f64r_lo 0x03ea -xtensa xtreg f64r_hi 0x03eb -xtensa xtreg f64s 0x03ec -xtensa xtreg ae_ovf_sar 0x03f0 -xtensa xtreg ae_bithead 0x03f1 -xtensa xtreg ae_ts_fts_bu_bp 0x03f2 -xtensa xtreg ae_cw_sd_no 0x03f3 -xtensa xtreg ae_cbegin0 0x03f6 -xtensa xtreg ae_cend0 0x03f7 -xtensa xtreg ae_cbegin1 0x03f8 -xtensa xtreg ae_cend1 0x03f9 -xtensa xtreg aed0 0x1010 -xtensa xtreg aed1 0x1011 -xtensa xtreg aed2 0x1012 -xtensa xtreg aed3 0x1013 -xtensa xtreg aed4 0x1014 -xtensa xtreg aed5 0x1015 -xtensa xtreg aed6 0x1016 -xtensa xtreg aed7 0x1017 -xtensa xtreg aed8 0x1018 -xtensa xtreg aed9 0x1019 -xtensa xtreg aed10 0x101a -xtensa xtreg aed11 0x101b -xtensa xtreg aed12 0x101c -xtensa xtreg aed13 0x101d -xtensa xtreg aed14 0x101e -xtensa xtreg aed15 0x101f -xtensa xtreg u0 0x1020 -xtensa xtreg u1 0x1021 -xtensa xtreg u2 0x1022 -xtensa xtreg u3 0x1023 -xtensa xtreg aep0 0x1024 -xtensa xtreg aep1 0x1025 -xtensa xtreg aep2 0x1026 -xtensa xtreg aep3 0x1027 -xtensa xtreg fcr_fsr 0x1029 -xtensa xtreg mmid 0x0259 -xtensa xtreg ibreakenable 0x0260 -xtensa xtreg memctl 0x0261 -xtensa xtreg atomctl 0x0263 -xtensa xtreg ddr 0x0268 -xtensa xtreg ibreaka0 0x0280 -xtensa xtreg ibreaka1 0x0281 -xtensa xtreg dbreaka0 0x0290 -xtensa xtreg dbreaka1 0x0291 -xtensa xtreg dbreakc0 0x02a0 -xtensa xtreg dbreakc1 0x02a1 -xtensa xtreg epc1 0x02b1 -xtensa xtreg epc2 0x02b2 -xtensa xtreg epc3 0x02b3 -xtensa xtreg epc4 0x02b4 -xtensa xtreg epc5 0x02b5 -xtensa xtreg depc 0x02c0 -xtensa xtreg eps2 0x02c2 -xtensa xtreg eps3 0x02c3 -xtensa xtreg eps4 0x02c4 -xtensa xtreg eps5 0x02c5 -xtensa xtreg excsave1 0x02d1 -xtensa xtreg excsave2 0x02d2 -xtensa xtreg excsave3 0x02d3 -xtensa xtreg excsave4 0x02d4 -xtensa xtreg excsave5 0x02d5 -xtensa xtreg cpenable 0x02e0 -xtensa xtreg interrupt 0x02e2 -xtensa xtreg intset 0x02e2 -xtensa xtreg intclear 0x02e3 -xtensa xtreg intenable 0x02e4 -xtensa xtreg vecbase 0x02e7 -xtensa xtreg exccause 0x02e8 -xtensa xtreg debugcause 0x02e9 -xtensa xtreg ccount 0x02ea -xtensa xtreg prid 0x02eb -xtensa xtreg icount 0x02ec -xtensa xtreg icountlevel 0x02ed -xtensa xtreg excvaddr 0x02ee -xtensa xtreg ccompare0 0x02f0 -xtensa xtreg ccompare1 0x02f1 -xtensa xtreg misc0 0x02f4 -xtensa xtreg misc1 0x02f5 -xtensa xtreg pwrctl 0x2024 -xtensa xtreg pwrstat 0x2025 -xtensa xtreg eristat 0x2026 -xtensa xtreg cs_itctrl 0x2027 -xtensa xtreg cs_claimset 0x2028 -xtensa xtreg cs_claimclr 0x2029 -xtensa xtreg cs_lockaccess 0x202a -xtensa xtreg cs_lockstatus 0x202b -xtensa xtreg cs_authstatus 0x202c -xtensa xtreg pmg 0x203b -xtensa xtreg pmpc 0x203c -xtensa xtreg pm0 0x203d -xtensa xtreg pm1 0x203e -xtensa xtreg pmctrl0 0x203f -xtensa xtreg pmctrl1 0x2040 -xtensa xtreg pmstat0 0x2041 -xtensa xtreg pmstat1 0x2042 -xtensa xtreg ocdid 0x2043 -xtensa xtreg ocd_dcrclr 0x2044 -xtensa xtreg ocd_dcrset 0x2045 -xtensa xtreg ocd_dsr 0x2046 -xtensa xtreg a0 0x0000 -xtensa xtreg a1 0x0001 -xtensa xtreg a2 0x0002 -xtensa xtreg a3 0x0003 -xtensa xtreg a4 0x0004 -xtensa xtreg a5 0x0005 -xtensa xtreg a6 0x0006 -xtensa xtreg a7 0x0007 -xtensa xtreg a8 0x0008 -xtensa xtreg a9 0x0009 -xtensa xtreg a10 0x000a -xtensa xtreg a11 0x000b -xtensa xtreg a12 0x000c -xtensa xtreg a13 0x000d -xtensa xtreg a14 0x000e -xtensa xtreg a15 0x000f -xtensa xtreg b0 0x0010 -xtensa xtreg b1 0x0011 -xtensa xtreg b2 0x0012 -xtensa xtreg b3 0x0013 -xtensa xtreg b4 0x0014 -xtensa xtreg b5 0x0015 -xtensa xtreg b6 0x0016 -xtensa xtreg b7 0x0017 -xtensa xtreg b8 0x0018 -xtensa xtreg b9 0x0019 -xtensa xtreg b10 0x001a -xtensa xtreg b11 0x001b -xtensa xtreg b12 0x001c -xtensa xtreg b13 0x001d -xtensa xtreg b14 0x001e -xtensa xtreg b15 0x001f -xtensa xtreg psintlevel 0x2006 -xtensa xtreg psum 0x2007 -xtensa xtreg pswoe 0x2008 -xtensa xtreg psexcm 0x2009 -xtensa xtreg pscallinc 0x200a -xtensa xtreg psowb 0x200b -xtensa xtreg acc 0x200c -xtensa xtreg dbnum 0x2011 -xtensa xtreg ae_overflow 0x2014 -xtensa xtreg ae_sar 0x2015 -xtensa xtreg ae_cwrap 0x2016 -xtensa xtreg ae_bitptr 0x2017 -xtensa xtreg ae_bitsused 0x2018 -xtensa xtreg ae_tablesize 0x2019 -xtensa xtreg ae_first_ts 0x201a -xtensa xtreg ae_nextoffset 0x201b -xtensa xtreg ae_searchdone 0x201c -xtensa xtreg roundmode 0x201d -xtensa xtreg invalidflag 0x201e -xtensa xtreg divzeroflag 0x201f -xtensa xtreg overflowflag 0x2020 -xtensa xtreg underflowflag 0x2021 -xtensa xtreg inexactflag 0x2022 +$_XTNAME xtensa xtregs 208 +$_XTNAME xtensa xtreg pc 0x0020 +$_XTNAME xtensa xtreg ar0 0x0100 +$_XTNAME xtensa xtreg ar1 0x0101 +$_XTNAME xtensa xtreg ar2 0x0102 +$_XTNAME xtensa xtreg ar3 0x0103 +$_XTNAME xtensa xtreg ar4 0x0104 +$_XTNAME xtensa xtreg ar5 0x0105 +$_XTNAME xtensa xtreg ar6 0x0106 +$_XTNAME xtensa xtreg ar7 0x0107 +$_XTNAME xtensa xtreg ar8 0x0108 +$_XTNAME xtensa xtreg ar9 0x0109 +$_XTNAME xtensa xtreg ar10 0x010a +$_XTNAME xtensa xtreg ar11 0x010b +$_XTNAME xtensa xtreg ar12 0x010c +$_XTNAME xtensa xtreg ar13 0x010d +$_XTNAME xtensa xtreg ar14 0x010e +$_XTNAME xtensa xtreg ar15 0x010f +$_XTNAME xtensa xtreg ar16 0x0110 +$_XTNAME xtensa xtreg ar17 0x0111 +$_XTNAME xtensa xtreg ar18 0x0112 +$_XTNAME xtensa xtreg ar19 0x0113 +$_XTNAME xtensa xtreg ar20 0x0114 +$_XTNAME xtensa xtreg ar21 0x0115 +$_XTNAME xtensa xtreg ar22 0x0116 +$_XTNAME xtensa xtreg ar23 0x0117 +$_XTNAME xtensa xtreg ar24 0x0118 +$_XTNAME xtensa xtreg ar25 0x0119 +$_XTNAME xtensa xtreg ar26 0x011a +$_XTNAME xtensa xtreg ar27 0x011b +$_XTNAME xtensa xtreg ar28 0x011c +$_XTNAME xtensa xtreg ar29 0x011d +$_XTNAME xtensa xtreg ar30 0x011e +$_XTNAME xtensa xtreg ar31 0x011f +$_XTNAME xtensa xtreg lbeg 0x0200 +$_XTNAME xtensa xtreg lend 0x0201 +$_XTNAME xtensa xtreg lcount 0x0202 +$_XTNAME xtensa xtreg sar 0x0203 +$_XTNAME xtensa xtreg prefctl 0x0228 +$_XTNAME xtensa xtreg windowbase 0x0248 +$_XTNAME xtensa xtreg windowstart 0x0249 +$_XTNAME xtensa xtreg configid0 0x02b0 +$_XTNAME xtensa xtreg configid1 0x02d0 +$_XTNAME xtensa xtreg ps 0x02e6 +$_XTNAME xtensa xtreg threadptr 0x03e7 +$_XTNAME xtensa xtreg br 0x0204 +$_XTNAME xtensa xtreg scompare1 0x020c +$_XTNAME xtensa xtreg acclo 0x0210 +$_XTNAME xtensa xtreg acchi 0x0211 +$_XTNAME xtensa xtreg m0 0x0220 +$_XTNAME xtensa xtreg m1 0x0221 +$_XTNAME xtensa xtreg m2 0x0222 +$_XTNAME xtensa xtreg m3 0x0223 +$_XTNAME xtensa xtreg expstate 0x03e6 +$_XTNAME xtensa xtreg f64r_lo 0x03ea +$_XTNAME xtensa xtreg f64r_hi 0x03eb +$_XTNAME xtensa xtreg f64s 0x03ec +$_XTNAME xtensa xtreg ae_ovf_sar 0x03f0 +$_XTNAME xtensa xtreg ae_bithead 0x03f1 +$_XTNAME xtensa xtreg ae_ts_fts_bu_bp 0x03f2 +$_XTNAME xtensa xtreg ae_cw_sd_no 0x03f3 +$_XTNAME xtensa xtreg ae_cbegin0 0x03f6 +$_XTNAME xtensa xtreg ae_cend0 0x03f7 +$_XTNAME xtensa xtreg ae_cbegin1 0x03f8 +$_XTNAME xtensa xtreg ae_cend1 0x03f9 +$_XTNAME xtensa xtreg aed0 0x1010 +$_XTNAME xtensa xtreg aed1 0x1011 +$_XTNAME xtensa xtreg aed2 0x1012 +$_XTNAME xtensa xtreg aed3 0x1013 +$_XTNAME xtensa xtreg aed4 0x1014 +$_XTNAME xtensa xtreg aed5 0x1015 +$_XTNAME xtensa xtreg aed6 0x1016 +$_XTNAME xtensa xtreg aed7 0x1017 +$_XTNAME xtensa xtreg aed8 0x1018 +$_XTNAME xtensa xtreg aed9 0x1019 +$_XTNAME xtensa xtreg aed10 0x101a +$_XTNAME xtensa xtreg aed11 0x101b +$_XTNAME xtensa xtreg aed12 0x101c +$_XTNAME xtensa xtreg aed13 0x101d +$_XTNAME xtensa xtreg aed14 0x101e +$_XTNAME xtensa xtreg aed15 0x101f +$_XTNAME xtensa xtreg u0 0x1020 +$_XTNAME xtensa xtreg u1 0x1021 +$_XTNAME xtensa xtreg u2 0x1022 +$_XTNAME xtensa xtreg u3 0x1023 +$_XTNAME xtensa xtreg aep0 0x1024 +$_XTNAME xtensa xtreg aep1 0x1025 +$_XTNAME xtensa xtreg aep2 0x1026 +$_XTNAME xtensa xtreg aep3 0x1027 +$_XTNAME xtensa xtreg fcr_fsr 0x1029 +$_XTNAME xtensa xtreg mmid 0x0259 +$_XTNAME xtensa xtreg ibreakenable 0x0260 +$_XTNAME xtensa xtreg memctl 0x0261 +$_XTNAME xtensa xtreg atomctl 0x0263 +$_XTNAME xtensa xtreg ddr 0x0268 +$_XTNAME xtensa xtreg ibreaka0 0x0280 +$_XTNAME xtensa xtreg ibreaka1 0x0281 +$_XTNAME xtensa xtreg dbreaka0 0x0290 +$_XTNAME xtensa xtreg dbreaka1 0x0291 +$_XTNAME xtensa xtreg dbreakc0 0x02a0 +$_XTNAME xtensa xtreg dbreakc1 0x02a1 +$_XTNAME xtensa xtreg epc1 0x02b1 +$_XTNAME xtensa xtreg epc2 0x02b2 +$_XTNAME xtensa xtreg epc3 0x02b3 +$_XTNAME xtensa xtreg epc4 0x02b4 +$_XTNAME xtensa xtreg epc5 0x02b5 +$_XTNAME xtensa xtreg depc 0x02c0 +$_XTNAME xtensa xtreg eps2 0x02c2 +$_XTNAME xtensa xtreg eps3 0x02c3 +$_XTNAME xtensa xtreg eps4 0x02c4 +$_XTNAME xtensa xtreg eps5 0x02c5 +$_XTNAME xtensa xtreg excsave1 0x02d1 +$_XTNAME xtensa xtreg excsave2 0x02d2 +$_XTNAME xtensa xtreg excsave3 0x02d3 +$_XTNAME xtensa xtreg excsave4 0x02d4 +$_XTNAME xtensa xtreg excsave5 0x02d5 +$_XTNAME xtensa xtreg cpenable 0x02e0 +$_XTNAME xtensa xtreg interrupt 0x02e2 +$_XTNAME xtensa xtreg intset 0x02e2 +$_XTNAME xtensa xtreg intclear 0x02e3 +$_XTNAME xtensa xtreg intenable 0x02e4 +$_XTNAME xtensa xtreg vecbase 0x02e7 +$_XTNAME xtensa xtreg exccause 0x02e8 +$_XTNAME xtensa xtreg debugcause 0x02e9 +$_XTNAME xtensa xtreg ccount 0x02ea +$_XTNAME xtensa xtreg prid 0x02eb +$_XTNAME xtensa xtreg icount 0x02ec +$_XTNAME xtensa xtreg icountlevel 0x02ed +$_XTNAME xtensa xtreg excvaddr 0x02ee +$_XTNAME xtensa xtreg ccompare0 0x02f0 +$_XTNAME xtensa xtreg ccompare1 0x02f1 +$_XTNAME xtensa xtreg misc0 0x02f4 +$_XTNAME xtensa xtreg misc1 0x02f5 +$_XTNAME xtensa xtreg pwrctl 0x2024 +$_XTNAME xtensa xtreg pwrstat 0x2025 +$_XTNAME xtensa xtreg eristat 0x2026 +$_XTNAME xtensa xtreg cs_itctrl 0x2027 +$_XTNAME xtensa xtreg cs_claimset 0x2028 +$_XTNAME xtensa xtreg cs_claimclr 0x2029 +$_XTNAME xtensa xtreg cs_lockaccess 0x202a +$_XTNAME xtensa xtreg cs_lockstatus 0x202b +$_XTNAME xtensa xtreg cs_authstatus 0x202c +$_XTNAME xtensa xtreg pmg 0x203b +$_XTNAME xtensa xtreg pmpc 0x203c +$_XTNAME xtensa xtreg pm0 0x203d +$_XTNAME xtensa xtreg pm1 0x203e +$_XTNAME xtensa xtreg pmctrl0 0x203f +$_XTNAME xtensa xtreg pmctrl1 0x2040 +$_XTNAME xtensa xtreg pmstat0 0x2041 +$_XTNAME xtensa xtreg pmstat1 0x2042 +$_XTNAME xtensa xtreg ocdid 0x2043 +$_XTNAME xtensa xtreg ocd_dcrclr 0x2044 +$_XTNAME xtensa xtreg ocd_dcrset 0x2045 +$_XTNAME xtensa xtreg ocd_dsr 0x2046 +$_XTNAME xtensa xtreg a0 0x0000 +$_XTNAME xtensa xtreg a1 0x0001 +$_XTNAME xtensa xtreg a2 0x0002 +$_XTNAME xtensa xtreg a3 0x0003 +$_XTNAME xtensa xtreg a4 0x0004 +$_XTNAME xtensa xtreg a5 0x0005 +$_XTNAME xtensa xtreg a6 0x0006 +$_XTNAME xtensa xtreg a7 0x0007 +$_XTNAME xtensa xtreg a8 0x0008 +$_XTNAME xtensa xtreg a9 0x0009 +$_XTNAME xtensa xtreg a10 0x000a +$_XTNAME xtensa xtreg a11 0x000b +$_XTNAME xtensa xtreg a12 0x000c +$_XTNAME xtensa xtreg a13 0x000d +$_XTNAME xtensa xtreg a14 0x000e +$_XTNAME xtensa xtreg a15 0x000f +$_XTNAME xtensa xtreg b0 0x0010 +$_XTNAME xtensa xtreg b1 0x0011 +$_XTNAME xtensa xtreg b2 0x0012 +$_XTNAME xtensa xtreg b3 0x0013 +$_XTNAME xtensa xtreg b4 0x0014 +$_XTNAME xtensa xtreg b5 0x0015 +$_XTNAME xtensa xtreg b6 0x0016 +$_XTNAME xtensa xtreg b7 0x0017 +$_XTNAME xtensa xtreg b8 0x0018 +$_XTNAME xtensa xtreg b9 0x0019 +$_XTNAME xtensa xtreg b10 0x001a +$_XTNAME xtensa xtreg b11 0x001b +$_XTNAME xtensa xtreg b12 0x001c +$_XTNAME xtensa xtreg b13 0x001d +$_XTNAME xtensa xtreg b14 0x001e +$_XTNAME xtensa xtreg b15 0x001f +$_XTNAME xtensa xtreg psintlevel 0x2006 +$_XTNAME xtensa xtreg psum 0x2007 +$_XTNAME xtensa xtreg pswoe 0x2008 +$_XTNAME xtensa xtreg psexcm 0x2009 +$_XTNAME xtensa xtreg pscallinc 0x200a +$_XTNAME xtensa xtreg psowb 0x200b +$_XTNAME xtensa xtreg acc 0x200c +$_XTNAME xtensa xtreg dbnum 0x2011 +$_XTNAME xtensa xtreg ae_overflow 0x2014 +$_XTNAME xtensa xtreg ae_sar 0x2015 +$_XTNAME xtensa xtreg ae_cwrap 0x2016 +$_XTNAME xtensa xtreg ae_bitptr 0x2017 +$_XTNAME xtensa xtreg ae_bitsused 0x2018 +$_XTNAME xtensa xtreg ae_tablesize 0x2019 +$_XTNAME xtensa xtreg ae_first_ts 0x201a +$_XTNAME xtensa xtreg ae_nextoffset 0x201b +$_XTNAME xtensa xtreg ae_searchdone 0x201c +$_XTNAME xtensa xtreg roundmode 0x201d +$_XTNAME xtensa xtreg invalidflag 0x201e +$_XTNAME xtensa xtreg divzeroflag 0x201f +$_XTNAME xtensa xtreg overflowflag 0x2020 +$_XTNAME xtensa xtreg underflowflag 0x2021 +$_XTNAME xtensa xtreg inexactflag 0x2022 diff --git a/tcl/target/xtensa-core-xt8.cfg b/tcl/target/xtensa-core-xt8.cfg index e544d78..523dc74 100644 --- a/tcl/target/xtensa-core-xt8.cfg +++ b/tcl/target/xtensa-core-xt8.cfg @@ -1,166 +1,175 @@ # SPDX-License-Identifier: GPL-2.0-or-later # OpenOCD configuration file for Xtensa xt8 target + +# Core instance default definition +if { [info exists XTNAME] } { + set _XTNAME $XTNAME +} else { + set _XTNAME xtensa +} + + # Core definition and ABI -xtensa xtdef LX -xtensa xtopt arnum 32 -xtensa xtopt windowed 1 +$_XTNAME xtensa xtdef LX +$_XTNAME xtensa xtopt arnum 32 +$_XTNAME xtensa xtopt windowed 1 # Exception/Interrupt Options -xtensa xtopt exceptions 1 -xtensa xtopt hipriints 1 -xtensa xtopt intlevels 3 -xtensa xtopt excmlevel 1 +$_XTNAME xtensa xtopt exceptions 1 +$_XTNAME xtensa xtopt hipriints 1 +$_XTNAME xtensa xtopt intlevels 3 +$_XTNAME xtensa xtopt excmlevel 1 # Cache Options -xtensa xtmem icache 16 1024 1 -xtensa xtmem dcache 16 1024 1 1 +$_XTNAME xtensa xtmem icache 16 1024 1 +$_XTNAME xtensa xtmem dcache 16 1024 1 1 # Memory Options -xtensa xtmem iram 0x40000000 1048576 -xtensa xtmem dram 0x3ff00000 262144 -xtensa xtmem srom 0x50000000 131072 -xtensa xtmem sram 0x60000000 4194304 +$_XTNAME xtensa xtmem iram 0x40000000 1048576 +$_XTNAME xtensa xtmem dram 0x3ff00000 262144 +$_XTNAME xtensa xtmem srom 0x50000000 131072 +$_XTNAME xtensa xtmem sram 0x60000000 4194304 # Memory Protection/Translation Options # Debug Options -xtensa xtopt debuglevel 3 -xtensa xtopt ibreaknum 2 -xtensa xtopt dbreaknum 2 +$_XTNAME xtensa xtopt debuglevel 3 +$_XTNAME xtensa xtopt ibreaknum 2 +$_XTNAME xtensa xtopt dbreaknum 2 # Core Registers -xtensa xtregs 127 -xtensa xtreg a0 0x0000 -xtensa xtreg a1 0x0001 -xtensa xtreg a2 0x0002 -xtensa xtreg a3 0x0003 -xtensa xtreg a4 0x0004 -xtensa xtreg a5 0x0005 -xtensa xtreg a6 0x0006 -xtensa xtreg a7 0x0007 -xtensa xtreg a8 0x0008 -xtensa xtreg a9 0x0009 -xtensa xtreg a10 0x000a -xtensa xtreg a11 0x000b -xtensa xtreg a12 0x000c -xtensa xtreg a13 0x000d -xtensa xtreg a14 0x000e -xtensa xtreg a15 0x000f -xtensa xtreg pc 0x0020 -xtensa xtreg ar0 0x0100 -xtensa xtreg ar1 0x0101 -xtensa xtreg ar2 0x0102 -xtensa xtreg ar3 0x0103 -xtensa xtreg ar4 0x0104 -xtensa xtreg ar5 0x0105 -xtensa xtreg ar6 0x0106 -xtensa xtreg ar7 0x0107 -xtensa xtreg ar8 0x0108 -xtensa xtreg ar9 0x0109 -xtensa xtreg ar10 0x010a -xtensa xtreg ar11 0x010b -xtensa xtreg ar12 0x010c -xtensa xtreg ar13 0x010d -xtensa xtreg ar14 0x010e -xtensa xtreg ar15 0x010f -xtensa xtreg ar16 0x0110 -xtensa xtreg ar17 0x0111 -xtensa xtreg ar18 0x0112 -xtensa xtreg ar19 0x0113 -xtensa xtreg ar20 0x0114 -xtensa xtreg ar21 0x0115 -xtensa xtreg ar22 0x0116 -xtensa xtreg ar23 0x0117 -xtensa xtreg ar24 0x0118 -xtensa xtreg ar25 0x0119 -xtensa xtreg ar26 0x011a -xtensa xtreg ar27 0x011b -xtensa xtreg ar28 0x011c -xtensa xtreg ar29 0x011d -xtensa xtreg ar30 0x011e -xtensa xtreg ar31 0x011f -xtensa xtreg lbeg 0x0200 -xtensa xtreg lend 0x0201 -xtensa xtreg lcount 0x0202 -xtensa xtreg sar 0x0203 -xtensa xtreg windowbase 0x0248 -xtensa xtreg windowstart 0x0249 -xtensa xtreg configid0 0x02b0 -xtensa xtreg configid1 0x02d0 -xtensa xtreg ps 0x02e6 -xtensa xtreg expstate 0x03e6 -xtensa xtreg mmid 0x0259 -xtensa xtreg ibreakenable 0x0260 -xtensa xtreg ddr 0x0268 -xtensa xtreg ibreaka0 0x0280 -xtensa xtreg ibreaka1 0x0281 -xtensa xtreg dbreaka0 0x0290 -xtensa xtreg dbreaka1 0x0291 -xtensa xtreg dbreakc0 0x02a0 -xtensa xtreg dbreakc1 0x02a1 -xtensa xtreg epc1 0x02b1 -xtensa xtreg epc2 0x02b2 -xtensa xtreg epc3 0x02b3 -xtensa xtreg depc 0x02c0 -xtensa xtreg eps2 0x02c2 -xtensa xtreg eps3 0x02c3 -xtensa xtreg excsave1 0x02d1 -xtensa xtreg excsave2 0x02d2 -xtensa xtreg excsave3 0x02d3 -xtensa xtreg interrupt 0x02e2 -xtensa xtreg intset 0x02e2 -xtensa xtreg intclear 0x02e3 -xtensa xtreg intenable 0x02e4 -xtensa xtreg exccause 0x02e8 -xtensa xtreg debugcause 0x02e9 -xtensa xtreg ccount 0x02ea -xtensa xtreg icount 0x02ec -xtensa xtreg icountlevel 0x02ed -xtensa xtreg excvaddr 0x02ee -xtensa xtreg ccompare0 0x02f0 -xtensa xtreg ccompare1 0x02f1 -xtensa xtreg pwrctl 0x200f -xtensa xtreg pwrstat 0x2010 -xtensa xtreg eristat 0x2011 -xtensa xtreg cs_itctrl 0x2012 -xtensa xtreg cs_claimset 0x2013 -xtensa xtreg cs_claimclr 0x2014 -xtensa xtreg cs_lockaccess 0x2015 -xtensa xtreg cs_lockstatus 0x2016 -xtensa xtreg cs_authstatus 0x2017 -xtensa xtreg fault_info 0x2026 -xtensa xtreg trax_id 0x2027 -xtensa xtreg trax_control 0x2028 -xtensa xtreg trax_status 0x2029 -xtensa xtreg trax_data 0x202a -xtensa xtreg trax_address 0x202b -xtensa xtreg trax_pctrigger 0x202c -xtensa xtreg trax_pcmatch 0x202d -xtensa xtreg trax_delay 0x202e -xtensa xtreg trax_memstart 0x202f -xtensa xtreg trax_memend 0x2030 -xtensa xtreg pmg 0x203e -xtensa xtreg pmpc 0x203f -xtensa xtreg pm0 0x2040 -xtensa xtreg pm1 0x2041 -xtensa xtreg pmctrl0 0x2042 -xtensa xtreg pmctrl1 0x2043 -xtensa xtreg pmstat0 0x2044 -xtensa xtreg pmstat1 0x2045 -xtensa xtreg ocdid 0x2046 -xtensa xtreg ocd_dcrclr 0x2047 -xtensa xtreg ocd_dcrset 0x2048 -xtensa xtreg ocd_dsr 0x2049 -xtensa xtreg psintlevel 0x2003 -xtensa xtreg psum 0x2004 -xtensa xtreg pswoe 0x2005 -xtensa xtreg psexcm 0x2006 -xtensa xtreg pscallinc 0x2007 -xtensa xtreg psowb 0x2008 +$_XTNAME xtensa xtregs 127 +$_XTNAME xtensa xtreg a0 0x0000 +$_XTNAME xtensa xtreg a1 0x0001 +$_XTNAME xtensa xtreg a2 0x0002 +$_XTNAME xtensa xtreg a3 0x0003 +$_XTNAME xtensa xtreg a4 0x0004 +$_XTNAME xtensa xtreg a5 0x0005 +$_XTNAME xtensa xtreg a6 0x0006 +$_XTNAME xtensa xtreg a7 0x0007 +$_XTNAME xtensa xtreg a8 0x0008 +$_XTNAME xtensa xtreg a9 0x0009 +$_XTNAME xtensa xtreg a10 0x000a +$_XTNAME xtensa xtreg a11 0x000b +$_XTNAME xtensa xtreg a12 0x000c +$_XTNAME xtensa xtreg a13 0x000d +$_XTNAME xtensa xtreg a14 0x000e +$_XTNAME xtensa xtreg a15 0x000f +$_XTNAME xtensa xtreg pc 0x0020 +$_XTNAME xtensa xtreg ar0 0x0100 +$_XTNAME xtensa xtreg ar1 0x0101 +$_XTNAME xtensa xtreg ar2 0x0102 +$_XTNAME xtensa xtreg ar3 0x0103 +$_XTNAME xtensa xtreg ar4 0x0104 +$_XTNAME xtensa xtreg ar5 0x0105 +$_XTNAME xtensa xtreg ar6 0x0106 +$_XTNAME xtensa xtreg ar7 0x0107 +$_XTNAME xtensa xtreg ar8 0x0108 +$_XTNAME xtensa xtreg ar9 0x0109 +$_XTNAME xtensa xtreg ar10 0x010a +$_XTNAME xtensa xtreg ar11 0x010b +$_XTNAME xtensa xtreg ar12 0x010c +$_XTNAME xtensa xtreg ar13 0x010d +$_XTNAME xtensa xtreg ar14 0x010e +$_XTNAME xtensa xtreg ar15 0x010f +$_XTNAME xtensa xtreg ar16 0x0110 +$_XTNAME xtensa xtreg ar17 0x0111 +$_XTNAME xtensa xtreg ar18 0x0112 +$_XTNAME xtensa xtreg ar19 0x0113 +$_XTNAME xtensa xtreg ar20 0x0114 +$_XTNAME xtensa xtreg ar21 0x0115 +$_XTNAME xtensa xtreg ar22 0x0116 +$_XTNAME xtensa xtreg ar23 0x0117 +$_XTNAME xtensa xtreg ar24 0x0118 +$_XTNAME xtensa xtreg ar25 0x0119 +$_XTNAME xtensa xtreg ar26 0x011a +$_XTNAME xtensa xtreg ar27 0x011b +$_XTNAME xtensa xtreg ar28 0x011c +$_XTNAME xtensa xtreg ar29 0x011d +$_XTNAME xtensa xtreg ar30 0x011e +$_XTNAME xtensa xtreg ar31 0x011f +$_XTNAME xtensa xtreg lbeg 0x0200 +$_XTNAME xtensa xtreg lend 0x0201 +$_XTNAME xtensa xtreg lcount 0x0202 +$_XTNAME xtensa xtreg sar 0x0203 +$_XTNAME xtensa xtreg windowbase 0x0248 +$_XTNAME xtensa xtreg windowstart 0x0249 +$_XTNAME xtensa xtreg configid0 0x02b0 +$_XTNAME xtensa xtreg configid1 0x02d0 +$_XTNAME xtensa xtreg ps 0x02e6 +$_XTNAME xtensa xtreg expstate 0x03e6 +$_XTNAME xtensa xtreg mmid 0x0259 +$_XTNAME xtensa xtreg ibreakenable 0x0260 +$_XTNAME xtensa xtreg ddr 0x0268 +$_XTNAME xtensa xtreg ibreaka0 0x0280 +$_XTNAME xtensa xtreg ibreaka1 0x0281 +$_XTNAME xtensa xtreg dbreaka0 0x0290 +$_XTNAME xtensa xtreg dbreaka1 0x0291 +$_XTNAME xtensa xtreg dbreakc0 0x02a0 +$_XTNAME xtensa xtreg dbreakc1 0x02a1 +$_XTNAME xtensa xtreg epc1 0x02b1 +$_XTNAME xtensa xtreg epc2 0x02b2 +$_XTNAME xtensa xtreg epc3 0x02b3 +$_XTNAME xtensa xtreg depc 0x02c0 +$_XTNAME xtensa xtreg eps2 0x02c2 +$_XTNAME xtensa xtreg eps3 0x02c3 +$_XTNAME xtensa xtreg excsave1 0x02d1 +$_XTNAME xtensa xtreg excsave2 0x02d2 +$_XTNAME xtensa xtreg excsave3 0x02d3 +$_XTNAME xtensa xtreg interrupt 0x02e2 +$_XTNAME xtensa xtreg intset 0x02e2 +$_XTNAME xtensa xtreg intclear 0x02e3 +$_XTNAME xtensa xtreg intenable 0x02e4 +$_XTNAME xtensa xtreg exccause 0x02e8 +$_XTNAME xtensa xtreg debugcause 0x02e9 +$_XTNAME xtensa xtreg ccount 0x02ea +$_XTNAME xtensa xtreg icount 0x02ec +$_XTNAME xtensa xtreg icountlevel 0x02ed +$_XTNAME xtensa xtreg excvaddr 0x02ee +$_XTNAME xtensa xtreg ccompare0 0x02f0 +$_XTNAME xtensa xtreg ccompare1 0x02f1 +$_XTNAME xtensa xtreg pwrctl 0x200f +$_XTNAME xtensa xtreg pwrstat 0x2010 +$_XTNAME xtensa xtreg eristat 0x2011 +$_XTNAME xtensa xtreg cs_itctrl 0x2012 +$_XTNAME xtensa xtreg cs_claimset 0x2013 +$_XTNAME xtensa xtreg cs_claimclr 0x2014 +$_XTNAME xtensa xtreg cs_lockaccess 0x2015 +$_XTNAME xtensa xtreg cs_lockstatus 0x2016 +$_XTNAME xtensa xtreg cs_authstatus 0x2017 +$_XTNAME xtensa xtreg fault_info 0x2026 +$_XTNAME xtensa xtreg trax_id 0x2027 +$_XTNAME xtensa xtreg trax_control 0x2028 +$_XTNAME xtensa xtreg trax_status 0x2029 +$_XTNAME xtensa xtreg trax_data 0x202a +$_XTNAME xtensa xtreg trax_address 0x202b +$_XTNAME xtensa xtreg trax_pctrigger 0x202c +$_XTNAME xtensa xtreg trax_pcmatch 0x202d +$_XTNAME xtensa xtreg trax_delay 0x202e +$_XTNAME xtensa xtreg trax_memstart 0x202f +$_XTNAME xtensa xtreg trax_memend 0x2030 +$_XTNAME xtensa xtreg pmg 0x203e +$_XTNAME xtensa xtreg pmpc 0x203f +$_XTNAME xtensa xtreg pm0 0x2040 +$_XTNAME xtensa xtreg pm1 0x2041 +$_XTNAME xtensa xtreg pmctrl0 0x2042 +$_XTNAME xtensa xtreg pmctrl1 0x2043 +$_XTNAME xtensa xtreg pmstat0 0x2044 +$_XTNAME xtensa xtreg pmstat1 0x2045 +$_XTNAME xtensa xtreg ocdid 0x2046 +$_XTNAME xtensa xtreg ocd_dcrclr 0x2047 +$_XTNAME xtensa xtreg ocd_dcrset 0x2048 +$_XTNAME xtensa xtreg ocd_dsr 0x2049 +$_XTNAME xtensa xtreg psintlevel 0x2003 +$_XTNAME xtensa xtreg psum 0x2004 +$_XTNAME xtensa xtreg pswoe 0x2005 +$_XTNAME xtensa xtreg psexcm 0x2006 +$_XTNAME xtensa xtreg pscallinc 0x2007 +$_XTNAME xtensa xtreg psowb 0x2008 diff --git a/tcl/target/xtensa.cfg b/tcl/target/xtensa.cfg index 101e135..561131d 100644 --- a/tcl/target/xtensa.cfg +++ b/tcl/target/xtensa.cfg @@ -5,7 +5,7 @@ set xtensa_ids { 0x120034e5 0x120134e5 0x209034e5 0x209134e5 0x209234e5 0x209334e5 0x209434e5 0x209534e5 0x209634e5 0x209734e5 0x20a034e5 0x20a134e5 0x20a234e5 0x20a334e5 0x20a434e5 0x20a534e5 0x20a634e5 0x20a734e5 0x20a834e5 - 0x20b034e5 } + 0x20b034e5 0x20b33ac5 0x20b33ac7 } set expected_xtensa_ids {} foreach i $xtensa_ids { lappend expected_xtensa_ids -expected-id $i @@ -23,6 +23,12 @@ if { [info exists CPUTAPID] } { set _CPUTAPARGLIST [join $expected_xtensa_ids] } +if { [info exists XTENSA_NUM_CORES] } { + set _XTENSA_NUM_CORES $XTENSA_NUM_CORES +} else { + set _XTENSA_NUM_CORES 1 +} + set _TARGETNAME $_CHIPNAME set _CPU0NAME cpu set _TAPNAME $_CHIPNAME.$_CPU0NAME @@ -40,12 +46,25 @@ if { [info exists XTENSA_DAP] } { } else { target create $_TARGETNAME xtensa -dap $_CHIPNAME.dap } -} else { +} elseif { $_XTENSA_NUM_CORES > 1 } { # JTAG direct (without DAP) + for {set i 0} {$i < $_XTENSA_NUM_CORES} {incr i} { + set _LCPUNAME $_CPU0NAME$i + set _LTAPNAME $_CHIPNAME.$_LCPUNAME + eval jtag newtap $_CHIPNAME $_LCPUNAME -irlen 5 $_CPUTAPARGLIST + target create $_LTAPNAME xtensa -chain-position $_LTAPNAME -coreid $i + + $_LTAPNAME configure -event reset-assert-post { soft_reset_halt } + } +} else { + # JTAG direct (without DAP) - for legacy xtensa-config-XXX.cfg format eval jtag newtap $_CHIPNAME $_CPU0NAME -irlen 5 $_CPUTAPARGLIST target create $_TARGETNAME xtensa -chain-position $_TAPNAME } -$_TARGETNAME configure -event reset-assert-post { soft_reset_halt } +if { $_XTENSA_NUM_CORES == 1 } { + # DAP and single-core legacy JTAG + $_TARGETNAME configure -event reset-assert-post { soft_reset_halt } +} gdb_report_register_access_error enable |