Hello all,

I have been trying to add a cable (called yajtag) to openOCD. I have
added the nessecary files and I can define the cable in the config
file without a problem. The cable is detected okay but the problem
happens when scanning the chain.

When I test my target (A old obselete com21 cable modem docsis 2.0
standard) with a parallel port wiggler from olimex. I get the
following output (that conforms to the config file):

$ ~/openocd-svn/trunk/src/openocd.exe -f com21_openocd_wig.cfg
Open On-Chip Debugger 1.0 (2008-08-18-20:59) svn:
$URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $
jtag_speed: 0
Info:   JTAG device found: 0x10900027 (Manufacturer: 0x013, Part:
0x0900, Version: 0x1)
Info:   JTAG device found: 0x10940027 (Manufacturer: 0x013, Part:
0x0940, Version: 0x1)
Warning:no tcl port specified, using default port 6666

When i try the same test chain with my cable:

$ ~/openocd-svn/trunk/src/openocd.exe -f com21_openocd_yajtag.cfg
Open On-Chip Debugger 1.0 (2008-08-18-20:59) svn:
$URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $
jtag_speed: 0
Info:    yajtag_init succesful
Info:   yajtag_execute_queue JTAG_STATEMOVE end in 0
Info:   yajtag_execute_queue JTAG_SCAN
Info:   JTAG device found: 0x88480013 (Manufacturer: 0x009, Part:
0x8480, Version: 0x8)
Info:   JTAG device found: 0x084a0013 (Manufacturer: 0x009, Part:
0x84a0, Version: 0x0)
Info:   yajtag_execute_queue JTAG_SCAN
Error:  Error validating JTAG scan chain, IR mismatch, scan returned 0x03ff
Info:   yajtag_execute_queue JTAG_SCAN
Error:  Error validating JTAG scan chain, IR mismatch, scan returned 0x0308
Info:   yajtag_execute_queue JTAG_SCAN
Error:  Error validating JTAG scan chain, IR mismatch, scan returned 0x0308
Info:   yajtag_execute_queue JTAG_SCAN
Error:  Error validating JTAG scan chain, IR mismatch, scan returned 0x0308
Info:   yajtag_execute_queue JTAG_SCAN
Error:  Error validating JTAG scan chain, IR mismatch, scan returned 0x0308
Info:   yajtag_execute_queue JTAG_SCAN
Error:  Error validating JTAG scan chain, IR mismatch, scan returned 0x0308
Error:  Could not validate JTAG chain
Info:   yajtag_execute_queue JTAG_STATEMOVE end in 0
Info:   yajtag_execute_queue JTAG_SCAN
Info:   JTAG device found: 0x88480013 (Manufacturer: 0x009, Part:
0x8480, Version: 0x8)
Info:   JTAG device found: 0x084a0013 (Manufacturer: 0x009, Part:
0x84a0, Version: 0x0)
Info:   yajtag_execute_queue JTAG_SCAN
Error:  Error validating JTAG scan chain, IR mismatch, scan returned 0x03ff
Info:   yajtag_execute_queue JTAG_SCAN
Error:  Error validating JTAG scan chain, IR mismatch, scan returned 0x0308
Info:   yajtag_execute_queue JTAG_SCAN
Error:  Error validating JTAG scan chain, IR mismatch, scan returned 0x0308
Info:   yajtag_execute_queue JTAG_SCAN
Error:  Error validating JTAG scan chain, IR mismatch, scan returned 0x0308
Info:   yajtag_execute_queue JTAG_SCAN
Error:  Error validating JTAG scan chain, IR mismatch, scan returned 0x0308
Info:   yajtag_execute_queue JTAG_SCAN
Error:  Error validating JTAG scan chain, IR mismatch, scan returned 0x0308
Error:  Could not validate JTAG chain
Warning:no tcl port specified, using default port 6666

One thing I noticed right away is that the IDCODE is almost completely
correct, but it is shifted by one bit to the right. Like it is shifted
too little/much. Electrically I have checked if after every command
the hardware puts the CLK low again, and this is the case.

I have created a test program where I can issue command to the cable,
and when transmitting the IDCODE command to a Xilinx CPLD (tested it
with a 5V part XC9536 and a 3.3V part XC2C64A) and this works fine
with all bits accounted for.

My questions:
Is there a way to see what is wrong exactly with the messages "Error
validating JTAG scan chain, IR mismatch, scan returned 0x0308", what
is the IR mismatch? What is it expecting?

My hardware consists of a FTD232 usb to serial, a atmel AVR atmega88
and a max3392 level shifter chip, and two 2N7002 for the reset pins.
The whole JTAG interface is bitbanged by the AVR. I have already
created a patch adding my cable, but as nobody has the hardware (yet)
I guess nobody is able to test it.

If anybody has any idea? Suggestions are welcome.

With kind regards, Anton Bilos.
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to