2009-05-31 22:05:59 -05:00
|
|
|
# TI OMAP5912 dual core processor
|
|
|
|
# http://focus.ti.com/docs/prod/folders/print/omap5912.html
|
2008-04-23 08:10:27 -05: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 omap5912
|
|
|
|
}
|
|
|
|
|
|
|
|
if { [info exists CPUTAPID ] } {
|
|
|
|
set _CPUTAPID $CPUTAPID
|
|
|
|
} else {
|
2009-05-31 22:05:59 -05:00
|
|
|
# NOTE: validated with XOMAP5912 part
|
|
|
|
set _CPUTAPID 0x0692602f
|
2008-11-30 16:25:43 -06:00
|
|
|
}
|
|
|
|
|
2009-10-08 01:29:18 -05:00
|
|
|
jtag_nsrst_delay 100
|
|
|
|
|
2009-05-31 22:05:59 -05:00
|
|
|
# NOTE: presumes irlen 38 is the C55x DSP, matching BSDL for
|
|
|
|
# its standalone siblings (like TMS320VC5502) of the same era
|
2008-04-23 08:10:27 -05:00
|
|
|
|
|
|
|
#jtag scan chain
|
2009-09-27 02:59:10 -05:00
|
|
|
jtag newtap $_CHIPNAME dsp -irlen 38 -expected-id 0x03df1d81
|
|
|
|
jtag newtap $_CHIPNAME arm -irlen 4 -expected-id $_CPUTAPID
|
|
|
|
jtag newtap $_CHIPNAME unknown -irlen 8
|
2008-11-30 16:25:43 -06:00
|
|
|
|
2009-05-31 22:05:59 -05:00
|
|
|
set _TARGETNAME $_CHIPNAME.arm
|
2009-10-05 03:13:00 -05:00
|
|
|
target create $_TARGETNAME arm926ejs -chain-position $_TARGETNAME
|
2008-04-23 08:10:27 -05:00
|
|
|
|
2009-05-31 22:05:59 -05:00
|
|
|
proc omap5912_reset {} {
|
2008-10-31 01:57:42 -05:00
|
|
|
#
|
|
|
|
# halt target
|
|
|
|
#
|
|
|
|
poll
|
|
|
|
sleep 1
|
|
|
|
halt
|
|
|
|
wait_halt
|
|
|
|
#
|
|
|
|
# disable wdt
|
|
|
|
#
|
|
|
|
mww 0xfffec808 0x000000f5
|
|
|
|
mww 0xfffec808 0x000000a0
|
|
|
|
|
|
|
|
mww 0xfffeb048 0x0000aaaa
|
|
|
|
sleep 500
|
|
|
|
mww 0xfffeb048 0x00005555
|
|
|
|
sleep 500
|
|
|
|
}
|
2008-04-23 08:10:27 -05:00
|
|
|
|
|
|
|
# omap5912 lcd frame buffer as working area
|
2009-05-31 22:05:59 -05:00
|
|
|
$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x20000000 \
|
|
|
|
-work-area-size 0x3e800 -work-area-backup 0
|