 |
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 0x0u
57#define DMA_ALERT_TEST_FATAL_FAULT_BIT 0
62#define DMA_SRC_ADDR_LO_REG_OFFSET 0x10
63#define DMA_SRC_ADDR_LO_REG_RESVAL 0x0u
66#define DMA_SRC_ADDR_HI_REG_OFFSET 0x14
67#define DMA_SRC_ADDR_HI_REG_RESVAL 0x0u
72#define DMA_DST_ADDR_LO_REG_OFFSET 0x18
73#define DMA_DST_ADDR_LO_REG_RESVAL 0x0u
76#define DMA_DST_ADDR_HI_REG_OFFSET 0x1c
77#define DMA_DST_ADDR_HI_REG_RESVAL 0x0u
80#define DMA_ADDR_SPACE_ID_REG_OFFSET 0x20
81#define DMA_ADDR_SPACE_ID_REG_RESVAL 0x77u
82#define DMA_ADDR_SPACE_ID_SRC_ASID_MASK 0xfu
83#define DMA_ADDR_SPACE_ID_SRC_ASID_OFFSET 0
84#define DMA_ADDR_SPACE_ID_SRC_ASID_FIELD \
85 ((bitfield_field32_t) { .mask = DMA_ADDR_SPACE_ID_SRC_ASID_MASK, .index = DMA_ADDR_SPACE_ID_SRC_ASID_OFFSET })
86#define DMA_ADDR_SPACE_ID_SRC_ASID_VALUE_OT_ADDR 0x7
87#define DMA_ADDR_SPACE_ID_SRC_ASID_VALUE_SOC_ADDR 0xa
88#define DMA_ADDR_SPACE_ID_SRC_ASID_VALUE_SYS_ADDR_ 0x9
89#define DMA_ADDR_SPACE_ID_DST_ASID_MASK 0xfu
90#define DMA_ADDR_SPACE_ID_DST_ASID_OFFSET 4
91#define DMA_ADDR_SPACE_ID_DST_ASID_FIELD \
92 ((bitfield_field32_t) { .mask = DMA_ADDR_SPACE_ID_DST_ASID_MASK, .index = DMA_ADDR_SPACE_ID_DST_ASID_OFFSET })
93#define DMA_ADDR_SPACE_ID_DST_ASID_VALUE_OT_ADDR 0x7
94#define DMA_ADDR_SPACE_ID_DST_ASID_VALUE_SOC_ADDR 0xa
95#define DMA_ADDR_SPACE_ID_DST_ASID_VALUE_SYS_ADDR_ 0x9
99#define DMA_ENABLED_MEMORY_RANGE_BASE_REG_OFFSET 0x24
100#define DMA_ENABLED_MEMORY_RANGE_BASE_REG_RESVAL 0x0u
104#define DMA_ENABLED_MEMORY_RANGE_LIMIT_REG_OFFSET 0x28
105#define DMA_ENABLED_MEMORY_RANGE_LIMIT_REG_RESVAL 0x0u
110#define DMA_RANGE_VALID_REG_OFFSET 0x2c
111#define DMA_RANGE_VALID_REG_RESVAL 0x0u
112#define DMA_RANGE_VALID_RANGE_VALID_BIT 0
115#define DMA_RANGE_REGWEN_REG_OFFSET 0x30
116#define DMA_RANGE_REGWEN_REG_RESVAL 0x6u
117#define DMA_RANGE_REGWEN_REGWEN_MASK 0xfu
118#define DMA_RANGE_REGWEN_REGWEN_OFFSET 0
119#define DMA_RANGE_REGWEN_REGWEN_FIELD \
120 ((bitfield_field32_t) { .mask = DMA_RANGE_REGWEN_REGWEN_MASK, .index = DMA_RANGE_REGWEN_REGWEN_OFFSET })
124#define DMA_CFG_REGWEN_REG_OFFSET 0x34
125#define DMA_CFG_REGWEN_REG_RESVAL 0x6u
126#define DMA_CFG_REGWEN_REGWEN_MASK 0xfu
127#define DMA_CFG_REGWEN_REGWEN_OFFSET 0
128#define DMA_CFG_REGWEN_REGWEN_FIELD \
129 ((bitfield_field32_t) { .mask = DMA_CFG_REGWEN_REGWEN_MASK, .index = DMA_CFG_REGWEN_REGWEN_OFFSET })
132#define DMA_TOTAL_DATA_SIZE_REG_OFFSET 0x38
133#define DMA_TOTAL_DATA_SIZE_REG_RESVAL 0x0u
137#define DMA_CHUNK_DATA_SIZE_REG_OFFSET 0x3c
138#define DMA_CHUNK_DATA_SIZE_REG_RESVAL 0x0u
141#define DMA_TRANSFER_WIDTH_REG_OFFSET 0x40
142#define DMA_TRANSFER_WIDTH_REG_RESVAL 0x2u
143#define DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_MASK 0x3u
144#define DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_OFFSET 0
145#define DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_FIELD \
146 ((bitfield_field32_t) { .mask = DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_MASK, .index = DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_OFFSET })
147#define DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_VALUE_ONE_BYTE 0x0
148#define DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_VALUE_TWO_BYTE 0x1
149#define DMA_TRANSFER_WIDTH_TRANSACTION_WIDTH_VALUE_FOUR_BYTE 0x2
152#define DMA_CONTROL_REG_OFFSET 0x44
153#define DMA_CONTROL_REG_RESVAL 0x0u
154#define DMA_CONTROL_OPCODE_MASK 0xfu
155#define DMA_CONTROL_OPCODE_OFFSET 0
156#define DMA_CONTROL_OPCODE_FIELD \
157 ((bitfield_field32_t) { .mask = DMA_CONTROL_OPCODE_MASK, .index = DMA_CONTROL_OPCODE_OFFSET })
158#define DMA_CONTROL_OPCODE_VALUE_COPY 0x0
159#define DMA_CONTROL_OPCODE_VALUE_SHA256 0x1
160#define DMA_CONTROL_OPCODE_VALUE_SHA384 0x2
161#define DMA_CONTROL_OPCODE_VALUE_SHA512 0x3
162#define DMA_CONTROL_HARDWARE_HANDSHAKE_ENABLE_BIT 4
163#define DMA_CONTROL_DIGEST_SWAP_BIT 5
164#define DMA_CONTROL_INITIAL_TRANSFER_BIT 8
165#define DMA_CONTROL_ABORT_BIT 27
166#define DMA_CONTROL_GO_BIT 31
169#define DMA_SRC_CONFIG_REG_OFFSET 0x48
170#define DMA_SRC_CONFIG_REG_RESVAL 0x0u
171#define DMA_SRC_CONFIG_INCREMENT_BIT 0
172#define DMA_SRC_CONFIG_WRAP_BIT 1
175#define DMA_DST_CONFIG_REG_OFFSET 0x4c
176#define DMA_DST_CONFIG_REG_RESVAL 0x0u
177#define DMA_DST_CONFIG_INCREMENT_BIT 0
178#define DMA_DST_CONFIG_WRAP_BIT 1
181#define DMA_STATUS_REG_OFFSET 0x50
182#define DMA_STATUS_REG_RESVAL 0x0u
183#define DMA_STATUS_BUSY_BIT 0
184#define DMA_STATUS_DONE_BIT 1
185#define DMA_STATUS_ABORTED_BIT 2
186#define DMA_STATUS_ERROR_BIT 3
187#define DMA_STATUS_SHA2_DIGEST_VALID_BIT 4
188#define DMA_STATUS_CHUNK_DONE_BIT 5
191#define DMA_ERROR_CODE_REG_OFFSET 0x54
192#define DMA_ERROR_CODE_REG_RESVAL 0x0u
193#define DMA_ERROR_CODE_SRC_ADDR_ERROR_BIT 0
194#define DMA_ERROR_CODE_DST_ADDR_ERROR_BIT 1
195#define DMA_ERROR_CODE_OPCODE_ERROR_BIT 2
196#define DMA_ERROR_CODE_SIZE_ERROR_BIT 3
197#define DMA_ERROR_CODE_BUS_ERROR_BIT 4
198#define DMA_ERROR_CODE_BASE_LIMIT_ERROR_BIT 5
199#define DMA_ERROR_CODE_RANGE_VALID_ERROR_BIT 6
200#define DMA_ERROR_CODE_ASID_ERROR_BIT 7
203#define DMA_SHA2_DIGEST_DATA_FIELD_WIDTH 32
204#define DMA_SHA2_DIGEST_MULTIREG_COUNT 16
207#define DMA_SHA2_DIGEST_0_REG_OFFSET 0x58
208#define DMA_SHA2_DIGEST_0_REG_RESVAL 0x0u
211#define DMA_SHA2_DIGEST_1_REG_OFFSET 0x5c
212#define DMA_SHA2_DIGEST_1_REG_RESVAL 0x0u
215#define DMA_SHA2_DIGEST_2_REG_OFFSET 0x60
216#define DMA_SHA2_DIGEST_2_REG_RESVAL 0x0u
219#define DMA_SHA2_DIGEST_3_REG_OFFSET 0x64
220#define DMA_SHA2_DIGEST_3_REG_RESVAL 0x0u
223#define DMA_SHA2_DIGEST_4_REG_OFFSET 0x68
224#define DMA_SHA2_DIGEST_4_REG_RESVAL 0x0u
227#define DMA_SHA2_DIGEST_5_REG_OFFSET 0x6c
228#define DMA_SHA2_DIGEST_5_REG_RESVAL 0x0u
231#define DMA_SHA2_DIGEST_6_REG_OFFSET 0x70
232#define DMA_SHA2_DIGEST_6_REG_RESVAL 0x0u
235#define DMA_SHA2_DIGEST_7_REG_OFFSET 0x74
236#define DMA_SHA2_DIGEST_7_REG_RESVAL 0x0u
239#define DMA_SHA2_DIGEST_8_REG_OFFSET 0x78
240#define DMA_SHA2_DIGEST_8_REG_RESVAL 0x0u
243#define DMA_SHA2_DIGEST_9_REG_OFFSET 0x7c
244#define DMA_SHA2_DIGEST_9_REG_RESVAL 0x0u
247#define DMA_SHA2_DIGEST_10_REG_OFFSET 0x80
248#define DMA_SHA2_DIGEST_10_REG_RESVAL 0x0u
251#define DMA_SHA2_DIGEST_11_REG_OFFSET 0x84
252#define DMA_SHA2_DIGEST_11_REG_RESVAL 0x0u
255#define DMA_SHA2_DIGEST_12_REG_OFFSET 0x88
256#define DMA_SHA2_DIGEST_12_REG_RESVAL 0x0u
259#define DMA_SHA2_DIGEST_13_REG_OFFSET 0x8c
260#define DMA_SHA2_DIGEST_13_REG_RESVAL 0x0u
263#define DMA_SHA2_DIGEST_14_REG_OFFSET 0x90
264#define DMA_SHA2_DIGEST_14_REG_RESVAL 0x0u
267#define DMA_SHA2_DIGEST_15_REG_OFFSET 0x94
268#define DMA_SHA2_DIGEST_15_REG_RESVAL 0x0u
271#define DMA_HANDSHAKE_INTR_ENABLE_REG_OFFSET 0x98
272#define DMA_HANDSHAKE_INTR_ENABLE_REG_RESVAL 0x7ffu
273#define DMA_HANDSHAKE_INTR_ENABLE_MASK_MASK 0x7ffu
274#define DMA_HANDSHAKE_INTR_ENABLE_MASK_OFFSET 0
275#define DMA_HANDSHAKE_INTR_ENABLE_MASK_FIELD \
276 ((bitfield_field32_t) { .mask = DMA_HANDSHAKE_INTR_ENABLE_MASK_MASK, .index = DMA_HANDSHAKE_INTR_ENABLE_MASK_OFFSET })
279#define DMA_CLEAR_INTR_SRC_REG_OFFSET 0x9c
280#define DMA_CLEAR_INTR_SRC_REG_RESVAL 0x0u
281#define DMA_CLEAR_INTR_SRC_SOURCE_MASK 0x7ffu
282#define DMA_CLEAR_INTR_SRC_SOURCE_OFFSET 0
283#define DMA_CLEAR_INTR_SRC_SOURCE_FIELD \
284 ((bitfield_field32_t) { .mask = DMA_CLEAR_INTR_SRC_SOURCE_MASK, .index = DMA_CLEAR_INTR_SRC_SOURCE_OFFSET })
287#define DMA_CLEAR_INTR_BUS_REG_OFFSET 0xa0
288#define DMA_CLEAR_INTR_BUS_REG_RESVAL 0x0u
289#define DMA_CLEAR_INTR_BUS_BUS_MASK 0x7ffu
290#define DMA_CLEAR_INTR_BUS_BUS_OFFSET 0
291#define DMA_CLEAR_INTR_BUS_BUS_FIELD \
292 ((bitfield_field32_t) { .mask = DMA_CLEAR_INTR_BUS_BUS_MASK, .index = DMA_CLEAR_INTR_BUS_BUS_OFFSET })
296#define DMA_INTR_SRC_ADDR_ADDR_FIELD_WIDTH 32
297#define DMA_INTR_SRC_ADDR_MULTIREG_COUNT 11
300#define DMA_INTR_SRC_ADDR_0_REG_OFFSET 0xa4
301#define DMA_INTR_SRC_ADDR_0_REG_RESVAL 0x0u
304#define DMA_INTR_SRC_ADDR_1_REG_OFFSET 0xa8
305#define DMA_INTR_SRC_ADDR_1_REG_RESVAL 0x0u
308#define DMA_INTR_SRC_ADDR_2_REG_OFFSET 0xac
309#define DMA_INTR_SRC_ADDR_2_REG_RESVAL 0x0u
312#define DMA_INTR_SRC_ADDR_3_REG_OFFSET 0xb0
313#define DMA_INTR_SRC_ADDR_3_REG_RESVAL 0x0u
316#define DMA_INTR_SRC_ADDR_4_REG_OFFSET 0xb4
317#define DMA_INTR_SRC_ADDR_4_REG_RESVAL 0x0u
320#define DMA_INTR_SRC_ADDR_5_REG_OFFSET 0xb8
321#define DMA_INTR_SRC_ADDR_5_REG_RESVAL 0x0u
324#define DMA_INTR_SRC_ADDR_6_REG_OFFSET 0xbc
325#define DMA_INTR_SRC_ADDR_6_REG_RESVAL 0x0u
328#define DMA_INTR_SRC_ADDR_7_REG_OFFSET 0xc0
329#define DMA_INTR_SRC_ADDR_7_REG_RESVAL 0x0u
332#define DMA_INTR_SRC_ADDR_8_REG_OFFSET 0xc4
333#define DMA_INTR_SRC_ADDR_8_REG_RESVAL 0x0u
336#define DMA_INTR_SRC_ADDR_9_REG_OFFSET 0xc8
337#define DMA_INTR_SRC_ADDR_9_REG_RESVAL 0x0u
340#define DMA_INTR_SRC_ADDR_10_REG_OFFSET 0xcc
341#define DMA_INTR_SRC_ADDR_10_REG_RESVAL 0x0u
344#define DMA_INTR_SRC_WR_VAL_WR_VAL_FIELD_WIDTH 32
345#define DMA_INTR_SRC_WR_VAL_MULTIREG_COUNT 11
348#define DMA_INTR_SRC_WR_VAL_0_REG_OFFSET 0x124
349#define DMA_INTR_SRC_WR_VAL_0_REG_RESVAL 0x0u
352#define DMA_INTR_SRC_WR_VAL_1_REG_OFFSET 0x128
353#define DMA_INTR_SRC_WR_VAL_1_REG_RESVAL 0x0u
356#define DMA_INTR_SRC_WR_VAL_2_REG_OFFSET 0x12c
357#define DMA_INTR_SRC_WR_VAL_2_REG_RESVAL 0x0u
360#define DMA_INTR_SRC_WR_VAL_3_REG_OFFSET 0x130
361#define DMA_INTR_SRC_WR_VAL_3_REG_RESVAL 0x0u
364#define DMA_INTR_SRC_WR_VAL_4_REG_OFFSET 0x134
365#define DMA_INTR_SRC_WR_VAL_4_REG_RESVAL 0x0u
368#define DMA_INTR_SRC_WR_VAL_5_REG_OFFSET 0x138
369#define DMA_INTR_SRC_WR_VAL_5_REG_RESVAL 0x0u
372#define DMA_INTR_SRC_WR_VAL_6_REG_OFFSET 0x13c
373#define DMA_INTR_SRC_WR_VAL_6_REG_RESVAL 0x0u
376#define DMA_INTR_SRC_WR_VAL_7_REG_OFFSET 0x140
377#define DMA_INTR_SRC_WR_VAL_7_REG_RESVAL 0x0u
380#define DMA_INTR_SRC_WR_VAL_8_REG_OFFSET 0x144
381#define DMA_INTR_SRC_WR_VAL_8_REG_RESVAL 0x0u
384#define DMA_INTR_SRC_WR_VAL_9_REG_OFFSET 0x148
385#define DMA_INTR_SRC_WR_VAL_9_REG_RESVAL 0x0u
388#define DMA_INTR_SRC_WR_VAL_10_REG_OFFSET 0x14c
389#define DMA_INTR_SRC_WR_VAL_10_REG_RESVAL 0x0u