adiv6: add dap flags -adiv5 and -adiv6

Add flags to 'dap create' command and set the field adi_version
in struct adiv5_dap.

Actually only ADIv5 is functional. Other patches are needed to get
ADIv6 working.

Split from change https://review.openocd.org/6077/

Change-Id: I63d3902f99a7f139c15ee4e07c19eae9ed4534b9
Signed-off-by: Kevin Burke <kevinb@os.amperecomputing.com>
Signed-off-by: Daniel Goehring <dgoehrin@os.amperecomputing.com>
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/6456
Tested-by: jenkins
This commit is contained in:
Kevin Burke
2021-08-06 15:01:34 +02:00
committed by Antonio Borneo
parent 35a503b08d
commit 1fe82f9f1d
3 changed files with 38 additions and 1 deletions

View File

@@ -353,6 +353,9 @@ struct adiv5_dap {
* Record if enter in SWD required passing through DORMANT
*/
bool switch_through_dormant;
/** Indicates ADI version (5, 6 or 0 for unknown) being used */
unsigned int adi_version;
};
/**
@@ -426,6 +429,18 @@ static inline bool is_64bit_ap(struct adiv5_ap *ap)
return (ap->cfg_reg & MEM_AP_REG_CFG_LA) != 0;
}
/**
* Check if DAP is ADIv6
*
* @param dap The DAP to test
*
* @return true for ADIv6, false for either ADIv5 or unknown version
*/
static inline bool is_adiv6(const struct adiv5_dap *dap)
{
return dap->adi_version == 6;
}
/**
* Send an adi-v5 sequence to the DAP.
*