 |
Software APIs
|
Go to the documentation of this file.
20#define DMA_PARAM_NUM_INT_CLEAR_SOURCES 11
23#define DMA_PARAM_NUM_ALERTS 1
26#define DMA_PARAM_REG_WIDTH 32
29#define DMA_INTR_COMMON_DMA_DONE_BIT 0
30#define DMA_INTR_COMMON_DMA_CHUNK_DONE_BIT 1
31#define DMA_INTR_COMMON_DMA_ERROR_BIT 2
34#define DMA_INTR_STATE_REG_OFFSET 0x0
35#define DMA_INTR_STATE_REG_RESVAL 0x0u
36#define DMA_INTR_STATE_DMA_DONE_BIT 0
37#define DMA_INTR_STATE_DMA_CHUNK_DONE_BIT 1
38#define DMA_INTR_STATE_DMA_ERROR_BIT 2
41#define DMA_INTR_ENABLE_REG_OFFSET 0x4
42#define DMA_INTR_ENABLE_REG_RESVAL 0x0u
43#define DMA_INTR_ENABLE_DMA_DONE_BIT 0
44#define DMA_INTR_ENABLE_DMA_CHUNK_DONE_BIT 1
45#define DMA_INTR_ENABLE_DMA_ERROR_BIT 2
48#define DMA_INTR_TEST_REG_OFFSET 0x8
49#define DMA_INTR_TEST_REG_RESVAL 0x0u
50#define DMA_INTR_TEST_DMA_DONE_BIT 0
51#define DMA_INTR_TEST_DMA_CHUNK_DONE_BIT 1
52#define DMA_INTR_TEST_DMA_ERROR_BIT 2
55#define DMA_ALERT_TEST_REG_OFFSET 0xc
56#define DMA_ALERT_TEST_REG_RESVAL 0x80000000u
57#define DMA_ALERT_TEST_FATAL_FAULT_BIT 0
58#define DMA_ALERT_TEST_REGWEN_BIT 31
63#define DMA_SRC_ADDR_LO_REG_OFFSET 0x10
64#define DMA_SRC_ADDR_LO_REG_RESVAL 0x0u
67#define DMA_SRC_ADDR_HI_REG_OFFSET 0x14
68#define DMA_SRC_ADDR_HI_REG_RESVAL 0x0u
73#define DMA_DST_ADDR_LO_REG_OFFSET 0x18
74#define DMA_DST_ADDR_LO_REG_RESVAL 0x0u
77#define DMA_DST_ADDR_HI_REG_OFFSET 0x1c
78#define DMA_DST_ADDR_HI_REG_RESVAL 0x0u
81#define DMA_ADDR_SPACE_ID_REG_OFFSET 0x20
82#define DMA_ADDR_SPACE_ID_REG_RESVAL 0x77u
83#define DMA_ADDR_SPACE_ID_SRC_ASID_MASK 0xfu
84#define DMA_ADDR_SPACE_ID_SRC_ASID_OFFSET 0
85#define DMA_ADDR_SPACE_ID_SRC_ASID_FIELD \
86 ((bitfield_field32_t) { .mask = DMA_ADDR_SPACE_ID_SRC_ASID_MASK, .index = DMA_ADDR_SPACE_ID_SRC_ASID_OFFSET })
87#define DMA_ADDR_SPACE_ID_SRC_ASID_VALUE_OT_ADDR 0x7
88#define DMA_ADDR_SPACE_ID_SRC_ASID_VALUE_SOC_ADDR 0xa
89#define DMA_ADDR_SPACE_ID_SRC_ASID_VALUE_SYS_ADDR 0x9
90#define DMA_ADDR_SPACE_ID_DST_ASID_MASK 0xfu
91#define DMA_ADDR_SPACE_ID_DST_ASID_OFFSET 4
92#define DMA_ADDR_SPACE_ID_DST_ASID_FIELD \
93 ((bitfield_field32_t) { .mask = DMA_ADDR_SPACE_ID_DST_ASID_MASK, .index = DMA_ADDR_SPACE_ID_DST_ASID_OFFSET })
94#define DMA_ADDR_SPACE_ID_DST_ASID_VALUE_OT_ADDR 0x7
95#define DMA_ADDR_SPACE_ID_DST_ASID_VALUE_SOC_ADDR 0xa
96#define DMA_ADDR_SPACE_ID_DST_ASID_VALUE_SYS_ADDR 0x9
100#define DMA_ENABLED_MEMORY_RANGE_BASE_REG_OFFSET 0x24
101#define DMA_ENABLED_MEMORY_RANGE_BASE_REG_RESVAL 0x0u
105#define DMA_ENABLED_MEMORY_RANGE_LIMIT_REG_OFFSET 0x28
106#define DMA_ENABLED_MEMORY_RANGE_LIMIT_REG_RESVAL 0x0u
111#define DMA_RANGE_VALID_REG_OFFSET 0x2c
112#define DMA_RANGE_VALID_REG_RESVAL 0x0u
113#define DMA_RANGE_VALID_RANGE_VALID_BIT 0
116#define DMA_RANGE_REGWEN_REG_OFFSET 0x30
117#define DMA_RANGE_REGWEN_REG_RESVAL 0x6u
118#define DMA_RANGE_REGWEN_REGWEN_MASK 0xfu
119#define DMA_RANGE_REGWEN_REGWEN_OFFSET 0
120#define DMA_RANGE_REGWEN_REGWEN_FIELD \
121 ((bitfield_field32_t) { .mask = DMA_RANGE_REGWEN_REGWEN_MASK, .index = DMA_RANGE_REGWEN_REGWEN_OFFSET })
125#define DMA_CFG_REGWEN_REG_OFFSET 0x34
126#define DMA_CFG_REGWEN_REG_RESVAL 0x6u
127#define DMA_CFG_REGWEN_REGWEN_MASK 0xfu
128#define DMA_CFG_REGWEN_REGWEN_OFFSET 0
129#define DMA_CFG_REGWEN_REGWEN_FIELD \
130 ((bitfield_field32_t) { .mask = DMA_CFG_REGWEN_REGWEN_MASK, .index = DMA_CFG_REGWEN_REGWEN_OFFSET })
133#define DMA_TOTAL_DATA_SIZE_REG_OFFSET 0x38
134#define DMA_TOTAL_DATA_SIZE_REG_RESVAL 0x0u
138#define DMA_CHUNK_DATA_SIZE_REG_OFFSET 0x3c
139#define DMA_CHUNK_DATA_SIZE_REG_RESVAL 0x0u
142#define DMA_TRANSFER_WIDTH_REG_OFFSET 0x40
143#define DMA_TRANSFER_WIDTH_REG_RESVAL 0x2u
144#define DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_MASK 0x3u
145#define DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_OFFSET 0
146#define DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_FIELD \
147 ((bitfield_field32_t) { .mask = DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_MASK, .index = DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_OFFSET })
148#define DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_VALUE_ONE_BYTE 0x0
149#define DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_VALUE_TWO_BYTE 0x1
150#define DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_VALUE_FOUR_BYTE 0x2
153#define DMA_CONTROL_REG_OFFSET 0x44
154#define DMA_CONTROL_REG_RESVAL 0x0u
155#define DMA_CONTROL_OPCODE_MASK 0xfu
156#define DMA_CONTROL_OPCODE_OFFSET 0
157#define DMA_CONTROL_OPCODE_FIELD \
158 ((bitfield_field32_t) { .mask = DMA_CONTROL_OPCODE_MASK, .index = DMA_CONTROL_OPCODE_OFFSET })
159#define DMA_CONTROL_OPCODE_VALUE_COPY 0x0
160#define DMA_CONTROL_OPCODE_VALUE_SHA256 0x1
161#define DMA_CONTROL_OPCODE_VALUE_SHA384 0x2
162#define DMA_CONTROL_OPCODE_VALUE_SHA512 0x3
163#define DMA_CONTROL_HARDWARE_HANDSHAKE_ENABLE_BIT 4
164#define DMA_CONTROL_DIGEST_SWAP_BIT 5
165#define DMA_CONTROL_INITIAL_TRANSFER_BIT 8
166#define DMA_CONTROL_ABORT_BIT 27
167#define DMA_CONTROL_GO_BIT 31
170#define DMA_SRC_CONFIG_REG_OFFSET 0x48
171#define DMA_SRC_CONFIG_REG_RESVAL 0x0u
172#define DMA_SRC_CONFIG_INCREMENT_BIT 0
173#define DMA_SRC_CONFIG_WRAP_BIT 1
176#define DMA_DST_CONFIG_REG_OFFSET 0x4c
177#define DMA_DST_CONFIG_REG_RESVAL 0x0u
178#define DMA_DST_CONFIG_INCREMENT_BIT 0
179#define DMA_DST_CONFIG_WRAP_BIT 1
182#define DMA_STATUS_REG_OFFSET 0x50
183#define DMA_STATUS_REG_RESVAL 0x0u
184#define DMA_STATUS_BUSY_BIT 0
185#define DMA_STATUS_DONE_BIT 1
186#define DMA_STATUS_ABORTED_BIT 2
187#define DMA_STATUS_ERROR_BIT 3
188#define DMA_STATUS_SHA2_DIGEST_VALID_BIT 4
189#define DMA_STATUS_CHUNK_DONE_BIT 5
192#define DMA_ERROR_CODE_REG_OFFSET 0x54
193#define DMA_ERROR_CODE_REG_RESVAL 0x0u
194#define DMA_ERROR_CODE_SRC_ADDR_ERROR_BIT 0
195#define DMA_ERROR_CODE_DST_ADDR_ERROR_BIT 1
196#define DMA_ERROR_CODE_OPCODE_ERROR_BIT 2
197#define DMA_ERROR_CODE_SIZE_ERROR_BIT 3
198#define DMA_ERROR_CODE_BUS_ERROR_BIT 4
199#define DMA_ERROR_CODE_BASE_LIMIT_ERROR_BIT 5
200#define DMA_ERROR_CODE_RANGE_VALID_ERROR_BIT 6
201#define DMA_ERROR_CODE_ASID_ERROR_BIT 7
204#define DMA_SHA2_DIGEST_DATA_FIELD_WIDTH 32
205#define DMA_SHA2_DIGEST_MULTIREG_COUNT 16
208#define DMA_SHA2_DIGEST_0_REG_OFFSET 0x58
209#define DMA_SHA2_DIGEST_0_REG_RESVAL 0x0u
212#define DMA_SHA2_DIGEST_1_REG_OFFSET 0x5c
213#define DMA_SHA2_DIGEST_1_REG_RESVAL 0x0u
216#define DMA_SHA2_DIGEST_2_REG_OFFSET 0x60
217#define DMA_SHA2_DIGEST_2_REG_RESVAL 0x0u
220#define DMA_SHA2_DIGEST_3_REG_OFFSET 0x64
221#define DMA_SHA2_DIGEST_3_REG_RESVAL 0x0u
224#define DMA_SHA2_DIGEST_4_REG_OFFSET 0x68
225#define DMA_SHA2_DIGEST_4_REG_RESVAL 0x0u
228#define DMA_SHA2_DIGEST_5_REG_OFFSET 0x6c
229#define DMA_SHA2_DIGEST_5_REG_RESVAL 0x0u
232#define DMA_SHA2_DIGEST_6_REG_OFFSET 0x70
233#define DMA_SHA2_DIGEST_6_REG_RESVAL 0x0u
236#define DMA_SHA2_DIGEST_7_REG_OFFSET 0x74
237#define DMA_SHA2_DIGEST_7_REG_RESVAL 0x0u
240#define DMA_SHA2_DIGEST_8_REG_OFFSET 0x78
241#define DMA_SHA2_DIGEST_8_REG_RESVAL 0x0u
244#define DMA_SHA2_DIGEST_9_REG_OFFSET 0x7c
245#define DMA_SHA2_DIGEST_9_REG_RESVAL 0x0u
248#define DMA_SHA2_DIGEST_10_REG_OFFSET 0x80
249#define DMA_SHA2_DIGEST_10_REG_RESVAL 0x0u
252#define DMA_SHA2_DIGEST_11_REG_OFFSET 0x84
253#define DMA_SHA2_DIGEST_11_REG_RESVAL 0x0u
256#define DMA_SHA2_DIGEST_12_REG_OFFSET 0x88
257#define DMA_SHA2_DIGEST_12_REG_RESVAL 0x0u
260#define DMA_SHA2_DIGEST_13_REG_OFFSET 0x8c
261#define DMA_SHA2_DIGEST_13_REG_RESVAL 0x0u
264#define DMA_SHA2_DIGEST_14_REG_OFFSET 0x90
265#define DMA_SHA2_DIGEST_14_REG_RESVAL 0x0u
268#define DMA_SHA2_DIGEST_15_REG_OFFSET 0x94
269#define DMA_SHA2_DIGEST_15_REG_RESVAL 0x0u
272#define DMA_HANDSHAKE_INTR_ENABLE_REG_OFFSET 0x98
273#define DMA_HANDSHAKE_INTR_ENABLE_REG_RESVAL 0x7ffu
274#define DMA_HANDSHAKE_INTR_ENABLE_MASK_MASK 0x7ffu
275#define DMA_HANDSHAKE_INTR_ENABLE_MASK_OFFSET 0
276#define DMA_HANDSHAKE_INTR_ENABLE_MASK_FIELD \
277 ((bitfield_field32_t) { .mask = DMA_HANDSHAKE_INTR_ENABLE_MASK_MASK, .index = DMA_HANDSHAKE_INTR_ENABLE_MASK_OFFSET })
280#define DMA_CLEAR_INTR_SRC_REG_OFFSET 0x9c
281#define DMA_CLEAR_INTR_SRC_REG_RESVAL 0x0u
282#define DMA_CLEAR_INTR_SRC_SOURCE_MASK 0x7ffu
283#define DMA_CLEAR_INTR_SRC_SOURCE_OFFSET 0
284#define DMA_CLEAR_INTR_SRC_SOURCE_FIELD \
285 ((bitfield_field32_t) { .mask = DMA_CLEAR_INTR_SRC_SOURCE_MASK, .index = DMA_CLEAR_INTR_SRC_SOURCE_OFFSET })
288#define DMA_CLEAR_INTR_BUS_REG_OFFSET 0xa0
289#define DMA_CLEAR_INTR_BUS_REG_RESVAL 0x0u
290#define DMA_CLEAR_INTR_BUS_BUS_MASK 0x7ffu
291#define DMA_CLEAR_INTR_BUS_BUS_OFFSET 0
292#define DMA_CLEAR_INTR_BUS_BUS_FIELD \
293 ((bitfield_field32_t) { .mask = DMA_CLEAR_INTR_BUS_BUS_MASK, .index = DMA_CLEAR_INTR_BUS_BUS_OFFSET })
297#define DMA_INTR_SRC_ADDR_ADDR_FIELD_WIDTH 32
298#define DMA_INTR_SRC_ADDR_MULTIREG_COUNT 11
301#define DMA_INTR_SRC_ADDR_0_REG_OFFSET 0xa4
302#define DMA_INTR_SRC_ADDR_0_REG_RESVAL 0x0u
305#define DMA_INTR_SRC_ADDR_1_REG_OFFSET 0xa8
306#define DMA_INTR_SRC_ADDR_1_REG_RESVAL 0x0u
309#define DMA_INTR_SRC_ADDR_2_REG_OFFSET 0xac
310#define DMA_INTR_SRC_ADDR_2_REG_RESVAL 0x0u
313#define DMA_INTR_SRC_ADDR_3_REG_OFFSET 0xb0
314#define DMA_INTR_SRC_ADDR_3_REG_RESVAL 0x0u
317#define DMA_INTR_SRC_ADDR_4_REG_OFFSET 0xb4
318#define DMA_INTR_SRC_ADDR_4_REG_RESVAL 0x0u
321#define DMA_INTR_SRC_ADDR_5_REG_OFFSET 0xb8
322#define DMA_INTR_SRC_ADDR_5_REG_RESVAL 0x0u
325#define DMA_INTR_SRC_ADDR_6_REG_OFFSET 0xbc
326#define DMA_INTR_SRC_ADDR_6_REG_RESVAL 0x0u
329#define DMA_INTR_SRC_ADDR_7_REG_OFFSET 0xc0
330#define DMA_INTR_SRC_ADDR_7_REG_RESVAL 0x0u
333#define DMA_INTR_SRC_ADDR_8_REG_OFFSET 0xc4
334#define DMA_INTR_SRC_ADDR_8_REG_RESVAL 0x0u
337#define DMA_INTR_SRC_ADDR_9_REG_OFFSET 0xc8
338#define DMA_INTR_SRC_ADDR_9_REG_RESVAL 0x0u
341#define DMA_INTR_SRC_ADDR_10_REG_OFFSET 0xcc
342#define DMA_INTR_SRC_ADDR_10_REG_RESVAL 0x0u
345#define DMA_INTR_SRC_WR_VAL_WR_VAL_FIELD_WIDTH 32
346#define DMA_INTR_SRC_WR_VAL_MULTIREG_COUNT 11
349#define DMA_INTR_SRC_WR_VAL_0_REG_OFFSET 0x124
350#define DMA_INTR_SRC_WR_VAL_0_REG_RESVAL 0x0u
353#define DMA_INTR_SRC_WR_VAL_1_REG_OFFSET 0x128
354#define DMA_INTR_SRC_WR_VAL_1_REG_RESVAL 0x0u
357#define DMA_INTR_SRC_WR_VAL_2_REG_OFFSET 0x12c
358#define DMA_INTR_SRC_WR_VAL_2_REG_RESVAL 0x0u
361#define DMA_INTR_SRC_WR_VAL_3_REG_OFFSET 0x130
362#define DMA_INTR_SRC_WR_VAL_3_REG_RESVAL 0x0u
365#define DMA_INTR_SRC_WR_VAL_4_REG_OFFSET 0x134
366#define DMA_INTR_SRC_WR_VAL_4_REG_RESVAL 0x0u
369#define DMA_INTR_SRC_WR_VAL_5_REG_OFFSET 0x138
370#define DMA_INTR_SRC_WR_VAL_5_REG_RESVAL 0x0u
373#define DMA_INTR_SRC_WR_VAL_6_REG_OFFSET 0x13c
374#define DMA_INTR_SRC_WR_VAL_6_REG_RESVAL 0x0u
377#define DMA_INTR_SRC_WR_VAL_7_REG_OFFSET 0x140
378#define DMA_INTR_SRC_WR_VAL_7_REG_RESVAL 0x0u
381#define DMA_INTR_SRC_WR_VAL_8_REG_OFFSET 0x144
382#define DMA_INTR_SRC_WR_VAL_8_REG_RESVAL 0x0u
385#define DMA_INTR_SRC_WR_VAL_9_REG_OFFSET 0x148
386#define DMA_INTR_SRC_WR_VAL_9_REG_RESVAL 0x0u
389#define DMA_INTR_SRC_WR_VAL_10_REG_OFFSET 0x14c
390#define DMA_INTR_SRC_WR_VAL_10_REG_RESVAL 0x0u