 |
Software APIs
|
Go to the documentation of this file.
20#define I2C_PARAM_FIFO_DEPTH 64
23#define I2C_PARAM_ACQ_FIFO_DEPTH 268
26#define I2C_PARAM_NUM_ALERTS 1
29#define I2C_PARAM_REG_WIDTH 32
32#define I2C_INTR_COMMON_FMT_THRESHOLD_BIT 0
33#define I2C_INTR_COMMON_RX_THRESHOLD_BIT 1
34#define I2C_INTR_COMMON_ACQ_THRESHOLD_BIT 2
35#define I2C_INTR_COMMON_RX_OVERFLOW_BIT 3
36#define I2C_INTR_COMMON_CONTROLLER_HALT_BIT 4
37#define I2C_INTR_COMMON_SCL_INTERFERENCE_BIT 5
38#define I2C_INTR_COMMON_SDA_INTERFERENCE_BIT 6
39#define I2C_INTR_COMMON_STRETCH_TIMEOUT_BIT 7
40#define I2C_INTR_COMMON_SDA_UNSTABLE_BIT 8
41#define I2C_INTR_COMMON_CMD_COMPLETE_BIT 9
42#define I2C_INTR_COMMON_TX_STRETCH_BIT 10
43#define I2C_INTR_COMMON_TX_THRESHOLD_BIT 11
44#define I2C_INTR_COMMON_ACQ_STRETCH_BIT 12
45#define I2C_INTR_COMMON_UNEXP_STOP_BIT 13
46#define I2C_INTR_COMMON_HOST_TIMEOUT_BIT 14
49#define I2C_INTR_STATE_REG_OFFSET 0x0
50#define I2C_INTR_STATE_REG_RESVAL 0x0u
51#define I2C_INTR_STATE_FMT_THRESHOLD_BIT 0
52#define I2C_INTR_STATE_RX_THRESHOLD_BIT 1
53#define I2C_INTR_STATE_ACQ_THRESHOLD_BIT 2
54#define I2C_INTR_STATE_RX_OVERFLOW_BIT 3
55#define I2C_INTR_STATE_CONTROLLER_HALT_BIT 4
56#define I2C_INTR_STATE_SCL_INTERFERENCE_BIT 5
57#define I2C_INTR_STATE_SDA_INTERFERENCE_BIT 6
58#define I2C_INTR_STATE_STRETCH_TIMEOUT_BIT 7
59#define I2C_INTR_STATE_SDA_UNSTABLE_BIT 8
60#define I2C_INTR_STATE_CMD_COMPLETE_BIT 9
61#define I2C_INTR_STATE_TX_STRETCH_BIT 10
62#define I2C_INTR_STATE_TX_THRESHOLD_BIT 11
63#define I2C_INTR_STATE_ACQ_STRETCH_BIT 12
64#define I2C_INTR_STATE_UNEXP_STOP_BIT 13
65#define I2C_INTR_STATE_HOST_TIMEOUT_BIT 14
68#define I2C_INTR_ENABLE_REG_OFFSET 0x4
69#define I2C_INTR_ENABLE_REG_RESVAL 0x0u
70#define I2C_INTR_ENABLE_FMT_THRESHOLD_BIT 0
71#define I2C_INTR_ENABLE_RX_THRESHOLD_BIT 1
72#define I2C_INTR_ENABLE_ACQ_THRESHOLD_BIT 2
73#define I2C_INTR_ENABLE_RX_OVERFLOW_BIT 3
74#define I2C_INTR_ENABLE_CONTROLLER_HALT_BIT 4
75#define I2C_INTR_ENABLE_SCL_INTERFERENCE_BIT 5
76#define I2C_INTR_ENABLE_SDA_INTERFERENCE_BIT 6
77#define I2C_INTR_ENABLE_STRETCH_TIMEOUT_BIT 7
78#define I2C_INTR_ENABLE_SDA_UNSTABLE_BIT 8
79#define I2C_INTR_ENABLE_CMD_COMPLETE_BIT 9
80#define I2C_INTR_ENABLE_TX_STRETCH_BIT 10
81#define I2C_INTR_ENABLE_TX_THRESHOLD_BIT 11
82#define I2C_INTR_ENABLE_ACQ_STRETCH_BIT 12
83#define I2C_INTR_ENABLE_UNEXP_STOP_BIT 13
84#define I2C_INTR_ENABLE_HOST_TIMEOUT_BIT 14
87#define I2C_INTR_TEST_REG_OFFSET 0x8
88#define I2C_INTR_TEST_REG_RESVAL 0x0u
89#define I2C_INTR_TEST_FMT_THRESHOLD_BIT 0
90#define I2C_INTR_TEST_RX_THRESHOLD_BIT 1
91#define I2C_INTR_TEST_ACQ_THRESHOLD_BIT 2
92#define I2C_INTR_TEST_RX_OVERFLOW_BIT 3
93#define I2C_INTR_TEST_CONTROLLER_HALT_BIT 4
94#define I2C_INTR_TEST_SCL_INTERFERENCE_BIT 5
95#define I2C_INTR_TEST_SDA_INTERFERENCE_BIT 6
96#define I2C_INTR_TEST_STRETCH_TIMEOUT_BIT 7
97#define I2C_INTR_TEST_SDA_UNSTABLE_BIT 8
98#define I2C_INTR_TEST_CMD_COMPLETE_BIT 9
99#define I2C_INTR_TEST_TX_STRETCH_BIT 10
100#define I2C_INTR_TEST_TX_THRESHOLD_BIT 11
101#define I2C_INTR_TEST_ACQ_STRETCH_BIT 12
102#define I2C_INTR_TEST_UNEXP_STOP_BIT 13
103#define I2C_INTR_TEST_HOST_TIMEOUT_BIT 14
106#define I2C_ALERT_TEST_REG_OFFSET 0xc
107#define I2C_ALERT_TEST_REG_RESVAL 0x0u
108#define I2C_ALERT_TEST_FATAL_FAULT_BIT 0
111#define I2C_CTRL_REG_OFFSET 0x10
112#define I2C_CTRL_REG_RESVAL 0x0u
113#define I2C_CTRL_ENABLEHOST_BIT 0
114#define I2C_CTRL_ENABLETARGET_BIT 1
115#define I2C_CTRL_LLPBK_BIT 2
116#define I2C_CTRL_NACK_ADDR_AFTER_TIMEOUT_BIT 3
117#define I2C_CTRL_ACK_CTRL_EN_BIT 4
118#define I2C_CTRL_MULTI_CONTROLLER_MONITOR_EN_BIT 5
119#define I2C_CTRL_TX_STRETCH_CTRL_EN_BIT 6
122#define I2C_STATUS_REG_OFFSET 0x14
123#define I2C_STATUS_REG_RESVAL 0x33cu
124#define I2C_STATUS_FMTFULL_BIT 0
125#define I2C_STATUS_RXFULL_BIT 1
126#define I2C_STATUS_FMTEMPTY_BIT 2
127#define I2C_STATUS_HOSTIDLE_BIT 3
128#define I2C_STATUS_TARGETIDLE_BIT 4
129#define I2C_STATUS_RXEMPTY_BIT 5
130#define I2C_STATUS_TXFULL_BIT 6
131#define I2C_STATUS_ACQFULL_BIT 7
132#define I2C_STATUS_TXEMPTY_BIT 8
133#define I2C_STATUS_ACQEMPTY_BIT 9
134#define I2C_STATUS_ACK_CTRL_STRETCH_BIT 10
137#define I2C_RDATA_REG_OFFSET 0x18
138#define I2C_RDATA_REG_RESVAL 0x0u
139#define I2C_RDATA_RDATA_MASK 0xffu
140#define I2C_RDATA_RDATA_OFFSET 0
141#define I2C_RDATA_RDATA_FIELD \
142 ((bitfield_field32_t) { .mask = I2C_RDATA_RDATA_MASK, .index = I2C_RDATA_RDATA_OFFSET })
145#define I2C_FDATA_REG_OFFSET 0x1c
146#define I2C_FDATA_REG_RESVAL 0x0u
147#define I2C_FDATA_FBYTE_MASK 0xffu
148#define I2C_FDATA_FBYTE_OFFSET 0
149#define I2C_FDATA_FBYTE_FIELD \
150 ((bitfield_field32_t) { .mask = I2C_FDATA_FBYTE_MASK, .index = I2C_FDATA_FBYTE_OFFSET })
151#define I2C_FDATA_START_BIT 8
152#define I2C_FDATA_STOP_BIT 9
153#define I2C_FDATA_READB_BIT 10
154#define I2C_FDATA_RCONT_BIT 11
155#define I2C_FDATA_NAKOK_BIT 12
158#define I2C_FIFO_CTRL_REG_OFFSET 0x20
159#define I2C_FIFO_CTRL_REG_RESVAL 0x0u
160#define I2C_FIFO_CTRL_RXRST_BIT 0
161#define I2C_FIFO_CTRL_FMTRST_BIT 1
162#define I2C_FIFO_CTRL_ACQRST_BIT 7
163#define I2C_FIFO_CTRL_TXRST_BIT 8
166#define I2C_HOST_FIFO_CONFIG_REG_OFFSET 0x24
167#define I2C_HOST_FIFO_CONFIG_REG_RESVAL 0x0u
168#define I2C_HOST_FIFO_CONFIG_RX_THRESH_MASK 0xfffu
169#define I2C_HOST_FIFO_CONFIG_RX_THRESH_OFFSET 0
170#define I2C_HOST_FIFO_CONFIG_RX_THRESH_FIELD \
171 ((bitfield_field32_t) { .mask = I2C_HOST_FIFO_CONFIG_RX_THRESH_MASK, .index = I2C_HOST_FIFO_CONFIG_RX_THRESH_OFFSET })
172#define I2C_HOST_FIFO_CONFIG_FMT_THRESH_MASK 0xfffu
173#define I2C_HOST_FIFO_CONFIG_FMT_THRESH_OFFSET 16
174#define I2C_HOST_FIFO_CONFIG_FMT_THRESH_FIELD \
175 ((bitfield_field32_t) { .mask = I2C_HOST_FIFO_CONFIG_FMT_THRESH_MASK, .index = I2C_HOST_FIFO_CONFIG_FMT_THRESH_OFFSET })
178#define I2C_TARGET_FIFO_CONFIG_REG_OFFSET 0x28
179#define I2C_TARGET_FIFO_CONFIG_REG_RESVAL 0x0u
180#define I2C_TARGET_FIFO_CONFIG_TX_THRESH_MASK 0xfffu
181#define I2C_TARGET_FIFO_CONFIG_TX_THRESH_OFFSET 0
182#define I2C_TARGET_FIFO_CONFIG_TX_THRESH_FIELD \
183 ((bitfield_field32_t) { .mask = I2C_TARGET_FIFO_CONFIG_TX_THRESH_MASK, .index = I2C_TARGET_FIFO_CONFIG_TX_THRESH_OFFSET })
184#define I2C_TARGET_FIFO_CONFIG_ACQ_THRESH_MASK 0xfffu
185#define I2C_TARGET_FIFO_CONFIG_ACQ_THRESH_OFFSET 16
186#define I2C_TARGET_FIFO_CONFIG_ACQ_THRESH_FIELD \
187 ((bitfield_field32_t) { .mask = I2C_TARGET_FIFO_CONFIG_ACQ_THRESH_MASK, .index = I2C_TARGET_FIFO_CONFIG_ACQ_THRESH_OFFSET })
190#define I2C_HOST_FIFO_STATUS_REG_OFFSET 0x2c
191#define I2C_HOST_FIFO_STATUS_REG_RESVAL 0x0u
192#define I2C_HOST_FIFO_STATUS_FMTLVL_MASK 0xfffu
193#define I2C_HOST_FIFO_STATUS_FMTLVL_OFFSET 0
194#define I2C_HOST_FIFO_STATUS_FMTLVL_FIELD \
195 ((bitfield_field32_t) { .mask = I2C_HOST_FIFO_STATUS_FMTLVL_MASK, .index = I2C_HOST_FIFO_STATUS_FMTLVL_OFFSET })
196#define I2C_HOST_FIFO_STATUS_RXLVL_MASK 0xfffu
197#define I2C_HOST_FIFO_STATUS_RXLVL_OFFSET 16
198#define I2C_HOST_FIFO_STATUS_RXLVL_FIELD \
199 ((bitfield_field32_t) { .mask = I2C_HOST_FIFO_STATUS_RXLVL_MASK, .index = I2C_HOST_FIFO_STATUS_RXLVL_OFFSET })
202#define I2C_TARGET_FIFO_STATUS_REG_OFFSET 0x30
203#define I2C_TARGET_FIFO_STATUS_REG_RESVAL 0x0u
204#define I2C_TARGET_FIFO_STATUS_TXLVL_MASK 0xfffu
205#define I2C_TARGET_FIFO_STATUS_TXLVL_OFFSET 0
206#define I2C_TARGET_FIFO_STATUS_TXLVL_FIELD \
207 ((bitfield_field32_t) { .mask = I2C_TARGET_FIFO_STATUS_TXLVL_MASK, .index = I2C_TARGET_FIFO_STATUS_TXLVL_OFFSET })
208#define I2C_TARGET_FIFO_STATUS_ACQLVL_MASK 0xfffu
209#define I2C_TARGET_FIFO_STATUS_ACQLVL_OFFSET 16
210#define I2C_TARGET_FIFO_STATUS_ACQLVL_FIELD \
211 ((bitfield_field32_t) { .mask = I2C_TARGET_FIFO_STATUS_ACQLVL_MASK, .index = I2C_TARGET_FIFO_STATUS_ACQLVL_OFFSET })
214#define I2C_OVRD_REG_OFFSET 0x34
215#define I2C_OVRD_REG_RESVAL 0x0u
216#define I2C_OVRD_TXOVRDEN_BIT 0
217#define I2C_OVRD_SCLVAL_BIT 1
218#define I2C_OVRD_SDAVAL_BIT 2
221#define I2C_VAL_REG_OFFSET 0x38
222#define I2C_VAL_REG_RESVAL 0x0u
223#define I2C_VAL_SCL_RX_MASK 0xffffu
224#define I2C_VAL_SCL_RX_OFFSET 0
225#define I2C_VAL_SCL_RX_FIELD \
226 ((bitfield_field32_t) { .mask = I2C_VAL_SCL_RX_MASK, .index = I2C_VAL_SCL_RX_OFFSET })
227#define I2C_VAL_SDA_RX_MASK 0xffffu
228#define I2C_VAL_SDA_RX_OFFSET 16
229#define I2C_VAL_SDA_RX_FIELD \
230 ((bitfield_field32_t) { .mask = I2C_VAL_SDA_RX_MASK, .index = I2C_VAL_SDA_RX_OFFSET })
234#define I2C_TIMING0_REG_OFFSET 0x3c
235#define I2C_TIMING0_REG_RESVAL 0x0u
236#define I2C_TIMING0_THIGH_MASK 0x1fffu
237#define I2C_TIMING0_THIGH_OFFSET 0
238#define I2C_TIMING0_THIGH_FIELD \
239 ((bitfield_field32_t) { .mask = I2C_TIMING0_THIGH_MASK, .index = I2C_TIMING0_THIGH_OFFSET })
240#define I2C_TIMING0_TLOW_MASK 0x1fffu
241#define I2C_TIMING0_TLOW_OFFSET 16
242#define I2C_TIMING0_TLOW_FIELD \
243 ((bitfield_field32_t) { .mask = I2C_TIMING0_TLOW_MASK, .index = I2C_TIMING0_TLOW_OFFSET })
247#define I2C_TIMING1_REG_OFFSET 0x40
248#define I2C_TIMING1_REG_RESVAL 0x0u
249#define I2C_TIMING1_T_R_MASK 0x3ffu
250#define I2C_TIMING1_T_R_OFFSET 0
251#define I2C_TIMING1_T_R_FIELD \
252 ((bitfield_field32_t) { .mask = I2C_TIMING1_T_R_MASK, .index = I2C_TIMING1_T_R_OFFSET })
253#define I2C_TIMING1_T_F_MASK 0x1ffu
254#define I2C_TIMING1_T_F_OFFSET 16
255#define I2C_TIMING1_T_F_FIELD \
256 ((bitfield_field32_t) { .mask = I2C_TIMING1_T_F_MASK, .index = I2C_TIMING1_T_F_OFFSET })
260#define I2C_TIMING2_REG_OFFSET 0x44
261#define I2C_TIMING2_REG_RESVAL 0x0u
262#define I2C_TIMING2_TSU_STA_MASK 0x1fffu
263#define I2C_TIMING2_TSU_STA_OFFSET 0
264#define I2C_TIMING2_TSU_STA_FIELD \
265 ((bitfield_field32_t) { .mask = I2C_TIMING2_TSU_STA_MASK, .index = I2C_TIMING2_TSU_STA_OFFSET })
266#define I2C_TIMING2_THD_STA_MASK 0x1fffu
267#define I2C_TIMING2_THD_STA_OFFSET 16
268#define I2C_TIMING2_THD_STA_FIELD \
269 ((bitfield_field32_t) { .mask = I2C_TIMING2_THD_STA_MASK, .index = I2C_TIMING2_THD_STA_OFFSET })
273#define I2C_TIMING3_REG_OFFSET 0x48
274#define I2C_TIMING3_REG_RESVAL 0x0u
275#define I2C_TIMING3_TSU_DAT_MASK 0x1ffu
276#define I2C_TIMING3_TSU_DAT_OFFSET 0
277#define I2C_TIMING3_TSU_DAT_FIELD \
278 ((bitfield_field32_t) { .mask = I2C_TIMING3_TSU_DAT_MASK, .index = I2C_TIMING3_TSU_DAT_OFFSET })
279#define I2C_TIMING3_THD_DAT_MASK 0x1fffu
280#define I2C_TIMING3_THD_DAT_OFFSET 16
281#define I2C_TIMING3_THD_DAT_FIELD \
282 ((bitfield_field32_t) { .mask = I2C_TIMING3_THD_DAT_MASK, .index = I2C_TIMING3_THD_DAT_OFFSET })
286#define I2C_TIMING4_REG_OFFSET 0x4c
287#define I2C_TIMING4_REG_RESVAL 0x0u
288#define I2C_TIMING4_TSU_STO_MASK 0x1fffu
289#define I2C_TIMING4_TSU_STO_OFFSET 0
290#define I2C_TIMING4_TSU_STO_FIELD \
291 ((bitfield_field32_t) { .mask = I2C_TIMING4_TSU_STO_MASK, .index = I2C_TIMING4_TSU_STO_OFFSET })
292#define I2C_TIMING4_T_BUF_MASK 0x1fffu
293#define I2C_TIMING4_T_BUF_OFFSET 16
294#define I2C_TIMING4_T_BUF_FIELD \
295 ((bitfield_field32_t) { .mask = I2C_TIMING4_T_BUF_MASK, .index = I2C_TIMING4_T_BUF_OFFSET })
298#define I2C_TIMEOUT_CTRL_REG_OFFSET 0x50
299#define I2C_TIMEOUT_CTRL_REG_RESVAL 0x0u
300#define I2C_TIMEOUT_CTRL_VAL_MASK 0x3fffffffu
301#define I2C_TIMEOUT_CTRL_VAL_OFFSET 0
302#define I2C_TIMEOUT_CTRL_VAL_FIELD \
303 ((bitfield_field32_t) { .mask = I2C_TIMEOUT_CTRL_VAL_MASK, .index = I2C_TIMEOUT_CTRL_VAL_OFFSET })
304#define I2C_TIMEOUT_CTRL_MODE_BIT 30
305#define I2C_TIMEOUT_CTRL_MODE_VALUE_STRETCH_TIMEOUT 0x0
306#define I2C_TIMEOUT_CTRL_MODE_VALUE_BUS_TIMEOUT 0x1
307#define I2C_TIMEOUT_CTRL_EN_BIT 31
310#define I2C_TARGET_ID_REG_OFFSET 0x54
311#define I2C_TARGET_ID_REG_RESVAL 0x0u
312#define I2C_TARGET_ID_ADDRESS0_MASK 0x7fu
313#define I2C_TARGET_ID_ADDRESS0_OFFSET 0
314#define I2C_TARGET_ID_ADDRESS0_FIELD \
315 ((bitfield_field32_t) { .mask = I2C_TARGET_ID_ADDRESS0_MASK, .index = I2C_TARGET_ID_ADDRESS0_OFFSET })
316#define I2C_TARGET_ID_MASK0_MASK 0x7fu
317#define I2C_TARGET_ID_MASK0_OFFSET 7
318#define I2C_TARGET_ID_MASK0_FIELD \
319 ((bitfield_field32_t) { .mask = I2C_TARGET_ID_MASK0_MASK, .index = I2C_TARGET_ID_MASK0_OFFSET })
320#define I2C_TARGET_ID_ADDRESS1_MASK 0x7fu
321#define I2C_TARGET_ID_ADDRESS1_OFFSET 14
322#define I2C_TARGET_ID_ADDRESS1_FIELD \
323 ((bitfield_field32_t) { .mask = I2C_TARGET_ID_ADDRESS1_MASK, .index = I2C_TARGET_ID_ADDRESS1_OFFSET })
324#define I2C_TARGET_ID_MASK1_MASK 0x7fu
325#define I2C_TARGET_ID_MASK1_OFFSET 21
326#define I2C_TARGET_ID_MASK1_FIELD \
327 ((bitfield_field32_t) { .mask = I2C_TARGET_ID_MASK1_MASK, .index = I2C_TARGET_ID_MASK1_OFFSET })
330#define I2C_ACQDATA_REG_OFFSET 0x58
331#define I2C_ACQDATA_REG_RESVAL 0x0u
332#define I2C_ACQDATA_ABYTE_MASK 0xffu
333#define I2C_ACQDATA_ABYTE_OFFSET 0
334#define I2C_ACQDATA_ABYTE_FIELD \
335 ((bitfield_field32_t) { .mask = I2C_ACQDATA_ABYTE_MASK, .index = I2C_ACQDATA_ABYTE_OFFSET })
336#define I2C_ACQDATA_SIGNAL_MASK 0x7u
337#define I2C_ACQDATA_SIGNAL_OFFSET 8
338#define I2C_ACQDATA_SIGNAL_FIELD \
339 ((bitfield_field32_t) { .mask = I2C_ACQDATA_SIGNAL_MASK, .index = I2C_ACQDATA_SIGNAL_OFFSET })
340#define I2C_ACQDATA_SIGNAL_VALUE_NONE 0x0
341#define I2C_ACQDATA_SIGNAL_VALUE_START 0x1
342#define I2C_ACQDATA_SIGNAL_VALUE_STOP 0x2
343#define I2C_ACQDATA_SIGNAL_VALUE_RESTART 0x3
344#define I2C_ACQDATA_SIGNAL_VALUE_NACK 0x4
345#define I2C_ACQDATA_SIGNAL_VALUE_NACK_START 0x5
346#define I2C_ACQDATA_SIGNAL_VALUE_NACK_STOP 0x6
349#define I2C_TXDATA_REG_OFFSET 0x5c
350#define I2C_TXDATA_REG_RESVAL 0x0u
351#define I2C_TXDATA_TXDATA_MASK 0xffu
352#define I2C_TXDATA_TXDATA_OFFSET 0
353#define I2C_TXDATA_TXDATA_FIELD \
354 ((bitfield_field32_t) { .mask = I2C_TXDATA_TXDATA_MASK, .index = I2C_TXDATA_TXDATA_OFFSET })
358#define I2C_HOST_TIMEOUT_CTRL_REG_OFFSET 0x60
359#define I2C_HOST_TIMEOUT_CTRL_REG_RESVAL 0x0u
360#define I2C_HOST_TIMEOUT_CTRL_HOST_TIMEOUT_CTRL_MASK 0xfffffu
361#define I2C_HOST_TIMEOUT_CTRL_HOST_TIMEOUT_CTRL_OFFSET 0
362#define I2C_HOST_TIMEOUT_CTRL_HOST_TIMEOUT_CTRL_FIELD \
363 ((bitfield_field32_t) { .mask = I2C_HOST_TIMEOUT_CTRL_HOST_TIMEOUT_CTRL_MASK, .index = I2C_HOST_TIMEOUT_CTRL_HOST_TIMEOUT_CTRL_OFFSET })
366#define I2C_TARGET_TIMEOUT_CTRL_REG_OFFSET 0x64
367#define I2C_TARGET_TIMEOUT_CTRL_REG_RESVAL 0x0u
368#define I2C_TARGET_TIMEOUT_CTRL_VAL_MASK 0x7fffffffu
369#define I2C_TARGET_TIMEOUT_CTRL_VAL_OFFSET 0
370#define I2C_TARGET_TIMEOUT_CTRL_VAL_FIELD \
371 ((bitfield_field32_t) { .mask = I2C_TARGET_TIMEOUT_CTRL_VAL_MASK, .index = I2C_TARGET_TIMEOUT_CTRL_VAL_OFFSET })
372#define I2C_TARGET_TIMEOUT_CTRL_EN_BIT 31
376#define I2C_TARGET_NACK_COUNT_REG_OFFSET 0x68
377#define I2C_TARGET_NACK_COUNT_REG_RESVAL 0x0u
378#define I2C_TARGET_NACK_COUNT_TARGET_NACK_COUNT_MASK 0xffu
379#define I2C_TARGET_NACK_COUNT_TARGET_NACK_COUNT_OFFSET 0
380#define I2C_TARGET_NACK_COUNT_TARGET_NACK_COUNT_FIELD \
381 ((bitfield_field32_t) { .mask = I2C_TARGET_NACK_COUNT_TARGET_NACK_COUNT_MASK, .index = I2C_TARGET_NACK_COUNT_TARGET_NACK_COUNT_OFFSET })
384#define I2C_TARGET_ACK_CTRL_REG_OFFSET 0x6c
385#define I2C_TARGET_ACK_CTRL_REG_RESVAL 0x0u
386#define I2C_TARGET_ACK_CTRL_NBYTES_MASK 0x1ffu
387#define I2C_TARGET_ACK_CTRL_NBYTES_OFFSET 0
388#define I2C_TARGET_ACK_CTRL_NBYTES_FIELD \
389 ((bitfield_field32_t) { .mask = I2C_TARGET_ACK_CTRL_NBYTES_MASK, .index = I2C_TARGET_ACK_CTRL_NBYTES_OFFSET })
390#define I2C_TARGET_ACK_CTRL_NACK_BIT 31
393#define I2C_ACQ_FIFO_NEXT_DATA_REG_OFFSET 0x70
394#define I2C_ACQ_FIFO_NEXT_DATA_REG_RESVAL 0x0u
395#define I2C_ACQ_FIFO_NEXT_DATA_ACQ_FIFO_NEXT_DATA_MASK 0xffu
396#define I2C_ACQ_FIFO_NEXT_DATA_ACQ_FIFO_NEXT_DATA_OFFSET 0
397#define I2C_ACQ_FIFO_NEXT_DATA_ACQ_FIFO_NEXT_DATA_FIELD \
398 ((bitfield_field32_t) { .mask = I2C_ACQ_FIFO_NEXT_DATA_ACQ_FIFO_NEXT_DATA_MASK, .index = I2C_ACQ_FIFO_NEXT_DATA_ACQ_FIFO_NEXT_DATA_OFFSET })
402#define I2C_HOST_NACK_HANDLER_TIMEOUT_REG_OFFSET 0x74
403#define I2C_HOST_NACK_HANDLER_TIMEOUT_REG_RESVAL 0x0u
404#define I2C_HOST_NACK_HANDLER_TIMEOUT_VAL_MASK 0x7fffffffu
405#define I2C_HOST_NACK_HANDLER_TIMEOUT_VAL_OFFSET 0
406#define I2C_HOST_NACK_HANDLER_TIMEOUT_VAL_FIELD \
407 ((bitfield_field32_t) { .mask = I2C_HOST_NACK_HANDLER_TIMEOUT_VAL_MASK, .index = I2C_HOST_NACK_HANDLER_TIMEOUT_VAL_OFFSET })
408#define I2C_HOST_NACK_HANDLER_TIMEOUT_EN_BIT 31
411#define I2C_CONTROLLER_EVENTS_REG_OFFSET 0x78
412#define I2C_CONTROLLER_EVENTS_REG_RESVAL 0x0u
413#define I2C_CONTROLLER_EVENTS_NACK_BIT 0
414#define I2C_CONTROLLER_EVENTS_UNHANDLED_NACK_TIMEOUT_BIT 1
415#define I2C_CONTROLLER_EVENTS_BUS_TIMEOUT_BIT 2
416#define I2C_CONTROLLER_EVENTS_ARBITRATION_LOST_BIT 3
420#define I2C_TARGET_EVENTS_REG_OFFSET 0x7c
421#define I2C_TARGET_EVENTS_REG_RESVAL 0x0u
422#define I2C_TARGET_EVENTS_TX_PENDING_BIT 0
423#define I2C_TARGET_EVENTS_BUS_TIMEOUT_BIT 1
424#define I2C_TARGET_EVENTS_ARBITRATION_LOST_BIT 2