target/adiv5: probe MEM-AP supported transfer sizes including large data
commitadcc8ef87bc1ed47c95f1f2d23072b2b916e1555
authorTomas Vanek <vanekt@fbl.cz>
Sun, 2 Apr 2023 15:23:46 +0000 (2 17:23 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 6 Jan 2024 13:56:43 +0000 (6 13:56 +0000)
tree9e9558b7b46ca15a0c1ce79b35ee1b3b52424842
parentffdcec938fb6bd2d6f7f1f4aed7b41c627934a24
target/adiv5: probe MEM-AP supported transfer sizes including large data

Based on Daniel Goehring's [1] and Peter Collingbourne's [2] work.

Probe for support of 8, 16 bit and if the large data extension is available
also probe for 64, 128 and 256 bit operations.
Probe for the ability of packing 8 and 16 bit data
(formerly probed in mem_ap_init()). The probe is integrated to
mem_ap_read/write() routines and takes place just before the first memory
access of the specific size.

Add 64, 128 and 256 bit MEM-AP read/writes.

Introduce specific error codes for unsupported transfer size
and for unsupported packing.

Change-Id: I180c4ef17d2fc3189e8e2f14bafd22d857f29608
Link: 7191: target/adiv5: add MEM-AP 64-bit access support | https://review.openocd.org/c/openocd/+/7191
Link: 7436: arm_adi_v5: Support reads wider than 32 bits | https://review.openocd.org/c/openocd/+/7436
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/7576
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
src/target/arm_adi_v5.c
src/target/arm_adi_v5.h
src/target/target.h