drivers/swd: add support for SWD multidrop
authorTomas Vanek <vanekt@fbl.cz>
Fri, 12 Nov 2021 08:49:01 +0000 (09:49 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 20 Nov 2021 14:44:54 +0000 (14:44 +0000)
commit872682345af6e26af145c76d5a4373b16d815b7e
tree2e260d09820182c35bf8eefb328257e2352da079
parent3eef83e4bd2b112b98d73f8b0947af93c193e0ef
drivers/swd: add support for SWD multidrop

According to ARM IHI0031C+ chapter 2.3.11 "TARGETSEL, Target Selection register"
multidrop capable DPv2 must not drive SWDIO line during the response phase
of a write to TARGETSEL register.

Introduce helper functions swd_cmd_returns_ack() and swd_ack_to_error_code()
to centralize these tests from all drivers to one place.

Introduce distinct error codes for SWD protocol.

Partly inspired by Graham Sanderson's http://review.openocd.org/4935

Change-Id: Ie5f9edb22e066a933a534bf2b29e7e1d3087dad1
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/6699
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
src/jtag/swd.h