arm_adi_v5: fix and update sequences to spec IHI 0031E
authorAntonio Borneo <borneo.antonio@gmail.com>
Wed, 29 Aug 2018 08:55:48 +0000 (10:55 +0200)
committerMatthias Welwarsky <matthias@welwarsky.de>
Wed, 23 Jan 2019 15:26:28 +0000 (15:26 +0000)
commitc2e18bfaeafda3b5f5680bde47d3a04ce8cb2451
tree4afe2a7e23aaa1105fdbc719a80be15a2b72dea8
parent418515b21ed506449dfc9981265edec7800619b5
arm_adi_v5: fix and update sequences to spec IHI 0031E

Fix the SWD line reset sequence accordingly to Arm specification IHI
0031E that requires at least 2 idle clocks after the 50 clocks with
SWDIO high.
Fix the value of the activation code in the (currently unused)
sequence dormant-to-SWD.
Make each sequence's length multiple of 8, so it is compatible with
adapters that have such limitation (e.g. buspirate) and try to split
and comment each part of the sequence (when possible keep each part
byte aligned, inspired from commit 3ef9beb52cd0). This slightly
increases the sequence length but does not impact run-time
performance because these are rarely used sequences.
Add the missing sequence dormant-to-JTAG and JTAG-to-dormant, not
used yet.

On devices that implements the dormant state, IHI 0031E deprecates
the direct switching between SWD and JTAG, and recommends using a
transition through dormant. This is not implemented.

Change-Id: Iad18c0e736cfd9366be175d22658d664b0c61eab
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/4851
Tested-by: jenkins
Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
src/jtag/swd.h