set  _ENDIAN little
 }
 
-if { [info exists SJCTAPID ] } {
-   set _SJCTAPID $SJCTAPID
+if { [info exists ETBTAPID ] } {
+   set _ETBTAPID $ETBTAPID
 } else {
-   set _SJCTAPID 0x1b900f0f
+   set _ETBTAPID 0x1b900f0f
 }
-jtag newtap $_CHIPNAME sjc -irlen 4 -expected-id $_SJCTAPID
+jtag newtap $_CHIPNAME etb -irlen 4 -irmask 0x0f -expected-id $_ETBTAPID
 
 if { [info exists CPUTAPID ] } {
    set _CPUTAPID $CPUTAPID
 
 
 # Note above there are 2 taps
 
-# The bs tap
-if { [info exists BSTAPID ] } {
-   set _BSTAPID $BSTAPID
+# trace buffer
+if { [info exists ETBTAPID ] } {
+   set _ETBTAPID $ETBTAPID
 } else {
-   set _BSTAPID 0x1b900f0f
+   set _ETBTAPID 0x1b900f0f
 }
-jtag newtap $_CHIPNAME bs  -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_BSTAPID
+jtag newtap $_CHIPNAME etb  -irlen 4 -irmask 0xf -expected-id $_ETBTAPID
 
 # The CPU tap
 if { [info exists CPUTAPID ] } {
 
    set _SDMATAPID 0x2190101d
 }
 
-#========================================
-# The "system jtag controller"
-# IMX31 reference manual, page 6-28 - figure 6-14
-if { [info exists SJCTAPID ] } {
-   set _SJCTAPID $SJCTAPID
+if { [info exists ETBTAPID ] } {
+   set _ETBTAPID $ETBTAPID
 } else {
-   set _SJCTAPID 0x2b900f0f
+   set _ETBTAPID 0x2b900f0f
 }
-jtag newtap $_CHIPNAME sjc -irlen 4 -ircapture 0x0 -irmask 0x0 -expected-id $_SJCTAPID
+
+#========================================
+
+jtag newtap $_CHIPNAME etb -irlen 4 -irmask 0xf -expected-id $_ETBTAPID
 
 # The "SDMA" - <S>mart <DMA> controller debug tap
 # Based on some IO pins - this can be disabled & removed
 
    set _SDMATAPID 0x0882601d
 }
 
-#========================================
-# The "system jtag controller"
-# IMX31 reference manual, page 6-28 - figure 6-14
-if { [info exists SJCTAPID ] } {
-   set _SJCTAPID $SJCTAPID
+if { [info exists ETBTAPID ] } {
+   set _ETBTAPID $ETBTAPID
 } else {
-   set _SJCTAPID 0x2b900f0f
+   set _ETBTAPID 0x2b900f0f
 }
 
-jtag newtap $_CHIPNAME sjc -irlen 4 -ircapture 0x0 -irmask 0x0 -expected-id $_SJCTAPID
+#========================================
 
+jtag newtap $_CHIPNAME etb -irlen 4 -irmask 0xf -expected-id $_ETBTAPID
 jtag newtap $_CHIPNAME cpu -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id $_CPUTAPID
 
 # No IDCODE for this TAP
 
    set  _ENDIAN little
 }
 
-if { [info exists BSTAPID ] } {
-   set _BSTAPID $BSTAPID
+# trace buffer
+if { [info exists ETBTAPID ] } {
+   set _ETBTAPID $ETBTAPID
 } else {
   # force an error till we get a good number
-   set _BSTAPID 0x2b900f0f
+   set _ETBTAPID 0x2b900f0f
 }
 
 if { [info exists CPUTAPID ] } {
 
 #jtag scan chain
 
-# I think the "unknown" is the boundry scan tap
-jtag newtap $_CHIPNAME unknown -irlen 4 -ircapture 0x1 -irmask 0xe  -expected-id $_BSTAPID
+jtag newtap $_CHIPNAME etb -irlen 4 -expected-id $_ETBTAPID
 jtag newtap $_CHIPNAME cpu     -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id $_CPUTAPID
 
 set _TARGETNAME $_CHIPNAME.cpu