tcl: target: icepick: add icepick_d_tapenable procedure 30/2030/2
authorFelipe Balbi <balbi@ti.com>
Sat, 1 Mar 2014 00:22:35 +0000 (18:22 -0600)
committerSpencer Oliver <spen@spen-soft.co.uk>
Mon, 17 Mar 2014 12:53:02 +0000 (12:53 +0000)
instead of replicating icepick_d_tapenable in many of TI's newer
platforms, we can move to icepick.cfg and just call it from board TCL
configuration file.  This is similar to the C but has a few changes we
need to make.

Change-Id: I0ab48005ccd66cd5b67b919fb5e3b462288f211d
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tom Rini <trini@ti.com>
Reviewed-on: http://openocd.zylin.com/2030
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
tcl/target/am335x.cfg
tcl/target/icepick.cfg

index af06f79ad0800a0969780caedcdd6eea6591b2c8..6fad92c311db7c183b10f7a0f006e15d6398eed4 100644 (file)
@@ -1,3 +1,4 @@
+source [find target/icepick.cfg]
 
 if { [info exists CHIPNAME] } {
    set _CHIPNAME $CHIPNAME
 
 if { [info exists CHIPNAME] } {
    set _CHIPNAME $CHIPNAME
@@ -5,26 +6,6 @@ if { [info exists CHIPNAME] } {
    set _CHIPNAME am335x
 }
 
    set _CHIPNAME am335x
 }
 
-# This chip contains an IcePick-D JTAG router.  The IcePick-C configuration is almost
-# compatible, but it doesn't work.  For now, we will just embed the IcePick-D
-# routines here.
-proc icepick_d_tapenable {jrc port} {
-       # select router
-       irscan $jrc 7 -endstate IRPAUSE
-       drscan $jrc 8 0x89 -endstate DRPAUSE
-
-       # set ip control
-       irscan $jrc 2 -endstate IRPAUSE
-       drscan $jrc 32 [expr 0xa0002108 + ($port << 24)] -endstate DRPAUSE
-
-       # for icepick_D
-       irscan $jrc 2 -endstate IRPAUSE
-       drscan $jrc 32 0xe0002008 -endstate DRPAUSE
-
-       irscan $jrc 0x3F -endstate RUN/IDLE
-       runtest 10
-}
-
 #
 # M3 DAP
 #
 #
 # M3 DAP
 #
index 093d2092fc0f1ce76300264e22bd892442fcc01d..13a6a5106b8a68930ef1a7c4dad73670c912e3b8 100644 (file)
@@ -3,8 +3,9 @@
 # Copyright (C)   2009        by David Brownell
 #
 
 # Copyright (C)   2009        by David Brownell
 #
 
-# Utilities for TI ICEpick-C ... used in DaVinci, OMAP3, and more.
-# Details about the ICEPickC are available in the AM/DM37x document SPRUGN4M
+# Utilities for TI ICEpick-C/D used in most TI SoCs
+# Details about the ICEPick are available in the the TRM for each SoC
+# and http://processors.wiki.ti.com/index.php/ICEPICK
 
 # create "constants"
 proc CONST { key } {
 
 # create "constants"
 proc CONST { key } {
@@ -106,6 +107,27 @@ proc icepick_c_tapenable {jrc port} {
        runtest 10
 }
 
        runtest 10
 }
 
+# jrc  == TAP name for the ICEpick
+# port == a port number, 0..15
+# Follow the sequence described in
+# http://processors.wiki.ti.com/images/f/f6/Router_Scan_Sequence-ICEpick-D.pdf
+proc icepick_d_tapenable {jrc port} {
+       # First CONNECT to the ICEPick
+       icepick_c_connect $jrc
+
+       # Select the port
+       irscan $jrc [CONST IR_ROUTER] -endstate IRPAUSE
+       drscan $jrc 32 [expr 0xa0002108 + ($port << 24)] -endstate DRPAUSE
+
+       # Set 4 bit core ID to the Cortex-A
+       irscan $jrc [CONST IR_ROUTER] -endstate IRPAUSE
+       drscan $jrc 32 0xe0002008 -endstate DRPAUSE
+
+       # Enter the bypass state
+       irscan $jrc [CONST IF_BYPASS] -endstate RUN/IDLE
+       runtest 10
+}
+
 # This function uses the ICEPick to send a warm system reset
 proc icepick_c_wreset {jrc} {
 
 # This function uses the ICEPick to send a warm system reset
 proc icepick_c_wreset {jrc} {
 

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)