clkHZ: be more generic
This commit is contained in:
parent
6c3fb2559d
commit
b5f2506fd1
|
|
@ -145,6 +145,8 @@ int AnlogicCable::setClkFreq(uint32_t clkHZ)
|
||||||
printWarn("Jtag frequency : requested " + std::to_string(req_freq) +
|
printWarn("Jtag frequency : requested " + std::to_string(req_freq) +
|
||||||
"Hz -> real " + std::to_string(clkHZ) + "Hz");
|
"Hz -> real " + std::to_string(clkHZ) + "Hz");
|
||||||
|
|
||||||
|
_clkHZ = clkHZ;
|
||||||
|
|
||||||
return clkHZ;
|
return clkHZ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ FtdiJtagBitBang::FtdiJtagBitBang(const FTDIpp_MPSSE::mpsse_bit_config &cable,
|
||||||
throw std::runtime_error("_buffer realloc failed\n");
|
throw std::runtime_error("_buffer realloc failed\n");
|
||||||
_buffer = ptr;
|
_buffer = ptr;
|
||||||
|
|
||||||
setClkFreq(_clkHZ);
|
setClkFreq(clkHZ);
|
||||||
|
|
||||||
init(1, _tck_pin | _tms_pin | _tdi_pin, BITMODE_BITBANG);
|
init(1, _tck_pin | _tms_pin | _tdi_pin, BITMODE_BITBANG);
|
||||||
setBitmode(BITMODE_BITBANG);
|
setBitmode(BITMODE_BITBANG);
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,8 @@ class FtdiJtagMPSSE : public JtagInterface, private FTDIpp_MPSSE {
|
||||||
return FTDIpp_MPSSE::setClkFreq(clkHZ);
|
return FTDIpp_MPSSE::setClkFreq(clkHZ);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32_t getClkFreq() override {return FTDIpp_MPSSE::getClkFreq();}
|
||||||
|
|
||||||
/* TMS */
|
/* TMS */
|
||||||
int writeTMS(uint8_t *tms, int len, bool flush_buffer) override;
|
int writeTMS(uint8_t *tms, int len, bool flush_buffer) override;
|
||||||
/* clock */
|
/* clock */
|
||||||
|
|
|
||||||
|
|
@ -294,6 +294,8 @@ int FTDIpp_MPSSE::setClkFreq(uint32_t clkHZ)
|
||||||
ftdi_tcioflush(_ftdi);
|
ftdi_tcioflush(_ftdi);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
_clkHZ = real_freq;
|
||||||
|
|
||||||
return real_freq;
|
return real_freq;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ class FTDIpp_MPSSE {
|
||||||
int init(unsigned char latency, unsigned char bitmask_mode,
|
int init(unsigned char latency, unsigned char bitmask_mode,
|
||||||
unsigned char mode);
|
unsigned char mode);
|
||||||
int setClkFreq(uint32_t clkHZ);
|
int setClkFreq(uint32_t clkHZ);
|
||||||
|
uint32_t getClkFreq() { return _clkHZ;}
|
||||||
|
|
||||||
int vid() {return _vid;}
|
int vid() {return _vid;}
|
||||||
int pid() {return _pid;}
|
int pid() {return _pid;}
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ class JtagInterface {
|
||||||
virtual ~JtagInterface() {}
|
virtual ~JtagInterface() {}
|
||||||
|
|
||||||
virtual int setClkFreq(uint32_t clkHZ) = 0;
|
virtual int setClkFreq(uint32_t clkHZ) = 0;
|
||||||
virtual uint32_t getClkFreq() { return 0;}
|
virtual uint32_t getClkFreq() {return _clkHZ;}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief flush TMS internal buffer (ie. transmit to converter)
|
* \brief flush TMS internal buffer (ie. transmit to converter)
|
||||||
|
|
@ -80,5 +80,7 @@ class JtagInterface {
|
||||||
* \return 1 if success, 0 if nothing to write, -1 is something wrong
|
* \return 1 if success, 0 if nothing to write, -1 is something wrong
|
||||||
*/
|
*/
|
||||||
virtual int flush() = 0;
|
virtual int flush() = 0;
|
||||||
|
protected:
|
||||||
|
uint32_t _clkHZ; /*!< current clk frequency */
|
||||||
};
|
};
|
||||||
#endif // _JTAGINTERFACE_H_
|
#endif // _JTAGINTERFACE_H_
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue