MSP430F5xx stuff; 1xx support is probably broken right now.
[goodfet] / firmware / include / jtag.h
index c1abdf3..a766b06 100644 (file)
@@ -20,9 +20,12 @@ unsigned long jtagtransn(unsigned long word,
 unsigned char jtag_ir_shift8(unsigned char);
 //! Shift 16 bits of the DR.
 unsigned int jtag_dr_shift16(unsigned int);
 unsigned char jtag_ir_shift8(unsigned char);
 //! Shift 16 bits of the DR.
 unsigned int jtag_dr_shift16(unsigned int);
+//! Shift 20 bits of the DR, MSP430 specific.
+unsigned long jtag_dr_shift20(unsigned long in);
 //! Stop JTAG, release pins
 void jtag_stop();
 
 //! Stop JTAG, release pins
 void jtag_stop();
 
+//! Setup the JTAG pin directions.
 void jtagsetup();
 
 // JTAG430 Commands
 void jtagsetup();
 
 // JTAG430 Commands
@@ -118,3 +121,16 @@ extern int savedtclk;
 // Bypass instruction
 #define IR_BYPASS                  0xFF   // 0xFF
 
 // Bypass instruction
 #define IR_BYPASS                  0xFF   // 0xFF
 
+//MSP430X2 unique
+#define IR_COREIP_ID               0xE8   // 0x17 
+#define IR_DEVICE_ID               0xE1   // 0x87
+
+//MSP430 or MSP430X
+#define MSP430JTAGID 0x89
+//MSP430X2 only
+#define MSP430X2JTAGID 0x91
+
+//! Syncs a POR.
+unsigned int jtag430x2_syncpor();
+//! Executes an MSP430X2 POR
+unsigned int jtag430x2_por();