TITLE SPI Engine (axi_spi_engine) AXI_SPI_ENGINE ENDTITLE ############################################################################################ ############################################################################################ REG 0x00 VERSION Version of the peripheral. Follows semantic versioning. Current version 1.00.71. ENDREG FIELD [31:16] 0x01 VERSION_MAJOR RO ENDFIELD FIELD [15:8] 0x01 VERSION_MINOR RO ENDFIELD FIELD [7:0] 0x71 VERSION_PATCH RO ENDFIELD ############################################################################################ ############################################################################################ REG 0x01 PERIPHERAL_ID ENDREG FIELD [31:0] ''ID'' PERIPHERAL_ID RO Value of the ID configuration parameter. In case of multiple instances, each instance will have a unique ID. ENDFIELD ############################################################################################ ############################################################################################ REG 0x02 SCRATCH ENDREG FIELD [31:0] 0x0 SCRATCH RW Scratch register useful for debug. ENDFIELD ############################################################################################ ############################################################################################ REG 0x03 DATA_WIDTH ENDREG FIELD [7:4] ''NUM_OF_SDI'' NUM_OF_SDI RO Number of SDI. It is equal with the maximum supported SDI lines in bits. ENDFIELD FIELD [3:0] ''DATA_WITH'' DATA_WIDTH RO Data width of the SDI/SDO parallel interface. It is equal with the maximum supported transfer length in bits. ENDFIELD ############################################################################################ ############################################################################################ REG 0x04 OFFLOAD_MEM_ADDR_WIDTH ENDREG FIELD [15:8] 0x04 SDO_MEM_ADDRESS_WIDTH RO Address width for the data (SDO) memory on the Offload Module. The size of the memory is thus ``2**SDO_MEM_ADDRESS_WIDTH`` data words. ENDFIELD FIELD [7:0] 0x04 CMD_MEM_ADDRESS_WIDTH RO Address width for the command memory on the Offload Module. The size of the command memory is thus ``2**CMD_MEM_ADDRESS_WIDTH`` instructions. ENDFIELD ############################################################################################ ############################################################################################ REG 0x05 FIFO_ADDR_WIDTH ENDREG FIELD [31:24] 0x05 SDI_FIFO_ADDRESS_WIDTH RO Address width for the SDI FIFO. The size of the SDI FIFO is thus ``2**SDI_FIFO_ADDRESS_WIDTH``. ENDFIELD FIELD [23:16] 0x05 SDO_FIFO_ADDRESS_WIDTH RO Address width for the SDO FIFO. The size of the SDO FIFO is thus ``2**SDO_FIFO_ADDRESS_WIDTH``. ENDFIELD FIELD [15:8] 0x04 SYNC_FIFO_ADDRESS_WIDTH RO Address width for the synchronization FIFO. The size of the synchronization FIFO is thus ``2**SYNC_FIFO_ADDRESS_WIDTH``. ENDFIELD FIELD [7:0] 0x04 CMD_FIFO_ADDRESS_WIDTH RO Address width for the command FIFO. The size of the command FIFO is thus ``2**CMD_FIFO_ADDRESS_WIDTH``. ENDFIELD ############################################################################################ ############################################################################################ REG 0x10 ENABLE ENDREG FIELD [31:0] 0x1 ENABLE RW Enable register. If the enable bit is set to 1 the internal state of the peripheral is reset. For proper operation, the bit needs to be set to 0. ENDFIELD ############################################################################################ ############################################################################################ REG 0x20 IRQ_MASK ENDREG FIELD [0] 0x0 CMD_ALMOST_EMPTY RW If set to 0 the CMD_ALMOST_EMPTY interrupt is masked. ENDFIELD FIELD [1] 0x0 SDO_ALMOST_EMPTY RW If set to 0 the SDO_ALMOST_EMPTY interrupt is masked. ENDFIELD FIELD [2] 0x0 SDI_ALMOST_FULL RW If set to 0 the SDI_ALMOST_FULL interrupt is masked. ENDFIELD FIELD [3] 0x0 SYNC_EVENT RW If set to 0 the SYNC_EVENT interrupt is masked. ENDFIELD FIELD [4] 0x0 OFFLOAD_SYNC_ID_PENDING RW If set to 0 the OFFLOAD_SYNC_ID_PENDING interrupt is masked. ENDFIELD ############################################################################################ ############################################################################################ REG 0x21 IRQ_PENDING ENDREG FIELD [31:0] 0x0 IRQ_PENDING RW1C Pending IRQs with mask. ENDFIELD ############################################################################################ ############################################################################################ REG 0x22 IRQ_SOURCE ENDREG FIELD [31:0] 0x0 IRQ_SOURCE RO Pending IRQs without mask. ENDFIELD ############################################################################################ ############################################################################################ REG 0x30 SYNC_ID ENDREG FIELD [31:0] 0xXXXXXXXX SYNC_ID RO Last synchronization event ID received from the SPI engine control interface. ENDFIELD ############################################################################################ ############################################################################################ REG 0x31 OFFLOAD_SYNC_ID ENDREG FIELD [31:0] 0x0 OFFLOAD_SYNC_ID RO Offload Sync ID. ENDFIELD ############################################################################################ ############################################################################################ REG 0x34 CMD_FIFO_ROOM ENDREG FIELD [31:0] log2((2^''CMD_FIFO_ADDRESS_WIDTH'')-1) CMD_FIFO_ROOM RO Number of free entries in the command FIFO. The reset value of the CMD_FIFO_ROOM register depends on the setting of the CMD_FIFO_ADDRESS_WIDTH parameter. ENDFIELD ############################################################################################ ############################################################################################ REG 0x35 SDO_FIFO_ROOM ENDREG FIELD [31:0] log2((2^''SDO_FIFO_ADDRESS_WIDTH'')-1) SDO_FIFO_ROOM RO Number of free entries in the serial-data-out FIFO. The reset value of the SDO_FIFO_ROOM register depends on the setting of the SDO_FIFO_ADDRESS_WIDTH parameter. ENDFIELD ############################################################################################ ############################################################################################ REG 0x36 SDI_FIFO_LEVEL ENDREG FIELD [31:0] 0x0 SDI_FIFO_LEVEL RO Number of valid entries in the serial-data-in FIFO. ENDFIELD ############################################################################################ ############################################################################################ REG 0x38 CMD_FIFO ENDREG FIELD [31:0] 0xXXXXXXXX CMD_FIFO WO Command FIFO register. Writing to this register inserts an entry into the command FIFO. Writing to this register when the command FIFO is full has no effect and the written entry is discarded. Reading from this register always returns 0x0. ENDFIELD ############################################################################################ ############################################################################################ REG 0x39 SDO_FIFO ENDREG FIELD [31:0] 0xXXXXXXXX SDO_FIFO WO SDO FIFO register. Writing to this register inserts an entry into the SDO FIFO. Writing to this register when the SDO FIFO is full has no effect and the written entry is discarded. Reading from this register always returns 0x0. ENDFIELD ############################################################################################ ############################################################################################ REG 0x3a SDI_FIFO ENDREG FIELD [31:0] 0xXXXXXXXX SDI_FIFO RO SDI FIFO register. Reading from this register removes the first entry from the SDI FIFO. Reading this register when the SDI FIFO is empty will return undefined data. Writing to it has no effect. ENDFIELD ############################################################################################ ############################################################################################ REG 0x3b SDI_FIFO_MSB ENDREG FIELD [31:0] 0xXXXXXXXX SDI_FIFO_MSB RO Store SDI's 32 bits MSB, if exists. ENDFIELD ############################################################################################ ############################################################################################ REG 0x3c SDI_FIFO_PEEK ENDREG FIELD [31:0] 0xXXXXXXXX SDI_FIFO_PEEK RO SDI FIFO peek register. Reading from this register returns the first entry from the SDI FIFO, but without removing it from the FIFO. Reading this register when the SDI FIFO is empty will return undefined data. Writing to it has no effect. ENDFIELD ############################################################################################ ############################################################################################ REG 0x40 OFFLOAD0_EN ENDREG FIELD [31:0] 0x0 OFFLOAD0_EN RW Set this bit to enable the offload module. ENDFIELD ############################################################################################ ############################################################################################ REG 0x41 OFFLOAD0_STATUS ENDREG FIELD [31:0] 0x0 OFFLOAD0_STATUS RO Offload status register. ENDFIELD ############################################################################################ ############################################################################################ REG 0x42 OFFLOAD0_MEM_RESET ENDREG FIELD [31:0] 0x0 OFFLOAD0_MEM_RESET WO Reset the memory of the offload module. ENDFIELD ############################################################################################ ############################################################################################ REG 0x44 OFFLOAD0_CDM_FIFO ENDREG FIELD [31:0] 0xXXXXXXXX OFFLOAD0_CDM_FIFO WO Offload command FIFO register. Writing to this register inserts an entry into the command FIFO of the offload module. Writing to this register when the command FIFO is full has no effect and the written entry is discarded. Reading from this register always returns 0x0. ENDFIELD ############################################################################################ ############################################################################################ REG 0x45 OFFLOAD0_SDO_FIFO ENDREG FIELD [31:0] 0xXXXXXXXX OFFLOAD0_SDO_FIFO WO Offload SDO FIFO register. Writing to this register inserts an entry into the offload SDO FIFO. Writing to this register when the SDO FIFO is full has no effect and the written entry is discarded. Reading from this register always returns 0x0. ENDFIELD ############################################################################################ ############################################################################################ REG 0x80 CFG_INFO_0 ENDREG FIELD [31:0] ''CFG_INFO_0'' CFG_INFO_0 RO Configuration Info. ENDFIELD ############################################################################################ ############################################################################################ REG 0x81 CFG_INFO_1 ENDREG FIELD [31:0] ''CFG_INFO_1'' CFG_INFO_1 RO Configuration Info. ENDFIELD ############################################################################################ ############################################################################################ REG 0x82 CFG_INFO_2 ENDREG FIELD [31:0] ''CFG_INFO_2'' CFG_INFO_2 RO Configuration Info. ENDFIELD ############################################################################################ ############################################################################################ REG 0x83 CFG_INFO_3 ENDREG FIELD [31:0] ''CFG_INFO_3'' CFG_INFO_4 RO Configuration Info. ENDFIELD