X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=firmware%2Finclude%2Fjtag.h;h=bdcd803da27622b46fa403f8bf067a066cc1d154;hb=cec457aef4a1e0ff483012bc3ba0ef73ac7b6659;hp=b4c4155685d3f53950c80fe2048e92ead2a2fe24;hpb=ec842a71bc86390267ca8dffdd5cf8236dc211e4;p=goodfet diff --git a/firmware/include/jtag.h b/firmware/include/jtag.h index b4c4155..bdcd803 100644 --- a/firmware/include/jtag.h +++ b/firmware/include/jtag.h @@ -6,9 +6,12 @@ #ifndef JTAG_H #define JTAG_H -#include -#include -#include +#include "app.h" + +#define JTAG 0x10 + +//! JTAG device ID. +extern unsigned char jtagid; // Generic Commands @@ -62,17 +65,18 @@ void jtag_resettap(); #define JTAGSPEED 20 #define JTAGDELAY(x) delay(x) -#define SETMOSI P5OUT|=MOSI -#define CLRMOSI P5OUT&=~MOSI -#define SETCLK P5OUT|=SCK -#define CLRCLK P5OUT&=~SCK -#define READMISO (P5IN&MISO?1:0) -#define SETTMS P5OUT|=TMS -#define CLRTMS P5OUT&=~TMS -#define SETTCK P5OUT|=TCK -#define CLRTCK P5OUT&=~TCK -#define SETTDI P5OUT|=TDI -#define CLRTDI P5OUT&=~TDI + +#define SETMOSI SPIOUT|=MOSI +#define CLRMOSI SPIOUT&=~MOSI +#define SETCLK SPIOUT|=SCK +#define CLRCLK SPIOUT&=~SCK +#define READMISO (SPIIN&MISO?1:0) +#define SETTMS SPIOUT|=TMS +#define CLRTMS SPIOUT&=~TMS +#define SETTCK SPIOUT|=TCK +#define CLRTCK SPIOUT&=~TCK +#define SETTDI SPIOUT|=TDI +#define CLRTDI SPIOUT&=~TDI #define SETTST P4OUT|=TST #define CLRTST P4OUT&=~TST @@ -83,8 +87,8 @@ void jtag_resettap(); #define CLRTCLK CLRTDI extern int savedtclk; -#define SAVETCLK savedtclk=P5OUT&TCLK; -#define RESTORETCLK if(savedtclk) P5OUT|=TCLK; else P5OUT&=~TCLK +#define SAVETCLK savedtclk=SPIOUT&TCLK; +#define RESTORETCLK if(savedtclk) SPIOUT|=TCLK; else SPIOUT&=~TCLK //Replace every "CLRTCK SETTCK" with this. #define TCKTOCK CLRTCK,SETTCK @@ -93,6 +97,7 @@ extern int savedtclk; #define JTAG_IR_SHIFT 0x80 #define JTAG_DR_SHIFT 0x81 #define JTAG_RESETTAP 0x82 +#define JTAG_RESETTARGET 0x83 #define JTAG_DR_SHIFT20 0x91 #define MSB 0 @@ -100,8 +105,24 @@ extern int savedtclk; #define NOEND 2 #define NORETIDLE 4 - //JTAG430 commands -//#include "jtag430.h" +#define Exit2_DR 0x0 +#define Exit_DR 0x1 +#define Shift_DR 0x2 +#define Pause_DR 0x3 +#define Select_IR 0x4 +#define Update_DR 0x5 +#define Capture_DR 0x6 +#define Select_DR 0x7 +#define Exit2_IR 0x8 +#define Exit_IR 0x9 +#define Shift_IR 0xa +#define Pause_IR 0xb +#define RunTest_Idle 0xc +#define Update_IR 0xd +#define Capture_IR 0xe +#define Test_Reset 0xf + +extern app_t const jtag_app; #endif