2003-09-11 Marcel Telka <marcel@telka.sk>

* src/tap/cable/wiggler.c (wiggler_init, wiggler_clock, wiggler_get_tdo, wiggler_set_trst): Fixed
		inverted TRST signal (see patch 799377 for more info, thanks to Mike Tesch for reporting).


git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@562 b68d4a1b-bc3d-0410-92ed-d4ac073336b7
master
Marcel Telka 22 years ago
parent 1a1d3ff56e
commit ca35146952

@ -1,4 +1,9 @@
2003-09-10 Marcel Telka <marcel@telka.sk>
2003-09-11 Marcel Telka <marcel@telka.sk>
* src/tap/cable/wiggler.c (wiggler_init, wiggler_clock, wiggler_get_tdo, wiggler_set_trst): Fixed
inverted TRST signal (see patch 799377 for more info, thanks to Mike Tesch for reporting).
2003-09-11 Marcel Telka <marcel@telka.sk>
* src/cmd/dr.c (cmd_dr_run): Added test for missing active instruction and data register (thanks to
Mike Tesch for reporting).

@ -11,6 +11,8 @@ See libbrux/NEWS for more news.
(based on patch 792591, thanks to Guennadi Liakhovetski).
* Added 'initbus' command to allow dynamic bus driver loading.
* Added BOOT_DEF register emulation for PXA2x0 bus driver.
* Fixed inverted TRST signal for Macraigor Wiggler JTAG Cable see patch 799377 for more info,
thanks to Mike Tesch for reporting).
* Fixed minor bugs.
jtag-0.5 (2003-08-19):

@ -41,7 +41,7 @@
#define TDI 3
#define TCK 2
#define TMS 1
#define TRST 0
#define nTRST 0
/*
* 7 - BUSY (pin 11)
@ -61,11 +61,11 @@ wiggler_init( cable_t *cable )
return -1;
if ((data = parport_get_data( cable->port )) < 0) {
if (parport_set_data( cable->port, 1 << TRST ))
if (parport_set_data( cable->port, 0 << nTRST ))
return -1;
PARAM_TRST(cable) = 1;
} else
PARAM_TRST(cable) = (data >> TRST) & 1;
PARAM_TRST(cable) = ((data >> nTRST) ^ 1) & 1;
return 0;
}
@ -76,16 +76,16 @@ wiggler_clock( cable_t *cable, int tms, int tdi )
tms = tms ? 1 : 0;
tdi = tdi ? 1 : 0;
parport_set_data( cable->port, (PARAM_TRST(cable) << TRST) | (0 << TCK) | (tms << TMS) | (tdi << TDI) );
parport_set_data( cable->port, ((PARAM_TRST(cable) ^ 1) << nTRST) | (0 << TCK) | (tms << TMS) | (tdi << TDI) );
cable_wait();
parport_set_data( cable->port, (PARAM_TRST(cable) << TRST) | (1 << TCK) | (tms << TMS) | (tdi << TDI) );
parport_set_data( cable->port, ((PARAM_TRST(cable) ^ 1) << nTRST) | (1 << TCK) | (tms << TMS) | (tdi << TDI) );
cable_wait();
}
static int
wiggler_get_tdo( cable_t *cable )
{
parport_set_data( cable->port, (PARAM_TRST(cable) << TRST) | (0 << TCK) );
parport_set_data( cable->port, ((PARAM_TRST(cable) ^ 1) << nTRST) | (0 << TCK) );
cable_wait();
return (parport_get_status( cable->port ) >> TDO) & 1;
}
@ -95,7 +95,7 @@ wiggler_set_trst( cable_t *cable, int trst )
{
PARAM_TRST(cable) = trst ? 1 : 0;
parport_set_data( cable->port, PARAM_TRST(cable) << TRST );
parport_set_data( cable->port, (PARAM_TRST(cable) ^ 1) << nTRST );
return PARAM_TRST(cable);
}

Loading…
Cancel
Save