Hello Kyle, the patch works with the TMS570 eval. board. You should use gerrit to submit the patch.
"Short" instruction that works for me: 1.) register at http://openocd.zylin.com/ with a OPENID (you need a google or yahoo account (or other)) 2.) create a ssl certificate and set it in your profile at gerrit and make it available to your local ssh client 3.) choose a USERNAME 4.) clone the current openocd "git git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd" 5.) change the email and name in the git repo (local or global) to your registration set at 1. 6.) execute: git remote add review ssh://usern...@openocd.zylin.com:29418/openocd.git (USERNAME is your registration USERNAME) 7.) execute: git config remote.review.push HEAD:refs/for/master 8.) execute: scp -p -P 29418 usern...@openocd.zylin.com:hooks/commit-msg .git/hooks/ (USERNAME is your registration USERNAME) 9.) apply your changes again 10.) push the changes to review Hope that i don't miss anything. Regards, Mathias Am 24.10.2011 19:42, schrieb Kyle Manna: > The CPLD on the xds100v2 expects to see a rising edge on PWR_RST to > enable the outputs. This patch creates that transition correctly by > fixing the direction register for PWR_RST. > > THe CPLD will also loop back the data if the LOOPBACK signal is > asserted. Set this signal to an output and keep it clear. > > This was tested with a TI DM3730 Beagleboard xM. > > Signed-off-by: Kyle Manna <kyle.ma...@fuel7.com> > --- > src/jtag/drivers/ft2232.c | 53 > +++++++++++++++++++++++++++++++++------------ > 1 files changed, 39 insertions(+), 14 deletions(-) > > diff --git a/src/jtag/drivers/ft2232.c b/src/jtag/drivers/ft2232.c > index 3cca26d..ceb3c0b 100644 > --- a/src/jtag/drivers/ft2232.c > +++ b/src/jtag/drivers/ft2232.c > @@ -3175,40 +3175,65 @@ static int flossjtag_init(void) > return ftx232_dbus_write(); > } > > +/* > + * The reference schematic from TI for the XDS100v2 has a CPLD on which opens > + * the door for a number of different configurations > + * > + * Known Implementations: > + * > http://processors.wiki.ti.com/images/9/93/TMS570LS20216_USB_STICK_Schematic.pdf > + * > + * http://processors.wiki.ti.com/index.php/XDS100 (rev2) > + * * CLPD logic: Rising edge to enable outputs (XDS100_PWR_RST) > + * * ACBUS3 to transition 0->1 (OE rising edge) > + * * CPLD logic: Put the EMU0/1 pins in Hi-Z: > + * * ADBUS5/GPIOL1 = EMU_EN = 1 > + * * ADBUS6/GPIOL2 = EMU0 = 0 > + * * ACBUS4/SPARE0 = EMU1 = 0 > + * * CPLD logic: Disable loopback > + * * ACBUS6/SPARE2 = LOOPBACK = 0 > + */ > +#define XDS100_nEMU_EN (1<<5) > +#define XDS100_nEMU0 (1<<6) > + > +#define XDS100_PWR_RST (1<<3) > +#define XDS100_nEMU1 (1<<4) > +#define XDS100_LOOPBACK (1<<6) > static int xds100v2_init(void) > { > - low_output = 0x3A; > - low_direction = 0x7B; > + /* These are in the lower byte */ > + nTRST = 0x10; > + nTRSTnOE = 0x10; > + > + /* These aren't actually used on 14 pin connectors */ > + /* These are in the upper byte */ > + nSRST = 0x01; > + nSRSTnOE = 0x01; > + > + low_output = 0x08 | nTRST | XDS100_nEMU_EN; > + low_direction = 0x0b | nTRSTnOE | XDS100_nEMU_EN | XDS100_nEMU0; > > - /* initialize low byte for jtag */ > if (ft2232_set_data_bits_low_byte(low_output,low_direction) != ERROR_OK) > { > LOG_ERROR("couldn't initialize FT2232 with 'xds100v2' layout"); > return ERROR_JTAG_INIT_FAILED; > } > > - nTRST = 0x10; > - nTRSTnOE = 0x0; /* not output enable for nTRST */ > - nSRST = 0x00; /* TODO: SRST is not supported yet */ > - nSRSTnOE = 0x00; /* no output enable for nSRST */ > - > - high_output = 0x00; > - high_direction = 0x59; > + high_output = 0; > + high_direction = nSRSTnOE | XDS100_LOOPBACK | XDS100_PWR_RST | > XDS100_nEMU1; > > /* initialize high byte for jtag */ > if (ft2232_set_data_bits_high_byte(high_output,high_direction) != > ERROR_OK) > { > - LOG_ERROR("couldn't initialize FT2232 with 'xds100v2' layout"); > + LOG_ERROR("couldn't put CPLD in to reset with 'xds100v2' > layout"); > return ERROR_JTAG_INIT_FAILED; > } > > - high_output = 0x86; > - high_direction = 0x59; > + high_output |= XDS100_PWR_RST; > > /* initialize high byte for jtag */ > if (ft2232_set_data_bits_high_byte(high_output,high_direction) != > ERROR_OK) > { > - LOG_ERROR("couldn't initialize FT2232 with 'xds100v2' layout"); > + LOG_ERROR("couldn't bring CPLD out of reset with 'xds100v2' > layout"); > return ERROR_JTAG_INIT_FAILED; > } > > -- 1.7.5.4 _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development