2008-08-19 15:34:36 -05:00
|
|
|
# imx31 config
|
|
|
|
#
|
2009-01-09 07:04:37 -06:00
|
|
|
|
2009-10-13 05:02:09 -05:00
|
|
|
reset_config trst_and_srst srst_gates_jtag
|
2008-08-19 15:34:36 -05:00
|
|
|
|
2010-03-15 10:41:30 -05:00
|
|
|
adapter_nsrst_delay 5
|
2009-12-15 00:55:20 -06:00
|
|
|
|
2009-09-21 13:48:22 -05:00
|
|
|
if { [info exists CHIPNAME] } {
|
|
|
|
set _CHIPNAME $CHIPNAME
|
|
|
|
} else {
|
2008-11-30 16:25:43 -06:00
|
|
|
set _CHIPNAME imx31
|
|
|
|
}
|
|
|
|
|
2009-09-21 13:48:22 -05:00
|
|
|
if { [info exists ENDIAN] } {
|
|
|
|
set _ENDIAN $ENDIAN
|
|
|
|
} else {
|
2008-11-30 16:25:43 -06:00
|
|
|
set _ENDIAN little
|
|
|
|
}
|
|
|
|
|
|
|
|
if { [info exists CPUTAPID ] } {
|
|
|
|
set _CPUTAPID $CPUTAPID
|
|
|
|
} else {
|
2009-01-09 07:04:37 -06:00
|
|
|
set _CPUTAPID 0x07b3601d
|
|
|
|
}
|
|
|
|
|
|
|
|
if { [info exists SDMATAPID ] } {
|
|
|
|
set _SDMATAPID $SDMATAPID
|
|
|
|
} else {
|
|
|
|
set _SDMATAPID 0x2190101d
|
2008-11-30 16:25:43 -06:00
|
|
|
}
|
|
|
|
|
2009-11-13 15:44:50 -06:00
|
|
|
if { [info exists ETBTAPID ] } {
|
|
|
|
set _ETBTAPID $ETBTAPID
|
2008-11-30 16:25:43 -06:00
|
|
|
} else {
|
2009-11-13 15:44:50 -06:00
|
|
|
set _ETBTAPID 0x2b900f0f
|
2008-11-30 16:25:43 -06:00
|
|
|
}
|
2009-11-13 15:44:50 -06:00
|
|
|
|
|
|
|
#========================================
|
|
|
|
|
|
|
|
jtag newtap $_CHIPNAME etb -irlen 4 -irmask 0xf -expected-id $_ETBTAPID
|
2008-11-30 16:25:43 -06:00
|
|
|
|
|
|
|
# The "SDMA" - <S>mart <DMA> controller debug tap
|
|
|
|
# Based on some IO pins - this can be disabled & removed
|
|
|
|
# See diagram: 6-14
|
|
|
|
# SIGNAL NAME:
|
|
|
|
# SJC_MOD - controls multiplexer - disables ARM1136
|
2009-09-21 13:48:22 -05:00
|
|
|
# SDMA_BYPASS - disables SDMA -
|
|
|
|
#
|
2008-11-30 16:25:43 -06:00
|
|
|
# Per ARM: DDI0211J_arm1136_r1p5_trm.pdf - the ARM 1136 as a 5 bit IR register
|
2009-01-14 09:25:45 -06:00
|
|
|
jtag newtap $_CHIPNAME cpu -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id $_CPUTAPID
|
2008-11-30 16:25:43 -06:00
|
|
|
|
2009-01-09 07:04:37 -06:00
|
|
|
# No IDCODE for this TAP
|
|
|
|
jtag newtap $_CHIPNAME whatchacallit -irlen 4 -ircapture 0 -irmask 0xf -expected-id 0x0
|
2008-08-19 15:34:36 -05:00
|
|
|
|
2009-01-09 07:04:37 -06:00
|
|
|
# Per section 40.17.1, table 40-85 the IR register is 4 bits
|
|
|
|
# But this conflicts with Diagram 6-13, "3bits ir and drs"
|
2009-01-14 09:25:45 -06:00
|
|
|
jtag newtap $_CHIPNAME smda -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id $_SDMATAPID
|
2008-08-19 15:34:36 -05:00
|
|
|
|
2009-09-04 00:17:03 -05:00
|
|
|
set _TARGETNAME $_CHIPNAME.cpu
|
2008-11-30 16:25:43 -06:00
|
|
|
target create $_TARGETNAME arm11 -endian $_ENDIAN -chain-position $_TARGETNAME
|
2009-01-09 07:04:37 -06:00
|
|
|
|
|
|
|
|
2009-09-21 13:48:22 -05:00
|
|
|
proc power_restore {} { puts "Sensed power restore. No action." }
|
2009-01-09 07:04:37 -06:00
|
|
|
proc srst_deasserted {} { puts "Sensed nSRST deasserted. No action." }
|
2009-11-13 18:58:14 -06:00
|
|
|
|
|
|
|
# trace setup ... NOTE, "normal full" mode fudges the real ETMv3.1 mode
|
|
|
|
etm config $_TARGETNAME 16 normal full etb
|
|
|
|
etb config $_TARGETNAME $_CHIPNAME.etb
|