 |
Software APIs
|
Go to the documentation of this file.
13#ifndef _SPI_HOST_REG_DEFS_
14#define _SPI_HOST_REG_DEFS_
20#define SPI_HOST_PARAM_BYTE_ORDER 1
23#define SPI_HOST_PARAM_TX_DEPTH 72
26#define SPI_HOST_PARAM_RX_DEPTH 64
29#define SPI_HOST_PARAM_CMD_DEPTH 4
32#define SPI_HOST_PARAM_NUM_ALERTS 1
35#define SPI_HOST_PARAM_REG_WIDTH 32
38#define SPI_HOST_INTR_COMMON_ERROR_BIT 0
39#define SPI_HOST_INTR_COMMON_SPI_EVENT_BIT 1
42#define SPI_HOST_INTR_STATE_REG_OFFSET 0x0
43#define SPI_HOST_INTR_STATE_REG_RESVAL 0x0u
44#define SPI_HOST_INTR_STATE_ERROR_BIT 0
45#define SPI_HOST_INTR_STATE_SPI_EVENT_BIT 1
48#define SPI_HOST_INTR_ENABLE_REG_OFFSET 0x4
49#define SPI_HOST_INTR_ENABLE_REG_RESVAL 0x0u
50#define SPI_HOST_INTR_ENABLE_ERROR_BIT 0
51#define SPI_HOST_INTR_ENABLE_SPI_EVENT_BIT 1
54#define SPI_HOST_INTR_TEST_REG_OFFSET 0x8
55#define SPI_HOST_INTR_TEST_REG_RESVAL 0x0u
56#define SPI_HOST_INTR_TEST_ERROR_BIT 0
57#define SPI_HOST_INTR_TEST_SPI_EVENT_BIT 1
60#define SPI_HOST_ALERT_TEST_REG_OFFSET 0xc
61#define SPI_HOST_ALERT_TEST_REG_RESVAL 0x0u
62#define SPI_HOST_ALERT_TEST_FATAL_FAULT_BIT 0
65#define SPI_HOST_CONTROL_REG_OFFSET 0x10
66#define SPI_HOST_CONTROL_REG_RESVAL 0x7fu
67#define SPI_HOST_CONTROL_RX_WATERMARK_MASK 0xffu
68#define SPI_HOST_CONTROL_RX_WATERMARK_OFFSET 0
69#define SPI_HOST_CONTROL_RX_WATERMARK_FIELD \
70 ((bitfield_field32_t) { .mask = SPI_HOST_CONTROL_RX_WATERMARK_MASK, .index = SPI_HOST_CONTROL_RX_WATERMARK_OFFSET })
71#define SPI_HOST_CONTROL_TX_WATERMARK_MASK 0xffu
72#define SPI_HOST_CONTROL_TX_WATERMARK_OFFSET 8
73#define SPI_HOST_CONTROL_TX_WATERMARK_FIELD \
74 ((bitfield_field32_t) { .mask = SPI_HOST_CONTROL_TX_WATERMARK_MASK, .index = SPI_HOST_CONTROL_TX_WATERMARK_OFFSET })
75#define SPI_HOST_CONTROL_OUTPUT_EN_BIT 29
76#define SPI_HOST_CONTROL_SW_RST_BIT 30
77#define SPI_HOST_CONTROL_SPIEN_BIT 31
80#define SPI_HOST_STATUS_REG_OFFSET 0x14
81#define SPI_HOST_STATUS_REG_RESVAL 0x0u
82#define SPI_HOST_STATUS_TXQD_MASK 0xffu
83#define SPI_HOST_STATUS_TXQD_OFFSET 0
84#define SPI_HOST_STATUS_TXQD_FIELD \
85 ((bitfield_field32_t) { .mask = SPI_HOST_STATUS_TXQD_MASK, .index = SPI_HOST_STATUS_TXQD_OFFSET })
86#define SPI_HOST_STATUS_RXQD_MASK 0xffu
87#define SPI_HOST_STATUS_RXQD_OFFSET 8
88#define SPI_HOST_STATUS_RXQD_FIELD \
89 ((bitfield_field32_t) { .mask = SPI_HOST_STATUS_RXQD_MASK, .index = SPI_HOST_STATUS_RXQD_OFFSET })
90#define SPI_HOST_STATUS_CMDQD_MASK 0xfu
91#define SPI_HOST_STATUS_CMDQD_OFFSET 16
92#define SPI_HOST_STATUS_CMDQD_FIELD \
93 ((bitfield_field32_t) { .mask = SPI_HOST_STATUS_CMDQD_MASK, .index = SPI_HOST_STATUS_CMDQD_OFFSET })
94#define SPI_HOST_STATUS_RXWM_BIT 20
95#define SPI_HOST_STATUS_BYTEORDER_BIT 22
96#define SPI_HOST_STATUS_RXSTALL_BIT 23
97#define SPI_HOST_STATUS_RXEMPTY_BIT 24
98#define SPI_HOST_STATUS_RXFULL_BIT 25
99#define SPI_HOST_STATUS_TXWM_BIT 26
100#define SPI_HOST_STATUS_TXSTALL_BIT 27
101#define SPI_HOST_STATUS_TXEMPTY_BIT 28
102#define SPI_HOST_STATUS_TXFULL_BIT 29
103#define SPI_HOST_STATUS_ACTIVE_BIT 30
104#define SPI_HOST_STATUS_READY_BIT 31
107#define SPI_HOST_CONFIGOPTS_REG_OFFSET 0x18
108#define SPI_HOST_CONFIGOPTS_REG_RESVAL 0x0u
109#define SPI_HOST_CONFIGOPTS_CLKDIV_MASK 0xffffu
110#define SPI_HOST_CONFIGOPTS_CLKDIV_OFFSET 0
111#define SPI_HOST_CONFIGOPTS_CLKDIV_FIELD \
112 ((bitfield_field32_t) { .mask = SPI_HOST_CONFIGOPTS_CLKDIV_MASK, .index = SPI_HOST_CONFIGOPTS_CLKDIV_OFFSET })
113#define SPI_HOST_CONFIGOPTS_CSNIDLE_MASK 0xfu
114#define SPI_HOST_CONFIGOPTS_CSNIDLE_OFFSET 16
115#define SPI_HOST_CONFIGOPTS_CSNIDLE_FIELD \
116 ((bitfield_field32_t) { .mask = SPI_HOST_CONFIGOPTS_CSNIDLE_MASK, .index = SPI_HOST_CONFIGOPTS_CSNIDLE_OFFSET })
117#define SPI_HOST_CONFIGOPTS_CSNTRAIL_MASK 0xfu
118#define SPI_HOST_CONFIGOPTS_CSNTRAIL_OFFSET 20
119#define SPI_HOST_CONFIGOPTS_CSNTRAIL_FIELD \
120 ((bitfield_field32_t) { .mask = SPI_HOST_CONFIGOPTS_CSNTRAIL_MASK, .index = SPI_HOST_CONFIGOPTS_CSNTRAIL_OFFSET })
121#define SPI_HOST_CONFIGOPTS_CSNLEAD_MASK 0xfu
122#define SPI_HOST_CONFIGOPTS_CSNLEAD_OFFSET 24
123#define SPI_HOST_CONFIGOPTS_CSNLEAD_FIELD \
124 ((bitfield_field32_t) { .mask = SPI_HOST_CONFIGOPTS_CSNLEAD_MASK, .index = SPI_HOST_CONFIGOPTS_CSNLEAD_OFFSET })
125#define SPI_HOST_CONFIGOPTS_FULLCYC_BIT 29
126#define SPI_HOST_CONFIGOPTS_CPHA_BIT 30
127#define SPI_HOST_CONFIGOPTS_CPOL_BIT 31
130#define SPI_HOST_CSID_REG_OFFSET 0x1c
131#define SPI_HOST_CSID_REG_RESVAL 0x0u
134#define SPI_HOST_COMMAND_REG_OFFSET 0x20
135#define SPI_HOST_COMMAND_REG_RESVAL 0x0u
136#define SPI_HOST_COMMAND_CSAAT_BIT 0
137#define SPI_HOST_COMMAND_SPEED_MASK 0x3u
138#define SPI_HOST_COMMAND_SPEED_OFFSET 1
139#define SPI_HOST_COMMAND_SPEED_FIELD \
140 ((bitfield_field32_t) { .mask = SPI_HOST_COMMAND_SPEED_MASK, .index = SPI_HOST_COMMAND_SPEED_OFFSET })
141#define SPI_HOST_COMMAND_DIRECTION_MASK 0x3u
142#define SPI_HOST_COMMAND_DIRECTION_OFFSET 3
143#define SPI_HOST_COMMAND_DIRECTION_FIELD \
144 ((bitfield_field32_t) { .mask = SPI_HOST_COMMAND_DIRECTION_MASK, .index = SPI_HOST_COMMAND_DIRECTION_OFFSET })
145#define SPI_HOST_COMMAND_LEN_MASK 0xfffffu
146#define SPI_HOST_COMMAND_LEN_OFFSET 5
147#define SPI_HOST_COMMAND_LEN_FIELD \
148 ((bitfield_field32_t) { .mask = SPI_HOST_COMMAND_LEN_MASK, .index = SPI_HOST_COMMAND_LEN_OFFSET })
151#define SPI_HOST_RXDATA_REG_OFFSET 0x24
152#define SPI_HOST_RXDATA_SIZE_WORDS 1
153#define SPI_HOST_RXDATA_SIZE_BYTES 4
155#define SPI_HOST_TXDATA_REG_OFFSET 0x28
156#define SPI_HOST_TXDATA_SIZE_WORDS 1
157#define SPI_HOST_TXDATA_SIZE_BYTES 4
159#define SPI_HOST_ERROR_ENABLE_REG_OFFSET 0x2c
160#define SPI_HOST_ERROR_ENABLE_REG_RESVAL 0x1fu
161#define SPI_HOST_ERROR_ENABLE_CMDBUSY_BIT 0
162#define SPI_HOST_ERROR_ENABLE_OVERFLOW_BIT 1
163#define SPI_HOST_ERROR_ENABLE_UNDERFLOW_BIT 2
164#define SPI_HOST_ERROR_ENABLE_CMDINVAL_BIT 3
165#define SPI_HOST_ERROR_ENABLE_CSIDINVAL_BIT 4
168#define SPI_HOST_ERROR_STATUS_REG_OFFSET 0x30
169#define SPI_HOST_ERROR_STATUS_REG_RESVAL 0x0u
170#define SPI_HOST_ERROR_STATUS_CMDBUSY_BIT 0
171#define SPI_HOST_ERROR_STATUS_OVERFLOW_BIT 1
172#define SPI_HOST_ERROR_STATUS_UNDERFLOW_BIT 2
173#define SPI_HOST_ERROR_STATUS_CMDINVAL_BIT 3
174#define SPI_HOST_ERROR_STATUS_CSIDINVAL_BIT 4
175#define SPI_HOST_ERROR_STATUS_ACCESSINVAL_BIT 5
178#define SPI_HOST_EVENT_ENABLE_REG_OFFSET 0x34
179#define SPI_HOST_EVENT_ENABLE_REG_RESVAL 0x0u
180#define SPI_HOST_EVENT_ENABLE_RXFULL_BIT 0
181#define SPI_HOST_EVENT_ENABLE_TXEMPTY_BIT 1
182#define SPI_HOST_EVENT_ENABLE_RXWM_BIT 2
183#define SPI_HOST_EVENT_ENABLE_TXWM_BIT 3
184#define SPI_HOST_EVENT_ENABLE_READY_BIT 4
185#define SPI_HOST_EVENT_ENABLE_IDLE_BIT 5