ARM|Driver: Add DPI Driver for emulation

This driver provides support for Cadence JTAG BFM

The "jtag_dpi" driver implements a JTAG driver acting as a client for the
SystemVerilog Direct Programming Interface (DPI) for JTAG devices.
DPI allows OpenOCD to connect to the JTAG interface of a hardware model
written in SystemVerilog, for example, on an emulation model of
target hardware.

Tested on Ampere emulation with Altra and Altra Max models

Change-Id: Iaef8ba5cc1398ee2c888f39a606e8cb592484625
Signed-off-by: Kevin Burke <kevinb@os.amperecomputing.com>
Signed-off-by: Daniel Goehring <dgoehrin@os.amperecomputing.com>
Reviewed-on: http://openocd.zylin.com/5573
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
This commit is contained in:
Kevin Burke
2020-04-03 20:47:50 -04:00
committed by Antonio Borneo
parent 87b95ab212
commit cbbec2dce5
6 changed files with 490 additions and 0 deletions

View File

@@ -12,6 +12,8 @@
* Copyright (C) 2009 Zachary T Welch *
* zw@superlucidity.net *
* *
* Copyright (C) 2020, Ampere Computing LLC *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
@@ -60,6 +62,9 @@ extern struct adapter_driver usb_blaster_adapter_driver;
#if BUILD_JTAG_VPI == 1
extern struct adapter_driver jtag_vpi_adapter_driver;
#endif
#if BUILD_JTAG_DPI == 1
extern struct adapter_driver jtag_dpi_adapter_driver;
#endif
#if BUILD_FT232R == 1
extern struct adapter_driver ft232r_adapter_driver;
#endif
@@ -177,6 +182,9 @@ struct adapter_driver *adapter_drivers[] = {
#if BUILD_JTAG_VPI == 1
&jtag_vpi_adapter_driver,
#endif
#if BUILD_JTAG_DPI == 1
&jtag_dpi_adapter_driver,
#endif
#if BUILD_FT232R == 1
&ft232r_adapter_driver,
#endif