TITLE Xilinx XCVR (axi_xcvr) Regmap XCVR ENDTITLE ############################################################################################ ############################################################################################ REG 0x0000 VERSION Version Register ENDREG FIELD [31:0] VERSION RO Version number. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0001 ID Instance Identification Register ENDREG FIELD [31:0] ID RO Instance identifier number. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0002 SCRATCH Scratch (GP R/W) Register ENDREG FIELD [31:0] SCRATCH RW Scratch register. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0004 RESETN Reset Control Register ENDREG FIELD [1] BUFSTATUS_RST RW Initially this flag is held in reset with value 0x1, in order for a user to see the RX BUFSTATUS, this flag needs to be set to 0x0. ENDFIELD FIELD [0] RESETN RW If clear, link is held in reset, set this bit to 0x1 to activate link. Note that the reference clock and DRP clock must be active before setting this bit. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0005 STATUS Status Reporting Register ENDREG FIELD [6:5] BUFSTATUS RO BUFSTATUS provides status for either the RX buffer or the TX buffer. If BUFSTATUS is referring to the TX buffer, once BUFSTATUS is set High it remains High until RESETN is activated. Else if BUFSTATUS is referring to the RX buffer, once BUFSTSTATUS is High it can be cleared using BUFSTATUS_RST. If BUFTATUS[6] is 0x1 the internal FIFO overflows and when the BUFSTATUS[5] is 0x1 the internal FIFO underflows. Available from version 17.5.a. For more information consult the transceiver user guide(search for RXBUFSTATUS/TXBUFSTATUS). ENDFIELD FIELD [4] PLL_LOCK_N RO After setting the RESETN bit above, this bit must clear. If does not clears, indicates the CPLL/QPLL did not locked. Available from version 17.4.a ENDFIELD FIELD [0] STATUS RO After setting the RESETN bit above, wait for this bit to set. If set, indicates successful link activation. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0007 FPGA_INFO FPGA device information [[https://github.com/analogdevicesinc/hdl/blob/main/library/scripts/adi_xilinx_device_info_enc.tcl |Xilinx encoded values]] ENDREG FIELD [31:24] FPGA_TECHNOLOGY RO Encoded value describing the technology/generation of the FPGA device (e.g, 7series, ultrascale) ENDFIELD FIELD [23:16] FPGA_FAMILY RO Encoded value describing the family variant of the FPGA device(e.g., zynq, kintex, virtex) ENDFIELD FIELD [15:8] SPEED_GRADE RO Encoded value describing the FPGA's speed-grade ENDFIELD FIELD [7:0] DEV_PACKAGE RO Encoded value describing the device package. The package might affect high-speed interfaces ENDFIELD ############################################################################################ ############################################################################################ REG 0x0008 CONTROL Transceiver Control Register ENDREG FIELD [12] LPM_DFE_N RW Transceiver primitive control, refer Xilinx documentation. ENDFIELD FIELD [10:8] RATE[2:0] RW Transceiver primitive control, refer Xilinx documentation. ENDFIELD FIELD [5:4] SYSCLK_SEL[1:0] RW For GTX drives directly the (RX/TX)SYSCLKSEL pin of the transceiver. Refer to Xilinx documentation. For GTH/GTY drives directly the (RX/TX)PLLCLKSEL pin of the transceiver and indirectly the (RX/TX)SYSCLKSEL pin of the transceiver see [[:resources:fpga:docs:axi_adxcvr#Table 1]]. ENDFIELD FIELD [2:0] OUTCLK_SEL[2:0] RW Transceiver primitive control [[:resources:fpga:docs:axi_adxcvr#Table 2]], refer Xilinx documentation. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0009 GENERIC_INFO Physical layer info ENDREG FIELD [20] QPLL_ENABLE RO Using QPLL. ENDFIELD FIELD [19:16] XCVR_TYPE[3:0] RO [[https://github.com/analogdevicesinc/hdl/blob/main/library/scripts/adi_xilinx_device_info_enc.tcl | Xilinx encoded values.]] ENDFIELD FIELD [13:12] LINK_MODE RO Link layer mode : 01 - 8B10B decoder (aka 204B) 10 - 64B66B decoder (aka 204C); Available from version 17.3.a ENDFIELD FIELD [8] TX_OR_RX_N RO Transceiver type (transmit or receive) ENDFIELD FIELD [7:0] NUM_OF_LANES RO Physical layer number of lanes. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0010 CM_SEL Transceiver Access Register ENDREG FIELD [7:0] CM_SEL RW Transceiver common-DRP sel, set to 0xff for broadcast. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0011 CM_CONTROL Transceiver Access Register ENDREG FIELD [28] CM_WR RW Transceiver common-DRP sel, set to 0x1 for write, 0x0 for read. ENDFIELD FIELD [27:16] CM_ADDR RW Transceiver common-DRP read/write address. ENDFIELD FIELD [15:0] CM_WDATA RW Transceiver common-DRP write data. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0012 CM_STATUS Transceiver Access Register ENDREG FIELD [16] CM_BUSY RO Transceiver common-DRP access busy (0x1) or idle (0x0). ENDFIELD FIELD [15:0] CM_RDATA RW Transceiver common-DRP read data. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0018 CH_SEL Transceiver Access Register ENDREG FIELD [7:0] CH_SEL RW Transceiver channel-DRP sel, set to 0xff for broadcast. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0019 CH_CONTROL Transceiver Access Register ENDREG FIELD [28] CH_WR RW Transceiver channel-DRP sel, set to 0x1 for write, 0x0 for read. ENDFIELD FIELD [27:16] CH_ADDR RW Transceiver channel-DRP read/write address. ENDFIELD FIELD [15:0] CH_WDATA RW Transceiver channel-DRP write data. ENDFIELD ############################################################################################ ############################################################################################ REG 0x001a CH_STATUS Transceiver Access Register ENDREG FIELD [16] CH_BUSY RO Transceiver channel-DRP access busy (0x1) or idle (0x0). ENDFIELD FIELD [15:0] CH_RDATA RW Transceiver channel-DRP read data. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0020 ES_SEL Transceiver Access Register ENDREG FIELD [7:0] ES_SEL RW Transceiver eye-scan-DRP sel, set to 0xff for broadcast. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0028 ES_REQ Transceiver eye-scan Request Register ENDREG FIELD [0] ES_REQ RW Transceiver eye-scan request, set this bit to initiate an eye-scan, this bit auto-clears when scan is complete. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0029 ES_CONTROL_1 Transceiver eye-scan Control Register ENDREG FIELD [4:0] ES_PRESCALE[4:0] RW Transceiver eye-scan control, refer Xilinx documentation. ENDFIELD ############################################################################################ ############################################################################################ REG 0x002a 0x00a8 ES_CONTROL_2 Transceiver eye-scan Control Register ENDREG FIELD [25:24] ES_VOFFSET_RANGE RW Transceiver eye-scan control, refer Xilinx documentation. ENDFIELD FIELD [23:16] ES_VOFFSET_STEP RW Transceiver eye-scan control, refer Xilinx documentation. ENDFIELD FIELD [15:8] ES_VOFFSET_MAX RW Transceiver eye-scan control, refer Xilinx documentation. ENDFIELD FIELD [7:0] ES_VOFFSET_MIN RW Transceiver eye-scan control, refer Xilinx documentation. ENDFIELD ############################################################################################ ############################################################################################ REG 0x002b ES_CONTROL_3 Transceiver eye-scan Control Register ENDREG FIELD [27:16] ES_HOFFSET_MAX RW Transceiver eye-scan control, refer Xilinx documentation. ENDFIELD FIELD [11:0] ES_HOFFSET_MIN RW Transceiver eye-scan control, refer Xilinx documentation. ENDFIELD ############################################################################################ ############################################################################################ REG 0x002c ES_CONTROL_4 Transceiver eye-scan Control Register ENDREG FIELD [11:0] ES_HOFFSET_STEP RW Transceiver eye-scan control, refer Xilinx documentation. ENDFIELD ############################################################################################ ############################################################################################ REG 0x002d ES_CONTROL_5 Transceiver eye-scan Control Register ENDREG FIELD [31:0] ES_STARTADDR RW Transceiver eye-scan control, DMA start address (ES data is written to this memory address). ENDFIELD ############################################################################################ ############################################################################################ REG 0x002e ES_STATUS Transceiver eye-scan Status Register ENDREG FIELD [0] ES_STATUS RO If set, indicates an error in ES DMA. ENDFIELD ############################################################################################ ############################################################################################ REG 0x002F ES_RESET Transceiver eye-scan reset control register ENDREG FIELD [n] ES_RESET RW Controls the EYESCANRESET pin of the GTH/GTY transceivers for lane n. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0030 TX_DIFFCTRL Transceiver primitive control, refer Xilinx documentation. ENDREG FIELD [31:0] TX_DIFFCTRL RW TX driver swing control. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0031 TX_POSTCURSOR Transceiver primitive control, refer Xilinx documentation. ENDREG FIELD [31:0] TX_POSTCURSOR RW Transmiter post-cursor TX pre-emphasis control. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0032 TX_PRECURSOR Transceiver primitive control, refer Xilinx documentation. ENDREG FIELD [31:0] TX_PRECURSOR RW Transmiter pre-cursor TX pre-emphasis control. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0050 FPGA_VOLTAGE FPGA device voltage information ENDREG FIELD [15:0] FPGA_VOLTAGE RO The voltage of the FPGA device in mv ENDFIELD ############################################################################################ ############################################################################################ REG 0x0060 PRBS_CNTRL Transceiver PRBS control ENDREG FIELD [16] PRBSFORCEERR RW Valid for TX. If set, a single error is forced in the PRBS transmitter for every clock cycle. Can be used to test the PRBS checkers on the other side of the link. ENDFIELD FIELD [8] PRBSCNTRESET RW Valid for RX. Resets the PRBS error counter from the transceiver. Does not self clears. Value of error counter must be accessed via DRP. ENDFIELD FIELD [3:0] PRBSSEL RW PRBS checker or generator test pattern control. All zeros will put the PRBS in bypass mode. For TX non-zero values will stop the normal dataflow from link layer and will inject a pattern instead. See transceiver guide for specific values. ENDFIELD ############################################################################################ ############################################################################################ REG 0x0061 PRBS_STATUS RX Transceiver PRBS status ENDREG FIELD [8] PRBSERR RO This sticky status output indicates that PRBS errors have occurred. Value of error counter must be accessed via DRP. ENDFIELD FIELD [0] PRBSLOCKED RO Ignore this bit for GTX transceivers. For others: Indicates that the RX PRBS checker has been error free for 15 XCLK cycles after reset. Once asserted High, it does not deassert until reset of the RX pattern checker via PRBSCNTRESET ENDFIELD