HAL XSPI Types ¶
HAL XSPI Types ¶
- group XSPI_Exported_Types
-
Typedefs
-
typedef
struct
hal_xspi_handle_s
hal_xspi_handle_t
¶
-
XSPI Handle Structure type
-
typedef
void
(
*
hal_xspi_cb_t
)
(
hal_xspi_handle_t
*
hxspi
)
¶
-
XSPI Callback pointer definition
Enums
-
enum
hal_xspi_t
¶
-
HAL XSPI instance enumeration definition.
Values:
-
enumerator
HAL_XSPI1
¶
-
HAL XSPI instance 1
-
enumerator
HAL_XSPI1
¶
-
enum
hal_xspi_state_t
¶
-
HAL XSPI state enumeration definition.
Values:
-
enumerator
HAL_XSPI_STATE_RESET
¶
-
Reset state
-
enumerator
HAL_XSPI_STATE_INIT
¶
-
XSPI is initialized but not yet configured
-
enumerator
HAL_XSPI_STATE_IDLE
¶
-
XSPI initialized and a global config applied
-
enumerator
HAL_XSPI_STATE_CMD_ACTIVE
¶
-
Command ongoing
-
enumerator
HAL_XSPI_STATE_AUTO_POLLING_ACTIVE
¶
-
Auto-polling ongoing
-
enumerator
HAL_XSPI_STATE_TX_ACTIVE
¶
-
Indirect Tx ongoing
-
enumerator
HAL_XSPI_STATE_RX_ACTIVE
¶
-
Indirect Rx ongoing
-
enumerator
HAL_XSPI_STATE_MEMORY_MAPPED_ACTIVE
¶
-
Memory-mapped ongoing
-
enumerator
HAL_XSPI_STATE_ABORT
¶
-
Abort ongoing
-
enumerator
HAL_XSPI_STATE_RESET
¶
-
enum
hal_xspi_dlyb_status_t
¶
-
HAL XSPI DLYB State enumeration definition.
Values:
-
enumerator
HAL_XSPI_DLYB_DISABLED
¶
-
XSPI DLYB disabled
-
enumerator
HAL_XSPI_DLYB_ENABLED
¶
-
XSPI DLYB enabled
-
enumerator
HAL_XSPI_DLYB_DISABLED
¶
-
enum
hal_xspi_flag_status_t
¶
-
HAL XSPI flag state enumeration definition.
Values:
-
enumerator
HAL_XSPI_FLAG_NOT_ACTIVE
¶
-
Flag not active
-
enumerator
HAL_XSPI_FLAG_ACTIVE
¶
-
Flag active
-
enumerator
HAL_XSPI_FLAG_NOT_ACTIVE
¶
-
enum
hal_xspi_memory_mode_t
¶
-
HAL XSPI Memory Mode enumeration definition.
Values:
-
enumerator
HAL_XSPI_MEMORY_SINGLE
¶
-
Dual memory mode disabled
-
enumerator
HAL_XSPI_MEMORY_DUAL
¶
-
0x00000040 Dual-memory configuration Dual memory mode enabled
-
enumerator
HAL_XSPI_MEMORY_SINGLE
¶
-
enum
hal_xspi_memory_type_t
¶
-
HAL XSPI Memory Type enumeration definition.
Values:
-
enumerator
HAL_XSPI_MEMORY_TYPE_MICRON
¶
-
Micron mode
-
enumerator
HAL_XSPI_MEMORY_TYPE_MACRONIX
¶
-
0x01000000 Macronix mode
-
enumerator
HAL_XSPI_MEMORY_TYPE_APMEM
¶
-
0x02000000 AP Memory mode
-
enumerator
HAL_XSPI_MEMORY_TYPE_MACRONIX_RAM
¶
-
Macronix RAM mode
-
enumerator
HAL_XSPI_MEMORY_TYPE_HYPERBUS
¶
-
0x04000000 Hyperbus mode
-
enumerator
HAL_XSPI_MEMORY_TYPE_MICRON
¶
-
enum
hal_xspi_memory_size_t
¶
-
HAL XSPI Memory Size enumeration definition.
Values:
-
enumerator
HAL_XSPI_MEMORY_SIZE_16BIT
¶
-
16 bits ( 2 Bytes = 2^( 0+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_32BIT
¶
-
32 bits ( 4 Bytes = 2^( 1+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_64BIT
¶
-
64 bits ( 8 Bytes = 2^( 2+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_128BIT
¶
-
128 bits ( 16 Bytes = 2^( 3+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_256BIT
¶
-
256 bits ( 32 Bytes = 2^( 4+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_512BIT
¶
-
512 bits ( 64 Bytes = 2^( 5+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_1KBIT
¶
-
1 Kbits (128 Bytes = 2^( 6+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_2KBIT
¶
-
2 Kbits (256 Bytes = 2^( 7+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_4KBIT
¶
-
4 Kbits (512 Bytes = 2^( 8+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_8KBIT
¶
-
8 Kbits ( 1 KBytes = 2^( 9+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_16KBIT
¶
-
16 Kbits ( 2 KBytes = 2^(10+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_32KBIT
¶
-
32 Kbits ( 4 KBytes = 2^(11+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_64KBIT
¶
-
64 Kbits ( 8 KBytes = 2^(12+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_128KBIT
¶
-
128 Kbits ( 16 KBytes = 2^(13+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_256KBIT
¶
-
256 Kbits ( 32 KBytes = 2^(14+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_512KBIT
¶
-
512 Kbits ( 64 KBytes = 2^(15+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_1MBIT
¶
-
1 Mbits (128 KBytes = 2^(16+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_2MBIT
¶
-
2 Mbits (256 KBytes = 2^(17+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_4MBIT
¶
-
4 Mbits (512 KBytes = 2^(18+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_8MBIT
¶
-
8 Mbits ( 1 MBytes = 2^(19+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_16MBIT
¶
-
16 Mbits ( 2 MBytes = 2^(20+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_32MBIT
¶
-
32 Mbits ( 4 MBytes = 2^(21+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_64MBIT
¶
-
64 Mbits ( 8 MBytes = 2^(22+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_128MBIT
¶
-
128 Mbits ( 16 MBytes = 2^(23+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_256MBIT
¶
-
256 Mbits ( 32 MBytes = 2^(24+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_512MBIT
¶
-
512 Mbits ( 64 MBytes = 2^(25+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_1GBIT
¶
-
1 Gbits (128 MBytes = 2^(26+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_2GBIT
¶
-
2 Gbits (256 MBytes = 2^(27+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_4GBIT
¶
-
4 Gbits (512 MBytes = 2^(28+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_8GBIT
¶
-
8 Gbits ( 1 GBytes = 2^(29+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_16GBIT
¶
-
16 Gbits ( 2 GBytes = 2^(30+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_32GBIT
¶
-
32 Gbits ( 4 GBytes = 2^(31+1))
-
enumerator
HAL_XSPI_MEMORY_SIZE_16BIT
¶
-
enum
hal_xspi_free_running_clk_status_t
¶
-
HAL XSPI Free Running Clock enumeration definition.
Values:
-
enumerator
HAL_XSPI_FREE_RUNNING_CLK_DISABLED
¶
-
CLK is not free running
-
enumerator
HAL_XSPI_FREE_RUNNING_CLK_ENABLED
¶
-
0x00000002 Free running clock CLK is always provided (running)
-
enumerator
HAL_XSPI_FREE_RUNNING_CLK_DISABLED
¶
-
enum
hal_xspi_prefetch_data_status_t
¶
-
HAL XSPI Prefetch Data enumeration definition.
Values:
-
enumerator
HAL_XSPI_PREFETCH_DATA_ENABLED
¶
-
Automatic prefetch for data is enabled
-
enumerator
HAL_XSPI_PREFETCH_DATA_DISABLED
¶
-
0x02000000 No prefetch data Automatic prefetch disabled
-
enumerator
HAL_XSPI_PREFETCH_DATA_ENABLED
¶
-
enum
hal_xspi_wrap_size_t
¶
-
HAL XSPI Wrap Size enumeration definition.
Values:
-
enumerator
HAL_XSPI_WRAP_NOT_SUPPORTED
¶
-
wrapped reads are not supported by the memory
-
enumerator
HAL_XSPI_WRAP_16BYTE
¶
-
0x00020000 external memory supports wrap size of 16 bytes
-
enumerator
HAL_XSPI_WRAP_32BYTE
¶
-
external memory supports wrap size of 32 bytes
-
enumerator
HAL_XSPI_WRAP_64BYTE
¶
-
0x00040000 external memory supports wrap size of 64 bytes
-
enumerator
HAL_XSPI_WRAP_128BYTE
¶
-
external memory supports wrap size of 128 bytes
-
enumerator
HAL_XSPI_WRAP_NOT_SUPPORTED
¶
-
enum
hal_xspi_sample_shift_t
¶
-
HAL XSPI Sample Shift enumeration definition.
Values:
-
enumerator
HAL_XSPI_SAMPLE_SHIFT_NONE
¶
-
No shift
-
enumerator
HAL_XSPI_SAMPLE_SHIFT_HALFCYCLE
¶
-
0x40000000 Sample shift 1/2 cycle shift
-
enumerator
HAL_XSPI_SAMPLE_SHIFT_NONE
¶
-
enum
hal_xspi_delay_hold_t
¶
-
HAL XSPI Delay Hold Quarter Cycle enumeration definition.
Values:
-
enumerator
HAL_XSPI_DELAY_HOLD_NONE
¶
-
No Delay
-
enumerator
HAL_XSPI_DELAY_HOLD_QUARTCYCLE
¶
-
0x10000000 Delay hold quarter cycle Delay Hold 1/4 cycle
-
enumerator
HAL_XSPI_DELAY_HOLD_NONE
¶
-
enum
hal_xspi_cs_boundary_t
¶
-
HAL XSPI Chip Select Boundary enumeration definition.
Values:
-
enumerator
HAL_XSPI_CS_BOUNDARY_NONE
¶
-
CS boundary disabled
-
enumerator
HAL_XSPI_CS_BOUNDARY_16BIT
¶
-
16 bits ( 2 Bytes = 2^(1))
-
enumerator
HAL_XSPI_CS_BOUNDARY_32BIT
¶
-
32 bits ( 4 Bytes = 2^(2))
-
enumerator
HAL_XSPI_CS_BOUNDARY_64BIT
¶
-
64 bits ( 8 Bytes = 2^(3))
-
enumerator
HAL_XSPI_CS_BOUNDARY_128BIT
¶
-
128 bits ( 16 Bytes = 2^(4))
-
enumerator
HAL_XSPI_CS_BOUNDARY_256BIT
¶
-
256 bits ( 32 Bytes = 2^(5))
-
enumerator
HAL_XSPI_CS_BOUNDARY_512BIT
¶
-
512 bits ( 64 Bytes = 2^(6))
-
enumerator
HAL_XSPI_CS_BOUNDARY_1KBIT
¶
-
1 Kbits (128 Bytes = 2^(7))
-
enumerator
HAL_XSPI_CS_BOUNDARY_2KBIT
¶
-
2 Kbits (256 Bytes = 2^(8))
-
enumerator
HAL_XSPI_CS_BOUNDARY_4KBIT
¶
-
4 Kbits (512 Bytes = 2^(9))
-
enumerator
HAL_XSPI_CS_BOUNDARY_8KBIT
¶
-
8 Kbits ( 1 KBytes = 2^(10))
-
enumerator
HAL_XSPI_CS_BOUNDARY_16KBIT
¶
-
16 Kbits ( 2 KBytes = 2^(11))
-
enumerator
HAL_XSPI_CS_BOUNDARY_32KBIT
¶
-
32 Kbits ( 4 KBytes = 2^(12))
-
enumerator
HAL_XSPI_CS_BOUNDARY_64KBIT
¶
-
64 Kbits ( 8 KBytes = 2^(13))
-
enumerator
HAL_XSPI_CS_BOUNDARY_128KBIT
¶
-
128 Kbits ( 16 KBytes = 2^(14))
-
enumerator
HAL_XSPI_CS_BOUNDARY_256KBIT
¶
-
256 Kbits ( 32 KBytes = 2^(15))
-
enumerator
HAL_XSPI_CS_BOUNDARY_512KBIT
¶
-
512 Kbits ( 64 KBytes = 2^(16))
-
enumerator
HAL_XSPI_CS_BOUNDARY_1MBIT
¶
-
1 Mbits (128 KBytes = 2^(17))
-
enumerator
HAL_XSPI_CS_BOUNDARY_2MBIT
¶
-
2 Mbits (256 KBytes = 2^(18))
-
enumerator
HAL_XSPI_CS_BOUNDARY_4MBIT
¶
-
4 Mbits (512 KBytes = 2^(19))
-
enumerator
HAL_XSPI_CS_BOUNDARY_8MBIT
¶
-
8 Mbits ( 1 MBytes = 2^(20))
-
enumerator
HAL_XSPI_CS_BOUNDARY_16MBIT
¶
-
16 Mbits ( 2 MBytes = 2^(21))
-
enumerator
HAL_XSPI_CS_BOUNDARY_32MBIT
¶
-
32 Mbits ( 4 MBytes = 2^(22))
-
enumerator
HAL_XSPI_CS_BOUNDARY_64MBIT
¶
-
64 Mbits ( 8 MBytes = 2^(23))
-
enumerator
HAL_XSPI_CS_BOUNDARY_128MBIT
¶
-
128 Mbits ( 16 MBytes = 2^(24))
-
enumerator
HAL_XSPI_CS_BOUNDARY_256MBIT
¶
-
256 Mbits ( 32 MBytes = 2^(25))
-
enumerator
HAL_XSPI_CS_BOUNDARY_512MBIT
¶
-
512 Mbits ( 64 MBytes = 2^(26))
-
enumerator
HAL_XSPI_CS_BOUNDARY_1GBIT
¶
-
1 Gbits (128 MBytes = 2^(27))
-
enumerator
HAL_XSPI_CS_BOUNDARY_2GBIT
¶
-
2 Gbits (256 MBytes = 2^(28))
-
enumerator
HAL_XSPI_CS_BOUNDARY_4GBIT
¶
-
4 Gbits (512 MBytes = 2^(29))
-
enumerator
HAL_XSPI_CS_BOUNDARY_8GBIT
¶
-
8 Gbits ( 1 GBytes = 2^(30))
-
enumerator
HAL_XSPI_CS_BOUNDARY_16GBIT
¶
-
16 Gbits ( 2 GBytes = 2^(31))
-
enumerator
HAL_XSPI_CS_BOUNDARY_NONE
¶
-
enum
hal_xspi_dlyb_state_t
¶
-
HAL XSPI Delay Block Bypass enumeration definition.
Values:
-
enumerator
HAL_XSPI_DLYB_ON
¶
-
Sampling clock is delayed by the delay block
-
enumerator
HAL_XSPI_DLYB_BYPASS
¶
-
0x00000008 Delay block bypass Delay block is bypassed
-
enumerator
HAL_XSPI_DLYB_ON
¶
-
enum
hal_xspi_memory_selection_t
¶
-
HAL XSPI Memory Select enumeration definition.
Values:
-
enumerator
HAL_XSPI_MEMORY_SELECTION_NCS1
¶
-
The output of nCS is nCS1
-
enumerator
HAL_XSPI_MEMORY_SELECTION_NCS2
¶
-
0x01000000 Chip-select selection The output of nCS is nCS2
-
enumerator
HAL_XSPI_MEMORY_SELECTION_NCS1
¶
-
enum
hal_xspi_operation_type_t
¶
-
HAL XSPI Operation Type enumeration definition.
Values:
-
enumerator
HAL_XSPI_OPERATION_COMMON_CFG
¶
-
Common configuration (indirect or auto-polling mode)
-
enumerator
HAL_XSPI_OPERATION_READ_CFG
¶
-
Read configuration (memory-mapped mode)
-
enumerator
HAL_XSPI_OPERATION_WRITE_CFG
¶
-
Write configuration (memory-mapped mode)
-
enumerator
HAL_XSPI_OPERATION_WRAP_CFG
¶
-
Wrap configuration (memory-mapped mode)
-
enumerator
HAL_XSPI_OPERATION_COMMON_CFG
¶
-
enum
hal_xspi_io_select_t
¶
-
HAL XSPI IO Select enumeration definition.
Values:
-
enumerator
HAL_XSPI_IO_3_0
¶
-
Data exchanged over IO[3:0]
-
enumerator
HAL_XSPI_IO_7_4
¶
-
0x40000000 External memory select Data exchanged over IO[7:4]
-
enumerator
HAL_XSPI_IO_7_0
¶
-
Data exchanged over IO[7:0]
-
enumerator
HAL_XSPI_IO_3_0
¶
-
enum
hal_xspi_instruction_mode_t
¶
-
HAL XSPI Instruction Mode enumeration definition.
Values:
-
enumerator
HAL_XSPI_INSTRUCTION_NONE
¶
-
No instruction
-
enumerator
HAL_XSPI_INSTRUCTION_1LINE
¶
-
0x00000001 Instruction on a single line
-
enumerator
HAL_XSPI_INSTRUCTION_2LINES
¶
-
0x00000002 Instruction on two lines
-
enumerator
HAL_XSPI_INSTRUCTION_4LINES
¶
-
Instruction on four lines
-
enumerator
HAL_XSPI_INSTRUCTION_8LINES
¶
-
0x00000004 Instruction on eight lines
-
enumerator
HAL_XSPI_INSTRUCTION_NONE
¶
-
enum
hal_xspi_instruction_width_t
¶
-
HAL XSPI Instruction Width enumeration definition.
Values:
-
enumerator
HAL_XSPI_INSTRUCTION_8BIT
¶
-
8-bit instruction
-
enumerator
HAL_XSPI_INSTRUCTION_16BIT
¶
-
0x00000010 16-bit instruction
-
enumerator
HAL_XSPI_INSTRUCTION_24BIT
¶
-
0x00000020 24-bit instruction
-
enumerator
HAL_XSPI_INSTRUCTION_32BIT
¶
-
0x00000030 Instruction size 32-bit instruction
-
enumerator
HAL_XSPI_INSTRUCTION_8BIT
¶
-
enum
hal_xspi_instruction_dtr_status_t
¶
-
HAL XSPI Instruction DTR Mode enumeration definition.
Values:
-
enumerator
HAL_XSPI_INSTRUCTION_DTR_DISABLED
¶
-
DTR mode disabled for instruction phase
-
enumerator
HAL_XSPI_INSTRUCTION_DTR_ENABLED
¶
-
0x00000008 Instruction double transfer rate DTR mode enabled for instruction phase
-
enumerator
HAL_XSPI_INSTRUCTION_DTR_DISABLED
¶
-
enum
hal_xspi_addr_mode_t
¶
-
HAL XSPI Address Mode enumeration definition.
Values:
-
enumerator
HAL_XSPI_ADDR_NONE
¶
-
No address
-
enumerator
HAL_XSPI_ADDR_1LINE
¶
-
0x00000100 Address on a single line
-
enumerator
HAL_XSPI_ADDR_2LINES
¶
-
0x00000200 Address on two lines
-
enumerator
HAL_XSPI_ADDR_4LINES
¶
-
Address on four lines
-
enumerator
HAL_XSPI_ADDR_8LINES
¶
-
0x00000400 Address on eight lines
-
enumerator
HAL_XSPI_ADDR_NONE
¶
-
enum
hal_xspi_addr_width_t
¶
-
HAL XSPI Address width enumeration definition.
Values:
-
enumerator
HAL_XSPI_ADDR_8BIT
¶
-
8-bit address
-
enumerator
HAL_XSPI_ADDR_16BIT
¶
-
0x00001000 16-bit address
-
enumerator
HAL_XSPI_ADDR_24BIT
¶
-
0x00002000 24-bit address
-
enumerator
HAL_XSPI_ADDR_32BIT
¶
-
0x00003000 Address size 32-bit address
-
enumerator
HAL_XSPI_ADDR_8BIT
¶
-
enum
hal_xspi_addr_dtr_status_t
¶
-
HAL XSPI Address DTR Mode enumeration definition.
Values:
-
enumerator
HAL_XSPI_ADDR_DTR_DISABLED
¶
-
DTR mode disabled for address phase
-
enumerator
HAL_XSPI_ADDR_DTR_ENABLED
¶
-
0x00000800 Address double transfer rate DTR mode enabled for address phase
-
enumerator
HAL_XSPI_ADDR_DTR_DISABLED
¶
-
enum
hal_xspi_alternate_bytes_mode_t
¶
-
HAL XSPI Alternate Bytes Mode enumeration definition.
Values:
-
enumerator
HAL_XSPI_ALTERNATE_BYTES_NONE
¶
-
No alternate bytes
-
enumerator
HAL_XSPI_ALTERNATE_BYTES_1LINE
¶
-
0x00010000 Alternate bytes on a single line
-
enumerator
HAL_XSPI_ALTERNATE_BYTES_2LINES
¶
-
0x00020000 Alternate bytes on two lines
-
enumerator
HAL_XSPI_ALTERNATE_BYTES_4LINES
¶
-
Alternate bytes on four lines
-
enumerator
HAL_XSPI_ALTERNATE_BYTES_8LINES
¶
-
0x00040000 Alternate bytes on eight lines
-
enumerator
HAL_XSPI_ALTERNATE_BYTES_NONE
¶
-
enum
hal_xspi_alternate_bytes_width_t
¶
-
HAL XSPI Alternate Bytes Width enumeration definition.
Values:
-
enumerator
HAL_XSPI_ALTERNATE_BYTES_8BIT
¶
-
8-bit alternate bytes
-
enumerator
HAL_XSPI_ALTERNATE_BYTES_16BIT
¶
-
0x00100000 16-bit alternate bytes
-
enumerator
HAL_XSPI_ALTERNATE_BYTES_24BIT
¶
-
0x00200000 24-bit alternate bytes
-
enumerator
HAL_XSPI_ALTERNATE_BYTES_32BIT
¶
-
0x00300000 Alternate-byte size 32-bit alternate bytes
-
enumerator
HAL_XSPI_ALTERNATE_BYTES_8BIT
¶
-
enum
hal_xspi_alternate_bytes_dtr_status_t
¶
-
HAL XSPI Alternate Bytes DTR Mode enumeration definition.
Values:
-
enumerator
HAL_XSPI_ALTERNATE_BYTES_DTR_DISABLED
¶
-
DTR mode disabled for alternate bytes phase
-
enumerator
HAL_XSPI_ALTERNATE_BYTES_DTR_ENABLED
¶
-
0x00080000 Alternate- byte double transfer rate DTR mode enabled for alternate bytes phase
-
enumerator
HAL_XSPI_ALTERNATE_BYTES_DTR_DISABLED
¶
-
enum
hal_xspi_regular_data_mode_t
¶
-
HAL XSPI Regular Data Mode enumeration definition.
Values:
-
enumerator
HAL_XSPI_REGULAR_DATA_NONE
¶
-
No data
-
enumerator
HAL_XSPI_REGULAR_DATA_1LINE
¶
-
0x01000000 Data on a single line
-
enumerator
HAL_XSPI_REGULAR_DATA_2LINES
¶
-
0x02000000 Data on two lines
-
enumerator
HAL_XSPI_REGULAR_DATA_4LINES
¶
-
Data on four lines
-
enumerator
HAL_XSPI_REGULAR_DATA_8LINES
¶
-
0x04000000 Data on eight lines
-
enumerator
HAL_XSPI_REGULAR_DATA_NONE
¶
-
enum
hal_xspi_data_dtr_status_t
¶
-
HAL XSPI Data DTR Mode enumeration definition.
Values:
-
enumerator
HAL_XSPI_DATA_DTR_DISABLED
¶
-
DTR mode disabled for data phase
-
enumerator
HAL_XSPI_DATA_DTR_ENABLED
¶
-
0x08000000 Data double transfer rate DTR mode enabled for data phase
-
enumerator
HAL_XSPI_DATA_DTR_DISABLED
¶
-
enum
hal_xspi_dqs_status_t
¶
-
HAL XSPI DQS Mode enumeration definition.
Values:
-
enumerator
HAL_XSPI_DQS_DISABLED
¶
-
DQS disabled
-
enumerator
HAL_XSPI_DQS_ENABLED
¶
-
0x20000000 DQS enable DQS enabled
-
enumerator
HAL_XSPI_DQS_DISABLED
¶
-
enum
hal_xspi_write_zero_latency_status_t
¶
-
HAL XSPI Hyperbus Write Zero Latency Activation enumeration definition.
Values:
-
enumerator
HAL_XSPI_WRITE_ZERO_LATENCY_ENABLED
¶
-
Latency on write accesses
-
enumerator
HAL_XSPI_WRITE_ZERO_LATENCY_DISABLED
¶
-
0x00000002 Write zero latency No latency on write accesses
-
enumerator
HAL_XSPI_WRITE_ZERO_LATENCY_ENABLED
¶
-
enum
hal_xspi_latency_mode_t
¶
-
HAL XSPI Hyperbus Latency Mode enumeration definition.
Values:
-
enumerator
HAL_XSPI_LATENCY_VARIABLE
¶
-
Variable initial latency
-
enumerator
HAL_XSPI_LATENCY_FIXED
¶
-
0x00000001 Latency mode Fixed latency
-
enumerator
HAL_XSPI_LATENCY_VARIABLE
¶
-
enum
hal_xspi_addr_space_t
¶
-
HAL XSPI Hyperbus Address Space enumeration definition.
Values:
-
enumerator
HAL_XSPI_ADDR_MEMORY
¶
-
HyperBus memory mode
-
enumerator
HAL_XSPI_ADDR_REGISTER
¶
-
0x01000000 HyperBus register mode
-
enumerator
HAL_XSPI_ADDR_MEMORY
¶
-
enum
hal_xspi_hyperbus_data_mode_t
¶
-
HAL XSPI Hyperbus Data Mode enumeration definition.
Values:
-
enumerator
HAL_XSPI_HYPERBUS_DATA_8LINES
¶
-
0x04000000 Data on eight lines
-
enumerator
HAL_XSPI_HYPERBUS_DATA_8LINES
¶
-
enum
hal_xspi_match_mode_t
¶
-
HAL XSPI Match Mode enumeration definition.
Values:
-
enumerator
HAL_XSPI_MATCH_MODE_AND
¶
-
AND match mode between unmasked bits
-
enumerator
HAL_XSPI_MATCH_MODE_OR
¶
-
0x00800000 Polling match mode OR match mode between unmasked bits
-
enumerator
HAL_XSPI_MATCH_MODE_AND
¶
-
enum
hal_xspi_automatic_stop_status_t
¶
-
HAL XSPI Automatic Stop enumeration definition.
Values:
-
enumerator
HAL_XSPI_AUTOMATIC_STOP_DISABLED
¶
-
AutoPolling stops only with abort or XSPI disabling
-
enumerator
HAL_XSPI_AUTOMATIC_STOP_ENABLED
¶
-
0x00400000 Automatic status-polling mode stop AutoPolling stops as soon as there is a match
-
enumerator
HAL_XSPI_AUTOMATIC_STOP_DISABLED
¶
-
enum
hal_xspi_timeout_activation_t
¶
-
HAL XSPI Timeout Activation enumeration definition.
Values:
-
enumerator
HAL_XSPI_TIMEOUT_DISABLE
¶
-
Timeout counter disabled, nCS remains active
-
enumerator
HAL_XSPI_TIMEOUT_ENABLE
¶
-
0x00000008 Timeout counter enable Timeout counter enabled, nCS released when timeout expires
-
enumerator
HAL_XSPI_TIMEOUT_DISABLE
¶
-
struct
hal_xspi_hyperbus_config_t
¶
-
#include <stm32c5xx_hal_xspi.h>
HAL XSPI Hyperbus Configuration Structure definition.
Public Members
-
uint32_t
rw_recovery_time_cycle
¶
-
It indicates the number of cycles for the device recovery time. This parameter can be a value between 0 and 255.
-
uint32_t
access_time_cycle
¶
-
It indicates the number of cycles for the device access time. This parameter can be a value between 0 and 255.
-
hal_xspi_write_zero_latency_status_t
write_zero_latency
¶
-
It enables or disables the latency for the write access.
-
hal_xspi_latency_mode_t
latency_mode
¶
-
It configures the latency mode.
-
uint32_t
rw_recovery_time_cycle
¶
-
struct
hal_xspi_timing_config_t
¶
-
#include <stm32c5xx_hal_xspi.h>
HAL XSPI Timing Config structure definition.
Public Members
-
uint32_t
clk_prescaler
¶
-
It specifies the prescaler factor used for generating the external clock based on the kernel clock. This parameter can be a value between 0 and 255. Choosing a prescaler value of N means dividing the clock by N+1.
-
hal_xspi_sample_shift_t
shift
¶
-
It allows delaying the data sampling by 1/2 cycle to take into account external signal delays.
-
hal_xspi_delay_hold_t
hold
¶
-
It allows holding the data for 1/4 cycle.
-
uint32_t
cs_high_time_cycle
¶
-
It defines the minimum number of clocks which the chip select must remain high between commands. This parameter can be a value between 1 and 64.
-
uint32_t
cs_refresh_time_cycle
¶
-
It enables the refresh rate feature. The chip select is released every Refresh+1 clock cycles. This parameter can be a value between 0 and 0xFFFFFFFF.
-
hal_xspi_dlyb_state_t
dlyb_state
¶
-
It enables the delay block bypass, so the sampling is not affected by the delay block.
-
uint32_t
clk_prescaler
¶
-
struct
hal_xspi_memory_config_t
¶
-
#include <stm32c5xx_hal_xspi.h>
HAL XSPI Memory Configuration structure definition.
Public Members
-
hal_xspi_memory_mode_t
mode
¶
-
It specifies the memory mode.
-
hal_xspi_memory_type_t
type
¶
-
It indicates the external device type connected to the XSPI.
-
hal_xspi_memory_size_t
size_bit
¶
-
It defines the size of the external device connected to the XSPI. It corresponds to the number of address bits required to access the external device.
-
hal_xspi_wrap_size_t
wrap_size_byte
¶
-
It indicates the wrap-size corresponding to the external device.
-
hal_xspi_cs_boundary_t
cs_boundary
¶
-
It enables the transaction boundary feature and defines the boundary of bytes to release the chip select.
-
hal_xspi_memory_mode_t
mode
¶
-
struct
hal_xspi_config_t
¶
-
#include <stm32c5xx_hal_xspi.h>
HAL XSPI Global Configuration structure definition.
Public Members
-
hal_xspi_memory_config_t
memory
¶
-
It specifies the XSPI memory configuration structure definition
-
hal_xspi_timing_config_t
timing
¶
-
It specifies the XSPI timing configuration structure definition
-
hal_xspi_hyperbus_config_t
hyperbus
¶
-
It specifies the XSPI Hyperbus configuration structure definition
-
hal_xspi_memory_config_t
memory
¶
-
struct
hal_xspi_auto_polling_config_t
¶
-
#include <stm32c5xx_hal_xspi.h>
HAL XSPI Auto Polling mode configuration structure definition.
Public Members
-
uint32_t
match_value
¶
-
Specifies the value to be compared with the masked status register. This parameter can be any value between 0 and 0xFFFFFFFFU.
-
uint32_t
match_mask
¶
-
Specifies the mask to be applied to the status bytes received. This parameter can be any value between 0 and 0xFFFFFFFFU.
-
hal_xspi_match_mode_t
match_mode
¶
-
Specifies the method used for determining a match.
-
hal_xspi_automatic_stop_status_t
automatic_stop_status
¶
-
Specifies whether automatic polling is stopped after a match.
-
uint32_t
interval_cycle
¶
-
Specifies the number of clock cycles between two reads during automatic polling phases. This parameter can be any value between 0 and 0xFFFF.
-
uint32_t
match_value
¶
-
struct
hal_xspi_regular_cmd_t
¶
-
#include <stm32c5xx_hal_xspi.h>
HAL XSPI Regular Command Structure definition.
Public Members
-
hal_xspi_operation_type_t
operation_type
¶
-
It indicates whether the configuration applies to the common registers or to the registers for the write operation (these registers are only used for memory-mapped mode).
-
hal_xspi_io_select_t
io_select
¶
-
It indicates the I/Os used to exchange data with external memory.
-
uint32_t
instruction
¶
-
It contains the instruction to be sent to the device. This parameter can be a value between 0 and 0xFFFFFFFFU.
-
hal_xspi_instruction_mode_t
instruction_mode
¶
-
It indicates the instruction mode.
-
hal_xspi_instruction_width_t
instruction_width
¶
-
It indicates the width of the instruction.
-
hal_xspi_instruction_dtr_status_t
instruction_dtr_mode_status
¶
-
It enables or disables the DTR mode for the instruction phase.
-
uint32_t
addr
¶
-
It contains the address to be sent to the device. This parameter can be a value between 0 and 0xFFFFFFFF.
-
hal_xspi_addr_mode_t
addr_mode
¶
-
It indicates the address mode. Address mode specifies the number of lines for address (except no address).
-
hal_xspi_addr_width_t
addr_width
¶
-
It indicates the width of the address.
-
hal_xspi_addr_dtr_status_t
addr_dtr_mode_status
¶
-
It enables or disables the DTR mode for the address phase.
-
uint32_t
alternate_bytes
¶
-
It contains the alternate bytes to be sent to the device. This parameter can be a value between 0 and 0xFFFFFFFF.
-
hal_xspi_alternate_bytes_mode_t
alternate_bytes_mode
¶
-
It indicates the mode of the alternate bytes.
-
hal_xspi_alternate_bytes_width_t
alternate_bytes_width
¶
-
It indicates the width of the alternate bytes.
-
hal_xspi_alternate_bytes_dtr_status_t
alternate_bytes_dtr_mode_status
¶
-
It enables or disables the DTR mode for the alternate bytes phase.
-
hal_xspi_regular_data_mode_t
data_mode
¶
-
It indicates the data mode. Data mode specifies the number of lines for data exchange (except no data).
-
hal_xspi_data_dtr_status_t
data_dtr_mode_status
¶
-
It enables or disables the DTR mode for the data phase.
-
uint32_t
dummy_cycle
¶
-
It indicates the number of dummy cycles inserted before data phase. This parameter can be a value between 0 and 31U.
-
hal_xspi_dqs_status_t
dqs_mode_status
¶
-
It enables or disables the data strobe management.
-
uint32_t
size_byte
¶
-
It indicates the number of data transferred with this command. This field is only used for indirect mode. This parameter can be a value between 1 and 0xFFFFFFFFU.
-
hal_xspi_operation_type_t
operation_type
¶
-
struct
hal_xspi_hyperbus_cmd_t
¶
-
#include <stm32c5xx_hal_xspi.h>
HAL XSPI Hyperbus Command Structure definition.
Public Members
-
hal_xspi_addr_space_t
addr_space
¶
-
It indicates the address space accessed by the command.
-
uint32_t
addr
¶
-
It contains the address to be sent to the device. This parameter can be a value between 0 and 0xFFFFFFFF.
-
hal_xspi_addr_width_t
addr_width
¶
-
It indicates the width of the address.
-
uint32_t
size_byte
¶
-
It indicates the number of data transferred with this command. This field is only used for indirect mode. This parameter can be a value between 1 and 0xFFFFFFFF.
-
hal_xspi_dqs_status_t
dqs_mode_status
¶
-
It enables or disables the data strobe management.
-
hal_xspi_hyperbus_data_mode_t
data_mode
¶
-
It indicates the data mode. Data mode specifies the number of lines for data exchange (except no data).
-
hal_xspi_addr_space_t
addr_space
¶
-
struct
hal_xspi_memory_mapped_config_t
¶
-
#include <stm32c5xx_hal_xspi.h>
HAL XSPI Memory Mapped mode configuration structure definition.
Public Members
-
hal_xspi_timeout_activation_t
timeout_activation
¶
-
Specifies if the timeout counter is enabled to release the chip select.
-
uint32_t
timeout_period_cycle
¶
-
Specifies the number of clock cycles to wait when the FIFO is full before releasing the chip select. This parameter can be any value between 0 and 0xFFFF.
-
hal_xspi_timeout_activation_t
timeout_activation
¶
-
struct
hal_xspi_handle_s
¶
-
#include <stm32c5xx_hal_xspi.h>
HAL XSPI handle Structure definition.
Public Members
-
hal_xspi_t
instance
¶
-
XSPI registers base address
-
volatile
hal_xspi_state_t
global_state
¶
-
Internal state of the XSPI HAL driver
-
uint8_t
*
p_buffer
¶
-
Address of the XSPI buffer for transfer
-
volatile
uint32_t
xfer_size
¶
-
Number of data to transfer
-
volatile
uint32_t
xfer_count
¶
-
Counter of data transferred
-
hal_xspi_memory_mode_t
mode
¶
-
Specifies the memory mode
-
hal_xspi_delay_hold_t
hold
¶
-
It allows holding the data for 1/4 cycle
-
hal_xspi_memory_type_t
type
¶
-
Indicates the external device type
-
uint32_t
fifo_threshold
¶
-
Specifies the FIFO configuration value
-
uint32_t
is_dma_error
¶
-
Indicates an error occurs in DMA mode
-
hal_dma_handle_t
*
hdma_tx
¶
-
Handle of the DMA channel used for transmit
-
hal_dma_handle_t
*
hdma_rx
¶
-
Handle of the DMA channel used for receive
-
const
void
*
p_user_data
¶
-
User Data Pointer
-
hal_xspi_cb_t
p_error_cb
¶
-
XSPI error callback
-
hal_xspi_cb_t
p_abort_cplt_cb
¶
-
XSPI abort callback
-
hal_xspi_cb_t
p_fifo_threshold_cb
¶
-
XSPI FIFO threshold callback
-
hal_xspi_cb_t
p_cmd_cplt_cb
¶
-
XSPI command complete callback
-
hal_xspi_cb_t
p_rx_cplt_cb
¶
-
XSPI receive complete callback
-
hal_xspi_cb_t
p_tx_cplt_cb
¶
-
XSPI transfer complete callback
-
hal_xspi_cb_t
p_rx_half_cplt_cb
¶
-
XSPI half receive complete callback
-
hal_xspi_cb_t
p_tx_half_cplt_cb
¶
-
XSPI half transfer complete callback
-
hal_xspi_cb_t
p_status_match_cb
¶
-
XSPI status match callback
-
volatile
uint32_t
last_error_codes
¶
-
XSPI error codes
-
hal_xspi_t
instance
¶
-
typedef
struct
hal_xspi_handle_s
hal_xspi_handle_t
¶