1 # Texas Instruments OMAP 2420
2 # http://www.ti.com/omap
3 # as seen in Nokia N8x0 tablets
5 if { [info exists CHIPNAME] } {
6 set _CHIPNAME $CHIPNAME
11 # NOTE: likes slowish clock on reset (1.5 MBit/s or less) or use RCLK
12 reset_config srst_nogate
14 # Subsidiary TAP: ARM7TDMIr4 plus imaging ... must add via ICEpick (addr 6).
15 jtag newtap $_CHIPNAME iva -irlen 4 -disable
17 # Subsidiary TAP: C55x DSP ... must add via ICEpick (addr 2).
18 jtag newtap $_CHIPNAME dsp -irlen 38 -disable
20 # Subsidiary TAP: ARM ETB11, with scan chain for 4K of ETM trace buffer
21 if { [info exists ETB_TAPID ] } {
22 set _ETB_TAPID $ETB_TAPID
24 set _ETB_TAPID 0x2b900f0f
26 jtag newtap $_CHIPNAME etb -irlen 4 -expected-id $_ETB_TAPID
28 # Subsidiary TAP: ARM1136jf-s with scan chains for ARM Debug, EmbeddedICE-RT, ETM.
29 if { [info exists CPU_TAPID ] } {
30 set _CPU_TAPID $CPU_TAPID
32 set _CPU_TAPID 0x07b3602f
34 jtag newtap $_CHIPNAME arm -irlen 5 -expected-id $_CPU_TAPID
36 # Primary TAP: ICEpick-B (JTAG route controller) and boundary scan
37 if { [info exists JRC_TAPID ] } {
38 set _JRC_TAPID $JRC_TAPID
40 set _JRC_TAPID 0x01ce4801
42 jtag newtap $_CHIPNAME jrc -irlen 2 -expected-id $_JRC_TAPID
44 # GDB target: the ARM.
45 set _TARGETNAME $_CHIPNAME.arm
46 target create $_TARGETNAME arm11 -chain-position $_TARGETNAME
48 # scratch: framebuffer, may be initially unavailable in some chips
49 $_TARGETNAME configure -work-area-phys 0x40210000
50 $_TARGETNAME configure -work-area-size 0x00081000
51 $_TARGETNAME configure -work-area-backup 0
53 # trace setup ... NOTE, "normal full" mode fudges the real ETMv3.1 mode
54 etm config $_TARGETNAME 16 normal full etb
55 etb config $_TARGETNAME $_CHIPNAME.etb
57 # RM_RSTCTRL_WKUP.RST.GS - Trigger a global software reset, and
58 # give it a chance to finish before we talk to the chip again.
59 set RM_RSTCTRL_WKUP 0x48008450
60 $_TARGETNAME configure -event reset-assert \
61 "halt; $_TARGETNAME mww $RM_RSTCTRL_WKUP 2; sleep 200"