tcl/target: add SPDX tag
[fw/openocd] / tcl / target / imx8m.cfg
1 # SPDX-License-Identifier: GPL-2.0-or-later
2
3 #
4 # configuration file for NXP i.MX8M family of SoCs
5 #
6 if { [info exists CHIPNAME] } {
7    set  _CHIPNAME $CHIPNAME
8 } else {
9    set  _CHIPNAME imx8m
10 }
11
12 if { [info exists CHIPCORES] } {
13     set _cores $CHIPCORES
14 } else {
15     set _cores 1
16 }
17
18 # CoreSight Debug Access Port
19 if { [info exists DAP_TAPID] } {
20         set _DAP_TAPID $DAP_TAPID
21 } else {
22         set _DAP_TAPID 0x5ba00477
23 }
24
25 # the DAP tap
26 jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x01 -irmask 0x0f \
27         -expected-id $_DAP_TAPID
28
29 dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
30
31 set _TARGETNAME $_CHIPNAME.a53
32 set _CTINAME $_CHIPNAME.cti
33
34 set DBGBASE {0x80410000 0x80510000 0x80610000 0x80710000}
35 set CTIBASE {0x80420000 0x80520000 0x80620000 0x80720000}
36
37 for { set _core 0 } { $_core < $_cores } { incr _core } {
38
39     cti create $_CTINAME.$_core -dap $_CHIPNAME.dap -ap-num 1 \
40         -baseaddr [lindex $CTIBASE $_core]
41
42     set _command "target create $_TARGETNAME.$_core aarch64 -dap $_CHIPNAME.dap \
43         -dbgbase [lindex $DBGBASE $_core] -cti $_CTINAME.$_core -coreid $_core"
44
45     if { $_core != 0 } {
46         # non-boot core examination may fail
47         set _command "$_command -defer-examine"
48         set _smp_command "$_smp_command $_TARGETNAME.$_core"
49     } else {
50         set _command "$_command -rtos hwthread"
51         set _smp_command "target smp $_TARGETNAME.$_core"
52     }
53
54     eval $_command
55 }
56
57 eval $_smp_command
58
59 # declare the auxiliary Cortex-M4 core on AP #4
60 target create ${_CHIPNAME}.m4 cortex_m -dap ${_CHIPNAME}.dap -ap-num 4 \
61                -defer-examine
62
63 # AHB-AP for direct access to soc bus
64 target create ${_CHIPNAME}.ahb mem_ap -dap ${_CHIPNAME}.dap -ap-num 0
65
66 # default target is A53 core 0
67 targets $_TARGETNAME.0