X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fjtag%2Fminidriver.h;h=392a1906eec8272ee347f0ec824ed4a49c8b0273;hb=ca32f25638408df8a9c18522da43f6e8adcdb5cb;hp=9f5d8b015caf21546a8e7fbb3ec2de0bed0ce0ef;hpb=c18947b947064e7eceed8047c42d4c8dfd8ae964;p=openocd.git diff --git a/src/jtag/minidriver.h b/src/jtag/minidriver.h index 9f5d8b015c..392a1906ee 100644 --- a/src/jtag/minidriver.h +++ b/src/jtag/minidriver.h @@ -38,7 +38,7 @@ * - jtag_add_callback * - jtag_add_callback4 * - interface_jtag_add_dr_out - * + * * The following core functions are declared in this file for use by * the minidriver and do @b not need to be defined by an implementation: * - default_interface_jtag_execute_queue() @@ -48,17 +48,17 @@ #include "jtag_minidriver.h" -static inline void interface_jtag_alloc_in_value32(scan_field_t *field) +static inline void interface_jtag_alloc_in_value32(struct scan_field *field) { field->in_value = field->intmp; } -static inline void interface_jtag_add_scan_check_alloc(scan_field_t *field) +static inline void interface_jtag_add_scan_check_alloc(struct scan_field *field) { /* We're executing this synchronously, so try to use local storage. */ if (field->num_bits > 32) { - unsigned num_bytes = TAP_SCAN_BYTES(field->num_bits); + unsigned num_bytes = DIV_ROUND_UP(field->num_bits, 8); field->in_value = (uint8_t *)malloc(num_bytes); field->allocated = 1; } @@ -70,46 +70,46 @@ static inline void interface_jtag_add_scan_check_alloc(scan_field_t *field) #include "commands.h" -static inline void interface_jtag_alloc_in_value32(scan_field_t *field) +static inline void interface_jtag_alloc_in_value32(struct scan_field *field) { field->in_value = (uint8_t *)cmd_queue_alloc(4); } -static inline void interface_jtag_add_scan_check_alloc(scan_field_t *field) +static inline void interface_jtag_add_scan_check_alloc(struct scan_field *field) { - unsigned num_bytes = TAP_SCAN_BYTES(field->num_bits); + unsigned num_bytes = DIV_ROUND_UP(field->num_bits, 8); field->in_value = (uint8_t *)cmd_queue_alloc(num_bytes); } -extern void interface_jtag_add_dr_out(jtag_tap_t* tap, - int num_fields, const int* num_bits, const u32* value, +void interface_jtag_add_dr_out(struct jtag_tap* tap, + int num_fields, const int* num_bits, const uint32_t* value, tap_state_t end_state); -extern void interface_jtag_add_callback(jtag_callback1_t f, uint8_t *in); +void interface_jtag_add_callback(jtag_callback1_t f, jtag_callback_data_t data0); -extern void interface_jtag_add_callback4(jtag_callback_t f, uint8_t *in, +void interface_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); #endif -extern int interface_jtag_add_ir_scan( - int num_fields, const scan_field_t* fields, +int interface_jtag_add_ir_scan( + int num_fields, const struct scan_field* fields, tap_state_t endstate); -extern int interface_jtag_add_plain_ir_scan( - int num_fields, const scan_field_t* fields, +int interface_jtag_add_plain_ir_scan( + int num_fields, const struct scan_field* fields, tap_state_t endstate); -extern int interface_jtag_add_dr_scan( - int num_fields, const scan_field_t* fields, +int interface_jtag_add_dr_scan( + int num_fields, const struct scan_field* fields, tap_state_t endstate); -extern int interface_jtag_add_plain_dr_scan( - int num_fields, const scan_field_t* fields, +int interface_jtag_add_plain_dr_scan( + int num_fields, const struct scan_field* fields, tap_state_t endstate); -extern int interface_jtag_add_tlr(void); -extern int interface_jtag_add_pathmove(int num_states, const tap_state_t* path); -extern int interface_jtag_add_runtest(int num_cycles, tap_state_t endstate); +int interface_jtag_add_tlr(void); +int interface_jtag_add_pathmove(int num_states, const tap_state_t* path); +int interface_jtag_add_runtest(int num_cycles, tap_state_t endstate); /** * This drives the actual srst and trst pins. srst will always be 0 @@ -119,17 +119,15 @@ extern int interface_jtag_add_runtest(int num_cycles, tap_state_t endstate); * the higher level jtag_add_reset will invoke jtag_add_tlr() if * approperiate */ -extern int interface_jtag_add_reset(int trst, int srst); -extern int interface_jtag_set_end_state(tap_state_t endstate); -extern int interface_jtag_add_sleep(u32 us); -extern int interface_jtag_add_clocks(int num_cycles); -extern int interface_jtag_execute_queue(void); +int interface_jtag_add_reset(int trst, int srst); +int interface_jtag_add_sleep(uint32_t us); +int interface_jtag_add_clocks(int num_cycles); +int interface_jtag_execute_queue(void); /** * Calls the interface callback to execute the queue. This routine * is used by the JTAG driver layer and should not be called directly. */ -extern int default_interface_jtag_execute_queue(void); - +int default_interface_jtag_execute_queue(void); #endif // MINIDRIVER_H