-/***************************************************************************\r
- * Copyright (C) 2007-2008 by Øyvind Harboe *\r
- * *\r
- * This program is free software; you can redistribute it and/or modify *\r
- * it under the terms of the GNU General Public License as published by *\r
- * the Free Software Foundation; either version 2 of the License, or *\r
- * (at your option) any later version. *\r
- * *\r
- * This program is distributed in the hope that it will be useful, *\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *\r
- * GNU General Public License for more details. *\r
- * *\r
- * You should have received a copy of the GNU General Public License *\r
- * along with this program; if not, write to the *\r
- * Free Software Foundation, Inc., *\r
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *\r
- ***************************************************************************/\r
-#ifdef HAVE_CONFIG_H\r
-#include "config.h"\r
-#endif\r
-\r
-#include "embeddedice.h"\r
-#include "minidriver.h"\r
-#include "interface.h"\r
-\r
-\r
-\r
-\r
-jtag_interface_t minidummy_interface =\r
-{\r
- .name = "minidummy",\r
- .execute_queue = NULL,\r
- .speed = NULL,\r
- .register_commands = NULL,\r
- .init = NULL,\r
- .quit = NULL,\r
- .khz = NULL,\r
- .speed_div = NULL,\r
- .power_dropout = NULL,\r
- .srst_asserted = NULL,\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-int interface_jtag_execute_queue(void)\r
-{\r
- /* synchronously do the operation here */\r
-\r
- return ERROR_OK;\r
-}\r
-\r
-\r
-\r
-\r
-\r
-extern int jtag_check_value(u8 *captured, void *priv);\r
-\r
-int interface_jtag_set_end_state(tap_state_t state)\r
-{\r
- return ERROR_OK;\r
-}\r
-\r
-\r
-int interface_jtag_add_ir_scan(int num_fields, const scan_field_t *fields, tap_state_t state)\r
-{\r
- /* synchronously do the operation here */\r
-\r
- return ERROR_OK;\r
-\r
-}\r
-\r
-\r
-\r
-\r
-\r
-int interface_jtag_add_plain_ir_scan(int num_fields, const scan_field_t *fields, tap_state_t state)\r
-{\r
- /* synchronously do the operation here */\r
-\r
- return ERROR_OK;\r
-}\r
-\r
-/*extern jtag_command_t **jtag_get_last_command_p(void);*/\r
-\r
-int interface_jtag_add_dr_scan(int num_fields, const scan_field_t *fields, tap_state_t state)\r
-{\r
- /* synchronously do the operation here */\r
-\r
- return ERROR_OK;\r
-}\r
-\r
-int interface_jtag_add_plain_dr_scan(int num_fields, const scan_field_t *fields, tap_state_t state)\r
-{\r
- /* synchronously do the operation here */\r
-\r
- return ERROR_OK;\r
-}\r
-\r
-\r
-int interface_jtag_add_tlr()\r
-{\r
- /* synchronously do the operation here */\r
-\r
- return ERROR_OK;\r
-}\r
-\r
-\r
-\r
-int interface_jtag_add_reset(int req_trst, int req_srst)\r
-{\r
- /* synchronously do the operation here */\r
-\r
- return ERROR_OK;\r
-}\r
-\r
-\r
-int interface_jtag_add_runtest(int num_cycles, tap_state_t state)\r
-{\r
- /* synchronously do the operation here */\r
-\r
- return ERROR_OK;\r
-}\r
-\r
-int interface_jtag_add_clocks(int num_cycles)\r
-{\r
- /* synchronously do the operation here */\r
-\r
- return ERROR_OK;\r
-}\r
-\r
-int interface_jtag_add_sleep(u32 us)\r
-{\r
- jtag_sleep(us);\r
- return ERROR_OK;\r
-}\r
-\r
-int interface_jtag_add_pathmove(int num_states, const tap_state_t *path)\r
-{\r
- int state_count;\r
- int tms = 0;\r
-\r
- state_count = 0;\r
-\r
- tap_state_t cur_state=cmd_queue_cur_state;\r
-\r
- while (num_states)\r
- {\r
- if (tap_state_transition(cur_state, false) == path[state_count])\r
- {\r
- tms = 0;\r
- }\r
- else if (tap_state_transition(cur_state, true) == path[state_count])\r
- {\r
- tms = 1;\r
- }\r
- else\r
- {\r
- LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_name(cur_state), tap_state_name(path[state_count]));\r
- exit(-1);\r
- }\r
-\r
- /* synchronously do the operation here */\r
-\r
- cur_state = path[state_count];\r
- state_count++;\r
- num_states--;\r
- }\r
-\r
-\r
- /* synchronously do the operation here */\r
-\r
- return ERROR_OK;\r
-}\r
-\r
-\r
-\r
-void embeddedice_write_dcc(jtag_tap_t *tap, int reg_addr, u8 *buffer, int little, int count)\r
-{\r
- int i;\r
- for (i = 0; i < count; i++)\r
- {\r
- embeddedice_write_reg_inner(tap, reg_addr, fast_target_buffer_get_u32(buffer, little));\r
- buffer += 4;\r
- }\r
-}\r
-\r
+/***************************************************************************
+ * Copyright (C) 2007-2008 by Øyvind Harboe *
+ * *
+ * 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., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "embeddedice.h"
+#include "minidriver.h"
+#include "interface.h"
+
+
+
+
+jtag_interface_t minidummy_interface =
+{
+ .name = "minidummy",
+ .execute_queue = NULL,
+ .speed = NULL,
+ .register_commands = NULL,
+ .init = NULL,
+ .quit = NULL,
+ .khz = NULL,
+ .speed_div = NULL,
+ .power_dropout = NULL,
+ .srst_asserted = NULL,
+};
+
+
+
+
+
+
+int interface_jtag_execute_queue(void)
+{
+ /* synchronously do the operation here */
+
+ return ERROR_OK;
+}
+
+
+
+
+
+extern int jtag_check_value(u8 *captured, void *priv);
+
+int interface_jtag_set_end_state(tap_state_t state)
+{
+ return ERROR_OK;
+}
+
+
+int interface_jtag_add_ir_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
+{
+ /* synchronously do the operation here */
+
+ return ERROR_OK;
+
+}
+
+
+
+
+
+int interface_jtag_add_plain_ir_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
+{
+ /* synchronously do the operation here */
+
+ return ERROR_OK;
+}
+
+/*extern jtag_command_t **jtag_get_last_command_p(void);*/
+
+int interface_jtag_add_dr_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
+{
+ /* synchronously do the operation here */
+
+ return ERROR_OK;
+}
+
+int interface_jtag_add_plain_dr_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
+{
+ /* synchronously do the operation here */
+
+ return ERROR_OK;
+}
+
+
+int interface_jtag_add_tlr()
+{
+ /* synchronously do the operation here */
+
+ return ERROR_OK;
+}
+
+
+
+int interface_jtag_add_reset(int req_trst, int req_srst)
+{
+ /* synchronously do the operation here */
+
+ return ERROR_OK;
+}
+
+
+int interface_jtag_add_runtest(int num_cycles, tap_state_t state)
+{
+ /* synchronously do the operation here */
+
+ return ERROR_OK;
+}
+
+int interface_jtag_add_clocks(int num_cycles)
+{
+ /* synchronously do the operation here */
+
+ return ERROR_OK;
+}
+
+int interface_jtag_add_sleep(u32 us)
+{
+ jtag_sleep(us);
+ return ERROR_OK;
+}
+
+int interface_jtag_add_pathmove(int num_states, const tap_state_t *path)
+{
+ int state_count;
+ int tms = 0;
+
+ state_count = 0;
+
+ tap_state_t cur_state=cmd_queue_cur_state;
+
+ while (num_states)
+ {
+ if (tap_state_transition(cur_state, false) == path[state_count])
+ {
+ tms = 0;
+ }
+ else if (tap_state_transition(cur_state, true) == path[state_count])
+ {
+ tms = 1;
+ }
+ else
+ {
+ LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_name(cur_state), tap_state_name(path[state_count]));
+ exit(-1);
+ }
+
+ /* synchronously do the operation here */
+
+ cur_state = path[state_count];
+ state_count++;
+ num_states--;
+ }
+
+
+ /* synchronously do the operation here */
+
+ return ERROR_OK;
+}
+
+
+
+void embeddedice_write_dcc(jtag_tap_t *tap, int reg_addr, u8 *buffer, int little, int count)
+{
+ int i;
+ for (i = 0; i < count; i++)
+ {
+ embeddedice_write_reg_inner(tap, reg_addr, fast_target_buffer_get_u32(buffer, little));
+ buffer += 4;
+ }
+}
+
-/***************************************************************************\r
- * Copyright (C) 2007-2008 by Øyvind Harboe *\r
- * *\r
- * This program is free software; you can redistribute it and/or modify *\r
- * it under the terms of the GNU General Public License as published by *\r
- * the Free Software Foundation; either version 2 of the License, or *\r
- * (at your option) any later version. *\r
- * *\r
- * This program is distributed in the hope that it will be useful, *\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *\r
- * GNU General Public License for more details. *\r
- * *\r
- * You should have received a copy of the GNU General Public License *\r
- * along with this program; if not, write to the *\r
- * Free Software Foundation, Inc., *\r
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *\r
- ***************************************************************************/\r
-\r
-\r
-\r
-\r
-static __inline__ void interface_jtag_add_dr_out_core(jtag_tap_t *target_tap,\r
- int num_fields,\r
- const int *num_bits,\r
- const u32 *value,\r
- enum tap_state end_state)\r
-{\r
- /* synchronously do the operation here */\r
-}\r
-\r
-static __inline__ void interface_jtag_add_dr_out(jtag_tap_t *target_tap,\r
- int num_fields,\r
- const int *num_bits,\r
- const u32 *value,\r
- enum tap_state end_state)\r
-{\r
- /* synchronously do the operation here */\r
-}\r
-\r
-#define interface_jtag_add_callback(callback, in) callback(in)\r
-\r
-#define interface_jtag_add_callback4(callback, in, data1, data2, data3) jtag_set_error(callback(in, data1, data2, data3))\r
+/***************************************************************************
+ * Copyright (C) 2007-2008 by Øyvind Harboe *
+ * *
+ * 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., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+
+
+
+
+static __inline__ void interface_jtag_add_dr_out_core(jtag_tap_t *target_tap,
+ int num_fields,
+ const int *num_bits,
+ const u32 *value,
+ enum tap_state end_state)
+{
+ /* synchronously do the operation here */
+}
+
+static __inline__ void interface_jtag_add_dr_out(jtag_tap_t *target_tap,
+ int num_fields,
+ const int *num_bits,
+ const u32 *value,
+ enum tap_state end_state)
+{
+ /* synchronously do the operation here */
+}
+
+#define interface_jtag_add_callback(callback, in) callback(in)
+
+#define interface_jtag_add_callback4(callback, in, data1, data2, data3) jtag_set_error(callback(in, data1, data2, data3))