00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00028 #ifndef _PP_JTAG_H
00029 #define _PP_JTAG_H
00030
00031 #include "jtag.h"
00032
00034 class PPJTAG : public JTAGControl {
00035 public:
00036 virtual bool init(int argc, char **argv);
00037
00038 virtual void ireg(unsigned char *data);
00039
00040 virtual void dreg(unsigned char *data, unsigned char length, bool writeOnly=false);
00041
00042 virtual void jtagReset(void);
00043
00044 virtual void cpuReset(bool state);
00045
00046 virtual void trst(bool state);
00047
00048 virtual void idle(unsigned int nbTCK);
00049
00050 virtual void flushQueue(void) {}
00051
00052 virtual const char *getName(void) const { return "pp"; }
00053
00054 PPJTAG();
00055
00056 private:
00058 unsigned short port;
00059 unsigned char permBits, portVal;
00060 int jtagRestarted;
00061
00062
00063
00064 unsigned char readJTAG();
00065 void writeJTAG(unsigned char data);
00066 void jtagReg(unsigned char *_data, unsigned char length);
00067 };
00068
00069 #endif // _PP_JTAG_H
00070