hi,
the attached patch makes srst controllable with "pod reset=" on
wiggler2[1] (which is actually the whole point of wiggler2 in the
first place and is a very nice feature to have).
tested with a k9jtag[2], which, at least in the srst-controlling
regard is for all intents and purposes identical to wiggler2.
direct links to schematics:
http://web.archive.org/web/20110708075327/http://www.k9spud.com//jtag/schematic-1.0.php
http://www.ccac.rwth-aachen.de/~michaels/files/armjtag/wiggler2.pdf
please consider applying.
thanks,
[1]: http://www.ccac.rwth-aachen.de/~michaels/index.php/hardware/armjtag
[2]: http://web.archive.org/web/20110708074737/http://www.k9spud.com/jtag/
--
[-]
mkdir /nonexistent
From 0b7acaa90fc2b7b56dca4764f2fb0692a6ca2eed Mon Sep 17 00:00:00 2001
From: Tamas TEVESZ <i...@extreme.hu>
Date: Wed, 12 Sep 2012 13:11:19 +0200
Subject: [PATCH] Wiggler2: make SRST# controllable with "pod reset".
---
urjtag/src/tap/cable/wiggler2.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/urjtag/src/tap/cable/wiggler2.c b/urjtag/src/tap/cable/wiggler2.c
index ea2871b..26704e4 100644
--- a/urjtag/src/tap/cable/wiggler2.c
+++ b/urjtag/src/tap/cable/wiggler2.c
@@ -22,10 +22,11 @@
* Written by Marcel Telka <mar...@telka.sk>, 2002, 2003.
*
* Documentation:
- * [1] http://www.ocdemon.net/
- * [2] http://jtag-arm9.sourceforge.net/hardware.html
+ * [1] http://www.ccac.rwth-aachen.de/~michaels/index.php/hardware/armjtag
+ * [2] http://www.ocdemon.net/
+ * [3] http://jtag-arm9.sourceforge.net/hardware.html
*
- * Base on the code for the Macraigor WIGGLER code written by Marcel Telka.
+ * Based on the code for the Macraigor WIGGLER code written by Marcel Telka.
* Modified by Matej Kupljen <matej.kupl...@ultra.si> to support
* the Modified WIGGLER JTAG cable. This has an additional pin, that is
* used for CPU reset. The schematic is based on the source code for the
@@ -73,9 +74,6 @@ wiggler2_init (urj_cable_t *cable)
if (urj_tap_parport_open (cable->link.port) != URJ_STATUS_OK)
return URJ_STATUS_FAIL;
- // TODO: CPU_RESET bit is set to zero here and can't be changed afterwards
- // If CPU_RESET=0 doesn't harm, it means it is an active high signal? - kawk
-
if ((data = urj_tap_parport_get_data (cable->link.port)) < 0)
{
if (urj_tap_parport_set_data (cable->link.port,
@@ -142,7 +140,9 @@ wiggler2_set_signal (urj_cable_t *cable, int mask, int val)
{
int prev_sigs = PARAM_SIGNALS (cable);
- mask &= (URJ_POD_CS_TDI | URJ_POD_CS_TCK | URJ_POD_CS_TMS | URJ_POD_CS_TRST); // only these can be modified
+ /* Only these can be modified */
+ mask &= (URJ_POD_CS_TDI | URJ_POD_CS_TCK | URJ_POD_CS_TMS |
+ URJ_POD_CS_TRST | URJ_POD_CS_RESET);
if (mask != 0)
{
@@ -152,6 +152,7 @@ wiggler2_set_signal (urj_cable_t *cable, int mask, int val)
data |= (sigs & URJ_POD_CS_TCK) ? (1 << TCK) : 0;
data |= (sigs & URJ_POD_CS_TMS) ? (1 << TMS) : 0;
data |= (sigs & URJ_POD_CS_TRST) ? (1 << TRST) : 0;
+ data |= (sigs & URJ_POD_CS_RESET) ? (1 << CPU_RESET) : 0;
urj_tap_parport_set_data (cable->link.port, data | UNUSED_BITS);
PARAM_SIGNALS (cable) = sigs;
}
--
1.7.9.5
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
UrJTAG-development mailing list
UrJTAG-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/urjtag-development