1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 /***************************************************************************
4 * Copyright (C) 2005 by Dominic Rath *
5 * Dominic.Rath@gmx.de *
7 * Copyright (C) 2007,2008 Øyvind Harboe *
8 * oyvind.harboe@zylin.com *
10 * Copyright (C) 2009 SoftPLC Corporation *
11 * http://softplc.com *
14 * Copyright (C) 2009 Zachary T Welch *
15 * zw@superlucidity.net *
17 * Copyright (C) 2020, Ampere Computing LLC *
18 ***************************************************************************/
24 #include "interfaces.h"
27 * This file includes declarations for all built-in jtag interfaces,
28 * which are then listed in the adapter_drivers array.
30 * Dynamic loading can be implemented be searching for shared libraries
31 * that contain an adapter_driver structure that can added to this list.
34 #if BUILD_PARPORT == 1
35 extern struct adapter_driver parport_adapter_driver;
38 extern struct adapter_driver dummy_adapter_driver;
41 extern struct adapter_driver ftdi_adapter_driver;
43 #if BUILD_USB_BLASTER == 1 || BUILD_USB_BLASTER_2 == 1
44 extern struct adapter_driver usb_blaster_adapter_driver;
46 #if BUILD_ESP_USB_JTAG == 1
47 extern struct adapter_driver esp_usb_adapter_driver;
49 #if BUILD_JTAG_VPI == 1
50 extern struct adapter_driver jtag_vpi_adapter_driver;
53 extern struct adapter_driver vdebug_adapter_driver;
55 #if BUILD_JTAG_DPI == 1
56 extern struct adapter_driver jtag_dpi_adapter_driver;
59 extern struct adapter_driver ft232r_adapter_driver;
61 #if BUILD_AMTJTAGACCEL == 1
62 extern struct adapter_driver amt_jtagaccel_adapter_driver;
65 extern struct adapter_driver ep93xx_adapter_driver;
67 #if BUILD_AT91RM9200 == 1
68 extern struct adapter_driver at91rm9200_adapter_driver;
70 #if BUILD_GW16012 == 1
71 extern struct adapter_driver gw16012_adapter_driver;
74 extern struct adapter_driver presto_adapter_driver;
76 #if BUILD_USBPROG == 1
77 extern struct adapter_driver usbprog_adapter_driver;
79 #if BUILD_OPENJTAG == 1
80 extern struct adapter_driver openjtag_adapter_driver;
83 extern struct adapter_driver jlink_adapter_driver;
85 #if BUILD_VSLLINK == 1
86 extern struct adapter_driver vsllink_adapter_driver;
89 extern struct adapter_driver rlink_adapter_driver;
92 extern struct adapter_driver ulink_adapter_driver;
94 #if BUILD_ARMJTAGEW == 1
95 extern struct adapter_driver armjtagew_adapter_driver;
97 #if BUILD_BUSPIRATE == 1
98 extern struct adapter_driver buspirate_adapter_driver;
100 #if BUILD_REMOTE_BITBANG == 1
101 extern struct adapter_driver remote_bitbang_adapter_driver;
103 #if BUILD_HLADAPTER == 1
104 extern struct adapter_driver hl_adapter_driver;
107 extern struct adapter_driver osbdm_adapter_driver;
109 #if BUILD_OPENDOUS == 1
110 extern struct adapter_driver opendous_adapter_driver;
112 #if BUILD_SYSFSGPIO == 1
113 extern struct adapter_driver sysfsgpio_adapter_driver;
115 #if BUILD_LINUXGPIOD == 1
116 extern struct adapter_driver linuxgpiod_adapter_driver;
118 #if BUILD_XLNX_PCIE_XVC == 1
119 extern struct adapter_driver xlnx_pcie_xvc_adapter_driver;
122 extern struct adapter_driver aice_adapter_driver;
124 #if BUILD_BCM2835GPIO == 1
125 extern struct adapter_driver bcm2835gpio_adapter_driver;
127 #if BUILD_CMSIS_DAP_USB == 1 || BUILD_CMSIS_DAP_HID == 1
128 extern struct adapter_driver cmsis_dap_adapter_driver;
130 #if BUILD_KITPROG == 1
131 extern struct adapter_driver kitprog_adapter_driver;
133 #if BUILD_IMX_GPIO == 1
134 extern struct adapter_driver imx_gpio_adapter_driver;
136 #if BUILD_XDS110 == 1
137 extern struct adapter_driver xds110_adapter_driver;
139 #if BUILD_HLADAPTER_STLINK == 1
140 extern struct adapter_driver stlink_dap_adapter_driver;
143 extern struct adapter_driver rshim_dap_adapter_driver;
145 #if BUILD_AM335XGPIO == 1
146 extern struct adapter_driver am335xgpio_adapter_driver;
150 * The list of built-in JTAG interfaces, containing entries for those
151 * drivers that were enabled by the @c configure script.
153 struct adapter_driver *adapter_drivers[] = {
154 #if BUILD_PARPORT == 1
155 &parport_adapter_driver,
158 &dummy_adapter_driver,
161 &ftdi_adapter_driver,
163 #if BUILD_USB_BLASTER || BUILD_USB_BLASTER_2 == 1
164 &usb_blaster_adapter_driver,
166 #if BUILD_ESP_USB_JTAG == 1
167 &esp_usb_adapter_driver,
169 #if BUILD_JTAG_VPI == 1
170 &jtag_vpi_adapter_driver,
172 #if BUILD_VDEBUG == 1
173 &vdebug_adapter_driver,
175 #if BUILD_JTAG_DPI == 1
176 &jtag_dpi_adapter_driver,
178 #if BUILD_FT232R == 1
179 &ft232r_adapter_driver,
181 #if BUILD_AMTJTAGACCEL == 1
182 &amt_jtagaccel_adapter_driver,
184 #if BUILD_EP93XX == 1
185 &ep93xx_adapter_driver,
187 #if BUILD_AT91RM9200 == 1
188 &at91rm9200_adapter_driver,
190 #if BUILD_GW16012 == 1
191 &gw16012_adapter_driver,
194 &presto_adapter_driver,
196 #if BUILD_USBPROG == 1
197 &usbprog_adapter_driver,
199 #if BUILD_OPENJTAG == 1
200 &openjtag_adapter_driver,
203 &jlink_adapter_driver,
205 #if BUILD_VSLLINK == 1
206 &vsllink_adapter_driver,
209 &rlink_adapter_driver,
212 &ulink_adapter_driver,
214 #if BUILD_ARMJTAGEW == 1
215 &armjtagew_adapter_driver,
217 #if BUILD_BUSPIRATE == 1
218 &buspirate_adapter_driver,
220 #if BUILD_REMOTE_BITBANG == 1
221 &remote_bitbang_adapter_driver,
223 #if BUILD_HLADAPTER == 1
227 &osbdm_adapter_driver,
229 #if BUILD_OPENDOUS == 1
230 &opendous_adapter_driver,
232 #if BUILD_SYSFSGPIO == 1
233 &sysfsgpio_adapter_driver,
235 #if BUILD_LINUXGPIOD == 1
236 &linuxgpiod_adapter_driver,
238 #if BUILD_XLNX_PCIE_XVC == 1
239 &xlnx_pcie_xvc_adapter_driver,
242 &aice_adapter_driver,
244 #if BUILD_BCM2835GPIO == 1
245 &bcm2835gpio_adapter_driver,
247 #if BUILD_CMSIS_DAP_USB == 1 || BUILD_CMSIS_DAP_HID == 1
248 &cmsis_dap_adapter_driver,
250 #if BUILD_KITPROG == 1
251 &kitprog_adapter_driver,
253 #if BUILD_IMX_GPIO == 1
254 &imx_gpio_adapter_driver,
256 #if BUILD_XDS110 == 1
257 &xds110_adapter_driver,
259 #if BUILD_HLADAPTER_STLINK == 1
260 &stlink_dap_adapter_driver,
263 &rshim_dap_adapter_driver,
265 #if BUILD_AM335XGPIO == 1
266 &am335xgpio_adapter_driver,