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 (15)
+#define XDS100_nEMU0 (16)
+
+#define XDS100_PWR_RST (13)
+#define XDS100_nEMU1 (14)
+#define XDS100_LOOPBACK (16)
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