mdebug

cortex m series debugger
git clone http://frotz.net/git/mdebug.git
Log | Files | Refs | README | LICENSE

ti-icepick.h (2006B)


      1 #ifndef _TI_ICEPICK_H_
      2 #define _TI_ICEPICK_H_
      3 
      4 #define IP_IR_WIDTH		6
      5 
      6 #define IP_IR_BYPASS		0x3F // W = 1
      7 #define IP_IR_ROUTER		0x02 // W = 32, only when CONNECTED
      8 #define IP_IR_IDCODE		0x04 // W = 32
      9 #define IP_IR_IPCODE		0x05 // W = 32
     10 #define IP_IR_CONNECT		0x07 // W = 8
     11 #define IP_IR_USERCODE		0x08 // W = 32
     12 
     13 #define IP_CONNECT_RD		0x00
     14 #define IP_CONNECT_WR_KEY	0x89
     15 
     16 // scanout returns results from previous scan
     17 // loading IR between scans may result in incorrect readback
     18 #define IP_RTR_WR			(1 << 31)
     19 #define IP_RTR_BLK(n)			(((n) & 7) << 28)
     20 #define IP_RTR_REG(n)			(((n) & 15) << 24)
     21 #define IP_RTR_VAL(n)			((n) & 0x00FFFFFF)
     22 
     23 #define IP_RTR_OK			(1 << 31) // last write succeeded
     24 
     25 #define IP_BLK_CONTROL			0
     26 #define IP_BLK_TEST_TLCB		1 // TLCB = TAP Linking Control Block
     27 #define IP_BLK_DEBUG_TLCB		2
     28 
     29 // CONTROL block registers
     30 #define IP_CTL_ZEROS			0
     31 #define IP_CTL_CONTROL			1
     32 #define  IP_CTL_BLOCK_SYS_RESET		(1 << 6)
     33 #define  IP_CTL_SYSTEM_RESET		(1 << 0)
     34 
     35 #define IP_CTL_LINKING_MODE		2
     36 #define  IP_CTL_ALWAYS_FIRST		(0 << 1) // TAP always closest to TDI
     37 #define  IP_CTL_DISAPPEAR_FOREVER	(3 << 1) // TAP vanishes until power-on-reset
     38 #define  IP_CTL_ACTIVATE_MODE		(1 << 0) // Commit on next RunTestIdle
     39 
     40 // DEBUG TLCB registers
     41 #define IP_DBG_TAP0			0
     42 #define  IP_DBG_INHIBIT_SLEEP		(1 << 20)
     43 #define  IP_DBG_IN_RESET		(1 << 17) // RD
     44 #define  IP_DBG_RELEASE_FROM_WIR	(1 << 17) // WR release from wait-in-reset
     45 #define  IP_DBG_RESET_NORMAL		(0 << 14) // reset normally
     46 #define  IP_DBG_RESET_WAIT		(1 << 14) // wait after reset
     47 #define  IP_DBG_RESET_CANCEL		(4 << 14) // cancel command lockout
     48 #define  IP_DBG_VISIBLE_TAP		(1 << 9)  // RD
     49 #define  IP_DBG_SELECT_TAP		(1 << 8)  // RW 1 = Make Visible on RTI
     50 #define  IP_DBG_FORCE_ACTIVE		(1 << 3)  // RW 1 = override app power/clock
     51 #define  IP_DBG_TAP_ACCESSIBLE		(1 << 1)  // RO 0 = no TAP (security)
     52 #define  IP_DBG_TAP_PRESENT		(1 << 0)  // RO 0 = no TAP (hw)
     53 
     54 // ICE Melter wakes up JTAG after 8 TCKs -- must wait 200uS
     55 #endif
     56