diff --git a/jtag/configure.ac b/jtag/configure.ac index 0bd62a1e..612f64a0 100644 --- a/jtag/configure.ac +++ b/jtag/configure.ac @@ -42,6 +42,7 @@ AC_CONFIG_FILES( src/part/Makefile src/bus/Makefile src/cmd/Makefile + src/svf/Makefile po/Makefile.in ) @@ -56,6 +57,8 @@ AM_GNU_GETTEXT_VERSION(0.14.1) AC_PROG_CC AC_PROG_RANLIB +AC_PROG_LEX +AC_PROG_YACC AC_CONFIG_SUBDIRS(libbrux) diff --git a/jtag/data/MANUFACTURERS b/jtag/data/MANUFACTURERS index 0d5ba3aa..dcdffe88 100644 --- a/jtag/data/MANUFACTURERS +++ b/jtag/data/MANUFACTURERS @@ -29,6 +29,7 @@ # bits 11-1 of the Device Identification Register 00000000111 hitachi Hitachi 00000001001 intel Intel +00000001110 freescale Freescale (Motorola) 00000010101 philips Philips Semi. (Signetics) 00000011000 toshiba Toshiba 00000011111 atmel Atmel diff --git a/jtag/data/Makefile.am b/jtag/data/Makefile.am index 4a5c42d1..c24c15e5 100644 --- a/jtag/data/Makefile.am +++ b/jtag/data/Makefile.am @@ -49,6 +49,9 @@ nobase_dist_pkgdata_DATA = \ hitachi/sh7727/sh7727 \ hitachi/sh7729/STEPPINGS \ hitachi/sh7729/sh7729 \ + freescale/PARTS \ + freescale/mpc5200/STEPPINGS \ + freescale/mpc5200/mpc5200 \ ibm/PARTS \ ibm/ppc440gx/STEPPINGS \ ibm/ppc440gx/ppc440gx \ diff --git a/jtag/include/chain.h b/jtag/include/chain.h index ee01f411..4acb0d57 100644 --- a/jtag/include/chain.h +++ b/jtag/include/chain.h @@ -31,6 +31,10 @@ typedef struct chain_t chain_t; #include "cable.h" +#define EXITMODE_SHIFT 0 +#define EXITMODE_IDLE 1 +#define EXITMODE_EXIT1 2 + struct chain_t { int state; parts_t *parts; @@ -45,7 +49,9 @@ void chain_clock( chain_t *chain, int tms, int tdi ); int chain_set_trst( chain_t *chain, int trst ); int chain_get_trst( chain_t *chain ); void chain_shift_instructions( chain_t *chain ); +void chain_shift_instructions_mode( chain_t *chain, int capture, int exit ); void chain_shift_data_registers( chain_t *chain, int capture_output ); +void chain_shift_data_registers_mode( chain_t *chain, int capture_output, int capture, int exit ); typedef struct { chain_t **chains; diff --git a/jtag/src/bus/Makefile.am b/jtag/src/bus/Makefile.am index a5890bf6..e37dbc78 100644 --- a/jtag/src/bus/Makefile.am +++ b/jtag/src/bus/Makefile.am @@ -33,6 +33,7 @@ libbus_a_SOURCES = \ ixp425.c \ lh7a400.c \ mpc824x.c \ + mpc5200.c \ ppc440gx_ebc8.c \ pxa2x0.c \ sa1110.c \ diff --git a/jtag/src/bus/buses.c b/jtag/src/bus/buses.c index 4b0eaeb7..949228ab 100644 --- a/jtag/src/bus/buses.c +++ b/jtag/src/bus/buses.c @@ -35,6 +35,7 @@ const bus_driver_t *bus_drivers[] = { &ixp425_bus, &lh7a400_bus, &mpc824x_bus, + &mpc5200_bus, &ppc440gx_ebc8_bus, &pxa2x0_bus, &s3c4510_bus, diff --git a/jtag/src/bus/buses.h b/jtag/src/bus/buses.h index 143b691c..f53fdc38 100644 --- a/jtag/src/bus/buses.h +++ b/jtag/src/bus/buses.h @@ -30,6 +30,7 @@ extern const bus_driver_t bcm1250_bus; extern const bus_driver_t ixp425_bus; extern const bus_driver_t lh7a400_bus; extern const bus_driver_t mpc824x_bus; +extern const bus_driver_t mpc5200_bus; extern const bus_driver_t ppc440gx_ebc8_bus; extern const bus_driver_t pxa2x0_bus; extern const bus_driver_t s3c4510_bus;