-#TI OMAP5912 dual core processor - http://www.ti.com
-#on a OMAP5912 OSK board http://www.spectrumdigital.com.
+# TI OMAP5912 dual core processor
+# http://focus.ti.com/docs/prod/folders/print/omap5912.html
-if { [info exists CHIPNAME] } {
- set _CHIPNAME $CHIPNAME
-} else {
- set _CHIPNAME omap5912
-}
-
-if { [info exists ENDIAN] } {
- set _ENDIAN $ENDIAN
-} else {
- # this defaults to a bigendian
- set _ENDIAN little
+if { [info exists CHIPNAME] } {
+ set _CHIPNAME $CHIPNAME
+} else {
+ set _CHIPNAME omap5912
}
-if { [info exists CPUTAPID ] } {
+if { [info exists CPUTAPID] } {
set _CPUTAPID $CPUTAPID
} else {
- # force an error till we get a good number
- set _CPUTAPID 0xffffffff
+ # NOTE: validated with XOMAP5912 part
+ set _CPUTAPID 0x0692602f
}
-#use combined on interfaces or targets that can't set TRST/SRST separately
-reset_config trst_and_srst
+adapter srst delay 100
+
+# NOTE: presumes irlen 38 is the C55x DSP, matching BSDL for
+# its standalone siblings (like TMS320VC5502) of the same era
#jtag scan chain
-jtag newtap $_CHIPNAME unknown1 -irlen 38 -ircapture 0x0 -irmask 0x0
-jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0x0 -expected-id $_CPUTAPID
-jtag newtap $_CHIPNAME unknown2 irlen 8 -ircapture 0x0 -irmask 0x0
+jtag newtap $_CHIPNAME dsp -irlen 38 -expected-id 0x03df1d81
+jtag newtap $_CHIPNAME arm -irlen 4 -expected-id $_CPUTAPID
+jtag newtap $_CHIPNAME unknown -irlen 8
-set _TARGETNAME [format "%s.cpu" $_CHIPNAME]
-target create $_TARGETNAME arm926ejs -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm926ejs
+set _TARGETNAME $_CHIPNAME.arm
+target create $_TARGETNAME arm926ejs -chain-position $_TARGETNAME
-$_TARGETNAME configure -event reset-init {
+proc omap5912_reset {} {
#
# halt target
#
sleep 500
mww 0xfffeb048 0x00005555
sleep 500
- #
- # detect flash
- #
- flash probe 0
}
# omap5912 lcd frame buffer as working area
-$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x20000000 -work-area-size 0x3e800 -work-area-backup 0
-
-#flash bank <driver> <base> <size> <chip_width> <bus_width>
-flash bank cfi 0x00000000 0x1000000 2 2 0
+$_TARGETNAME configure -work-area-phys 0x20000000 \
+ -work-area-size 0x3e800 -work-area-backup 0