Major JTAG430 and JTAG430X2 patching.
[goodfet] / firmware / include / jtag430.h
index 9196e3c..950e80e 100644 (file)
@@ -1,16 +1,16 @@
-/*! \file jtag.h
+/*! \file jtag430.h
   \author Travis Goodspeed
   \brief JTAG handler functions.
-
-FIXME: Remove these when proven compiling
-#include <signal.h>
-#include <io.h>
-#include <iomacros.h>
 */
 
+#ifndef JTAG430_H
+#define JTAG430_H
 
+#include "app.h"
 #include "jtag.h"
 
+#define JTAG430 0x16
+
 extern unsigned int drwidth;
 
 #define MSP430MODE 0
@@ -20,8 +20,10 @@ extern unsigned int jtag430mode;
 
 // JTAG430 Commands
 
-//! Start JTAG, unique to the '430.
+//! Start JTAG, unique to the '430.  Deprecated.
 void jtag430_start();
+//! Same thing, but also for '430X2.
+unsigned char jtag430x2_start();
 //! Reset the TAP state machine, check the fuse.
 void jtag430_resettap();
 
@@ -87,6 +89,9 @@ void jtag430_por();
 #define JTAG430_RELEASECPU 0xA1
 #define JTAG430_SETINSTRFETCH 0xC1
 #define JTAG430_SETPC 0xC2
+#define JTAG430_SETREG 0xD2
+#define JTAG430_GETREG 0xD3
+
 #define JTAG430_WRITEMEM 0xE0
 #define JTAG430_WRITEFLASH 0xE1
 #define JTAG430_READMEM 0xE2
@@ -95,5 +100,10 @@ void jtag430_por();
 #define JTAG430_VERIFYMEM 0xE5
 #define JTAG430_BLOWFUSE 0xE6
 #define JTAG430_ISFUSEBLOWN 0xE7
+#define JTAG430_ERASEINFO 0xE8
 #define JTAG430_COREIP_ID 0xF0
 #define JTAG430_DEVICE_ID 0xF1
+
+extern app_t const jtag430_app;
+
+#endif // JTAG430_H