\n

SMIF0

Peripheral Memory Blocks

address_offset : 0x0 Bytes (0x0)
size : 0x10000 byte (0x0)
mem_usage : registers
protection : not protected

Registers

CTL

SLOW_CA_CTL

SLOW_CA_CMD

DEVICE[1]-DEVICE[0]-CTL

DEVICE[1]-DEVICE[0]-ADDR

DEVICE[1]-DEVICE[0]-MASK

DEVICE[1]-DEVICE[0]-ADDR_CTL

DEVICE[1]-DEVICE[0]-RD_CMD_CTL

DEVICE[1]-DEVICE[0]-RD_ADDR_CTL

DEVICE[1]-DEVICE[0]-RD_MODE_CTL

DEVICE[1]-DEVICE[0]-RD_DUMMY_CTL

DEVICE[1]-DEVICE[0]-RD_DATA_CTL

DEVICE[1]-DEVICE[0]-WR_CMD_CTL

DEVICE[1]-DEVICE[0]-WR_ADDR_CTL

DEVICE[1]-DEVICE[0]-WR_MODE_CTL

DEVICE[1]-DEVICE[0]-WR_DUMMY_CTL

DEVICE[1]-DEVICE[0]-WR_DATA_CTL

FAST_CA_CTL

FAST_CA_CMD

DEVICE[2]-DEVICE[1]-DEVICE[0]-CTL

DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR

DEVICE[2]-DEVICE[1]-DEVICE[0]-MASK

DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR_CTL

DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_CMD_CTL

DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_ADDR_CTL

DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_MODE_CTL

DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DUMMY_CTL

DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DATA_CTL

DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_CMD_CTL

DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_ADDR_CTL

DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_MODE_CTL

DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DUMMY_CTL

DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DATA_CTL

CRYPTO_CMD

CRYPTO_INPUT0

CRYPTO_INPUT1

CRYPTO_INPUT2

CRYPTO_INPUT3

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-CTL

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-MASK

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR_CTL

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_CMD_CTL

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_ADDR_CTL

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_MODE_CTL

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DUMMY_CTL

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DATA_CTL

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_CMD_CTL

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_ADDR_CTL

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_MODE_CTL

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DUMMY_CTL

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DATA_CTL

CRYPTO_KEY0

CRYPTO_KEY1

CRYPTO_KEY2

CRYPTO_KEY3

CRYPTO_OUTPUT0

CRYPTO_OUTPUT1

CRYPTO_OUTPUT2

CRYPTO_OUTPUT3

STATUS

TX_CMD_FIFO_STATUS

TX_CMD_FIFO_WR

INTR

INTR_SET

INTR_MASK

INTR_MASKED

TX_DATA_FIFO_CTL

DEVICE[0]-CTL

DEVICE[0]-ADDR

DEVICE[0]-MASK

DEVICE[0]-ADDR_CTL

TX_DATA_FIFO_STATUS

DEVICE[0]-RD_CMD_CTL

DEVICE[0]-RD_ADDR_CTL

DEVICE[0]-RD_MODE_CTL

DEVICE[0]-RD_DUMMY_CTL

DEVICE[0]-RD_DATA_CTL

DEVICE[0]-WR_CMD_CTL

DEVICE[0]-WR_ADDR_CTL

DEVICE[0]-WR_MODE_CTL

DEVICE[0]-WR_DUMMY_CTL

DEVICE[0]-WR_DATA_CTL

TX_DATA_FIFO_WR1

TX_DATA_FIFO_WR2

TX_DATA_FIFO_WR4

RX_DATA_FIFO_CTL

RX_DATA_FIFO_STATUS

RX_DATA_FIFO_RD1

RX_DATA_FIFO_RD2

RX_DATA_FIFO_RD4

RX_DATA_FIFO_RD1_SILENT


CTL

Control
address_offset : 0x0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CTL CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 XIP_MODE CLOCK_IF_RX_SEL DESELECT_DELAY BLOCK ENABLED

XIP_MODE : Mode of operation. Note: this field should only be changed when the IP is disabled or when STATUS.BUSY is '0' and SW should not be executing from the XIP interface or MMIO interface.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : MMIO_MODE

'0': MMIO mode. Individual MMIO accesses to TX and RX FIFOs are used to generate a sequence of SPI transfers. This mode of operation allows for large flexibility in terms of the SPI transfers that can be generated.

1 : XIP_MODE

1': XIP mode. eXecute-In-Place mode: incoming read and write transfers over the AHB-Lite bus infrastructure are automatically translated in SPI transfers to read data from and write data to a device. This mode of operation allow for efficient device read and write operations. This mode is only supported in SPI_MODE.

End of enumeration elements list.

CLOCK_IF_RX_SEL : Specifies device interface receiver clock 'clk_if_rx' source. MISO data is captured on the rising edge of 'clk_if_rx'. '0': 'spi_clk_out' (internal clock) '1': !'spi_clk_out' (internal clock) '2': 'spi_clk_in' (feedback clock) '3': !'spi_clk_in' (feedback clock) Note: the device interface transmitter clock 'clk_if_tx' is fixed and is 'spi_clk_out' MOSI data is driven on the falling edge of 'clk_if_tx'.
bits : 12 - 25 (14 bit)
access : read-write

DESELECT_DELAY : Specifies the minimum duration of SPI deselection ('spi_select_out[]' is high/'1') in between SPI transfers: '0': 1 interface clock cycle. '1': 2 interface clock cycles. '2': 3 interface clock cycles. '3': 4 interface clock cycles. '4': 5 interface clock cycles. '5': 6 interface clock cycles. '6': 7 interface clock cycles. '7': 8 interface clock cycles. During SPI deselection, 'spi_select_out[]' are '1'/inactive, 'spi_data_out[]' are '1' and 'spi_clk_out' is '0'/inactive.
bits : 16 - 34 (19 bit)
access : read-write

BLOCK : Specifies what happens for MMIO interface read accesses to an empty RX data FIFO or to a full TX format/data FIFO. Note: the FIFOs can only be accessed in MMIO_MODE. This field is not used for test controller accesses.
bits : 24 - 48 (25 bit)
access : read-write

Enumeration:

0 : BUS_ERROR

0': Generate an AHB-Lite bus error. This option is useful when SW decides to use polling on STATUS.TR_BUSY to determine if a interface transfer is no longer busy (transfer is completed). This option adds SW complexity, but limits the number of AHB-Lite wait states (and limits ISR latency).

1 : WAIT_STATES

1': Introduce wait states. This setting potentially locks up the AHB-Lite infrastructure and may increase the CPU interrupt latency.This option is useful when SW performs TX/RX data FIFO accesses immediately after a command is setup using the TX format FIFO. This option has low SW complexity, but may result in a significant number of AHB-Lite wait states (and may increase ISR latency).

End of enumeration elements list.

ENABLED : IP enable: '0': Disabled. All non-retention registers are reset to their default value when the IP is disabled. When the IP is disabled, the XIP accesses produce AHB-Lite bus errors. '1': Enabled. Note: Before disabling the IP, SW should ensure that the IP is NOT busy (STATUS.BUSY is '0'), otherwise illegal interface transfers may occur.
bits : 31 - 62 (32 bit)
access : read-write

Enumeration:

0 : DISABLED

N/A

1 : ENABLED

N/A

End of enumeration elements list.


SLOW_CA_CTL

Slow cache control
address_offset : 0x100 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

SLOW_CA_CTL SLOW_CA_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WAY SET_ADDR PREF_EN ENABLED

WAY : this is for debug purpose only, and should be hidden to customers in technical document
bits : 16 - 33 (18 bit)
access : read-write

SET_ADDR : this is for debug purpose only, and should be hidden to customers in technical document
bits : 24 - 49 (26 bit)
access : read-write

PREF_EN : N/A
bits : 30 - 60 (31 bit)
access : read-write

ENABLED : N/A
bits : 31 - 62 (32 bit)
access : read-write


SLOW_CA_CMD

Slow cache command
address_offset : 0x108 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

SLOW_CA_CMD SLOW_CA_CMD read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 INV

INV : Cache invalidation. SW writes a '1' to clear the cache. The cache's LRU structure is also reset to its default state.
bits : 0 - 0 (1 bit)
access : read-write


DEVICE[1]-DEVICE[0]-CTL

Control
address_offset : 0x1080 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[1]-DEVICE[0]-CTL DEVICE[1]-DEVICE[0]-CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WR_EN CRYPTO_EN DATA_SEL ENABLED

WR_EN : Write enable: '0': write transfers are not allowed to this device. An attempt to write to this device results in an AHB-Lite bus error. '1': write transfers are allowed to this device.
bits : 0 - 0 (1 bit)
access : read-write

CRYPTO_EN : Cryptography on read/write accesses: '0': disabled. '1': enabled.
bits : 8 - 16 (9 bit)
access : read-write

DATA_SEL : Specifies the connection of the IP's data lines (spi_data[0], ..., spi_data[7]) to the device's data lines (SI/IO0, SO/IO1, IO2, IO3, IO4, IO5, IO6, IO7): '0': spi_data[0] = IO0, spi_data[1] = IO1, ..., spi_data[7] = IO7. This value is allowed for single, dual, quad, dual quad and octal SPI modes. This value must be used for the first device in dual quad SPI mode. This value must be used for octal SPI mode. '1': spi_data[2] = IO0, spi_data[3] = IO1. This value is only allowed for single and dual SPI modes. '2': spi_data[4] = IO0, spi_data[5] = IO1, ..., spi_data[7] = IO3. This value is only allowed for single, dual, quad and dual quad SPI modes. In dual quad SPI mode, this value must be used for the second device. '3': spi_data[6] = IO0, spi_data[7] = IO1. This value is only allowed for single and dual SPI modes.
bits : 16 - 33 (18 bit)
access : read-write

ENABLED : Device enable: '0': Disabled. '1': Enabled.
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[1]-DEVICE[0]-ADDR

Device region base address
address_offset : 0x1088 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[1]-DEVICE[0]-ADDR DEVICE[1]-DEVICE[0]-ADDR read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ADDR

ADDR : Specifies the base address of the device region. If the device region is 2^m Bytes, ADDR MUST be a multiple of 2^m. In dual quad SPI data transfer, the two devices should have the same ADDR and MASK register settings. The device control information (ADDR_CTL, RD_CMD_CTL, etc.) are provided by the MMIO control registers of the device with the lowest index. The most significant bit fields are constants and set based on the SMIF_XIP_ADDR parameter. The most significant bits are identified on the SMIF_XIP_MASK parameter. E.g., if SMIF_XIP_MASK is 0xff00:0000 (16 MB XIP memory region), ADDR[31:24] = SMIF_XIP_ADDR[31:24].
bits : 8 - 39 (32 bit)
access : read-write


DEVICE[1]-DEVICE[0]-MASK

Device region mask
address_offset : 0x108C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[1]-DEVICE[0]-MASK DEVICE[1]-DEVICE[0]-MASK read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MASK

MASK : Specifies the size of the device region. All '1' bits are used to compare the incoming transfer request address A[31:0] with the address as specified in ADDR.ADDR: Address A is in the device when (A[31:8] & MASK[31:8]) == ADDR.ADDR[31:8]. The most significant bit fields are constants and set to'1'. The most significant bits are identified on the SMIF_XIP_MASK parameter. E.g., if SMIF_XIP_MASK is 0xff00:0000 (16 MB XIP memory region), MASK[31:24] = 0xff. Note: a transfer request that is not in any device region results in an AHB-Lite bus error.
bits : 8 - 39 (32 bit)
access : read-write


DEVICE[1]-DEVICE[0]-ADDR_CTL

Address control
address_offset : 0x10A0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[1]-DEVICE[0]-ADDR_CTL DEVICE[1]-DEVICE[0]-ADDR_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SIZE2 DIV2

SIZE2 : Specifies the size of the XIP device address in Bytes: '0': 1 Byte address. '1': 2 Byte address. '2': 3 Byte address. '3': 4 Byte address. The lower significant address Bytes of the transfer request are used as XIP address to the external device. Note that for dual quad SPI data transfer, the transfer request address is divided by 2. Therefore, the transfer request address needs to be a multiple of 2. If the trasnfer requestaddress is NOT a multiple of 2, the XIP_ALIGNMENT_ERROR interrupt cause is activated.
bits : 0 - 1 (2 bit)
access : read-write

DIV2 : Specifies if the AHB-Lite bus transfer address is divided by 2 or not: '0': No divide by 2. '1': Divide by 2. This functionality is used for read and write operation in XIP, dual quad SPI mode; i.e. this DIV2 must be set to '1' in dual quad SPI mode. If the transfer request address is NOT a multiple of 2 or the requested number of Bytes is not a multiple of 2, the XIP_ALIGNMENT_ERROR interrupt cause is activated.
bits : 8 - 16 (9 bit)
access : read-write


DEVICE[1]-DEVICE[0]-RD_CMD_CTL

Read command control
address_offset : 0x10C0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[1]-DEVICE[0]-RD_CMD_CTL DEVICE[1]-DEVICE[0]-RD_CMD_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Command byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of data transfer: '0': 1 bit/cycle (single data transfer). '1': 2 bits/cycle (dual data transfer). '2': 4 bits/cycle (quad data transfer). '3': 8 bits/cycle (octal data transfer).
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of command field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[1]-DEVICE[0]-RD_ADDR_CTL

Read address control
address_offset : 0x10C4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[1]-DEVICE[0]-RD_ADDR_CTL DEVICE[1]-DEVICE[0]-RD_ADDR_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


DEVICE[1]-DEVICE[0]-RD_MODE_CTL

Read mode control
address_offset : 0x10C8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[1]-DEVICE[0]-RD_MODE_CTL DEVICE[1]-DEVICE[0]-RD_MODE_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Mode byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of mode field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[1]-DEVICE[0]-RD_DUMMY_CTL

Read dummy control
address_offset : 0x10CC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[1]-DEVICE[0]-RD_DUMMY_CTL DEVICE[1]-DEVICE[0]-RD_DUMMY_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SIZE5 PRESENT

SIZE5 : Number of dummy cycles (minus 1): '0': 1 cycles ... '31': 32 cycles. Note: this field specifies dummy cycles, not dummy Bytes!
bits : 0 - 4 (5 bit)
access : read-write

PRESENT : Presence of dummy cycles: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[1]-DEVICE[0]-RD_DATA_CTL

Read data control
address_offset : 0x10D0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[1]-DEVICE[0]-RD_DATA_CTL DEVICE[1]-DEVICE[0]-RD_DATA_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


DEVICE[1]-DEVICE[0]-WR_CMD_CTL

Write command control
address_offset : 0x10E0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[1]-DEVICE[0]-WR_CMD_CTL DEVICE[1]-DEVICE[0]-WR_CMD_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Command byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of command field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[1]-DEVICE[0]-WR_ADDR_CTL

Write address control
address_offset : 0x10E4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[1]-DEVICE[0]-WR_ADDR_CTL DEVICE[1]-DEVICE[0]-WR_ADDR_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


DEVICE[1]-DEVICE[0]-WR_MODE_CTL

Write mode control
address_offset : 0x10E8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[1]-DEVICE[0]-WR_MODE_CTL DEVICE[1]-DEVICE[0]-WR_MODE_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Mode byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of mode field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[1]-DEVICE[0]-WR_DUMMY_CTL

Write dummy control
address_offset : 0x10EC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[1]-DEVICE[0]-WR_DUMMY_CTL DEVICE[1]-DEVICE[0]-WR_DUMMY_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SIZE5 PRESENT

SIZE5 : Number of dummy cycles (minus 1): '0': 1 cycles ... '31': 32 cycles.
bits : 0 - 4 (5 bit)
access : read-write

PRESENT : Presence of dummy cycles: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[1]-DEVICE[0]-WR_DATA_CTL

Write data control
address_offset : 0x10F0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[1]-DEVICE[0]-WR_DATA_CTL DEVICE[1]-DEVICE[0]-WR_DATA_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


FAST_CA_CTL

Fast cache control
address_offset : 0x180 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

FAST_CA_CTL FAST_CA_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WAY SET_ADDR PREF_EN ENABLED

WAY : this is for debug purpose only, and should be hidden to customers in technical document
bits : 16 - 33 (18 bit)
access : read-write

SET_ADDR : this is for debug purpose only, and should be hidden to customers in technical document
bits : 24 - 49 (26 bit)
access : read-write

PREF_EN : N/A
bits : 30 - 60 (31 bit)
access : read-write

ENABLED : N/A
bits : 31 - 62 (32 bit)
access : read-write


FAST_CA_CMD

Fast cache command
address_offset : 0x188 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

FAST_CA_CMD FAST_CA_CMD read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 INV

INV : See SLOW_CA_CMD.INV.
bits : 0 - 0 (1 bit)
access : read-write


DEVICE[2]-DEVICE[1]-DEVICE[0]-CTL

Control
address_offset : 0x1980 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[2]-DEVICE[1]-DEVICE[0]-CTL DEVICE[2]-DEVICE[1]-DEVICE[0]-CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WR_EN CRYPTO_EN DATA_SEL ENABLED

WR_EN : Write enable: '0': write transfers are not allowed to this device. An attempt to write to this device results in an AHB-Lite bus error. '1': write transfers are allowed to this device.
bits : 0 - 0 (1 bit)
access : read-write

CRYPTO_EN : Cryptography on read/write accesses: '0': disabled. '1': enabled.
bits : 8 - 16 (9 bit)
access : read-write

DATA_SEL : Specifies the connection of the IP's data lines (spi_data[0], ..., spi_data[7]) to the device's data lines (SI/IO0, SO/IO1, IO2, IO3, IO4, IO5, IO6, IO7): '0': spi_data[0] = IO0, spi_data[1] = IO1, ..., spi_data[7] = IO7. This value is allowed for single, dual, quad, dual quad and octal SPI modes. This value must be used for the first device in dual quad SPI mode. This value must be used for octal SPI mode. '1': spi_data[2] = IO0, spi_data[3] = IO1. This value is only allowed for single and dual SPI modes. '2': spi_data[4] = IO0, spi_data[5] = IO1, ..., spi_data[7] = IO3. This value is only allowed for single, dual, quad and dual quad SPI modes. In dual quad SPI mode, this value must be used for the second device. '3': spi_data[6] = IO0, spi_data[7] = IO1. This value is only allowed for single and dual SPI modes.
bits : 16 - 33 (18 bit)
access : read-write

ENABLED : Device enable: '0': Disabled. '1': Enabled.
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR

Device region base address
address_offset : 0x1988 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ADDR

ADDR : Specifies the base address of the device region. If the device region is 2^m Bytes, ADDR MUST be a multiple of 2^m. In dual quad SPI data transfer, the two devices should have the same ADDR and MASK register settings. The device control information (ADDR_CTL, RD_CMD_CTL, etc.) are provided by the MMIO control registers of the device with the lowest index. The most significant bit fields are constants and set based on the SMIF_XIP_ADDR parameter. The most significant bits are identified on the SMIF_XIP_MASK parameter. E.g., if SMIF_XIP_MASK is 0xff00:0000 (16 MB XIP memory region), ADDR[31:24] = SMIF_XIP_ADDR[31:24].
bits : 8 - 39 (32 bit)
access : read-write


DEVICE[2]-DEVICE[1]-DEVICE[0]-MASK

Device region mask
address_offset : 0x198C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[2]-DEVICE[1]-DEVICE[0]-MASK DEVICE[2]-DEVICE[1]-DEVICE[0]-MASK read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MASK

MASK : Specifies the size of the device region. All '1' bits are used to compare the incoming transfer request address A[31:0] with the address as specified in ADDR.ADDR: Address A is in the device when (A[31:8] & MASK[31:8]) == ADDR.ADDR[31:8]. The most significant bit fields are constants and set to'1'. The most significant bits are identified on the SMIF_XIP_MASK parameter. E.g., if SMIF_XIP_MASK is 0xff00:0000 (16 MB XIP memory region), MASK[31:24] = 0xff. Note: a transfer request that is not in any device region results in an AHB-Lite bus error.
bits : 8 - 39 (32 bit)
access : read-write


DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR_CTL

Address control
address_offset : 0x19A0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR_CTL DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SIZE2 DIV2

SIZE2 : Specifies the size of the XIP device address in Bytes: '0': 1 Byte address. '1': 2 Byte address. '2': 3 Byte address. '3': 4 Byte address. The lower significant address Bytes of the transfer request are used as XIP address to the external device. Note that for dual quad SPI data transfer, the transfer request address is divided by 2. Therefore, the transfer request address needs to be a multiple of 2. If the trasnfer requestaddress is NOT a multiple of 2, the XIP_ALIGNMENT_ERROR interrupt cause is activated.
bits : 0 - 1 (2 bit)
access : read-write

DIV2 : Specifies if the AHB-Lite bus transfer address is divided by 2 or not: '0': No divide by 2. '1': Divide by 2. This functionality is used for read and write operation in XIP, dual quad SPI mode; i.e. this DIV2 must be set to '1' in dual quad SPI mode. If the transfer request address is NOT a multiple of 2 or the requested number of Bytes is not a multiple of 2, the XIP_ALIGNMENT_ERROR interrupt cause is activated.
bits : 8 - 16 (9 bit)
access : read-write


DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_CMD_CTL

Read command control
address_offset : 0x19C0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_CMD_CTL DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_CMD_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Command byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of data transfer: '0': 1 bit/cycle (single data transfer). '1': 2 bits/cycle (dual data transfer). '2': 4 bits/cycle (quad data transfer). '3': 8 bits/cycle (octal data transfer).
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of command field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_ADDR_CTL

Read address control
address_offset : 0x19C4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_ADDR_CTL DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_ADDR_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_MODE_CTL

Read mode control
address_offset : 0x19C8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_MODE_CTL DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_MODE_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Mode byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of mode field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DUMMY_CTL

Read dummy control
address_offset : 0x19CC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DUMMY_CTL DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DUMMY_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SIZE5 PRESENT

SIZE5 : Number of dummy cycles (minus 1): '0': 1 cycles ... '31': 32 cycles. Note: this field specifies dummy cycles, not dummy Bytes!
bits : 0 - 4 (5 bit)
access : read-write

PRESENT : Presence of dummy cycles: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DATA_CTL

Read data control
address_offset : 0x19D0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DATA_CTL DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DATA_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_CMD_CTL

Write command control
address_offset : 0x19E0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_CMD_CTL DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_CMD_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Command byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of command field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_ADDR_CTL

Write address control
address_offset : 0x19E4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_ADDR_CTL DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_ADDR_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_MODE_CTL

Write mode control
address_offset : 0x19E8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_MODE_CTL DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_MODE_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Mode byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of mode field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DUMMY_CTL

Write dummy control
address_offset : 0x19EC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DUMMY_CTL DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DUMMY_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SIZE5 PRESENT

SIZE5 : Number of dummy cycles (minus 1): '0': 1 cycles ... '31': 32 cycles.
bits : 0 - 4 (5 bit)
access : read-write

PRESENT : Presence of dummy cycles: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DATA_CTL

Write data control
address_offset : 0x19F0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DATA_CTL DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DATA_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


CRYPTO_CMD

Cryptography Command
address_offset : 0x200 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CRYPTO_CMD CRYPTO_CMD read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 START

START : SW sets this field to '1' to start a AES-128 forward block cipher operation (on the address in CRYPTO_ADDR). HW sets this field to '0' to indicate that the operation has completed. Once completed, the result of the operation can be read from CRYPTO_RESULT0, ..., CRYPTO_RESULT3. The operation takes roughly 13 clk_hf clock cycles. Note: An operation can only be started in MMIO_MODE.
bits : 0 - 0 (1 bit)
access : read-write


CRYPTO_INPUT0

Cryptography input 0
address_offset : 0x220 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CRYPTO_INPUT0 CRYPTO_INPUT0 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 INPUT

INPUT : Four Bytes of the plaintext PT[31:0] = CRYPTO_INPUT0.INPUT[31:0].
bits : 0 - 31 (32 bit)
access : read-write


CRYPTO_INPUT1

Cryptography input 1
address_offset : 0x224 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CRYPTO_INPUT1 CRYPTO_INPUT1 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 INPUT

INPUT : Four Bytes of the plaintext PT[63:32] = CRYPTO_INPUT1.INPUT[31:0].
bits : 0 - 31 (32 bit)
access : read-write


CRYPTO_INPUT2

Cryptography input 2
address_offset : 0x228 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CRYPTO_INPUT2 CRYPTO_INPUT2 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 INPUT

INPUT : Four Bytes of the plaintext PT[95:64] = CRYPTO_INPUT2.INPUT[31:0].
bits : 0 - 31 (32 bit)
access : read-write


CRYPTO_INPUT3

Cryptography input 3
address_offset : 0x22C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CRYPTO_INPUT3 CRYPTO_INPUT3 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 INPUT

INPUT : Four Bytes of the plaintext PT[127:96] = CRYPTO_INPUT3.INPUT[31:0].
bits : 0 - 31 (32 bit)
access : read-write


DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-CTL

Control
address_offset : 0x2300 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-CTL DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WR_EN CRYPTO_EN DATA_SEL ENABLED

WR_EN : Write enable: '0': write transfers are not allowed to this device. An attempt to write to this device results in an AHB-Lite bus error. '1': write transfers are allowed to this device.
bits : 0 - 0 (1 bit)
access : read-write

CRYPTO_EN : Cryptography on read/write accesses: '0': disabled. '1': enabled.
bits : 8 - 16 (9 bit)
access : read-write

DATA_SEL : Specifies the connection of the IP's data lines (spi_data[0], ..., spi_data[7]) to the device's data lines (SI/IO0, SO/IO1, IO2, IO3, IO4, IO5, IO6, IO7): '0': spi_data[0] = IO0, spi_data[1] = IO1, ..., spi_data[7] = IO7. This value is allowed for single, dual, quad, dual quad and octal SPI modes. This value must be used for the first device in dual quad SPI mode. This value must be used for octal SPI mode. '1': spi_data[2] = IO0, spi_data[3] = IO1. This value is only allowed for single and dual SPI modes. '2': spi_data[4] = IO0, spi_data[5] = IO1, ..., spi_data[7] = IO3. This value is only allowed for single, dual, quad and dual quad SPI modes. In dual quad SPI mode, this value must be used for the second device. '3': spi_data[6] = IO0, spi_data[7] = IO1. This value is only allowed for single and dual SPI modes.
bits : 16 - 33 (18 bit)
access : read-write

ENABLED : Device enable: '0': Disabled. '1': Enabled.
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR

Device region base address
address_offset : 0x2308 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ADDR

ADDR : Specifies the base address of the device region. If the device region is 2^m Bytes, ADDR MUST be a multiple of 2^m. In dual quad SPI data transfer, the two devices should have the same ADDR and MASK register settings. The device control information (ADDR_CTL, RD_CMD_CTL, etc.) are provided by the MMIO control registers of the device with the lowest index. The most significant bit fields are constants and set based on the SMIF_XIP_ADDR parameter. The most significant bits are identified on the SMIF_XIP_MASK parameter. E.g., if SMIF_XIP_MASK is 0xff00:0000 (16 MB XIP memory region), ADDR[31:24] = SMIF_XIP_ADDR[31:24].
bits : 8 - 39 (32 bit)
access : read-write


DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-MASK

Device region mask
address_offset : 0x230C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-MASK DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-MASK read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MASK

MASK : Specifies the size of the device region. All '1' bits are used to compare the incoming transfer request address A[31:0] with the address as specified in ADDR.ADDR: Address A is in the device when (A[31:8] & MASK[31:8]) == ADDR.ADDR[31:8]. The most significant bit fields are constants and set to'1'. The most significant bits are identified on the SMIF_XIP_MASK parameter. E.g., if SMIF_XIP_MASK is 0xff00:0000 (16 MB XIP memory region), MASK[31:24] = 0xff. Note: a transfer request that is not in any device region results in an AHB-Lite bus error.
bits : 8 - 39 (32 bit)
access : read-write


DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR_CTL

Address control
address_offset : 0x2320 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR_CTL DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-ADDR_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SIZE2 DIV2

SIZE2 : Specifies the size of the XIP device address in Bytes: '0': 1 Byte address. '1': 2 Byte address. '2': 3 Byte address. '3': 4 Byte address. The lower significant address Bytes of the transfer request are used as XIP address to the external device. Note that for dual quad SPI data transfer, the transfer request address is divided by 2. Therefore, the transfer request address needs to be a multiple of 2. If the trasnfer requestaddress is NOT a multiple of 2, the XIP_ALIGNMENT_ERROR interrupt cause is activated.
bits : 0 - 1 (2 bit)
access : read-write

DIV2 : Specifies if the AHB-Lite bus transfer address is divided by 2 or not: '0': No divide by 2. '1': Divide by 2. This functionality is used for read and write operation in XIP, dual quad SPI mode; i.e. this DIV2 must be set to '1' in dual quad SPI mode. If the transfer request address is NOT a multiple of 2 or the requested number of Bytes is not a multiple of 2, the XIP_ALIGNMENT_ERROR interrupt cause is activated.
bits : 8 - 16 (9 bit)
access : read-write


DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_CMD_CTL

Read command control
address_offset : 0x2340 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_CMD_CTL DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_CMD_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Command byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of data transfer: '0': 1 bit/cycle (single data transfer). '1': 2 bits/cycle (dual data transfer). '2': 4 bits/cycle (quad data transfer). '3': 8 bits/cycle (octal data transfer).
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of command field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_ADDR_CTL

Read address control
address_offset : 0x2344 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_ADDR_CTL DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_ADDR_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_MODE_CTL

Read mode control
address_offset : 0x2348 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_MODE_CTL DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_MODE_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Mode byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of mode field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DUMMY_CTL

Read dummy control
address_offset : 0x234C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DUMMY_CTL DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DUMMY_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SIZE5 PRESENT

SIZE5 : Number of dummy cycles (minus 1): '0': 1 cycles ... '31': 32 cycles. Note: this field specifies dummy cycles, not dummy Bytes!
bits : 0 - 4 (5 bit)
access : read-write

PRESENT : Presence of dummy cycles: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DATA_CTL

Read data control
address_offset : 0x2350 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DATA_CTL DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-RD_DATA_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_CMD_CTL

Write command control
address_offset : 0x2360 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_CMD_CTL DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_CMD_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Command byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of command field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_ADDR_CTL

Write address control
address_offset : 0x2364 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_ADDR_CTL DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_ADDR_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_MODE_CTL

Write mode control
address_offset : 0x2368 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_MODE_CTL DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_MODE_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Mode byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of mode field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DUMMY_CTL

Write dummy control
address_offset : 0x236C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DUMMY_CTL DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DUMMY_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SIZE5 PRESENT

SIZE5 : Number of dummy cycles (minus 1): '0': 1 cycles ... '31': 32 cycles.
bits : 0 - 4 (5 bit)
access : read-write

PRESENT : Presence of dummy cycles: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DATA_CTL

Write data control
address_offset : 0x2370 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DATA_CTL DEVICE[3]-DEVICE[2]-DEVICE[1]-DEVICE[0]-WR_DATA_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


CRYPTO_KEY0

Cryptography key 0
address_offset : 0x240 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0

CRYPTO_KEY0 CRYPTO_KEY0 write-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 KEY

KEY : Four Bytes of the key KEY[31:0] = CRYPTO_KEY0.KEY[31:0].
bits : 0 - 31 (32 bit)
access : write-only


CRYPTO_KEY1

Cryptography key 1
address_offset : 0x244 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0

CRYPTO_KEY1 CRYPTO_KEY1 write-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 KEY

KEY : Four Bytes of the key KEY[63:32] = CRYPTO_KEY1.KEY[31:0].
bits : 0 - 31 (32 bit)
access : write-only


CRYPTO_KEY2

Cryptography key 2
address_offset : 0x248 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0

CRYPTO_KEY2 CRYPTO_KEY2 write-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 KEY

KEY : Four Bytes of the key KEY[95:64] = CRYPTO_KEY2.KEY[31:0].
bits : 0 - 31 (32 bit)
access : write-only


CRYPTO_KEY3

Cryptography key 3
address_offset : 0x24C Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0

CRYPTO_KEY3 CRYPTO_KEY3 write-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 KEY

KEY : Four Bytes of the key KEY[127:96] = CRYPTO_KEY3.KEY[31:0].
bits : 0 - 31 (32 bit)
access : write-only


CRYPTO_OUTPUT0

Cryptography output 0
address_offset : 0x260 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CRYPTO_OUTPUT0 CRYPTO_OUTPUT0 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 OUTPUT

OUTPUT : Four Bytes of the ciphertext CT[31:0] = CRYPTO_OUTPUT0.OUTPUT[31:0].
bits : 0 - 31 (32 bit)
access : read-write


CRYPTO_OUTPUT1

Cryptography output 1
address_offset : 0x264 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CRYPTO_OUTPUT1 CRYPTO_OUTPUT1 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 OUTPUT

OUTPUT : Four Bytes of the ciphertext CT[63:32] = CRYPTO_OUTPUT1.OUTPUT[31:0].
bits : 0 - 31 (32 bit)
access : read-write


CRYPTO_OUTPUT2

Cryptography output 2
address_offset : 0x268 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CRYPTO_OUTPUT2 CRYPTO_OUTPUT2 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 OUTPUT

OUTPUT : Four Bytes of the ciphertext CT[95:64] = CRYPTO_OUTPUT2.OUTPUT[31:0].
bits : 0 - 31 (32 bit)
access : read-write


CRYPTO_OUTPUT3

Cryptography output 3
address_offset : 0x26C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CRYPTO_OUTPUT3 CRYPTO_OUTPUT3 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 OUTPUT

OUTPUT : Four Bytes of the ciphertext CT[127:96] = CRYPTO_OUTPUT3.OUTPUT[31:0].
bits : 0 - 31 (32 bit)
access : read-write


STATUS

Status
address_offset : 0x4 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

STATUS STATUS read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 BUSY

BUSY : Cache, cryptography, XIP, device interface or any other logic busy in the IP: '0': not busy '1': busy When BUSY is '0', the IP can be safely disabled without: - the potential loss of transient write data. - the potential risk of aborting an inflight SPI device interface transfer. When BUSY is '0', the mode of operation (XIP_MODE or MMIO_MODE) can be safely changed.
bits : 31 - 62 (32 bit)
access : read-only


TX_CMD_FIFO_STATUS

Transmitter command FIFO status
address_offset : 0x44 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

TX_CMD_FIFO_STATUS TX_CMD_FIFO_STATUS read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 USED3

USED3 : Number of entries that are used in the TX command FIFO (available in both XIP_MODE and MMIO_MODE). Legal range: [0, 4].
bits : 0 - 2 (3 bit)
access : read-only


TX_CMD_FIFO_WR

Transmitter command FIFO write
address_offset : 0x50 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0

TX_CMD_FIFO_WR TX_CMD_FIFO_WR write-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA20

DATA20 : Command data. The higher two bits DATA[19:18] specify the specific command '0'/TX: A SPI transfer always start with a TX command FIFO entry of the 'TX' format. - DATA[17:16] specifies the width of the data transfer: - '0': 1 bit/cycle (single data transfer). - '1': 2 bits/cycle (dual data transfer). - '2': 4 bits/cycle (quad data transfer). - '3': 8 bits/cycle (octal data transfer). - DATA[15]: specifies whether this is the last TX Byte; i.e. whether the 'spi_select_out[3:0]' IO output signals are de-activated after the transfer. - DATA[11:8] specifies which of the four devices are selected. DATA[11:8] are directly mapped to 'spi_select_out[3:0]'. Two devices can be selected at the same time in dual-quad mode. - '0': device deselected - '1': device selected - DATA[7:0] specifies the transmitted Byte. '1'/TX_COUNT: The 'TX_COUNT' command relies on the TX data FIFO to provide the transmitted bytes. The 'TX_COUNT' command is ALWAYS considered to be the last command of a SPI data transfers. - DATA[17:16] specifies the width of the transfer. - DATA[15:0] specifies the number of to be transmitted Bytes (minus 1) from the TX data FIFO. '2'/RX_COUNT: The 'RX_COUNT' command relies on the RX data FIFO to accept the received bytes. The 'RX_COUNT' command is ALWAYS considered to be the last command of a SPI data transfers. - DATA[17:16] specifies the width of the transfer. - DATA[15:0] specifies the number of to be transmitted Bytes (minus 1) to the RX data FIFO. '3'/DUMMY_COUNT: The 'DUMMY_COUNT' command conveys dummy cycles. Dummy cycles are used to implement a Turn-Around time in which the SPI master changes from a transmitter driving the data lines to a receiver receiving on the same data lines. The 'DUMMY_COUNT' command is ALWAYS considered to be NOT the last command of a SPI data transfers; i.e. it needs to be followed by another command. - DATA[15:0] specifies the number of dummy cycles (minus 1). In dummy cycles, the data lines are not driven.
bits : 0 - 19 (20 bit)
access : write-only


INTR

Interrupt register
address_offset : 0x7C0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

INTR INTR read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TR_TX_REQ TR_RX_REQ XIP_ALIGNMENT_ERROR TX_CMD_FIFO_OVERFLOW TX_DATA_FIFO_OVERFLOW RX_DATA_FIFO_UNDERFLOW

TR_TX_REQ : Activated in MMIO mode, when a TX data FIFO trigger 'tr_tx_req' is activated.
bits : 0 - 0 (1 bit)
access : read-write

TR_RX_REQ : Activated in MMIO mode, when a RX data FIFO trigger 'tr_rx_req' is activated.
bits : 1 - 2 (2 bit)
access : read-write

XIP_ALIGNMENT_ERROR : Activated in XIP mode, if: - The selected device's ADDR_CTL.DIV2 is '1' and the AHB-Lite bus transfer address is not a multiple of 2. - The selected device's ADDR_CTL.DIV2 is '1' and the XIP transfer request is NOT for a multiple of 2 Bytes. Note: In dual-quad SPI mode (ADDR_CTL.DIV is '1'), each memory device contributes a 4-bit nibble for read data or write data. This is only possible if the request address is a multiple of 2 and the number of requested Bytes is a multiple of 2.
bits : 2 - 4 (3 bit)
access : read-write

TX_CMD_FIFO_OVERFLOW : Activated in MMIO mode, on an AHB-Lite write transfer to the TX command FIFO (TX_CMD_FIFO_WR) with not enough free entries available.
bits : 3 - 6 (4 bit)
access : read-write

TX_DATA_FIFO_OVERFLOW : Activated in MMIO mode, on an AHB-Lite write transfer to the TX data FIFO (TX_DATA_FIFO_WR1, TX_DATA_FIFO_WR2, TX_DATA_FIFO_WR4) with not enough free entries available.
bits : 4 - 8 (5 bit)
access : read-write

RX_DATA_FIFO_UNDERFLOW : Activated in MMIO mode, on an AHB-Lite read transfer from the RX data FIFO (RX_DATA_FIFO_RD1, RX_DATA_FIFO_RD2, RX_DATA_FIFO_RD4) with not enough entries available. Only activated for NON test bus controller transfers.
bits : 5 - 10 (6 bit)
access : read-write


INTR_SET

Interrupt set register
address_offset : 0x7C4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

INTR_SET INTR_SET read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TR_TX_REQ TR_RX_REQ XIP_ALIGNMENT_ERROR TX_CMD_FIFO_OVERFLOW TX_DATA_FIFO_OVERFLOW RX_DATA_FIFO_UNDERFLOW

TR_TX_REQ : Write with '1' to set corresponding bit in interrupt request register.
bits : 0 - 0 (1 bit)
access : read-write

TR_RX_REQ : Write with '1' to set corresponding bit in interrupt request register.
bits : 1 - 2 (2 bit)
access : read-write

XIP_ALIGNMENT_ERROR : Write with '1' to set corresponding bit in interrupt request register.
bits : 2 - 4 (3 bit)
access : read-write

TX_CMD_FIFO_OVERFLOW : Write with '1' to set corresponding bit in interrupt request register.
bits : 3 - 6 (4 bit)
access : read-write

TX_DATA_FIFO_OVERFLOW : Write with '1' to set corresponding bit in interrupt request register.
bits : 4 - 8 (5 bit)
access : read-write

RX_DATA_FIFO_UNDERFLOW : Write with '1' to set corresponding bit in interrupt request register.
bits : 5 - 10 (6 bit)
access : read-write


INTR_MASK

Interrupt mask register
address_offset : 0x7C8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

INTR_MASK INTR_MASK read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TR_TX_REQ TR_RX_REQ XIP_ALIGNMENT_ERROR TX_CMD_FIFO_OVERFLOW TX_DATA_FIFO_OVERFLOW RX_DATA_FIFO_UNDERFLOW

TR_TX_REQ : Mask bit for corresponding bit in interrupt request register.
bits : 0 - 0 (1 bit)
access : read-write

TR_RX_REQ : Mask bit for corresponding bit in interrupt request register.
bits : 1 - 2 (2 bit)
access : read-write

XIP_ALIGNMENT_ERROR : Mask bit for corresponding bit in interrupt request register.
bits : 2 - 4 (3 bit)
access : read-write

TX_CMD_FIFO_OVERFLOW : Mask bit for corresponding bit in interrupt request register.
bits : 3 - 6 (4 bit)
access : read-write

TX_DATA_FIFO_OVERFLOW : Mask bit for corresponding bit in interrupt request register.
bits : 4 - 8 (5 bit)
access : read-write

RX_DATA_FIFO_UNDERFLOW : Mask bit for corresponding bit in interrupt request register.
bits : 5 - 10 (6 bit)
access : read-write


INTR_MASKED

Interrupt masked register
address_offset : 0x7CC Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

INTR_MASKED INTR_MASKED read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TR_TX_REQ TR_RX_REQ XIP_ALIGNMENT_ERROR TX_CMD_FIFO_OVERFLOW TX_DATA_FIFO_OVERFLOW RX_DATA_FIFO_UNDERFLOW

TR_TX_REQ : Logical and of corresponding request and mask bits.
bits : 0 - 0 (1 bit)
access : read-only

TR_RX_REQ : Logical and of corresponding request and mask bits.
bits : 1 - 2 (2 bit)
access : read-only

XIP_ALIGNMENT_ERROR : Logical and of corresponding request and mask bits.
bits : 2 - 4 (3 bit)
access : read-only

TX_CMD_FIFO_OVERFLOW : Logical and of corresponding request and mask bits.
bits : 3 - 6 (4 bit)
access : read-only

TX_DATA_FIFO_OVERFLOW : Logical and of corresponding request and mask bits.
bits : 4 - 8 (5 bit)
access : read-only

RX_DATA_FIFO_UNDERFLOW : Logical and of corresponding request and mask bits.
bits : 5 - 10 (6 bit)
access : read-only


TX_DATA_FIFO_CTL

Transmitter data FIFO control
address_offset : 0x80 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

TX_DATA_FIFO_CTL TX_DATA_FIFO_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TRIGGER_LEVEL

TRIGGER_LEVEL : Determines when the TX data FIFO 'tr_tx_req' trigger is activated (trigger activation requires MMIO_MODE, the trigger is NOT activated in XIP_MODE): - Trigger is active when TX_DATA_FIFO_STATUS.USED <= TRIGGER_LEVEL.
bits : 0 - 2 (3 bit)
access : read-write


DEVICE[0]-CTL

Control
address_offset : 0x800 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[0]-CTL DEVICE[0]-CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WR_EN CRYPTO_EN DATA_SEL ENABLED

WR_EN : Write enable: '0': write transfers are not allowed to this device. An attempt to write to this device results in an AHB-Lite bus error. '1': write transfers are allowed to this device.
bits : 0 - 0 (1 bit)
access : read-write

CRYPTO_EN : Cryptography on read/write accesses: '0': disabled. '1': enabled.
bits : 8 - 16 (9 bit)
access : read-write

DATA_SEL : Specifies the connection of the IP's data lines (spi_data[0], ..., spi_data[7]) to the device's data lines (SI/IO0, SO/IO1, IO2, IO3, IO4, IO5, IO6, IO7): '0': spi_data[0] = IO0, spi_data[1] = IO1, ..., spi_data[7] = IO7. This value is allowed for single, dual, quad, dual quad and octal SPI modes. This value must be used for the first device in dual quad SPI mode. This value must be used for octal SPI mode. '1': spi_data[2] = IO0, spi_data[3] = IO1. This value is only allowed for single and dual SPI modes. '2': spi_data[4] = IO0, spi_data[5] = IO1, ..., spi_data[7] = IO3. This value is only allowed for single, dual, quad and dual quad SPI modes. In dual quad SPI mode, this value must be used for the second device. '3': spi_data[6] = IO0, spi_data[7] = IO1. This value is only allowed for single and dual SPI modes.
bits : 16 - 33 (18 bit)
access : read-write

ENABLED : Device enable: '0': Disabled. '1': Enabled.
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[0]-ADDR

Device region base address
address_offset : 0x808 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[0]-ADDR DEVICE[0]-ADDR read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ADDR

ADDR : Specifies the base address of the device region. If the device region is 2^m Bytes, ADDR MUST be a multiple of 2^m. In dual quad SPI data transfer, the two devices should have the same ADDR and MASK register settings. The device control information (ADDR_CTL, RD_CMD_CTL, etc.) are provided by the MMIO control registers of the device with the lowest index. The most significant bit fields are constants and set based on the SMIF_XIP_ADDR parameter. The most significant bits are identified on the SMIF_XIP_MASK parameter. E.g., if SMIF_XIP_MASK is 0xff00:0000 (16 MB XIP memory region), ADDR[31:24] = SMIF_XIP_ADDR[31:24].
bits : 8 - 39 (32 bit)
access : read-write


DEVICE[0]-MASK

Device region mask
address_offset : 0x80C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[0]-MASK DEVICE[0]-MASK read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MASK

MASK : Specifies the size of the device region. All '1' bits are used to compare the incoming transfer request address A[31:0] with the address as specified in ADDR.ADDR: Address A is in the device when (A[31:8] & MASK[31:8]) == ADDR.ADDR[31:8]. The most significant bit fields are constants and set to'1'. The most significant bits are identified on the SMIF_XIP_MASK parameter. E.g., if SMIF_XIP_MASK is 0xff00:0000 (16 MB XIP memory region), MASK[31:24] = 0xff. Note: a transfer request that is not in any device region results in an AHB-Lite bus error.
bits : 8 - 39 (32 bit)
access : read-write


DEVICE[0]-ADDR_CTL

Address control
address_offset : 0x820 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[0]-ADDR_CTL DEVICE[0]-ADDR_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SIZE2 DIV2

SIZE2 : Specifies the size of the XIP device address in Bytes: '0': 1 Byte address. '1': 2 Byte address. '2': 3 Byte address. '3': 4 Byte address. The lower significant address Bytes of the transfer request are used as XIP address to the external device. Note that for dual quad SPI data transfer, the transfer request address is divided by 2. Therefore, the transfer request address needs to be a multiple of 2. If the trasnfer requestaddress is NOT a multiple of 2, the XIP_ALIGNMENT_ERROR interrupt cause is activated.
bits : 0 - 1 (2 bit)
access : read-write

DIV2 : Specifies if the AHB-Lite bus transfer address is divided by 2 or not: '0': No divide by 2. '1': Divide by 2. This functionality is used for read and write operation in XIP, dual quad SPI mode; i.e. this DIV2 must be set to '1' in dual quad SPI mode. If the transfer request address is NOT a multiple of 2 or the requested number of Bytes is not a multiple of 2, the XIP_ALIGNMENT_ERROR interrupt cause is activated.
bits : 8 - 16 (9 bit)
access : read-write


TX_DATA_FIFO_STATUS

Transmitter data FIFO status
address_offset : 0x84 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

TX_DATA_FIFO_STATUS TX_DATA_FIFO_STATUS read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 USED4

USED4 : Number of entries that are used in the TX data FIFO (available in both XIP_MODE and MMIO_MODE). Legal range: [0, 8].
bits : 0 - 3 (4 bit)
access : read-only


DEVICE[0]-RD_CMD_CTL

Read command control
address_offset : 0x840 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[0]-RD_CMD_CTL DEVICE[0]-RD_CMD_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Command byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of data transfer: '0': 1 bit/cycle (single data transfer). '1': 2 bits/cycle (dual data transfer). '2': 4 bits/cycle (quad data transfer). '3': 8 bits/cycle (octal data transfer).
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of command field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[0]-RD_ADDR_CTL

Read address control
address_offset : 0x844 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[0]-RD_ADDR_CTL DEVICE[0]-RD_ADDR_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


DEVICE[0]-RD_MODE_CTL

Read mode control
address_offset : 0x848 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[0]-RD_MODE_CTL DEVICE[0]-RD_MODE_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Mode byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of mode field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[0]-RD_DUMMY_CTL

Read dummy control
address_offset : 0x84C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[0]-RD_DUMMY_CTL DEVICE[0]-RD_DUMMY_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SIZE5 PRESENT

SIZE5 : Number of dummy cycles (minus 1): '0': 1 cycles ... '31': 32 cycles. Note: this field specifies dummy cycles, not dummy Bytes!
bits : 0 - 4 (5 bit)
access : read-write

PRESENT : Presence of dummy cycles: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[0]-RD_DATA_CTL

Read data control
address_offset : 0x850 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[0]-RD_DATA_CTL DEVICE[0]-RD_DATA_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


DEVICE[0]-WR_CMD_CTL

Write command control
address_offset : 0x860 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[0]-WR_CMD_CTL DEVICE[0]-WR_CMD_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Command byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of command field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[0]-WR_ADDR_CTL

Write address control
address_offset : 0x864 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[0]-WR_ADDR_CTL DEVICE[0]-WR_ADDR_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


DEVICE[0]-WR_MODE_CTL

Write mode control
address_offset : 0x868 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[0]-WR_MODE_CTL DEVICE[0]-WR_MODE_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CODE WIDTH PRESENT

CODE : Mode byte code.
bits : 0 - 7 (8 bit)
access : read-write

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write

PRESENT : Presence of mode field: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[0]-WR_DUMMY_CTL

Write dummy control
address_offset : 0x86C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[0]-WR_DUMMY_CTL DEVICE[0]-WR_DUMMY_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SIZE5 PRESENT

SIZE5 : Number of dummy cycles (minus 1): '0': 1 cycles ... '31': 32 cycles.
bits : 0 - 4 (5 bit)
access : read-write

PRESENT : Presence of dummy cycles: '0': not present '1': present
bits : 31 - 62 (32 bit)
access : read-write


DEVICE[0]-WR_DATA_CTL

Write data control
address_offset : 0x870 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DEVICE[0]-WR_DATA_CTL DEVICE[0]-WR_DATA_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WIDTH

WIDTH : Width of transfer.
bits : 16 - 33 (18 bit)
access : read-write


TX_DATA_FIFO_WR1

Transmitter data FIFO write
address_offset : 0x90 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0

TX_DATA_FIFO_WR1 TX_DATA_FIFO_WR1 write-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA0

DATA0 : TX data (written to TX data FIFO).
bits : 0 - 7 (8 bit)
access : write-only


TX_DATA_FIFO_WR2

Transmitter data FIFO write
address_offset : 0x94 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0

TX_DATA_FIFO_WR2 TX_DATA_FIFO_WR2 write-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA0 DATA1

DATA0 : TX data (written to TX data FIFO, first byte).
bits : 0 - 7 (8 bit)
access : write-only

DATA1 : TX data (written to TX data FIFO, second byte).
bits : 8 - 23 (16 bit)
access : write-only


TX_DATA_FIFO_WR4

Transmitter data FIFO write
address_offset : 0x98 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0

TX_DATA_FIFO_WR4 TX_DATA_FIFO_WR4 write-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA0 DATA1 DATA2 DATA3

DATA0 : TX data (written to TX data FIFO, first byte).
bits : 0 - 7 (8 bit)
access : write-only

DATA1 : TX data (written to TX data FIFO, second byte).
bits : 8 - 23 (16 bit)
access : write-only

DATA2 : TX data (written to TX data FIFO, third byte).
bits : 16 - 39 (24 bit)
access : write-only

DATA3 : TX data (written to TX data FIFO, fourth byte).
bits : 24 - 55 (32 bit)
access : write-only


RX_DATA_FIFO_CTL

Receiver data FIFO control
address_offset : 0xC0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

RX_DATA_FIFO_CTL RX_DATA_FIFO_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TRIGGER_LEVEL

TRIGGER_LEVEL : Determines when RX data FIFI 'tr_rx_req' trigger is activated (trigger activation requires MMIO_MODE, the trigger is NOT activated in XIP_MODE): - Trigger is active when RX_DATA_FIFO_STATUS.USED > TRIGGER_LEVEL.
bits : 0 - 2 (3 bit)
access : read-write


RX_DATA_FIFO_STATUS

Receiver data FIFO status
address_offset : 0xC4 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

RX_DATA_FIFO_STATUS RX_DATA_FIFO_STATUS read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 USED4

USED4 : Number of entries that are used in the RX data FIFO (available in both XIP_MODE and MMIO_MODE). Legal range: [0, 8].
bits : 0 - 3 (4 bit)
access : read-only


RX_DATA_FIFO_RD1

Receiver data FIFO read
address_offset : 0xD0 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

RX_DATA_FIFO_RD1 RX_DATA_FIFO_RD1 read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA0

DATA0 : RX data (read from RX data FIFO).
bits : 0 - 7 (8 bit)
access : read-only


RX_DATA_FIFO_RD2

Receiver data FIFO read
address_offset : 0xD4 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

RX_DATA_FIFO_RD2 RX_DATA_FIFO_RD2 read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA0 DATA1

DATA0 : RX data (read from RX data FIFO, first byte).
bits : 0 - 7 (8 bit)
access : read-only

DATA1 : RX data (read from RX data FIFO, second byte).
bits : 8 - 23 (16 bit)
access : read-only


RX_DATA_FIFO_RD4

Receiver data FIFO read
address_offset : 0xD8 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

RX_DATA_FIFO_RD4 RX_DATA_FIFO_RD4 read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA0 DATA1 DATA2 DATA3

DATA0 : RX data (read from RX data FIFO, first byte).
bits : 0 - 7 (8 bit)
access : read-only

DATA1 : RX data (read from RX data FIFO, second byte).
bits : 8 - 23 (16 bit)
access : read-only

DATA2 : RX data (read from RX data FIFO, third byte).
bits : 16 - 39 (24 bit)
access : read-only

DATA3 : RX data (read from RX data FIFO, fourth byte).
bits : 24 - 55 (32 bit)
access : read-only


RX_DATA_FIFO_RD1_SILENT

Receiver data FIFO silent read
address_offset : 0xE0 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

RX_DATA_FIFO_RD1_SILENT RX_DATA_FIFO_RD1_SILENT read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA0

DATA0 : RX data (read from RX data FIFO).
bits : 0 - 7 (8 bit)
access : read-only



Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !

This website is sponsored by EmbeetleEmbeetle, an IDE designed from scratch for embedded software developers.