OSPI

This section provides information on the OSPI Module Instance within this product. Each of the registers within the Module Instance is described separately below.

 

OSPI Registers Mapping Summary

:OSPI Common Register Mapping Summary

Register Name

Type

Register Width (Bits)

Register Reset

Address Offset

CONFIG

RW

32

0x8208 0081

0x0000 0000

DEV_INSTR_RD_CONFIG

RW

32

0x0000 0003

0x0000 0004

DEV_INSTR_WR_CONFIG

RW

32

0x0000 0002

0x0000 0008

DEV_DELAY

RW

32

0x0000 0000

0x0000 000C

RD_DATA_CAPTURE

RW

32

0x0000 0001

0x0000 0010

DEV_SIZE_CONFIG

RW

32

0x0010 1002

0x0000 0014

SRAM_PARTITION_CFG

RW

32

0x0000 0080

0x0000 0018

IND_AHB_ADDR_TRIGGER

RW

32

0x0000 0000

0x0000 001C

DMA_PERIPH_CONFIG

RW

32

0x0000 0000

0x0000 0020

REMAP_ADDR

RW

32

0x0000 0000

0x0000 0024

MODE_BIT_CONFIG

RW

32

0x0000 0200

0x0000 0028

SRAM_FILL

RO

32

0x0000 0000

0x0000 002C

TX_THRESH

RW

32

0x0000 0001

0x0000 0030

RX_THRESH

RW

32

0x0000 0001

0x0000 0034

WRITE_COMPLETION_CTRL

RW

32

0x0004 0005

0x0000 0038

NO_OF_POLLS_BEF_EXP

RW

32

0xFFFF FFFF

0x0000 003C

IRQ_STAUS

RW

32

0x0000 0000

0x0000 0040

IRQ_MASK

RW

32

0x0000 0000

0x0000 0044

LOWER_WR_PROT

RW

32

0x0000 0000

0x0000 0050

UPPER_WR_PROT

RW

32

0x0000 0000

0x0000 0054

WR_PROT_CTRL

RW

32

0x0000 0000

0x0000 0058

INDIRECT_READ_XFER_CTRL

RW

32

0x0000 0000

0x0000 0060

INDIRECT_READ_XFER_WATERMARK

RW

32

0x0000 0000

0x0000 0064

INDIRECT_READ_XFER_START

RW

32

0x0000 0000

0x0000 0068

INDIRECT_READ_XFER_NUM_BYTES

RW

32

0x0000 0000

0x0000 006C

INDIRECT_WRITE_XFER_CTRL

RW

32

0x0000 0000

0x0000 0070

INDIRECT_WRITE_XFER_WATERMARK

RW

32

0xFFFF FFFF

0x0000 0074

INDIRECT_WRITE_XFER_START

RW

32

0x0000 0000

0x0000 0078

INDIRECT_WRITE_XFER_NUM_BYTES

RW

32

0x0000 0000

0x0000 007C

INDIRECT_TRIGGER_ADDR_RANGE

RW

32

0x0000 0004

0x0000 0080

FLASH_COMMAND_CTRL_MEM

RW

32

0x0000 0000

0x0000 008C

FLASH_CMD_CTRL

RW

32

0x0000 0000

0x0000 0090

FLASH_CMD_ADDR

RW

32

0x0000 0000

0x0000 0094

FLASH_RD_DATA_LOWER

RO

32

0x0000 0000

0x0000 00A0

FLASH_RD_DATA_UPPER

RO

32

0x0000 0000

0x0000 00A4

FLASH_WR_DATA_LOWER

RW

32

0x0000 0000

0x0000 00A8

FLASH_WR_DATA_UPPER

RW

32

0x0000 0000

0x0000 00AC

POLLING_FLASH_STAUS

RW

32

0x0000 0000

0x0000 00B0

PHY_CONFIGURATION

RW

32

0x4000 0000

0x0000 00B4

PHY_MASTER_CONTROL

RW

32

0x0080 0000

0x0000 00B8

DLL_OBSERVABLE_LOWER

RO

32

0x0000 0000

0x0000 00BC

DLL_OBSERVABLE_UPPER

RO

32

0x0000 0000

0x0000 00C0

OPCODE_EXT_LOWER

RW

32

0x13ED FA00

0x0000 00E0

OPCODE_EXT_UPPER

RW

32

0x06F9 0000

0x0000 00E4

MODULE_ID

RO

32

0x0400 0300

0x0000 00FC

OSPI Instances Register Mapping Summary

OSPI Register Descriptions

:OSPI Common Register Descriptions

:OSPI:CONFIG

Address offset

0x0000 0000

Description

Octal-SPI Configuration Register

Type

RW

Bits

Field Name

Description

Type

Reset

31

IDLE

Serial interface and low level SPI pipeline is IDLE: This is a STAUS read-only bit. Note this is a retimed signal, so there will be some inherent delay on the generation of this status signal.

RO

1

 

 

Read 0

DISABLE
Disable

 

 

 

Read 1

EN
Enable

 

30

DUAL_BYTE_OPCODE_EN

Dual-byte Opcode Mode enable bit This bit is to be set in case the target Flash Device supports dual byte opcode (i.e. Macronix MX25). It is applicable for Octal I/O Mode or Protocol only so should be set back to low if the device is configured to work in another SPI Mode. If enabled, the supplementing bytes are taken from Opcode Extension Register (Lower) and from Opcode Extension Register (Upper).

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

29

CRC_EN

CRC enable bit This bit is to be set in case the target Flash Device supports CRC (Macronix MX25). It is applicable for Octal DDR Protocol only so should be set back to low if the device is configured to work in another SPI Mode.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

28:26

RESERVED

 

RO

0x0

25

PIPELINE_PHY

Pipeline PHY Mode enable: This bit is relevant only for configuration with PHY Module. It should be asserted to '1' between consecutive PHY pipeline reads transfers and de-asserted to '0' otherwise.

RW

1

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

24

EN_DTR_PROTOCOL

Enable DTR Protocol: This bit should be set if device is configured to work in DTR protocol.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

23

EN_AHB_DECODER

Enable AHB Decoder: Value=0 : Active slave is selected based on Peripheral Chip Select Lines (bits [13:10]). Value=1 Active slave is selected based on actual AHB address (the partition for each device is calculated with respect to bits [28:21] of Device Size Configuration Register)

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

22:19

MSTR_BAUD_DIV

Master Mode Baud Rate Divisor: SPI baud rate = (master reference clock) baud_rate_divisor. The baud rate is the clock rate divided by 2 multiplied by (Divisor + 1). Meaning, when Divisor Value is set to 0,1,2,..15 it sets the baud rate is the clock rate divided by 2, 4, 6,..32 respectively

RW

0x1

 

 

0x0

MINIMUM
Smallest value

 

 

 

0xF

MAXIMUM
Highest possible value

 

18

ENTER_XIP_MODE_IMM

Enter XIP Mode immediately: Value=0 : If XIP is enabled, then setting to 0 will cause the controller to exit XIP mode on the next READ instruction. Value=1 : Operate the device in XIP mode immediately Use this register when the external device wakes up in XIP mode (as per the contents of its non- volatile configuration register). The controller will assume the next READ instruction will be passed to the device as an XIP instruction, and therefore will not require the READ opcode to be transferred. Note: To exit XIP mode, this bit should be set to 0. This will take effect in the attached device only after the next READ instruction is executed. Software therefore should ensure that at least one READ instruction is requested after resetting this bit in order to be sure that XIP mode is exited.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

17

ENTER_XIP_MODE

Enter XIP Mode on next READ: Value=0 : If XIP is enabled, then setting to 0 will cause the controller to exit XIP mode on the next READ instruction. Value=1 : If XIP is disabled, then setting to ?1? will inform the controller that the device is ready to enter XIP on the next READ instruction. The controller will therefore send the appropriate command sequence, including mode bits to cause the device to enter XIP mode. Use this register after the controller has ensured the FLASH device has been configured to be ready to enter XIP mode. Note : To exit XIP mode, this bit should be set to 0. This will take effect in the attached device only AFTER the next READ instruction is executed. Software should therefore ensure that at least one READ instruction is requested after resetting this bit before it can be sure XIP mode in the device is exited.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

16

ENB_AHB_ADDR_REMAP

Enable AHB Address Re-mapping: (Direct Access Mode Only) When set to 1, the incoming AHB address will be adapted and sent to the FLASH device as (address + N), where N is the value stored in the remap address register.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

15

ENB_DMA_IF

Enable DMA Peripheral Interface: Set to 1 to enable the DMA handshaking logic. When enabled the controller will trigger DMA transfer requests via the DMA peripheral interface. Set to 0 to disable

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

14

WR_PROT_FLASH

Write Protect Flash Pin: Set to drive the Write Protect pin of the FLASH device. This is resynchronized to the generated memory clock as necessary.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

13:10

PERIPH_CS_LINES

Peripheral Chip Select Lines: Peripheral chip select lines If pdec = 0, ss[3:0] are output thus: ss[3:0] n_ss_out[3:0] xxx0 1110 xx01 1101 x011 1011 0111 0111 1111 1111 (no peripheral selected) else ss[3:0] directly drives n_ss_out[3:0]

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0xF

MAXIMUM
Highest possible value

 

9

PERIPH_SEL_DEC

Peripheral select decode:

RW

0

 

 

0

DISABLE
only 1 of 4 selects n_ss_out[3:0] is active 1 : allow external 4-to-16 decode (n_ss_out = ss)

 

 

 

1

EN
allow external 4-to-16 decode (n_ss_out = ss)

 

8

ENB_LEGACY_IP_MODE

Legacy IP Mode Enable:

RW

0

 

 

0

DISABLE
Use Direct Access Controller/Indirect Access Controller 1 : legacy Mode is enabled. In this mode, any write to the controller via the AHB interface is serialized and sent to the FLASH device. Any valid AHB read will pop the internal RX-FIFO, retrieving data that was forwarded by the external FLASH device on the SPI lines,4,2 or 1 byte transfers are permitted and controlled via the HSIZE input.

 

 

 

1

EN
legacy Mode is enabled. In this mode, any write to the controller via the AHB interface is serialized and sent to the FLASH device. Any valid AHB read will pop the internal RX-FIFO, retrieving data that was forwarded by the external FLASH device on the SPI lines,4,2 or 1 byte transfers are permitted and controlled via the HSIZE input.

 

7

ENB_DIR_ACC_CTLR

Enable Direct Access Controller:

RW

1

 

 

0

DISABLE
disable the Direct Access Controller once current transfer of the data word (FF_W) is complete. 1 : enable the Direct Access Controller When the Direct Access Controller and Indirect Access Controller are both disabled, all AHB requested are completed with an error response.

 

 

 

1

EN
enable the Direct Access Controller When the Direct Access Controller and Indirect Access Controller are both disabled, all AHB requested are completed with an error response.

 

6

RESET_CFG

RESET pin configuration: 0 = RESET feature on DQ3 pin of the device 1 = RESET feature on dedicated pin of the device (controlling of 5th bit influences on reset_out output)

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

5

RESET_PIN

Set to drive the RESET pin of the FLASH device and reset for de-activation of the RESET pin feature

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

4

HOLD_PIN

Set to drive the HOLD pin of the FLASH device and reset for de-activation of the HOLD pin feature

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

3

PHY_MODE_EN

PHY mode enable: When enabled, the controller is informed that PHY Module is to be used for handling SPI transfers. This bit is relevant only for configuration with PHY Module.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

2

SEL_CLK_PHASE

Select Clock Phase: Selects whether the clock is in an active or inactive phase outside the SPI word.

RW

0

 

 

0

DISABLE
the SPI clock is active outside the word 1 : the SPI clock is inactive outside the word

 

 

 

1

EN
the SPI clock is inactive outside the word

 

1

SEL_CLK_POL

Clock polarity outside SPI word:

RW

0

 

 

0

DISABLE
the SPI clock is quiescent low 1 : the SPI clock is quiescent high

 

 

 

1

EN
the SPI clock is quiescent high

 

0

ENB_SPI

Octal-SPI Enable:

RW

1

 

 

0

DISABLE
disable the Octal-SPI, once current transfer of the data word (FF_W) is complete. 1 : enable the Octal-SPI, when spi_enable = 0, all output enables are inactive and all pins are set to input mode.

 

 

 

1

EN
enable the Octal-SPI, when spi_enable = 0, all output enables are inactive and all pins are set to input mode.

 

:OSPI:DEV_INSTR_RD_CONFIG

Address offset

0x0000 0004

Description

Device Read Instruction Configuration Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:29

RESERVED_4

 

RO

0x0

28:24

DUMMY_RD_CLK_CYCLES

Dummy Read Clock Cycles: Number of dummy clock cycles required by device for read instruction.

RW

0x00

 

 

0x00

MINIMUM
Smallest value

 

 

 

0x1F

MAXIMUM
Highest possible value

 

23:21

RESERVED_3

 

RO

0x0

20

MODE_BIT_EN

Mode Bit Enable: Set this field to 1 to ensure that the mode bits as defined in the Mode Bit Configuration register are sent following the address bytes.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

19:18

RESERVED_2

 

RO

0x0

17:16

DATA_XFER_TYPE_EXT_MODE

Data Transfer Type for Standard SPI modes: 0 : SIO mode data is shifted to the device on DQ0 only and from the device on DQ1 only 1 : Used for Dual Input/Output instructions. For data transfers, DQ0 and DQ1 are used as both inputs and outputs. 2 : Used for Quad Input/Output instructions. For data transfers, DQ0,DQ1,DQ2 and DQ3 are used as both inputs and outputs. 3 : Used for Quad Input/Output instructions. For data transfers, DQ[7:0] are used as both inputs and outputs.

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x3

MAXIMUM
Highest possible value

 

15:14

RESERVED

 

RO

0x0

13:12

ADDR_XFER_TYPE_STD_MODE

Address Transfer Type for Standard SPI modes: 0 : Addresses can be shifted to the device on DQ0 only 1 : Addresses can be shifted to the device on DQ0 and DQ1 only 2 : Addresses can be shifted to the device on DQ0, DQ1, DQ2 and DQ3 3 : Addresses can be shifted to the device on DQ[7:0]

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x3

MAXIMUM
Highest possible value

 

11

PRED_DIS

Predicted Read Disable Bit: Disable generation of predicted read when doing read accesses using Direct Mode

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

10

DDR_EN

DDR Enable: This is to inform that opcode from rd_opcode_non_xip_fld is compliant with one of the DDR READ Commands

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

9:8

INSTR_TYPE

Instruction Type:
0 : Use Standard SPI mode (instruction always shifted into the device on DQ0 only)
1 : Use DIO-SPI mode (Instructions always sent on DQ0 and DQ1)
2 : Use QIO-SPI mode (Instructions always sent on DQ0, DQ1, DQ2 and DQ3)
3 : Use Octal-IO-SPI mode (Instructions always sent on DQ[7:0])

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x3

MAXIMUM
Highest possible value

 

7:0

RD_OPCODE_NON_XIP

Read Opcode in non-XIP mode: Read Opcode to use when not in XIP mode

RW

0x03

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

:OSPI:DEV_INSTR_WR_CONFIG

Address offset

0x0000 0008

Description

Device Write Instruction Configuration Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:29

RESERVED_4

 

RO

0x0

28:24

DUMMY_WR_CLK_CYCLES

Dummy Write Clock Cycles: Number of dummy clock cycles required by device for write instruction.

RW

0x00

 

 

0x00

MINIMUM
Smallest value

 

 

 

0x1F

MAXIMUM
Highest possible value

 

23:18

RESERVED_3

 

RO

0x00

17:16

DATA_XFER_TYPE_EXT_MODE

Data Transfer Type for Standard SPI modes: 0 : SIO mode data is shifted to the device on DQ0 only and from the device on DQ1 only 1 : Used for Dual Input/Output instructions. For data transfers, DQ0 and DQ1 are used as both inputs and outputs. 2 : Used for Quad Input/Output instructions. For data transfers, DQ0,DQ1,DQ2 and DQ3 are used as both inputs and outputs. 3 : Used for Quad Input/Output instructions. For data transfers, DQ[7:0] are used as both inputs and outputs.

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x3

MAXIMUM
Highest possible value

 

15:14

RESERVED_2

 

RO

0x0

13:12

ADDR_XFER_TYPE_STD_MODE

Address Transfer Type for Standard SPI modes: 0 : Addresses can be shifted to the device on DQ0 only 1 : Addresses can be shifted to the device on DQ0 and DQ1 only 2 : Addresses can be shifted to the device on DQ0, DQ1, DQ2 and DQ3 3 : Addresses can be shifted to the device on DQ[7:0]

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x3

MAXIMUM
Highest possible value

 

11:9

RESERVED

 

RO

0x0

8

WEL_DIS

WEL Disable: This is to turn off automatic issuing of WEL Command before write operation for DAC or INDAC

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

7:0

WR_OPCODE

Write Opcode

RW

0x02

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

:OSPI:DEV_DELAY

Address offset

0x0000 000C

Description

Octal-SPI Device Delay Register: This register is used to introduce relative delays into the generation of the master output signals. All timings are defined in cycles of the SPI REFERENCE CLOCK/ext_clk, defined in this table as SPI master ref clock.

Type

RW

Bits

Field Name

Description

Type

Reset

31:24

D_NSS

Clock Delay for Chip Select Deassert: Delay in master reference clocks for the length that the master mode chip select outputs are de-asserted between transactions. The minimum delay is always SCLK period to ensure the chip select is never re-asserted within an SCLK period.

RW

0x00

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

23:16

D_BTWN

Clock Delay for Chip Select Deactivation: Delay in master reference clocks between one chip select being de-activated and the activation of another. This is used to ensure a quiet period between the selection of two different slaves and requires the transmit FIFO to be empty.

RW

0x00

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

15:8

D_AFTER

Clock Delay for Last Transaction Bit: Delay in master reference clocks between last bit of current transaction and deasserting the device chip select (n_ss_out). By default, the chip select will be deasserted on the cycle following the completion of the current transaction.

RW

0x00

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

7:0

D_INIT

Clock Delay with n_ss_out: Delay in master reference clocks between setting n_ss_out low and first bit transfer.

RW

0x00

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

:OSPI:RD_DATA_CAPTURE

Address offset

0x0000 0010

Description

Read Data Capture Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:20

RESERVED_3

 

RO

0x000

19:16

DDR_READ_DELAY

DDR read delay: Delay the transmitted data by the programmed number of ref_clk cycles.This field is only relevant when DDR Read Command is executed. Otherwise can be ignored.

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0xF

MAXIMUM
Highest possible value

 

15:9

RESERVED_2

 

RO

0x00

8

DQS_EN

DQS enable bit: If enabled, signal from DQS input is driven into RX DLL and is used for data capturing in PHY Mode rather than internally generated gated ref_clk..

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

7:6

RESERVED

 

RO

0x0

5

SAMPLE_EDGE_SEL

Sample edge selection: Choose edge on which data outputs from flash memory will be sampled

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

4:1

DELAY

Read Delay: Delay the read data capturing logic by the programmed number of ref_clk cycles

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0xF

MAXIMUM
Highest possible value

 

0

BYPASS

Bypass the adapted loopback clock circuit

RW

1

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

:OSPI:DEV_SIZE_CONFIG

Address offset

0x0000 0014

Description

Device Size Configuration Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:29

RESERVED

 

RO

0x0

28:27

MEM_SIZE_ON_CS3

Size of Flash Device connected to CS[3] pin: Value=00 : size of 512Mb. Value=01 : size of 1Gb. Value=10 : size of 2Gb. Value=11 : size of 4Gb.

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x3

MAXIMUM
Highest possible value

 

26:25

MEM_SIZE_ON_CS2

Size of Flash Device connected to CS[2] pin: Value=00 : size of 512Mb. Value=01 : size of 1Gb. Value=10 : size of 2Gb. Value=11 : size of 4Gb.

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x3

MAXIMUM
Highest possible value

 

24:23

MEM_SIZE_ON_CS1

Size of Flash Device connected to CS[1] pin: Value=00 : size of 512Mb. Value=01 : size of 1Gb. Value=10 : size of 2Gb. Value=11 : size of 4Gb.

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x3

MAXIMUM
Highest possible value

 

22:21

MEM_SIZE_ON_CS0

Size of Flash Device connected to CS[0] pin: Value=00 : size of 512Mb. Value=01 : size of 1Gb. Value=10 : size of 2Gb. Value=11 : size of 4Gb.

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x3

MAXIMUM
Highest possible value

 

20:16

BYTES_PER_SUBSECTOR

Number of bytes per Block. This is required by the controller for performing the write protection logic. The number of bytes per block must be a power of 2 number.

RW

0x10

 

 

0x00

MINIMUM
Smallest value

 

 

 

0x1F

MAXIMUM
Highest possible value

 

15:4

BYTES_PER_DEVICE_PAGE

Number of bytes per device page. This is required by the controller for performing FLASH writes up to and across page boundaries.

RW

0x100

 

 

0x000

MINIMUM
Smallest value

 

 

 

0xFFF

MAXIMUM
Highest possible value

 

3:0

NUM_ADDR_BYTES

Number of address bytes. A value of 0 indicates 1 byte.

RW

0x2

 

 

0x0

MINIMUM
Smallest value

 

 

 

0xF

MAXIMUM
Highest possible value

 

:OSPI:SRAM_PARTITION_CFG

Address offset

0x0000 0018

Description

SRAM Partition Configuration Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:8

RESERVED

 

RO

0x00 0000

7:0

THRESHOLD

Defines the size of the indirect read partition in the SRAM,
in units of SRAM locations. By default, half of the SRAM is
reserved for indirect read operation, and half for indirect write.
The size of this register will scale with the depth of the SRAM.

RW

0x80

:OSPI:IND_AHB_ADDR_TRIGGER

Address offset

0x0000 001C

Description

Indirect AHB Address Trigger Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:0

ADDR

This is the base address that will be used by the AHB controller. When the incoming AHB read access address matches a range of addresses from this trigger address to the trigger address + 15, then the AHB request will be completed by fetching data from the Indirect Controllers SRAM.

RW

0x0000 0000

 

 

0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

0x0000 0000

MINIMUM
Smallest value

 

:OSPI:DMA_PERIPH_CONFIG

Address offset

0x0000 0020

Description

DMA Peripheral Configuration Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:12

RESERVED_2

 

RO

0x0 0000

11:8

NUM_BURST_REQ_BYTES

Number of Burst Bytes: Number of bytes in a burst type request on the DMA peripheral request. A programmed value of 0 represents a single byte. This should be setup before starting the indirect read or write operation. The actual number of bytes used is 2**(value in this register) which will simplify implementation.

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0xF

MAXIMUM
Highest possible value

 

7:4

RESERVED

 

RO

0x0

3:0

NUM_SINGLE_REQ_BYTES

Number of Single Bytes: Number of bytes in a single type request on the DMA peripheral request. A programmed value of 0 represents a single byte. This should be setup before starting the indirect read or write operation. The actual number of bytes used is 2**(value in this register) which will simplify implementation.

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0xF

MAXIMUM
Highest possible value

 

:OSPI:REMAP_ADDR

Address offset

0x0000 0024

Description

Remap Address Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:0

VALUE

This register is used to remap an incoming AHB address to a different address used by the FLASH device.

RW

0x0000 0000

 

 

0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

0x0000 0000

MINIMUM
Smallest value

 

:OSPI:MODE_BIT_CONFIG

Address offset

0x0000 0028

Description

Mode Bit Configuration Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:24

RX_CRC_DATA_LOW

RX CRC data (lower) The first CRC byte returned after RX data chunk.

RO

0x00

 

 

Read 0x00

MINIMUM
Smallest value

 

 

 

Read 0xFF

MAXIMUM
Highest possible value

 

23:16

RX_CRC_DATA_UP

RX CRC data (upper) The second CRC byte returned after RX data chunk.

RO

0x00

 

 

Read 0x00

MINIMUM
Smallest value

 

 

 

Read 0xFF

MAXIMUM
Highest possible value

 

15

CRC_OUT_EN

CRC# output enable bit When enabled, the controller expects the Flash Device to toggle CRC data on both SPI clock edges in CRC->CRC# sequence and calculates CRC compliance accordingly.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

14:11

RESERVED

 

RO

0x0

10:8

CHUNK_SIZE

It defines size of chunk after which CRC data is expected to show up on the SPI interface for write and read data transfers.

RW

0x2

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x7

MAXIMUM
Highest possible value

 

7:0

MODE

These are the 8 mode bits that are sent to the device following the address bytes if mode bit transmission has been enabled.

RW

0x00

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

:OSPI:SRAM_FILL

Address offset

0x0000 002C

Description

SRAM Fill Register

Type

RO

Bits

Field Name

Description

Type

Reset

31:16

SRAM_FILL_INDAC_WRITE

SRAM Fill Level (Indirect Write Partition): Identifies the current fill level of the SRAM Indirect Write partition

RO

0x0000

 

 

Read 0x0000

MINIMUM
Smallest value

 

 

 

Read 0xFFFF

MAXIMUM
Highest possible value

 

15:0

SRAM_FILL_INDAC_READ

SRAM Fill Level (Indirect Read Partition): Identifies the current fill level of the SRAM Indirect Read partition

RO

0x0000

 

 

Read 0x0000

MINIMUM
Smallest value

 

 

 

Read 0xFFFF

MAXIMUM
Highest possible value

 

:OSPI:TX_THRESH

Address offset

0x0000 0030

Description

TX Threshold Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:5

RESERVED

 

RO

0x000 0000

4:0

LEVEL

Defines the level at which the small TX FIFO not full interrupt is generated

RW

0x01

 

 

0x00

MINIMUM
Smallest value

 

 

 

0x1F

MAXIMUM
Highest possible value

 

:OSPI:RX_THRESH

Address offset

0x0000 0034

Description

RX Threshold Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:5

RESERVED

 

RO

0x000 0000

4:0

LEVEL

Defines the level at which the small RX FIFO not empty interrupt is generated

RW

0x01

 

 

0x00

MINIMUM
Smallest value

 

 

 

0x1F

MAXIMUM
Highest possible value

 

:OSPI:WRITE_COMPLETION_CTRL

Address offset

0x0000 0038

Description

Write Completion Control Register: This register defines how the controller will poll the device following a write transfer

Type

RW

Bits

Field Name

Description

Type

Reset

31:24

POLL_REP_DELAY

Defines additional delay for maintain Chip Select de-asserted during auto-polling phase

RW

0x00

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

23:16

POLL_COUNT

Defines the number of times the controller should expect to see a true result from the polling in successive reads of the device register.

RW

0x04

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

15

EN_POLLING_EXP

Set to '1' for enabling auto-polling expiration.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

14

DISABLE_POLLING

This switches off the automatic polling function

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

13

POLLING_POLARITY

Defines the polling polarity. If '1', then the write transfer to the device will be complete if the polled bit is equal to '1'. If '0', then the write transfer to the device will be complete if the polled bit is equal to '0'.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

12

RESERVED

 

RO

0

11

POLLING_ADDR_EN

Enables address phase of auto-polling (Read Status) command.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

10:8

POLLING_BIT_INDEX

Defines the bit index that should be polled. A value of 010 means that bit 2 of the returned data will be polled for.A value of 111 means that bit 7 of the returned data will be polled for.

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x7

MAXIMUM
Highest possible value

 

7:0

OPCODE

Defines the opcode that should be issued by the controller when it is automatically polling for device program completion. This command is issued followed all device write operations. By default, this will poll the standard device STAUS register using opcode 0x05

RW

0x05

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

:OSPI:NO_OF_POLLS_BEF_EXP

Address offset

0x0000 003C

Description

Polling Expiration Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:0

NO_OF_POLLS_BEF_EXP

Number of polls cycles before expiration

RW

0xFFFF FFFF

 

 

0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

0x0000 0000

MINIMUM
Smallest value

 

:OSPI:IRQ_STAUS

Address offset

0x0000 0040

Description

Interrupt Status Register: The status fields in this register are set when the described event occurs and the interrupt is enabled in the mask register. When any of these bit fields are set, the interrupt output is asserted high. The fields are each cleared by writing a 1 to the field. Note that bit fields 6 thru 10 are only valid when legacy SPI mode is active.

Type

RW

Bits

Field Name

Description

Type

Reset

31:20

RESERVED_2

 

RO

0x000

19

ECC_FAIL

ECC failure This interrupt informs the system that Flash Device reported ECC error.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

18

TX_CRC_CHUNK_BRK

TX CRC chunk was broken This interrupt informs the system that program page SPI transfer was discontinued somewhere inside the chunk.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

17

RX_CRC_DATA_VAL

RX CRC data valid New RX CRC data was captured from Flash Device

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

16

RX_CRC_DATA_ERR

RX CRC data error CRC data from Flash Device does not correspond to the one dynamically calculated by the controller.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

15

RESERVED

 

RO

0

14

STIG_REQ_INT

The controller is ready for getting another STIG request.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

13

POLL_EXP_INT

The maximum number of programmed polls cycles is expired

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

12

INDRD_SRAM_FULL

Indirect Read Partition overflow: Indirect Read Partition of SRAM is full and unable to immediately complete indirect operation

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

11

RX_FIFO_FULL

Small RX FIFO full: Current FIFO status can be ignored in non-SPI legacy mode

RW

0

 

 

0

DISABLE
FIFO is not full 1 : FIFO is full

 

 

 

1

EN
FIFO is full

 

10

RX_FIFO_NOT_EMPTY

Small RX FIFO not empty: Current FIFO status can be ignored in non-SPI legacy mode

RW

0

 

 

0

DISABLE
FIFO has less than RX THRESHOLD entries, 1 : FIFO has >= THRESHOLD entries

 

 

 

1

EN
FIFO has >= THRESHOLD entries

 

9

TX_FIFO_FULL

Small TX FIFO full: Current FIFO status can be ignored in non-SPI legacy mode

RW

0

 

 

0

DISABLE
FIFO is not full, 1 : FIFO is full

 

 

 

1

EN
FIFO is full

 

8

TX_FIFO_NOT_FULL

Small TX FIFO not full: Current FIFO status can be ignored in non-SPI legacy mode

RW

0

 

 

0

DISABLE
FIFO has >= THRESHOLD entries, 1 : FIFO has less than THRESHOLD entries

 

 

 

1

EN
FIFO has less than THRESHOLD entries

 

7

RECV_OVERFLOW

Receive Overflow: This should only occur in Legacy SPI mode. Set if an attempt is made to push the RX FIFO when it is full. This bit is reset only by a system reset and cleared only when this register is read. If a new push to the RX FIFO occurs coincident with a register read this flag will remain set.

RW

0

 

 

0

DISABLE
no overflow has been detected. 1 : an overflow has occurred.

 

 

 

1

EN
an overflow has occurred.

 

6

INDIRECT_XFER_LEVEL_BREACH

Indirect Transfer Watermark Level Breached

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

5

ILLEGAL_ACCESS_DET

Illegal AHB access has been detected. AHB wrapping bursts and the use of SPLIT/RETRY accesses will cause this error interrupt to trigger.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

4

PROT_WR_ATTEMPT

Write to protected area was attempted and rejected.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

3

INDIRECT_TRANSFER_REJECT

Indirect operation was requested but could not be accepted. Two indirect operations already in storage.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

2

INDIRECT_OP_DONE

Indirect Operation Complete: Controller has completed last triggered indirect operation

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

1

UNDERFLOW_DET

Underflow Detected:

RW

0

 

 

0

DISABLE
no underflow has been detected 1 : underflow is detected and an attempt to transfer data is made when the small TX FIFO is empty. This may occur when AHB write data is being supplied too slowly to keep up with the requested write operation This bit is reset only by a system reset and cleared only when the register is read.

 

 

 

1

EN
underflow is detected and an attempt to transfer data is made when the small TX FIFO is empty. This may occur when AHB write data is being supplied too slowly to keep up with the requested write operation This bit is reset only by a system reset and cleared only when the register is read.

 

0

MODE_M_FAIL

Mode M Failure: Mode M failure indicates the voltage on pin n_ss_in is inconsistent with the SPI mode. Set =1 if n_ss_in is low in master mode (multi-master contention). These conditions will clear the spi_enable bit and disable the SPI. This bit is reset only by a system reset and cleared only when this register is read.

RW

0

 

 

0

DISABLE
no mode fault has been detected 1 : a mode fault has occurred

 

 

 

1

EN
a mode fault has occurred

 

:OSPI:IRQ_MASK

Address offset

0x0000 0044

Description

Interrupt Mask: 0 : the interrupt for the corresponding interrupt status register bit is disabled.
1 : the interrupt for the corresponding interrupt status register bit is enabled.

Type

RW

Bits

Field Name

Description

Type

Reset

31:20

RESERVED_2

 

RO

0x000

19

ECC_FAIL_MASK

ECC failure Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

18

TX_CRC_CHUNK_BRK_MASK

TX CRC chunk was broken Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

17

RX_CRC_DATA_VAL_MASK

RX CRC data valid Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

16

RX_CRC_DATA_ERR_MASK

RX CRC data error Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

15

RESERVED

 

RO

0

14

STIG_REQ_MASK

STIG request completion Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

13

POLL_EXP_INT_MASK

Polling expiration detected Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

12

INDRD_SRAM_FULL_MASK

Indirect Read Partition overflow mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

11

RX_FIFO_FULL_MASK

Small RX FIFO full Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

10

RX_FIFO_NOT_EMPTY_MASK

Small RX FIFO not empty Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

9

TX_FIFO_FULL_MASK

Small TX FIFO full Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

8

TX_FIFO_NOT_FULL_MASK

Small TX FIFO not full Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

7

RECV_OVERFLOW_MASK

Receive Overflow Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

6

INDIRECT_XFER_LEVEL_BREACH_MASK

Transfer Watermark Breach Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

5

ILLEGAL_ACCESS_DET_MASK

Illegal Access Detected Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

4

PROT_WR_ATTEMPT_MASK

Protected Area Write Attempt Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

3

INDIRECT_TRANSFER_REJECT_MASK

Indirect Read Reject Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

2

INDIRECT_OP_DONE_MASK

Indirect Complete Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

1

UNDERFLOW_DET_MASK

Underflow Detected Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

0

MODE_M_FAIL_MASK

Mode M Failure Mask

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

:OSPI:LOWER_WR_PROT

Address offset

0x0000 0050

Description

Lower Write Protection Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:0

SUBSECTOR

The block number that defines the lower block in the range of blocks that is to be locked from writing. The definition of a block in terms of number of bytes is programmable via the Device Size Configuration register.

RW

0x0000 0000

 

 

0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

0x0000 0000

MINIMUM
Smallest value

 

:OSPI:UPPER_WR_PROT

Address offset

0x0000 0054

Description

Upper Write Protection Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:0

SUBSECTOR

The block number that defines the upper block in the range of blocks that is to be locked from writing. The definition of a block in terms of number of bytes is programmable via the Device Size Configuration register.

RW

0x0000 0000

 

 

0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

0x0000 0000

MINIMUM
Smallest value

 

:OSPI:WR_PROT_CTRL

Address offset

0x0000 0058

Description

Write Protection Control Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:2

RESERVED

 

RO

0x0000 0000

1

ENB

Write Protection Enable Bit: When set to 1, any AHB write access with an address within the protection region defined in the lower and upper write protection registers is rejected. An AHB error response is generated and an interrupt source triggered. When set to 0, the protection region is disabled.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

0

INV

Write Protection Inversion Bit: When set to 1, the protection region defined in the lower and upper write protection registers is inverted meaning it is the region that the system is permitted to write to. When set to 0, the protection region defined in the lower and upper write protection registers is the region that the system is not permitted to write to.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

:OSPI:INDIRECT_READ_XFER_CTRL

Address offset

0x0000 0060

Description

Indirect Read Transfer Control Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:8

RESERVED

 

RO

0x00 0000

7:6

NUM_IND_OPS_DONE

This field contains the number of indirect operations which have been completed. This is used in conjunction with the indirect completion status field (bit 5). It is incremented by hardware when an indirect operation has completed. Write a 1 to bit 5 of this register to decrement it.

RO

0x0

 

 

Read 0x0

MINIMUM
Smallest value

 

 

 

Read 0x3

MAXIMUM
Highest possible value

 

5

IND_OPS_DONE_STAUS

Indirect Completion Status: This field is set to 1 when an indirect operation has completed. Write a 1 to this field to clear it.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

4

RD_QUEUED

Two indirect read operations have been queued

RO

0

 

 

Read 0

DISABLE
Disable

 

 

 

Read 1

EN
Enable

 

3

SRAM_FULL

SRAM Full: SRAM full and unable to immediately complete an indirect operation. Write a 1 to this field to clear it.\"; indirect operation (status)

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

2

RD_STAUS

Indirect Read Status: Indirect read operation in progress (status)

RO

0

 

 

Read 0

DISABLE
Disable

 

 

 

Read 1

EN
Enable

 

1

CANCEL

Cancel Indirect Read: Writing a 1 to this bit will cancel all ongoing indirect read operations.

WO

0

 

 

Write 0

DISABLE
Disable

 

 

 

Write 1

EN
Enable

 

0

START

Start Indirect Read: Writing a 1 to this bit will trigger an indirect read operation. The assumption is that the indirect start address and the indirect number of bytes register is setup before triggering the indirect read operation.

WO

0

 

 

Write 0

DISABLE
Disable

 

 

 

Write 1

EN
Enable

 

:OSPI:INDIRECT_READ_XFER_WATERMARK

Address offset

0x0000 0064

Description

Indirect Read Transfer Watermark Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:0

LEVEL

Watermark Value: This represents the minimum fill level of the SRAM before a DMA peripheral access is permitted. When the SRAM fill level passes the watermark, an interrupt is also generated. This field can be disabled by writing a value of all zeroes.

RW

0x0000 0000

 

 

0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

0x0000 0000

MINIMUM
Smallest value

 

:OSPI:INDIRECT_READ_XFER_START

Address offset

0x0000 0068

Description

Indirect Read Transfer Start Address Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:0

ADDR

This is the start address from which the indirect access will commence its READ operation.

RW

0x0000 0000

 

 

0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

0x0000 0000

MINIMUM
Smallest value

 

:OSPI:INDIRECT_READ_XFER_NUM_BYTES

Address offset

0x0000 006C

Description

Indirect Read Transfer Number Bytes Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:0

VALUE

This is the number of bytes that the indirect access will consume. This can be bigger than the configured size of SRAM.

RW

0x0000 0000

 

 

0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

0x0000 0000

MINIMUM
Smallest value

 

:OSPI:INDIRECT_WRITE_XFER_CTRL

Address offset

0x0000 0070

Description

Indirect Write Transfer Control Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:8

RESERVED_2

 

RO

0x00 0000

7:6

NUM_IND_OPS_DONE

This field contains the number of indirect operations which have been completed. This is used in conjunction with the indirect completion status field (bit 5). It is incremented by hardware when an indirect operation has completed. Write a 1 to bit 5 of this register to decrement it.

RO

0x0

 

 

Read 0x0

MINIMUM
Smallest value

 

 

 

Read 0x3

MAXIMUM
Highest possible value

 

5

IND_OPS_DONE_STAUS

Indirect Completion Status: This field is set to 1 when an indirect operation has completed. Write a 1 to this field to clear it.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

4

WR_QUEUED

Two indirect write operations have been queued

RO

0

 

 

Read 0

DISABLE
Disable

 

 

 

Read 1

EN
Enable

 

3

RESERVED

 

RO

0

2

WR_STAUS

Indirect Write Status: Indirect write operation in progress (status)

RO

0

 

 

Read 0

DISABLE
Disable

 

 

 

Read 1

EN
Enable

 

1

CANCEL

Cancel Indirect Write: Writing a 1 to this bit will cancel all ongoing indirect write operations.

WO

0

 

 

Write 0

DISABLE
Disable

 

 

 

Write 1

EN
Enable

 

0

START

Start Indirect Write: Writing a 1 to this bit will trigger an indirect write operation. The assumption is that the indirect start address and the indirect number of bytes register is setup before triggering the indirect write operation.

WO

0

 

 

Write 0

DISABLE
Disable

 

 

 

Write 1

EN
Enable

 

:OSPI:INDIRECT_WRITE_XFER_WATERMARK

Address offset

0x0000 0074

Description

Indirect Write Transfer Watermark Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:0

LEVEL

Watermark Value: This represents the maximum fill level of the SRAM before a DMA peripheral access is permitted. When the SRAM fill level falls below the watermark, an interrupt is also generated. This field can be disabled by writing a value of all ones.

RW

0xFFFF FFFF

 

 

0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

0x0000 0000

MINIMUM
Smallest value

 

:OSPI:INDIRECT_WRITE_XFER_START

Address offset

0x0000 0078

Description

Indirect Write Transfer Start Address Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:0

ADDR

Start of Indirect Access: This is the start address from which the indirect access will commence its READ operation.

RW

0x0000 0000

 

 

0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

0x0000 0000

MINIMUM
Smallest value

 

:OSPI:INDIRECT_WRITE_XFER_NUM_BYTES

Address offset

0x0000 007C

Description

Indirect Write Transfer Number Bytes Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:0

VALUE

Indirect Number of Bytes: This is the number of bytes that the indirect access will consume. This can be bigger than the configured size of SRAM.

RW

0x0000 0000

 

 

0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

0x0000 0000

MINIMUM
Smallest value

 

:OSPI:INDIRECT_TRIGGER_ADDR_RANGE

Address offset

0x0000 0080

Description

Indirect Trigger Address Range Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:4

RESERVED

 

RO

0x000 0000

3:0

IND_RANGE_WIDTH

This is the address offset of Indirect Trigger Address Register.

RW

0x4

 

 

0x0

MINIMUM
Smallest value

 

 

 

0xF

MAXIMUM
Highest possible value

 

:OSPI:FLASH_COMMAND_CTRL_MEM

Address offset

0x0000 008C

Description

Flash Command Control Memory Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:29

RESERVED_3

 

RO

0x0

28:20

MEM_BANK_ADDR

The address of the Memory Bank which data will be read from.

RW

0x000

 

 

0x000

MINIMUM
Smallest value

 

 

 

0x1FF

MAXIMUM
Highest possible value

 

19

RESERVED_2

 

RO

0

18:16

NB_OF_STIG_READ_BYTES

It defines the number of read bytes for the extended STIG.

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x7

MAXIMUM
Highest possible value

 

15:8

MEM_BANK_READ_DATA

Last requested data from the STIG Memory Bank.

RO

0x00

 

 

Read 0x00

MINIMUM
Smallest value

 

 

 

Read 0xFF

MAXIMUM
Highest possible value

 

7:2

RESERVED

 

RO

0x00

1

MEM_BANK_REQ_IN_PROGRESS

Memory Bank data request in progress.

RO

0

 

 

Read 0

DISABLE
Disable

 

 

 

Read 1

EN
Enable

 

0

TRIGGER_MEM_BANK_REQ

Trigger the Memory Bank data request.

WO

0

 

 

Write 0

DISABLE
Disable

 

 

 

Write 1

EN
Enable

 

:OSPI:FLASH_CMD_CTRL

Address offset

0x0000 0090

Description

Flash Command Control Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:24

CMD_OPCODE

Command Opcode: The command opcode field should be setup before triggering the command. For example, 0x20 maps to SubSector Erase. Writing to the execute field (bit 0) of this register launches the command. NOTE : Using this approach to issue commands to the device will make use of the instruction type of the device instruction configuration register. If this field is set to 2'b00, then the command opcode, command address, command dummy bytes and command data will all be transferred in a serial fashion. If this field is set to 2'b01, then the command opcode, command address, command dummy bytes and command data will all be transferred in parallel using DQ0 and DQ1 pins. If this field is set to 2'b10, then the command opcode, command address, command dummy bytes and command data will all be transferred in parallel using DQ0, DQ1, DQ2 and DQ3 pins.

RW

0x00

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

23

ENB_READ_DATA

Read Data Enable: Set to 1 if the command specified in the command opcode field (bits 31:24) requires read data bytes to be received from the device.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

22:20

NUM_RD_DATA_BYTES

Number of Read Data Bytes: Up to 8 data bytes may be read using this command. Set to 0 for 1 byte and 7 for 8 bytes.

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x7

MAXIMUM
Highest possible value

 

19

ENB_COMD_ADDR

Command Address Enable: Set to 1 if the command specified in bits 31:24 requires an address. This should be setup before triggering the command via writing a 1 to the execute field.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

18

ENB_MODE_BIT

Mode Bit Enable: Set to 1 to ensure the mode bits as defined in the Mode Bit Configuration register are sent following the address bytes.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

17:16

NUM_ADDR_BYTES

Number of Address Bytes: Set to the number of address bytes required (the address itself is programmed in the FLASH COMMAND ADDR REGISTERS). This should be setup before triggering the command via bit 0 of this register. 2'b00 : 1 address byte 2'b01 : 2 address bytes 2'b10 : 3 address bytes 2'b11 : 4 address bytes

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x3

MAXIMUM
Highest possible value

 

15

ENB_WRITE_DATA

Write Data Enable: Set to 1 if the command specified in the command opcode field requires write data bytes to be sent to the device.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

14:12

NUM_WR_DATA_BYTES

Number of Write Data Bytes: Up to 8 Data bytes may be written using this command Set to 0 for 1 byte, 7 for 8 bytes.

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x7

MAXIMUM
Highest possible value

 

11:7

NUM_DUMMY_CYCLES

Number of Dummy cycles: Set to the number of dummy cycles required. This should be setup before triggering the command via the execute field of this register.

RW

0x00

 

 

0x00

MINIMUM
Smallest value

 

 

 

0x1F

MAXIMUM
Highest possible value

 

6:3

CMD_GEN_FSM_STAE

CMD_GEN_FSM_STAE ?is used to define the ?Polling flag?:?
If (CMD_GEN_FSM_STAE[6:3] = 0x7 or 0x8 or 0xa or 0xb? ?) then ?Polling_flag?=1
Usage: In order to make sure a write to external device was done and ended successfully, ?following condition should be met:
?Command execution in progress? (FLASH_CMD_CTRL.CMD_EXEC_STAUS) = 0 ?AND ?Polling flag? is ?0?.
Design NOTE: Command gen FSM polling states are:
????? CMD_GEN_FSM_STAE == POLL_STAUS_AFTER_WRITE? ?(0x7)
????? CMD_GEN_FSM_STAE == POLL_STAUS_AFTER_WRITE2 ?(0x8)
????? CMD_GEN_FSM_STAE == POLL_STAUS_WAIT ?(0xb)
????? CMD_GEN_FSM_STAE == LET_TXFIFO_EMPTY ??(0xa)

RO

0x0

 

 

Read 0x0

IDLE
Magillem Info : Information not available in the IP-XACT file

 

 

 

Read 0x1

SEND_ADDR_BYTES
Magillem Info : Information not available in the IP-XACT file

 

 

 

Read 0x2

STIG_MODE_BYTE
Magillem Info : Information not available in the IP-XACT file

 

 

 

Read 0x3

STIG_DUMMY_BYTES
Magillem Info : Information not available in the IP-XACT file

 

 

 

Read 0x4

SEND_DATA
Magillem Info : Information not available in the IP-XACT file

 

 

 

Read 0x5

SEND_STIG_DATA_LOWER
Magillem Info : Information not available in the IP-XACT file

 

 

 

Read 0x6

SEND_STIG_DATA_UPPER
Magillem Info : Information not available in the IP-XACT file

 

 

 

Read 0x7

POLL_STAUS_AFTER_WRITE
Magillem Info : Information not available in the IP-XACT file

 

 

 

Read 0x8

POLL_STAUS_AFTER_WRITE2
Magillem Info : Information not available in the IP-XACT file

 

 

 

Read 0xA

LET_TXFIFO_EMPTY
Magillem Info : Information not available in the IP-XACT file

 

 

 

Read 0xB

POLL_STAUS_WAIT
Magillem Info : Information not available in the IP-XACT file

 

 

 

Read 0xC

SEND_DATA_PIPE
Magillem Info : Information not available in the IP-XACT file

 

2

STIG_MEM_BANK_EN

STIG Memory Bank enable bit.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

1

CMD_EXEC_STAUS

Command execution in progress.

RO

0

 

 

Read 0

DISABLE
Disable

 

 

 

Read 1

EN
Enable

 

0

CMD_EXEC

Execute the command.

WO

0

 

 

Write 0

DISABLE
Disable

 

 

 

Write 1

EN
Enable

 

:OSPI:FLASH_CMD_ADDR

Address offset

0x0000 0094

Description

Flash Command Address Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:0

ADDR

Command Address: This should be setup before triggering the command with execute field (bit 0) of the Flash Command Control register. It is the address used by the command specified in the opcode field (bits 31:24) of the Flash Command Control register.

RW

0x0000 0000

 

 

0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

0x0000 0000

MINIMUM
Smallest value

 

:OSPI:FLASH_RD_DATA_LOWER

Address offset

0x0000 00A0

Description

Flash Command Read Data Register (Lower)

Type

RO

Bits

Field Name

Description

Type

Reset

31:0

DATA

This is the data that is returned by the flash device for any status or configuration read operation carried out by triggering the event in the control register. The register will be valid when the polling bit in the control register is low.

RO

0x0000 0000

 

 

Read 0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

Read 0x0000 0000

MINIMUM
Smallest value

 

:OSPI:FLASH_RD_DATA_UPPER

Address offset

0x0000 00A4

Description

Flash Command Read Data Register (Upper)

Type

RO

Bits

Field Name

Description

Type

Reset

31:0

DATA

This is the data that is returned by the FLASH device for any status or configuration read operation carried out by triggering the event in the control register. The register will be valid when the polling bit in the control register is low.

RO

0x0000 0000

 

 

Read 0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

Read 0x0000 0000

MINIMUM
Smallest value

 

:OSPI:FLASH_WR_DATA_LOWER

Address offset

0x0000 00A8

Description

Flash Command Write Data Register (Lower)

Type

RW

Bits

Field Name

Description

Type

Reset

31:0

DATA

Command Write Data Lower Byte: This is the command write data lower byte. This should be setup before triggering the command with execute field (bit 0) of the Flash Command Control register. It is the data that is to be written to the flash for any status or configuration write operation carried out by triggering the event in the Flash Command Control register.

RW

0x0000 0000

 

 

0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

0x0000 0000

MINIMUM
Smallest value

 

:OSPI:FLASH_WR_DATA_UPPER

Address offset

0x0000 00AC

Description

Flash Command Write Data Register (Upper)

Type

RW

Bits

Field Name

Description

Type

Reset

31:0

DATA

Command Write Data Upper Byte: This is the command write data upper byte. This should be setup before triggering the command with execute field (bit 0) of the Flash Command Control register. It is the data that is to be written to the flash for any status or configuration write operation carried out by triggering the event in the Flash Command Control register.

RW

0x0000 0000

 

 

0xFFFF FFFF

MAXIMUM
Highest possible value

 

 

 

0x0000 0000

MINIMUM
Smallest value

 

:OSPI:POLLING_FLASH_STAUS

Address offset

0x0000 00B0

Description

Polling Flash Status Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:21

RESERVED_2

 

RO

0x000

20:16

DEVICE_STAUS_NB_DUMMY

Number of dummy cycles for auto-polling

RW

0x00

 

 

0x00

MINIMUM
Smallest value

 

 

 

0x1F

MAXIMUM
Highest possible value

 

15:9

RESERVED

 

RO

0x00

8

DEVICE_STAUS_VALID

Device Status Valid: This should be set when value in bits from 7 to 0 is valid.

RO

0

 

 

Read 0

DISABLE
Disable

 

 

 

Read 1

EN
Enable

 

7:0

DEVICE_STAUS

Defines actual Status Register of Device

RO

0x00

 

 

Read 0x00

MINIMUM
Smallest value

 

 

 

Read 0xFF

MAXIMUM
Highest possible value

 

:OSPI:PHY_CONFIGURATION

Address offset

0x0000 00B4

Description

PHY Configuration Register

Type

RW

Bits

Field Name

Description

Type

Reset

31

PHY_CONFIG_RESYNC

This bit is used for re-synchronisation delay lines to update them with values from TX DLL Delay and RX DLL Delay fields.

WO

0

 

 

Write 0

DISABLE
Disable

 

 

 

Write 1

EN
Enable

 

30

PHY_CONFIG_RESET

DLL Reset bit: This bit is used for reset of Delay Lines by software.

WO

1

 

 

Write 0

DISABLE
Disable

 

 

 

Write 1

EN
Enable

 

29

PHY_CONFIG_RX_DLL_BYPASS

RX DLL Bypass: This field determines id RX DLL is bypassed.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

28:23

RESERVED_2

 

RO

0x00

22:16

PHY_CONFIG_TX_DLL_DELAY

TX DLL Delay: This field determines the number of delay elements to insert on data path between ref_clk and spi_clk.

RW

0x00

 

 

0x00

MINIMUM
Smallest value

 

 

 

0x7F

MAXIMUM
Highest possible value

 

15:7

RESERVED

 

RO

0x000

6:0

PHY_CONFIG_RX_DLL_DELAY

RX DLL Delay: This field determines the number of delay elements to insert on data path between ref_clk and rx_dll_clk.

RW

0x00

 

 

0x00

MINIMUM
Smallest value

 

 

 

0x7F

MAXIMUM
Highest possible value

 

:OSPI:PHY_MASTER_CONTROL

Address offset

0x0000 00B8

Description

PHY DLL Master Control Register

Type

RW

Bits

Field Name

Description

Type

Reset

31:25

RESERVED_3

 

RO

0x00

24

PHY_MASTER_LOCK_MODE

Determines if the master delay line locks on a full cycle or half cycle of delay.

RW

0

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

23

PHY_MASTER_BYPASS_MODE

Controls the bypass mode of the master and slave DLLs.

RW

1

 

 

0

DISABLE
Disable

 

 

 

1

EN
Enable

 

22:20

PHY_MASTER_PHASE_DETECT_SELECTOR

Selects the number of delay elements to be inserted between the phase detect flip-flops.

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x7

MAXIMUM
Highest possible value

 

19

RESERVED_2

 

RO

0

18:16

PHY_MASTER_NB_INDICATIONS

Holds the number of consecutive increment or decrement indications.

RW

0x0

 

 

0x0

MINIMUM
Smallest value

 

 

 

0x7

MAXIMUM
Highest possible value

 

15:7

RESERVED

 

RO

0x000

6:0

PHY_MASTER_INITIAL_DELAY

This value is the initial delay value for the DLL.

RW

0x00

 

 

0x00

MINIMUM
Smallest value

 

 

 

0x7F

MAXIMUM
Highest possible value

 

:OSPI:DLL_OBSERVABLE_LOWER

Address offset

0x0000 00BC

Description

DLL Observable Register Lower

Type

RO

Bits

Field Name

Description

Type

Reset

31:24

DLL_OBSERVABLE_LOWER_DLL_LOCK_INC

Holds the state of the cumulative dll_lock_inc register.

RO

0x00

 

 

Read 0x00

MINIMUM
Smallest value

 

 

 

Read 0xFF

MAXIMUM
Highest possible value

 

23:16

DLL_OBSERVABLE_LOWER_DLL_LOCK_DEC

Holds the state of the cumulative dll_lock_dec register.

RO

0x00

 

 

Read 0x00

MINIMUM
Smallest value

 

 

 

Read 0xFF

MAXIMUM
Highest possible value

 

15

DLL_OBSERVABLE_LOWER_LOOPBACK_LOCK

This bit indicates that lock of loopback is done.

RO

0

 

 

Read 0

DISABLE
Disable

 

 

 

Read 1

EN
Enable

 

14:8

DLL_OBSERVABLE_LOWER_LOCK_VALUE

Reports the DLL encoder value from the master DLL to the slave DLLs.

RO

0x00

 

 

Read 0x00

MINIMUM
Smallest value

 

 

 

Read 0x7F

MAXIMUM
Highest possible value

 

7:3

DLL_OBSERVABLE_LOWER_UNLOCK_COUNTER

Reports the number of increments or decrements required for the master DLL to complete the locking process.

RO

0x00

 

 

Read 0x00

MINIMUM
Smallest value

 

 

 

Read 0x1F

MAXIMUM
Highest possible value

 

2:1

DLL_OBSERVABLE_LOWER_LOCK_MODE

Defines the mode in which the DLL has achieved the lock.

RO

0x0

 

 

Read 0x0

MINIMUM
Smallest value

 

 

 

Read 0x3

MAXIMUM
Highest possible value

 

0

DLL_OBSERVABLE_LOWER_DLL_LOCK

Indicates status of DLL.

RO

0

 

 

Read 0

DISABLE
Disable

 

 

 

Read 1

EN
Enable

 

:OSPI:DLL_OBSERVABLE_UPPER

Address offset

0x0000 00C0

Description

DLL Observable Register Upper

Type

RO

Bits

Field Name

Description

Type

Reset

31:23

RESERVED_2

 

RO

0x000

22:16

DLL_OBSERVABLE_UPPER_TX_DECODER_OUTPUT

Holds the encoded value for the TX delay line for this slice.

RO

0x00

 

 

Read 0x00

MINIMUM
Smallest value

 

 

 

Read 0x7F

MAXIMUM
Highest possible value

 

15:7

RESERVED

 

RO

0x000

6:0

DLL_OBSERVABLE__UPPER_RX_DECODER_OUTPUT

Holds the encoded value for the RX delay line for this slice.

RO

0x00

 

 

Read 0x00

MINIMUM
Smallest value

 

 

 

Read 0x7F

MAXIMUM
Highest possible value

 

:OSPI:OPCODE_EXT_LOWER

Address offset

0x0000 00E0

Description

Opcode Extension Register (Lower)

Type

RW

Bits

Field Name

Description

Type

Reset

31:24

EXT_READ_OPCODE

Supplement byte of any Read Opcode

RW

0x13

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

23:16

EXT_WRITE_OPCODE

Supplement byte of any Write Opcode

RW

0xED

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

15:8

EXT_POLL_OPCODE

Supplement byte of any Polling Opcode

RW

0xFA

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

7:0

EXT_STIG_OPCODE

Supplement byte of any STIG Opcode

RW

0x00

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

:OSPI:OPCODE_EXT_UPPER

Address offset

0x0000 00E4

Description

Opcode Extension Register (Upper)

Type

RW

Bits

Field Name

Description

Type

Reset

31:24

WEL_OPCODE

First byte of any WEL Opcode

RW

0x06

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

23:16

EXT_WEL_OPCODE

Supplement byte of any WEL Opcode

RW

0xF9

 

 

0x00

MINIMUM
Smallest value

 

 

 

0xFF

MAXIMUM
Highest possible value

 

15:0

RESERVED

 

RO

0x0000

:OSPI:MODULE_ID

Address offset

0x0000 00FC

Description

Module ID Register

Type

RO

Bits

Field Name

Description

Type

Reset

31:24

FIX_PATCH

Fix/path number related to revision described by 3 LSBs of this register

RO

0x04

 

 

Read 0x00

MINIMUM
Smallest value

 

 

 

Read 0xFF

MAXIMUM
Highest possible value

 

23:8

MODULE_ID

Module/Revision ID number

RO

0x0003

 

 

Read 0x0000

MINIMUM
Smallest value

 

 

 

Read 0xFFFF

MAXIMUM
Highest possible value

 

7:2

RESERVED

 

RO

0x00

1:0

CONF

Configuration ID number: 0 : OCTAL + PHY Configuration 1 : OCTAL Configuration 2 : QUAD + PHY Configuration 3 : QUAD Configuration

RO

0x0

 

 

Read 0x0

MINIMUM
Smallest value

 

 

 

Read 0x3

MAXIMUM
Highest possible value