ftdiJtagMPSSE: fix read/write polarity: always write on neg, read is by default on pos but may on neg with arty
This commit is contained in:
parent
28ebc98b1b
commit
2eac30c24e
|
|
@ -31,7 +31,8 @@ using namespace std;
|
||||||
FtdiJtagMPSSE::FtdiJtagMPSSE(const FTDIpp_MPSSE::mpsse_bit_config &cable,
|
FtdiJtagMPSSE::FtdiJtagMPSSE(const FTDIpp_MPSSE::mpsse_bit_config &cable,
|
||||||
string dev, const string &serial, uint32_t clkHZ, int8_t verbose):
|
string dev, const string &serial, uint32_t clkHZ, int8_t verbose):
|
||||||
FTDIpp_MPSSE(cable, dev, serial, clkHZ, verbose), _ch552WA(false),
|
FTDIpp_MPSSE(cable, dev, serial, clkHZ, verbose), _ch552WA(false),
|
||||||
_write_mode(0), _read_mode(0)
|
_write_mode(MPSSE_WRITE_NEG), // always write on neg edge
|
||||||
|
_read_mode(0)
|
||||||
{
|
{
|
||||||
init_internal(cable);
|
init_internal(cable);
|
||||||
}
|
}
|
||||||
|
|
@ -89,16 +90,10 @@ void FtdiJtagMPSSE::config_edge()
|
||||||
* opposite edges must be used.
|
* opposite edges must be used.
|
||||||
* Not required with classic FT2232
|
* Not required with classic FT2232
|
||||||
*/
|
*/
|
||||||
if (!strncmp((const char *)_iproduct, "Digilent USB Device", 19)) {
|
if (FTDIpp_MPSSE::getClkFreq() >= 15000000 &&
|
||||||
if (FTDIpp_MPSSE::getClkFreq() < 15000000) {
|
!strncmp((const char *)_iproduct, "Digilent USB Device", 19)) {
|
||||||
_write_mode = MPSSE_WRITE_NEG;
|
_read_mode = MPSSE_READ_NEG;
|
||||||
_read_mode = 0;
|
|
||||||
} else {
|
|
||||||
_write_mode = 0;
|
|
||||||
_read_mode = MPSSE_READ_NEG;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
_write_mode = MPSSE_WRITE_NEG;
|
|
||||||
_read_mode = 0;
|
_read_mode = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue