ftdiJtagBitbang: implement toggleClk

This commit is contained in:
Gwenhael Goavec-Merou 2020-06-14 15:05:47 +02:00
parent 275ba38207
commit 9a10ac4d48
1 changed files with 18 additions and 3 deletions

View File

@ -196,10 +196,25 @@ int FtdiJtagBitBang::writeTDI(uint8_t *tx, uint8_t *rx, uint32_t len, bool end)
return len;
}
int FtdiJtagBitBang::toggleClk(uint8_t tms, uint8_t tdo, uint32_t clk_len)
int FtdiJtagBitBang::toggleClk(uint8_t tms, uint8_t tdi, uint32_t clk_len)
{
(void) tms; (void) tdo; (void) clk_len;
return -1;
int xfer_len = clk_len;
int val = ((tms) ? _tms_pin : 0) | ((tdi) ? _tdi_pin : 0);
while (xfer_len > 0) {
if (_nb_bit + 2 > _buffer_size)
if (write(NULL, 0) < 0)
return -EXIT_FAILURE;
_in_buf[_nb_bit++] = val | _tck_pin;
_in_buf[_nb_bit++] = val;
xfer_len--;
}
/* flush */
write(NULL, 0);
return clk_len;
}
int FtdiJtagBitBang::flush()