Generic Xtensa target config files
[fw/openocd] / tcl / target / xtensa.cfg
1 # SPDX-License-Identifier: GPL-2.0-or-later
2 # Target Support for Xtensa Processors
3 #
4
5 set xtensa_ids { 0x120034e5 0x120134e5
6                                  0x209034e5 0x209134e5 0x209234e5 0x209334e5 0x209434e5 0x209534e5 0x209634e5 0x209734e5
7                                  0x20a034e5 0x20a134e5 0x20a234e5 0x20a334e5 0x20a434e5 0x20a534e5 0x20a634e5 0x20a734e5 0x20a834e5
8                                  0x20b034e5 }
9 set expected_xtensa_ids {}
10 foreach i $xtensa_ids {
11         lappend expected_xtensa_ids -expected-id $i
12 }
13
14 if { [info exists CHIPNAME] } {
15         set _CHIPNAME $CHIPNAME
16 } else {
17         set _CHIPNAME xtensa
18 }
19
20 if { [info exists CPUTAPID] } {
21         set _CPUTAPARGLIST "-expected-id $CPUTAPID"
22 } else {
23         set _CPUTAPARGLIST [join $expected_xtensa_ids]
24 }
25
26 set _TARGETNAME $_CHIPNAME
27 set _CPU0NAME cpu
28 set _TAPNAME $_CHIPNAME.$_CPU0NAME
29
30 if { [info exists XTENSA_DAP] } {
31         source [find target/swj-dp.tcl]
32         # SWD mode ignores the -irlen parameter
33         eval swj_newdap $_CHIPNAME cpu -irlen 4 $_CPUTAPARGLIST
34         dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
35
36         set _TARGETNAME $_CHIPNAME.cpu
37         target create $_TARGETNAME xtensa -dap $_CHIPNAME.dap
38 } else {
39         # JTAG direct (without DAP)
40         eval jtag newtap $_CHIPNAME $_CPU0NAME -irlen 5 $_CPUTAPARGLIST
41         target create $_TARGETNAME xtensa -chain-position $_TAPNAME
42 }
43
44 $_TARGETNAME configure -event reset-assert-post { soft_reset_halt }
45
46 gdb_report_register_access_error enable