|
OpenOCD
|

Go to the source code of this file.
Data Structures | |
| struct | eud_device |
| struct | eud_swd_transfer |
Functions | |
| static int | eud_bulk_read (struct eud_device *dev, uint8_t *buf, int len) |
| static int | eud_bulk_write (struct eud_device *dev, const uint8_t *buf, int len) |
| static void | eud_close (struct eud_device *dev) |
| static int | eud_ctl_enable_swd (void) |
| static int | eud_ditms_sequence (const uint8_t *seq, unsigned int bit_len) |
| static int | eud_ditms_u16 (uint16_t tms, uint16_t count) |
| static int | eud_init (void) |
| static int | eud_khz (int khz, int *jtag_speed) |
| static int | eud_libusb_reinit (void) |
| static int | eud_op (struct eud_device *dev, uint8_t opcode, uint32_t payload) |
| static int | eud_op_no_payload (struct eud_device *dev, uint8_t opcode) |
| static int | eud_open (uint16_t pid, struct eud_device *dev) |
| static int | eud_open_inner (uint16_t pid, struct eud_device *dev, bool quiet) |
| static int | eud_open_swd_after_enable (void) |
| static int | eud_quit (void) |
| static int | eud_reopen_swd (void) |
| static int | eud_reset (int trst, int srst) |
| static int | eud_speed (int speed) |
| static int | eud_speed_div (int speed, int *khz) |
| static int | eud_swd_bitbang (uint32_t payload) |
| static int | eud_swd_flush_queue (uint32_t min_idle_clk) |
| static int | eud_swd_init (void) |
| static int | eud_swd_init_defaults (void) |
| static int | eud_swd_prepare (void) |
| static int | eud_swd_queue_transfer (uint8_t cmd, uint32_t value, uint32_t *read_value, uint32_t ap_delay_clk) |
| static int | eud_swd_read_reg (uint8_t cmd, uint32_t *value, uint32_t ap_delay_clk) |
| static int | eud_swd_run_queue (void) |
| static int | eud_swd_set_speed_index (int speed_index) |
| static int | eud_swd_switch_seq (enum swd_special_seq seq) |
| static unsigned int | eud_swd_transfer_in_size (const struct eud_swd_transfer *transfer) |
| static unsigned int | eud_swd_transfer_out_size (const struct eud_swd_transfer *transfer) |
| static int | eud_swd_write_reg (uint8_t cmd, uint32_t value, uint32_t ap_delay_clk) |
Variables | |
| struct adapter_driver | eud_adapter_driver |
| static struct eud_device | eud_ctl |
| static libusb_context * | eud_libusb_ctx |
| static struct eud_swd_transfer | eud_queue [EUD_SWD_BUFFER_SIZE] |
| static unsigned int | eud_queue_in_len |
| static unsigned int | eud_queue_len |
| static unsigned int | eud_queue_out_len |
| static int | eud_speed_index = 0xa |
| static const unsigned int | eud_speed_khz [] |
| static struct eud_device | eud_swd |
| static const struct swd_driver | eud_swd_driver |
| #define EUD_CTL_SWD_ON_CLEAR |
| #define EUD_CTL_SWD_ON_SET |
| #define EUD_SWD_BB_RESET_DEFAULT |
| #define EUD_SWD_DITMS_MAX_BITS (FIELD_GET(SWD_CMD_DITMS_COUNT, SWD_CMD_DITMS_COUNT) + 1) |
|
static |
Definition at line 233 of file eud.c.
References ERROR_FAIL, ERROR_OK, EUD_EP_IN, EUD_USB_TIMEOUT_MS, eud_device::handle, jtag_libusb_error(), and LOG_ERROR.
Referenced by eud_swd_bitbang(), and eud_swd_flush_queue().
|
static |
Definition at line 214 of file eud.c.
References ERROR_FAIL, ERROR_OK, EUD_EP_OUT, EUD_USB_TIMEOUT_MS, eud_device::handle, jtag_libusb_error(), LOG_DEBUG_IO, LOG_ERROR, and eud_device::pid.
Referenced by eud_op(), eud_op_no_payload(), eud_swd_bitbang(), and eud_swd_flush_queue().
|
static |
Definition at line 159 of file eud.c.
References eud_device::claimed, EUD_INTERFACE, eud_device::handle, NULL, and eud_device::pid.
Referenced by eud_ctl_enable_swd(), eud_init(), eud_open_inner(), eud_quit(), and eud_reopen_swd().
|
static |
Definition at line 266 of file eud.c.
References ERROR_OK, eud_close(), eud_ctl, EUD_CTL_CMD_CTLOUT_CLR, EUD_CTL_CMD_CTLOUT_SET, EUD_CTL_PID, EUD_CTL_SWD_ON_CLEAR, EUD_CTL_SWD_ON_SET, eud_op(), and eud_open().
Referenced by eud_open_swd_after_enable().
|
static |
Definition at line 376 of file eud.c.
References buf_get_u32(), ERROR_OK, eud_ditms_u16(), EUD_SWD_DITMS_MAX_BITS, MIN, and SWD_CMD_DITMS_DATA_BITS.
Referenced by eud_swd_switch_seq().
|
static |
Definition at line 361 of file eud.c.
References alive_sleep(), count, ERROR_OK, eud_op(), eud_swd, EUD_SWD_CMD_DITMS, FIELD_PREP, SWD_CMD_DITMS_COUNT, and SWD_CMD_DITMS_DATA.
Referenced by eud_ditms_sequence().
|
static |
Definition at line 677 of file eud.c.
References ERROR_FAIL, ERROR_OK, eud_close(), eud_ctl, eud_libusb_ctx, eud_open_inner(), eud_open_swd_after_enable(), eud_queue_in_len, eud_queue_len, eud_queue_out_len, eud_reopen_swd(), eud_swd, EUD_SWD_PID, eud_swd_prepare(), LOG_ERROR, and NULL.
|
static |
Definition at line 757 of file eud.c.
References ARRAY_SIZE, ERROR_OK, and eud_speed_khz.
|
static |
Definition at line 173 of file eud.c.
References ERROR_FAIL, ERROR_OK, eud_libusb_ctx, and LOG_ERROR.
Referenced by eud_open_swd_after_enable().
|
static |
Definition at line 251 of file eud.c.
References eud_bulk_write(), and h_u32_to_le().
Referenced by eud_ctl_enable_swd(), eud_ditms_u16(), eud_swd_init_defaults(), and eud_swd_set_speed_index().
|
static |
Definition at line 261 of file eud.c.
References eud_bulk_write().
Referenced by eud_swd_init_defaults().
|
static |
Definition at line 209 of file eud.c.
References eud_open_inner().
Referenced by eud_ctl_enable_swd().
|
static |
Definition at line 187 of file eud.c.
References eud_device::claimed, ERROR_FAIL, ERROR_OK, eud_close(), EUD_INTERFACE, eud_libusb_ctx, EUD_VID, eud_device::handle, jtag_libusb_error(), LOG_ERROR, and eud_device::pid.
Referenced by eud_init(), eud_open(), and eud_open_swd_after_enable().
|
static |
Definition at line 283 of file eud.c.
References alive_sleep(), ERROR_FAIL, ERROR_OK, eud_ctl_enable_swd(), eud_libusb_reinit(), eud_open_inner(), eud_swd, EUD_SWD_PID, EUD_VID, and LOG_ERROR.
Referenced by eud_init(), and eud_reopen_swd().
|
static |
Definition at line 717 of file eud.c.
References ERROR_OK, eud_close(), eud_ctl, eud_libusb_ctx, eud_swd, and NULL.
|
static |
Definition at line 305 of file eud.c.
References eud_close(), eud_open_swd_after_enable(), and eud_swd.
Referenced by eud_init(), and eud_swd_init().
|
static |
Definition at line 730 of file eud.c.
References EUD_SWD_BB_DAP_TRST_N, EUD_SWD_BB_GPIO_SRST_N, EUD_SWD_BB_RCTLR_SRST_N, EUD_SWD_BB_RESET_DEFAULT, eud_swd_bitbang(), and eud_swd_transfer::value.
|
static |
Definition at line 742 of file eud.c.
References ARRAY_SIZE, ERROR_FAIL, ERROR_OK, eud_speed_index, eud_speed_khz, eud_swd, eud_swd_set_speed_index(), eud_device::handle, and LOG_ERROR.
|
static |
Definition at line 345 of file eud.c.
References ERROR_OK, eud_bulk_read(), eud_bulk_write(), eud_swd, EUD_SWD_CMD_BITBANG, EUD_SWD_CMD_FLUSH, and h_u32_to_le().
Referenced by eud_reset().
|
static |
Definition at line 536 of file eud.c.
References eud_swd_transfer::ap_delay_clk, eud_swd_transfer::cmd, cmd, count, ERROR_OK, ERROR_SWD_FAIL, ERROR_WAIT, eud_bulk_read(), eud_bulk_write(), eud_queue, eud_queue_in_len, eud_queue_len, eud_queue_out_len, eud_swd, EUD_SWD_BUFFER_SIZE, EUD_SWD_CMD_DITMS, EUD_SWD_CMD_FLUSH, EUD_SWD_CMD_STATUS, EUD_SWD_STATUS_SIZE, FIELD_GET, FIELD_PREP, h_u32_to_le(), le_to_h_u32(), LOG_DEBUG, LOG_DEBUG_IO, LOG_ERROR, eud_swd_transfer::read_value, status, SWD_ACK_OK, swd_ack_to_error_code(), SWD_CMD_A32, SWD_CMD_APNDP, SWD_CMD_DITMS_COUNT, SWD_CMD_PARK, swd_cmd_returns_ack(), SWD_CMD_RNW, SWD_CMD_START, SWD_CMD_STATUS_ACK, SWD_CMD_STATUS_CMD_CNTR, SWD_CMD_STATUS_PARITY_ERR, SWD_CMD_STATUS_WAIT_TIMEOUT, SWD_CMD_STOP, and eud_swd_transfer::value.
Referenced by eud_swd_queue_transfer(), and eud_swd_run_queue().
|
static |
Definition at line 441 of file eud.c.
References ERROR_OK, eud_reopen_swd(), eud_swd, eud_swd_prepare(), and eud_device::handle.
|
static |
Definition at line 326 of file eud.c.
References ERROR_OK, eud_op(), eud_op_no_payload(), eud_speed_index, eud_swd, EUD_SWD_CMD_DELAY, EUD_SWD_CMD_PERIPH_RST, EUD_SWD_CMD_TIMING, eud_swd_set_speed_index(), FIELD_PREP, SWD_CMD_DELAY_TIME, and SWD_CMD_TIMING_RETRY_COUNT.
Referenced by eud_swd_prepare().
|
static |
Definition at line 371 of file eud.c.
References eud_swd_init_defaults().
Referenced by eud_init(), and eud_swd_init().
|
static |
Definition at line 474 of file eud.c.
References eud_swd_transfer::ap_delay_clk, eud_swd_transfer::cmd, cmd, ERROR_FAIL, ERROR_OK, eud_queue, eud_queue_in_len, eud_queue_len, eud_queue_out_len, EUD_SWD_BUFFER_SIZE, EUD_SWD_DITMS_MAX_BITS, EUD_SWD_DITMS_OUT_SIZE, eud_swd_flush_queue(), EUD_SWD_QUEUE_TRAILER_SIZE, EUD_SWD_STATUS_SIZE, eud_swd_transfer_in_size(), eud_swd_transfer_out_size(), LOG_ERROR, eud_swd_transfer::read_value, swd_cmd_returns_ack(), and eud_swd_transfer::value.
Referenced by eud_swd_read_reg(), and eud_swd_write_reg().
|
static |
Definition at line 524 of file eud.c.
References eud_swd_transfer::ap_delay_clk, cmd, eud_swd_queue_transfer(), SWD_CMD_RNW, and eud_swd_transfer::value.
|
static |
Definition at line 665 of file eud.c.
References ERROR_OK, eud_queue_len, and eud_swd_flush_queue().
|
static |
Definition at line 311 of file eud.c.
References ARRAY_SIZE, ERROR_FAIL, ERROR_OK, eud_op(), eud_speed_index, eud_speed_khz, eud_swd, EUD_SWD_CMD_FREQ, and LOG_ERROR.
Referenced by eud_speed(), and eud_swd_init_defaults().
|
static |
Definition at line 411 of file eud.c.
References DORMANT_TO_JTAG, DORMANT_TO_SWD, ERROR_FAIL, ERROR_OK, eud_ditms_sequence(), JTAG_TO_DORMANT, JTAG_TO_SWD, LINE_RESET, LOG_DEBUG, LOG_ERROR, swd_seq_dormant_to_jtag, swd_seq_dormant_to_jtag_len, swd_seq_dormant_to_swd, swd_seq_dormant_to_swd_len, swd_seq_jtag_to_dormant, swd_seq_jtag_to_dormant_len, swd_seq_jtag_to_swd, swd_seq_jtag_to_swd_len, swd_seq_line_reset, swd_seq_line_reset_len, swd_seq_swd_to_dormant, swd_seq_swd_to_dormant_len, SWD_TO_DORMANT, and SWD_TO_JTAG.
|
static |
Definition at line 469 of file eud.c.
References eud_swd_transfer::cmd, and SWD_CMD_RNW.
Referenced by eud_swd_queue_transfer().
|
static |
Definition at line 459 of file eud.c.
References eud_swd_transfer::ap_delay_clk, eud_swd_transfer::cmd, EUD_SWD_DITMS_OUT_SIZE, size, and SWD_CMD_RNW.
Referenced by eud_swd_queue_transfer().
|
static |
Definition at line 530 of file eud.c.
References eud_swd_transfer::ap_delay_clk, cmd, eud_swd_queue_transfer(), NULL, SWD_CMD_RNW, and eud_swd_transfer::value.
| struct adapter_driver eud_adapter_driver |
|
static |
Definition at line 130 of file eud.c.
Referenced by eud_ctl_enable_swd(), eud_init(), and eud_quit().
|
static |
Definition at line 130 of file eud.c.
Referenced by eud_init(), eud_libusb_reinit(), eud_open_inner(), and eud_quit().
|
static |
Definition at line 130 of file eud.c.
Referenced by eud_swd_flush_queue(), and eud_swd_queue_transfer().
|
static |
Definition at line 140 of file eud.c.
Referenced by eud_init(), eud_swd_flush_queue(), and eud_swd_queue_transfer().
|
static |
Definition at line 138 of file eud.c.
Referenced by eud_init(), eud_swd_flush_queue(), eud_swd_queue_transfer(), and eud_swd_run_queue().
|
static |
Definition at line 139 of file eud.c.
Referenced by eud_init(), eud_swd_flush_queue(), and eud_swd_queue_transfer().
|
static |
Definition at line 141 of file eud.c.
Referenced by eud_speed(), eud_swd_init_defaults(), and eud_swd_set_speed_index().
|
static |
Definition at line 143 of file eud.c.
Referenced by eud_khz(), eud_speed(), and eud_swd_set_speed_index().
|
static |
Definition at line 130 of file eud.c.
Referenced by eud_ditms_u16(), eud_init(), eud_open_swd_after_enable(), eud_quit(), eud_reopen_swd(), eud_speed(), eud_swd_bitbang(), eud_swd_flush_queue(), eud_swd_init(), eud_swd_init_defaults(), and eud_swd_set_speed_index().
|
static |