diff --git a/jtag/ChangeLog b/jtag/ChangeLog index 08c62c34..c05a37c6 100644 --- a/jtag/ChangeLog +++ b/jtag/ChangeLog @@ -1,3 +1,10 @@ +2008-05-21 Jie Zhang + + [ 1968455 ] Enter UPDATE state after register shift + * include/chain.h (EXITMODE_UPDATE): Define. + * src/tap/tap.c (tap_defer_shift_register): Enter Update-DR + or Update-IR when requested. + 2008-05-20 Arnim Laeuger * src/tap/cable/ft2232.c, src/tap/cable/usbblaster.c: diff --git a/jtag/include/chain.h b/jtag/include/chain.h index 9c46d905..474ad653 100644 --- a/jtag/include/chain.h +++ b/jtag/include/chain.h @@ -35,6 +35,7 @@ typedef struct chain_t chain_t; #define EXITMODE_SHIFT 0 #define EXITMODE_IDLE 1 #define EXITMODE_EXIT1 2 +#define EXITMODE_UPDATE 3 struct chain_t { int state; diff --git a/jtag/src/tap/tap.c b/jtag/src/tap/tap.c index 5ba467ef..f4147014 100644 --- a/jtag/src/tap/tap.c +++ b/jtag/src/tap/tap.c @@ -73,7 +73,8 @@ tap_defer_shift_register( chain_t *chain, const tap_register *in, tap_register * if (exit == EXITMODE_IDLE) { chain_defer_clock( chain, 1, 0, 1 ); /* Update-DR or Update-IR */ chain_defer_clock( chain, 0, 0, 1 ); /* Run-Test/Idle */ - } + } else if (exit == EXITMODE_UPDATE) + chain_defer_clock( chain, 1, 0, 1 ); /* Update-DR or Update-IR */ } void