diff --git a/jtag/ChangeLog b/jtag/ChangeLog index be53b287..0c02ab7b 100644 --- a/jtag/ChangeLog +++ b/jtag/ChangeLog @@ -1,3 +1,10 @@ +2004-11-24 Marcel Telka + + * src/cmd/reset.c: New file. + * src/discovery.c (jtag_reset): Function changed to non-static. + * src/cmd/Makefile.am (libcmd_a_SOURCES): Added reset.c. + * src/cmd/cmd.c (cmds): Added cmd_reset. + 2004-11-21 Marcel Telka * src/jtag.c (jtag_parse_stream, cleanup): New function. diff --git a/jtag/NEWS b/jtag/NEWS index b1249c59..f6244144 100644 --- a/jtag/NEWS +++ b/jtag/NEWS @@ -23,7 +23,9 @@ See libbrux/NEWS for more news. - Sharp LH7A400 (patch 886068, Marko Rößler) * Added support for Lattice Parallel Port JTAG Cable (patch 1012138, Jerome Debard). * Fixed pin assignment for Macraigor Wiggler JTAG Cable (patch 1040199, Andrew Dyer). - * Added new command 'salias'. + * Added new commands: + - 'salias' to define alias for a signal + - 'reset' to reset JTAG chain * Explicit 'detectflash' command call is required before 'flashmem' command. * Fixed minor bugs (including bug 857039). * Fixed compiler error on Debian Woody (patch 986414, Martin Buck). diff --git a/jtag/src/cmd/Makefile.am b/jtag/src/cmd/Makefile.am index f1405edd..a26c733b 100644 --- a/jtag/src/cmd/Makefile.am +++ b/jtag/src/cmd/Makefile.am @@ -28,6 +28,7 @@ noinst_LIBRARIES = libcmd.a libcmd_a_SOURCES = \ frequency.c \ cable.c \ + reset.c \ discovery.c \ detect.c \ signal.c \ diff --git a/jtag/src/cmd/cmd.c b/jtag/src/cmd/cmd.c index 7f325879..dae8660f 100644 --- a/jtag/src/cmd/cmd.c +++ b/jtag/src/cmd/cmd.c @@ -35,6 +35,7 @@ extern cmd_t cmd_quit; extern cmd_t cmd_help; extern cmd_t cmd_frequency; extern cmd_t cmd_cable; +extern cmd_t cmd_reset; extern cmd_t cmd_discovery; extern cmd_t cmd_detect; extern cmd_t cmd_signal; @@ -65,6 +66,7 @@ const cmd_t *cmds[] = { &cmd_help, &cmd_frequency, &cmd_cable, + &cmd_reset, &cmd_discovery, &cmd_detect, &cmd_signal, diff --git a/jtag/src/cmd/reset.c b/jtag/src/cmd/reset.c new file mode 100644 index 00000000..a54c0009 --- /dev/null +++ b/jtag/src/cmd/reset.c @@ -0,0 +1,64 @@ +/* + * $Id$ + * + * Copyright (C) 2004 Marcel Telka + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * Written by Marcel Telka , 2004. + * + */ + +#include "sysdep.h" + +#include +#include + +#include "jtag.h" + +#include "cmd.h" + +void jtag_reset( chain_t *chain ); + +static int +cmd_reset_run( char *params[] ) +{ + if (cmd_params( params ) > 1) + return -1; + + if (!cmd_test_cable()) + return 1; + + jtag_reset( chain ); + + return 1; +} + +static void +cmd_reset_help( void ) +{ + printf( _( + "Usage: %s\n" + "Reset current JTAG chain.\n" + ), "reset" ); +} + +cmd_t cmd_reset = { + "reset", + N_("reset JTAG chain"), + cmd_reset_help, + cmd_reset_run +}; diff --git a/jtag/src/discovery.c b/jtag/src/discovery.c index dba3efeb..58f7ff56 100644 --- a/jtag/src/discovery.c +++ b/jtag/src/discovery.c @@ -91,7 +91,7 @@ detect_register_size( chain_t *chain ) return -1; } -static void +void jtag_reset( chain_t *chain ) { chain_set_trst( chain, 0 );