* 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. *
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. *
***************************************************************************/
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
-#include "embeddedice.h"
-#include "minidriver.h"
-#include "interface.h"
-
-
+#include <jtag/jtag.h>
+#include <target/embeddedice.h>
+#include <jtag/minidriver.h>
+#include <jtag/interface.h>
-
-struct jtag_interface minidummy_interface =
-{
+struct jtag_interface minidummy_interface = {
.name = "minidummy",
.execute_queue = NULL,
.speed = NULL,
- .register_commands = NULL,
+ .commands = NULL,
.init = NULL,
.quit = NULL,
.khz = NULL,
.srst_asserted = NULL,
};
-
-
-
-
-
int interface_jtag_execute_queue(void)
{
/* synchronously do the operation here */
return ERROR_OK;
}
-
-
-
-
-extern int jtag_check_value(uint8_t *captured, void *priv);
-
-int interface_jtag_add_ir_scan(int num_fields, const struct scan_field *fields, tap_state_t state)
+int interface_jtag_add_ir_scan(struct jtag_tap *active, const struct scan_field *fields,
+ tap_state_t state)
{
/* synchronously do the operation here */
return ERROR_OK;
-
}
-
-
-
-
-int interface_jtag_add_plain_ir_scan(int num_fields, const struct scan_field *fields, tap_state_t state)
+int interface_jtag_add_plain_ir_scan(int num_bits, const uint8_t *out_bits,
+ uint8_t *in_bits, tap_state_t state)
{
/* synchronously do the operation here */
return ERROR_OK;
}
-/*extern jtag_struct command **jtag_get_last_command_p(void);*/
-
-int interface_jtag_add_dr_scan(int num_fields, const struct scan_field *fields, tap_state_t state)
+int interface_jtag_add_dr_scan(struct jtag_tap *active, int num_fields,
+ const struct scan_field *fields, tap_state_t state)
{
/* synchronously do the operation here */
return ERROR_OK;
}
-int interface_jtag_add_plain_dr_scan(int num_fields, const struct scan_field *fields, tap_state_t state)
+int interface_jtag_add_plain_dr_scan(int num_bits, const uint8_t *out_bits,
+ uint8_t *in_bits, 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 */
tap_state_t cur_state = cmd_queue_cur_state;
- while (num_states)
- {
+ 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]));
+ 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);
}
return ERROR_OK;
}
+int interface_add_tms_seq(unsigned num_bits, const uint8_t *seq, enum tap_state state)
+{
+ /* synchronously do the operation here */
+ return ERROR_OK;
+}
-void embeddedice_write_dcc(struct jtag_tap *tap, int reg_addr, uint8_t *buffer, int little, int count)
+void embeddedice_write_dcc(struct jtag_tap *tap, int reg_addr, const uint8_t *buffer,
+ int little, int count)
{
int i;
- for (i = 0; i < count; i++)
- {
+ for (i = 0; i < count; i++) {
embeddedice_write_reg_inner(tap, reg_addr, fast_target_buffer_get_u32(buffer, little));
buffer += 4;
}
}
+int arm11_run_instr_data_to_core_noack_inner(struct jtag_tap *tap, uint32_t opcode,
+ uint32_t *data, size_t count)
+{
+ int arm11_run_instr_data_to_core_noack_inner_default(struct jtag_tap *tap, \
+ uint32_t opcode, uint32_t *data, size_t count);
+ return arm11_run_instr_data_to_core_noack_inner_default(tap, opcode, data, count);
+}