X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fjtag%2Fjtag.h;h=f79ef93f2d8960781da86aaf6369351319779e97;hb=0811f6b192674788a00e02fbbfe29e0a2a138ea2;hp=fece65210c3ec0b03ddd62a6e4c3e821b99a3bff;hpb=97de520bc02f96f31063175fbc9cad034e84055d;p=openocd diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h index fece6521..f79ef93f 100644 --- a/src/jtag/jtag.h +++ b/src/jtag/jtag.h @@ -156,6 +156,9 @@ struct jtag_tap { /// Number of expected identification codes uint8_t expected_ids_cnt; + /// Flag saying whether to ignore version field in expected_ids[] + bool ignore_version; + /// current instruction uint8_t* cur_instr; /// Bypass register selected @@ -417,24 +420,9 @@ typedef void (*jtag_callback1_t)(jtag_callback_data_t data0); void jtag_add_callback(jtag_callback1_t, jtag_callback_data_t data0); - /** - * Defines the interface of the JTAG callback mechanism. - * - * @param in the pointer to the data clocked in - * @param data1 An integer big enough to use as an @c int or a pointer. - * @param data2 An integer big enough to use as an @c int or a pointer. - * @param data3 An integer big enough to use as an @c int or a pointer. - * @returns an error code - */ -typedef int (*jtag_callback_t)(jtag_callback_data_t data0, - jtag_callback_data_t data1, - jtag_callback_data_t data2, - jtag_callback_data_t data3); - - -/** - * This callback can be executed immediately the queue has been flushed. + * Defines the interface of the JTAG callback mechanism. Such + * callbacks can be executed once the queue has been flushed. * * The JTAG queue can be executed synchronously or asynchronously. * Typically for USB, the queue is executed asynchronously. For @@ -448,19 +436,21 @@ typedef int (*jtag_callback_t)(jtag_callback_data_t data0, * * If the execution of the queue fails before the callbacks, then -- * depending on driver implementation -- the callbacks may or may not be - * invoked. @todo Can we make this behavior consistent? + * invoked. * - * The strange name is due to C's lack of overloading using function - * arguments. + * @todo Make that behavior consistent. * - * @param f The callback function to add. * @param data0 Typically used to point to the data to operate on. * Frequently this will be the data clocked in during a shift operation. * @param data1 An integer big enough to use as an @c int or a pointer. * @param data2 An integer big enough to use as an @c int or a pointer. * @param data3 An integer big enough to use as an @c int or a pointer. - * + * @returns an error code */ +typedef int (*jtag_callback_t)(jtag_callback_data_t data0, + jtag_callback_data_t data1, + jtag_callback_data_t data2, + jtag_callback_data_t data3); /** * Run a TAP_RESET reset where the end state is TAP_RESET,