Software APIs
spi_device_regs.h
Go to the documentation of this file.
1/**
2 * @file
3 * @brief Generated register defines for spi_device
4 */
5
6// Copyright information found in source file:
7// Copyright lowRISC contributors (OpenTitan project).
8
9// Licensing information found in source file:
10// Licensed under the Apache License, Version 2.0, see LICENSE for details.
11// SPDX-License-Identifier: Apache-2.0
12
13#ifndef _SPI_DEVICE_REG_DEFS_
14#define _SPI_DEVICE_REG_DEFS_
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19// Sram Entries. Word size is 32bit width.
20#define SPI_DEVICE_PARAM_SRAM_DEPTH 1024
21
22// Sram Egress Entries. Word size is 32bit width.
23#define SPI_DEVICE_PARAM_SRAM_EGRESS_DEPTH 848
24
25// Sram Ingress Entries. Word size is 32bit width.
26#define SPI_DEVICE_PARAM_SRAM_INGRESS_DEPTH 112
27
28// Sram eFlash read buffer offset (from egress buffer start). Word size is
29// 32bit width.
30#define SPI_DEVICE_PARAM_SRAM_READ_BUFFER_OFFSET 0
31
32// Sram eFlash read buffer entries. Word size is 32bit width.
33#define SPI_DEVICE_PARAM_SRAM_READ_BUFFER_DEPTH 512
34
35// Sram mailbox buffer offset (from egress buffer start). Word size is 32bit
36// width.
37#define SPI_DEVICE_PARAM_SRAM_MAILBOX_OFFSET 512
38
39// Sram mailbox entries. Word size is 32bit width.
40#define SPI_DEVICE_PARAM_SRAM_MAILBOX_DEPTH 256
41
42// Sram SFDP buffer offset (from egress buffer start). Word size is 32bit
43// width.
44#define SPI_DEVICE_PARAM_SRAM_SFDP_OFFSET 768
45
46// Sram SFDP entries. Word size is 32bit width.
47#define SPI_DEVICE_PARAM_SRAM_SFDP_DEPTH 64
48
49// Sram TPM RdFIFO offset (from egress buffer start). Word size is 32bit
50// width.
51#define SPI_DEVICE_PARAM_SRAM_TPM_RD_FIFO_OFFSET 832
52
53// Sram TPM RdFIFO entries. Word size is 32bit width.
54#define SPI_DEVICE_PARAM_SRAM_TPM_RD_FIFO_DEPTH 16
55
56// Sram payload FIFO offset (from ingress buffer start). Word size is 32bit
57// width.
58#define SPI_DEVICE_PARAM_SRAM_PAYLOAD_OFFSET 0
59
60// Sram payload FIFO entries. Word size is 32bit width.
61#define SPI_DEVICE_PARAM_SRAM_PAYLOAD_DEPTH 64
62
63// Sram command FIFO offset (from ingress buffer start). Word size is 32bit
64// width.
65#define SPI_DEVICE_PARAM_SRAM_CMD_FIFO_OFFSET 64
66
67// Sram command FIFO entries. Word size is 32bit width.
68#define SPI_DEVICE_PARAM_SRAM_CMD_FIFO_DEPTH 16
69
70// Sram address FIFO offset (from ingress buffer start). Word size is 32bit
71// width.
72#define SPI_DEVICE_PARAM_SRAM_ADDR_FIFO_OFFSET 80
73
74// Sram address FIFO entries. Word size is 32bit width.
75#define SPI_DEVICE_PARAM_SRAM_ADDR_FIFO_DEPTH 16
76
77// Sram TPM Write FIFO offset (from ingress buffer start). Word size is 32bit
78// width.
79#define SPI_DEVICE_PARAM_SRAM_TPM_WR_FIFO_OFFSET 96
80
81// Sram TPM Write FIFO entries. Word size is 32bit width.
82#define SPI_DEVICE_PARAM_SRAM_TPM_WR_FIFO_DEPTH 16
83
84// Define the number of Command Info slots.
85#define SPI_DEVICE_PARAM_NUM_CMD_INFO 24
86
87// The number of locality TPM module supports.
88#define SPI_DEVICE_PARAM_NUM_LOCALITY 5
89
90// TPM RdFIFO Pointer Bit Width. clog2(Depth(16+1))
91#define SPI_DEVICE_PARAM_TPM_RD_FIFO_PTR_W 5
92
93// TPM Read FIFO Data Width. (TpmRdFifoWidth/8) shall be power of two
94#define SPI_DEVICE_PARAM_TPM_RD_FIFO_WIDTH 32
95
96// Number of alerts
97#define SPI_DEVICE_PARAM_NUM_ALERTS 1
98
99// Register width
100#define SPI_DEVICE_PARAM_REG_WIDTH 32
101
102// Common Interrupt Offsets
103#define SPI_DEVICE_INTR_COMMON_UPLOAD_CMDFIFO_NOT_EMPTY_BIT 0
104#define SPI_DEVICE_INTR_COMMON_UPLOAD_PAYLOAD_NOT_EMPTY_BIT 1
105#define SPI_DEVICE_INTR_COMMON_UPLOAD_PAYLOAD_OVERFLOW_BIT 2
106#define SPI_DEVICE_INTR_COMMON_READBUF_WATERMARK_BIT 3
107#define SPI_DEVICE_INTR_COMMON_READBUF_FLIP_BIT 4
108#define SPI_DEVICE_INTR_COMMON_TPM_HEADER_NOT_EMPTY_BIT 5
109#define SPI_DEVICE_INTR_COMMON_TPM_RDFIFO_CMD_END_BIT 6
110#define SPI_DEVICE_INTR_COMMON_TPM_RDFIFO_DROP_BIT 7
111
112// Interrupt State Register
113#define SPI_DEVICE_INTR_STATE_REG_OFFSET 0x0
114#define SPI_DEVICE_INTR_STATE_REG_RESVAL 0x0u
115#define SPI_DEVICE_INTR_STATE_UPLOAD_CMDFIFO_NOT_EMPTY_BIT 0
116#define SPI_DEVICE_INTR_STATE_UPLOAD_PAYLOAD_NOT_EMPTY_BIT 1
117#define SPI_DEVICE_INTR_STATE_UPLOAD_PAYLOAD_OVERFLOW_BIT 2
118#define SPI_DEVICE_INTR_STATE_READBUF_WATERMARK_BIT 3
119#define SPI_DEVICE_INTR_STATE_READBUF_FLIP_BIT 4
120#define SPI_DEVICE_INTR_STATE_TPM_HEADER_NOT_EMPTY_BIT 5
121#define SPI_DEVICE_INTR_STATE_TPM_RDFIFO_CMD_END_BIT 6
122#define SPI_DEVICE_INTR_STATE_TPM_RDFIFO_DROP_BIT 7
123
124// Interrupt Enable Register
125#define SPI_DEVICE_INTR_ENABLE_REG_OFFSET 0x4
126#define SPI_DEVICE_INTR_ENABLE_REG_RESVAL 0x0u
127#define SPI_DEVICE_INTR_ENABLE_UPLOAD_CMDFIFO_NOT_EMPTY_BIT 0
128#define SPI_DEVICE_INTR_ENABLE_UPLOAD_PAYLOAD_NOT_EMPTY_BIT 1
129#define SPI_DEVICE_INTR_ENABLE_UPLOAD_PAYLOAD_OVERFLOW_BIT 2
130#define SPI_DEVICE_INTR_ENABLE_READBUF_WATERMARK_BIT 3
131#define SPI_DEVICE_INTR_ENABLE_READBUF_FLIP_BIT 4
132#define SPI_DEVICE_INTR_ENABLE_TPM_HEADER_NOT_EMPTY_BIT 5
133#define SPI_DEVICE_INTR_ENABLE_TPM_RDFIFO_CMD_END_BIT 6
134#define SPI_DEVICE_INTR_ENABLE_TPM_RDFIFO_DROP_BIT 7
135
136// Interrupt Test Register
137#define SPI_DEVICE_INTR_TEST_REG_OFFSET 0x8
138#define SPI_DEVICE_INTR_TEST_REG_RESVAL 0x0u
139#define SPI_DEVICE_INTR_TEST_UPLOAD_CMDFIFO_NOT_EMPTY_BIT 0
140#define SPI_DEVICE_INTR_TEST_UPLOAD_PAYLOAD_NOT_EMPTY_BIT 1
141#define SPI_DEVICE_INTR_TEST_UPLOAD_PAYLOAD_OVERFLOW_BIT 2
142#define SPI_DEVICE_INTR_TEST_READBUF_WATERMARK_BIT 3
143#define SPI_DEVICE_INTR_TEST_READBUF_FLIP_BIT 4
144#define SPI_DEVICE_INTR_TEST_TPM_HEADER_NOT_EMPTY_BIT 5
145#define SPI_DEVICE_INTR_TEST_TPM_RDFIFO_CMD_END_BIT 6
146#define SPI_DEVICE_INTR_TEST_TPM_RDFIFO_DROP_BIT 7
147
148// Alert Test Register
149#define SPI_DEVICE_ALERT_TEST_REG_OFFSET 0xc
150#define SPI_DEVICE_ALERT_TEST_REG_RESVAL 0x80000000u
151#define SPI_DEVICE_ALERT_TEST_FATAL_FAULT_BIT 0
152#define SPI_DEVICE_ALERT_TEST_REGWEN_BIT 31
153
154// Control register.
155#define SPI_DEVICE_CONTROL_REG_OFFSET 0x10
156#define SPI_DEVICE_CONTROL_REG_RESVAL 0x10u
157#define SPI_DEVICE_CONTROL_FLASH_STATUS_FIFO_CLR_BIT 0
158#define SPI_DEVICE_CONTROL_FLASH_READ_BUFFER_CLR_BIT 1
159#define SPI_DEVICE_CONTROL_MODE_MASK 0x3u
160#define SPI_DEVICE_CONTROL_MODE_OFFSET 4
161#define SPI_DEVICE_CONTROL_MODE_FIELD \
162 ((bitfield_field32_t) { .mask = SPI_DEVICE_CONTROL_MODE_MASK, .index = SPI_DEVICE_CONTROL_MODE_OFFSET })
163#define SPI_DEVICE_CONTROL_MODE_VALUE_DISABLED 0x0
164#define SPI_DEVICE_CONTROL_MODE_VALUE_FLASHMODE 0x1
165#define SPI_DEVICE_CONTROL_MODE_VALUE_PASSTHROUGH 0x2
166
167// Configuration Register.
168#define SPI_DEVICE_CFG_REG_OFFSET 0x14
169#define SPI_DEVICE_CFG_REG_RESVAL 0x0u
170#define SPI_DEVICE_CFG_TX_ORDER_BIT 2
171#define SPI_DEVICE_CFG_RX_ORDER_BIT 3
172#define SPI_DEVICE_CFG_MAILBOX_EN_BIT 24
173
174// SPI Device status register.
175#define SPI_DEVICE_STATUS_REG_OFFSET 0x18
176#define SPI_DEVICE_STATUS_REG_RESVAL 0x60u
177#define SPI_DEVICE_STATUS_CSB_BIT 5
178#define SPI_DEVICE_STATUS_TPM_CSB_BIT 6
179
180// Intercept Passthrough datapath.
181#define SPI_DEVICE_INTERCEPT_EN_REG_OFFSET 0x1c
182#define SPI_DEVICE_INTERCEPT_EN_REG_RESVAL 0x0u
183#define SPI_DEVICE_INTERCEPT_EN_STATUS_BIT 0
184#define SPI_DEVICE_INTERCEPT_EN_JEDEC_BIT 1
185#define SPI_DEVICE_INTERCEPT_EN_SFDP_BIT 2
186#define SPI_DEVICE_INTERCEPT_EN_MBX_BIT 3
187
188// Flash Address Mode configuration.
189#define SPI_DEVICE_ADDR_MODE_REG_OFFSET 0x20
190#define SPI_DEVICE_ADDR_MODE_REG_RESVAL 0x0u
191#define SPI_DEVICE_ADDR_MODE_ADDR_4B_EN_BIT 0
192#define SPI_DEVICE_ADDR_MODE_PENDING_BIT 31
193
194// Last Read Address.
195#define SPI_DEVICE_LAST_READ_ADDR_REG_OFFSET 0x24
196#define SPI_DEVICE_LAST_READ_ADDR_REG_RESVAL 0x0u
197
198// SPI Flash Status register.
199#define SPI_DEVICE_FLASH_STATUS_REG_OFFSET 0x28
200#define SPI_DEVICE_FLASH_STATUS_REG_RESVAL 0x0u
201#define SPI_DEVICE_FLASH_STATUS_BUSY_BIT 0
202#define SPI_DEVICE_FLASH_STATUS_WEL_BIT 1
203#define SPI_DEVICE_FLASH_STATUS_STATUS_MASK 0x3fffffu
204#define SPI_DEVICE_FLASH_STATUS_STATUS_OFFSET 2
205#define SPI_DEVICE_FLASH_STATUS_STATUS_FIELD \
206 ((bitfield_field32_t) { .mask = SPI_DEVICE_FLASH_STATUS_STATUS_MASK, .index = SPI_DEVICE_FLASH_STATUS_STATUS_OFFSET })
207
208// JEDEC Continuation Code configuration register.
209#define SPI_DEVICE_JEDEC_CC_REG_OFFSET 0x2c
210#define SPI_DEVICE_JEDEC_CC_REG_RESVAL 0x7fu
211#define SPI_DEVICE_JEDEC_CC_CC_MASK 0xffu
212#define SPI_DEVICE_JEDEC_CC_CC_OFFSET 0
213#define SPI_DEVICE_JEDEC_CC_CC_FIELD \
214 ((bitfield_field32_t) { .mask = SPI_DEVICE_JEDEC_CC_CC_MASK, .index = SPI_DEVICE_JEDEC_CC_CC_OFFSET })
215#define SPI_DEVICE_JEDEC_CC_NUM_CC_MASK 0xffu
216#define SPI_DEVICE_JEDEC_CC_NUM_CC_OFFSET 8
217#define SPI_DEVICE_JEDEC_CC_NUM_CC_FIELD \
218 ((bitfield_field32_t) { .mask = SPI_DEVICE_JEDEC_CC_NUM_CC_MASK, .index = SPI_DEVICE_JEDEC_CC_NUM_CC_OFFSET })
219
220// JEDEC ID register.
221#define SPI_DEVICE_JEDEC_ID_REG_OFFSET 0x30
222#define SPI_DEVICE_JEDEC_ID_REG_RESVAL 0x0u
223#define SPI_DEVICE_JEDEC_ID_ID_MASK 0xffffu
224#define SPI_DEVICE_JEDEC_ID_ID_OFFSET 0
225#define SPI_DEVICE_JEDEC_ID_ID_FIELD \
226 ((bitfield_field32_t) { .mask = SPI_DEVICE_JEDEC_ID_ID_MASK, .index = SPI_DEVICE_JEDEC_ID_ID_OFFSET })
227#define SPI_DEVICE_JEDEC_ID_MF_MASK 0xffu
228#define SPI_DEVICE_JEDEC_ID_MF_OFFSET 16
229#define SPI_DEVICE_JEDEC_ID_MF_FIELD \
230 ((bitfield_field32_t) { .mask = SPI_DEVICE_JEDEC_ID_MF_MASK, .index = SPI_DEVICE_JEDEC_ID_MF_OFFSET })
231
232// Read Buffer threshold register.
233#define SPI_DEVICE_READ_THRESHOLD_REG_OFFSET 0x34
234#define SPI_DEVICE_READ_THRESHOLD_REG_RESVAL 0x0u
235#define SPI_DEVICE_READ_THRESHOLD_THRESHOLD_MASK 0x3ffu
236#define SPI_DEVICE_READ_THRESHOLD_THRESHOLD_OFFSET 0
237#define SPI_DEVICE_READ_THRESHOLD_THRESHOLD_FIELD \
238 ((bitfield_field32_t) { .mask = SPI_DEVICE_READ_THRESHOLD_THRESHOLD_MASK, .index = SPI_DEVICE_READ_THRESHOLD_THRESHOLD_OFFSET })
239
240// Mailbox Base address register.
241#define SPI_DEVICE_MAILBOX_ADDR_REG_OFFSET 0x38
242#define SPI_DEVICE_MAILBOX_ADDR_REG_RESVAL 0x0u
243
244// Upload Module status register.
245#define SPI_DEVICE_UPLOAD_STATUS_REG_OFFSET 0x3c
246#define SPI_DEVICE_UPLOAD_STATUS_REG_RESVAL 0x0u
247#define SPI_DEVICE_UPLOAD_STATUS_CMDFIFO_DEPTH_MASK 0x1fu
248#define SPI_DEVICE_UPLOAD_STATUS_CMDFIFO_DEPTH_OFFSET 0
249#define SPI_DEVICE_UPLOAD_STATUS_CMDFIFO_DEPTH_FIELD \
250 ((bitfield_field32_t) { .mask = SPI_DEVICE_UPLOAD_STATUS_CMDFIFO_DEPTH_MASK, .index = SPI_DEVICE_UPLOAD_STATUS_CMDFIFO_DEPTH_OFFSET })
251#define SPI_DEVICE_UPLOAD_STATUS_CMDFIFO_NOTEMPTY_BIT 7
252#define SPI_DEVICE_UPLOAD_STATUS_ADDRFIFO_DEPTH_MASK 0x1fu
253#define SPI_DEVICE_UPLOAD_STATUS_ADDRFIFO_DEPTH_OFFSET 8
254#define SPI_DEVICE_UPLOAD_STATUS_ADDRFIFO_DEPTH_FIELD \
255 ((bitfield_field32_t) { .mask = SPI_DEVICE_UPLOAD_STATUS_ADDRFIFO_DEPTH_MASK, .index = SPI_DEVICE_UPLOAD_STATUS_ADDRFIFO_DEPTH_OFFSET })
256#define SPI_DEVICE_UPLOAD_STATUS_ADDRFIFO_NOTEMPTY_BIT 15
257
258// Upload Module second status register.
259#define SPI_DEVICE_UPLOAD_STATUS2_REG_OFFSET 0x40
260#define SPI_DEVICE_UPLOAD_STATUS2_REG_RESVAL 0x0u
261#define SPI_DEVICE_UPLOAD_STATUS2_PAYLOAD_DEPTH_MASK 0x1ffu
262#define SPI_DEVICE_UPLOAD_STATUS2_PAYLOAD_DEPTH_OFFSET 0
263#define SPI_DEVICE_UPLOAD_STATUS2_PAYLOAD_DEPTH_FIELD \
264 ((bitfield_field32_t) { .mask = SPI_DEVICE_UPLOAD_STATUS2_PAYLOAD_DEPTH_MASK, .index = SPI_DEVICE_UPLOAD_STATUS2_PAYLOAD_DEPTH_OFFSET })
265#define SPI_DEVICE_UPLOAD_STATUS2_PAYLOAD_START_IDX_MASK 0xffu
266#define SPI_DEVICE_UPLOAD_STATUS2_PAYLOAD_START_IDX_OFFSET 16
267#define SPI_DEVICE_UPLOAD_STATUS2_PAYLOAD_START_IDX_FIELD \
268 ((bitfield_field32_t) { .mask = SPI_DEVICE_UPLOAD_STATUS2_PAYLOAD_START_IDX_MASK, .index = SPI_DEVICE_UPLOAD_STATUS2_PAYLOAD_START_IDX_OFFSET })
269
270// Command FIFO Read Port.
271#define SPI_DEVICE_UPLOAD_CMDFIFO_REG_OFFSET 0x44
272#define SPI_DEVICE_UPLOAD_CMDFIFO_REG_RESVAL 0x0u
273#define SPI_DEVICE_UPLOAD_CMDFIFO_DATA_MASK 0xffu
274#define SPI_DEVICE_UPLOAD_CMDFIFO_DATA_OFFSET 0
275#define SPI_DEVICE_UPLOAD_CMDFIFO_DATA_FIELD \
276 ((bitfield_field32_t) { .mask = SPI_DEVICE_UPLOAD_CMDFIFO_DATA_MASK, .index = SPI_DEVICE_UPLOAD_CMDFIFO_DATA_OFFSET })
277#define SPI_DEVICE_UPLOAD_CMDFIFO_BUSY_BIT 13
278#define SPI_DEVICE_UPLOAD_CMDFIFO_WEL_BIT 14
279#define SPI_DEVICE_UPLOAD_CMDFIFO_ADDR4B_MODE_BIT 15
280
281// Address FIFO Read Port.
282#define SPI_DEVICE_UPLOAD_ADDRFIFO_REG_OFFSET 0x48
283#define SPI_DEVICE_UPLOAD_ADDRFIFO_REG_RESVAL 0x0u
284
285// Passthrough mode: Command Filter.
286#define SPI_DEVICE_CMD_FILTER_FILTER_FIELD_WIDTH 1
287#define SPI_DEVICE_CMD_FILTER_MULTIREG_COUNT 8
288
289// Passthrough mode: Command Filter.
290#define SPI_DEVICE_CMD_FILTER_0_REG_OFFSET 0x4c
291#define SPI_DEVICE_CMD_FILTER_0_REG_RESVAL 0x0u
292#define SPI_DEVICE_CMD_FILTER_0_FILTER_0_BIT 0
293#define SPI_DEVICE_CMD_FILTER_0_FILTER_1_BIT 1
294#define SPI_DEVICE_CMD_FILTER_0_FILTER_2_BIT 2
295#define SPI_DEVICE_CMD_FILTER_0_FILTER_3_BIT 3
296#define SPI_DEVICE_CMD_FILTER_0_FILTER_4_BIT 4
297#define SPI_DEVICE_CMD_FILTER_0_FILTER_5_BIT 5
298#define SPI_DEVICE_CMD_FILTER_0_FILTER_6_BIT 6
299#define SPI_DEVICE_CMD_FILTER_0_FILTER_7_BIT 7
300#define SPI_DEVICE_CMD_FILTER_0_FILTER_8_BIT 8
301#define SPI_DEVICE_CMD_FILTER_0_FILTER_9_BIT 9
302#define SPI_DEVICE_CMD_FILTER_0_FILTER_10_BIT 10
303#define SPI_DEVICE_CMD_FILTER_0_FILTER_11_BIT 11
304#define SPI_DEVICE_CMD_FILTER_0_FILTER_12_BIT 12
305#define SPI_DEVICE_CMD_FILTER_0_FILTER_13_BIT 13
306#define SPI_DEVICE_CMD_FILTER_0_FILTER_14_BIT 14
307#define SPI_DEVICE_CMD_FILTER_0_FILTER_15_BIT 15
308#define SPI_DEVICE_CMD_FILTER_0_FILTER_16_BIT 16
309#define SPI_DEVICE_CMD_FILTER_0_FILTER_17_BIT 17
310#define SPI_DEVICE_CMD_FILTER_0_FILTER_18_BIT 18
311#define SPI_DEVICE_CMD_FILTER_0_FILTER_19_BIT 19
312#define SPI_DEVICE_CMD_FILTER_0_FILTER_20_BIT 20
313#define SPI_DEVICE_CMD_FILTER_0_FILTER_21_BIT 21
314#define SPI_DEVICE_CMD_FILTER_0_FILTER_22_BIT 22
315#define SPI_DEVICE_CMD_FILTER_0_FILTER_23_BIT 23
316#define SPI_DEVICE_CMD_FILTER_0_FILTER_24_BIT 24
317#define SPI_DEVICE_CMD_FILTER_0_FILTER_25_BIT 25
318#define SPI_DEVICE_CMD_FILTER_0_FILTER_26_BIT 26
319#define SPI_DEVICE_CMD_FILTER_0_FILTER_27_BIT 27
320#define SPI_DEVICE_CMD_FILTER_0_FILTER_28_BIT 28
321#define SPI_DEVICE_CMD_FILTER_0_FILTER_29_BIT 29
322#define SPI_DEVICE_CMD_FILTER_0_FILTER_30_BIT 30
323#define SPI_DEVICE_CMD_FILTER_0_FILTER_31_BIT 31
324
325// Passthrough mode: Command Filter.
326#define SPI_DEVICE_CMD_FILTER_1_REG_OFFSET 0x50
327#define SPI_DEVICE_CMD_FILTER_1_REG_RESVAL 0x0u
328#define SPI_DEVICE_CMD_FILTER_1_FILTER_32_BIT 0
329#define SPI_DEVICE_CMD_FILTER_1_FILTER_33_BIT 1
330#define SPI_DEVICE_CMD_FILTER_1_FILTER_34_BIT 2
331#define SPI_DEVICE_CMD_FILTER_1_FILTER_35_BIT 3
332#define SPI_DEVICE_CMD_FILTER_1_FILTER_36_BIT 4
333#define SPI_DEVICE_CMD_FILTER_1_FILTER_37_BIT 5
334#define SPI_DEVICE_CMD_FILTER_1_FILTER_38_BIT 6
335#define SPI_DEVICE_CMD_FILTER_1_FILTER_39_BIT 7
336#define SPI_DEVICE_CMD_FILTER_1_FILTER_40_BIT 8
337#define SPI_DEVICE_CMD_FILTER_1_FILTER_41_BIT 9
338#define SPI_DEVICE_CMD_FILTER_1_FILTER_42_BIT 10
339#define SPI_DEVICE_CMD_FILTER_1_FILTER_43_BIT 11
340#define SPI_DEVICE_CMD_FILTER_1_FILTER_44_BIT 12
341#define SPI_DEVICE_CMD_FILTER_1_FILTER_45_BIT 13
342#define SPI_DEVICE_CMD_FILTER_1_FILTER_46_BIT 14
343#define SPI_DEVICE_CMD_FILTER_1_FILTER_47_BIT 15
344#define SPI_DEVICE_CMD_FILTER_1_FILTER_48_BIT 16
345#define SPI_DEVICE_CMD_FILTER_1_FILTER_49_BIT 17
346#define SPI_DEVICE_CMD_FILTER_1_FILTER_50_BIT 18
347#define SPI_DEVICE_CMD_FILTER_1_FILTER_51_BIT 19
348#define SPI_DEVICE_CMD_FILTER_1_FILTER_52_BIT 20
349#define SPI_DEVICE_CMD_FILTER_1_FILTER_53_BIT 21
350#define SPI_DEVICE_CMD_FILTER_1_FILTER_54_BIT 22
351#define SPI_DEVICE_CMD_FILTER_1_FILTER_55_BIT 23
352#define SPI_DEVICE_CMD_FILTER_1_FILTER_56_BIT 24
353#define SPI_DEVICE_CMD_FILTER_1_FILTER_57_BIT 25
354#define SPI_DEVICE_CMD_FILTER_1_FILTER_58_BIT 26
355#define SPI_DEVICE_CMD_FILTER_1_FILTER_59_BIT 27
356#define SPI_DEVICE_CMD_FILTER_1_FILTER_60_BIT 28
357#define SPI_DEVICE_CMD_FILTER_1_FILTER_61_BIT 29
358#define SPI_DEVICE_CMD_FILTER_1_FILTER_62_BIT 30
359#define SPI_DEVICE_CMD_FILTER_1_FILTER_63_BIT 31
360
361// Passthrough mode: Command Filter.
362#define SPI_DEVICE_CMD_FILTER_2_REG_OFFSET 0x54
363#define SPI_DEVICE_CMD_FILTER_2_REG_RESVAL 0x0u
364#define SPI_DEVICE_CMD_FILTER_2_FILTER_64_BIT 0
365#define SPI_DEVICE_CMD_FILTER_2_FILTER_65_BIT 1
366#define SPI_DEVICE_CMD_FILTER_2_FILTER_66_BIT 2
367#define SPI_DEVICE_CMD_FILTER_2_FILTER_67_BIT 3
368#define SPI_DEVICE_CMD_FILTER_2_FILTER_68_BIT 4
369#define SPI_DEVICE_CMD_FILTER_2_FILTER_69_BIT 5
370#define SPI_DEVICE_CMD_FILTER_2_FILTER_70_BIT 6
371#define SPI_DEVICE_CMD_FILTER_2_FILTER_71_BIT 7
372#define SPI_DEVICE_CMD_FILTER_2_FILTER_72_BIT 8
373#define SPI_DEVICE_CMD_FILTER_2_FILTER_73_BIT 9
374#define SPI_DEVICE_CMD_FILTER_2_FILTER_74_BIT 10
375#define SPI_DEVICE_CMD_FILTER_2_FILTER_75_BIT 11
376#define SPI_DEVICE_CMD_FILTER_2_FILTER_76_BIT 12
377#define SPI_DEVICE_CMD_FILTER_2_FILTER_77_BIT 13
378#define SPI_DEVICE_CMD_FILTER_2_FILTER_78_BIT 14
379#define SPI_DEVICE_CMD_FILTER_2_FILTER_79_BIT 15
380#define SPI_DEVICE_CMD_FILTER_2_FILTER_80_BIT 16
381#define SPI_DEVICE_CMD_FILTER_2_FILTER_81_BIT 17
382#define SPI_DEVICE_CMD_FILTER_2_FILTER_82_BIT 18
383#define SPI_DEVICE_CMD_FILTER_2_FILTER_83_BIT 19
384#define SPI_DEVICE_CMD_FILTER_2_FILTER_84_BIT 20
385#define SPI_DEVICE_CMD_FILTER_2_FILTER_85_BIT 21
386#define SPI_DEVICE_CMD_FILTER_2_FILTER_86_BIT 22
387#define SPI_DEVICE_CMD_FILTER_2_FILTER_87_BIT 23
388#define SPI_DEVICE_CMD_FILTER_2_FILTER_88_BIT 24
389#define SPI_DEVICE_CMD_FILTER_2_FILTER_89_BIT 25
390#define SPI_DEVICE_CMD_FILTER_2_FILTER_90_BIT 26
391#define SPI_DEVICE_CMD_FILTER_2_FILTER_91_BIT 27
392#define SPI_DEVICE_CMD_FILTER_2_FILTER_92_BIT 28
393#define SPI_DEVICE_CMD_FILTER_2_FILTER_93_BIT 29
394#define SPI_DEVICE_CMD_FILTER_2_FILTER_94_BIT 30
395#define SPI_DEVICE_CMD_FILTER_2_FILTER_95_BIT 31
396
397// Passthrough mode: Command Filter.
398#define SPI_DEVICE_CMD_FILTER_3_REG_OFFSET 0x58
399#define SPI_DEVICE_CMD_FILTER_3_REG_RESVAL 0x0u
400#define SPI_DEVICE_CMD_FILTER_3_FILTER_96_BIT 0
401#define SPI_DEVICE_CMD_FILTER_3_FILTER_97_BIT 1
402#define SPI_DEVICE_CMD_FILTER_3_FILTER_98_BIT 2
403#define SPI_DEVICE_CMD_FILTER_3_FILTER_99_BIT 3
404#define SPI_DEVICE_CMD_FILTER_3_FILTER_100_BIT 4
405#define SPI_DEVICE_CMD_FILTER_3_FILTER_101_BIT 5
406#define SPI_DEVICE_CMD_FILTER_3_FILTER_102_BIT 6
407#define SPI_DEVICE_CMD_FILTER_3_FILTER_103_BIT 7
408#define SPI_DEVICE_CMD_FILTER_3_FILTER_104_BIT 8
409#define SPI_DEVICE_CMD_FILTER_3_FILTER_105_BIT 9
410#define SPI_DEVICE_CMD_FILTER_3_FILTER_106_BIT 10
411#define SPI_DEVICE_CMD_FILTER_3_FILTER_107_BIT 11
412#define SPI_DEVICE_CMD_FILTER_3_FILTER_108_BIT 12
413#define SPI_DEVICE_CMD_FILTER_3_FILTER_109_BIT 13
414#define SPI_DEVICE_CMD_FILTER_3_FILTER_110_BIT 14
415#define SPI_DEVICE_CMD_FILTER_3_FILTER_111_BIT 15
416#define SPI_DEVICE_CMD_FILTER_3_FILTER_112_BIT 16
417#define SPI_DEVICE_CMD_FILTER_3_FILTER_113_BIT 17
418#define SPI_DEVICE_CMD_FILTER_3_FILTER_114_BIT 18
419#define SPI_DEVICE_CMD_FILTER_3_FILTER_115_BIT 19
420#define SPI_DEVICE_CMD_FILTER_3_FILTER_116_BIT 20
421#define SPI_DEVICE_CMD_FILTER_3_FILTER_117_BIT 21
422#define SPI_DEVICE_CMD_FILTER_3_FILTER_118_BIT 22
423#define SPI_DEVICE_CMD_FILTER_3_FILTER_119_BIT 23
424#define SPI_DEVICE_CMD_FILTER_3_FILTER_120_BIT 24
425#define SPI_DEVICE_CMD_FILTER_3_FILTER_121_BIT 25
426#define SPI_DEVICE_CMD_FILTER_3_FILTER_122_BIT 26
427#define SPI_DEVICE_CMD_FILTER_3_FILTER_123_BIT 27
428#define SPI_DEVICE_CMD_FILTER_3_FILTER_124_BIT 28
429#define SPI_DEVICE_CMD_FILTER_3_FILTER_125_BIT 29
430#define SPI_DEVICE_CMD_FILTER_3_FILTER_126_BIT 30
431#define SPI_DEVICE_CMD_FILTER_3_FILTER_127_BIT 31
432
433// Passthrough mode: Command Filter.
434#define SPI_DEVICE_CMD_FILTER_4_REG_OFFSET 0x5c
435#define SPI_DEVICE_CMD_FILTER_4_REG_RESVAL 0x0u
436#define SPI_DEVICE_CMD_FILTER_4_FILTER_128_BIT 0
437#define SPI_DEVICE_CMD_FILTER_4_FILTER_129_BIT 1
438#define SPI_DEVICE_CMD_FILTER_4_FILTER_130_BIT 2
439#define SPI_DEVICE_CMD_FILTER_4_FILTER_131_BIT 3
440#define SPI_DEVICE_CMD_FILTER_4_FILTER_132_BIT 4
441#define SPI_DEVICE_CMD_FILTER_4_FILTER_133_BIT 5
442#define SPI_DEVICE_CMD_FILTER_4_FILTER_134_BIT 6
443#define SPI_DEVICE_CMD_FILTER_4_FILTER_135_BIT 7
444#define SPI_DEVICE_CMD_FILTER_4_FILTER_136_BIT 8
445#define SPI_DEVICE_CMD_FILTER_4_FILTER_137_BIT 9
446#define SPI_DEVICE_CMD_FILTER_4_FILTER_138_BIT 10
447#define SPI_DEVICE_CMD_FILTER_4_FILTER_139_BIT 11
448#define SPI_DEVICE_CMD_FILTER_4_FILTER_140_BIT 12
449#define SPI_DEVICE_CMD_FILTER_4_FILTER_141_BIT 13
450#define SPI_DEVICE_CMD_FILTER_4_FILTER_142_BIT 14
451#define SPI_DEVICE_CMD_FILTER_4_FILTER_143_BIT 15
452#define SPI_DEVICE_CMD_FILTER_4_FILTER_144_BIT 16
453#define SPI_DEVICE_CMD_FILTER_4_FILTER_145_BIT 17
454#define SPI_DEVICE_CMD_FILTER_4_FILTER_146_BIT 18
455#define SPI_DEVICE_CMD_FILTER_4_FILTER_147_BIT 19
456#define SPI_DEVICE_CMD_FILTER_4_FILTER_148_BIT 20
457#define SPI_DEVICE_CMD_FILTER_4_FILTER_149_BIT 21
458#define SPI_DEVICE_CMD_FILTER_4_FILTER_150_BIT 22
459#define SPI_DEVICE_CMD_FILTER_4_FILTER_151_BIT 23
460#define SPI_DEVICE_CMD_FILTER_4_FILTER_152_BIT 24
461#define SPI_DEVICE_CMD_FILTER_4_FILTER_153_BIT 25
462#define SPI_DEVICE_CMD_FILTER_4_FILTER_154_BIT 26
463#define SPI_DEVICE_CMD_FILTER_4_FILTER_155_BIT 27
464#define SPI_DEVICE_CMD_FILTER_4_FILTER_156_BIT 28
465#define SPI_DEVICE_CMD_FILTER_4_FILTER_157_BIT 29
466#define SPI_DEVICE_CMD_FILTER_4_FILTER_158_BIT 30
467#define SPI_DEVICE_CMD_FILTER_4_FILTER_159_BIT 31
468
469// Passthrough mode: Command Filter.
470#define SPI_DEVICE_CMD_FILTER_5_REG_OFFSET 0x60
471#define SPI_DEVICE_CMD_FILTER_5_REG_RESVAL 0x0u
472#define SPI_DEVICE_CMD_FILTER_5_FILTER_160_BIT 0
473#define SPI_DEVICE_CMD_FILTER_5_FILTER_161_BIT 1
474#define SPI_DEVICE_CMD_FILTER_5_FILTER_162_BIT 2
475#define SPI_DEVICE_CMD_FILTER_5_FILTER_163_BIT 3
476#define SPI_DEVICE_CMD_FILTER_5_FILTER_164_BIT 4
477#define SPI_DEVICE_CMD_FILTER_5_FILTER_165_BIT 5
478#define SPI_DEVICE_CMD_FILTER_5_FILTER_166_BIT 6
479#define SPI_DEVICE_CMD_FILTER_5_FILTER_167_BIT 7
480#define SPI_DEVICE_CMD_FILTER_5_FILTER_168_BIT 8
481#define SPI_DEVICE_CMD_FILTER_5_FILTER_169_BIT 9
482#define SPI_DEVICE_CMD_FILTER_5_FILTER_170_BIT 10
483#define SPI_DEVICE_CMD_FILTER_5_FILTER_171_BIT 11
484#define SPI_DEVICE_CMD_FILTER_5_FILTER_172_BIT 12
485#define SPI_DEVICE_CMD_FILTER_5_FILTER_173_BIT 13
486#define SPI_DEVICE_CMD_FILTER_5_FILTER_174_BIT 14
487#define SPI_DEVICE_CMD_FILTER_5_FILTER_175_BIT 15
488#define SPI_DEVICE_CMD_FILTER_5_FILTER_176_BIT 16
489#define SPI_DEVICE_CMD_FILTER_5_FILTER_177_BIT 17
490#define SPI_DEVICE_CMD_FILTER_5_FILTER_178_BIT 18
491#define SPI_DEVICE_CMD_FILTER_5_FILTER_179_BIT 19
492#define SPI_DEVICE_CMD_FILTER_5_FILTER_180_BIT 20
493#define SPI_DEVICE_CMD_FILTER_5_FILTER_181_BIT 21
494#define SPI_DEVICE_CMD_FILTER_5_FILTER_182_BIT 22
495#define SPI_DEVICE_CMD_FILTER_5_FILTER_183_BIT 23
496#define SPI_DEVICE_CMD_FILTER_5_FILTER_184_BIT 24
497#define SPI_DEVICE_CMD_FILTER_5_FILTER_185_BIT 25
498#define SPI_DEVICE_CMD_FILTER_5_FILTER_186_BIT 26
499#define SPI_DEVICE_CMD_FILTER_5_FILTER_187_BIT 27
500#define SPI_DEVICE_CMD_FILTER_5_FILTER_188_BIT 28
501#define SPI_DEVICE_CMD_FILTER_5_FILTER_189_BIT 29
502#define SPI_DEVICE_CMD_FILTER_5_FILTER_190_BIT 30
503#define SPI_DEVICE_CMD_FILTER_5_FILTER_191_BIT 31
504
505// Passthrough mode: Command Filter.
506#define SPI_DEVICE_CMD_FILTER_6_REG_OFFSET 0x64
507#define SPI_DEVICE_CMD_FILTER_6_REG_RESVAL 0x0u
508#define SPI_DEVICE_CMD_FILTER_6_FILTER_192_BIT 0
509#define SPI_DEVICE_CMD_FILTER_6_FILTER_193_BIT 1
510#define SPI_DEVICE_CMD_FILTER_6_FILTER_194_BIT 2
511#define SPI_DEVICE_CMD_FILTER_6_FILTER_195_BIT 3
512#define SPI_DEVICE_CMD_FILTER_6_FILTER_196_BIT 4
513#define SPI_DEVICE_CMD_FILTER_6_FILTER_197_BIT 5
514#define SPI_DEVICE_CMD_FILTER_6_FILTER_198_BIT 6
515#define SPI_DEVICE_CMD_FILTER_6_FILTER_199_BIT 7
516#define SPI_DEVICE_CMD_FILTER_6_FILTER_200_BIT 8
517#define SPI_DEVICE_CMD_FILTER_6_FILTER_201_BIT 9
518#define SPI_DEVICE_CMD_FILTER_6_FILTER_202_BIT 10
519#define SPI_DEVICE_CMD_FILTER_6_FILTER_203_BIT 11
520#define SPI_DEVICE_CMD_FILTER_6_FILTER_204_BIT 12
521#define SPI_DEVICE_CMD_FILTER_6_FILTER_205_BIT 13
522#define SPI_DEVICE_CMD_FILTER_6_FILTER_206_BIT 14
523#define SPI_DEVICE_CMD_FILTER_6_FILTER_207_BIT 15
524#define SPI_DEVICE_CMD_FILTER_6_FILTER_208_BIT 16
525#define SPI_DEVICE_CMD_FILTER_6_FILTER_209_BIT 17
526#define SPI_DEVICE_CMD_FILTER_6_FILTER_210_BIT 18
527#define SPI_DEVICE_CMD_FILTER_6_FILTER_211_BIT 19
528#define SPI_DEVICE_CMD_FILTER_6_FILTER_212_BIT 20
529#define SPI_DEVICE_CMD_FILTER_6_FILTER_213_BIT 21
530#define SPI_DEVICE_CMD_FILTER_6_FILTER_214_BIT 22
531#define SPI_DEVICE_CMD_FILTER_6_FILTER_215_BIT 23
532#define SPI_DEVICE_CMD_FILTER_6_FILTER_216_BIT 24
533#define SPI_DEVICE_CMD_FILTER_6_FILTER_217_BIT 25
534#define SPI_DEVICE_CMD_FILTER_6_FILTER_218_BIT 26
535#define SPI_DEVICE_CMD_FILTER_6_FILTER_219_BIT 27
536#define SPI_DEVICE_CMD_FILTER_6_FILTER_220_BIT 28
537#define SPI_DEVICE_CMD_FILTER_6_FILTER_221_BIT 29
538#define SPI_DEVICE_CMD_FILTER_6_FILTER_222_BIT 30
539#define SPI_DEVICE_CMD_FILTER_6_FILTER_223_BIT 31
540
541// Passthrough mode: Command Filter.
542#define SPI_DEVICE_CMD_FILTER_7_REG_OFFSET 0x68
543#define SPI_DEVICE_CMD_FILTER_7_REG_RESVAL 0x0u
544#define SPI_DEVICE_CMD_FILTER_7_FILTER_224_BIT 0
545#define SPI_DEVICE_CMD_FILTER_7_FILTER_225_BIT 1
546#define SPI_DEVICE_CMD_FILTER_7_FILTER_226_BIT 2
547#define SPI_DEVICE_CMD_FILTER_7_FILTER_227_BIT 3
548#define SPI_DEVICE_CMD_FILTER_7_FILTER_228_BIT 4
549#define SPI_DEVICE_CMD_FILTER_7_FILTER_229_BIT 5
550#define SPI_DEVICE_CMD_FILTER_7_FILTER_230_BIT 6
551#define SPI_DEVICE_CMD_FILTER_7_FILTER_231_BIT 7
552#define SPI_DEVICE_CMD_FILTER_7_FILTER_232_BIT 8
553#define SPI_DEVICE_CMD_FILTER_7_FILTER_233_BIT 9
554#define SPI_DEVICE_CMD_FILTER_7_FILTER_234_BIT 10
555#define SPI_DEVICE_CMD_FILTER_7_FILTER_235_BIT 11
556#define SPI_DEVICE_CMD_FILTER_7_FILTER_236_BIT 12
557#define SPI_DEVICE_CMD_FILTER_7_FILTER_237_BIT 13
558#define SPI_DEVICE_CMD_FILTER_7_FILTER_238_BIT 14
559#define SPI_DEVICE_CMD_FILTER_7_FILTER_239_BIT 15
560#define SPI_DEVICE_CMD_FILTER_7_FILTER_240_BIT 16
561#define SPI_DEVICE_CMD_FILTER_7_FILTER_241_BIT 17
562#define SPI_DEVICE_CMD_FILTER_7_FILTER_242_BIT 18
563#define SPI_DEVICE_CMD_FILTER_7_FILTER_243_BIT 19
564#define SPI_DEVICE_CMD_FILTER_7_FILTER_244_BIT 20
565#define SPI_DEVICE_CMD_FILTER_7_FILTER_245_BIT 21
566#define SPI_DEVICE_CMD_FILTER_7_FILTER_246_BIT 22
567#define SPI_DEVICE_CMD_FILTER_7_FILTER_247_BIT 23
568#define SPI_DEVICE_CMD_FILTER_7_FILTER_248_BIT 24
569#define SPI_DEVICE_CMD_FILTER_7_FILTER_249_BIT 25
570#define SPI_DEVICE_CMD_FILTER_7_FILTER_250_BIT 26
571#define SPI_DEVICE_CMD_FILTER_7_FILTER_251_BIT 27
572#define SPI_DEVICE_CMD_FILTER_7_FILTER_252_BIT 28
573#define SPI_DEVICE_CMD_FILTER_7_FILTER_253_BIT 29
574#define SPI_DEVICE_CMD_FILTER_7_FILTER_254_BIT 30
575#define SPI_DEVICE_CMD_FILTER_7_FILTER_255_BIT 31
576
577// Passthrough mode: Address Swap Mask.
578#define SPI_DEVICE_ADDR_SWAP_MASK_REG_OFFSET 0x6c
579#define SPI_DEVICE_ADDR_SWAP_MASK_REG_RESVAL 0x0u
580
581// Passthrough mode: Address Swap Data.
582#define SPI_DEVICE_ADDR_SWAP_DATA_REG_OFFSET 0x70
583#define SPI_DEVICE_ADDR_SWAP_DATA_REG_RESVAL 0x0u
584
585// Passthrough mode: Payload Swap Mask.
586#define SPI_DEVICE_PAYLOAD_SWAP_MASK_REG_OFFSET 0x74
587#define SPI_DEVICE_PAYLOAD_SWAP_MASK_REG_RESVAL 0x0u
588
589// Passthrough mode: Payload Swap Data.
590#define SPI_DEVICE_PAYLOAD_SWAP_DATA_REG_OFFSET 0x78
591#define SPI_DEVICE_PAYLOAD_SWAP_DATA_REG_RESVAL 0x0u
592
593// Command Information register.
594#define SPI_DEVICE_CMD_INFO_OPCODE_FIELD_WIDTH 8
595#define SPI_DEVICE_CMD_INFO_ADDR_MODE_FIELD_WIDTH 2
596#define SPI_DEVICE_CMD_INFO_ADDR_SWAP_EN_FIELD_WIDTH 1
597#define SPI_DEVICE_CMD_INFO_MBYTE_EN_FIELD_WIDTH 1
598#define SPI_DEVICE_CMD_INFO_DUMMY_SIZE_FIELD_WIDTH 3
599#define SPI_DEVICE_CMD_INFO_DUMMY_EN_FIELD_WIDTH 1
600#define SPI_DEVICE_CMD_INFO_PAYLOAD_EN_FIELD_WIDTH 4
601#define SPI_DEVICE_CMD_INFO_PAYLOAD_DIR_FIELD_WIDTH 1
602#define SPI_DEVICE_CMD_INFO_PAYLOAD_SWAP_EN_FIELD_WIDTH 1
603#define SPI_DEVICE_CMD_INFO_READ_PIPELINE_MODE_FIELD_WIDTH 2
604#define SPI_DEVICE_CMD_INFO_UPLOAD_FIELD_WIDTH 1
605#define SPI_DEVICE_CMD_INFO_BUSY_FIELD_WIDTH 1
606#define SPI_DEVICE_CMD_INFO_VALID_FIELD_WIDTH 1
607#define SPI_DEVICE_CMD_INFO_MULTIREG_COUNT 24
608
609// Command Information register.
610#define SPI_DEVICE_CMD_INFO_0_REG_OFFSET 0x7c
611#define SPI_DEVICE_CMD_INFO_0_REG_RESVAL 0x7000u
612#define SPI_DEVICE_CMD_INFO_0_OPCODE_0_MASK 0xffu
613#define SPI_DEVICE_CMD_INFO_0_OPCODE_0_OFFSET 0
614#define SPI_DEVICE_CMD_INFO_0_OPCODE_0_FIELD \
615 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_0_OPCODE_0_MASK, .index = SPI_DEVICE_CMD_INFO_0_OPCODE_0_OFFSET })
616#define SPI_DEVICE_CMD_INFO_0_ADDR_MODE_0_MASK 0x3u
617#define SPI_DEVICE_CMD_INFO_0_ADDR_MODE_0_OFFSET 8
618#define SPI_DEVICE_CMD_INFO_0_ADDR_MODE_0_FIELD \
619 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_0_ADDR_MODE_0_MASK, .index = SPI_DEVICE_CMD_INFO_0_ADDR_MODE_0_OFFSET })
620#define SPI_DEVICE_CMD_INFO_0_ADDR_MODE_0_VALUE_ADDRDISABLED 0x0
621#define SPI_DEVICE_CMD_INFO_0_ADDR_MODE_0_VALUE_ADDRCFG 0x1
622#define SPI_DEVICE_CMD_INFO_0_ADDR_MODE_0_VALUE_ADDR3B 0x2
623#define SPI_DEVICE_CMD_INFO_0_ADDR_MODE_0_VALUE_ADDR4B 0x3
624#define SPI_DEVICE_CMD_INFO_0_ADDR_SWAP_EN_0_BIT 10
625#define SPI_DEVICE_CMD_INFO_0_MBYTE_EN_0_BIT 11
626#define SPI_DEVICE_CMD_INFO_0_DUMMY_SIZE_0_MASK 0x7u
627#define SPI_DEVICE_CMD_INFO_0_DUMMY_SIZE_0_OFFSET 12
628#define SPI_DEVICE_CMD_INFO_0_DUMMY_SIZE_0_FIELD \
629 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_0_DUMMY_SIZE_0_MASK, .index = SPI_DEVICE_CMD_INFO_0_DUMMY_SIZE_0_OFFSET })
630#define SPI_DEVICE_CMD_INFO_0_DUMMY_EN_0_BIT 15
631#define SPI_DEVICE_CMD_INFO_0_PAYLOAD_EN_0_MASK 0xfu
632#define SPI_DEVICE_CMD_INFO_0_PAYLOAD_EN_0_OFFSET 16
633#define SPI_DEVICE_CMD_INFO_0_PAYLOAD_EN_0_FIELD \
634 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_0_PAYLOAD_EN_0_MASK, .index = SPI_DEVICE_CMD_INFO_0_PAYLOAD_EN_0_OFFSET })
635#define SPI_DEVICE_CMD_INFO_0_PAYLOAD_DIR_0_BIT 20
636#define SPI_DEVICE_CMD_INFO_0_PAYLOAD_DIR_0_VALUE_PAYLOADIN 0x0
637#define SPI_DEVICE_CMD_INFO_0_PAYLOAD_DIR_0_VALUE_PAYLOADOUT 0x1
638#define SPI_DEVICE_CMD_INFO_0_PAYLOAD_SWAP_EN_0_BIT 21
639#define SPI_DEVICE_CMD_INFO_0_READ_PIPELINE_MODE_0_MASK 0x3u
640#define SPI_DEVICE_CMD_INFO_0_READ_PIPELINE_MODE_0_OFFSET 22
641#define SPI_DEVICE_CMD_INFO_0_READ_PIPELINE_MODE_0_FIELD \
642 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_0_READ_PIPELINE_MODE_0_MASK, .index = SPI_DEVICE_CMD_INFO_0_READ_PIPELINE_MODE_0_OFFSET })
643#define SPI_DEVICE_CMD_INFO_0_READ_PIPELINE_MODE_0_VALUE_ZERO_STAGES 0x0
644#define SPI_DEVICE_CMD_INFO_0_READ_PIPELINE_MODE_0_VALUE_TWO_STAGES_HALF_CYCLE \
645 0x1
646#define SPI_DEVICE_CMD_INFO_0_READ_PIPELINE_MODE_0_VALUE_TWO_STAGES_FULL_CYCLE \
647 0x2
648#define SPI_DEVICE_CMD_INFO_0_UPLOAD_0_BIT 24
649#define SPI_DEVICE_CMD_INFO_0_BUSY_0_BIT 25
650#define SPI_DEVICE_CMD_INFO_0_VALID_0_BIT 31
651
652// Command Information register.
653#define SPI_DEVICE_CMD_INFO_1_REG_OFFSET 0x80
654#define SPI_DEVICE_CMD_INFO_1_REG_RESVAL 0x7000u
655#define SPI_DEVICE_CMD_INFO_1_OPCODE_1_MASK 0xffu
656#define SPI_DEVICE_CMD_INFO_1_OPCODE_1_OFFSET 0
657#define SPI_DEVICE_CMD_INFO_1_OPCODE_1_FIELD \
658 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_1_OPCODE_1_MASK, .index = SPI_DEVICE_CMD_INFO_1_OPCODE_1_OFFSET })
659#define SPI_DEVICE_CMD_INFO_1_ADDR_MODE_1_MASK 0x3u
660#define SPI_DEVICE_CMD_INFO_1_ADDR_MODE_1_OFFSET 8
661#define SPI_DEVICE_CMD_INFO_1_ADDR_MODE_1_FIELD \
662 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_1_ADDR_MODE_1_MASK, .index = SPI_DEVICE_CMD_INFO_1_ADDR_MODE_1_OFFSET })
663#define SPI_DEVICE_CMD_INFO_1_ADDR_SWAP_EN_1_BIT 10
664#define SPI_DEVICE_CMD_INFO_1_MBYTE_EN_1_BIT 11
665#define SPI_DEVICE_CMD_INFO_1_DUMMY_SIZE_1_MASK 0x7u
666#define SPI_DEVICE_CMD_INFO_1_DUMMY_SIZE_1_OFFSET 12
667#define SPI_DEVICE_CMD_INFO_1_DUMMY_SIZE_1_FIELD \
668 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_1_DUMMY_SIZE_1_MASK, .index = SPI_DEVICE_CMD_INFO_1_DUMMY_SIZE_1_OFFSET })
669#define SPI_DEVICE_CMD_INFO_1_DUMMY_EN_1_BIT 15
670#define SPI_DEVICE_CMD_INFO_1_PAYLOAD_EN_1_MASK 0xfu
671#define SPI_DEVICE_CMD_INFO_1_PAYLOAD_EN_1_OFFSET 16
672#define SPI_DEVICE_CMD_INFO_1_PAYLOAD_EN_1_FIELD \
673 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_1_PAYLOAD_EN_1_MASK, .index = SPI_DEVICE_CMD_INFO_1_PAYLOAD_EN_1_OFFSET })
674#define SPI_DEVICE_CMD_INFO_1_PAYLOAD_DIR_1_BIT 20
675#define SPI_DEVICE_CMD_INFO_1_PAYLOAD_SWAP_EN_1_BIT 21
676#define SPI_DEVICE_CMD_INFO_1_READ_PIPELINE_MODE_1_MASK 0x3u
677#define SPI_DEVICE_CMD_INFO_1_READ_PIPELINE_MODE_1_OFFSET 22
678#define SPI_DEVICE_CMD_INFO_1_READ_PIPELINE_MODE_1_FIELD \
679 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_1_READ_PIPELINE_MODE_1_MASK, .index = SPI_DEVICE_CMD_INFO_1_READ_PIPELINE_MODE_1_OFFSET })
680#define SPI_DEVICE_CMD_INFO_1_UPLOAD_1_BIT 24
681#define SPI_DEVICE_CMD_INFO_1_BUSY_1_BIT 25
682#define SPI_DEVICE_CMD_INFO_1_VALID_1_BIT 31
683
684// Command Information register.
685#define SPI_DEVICE_CMD_INFO_2_REG_OFFSET 0x84
686#define SPI_DEVICE_CMD_INFO_2_REG_RESVAL 0x7000u
687#define SPI_DEVICE_CMD_INFO_2_OPCODE_2_MASK 0xffu
688#define SPI_DEVICE_CMD_INFO_2_OPCODE_2_OFFSET 0
689#define SPI_DEVICE_CMD_INFO_2_OPCODE_2_FIELD \
690 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_2_OPCODE_2_MASK, .index = SPI_DEVICE_CMD_INFO_2_OPCODE_2_OFFSET })
691#define SPI_DEVICE_CMD_INFO_2_ADDR_MODE_2_MASK 0x3u
692#define SPI_DEVICE_CMD_INFO_2_ADDR_MODE_2_OFFSET 8
693#define SPI_DEVICE_CMD_INFO_2_ADDR_MODE_2_FIELD \
694 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_2_ADDR_MODE_2_MASK, .index = SPI_DEVICE_CMD_INFO_2_ADDR_MODE_2_OFFSET })
695#define SPI_DEVICE_CMD_INFO_2_ADDR_SWAP_EN_2_BIT 10
696#define SPI_DEVICE_CMD_INFO_2_MBYTE_EN_2_BIT 11
697#define SPI_DEVICE_CMD_INFO_2_DUMMY_SIZE_2_MASK 0x7u
698#define SPI_DEVICE_CMD_INFO_2_DUMMY_SIZE_2_OFFSET 12
699#define SPI_DEVICE_CMD_INFO_2_DUMMY_SIZE_2_FIELD \
700 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_2_DUMMY_SIZE_2_MASK, .index = SPI_DEVICE_CMD_INFO_2_DUMMY_SIZE_2_OFFSET })
701#define SPI_DEVICE_CMD_INFO_2_DUMMY_EN_2_BIT 15
702#define SPI_DEVICE_CMD_INFO_2_PAYLOAD_EN_2_MASK 0xfu
703#define SPI_DEVICE_CMD_INFO_2_PAYLOAD_EN_2_OFFSET 16
704#define SPI_DEVICE_CMD_INFO_2_PAYLOAD_EN_2_FIELD \
705 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_2_PAYLOAD_EN_2_MASK, .index = SPI_DEVICE_CMD_INFO_2_PAYLOAD_EN_2_OFFSET })
706#define SPI_DEVICE_CMD_INFO_2_PAYLOAD_DIR_2_BIT 20
707#define SPI_DEVICE_CMD_INFO_2_PAYLOAD_SWAP_EN_2_BIT 21
708#define SPI_DEVICE_CMD_INFO_2_READ_PIPELINE_MODE_2_MASK 0x3u
709#define SPI_DEVICE_CMD_INFO_2_READ_PIPELINE_MODE_2_OFFSET 22
710#define SPI_DEVICE_CMD_INFO_2_READ_PIPELINE_MODE_2_FIELD \
711 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_2_READ_PIPELINE_MODE_2_MASK, .index = SPI_DEVICE_CMD_INFO_2_READ_PIPELINE_MODE_2_OFFSET })
712#define SPI_DEVICE_CMD_INFO_2_UPLOAD_2_BIT 24
713#define SPI_DEVICE_CMD_INFO_2_BUSY_2_BIT 25
714#define SPI_DEVICE_CMD_INFO_2_VALID_2_BIT 31
715
716// Command Information register.
717#define SPI_DEVICE_CMD_INFO_3_REG_OFFSET 0x88
718#define SPI_DEVICE_CMD_INFO_3_REG_RESVAL 0x7000u
719#define SPI_DEVICE_CMD_INFO_3_OPCODE_3_MASK 0xffu
720#define SPI_DEVICE_CMD_INFO_3_OPCODE_3_OFFSET 0
721#define SPI_DEVICE_CMD_INFO_3_OPCODE_3_FIELD \
722 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_3_OPCODE_3_MASK, .index = SPI_DEVICE_CMD_INFO_3_OPCODE_3_OFFSET })
723#define SPI_DEVICE_CMD_INFO_3_ADDR_MODE_3_MASK 0x3u
724#define SPI_DEVICE_CMD_INFO_3_ADDR_MODE_3_OFFSET 8
725#define SPI_DEVICE_CMD_INFO_3_ADDR_MODE_3_FIELD \
726 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_3_ADDR_MODE_3_MASK, .index = SPI_DEVICE_CMD_INFO_3_ADDR_MODE_3_OFFSET })
727#define SPI_DEVICE_CMD_INFO_3_ADDR_SWAP_EN_3_BIT 10
728#define SPI_DEVICE_CMD_INFO_3_MBYTE_EN_3_BIT 11
729#define SPI_DEVICE_CMD_INFO_3_DUMMY_SIZE_3_MASK 0x7u
730#define SPI_DEVICE_CMD_INFO_3_DUMMY_SIZE_3_OFFSET 12
731#define SPI_DEVICE_CMD_INFO_3_DUMMY_SIZE_3_FIELD \
732 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_3_DUMMY_SIZE_3_MASK, .index = SPI_DEVICE_CMD_INFO_3_DUMMY_SIZE_3_OFFSET })
733#define SPI_DEVICE_CMD_INFO_3_DUMMY_EN_3_BIT 15
734#define SPI_DEVICE_CMD_INFO_3_PAYLOAD_EN_3_MASK 0xfu
735#define SPI_DEVICE_CMD_INFO_3_PAYLOAD_EN_3_OFFSET 16
736#define SPI_DEVICE_CMD_INFO_3_PAYLOAD_EN_3_FIELD \
737 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_3_PAYLOAD_EN_3_MASK, .index = SPI_DEVICE_CMD_INFO_3_PAYLOAD_EN_3_OFFSET })
738#define SPI_DEVICE_CMD_INFO_3_PAYLOAD_DIR_3_BIT 20
739#define SPI_DEVICE_CMD_INFO_3_PAYLOAD_SWAP_EN_3_BIT 21
740#define SPI_DEVICE_CMD_INFO_3_READ_PIPELINE_MODE_3_MASK 0x3u
741#define SPI_DEVICE_CMD_INFO_3_READ_PIPELINE_MODE_3_OFFSET 22
742#define SPI_DEVICE_CMD_INFO_3_READ_PIPELINE_MODE_3_FIELD \
743 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_3_READ_PIPELINE_MODE_3_MASK, .index = SPI_DEVICE_CMD_INFO_3_READ_PIPELINE_MODE_3_OFFSET })
744#define SPI_DEVICE_CMD_INFO_3_UPLOAD_3_BIT 24
745#define SPI_DEVICE_CMD_INFO_3_BUSY_3_BIT 25
746#define SPI_DEVICE_CMD_INFO_3_VALID_3_BIT 31
747
748// Command Information register.
749#define SPI_DEVICE_CMD_INFO_4_REG_OFFSET 0x8c
750#define SPI_DEVICE_CMD_INFO_4_REG_RESVAL 0x7000u
751#define SPI_DEVICE_CMD_INFO_4_OPCODE_4_MASK 0xffu
752#define SPI_DEVICE_CMD_INFO_4_OPCODE_4_OFFSET 0
753#define SPI_DEVICE_CMD_INFO_4_OPCODE_4_FIELD \
754 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_4_OPCODE_4_MASK, .index = SPI_DEVICE_CMD_INFO_4_OPCODE_4_OFFSET })
755#define SPI_DEVICE_CMD_INFO_4_ADDR_MODE_4_MASK 0x3u
756#define SPI_DEVICE_CMD_INFO_4_ADDR_MODE_4_OFFSET 8
757#define SPI_DEVICE_CMD_INFO_4_ADDR_MODE_4_FIELD \
758 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_4_ADDR_MODE_4_MASK, .index = SPI_DEVICE_CMD_INFO_4_ADDR_MODE_4_OFFSET })
759#define SPI_DEVICE_CMD_INFO_4_ADDR_SWAP_EN_4_BIT 10
760#define SPI_DEVICE_CMD_INFO_4_MBYTE_EN_4_BIT 11
761#define SPI_DEVICE_CMD_INFO_4_DUMMY_SIZE_4_MASK 0x7u
762#define SPI_DEVICE_CMD_INFO_4_DUMMY_SIZE_4_OFFSET 12
763#define SPI_DEVICE_CMD_INFO_4_DUMMY_SIZE_4_FIELD \
764 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_4_DUMMY_SIZE_4_MASK, .index = SPI_DEVICE_CMD_INFO_4_DUMMY_SIZE_4_OFFSET })
765#define SPI_DEVICE_CMD_INFO_4_DUMMY_EN_4_BIT 15
766#define SPI_DEVICE_CMD_INFO_4_PAYLOAD_EN_4_MASK 0xfu
767#define SPI_DEVICE_CMD_INFO_4_PAYLOAD_EN_4_OFFSET 16
768#define SPI_DEVICE_CMD_INFO_4_PAYLOAD_EN_4_FIELD \
769 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_4_PAYLOAD_EN_4_MASK, .index = SPI_DEVICE_CMD_INFO_4_PAYLOAD_EN_4_OFFSET })
770#define SPI_DEVICE_CMD_INFO_4_PAYLOAD_DIR_4_BIT 20
771#define SPI_DEVICE_CMD_INFO_4_PAYLOAD_SWAP_EN_4_BIT 21
772#define SPI_DEVICE_CMD_INFO_4_READ_PIPELINE_MODE_4_MASK 0x3u
773#define SPI_DEVICE_CMD_INFO_4_READ_PIPELINE_MODE_4_OFFSET 22
774#define SPI_DEVICE_CMD_INFO_4_READ_PIPELINE_MODE_4_FIELD \
775 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_4_READ_PIPELINE_MODE_4_MASK, .index = SPI_DEVICE_CMD_INFO_4_READ_PIPELINE_MODE_4_OFFSET })
776#define SPI_DEVICE_CMD_INFO_4_UPLOAD_4_BIT 24
777#define SPI_DEVICE_CMD_INFO_4_BUSY_4_BIT 25
778#define SPI_DEVICE_CMD_INFO_4_VALID_4_BIT 31
779
780// Command Information register.
781#define SPI_DEVICE_CMD_INFO_5_REG_OFFSET 0x90
782#define SPI_DEVICE_CMD_INFO_5_REG_RESVAL 0x7000u
783#define SPI_DEVICE_CMD_INFO_5_OPCODE_5_MASK 0xffu
784#define SPI_DEVICE_CMD_INFO_5_OPCODE_5_OFFSET 0
785#define SPI_DEVICE_CMD_INFO_5_OPCODE_5_FIELD \
786 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_5_OPCODE_5_MASK, .index = SPI_DEVICE_CMD_INFO_5_OPCODE_5_OFFSET })
787#define SPI_DEVICE_CMD_INFO_5_ADDR_MODE_5_MASK 0x3u
788#define SPI_DEVICE_CMD_INFO_5_ADDR_MODE_5_OFFSET 8
789#define SPI_DEVICE_CMD_INFO_5_ADDR_MODE_5_FIELD \
790 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_5_ADDR_MODE_5_MASK, .index = SPI_DEVICE_CMD_INFO_5_ADDR_MODE_5_OFFSET })
791#define SPI_DEVICE_CMD_INFO_5_ADDR_SWAP_EN_5_BIT 10
792#define SPI_DEVICE_CMD_INFO_5_MBYTE_EN_5_BIT 11
793#define SPI_DEVICE_CMD_INFO_5_DUMMY_SIZE_5_MASK 0x7u
794#define SPI_DEVICE_CMD_INFO_5_DUMMY_SIZE_5_OFFSET 12
795#define SPI_DEVICE_CMD_INFO_5_DUMMY_SIZE_5_FIELD \
796 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_5_DUMMY_SIZE_5_MASK, .index = SPI_DEVICE_CMD_INFO_5_DUMMY_SIZE_5_OFFSET })
797#define SPI_DEVICE_CMD_INFO_5_DUMMY_EN_5_BIT 15
798#define SPI_DEVICE_CMD_INFO_5_PAYLOAD_EN_5_MASK 0xfu
799#define SPI_DEVICE_CMD_INFO_5_PAYLOAD_EN_5_OFFSET 16
800#define SPI_DEVICE_CMD_INFO_5_PAYLOAD_EN_5_FIELD \
801 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_5_PAYLOAD_EN_5_MASK, .index = SPI_DEVICE_CMD_INFO_5_PAYLOAD_EN_5_OFFSET })
802#define SPI_DEVICE_CMD_INFO_5_PAYLOAD_DIR_5_BIT 20
803#define SPI_DEVICE_CMD_INFO_5_PAYLOAD_SWAP_EN_5_BIT 21
804#define SPI_DEVICE_CMD_INFO_5_READ_PIPELINE_MODE_5_MASK 0x3u
805#define SPI_DEVICE_CMD_INFO_5_READ_PIPELINE_MODE_5_OFFSET 22
806#define SPI_DEVICE_CMD_INFO_5_READ_PIPELINE_MODE_5_FIELD \
807 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_5_READ_PIPELINE_MODE_5_MASK, .index = SPI_DEVICE_CMD_INFO_5_READ_PIPELINE_MODE_5_OFFSET })
808#define SPI_DEVICE_CMD_INFO_5_UPLOAD_5_BIT 24
809#define SPI_DEVICE_CMD_INFO_5_BUSY_5_BIT 25
810#define SPI_DEVICE_CMD_INFO_5_VALID_5_BIT 31
811
812// Command Information register.
813#define SPI_DEVICE_CMD_INFO_6_REG_OFFSET 0x94
814#define SPI_DEVICE_CMD_INFO_6_REG_RESVAL 0x7000u
815#define SPI_DEVICE_CMD_INFO_6_OPCODE_6_MASK 0xffu
816#define SPI_DEVICE_CMD_INFO_6_OPCODE_6_OFFSET 0
817#define SPI_DEVICE_CMD_INFO_6_OPCODE_6_FIELD \
818 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_6_OPCODE_6_MASK, .index = SPI_DEVICE_CMD_INFO_6_OPCODE_6_OFFSET })
819#define SPI_DEVICE_CMD_INFO_6_ADDR_MODE_6_MASK 0x3u
820#define SPI_DEVICE_CMD_INFO_6_ADDR_MODE_6_OFFSET 8
821#define SPI_DEVICE_CMD_INFO_6_ADDR_MODE_6_FIELD \
822 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_6_ADDR_MODE_6_MASK, .index = SPI_DEVICE_CMD_INFO_6_ADDR_MODE_6_OFFSET })
823#define SPI_DEVICE_CMD_INFO_6_ADDR_SWAP_EN_6_BIT 10
824#define SPI_DEVICE_CMD_INFO_6_MBYTE_EN_6_BIT 11
825#define SPI_DEVICE_CMD_INFO_6_DUMMY_SIZE_6_MASK 0x7u
826#define SPI_DEVICE_CMD_INFO_6_DUMMY_SIZE_6_OFFSET 12
827#define SPI_DEVICE_CMD_INFO_6_DUMMY_SIZE_6_FIELD \
828 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_6_DUMMY_SIZE_6_MASK, .index = SPI_DEVICE_CMD_INFO_6_DUMMY_SIZE_6_OFFSET })
829#define SPI_DEVICE_CMD_INFO_6_DUMMY_EN_6_BIT 15
830#define SPI_DEVICE_CMD_INFO_6_PAYLOAD_EN_6_MASK 0xfu
831#define SPI_DEVICE_CMD_INFO_6_PAYLOAD_EN_6_OFFSET 16
832#define SPI_DEVICE_CMD_INFO_6_PAYLOAD_EN_6_FIELD \
833 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_6_PAYLOAD_EN_6_MASK, .index = SPI_DEVICE_CMD_INFO_6_PAYLOAD_EN_6_OFFSET })
834#define SPI_DEVICE_CMD_INFO_6_PAYLOAD_DIR_6_BIT 20
835#define SPI_DEVICE_CMD_INFO_6_PAYLOAD_SWAP_EN_6_BIT 21
836#define SPI_DEVICE_CMD_INFO_6_READ_PIPELINE_MODE_6_MASK 0x3u
837#define SPI_DEVICE_CMD_INFO_6_READ_PIPELINE_MODE_6_OFFSET 22
838#define SPI_DEVICE_CMD_INFO_6_READ_PIPELINE_MODE_6_FIELD \
839 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_6_READ_PIPELINE_MODE_6_MASK, .index = SPI_DEVICE_CMD_INFO_6_READ_PIPELINE_MODE_6_OFFSET })
840#define SPI_DEVICE_CMD_INFO_6_UPLOAD_6_BIT 24
841#define SPI_DEVICE_CMD_INFO_6_BUSY_6_BIT 25
842#define SPI_DEVICE_CMD_INFO_6_VALID_6_BIT 31
843
844// Command Information register.
845#define SPI_DEVICE_CMD_INFO_7_REG_OFFSET 0x98
846#define SPI_DEVICE_CMD_INFO_7_REG_RESVAL 0x7000u
847#define SPI_DEVICE_CMD_INFO_7_OPCODE_7_MASK 0xffu
848#define SPI_DEVICE_CMD_INFO_7_OPCODE_7_OFFSET 0
849#define SPI_DEVICE_CMD_INFO_7_OPCODE_7_FIELD \
850 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_7_OPCODE_7_MASK, .index = SPI_DEVICE_CMD_INFO_7_OPCODE_7_OFFSET })
851#define SPI_DEVICE_CMD_INFO_7_ADDR_MODE_7_MASK 0x3u
852#define SPI_DEVICE_CMD_INFO_7_ADDR_MODE_7_OFFSET 8
853#define SPI_DEVICE_CMD_INFO_7_ADDR_MODE_7_FIELD \
854 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_7_ADDR_MODE_7_MASK, .index = SPI_DEVICE_CMD_INFO_7_ADDR_MODE_7_OFFSET })
855#define SPI_DEVICE_CMD_INFO_7_ADDR_SWAP_EN_7_BIT 10
856#define SPI_DEVICE_CMD_INFO_7_MBYTE_EN_7_BIT 11
857#define SPI_DEVICE_CMD_INFO_7_DUMMY_SIZE_7_MASK 0x7u
858#define SPI_DEVICE_CMD_INFO_7_DUMMY_SIZE_7_OFFSET 12
859#define SPI_DEVICE_CMD_INFO_7_DUMMY_SIZE_7_FIELD \
860 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_7_DUMMY_SIZE_7_MASK, .index = SPI_DEVICE_CMD_INFO_7_DUMMY_SIZE_7_OFFSET })
861#define SPI_DEVICE_CMD_INFO_7_DUMMY_EN_7_BIT 15
862#define SPI_DEVICE_CMD_INFO_7_PAYLOAD_EN_7_MASK 0xfu
863#define SPI_DEVICE_CMD_INFO_7_PAYLOAD_EN_7_OFFSET 16
864#define SPI_DEVICE_CMD_INFO_7_PAYLOAD_EN_7_FIELD \
865 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_7_PAYLOAD_EN_7_MASK, .index = SPI_DEVICE_CMD_INFO_7_PAYLOAD_EN_7_OFFSET })
866#define SPI_DEVICE_CMD_INFO_7_PAYLOAD_DIR_7_BIT 20
867#define SPI_DEVICE_CMD_INFO_7_PAYLOAD_SWAP_EN_7_BIT 21
868#define SPI_DEVICE_CMD_INFO_7_READ_PIPELINE_MODE_7_MASK 0x3u
869#define SPI_DEVICE_CMD_INFO_7_READ_PIPELINE_MODE_7_OFFSET 22
870#define SPI_DEVICE_CMD_INFO_7_READ_PIPELINE_MODE_7_FIELD \
871 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_7_READ_PIPELINE_MODE_7_MASK, .index = SPI_DEVICE_CMD_INFO_7_READ_PIPELINE_MODE_7_OFFSET })
872#define SPI_DEVICE_CMD_INFO_7_UPLOAD_7_BIT 24
873#define SPI_DEVICE_CMD_INFO_7_BUSY_7_BIT 25
874#define SPI_DEVICE_CMD_INFO_7_VALID_7_BIT 31
875
876// Command Information register.
877#define SPI_DEVICE_CMD_INFO_8_REG_OFFSET 0x9c
878#define SPI_DEVICE_CMD_INFO_8_REG_RESVAL 0x7000u
879#define SPI_DEVICE_CMD_INFO_8_OPCODE_8_MASK 0xffu
880#define SPI_DEVICE_CMD_INFO_8_OPCODE_8_OFFSET 0
881#define SPI_DEVICE_CMD_INFO_8_OPCODE_8_FIELD \
882 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_8_OPCODE_8_MASK, .index = SPI_DEVICE_CMD_INFO_8_OPCODE_8_OFFSET })
883#define SPI_DEVICE_CMD_INFO_8_ADDR_MODE_8_MASK 0x3u
884#define SPI_DEVICE_CMD_INFO_8_ADDR_MODE_8_OFFSET 8
885#define SPI_DEVICE_CMD_INFO_8_ADDR_MODE_8_FIELD \
886 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_8_ADDR_MODE_8_MASK, .index = SPI_DEVICE_CMD_INFO_8_ADDR_MODE_8_OFFSET })
887#define SPI_DEVICE_CMD_INFO_8_ADDR_SWAP_EN_8_BIT 10
888#define SPI_DEVICE_CMD_INFO_8_MBYTE_EN_8_BIT 11
889#define SPI_DEVICE_CMD_INFO_8_DUMMY_SIZE_8_MASK 0x7u
890#define SPI_DEVICE_CMD_INFO_8_DUMMY_SIZE_8_OFFSET 12
891#define SPI_DEVICE_CMD_INFO_8_DUMMY_SIZE_8_FIELD \
892 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_8_DUMMY_SIZE_8_MASK, .index = SPI_DEVICE_CMD_INFO_8_DUMMY_SIZE_8_OFFSET })
893#define SPI_DEVICE_CMD_INFO_8_DUMMY_EN_8_BIT 15
894#define SPI_DEVICE_CMD_INFO_8_PAYLOAD_EN_8_MASK 0xfu
895#define SPI_DEVICE_CMD_INFO_8_PAYLOAD_EN_8_OFFSET 16
896#define SPI_DEVICE_CMD_INFO_8_PAYLOAD_EN_8_FIELD \
897 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_8_PAYLOAD_EN_8_MASK, .index = SPI_DEVICE_CMD_INFO_8_PAYLOAD_EN_8_OFFSET })
898#define SPI_DEVICE_CMD_INFO_8_PAYLOAD_DIR_8_BIT 20
899#define SPI_DEVICE_CMD_INFO_8_PAYLOAD_SWAP_EN_8_BIT 21
900#define SPI_DEVICE_CMD_INFO_8_READ_PIPELINE_MODE_8_MASK 0x3u
901#define SPI_DEVICE_CMD_INFO_8_READ_PIPELINE_MODE_8_OFFSET 22
902#define SPI_DEVICE_CMD_INFO_8_READ_PIPELINE_MODE_8_FIELD \
903 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_8_READ_PIPELINE_MODE_8_MASK, .index = SPI_DEVICE_CMD_INFO_8_READ_PIPELINE_MODE_8_OFFSET })
904#define SPI_DEVICE_CMD_INFO_8_UPLOAD_8_BIT 24
905#define SPI_DEVICE_CMD_INFO_8_BUSY_8_BIT 25
906#define SPI_DEVICE_CMD_INFO_8_VALID_8_BIT 31
907
908// Command Information register.
909#define SPI_DEVICE_CMD_INFO_9_REG_OFFSET 0xa0
910#define SPI_DEVICE_CMD_INFO_9_REG_RESVAL 0x7000u
911#define SPI_DEVICE_CMD_INFO_9_OPCODE_9_MASK 0xffu
912#define SPI_DEVICE_CMD_INFO_9_OPCODE_9_OFFSET 0
913#define SPI_DEVICE_CMD_INFO_9_OPCODE_9_FIELD \
914 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_9_OPCODE_9_MASK, .index = SPI_DEVICE_CMD_INFO_9_OPCODE_9_OFFSET })
915#define SPI_DEVICE_CMD_INFO_9_ADDR_MODE_9_MASK 0x3u
916#define SPI_DEVICE_CMD_INFO_9_ADDR_MODE_9_OFFSET 8
917#define SPI_DEVICE_CMD_INFO_9_ADDR_MODE_9_FIELD \
918 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_9_ADDR_MODE_9_MASK, .index = SPI_DEVICE_CMD_INFO_9_ADDR_MODE_9_OFFSET })
919#define SPI_DEVICE_CMD_INFO_9_ADDR_SWAP_EN_9_BIT 10
920#define SPI_DEVICE_CMD_INFO_9_MBYTE_EN_9_BIT 11
921#define SPI_DEVICE_CMD_INFO_9_DUMMY_SIZE_9_MASK 0x7u
922#define SPI_DEVICE_CMD_INFO_9_DUMMY_SIZE_9_OFFSET 12
923#define SPI_DEVICE_CMD_INFO_9_DUMMY_SIZE_9_FIELD \
924 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_9_DUMMY_SIZE_9_MASK, .index = SPI_DEVICE_CMD_INFO_9_DUMMY_SIZE_9_OFFSET })
925#define SPI_DEVICE_CMD_INFO_9_DUMMY_EN_9_BIT 15
926#define SPI_DEVICE_CMD_INFO_9_PAYLOAD_EN_9_MASK 0xfu
927#define SPI_DEVICE_CMD_INFO_9_PAYLOAD_EN_9_OFFSET 16
928#define SPI_DEVICE_CMD_INFO_9_PAYLOAD_EN_9_FIELD \
929 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_9_PAYLOAD_EN_9_MASK, .index = SPI_DEVICE_CMD_INFO_9_PAYLOAD_EN_9_OFFSET })
930#define SPI_DEVICE_CMD_INFO_9_PAYLOAD_DIR_9_BIT 20
931#define SPI_DEVICE_CMD_INFO_9_PAYLOAD_SWAP_EN_9_BIT 21
932#define SPI_DEVICE_CMD_INFO_9_READ_PIPELINE_MODE_9_MASK 0x3u
933#define SPI_DEVICE_CMD_INFO_9_READ_PIPELINE_MODE_9_OFFSET 22
934#define SPI_DEVICE_CMD_INFO_9_READ_PIPELINE_MODE_9_FIELD \
935 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_9_READ_PIPELINE_MODE_9_MASK, .index = SPI_DEVICE_CMD_INFO_9_READ_PIPELINE_MODE_9_OFFSET })
936#define SPI_DEVICE_CMD_INFO_9_UPLOAD_9_BIT 24
937#define SPI_DEVICE_CMD_INFO_9_BUSY_9_BIT 25
938#define SPI_DEVICE_CMD_INFO_9_VALID_9_BIT 31
939
940// Command Information register.
941#define SPI_DEVICE_CMD_INFO_10_REG_OFFSET 0xa4
942#define SPI_DEVICE_CMD_INFO_10_REG_RESVAL 0x7000u
943#define SPI_DEVICE_CMD_INFO_10_OPCODE_10_MASK 0xffu
944#define SPI_DEVICE_CMD_INFO_10_OPCODE_10_OFFSET 0
945#define SPI_DEVICE_CMD_INFO_10_OPCODE_10_FIELD \
946 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_10_OPCODE_10_MASK, .index = SPI_DEVICE_CMD_INFO_10_OPCODE_10_OFFSET })
947#define SPI_DEVICE_CMD_INFO_10_ADDR_MODE_10_MASK 0x3u
948#define SPI_DEVICE_CMD_INFO_10_ADDR_MODE_10_OFFSET 8
949#define SPI_DEVICE_CMD_INFO_10_ADDR_MODE_10_FIELD \
950 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_10_ADDR_MODE_10_MASK, .index = SPI_DEVICE_CMD_INFO_10_ADDR_MODE_10_OFFSET })
951#define SPI_DEVICE_CMD_INFO_10_ADDR_SWAP_EN_10_BIT 10
952#define SPI_DEVICE_CMD_INFO_10_MBYTE_EN_10_BIT 11
953#define SPI_DEVICE_CMD_INFO_10_DUMMY_SIZE_10_MASK 0x7u
954#define SPI_DEVICE_CMD_INFO_10_DUMMY_SIZE_10_OFFSET 12
955#define SPI_DEVICE_CMD_INFO_10_DUMMY_SIZE_10_FIELD \
956 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_10_DUMMY_SIZE_10_MASK, .index = SPI_DEVICE_CMD_INFO_10_DUMMY_SIZE_10_OFFSET })
957#define SPI_DEVICE_CMD_INFO_10_DUMMY_EN_10_BIT 15
958#define SPI_DEVICE_CMD_INFO_10_PAYLOAD_EN_10_MASK 0xfu
959#define SPI_DEVICE_CMD_INFO_10_PAYLOAD_EN_10_OFFSET 16
960#define SPI_DEVICE_CMD_INFO_10_PAYLOAD_EN_10_FIELD \
961 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_10_PAYLOAD_EN_10_MASK, .index = SPI_DEVICE_CMD_INFO_10_PAYLOAD_EN_10_OFFSET })
962#define SPI_DEVICE_CMD_INFO_10_PAYLOAD_DIR_10_BIT 20
963#define SPI_DEVICE_CMD_INFO_10_PAYLOAD_SWAP_EN_10_BIT 21
964#define SPI_DEVICE_CMD_INFO_10_READ_PIPELINE_MODE_10_MASK 0x3u
965#define SPI_DEVICE_CMD_INFO_10_READ_PIPELINE_MODE_10_OFFSET 22
966#define SPI_DEVICE_CMD_INFO_10_READ_PIPELINE_MODE_10_FIELD \
967 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_10_READ_PIPELINE_MODE_10_MASK, .index = SPI_DEVICE_CMD_INFO_10_READ_PIPELINE_MODE_10_OFFSET })
968#define SPI_DEVICE_CMD_INFO_10_UPLOAD_10_BIT 24
969#define SPI_DEVICE_CMD_INFO_10_BUSY_10_BIT 25
970#define SPI_DEVICE_CMD_INFO_10_VALID_10_BIT 31
971
972// Command Information register.
973#define SPI_DEVICE_CMD_INFO_11_REG_OFFSET 0xa8
974#define SPI_DEVICE_CMD_INFO_11_REG_RESVAL 0x7000u
975#define SPI_DEVICE_CMD_INFO_11_OPCODE_11_MASK 0xffu
976#define SPI_DEVICE_CMD_INFO_11_OPCODE_11_OFFSET 0
977#define SPI_DEVICE_CMD_INFO_11_OPCODE_11_FIELD \
978 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_11_OPCODE_11_MASK, .index = SPI_DEVICE_CMD_INFO_11_OPCODE_11_OFFSET })
979#define SPI_DEVICE_CMD_INFO_11_ADDR_MODE_11_MASK 0x3u
980#define SPI_DEVICE_CMD_INFO_11_ADDR_MODE_11_OFFSET 8
981#define SPI_DEVICE_CMD_INFO_11_ADDR_MODE_11_FIELD \
982 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_11_ADDR_MODE_11_MASK, .index = SPI_DEVICE_CMD_INFO_11_ADDR_MODE_11_OFFSET })
983#define SPI_DEVICE_CMD_INFO_11_ADDR_SWAP_EN_11_BIT 10
984#define SPI_DEVICE_CMD_INFO_11_MBYTE_EN_11_BIT 11
985#define SPI_DEVICE_CMD_INFO_11_DUMMY_SIZE_11_MASK 0x7u
986#define SPI_DEVICE_CMD_INFO_11_DUMMY_SIZE_11_OFFSET 12
987#define SPI_DEVICE_CMD_INFO_11_DUMMY_SIZE_11_FIELD \
988 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_11_DUMMY_SIZE_11_MASK, .index = SPI_DEVICE_CMD_INFO_11_DUMMY_SIZE_11_OFFSET })
989#define SPI_DEVICE_CMD_INFO_11_DUMMY_EN_11_BIT 15
990#define SPI_DEVICE_CMD_INFO_11_PAYLOAD_EN_11_MASK 0xfu
991#define SPI_DEVICE_CMD_INFO_11_PAYLOAD_EN_11_OFFSET 16
992#define SPI_DEVICE_CMD_INFO_11_PAYLOAD_EN_11_FIELD \
993 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_11_PAYLOAD_EN_11_MASK, .index = SPI_DEVICE_CMD_INFO_11_PAYLOAD_EN_11_OFFSET })
994#define SPI_DEVICE_CMD_INFO_11_PAYLOAD_DIR_11_BIT 20
995#define SPI_DEVICE_CMD_INFO_11_PAYLOAD_SWAP_EN_11_BIT 21
996#define SPI_DEVICE_CMD_INFO_11_READ_PIPELINE_MODE_11_MASK 0x3u
997#define SPI_DEVICE_CMD_INFO_11_READ_PIPELINE_MODE_11_OFFSET 22
998#define SPI_DEVICE_CMD_INFO_11_READ_PIPELINE_MODE_11_FIELD \
999 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_11_READ_PIPELINE_MODE_11_MASK, .index = SPI_DEVICE_CMD_INFO_11_READ_PIPELINE_MODE_11_OFFSET })
1000#define SPI_DEVICE_CMD_INFO_11_UPLOAD_11_BIT 24
1001#define SPI_DEVICE_CMD_INFO_11_BUSY_11_BIT 25
1002#define SPI_DEVICE_CMD_INFO_11_VALID_11_BIT 31
1003
1004// Command Information register.
1005#define SPI_DEVICE_CMD_INFO_12_REG_OFFSET 0xac
1006#define SPI_DEVICE_CMD_INFO_12_REG_RESVAL 0x7000u
1007#define SPI_DEVICE_CMD_INFO_12_OPCODE_12_MASK 0xffu
1008#define SPI_DEVICE_CMD_INFO_12_OPCODE_12_OFFSET 0
1009#define SPI_DEVICE_CMD_INFO_12_OPCODE_12_FIELD \
1010 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_12_OPCODE_12_MASK, .index = SPI_DEVICE_CMD_INFO_12_OPCODE_12_OFFSET })
1011#define SPI_DEVICE_CMD_INFO_12_ADDR_MODE_12_MASK 0x3u
1012#define SPI_DEVICE_CMD_INFO_12_ADDR_MODE_12_OFFSET 8
1013#define SPI_DEVICE_CMD_INFO_12_ADDR_MODE_12_FIELD \
1014 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_12_ADDR_MODE_12_MASK, .index = SPI_DEVICE_CMD_INFO_12_ADDR_MODE_12_OFFSET })
1015#define SPI_DEVICE_CMD_INFO_12_ADDR_SWAP_EN_12_BIT 10
1016#define SPI_DEVICE_CMD_INFO_12_MBYTE_EN_12_BIT 11
1017#define SPI_DEVICE_CMD_INFO_12_DUMMY_SIZE_12_MASK 0x7u
1018#define SPI_DEVICE_CMD_INFO_12_DUMMY_SIZE_12_OFFSET 12
1019#define SPI_DEVICE_CMD_INFO_12_DUMMY_SIZE_12_FIELD \
1020 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_12_DUMMY_SIZE_12_MASK, .index = SPI_DEVICE_CMD_INFO_12_DUMMY_SIZE_12_OFFSET })
1021#define SPI_DEVICE_CMD_INFO_12_DUMMY_EN_12_BIT 15
1022#define SPI_DEVICE_CMD_INFO_12_PAYLOAD_EN_12_MASK 0xfu
1023#define SPI_DEVICE_CMD_INFO_12_PAYLOAD_EN_12_OFFSET 16
1024#define SPI_DEVICE_CMD_INFO_12_PAYLOAD_EN_12_FIELD \
1025 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_12_PAYLOAD_EN_12_MASK, .index = SPI_DEVICE_CMD_INFO_12_PAYLOAD_EN_12_OFFSET })
1026#define SPI_DEVICE_CMD_INFO_12_PAYLOAD_DIR_12_BIT 20
1027#define SPI_DEVICE_CMD_INFO_12_PAYLOAD_SWAP_EN_12_BIT 21
1028#define SPI_DEVICE_CMD_INFO_12_READ_PIPELINE_MODE_12_MASK 0x3u
1029#define SPI_DEVICE_CMD_INFO_12_READ_PIPELINE_MODE_12_OFFSET 22
1030#define SPI_DEVICE_CMD_INFO_12_READ_PIPELINE_MODE_12_FIELD \
1031 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_12_READ_PIPELINE_MODE_12_MASK, .index = SPI_DEVICE_CMD_INFO_12_READ_PIPELINE_MODE_12_OFFSET })
1032#define SPI_DEVICE_CMD_INFO_12_UPLOAD_12_BIT 24
1033#define SPI_DEVICE_CMD_INFO_12_BUSY_12_BIT 25
1034#define SPI_DEVICE_CMD_INFO_12_VALID_12_BIT 31
1035
1036// Command Information register.
1037#define SPI_DEVICE_CMD_INFO_13_REG_OFFSET 0xb0
1038#define SPI_DEVICE_CMD_INFO_13_REG_RESVAL 0x7000u
1039#define SPI_DEVICE_CMD_INFO_13_OPCODE_13_MASK 0xffu
1040#define SPI_DEVICE_CMD_INFO_13_OPCODE_13_OFFSET 0
1041#define SPI_DEVICE_CMD_INFO_13_OPCODE_13_FIELD \
1042 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_13_OPCODE_13_MASK, .index = SPI_DEVICE_CMD_INFO_13_OPCODE_13_OFFSET })
1043#define SPI_DEVICE_CMD_INFO_13_ADDR_MODE_13_MASK 0x3u
1044#define SPI_DEVICE_CMD_INFO_13_ADDR_MODE_13_OFFSET 8
1045#define SPI_DEVICE_CMD_INFO_13_ADDR_MODE_13_FIELD \
1046 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_13_ADDR_MODE_13_MASK, .index = SPI_DEVICE_CMD_INFO_13_ADDR_MODE_13_OFFSET })
1047#define SPI_DEVICE_CMD_INFO_13_ADDR_SWAP_EN_13_BIT 10
1048#define SPI_DEVICE_CMD_INFO_13_MBYTE_EN_13_BIT 11
1049#define SPI_DEVICE_CMD_INFO_13_DUMMY_SIZE_13_MASK 0x7u
1050#define SPI_DEVICE_CMD_INFO_13_DUMMY_SIZE_13_OFFSET 12
1051#define SPI_DEVICE_CMD_INFO_13_DUMMY_SIZE_13_FIELD \
1052 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_13_DUMMY_SIZE_13_MASK, .index = SPI_DEVICE_CMD_INFO_13_DUMMY_SIZE_13_OFFSET })
1053#define SPI_DEVICE_CMD_INFO_13_DUMMY_EN_13_BIT 15
1054#define SPI_DEVICE_CMD_INFO_13_PAYLOAD_EN_13_MASK 0xfu
1055#define SPI_DEVICE_CMD_INFO_13_PAYLOAD_EN_13_OFFSET 16
1056#define SPI_DEVICE_CMD_INFO_13_PAYLOAD_EN_13_FIELD \
1057 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_13_PAYLOAD_EN_13_MASK, .index = SPI_DEVICE_CMD_INFO_13_PAYLOAD_EN_13_OFFSET })
1058#define SPI_DEVICE_CMD_INFO_13_PAYLOAD_DIR_13_BIT 20
1059#define SPI_DEVICE_CMD_INFO_13_PAYLOAD_SWAP_EN_13_BIT 21
1060#define SPI_DEVICE_CMD_INFO_13_READ_PIPELINE_MODE_13_MASK 0x3u
1061#define SPI_DEVICE_CMD_INFO_13_READ_PIPELINE_MODE_13_OFFSET 22
1062#define SPI_DEVICE_CMD_INFO_13_READ_PIPELINE_MODE_13_FIELD \
1063 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_13_READ_PIPELINE_MODE_13_MASK, .index = SPI_DEVICE_CMD_INFO_13_READ_PIPELINE_MODE_13_OFFSET })
1064#define SPI_DEVICE_CMD_INFO_13_UPLOAD_13_BIT 24
1065#define SPI_DEVICE_CMD_INFO_13_BUSY_13_BIT 25
1066#define SPI_DEVICE_CMD_INFO_13_VALID_13_BIT 31
1067
1068// Command Information register.
1069#define SPI_DEVICE_CMD_INFO_14_REG_OFFSET 0xb4
1070#define SPI_DEVICE_CMD_INFO_14_REG_RESVAL 0x7000u
1071#define SPI_DEVICE_CMD_INFO_14_OPCODE_14_MASK 0xffu
1072#define SPI_DEVICE_CMD_INFO_14_OPCODE_14_OFFSET 0
1073#define SPI_DEVICE_CMD_INFO_14_OPCODE_14_FIELD \
1074 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_14_OPCODE_14_MASK, .index = SPI_DEVICE_CMD_INFO_14_OPCODE_14_OFFSET })
1075#define SPI_DEVICE_CMD_INFO_14_ADDR_MODE_14_MASK 0x3u
1076#define SPI_DEVICE_CMD_INFO_14_ADDR_MODE_14_OFFSET 8
1077#define SPI_DEVICE_CMD_INFO_14_ADDR_MODE_14_FIELD \
1078 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_14_ADDR_MODE_14_MASK, .index = SPI_DEVICE_CMD_INFO_14_ADDR_MODE_14_OFFSET })
1079#define SPI_DEVICE_CMD_INFO_14_ADDR_SWAP_EN_14_BIT 10
1080#define SPI_DEVICE_CMD_INFO_14_MBYTE_EN_14_BIT 11
1081#define SPI_DEVICE_CMD_INFO_14_DUMMY_SIZE_14_MASK 0x7u
1082#define SPI_DEVICE_CMD_INFO_14_DUMMY_SIZE_14_OFFSET 12
1083#define SPI_DEVICE_CMD_INFO_14_DUMMY_SIZE_14_FIELD \
1084 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_14_DUMMY_SIZE_14_MASK, .index = SPI_DEVICE_CMD_INFO_14_DUMMY_SIZE_14_OFFSET })
1085#define SPI_DEVICE_CMD_INFO_14_DUMMY_EN_14_BIT 15
1086#define SPI_DEVICE_CMD_INFO_14_PAYLOAD_EN_14_MASK 0xfu
1087#define SPI_DEVICE_CMD_INFO_14_PAYLOAD_EN_14_OFFSET 16
1088#define SPI_DEVICE_CMD_INFO_14_PAYLOAD_EN_14_FIELD \
1089 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_14_PAYLOAD_EN_14_MASK, .index = SPI_DEVICE_CMD_INFO_14_PAYLOAD_EN_14_OFFSET })
1090#define SPI_DEVICE_CMD_INFO_14_PAYLOAD_DIR_14_BIT 20
1091#define SPI_DEVICE_CMD_INFO_14_PAYLOAD_SWAP_EN_14_BIT 21
1092#define SPI_DEVICE_CMD_INFO_14_READ_PIPELINE_MODE_14_MASK 0x3u
1093#define SPI_DEVICE_CMD_INFO_14_READ_PIPELINE_MODE_14_OFFSET 22
1094#define SPI_DEVICE_CMD_INFO_14_READ_PIPELINE_MODE_14_FIELD \
1095 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_14_READ_PIPELINE_MODE_14_MASK, .index = SPI_DEVICE_CMD_INFO_14_READ_PIPELINE_MODE_14_OFFSET })
1096#define SPI_DEVICE_CMD_INFO_14_UPLOAD_14_BIT 24
1097#define SPI_DEVICE_CMD_INFO_14_BUSY_14_BIT 25
1098#define SPI_DEVICE_CMD_INFO_14_VALID_14_BIT 31
1099
1100// Command Information register.
1101#define SPI_DEVICE_CMD_INFO_15_REG_OFFSET 0xb8
1102#define SPI_DEVICE_CMD_INFO_15_REG_RESVAL 0x7000u
1103#define SPI_DEVICE_CMD_INFO_15_OPCODE_15_MASK 0xffu
1104#define SPI_DEVICE_CMD_INFO_15_OPCODE_15_OFFSET 0
1105#define SPI_DEVICE_CMD_INFO_15_OPCODE_15_FIELD \
1106 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_15_OPCODE_15_MASK, .index = SPI_DEVICE_CMD_INFO_15_OPCODE_15_OFFSET })
1107#define SPI_DEVICE_CMD_INFO_15_ADDR_MODE_15_MASK 0x3u
1108#define SPI_DEVICE_CMD_INFO_15_ADDR_MODE_15_OFFSET 8
1109#define SPI_DEVICE_CMD_INFO_15_ADDR_MODE_15_FIELD \
1110 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_15_ADDR_MODE_15_MASK, .index = SPI_DEVICE_CMD_INFO_15_ADDR_MODE_15_OFFSET })
1111#define SPI_DEVICE_CMD_INFO_15_ADDR_SWAP_EN_15_BIT 10
1112#define SPI_DEVICE_CMD_INFO_15_MBYTE_EN_15_BIT 11
1113#define SPI_DEVICE_CMD_INFO_15_DUMMY_SIZE_15_MASK 0x7u
1114#define SPI_DEVICE_CMD_INFO_15_DUMMY_SIZE_15_OFFSET 12
1115#define SPI_DEVICE_CMD_INFO_15_DUMMY_SIZE_15_FIELD \
1116 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_15_DUMMY_SIZE_15_MASK, .index = SPI_DEVICE_CMD_INFO_15_DUMMY_SIZE_15_OFFSET })
1117#define SPI_DEVICE_CMD_INFO_15_DUMMY_EN_15_BIT 15
1118#define SPI_DEVICE_CMD_INFO_15_PAYLOAD_EN_15_MASK 0xfu
1119#define SPI_DEVICE_CMD_INFO_15_PAYLOAD_EN_15_OFFSET 16
1120#define SPI_DEVICE_CMD_INFO_15_PAYLOAD_EN_15_FIELD \
1121 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_15_PAYLOAD_EN_15_MASK, .index = SPI_DEVICE_CMD_INFO_15_PAYLOAD_EN_15_OFFSET })
1122#define SPI_DEVICE_CMD_INFO_15_PAYLOAD_DIR_15_BIT 20
1123#define SPI_DEVICE_CMD_INFO_15_PAYLOAD_SWAP_EN_15_BIT 21
1124#define SPI_DEVICE_CMD_INFO_15_READ_PIPELINE_MODE_15_MASK 0x3u
1125#define SPI_DEVICE_CMD_INFO_15_READ_PIPELINE_MODE_15_OFFSET 22
1126#define SPI_DEVICE_CMD_INFO_15_READ_PIPELINE_MODE_15_FIELD \
1127 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_15_READ_PIPELINE_MODE_15_MASK, .index = SPI_DEVICE_CMD_INFO_15_READ_PIPELINE_MODE_15_OFFSET })
1128#define SPI_DEVICE_CMD_INFO_15_UPLOAD_15_BIT 24
1129#define SPI_DEVICE_CMD_INFO_15_BUSY_15_BIT 25
1130#define SPI_DEVICE_CMD_INFO_15_VALID_15_BIT 31
1131
1132// Command Information register.
1133#define SPI_DEVICE_CMD_INFO_16_REG_OFFSET 0xbc
1134#define SPI_DEVICE_CMD_INFO_16_REG_RESVAL 0x7000u
1135#define SPI_DEVICE_CMD_INFO_16_OPCODE_16_MASK 0xffu
1136#define SPI_DEVICE_CMD_INFO_16_OPCODE_16_OFFSET 0
1137#define SPI_DEVICE_CMD_INFO_16_OPCODE_16_FIELD \
1138 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_16_OPCODE_16_MASK, .index = SPI_DEVICE_CMD_INFO_16_OPCODE_16_OFFSET })
1139#define SPI_DEVICE_CMD_INFO_16_ADDR_MODE_16_MASK 0x3u
1140#define SPI_DEVICE_CMD_INFO_16_ADDR_MODE_16_OFFSET 8
1141#define SPI_DEVICE_CMD_INFO_16_ADDR_MODE_16_FIELD \
1142 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_16_ADDR_MODE_16_MASK, .index = SPI_DEVICE_CMD_INFO_16_ADDR_MODE_16_OFFSET })
1143#define SPI_DEVICE_CMD_INFO_16_ADDR_SWAP_EN_16_BIT 10
1144#define SPI_DEVICE_CMD_INFO_16_MBYTE_EN_16_BIT 11
1145#define SPI_DEVICE_CMD_INFO_16_DUMMY_SIZE_16_MASK 0x7u
1146#define SPI_DEVICE_CMD_INFO_16_DUMMY_SIZE_16_OFFSET 12
1147#define SPI_DEVICE_CMD_INFO_16_DUMMY_SIZE_16_FIELD \
1148 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_16_DUMMY_SIZE_16_MASK, .index = SPI_DEVICE_CMD_INFO_16_DUMMY_SIZE_16_OFFSET })
1149#define SPI_DEVICE_CMD_INFO_16_DUMMY_EN_16_BIT 15
1150#define SPI_DEVICE_CMD_INFO_16_PAYLOAD_EN_16_MASK 0xfu
1151#define SPI_DEVICE_CMD_INFO_16_PAYLOAD_EN_16_OFFSET 16
1152#define SPI_DEVICE_CMD_INFO_16_PAYLOAD_EN_16_FIELD \
1153 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_16_PAYLOAD_EN_16_MASK, .index = SPI_DEVICE_CMD_INFO_16_PAYLOAD_EN_16_OFFSET })
1154#define SPI_DEVICE_CMD_INFO_16_PAYLOAD_DIR_16_BIT 20
1155#define SPI_DEVICE_CMD_INFO_16_PAYLOAD_SWAP_EN_16_BIT 21
1156#define SPI_DEVICE_CMD_INFO_16_READ_PIPELINE_MODE_16_MASK 0x3u
1157#define SPI_DEVICE_CMD_INFO_16_READ_PIPELINE_MODE_16_OFFSET 22
1158#define SPI_DEVICE_CMD_INFO_16_READ_PIPELINE_MODE_16_FIELD \
1159 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_16_READ_PIPELINE_MODE_16_MASK, .index = SPI_DEVICE_CMD_INFO_16_READ_PIPELINE_MODE_16_OFFSET })
1160#define SPI_DEVICE_CMD_INFO_16_UPLOAD_16_BIT 24
1161#define SPI_DEVICE_CMD_INFO_16_BUSY_16_BIT 25
1162#define SPI_DEVICE_CMD_INFO_16_VALID_16_BIT 31
1163
1164// Command Information register.
1165#define SPI_DEVICE_CMD_INFO_17_REG_OFFSET 0xc0
1166#define SPI_DEVICE_CMD_INFO_17_REG_RESVAL 0x7000u
1167#define SPI_DEVICE_CMD_INFO_17_OPCODE_17_MASK 0xffu
1168#define SPI_DEVICE_CMD_INFO_17_OPCODE_17_OFFSET 0
1169#define SPI_DEVICE_CMD_INFO_17_OPCODE_17_FIELD \
1170 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_17_OPCODE_17_MASK, .index = SPI_DEVICE_CMD_INFO_17_OPCODE_17_OFFSET })
1171#define SPI_DEVICE_CMD_INFO_17_ADDR_MODE_17_MASK 0x3u
1172#define SPI_DEVICE_CMD_INFO_17_ADDR_MODE_17_OFFSET 8
1173#define SPI_DEVICE_CMD_INFO_17_ADDR_MODE_17_FIELD \
1174 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_17_ADDR_MODE_17_MASK, .index = SPI_DEVICE_CMD_INFO_17_ADDR_MODE_17_OFFSET })
1175#define SPI_DEVICE_CMD_INFO_17_ADDR_SWAP_EN_17_BIT 10
1176#define SPI_DEVICE_CMD_INFO_17_MBYTE_EN_17_BIT 11
1177#define SPI_DEVICE_CMD_INFO_17_DUMMY_SIZE_17_MASK 0x7u
1178#define SPI_DEVICE_CMD_INFO_17_DUMMY_SIZE_17_OFFSET 12
1179#define SPI_DEVICE_CMD_INFO_17_DUMMY_SIZE_17_FIELD \
1180 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_17_DUMMY_SIZE_17_MASK, .index = SPI_DEVICE_CMD_INFO_17_DUMMY_SIZE_17_OFFSET })
1181#define SPI_DEVICE_CMD_INFO_17_DUMMY_EN_17_BIT 15
1182#define SPI_DEVICE_CMD_INFO_17_PAYLOAD_EN_17_MASK 0xfu
1183#define SPI_DEVICE_CMD_INFO_17_PAYLOAD_EN_17_OFFSET 16
1184#define SPI_DEVICE_CMD_INFO_17_PAYLOAD_EN_17_FIELD \
1185 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_17_PAYLOAD_EN_17_MASK, .index = SPI_DEVICE_CMD_INFO_17_PAYLOAD_EN_17_OFFSET })
1186#define SPI_DEVICE_CMD_INFO_17_PAYLOAD_DIR_17_BIT 20
1187#define SPI_DEVICE_CMD_INFO_17_PAYLOAD_SWAP_EN_17_BIT 21
1188#define SPI_DEVICE_CMD_INFO_17_READ_PIPELINE_MODE_17_MASK 0x3u
1189#define SPI_DEVICE_CMD_INFO_17_READ_PIPELINE_MODE_17_OFFSET 22
1190#define SPI_DEVICE_CMD_INFO_17_READ_PIPELINE_MODE_17_FIELD \
1191 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_17_READ_PIPELINE_MODE_17_MASK, .index = SPI_DEVICE_CMD_INFO_17_READ_PIPELINE_MODE_17_OFFSET })
1192#define SPI_DEVICE_CMD_INFO_17_UPLOAD_17_BIT 24
1193#define SPI_DEVICE_CMD_INFO_17_BUSY_17_BIT 25
1194#define SPI_DEVICE_CMD_INFO_17_VALID_17_BIT 31
1195
1196// Command Information register.
1197#define SPI_DEVICE_CMD_INFO_18_REG_OFFSET 0xc4
1198#define SPI_DEVICE_CMD_INFO_18_REG_RESVAL 0x7000u
1199#define SPI_DEVICE_CMD_INFO_18_OPCODE_18_MASK 0xffu
1200#define SPI_DEVICE_CMD_INFO_18_OPCODE_18_OFFSET 0
1201#define SPI_DEVICE_CMD_INFO_18_OPCODE_18_FIELD \
1202 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_18_OPCODE_18_MASK, .index = SPI_DEVICE_CMD_INFO_18_OPCODE_18_OFFSET })
1203#define SPI_DEVICE_CMD_INFO_18_ADDR_MODE_18_MASK 0x3u
1204#define SPI_DEVICE_CMD_INFO_18_ADDR_MODE_18_OFFSET 8
1205#define SPI_DEVICE_CMD_INFO_18_ADDR_MODE_18_FIELD \
1206 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_18_ADDR_MODE_18_MASK, .index = SPI_DEVICE_CMD_INFO_18_ADDR_MODE_18_OFFSET })
1207#define SPI_DEVICE_CMD_INFO_18_ADDR_SWAP_EN_18_BIT 10
1208#define SPI_DEVICE_CMD_INFO_18_MBYTE_EN_18_BIT 11
1209#define SPI_DEVICE_CMD_INFO_18_DUMMY_SIZE_18_MASK 0x7u
1210#define SPI_DEVICE_CMD_INFO_18_DUMMY_SIZE_18_OFFSET 12
1211#define SPI_DEVICE_CMD_INFO_18_DUMMY_SIZE_18_FIELD \
1212 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_18_DUMMY_SIZE_18_MASK, .index = SPI_DEVICE_CMD_INFO_18_DUMMY_SIZE_18_OFFSET })
1213#define SPI_DEVICE_CMD_INFO_18_DUMMY_EN_18_BIT 15
1214#define SPI_DEVICE_CMD_INFO_18_PAYLOAD_EN_18_MASK 0xfu
1215#define SPI_DEVICE_CMD_INFO_18_PAYLOAD_EN_18_OFFSET 16
1216#define SPI_DEVICE_CMD_INFO_18_PAYLOAD_EN_18_FIELD \
1217 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_18_PAYLOAD_EN_18_MASK, .index = SPI_DEVICE_CMD_INFO_18_PAYLOAD_EN_18_OFFSET })
1218#define SPI_DEVICE_CMD_INFO_18_PAYLOAD_DIR_18_BIT 20
1219#define SPI_DEVICE_CMD_INFO_18_PAYLOAD_SWAP_EN_18_BIT 21
1220#define SPI_DEVICE_CMD_INFO_18_READ_PIPELINE_MODE_18_MASK 0x3u
1221#define SPI_DEVICE_CMD_INFO_18_READ_PIPELINE_MODE_18_OFFSET 22
1222#define SPI_DEVICE_CMD_INFO_18_READ_PIPELINE_MODE_18_FIELD \
1223 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_18_READ_PIPELINE_MODE_18_MASK, .index = SPI_DEVICE_CMD_INFO_18_READ_PIPELINE_MODE_18_OFFSET })
1224#define SPI_DEVICE_CMD_INFO_18_UPLOAD_18_BIT 24
1225#define SPI_DEVICE_CMD_INFO_18_BUSY_18_BIT 25
1226#define SPI_DEVICE_CMD_INFO_18_VALID_18_BIT 31
1227
1228// Command Information register.
1229#define SPI_DEVICE_CMD_INFO_19_REG_OFFSET 0xc8
1230#define SPI_DEVICE_CMD_INFO_19_REG_RESVAL 0x7000u
1231#define SPI_DEVICE_CMD_INFO_19_OPCODE_19_MASK 0xffu
1232#define SPI_DEVICE_CMD_INFO_19_OPCODE_19_OFFSET 0
1233#define SPI_DEVICE_CMD_INFO_19_OPCODE_19_FIELD \
1234 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_19_OPCODE_19_MASK, .index = SPI_DEVICE_CMD_INFO_19_OPCODE_19_OFFSET })
1235#define SPI_DEVICE_CMD_INFO_19_ADDR_MODE_19_MASK 0x3u
1236#define SPI_DEVICE_CMD_INFO_19_ADDR_MODE_19_OFFSET 8
1237#define SPI_DEVICE_CMD_INFO_19_ADDR_MODE_19_FIELD \
1238 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_19_ADDR_MODE_19_MASK, .index = SPI_DEVICE_CMD_INFO_19_ADDR_MODE_19_OFFSET })
1239#define SPI_DEVICE_CMD_INFO_19_ADDR_SWAP_EN_19_BIT 10
1240#define SPI_DEVICE_CMD_INFO_19_MBYTE_EN_19_BIT 11
1241#define SPI_DEVICE_CMD_INFO_19_DUMMY_SIZE_19_MASK 0x7u
1242#define SPI_DEVICE_CMD_INFO_19_DUMMY_SIZE_19_OFFSET 12
1243#define SPI_DEVICE_CMD_INFO_19_DUMMY_SIZE_19_FIELD \
1244 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_19_DUMMY_SIZE_19_MASK, .index = SPI_DEVICE_CMD_INFO_19_DUMMY_SIZE_19_OFFSET })
1245#define SPI_DEVICE_CMD_INFO_19_DUMMY_EN_19_BIT 15
1246#define SPI_DEVICE_CMD_INFO_19_PAYLOAD_EN_19_MASK 0xfu
1247#define SPI_DEVICE_CMD_INFO_19_PAYLOAD_EN_19_OFFSET 16
1248#define SPI_DEVICE_CMD_INFO_19_PAYLOAD_EN_19_FIELD \
1249 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_19_PAYLOAD_EN_19_MASK, .index = SPI_DEVICE_CMD_INFO_19_PAYLOAD_EN_19_OFFSET })
1250#define SPI_DEVICE_CMD_INFO_19_PAYLOAD_DIR_19_BIT 20
1251#define SPI_DEVICE_CMD_INFO_19_PAYLOAD_SWAP_EN_19_BIT 21
1252#define SPI_DEVICE_CMD_INFO_19_READ_PIPELINE_MODE_19_MASK 0x3u
1253#define SPI_DEVICE_CMD_INFO_19_READ_PIPELINE_MODE_19_OFFSET 22
1254#define SPI_DEVICE_CMD_INFO_19_READ_PIPELINE_MODE_19_FIELD \
1255 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_19_READ_PIPELINE_MODE_19_MASK, .index = SPI_DEVICE_CMD_INFO_19_READ_PIPELINE_MODE_19_OFFSET })
1256#define SPI_DEVICE_CMD_INFO_19_UPLOAD_19_BIT 24
1257#define SPI_DEVICE_CMD_INFO_19_BUSY_19_BIT 25
1258#define SPI_DEVICE_CMD_INFO_19_VALID_19_BIT 31
1259
1260// Command Information register.
1261#define SPI_DEVICE_CMD_INFO_20_REG_OFFSET 0xcc
1262#define SPI_DEVICE_CMD_INFO_20_REG_RESVAL 0x7000u
1263#define SPI_DEVICE_CMD_INFO_20_OPCODE_20_MASK 0xffu
1264#define SPI_DEVICE_CMD_INFO_20_OPCODE_20_OFFSET 0
1265#define SPI_DEVICE_CMD_INFO_20_OPCODE_20_FIELD \
1266 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_20_OPCODE_20_MASK, .index = SPI_DEVICE_CMD_INFO_20_OPCODE_20_OFFSET })
1267#define SPI_DEVICE_CMD_INFO_20_ADDR_MODE_20_MASK 0x3u
1268#define SPI_DEVICE_CMD_INFO_20_ADDR_MODE_20_OFFSET 8
1269#define SPI_DEVICE_CMD_INFO_20_ADDR_MODE_20_FIELD \
1270 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_20_ADDR_MODE_20_MASK, .index = SPI_DEVICE_CMD_INFO_20_ADDR_MODE_20_OFFSET })
1271#define SPI_DEVICE_CMD_INFO_20_ADDR_SWAP_EN_20_BIT 10
1272#define SPI_DEVICE_CMD_INFO_20_MBYTE_EN_20_BIT 11
1273#define SPI_DEVICE_CMD_INFO_20_DUMMY_SIZE_20_MASK 0x7u
1274#define SPI_DEVICE_CMD_INFO_20_DUMMY_SIZE_20_OFFSET 12
1275#define SPI_DEVICE_CMD_INFO_20_DUMMY_SIZE_20_FIELD \
1276 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_20_DUMMY_SIZE_20_MASK, .index = SPI_DEVICE_CMD_INFO_20_DUMMY_SIZE_20_OFFSET })
1277#define SPI_DEVICE_CMD_INFO_20_DUMMY_EN_20_BIT 15
1278#define SPI_DEVICE_CMD_INFO_20_PAYLOAD_EN_20_MASK 0xfu
1279#define SPI_DEVICE_CMD_INFO_20_PAYLOAD_EN_20_OFFSET 16
1280#define SPI_DEVICE_CMD_INFO_20_PAYLOAD_EN_20_FIELD \
1281 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_20_PAYLOAD_EN_20_MASK, .index = SPI_DEVICE_CMD_INFO_20_PAYLOAD_EN_20_OFFSET })
1282#define SPI_DEVICE_CMD_INFO_20_PAYLOAD_DIR_20_BIT 20
1283#define SPI_DEVICE_CMD_INFO_20_PAYLOAD_SWAP_EN_20_BIT 21
1284#define SPI_DEVICE_CMD_INFO_20_READ_PIPELINE_MODE_20_MASK 0x3u
1285#define SPI_DEVICE_CMD_INFO_20_READ_PIPELINE_MODE_20_OFFSET 22
1286#define SPI_DEVICE_CMD_INFO_20_READ_PIPELINE_MODE_20_FIELD \
1287 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_20_READ_PIPELINE_MODE_20_MASK, .index = SPI_DEVICE_CMD_INFO_20_READ_PIPELINE_MODE_20_OFFSET })
1288#define SPI_DEVICE_CMD_INFO_20_UPLOAD_20_BIT 24
1289#define SPI_DEVICE_CMD_INFO_20_BUSY_20_BIT 25
1290#define SPI_DEVICE_CMD_INFO_20_VALID_20_BIT 31
1291
1292// Command Information register.
1293#define SPI_DEVICE_CMD_INFO_21_REG_OFFSET 0xd0
1294#define SPI_DEVICE_CMD_INFO_21_REG_RESVAL 0x7000u
1295#define SPI_DEVICE_CMD_INFO_21_OPCODE_21_MASK 0xffu
1296#define SPI_DEVICE_CMD_INFO_21_OPCODE_21_OFFSET 0
1297#define SPI_DEVICE_CMD_INFO_21_OPCODE_21_FIELD \
1298 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_21_OPCODE_21_MASK, .index = SPI_DEVICE_CMD_INFO_21_OPCODE_21_OFFSET })
1299#define SPI_DEVICE_CMD_INFO_21_ADDR_MODE_21_MASK 0x3u
1300#define SPI_DEVICE_CMD_INFO_21_ADDR_MODE_21_OFFSET 8
1301#define SPI_DEVICE_CMD_INFO_21_ADDR_MODE_21_FIELD \
1302 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_21_ADDR_MODE_21_MASK, .index = SPI_DEVICE_CMD_INFO_21_ADDR_MODE_21_OFFSET })
1303#define SPI_DEVICE_CMD_INFO_21_ADDR_SWAP_EN_21_BIT 10
1304#define SPI_DEVICE_CMD_INFO_21_MBYTE_EN_21_BIT 11
1305#define SPI_DEVICE_CMD_INFO_21_DUMMY_SIZE_21_MASK 0x7u
1306#define SPI_DEVICE_CMD_INFO_21_DUMMY_SIZE_21_OFFSET 12
1307#define SPI_DEVICE_CMD_INFO_21_DUMMY_SIZE_21_FIELD \
1308 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_21_DUMMY_SIZE_21_MASK, .index = SPI_DEVICE_CMD_INFO_21_DUMMY_SIZE_21_OFFSET })
1309#define SPI_DEVICE_CMD_INFO_21_DUMMY_EN_21_BIT 15
1310#define SPI_DEVICE_CMD_INFO_21_PAYLOAD_EN_21_MASK 0xfu
1311#define SPI_DEVICE_CMD_INFO_21_PAYLOAD_EN_21_OFFSET 16
1312#define SPI_DEVICE_CMD_INFO_21_PAYLOAD_EN_21_FIELD \
1313 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_21_PAYLOAD_EN_21_MASK, .index = SPI_DEVICE_CMD_INFO_21_PAYLOAD_EN_21_OFFSET })
1314#define SPI_DEVICE_CMD_INFO_21_PAYLOAD_DIR_21_BIT 20
1315#define SPI_DEVICE_CMD_INFO_21_PAYLOAD_SWAP_EN_21_BIT 21
1316#define SPI_DEVICE_CMD_INFO_21_READ_PIPELINE_MODE_21_MASK 0x3u
1317#define SPI_DEVICE_CMD_INFO_21_READ_PIPELINE_MODE_21_OFFSET 22
1318#define SPI_DEVICE_CMD_INFO_21_READ_PIPELINE_MODE_21_FIELD \
1319 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_21_READ_PIPELINE_MODE_21_MASK, .index = SPI_DEVICE_CMD_INFO_21_READ_PIPELINE_MODE_21_OFFSET })
1320#define SPI_DEVICE_CMD_INFO_21_UPLOAD_21_BIT 24
1321#define SPI_DEVICE_CMD_INFO_21_BUSY_21_BIT 25
1322#define SPI_DEVICE_CMD_INFO_21_VALID_21_BIT 31
1323
1324// Command Information register.
1325#define SPI_DEVICE_CMD_INFO_22_REG_OFFSET 0xd4
1326#define SPI_DEVICE_CMD_INFO_22_REG_RESVAL 0x7000u
1327#define SPI_DEVICE_CMD_INFO_22_OPCODE_22_MASK 0xffu
1328#define SPI_DEVICE_CMD_INFO_22_OPCODE_22_OFFSET 0
1329#define SPI_DEVICE_CMD_INFO_22_OPCODE_22_FIELD \
1330 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_22_OPCODE_22_MASK, .index = SPI_DEVICE_CMD_INFO_22_OPCODE_22_OFFSET })
1331#define SPI_DEVICE_CMD_INFO_22_ADDR_MODE_22_MASK 0x3u
1332#define SPI_DEVICE_CMD_INFO_22_ADDR_MODE_22_OFFSET 8
1333#define SPI_DEVICE_CMD_INFO_22_ADDR_MODE_22_FIELD \
1334 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_22_ADDR_MODE_22_MASK, .index = SPI_DEVICE_CMD_INFO_22_ADDR_MODE_22_OFFSET })
1335#define SPI_DEVICE_CMD_INFO_22_ADDR_SWAP_EN_22_BIT 10
1336#define SPI_DEVICE_CMD_INFO_22_MBYTE_EN_22_BIT 11
1337#define SPI_DEVICE_CMD_INFO_22_DUMMY_SIZE_22_MASK 0x7u
1338#define SPI_DEVICE_CMD_INFO_22_DUMMY_SIZE_22_OFFSET 12
1339#define SPI_DEVICE_CMD_INFO_22_DUMMY_SIZE_22_FIELD \
1340 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_22_DUMMY_SIZE_22_MASK, .index = SPI_DEVICE_CMD_INFO_22_DUMMY_SIZE_22_OFFSET })
1341#define SPI_DEVICE_CMD_INFO_22_DUMMY_EN_22_BIT 15
1342#define SPI_DEVICE_CMD_INFO_22_PAYLOAD_EN_22_MASK 0xfu
1343#define SPI_DEVICE_CMD_INFO_22_PAYLOAD_EN_22_OFFSET 16
1344#define SPI_DEVICE_CMD_INFO_22_PAYLOAD_EN_22_FIELD \
1345 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_22_PAYLOAD_EN_22_MASK, .index = SPI_DEVICE_CMD_INFO_22_PAYLOAD_EN_22_OFFSET })
1346#define SPI_DEVICE_CMD_INFO_22_PAYLOAD_DIR_22_BIT 20
1347#define SPI_DEVICE_CMD_INFO_22_PAYLOAD_SWAP_EN_22_BIT 21
1348#define SPI_DEVICE_CMD_INFO_22_READ_PIPELINE_MODE_22_MASK 0x3u
1349#define SPI_DEVICE_CMD_INFO_22_READ_PIPELINE_MODE_22_OFFSET 22
1350#define SPI_DEVICE_CMD_INFO_22_READ_PIPELINE_MODE_22_FIELD \
1351 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_22_READ_PIPELINE_MODE_22_MASK, .index = SPI_DEVICE_CMD_INFO_22_READ_PIPELINE_MODE_22_OFFSET })
1352#define SPI_DEVICE_CMD_INFO_22_UPLOAD_22_BIT 24
1353#define SPI_DEVICE_CMD_INFO_22_BUSY_22_BIT 25
1354#define SPI_DEVICE_CMD_INFO_22_VALID_22_BIT 31
1355
1356// Command Information register.
1357#define SPI_DEVICE_CMD_INFO_23_REG_OFFSET 0xd8
1358#define SPI_DEVICE_CMD_INFO_23_REG_RESVAL 0x7000u
1359#define SPI_DEVICE_CMD_INFO_23_OPCODE_23_MASK 0xffu
1360#define SPI_DEVICE_CMD_INFO_23_OPCODE_23_OFFSET 0
1361#define SPI_DEVICE_CMD_INFO_23_OPCODE_23_FIELD \
1362 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_23_OPCODE_23_MASK, .index = SPI_DEVICE_CMD_INFO_23_OPCODE_23_OFFSET })
1363#define SPI_DEVICE_CMD_INFO_23_ADDR_MODE_23_MASK 0x3u
1364#define SPI_DEVICE_CMD_INFO_23_ADDR_MODE_23_OFFSET 8
1365#define SPI_DEVICE_CMD_INFO_23_ADDR_MODE_23_FIELD \
1366 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_23_ADDR_MODE_23_MASK, .index = SPI_DEVICE_CMD_INFO_23_ADDR_MODE_23_OFFSET })
1367#define SPI_DEVICE_CMD_INFO_23_ADDR_SWAP_EN_23_BIT 10
1368#define SPI_DEVICE_CMD_INFO_23_MBYTE_EN_23_BIT 11
1369#define SPI_DEVICE_CMD_INFO_23_DUMMY_SIZE_23_MASK 0x7u
1370#define SPI_DEVICE_CMD_INFO_23_DUMMY_SIZE_23_OFFSET 12
1371#define SPI_DEVICE_CMD_INFO_23_DUMMY_SIZE_23_FIELD \
1372 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_23_DUMMY_SIZE_23_MASK, .index = SPI_DEVICE_CMD_INFO_23_DUMMY_SIZE_23_OFFSET })
1373#define SPI_DEVICE_CMD_INFO_23_DUMMY_EN_23_BIT 15
1374#define SPI_DEVICE_CMD_INFO_23_PAYLOAD_EN_23_MASK 0xfu
1375#define SPI_DEVICE_CMD_INFO_23_PAYLOAD_EN_23_OFFSET 16
1376#define SPI_DEVICE_CMD_INFO_23_PAYLOAD_EN_23_FIELD \
1377 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_23_PAYLOAD_EN_23_MASK, .index = SPI_DEVICE_CMD_INFO_23_PAYLOAD_EN_23_OFFSET })
1378#define SPI_DEVICE_CMD_INFO_23_PAYLOAD_DIR_23_BIT 20
1379#define SPI_DEVICE_CMD_INFO_23_PAYLOAD_SWAP_EN_23_BIT 21
1380#define SPI_DEVICE_CMD_INFO_23_READ_PIPELINE_MODE_23_MASK 0x3u
1381#define SPI_DEVICE_CMD_INFO_23_READ_PIPELINE_MODE_23_OFFSET 22
1382#define SPI_DEVICE_CMD_INFO_23_READ_PIPELINE_MODE_23_FIELD \
1383 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_23_READ_PIPELINE_MODE_23_MASK, .index = SPI_DEVICE_CMD_INFO_23_READ_PIPELINE_MODE_23_OFFSET })
1384#define SPI_DEVICE_CMD_INFO_23_UPLOAD_23_BIT 24
1385#define SPI_DEVICE_CMD_INFO_23_BUSY_23_BIT 25
1386#define SPI_DEVICE_CMD_INFO_23_VALID_23_BIT 31
1387
1388// EN4B command information register.
1389#define SPI_DEVICE_CMD_INFO_EN4B_REG_OFFSET 0xdc
1390#define SPI_DEVICE_CMD_INFO_EN4B_REG_RESVAL 0x0u
1391#define SPI_DEVICE_CMD_INFO_EN4B_OPCODE_MASK 0xffu
1392#define SPI_DEVICE_CMD_INFO_EN4B_OPCODE_OFFSET 0
1393#define SPI_DEVICE_CMD_INFO_EN4B_OPCODE_FIELD \
1394 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_EN4B_OPCODE_MASK, .index = SPI_DEVICE_CMD_INFO_EN4B_OPCODE_OFFSET })
1395#define SPI_DEVICE_CMD_INFO_EN4B_VALID_BIT 31
1396
1397// EX4B command information register.
1398#define SPI_DEVICE_CMD_INFO_EX4B_REG_OFFSET 0xe0
1399#define SPI_DEVICE_CMD_INFO_EX4B_REG_RESVAL 0x0u
1400#define SPI_DEVICE_CMD_INFO_EX4B_OPCODE_MASK 0xffu
1401#define SPI_DEVICE_CMD_INFO_EX4B_OPCODE_OFFSET 0
1402#define SPI_DEVICE_CMD_INFO_EX4B_OPCODE_FIELD \
1403 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_EX4B_OPCODE_MASK, .index = SPI_DEVICE_CMD_INFO_EX4B_OPCODE_OFFSET })
1404#define SPI_DEVICE_CMD_INFO_EX4B_VALID_BIT 31
1405
1406// Write Enable (WREN) command information register.
1407#define SPI_DEVICE_CMD_INFO_WREN_REG_OFFSET 0xe4
1408#define SPI_DEVICE_CMD_INFO_WREN_REG_RESVAL 0x0u
1409#define SPI_DEVICE_CMD_INFO_WREN_OPCODE_MASK 0xffu
1410#define SPI_DEVICE_CMD_INFO_WREN_OPCODE_OFFSET 0
1411#define SPI_DEVICE_CMD_INFO_WREN_OPCODE_FIELD \
1412 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_WREN_OPCODE_MASK, .index = SPI_DEVICE_CMD_INFO_WREN_OPCODE_OFFSET })
1413#define SPI_DEVICE_CMD_INFO_WREN_VALID_BIT 31
1414
1415// Write Disable (WRDI) command information register.
1416#define SPI_DEVICE_CMD_INFO_WRDI_REG_OFFSET 0xe8
1417#define SPI_DEVICE_CMD_INFO_WRDI_REG_RESVAL 0x0u
1418#define SPI_DEVICE_CMD_INFO_WRDI_OPCODE_MASK 0xffu
1419#define SPI_DEVICE_CMD_INFO_WRDI_OPCODE_OFFSET 0
1420#define SPI_DEVICE_CMD_INFO_WRDI_OPCODE_FIELD \
1421 ((bitfield_field32_t) { .mask = SPI_DEVICE_CMD_INFO_WRDI_OPCODE_MASK, .index = SPI_DEVICE_CMD_INFO_WRDI_OPCODE_OFFSET })
1422#define SPI_DEVICE_CMD_INFO_WRDI_VALID_BIT 31
1423
1424// TPM HWIP Capability register.
1425#define SPI_DEVICE_TPM_CAP_REG_OFFSET 0x800
1426#define SPI_DEVICE_TPM_CAP_REG_RESVAL 0x660100u
1427#define SPI_DEVICE_TPM_CAP_REV_MASK 0xffu
1428#define SPI_DEVICE_TPM_CAP_REV_OFFSET 0
1429#define SPI_DEVICE_TPM_CAP_REV_FIELD \
1430 ((bitfield_field32_t) { .mask = SPI_DEVICE_TPM_CAP_REV_MASK, .index = SPI_DEVICE_TPM_CAP_REV_OFFSET })
1431#define SPI_DEVICE_TPM_CAP_LOCALITY_BIT 8
1432#define SPI_DEVICE_TPM_CAP_MAX_WR_SIZE_MASK 0x7u
1433#define SPI_DEVICE_TPM_CAP_MAX_WR_SIZE_OFFSET 16
1434#define SPI_DEVICE_TPM_CAP_MAX_WR_SIZE_FIELD \
1435 ((bitfield_field32_t) { .mask = SPI_DEVICE_TPM_CAP_MAX_WR_SIZE_MASK, .index = SPI_DEVICE_TPM_CAP_MAX_WR_SIZE_OFFSET })
1436#define SPI_DEVICE_TPM_CAP_MAX_RD_SIZE_MASK 0x7u
1437#define SPI_DEVICE_TPM_CAP_MAX_RD_SIZE_OFFSET 20
1438#define SPI_DEVICE_TPM_CAP_MAX_RD_SIZE_FIELD \
1439 ((bitfield_field32_t) { .mask = SPI_DEVICE_TPM_CAP_MAX_RD_SIZE_MASK, .index = SPI_DEVICE_TPM_CAP_MAX_RD_SIZE_OFFSET })
1440
1441// TPM Configuration register.
1442#define SPI_DEVICE_TPM_CFG_REG_OFFSET 0x804
1443#define SPI_DEVICE_TPM_CFG_REG_RESVAL 0x0u
1444#define SPI_DEVICE_TPM_CFG_EN_BIT 0
1445#define SPI_DEVICE_TPM_CFG_TPM_MODE_BIT 1
1446#define SPI_DEVICE_TPM_CFG_HW_REG_DIS_BIT 2
1447#define SPI_DEVICE_TPM_CFG_TPM_REG_CHK_DIS_BIT 3
1448#define SPI_DEVICE_TPM_CFG_INVALID_LOCALITY_BIT 4
1449
1450// TPM submodule state register.
1451#define SPI_DEVICE_TPM_STATUS_REG_OFFSET 0x808
1452#define SPI_DEVICE_TPM_STATUS_REG_RESVAL 0x0u
1453#define SPI_DEVICE_TPM_STATUS_CMDADDR_NOTEMPTY_BIT 0
1454#define SPI_DEVICE_TPM_STATUS_WRFIFO_PENDING_BIT 1
1455#define SPI_DEVICE_TPM_STATUS_RDFIFO_ABORTED_BIT 2
1456
1457// TPM_ACCESS_x register. (common parameters)
1458#define SPI_DEVICE_TPM_ACCESS_ACCESS_FIELD_WIDTH 8
1459#define SPI_DEVICE_TPM_ACCESS_MULTIREG_COUNT 2
1460
1461// TPM_ACCESS_x register.
1462#define SPI_DEVICE_TPM_ACCESS_0_REG_OFFSET 0x80c
1463#define SPI_DEVICE_TPM_ACCESS_0_REG_RESVAL 0x0u
1464#define SPI_DEVICE_TPM_ACCESS_0_ACCESS_0_MASK 0xffu
1465#define SPI_DEVICE_TPM_ACCESS_0_ACCESS_0_OFFSET 0
1466#define SPI_DEVICE_TPM_ACCESS_0_ACCESS_0_FIELD \
1467 ((bitfield_field32_t) { .mask = SPI_DEVICE_TPM_ACCESS_0_ACCESS_0_MASK, .index = SPI_DEVICE_TPM_ACCESS_0_ACCESS_0_OFFSET })
1468#define SPI_DEVICE_TPM_ACCESS_0_ACCESS_1_MASK 0xffu
1469#define SPI_DEVICE_TPM_ACCESS_0_ACCESS_1_OFFSET 8
1470#define SPI_DEVICE_TPM_ACCESS_0_ACCESS_1_FIELD \
1471 ((bitfield_field32_t) { .mask = SPI_DEVICE_TPM_ACCESS_0_ACCESS_1_MASK, .index = SPI_DEVICE_TPM_ACCESS_0_ACCESS_1_OFFSET })
1472#define SPI_DEVICE_TPM_ACCESS_0_ACCESS_2_MASK 0xffu
1473#define SPI_DEVICE_TPM_ACCESS_0_ACCESS_2_OFFSET 16
1474#define SPI_DEVICE_TPM_ACCESS_0_ACCESS_2_FIELD \
1475 ((bitfield_field32_t) { .mask = SPI_DEVICE_TPM_ACCESS_0_ACCESS_2_MASK, .index = SPI_DEVICE_TPM_ACCESS_0_ACCESS_2_OFFSET })
1476#define SPI_DEVICE_TPM_ACCESS_0_ACCESS_3_MASK 0xffu
1477#define SPI_DEVICE_TPM_ACCESS_0_ACCESS_3_OFFSET 24
1478#define SPI_DEVICE_TPM_ACCESS_0_ACCESS_3_FIELD \
1479 ((bitfield_field32_t) { .mask = SPI_DEVICE_TPM_ACCESS_0_ACCESS_3_MASK, .index = SPI_DEVICE_TPM_ACCESS_0_ACCESS_3_OFFSET })
1480
1481// TPM_ACCESS_x register.
1482#define SPI_DEVICE_TPM_ACCESS_1_REG_OFFSET 0x810
1483#define SPI_DEVICE_TPM_ACCESS_1_REG_RESVAL 0x0u
1484#define SPI_DEVICE_TPM_ACCESS_1_ACCESS_4_MASK 0xffu
1485#define SPI_DEVICE_TPM_ACCESS_1_ACCESS_4_OFFSET 0
1486#define SPI_DEVICE_TPM_ACCESS_1_ACCESS_4_FIELD \
1487 ((bitfield_field32_t) { .mask = SPI_DEVICE_TPM_ACCESS_1_ACCESS_4_MASK, .index = SPI_DEVICE_TPM_ACCESS_1_ACCESS_4_OFFSET })
1488
1489// TPM_STS_x register.
1490#define SPI_DEVICE_TPM_STS_REG_OFFSET 0x814
1491#define SPI_DEVICE_TPM_STS_REG_RESVAL 0x0u
1492
1493// TPM_INTF_CAPABILITY register.
1494#define SPI_DEVICE_TPM_INTF_CAPABILITY_REG_OFFSET 0x818
1495#define SPI_DEVICE_TPM_INTF_CAPABILITY_REG_RESVAL 0x0u
1496
1497// TPM_INT_ENABLE register.
1498#define SPI_DEVICE_TPM_INT_ENABLE_REG_OFFSET 0x81c
1499#define SPI_DEVICE_TPM_INT_ENABLE_REG_RESVAL 0x0u
1500
1501// TPM_INT_VECTOR register.
1502#define SPI_DEVICE_TPM_INT_VECTOR_REG_OFFSET 0x820
1503#define SPI_DEVICE_TPM_INT_VECTOR_REG_RESVAL 0x0u
1504#define SPI_DEVICE_TPM_INT_VECTOR_INT_VECTOR_MASK 0xffu
1505#define SPI_DEVICE_TPM_INT_VECTOR_INT_VECTOR_OFFSET 0
1506#define SPI_DEVICE_TPM_INT_VECTOR_INT_VECTOR_FIELD \
1507 ((bitfield_field32_t) { .mask = SPI_DEVICE_TPM_INT_VECTOR_INT_VECTOR_MASK, .index = SPI_DEVICE_TPM_INT_VECTOR_INT_VECTOR_OFFSET })
1508
1509// TPM_INT_STATUS register.
1510#define SPI_DEVICE_TPM_INT_STATUS_REG_OFFSET 0x824
1511#define SPI_DEVICE_TPM_INT_STATUS_REG_RESVAL 0x0u
1512
1513// TPM_DID/ TPM_VID register.
1514#define SPI_DEVICE_TPM_DID_VID_REG_OFFSET 0x828
1515#define SPI_DEVICE_TPM_DID_VID_REG_RESVAL 0x0u
1516#define SPI_DEVICE_TPM_DID_VID_VID_MASK 0xffffu
1517#define SPI_DEVICE_TPM_DID_VID_VID_OFFSET 0
1518#define SPI_DEVICE_TPM_DID_VID_VID_FIELD \
1519 ((bitfield_field32_t) { .mask = SPI_DEVICE_TPM_DID_VID_VID_MASK, .index = SPI_DEVICE_TPM_DID_VID_VID_OFFSET })
1520#define SPI_DEVICE_TPM_DID_VID_DID_MASK 0xffffu
1521#define SPI_DEVICE_TPM_DID_VID_DID_OFFSET 16
1522#define SPI_DEVICE_TPM_DID_VID_DID_FIELD \
1523 ((bitfield_field32_t) { .mask = SPI_DEVICE_TPM_DID_VID_DID_MASK, .index = SPI_DEVICE_TPM_DID_VID_DID_OFFSET })
1524
1525// TPM_RID register.
1526#define SPI_DEVICE_TPM_RID_REG_OFFSET 0x82c
1527#define SPI_DEVICE_TPM_RID_REG_RESVAL 0x0u
1528#define SPI_DEVICE_TPM_RID_RID_MASK 0xffu
1529#define SPI_DEVICE_TPM_RID_RID_OFFSET 0
1530#define SPI_DEVICE_TPM_RID_RID_FIELD \
1531 ((bitfield_field32_t) { .mask = SPI_DEVICE_TPM_RID_RID_MASK, .index = SPI_DEVICE_TPM_RID_RID_OFFSET })
1532
1533// TPM Command and Address buffer.
1534#define SPI_DEVICE_TPM_CMD_ADDR_REG_OFFSET 0x830
1535#define SPI_DEVICE_TPM_CMD_ADDR_REG_RESVAL 0x0u
1536#define SPI_DEVICE_TPM_CMD_ADDR_ADDR_MASK 0xffffffu
1537#define SPI_DEVICE_TPM_CMD_ADDR_ADDR_OFFSET 0
1538#define SPI_DEVICE_TPM_CMD_ADDR_ADDR_FIELD \
1539 ((bitfield_field32_t) { .mask = SPI_DEVICE_TPM_CMD_ADDR_ADDR_MASK, .index = SPI_DEVICE_TPM_CMD_ADDR_ADDR_OFFSET })
1540#define SPI_DEVICE_TPM_CMD_ADDR_CMD_MASK 0xffu
1541#define SPI_DEVICE_TPM_CMD_ADDR_CMD_OFFSET 24
1542#define SPI_DEVICE_TPM_CMD_ADDR_CMD_FIELD \
1543 ((bitfield_field32_t) { .mask = SPI_DEVICE_TPM_CMD_ADDR_CMD_MASK, .index = SPI_DEVICE_TPM_CMD_ADDR_CMD_OFFSET })
1544
1545// TPM Read command return data FIFO.
1546#define SPI_DEVICE_TPM_READ_FIFO_REG_OFFSET 0x834
1547#define SPI_DEVICE_TPM_READ_FIFO_REG_RESVAL 0x0u
1548
1549// Memory area: SPI internal egress buffer.
1550#define SPI_DEVICE_EGRESS_BUFFER_REG_OFFSET 0x1000
1551#define SPI_DEVICE_EGRESS_BUFFER_SIZE_WORDS 848
1552#define SPI_DEVICE_EGRESS_BUFFER_SIZE_BYTES 3392
1553// Memory area: SPI internal ingress buffer.
1554#define SPI_DEVICE_INGRESS_BUFFER_REG_OFFSET 0x1e00
1555#define SPI_DEVICE_INGRESS_BUFFER_SIZE_WORDS 112
1556#define SPI_DEVICE_INGRESS_BUFFER_SIZE_BYTES 448
1557#ifdef __cplusplus
1558} // extern "C"
1559#endif
1560#endif // _SPI_DEVICE_REG_DEFS_
1561// End generated register defines for spi_device