target: restructure dap support
[openocd.git] / tcl / target / imx51.cfg
1 # Freescale i.MX51
2
3 if { [info exists CHIPNAME] } {
4    set _CHIPNAME $CHIPNAME
5 } else {
6    set _CHIPNAME imx51
7 }
8
9 # CoreSight Debug Access Port
10 if { [info exists DAP_TAPID] } {
11    set _DAP_TAPID $DAP_TAPID
12 } else {
13    set _DAP_TAPID 0x1ba00477
14 }
15
16 jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf \
17         -expected-id $_DAP_TAPID
18
19 # SDMA / no IDCODE
20 jtag newtap $_CHIPNAME sdma -irlen 4 -ircapture 0x0 -irmask 0xf
21
22 # SJC
23 if { [info exists SJC_TAPID] } {
24    set _SJC_TAPID SJC_TAPID
25 } else {
26    set _SJC_TAPID 0x0190c01d
27 }
28
29 jtag newtap $_CHIPNAME sjc -irlen 5 -ircapture 0x1 -irmask 0x1f \
30         -expected-id $_SJC_TAPID -ignore-version
31
32 # GDB target: Cortex-A8, using DAP
33 set _TARGETNAME $_CHIPNAME.cpu
34 dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
35 target create $_TARGETNAME cortex_a -dap $_CHIPNAME.dap
36
37 # some TCK tycles are required to activate the DEBUG power domain
38 jtag configure $_CHIPNAME.sjc -event post-reset "runtest 100"
39
40 proc imx51_dbginit {target} {
41      # General Cortex-A8 debug initialisation
42      cortex_a dbginit
43 }
44
45 $_TARGETNAME configure -event reset-assert-post "imx51_dbginit $_TARGETNAME"