OpenOCD
|
Go to the source code of this file.
Data Structures | |
struct | scan_result |
struct | xds110_info |
Macros | |
#define | CJTAG_CONNECT 0x2b /* Switch from JTAG to cJTAG connection */ |
#define | CJTAG_DISCONNECT 0x2c /* Switch from cJTAG to JTAG connection */ |
#define | CMAPI_ACQUIRE 0x11 /* CMAPI acquire */ |
#define | CMAPI_CONNECT 0x0f /* CMAPI connect */ |
#define | CMAPI_DISCONNECT 0x10 /* CMAPI disconnect */ |
#define | CMAPI_REG_READ 0x15 /* CMAPI DAP register read */ |
#define | CMAPI_REG_WRITE 0x16 /* CMAPI DAP register write */ |
#define | CMAPI_RELEASE 0x12 /* CMAPI release */ |
#define | CMD_DR_SCAN 2 |
#define | CMD_IR_SCAN 1 |
#define | CMD_RUNTEST 3 |
#define | CMD_STABLECLOCKS 4 |
#define | DAP_AP 0 /* DAP AP register type */ |
#define | DAP_AP_BD0 0x10 /* DAP AP Banked Data 0 */ |
#define | DAP_AP_BD1 0x14 /* DAP AP Banked Data 1 */ |
#define | DAP_AP_BD2 0x18 /* DAP AP Banked Data 2 */ |
#define | DAP_AP_BD3 0x1C /* DAP AP Banked Data 3 */ |
#define | DAP_AP_CSW 0x00 /* DAP AP Control Status Word */ |
#define | DAP_AP_DRW 0x0C /* DAP AP Data Read/Write */ |
#define | DAP_AP_IDR 0xFC /* DAP AP Identification Register */ |
#define | DAP_AP_RTBL 0xF8 /* DAP AP Debug ROM Table */ |
#define | DAP_AP_TAR 0x04 /* DAP AP Transfer Address */ |
#define | DAP_DP 1 /* DAP DP register type */ |
#define | DAP_DP_ABORT 0x0 /* DAP DP ABORT register (write only) */ |
#define | DAP_DP_ADDR 0x8 /* DAP DP SELECT register (legacy name) */ |
#define | DAP_DP_CTRL 0x4 /* DAP DP CTRL register (for write only) */ |
#define | DAP_DP_IDCODE 0x0 /* DAP DP IDCODE register (read only) */ |
#define | DAP_DP_RDBUFF 0xc /* DAP DP RDBUFF Read Buffer register */ |
#define | DAP_DP_RESEND 0x8 /* DAP DP RESEND register (read only) */ |
#define | DAP_DP_SELECT 0x8 /* DAP DP SELECT register (write only) */ |
#define | DAP_DP_STAT 0x4 /* DAP DP STAT register (for read only) */ |
#define | DEFAULT_ATTEMPTS (1) |
#define | DEFAULT_TIMEOUT (4000) |
#define | FAST_TCK_DELAY_10000_KHZ 0xfffffffd |
#define | FAST_TCK_DELAY_12000_KHZ 0xfffffffe |
#define | FAST_TCK_DELAY_14000_KHZ 0 |
#define | FAST_TCK_DELAY_5500_KHZ 2 |
#define | FAST_TCK_DELAY_8500_KHZ 1 |
#define | FAST_TCK_FIRMWARE_VERSION 0x03000000 |
#define | FAST_TCK_PLUS_FIRMWARE_VERSION 0x03000003 |
#define | MAX_DATA_BLOCK 4096 |
#define | MAX_PACKET 1024 |
#define | MAX_RESULT_QUEUE (MAX_DATA_BLOCK / 4) |
#define | MODE_JTAG 1 |
#define | OCD_DAP_REQUEST 0x3a /* Handle block of DAP requests */ |
#define | OCD_FIRMWARE_UPGRADE "XDS110: upgrade to version 2.3.0.11+ for improved support" |
#define | OCD_FIRMWARE_VERSION 0x02030011 |
#define | OCD_PATHMOVE 0x3c /* Handle PATHMOVE to navigate JTAG states */ |
#define | OCD_SCAN_REQUEST 0x3b /* Handle block of JTAG scan requests */ |
#define | SC_ERR_NONE 0 |
#define | SC_ERR_SWD_DEVICE_ID -617 |
#define | SC_ERR_SWD_FAULT -614 |
#define | SC_ERR_SWD_PARITY -616 |
#define | SC_ERR_SWD_PROTOCOL -615 |
#define | SC_ERR_SWD_WAIT -613 |
#define | SC_ERR_XDS110_FAIL -261 |
#define | SWD_CONNECT 0x17 /* Switch from JTAG to SWD connection */ |
#define | SWD_DISCONNECT 0x18 /* Switch from SWD to JTAG connection */ |
#define | USB_PAYLOAD_SIZE (MAX_DATA_BLOCK + 60) |
#define | XDS110_DEFAULT_TCK_SPEED 2500 /* kHz */ |
#define | XDS110_MAX_FAST_TCK_SPEED 14000 /* kHz */ |
#define | XDS110_MAX_SLOW_TCK_SPEED 2500 /* kHz */ |
#define | XDS110_MAX_VOLTAGE 3600 |
#define | XDS110_MIN_TCK_SPEED 100 /* kHz */ |
#define | XDS110_MIN_VOLTAGE 1800 |
#define | XDS110_STAND_ALONE_ID 0x21 |
#define | XDS_CONNECT 0x01 /* Connect JTAG connection */ |
#define | XDS_CYCLE_TCK 0x07 /* Toggle TCK for a number of cycles */ |
#define | XDS_DISCONNECT 0x02 /* Disconnect JTAG connection */ |
#define | XDS_GOTO_STATE 0x09 /* Go to requested JTAG state */ |
#define | XDS_IN_LEN 4 /* error code (int) */ |
#define | XDS_JTAG_SCAN 0x0c /* Send and receive JTAG scan */ |
#define | XDS_JTAG_STATE_CAPTURE_DR 16 |
#define | XDS_JTAG_STATE_CAPTURE_IR 17 |
#define | XDS_JTAG_STATE_EXIT1_DR 8 |
#define | XDS_JTAG_STATE_EXIT1_IR 9 |
#define | XDS_JTAG_STATE_EXIT2_DR 10 |
#define | XDS_JTAG_STATE_EXIT2_IR 11 |
#define | XDS_JTAG_STATE_IDLE 2 |
#define | XDS_JTAG_STATE_PAUSE_DR 5 |
#define | XDS_JTAG_STATE_PAUSE_IR 6 |
#define | XDS_JTAG_STATE_RESET 1 |
#define | XDS_JTAG_STATE_SELECT_DR 12 |
#define | XDS_JTAG_STATE_SELECT_IR 13 |
#define | XDS_JTAG_STATE_SHIFT_DR 3 |
#define | XDS_JTAG_STATE_SHIFT_IR 4 |
#define | XDS_JTAG_STATE_UPDATE_DR 14 |
#define | XDS_JTAG_STATE_UPDATE_IR 15 |
#define | XDS_JTAG_TRANSIT_QUICKEST 1 |
#define | XDS_JTAG_TRANSIT_VIA_CAPTURE 2 |
#define | XDS_JTAG_TRANSIT_VIA_IDLE 3 |
#define | XDS_OUT_LEN 1 /* command (byte) */ |
#define | XDS_SET_SRST 0x0e /* Assert or deassert nSRST signal */ |
#define | XDS_SET_SUPPLY 0x32 /* Set up stand-alone probe upply voltage */ |
#define | XDS_SET_TCK 0x04 /* Set TCK delay (to set TCK frequency) */ |
#define | XDS_SET_TRST 0x05 /* Assert or deassert nTRST signal */ |
#define | XDS_VERSION 0x03 /* Get firmware version and hardware ID */ |
Functions | |
static bool | cjtag_connect (uint32_t format) |
static bool | cjtag_disconnect (void) |
static bool | cmapi_acquire (void) |
static bool | cmapi_connect (uint32_t *idcode) |
static bool | cmapi_disconnect (void) |
static bool | cmapi_read_dap_reg (uint32_t type, uint32_t ap_num, uint32_t address, uint32_t *value) |
static bool | cmapi_release (void) |
static bool | cmapi_write_dap_reg (uint32_t type, uint32_t ap_num, uint32_t address, uint32_t *value) |
COMMAND_HANDLER (xds110_handle_info_command) | |
COMMAND_HANDLER (xds110_handle_supply_voltage_command) | |
static bool | ocd_dap_request (uint8_t *dap_requests, uint32_t request_size, uint32_t *dap_results, uint32_t result_count) |
static bool | ocd_pathmove (uint32_t num_states, uint8_t *path) |
static bool | ocd_scan_request (uint8_t *scan_requests, uint32_t request_size, uint8_t *scan_results, uint32_t result_size) |
static bool | swd_connect (void) |
static bool | swd_disconnect (void) |
static bool | usb_connect (void) |
static void | usb_disconnect (void) |
static bool | usb_get_response (uint32_t *total_bytes_read, uint32_t timeout) |
static bool | usb_read (unsigned char *buffer, int size, int *bytes_read, int timeout) |
static bool | usb_send_command (uint16_t size) |
static bool | usb_write (unsigned char *buffer, int size, int *written) |
static void | xds110_execute_command (struct jtag_command *cmd) |
static void | xds110_execute_pathmove (struct jtag_command *cmd) |
static int | xds110_execute_queue (struct jtag_command *cmd_queue) |
static void | xds110_execute_sleep (struct jtag_command *cmd) |
static void | xds110_execute_tlr_reset (struct jtag_command *cmd) |
static void | xds110_flush (void) |
static uint16_t | xds110_get_u16 (uint8_t *buffer) |
static uint32_t | xds110_get_u32 (uint8_t *buffer) |
static int | xds110_init (void) |
static int | xds110_khz (int khz, int *jtag_speed) |
static bool | xds110_legacy_read_reg (uint8_t cmd, uint32_t *value) |
static void | xds110_legacy_runtest (uint32_t clocks, uint32_t end_state) |
static void | xds110_legacy_scan (uint32_t shift_state, uint32_t total_bits, uint32_t end_state, uint8_t *data_out, uint8_t *data_in) |
static void | xds110_legacy_stableclocks (uint32_t clocks) |
static bool | xds110_legacy_write_reg (uint8_t cmd, uint32_t value) |
static void | xds110_queue_runtest (struct jtag_command *cmd) |
static void | xds110_queue_scan (struct jtag_command *cmd) |
static void | xds110_queue_stableclocks (struct jtag_command *cmd) |
static int | xds110_quit (void) |
static int | xds110_reset (int trst, int srst) |
static void | xds110_set_u16 (uint8_t *buffer, uint16_t value) |
static void | xds110_set_u32 (uint8_t *buffer, uint32_t value) |
static void | xds110_show_info (void) |
static int | xds110_speed (int speed) |
static int | xds110_speed_div (int speed, int *khz) |
static int | xds110_swd_init (void) |
static void | xds110_swd_queue_cmd (uint8_t cmd, uint32_t *value) |
static void | xds110_swd_read_reg (uint8_t cmd, uint32_t *value, uint32_t ap_delay_clk) |
static int | xds110_swd_run_queue (void) |
static int | xds110_swd_switch_seq (enum swd_special_seq seq) |
static void | xds110_swd_write_reg (uint8_t cmd, uint32_t value, uint32_t ap_delay_clk) |
static bool | xds_connect (void) |
static bool | xds_cycle_tck (uint32_t count) |
static bool | xds_disconnect (void) |
static bool | xds_execute (uint32_t out_length, uint32_t in_length, uint32_t attempts, uint32_t timeout) |
static bool | xds_goto_state (uint32_t state) |
static bool | xds_jtag_scan (uint32_t shift_state, uint16_t shift_bits, uint32_t end_state, uint8_t *data_out, uint8_t *data_in) |
static bool | xds_set_srst (uint8_t srst) |
static bool | xds_set_supply (uint32_t voltage) |
static bool | xds_set_tck_delay (uint32_t delay) |
static bool | xds_set_trst (uint8_t trst) |
static bool | xds_version (uint32_t *firmware_id, uint16_t *hardware_id) |
Variables | |
static struct xds110_info | xds110 |
struct adapter_driver | xds110_adapter_driver |
static const struct command_registration | xds110_command_handlers [] |
static struct jtag_interface | xds110_interface |
static const struct command_registration | xds110_subcommand_handlers [] |
static const struct swd_driver | xds110_swd_driver |
static const char *const | xds110_transport [] = { "swd", "jtag", NULL } |
static const uint32_t | xds_jtag_state [] |
#define CJTAG_CONNECT 0x2b /* Switch from JTAG to cJTAG connection */ |
#define CJTAG_DISCONNECT 0x2c /* Switch from cJTAG to JTAG connection */ |
#define CMAPI_REG_WRITE 0x16 /* CMAPI DAP register write */ |
#define DAP_AP_IDR 0xFC /* DAP AP Identification Register */ |
#define DAP_DP_ABORT 0x0 /* DAP DP ABORT register (write only) */ |
#define DAP_DP_ADDR 0x8 /* DAP DP SELECT register (legacy name) */ |
#define DAP_DP_CTRL 0x4 /* DAP DP CTRL register (for write only) */ |
#define DAP_DP_IDCODE 0x0 /* DAP DP IDCODE register (read only) */ |
#define DAP_DP_RDBUFF 0xc /* DAP DP RDBUFF Read Buffer register */ |
#define DAP_DP_RESEND 0x8 /* DAP DP RESEND register (read only) */ |
#define DAP_DP_SELECT 0x8 /* DAP DP SELECT register (write only) */ |
#define DAP_DP_STAT 0x4 /* DAP DP STAT register (for read only) */ |
#define MAX_RESULT_QUEUE (MAX_DATA_BLOCK / 4) |
#define OCD_DAP_REQUEST 0x3a /* Handle block of DAP requests */ |
#define OCD_FIRMWARE_UPGRADE "XDS110: upgrade to version 2.3.0.11+ for improved support" |
#define OCD_PATHMOVE 0x3c /* Handle PATHMOVE to navigate JTAG states */ |
#define OCD_SCAN_REQUEST 0x3b /* Handle block of JTAG scan requests */ |
#define SWD_CONNECT 0x17 /* Switch from JTAG to SWD connection */ |
#define SWD_DISCONNECT 0x18 /* Switch from SWD to JTAG connection */ |
#define USB_PAYLOAD_SIZE (MAX_DATA_BLOCK + 60) |
#define XDS_CONNECT 0x01 /* Connect JTAG connection */ |
#define XDS_DISCONNECT 0x02 /* Disconnect JTAG connection */ |
#define XDS_GOTO_STATE 0x09 /* Go to requested JTAG state */ |
#define XDS_JTAG_SCAN 0x0c /* Send and receive JTAG scan */ |
#define XDS_SET_SRST 0x0e /* Assert or deassert nSRST signal */ |
#define XDS_SET_SUPPLY 0x32 /* Set up stand-alone probe upply voltage */ |
#define XDS_SET_TRST 0x05 /* Assert or deassert nTRST signal */ |
#define XDS_VERSION 0x03 /* Get firmware version and hardware ID */ |
|
static |
Definition at line 961 of file xds110.c.
References CJTAG_CONNECT, DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, xds110_info::write_payload, xds110, xds110_set_u32(), xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_init(), and xds110_swd_switch_seq().
|
static |
Definition at line 977 of file xds110.c.
References CJTAG_DISCONNECT, DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, xds110_info::write_payload, xds110, xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_quit().
|
static |
Definition at line 860 of file xds110.c.
References CMAPI_ACQUIRE, DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, xds110_info::write_payload, xds110, xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_init(), and xds110_swd_switch_seq().
|
static |
Definition at line 829 of file xds110.c.
References CMAPI_CONNECT, DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, xds110_info::read_payload, xds110_info::write_payload, xds110, xds110_get_u32(), xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_init(), and xds110_swd_switch_seq().
|
static |
Definition at line 848 of file xds110.c.
References CMAPI_DISCONNECT, DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, xds110_info::write_payload, xds110, xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_quit().
|
static |
Definition at line 884 of file xds110.c.
References CMAPI_REG_READ, DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, xds110_info::read_payload, type, xds110_info::write_payload, xds110, xds110_get_u32(), xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_legacy_read_reg().
|
static |
Definition at line 872 of file xds110.c.
References CMAPI_RELEASE, DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, xds110_info::write_payload, xds110, xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_quit().
|
static |
Definition at line 911 of file xds110.c.
References CMAPI_REG_WRITE, DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, type, xds110_info::write_payload, xds110, xds110_set_u32(), xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_legacy_write_reg().
COMMAND_HANDLER | ( | xds110_handle_info_command | ) |
Definition at line 1996 of file xds110.c.
References ERROR_OK, and xds110_show_info().
COMMAND_HANDLER | ( | xds110_handle_supply_voltage_command | ) |
Definition at line 2002 of file xds110.c.
References CMD_ARGC, CMD_ARGV, COMMAND_PARSE_NUMBER, ERROR_COMMAND_SYNTAX_ERROR, ERROR_FAIL, ERROR_OK, LOG_ERROR, xds110_info::voltage, xds110, XDS110_MAX_VOLTAGE, and XDS110_MIN_VOLTAGE.
|
static |
Definition at line 1007 of file xds110.c.
References DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, OCD_DAP_REQUEST, xds110_info::read_payload, xds110_info::write_payload, xds110, xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_swd_run_queue().
|
static |
Definition at line 1057 of file xds110.c.
References DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, OCD_PATHMOVE, xds110_info::write_payload, xds110, xds110_set_u32(), xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_execute_pathmove().
|
static |
Definition at line 1032 of file xds110.c.
References DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, OCD_SCAN_REQUEST, xds110_info::read_payload, xds110_info::write_payload, xds110, xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_flush().
|
static |
Definition at line 937 of file xds110.c.
References DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, SWD_CONNECT, xds110_info::write_payload, xds110, xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_init(), and xds110_swd_switch_seq().
|
static |
Definition at line 949 of file xds110.c.
References DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, SWD_DISCONNECT, xds110_info::write_payload, xds110, xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_quit(), and xds110_swd_switch_seq().
|
static |
Definition at line 302 of file xds110.c.
References adapter_get_required_serial(), ARRAY_SIZE, count, xds110_info::ctx, xds110_info::dev, device, xds110_info::endpoint_in, xds110_info::endpoint_out, xds110_info::interface, LOG_ERROR, LOG_INFO, NULL, xds110_info::pid, true, xds110_info::vid, and xds110.
Referenced by xds110_init().
|
static |
Definition at line 438 of file xds110.c.
References xds110_info::ctx, xds110_info::dev, xds110_info::interface, LOG_INFO, NULL, and xds110.
Referenced by xds110_quit().
|
static |
Definition at line 498 of file xds110.c.
References buffer, count, MAX_PACKET, xds110_info::read_payload, size, USB_PAYLOAD_SIZE, usb_read(), xds110, and xds110_get_u16().
Referenced by xds_execute().
|
static |
Definition at line 454 of file xds110.c.
References buffer, DEFAULT_TIMEOUT, xds110_info::dev, xds110_info::endpoint_in, size, true, and xds110.
Referenced by usb_get_response().
|
static |
Definition at line 580 of file xds110.c.
References NULL, size, USB_PAYLOAD_SIZE, usb_write(), xds110_info::write_packet, xds110, and xds110_set_u16().
Referenced by xds_execute().
|
static |
Definition at line 472 of file xds110.c.
References buffer, xds110_info::dev, xds110_info::endpoint_out, size, true, and xds110.
Referenced by usb_send_command().
|
static |
Definition at line 1809 of file xds110.c.
References cmd, JTAG_PATHMOVE, JTAG_RUNTEST, JTAG_SCAN, JTAG_SLEEP, JTAG_STABLECLOCKS, JTAG_TLR_RESET, JTAG_TMS, LOG_ERROR, xds110_execute_pathmove(), xds110_execute_sleep(), xds110_execute_tlr_reset(), xds110_flush(), xds110_queue_runtest(), xds110_queue_scan(), and xds110_queue_stableclocks().
Referenced by xds110_execute_queue().
|
static |
Definition at line 1670 of file xds110.c.
References cmd, xds110_info::firmware, LOG_ERROR, OCD_FIRMWARE_UPGRADE, OCD_FIRMWARE_VERSION, ocd_pathmove(), xds110, and xds_jtag_state.
Referenced by xds110_execute_command().
|
static |
Definition at line 1841 of file xds110.c.
References cmd, ERROR_OK, xds110_execute_command(), and xds110_flush().
|
static |
Definition at line 1660 of file xds110.c.
References cmd, and jtag_sleep().
Referenced by xds110_execute_command().
|
static |
Definition at line 1665 of file xds110.c.
References xds_goto_state(), and XDS_JTAG_STATE_RESET.
Referenced by xds110_execute_command().
|
static |
Definition at line 1523 of file xds110.c.
References bit_copy(), bits, scan_result::buffer, CMD_DR_SCAN, CMD_IR_SCAN, CMD_RUNTEST, CMD_STABLECLOCKS, DIV_ROUND_UP, xds110_info::firmware, scan_result::first, LOG_ERROR, MAX_DATA_BLOCK, scan_result::num_bits, OCD_FIRMWARE_VERSION, ocd_scan_request(), xds110_info::txn_request_size, xds110_info::txn_requests, xds110_info::txn_result_count, xds110_info::txn_result_size, xds110_info::txn_scan_results, xds110, xds110_legacy_runtest(), xds110_legacy_scan(), xds110_legacy_stableclocks(), XDS_JTAG_STATE_SHIFT_DR, and XDS_JTAG_STATE_SHIFT_IR.
Referenced by xds110_execute_command(), xds110_execute_queue(), xds110_queue_runtest(), xds110_queue_scan(), and xds110_queue_stableclocks().
|
inlinestatic |
Definition at line 288 of file xds110.c.
References buffer.
Referenced by usb_get_response(), and xds_version().
|
inlinestatic |
Definition at line 279 of file xds110.c.
References buffer.
Referenced by cmapi_connect(), cmapi_read_dap_reg(), xds_execute(), and xds_version().
|
static |
Definition at line 1420 of file xds110.c.
References alive_sleep(), cjtag_connect(), cmapi_acquire(), cmapi_connect(), ERROR_FAIL, ERROR_OK, xds110_info::firmware, xds110_info::hardware, xds110_info::is_cmapi_acquired, xds110_info::is_cmapi_connected, xds110_info::is_connected, xds110_info::is_swd_mode, LOG_WARNING, MODE_JTAG, swd_connect(), usb_connect(), xds110_info::voltage, xds110, xds110_quit(), xds110_show_info(), XDS110_STAND_ALONE_ID, xds_connect(), xds_cycle_tck(), xds_set_supply(), xds_set_trst(), and xds_version().
|
static |
|
static |
Definition at line 1140 of file xds110.c.
References bank, cmapi_read_dap_reg(), cmd, DAP_AP, DAP_AP_DRW, DAP_DP, DAP_DP_RDBUFF, LOG_ERROR, xds110_info::rdbuff, xds110_info::select, SWD_CMD_A32, SWD_CMD_APNDP, SWD_CMD_RNW, type, xds110_info::use_rdbuff, and xds110.
Referenced by xds110_swd_run_queue().
|
static |
Definition at line 1511 of file xds110.c.
References xds_cycle_tck(), xds_goto_state(), and XDS_JTAG_STATE_IDLE.
Referenced by xds110_flush().
|
static |
|
static |
|
static |
Definition at line 1202 of file xds110.c.
References bank, cmapi_write_dap_reg(), cmd, DAP_AP, DAP_DP, DAP_DP_SELECT, xds110_info::is_ap_dirty, LOG_ERROR, xds110_info::select, SWD_CMD_A32, SWD_CMD_APNDP, SWD_CMD_RNW, type, xds110_info::use_rdbuff, and xds110.
Referenced by xds110_swd_run_queue().
|
static |
Definition at line 1774 of file xds110.c.
References cmd, CMD_RUNTEST, MAX_DATA_BLOCK, xds110_info::txn_request_size, xds110_info::txn_requests, xds110, xds110_flush(), and xds_jtag_state.
Referenced by xds110_execute_command().
|
static |
Definition at line 1704 of file xds110.c.
References bit_copy(), buffer, scan_result::buffer, cmd, CMD_DR_SCAN, CMD_IR_SCAN, DIV_ROUND_UP, scan_result::first, LOG_ERROR, MAX_DATA_BLOCK, MAX_RESULT_QUEUE, scan_result::num_bits, offset, xds110_info::txn_request_size, xds110_info::txn_requests, xds110_info::txn_result_count, xds110_info::txn_result_size, xds110_info::txn_scan_results, xds110, xds110_flush(), and xds_jtag_state.
Referenced by xds110_execute_command().
|
static |
Definition at line 1793 of file xds110.c.
References cmd, CMD_STABLECLOCKS, MAX_DATA_BLOCK, xds110_info::txn_request_size, xds110_info::txn_requests, xds110, and xds110_flush().
Referenced by xds110_execute_command().
|
static |
Definition at line 1392 of file xds110.c.
References cjtag_disconnect(), cmapi_disconnect(), cmapi_release(), ERROR_OK, xds110_info::is_cmapi_acquired, xds110_info::is_cmapi_connected, xds110_info::is_connected, xds110_info::is_swd_mode, swd_disconnect(), usb_disconnect(), xds110, and xds_disconnect().
Referenced by xds110_init().
|
static |
Definition at line 1616 of file xds110.c.
References ERROR_FAIL, ERROR_OK, xds110_info::is_swd_mode, xds110_info::speed, xds110, xds_cycle_tck(), xds_set_srst(), and xds_set_trst().
|
inlinestatic |
Definition at line 273 of file xds110.c.
References buffer.
Referenced by usb_send_command(), and xds_jtag_scan().
|
inlinestatic |
Definition at line 265 of file xds110.c.
References buffer.
Referenced by cjtag_connect(), cmapi_write_dap_reg(), ocd_pathmove(), xds_cycle_tck(), xds_goto_state(), xds_set_supply(), and xds_set_tck_delay().
|
static |
Definition at line 1364 of file xds110.c.
References adapter_get_required_serial(), xds110_info::firmware, xds110_info::hardware, xds110_info::is_swd_mode, LOG_INFO, LOG_WARNING, OCD_FIRMWARE_UPGRADE, OCD_FIRMWARE_VERSION, xds110_info::pid, xds110_info::speed, xds110_info::vid, and xds110.
Referenced by COMMAND_HANDLER(), and xds110_init().
|
static |
Definition at line 1855 of file xds110.c.
References xds110_info::delay_count, ERROR_FAIL, ERROR_JTAG_NOT_IMPLEMENTED, ERROR_OK, FAST_TCK_DELAY_10000_KHZ, FAST_TCK_DELAY_12000_KHZ, FAST_TCK_DELAY_5500_KHZ, FAST_TCK_DELAY_8500_KHZ, FAST_TCK_FIRMWARE_VERSION, FAST_TCK_PLUS_FIRMWARE_VERSION, xds110_info::firmware, LOG_INFO, xds110_info::speed, xds110, XDS110_MAX_FAST_TCK_SPEED, XDS110_MAX_SLOW_TCK_SPEED, XDS110_MIN_TCK_SPEED, and xds_set_tck_delay().
|
static |
|
static |
Definition at line 1085 of file xds110.c.
References ERROR_OK, xds110_info::is_swd_mode, and xds110.
|
static |
Definition at line 1304 of file xds110.c.
References cmd, CORUNDETECT, DAP_AP, DAP_DP, DAP_DP_CTRL, LOG_DEBUG, MAX_DATA_BLOCK, MAX_RESULT_QUEUE, SWD_CMD_A32, SWD_CMD_APNDP, SWD_CMD_RNW, SWD_CMD_START, xds110_info::txn_dap_results, xds110_info::txn_request_size, xds110_info::txn_requests, xds110_info::txn_result_count, xds110_info::txn_result_size, type, xds110, and xds110_swd_run_queue().
Referenced by xds110_swd_read_reg(), and xds110_swd_write_reg().
|
static |
Definition at line 1345 of file xds110.c.
References cmd, SWD_CMD_RNW, and xds110_swd_queue_cmd().
|
static |
Definition at line 1249 of file xds110.c.
References cmd, ERROR_FAIL, ERROR_OK, xds110_info::firmware, MAX_RESULT_QUEUE, ocd_dap_request(), OCD_FIRMWARE_VERSION, SWD_CMD_RNW, xds110_info::txn_dap_results, xds110_info::txn_request_size, xds110_info::txn_requests, xds110_info::txn_result_count, xds110_info::txn_result_size, xds110, xds110_legacy_read_reg(), and xds110_legacy_write_reg().
Referenced by xds110_swd_queue_cmd().
|
static |
Definition at line 1091 of file xds110.c.
References cjtag_connect(), cmapi_acquire(), cmapi_connect(), ERROR_FAIL, ERROR_OK, xds110_info::is_cmapi_acquired, xds110_info::is_cmapi_connected, xds110_info::is_swd_mode, JTAG_TO_SWD, LINE_RESET, LOG_DEBUG, LOG_ERROR, MODE_JTAG, swd_connect(), swd_disconnect(), SWD_TO_JTAG, and xds110.
|
static |
Definition at line 1351 of file xds110.c.
References cmd, SWD_CMD_RNW, and xds110_swd_queue_cmd().
|
static |
Definition at line 655 of file xds110.c.
References DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, xds110_info::write_payload, xds110, XDS_CONNECT, xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_init().
|
static |
Definition at line 733 of file xds110.c.
References count, DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, xds110_info::write_payload, xds110, xds110_set_u32(), XDS_CYCLE_TCK, xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_init(), xds110_legacy_runtest(), xds110_legacy_stableclocks(), and xds110_reset().
|
static |
Definition at line 667 of file xds110.c.
References DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, xds110_info::write_payload, xds110, XDS_DISCONNECT, xds_execute(), XDS_IN_LEN, and XDS_OUT_LEN.
Referenced by xds110_quit().
|
static |
Definition at line 606 of file xds110.c.
References xds110_info::dev, LOG_DEBUG, xds110_info::read_payload, SC_ERR_NONE, SC_ERR_XDS110_FAIL, usb_get_response(), usb_send_command(), xds110_info::write_payload, xds110, and xds110_get_u32().
Referenced by cjtag_connect(), cjtag_disconnect(), cmapi_acquire(), cmapi_connect(), cmapi_disconnect(), cmapi_read_dap_reg(), cmapi_release(), cmapi_write_dap_reg(), ocd_dap_request(), ocd_pathmove(), ocd_scan_request(), swd_connect(), swd_disconnect(), xds_connect(), xds_cycle_tck(), xds_disconnect(), xds_goto_state(), xds_jtag_scan(), xds_set_srst(), xds_set_supply(), xds_set_tck_delay(), xds_set_trst(), and xds_version().
|
static |
Definition at line 749 of file xds110.c.
References DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, state, xds110_info::write_payload, xds110, xds110_set_u32(), xds_execute(), XDS_GOTO_STATE, XDS_IN_LEN, XDS_JTAG_TRANSIT_QUICKEST, and XDS_OUT_LEN.
Referenced by xds110_execute_tlr_reset(), and xds110_legacy_runtest().
|
static |
Definition at line 767 of file xds110.c.
References DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, DIV_ROUND_UP, xds110_info::read_payload, xds110_info::write_payload, xds110, xds110_set_u16(), xds_execute(), XDS_IN_LEN, XDS_JTAG_SCAN, XDS_JTAG_TRANSIT_QUICKEST, and XDS_OUT_LEN.
Referenced by xds110_legacy_scan().
|
static |
Definition at line 813 of file xds110.c.
References DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, xds110_info::write_payload, xds110, xds_execute(), XDS_IN_LEN, XDS_OUT_LEN, and XDS_SET_SRST.
Referenced by xds110_reset().
|
static |
Definition at line 989 of file xds110.c.
References DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, xds110_info::write_payload, xds110, xds110_set_u32(), xds_execute(), XDS_IN_LEN, XDS_OUT_LEN, and XDS_SET_SUPPLY.
Referenced by xds110_init().
|
static |
Definition at line 701 of file xds110.c.
References DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, xds110_info::write_payload, xds110, xds110_set_u32(), xds_execute(), XDS_IN_LEN, XDS_OUT_LEN, and XDS_SET_TCK.
Referenced by xds110_speed().
|
static |
Definition at line 717 of file xds110.c.
References DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, xds110_info::write_payload, xds110, xds_execute(), XDS_IN_LEN, XDS_OUT_LEN, and XDS_SET_TRST.
Referenced by xds110_init(), and xds110_reset().
|
static |
Definition at line 679 of file xds110.c.
References DEFAULT_ATTEMPTS, DEFAULT_TIMEOUT, xds110_info::read_payload, xds110_info::write_payload, xds110, xds110_get_u16(), xds110_get_u32(), xds_execute(), XDS_IN_LEN, XDS_OUT_LEN, and XDS_VERSION.
Referenced by xds110_init().
|
static |
Definition at line 176 of file xds110.c.
Referenced by cjtag_connect(), cjtag_disconnect(), cmapi_acquire(), cmapi_connect(), cmapi_disconnect(), cmapi_read_dap_reg(), cmapi_release(), cmapi_write_dap_reg(), COMMAND_HANDLER(), ocd_dap_request(), ocd_pathmove(), ocd_scan_request(), swd_connect(), swd_disconnect(), usb_connect(), usb_disconnect(), usb_get_response(), usb_read(), usb_send_command(), usb_write(), xds110_execute_pathmove(), xds110_flush(), xds110_init(), xds110_legacy_read_reg(), xds110_legacy_write_reg(), xds110_queue_runtest(), xds110_queue_scan(), xds110_queue_stableclocks(), xds110_quit(), xds110_reset(), xds110_show_info(), xds110_speed(), xds110_swd_init(), xds110_swd_queue_cmd(), xds110_swd_run_queue(), xds110_swd_switch_seq(), xds_connect(), xds_cycle_tck(), xds_disconnect(), xds_execute(), xds_goto_state(), xds_jtag_scan(), xds_set_srst(), xds_set_supply(), xds_set_tck_delay(), xds_set_trst(), and xds_version().
struct adapter_driver xds110_adapter_driver |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 176 of file xds110.c.
Referenced by xds110_execute_pathmove(), xds110_queue_runtest(), and xds110_queue_scan().