X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fjtag%2Fminidummy%2Fminidummy.c;h=7ee206732b3ee79848f64550c2b03d988699e038;hb=b0fe92dba7c01adc25e5fe3552253a4a8c69ae1a;hp=2cab0f576e6a5b0145f3f2e345b492e90255d314;hpb=a1609e5ad1b8df67f216d2f7c43db82c420db373;p=openocd.git diff --git a/src/jtag/minidummy/minidummy.c b/src/jtag/minidummy/minidummy.c index 2cab0f576e..7ee206732b 100644 --- a/src/jtag/minidummy/minidummy.c +++ b/src/jtag/minidummy/minidummy.c @@ -12,39 +12,37 @@ * 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 . * ***************************************************************************/ + #ifdef HAVE_CONFIG_H #include "config.h" #endif -#include "embeddedice.h" -#include "minidriver.h" -#include "interface.h" - - +#include +#include +#include +#include +static struct jtag_interface minidummy_interface = { + .execute_queue = NULL, +}; -jtag_interface_t minidummy_interface = -{ +struct adapter_driver minidummy_adapter_driver = { .name = "minidummy", - .execute_queue = NULL, - .speed = NULL, - .register_commands = NULL, + .transports = jtag_only, + .commands = NULL, + .init = NULL, .quit = NULL, + .speed = NULL, .khz = NULL, .speed_div = NULL, .power_dropout = NULL, .srst_asserted = NULL, -}; - - - - + .jtag_ops = &minidummy_interface, +}; int interface_jtag_execute_queue(void) { @@ -53,57 +51,45 @@ int interface_jtag_execute_queue(void) return ERROR_OK; } - - - - -extern int jtag_check_value(uint8_t *captured, void *priv); - -int interface_jtag_add_ir_scan(int num_fields, const scan_field_t *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 scan_field_t *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_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) +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 scan_field_t *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() +int interface_jtag_add_tlr(void) { /* synchronously do the operation here */ return ERROR_OK; } - - int interface_jtag_add_reset(int req_trst, int req_srst) { /* synchronously do the operation here */ @@ -111,7 +97,6 @@ int interface_jtag_add_reset(int req_trst, int req_srst) return ERROR_OK; } - int interface_jtag_add_runtest(int num_cycles, tap_state_t state) { /* synchronously do the operation here */ @@ -141,19 +126,14 @@ int interface_jtag_add_pathmove(int num_states, const tap_state_t *path) 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); } @@ -170,15 +150,27 @@ int interface_jtag_add_pathmove(int num_states, const tap_state_t *path) 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(jtag_tap_t *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); +}