|
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 (void) |
| 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 232 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 213 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 158 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 265 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 375 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 360 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 660 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 740 of file eud.c.
References ARRAY_SIZE, ERROR_OK, and eud_speed_khz.
|
static |
Definition at line 172 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 250 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 260 of file eud.c.
References eud_bulk_write().
Referenced by eud_swd_init_defaults().
|
static |
Definition at line 208 of file eud.c.
References eud_open_inner().
Referenced by eud_ctl_enable_swd().
|
static |
Definition at line 186 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 282 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 700 of file eud.c.
References ERROR_OK, eud_close(), eud_ctl, eud_libusb_ctx, eud_swd, and NULL.
|
static |
Definition at line 304 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 713 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 725 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 344 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 528 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 440 of file eud.c.
References ERROR_OK, eud_reopen_swd(), eud_swd, eud_swd_prepare(), and eud_device::handle.
|
static |
Definition at line 325 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 370 of file eud.c.
References eud_swd_init_defaults().
Referenced by eud_init(), and eud_swd_init().
|
static |
Definition at line 473 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_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 516 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 652 of file eud.c.
References ERROR_OK, eud_queue_len, and eud_swd_flush_queue().
|
static |
Definition at line 310 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 410 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 468 of file eud.c.
References eud_swd_transfer::cmd, and SWD_CMD_RNW.
Referenced by eud_swd_queue_transfer().
|
static |
Definition at line 458 of file eud.c.
References eud_swd_transfer::ap_delay_clk, eud_swd_transfer::cmd, size, and SWD_CMD_RNW.
Referenced by eud_swd_queue_transfer().
|
static |
Definition at line 522 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 129 of file eud.c.
Referenced by eud_ctl_enable_swd(), eud_init(), and eud_quit().
|
static |
Definition at line 129 of file eud.c.
Referenced by eud_init(), eud_libusb_reinit(), eud_open_inner(), and eud_quit().
|
static |
Definition at line 129 of file eud.c.
Referenced by eud_swd_flush_queue(), and eud_swd_queue_transfer().
|
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 137 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 138 of file eud.c.
Referenced by eud_init(), eud_swd_flush_queue(), and eud_swd_queue_transfer().
|
static |
Definition at line 140 of file eud.c.
Referenced by eud_speed(), eud_swd_init_defaults(), and eud_swd_set_speed_index().
|
static |
Definition at line 142 of file eud.c.
Referenced by eud_khz(), eud_speed(), and eud_swd_set_speed_index().
|
static |
Definition at line 129 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 |