pluto_hdl_adi/docs/regmap/adi_regmap_spi_engine.txt

436 lines
9.8 KiB
Plaintext

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] 0x00000000
SCRATCH
RW
Scratch register useful for debug.
ENDFIELD
############################################################################################
############################################################################################
REG
0x03
DATA_WIDTH
ENDREG
FIELD
[31:0] 0x00000008
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] 0x00000001
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] 0x00
CMD_ALMOST_EMPTY
RW
If set to 0 the CMD_ALMOST_EMPTY interrupt is masked.
ENDFIELD
FIELD
[1] 0x00
SDO_ALMOST_EMPTY
RW
If set to 0 the SDO_ALMOST_EMPTY interrupt is masked.
ENDFIELD
FIELD
[2] 0x00
SDI_ALMOST_FULL
RW
If set to 0 the SDI_ALMOST_FULL interrupt is masked.
ENDFIELD
FIELD
[3] 0x00
SYNC_EVENT
RW
If set to 0 the SYNC_EVENT interrupt is masked.
ENDFIELD
############################################################################################
############################################################################################
REG
0x21
IRQ_PENDING
ENDREG
FIELD
[31:0] 0x00000000
IRQ_PENDING
RW1C
Pending IRQs with mask.
ENDFIELD
############################################################################################
############################################################################################
REG
0x22
IRQ_SOURCE
ENDREG
FIELD
[31:0] 0x00000000
IRQ_SOURCE
RO
Pending IRQs without mask.
ENDFIELD
############################################################################################
############################################################################################
REG
0x30
SYNC_ID
ENDREG
FIELD
[31:0] 0x00000000
SYNC_ID
RO
Last synchronization event ID received from the SPI engine control interface.
ENDFIELD
############################################################################################
############################################################################################
REG
0x34
CMD_FIFO_ROOM
ENDREG
FIELD
[31:0] 0x????????
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] 0x????????
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] 0x00000000
SDI_FIFO_LEVEL
RO
Number of valid entries in the serial-data-in FIFO.
ENDFIELD
############################################################################################
############################################################################################
REG
0x38
CMD_FIFO
ENDREG
FIELD
[31:0] 0x?????????
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 0x00000000.
ENDFIELD
############################################################################################
############################################################################################
REG
0x39
SDO_FIFO
ENDREG
FIELD
[31:0] 0x?????????
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 0x00000000.
ENDFIELD
############################################################################################
############################################################################################
REG
0x3a
SDI_FIFO
ENDREG
FIELD
[31:0] 0x?????????
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
0x3c
SDI_FIFO_PEEK
ENDREG
FIELD
[31:0] 0x?????????
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] 0x00000000
OFFLOAD0_EN
RW
Set this bit to enable the offload module.
ENDFIELD
############################################################################################
############################################################################################
REG
0x41
OFFLOAD0_STATUS
ENDREG
FIELD
[31:0] 0x00000000
OFFLOAD0_STATUS
RO
Offload status register.
ENDFIELD
############################################################################################
############################################################################################
REG
0x42
OFFLOAD0_MEM_RESET
ENDREG
FIELD
[31:0] 0x00000000
OFFLOAD0_MEM_RESET
WO
Reset the memory of the offload module.
ENDFIELD
############################################################################################
############################################################################################
REG
0x44
OFFLOAD0_CDM_FIFO
ENDREG
FIELD
[31:0] 0x????????
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 0x00000000.
ENDFIELD
############################################################################################
############################################################################################
REG
0x45
OFFLOAD0_SDO_FIFO
ENDREG
FIELD
[31:0] 0x????????
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 0x00000000.
ENDFIELD