Various cores with an ETB have its TAP misnamed ... either as a boundary scan TAP or as the iMX "Secure JTAG Controller" (which is, among other things, a JRC that could be used to shorten scan chains). Use the correct name for these TAPs, which we can recognize since their IDs were assigned by ARM and these chips all document the presence of an ETB. The 0x2b900f0f is ETB11; the 0x1b900f0f is an older module, just called "ETB". Also shrink the ETB's IR configuration; the default IR-Capture value is fine, and the mask can specify that all four bits are safe to check (per ARM documentation). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
50 lines
1.3 KiB
Tcl
50 lines
1.3 KiB
Tcl
# -*- tcl -*-
|
|
# Target configuration for the Samsung s3c6410 system on chip
|
|
# Tested on a SMDK6410
|
|
# Processor : ARM1176
|
|
# Info: JTAG device found: 0x0032409d (Manufacturer: 0x04e, Part: 0x0324, Version: 0x0)
|
|
# [Duane Ellis 27/nov/2008: Above 0x0032409d appears to be copy/paste from other places]
|
|
# [and I do not believe it to be accurate, hence the 0xffffffff below]
|
|
|
|
if { [info exists CHIPNAME] } {
|
|
set _CHIPNAME $CHIPNAME
|
|
} else {
|
|
set _CHIPNAME s3c6410
|
|
}
|
|
|
|
if { [info exists ENDIAN] } {
|
|
set _ENDIAN $ENDIAN
|
|
} else {
|
|
# this defaults to a bigendian
|
|
set _ENDIAN little
|
|
}
|
|
|
|
# trace buffer
|
|
if { [info exists ETBTAPID ] } {
|
|
set _ETBTAPID $ETBTAPID
|
|
} else {
|
|
# force an error till we get a good number
|
|
set _ETBTAPID 0x2b900f0f
|
|
}
|
|
|
|
if { [info exists CPUTAPID ] } {
|
|
set _CPUTAPID $CPUTAPID
|
|
} else {
|
|
# force an error till we get a good number
|
|
set _CPUTAPID 0x07b76f0f
|
|
}
|
|
|
|
#jtag scan chain
|
|
|
|
jtag newtap $_CHIPNAME etb -irlen 4 -expected-id $_ETBTAPID
|
|
jtag newtap $_CHIPNAME cpu -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id $_CPUTAPID
|
|
|
|
set _TARGETNAME $_CHIPNAME.cpu
|
|
target create $_TARGETNAME arm11 -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm1176
|
|
|
|
jtag_nsrst_delay 500
|
|
jtag_ntrst_delay 500
|
|
|
|
#reset configuration
|
|
reset_config trst_and_srst
|