1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 /***************************************************************************
4 * Copyright (C) 2011 by Mathias Kuester *
5 * Mathias Kuester <kesmtp@freenet.de> *
7 * Copyright (C) 2012 by Spencer Oliver *
8 * spen@spen-soft.co.uk *
9 ***************************************************************************/
11 #ifndef OPENOCD_JTAG_HLA_HLA_INTERFACE_H
12 #define OPENOCD_JTAG_HLA_HLA_INTERFACE_H
19 extern const char *hl_transports[];
21 #define HLA_MAX_USB_IDS 16
23 struct hl_interface_param_s {
25 const char *device_desc;
26 /** List of recognised VIDs */
27 uint16_t vid[HLA_MAX_USB_IDS + 1];
28 /** List of recognised PIDs */
29 uint16_t pid[HLA_MAX_USB_IDS + 1];
31 enum hl_transports transport;
33 bool connect_under_reset;
34 /** Initial interface clock clock speed */
35 int initial_interface_speed;
39 uint16_t stlink_tcp_port;
42 struct hl_interface_s {
44 struct hl_interface_param_s param;
46 const struct hl_layout *layout;
52 int hl_interface_open(enum hl_transports tr);
55 int hl_interface_init_target(struct target *t);
56 int hl_interface_init_reset(void);
57 int hl_interface_override_target(const char **targetname);
59 #endif /* OPENOCD_JTAG_HLA_HLA_INTERFACE_H */