aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/aice/aice_port.c
diff options
context:
space:
mode:
authorHsiangkai Wang <hsiangkai@gmail.com>2013-02-05 09:34:18 +0800
committerSpencer Oliver <spen@spen-soft.co.uk>2013-06-05 19:27:23 +0000
commitceb402dc9e903d2f3f6bc8125dfed9d82b83d2d1 (patch)
tree30771448f2a2e901163c33947414039ceece2e79 /src/jtag/aice/aice_port.c
parent8890ce34696d2e6a18eeda4a410724d24ad57360 (diff)
aice: add Andes AICE support
Andes AICE uses USB to transfer packets between OpenOCD and AICE. It uses high-level USB commands to control targets instead of using JTAG signals. I define an interface as aice_port_api_s. It contains all basic operations needed by target-dependent code. Change-Id: I117bc4f938fab2732e44c509ea68b30172d6fdb9 Signed-off-by: Hsiangkai Wang <hsiangkai@gmail.com> Reviewed-on: http://openocd.zylin.com/1256 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'src/jtag/aice/aice_port.c')
-rw-r--r--src/jtag/aice/aice_port.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/jtag/aice/aice_port.c b/src/jtag/aice/aice_port.c
new file mode 100644
index 00000000..b61275c8
--- /dev/null
+++ b/src/jtag/aice/aice_port.c
@@ -0,0 +1,47 @@
+/***************************************************************************
+ * Copyright (C) 2013 by Andes Technology *
+ * Hsiangkai Wang <hkwang@andestech.com> *
+ * *
+ * 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 *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
+ ***************************************************************************/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <helper/log.h>
+#include "aice_usb.h"
+#include "aice_pipe.h"
+#include "aice_port.h"
+
+static const struct aice_port aice_ports[] = {
+ {
+ .name = "aice_usb",
+ .type = AICE_PORT_AICE_USB,
+ .api = &aice_usb_api,
+ },
+ {
+ .name = "aice_pipe",
+ .type = AICE_PORT_AICE_PIPE,
+ .api = &aice_pipe,
+ },
+ {.name = NULL, /* END OF TABLE */ },
+};
+
+/** */
+const struct aice_port *aice_port_get_list(void)
+{
+ return aice_ports;
+}