66 lines
1.7 KiB
INI
66 lines
1.7 KiB
INI
# imx31 config
|
|
#
|
|
# NB! Does not work yet. Work in progress
|
|
|
|
if { [info exists CHIPNAME] } {
|
|
set _CHIPNAME $CHIPNAME
|
|
} else {
|
|
set _CHIPNAME imx31
|
|
}
|
|
|
|
if { [info exists ENDIAN] } {
|
|
set _ENDIAN $ENDIAN
|
|
} else {
|
|
set _ENDIAN little
|
|
}
|
|
|
|
if { [info exists CPUTAPID ] } {
|
|
set _CPUTAPID $CPUTAPID
|
|
} else {
|
|
# force an error till we get a good number
|
|
set _CPUTAPID 0xffffffff
|
|
}
|
|
|
|
#========================================
|
|
# The "system jtag controller"
|
|
# IMX31 reference manual, page 6-28 - figure 6-14
|
|
if { [info exists SJCTAPID ] } {
|
|
set _SJCTAPID $SJCTAPID
|
|
} else {
|
|
set _SJCTAPID 0xffffffff
|
|
}
|
|
jtag newtap $_CHIPNAME sjc -irlen 4 -ircapture 00 irmask 0x0 -expected-id $_SJCTAPID
|
|
|
|
# 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
|
|
# SDMA_BYPASS - disables SDMA -
|
|
#
|
|
if { [info exists SDMATAPID ] } {
|
|
set _SDMATAPID $SDMATAPID
|
|
} else {
|
|
set _SDMATAPID 0xffffffff
|
|
}
|
|
# 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"
|
|
jtag newtap $_CHIPNAME smda -irlen 4 -ircapture 0xe -irmask 0xf -expected-id $_SJCTAPID
|
|
|
|
# The ARM11 core tap
|
|
if { [info exists CPUTAPID ] } {
|
|
set _CPUTAPID $CPUTAPID
|
|
} else {
|
|
set _CPUTAPID 0xffffffff
|
|
}
|
|
# Per ARM: DDI0211J_arm1136_r1p5_trm.pdf - the ARM 1136 as a 5 bit IR register
|
|
jtag newtap $_CHIPNAME cpu -irlen 5 -ircapture 0x1e irmask 0x1f -expected-id $_SJCTAPID
|
|
|
|
|
|
jtag_nsrst_delay 500
|
|
jtag_ntrst_delay 500
|
|
|
|
set _TARGETNAME [format "%s.cpu" $_CHIPNAME]
|
|
target create $_TARGETNAME arm11 -endian $_ENDIAN -chain-position $_TARGETNAME
|
|
|