* include/bus.h (bus_drivers): Added constant declaration.
(new_sa1110_bus, new_pxa250_bus, new_ixp425_bus, new_sh7727_bus, new_sh7750r_bus, new_sh7751r_bus)
(new_bcm1250_bus): Function declarations removed.
* src/bus/buses.c (bus_drivers): New constant definition.
* src/bus/buses.h: New file.
* src/bus/Makefile.am (libbus_a_SOURCES): Added buses.h.
* src/bus/bcm1250.c (bcm1250_bus_printinfo): Added new function parameter 'bus'.
(bcm1250_bus): Changed structure type to bus_driver_t. Changed members.
(new_bcm1250_bus): Function renamed ...
(bcm1250_bus_new): ... to this one. Changed parameter list to void (and function body updated).
* src/bus/ixp425.c (ixp425_bus_printinfo): Added new function parameter 'bus'.
(ixp425_bus): Changed structure type to bus_driver_t. Changed members.
(new_ixp425_bus): Function renamed ...
(ixp425_bus_new): ... to this one. Changed parameter list to void (and function body updated).
* src/bus/pxa2x0.c (pxa2x0_bus_printinfo): Added new function parameter 'bus'.
(pxa250_bus): Structure transformed ...
(pxa2x0_bus): ... to this constant (changed type to bus_driver_t, changed members).
(new_pxa250_bus): Function renamed ...
(pxa2x0_bus_new): ... to this one. Changed parameter list to void (and function body updated).
* src/bus/s3c4510x.c (s3c4510_bus_printinfo): Added new function parameter 'bus'.
(s3c4510_bus): Changed structure type to bus_driver_t. Changed members.
(new_s3c4510_bus): Function renamed ...
(s3c4510_bus_new): ... to this one. Changed parameter list to void (and function body updated).
* src/bus/sa1110.c (sa1110_bus_printinfo): Added new function parameter 'bus'.
(sa1110_bus): Changed structure type to bus_driver_t. Changed members.
(new_sa1110_bus): Function renamed ...
(sa1110_bus_new): ... to this one. Changed parameter list to void (and function body updated).
* src/bus/sh7727.c (sh7727_bus_printinfo): Added new function parameter 'bus'.
(sh7727_bus): Changed structure type to bus_driver_t. Changed members.
(new_sh7727_bus): Function renamed ...
(sh7727_bus_new): ... to this one. Changed parameter list to void (and function body updated).
* src/bus/sh7750r.c (sh7750r_bus_printinfo): Added new function parameter 'bus'.
(sh7750r_bus): Changed structure type to bus_driver_t. Changed members.
(new_sh7750r_bus): Function renamed ...
(sh7750r_bus_new): ... to this one. Changed parameter list to void (and function body updated).
* src/bus/sh7751r.c (sh7751r_bus_printinfo): Added new function parameter 'bus'.
(sh7751r_bus): Changed structure type to bus_driver_t. Changed members.
(new_sh7751r_bus): Function renamed ...
(sh7751r_bus_new): ... to this one. Changed parameter list to void (and function body updated).
* src/cmd/cable.c (cmd_cable_run): Replaced bus->free() call with bus_free().
* src/jtag.c (main): Ditto.
* src/cmd/cmd.c (cmds): Added cmd_initbus.
* src/cmd/detect.c (cmd_detect_run): Removed explicit bus driver detection.
* src/cmd/initbus.c: New file.
* src/cmd/Makefile.am (libcmd_a_SOURCES): Added initbus.c.
* data/broadcom/bcm1250/bcm1250: Added 'initbus' command call.
* data/hitachi/sh7727/sh7727: Ditto.
* data/intel/ixp425/ixp425: Ditto.
* data/intel/pxa250/pxa250: Ditto.
* data/intel/pxa250/pxa250c0: Ditto.
* data/intel/sa1110/sa1110: Ditto.
* data/samsung/s3c4510b/s3c4510b: Ditto.
git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@558 b68d4a1b-bc3d-0410-92ed-d4ac073336b7
* src/bus/pxa2x0.c (set_data_in, setup_data): Added new 'adr' parameter. Used real data bus width
for data reading (based on patch 792591, thanks to Guennadi Liakhovetski).
All function callers updated.
(pxa250_bus_read_next, pxa250_bus_read_end): Used real data bus width for data reading (based on
patch 792591, thanks to Guennadi Liakhovetski).
* src/bus/sa1110.c (set_data_in, setup_data, sa1110_bus_read_next, sa1110_bus_read_end): Ditto.
* src/bus/sh7727.c (set_data_in, setup_data, sh7727_bus_read_next, sh7727_bus_read_end): Ditto.
git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@554 b68d4a1b-bc3d-0410-92ed-d4ac073336b7
* src/tap/cable/byteblaster.c (byteblaster_init): Added additional checks for valid ByteBlaster cable
connection and enabled all variants of the cable (patch 793313, Rojhalat Ibrahim).
git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@542 b68d4a1b-bc3d-0410-92ed-d4ac073336b7
* include/jtag.h (flasherase): New function prototype (patch 772267, Thomas Fröhlich).
* src/flash.c (flasherase): New function (patch 772267, Thomas Fröhlich).
* src/cmd/Makefile.am (libcmd_a_SOURCES): Added eraseflash.c (patch 772267, Thomas Fröhlich).
* src/cmd/cmd.c (cmds): Added cmd_eraseflash (patch 772267, Thomas Fröhlich).
* src/cmd/eraseflash.c: New file (patch 772267, Thomas Fröhlich).
git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@515 b68d4a1b-bc3d-0410-92ed-d4ac073336b7
* include/jtag.h (detect_register_size): Added function declaration.
* src/discovery.c (detect_register_size): Changed to non-static.
* src/detect.c (detect_parts): Added support for parts without IDCODE.
git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@510 b68d4a1b-bc3d-0410-92ed-d4ac073336b7
* src/discovery.c (discovery): Removed explicit JTAG chain length detection. Changed starting of the DR
size detection from all 1 instead all 0 for IR (patch 753298, Matan Ziv-Av).
git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@488 b68d4a1b-bc3d-0410-92ed-d4ac073336b7
* src/bus/sh7727.c (bus_params_t): Added md3 and md4.
(sh7727_bus_width): Moved to implementation using MD3 and MD4 (thanks to Rainer Dörken).
(new_sh7727_bus): Added MD3 and MD4 signal searching (thanks to Rainer Dörken).
git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@477 b68d4a1b-bc3d-0410-92ed-d4ac073336b7
* src/tap/parport/ppdev.c (ppdev_get_status): Inverted BUSY signal value.
* include/cfi.h (cfi_chip_t, cfi_array_t): New typedefs.
(cfi_array_free): New function prototype.
(detect_cfi): Changed function prototype.
* include/flash.h (set_flash_driver): Removed function prototype.
* src/flash/cfi.c (BW16): Macro removed.
(read2): Function removed.
(cfi_array_free): New function.
(detect_cfi): Added code to detect all CFI chips on the data bus.
* src/flash.c (flashcheck): Removed bus width checking. Updated due changes in src/flash/cfi.c.
(flashmsbin): Updated due changes in src/flash/cfi.c. Removed memory leak.
* src/readmem.c: Added l10n support. Marked messages for translation.
(detectflash): Updated due changes in src/flash/cfi.c. Removed memory leak.
Removed flash driver setup.
* po/POTFILES.in: Added src/readmem.c.
git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@432 b68d4a1b-bc3d-0410-92ed-d4ac073336b7
* configure.ac (CPPFLAGS): Added path to the openwince include arm directory.
* include/bus.h (bus_width): Added new `adr' parameter for this macro.
All relevant functions and callers updated.
* src/bus/pxa2x0.c (bus_params_t): Added last_adr and MC_registers structure members.
(LAST_ADR, MC_pointer): New macros.
(pxa250_bus_read_start, pxa250_bus_read_next, pxa250_bus_read_end, pxa250_bus_write): Disabled
external bus cycles for addresses above 0x0400000.
(pxa250_bus_width): Removed some output messages. Implemented BOOT_DEF emulation.
(new_pxa250_bus): Implemented BOOT_DEF emulation.
git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@428 b68d4a1b-bc3d-0410-92ed-d4ac073336b7
* data/MANUFACTURERS: Added new manufacturer: DEC.
* src/jtag.c (jtag_create_jtagdir): Changed permissions for jtag directory.
* include/part.h (part_alloc, read_part): Changed return type from `part *' to `part_t *'.
(struct parts): Changed parts member type from `part **' to `part_t **'.
(parts_alloc): Changed return type from `parts *' to `parts_t *'.
* src/bus/ixp425.c (select_flash, unselect_flash, setup_address, set_data_in, setup_data):
Changed first parameter type from `part *' to `part_t *'.
* src/bus/pxa250.c (setup_address, set_data_in, setup_data): Ditto.
* src/bus/sa1110.c (setup_address, set_data_in, setup_data): Ditto.
* include/bus.h: Replaced static bus_driver_t architecture with dynamic bus_t.
Removed direct chain_t dependency. Added `params' and `prepare' members.
All related functions' parameter types changed.
* src/bus/ixp425.c (bus_params_t): New structure typedef.
(CHAIN, PART): New macros.
(ixp425_bus_prepare, ixp425_bus_free, new_ixp425_bus): New functions.
(ixp425_bus_driver, ixp425_bus): Renamed `ixp425_bus_driver' to `ixp425_bus' and updated
for new bus driver architecture.
* src/bus/pxa250.c (bus_params_t): New structure typedef.
(CHAIN, PART): New macros.
(pxa250_bus_prepare, pxa250_bus_free, new_pxa250_bus): New functions.
(pxa250_bus_driver, pxa250_bus): Renamed `pxa250_bus_driver' to `pxa250_bus' and updated
for new bus driver architecture.
* src/bus/sa1110.c (bus_params_t): New structure typedef.
(CHAIN, PART): New macros.
(sa1110_bus_prepare, sa1110_bus_free, new_sa1110_bus): New functions.
(sa1110_bus_driver, sa1110_bus): Renamed `sa1110_bus_driver' to `sa1110_bus' and updated
for new bus driver architecture.
* src/readmem.c (detectflash, readmem): Moved JTAG chain initialization to bus->prepare().
* src/flash.c (flashcheck): Ditto.
(flashmsbin, flashmem): Removed BYPASS instruction setup.
* src/jtag.c (bus_driver, bus): Replaced `bus_driver' with `bus' global variable.
(jtag_parse_line, main): Added `bus' deallocation.
* src/flash.h (flash_driver_t): Changed parameter type for all function members from
`chain_t*' to `bus_t *'.
All function callers changed.
git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@423 b68d4a1b-bc3d-0410-92ed-d4ac073336b7
* include/signal.h: Changed signal typedef to signal_t (thanks to Jachym Holecek).
All `signal' instances renamed to `signal_t'.
* src/tap/parport.c: Ported to NetBSD/i386 (Jachym Holecek).
* src/tap/parport/direct.c (parport_drivers): Conditionally removed direct_parport_driver.
* configure.ac: Added test for i386_set_ioperm() function. Defined HAVE_IOPERM
and HAVE_I386_SET_IOPERM.
git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@412 b68d4a1b-bc3d-0410-92ed-d4ac073336b7