 |
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 0x80000000u
62#define SPI_HOST_ALERT_TEST_FATAL_FAULT_BIT 0
63#define SPI_HOST_ALERT_TEST_REGWEN_BIT 31
66#define SPI_HOST_CONTROL_REG_OFFSET 0x10
67#define SPI_HOST_CONTROL_REG_RESVAL 0x7fu
68#define SPI_HOST_CONTROL_RX_WATERMARK_MASK 0xffu
69#define SPI_HOST_CONTROL_RX_WATERMARK_OFFSET 0
70#define SPI_HOST_CONTROL_RX_WATERMARK_FIELD \
71 ((bitfield_field32_t) { .mask = SPI_HOST_CONTROL_RX_WATERMARK_MASK, .index = SPI_HOST_CONTROL_RX_WATERMARK_OFFSET })
72#define SPI_HOST_CONTROL_TX_WATERMARK_MASK 0xffu
73#define SPI_HOST_CONTROL_TX_WATERMARK_OFFSET 8
74#define SPI_HOST_CONTROL_TX_WATERMARK_FIELD \
75 ((bitfield_field32_t) { .mask = SPI_HOST_CONTROL_TX_WATERMARK_MASK, .index = SPI_HOST_CONTROL_TX_WATERMARK_OFFSET })
76#define SPI_HOST_CONTROL_OUTPUT_EN_BIT 29
77#define SPI_HOST_CONTROL_SW_RST_BIT 30
78#define SPI_HOST_CONTROL_SPIEN_BIT 31
81#define SPI_HOST_STATUS_REG_OFFSET 0x14
82#define SPI_HOST_STATUS_REG_RESVAL 0x0u
83#define SPI_HOST_STATUS_TXQD_MASK 0xffu
84#define SPI_HOST_STATUS_TXQD_OFFSET 0
85#define SPI_HOST_STATUS_TXQD_FIELD \
86 ((bitfield_field32_t) { .mask = SPI_HOST_STATUS_TXQD_MASK, .index = SPI_HOST_STATUS_TXQD_OFFSET })
87#define SPI_HOST_STATUS_RXQD_MASK 0xffu
88#define SPI_HOST_STATUS_RXQD_OFFSET 8
89#define SPI_HOST_STATUS_RXQD_FIELD \
90 ((bitfield_field32_t) { .mask = SPI_HOST_STATUS_RXQD_MASK, .index = SPI_HOST_STATUS_RXQD_OFFSET })
91#define SPI_HOST_STATUS_CMDQD_MASK 0xfu
92#define SPI_HOST_STATUS_CMDQD_OFFSET 16
93#define SPI_HOST_STATUS_CMDQD_FIELD \
94 ((bitfield_field32_t) { .mask = SPI_HOST_STATUS_CMDQD_MASK, .index = SPI_HOST_STATUS_CMDQD_OFFSET })
95#define SPI_HOST_STATUS_RXWM_BIT 20
96#define SPI_HOST_STATUS_BYTEORDER_BIT 22
97#define SPI_HOST_STATUS_RXSTALL_BIT 23
98#define SPI_HOST_STATUS_RXEMPTY_BIT 24
99#define SPI_HOST_STATUS_RXFULL_BIT 25
100#define SPI_HOST_STATUS_TXWM_BIT 26
101#define SPI_HOST_STATUS_TXSTALL_BIT 27
102#define SPI_HOST_STATUS_TXEMPTY_BIT 28
103#define SPI_HOST_STATUS_TXFULL_BIT 29
104#define SPI_HOST_STATUS_ACTIVE_BIT 30
105#define SPI_HOST_STATUS_READY_BIT 31
108#define SPI_HOST_CONFIGOPTS_REG_OFFSET 0x18
109#define SPI_HOST_CONFIGOPTS_REG_RESVAL 0x0u
110#define SPI_HOST_CONFIGOPTS_CLKDIV_MASK 0xffffu
111#define SPI_HOST_CONFIGOPTS_CLKDIV_OFFSET 0
112#define SPI_HOST_CONFIGOPTS_CLKDIV_FIELD \
113 ((bitfield_field32_t) { .mask = SPI_HOST_CONFIGOPTS_CLKDIV_MASK, .index = SPI_HOST_CONFIGOPTS_CLKDIV_OFFSET })
114#define SPI_HOST_CONFIGOPTS_CSNIDLE_MASK 0xfu
115#define SPI_HOST_CONFIGOPTS_CSNIDLE_OFFSET 16
116#define SPI_HOST_CONFIGOPTS_CSNIDLE_FIELD \
117 ((bitfield_field32_t) { .mask = SPI_HOST_CONFIGOPTS_CSNIDLE_MASK, .index = SPI_HOST_CONFIGOPTS_CSNIDLE_OFFSET })
118#define SPI_HOST_CONFIGOPTS_CSNTRAIL_MASK 0xfu
119#define SPI_HOST_CONFIGOPTS_CSNTRAIL_OFFSET 20
120#define SPI_HOST_CONFIGOPTS_CSNTRAIL_FIELD \
121 ((bitfield_field32_t) { .mask = SPI_HOST_CONFIGOPTS_CSNTRAIL_MASK, .index = SPI_HOST_CONFIGOPTS_CSNTRAIL_OFFSET })
122#define SPI_HOST_CONFIGOPTS_CSNLEAD_MASK 0xfu
123#define SPI_HOST_CONFIGOPTS_CSNLEAD_OFFSET 24
124#define SPI_HOST_CONFIGOPTS_CSNLEAD_FIELD \
125 ((bitfield_field32_t) { .mask = SPI_HOST_CONFIGOPTS_CSNLEAD_MASK, .index = SPI_HOST_CONFIGOPTS_CSNLEAD_OFFSET })
126#define SPI_HOST_CONFIGOPTS_FULLCYC_BIT 29
127#define SPI_HOST_CONFIGOPTS_CPHA_BIT 30
128#define SPI_HOST_CONFIGOPTS_CPOL_BIT 31
131#define SPI_HOST_CSID_REG_OFFSET 0x1c
132#define SPI_HOST_CSID_REG_RESVAL 0x0u
135#define SPI_HOST_COMMAND_REG_OFFSET 0x20
136#define SPI_HOST_COMMAND_REG_RESVAL 0x0u
137#define SPI_HOST_COMMAND_CSAAT_BIT 0
138#define SPI_HOST_COMMAND_SPEED_MASK 0x3u
139#define SPI_HOST_COMMAND_SPEED_OFFSET 1
140#define SPI_HOST_COMMAND_SPEED_FIELD \
141 ((bitfield_field32_t) { .mask = SPI_HOST_COMMAND_SPEED_MASK, .index = SPI_HOST_COMMAND_SPEED_OFFSET })
142#define SPI_HOST_COMMAND_DIRECTION_MASK 0x3u
143#define SPI_HOST_COMMAND_DIRECTION_OFFSET 3
144#define SPI_HOST_COMMAND_DIRECTION_FIELD \
145 ((bitfield_field32_t) { .mask = SPI_HOST_COMMAND_DIRECTION_MASK, .index = SPI_HOST_COMMAND_DIRECTION_OFFSET })
146#define SPI_HOST_COMMAND_LEN_MASK 0xfffffu
147#define SPI_HOST_COMMAND_LEN_OFFSET 5
148#define SPI_HOST_COMMAND_LEN_FIELD \
149 ((bitfield_field32_t) { .mask = SPI_HOST_COMMAND_LEN_MASK, .index = SPI_HOST_COMMAND_LEN_OFFSET })
152#define SPI_HOST_RXDATA_REG_OFFSET 0x24
153#define SPI_HOST_RXDATA_SIZE_WORDS 1
154#define SPI_HOST_RXDATA_SIZE_BYTES 4
156#define SPI_HOST_TXDATA_REG_OFFSET 0x28
157#define SPI_HOST_TXDATA_SIZE_WORDS 1
158#define SPI_HOST_TXDATA_SIZE_BYTES 4
160#define SPI_HOST_ERROR_ENABLE_REG_OFFSET 0x2c
161#define SPI_HOST_ERROR_ENABLE_REG_RESVAL 0x1fu
162#define SPI_HOST_ERROR_ENABLE_CMDBUSY_BIT 0
163#define SPI_HOST_ERROR_ENABLE_OVERFLOW_BIT 1
164#define SPI_HOST_ERROR_ENABLE_UNDERFLOW_BIT 2
165#define SPI_HOST_ERROR_ENABLE_CMDINVAL_BIT 3
166#define SPI_HOST_ERROR_ENABLE_CSIDINVAL_BIT 4
169#define SPI_HOST_ERROR_STATUS_REG_OFFSET 0x30
170#define SPI_HOST_ERROR_STATUS_REG_RESVAL 0x0u
171#define SPI_HOST_ERROR_STATUS_CMDBUSY_BIT 0
172#define SPI_HOST_ERROR_STATUS_OVERFLOW_BIT 1
173#define SPI_HOST_ERROR_STATUS_UNDERFLOW_BIT 2
174#define SPI_HOST_ERROR_STATUS_CMDINVAL_BIT 3
175#define SPI_HOST_ERROR_STATUS_CSIDINVAL_BIT 4
176#define SPI_HOST_ERROR_STATUS_ACCESSINVAL_BIT 5
179#define SPI_HOST_EVENT_ENABLE_REG_OFFSET 0x34
180#define SPI_HOST_EVENT_ENABLE_REG_RESVAL 0x0u
181#define SPI_HOST_EVENT_ENABLE_RXFULL_BIT 0
182#define SPI_HOST_EVENT_ENABLE_TXEMPTY_BIT 1
183#define SPI_HOST_EVENT_ENABLE_RXWM_BIT 2
184#define SPI_HOST_EVENT_ENABLE_TXWM_BIT 3
185#define SPI_HOST_EVENT_ENABLE_READY_BIT 4
186#define SPI_HOST_EVENT_ENABLE_IDLE_BIT 5