X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fjtag%2Fdrivers%2Fdriver.c;h=45c5d10afa8b4730cf78f83d8513620139b64f26;hb=2bc7446bb8caf751f7d6900af26384f6c64cc791;hp=f6fb4b60676a1823b94383f6f4b0a2e8210b196b;hpb=264d24495d7ff0048bd5c49736042ed66b90f7a6;p=openocd diff --git a/src/jtag/drivers/driver.c b/src/jtag/drivers/driver.c index f6fb4b60..45c5d10a 100644 --- a/src/jtag/drivers/driver.c +++ b/src/jtag/drivers/driver.c @@ -2,7 +2,7 @@ * Copyright (C) 2005 by Dominic Rath * * Dominic.Rath@gmx.de * * * - * Copyright (C) 2007,2008 Øyvind Harboe * + * Copyright (C) 2007-2009 Øyvind Harboe * * oyvind.harboe@zylin.com * * * * Copyright (C) 2009 SoftPLC Corporation * @@ -31,8 +31,10 @@ #include "config.h" #endif -#include "interface.h" -#include "minidriver.h" +#include +#include +#include +#include #include struct jtag_callback_entry @@ -213,7 +215,10 @@ int interface_jtag_add_dr_scan(int in_num_fields, const struct scan_field *in_fi if (!tap->bypass) { - struct scan_field * start_field = field; /* keep initial position for assert() */ +#ifndef NDEBUG + /* remember initial position for assert() */ + struct scan_field *start_field = field; +#endif /* NDEBUG */ for (int j = 0; j < in_num_fields; j++) { @@ -525,3 +530,30 @@ void interface_jtag_add_callback(jtag_callback1_t callback, jtag_callback_data_t jtag_add_callback4(jtag_convert_to_callback4, data0, (jtag_callback_data_t)callback, 0, 0); } + +/* A minidriver can use use an inline versions of this API level fn */ +void jtag_add_dr_out(struct jtag_tap* tap, + int num_fields, const int* num_bits, const uint32_t* value, + tap_state_t end_state) +{ + assert(end_state != TAP_RESET); + assert(end_state != TAP_INVALID); + + cmd_queue_cur_state = end_state; + + interface_jtag_add_dr_out(tap, + num_fields, num_bits, value, + end_state); +} + +void jtag_add_callback(jtag_callback1_t f, jtag_callback_data_t data0) +{ + interface_jtag_add_callback(f, data0); +} + +void jtag_add_callback4(jtag_callback_t f, jtag_callback_data_t data0, + jtag_callback_data_t data1, jtag_callback_data_t data2, + jtag_callback_data_t data3) +{ + interface_jtag_add_callback4(f, data0, data1, data2, data3); +}