openocd.git
5 years agohelper: constify log_strings 96/2296/4
Spencer Oliver [Thu, 11 Sep 2014 21:14:58 +0000 (22:14 +0100)]
helper: constify log_strings

Change-Id: I5bdd8958e79b754d56bb7aee2892856e557eed76
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/2296
Tested-by: jenkins
5 years agotarget: constify structures 95/2295/4
Spencer Oliver [Thu, 11 Sep 2014 21:14:31 +0000 (22:14 +0100)]
target: constify structures

Change-Id: I875cfab8dec4ade72ed9c9cd7d52baaca182a1ef
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/2295
Tested-by: jenkins
5 years agojtag: constify driver arrays 94/2294/4
Spencer Oliver [Thu, 11 Sep 2014 21:09:36 +0000 (22:09 +0100)]
jtag: constify driver arrays

Change-Id: I81574fa8ca3cc748526dc61b75a2c75d6335ef04
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/2294
Tested-by: jenkins
5 years agoflash: constify driver data structures 93/2293/3
Spencer Oliver [Thu, 11 Sep 2014 21:08:34 +0000 (22:08 +0100)]
flash: constify driver data structures

Change-Id: Ia5c3de48119f036e1d7a41be62a672a6fb37e59b
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/2293
Tested-by: jenkins
5 years agortos: constify symbol names and lists 92/2292/3
Spencer Oliver [Thu, 11 Sep 2014 21:07:10 +0000 (22:07 +0100)]
rtos: constify symbol names and lists

Change-Id: I72f3cd50fc6a33a178e72e169c9660e707751524
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/2292
Tested-by: jenkins
5 years agonuc1x: fix typos 91/2291/2
Spencer Oliver [Thu, 11 Sep 2014 21:03:00 +0000 (22:03 +0100)]
nuc1x: fix typos

Change-Id: Ia67b55ccb2bea71a99daa176def82960f487ca9f
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/2291
Tested-by: jenkins
5 years agoat91samd: fix protect, add EEPROM and boot commands 26/2326/5
Andrey Yurovsky [Tue, 30 Sep 2014 20:02:49 +0000 (13:02 -0700)]
at91samd: fix protect, add EEPROM and boot commands

There were two problems with the _protect() feature:
1. The address written was off by a factor of two because the address
register takes 16-bit rather than 8-bit addresses.  As a result the
wrong sectors were (un)protected with the protect command.  This has
been fixed.
2. The protection settings issued via the lock or unlock region commands
don't persist after reset.  Making them persist requires modifying the
LOCK bits in the User Row using the infrastructure described below.

The Atmel SAMD2x MCUs provide a User Row (the size of which is one
page).  This contains a few settings that users may wish to modify from
the debugger, especially during production.  This change adds commands
to inspect and set:
- EEPROM size, the size in bytes of the emulated EEPROM region of the
  Flash.
- Bootloader size, the size in bytes of the protected "boot" section of
  the Flash.

This is done by a careful read-modify-write of the special User Row
page, avoiding erasing when possible and disallowing the changing of
documented reserved bits.  The Atmel SAMD20 datasheet was used for bit
positions and descriptions, size tables, etc. and testing was done on a
SAMD20 Xplained Pro board.

It's technically possible to store arbitrary user data (ex: serial
numbers, MAC addresses, etc) in the remaining portion of the User Row
page (that is, beyond the first 64 bits of it).  The infrastructure used
by the eeprom and bootloader commands can be used to access this as
well, and this seems safer than exposing the User Row as a normal Flash
sector that openocd understands due to the delicate nature of some of
the data stored there.

Change-Id: I29ca1bdbdc7884bc0ba0ad18af1b6bab78c7ad38
Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com>
Reviewed-on: http://openocd.zylin.com/2326
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agoat91samd: add erase/secure commands, minor fix 39/2239/7
Andrey Yurovsky [Wed, 6 Aug 2014 21:28:37 +0000 (14:28 -0700)]
at91samd: add erase/secure commands, minor fix

Reference code for the SAMD2x disables caching in the NVM controller when
issuing NVM commands.  Let's do this as well to be consistent and safer.

Add a "chip-erase" for the Atmel SAMD targets that issues a complete Chip Erase
via the Device Service Unit (DSU).  This can be used to "unlock" or otherwise
unbrick a chip that can't be halted or inspected, allowing the user to reflash
with new firmware.

Add a "set-security" command which issues an SSB.  Once that's done and the
device is power-cycled, the flash cannot be written to until a "chip-erase" is
issued.  The chip-erase cannot be issued by openocd at this time because
the device will not respond to a request for the DAP IDCODE.

Change-Id: I80122f0bbf7e3aedffe052c1e77d69dc2dba25ed
Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com>
Reviewed-on: http://openocd.zylin.com/2239
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agoarm_adi_v5: make dap_lookup_cs_component() traverse subtables and handle multicore 20/1920/4
Paul Fertser [Sun, 2 Feb 2014 21:19:00 +0000 (01:19 +0400)]
arm_adi_v5: make dap_lookup_cs_component() traverse subtables and handle multicore

When looking for a debug base address of a core, one should search
through all the ROM tables, not just the top-level one.

This code also assumes that the first found entry (in a depth-first
search) will correspond to core 0, the second to core 1 etc.

The patch is supposed to be an alternative implementation of
http://openocd.zylin.com/#/c/1313/.

Change-Id: Ifc88971a02fe3d9c00d9bf72a822ade5804d4e09
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/1920
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agodoc/openocd.texi: add SWD to the transports supported by jlink 24/2324/2
Paul Fertser [Mon, 29 Sep 2014 13:11:53 +0000 (17:11 +0400)]
doc/openocd.texi: add SWD to the transports supported by jlink

Since 67332532194b16b99f0535a41b4179ca5df349b0 jlink adapter driver
supports SWD in addition to JTAG.

Change-Id: I9376aa02d9281f3e2734d8f127cd42162633d95b
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2324
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agogdb_server: Include current RTOS thread in signal packets 03/2303/2
Jon Burgess [Thu, 18 Sep 2014 18:57:34 +0000 (19:57 +0100)]
gdb_server: Include current RTOS thread in signal packets

This allows GDB to automatically switch to the thread that has
been interrupted and show you where it has stopped.

Change-Id: Icb9500dc42a61eb977e9fac55ce9503c9926bf5d
Signed-off-by: Jon Burgess <jburgess777@gmail.com>
Reviewed-on: http://openocd.zylin.com/2303
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agocortex_m.c: Use two byte breakpoint for 32bit Thumb-2 request 12/2312/2
Jon Burgess [Sun, 21 Sep 2014 19:40:01 +0000 (20:40 +0100)]
cortex_m.c: Use two byte breakpoint for 32bit Thumb-2 request

When GDB requests a breakpoint on a 32bit Thumb-2 instruction it
sends a length of 3 which the current code rejects. Using the
existing two byte breakpoint for this case appears to work fine.

The use of length==3 for this case is mentioned in a few places:
https://sourceware.org/gdb/onlinedocs/gdb/ARM-Breakpoint-Kinds.html
http://sourceforge.net/p/openocd/mailman/message/30012280/

Change-Id: I59cd69ba4d1bc9a37b86569738c6bb2a67c3eb7a
Signed-off-by: Jon Burgess <jburgess777@gmail.com>
Reviewed-on: http://openocd.zylin.com/2312
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agovsllink: improve the performance when using swd 02/2302/3
Simon Qian [Tue, 16 Sep 2014 13:10:13 +0000 (21:10 +0800)]
vsllink: improve the performance when using swd

Versaloon firmware has been updated for reporting
errors if fail on swd transactions.

Change-Id: I49ac0ad034cc9ad83cc4e43953579811d1243063
Signed-off-by: Simon Qian <openocd@versaloon.com>
Reviewed-on: http://openocd.zylin.com/2302
Reviewed-by: Fatih Aşıcı <fatih.asici@gmail.com>
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agotcl/board: add TI Tiva C ek-tm4c1294xl config 63/2063/5
Karl Palsson [Mon, 24 Mar 2014 17:38:12 +0000 (21:38 +0400)]
tcl/board: add TI Tiva C ek-tm4c1294xl config

Change-Id: Iab070fe4c0f03ecc0db035b16dfb64105b0841be
Signed-off-by: Karl Palsson <karlp@tweak.net.au>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2063
Tested-by: jenkins
5 years agocommand: Fix confusing syntax error message 85/2285/2
Andreas Fritiofson [Tue, 9 Sep 2014 22:13:09 +0000 (00:13 +0200)]
command: Fix confusing syntax error message

If the user executes a command with an invalid subcommand, the error
message is extremely unhelpful:

> flash write test.elf
flash write test.elf: command requires more arguments

This is because any command line that starts with a valid command group is
classified as a group, triggering ocd_bouncer to print the confusing
message.

Fix by requiring that to be a command group, the command line must not
contain any unknown tokens after the last valid (sub-)command group. That
is OK because command groups don't have handlers defined and thus can't
take any parameters.

Also fix the error message for "unknown" type to be similar to the error
message that is printed (by Jim) for non-existent primary commands.

Change-Id: I26950349f0909fd3961c4f9ab9b198c221cea9fc
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/2285
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agotarget: Remove "-variant" argument 83/2283/2
Andreas Fritiofson [Mon, 8 Sep 2014 20:11:02 +0000 (22:11 +0200)]
target: Remove "-variant" argument

Remove this underutilized feature. Despite the fact that a lot of configs
specifies a arbitrary "variant", only the xscale target actually defines
any.

In the case of xscale, the use of -variant is dubious since

1) it's used as a redundant irlen specifier,
2) it carries a comment that it doesn't really need it and
3) only two xscale configs even specify it.

If there's a future target that needs a variant set, a target specific
option could be added when needed.

Change-Id: I1ba25a946f0d80872cbd96ddcc48f92695c4ae20
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/2283
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agompsse: Display libusb error names instead of numbers 89/2289/2
Joakim Gebart [Mon, 8 Sep 2014 13:15:42 +0000 (15:15 +0200)]
mpsse: Display libusb error names instead of numbers

Added calls to libusb_error_name() where applicable in order to easier
understand the error messages.

Change-Id: I3fe3d4b5624ae0de37c36e54a371eba5535ccaa1
Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
Reviewed-on: http://openocd.zylin.com/2289
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agoflash/nor/tcl.c: Do not double probe banks 93/2093/2
Andrey Smirnov [Fri, 4 Apr 2014 14:41:58 +0000 (07:41 -0700)]
flash/nor/tcl.c: Do not double probe banks

Previous to this version the code of handle_flash_probe_command would
probe a bank twice: first time by auto-probe through a call to
flash_command_get_bank and second time by calling the probe function
directly. This change adds a flash_command_get_bank_maybe_probe wich
is a more generic version of the flash_command_get_bank, that would
allow commands to decide whether auto-probing should be performed or
not.

Change-Id: If150ca9c169ffe05e8c7eba36338d333360811e3
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Reviewed-on: http://openocd.zylin.com/2093
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agotarget/arm_dpm: prevent endless loop in arm_dpm_full_context() 78/2278/2
Paul Fertser [Sun, 31 Aug 2014 07:04:39 +0000 (11:04 +0400)]
target/arm_dpm: prevent endless loop in arm_dpm_full_context()

The code treats registers that are shadowed in FIQ mode in a special
way: to read them out the target is first switches to USR mode. But
since USR != ANY the current implementation later skips register read,
and the loop becomes endless in case any !valid ARM_MODE_ANY is
present at the moment arm_dpm_full_context() is called. This was
reported in https://sourceforge.net/p/openocd/tickets/76/. The issue
surfaced because 2efb1f14f611f2ff8a380b703f3e8bcb8a95d1ad added two
ARM_MODE_ANY registers ("sp" and "lr") which were not normally read,
so at the time a user was calling "arm reg" they were not valid.

Fix this by changing the mode appropriately while keeping the "mode"
variable state intact so it would later match register's mode.

Compile-tested only.

Change-Id: I01840e8fa20ec392220138a3f1497ac25deb080a
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2278
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agoflash/nor: add mrvlqspi flash controller driver 80/2280/4
Mahavir Jain [Thu, 4 Sep 2014 10:01:16 +0000 (15:31 +0530)]
flash/nor: add mrvlqspi flash controller driver

This patch adds support for QSPI flash controller driver for
Marvell's Wireless Microcontroller platform.
For more information please refer,
https://origin-www.marvell.com/microcontrollers/wi-fi-microcontroller-platform/

Following things have been tested on 88MC200 (Winbond W25Q80BV flash chip):
1. Flash sector level erase
2. Flash chip erase
3. Flash write in normal SPI mode
4. Flash fill (write and verify) in normal SPI mode

Change-Id: If4414ae3f77ff170b84e426a35b66c44590c5e06
Signed-off-by: Mahavir Jain <mjain@marvell.com>
Reviewed-on: http://openocd.zylin.com/2280
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agoflash/nor/spi: Add Winbond w25q32fv flash support 73/2273/3
Mahavir Jain [Tue, 26 Aug 2014 09:52:51 +0000 (15:22 +0530)]
flash/nor/spi: Add Winbond w25q32fv flash support

Change-Id: I2919d462e04b489cc793b82ec347838a08cb8c48
Signed-off-by: Mahavir Jain <mjain@marvell.com>
Reviewed-on: http://openocd.zylin.com/2273
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agoSupport hla_serial command for ST-LINK adapters. 98/2198/8
Austin Phillips [Thu, 18 Sep 2014 04:39:41 +0000 (14:39 +1000)]
Support hla_serial command for ST-LINK adapters.

The hla_serial command allows for a programming device serial number to be
specified in addition to USB VID/PID.  This allows for multiple ST-LINK/V2
programmers to be attached to a single machine and operated using openocd.

Change-Id: I350654bf676eb26ba3a90450acfa55d2a5d2d791
Signed-off-by: Austin Phillips <austin_phillips@hotmail.com>
Reviewed-on: http://openocd.zylin.com/2198
Tested-by: jenkins
Reviewed-by: Martin Glunz <mg@wunderkis.de>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agojtag: drivers: stlink: remove unnecessary '\n' in LOG_* entries 20/2220/3
Andrey Skvortsov [Wed, 16 Jul 2014 12:40:34 +0000 (16:40 +0400)]
jtag: drivers: stlink: remove unnecessary '\n' in LOG_* entries

Change-Id: Ia2dc3efc27b53334af4d85f9807abba0463c291b
Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
Reviewed-on: http://openocd.zylin.com/2220
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agoflash: added new Spansion S25FL116K, S25FL132K, and S25FL164K devices 81/2281/2
Anders [Mon, 8 Sep 2014 04:18:55 +0000 (21:18 -0700)]
flash: added new Spansion S25FL116K, S25FL132K, and S25FL164K devices

The new FL1-K family is replacing the FL-K family. The data from all
three was based on the datasheet. In addition the 8MB S25FL164K was
tested successfully with OpenOCD on a custom board.

Change-Id: Idafeed86da12a481c0db92cc0de7ba28f50c2252
Signed-off-by: Anders <anders@openpuma.org>
Reviewed-on: http://openocd.zylin.com/2281
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agostm32lx: don't allow part_info to be uninitialized 76/2276/5
Andrey Yurovsky [Thu, 28 Aug 2014 18:54:29 +0000 (11:54 -0700)]
stm32lx: don't allow part_info to be uninitialized

It's possible for us to fail to read the part ID code so make sure that
part_info is initialized to NULL before attempting to do so, otherwise
we could proceed and use it uninitialized and then segfault.

Change-Id: I0a3f3d3947690b66f0981b5046340449521e0b33
Signed-off-by: Jack Peel <jack.peel@synapse.com>
Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com>
Reviewed-on: http://openocd.zylin.com/2276
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agocortex_m: Check return value from cortex_m_dcc_read. 79/2279/2
Andreas Fritiofson [Tue, 2 Sep 2014 19:51:51 +0000 (21:51 +0200)]
cortex_m: Check return value from cortex_m_dcc_read.

Caught by clang.

Change-Id: I26d2b845aca431612862ef432b217ca397d9b893
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/2279
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agocfg: Added Nucleo-F411RE board config. 59/2259/2
Nemui Trinomius [Mon, 18 Aug 2014 14:58:37 +0000 (23:58 +0900)]
cfg: Added Nucleo-F411RE board config.

It supports STLink/V2-1 debug adapter.

Change-Id: Ifbc610cd68ec929608369e69d0b1395fe04956cd
Signed-off-by: Nemui Trinomius <nemuisan_kawausogasuki@live.jp>
Reviewed-on: http://openocd.zylin.com/2259
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
5 years agotcl/board/sheevaplug: add adapter_khz setting 66/2266/2
Paul Fertser [Wed, 20 Aug 2014 08:04:18 +0000 (12:04 +0400)]
tcl/board/sheevaplug: add adapter_khz setting

This combination is known to work properly with 2MHz JTAG clock.

Change-Id: Ie5ec3d3b415efbb13faee7d34e0c7f862b78350c
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2266
Tested-by: jenkins
5 years agotcl/interface/ftdi/sheevaplug: fix device description 65/2265/2
Paul Fertser [Wed, 20 Aug 2014 06:28:08 +0000 (10:28 +0400)]
tcl/interface/ftdi/sheevaplug: fix device description

Without this SheevaPlug debugging interface can't be matched.

Change-Id: Ifca149130d03c1aa165ed1123e8540e49485f023
Reported-by: Andreas Schneider <schneider.andi@gmail.com>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2265
Tested-by: jenkins
5 years agocfg: refactor lpc1xxx targets onto one base config 60/1960/13
Vanya Sergeev [Thu, 20 Feb 2014 09:06:04 +0000 (01:06 -0800)]
cfg: refactor lpc1xxx targets onto one base config

Since now auto-detection for flash size works nicely, there's no
reason to keep numerous configs around.

Change-Id: If0cbc37985abf17ef7c1f7d0688e76500fac228f
Signed-off-by: Vanya Sergeev <vsergeev@gmail.com>
Reviewed-on: http://openocd.zylin.com/1960
Tested-by: jenkins
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agotcl/target: add config for К1879ХБ1Я, a hybrid ARM11/DSP SoC by RC Module 72/2272/2
Бурага Александр [Mon, 25 Aug 2014 17:42:59 +0000 (21:42 +0400)]
tcl/target: add config for К1879ХБ1Я, a hybrid ARM11/DSP SoC by RC Module

This adds config to allow JTAG debugging of an ARM core of a modern
hybrid SoC by Research Centre "Module"
(http://www.module.ru/en/company/). К1879ХБ1Я is targetted at set-top
boxes and other multimedia equipment, the official SDK is Linux-based.

Change-Id: Ib2ae5784d25699f952682e66b025a3f677a76d5d
Signed-off-by: Бурага Александр <dtp-avb@yandex.ru>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2272
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agostm32f2x: added STM32F411xx series support. 58/2258/2
Nemui Trinomius [Mon, 18 Aug 2014 14:46:21 +0000 (23:46 +0900)]
stm32f2x: added STM32F411xx series support.

Added STM32F411xx series to flash driver.

Tested on NUCLEO-F411RE board(STM32F411RET6).

Change-Id: Id7d1f2858c09815a013e0590e65ad193fb039157
Signed-off-by: Nemui Trinomius <nemuisan_kawausogasuki@live.jp>
Reviewed-on: http://openocd.zylin.com/2258
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agotcl/interface/ftdi: fix TRST for Olimex TINY adapters 47/2247/2
Paul Fertser [Thu, 14 Aug 2014 15:57:47 +0000 (19:57 +0400)]
tcl/interface/ftdi: fix TRST for Olimex TINY adapters

According to the research by Eldar, TINY-H adapter has nTRST connected
to ACBUS0 directly via a 100 Ohms series resistor. I think it's safe
to assume the older TINY adapter does the same.

See high-res photos at [1].

This patch should fix issues with JTAG for the case when nTRST is
actually connected but is missing from the config.

[1] https://wikidevi.com/wiki/Olimex_ARM-USB-TINY-H

Change-Id: Iaaee7be30536ebb502802d38b82cd9573408f854
Reported-by: Хайруллин Эльдар <eldar.khayrullin@mail.ru>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2247
Tested-by: jenkins
Reviewed-by: demokmail <demokmail@gmail.com>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agoflash/nor/stellaris: add all Tiva C parts IDs 62/2262/4
Paul Fertser [Tue, 19 Aug 2014 14:49:53 +0000 (18:49 +0400)]
flash/nor/stellaris: add all Tiva C parts IDs

Luckily, TI's website has predictable URLs for the datasheets, so it
was trivial to download all the pdfs corresponding to the currently
available 71 TivaC devices. Then they were processed with pdftotext
and parsed by this script:

BEGIN { capture = -1 }
/^Device Identification 0 \(DID0\)$/ { state = "waitingclass0" }
/^Device Identification 1 \(DID1\)$/ { state = "waitingpartno0" }
/^CLASS$/ { if (state == "waitingclass0") state = "waitingclass"
    else if (state == "waitingclass") capture = 4 }
/^PARTNO$/ { if (state == "waitingpartno0") state = "waitingpartno"
    else if (state == "waitingpartno") capture = 4 }
(FNR == 3) { family = $2 }

{
    if (capture >= 0) {
if (capture == 0) {
    if (state == "waitingclass")
class = $0
    else if (state == "waitingpartno")
partno = $0
}
capture--
    }
}

END { print "{" class ", " partno ", \"" family "\"}," }

Change-Id: I6820c409fe535f08394c203276b5af4406fe8b92
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2262
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agoflash/nor/stellaris: improve support for Tiva C (Blizzard and Snowflake) 57/2257/4
Paul Fertser [Sun, 17 Aug 2014 09:58:07 +0000 (13:58 +0400)]
flash/nor/stellaris: improve support for Tiva C (Blizzard and Snowflake)

This should make current Tiva C parts usable apart from the protection.

Runtime tested on TM4C123GXL (Blizzard) and TM4C1294XL (Snowflake).

Change-Id: Ia64e9d39fbd2b7049578bbfade72435e5203ddf5
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2257
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agotcl/interface/ftdi: add kt-link config (with SWD) for DP BusBlaster 69/2269/2
Paul Fertser [Sun, 24 Aug 2014 05:50:17 +0000 (09:50 +0400)]
tcl/interface/ftdi: add kt-link config (with SWD) for DP BusBlaster

Change-Id: Icbeca8c0c3845c0b777fb2e4c81b17e7b7cc5ff8
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2269
Tested-by: jenkins
Reviewed-by: Ben Gamari <bgamari@gmail.com>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agojtag/drivers/libusb0_common: fix FTBFS (libusb_device_descriptor error) 52/2252/3
Paul Fertser [Fri, 15 Aug 2014 15:30:47 +0000 (19:30 +0400)]
jtag/drivers/libusb0_common: fix FTBFS (libusb_device_descriptor error)

This struct and libusb_get_device_descriptor() method are not present
in libusb-0.1 API, so when libusb-1.0 is unavailable, this code breaks
the build. Fix by using the appropriate struct (which is apparently
filled automatically on device initialisation).

While at it, change return values for consistency with the callers.

Change-Id: I7d85ab9a70401a155a65122397008ae4d81382fe
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2252
Tested-by: jenkins
Reviewed-by: Austin Phillips <austin_phillips@hotmail.com>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agotcl/target/imx6: add yet another SJC tapid 53/2253/3
Paul Fertser [Fri, 15 Aug 2014 16:34:35 +0000 (20:34 +0400)]
tcl/target/imx6: add yet another SJC tapid

This is for mx6q TO1.1.

Change-Id: Id6af2ed232fc19be9bf49eb6d2df0004c6668698
Reported-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2253
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agotarget/adi_v5_swd: fix segfault when calling jtag_to_swd 56/2256/2
Paul Fertser [Sun, 17 Aug 2014 08:19:47 +0000 (12:19 +0400)]
target/adi_v5_swd: fix segfault when calling jtag_to_swd

When SWD mode is not supported by the target adapter, the call should
return an error instead of segfaulting.

Change-Id: I1626097deb93ecfbe78a6e82d812c7a673dbbde5
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2256
Tested-by: jenkins
5 years agojtag: always configure enabled tap parameter appropriately 61/2261/3
Paul Fertser [Tue, 19 Aug 2014 07:44:42 +0000 (11:44 +0400)]
jtag: always configure enabled tap parameter appropriately

Commit f701c0cb seems to have introduced a regression for non-JTAG
transports as the newly created "tap" (DAP actually) ended up being
disabled, thus resulting in total lack of functionality.

This was exposed by a debug log demonstrating ftdi SWD transport
connection to mdr32f9q2i, the target wasn't examined on init and
couldn't be reset.

Change-Id: If53cbe800d4adc177aa3ac3219860e7fa15b3e49
Reported-by: Хайруллин Эльдар <eldar.khayrullin@mail.ru>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2261
Tested-by: jenkins
Reviewed-by: Angus Gratton <gus@projectgus.com>
Reviewed-by: Nemui Trinomius <nemuisan_kawausogasuki@live.jp>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agotarget async loader: add offset to debug lines 03/2203/5
Angus Gratton [Tue, 1 Jul 2014 08:13:28 +0000 (18:13 +1000)]
target async loader: add offset to debug lines

This was very helpful when debugging programs during async loading.

Change-Id: Ia2eacc3e105403f70f51b1242b675e2ffe86e8ca
Signed-off-by: Angus Gratton <gus@projectgus.com>
Reviewed-on: http://openocd.zylin.com/2203
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agostm32lx: refactor and add support for STM32L0xx 00/2200/7
Andrey Yurovsky [Thu, 10 Jul 2014 21:24:18 +0000 (14:24 -0700)]
stm32lx: refactor and add support for STM32L0xx

This adds initial support for the STM32L0 family, specifically the ID
code 417 variant.  The 'L0 has 128B rather than 256B pages as well as a
different number of pages per sector.  It also has several key registers
and register sets in different locations from the STM32L1xx parts.

This change therefore takes the opportunity to reorganize part information into
a const table (it was previously determined by a set of control statements) and
abstracts away some of the low-level details to make them generic for L1 and
L0 parts.

We also include the first bank's size (for dual bank parts) in the new
device information table (and correct that size for the 0x437 variant
which is 256 rather than 192KB).

The 'L0 parts will not use the built-in loader/helper for Flash writing.

Tested on STM32L053 (dicovery board and Nucleo board) and STM32L152
(discovery board).

Change-Id: I57f7a8ab02caee266de71b31ae82a50d85728a0b
Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com>
Reviewed-on: http://openocd.zylin.com/2200
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agojtag/drivers/ftdi: Use adapter_khz value for initial clock speed (was default 1kHz) 23/2223/3
Angus Gratton [Sat, 19 Jul 2014 08:50:55 +0000 (18:50 +1000)]
jtag/drivers/ftdi: Use adapter_khz value for initial clock speed (was default 1kHz)

nrf51822 doesn't like a 1kHz initial clock rate, puts the DAP into a bad state.

Mailing list discussion thread: http://sourceforge.net/p/openocd/mailman/openocd-devel/thread/20140718081528.GA5554%40ex2.lan/#msg32621853

Change-Id: I71aa75505cc1b41ee80c7b9db415f6ac738c2916
Signed-off-by: Angus Gratton <gus@projectgus.com>
Reviewed-on: http://openocd.zylin.com/2223
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agoflash: samd: add missing ID for SAMD20E18A 60/2260/2
Andrey Yurovsky [Mon, 18 Aug 2014 16:05:56 +0000 (09:05 -0700)]
flash: samd: add missing ID for SAMD20E18A

This was somehow missed in the chip ID table and of course that's
exactly the one on my board (as such, tested on hardware).

Change-Id: I212d7c729d979e0357f1d4635f40935e25fe6ff3
Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com>
Reviewed-on: http://openocd.zylin.com/2260
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agojlink: Constantify string arrays 45/2245/2
Spencer Oliver [Fri, 8 Aug 2014 21:22:30 +0000 (22:22 +0100)]
jlink: Constantify string arrays

Change-Id: Ib63f4c32e6d5a7dad21567521d938142ea40b308
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/2245
Tested-by: jenkins
5 years agojlink: add variant "J-Link Lite-ADI" 44/2244/2
Spencer Oliver [Fri, 8 Aug 2014 21:07:38 +0000 (22:07 +0100)]
jlink: add variant "J-Link Lite-ADI"

Fitted to various Analog Devices ADuCM36x dev boards.

Change-Id: Ib3691704c0ecd2f8cba1abba284aee695d6bc135
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/2244
Tested-by: jenkins
5 years agojlink: fix typo 43/2243/2
Spencer Oliver [Fri, 8 Aug 2014 21:01:08 +0000 (22:01 +0100)]
jlink: fix typo

Change-Id: If495b819c0532a97447ec7208c13d8a66a3ad47d
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/2243
Tested-by: jenkins
5 years agoflash/nor/stm32f1x: add STM32F302x6/8 IDs, clarify STM32F302xB/C 49/2249/2
Paul Fertser [Thu, 14 Aug 2014 16:36:27 +0000 (20:36 +0400)]
flash/nor/stm32f1x: add STM32F302x6/8 IDs, clarify STM32F302xB/C

Change-Id: I22afbe30f32b0ea9b59c3de8d15ce14bdc4763cc
Reported-by: Luis Rodrigues <lfrodrigues@gmail.com>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2249
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agojtag: usb_blaster: fix initialization regression 29/2229/2
Robert Jarzmik [Sun, 27 Jul 2014 10:30:13 +0000 (12:30 +0200)]
jtag: usb_blaster: fix initialization regression

As Daniel pointed out, since the rewrite of the USB Blaster driver, the
initialization behaviour has change. The initial flush of the FIFOs is
not longer done with a specific USB setup packet, but with a write
filling up the blaster queues.

The problem is, quoting Daniel :

    When the CPLD is in bit banging mode (as is usually the case), the
    first 0x00 byte sets all pins to low and disables the output
    driver. Disabling the output drivers is a few nanoseconds slower
    than changing a pin from high to low, so I see a spike towards GND
    on my reset line when that byte is sent over USB. The spike is too
    short to have an effect on the board.

    When the 4096 0x00 bytes are processed and the TMS=1 is to be
    generated, all I see is several microseconds of low level on all
    pins, resetting my board.

This patch changes the way the initialization is done :
 - at driver init, nothing is sent towards the usb-blaster
   This gives time for init script to setup PIN6 and PIN8 (resets)
 - at the very first driver command, the initialization is done :
   - the output is in bit bigbang mode
   - the PIN6 and PIN8 are computed according to init script
   - the 4096 computed output is sent

Change-Id: If7ceee957f6b59bcb27c8f912f1cfdd0f94f75ed
Reported-by: Daniel Glöckner <daniel-gl@gmx.net>
Cc: Franck Jullien <franck.jullien@gmail.com>
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Reviewed-on: http://openocd.zylin.com/2229
Tested-by: jenkins
Reviewed-by: Franck Jullien <franck.jullien@gmail.com>
Reviewed-by: Daniel Glöckner <daniel-gl@gmx.net>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agotransport: emit a warning when a user tries to reselect a transport 51/2251/2
Paul Fertser [Fri, 15 Aug 2014 07:31:16 +0000 (11:31 +0400)]
transport: emit a warning when a user tries to reselect a transport

Even though changing transport is impossible, reselecting it should be
harmless.

Change-Id: I6c1c2786134e826f47f848b590e6d712b6fd2206
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2251
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agotcl/interface/ftdi: auto-select SWD from converters' configs 48/2248/2
Paul Fertser [Thu, 14 Aug 2014 16:12:01 +0000 (20:12 +0400)]
tcl/interface/ftdi: auto-select SWD from converters' configs

When you source a JTAG-SWD converter config, any other transport
doesn't make any sense, so just autoselect it right there.

Change-Id: I6c098740905a0d4007473fc19cc07e11cbcc9369
Suggested-by: Хайруллин Эльдар <eldar.khayrullin@mail.ru>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2248
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-by: Eldar Khayrullin <eldar.khayrullin@mail.ru>
5 years agotcl/board/stm32ldiscovery: fix breakage 55/2255/2
Eldar Khayrullin [Sun, 17 Aug 2014 08:17:57 +0000 (12:17 +0400)]
tcl/board/stm32ldiscovery: fix breakage

Change-Id: I450ea82c27009be6bad6a7814969d81964ff44d8
Signed-off-by: Eldar Khayrullin <eldar.khayrullin@mail.ru>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2255
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agomips_m4k.c: EJTAGBOOT and NORMALBOOT are not supported on EJTAG 2.0 34/1934/4
Oleksij Rempel [Thu, 23 Jan 2014 20:08:31 +0000 (21:08 +0100)]
mips_m4k.c: EJTAGBOOT and NORMALBOOT are not supported on EJTAG 2.0

Change-Id: I8157c19e9d8aed5c2376a2c54c32c1ddac1ad5af
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Reviewed-on: http://openocd.zylin.com/1934
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agomips_m4k.c: D or I breaks only if they supported. 33/1933/4
Oleksij Rempel [Wed, 22 Jan 2014 11:27:19 +0000 (12:27 +0100)]
mips_m4k.c: D or I breaks only if they supported.

For example Realtek RTL8186 (Lexra LX5280 core) don't
support break- and watchpoints.

Change-Id: Ie00102da4bf13a8c42a9ad05910c66884f297cfd
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Reviewed-on: http://openocd.zylin.com/1933
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agomips32.c: cache debug caps and support EJTAG 2.0 specific changes 32/1932/4
Oleksij Rempel [Wed, 5 Feb 2014 22:11:15 +0000 (23:11 +0100)]
mips32.c: cache debug caps and support EJTAG 2.0 specific changes

EJTAG v2.0 indicated some debug caps in IMP register.
V2.6 moved them to DCR register. To make it more universal,
convert this values and store them for later use.

Change-Id: Id6b9f47c9c2ea94d37281ebfcae5acf357261ddf
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Reviewed-on: http://openocd.zylin.com/1932
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agomips32.c: fix IB and DB bits check for EJTAG v2.0 31/1931/4
Oleksij Rempel [Tue, 21 Jan 2014 19:48:14 +0000 (20:48 +0100)]
mips32.c: fix IB and DB bits check for EJTAG v2.0

Change-Id: I4e28dddc1d5d9c2b923ae17beacdd7f73591b1d0
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Reviewed-on: http://openocd.zylin.com/1931
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agomips_ejtag.c: do not set v2.6 ECR bits on v2.0 devices 30/1930/4
Oleksij Rempel [Thu, 23 Jan 2014 08:47:37 +0000 (09:47 +0100)]
mips_ejtag.c: do not set v2.6 ECR bits on v2.0 devices

Change-Id: I894abbb923282d5f84daf8e0bca69190c07567de
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Reviewed-on: http://openocd.zylin.com/1930
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agomips_ejtag.c|h: use version specific IMPs 29/1929/4
Oleksij Rempel [Thu, 14 Aug 2014 21:10:33 +0000 (22:10 +0100)]
mips_ejtag.c|h: use version specific IMPs

and make version specific debug log

Change-Id: I17f7ff757cfa1264a1dadbfe20c5e21de62ef87a
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Reviewed-on: http://openocd.zylin.com/1929
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agoRemoved limit on lenght of command line options. 41/2241/4
Cristian Maglie [Fri, 8 Aug 2014 16:40:57 +0000 (18:40 +0200)]
Removed limit on lenght of command line options.

In particular -f and -s options may contains paths that can easily
exceed the (old) 128 bytes buffer.

Change-Id: Ifc198536549f50663e8e588519bb9ef75dcd172c
Signed-off-by: Cristian Maglie <c.maglie@bug.st>
Reviewed-on: http://openocd.zylin.com/2241
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agotcl/board: Add board configuration for nRF51822-mKIT 16/2116/7
Andrey Smirnov [Wed, 16 Apr 2014 12:00:45 +0000 (05:00 -0700)]
tcl/board: Add board configuration for nRF51822-mKIT

Add board configuration for Nordic's nRF51822-mKIT devkit, available
here:
http://mbed.org/platforms/Nordic-nRF51822/

Change-Id: Ib9329307147b1e7be061a5060b4eec8256fe2bd4
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
[gus@projectgus.com: Minor tweaks, model number]
Signed-off-by: Angus Gratton <gus@projectgus.com>
Reviewed-on: http://openocd.zylin.com/2116
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agostlink_usb: Fix swallowed error on read/write operations, add retries on SWD WAIT... 01/2201/3
Angus Gratton [Fri, 27 Jun 2014 23:27:11 +0000 (09:27 +1000)]
stlink_usb: Fix swallowed error on read/write operations, add retries on SWD WAIT, clean up error debug output.

- stlink_usb_get_rw_status() had a bug where FAULT or WAIT responses
  in read/write operations were ignored, leading to incomplete data.

- Added wrapper stlink_cmd_allow_retry to handle
  SWD_AP_WAIT/SWD_DP_WAIT statuses in most commands. These statuses
  appear if an SWD read or write received a WAIT ACK response from the
  target more than 4 times in a row. The driver retries the operation
  (with exponential backoff) before failing outright (in testing 1
  retry was always enough.)

- As part of the implementation of stlink_cmd_allow_retry a large
  number of lines of boilerplate were refactored.

- Fleshed out stlink_usb_error_check and added it to some more code
  paths so WAIT or FAULT responses are logged to debug. WAIT responses
  will be logged even if they are subsequently retried, which should
  help in case the retries have subtle side effects (none
  anticipated.)

Tested with two targets: STLINK F0 Discovery, Nordic NRF51822. Only
tested with STLINK V2 programmers.

Change-Id: I9af24e8f0121b035356dbb9978d6bbf4feb2e4d3
Signed-off-by: Angus Gratton <gus@projectgus.com>
Reviewed-on: http://openocd.zylin.com/2201
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agonRF51822: Add workaround for PAN-16 where not all RAM blocks reliably enabled on... 02/2202/4
Angus Gratton [Tue, 1 Jul 2014 00:23:25 +0000 (10:23 +1000)]
nRF51822: Add workaround for PAN-16 where not all RAM blocks reliably enabled on reset

According to Nordic Semiconductor Product Anomaly Notice (document
NRF51822-PAN), item 16, some revisions of nRF51822 sometimes reset
without all RAM blocks enabled. This was noted on NRF51822-QFAA rev
CA/C0, only 8KiB of memory was accessible.

This patch turns on all RAM following a debugger induced reset
(matches specified behaviour.)

Change-Id: I4f8be4ec3d1271da7fe5bc9a084fdcb2968535bb
Signed-off-by: Angus Gratton <gus@projectgus.com>
Reviewed-on: http://openocd.zylin.com/2202
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agotcl/target: added support for TI OMAP/AM 3505 and 3517 27/2127/3
Andrey Skvortsov [Wed, 7 May 2014 08:59:21 +0000 (12:59 +0400)]
tcl/target: added support for TI OMAP/AM 3505 and 3517

added TAPID for OMAP/AM 3505 and 3517. Tested on TAM3517 Twister board
with AM3517 SoC.

Change-Id: I78a3268a4adb18092c694a556538c99c9032f648
Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
Reviewed-on: http://openocd.zylin.com/2127
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agoAllow transports to override the selected target (hla configs unification) 64/1664/11
Paul Fertser [Sat, 28 Sep 2013 10:23:15 +0000 (14:23 +0400)]
Allow transports to override the selected target (hla configs unification)

This should allow to share common configs for both regular access and
high-level adapters.

Use the newly-added functionality in stlink and icdi drivers, amend
the configs accordingly.

Runtime-tested with a TI tm4c123g board.

Change-Id: Ibb88266a4ca25f06f6c073e916c963f017447bad
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
[gus@projectgus.com: context-specific deprecation warnings]
Signed-off-by: Angus Gratton <gus@projectgus.com>
[andrew.smirnov@gmail.com: additional nrf51.cfg mods]
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Tested-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
Reviewed-on: http://openocd.zylin.com/1664
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agonewdap: Ignore -irlen/-irmask/etc newdap params on SWD or CMSIS-DAP 26/2226/3
Angus Gratton [Wed, 23 Jul 2014 22:14:04 +0000 (08:14 +1000)]
newdap: Ignore -irlen/-irmask/etc newdap params on SWD or CMSIS-DAP

Previously the -irlen parameter was required even though it is not
a part of the SWD or CMSIS-DAP transports.

This may eventually need to be changed for CMSIS-DAP once that
supports JTAG as well.

Change-Id: Ia02b67840c19c7cf1c7a75063648c0174176a311
Signed-off-by: Angus Gratton <gus@projectgus.com>
Reviewed-on: http://openocd.zylin.com/2226
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agointerface/ftdi: Mark flyswatter.cfg as tested 37/2237/2
Andreas Fritiofson [Sat, 2 Aug 2014 08:32:47 +0000 (10:32 +0200)]
interface/ftdi: Mark flyswatter.cfg as tested

- Flyswatter + Proxmark3 (Atmel AT91SAM7S256) - works
- Flyswatter + Tiva Launchpad (EK-TM4C123GXL) - works

Change-Id: I615e0ff9262be6ae1064fb2de8e6e810775e7db4
Tested-by: Ondrej Mikle <ondrej.mikle@nic.cz>
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/2237
Tested-by: jenkins
5 years agodrivers/jlink: Revert old workaround 47/2147/3
Andreas Fritiofson [Thu, 24 Jul 2014 21:14:03 +0000 (23:14 +0200)]
drivers/jlink: Revert old workaround

This workaround broke usage with at least the I.MX6Q.

The comment implies that talking to the J-Link dongle itself should
fail if the target isn't reset, which sounds really strange. I'm
guessing it just triggered another bug in OpenOCD or Segger FW which
might have been fixed since. Revert and wait and see if there are any
failure reports.

Tested with Kwikstik (J-Link + Kinetis K40), not with the mentioned
adapter.

Change-Id: I97f555efe079bd99c098bf483491d9509b2363ad
Signed-off-by: Roy Spliet <rspliet@mpi-sws.org>
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/2147
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
5 years agodrivers/jlink: fix SWD speed config, and set it before sending anything 24/2224/3
Paul Fertser [Sat, 19 Jul 2014 12:48:09 +0000 (16:48 +0400)]
drivers/jlink: fix SWD speed config, and set it before sending anything

During the initialisation a driver might need to communicate with the
target (e.g. sending jtag2swd sequence), so when doing so it should
honour the user-specified speed.

Change-Id: If84fea6057fda9edcf2c0a653edfbab2500e3cdd
[andrew.smirnov@gmail.com: fix khz/hz confusion]
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2224
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agodrivers/jtag/jlink: support SWD mode 41/2141/8
Paul Fertser [Wed, 14 May 2014 07:42:16 +0000 (11:42 +0400)]
drivers/jtag/jlink: support SWD mode

Quick attempt at SWD support, closely modelled after ftdi.

Change-Id: I25140d80c5be7b2f8f0e2ef722a4ba4df0da4cf3
Signed-off-by: Brian Campbell <Brian.Campbell@ed.ac.uk>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2141
Tested-by: jenkins
Reviewed-by: Nemui Trinomius <nemuisan_kawausogasuki@live.jp>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agotcl/board: fix all the remaining boards that were sourcing ft2232 configs 30/2230/2
Paul Fertser [Mon, 28 Jul 2014 18:10:45 +0000 (22:10 +0400)]
tcl/board: fix all the remaining boards that were sourcing ft2232 configs

This was reported in
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=751372 .

Change-Id: I258f3d40593ff2966ce3ca61c13a23699d1b162f
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2230
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agoFix some problems with the bin2char utility 76/2176/3
Andreas Fritiofson [Wed, 18 Jun 2014 21:10:45 +0000 (23:10 +0200)]
Fix some problems with the bin2char utility

Don't hardcode the type for the array, just output the array initializer
so the includer can choose the type and storage class, zero-terminate at
will and so on.

Change-Id: I6d5e0710eaaba0a218b3eb32f6569177356f4462
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/2176
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
5 years agoProvide od+sed replacement for the bin2char helper 39/2139/7
Paul Fertser [Sun, 11 May 2014 18:15:55 +0000 (22:15 +0400)]
Provide od+sed replacement for the bin2char helper

Using custom build-time tools is always more problematic, especially
for cross-compiling.

This alternative implementation assumes "od" (IEEE Std 1003.1-2001)
and sed are available which should be the case for any reasonably
modern system.

Change-Id: I0208f475648c78e7dca127ff4bab60d314b2bf53
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2139
Tested-by: jenkins
Reviewed-by: Fatih Aşıcı <fatih.asici@gmail.com>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agotcl/board: add STM32429I-EVAL and STM32439I-EVAL dev boards from ST. 71/2171/3
Fredrik Hederstierna [Thu, 12 Jun 2014 22:29:43 +0000 (00:29 +0200)]
tcl/board: add STM32429I-EVAL and STM32439I-EVAL dev boards from ST.

Change-Id: I304b6e7bae832391f11d53003299d68e31b0e4ef
Signed-off-by: Fredrik Hederstierna <fredrik@hederstierna.com>
Reviewed-on: http://openocd.zylin.com/2171
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-by: Franck Jullien <franck.jullien@gmail.com>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
5 years agotcl/target/stm32l: restore slow clock on reset 88/2188/3
Paul Fertser [Mon, 23 Jun 2014 12:32:54 +0000 (16:32 +0400)]
tcl/target/stm32l: restore slow clock on reset

Change-Id: I63eafaa38b188fe50c13ab966be44a3eaa2006b0
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2188
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agoAdding support for the Atmel SAMR21. 94/2194/3
Thomas Schmid [Tue, 1 Jul 2014 17:29:56 +0000 (11:29 -0600)]
Adding support for the Atmel SAMR21.

The Atmel SAMR21 is a Atmel SAMD21 with an Atmel RF233 in one package (two
dies). Tested with the SAMR21 Xplained Pro eval kit.

Change-Id: I1d79ea05834b925d7ec810527206fe86854e684b
Signed-off-by: Thomas Schmid <thomas@rfranging.com>
Reviewed-on: http://openocd.zylin.com/2194
Tested-by: jenkins
Reviewed-by: Andrey Yurovsky <yurovsky@gmail.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agodrivers/cmsis_dap_usb: Return with ERROR_FAIL if no CMSIS-DAP device is found. 89/2189/5
Masaki Muranaka [Tue, 24 Jun 2014 00:33:05 +0000 (09:33 +0900)]
drivers/cmsis_dap_usb: Return with ERROR_FAIL if no CMSIS-DAP device is found.

Even if it does not return, the initialization will be failed.
But it is better to show why the error is caused.

Change-Id: I399c7c94a7156be22723a9715e594061bb414a7e
Signed-off-by: Masaki Muranaka <monaka@monami-ya.com>
Reviewed-on: http://openocd.zylin.com/2189
Tested-by: jenkins
Reviewed-by: Andrey Yurovsky <yurovsky@gmail.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
5 years agomips_m4k.c: make sure fast_data_area is safe 54/1854/4
Oleksij Rempel [Tue, 7 Jan 2014 19:28:12 +0000 (20:28 +0100)]
mips_m4k.c: make sure fast_data_area is safe

If load_image address overlap with fast_data_area,
it will caouse different mysterius issues. This patch
should prevent it.

Change-Id: Ibc95e5aa3ac002a59755029496b6a72616e9287f
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Reviewed-on: http://openocd.zylin.com/1854
Tested-by: jenkins
Reviewed-by: Salvador Arroyo <sarroyofdez@yahoo.es>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
6 years agocfg: Rename leftover cortex_a8 -> cortex_a 97/2197/2
Andreas Fritiofson [Thu, 3 Jul 2014 21:44:02 +0000 (23:44 +0200)]
cfg: Rename leftover cortex_a8 -> cortex_a

Change-Id: Id11d89ae2fb78854da4284afb7f14d8a892a2e49
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/2197
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
6 years agokinetis : Added Kinetis-K Series MDM-AP ID. 95/2195/2
Nemui Trinomius [Tue, 1 Jul 2014 22:18:16 +0000 (07:18 +0900)]
kinetis : Added Kinetis-K Series MDM-AP ID.

Kinetis-K series has ID:0x001C0000 on MDM-AP IDR register.
Other Kinetis(L/M/V/E) series have ID:0x001C0020.

Change-Id: Iada37038cd239f7331ba80a3673b36bf7e18c555
Signed-off-by: Nemui Trinomius <nemuisan_kawausogasuki@live.jp>
Reviewed-on: http://openocd.zylin.com/2195
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
6 years agocortex_a: target implementation renames cortex_a8 to cortex_a 99/1599/12
Kamal Dasu [Thu, 29 Aug 2013 15:53:26 +0000 (11:53 -0400)]
cortex_a: target implementation renames cortex_a8 to cortex_a

A previous commit changes the target name used by tcl scripts.
commit d9ba56c295f057e716519a798bf9cdb4898c24f4
target: rename cortex_a8 to cortex_a

The current change renames target functions and definitions in the
implementation from cortex_a8 to cortex_a.
This prepares the implementation to support Cortex-A8, A9, A15-MPCore
in one place.

Change-Id: I73b5a38a92c12ba5bd3b806fbbb664817575a6d7
Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com>
Reviewed-on: http://openocd.zylin.com/1599
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
6 years agovsllink: Port to libusb-1.0 API 52/1952/7
Fatih Aşıcı [Tue, 18 Feb 2014 07:55:15 +0000 (09:55 +0200)]
vsllink: Port to libusb-1.0 API

Change-Id: I8a9a4dace8e7e8152947094b27b86f9a0d90fa61
Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
Reviewed-on: http://openocd.zylin.com/1952
Tested-by: jenkins
Reviewed-by: Nemui Trinomius <nemuisan_kawausogasuki@live.jp>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
6 years agovsllink: Add SWD support 47/1947/11
Fatih Aşıcı [Sun, 16 Feb 2014 09:12:39 +0000 (10:12 +0100)]
vsllink: Add SWD support

Tested with stm32f1x, stm32f4x and kl25 targets using SWD transport.

Change-Id: I118d07371b53f402ea9ac73f874460a309c05100
Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/1947
Tested-by: jenkins
6 years agojtag/drivers/opendous: remove ftime() calls 87/2187/2
Paul Fertser [Mon, 23 Jun 2014 10:01:56 +0000 (14:01 +0400)]
jtag/drivers/opendous: remove ftime() calls

ftime() is deprecated by POSIX.1-2008 and causes a warning on
FreeBSD.

The generic OpenOCD LOG_DEBUG implementation already outputs time of
an event with a millisecond precision.

Change-Id: Ic8e4ea27c268f07554ba519768b9bdfc4343f3e9
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2187
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
6 years agodrivers/cmsis_dap_usb: restructure init sequence a bit 92/2192/2
Paul Fertser [Wed, 25 Jun 2014 18:50:03 +0000 (22:50 +0400)]
drivers/cmsis_dap_usb: restructure init sequence a bit

This fixes the issue of improper initialisation sequence and in
particular makes "cmsis_dap_vid_pid" config specification functional.

Not really elegant but it's in line with the ftdi driver and so can be
reworked in a uniform way later when the internal API is changed.

Change-Id: Ief9fc64ad0ac24e1c66727153f383e4f30a830c7
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2192
Reviewed-by: Andrey Yurovsky <yurovsky@gmail.com>
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
6 years agojtag/drivers/cmsis_dap: fix check for hardcoded vids/pids 91/2191/2
Paul Fertser [Tue, 24 Jun 2014 14:10:35 +0000 (18:10 +0400)]
jtag/drivers/cmsis_dap: fix check for hardcoded vids/pids

This is intended to fix cmsis_dap_vid_pid command but it doesn't
because cmsis-dap has only one transport and it's auto-selected from
"interface" command handler (before any other commands are run) and as
the result cmsis_dap_usb_open() is called too early.

Change-Id: Idaade73797d8df67a6439d096f6abc9736495599
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2191
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
6 years agoOpenocd: svf: Add ability to ignore svf_check_tdo errors 29/2129/2
Kamal Dasu [Thu, 20 Feb 2014 22:46:42 +0000 (17:46 -0500)]
Openocd: svf: Add ability to ignore svf_check_tdo errors

Added Openocd commandline argument to ignore_error when the
read back TDO does not match to expected value specified with
TDO after masking with what is specified in MASK. This allows
to continue to play entire SVF file ignoring errors.
Error logs clearly show the failure reason and prints
read back TDO value.

Change-Id: I324f476fc16a003b35e6f2c5b63976431f49d54a
Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com>
Reviewed-on: http://openocd.zylin.com/2129
Tested-by: jenkins
Reviewed-by: Franck Jullien <franck.jullien@gmail.com>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
6 years agoAdd error handling and remove double readout. 81/1181/7
Mathias K [Tue, 26 Feb 2013 16:24:41 +0000 (17:24 +0100)]
Add error handling and remove double readout.

Remove double readout of DCB_DHCSR in target poll. The return value
of the endreset event is handled and not ignored in target poll.

Change-Id: I8fe026418dadcf0b0dcbb09acee871ad950937a2
Signed-off-by: Mathias K <kesmtp@freenet.de>
Reviewed-on: http://openocd.zylin.com/1181
Tested-by: jenkins
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
6 years agojtag/drivers/ftdi: do not touch unavailable reset signals 86/2186/2
Paul Fertser [Sun, 22 Jun 2014 19:23:31 +0000 (23:23 +0400)]
jtag/drivers/ftdi: do not touch unavailable reset signals

If the current reset_config doesn't specify availability of nTRST or
nSRST, just leave them alone, do not try to deassert them ever
(asserting would be prevented by the upper layer).

Change-Id: I90123c666e05a1c26f1e164625e82d766a3e3744
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2186
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
6 years agocfg: add SWD configs for stellaris ftdi based adapters 85/2185/3
Spencer Oliver [Fri, 20 Jun 2014 22:59:30 +0000 (23:59 +0100)]
cfg: add SWD configs for stellaris ftdi based adapters

Tested on hardware.

Change-Id: Ib0191e97988dc79e9a62da74bd7fe25f548ff5a2
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/2185
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
Tested-by: jenkins
6 years agotcl/interface/ftdi: add SWD configs for kt-link, olimex, rowley and resistor hack 84/2184/6
Paul Fertser [Fri, 20 Jun 2014 10:48:05 +0000 (14:48 +0400)]
tcl/interface/ftdi: add SWD configs for kt-link, olimex, rowley and resistor hack

Resistor hack is runtime-tested, other configs are based on
schematics.

Change-Id: I8daffa0434cd41d142fbec7c230a302284f7aa31
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2184
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Tested-by: jenkins
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
6 years agojtag/drivers/ftdi: require defining SWD_EN signal for SWD mode 83/2183/6
Paul Fertser [Fri, 20 Jun 2014 09:31:25 +0000 (13:31 +0400)]
jtag/drivers/ftdi: require defining SWD_EN signal for SWD mode

Use a special signal instead of a dedicated swd mask. Amend
jtag-lock-pick_tiny_2 config accordingly.

Change-Id: Ifb007a0b5434b590c52f936efd5f5458e913e2e4
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2183
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Tested-by: jenkins
6 years agojtag/drivers/ftdi: declare standard JTAG signals on SWD init 82/2182/5
Paul Fertser [Fri, 20 Jun 2014 09:13:27 +0000 (13:13 +0400)]
jtag/drivers/ftdi: declare standard JTAG signals on SWD init

Unfortunately, this means they're available for config files only
after selecting swd transport.

Change-Id: Ia2afc1f3bfdba8d81efbb8ab964b174c0f7e2811
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2182
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
6 years agojtag/drivers/ftdi: add option to declare signal aliases 81/2181/3
Paul Fertser [Fri, 20 Jun 2014 08:47:24 +0000 (12:47 +0400)]
jtag/drivers/ftdi: add option to declare signal aliases

This adds -alias|-nalias options to ftdi_layout_signal command that
allow to declare a new signal based on an already defined one.

Change-Id: I552578ebcd12ae21957a1c0d3b7e878adeff6df0
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2181
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
6 years agoAuto-select JTAG transport when appropriate 79/2179/2
Paul Fertser [Thu, 19 Jun 2014 10:21:21 +0000 (14:21 +0400)]
Auto-select JTAG transport when appropriate

I looked through all the target configs after stripping comments and
such from them with sed to see what jtag-specific commands can appear
first, and it looks like all the meaningful combinations should be
covered.

Change-Id: I8d543407b7f4ac8aca7354ecd50e841c8a04d5f3
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2179
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
6 years agoRelax polling check if not in JTAG mode 43/2143/3
Andreas Fritiofson [Wed, 14 May 2014 20:14:10 +0000 (22:14 +0200)]
Relax polling check if not in JTAG mode

Polling was disabled based on global variables jtag_trst and jtag_srst
which were never touched in non-JTAG mode. Modify the check and remove
the ugly workaround to avoid calls to a possibly uninitialized JTAG
subsystem.

Change-Id: I3b18c81e0fba7aaf35afe6f08c3fe8fa6f8443fd
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/2143
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
6 years agocfg: Add SWD support to JTAG-lock-pick Tiny 2 36/2136/4
Andreas Fritiofson [Fri, 9 May 2014 20:38:45 +0000 (22:38 +0200)]
cfg: Add SWD support to JTAG-lock-pick Tiny 2

Change-Id: I61eac507fa6861b7daf603ebca58e8bf3cc699c1
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/2136
Tested-by: jenkins
Reviewed-by: Jens Bauer <jens@gpio.dk>
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
6 years agoAdd FTDI SWD driver 58/1958/7
Andreas Fritiofson [Sat, 10 May 2014 09:31:49 +0000 (11:31 +0200)]
Add FTDI SWD driver

This is usable on most or all FTDI adapters using a small hardware tweak.

TCK goes to SWCLK as expected. TDO should be wired to SWDIO. For TDI there
are two options:

Either add a 74HC126 or similar tri-state buffer between TDI and SWDIO,
with OE controlled by a signal named SWDIO_OE. Or simply connect TDI and
SWDIO together via a suitable resistor (220-470 ohms or so depending on
the drive capability of the target and adapter).

nSRST (and of course Vcc, GND) may be connected too but all other signals
should be NC.

Change-Id: Id36cf4577439be96bd4e5955c3026236e1cabced
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/1958
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
6 years agotransport: Constify the transports vector 35/2135/4
Andreas Fritiofson [Sat, 10 May 2014 09:31:35 +0000 (11:31 +0200)]
transport: Constify the transports vector

Change-Id: I0c874b5d4c97cf781d83bd381d701f770e069f72
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/2135
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
6 years agoswd: Add frequency setting and special/switching sequences to the API 34/2134/4
Andreas Fritiofson [Sun, 2 Mar 2014 19:35:32 +0000 (20:35 +0100)]
swd: Add frequency setting and special/switching sequences to the API

Change-Id: I6f3950374f2525a18bbcb9cbd340c447c20fb704
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/2134
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
6 years agoadi_v5: Make sure all bit masks are unsigned and wide enough. 33/2133/4
Andreas Fritiofson [Sun, 2 Mar 2014 19:33:54 +0000 (20:33 +0100)]
adi_v5: Make sure all bit masks are unsigned and wide enough.

Also align them with spaces instead of tabs.

Change-Id: I1c01412a3ea77b29e8e133f5c92d05ed79d7c0f3
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/2133
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>