X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Fapps%2Fjtag%2Fjtag.c;h=d9193e895fa5dd9c95249b66f76653e66595efd5;hp=97db51bb408d78218da050a03835ea7e1a513b2c;hb=b1ae86eaae79309b8993c505d85b915dcac546b9;hpb=33c548994df07e43f25464b7d3f24642e9142a99 diff --git a/firmware/apps/jtag/jtag.c b/firmware/apps/jtag/jtag.c index 97db51b..d9193e8 100644 --- a/firmware/apps/jtag/jtag.c +++ b/firmware/apps/jtag/jtag.c @@ -103,7 +103,7 @@ void jtag_stop(){ P4OUT=0; } -unsigned int drwidth=20; +unsigned int drwidth=16; //! Shift all bits of the DR. unsigned long jtag_dr_shift20(unsigned long in){ // idle @@ -135,6 +135,26 @@ unsigned int jtag_dr_shift16(unsigned int in){ return(jtagtransn(in,16)); } +//! Shift native width of the DR +unsigned long jtag_dr_shiftadr(unsigned long in){ + unsigned long out=0; + + // idle + SETTMS; + TCKTOCK; + // select DR + CLRTMS; + TCKTOCK; + // capture IR + TCKTOCK; + + + out=jtagtransn(in,drwidth); + + // shift DR, then idle + return(out); +} + //! Shift 8 bits of the IR. unsigned char jtag_ir_shift8(unsigned char in){