diff options
author | drath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2006-10-23 14:02:34 +0000 |
---|---|---|
committer | drath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2006-10-23 14:02:34 +0000 |
commit | 456737b08bbc37d13e4e08fa625413f8b91a6458 (patch) | |
tree | 639d8ae1f9e7442f1b69c72e3634047bd751667c /src/jtag | |
parent | e8ead33804f1aede5157a5afc1bc249038799e6b (diff) |
- several small fixes (thanks to Magnus Lundin and Spencer Oliver)
- added support for using Luminary Micro development board 'evb_lm3s811' as a JTAG interface (thanks to Magnus Lundin)
git-svn-id: svn://svn.berlios.de/openocd/trunk@106 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/jtag')
-rw-r--r-- | src/jtag/ft2232.c | 10 | ||||
-rw-r--r-- | src/jtag/jtag.c | 1 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/jtag/ft2232.c b/src/jtag/ft2232.c index 06b419a0..e681b3e5 100644 --- a/src/jtag/ft2232.c +++ b/src/jtag/ft2232.c @@ -109,6 +109,7 @@ ft2232_layout_t ft2232_layouts[] = {"jtagkey", jtagkey_init, jtagkey_reset, NULL}, {"jtagkey_prototype_v1", jtagkey_init, jtagkey_reset, NULL}, {"signalyzer", usbjtag_init, usbjtag_reset, NULL}, + {"evb_lm3s811", usbjtag_init, usbjtag_reset, NULL}, {"olimex-jtag", olimex_jtag_init, olimex_jtag_reset, olimex_jtag_blink}, {"m5960", m5960_init, m5960_reset, NULL}, {NULL, NULL, NULL}, @@ -1169,6 +1170,15 @@ int usbjtag_init(void) nSRST = 0x20; nSRSTnOE = 0x20; } + else if (strcmp(ft2232_layout, "evb_lm3s811") == 0) + { + nTRST = 0x0; + nTRSTnOE = 0x00; + nSRST = 0x20; + nSRSTnOE = 0x20; + low_output = 0x88; + low_direction = 0x8b; + } else { ERROR("BUG: usbjtag_init called for unknown layout '%s'", ft2232_layout); diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index 5ae74621..4ba227c0 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -1028,7 +1028,6 @@ int jtag_read_buffer(u8 *buffer, scan_command_t *cmd) if (cmd->fields[i].in_check_value) { - u8 *captured = buf_set_buf(buffer, bit_count, malloc(CEIL(num_bits, 8)), 0, num_bits); if ((cmd->fields[i].in_check_mask && buf_cmp_mask(captured, cmd->fields[i].in_check_value, cmd->fields[i].in_check_mask, num_bits)) || (!cmd->fields[i].in_check_mask && buf_cmp(captured, cmd->fields[i].in_check_mask, num_bits))) { |