OpenOCD
|
Go to the source code of this file.
Data Structures | |
struct | xlnx_axi_xvc |
struct | xlnx_pcie_xvc |
Macros | |
#define | MASK_ACK(x) (((x) >> 9) & 0x7) |
#define | MASK_PAR(x) ((int)((x) & 0x1)) |
#define | PCI_CFG_SPACE_EXP_SIZE 4096 |
#define | PCIE_EXT_CAP_LST 0x100 |
#define | XLNX_AXI_XVC_CTRL_REG 0x10 |
#define | XLNX_AXI_XVC_CTRL_REG_ENABLE_MASK 0x01 |
#define | XLNX_AXI_XVC_LEN_REG 0x00 |
#define | XLNX_AXI_XVC_MAX_REG 0x18 |
#define | XLNX_AXI_XVC_TDI_REG 0x08 |
#define | XLNX_AXI_XVC_TDO_REG 0x0c |
#define | XLNX_AXI_XVC_TMS_REG 0x04 |
#define | XLNX_PCIE_XVC_CAP_SIZE 0x20 |
#define | XLNX_PCIE_XVC_EXT_CAP 0x00 |
#define | XLNX_PCIE_XVC_LEN_REG 0x0C |
#define | XLNX_PCIE_XVC_TDX_REG 0x14 |
#define | XLNX_PCIE_XVC_TMS_REG 0x10 |
#define | XLNX_PCIE_XVC_VSEC_HDR 0x04 |
#define | XLNX_PCIE_XVC_VSEC_ID 0x8 |
#define | XLNX_XVC_MAX_BITS 0x20 |
Enumerations | |
enum | xlnx_xvc_type_t { PCIE , AXI } |
Functions | |
COMMAND_HANDLER (xlnx_axi_xvc_handle_dev_addr_command) | |
COMMAND_HANDLER (xlnx_axi_xvc_handle_dev_file_command) | |
COMMAND_HANDLER (xlnx_pcie_xvc_handle_config_command) | |
static void | swd_clear_sticky_errors (enum xlnx_xvc_type_t xvc_type) |
static int | xlnx_axi_xvc_execute_queue (struct jtag_command *cmd_queue) |
static int | xlnx_axi_xvc_init (void) |
static int | xlnx_axi_xvc_quit (void) |
static int | xlnx_axi_xvc_read_reg (const int offset, uint32_t *val) |
static void | xlnx_axi_xvc_swd_read_reg (uint8_t cmd, uint32_t *value, uint32_t ap_delay_clk) |
static int | xlnx_axi_xvc_swd_run_queue (void) |
static int | xlnx_axi_xvc_swd_switch_seq (enum swd_special_seq seq) |
static void | xlnx_axi_xvc_swd_write_reg (uint8_t cmd, uint32_t value, uint32_t ap_delay_clk) |
static int | xlnx_axi_xvc_transact (size_t num_bits, uint32_t tms, uint32_t tdi, uint32_t *tdo) |
static int | xlnx_axi_xvc_write_reg (const int offset, const uint32_t val) |
static int | xlnx_pcie_xvc_execute_queue (struct jtag_command *cmd_queue) |
static int | xlnx_pcie_xvc_init (void) |
static int | xlnx_pcie_xvc_quit (void) |
static int | xlnx_pcie_xvc_read_reg (const int offset, uint32_t *val) |
static void | xlnx_pcie_xvc_swd_read_reg (uint8_t cmd, uint32_t *value, uint32_t ap_delay_clk) |
static int | xlnx_pcie_xvc_swd_run_queue (void) |
static int | xlnx_pcie_xvc_swd_switch_seq (enum swd_special_seq seq) |
static void | xlnx_pcie_xvc_swd_write_reg (uint8_t cmd, uint32_t value, uint32_t ap_delay_clk) |
static int | xlnx_pcie_xvc_transact (size_t num_bits, uint32_t tms, uint32_t tdi, uint32_t *tdo) |
static int | xlnx_pcie_xvc_write_reg (const int offset, const uint32_t val) |
static int | xlnx_xvc_execute_command (struct jtag_command *cmd, enum xlnx_xvc_type_t xvc_type) |
static int | xlnx_xvc_execute_pathmove (struct jtag_command *cmd, enum xlnx_xvc_type_t xvc_type) |
static int | xlnx_xvc_execute_queue (struct jtag_command *cmd_queue, enum xlnx_xvc_type_t xvc_type) |
static int | xlnx_xvc_execute_runtest (struct jtag_command *cmd, enum xlnx_xvc_type_t xvc_type) |
static int | xlnx_xvc_execute_scan (struct jtag_command *cmd, enum xlnx_xvc_type_t xvc_type) |
static void | xlnx_xvc_execute_sleep (struct jtag_command *cmd) |
static int | xlnx_xvc_execute_stableclocks (struct jtag_command *cmd, enum xlnx_xvc_type_t xvc_type) |
static int | xlnx_xvc_execute_statemove (size_t skip, enum xlnx_xvc_type_t xvc_type) |
static int | xlnx_xvc_execute_tms (struct jtag_command *cmd, enum xlnx_xvc_type_t xvc_type) |
static int | xlnx_xvc_swd_init (void) |
static void | xlnx_xvc_swd_read_reg (uint8_t cmd, uint32_t *value, uint32_t ap_delay_clk, enum xlnx_xvc_type_t xvc_type) |
static int | xlnx_xvc_swd_run_queue (enum xlnx_xvc_type_t xvc_type) |
static int | xlnx_xvc_swd_sequence (const uint8_t *seq, size_t length, enum xlnx_xvc_type_t xvc_type) |
static int | xlnx_xvc_swd_switch_seq (enum swd_special_seq seq, enum xlnx_xvc_type_t xvc_type) |
static void | xlnx_xvc_swd_write_reg (uint8_t cmd, uint32_t value, uint32_t ap_delay_clk, enum xlnx_xvc_type_t xvc_type) |
static int | xlnx_xvc_transact (size_t num_bits, uint32_t tms, uint32_t tdi, uint32_t *tdo, enum xlnx_xvc_type_t xvc_type) |
Variables | |
static int | queued_retval |
static struct xlnx_axi_xvc * | xlnx_axi_xvc = &xlnx_axi_xvc_state |
struct adapter_driver | xlnx_axi_xvc_adapter_driver |
static const struct command_registration | xlnx_axi_xvc_command_handlers [] |
static struct jtag_interface | xlnx_axi_xvc_jtag_ops |
static struct xlnx_axi_xvc | xlnx_axi_xvc_state |
static const struct command_registration | xlnx_axi_xvc_subcommand_handlers [] |
static const struct swd_driver | xlnx_axi_xvc_swd_ops |
static struct xlnx_pcie_xvc * | xlnx_pcie_xvc = &xlnx_pcie_xvc_state |
struct adapter_driver | xlnx_pcie_xvc_adapter_driver |
static const struct command_registration | xlnx_pcie_xvc_command_handlers [] |
static struct jtag_interface | xlnx_pcie_xvc_jtag_ops |
static struct xlnx_pcie_xvc | xlnx_pcie_xvc_state |
static const struct command_registration | xlnx_pcie_xvc_subcommand_handlers [] |
static const struct swd_driver | xlnx_pcie_xvc_swd_ops |
#define MASK_ACK | ( | x | ) | (((x) >> 9) & 0x7) |
Definition at line 58 of file xlnx-xvc.c.
#define MASK_PAR | ( | x | ) | ((int)((x) & 0x1)) |
Definition at line 59 of file xlnx-xvc.c.
#define PCI_CFG_SPACE_EXP_SIZE 4096 |
Definition at line 33 of file xlnx-xvc.c.
#define PCIE_EXT_CAP_LST 0x100 |
Definition at line 36 of file xlnx-xvc.c.
#define XLNX_AXI_XVC_CTRL_REG 0x10 |
Definition at line 51 of file xlnx-xvc.c.
#define XLNX_AXI_XVC_CTRL_REG_ENABLE_MASK 0x01 |
Definition at line 54 of file xlnx-xvc.c.
#define XLNX_AXI_XVC_LEN_REG 0x00 |
Definition at line 47 of file xlnx-xvc.c.
#define XLNX_AXI_XVC_MAX_REG 0x18 |
Definition at line 52 of file xlnx-xvc.c.
#define XLNX_AXI_XVC_TDI_REG 0x08 |
Definition at line 49 of file xlnx-xvc.c.
#define XLNX_AXI_XVC_TDO_REG 0x0c |
Definition at line 50 of file xlnx-xvc.c.
#define XLNX_AXI_XVC_TMS_REG 0x04 |
Definition at line 48 of file xlnx-xvc.c.
#define XLNX_PCIE_XVC_CAP_SIZE 0x20 |
Definition at line 44 of file xlnx-xvc.c.
#define XLNX_PCIE_XVC_EXT_CAP 0x00 |
Definition at line 38 of file xlnx-xvc.c.
#define XLNX_PCIE_XVC_LEN_REG 0x0C |
Definition at line 40 of file xlnx-xvc.c.
#define XLNX_PCIE_XVC_TDX_REG 0x14 |
Definition at line 42 of file xlnx-xvc.c.
#define XLNX_PCIE_XVC_TMS_REG 0x10 |
Definition at line 41 of file xlnx-xvc.c.
#define XLNX_PCIE_XVC_VSEC_HDR 0x04 |
Definition at line 39 of file xlnx-xvc.c.
#define XLNX_PCIE_XVC_VSEC_ID 0x8 |
Definition at line 45 of file xlnx-xvc.c.
#define XLNX_XVC_MAX_BITS 0x20 |
Definition at line 56 of file xlnx-xvc.c.
enum xlnx_xvc_type_t |
Enumerator | |
---|---|
PCIE | |
AXI |
Definition at line 75 of file xlnx-xvc.c.
COMMAND_HANDLER | ( | xlnx_axi_xvc_handle_dev_addr_command | ) |
Definition at line 647 of file xlnx-xvc.c.
References CMD_ARGC, CMD_ARGV, xlnx_axi_xvc::device_addr, ERROR_COMMAND_SYNTAX_ERROR, and ERROR_OK.
COMMAND_HANDLER | ( | xlnx_axi_xvc_handle_dev_file_command | ) |
Definition at line 658 of file xlnx-xvc.c.
References CMD_ARGC, CMD_ARGV, xlnx_axi_xvc::device_file, ERROR_COMMAND_SYNTAX_ERROR, and ERROR_OK.
COMMAND_HANDLER | ( | xlnx_pcie_xvc_handle_config_command | ) |
Definition at line 636 of file xlnx-xvc.c.
References CMD_ARGC, CMD_ARGV, xlnx_pcie_xvc::device, ERROR_COMMAND_SYNTAX_ERROR, and ERROR_OK.
|
static |
Definition at line 789 of file xlnx-xvc.c.
References DP_ABORT, ORUNERRCLR, STKCMPCLR, STKERRCLR, swd_cmd(), WDERRCLR, and xlnx_xvc_swd_write_reg().
Referenced by xlnx_xvc_swd_read_reg(), and xlnx_xvc_swd_write_reg().
|
static |
Definition at line 511 of file xlnx-xvc.c.
References AXI, and xlnx_xvc_execute_queue().
|
static |
Definition at line 571 of file xlnx-xvc.c.
References xlnx_axi_xvc::base, xlnx_axi_xvc::device_addr, xlnx_axi_xvc::device_file, ERROR_JTAG_INIT_FAILED, ERROR_OK, xlnx_axi_xvc::fd, LOG_ERROR, LOG_INFO, NULL, and XLNX_AXI_XVC_MAX_REG.
|
static |
Definition at line 620 of file xlnx-xvc.c.
References xlnx_axi_xvc::base, xlnx_pcie_xvc::device, xlnx_axi_xvc::device_addr, xlnx_axi_xvc::device_file, ERROR_OK, xlnx_axi_xvc::fd, and XLNX_AXI_XVC_MAX_REG.
|
static |
Definition at line 107 of file xlnx-xvc.c.
References xlnx_axi_xvc::base, ERROR_OK, and offset.
Referenced by xlnx_axi_xvc_transact().
|
static |
Definition at line 865 of file xlnx-xvc.c.
References AXI, cmd, and xlnx_xvc_swd_read_reg().
|
static |
Definition at line 963 of file xlnx-xvc.c.
References AXI, and xlnx_xvc_swd_run_queue().
|
static |
Definition at line 778 of file xlnx-xvc.c.
References AXI, and xlnx_xvc_swd_switch_seq().
|
static |
Definition at line 936 of file xlnx-xvc.c.
References AXI, cmd, and xlnx_xvc_swd_write_reg().
|
static |
Definition at line 180 of file xlnx-xvc.c.
References ctrl, ERROR_OK, LOG_DEBUG_IO, XLNX_AXI_XVC_CTRL_REG, XLNX_AXI_XVC_CTRL_REG_ENABLE_MASK, XLNX_AXI_XVC_LEN_REG, xlnx_axi_xvc_read_reg(), XLNX_AXI_XVC_TDI_REG, XLNX_AXI_XVC_TDO_REG, XLNX_AXI_XVC_TMS_REG, and xlnx_axi_xvc_write_reg().
Referenced by xlnx_xvc_transact().
|
static |
Definition at line 139 of file xlnx-xvc.c.
References xlnx_axi_xvc::base, ERROR_OK, and offset.
Referenced by xlnx_axi_xvc_transact().
|
static |
Definition at line 506 of file xlnx-xvc.c.
References PCIE, and xlnx_xvc_execute_queue().
|
static |
Definition at line 516 of file xlnx-xvc.c.
References xlnx_pcie_xvc::device, ERROR_JTAG_INIT_FAILED, ERROR_OK, xlnx_pcie_xvc::fd, LOG_DEBUG, LOG_ERROR, LOG_INFO, xlnx_pcie_xvc::offset, PCI_CFG_SPACE_EXP_SIZE, PCIE_EXT_CAP_LST, XLNX_PCIE_XVC_CAP_SIZE, XLNX_PCIE_XVC_EXT_CAP, xlnx_pcie_xvc_read_reg(), XLNX_PCIE_XVC_VSEC_HDR, and XLNX_PCIE_XVC_VSEC_ID.
|
static |
Definition at line 609 of file xlnx-xvc.c.
References ERROR_OK, and xlnx_pcie_xvc::fd.
|
static |
Definition at line 85 of file xlnx-xvc.c.
References ERROR_JTAG_DEVICE_ERROR, ERROR_OK, xlnx_pcie_xvc::fd, LOG_ERROR, offset, and xlnx_pcie_xvc::offset.
Referenced by xlnx_pcie_xvc_init(), and xlnx_pcie_xvc_transact().
|
static |
Definition at line 859 of file xlnx-xvc.c.
References cmd, PCIE, and xlnx_xvc_swd_read_reg().
|
static |
Definition at line 958 of file xlnx-xvc.c.
References PCIE, and xlnx_xvc_swd_run_queue().
|
static |
Definition at line 773 of file xlnx-xvc.c.
References PCIE, and xlnx_xvc_swd_switch_seq().
|
static |
Definition at line 930 of file xlnx-xvc.c.
References cmd, PCIE, and xlnx_xvc_swd_write_reg().
|
static |
Definition at line 150 of file xlnx-xvc.c.
References ERROR_OK, LOG_DEBUG_IO, XLNX_PCIE_XVC_LEN_REG, xlnx_pcie_xvc_read_reg(), XLNX_PCIE_XVC_TDX_REG, XLNX_PCIE_XVC_TMS_REG, and xlnx_pcie_xvc_write_reg().
Referenced by xlnx_xvc_transact().
|
static |
Definition at line 120 of file xlnx-xvc.c.
References ERROR_JTAG_DEVICE_ERROR, ERROR_OK, xlnx_pcie_xvc::fd, LOG_ERROR, offset, and xlnx_pcie_xvc::offset.
Referenced by xlnx_pcie_xvc_transact().
|
static |
Definition at line 456 of file xlnx-xvc.c.
References cmd, ERROR_JTAG_QUEUE_FAILED, ERROR_OK, JTAG_PATHMOVE, JTAG_RESET, JTAG_RUNTEST, JTAG_SCAN, JTAG_SLEEP, JTAG_STABLECLOCKS, JTAG_TLR_RESET, JTAG_TMS, LOG_DEBUG, LOG_ERROR, LOG_INFO, tap_set_end_state(), xlnx_xvc_execute_pathmove(), xlnx_xvc_execute_runtest(), xlnx_xvc_execute_scan(), xlnx_xvc_execute_sleep(), xlnx_xvc_execute_stableclocks(), xlnx_xvc_execute_statemove(), and xlnx_xvc_execute_tms().
Referenced by xlnx_xvc_execute_queue().
|
static |
Definition at line 327 of file xlnx-xvc.c.
References cmd, ERROR_JTAG_QUEUE_FAILED, ERROR_OK, LOG_DEBUG, LOG_ERROR, NULL, tap_get_state(), tap_set_end_state(), tap_set_state, tap_state_name(), tap_state_transition(), and xlnx_xvc_transact().
Referenced by xlnx_xvc_execute_command().
|
static |
Definition at line 488 of file xlnx-xvc.c.
References cmd, ERROR_OK, and xlnx_xvc_execute_command().
Referenced by xlnx_axi_xvc_execute_queue(), and xlnx_pcie_xvc_execute_queue().
|
static |
Definition at line 291 of file xlnx-xvc.c.
References cmd, ERROR_OK, LOG_DEBUG, MIN, NULL, tap_get_end_state(), tap_get_state(), TAP_IDLE, tap_set_end_state(), xlnx_xvc_execute_statemove(), XLNX_XVC_MAX_BITS, and xlnx_xvc_transact().
Referenced by xlnx_xvc_execute_command().
|
static |
Definition at line 359 of file xlnx-xvc.c.
References BIT, buf_get_u32(), buf_set_u32(), cmd, ERROR_OK, jtag_build_buffer(), jtag_read_buffer(), jtag_scan_type(), LOG_DEBUG, MIN, NULL, SCAN_IN, SCAN_OUT, TAP_DRSHIFT, tap_get_end_state(), tap_get_state(), TAP_IRSHIFT, tap_set_end_state(), tap_state_name(), type, xlnx_xvc_execute_statemove(), XLNX_XVC_MAX_BITS, and xlnx_xvc_transact().
Referenced by xlnx_xvc_execute_command().
|
static |
Definition at line 425 of file xlnx-xvc.c.
References cmd, and LOG_DEBUG.
Referenced by xlnx_xvc_execute_command().
|
static |
Definition at line 249 of file xlnx-xvc.c.
References cmd, ERROR_OK, LOG_DEBUG, MIN, NULL, tap_get_state(), TAP_RESET, XLNX_XVC_MAX_BITS, and xlnx_xvc_transact().
Referenced by xlnx_xvc_execute_command().
|
static |
Definition at line 269 of file xlnx-xvc.c.
References ERROR_OK, LOG_DEBUG, NULL, tap_get_end_state(), tap_get_state(), tap_get_tms_path(), tap_get_tms_path_len(), tap_set_state, tap_state_name(), and xlnx_xvc_transact().
Referenced by xlnx_xvc_execute_command(), xlnx_xvc_execute_runtest(), and xlnx_xvc_execute_scan().
|
static |
Definition at line 431 of file xlnx-xvc.c.
References bits, buf_get_u32(), cmd, ERROR_OK, LOG_DEBUG, MIN, NULL, XLNX_XVC_MAX_BITS, and xlnx_xvc_transact().
Referenced by xlnx_xvc_execute_command().
|
static |
Definition at line 968 of file xlnx-xvc.c.
|
static |
Definition at line 795 of file xlnx-xvc.c.
References cmd, ERROR_FAIL, ERROR_OK, LOG_DEBUG, LOG_DEBUG_IO, MASK_ACK, MASK_PAR, NULL, parity_u32(), queued_retval, SWD_ACK_FAULT, SWD_ACK_OK, SWD_ACK_WAIT, swd_clear_sticky_errors(), SWD_CMD_A32, SWD_CMD_APNDP, SWD_CMD_PARK, SWD_CMD_RNW, SWD_CMD_START, and xlnx_xvc_transact().
Referenced by xlnx_axi_xvc_swd_read_reg(), and xlnx_pcie_xvc_swd_read_reg().
|
static |
Definition at line 942 of file xlnx-xvc.c.
References ERROR_OK, LOG_DEBUG, NULL, queued_retval, and xlnx_xvc_transact().
Referenced by xlnx_axi_xvc_swd_run_queue(), and xlnx_pcie_xvc_swd_run_queue().
|
static |
Definition at line 728 of file xlnx-xvc.c.
References buf_get_u32(), ERROR_OK, length, MIN, NULL, XLNX_XVC_MAX_BITS, and xlnx_xvc_transact().
Referenced by xlnx_xvc_swd_switch_seq().
|
static |
Definition at line 749 of file xlnx-xvc.c.
References ERROR_FAIL, ERROR_OK, JTAG_TO_SWD, LINE_RESET, LOG_DEBUG, LOG_ERROR, swd_seq_jtag_to_swd, swd_seq_jtag_to_swd_len, swd_seq_line_reset, swd_seq_line_reset_len, swd_seq_swd_to_jtag, swd_seq_swd_to_jtag_len, SWD_TO_JTAG, and xlnx_xvc_swd_sequence().
Referenced by xlnx_axi_xvc_swd_switch_seq(), and xlnx_pcie_xvc_swd_switch_seq().
|
static |
Definition at line 871 of file xlnx-xvc.c.
References cmd, ERROR_OK, LOG_DEBUG, LOG_DEBUG_IO, MASK_ACK, NULL, parity_u32(), queued_retval, SWD_ACK_FAULT, SWD_ACK_OK, SWD_ACK_WAIT, swd_clear_sticky_errors(), SWD_CMD_A32, SWD_CMD_APNDP, SWD_CMD_PARK, SWD_CMD_RNW, SWD_CMD_START, and xlnx_xvc_transact().
Referenced by swd_clear_sticky_errors(), xlnx_axi_xvc_swd_write_reg(), and xlnx_pcie_xvc_swd_write_reg().
|
static |
Definition at line 240 of file xlnx-xvc.c.
References AXI, PCIE, xlnx_axi_xvc_transact(), and xlnx_pcie_xvc_transact().
Referenced by xlnx_xvc_execute_pathmove(), xlnx_xvc_execute_runtest(), xlnx_xvc_execute_scan(), xlnx_xvc_execute_stableclocks(), xlnx_xvc_execute_statemove(), xlnx_xvc_execute_tms(), xlnx_xvc_swd_read_reg(), xlnx_xvc_swd_run_queue(), xlnx_xvc_swd_sequence(), and xlnx_xvc_swd_write_reg().
|
static |
Definition at line 783 of file xlnx-xvc.c.
Referenced by xlnx_xvc_swd_read_reg(), xlnx_xvc_swd_run_queue(), and xlnx_xvc_swd_write_reg().
|
static |
Definition at line 83 of file xlnx-xvc.c.
struct adapter_driver xlnx_axi_xvc_adapter_driver |
Definition at line 968 of file xlnx-xvc.c.
|
static |
Definition at line 658 of file xlnx-xvc.c.
|
static |
Definition at line 658 of file xlnx-xvc.c.
|
static |
Definition at line 81 of file xlnx-xvc.c.
|
static |
Definition at line 658 of file xlnx-xvc.c.
|
static |
Definition at line 968 of file xlnx-xvc.c.
|
static |
Definition at line 81 of file xlnx-xvc.c.
struct adapter_driver xlnx_pcie_xvc_adapter_driver |
Definition at line 968 of file xlnx-xvc.c.
|
static |
Definition at line 658 of file xlnx-xvc.c.
|
static |
Definition at line 658 of file xlnx-xvc.c.
|
static |
Definition at line 1 of file xlnx-xvc.c.
|
static |
Definition at line 658 of file xlnx-xvc.c.
|
static |
Definition at line 968 of file xlnx-xvc.c.