Pavel Chromy: TCK returns to zero before state of reset line is changed.
git-svn-id: svn://svn.berlios.de/openocd/trunk@703 b42882b7-edfa-0310-969c-e2dbd0fdcd60__archive__
parent
9f8d50bf81
commit
24092a5172
|
@ -573,10 +573,10 @@ int presto_bitq_out(int tms, int tdi, int tdo_req)
|
||||||
|
|
||||||
if (presto->jtag_tck == 0)
|
if (presto->jtag_tck == 0)
|
||||||
{
|
{
|
||||||
presto_sendbyte(0xA4);
|
presto_sendbyte(0xA4); /* jtag activity */
|
||||||
presto->jtag_tck = 1;
|
presto->jtag_tck = 1; /* clock remains high after the function returns */
|
||||||
|
/* do just a single tick first, accelerated shifting needs TCK=1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (!tdo_req && tms == presto->jtag_tms)
|
else if (!tdo_req && tms == presto->jtag_tms)
|
||||||
{
|
{
|
||||||
if (presto->jtag_tdi_count == 0)
|
if (presto->jtag_tdi_count == 0)
|
||||||
|
@ -617,7 +617,7 @@ int presto_bitq_out(int tms, int tdi, int tdo_req)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tdo_req)
|
if (tdo_req)
|
||||||
presto_sendbyte(0xD4 | cmdparam);
|
presto_sendbyte(0xD4|cmdparam);
|
||||||
else
|
else
|
||||||
presto_sendbyte(0xC4|cmdparam);
|
presto_sendbyte(0xC4|cmdparam);
|
||||||
|
|
||||||
|
@ -634,8 +634,11 @@ int presto_bitq_flush(void)
|
||||||
presto->jtag_tdi_count = 0;
|
presto->jtag_tdi_count = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
presto_sendbyte(0xCA);
|
if (presto->jtag_tck == 1)
|
||||||
presto->jtag_tck = 0;
|
{
|
||||||
|
presto_sendbyte(0xCA);
|
||||||
|
presto->jtag_tck = 0;
|
||||||
|
}
|
||||||
|
|
||||||
presto_sendbyte(0xA0);
|
presto_sendbyte(0xA0);
|
||||||
|
|
||||||
|
@ -664,6 +667,12 @@ int presto_bitq_sleep(unsigned long us)
|
||||||
{
|
{
|
||||||
long waits;
|
long waits;
|
||||||
|
|
||||||
|
if (presto->jtag_tck == 1)
|
||||||
|
{
|
||||||
|
presto_sendbyte(0xCA);
|
||||||
|
presto->jtag_tck = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (us > 100000)
|
if (us > 100000)
|
||||||
{
|
{
|
||||||
presto_bitq_flush();
|
presto_bitq_flush();
|
||||||
|
@ -683,6 +692,12 @@ int presto_bitq_reset(int trst, int srst)
|
||||||
{
|
{
|
||||||
unsigned char cmd;
|
unsigned char cmd;
|
||||||
|
|
||||||
|
if (presto->jtag_tck == 1)
|
||||||
|
{
|
||||||
|
presto_sendbyte(0xCA);
|
||||||
|
presto->jtag_tck = 0;
|
||||||
|
}
|
||||||
|
|
||||||
cmd = 0xE8;
|
cmd = 0xE8;
|
||||||
if (presto->jtag_tms)
|
if (presto->jtag_tms)
|
||||||
cmd |= 0x04;
|
cmd |= 0x04;
|
||||||
|
|
Loading…
Reference in New Issue