2022-06-12 16:42:27 -05:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
2009-06-15 18:54:09 -05:00
|
|
|
# Texas Instruments OMAP 2420
|
|
|
|
# http://www.ti.com/omap
|
2009-12-07 13:57:46 -06:00
|
|
|
# as seen in Nokia N8x0 tablets
|
2009-06-15 18:54:09 -05:00
|
|
|
|
|
|
|
if { [info exists CHIPNAME] } {
|
2011-10-29 16:32:17 -05:00
|
|
|
set _CHIPNAME $CHIPNAME
|
2009-06-15 18:54:09 -05:00
|
|
|
} else {
|
2011-10-29 16:32:17 -05:00
|
|
|
set _CHIPNAME omap2420
|
2009-06-15 18:54:09 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
# NOTE: likes slowish clock on reset (1.5 MBit/s or less) or use RCLK
|
2009-10-14 04:00:34 -05:00
|
|
|
reset_config srst_nogate
|
2009-06-15 18:54:09 -05:00
|
|
|
|
2011-10-29 16:32:17 -05:00
|
|
|
# Subsidiary TAP: ARM7TDMIr4 plus imaging ... must add via ICEpick (addr 6).
|
2009-10-14 04:00:34 -05:00
|
|
|
jtag newtap $_CHIPNAME iva -irlen 4 -disable
|
2009-06-15 18:54:09 -05:00
|
|
|
|
|
|
|
# Subsidiary TAP: C55x DSP ... must add via ICEpick (addr 2).
|
2009-10-14 04:00:34 -05:00
|
|
|
jtag newtap $_CHIPNAME dsp -irlen 38 -disable
|
2009-06-15 18:54:09 -05:00
|
|
|
|
|
|
|
# Subsidiary TAP: ARM ETB11, with scan chain for 4K of ETM trace buffer
|
2011-10-29 16:32:17 -05:00
|
|
|
if { [info exists ETB_TAPID] } {
|
2009-06-15 18:54:09 -05:00
|
|
|
set _ETB_TAPID $ETB_TAPID
|
|
|
|
} else {
|
|
|
|
set _ETB_TAPID 0x2b900f0f
|
|
|
|
}
|
2009-10-14 04:00:34 -05:00
|
|
|
jtag newtap $_CHIPNAME etb -irlen 4 -expected-id $_ETB_TAPID
|
2009-06-15 18:54:09 -05:00
|
|
|
|
|
|
|
# Subsidiary TAP: ARM1136jf-s with scan chains for ARM Debug, EmbeddedICE-RT, ETM.
|
2011-10-29 16:32:17 -05:00
|
|
|
if { [info exists CPU_TAPID] } {
|
2009-06-15 18:54:09 -05:00
|
|
|
set _CPU_TAPID $CPU_TAPID
|
|
|
|
} else {
|
|
|
|
set _CPU_TAPID 0x07b3602f
|
|
|
|
}
|
2009-10-14 04:00:34 -05:00
|
|
|
jtag newtap $_CHIPNAME arm -irlen 5 -expected-id $_CPU_TAPID
|
2009-06-15 18:54:09 -05:00
|
|
|
|
|
|
|
# Primary TAP: ICEpick-B (JTAG route controller) and boundary scan
|
2011-10-29 16:32:17 -05:00
|
|
|
if { [info exists JRC_TAPID] } {
|
2009-06-15 18:54:09 -05:00
|
|
|
set _JRC_TAPID $JRC_TAPID
|
|
|
|
} else {
|
|
|
|
set _JRC_TAPID 0x01ce4801
|
|
|
|
}
|
2009-10-14 04:00:34 -05:00
|
|
|
jtag newtap $_CHIPNAME jrc -irlen 2 -expected-id $_JRC_TAPID
|
2009-06-15 18:54:09 -05:00
|
|
|
|
2011-10-29 16:32:17 -05:00
|
|
|
# GDB target: the ARM.
|
2009-06-15 18:54:09 -05:00
|
|
|
set _TARGETNAME $_CHIPNAME.arm
|
2009-10-05 03:13:00 -05:00
|
|
|
target create $_TARGETNAME arm11 -chain-position $_TARGETNAME
|
2009-06-15 18:54:09 -05:00
|
|
|
|
2011-10-29 16:32:17 -05:00
|
|
|
# scratch: framebuffer, may be initially unavailable in some chips
|
2009-06-15 18:54:09 -05:00
|
|
|
$_TARGETNAME configure -work-area-phys 0x40210000
|
|
|
|
$_TARGETNAME configure -work-area-size 0x00081000
|
|
|
|
$_TARGETNAME configure -work-area-backup 0
|
|
|
|
|
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
|
2009-12-07 13:57:46 -06:00
|
|
|
|
|
|
|
# RM_RSTCTRL_WKUP.RST.GS - Trigger a global software reset, and
|
|
|
|
# give it a chance to finish before we talk to the chip again.
|
|
|
|
set RM_RSTCTRL_WKUP 0x48008450
|
|
|
|
$_TARGETNAME configure -event reset-assert \
|
|
|
|
"halt; $_TARGETNAME mww $RM_RSTCTRL_WKUP 2; sleep 200"
|