SAME54P20A Test Project
sercom.h
Go to the documentation of this file.
1 
30 #ifndef _SAME54_SERCOM_COMPONENT_
31 #define _SAME54_SERCOM_COMPONENT_
32 
33 /* ========================================================================== */
35 /* ========================================================================== */
38 
39 #define SERCOM_U2201
40 #define REV_SERCOM 0x500
41 
42 /* -------- SERCOM_I2CM_CTRLA : (SERCOM Offset: 0x00) (R/W 32) I2CM I2CM Control A -------- */
43 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
44 typedef union {
45  struct {
46  uint32_t SWRST:1;
47  uint32_t ENABLE:1;
48  uint32_t MODE:3;
49  uint32_t :2;
50  uint32_t RUNSTDBY:1;
51  uint32_t :8;
52  uint32_t PINOUT:1;
53  uint32_t :3;
54  uint32_t SDAHOLD:2;
55  uint32_t MEXTTOEN:1;
56  uint32_t SEXTTOEN:1;
57  uint32_t SPEED:2;
58  uint32_t :1;
59  uint32_t SCLSM:1;
60  uint32_t INACTOUT:2;
61  uint32_t LOWTOUTEN:1;
62  uint32_t :1;
63  } bit;
64  uint32_t reg;
66 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
67 
68 #define SERCOM_I2CM_CTRLA_OFFSET 0x00
69 #define SERCOM_I2CM_CTRLA_RESETVALUE _U_(0x00000000)
71 #define SERCOM_I2CM_CTRLA_SWRST_Pos 0
72 #define SERCOM_I2CM_CTRLA_SWRST (_U_(0x1) << SERCOM_I2CM_CTRLA_SWRST_Pos)
73 #define SERCOM_I2CM_CTRLA_ENABLE_Pos 1
74 #define SERCOM_I2CM_CTRLA_ENABLE (_U_(0x1) << SERCOM_I2CM_CTRLA_ENABLE_Pos)
75 #define SERCOM_I2CM_CTRLA_MODE_Pos 2
76 #define SERCOM_I2CM_CTRLA_MODE_Msk (_U_(0x7) << SERCOM_I2CM_CTRLA_MODE_Pos)
77 #define SERCOM_I2CM_CTRLA_MODE(value) (SERCOM_I2CM_CTRLA_MODE_Msk & ((value) << SERCOM_I2CM_CTRLA_MODE_Pos))
78 #define SERCOM_I2CM_CTRLA_RUNSTDBY_Pos 7
79 #define SERCOM_I2CM_CTRLA_RUNSTDBY (_U_(0x1) << SERCOM_I2CM_CTRLA_RUNSTDBY_Pos)
80 #define SERCOM_I2CM_CTRLA_PINOUT_Pos 16
81 #define SERCOM_I2CM_CTRLA_PINOUT (_U_(0x1) << SERCOM_I2CM_CTRLA_PINOUT_Pos)
82 #define SERCOM_I2CM_CTRLA_SDAHOLD_Pos 20
83 #define SERCOM_I2CM_CTRLA_SDAHOLD_Msk (_U_(0x3) << SERCOM_I2CM_CTRLA_SDAHOLD_Pos)
84 #define SERCOM_I2CM_CTRLA_SDAHOLD(value) (SERCOM_I2CM_CTRLA_SDAHOLD_Msk & ((value) << SERCOM_I2CM_CTRLA_SDAHOLD_Pos))
85 #define SERCOM_I2CM_CTRLA_MEXTTOEN_Pos 22
86 #define SERCOM_I2CM_CTRLA_MEXTTOEN (_U_(0x1) << SERCOM_I2CM_CTRLA_MEXTTOEN_Pos)
87 #define SERCOM_I2CM_CTRLA_SEXTTOEN_Pos 23
88 #define SERCOM_I2CM_CTRLA_SEXTTOEN (_U_(0x1) << SERCOM_I2CM_CTRLA_SEXTTOEN_Pos)
89 #define SERCOM_I2CM_CTRLA_SPEED_Pos 24
90 #define SERCOM_I2CM_CTRLA_SPEED_Msk (_U_(0x3) << SERCOM_I2CM_CTRLA_SPEED_Pos)
91 #define SERCOM_I2CM_CTRLA_SPEED(value) (SERCOM_I2CM_CTRLA_SPEED_Msk & ((value) << SERCOM_I2CM_CTRLA_SPEED_Pos))
92 #define SERCOM_I2CM_CTRLA_SCLSM_Pos 27
93 #define SERCOM_I2CM_CTRLA_SCLSM (_U_(0x1) << SERCOM_I2CM_CTRLA_SCLSM_Pos)
94 #define SERCOM_I2CM_CTRLA_INACTOUT_Pos 28
95 #define SERCOM_I2CM_CTRLA_INACTOUT_Msk (_U_(0x3) << SERCOM_I2CM_CTRLA_INACTOUT_Pos)
96 #define SERCOM_I2CM_CTRLA_INACTOUT(value) (SERCOM_I2CM_CTRLA_INACTOUT_Msk & ((value) << SERCOM_I2CM_CTRLA_INACTOUT_Pos))
97 #define SERCOM_I2CM_CTRLA_LOWTOUTEN_Pos 30
98 #define SERCOM_I2CM_CTRLA_LOWTOUTEN (_U_(0x1) << SERCOM_I2CM_CTRLA_LOWTOUTEN_Pos)
99 #define SERCOM_I2CM_CTRLA_MASK _U_(0x7BF1009F)
101 /* -------- SERCOM_I2CS_CTRLA : (SERCOM Offset: 0x00) (R/W 32) I2CS I2CS Control A -------- */
102 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
103 typedef union {
104  struct {
105  uint32_t SWRST:1;
106  uint32_t ENABLE:1;
107  uint32_t MODE:3;
108  uint32_t :2;
109  uint32_t RUNSTDBY:1;
110  uint32_t :8;
111  uint32_t PINOUT:1;
112  uint32_t :3;
113  uint32_t SDAHOLD:2;
114  uint32_t :1;
115  uint32_t SEXTTOEN:1;
116  uint32_t SPEED:2;
117  uint32_t :1;
118  uint32_t SCLSM:1;
119  uint32_t :2;
120  uint32_t LOWTOUTEN:1;
121  uint32_t :1;
122  } bit;
123  uint32_t reg;
125 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
126 
127 #define SERCOM_I2CS_CTRLA_OFFSET 0x00
128 #define SERCOM_I2CS_CTRLA_RESETVALUE _U_(0x00000000)
130 #define SERCOM_I2CS_CTRLA_SWRST_Pos 0
131 #define SERCOM_I2CS_CTRLA_SWRST (_U_(0x1) << SERCOM_I2CS_CTRLA_SWRST_Pos)
132 #define SERCOM_I2CS_CTRLA_ENABLE_Pos 1
133 #define SERCOM_I2CS_CTRLA_ENABLE (_U_(0x1) << SERCOM_I2CS_CTRLA_ENABLE_Pos)
134 #define SERCOM_I2CS_CTRLA_MODE_Pos 2
135 #define SERCOM_I2CS_CTRLA_MODE_Msk (_U_(0x7) << SERCOM_I2CS_CTRLA_MODE_Pos)
136 #define SERCOM_I2CS_CTRLA_MODE(value) (SERCOM_I2CS_CTRLA_MODE_Msk & ((value) << SERCOM_I2CS_CTRLA_MODE_Pos))
137 #define SERCOM_I2CS_CTRLA_RUNSTDBY_Pos 7
138 #define SERCOM_I2CS_CTRLA_RUNSTDBY (_U_(0x1) << SERCOM_I2CS_CTRLA_RUNSTDBY_Pos)
139 #define SERCOM_I2CS_CTRLA_PINOUT_Pos 16
140 #define SERCOM_I2CS_CTRLA_PINOUT (_U_(0x1) << SERCOM_I2CS_CTRLA_PINOUT_Pos)
141 #define SERCOM_I2CS_CTRLA_SDAHOLD_Pos 20
142 #define SERCOM_I2CS_CTRLA_SDAHOLD_Msk (_U_(0x3) << SERCOM_I2CS_CTRLA_SDAHOLD_Pos)
143 #define SERCOM_I2CS_CTRLA_SDAHOLD(value) (SERCOM_I2CS_CTRLA_SDAHOLD_Msk & ((value) << SERCOM_I2CS_CTRLA_SDAHOLD_Pos))
144 #define SERCOM_I2CS_CTRLA_SEXTTOEN_Pos 23
145 #define SERCOM_I2CS_CTRLA_SEXTTOEN (_U_(0x1) << SERCOM_I2CS_CTRLA_SEXTTOEN_Pos)
146 #define SERCOM_I2CS_CTRLA_SPEED_Pos 24
147 #define SERCOM_I2CS_CTRLA_SPEED_Msk (_U_(0x3) << SERCOM_I2CS_CTRLA_SPEED_Pos)
148 #define SERCOM_I2CS_CTRLA_SPEED(value) (SERCOM_I2CS_CTRLA_SPEED_Msk & ((value) << SERCOM_I2CS_CTRLA_SPEED_Pos))
149 #define SERCOM_I2CS_CTRLA_SCLSM_Pos 27
150 #define SERCOM_I2CS_CTRLA_SCLSM (_U_(0x1) << SERCOM_I2CS_CTRLA_SCLSM_Pos)
151 #define SERCOM_I2CS_CTRLA_LOWTOUTEN_Pos 30
152 #define SERCOM_I2CS_CTRLA_LOWTOUTEN (_U_(0x1) << SERCOM_I2CS_CTRLA_LOWTOUTEN_Pos)
153 #define SERCOM_I2CS_CTRLA_MASK _U_(0x4BB1009F)
155 /* -------- SERCOM_SPI_CTRLA : (SERCOM Offset: 0x00) (R/W 32) SPI SPI Control A -------- */
156 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
157 typedef union {
158  struct {
159  uint32_t SWRST:1;
160  uint32_t ENABLE:1;
161  uint32_t MODE:3;
162  uint32_t :2;
163  uint32_t RUNSTDBY:1;
164  uint32_t IBON:1;
165  uint32_t :7;
166  uint32_t DOPO:2;
167  uint32_t :2;
168  uint32_t DIPO:2;
169  uint32_t :2;
170  uint32_t FORM:4;
171  uint32_t CPHA:1;
172  uint32_t CPOL:1;
173  uint32_t DORD:1;
174  uint32_t :1;
175  } bit;
176  uint32_t reg;
178 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
179 
180 #define SERCOM_SPI_CTRLA_OFFSET 0x00
181 #define SERCOM_SPI_CTRLA_RESETVALUE _U_(0x00000000)
183 #define SERCOM_SPI_CTRLA_SWRST_Pos 0
184 #define SERCOM_SPI_CTRLA_SWRST (_U_(0x1) << SERCOM_SPI_CTRLA_SWRST_Pos)
185 #define SERCOM_SPI_CTRLA_ENABLE_Pos 1
186 #define SERCOM_SPI_CTRLA_ENABLE (_U_(0x1) << SERCOM_SPI_CTRLA_ENABLE_Pos)
187 #define SERCOM_SPI_CTRLA_MODE_Pos 2
188 #define SERCOM_SPI_CTRLA_MODE_Msk (_U_(0x7) << SERCOM_SPI_CTRLA_MODE_Pos)
189 #define SERCOM_SPI_CTRLA_MODE(value) (SERCOM_SPI_CTRLA_MODE_Msk & ((value) << SERCOM_SPI_CTRLA_MODE_Pos))
190 #define SERCOM_SPI_CTRLA_RUNSTDBY_Pos 7
191 #define SERCOM_SPI_CTRLA_RUNSTDBY (_U_(0x1) << SERCOM_SPI_CTRLA_RUNSTDBY_Pos)
192 #define SERCOM_SPI_CTRLA_IBON_Pos 8
193 #define SERCOM_SPI_CTRLA_IBON (_U_(0x1) << SERCOM_SPI_CTRLA_IBON_Pos)
194 #define SERCOM_SPI_CTRLA_DOPO_Pos 16
195 #define SERCOM_SPI_CTRLA_DOPO_Msk (_U_(0x3) << SERCOM_SPI_CTRLA_DOPO_Pos)
196 #define SERCOM_SPI_CTRLA_DOPO(value) (SERCOM_SPI_CTRLA_DOPO_Msk & ((value) << SERCOM_SPI_CTRLA_DOPO_Pos))
197 #define SERCOM_SPI_CTRLA_DIPO_Pos 20
198 #define SERCOM_SPI_CTRLA_DIPO_Msk (_U_(0x3) << SERCOM_SPI_CTRLA_DIPO_Pos)
199 #define SERCOM_SPI_CTRLA_DIPO(value) (SERCOM_SPI_CTRLA_DIPO_Msk & ((value) << SERCOM_SPI_CTRLA_DIPO_Pos))
200 #define SERCOM_SPI_CTRLA_FORM_Pos 24
201 #define SERCOM_SPI_CTRLA_FORM_Msk (_U_(0xF) << SERCOM_SPI_CTRLA_FORM_Pos)
202 #define SERCOM_SPI_CTRLA_FORM(value) (SERCOM_SPI_CTRLA_FORM_Msk & ((value) << SERCOM_SPI_CTRLA_FORM_Pos))
203 #define SERCOM_SPI_CTRLA_CPHA_Pos 28
204 #define SERCOM_SPI_CTRLA_CPHA (_U_(0x1) << SERCOM_SPI_CTRLA_CPHA_Pos)
205 #define SERCOM_SPI_CTRLA_CPOL_Pos 29
206 #define SERCOM_SPI_CTRLA_CPOL (_U_(0x1) << SERCOM_SPI_CTRLA_CPOL_Pos)
207 #define SERCOM_SPI_CTRLA_DORD_Pos 30
208 #define SERCOM_SPI_CTRLA_DORD (_U_(0x1) << SERCOM_SPI_CTRLA_DORD_Pos)
209 #define SERCOM_SPI_CTRLA_MASK _U_(0x7F33019F)
211 /* -------- SERCOM_USART_CTRLA : (SERCOM Offset: 0x00) (R/W 32) USART USART Control A -------- */
212 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
213 typedef union {
214  struct {
215  uint32_t SWRST:1;
216  uint32_t ENABLE:1;
217  uint32_t MODE:3;
218  uint32_t :2;
219  uint32_t RUNSTDBY:1;
220  uint32_t IBON:1;
221  uint32_t TXINV:1;
222  uint32_t RXINV:1;
223  uint32_t :2;
224  uint32_t SAMPR:3;
225  uint32_t TXPO:2;
226  uint32_t :2;
227  uint32_t RXPO:2;
228  uint32_t SAMPA:2;
229  uint32_t FORM:4;
230  uint32_t CMODE:1;
231  uint32_t CPOL:1;
232  uint32_t DORD:1;
233  uint32_t :1;
234  } bit;
235  uint32_t reg;
237 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
238 
239 #define SERCOM_USART_CTRLA_OFFSET 0x00
240 #define SERCOM_USART_CTRLA_RESETVALUE _U_(0x00000000)
242 #define SERCOM_USART_CTRLA_SWRST_Pos 0
243 #define SERCOM_USART_CTRLA_SWRST (_U_(0x1) << SERCOM_USART_CTRLA_SWRST_Pos)
244 #define SERCOM_USART_CTRLA_ENABLE_Pos 1
245 #define SERCOM_USART_CTRLA_ENABLE (_U_(0x1) << SERCOM_USART_CTRLA_ENABLE_Pos)
246 #define SERCOM_USART_CTRLA_MODE_Pos 2
247 #define SERCOM_USART_CTRLA_MODE_Msk (_U_(0x7) << SERCOM_USART_CTRLA_MODE_Pos)
248 #define SERCOM_USART_CTRLA_MODE(value) (SERCOM_USART_CTRLA_MODE_Msk & ((value) << SERCOM_USART_CTRLA_MODE_Pos))
249 #define SERCOM_USART_CTRLA_RUNSTDBY_Pos 7
250 #define SERCOM_USART_CTRLA_RUNSTDBY (_U_(0x1) << SERCOM_USART_CTRLA_RUNSTDBY_Pos)
251 #define SERCOM_USART_CTRLA_IBON_Pos 8
252 #define SERCOM_USART_CTRLA_IBON (_U_(0x1) << SERCOM_USART_CTRLA_IBON_Pos)
253 #define SERCOM_USART_CTRLA_TXINV_Pos 9
254 #define SERCOM_USART_CTRLA_TXINV (_U_(0x1) << SERCOM_USART_CTRLA_TXINV_Pos)
255 #define SERCOM_USART_CTRLA_RXINV_Pos 10
256 #define SERCOM_USART_CTRLA_RXINV (_U_(0x1) << SERCOM_USART_CTRLA_RXINV_Pos)
257 #define SERCOM_USART_CTRLA_SAMPR_Pos 13
258 #define SERCOM_USART_CTRLA_SAMPR_Msk (_U_(0x7) << SERCOM_USART_CTRLA_SAMPR_Pos)
259 #define SERCOM_USART_CTRLA_SAMPR(value) (SERCOM_USART_CTRLA_SAMPR_Msk & ((value) << SERCOM_USART_CTRLA_SAMPR_Pos))
260 #define SERCOM_USART_CTRLA_TXPO_Pos 16
261 #define SERCOM_USART_CTRLA_TXPO_Msk (_U_(0x3) << SERCOM_USART_CTRLA_TXPO_Pos)
262 #define SERCOM_USART_CTRLA_TXPO(value) (SERCOM_USART_CTRLA_TXPO_Msk & ((value) << SERCOM_USART_CTRLA_TXPO_Pos))
263 #define SERCOM_USART_CTRLA_RXPO_Pos 20
264 #define SERCOM_USART_CTRLA_RXPO_Msk (_U_(0x3) << SERCOM_USART_CTRLA_RXPO_Pos)
265 #define SERCOM_USART_CTRLA_RXPO(value) (SERCOM_USART_CTRLA_RXPO_Msk & ((value) << SERCOM_USART_CTRLA_RXPO_Pos))
266 #define SERCOM_USART_CTRLA_SAMPA_Pos 22
267 #define SERCOM_USART_CTRLA_SAMPA_Msk (_U_(0x3) << SERCOM_USART_CTRLA_SAMPA_Pos)
268 #define SERCOM_USART_CTRLA_SAMPA(value) (SERCOM_USART_CTRLA_SAMPA_Msk & ((value) << SERCOM_USART_CTRLA_SAMPA_Pos))
269 #define SERCOM_USART_CTRLA_FORM_Pos 24
270 #define SERCOM_USART_CTRLA_FORM_Msk (_U_(0xF) << SERCOM_USART_CTRLA_FORM_Pos)
271 #define SERCOM_USART_CTRLA_FORM(value) (SERCOM_USART_CTRLA_FORM_Msk & ((value) << SERCOM_USART_CTRLA_FORM_Pos))
272 #define SERCOM_USART_CTRLA_CMODE_Pos 28
273 #define SERCOM_USART_CTRLA_CMODE (_U_(0x1) << SERCOM_USART_CTRLA_CMODE_Pos)
274 #define SERCOM_USART_CTRLA_CPOL_Pos 29
275 #define SERCOM_USART_CTRLA_CPOL (_U_(0x1) << SERCOM_USART_CTRLA_CPOL_Pos)
276 #define SERCOM_USART_CTRLA_DORD_Pos 30
277 #define SERCOM_USART_CTRLA_DORD (_U_(0x1) << SERCOM_USART_CTRLA_DORD_Pos)
278 #define SERCOM_USART_CTRLA_MASK _U_(0x7FF3E79F)
280 /* -------- SERCOM_I2CM_CTRLB : (SERCOM Offset: 0x04) (R/W 32) I2CM I2CM Control B -------- */
281 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
282 typedef union {
283  struct {
284  uint32_t :8;
285  uint32_t SMEN:1;
286  uint32_t QCEN:1;
287  uint32_t :6;
288  uint32_t CMD:2;
289  uint32_t ACKACT:1;
290  uint32_t :13;
291  } bit;
292  uint32_t reg;
294 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
295 
296 #define SERCOM_I2CM_CTRLB_OFFSET 0x04
297 #define SERCOM_I2CM_CTRLB_RESETVALUE _U_(0x00000000)
299 #define SERCOM_I2CM_CTRLB_SMEN_Pos 8
300 #define SERCOM_I2CM_CTRLB_SMEN (_U_(0x1) << SERCOM_I2CM_CTRLB_SMEN_Pos)
301 #define SERCOM_I2CM_CTRLB_QCEN_Pos 9
302 #define SERCOM_I2CM_CTRLB_QCEN (_U_(0x1) << SERCOM_I2CM_CTRLB_QCEN_Pos)
303 #define SERCOM_I2CM_CTRLB_CMD_Pos 16
304 #define SERCOM_I2CM_CTRLB_CMD_Msk (_U_(0x3) << SERCOM_I2CM_CTRLB_CMD_Pos)
305 #define SERCOM_I2CM_CTRLB_CMD(value) (SERCOM_I2CM_CTRLB_CMD_Msk & ((value) << SERCOM_I2CM_CTRLB_CMD_Pos))
306 #define SERCOM_I2CM_CTRLB_ACKACT_Pos 18
307 #define SERCOM_I2CM_CTRLB_ACKACT (_U_(0x1) << SERCOM_I2CM_CTRLB_ACKACT_Pos)
308 #define SERCOM_I2CM_CTRLB_MASK _U_(0x00070300)
310 /* -------- SERCOM_I2CS_CTRLB : (SERCOM Offset: 0x04) (R/W 32) I2CS I2CS Control B -------- */
311 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
312 typedef union {
313  struct {
314  uint32_t :8;
315  uint32_t SMEN:1;
316  uint32_t GCMD:1;
317  uint32_t AACKEN:1;
318  uint32_t :3;
319  uint32_t AMODE:2;
320  uint32_t CMD:2;
321  uint32_t ACKACT:1;
322  uint32_t :13;
323  } bit;
324  uint32_t reg;
326 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
327 
328 #define SERCOM_I2CS_CTRLB_OFFSET 0x04
329 #define SERCOM_I2CS_CTRLB_RESETVALUE _U_(0x00000000)
331 #define SERCOM_I2CS_CTRLB_SMEN_Pos 8
332 #define SERCOM_I2CS_CTRLB_SMEN (_U_(0x1) << SERCOM_I2CS_CTRLB_SMEN_Pos)
333 #define SERCOM_I2CS_CTRLB_GCMD_Pos 9
334 #define SERCOM_I2CS_CTRLB_GCMD (_U_(0x1) << SERCOM_I2CS_CTRLB_GCMD_Pos)
335 #define SERCOM_I2CS_CTRLB_AACKEN_Pos 10
336 #define SERCOM_I2CS_CTRLB_AACKEN (_U_(0x1) << SERCOM_I2CS_CTRLB_AACKEN_Pos)
337 #define SERCOM_I2CS_CTRLB_AMODE_Pos 14
338 #define SERCOM_I2CS_CTRLB_AMODE_Msk (_U_(0x3) << SERCOM_I2CS_CTRLB_AMODE_Pos)
339 #define SERCOM_I2CS_CTRLB_AMODE(value) (SERCOM_I2CS_CTRLB_AMODE_Msk & ((value) << SERCOM_I2CS_CTRLB_AMODE_Pos))
340 #define SERCOM_I2CS_CTRLB_CMD_Pos 16
341 #define SERCOM_I2CS_CTRLB_CMD_Msk (_U_(0x3) << SERCOM_I2CS_CTRLB_CMD_Pos)
342 #define SERCOM_I2CS_CTRLB_CMD(value) (SERCOM_I2CS_CTRLB_CMD_Msk & ((value) << SERCOM_I2CS_CTRLB_CMD_Pos))
343 #define SERCOM_I2CS_CTRLB_ACKACT_Pos 18
344 #define SERCOM_I2CS_CTRLB_ACKACT (_U_(0x1) << SERCOM_I2CS_CTRLB_ACKACT_Pos)
345 #define SERCOM_I2CS_CTRLB_MASK _U_(0x0007C700)
347 /* -------- SERCOM_SPI_CTRLB : (SERCOM Offset: 0x04) (R/W 32) SPI SPI Control B -------- */
348 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
349 typedef union {
350  struct {
351  uint32_t CHSIZE:3;
352  uint32_t :3;
353  uint32_t PLOADEN:1;
354  uint32_t :2;
355  uint32_t SSDE:1;
356  uint32_t :3;
357  uint32_t MSSEN:1;
358  uint32_t AMODE:2;
359  uint32_t :1;
360  uint32_t RXEN:1;
361  uint32_t :14;
362  } bit;
363  uint32_t reg;
365 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
366 
367 #define SERCOM_SPI_CTRLB_OFFSET 0x04
368 #define SERCOM_SPI_CTRLB_RESETVALUE _U_(0x00000000)
370 #define SERCOM_SPI_CTRLB_CHSIZE_Pos 0
371 #define SERCOM_SPI_CTRLB_CHSIZE_Msk (_U_(0x7) << SERCOM_SPI_CTRLB_CHSIZE_Pos)
372 #define SERCOM_SPI_CTRLB_CHSIZE(value) (SERCOM_SPI_CTRLB_CHSIZE_Msk & ((value) << SERCOM_SPI_CTRLB_CHSIZE_Pos))
373 #define SERCOM_SPI_CTRLB_PLOADEN_Pos 6
374 #define SERCOM_SPI_CTRLB_PLOADEN (_U_(0x1) << SERCOM_SPI_CTRLB_PLOADEN_Pos)
375 #define SERCOM_SPI_CTRLB_SSDE_Pos 9
376 #define SERCOM_SPI_CTRLB_SSDE (_U_(0x1) << SERCOM_SPI_CTRLB_SSDE_Pos)
377 #define SERCOM_SPI_CTRLB_MSSEN_Pos 13
378 #define SERCOM_SPI_CTRLB_MSSEN (_U_(0x1) << SERCOM_SPI_CTRLB_MSSEN_Pos)
379 #define SERCOM_SPI_CTRLB_AMODE_Pos 14
380 #define SERCOM_SPI_CTRLB_AMODE_Msk (_U_(0x3) << SERCOM_SPI_CTRLB_AMODE_Pos)
381 #define SERCOM_SPI_CTRLB_AMODE(value) (SERCOM_SPI_CTRLB_AMODE_Msk & ((value) << SERCOM_SPI_CTRLB_AMODE_Pos))
382 #define SERCOM_SPI_CTRLB_RXEN_Pos 17
383 #define SERCOM_SPI_CTRLB_RXEN (_U_(0x1) << SERCOM_SPI_CTRLB_RXEN_Pos)
384 #define SERCOM_SPI_CTRLB_MASK _U_(0x0002E247)
386 /* -------- SERCOM_USART_CTRLB : (SERCOM Offset: 0x04) (R/W 32) USART USART Control B -------- */
387 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
388 typedef union {
389  struct {
390  uint32_t CHSIZE:3;
391  uint32_t :3;
392  uint32_t SBMODE:1;
393  uint32_t :1;
394  uint32_t COLDEN:1;
395  uint32_t SFDE:1;
396  uint32_t ENC:1;
397  uint32_t :2;
398  uint32_t PMODE:1;
399  uint32_t :2;
400  uint32_t TXEN:1;
401  uint32_t RXEN:1;
402  uint32_t :6;
403  uint32_t LINCMD:2;
404  uint32_t :6;
405  } bit;
406  uint32_t reg;
408 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
409 
410 #define SERCOM_USART_CTRLB_OFFSET 0x04
411 #define SERCOM_USART_CTRLB_RESETVALUE _U_(0x00000000)
413 #define SERCOM_USART_CTRLB_CHSIZE_Pos 0
414 #define SERCOM_USART_CTRLB_CHSIZE_Msk (_U_(0x7) << SERCOM_USART_CTRLB_CHSIZE_Pos)
415 #define SERCOM_USART_CTRLB_CHSIZE(value) (SERCOM_USART_CTRLB_CHSIZE_Msk & ((value) << SERCOM_USART_CTRLB_CHSIZE_Pos))
416 #define SERCOM_USART_CTRLB_SBMODE_Pos 6
417 #define SERCOM_USART_CTRLB_SBMODE (_U_(0x1) << SERCOM_USART_CTRLB_SBMODE_Pos)
418 #define SERCOM_USART_CTRLB_COLDEN_Pos 8
419 #define SERCOM_USART_CTRLB_COLDEN (_U_(0x1) << SERCOM_USART_CTRLB_COLDEN_Pos)
420 #define SERCOM_USART_CTRLB_SFDE_Pos 9
421 #define SERCOM_USART_CTRLB_SFDE (_U_(0x1) << SERCOM_USART_CTRLB_SFDE_Pos)
422 #define SERCOM_USART_CTRLB_ENC_Pos 10
423 #define SERCOM_USART_CTRLB_ENC (_U_(0x1) << SERCOM_USART_CTRLB_ENC_Pos)
424 #define SERCOM_USART_CTRLB_PMODE_Pos 13
425 #define SERCOM_USART_CTRLB_PMODE (_U_(0x1) << SERCOM_USART_CTRLB_PMODE_Pos)
426 #define SERCOM_USART_CTRLB_TXEN_Pos 16
427 #define SERCOM_USART_CTRLB_TXEN (_U_(0x1) << SERCOM_USART_CTRLB_TXEN_Pos)
428 #define SERCOM_USART_CTRLB_RXEN_Pos 17
429 #define SERCOM_USART_CTRLB_RXEN (_U_(0x1) << SERCOM_USART_CTRLB_RXEN_Pos)
430 #define SERCOM_USART_CTRLB_LINCMD_Pos 24
431 #define SERCOM_USART_CTRLB_LINCMD_Msk (_U_(0x3) << SERCOM_USART_CTRLB_LINCMD_Pos)
432 #define SERCOM_USART_CTRLB_LINCMD(value) (SERCOM_USART_CTRLB_LINCMD_Msk & ((value) << SERCOM_USART_CTRLB_LINCMD_Pos))
433 #define SERCOM_USART_CTRLB_MASK _U_(0x03032747)
435 /* -------- SERCOM_I2CM_CTRLC : (SERCOM Offset: 0x08) (R/W 32) I2CM I2CM Control C -------- */
436 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
437 typedef union {
438  struct {
439  uint32_t :24;
440  uint32_t DATA32B:1;
441  uint32_t :7;
442  } bit;
443  uint32_t reg;
445 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
446 
447 #define SERCOM_I2CM_CTRLC_OFFSET 0x08
448 #define SERCOM_I2CM_CTRLC_RESETVALUE _U_(0x00000000)
450 #define SERCOM_I2CM_CTRLC_DATA32B_Pos 24
451 #define SERCOM_I2CM_CTRLC_DATA32B (_U_(0x1) << SERCOM_I2CM_CTRLC_DATA32B_Pos)
452 #define SERCOM_I2CM_CTRLC_MASK _U_(0x01000000)
454 /* -------- SERCOM_I2CS_CTRLC : (SERCOM Offset: 0x08) (R/W 32) I2CS I2CS Control C -------- */
455 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
456 typedef union {
457  struct {
458  uint32_t SDASETUP:4;
459  uint32_t :20;
460  uint32_t DATA32B:1;
461  uint32_t :7;
462  } bit;
463  uint32_t reg;
465 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
466 
467 #define SERCOM_I2CS_CTRLC_OFFSET 0x08
468 #define SERCOM_I2CS_CTRLC_RESETVALUE _U_(0x00000000)
470 #define SERCOM_I2CS_CTRLC_SDASETUP_Pos 0
471 #define SERCOM_I2CS_CTRLC_SDASETUP_Msk (_U_(0xF) << SERCOM_I2CS_CTRLC_SDASETUP_Pos)
472 #define SERCOM_I2CS_CTRLC_SDASETUP(value) (SERCOM_I2CS_CTRLC_SDASETUP_Msk & ((value) << SERCOM_I2CS_CTRLC_SDASETUP_Pos))
473 #define SERCOM_I2CS_CTRLC_DATA32B_Pos 24
474 #define SERCOM_I2CS_CTRLC_DATA32B (_U_(0x1) << SERCOM_I2CS_CTRLC_DATA32B_Pos)
475 #define SERCOM_I2CS_CTRLC_MASK _U_(0x0100000F)
477 /* -------- SERCOM_SPI_CTRLC : (SERCOM Offset: 0x08) (R/W 32) SPI SPI Control C -------- */
478 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
479 typedef union {
480  struct {
481  uint32_t ICSPACE:6;
482  uint32_t :18;
483  uint32_t DATA32B:1;
484  uint32_t :7;
485  } bit;
486  uint32_t reg;
488 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
489 
490 #define SERCOM_SPI_CTRLC_OFFSET 0x08
491 #define SERCOM_SPI_CTRLC_RESETVALUE _U_(0x00000000)
493 #define SERCOM_SPI_CTRLC_ICSPACE_Pos 0
494 #define SERCOM_SPI_CTRLC_ICSPACE_Msk (_U_(0x3F) << SERCOM_SPI_CTRLC_ICSPACE_Pos)
495 #define SERCOM_SPI_CTRLC_ICSPACE(value) (SERCOM_SPI_CTRLC_ICSPACE_Msk & ((value) << SERCOM_SPI_CTRLC_ICSPACE_Pos))
496 #define SERCOM_SPI_CTRLC_DATA32B_Pos 24
497 #define SERCOM_SPI_CTRLC_DATA32B (_U_(0x1) << SERCOM_SPI_CTRLC_DATA32B_Pos)
498 #define SERCOM_SPI_CTRLC_MASK _U_(0x0100003F)
500 /* -------- SERCOM_USART_CTRLC : (SERCOM Offset: 0x08) (R/W 32) USART USART Control C -------- */
501 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
502 typedef union {
503  struct {
504  uint32_t GTIME:3;
505  uint32_t :5;
506  uint32_t BRKLEN:2;
507  uint32_t HDRDLY:2;
508  uint32_t :4;
509  uint32_t INACK:1;
510  uint32_t DSNACK:1;
511  uint32_t :2;
512  uint32_t MAXITER:3;
513  uint32_t :1;
514  uint32_t DATA32B:2;
515  uint32_t :6;
516  } bit;
517  uint32_t reg;
519 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
520 
521 #define SERCOM_USART_CTRLC_OFFSET 0x08
522 #define SERCOM_USART_CTRLC_RESETVALUE _U_(0x00000000)
524 #define SERCOM_USART_CTRLC_GTIME_Pos 0
525 #define SERCOM_USART_CTRLC_GTIME_Msk (_U_(0x7) << SERCOM_USART_CTRLC_GTIME_Pos)
526 #define SERCOM_USART_CTRLC_GTIME(value) (SERCOM_USART_CTRLC_GTIME_Msk & ((value) << SERCOM_USART_CTRLC_GTIME_Pos))
527 #define SERCOM_USART_CTRLC_BRKLEN_Pos 8
528 #define SERCOM_USART_CTRLC_BRKLEN_Msk (_U_(0x3) << SERCOM_USART_CTRLC_BRKLEN_Pos)
529 #define SERCOM_USART_CTRLC_BRKLEN(value) (SERCOM_USART_CTRLC_BRKLEN_Msk & ((value) << SERCOM_USART_CTRLC_BRKLEN_Pos))
530 #define SERCOM_USART_CTRLC_HDRDLY_Pos 10
531 #define SERCOM_USART_CTRLC_HDRDLY_Msk (_U_(0x3) << SERCOM_USART_CTRLC_HDRDLY_Pos)
532 #define SERCOM_USART_CTRLC_HDRDLY(value) (SERCOM_USART_CTRLC_HDRDLY_Msk & ((value) << SERCOM_USART_CTRLC_HDRDLY_Pos))
533 #define SERCOM_USART_CTRLC_INACK_Pos 16
534 #define SERCOM_USART_CTRLC_INACK (_U_(0x1) << SERCOM_USART_CTRLC_INACK_Pos)
535 #define SERCOM_USART_CTRLC_DSNACK_Pos 17
536 #define SERCOM_USART_CTRLC_DSNACK (_U_(0x1) << SERCOM_USART_CTRLC_DSNACK_Pos)
537 #define SERCOM_USART_CTRLC_MAXITER_Pos 20
538 #define SERCOM_USART_CTRLC_MAXITER_Msk (_U_(0x7) << SERCOM_USART_CTRLC_MAXITER_Pos)
539 #define SERCOM_USART_CTRLC_MAXITER(value) (SERCOM_USART_CTRLC_MAXITER_Msk & ((value) << SERCOM_USART_CTRLC_MAXITER_Pos))
540 #define SERCOM_USART_CTRLC_DATA32B_Pos 24
541 #define SERCOM_USART_CTRLC_DATA32B_Msk (_U_(0x3) << SERCOM_USART_CTRLC_DATA32B_Pos)
542 #define SERCOM_USART_CTRLC_DATA32B(value) (SERCOM_USART_CTRLC_DATA32B_Msk & ((value) << SERCOM_USART_CTRLC_DATA32B_Pos))
543 #define SERCOM_USART_CTRLC_MASK _U_(0x03730F07)
545 /* -------- SERCOM_I2CM_BAUD : (SERCOM Offset: 0x0C) (R/W 32) I2CM I2CM Baud Rate -------- */
546 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
547 typedef union {
548  struct {
549  uint32_t BAUD:8;
550  uint32_t BAUDLOW:8;
551  uint32_t HSBAUD:8;
552  uint32_t HSBAUDLOW:8;
553  } bit;
554  uint32_t reg;
556 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
557 
558 #define SERCOM_I2CM_BAUD_OFFSET 0x0C
559 #define SERCOM_I2CM_BAUD_RESETVALUE _U_(0x00000000)
561 #define SERCOM_I2CM_BAUD_BAUD_Pos 0
562 #define SERCOM_I2CM_BAUD_BAUD_Msk (_U_(0xFF) << SERCOM_I2CM_BAUD_BAUD_Pos)
563 #define SERCOM_I2CM_BAUD_BAUD(value) (SERCOM_I2CM_BAUD_BAUD_Msk & ((value) << SERCOM_I2CM_BAUD_BAUD_Pos))
564 #define SERCOM_I2CM_BAUD_BAUDLOW_Pos 8
565 #define SERCOM_I2CM_BAUD_BAUDLOW_Msk (_U_(0xFF) << SERCOM_I2CM_BAUD_BAUDLOW_Pos)
566 #define SERCOM_I2CM_BAUD_BAUDLOW(value) (SERCOM_I2CM_BAUD_BAUDLOW_Msk & ((value) << SERCOM_I2CM_BAUD_BAUDLOW_Pos))
567 #define SERCOM_I2CM_BAUD_HSBAUD_Pos 16
568 #define SERCOM_I2CM_BAUD_HSBAUD_Msk (_U_(0xFF) << SERCOM_I2CM_BAUD_HSBAUD_Pos)
569 #define SERCOM_I2CM_BAUD_HSBAUD(value) (SERCOM_I2CM_BAUD_HSBAUD_Msk & ((value) << SERCOM_I2CM_BAUD_HSBAUD_Pos))
570 #define SERCOM_I2CM_BAUD_HSBAUDLOW_Pos 24
571 #define SERCOM_I2CM_BAUD_HSBAUDLOW_Msk (_U_(0xFF) << SERCOM_I2CM_BAUD_HSBAUDLOW_Pos)
572 #define SERCOM_I2CM_BAUD_HSBAUDLOW(value) (SERCOM_I2CM_BAUD_HSBAUDLOW_Msk & ((value) << SERCOM_I2CM_BAUD_HSBAUDLOW_Pos))
573 #define SERCOM_I2CM_BAUD_MASK _U_(0xFFFFFFFF)
575 /* -------- SERCOM_SPI_BAUD : (SERCOM Offset: 0x0C) (R/W 8) SPI SPI Baud Rate -------- */
576 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
577 typedef union {
578  struct {
579  uint8_t BAUD:8;
580  } bit;
581  uint8_t reg;
583 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
584 
585 #define SERCOM_SPI_BAUD_OFFSET 0x0C
586 #define SERCOM_SPI_BAUD_RESETVALUE _U_(0x00)
588 #define SERCOM_SPI_BAUD_BAUD_Pos 0
589 #define SERCOM_SPI_BAUD_BAUD_Msk (_U_(0xFF) << SERCOM_SPI_BAUD_BAUD_Pos)
590 #define SERCOM_SPI_BAUD_BAUD(value) (SERCOM_SPI_BAUD_BAUD_Msk & ((value) << SERCOM_SPI_BAUD_BAUD_Pos))
591 #define SERCOM_SPI_BAUD_MASK _U_(0xFF)
593 /* -------- SERCOM_USART_BAUD : (SERCOM Offset: 0x0C) (R/W 16) USART USART Baud Rate -------- */
594 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
595 typedef union {
596  struct {
597  uint16_t BAUD:16;
598  } bit;
599  struct { // FRAC mode
600  uint16_t BAUD:13;
601  uint16_t FP:3;
602  } FRAC;
603  struct { // FRACFP mode
604  uint16_t BAUD:13;
605  uint16_t FP:3;
606  } FRACFP;
607  struct { // USARTFP mode
608  uint16_t BAUD:16;
609  } USARTFP;
610  uint16_t reg;
612 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
613 
614 #define SERCOM_USART_BAUD_OFFSET 0x0C
615 #define SERCOM_USART_BAUD_RESETVALUE _U_(0x0000)
617 #define SERCOM_USART_BAUD_BAUD_Pos 0
618 #define SERCOM_USART_BAUD_BAUD_Msk (_U_(0xFFFF) << SERCOM_USART_BAUD_BAUD_Pos)
619 #define SERCOM_USART_BAUD_BAUD(value) (SERCOM_USART_BAUD_BAUD_Msk & ((value) << SERCOM_USART_BAUD_BAUD_Pos))
620 #define SERCOM_USART_BAUD_MASK _U_(0xFFFF)
622 // FRAC mode
623 #define SERCOM_USART_BAUD_FRAC_BAUD_Pos 0
624 #define SERCOM_USART_BAUD_FRAC_BAUD_Msk (_U_(0x1FFF) << SERCOM_USART_BAUD_FRAC_BAUD_Pos)
625 #define SERCOM_USART_BAUD_FRAC_BAUD(value) (SERCOM_USART_BAUD_FRAC_BAUD_Msk & ((value) << SERCOM_USART_BAUD_FRAC_BAUD_Pos))
626 #define SERCOM_USART_BAUD_FRAC_FP_Pos 13
627 #define SERCOM_USART_BAUD_FRAC_FP_Msk (_U_(0x7) << SERCOM_USART_BAUD_FRAC_FP_Pos)
628 #define SERCOM_USART_BAUD_FRAC_FP(value) (SERCOM_USART_BAUD_FRAC_FP_Msk & ((value) << SERCOM_USART_BAUD_FRAC_FP_Pos))
629 #define SERCOM_USART_BAUD_FRAC_MASK _U_(0xFFFF)
631 // FRACFP mode
632 #define SERCOM_USART_BAUD_FRACFP_BAUD_Pos 0
633 #define SERCOM_USART_BAUD_FRACFP_BAUD_Msk (_U_(0x1FFF) << SERCOM_USART_BAUD_FRACFP_BAUD_Pos)
634 #define SERCOM_USART_BAUD_FRACFP_BAUD(value) (SERCOM_USART_BAUD_FRACFP_BAUD_Msk & ((value) << SERCOM_USART_BAUD_FRACFP_BAUD_Pos))
635 #define SERCOM_USART_BAUD_FRACFP_FP_Pos 13
636 #define SERCOM_USART_BAUD_FRACFP_FP_Msk (_U_(0x7) << SERCOM_USART_BAUD_FRACFP_FP_Pos)
637 #define SERCOM_USART_BAUD_FRACFP_FP(value) (SERCOM_USART_BAUD_FRACFP_FP_Msk & ((value) << SERCOM_USART_BAUD_FRACFP_FP_Pos))
638 #define SERCOM_USART_BAUD_FRACFP_MASK _U_(0xFFFF)
640 // USARTFP mode
641 #define SERCOM_USART_BAUD_USARTFP_BAUD_Pos 0
642 #define SERCOM_USART_BAUD_USARTFP_BAUD_Msk (_U_(0xFFFF) << SERCOM_USART_BAUD_USARTFP_BAUD_Pos)
643 #define SERCOM_USART_BAUD_USARTFP_BAUD(value) (SERCOM_USART_BAUD_USARTFP_BAUD_Msk & ((value) << SERCOM_USART_BAUD_USARTFP_BAUD_Pos))
644 #define SERCOM_USART_BAUD_USARTFP_MASK _U_(0xFFFF)
646 /* -------- SERCOM_USART_RXPL : (SERCOM Offset: 0x0E) (R/W 8) USART USART Receive Pulse Length -------- */
647 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
648 typedef union {
649  struct {
650  uint8_t RXPL:8;
651  } bit;
652  uint8_t reg;
654 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
655 
656 #define SERCOM_USART_RXPL_OFFSET 0x0E
657 #define SERCOM_USART_RXPL_RESETVALUE _U_(0x00)
659 #define SERCOM_USART_RXPL_RXPL_Pos 0
660 #define SERCOM_USART_RXPL_RXPL_Msk (_U_(0xFF) << SERCOM_USART_RXPL_RXPL_Pos)
661 #define SERCOM_USART_RXPL_RXPL(value) (SERCOM_USART_RXPL_RXPL_Msk & ((value) << SERCOM_USART_RXPL_RXPL_Pos))
662 #define SERCOM_USART_RXPL_MASK _U_(0xFF)
664 /* -------- SERCOM_I2CM_INTENCLR : (SERCOM Offset: 0x14) (R/W 8) I2CM I2CM Interrupt Enable Clear -------- */
665 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
666 typedef union {
667  struct {
668  uint8_t MB:1;
669  uint8_t SB:1;
670  uint8_t :5;
671  uint8_t ERROR:1;
672  } bit;
673  uint8_t reg;
675 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
676 
677 #define SERCOM_I2CM_INTENCLR_OFFSET 0x14
678 #define SERCOM_I2CM_INTENCLR_RESETVALUE _U_(0x00)
680 #define SERCOM_I2CM_INTENCLR_MB_Pos 0
681 #define SERCOM_I2CM_INTENCLR_MB (_U_(0x1) << SERCOM_I2CM_INTENCLR_MB_Pos)
682 #define SERCOM_I2CM_INTENCLR_SB_Pos 1
683 #define SERCOM_I2CM_INTENCLR_SB (_U_(0x1) << SERCOM_I2CM_INTENCLR_SB_Pos)
684 #define SERCOM_I2CM_INTENCLR_ERROR_Pos 7
685 #define SERCOM_I2CM_INTENCLR_ERROR (_U_(0x1) << SERCOM_I2CM_INTENCLR_ERROR_Pos)
686 #define SERCOM_I2CM_INTENCLR_MASK _U_(0x83)
688 /* -------- SERCOM_I2CS_INTENCLR : (SERCOM Offset: 0x14) (R/W 8) I2CS I2CS Interrupt Enable Clear -------- */
689 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
690 typedef union {
691  struct {
692  uint8_t PREC:1;
693  uint8_t AMATCH:1;
694  uint8_t DRDY:1;
695  uint8_t :4;
696  uint8_t ERROR:1;
697  } bit;
698  uint8_t reg;
700 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
701 
702 #define SERCOM_I2CS_INTENCLR_OFFSET 0x14
703 #define SERCOM_I2CS_INTENCLR_RESETVALUE _U_(0x00)
705 #define SERCOM_I2CS_INTENCLR_PREC_Pos 0
706 #define SERCOM_I2CS_INTENCLR_PREC (_U_(0x1) << SERCOM_I2CS_INTENCLR_PREC_Pos)
707 #define SERCOM_I2CS_INTENCLR_AMATCH_Pos 1
708 #define SERCOM_I2CS_INTENCLR_AMATCH (_U_(0x1) << SERCOM_I2CS_INTENCLR_AMATCH_Pos)
709 #define SERCOM_I2CS_INTENCLR_DRDY_Pos 2
710 #define SERCOM_I2CS_INTENCLR_DRDY (_U_(0x1) << SERCOM_I2CS_INTENCLR_DRDY_Pos)
711 #define SERCOM_I2CS_INTENCLR_ERROR_Pos 7
712 #define SERCOM_I2CS_INTENCLR_ERROR (_U_(0x1) << SERCOM_I2CS_INTENCLR_ERROR_Pos)
713 #define SERCOM_I2CS_INTENCLR_MASK _U_(0x87)
715 /* -------- SERCOM_SPI_INTENCLR : (SERCOM Offset: 0x14) (R/W 8) SPI SPI Interrupt Enable Clear -------- */
716 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
717 typedef union {
718  struct {
719  uint8_t DRE:1;
720  uint8_t TXC:1;
721  uint8_t RXC:1;
722  uint8_t SSL:1;
723  uint8_t :3;
724  uint8_t ERROR:1;
725  } bit;
726  uint8_t reg;
728 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
729 
730 #define SERCOM_SPI_INTENCLR_OFFSET 0x14
731 #define SERCOM_SPI_INTENCLR_RESETVALUE _U_(0x00)
733 #define SERCOM_SPI_INTENCLR_DRE_Pos 0
734 #define SERCOM_SPI_INTENCLR_DRE (_U_(0x1) << SERCOM_SPI_INTENCLR_DRE_Pos)
735 #define SERCOM_SPI_INTENCLR_TXC_Pos 1
736 #define SERCOM_SPI_INTENCLR_TXC (_U_(0x1) << SERCOM_SPI_INTENCLR_TXC_Pos)
737 #define SERCOM_SPI_INTENCLR_RXC_Pos 2
738 #define SERCOM_SPI_INTENCLR_RXC (_U_(0x1) << SERCOM_SPI_INTENCLR_RXC_Pos)
739 #define SERCOM_SPI_INTENCLR_SSL_Pos 3
740 #define SERCOM_SPI_INTENCLR_SSL (_U_(0x1) << SERCOM_SPI_INTENCLR_SSL_Pos)
741 #define SERCOM_SPI_INTENCLR_ERROR_Pos 7
742 #define SERCOM_SPI_INTENCLR_ERROR (_U_(0x1) << SERCOM_SPI_INTENCLR_ERROR_Pos)
743 #define SERCOM_SPI_INTENCLR_MASK _U_(0x8F)
745 /* -------- SERCOM_USART_INTENCLR : (SERCOM Offset: 0x14) (R/W 8) USART USART Interrupt Enable Clear -------- */
746 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
747 typedef union {
748  struct {
749  uint8_t DRE:1;
750  uint8_t TXC:1;
751  uint8_t RXC:1;
752  uint8_t RXS:1;
753  uint8_t CTSIC:1;
754  uint8_t RXBRK:1;
755  uint8_t :1;
756  uint8_t ERROR:1;
757  } bit;
758  uint8_t reg;
760 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
761 
762 #define SERCOM_USART_INTENCLR_OFFSET 0x14
763 #define SERCOM_USART_INTENCLR_RESETVALUE _U_(0x00)
765 #define SERCOM_USART_INTENCLR_DRE_Pos 0
766 #define SERCOM_USART_INTENCLR_DRE (_U_(0x1) << SERCOM_USART_INTENCLR_DRE_Pos)
767 #define SERCOM_USART_INTENCLR_TXC_Pos 1
768 #define SERCOM_USART_INTENCLR_TXC (_U_(0x1) << SERCOM_USART_INTENCLR_TXC_Pos)
769 #define SERCOM_USART_INTENCLR_RXC_Pos 2
770 #define SERCOM_USART_INTENCLR_RXC (_U_(0x1) << SERCOM_USART_INTENCLR_RXC_Pos)
771 #define SERCOM_USART_INTENCLR_RXS_Pos 3
772 #define SERCOM_USART_INTENCLR_RXS (_U_(0x1) << SERCOM_USART_INTENCLR_RXS_Pos)
773 #define SERCOM_USART_INTENCLR_CTSIC_Pos 4
774 #define SERCOM_USART_INTENCLR_CTSIC (_U_(0x1) << SERCOM_USART_INTENCLR_CTSIC_Pos)
775 #define SERCOM_USART_INTENCLR_RXBRK_Pos 5
776 #define SERCOM_USART_INTENCLR_RXBRK (_U_(0x1) << SERCOM_USART_INTENCLR_RXBRK_Pos)
777 #define SERCOM_USART_INTENCLR_ERROR_Pos 7
778 #define SERCOM_USART_INTENCLR_ERROR (_U_(0x1) << SERCOM_USART_INTENCLR_ERROR_Pos)
779 #define SERCOM_USART_INTENCLR_MASK _U_(0xBF)
781 /* -------- SERCOM_I2CM_INTENSET : (SERCOM Offset: 0x16) (R/W 8) I2CM I2CM Interrupt Enable Set -------- */
782 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
783 typedef union {
784  struct {
785  uint8_t MB:1;
786  uint8_t SB:1;
787  uint8_t :5;
788  uint8_t ERROR:1;
789  } bit;
790  uint8_t reg;
792 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
793 
794 #define SERCOM_I2CM_INTENSET_OFFSET 0x16
795 #define SERCOM_I2CM_INTENSET_RESETVALUE _U_(0x00)
797 #define SERCOM_I2CM_INTENSET_MB_Pos 0
798 #define SERCOM_I2CM_INTENSET_MB (_U_(0x1) << SERCOM_I2CM_INTENSET_MB_Pos)
799 #define SERCOM_I2CM_INTENSET_SB_Pos 1
800 #define SERCOM_I2CM_INTENSET_SB (_U_(0x1) << SERCOM_I2CM_INTENSET_SB_Pos)
801 #define SERCOM_I2CM_INTENSET_ERROR_Pos 7
802 #define SERCOM_I2CM_INTENSET_ERROR (_U_(0x1) << SERCOM_I2CM_INTENSET_ERROR_Pos)
803 #define SERCOM_I2CM_INTENSET_MASK _U_(0x83)
805 /* -------- SERCOM_I2CS_INTENSET : (SERCOM Offset: 0x16) (R/W 8) I2CS I2CS Interrupt Enable Set -------- */
806 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
807 typedef union {
808  struct {
809  uint8_t PREC:1;
810  uint8_t AMATCH:1;
811  uint8_t DRDY:1;
812  uint8_t :4;
813  uint8_t ERROR:1;
814  } bit;
815  uint8_t reg;
817 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
818 
819 #define SERCOM_I2CS_INTENSET_OFFSET 0x16
820 #define SERCOM_I2CS_INTENSET_RESETVALUE _U_(0x00)
822 #define SERCOM_I2CS_INTENSET_PREC_Pos 0
823 #define SERCOM_I2CS_INTENSET_PREC (_U_(0x1) << SERCOM_I2CS_INTENSET_PREC_Pos)
824 #define SERCOM_I2CS_INTENSET_AMATCH_Pos 1
825 #define SERCOM_I2CS_INTENSET_AMATCH (_U_(0x1) << SERCOM_I2CS_INTENSET_AMATCH_Pos)
826 #define SERCOM_I2CS_INTENSET_DRDY_Pos 2
827 #define SERCOM_I2CS_INTENSET_DRDY (_U_(0x1) << SERCOM_I2CS_INTENSET_DRDY_Pos)
828 #define SERCOM_I2CS_INTENSET_ERROR_Pos 7
829 #define SERCOM_I2CS_INTENSET_ERROR (_U_(0x1) << SERCOM_I2CS_INTENSET_ERROR_Pos)
830 #define SERCOM_I2CS_INTENSET_MASK _U_(0x87)
832 /* -------- SERCOM_SPI_INTENSET : (SERCOM Offset: 0x16) (R/W 8) SPI SPI Interrupt Enable Set -------- */
833 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
834 typedef union {
835  struct {
836  uint8_t DRE:1;
837  uint8_t TXC:1;
838  uint8_t RXC:1;
839  uint8_t SSL:1;
840  uint8_t :3;
841  uint8_t ERROR:1;
842  } bit;
843  uint8_t reg;
845 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
846 
847 #define SERCOM_SPI_INTENSET_OFFSET 0x16
848 #define SERCOM_SPI_INTENSET_RESETVALUE _U_(0x00)
850 #define SERCOM_SPI_INTENSET_DRE_Pos 0
851 #define SERCOM_SPI_INTENSET_DRE (_U_(0x1) << SERCOM_SPI_INTENSET_DRE_Pos)
852 #define SERCOM_SPI_INTENSET_TXC_Pos 1
853 #define SERCOM_SPI_INTENSET_TXC (_U_(0x1) << SERCOM_SPI_INTENSET_TXC_Pos)
854 #define SERCOM_SPI_INTENSET_RXC_Pos 2
855 #define SERCOM_SPI_INTENSET_RXC (_U_(0x1) << SERCOM_SPI_INTENSET_RXC_Pos)
856 #define SERCOM_SPI_INTENSET_SSL_Pos 3
857 #define SERCOM_SPI_INTENSET_SSL (_U_(0x1) << SERCOM_SPI_INTENSET_SSL_Pos)
858 #define SERCOM_SPI_INTENSET_ERROR_Pos 7
859 #define SERCOM_SPI_INTENSET_ERROR (_U_(0x1) << SERCOM_SPI_INTENSET_ERROR_Pos)
860 #define SERCOM_SPI_INTENSET_MASK _U_(0x8F)
862 /* -------- SERCOM_USART_INTENSET : (SERCOM Offset: 0x16) (R/W 8) USART USART Interrupt Enable Set -------- */
863 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
864 typedef union {
865  struct {
866  uint8_t DRE:1;
867  uint8_t TXC:1;
868  uint8_t RXC:1;
869  uint8_t RXS:1;
870  uint8_t CTSIC:1;
871  uint8_t RXBRK:1;
872  uint8_t :1;
873  uint8_t ERROR:1;
874  } bit;
875  uint8_t reg;
877 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
878 
879 #define SERCOM_USART_INTENSET_OFFSET 0x16
880 #define SERCOM_USART_INTENSET_RESETVALUE _U_(0x00)
882 #define SERCOM_USART_INTENSET_DRE_Pos 0
883 #define SERCOM_USART_INTENSET_DRE (_U_(0x1) << SERCOM_USART_INTENSET_DRE_Pos)
884 #define SERCOM_USART_INTENSET_TXC_Pos 1
885 #define SERCOM_USART_INTENSET_TXC (_U_(0x1) << SERCOM_USART_INTENSET_TXC_Pos)
886 #define SERCOM_USART_INTENSET_RXC_Pos 2
887 #define SERCOM_USART_INTENSET_RXC (_U_(0x1) << SERCOM_USART_INTENSET_RXC_Pos)
888 #define SERCOM_USART_INTENSET_RXS_Pos 3
889 #define SERCOM_USART_INTENSET_RXS (_U_(0x1) << SERCOM_USART_INTENSET_RXS_Pos)
890 #define SERCOM_USART_INTENSET_CTSIC_Pos 4
891 #define SERCOM_USART_INTENSET_CTSIC (_U_(0x1) << SERCOM_USART_INTENSET_CTSIC_Pos)
892 #define SERCOM_USART_INTENSET_RXBRK_Pos 5
893 #define SERCOM_USART_INTENSET_RXBRK (_U_(0x1) << SERCOM_USART_INTENSET_RXBRK_Pos)
894 #define SERCOM_USART_INTENSET_ERROR_Pos 7
895 #define SERCOM_USART_INTENSET_ERROR (_U_(0x1) << SERCOM_USART_INTENSET_ERROR_Pos)
896 #define SERCOM_USART_INTENSET_MASK _U_(0xBF)
898 /* -------- SERCOM_I2CM_INTFLAG : (SERCOM Offset: 0x18) (R/W 8) I2CM I2CM Interrupt Flag Status and Clear -------- */
899 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
900 typedef union { // __I to avoid read-modify-write on write-to-clear register
901  struct {
902  __I uint8_t MB:1;
903  __I uint8_t SB:1;
904  __I uint8_t :5;
905  __I uint8_t ERROR:1;
906  } bit;
907  uint8_t reg;
909 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
910 
911 #define SERCOM_I2CM_INTFLAG_OFFSET 0x18
912 #define SERCOM_I2CM_INTFLAG_RESETVALUE _U_(0x00)
914 #define SERCOM_I2CM_INTFLAG_MB_Pos 0
915 #define SERCOM_I2CM_INTFLAG_MB (_U_(0x1) << SERCOM_I2CM_INTFLAG_MB_Pos)
916 #define SERCOM_I2CM_INTFLAG_SB_Pos 1
917 #define SERCOM_I2CM_INTFLAG_SB (_U_(0x1) << SERCOM_I2CM_INTFLAG_SB_Pos)
918 #define SERCOM_I2CM_INTFLAG_ERROR_Pos 7
919 #define SERCOM_I2CM_INTFLAG_ERROR (_U_(0x1) << SERCOM_I2CM_INTFLAG_ERROR_Pos)
920 #define SERCOM_I2CM_INTFLAG_MASK _U_(0x83)
922 /* -------- SERCOM_I2CS_INTFLAG : (SERCOM Offset: 0x18) (R/W 8) I2CS I2CS Interrupt Flag Status and Clear -------- */
923 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
924 typedef union { // __I to avoid read-modify-write on write-to-clear register
925  struct {
926  __I uint8_t PREC:1;
927  __I uint8_t AMATCH:1;
928  __I uint8_t DRDY:1;
929  __I uint8_t :4;
930  __I uint8_t ERROR:1;
931  } bit;
932  uint8_t reg;
934 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
935 
936 #define SERCOM_I2CS_INTFLAG_OFFSET 0x18
937 #define SERCOM_I2CS_INTFLAG_RESETVALUE _U_(0x00)
939 #define SERCOM_I2CS_INTFLAG_PREC_Pos 0
940 #define SERCOM_I2CS_INTFLAG_PREC (_U_(0x1) << SERCOM_I2CS_INTFLAG_PREC_Pos)
941 #define SERCOM_I2CS_INTFLAG_AMATCH_Pos 1
942 #define SERCOM_I2CS_INTFLAG_AMATCH (_U_(0x1) << SERCOM_I2CS_INTFLAG_AMATCH_Pos)
943 #define SERCOM_I2CS_INTFLAG_DRDY_Pos 2
944 #define SERCOM_I2CS_INTFLAG_DRDY (_U_(0x1) << SERCOM_I2CS_INTFLAG_DRDY_Pos)
945 #define SERCOM_I2CS_INTFLAG_ERROR_Pos 7
946 #define SERCOM_I2CS_INTFLAG_ERROR (_U_(0x1) << SERCOM_I2CS_INTFLAG_ERROR_Pos)
947 #define SERCOM_I2CS_INTFLAG_MASK _U_(0x87)
949 /* -------- SERCOM_SPI_INTFLAG : (SERCOM Offset: 0x18) (R/W 8) SPI SPI Interrupt Flag Status and Clear -------- */
950 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
951 typedef union { // __I to avoid read-modify-write on write-to-clear register
952  struct {
953  __I uint8_t DRE:1;
954  __I uint8_t TXC:1;
955  __I uint8_t RXC:1;
956  __I uint8_t SSL:1;
957  __I uint8_t :3;
958  __I uint8_t ERROR:1;
959  } bit;
960  uint8_t reg;
962 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
963 
964 #define SERCOM_SPI_INTFLAG_OFFSET 0x18
965 #define SERCOM_SPI_INTFLAG_RESETVALUE _U_(0x00)
967 #define SERCOM_SPI_INTFLAG_DRE_Pos 0
968 #define SERCOM_SPI_INTFLAG_DRE (_U_(0x1) << SERCOM_SPI_INTFLAG_DRE_Pos)
969 #define SERCOM_SPI_INTFLAG_TXC_Pos 1
970 #define SERCOM_SPI_INTFLAG_TXC (_U_(0x1) << SERCOM_SPI_INTFLAG_TXC_Pos)
971 #define SERCOM_SPI_INTFLAG_RXC_Pos 2
972 #define SERCOM_SPI_INTFLAG_RXC (_U_(0x1) << SERCOM_SPI_INTFLAG_RXC_Pos)
973 #define SERCOM_SPI_INTFLAG_SSL_Pos 3
974 #define SERCOM_SPI_INTFLAG_SSL (_U_(0x1) << SERCOM_SPI_INTFLAG_SSL_Pos)
975 #define SERCOM_SPI_INTFLAG_ERROR_Pos 7
976 #define SERCOM_SPI_INTFLAG_ERROR (_U_(0x1) << SERCOM_SPI_INTFLAG_ERROR_Pos)
977 #define SERCOM_SPI_INTFLAG_MASK _U_(0x8F)
979 /* -------- SERCOM_USART_INTFLAG : (SERCOM Offset: 0x18) (R/W 8) USART USART Interrupt Flag Status and Clear -------- */
980 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
981 typedef union { // __I to avoid read-modify-write on write-to-clear register
982  struct {
983  __I uint8_t DRE:1;
984  __I uint8_t TXC:1;
985  __I uint8_t RXC:1;
986  __I uint8_t RXS:1;
987  __I uint8_t CTSIC:1;
988  __I uint8_t RXBRK:1;
989  __I uint8_t :1;
990  __I uint8_t ERROR:1;
991  } bit;
992  uint8_t reg;
994 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
995 
996 #define SERCOM_USART_INTFLAG_OFFSET 0x18
997 #define SERCOM_USART_INTFLAG_RESETVALUE _U_(0x00)
999 #define SERCOM_USART_INTFLAG_DRE_Pos 0
1000 #define SERCOM_USART_INTFLAG_DRE (_U_(0x1) << SERCOM_USART_INTFLAG_DRE_Pos)
1001 #define SERCOM_USART_INTFLAG_TXC_Pos 1
1002 #define SERCOM_USART_INTFLAG_TXC (_U_(0x1) << SERCOM_USART_INTFLAG_TXC_Pos)
1003 #define SERCOM_USART_INTFLAG_RXC_Pos 2
1004 #define SERCOM_USART_INTFLAG_RXC (_U_(0x1) << SERCOM_USART_INTFLAG_RXC_Pos)
1005 #define SERCOM_USART_INTFLAG_RXS_Pos 3
1006 #define SERCOM_USART_INTFLAG_RXS (_U_(0x1) << SERCOM_USART_INTFLAG_RXS_Pos)
1007 #define SERCOM_USART_INTFLAG_CTSIC_Pos 4
1008 #define SERCOM_USART_INTFLAG_CTSIC (_U_(0x1) << SERCOM_USART_INTFLAG_CTSIC_Pos)
1009 #define SERCOM_USART_INTFLAG_RXBRK_Pos 5
1010 #define SERCOM_USART_INTFLAG_RXBRK (_U_(0x1) << SERCOM_USART_INTFLAG_RXBRK_Pos)
1011 #define SERCOM_USART_INTFLAG_ERROR_Pos 7
1012 #define SERCOM_USART_INTFLAG_ERROR (_U_(0x1) << SERCOM_USART_INTFLAG_ERROR_Pos)
1013 #define SERCOM_USART_INTFLAG_MASK _U_(0xBF)
1015 /* -------- SERCOM_I2CM_STATUS : (SERCOM Offset: 0x1A) (R/W 16) I2CM I2CM Status -------- */
1016 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1017 typedef union {
1018  struct {
1019  uint16_t BUSERR:1;
1020  uint16_t ARBLOST:1;
1021  uint16_t RXNACK:1;
1022  uint16_t :1;
1023  uint16_t BUSSTATE:2;
1024  uint16_t LOWTOUT:1;
1025  uint16_t CLKHOLD:1;
1026  uint16_t MEXTTOUT:1;
1027  uint16_t SEXTTOUT:1;
1028  uint16_t LENERR:1;
1029  uint16_t :5;
1030  } bit;
1031  uint16_t reg;
1033 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1034 
1035 #define SERCOM_I2CM_STATUS_OFFSET 0x1A
1036 #define SERCOM_I2CM_STATUS_RESETVALUE _U_(0x0000)
1038 #define SERCOM_I2CM_STATUS_BUSERR_Pos 0
1039 #define SERCOM_I2CM_STATUS_BUSERR (_U_(0x1) << SERCOM_I2CM_STATUS_BUSERR_Pos)
1040 #define SERCOM_I2CM_STATUS_ARBLOST_Pos 1
1041 #define SERCOM_I2CM_STATUS_ARBLOST (_U_(0x1) << SERCOM_I2CM_STATUS_ARBLOST_Pos)
1042 #define SERCOM_I2CM_STATUS_RXNACK_Pos 2
1043 #define SERCOM_I2CM_STATUS_RXNACK (_U_(0x1) << SERCOM_I2CM_STATUS_RXNACK_Pos)
1044 #define SERCOM_I2CM_STATUS_BUSSTATE_Pos 4
1045 #define SERCOM_I2CM_STATUS_BUSSTATE_Msk (_U_(0x3) << SERCOM_I2CM_STATUS_BUSSTATE_Pos)
1046 #define SERCOM_I2CM_STATUS_BUSSTATE(value) (SERCOM_I2CM_STATUS_BUSSTATE_Msk & ((value) << SERCOM_I2CM_STATUS_BUSSTATE_Pos))
1047 #define SERCOM_I2CM_STATUS_LOWTOUT_Pos 6
1048 #define SERCOM_I2CM_STATUS_LOWTOUT (_U_(0x1) << SERCOM_I2CM_STATUS_LOWTOUT_Pos)
1049 #define SERCOM_I2CM_STATUS_CLKHOLD_Pos 7
1050 #define SERCOM_I2CM_STATUS_CLKHOLD (_U_(0x1) << SERCOM_I2CM_STATUS_CLKHOLD_Pos)
1051 #define SERCOM_I2CM_STATUS_MEXTTOUT_Pos 8
1052 #define SERCOM_I2CM_STATUS_MEXTTOUT (_U_(0x1) << SERCOM_I2CM_STATUS_MEXTTOUT_Pos)
1053 #define SERCOM_I2CM_STATUS_SEXTTOUT_Pos 9
1054 #define SERCOM_I2CM_STATUS_SEXTTOUT (_U_(0x1) << SERCOM_I2CM_STATUS_SEXTTOUT_Pos)
1055 #define SERCOM_I2CM_STATUS_LENERR_Pos 10
1056 #define SERCOM_I2CM_STATUS_LENERR (_U_(0x1) << SERCOM_I2CM_STATUS_LENERR_Pos)
1057 #define SERCOM_I2CM_STATUS_MASK _U_(0x07F7)
1059 /* -------- SERCOM_I2CS_STATUS : (SERCOM Offset: 0x1A) (R/W 16) I2CS I2CS Status -------- */
1060 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1061 typedef union {
1062  struct {
1063  uint16_t BUSERR:1;
1064  uint16_t COLL:1;
1065  uint16_t RXNACK:1;
1066  uint16_t DIR:1;
1067  uint16_t SR:1;
1068  uint16_t :1;
1069  uint16_t LOWTOUT:1;
1070  uint16_t CLKHOLD:1;
1071  uint16_t :1;
1072  uint16_t SEXTTOUT:1;
1073  uint16_t HS:1;
1074  uint16_t LENERR:1;
1075  uint16_t :4;
1076  } bit;
1077  uint16_t reg;
1079 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1080 
1081 #define SERCOM_I2CS_STATUS_OFFSET 0x1A
1082 #define SERCOM_I2CS_STATUS_RESETVALUE _U_(0x0000)
1084 #define SERCOM_I2CS_STATUS_BUSERR_Pos 0
1085 #define SERCOM_I2CS_STATUS_BUSERR (_U_(0x1) << SERCOM_I2CS_STATUS_BUSERR_Pos)
1086 #define SERCOM_I2CS_STATUS_COLL_Pos 1
1087 #define SERCOM_I2CS_STATUS_COLL (_U_(0x1) << SERCOM_I2CS_STATUS_COLL_Pos)
1088 #define SERCOM_I2CS_STATUS_RXNACK_Pos 2
1089 #define SERCOM_I2CS_STATUS_RXNACK (_U_(0x1) << SERCOM_I2CS_STATUS_RXNACK_Pos)
1090 #define SERCOM_I2CS_STATUS_DIR_Pos 3
1091 #define SERCOM_I2CS_STATUS_DIR (_U_(0x1) << SERCOM_I2CS_STATUS_DIR_Pos)
1092 #define SERCOM_I2CS_STATUS_SR_Pos 4
1093 #define SERCOM_I2CS_STATUS_SR (_U_(0x1) << SERCOM_I2CS_STATUS_SR_Pos)
1094 #define SERCOM_I2CS_STATUS_LOWTOUT_Pos 6
1095 #define SERCOM_I2CS_STATUS_LOWTOUT (_U_(0x1) << SERCOM_I2CS_STATUS_LOWTOUT_Pos)
1096 #define SERCOM_I2CS_STATUS_CLKHOLD_Pos 7
1097 #define SERCOM_I2CS_STATUS_CLKHOLD (_U_(0x1) << SERCOM_I2CS_STATUS_CLKHOLD_Pos)
1098 #define SERCOM_I2CS_STATUS_SEXTTOUT_Pos 9
1099 #define SERCOM_I2CS_STATUS_SEXTTOUT (_U_(0x1) << SERCOM_I2CS_STATUS_SEXTTOUT_Pos)
1100 #define SERCOM_I2CS_STATUS_HS_Pos 10
1101 #define SERCOM_I2CS_STATUS_HS (_U_(0x1) << SERCOM_I2CS_STATUS_HS_Pos)
1102 #define SERCOM_I2CS_STATUS_LENERR_Pos 11
1103 #define SERCOM_I2CS_STATUS_LENERR (_U_(0x1) << SERCOM_I2CS_STATUS_LENERR_Pos)
1104 #define SERCOM_I2CS_STATUS_MASK _U_(0x0EDF)
1106 /* -------- SERCOM_SPI_STATUS : (SERCOM Offset: 0x1A) (R/W 16) SPI SPI Status -------- */
1107 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1108 typedef union {
1109  struct {
1110  uint16_t :2;
1111  uint16_t BUFOVF:1;
1112  uint16_t :8;
1113  uint16_t LENERR:1;
1114  uint16_t :4;
1115  } bit;
1116  uint16_t reg;
1118 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1119 
1120 #define SERCOM_SPI_STATUS_OFFSET 0x1A
1121 #define SERCOM_SPI_STATUS_RESETVALUE _U_(0x0000)
1123 #define SERCOM_SPI_STATUS_BUFOVF_Pos 2
1124 #define SERCOM_SPI_STATUS_BUFOVF (_U_(0x1) << SERCOM_SPI_STATUS_BUFOVF_Pos)
1125 #define SERCOM_SPI_STATUS_LENERR_Pos 11
1126 #define SERCOM_SPI_STATUS_LENERR (_U_(0x1) << SERCOM_SPI_STATUS_LENERR_Pos)
1127 #define SERCOM_SPI_STATUS_MASK _U_(0x0804)
1129 /* -------- SERCOM_USART_STATUS : (SERCOM Offset: 0x1A) (R/W 16) USART USART Status -------- */
1130 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1131 typedef union {
1132  struct {
1133  uint16_t PERR:1;
1134  uint16_t FERR:1;
1135  uint16_t BUFOVF:1;
1136  uint16_t CTS:1;
1137  uint16_t ISF:1;
1138  uint16_t COLL:1;
1139  uint16_t TXE:1;
1140  uint16_t ITER:1;
1141  uint16_t :8;
1142  } bit;
1143  uint16_t reg;
1145 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1146 
1147 #define SERCOM_USART_STATUS_OFFSET 0x1A
1148 #define SERCOM_USART_STATUS_RESETVALUE _U_(0x0000)
1150 #define SERCOM_USART_STATUS_PERR_Pos 0
1151 #define SERCOM_USART_STATUS_PERR (_U_(0x1) << SERCOM_USART_STATUS_PERR_Pos)
1152 #define SERCOM_USART_STATUS_FERR_Pos 1
1153 #define SERCOM_USART_STATUS_FERR (_U_(0x1) << SERCOM_USART_STATUS_FERR_Pos)
1154 #define SERCOM_USART_STATUS_BUFOVF_Pos 2
1155 #define SERCOM_USART_STATUS_BUFOVF (_U_(0x1) << SERCOM_USART_STATUS_BUFOVF_Pos)
1156 #define SERCOM_USART_STATUS_CTS_Pos 3
1157 #define SERCOM_USART_STATUS_CTS (_U_(0x1) << SERCOM_USART_STATUS_CTS_Pos)
1158 #define SERCOM_USART_STATUS_ISF_Pos 4
1159 #define SERCOM_USART_STATUS_ISF (_U_(0x1) << SERCOM_USART_STATUS_ISF_Pos)
1160 #define SERCOM_USART_STATUS_COLL_Pos 5
1161 #define SERCOM_USART_STATUS_COLL (_U_(0x1) << SERCOM_USART_STATUS_COLL_Pos)
1162 #define SERCOM_USART_STATUS_TXE_Pos 6
1163 #define SERCOM_USART_STATUS_TXE (_U_(0x1) << SERCOM_USART_STATUS_TXE_Pos)
1164 #define SERCOM_USART_STATUS_ITER_Pos 7
1165 #define SERCOM_USART_STATUS_ITER (_U_(0x1) << SERCOM_USART_STATUS_ITER_Pos)
1166 #define SERCOM_USART_STATUS_MASK _U_(0x00FF)
1168 /* -------- SERCOM_I2CM_SYNCBUSY : (SERCOM Offset: 0x1C) (R/ 32) I2CM I2CM Synchronization Busy -------- */
1169 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1170 typedef union {
1171  struct {
1172  uint32_t SWRST:1;
1173  uint32_t ENABLE:1;
1174  uint32_t SYSOP:1;
1175  uint32_t :1;
1176  uint32_t LENGTH:1;
1177  uint32_t :27;
1178  } bit;
1179  uint32_t reg;
1181 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1182 
1183 #define SERCOM_I2CM_SYNCBUSY_OFFSET 0x1C
1184 #define SERCOM_I2CM_SYNCBUSY_RESETVALUE _U_(0x00000000)
1186 #define SERCOM_I2CM_SYNCBUSY_SWRST_Pos 0
1187 #define SERCOM_I2CM_SYNCBUSY_SWRST (_U_(0x1) << SERCOM_I2CM_SYNCBUSY_SWRST_Pos)
1188 #define SERCOM_I2CM_SYNCBUSY_ENABLE_Pos 1
1189 #define SERCOM_I2CM_SYNCBUSY_ENABLE (_U_(0x1) << SERCOM_I2CM_SYNCBUSY_ENABLE_Pos)
1190 #define SERCOM_I2CM_SYNCBUSY_SYSOP_Pos 2
1191 #define SERCOM_I2CM_SYNCBUSY_SYSOP (_U_(0x1) << SERCOM_I2CM_SYNCBUSY_SYSOP_Pos)
1192 #define SERCOM_I2CM_SYNCBUSY_LENGTH_Pos 4
1193 #define SERCOM_I2CM_SYNCBUSY_LENGTH (_U_(0x1) << SERCOM_I2CM_SYNCBUSY_LENGTH_Pos)
1194 #define SERCOM_I2CM_SYNCBUSY_MASK _U_(0x00000017)
1196 /* -------- SERCOM_I2CS_SYNCBUSY : (SERCOM Offset: 0x1C) (R/ 32) I2CS I2CS Synchronization Busy -------- */
1197 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1198 typedef union {
1199  struct {
1200  uint32_t SWRST:1;
1201  uint32_t ENABLE:1;
1202  uint32_t :2;
1203  uint32_t LENGTH:1;
1204  uint32_t :27;
1205  } bit;
1206  uint32_t reg;
1208 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1209 
1210 #define SERCOM_I2CS_SYNCBUSY_OFFSET 0x1C
1211 #define SERCOM_I2CS_SYNCBUSY_RESETVALUE _U_(0x00000000)
1213 #define SERCOM_I2CS_SYNCBUSY_SWRST_Pos 0
1214 #define SERCOM_I2CS_SYNCBUSY_SWRST (_U_(0x1) << SERCOM_I2CS_SYNCBUSY_SWRST_Pos)
1215 #define SERCOM_I2CS_SYNCBUSY_ENABLE_Pos 1
1216 #define SERCOM_I2CS_SYNCBUSY_ENABLE (_U_(0x1) << SERCOM_I2CS_SYNCBUSY_ENABLE_Pos)
1217 #define SERCOM_I2CS_SYNCBUSY_LENGTH_Pos 4
1218 #define SERCOM_I2CS_SYNCBUSY_LENGTH (_U_(0x1) << SERCOM_I2CS_SYNCBUSY_LENGTH_Pos)
1219 #define SERCOM_I2CS_SYNCBUSY_MASK _U_(0x00000013)
1221 /* -------- SERCOM_SPI_SYNCBUSY : (SERCOM Offset: 0x1C) (R/ 32) SPI SPI Synchronization Busy -------- */
1222 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1223 typedef union {
1224  struct {
1225  uint32_t SWRST:1;
1226  uint32_t ENABLE:1;
1227  uint32_t CTRLB:1;
1228  uint32_t :1;
1229  uint32_t LENGTH:1;
1230  uint32_t :27;
1231  } bit;
1232  uint32_t reg;
1234 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1235 
1236 #define SERCOM_SPI_SYNCBUSY_OFFSET 0x1C
1237 #define SERCOM_SPI_SYNCBUSY_RESETVALUE _U_(0x00000000)
1239 #define SERCOM_SPI_SYNCBUSY_SWRST_Pos 0
1240 #define SERCOM_SPI_SYNCBUSY_SWRST (_U_(0x1) << SERCOM_SPI_SYNCBUSY_SWRST_Pos)
1241 #define SERCOM_SPI_SYNCBUSY_ENABLE_Pos 1
1242 #define SERCOM_SPI_SYNCBUSY_ENABLE (_U_(0x1) << SERCOM_SPI_SYNCBUSY_ENABLE_Pos)
1243 #define SERCOM_SPI_SYNCBUSY_CTRLB_Pos 2
1244 #define SERCOM_SPI_SYNCBUSY_CTRLB (_U_(0x1) << SERCOM_SPI_SYNCBUSY_CTRLB_Pos)
1245 #define SERCOM_SPI_SYNCBUSY_LENGTH_Pos 4
1246 #define SERCOM_SPI_SYNCBUSY_LENGTH (_U_(0x1) << SERCOM_SPI_SYNCBUSY_LENGTH_Pos)
1247 #define SERCOM_SPI_SYNCBUSY_MASK _U_(0x00000017)
1249 /* -------- SERCOM_USART_SYNCBUSY : (SERCOM Offset: 0x1C) (R/ 32) USART USART Synchronization Busy -------- */
1250 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1251 typedef union {
1252  struct {
1253  uint32_t SWRST:1;
1254  uint32_t ENABLE:1;
1255  uint32_t CTRLB:1;
1256  uint32_t RXERRCNT:1;
1257  uint32_t LENGTH:1;
1258  uint32_t :27;
1259  } bit;
1260  uint32_t reg;
1262 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1263 
1264 #define SERCOM_USART_SYNCBUSY_OFFSET 0x1C
1265 #define SERCOM_USART_SYNCBUSY_RESETVALUE _U_(0x00000000)
1267 #define SERCOM_USART_SYNCBUSY_SWRST_Pos 0
1268 #define SERCOM_USART_SYNCBUSY_SWRST (_U_(0x1) << SERCOM_USART_SYNCBUSY_SWRST_Pos)
1269 #define SERCOM_USART_SYNCBUSY_ENABLE_Pos 1
1270 #define SERCOM_USART_SYNCBUSY_ENABLE (_U_(0x1) << SERCOM_USART_SYNCBUSY_ENABLE_Pos)
1271 #define SERCOM_USART_SYNCBUSY_CTRLB_Pos 2
1272 #define SERCOM_USART_SYNCBUSY_CTRLB (_U_(0x1) << SERCOM_USART_SYNCBUSY_CTRLB_Pos)
1273 #define SERCOM_USART_SYNCBUSY_RXERRCNT_Pos 3
1274 #define SERCOM_USART_SYNCBUSY_RXERRCNT (_U_(0x1) << SERCOM_USART_SYNCBUSY_RXERRCNT_Pos)
1275 #define SERCOM_USART_SYNCBUSY_LENGTH_Pos 4
1276 #define SERCOM_USART_SYNCBUSY_LENGTH (_U_(0x1) << SERCOM_USART_SYNCBUSY_LENGTH_Pos)
1277 #define SERCOM_USART_SYNCBUSY_MASK _U_(0x0000001F)
1279 /* -------- SERCOM_USART_RXERRCNT : (SERCOM Offset: 0x20) (R/ 8) USART USART Receive Error Count -------- */
1280 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1281 typedef union {
1282  uint8_t reg;
1284 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1285 
1286 #define SERCOM_USART_RXERRCNT_OFFSET 0x20
1287 #define SERCOM_USART_RXERRCNT_RESETVALUE _U_(0x00)
1288 #define SERCOM_USART_RXERRCNT_MASK _U_(0xFF)
1290 /* -------- SERCOM_I2CS_LENGTH : (SERCOM Offset: 0x22) (R/W 16) I2CS I2CS Length -------- */
1291 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1292 typedef union {
1293  struct {
1294  uint16_t LEN:8;
1295  uint16_t LENEN:1;
1296  uint16_t :7;
1297  } bit;
1298  uint16_t reg;
1300 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1301 
1302 #define SERCOM_I2CS_LENGTH_OFFSET 0x22
1303 #define SERCOM_I2CS_LENGTH_RESETVALUE _U_(0x0000)
1305 #define SERCOM_I2CS_LENGTH_LEN_Pos 0
1306 #define SERCOM_I2CS_LENGTH_LEN_Msk (_U_(0xFF) << SERCOM_I2CS_LENGTH_LEN_Pos)
1307 #define SERCOM_I2CS_LENGTH_LEN(value) (SERCOM_I2CS_LENGTH_LEN_Msk & ((value) << SERCOM_I2CS_LENGTH_LEN_Pos))
1308 #define SERCOM_I2CS_LENGTH_LENEN_Pos 8
1309 #define SERCOM_I2CS_LENGTH_LENEN (_U_(0x1) << SERCOM_I2CS_LENGTH_LENEN_Pos)
1310 #define SERCOM_I2CS_LENGTH_MASK _U_(0x01FF)
1312 /* -------- SERCOM_SPI_LENGTH : (SERCOM Offset: 0x22) (R/W 16) SPI SPI Length -------- */
1313 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1314 typedef union {
1315  struct {
1316  uint16_t LEN:8;
1317  uint16_t LENEN:1;
1318  uint16_t :7;
1319  } bit;
1320  uint16_t reg;
1322 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1323 
1324 #define SERCOM_SPI_LENGTH_OFFSET 0x22
1325 #define SERCOM_SPI_LENGTH_RESETVALUE _U_(0x0000)
1327 #define SERCOM_SPI_LENGTH_LEN_Pos 0
1328 #define SERCOM_SPI_LENGTH_LEN_Msk (_U_(0xFF) << SERCOM_SPI_LENGTH_LEN_Pos)
1329 #define SERCOM_SPI_LENGTH_LEN(value) (SERCOM_SPI_LENGTH_LEN_Msk & ((value) << SERCOM_SPI_LENGTH_LEN_Pos))
1330 #define SERCOM_SPI_LENGTH_LENEN_Pos 8
1331 #define SERCOM_SPI_LENGTH_LENEN (_U_(0x1) << SERCOM_SPI_LENGTH_LENEN_Pos)
1332 #define SERCOM_SPI_LENGTH_MASK _U_(0x01FF)
1334 /* -------- SERCOM_USART_LENGTH : (SERCOM Offset: 0x22) (R/W 16) USART USART Length -------- */
1335 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1336 typedef union {
1337  struct {
1338  uint16_t LEN:8;
1339  uint16_t LENEN:2;
1340  uint16_t :6;
1341  } bit;
1342  uint16_t reg;
1344 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1345 
1346 #define SERCOM_USART_LENGTH_OFFSET 0x22
1347 #define SERCOM_USART_LENGTH_RESETVALUE _U_(0x0000)
1349 #define SERCOM_USART_LENGTH_LEN_Pos 0
1350 #define SERCOM_USART_LENGTH_LEN_Msk (_U_(0xFF) << SERCOM_USART_LENGTH_LEN_Pos)
1351 #define SERCOM_USART_LENGTH_LEN(value) (SERCOM_USART_LENGTH_LEN_Msk & ((value) << SERCOM_USART_LENGTH_LEN_Pos))
1352 #define SERCOM_USART_LENGTH_LENEN_Pos 8
1353 #define SERCOM_USART_LENGTH_LENEN_Msk (_U_(0x3) << SERCOM_USART_LENGTH_LENEN_Pos)
1354 #define SERCOM_USART_LENGTH_LENEN(value) (SERCOM_USART_LENGTH_LENEN_Msk & ((value) << SERCOM_USART_LENGTH_LENEN_Pos))
1355 #define SERCOM_USART_LENGTH_MASK _U_(0x03FF)
1357 /* -------- SERCOM_I2CM_ADDR : (SERCOM Offset: 0x24) (R/W 32) I2CM I2CM Address -------- */
1358 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1359 typedef union {
1360  struct {
1361  uint32_t ADDR:11;
1362  uint32_t :2;
1363  uint32_t LENEN:1;
1364  uint32_t HS:1;
1365  uint32_t TENBITEN:1;
1366  uint32_t LEN:8;
1367  uint32_t :8;
1368  } bit;
1369  uint32_t reg;
1371 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1372 
1373 #define SERCOM_I2CM_ADDR_OFFSET 0x24
1374 #define SERCOM_I2CM_ADDR_RESETVALUE _U_(0x00000000)
1376 #define SERCOM_I2CM_ADDR_ADDR_Pos 0
1377 #define SERCOM_I2CM_ADDR_ADDR_Msk (_U_(0x7FF) << SERCOM_I2CM_ADDR_ADDR_Pos)
1378 #define SERCOM_I2CM_ADDR_ADDR(value) (SERCOM_I2CM_ADDR_ADDR_Msk & ((value) << SERCOM_I2CM_ADDR_ADDR_Pos))
1379 #define SERCOM_I2CM_ADDR_LENEN_Pos 13
1380 #define SERCOM_I2CM_ADDR_LENEN (_U_(0x1) << SERCOM_I2CM_ADDR_LENEN_Pos)
1381 #define SERCOM_I2CM_ADDR_HS_Pos 14
1382 #define SERCOM_I2CM_ADDR_HS (_U_(0x1) << SERCOM_I2CM_ADDR_HS_Pos)
1383 #define SERCOM_I2CM_ADDR_TENBITEN_Pos 15
1384 #define SERCOM_I2CM_ADDR_TENBITEN (_U_(0x1) << SERCOM_I2CM_ADDR_TENBITEN_Pos)
1385 #define SERCOM_I2CM_ADDR_LEN_Pos 16
1386 #define SERCOM_I2CM_ADDR_LEN_Msk (_U_(0xFF) << SERCOM_I2CM_ADDR_LEN_Pos)
1387 #define SERCOM_I2CM_ADDR_LEN(value) (SERCOM_I2CM_ADDR_LEN_Msk & ((value) << SERCOM_I2CM_ADDR_LEN_Pos))
1388 #define SERCOM_I2CM_ADDR_MASK _U_(0x00FFE7FF)
1390 /* -------- SERCOM_I2CS_ADDR : (SERCOM Offset: 0x24) (R/W 32) I2CS I2CS Address -------- */
1391 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1392 typedef union {
1393  struct {
1394  uint32_t GENCEN:1;
1395  uint32_t ADDR:10;
1396  uint32_t :4;
1397  uint32_t TENBITEN:1;
1398  uint32_t :1;
1399  uint32_t ADDRMASK:10;
1400  uint32_t :5;
1401  } bit;
1402  uint32_t reg;
1404 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1405 
1406 #define SERCOM_I2CS_ADDR_OFFSET 0x24
1407 #define SERCOM_I2CS_ADDR_RESETVALUE _U_(0x00000000)
1409 #define SERCOM_I2CS_ADDR_GENCEN_Pos 0
1410 #define SERCOM_I2CS_ADDR_GENCEN (_U_(0x1) << SERCOM_I2CS_ADDR_GENCEN_Pos)
1411 #define SERCOM_I2CS_ADDR_ADDR_Pos 1
1412 #define SERCOM_I2CS_ADDR_ADDR_Msk (_U_(0x3FF) << SERCOM_I2CS_ADDR_ADDR_Pos)
1413 #define SERCOM_I2CS_ADDR_ADDR(value) (SERCOM_I2CS_ADDR_ADDR_Msk & ((value) << SERCOM_I2CS_ADDR_ADDR_Pos))
1414 #define SERCOM_I2CS_ADDR_TENBITEN_Pos 15
1415 #define SERCOM_I2CS_ADDR_TENBITEN (_U_(0x1) << SERCOM_I2CS_ADDR_TENBITEN_Pos)
1416 #define SERCOM_I2CS_ADDR_ADDRMASK_Pos 17
1417 #define SERCOM_I2CS_ADDR_ADDRMASK_Msk (_U_(0x3FF) << SERCOM_I2CS_ADDR_ADDRMASK_Pos)
1418 #define SERCOM_I2CS_ADDR_ADDRMASK(value) (SERCOM_I2CS_ADDR_ADDRMASK_Msk & ((value) << SERCOM_I2CS_ADDR_ADDRMASK_Pos))
1419 #define SERCOM_I2CS_ADDR_MASK _U_(0x07FE87FF)
1421 /* -------- SERCOM_SPI_ADDR : (SERCOM Offset: 0x24) (R/W 32) SPI SPI Address -------- */
1422 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1423 typedef union {
1424  struct {
1425  uint32_t ADDR:8;
1426  uint32_t :8;
1427  uint32_t ADDRMASK:8;
1428  uint32_t :8;
1429  } bit;
1430  uint32_t reg;
1432 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1433 
1434 #define SERCOM_SPI_ADDR_OFFSET 0x24
1435 #define SERCOM_SPI_ADDR_RESETVALUE _U_(0x00000000)
1437 #define SERCOM_SPI_ADDR_ADDR_Pos 0
1438 #define SERCOM_SPI_ADDR_ADDR_Msk (_U_(0xFF) << SERCOM_SPI_ADDR_ADDR_Pos)
1439 #define SERCOM_SPI_ADDR_ADDR(value) (SERCOM_SPI_ADDR_ADDR_Msk & ((value) << SERCOM_SPI_ADDR_ADDR_Pos))
1440 #define SERCOM_SPI_ADDR_ADDRMASK_Pos 16
1441 #define SERCOM_SPI_ADDR_ADDRMASK_Msk (_U_(0xFF) << SERCOM_SPI_ADDR_ADDRMASK_Pos)
1442 #define SERCOM_SPI_ADDR_ADDRMASK(value) (SERCOM_SPI_ADDR_ADDRMASK_Msk & ((value) << SERCOM_SPI_ADDR_ADDRMASK_Pos))
1443 #define SERCOM_SPI_ADDR_MASK _U_(0x00FF00FF)
1445 /* -------- SERCOM_I2CM_DATA : (SERCOM Offset: 0x28) (R/W 32) I2CM I2CM Data -------- */
1446 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1447 typedef union {
1448  struct {
1449  uint32_t DATA:32;
1450  } bit;
1451  uint32_t reg;
1453 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1454 
1455 #define SERCOM_I2CM_DATA_OFFSET 0x28
1456 #define SERCOM_I2CM_DATA_RESETVALUE _U_(0x00000000)
1458 #define SERCOM_I2CM_DATA_DATA_Pos 0
1459 #define SERCOM_I2CM_DATA_DATA_Msk (_U_(0xFFFFFFFF) << SERCOM_I2CM_DATA_DATA_Pos)
1460 #define SERCOM_I2CM_DATA_DATA(value) (SERCOM_I2CM_DATA_DATA_Msk & ((value) << SERCOM_I2CM_DATA_DATA_Pos))
1461 #define SERCOM_I2CM_DATA_MASK _U_(0xFFFFFFFF)
1463 /* -------- SERCOM_I2CS_DATA : (SERCOM Offset: 0x28) (R/W 32) I2CS I2CS Data -------- */
1464 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1465 typedef union {
1466  struct {
1467  uint32_t DATA:32;
1468  } bit;
1469  uint32_t reg;
1471 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1472 
1473 #define SERCOM_I2CS_DATA_OFFSET 0x28
1474 #define SERCOM_I2CS_DATA_RESETVALUE _U_(0x00000000)
1476 #define SERCOM_I2CS_DATA_DATA_Pos 0
1477 #define SERCOM_I2CS_DATA_DATA_Msk (_U_(0xFFFFFFFF) << SERCOM_I2CS_DATA_DATA_Pos)
1478 #define SERCOM_I2CS_DATA_DATA(value) (SERCOM_I2CS_DATA_DATA_Msk & ((value) << SERCOM_I2CS_DATA_DATA_Pos))
1479 #define SERCOM_I2CS_DATA_MASK _U_(0xFFFFFFFF)
1481 /* -------- SERCOM_SPI_DATA : (SERCOM Offset: 0x28) (R/W 32) SPI SPI Data -------- */
1482 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1483 typedef union {
1484  struct {
1485  uint32_t DATA:32;
1486  } bit;
1487  uint32_t reg;
1489 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1490 
1491 #define SERCOM_SPI_DATA_OFFSET 0x28
1492 #define SERCOM_SPI_DATA_RESETVALUE _U_(0x00000000)
1494 #define SERCOM_SPI_DATA_DATA_Pos 0
1495 #define SERCOM_SPI_DATA_DATA_Msk (_U_(0xFFFFFFFF) << SERCOM_SPI_DATA_DATA_Pos)
1496 #define SERCOM_SPI_DATA_DATA(value) (SERCOM_SPI_DATA_DATA_Msk & ((value) << SERCOM_SPI_DATA_DATA_Pos))
1497 #define SERCOM_SPI_DATA_MASK _U_(0xFFFFFFFF)
1499 /* -------- SERCOM_USART_DATA : (SERCOM Offset: 0x28) (R/W 32) USART USART Data -------- */
1500 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1501 typedef union {
1502  struct {
1503  uint32_t DATA:32;
1504  } bit;
1505  uint32_t reg;
1507 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1508 
1509 #define SERCOM_USART_DATA_OFFSET 0x28
1510 #define SERCOM_USART_DATA_RESETVALUE _U_(0x00000000)
1512 #define SERCOM_USART_DATA_DATA_Pos 0
1513 #define SERCOM_USART_DATA_DATA_Msk (_U_(0xFFFFFFFF) << SERCOM_USART_DATA_DATA_Pos)
1514 #define SERCOM_USART_DATA_DATA(value) (SERCOM_USART_DATA_DATA_Msk & ((value) << SERCOM_USART_DATA_DATA_Pos))
1515 #define SERCOM_USART_DATA_MASK _U_(0xFFFFFFFF)
1517 /* -------- SERCOM_I2CM_DBGCTRL : (SERCOM Offset: 0x30) (R/W 8) I2CM I2CM Debug Control -------- */
1518 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1519 typedef union {
1520  struct {
1521  uint8_t DBGSTOP:1;
1522  uint8_t :7;
1523  } bit;
1524  uint8_t reg;
1526 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1527 
1528 #define SERCOM_I2CM_DBGCTRL_OFFSET 0x30
1529 #define SERCOM_I2CM_DBGCTRL_RESETVALUE _U_(0x00)
1531 #define SERCOM_I2CM_DBGCTRL_DBGSTOP_Pos 0
1532 #define SERCOM_I2CM_DBGCTRL_DBGSTOP (_U_(0x1) << SERCOM_I2CM_DBGCTRL_DBGSTOP_Pos)
1533 #define SERCOM_I2CM_DBGCTRL_MASK _U_(0x01)
1535 /* -------- SERCOM_SPI_DBGCTRL : (SERCOM Offset: 0x30) (R/W 8) SPI SPI Debug Control -------- */
1536 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1537 typedef union {
1538  struct {
1539  uint8_t DBGSTOP:1;
1540  uint8_t :7;
1541  } bit;
1542  uint8_t reg;
1544 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1545 
1546 #define SERCOM_SPI_DBGCTRL_OFFSET 0x30
1547 #define SERCOM_SPI_DBGCTRL_RESETVALUE _U_(0x00)
1549 #define SERCOM_SPI_DBGCTRL_DBGSTOP_Pos 0
1550 #define SERCOM_SPI_DBGCTRL_DBGSTOP (_U_(0x1) << SERCOM_SPI_DBGCTRL_DBGSTOP_Pos)
1551 #define SERCOM_SPI_DBGCTRL_MASK _U_(0x01)
1553 /* -------- SERCOM_USART_DBGCTRL : (SERCOM Offset: 0x30) (R/W 8) USART USART Debug Control -------- */
1554 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1555 typedef union {
1556  struct {
1557  uint8_t DBGSTOP:1;
1558  uint8_t :7;
1559  } bit;
1560  uint8_t reg;
1562 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1563 
1564 #define SERCOM_USART_DBGCTRL_OFFSET 0x30
1565 #define SERCOM_USART_DBGCTRL_RESETVALUE _U_(0x00)
1567 #define SERCOM_USART_DBGCTRL_DBGSTOP_Pos 0
1568 #define SERCOM_USART_DBGCTRL_DBGSTOP (_U_(0x1) << SERCOM_USART_DBGCTRL_DBGSTOP_Pos)
1569 #define SERCOM_USART_DBGCTRL_MASK _U_(0x01)
1572 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1573 typedef struct { /* I2C Master Mode */
1578  RoReg8 Reserved1[0x4];
1580  RoReg8 Reserved2[0x1];
1582  RoReg8 Reserved3[0x1];
1584  RoReg8 Reserved4[0x1];
1587  RoReg8 Reserved5[0x4];
1590  RoReg8 Reserved6[0x4];
1592 } SercomI2cm;
1593 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1594 
1596 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1597 typedef struct { /* I2C Slave Mode */
1601  RoReg8 Reserved1[0x8];
1603  RoReg8 Reserved2[0x1];
1605  RoReg8 Reserved3[0x1];
1607  RoReg8 Reserved4[0x1];
1610  RoReg8 Reserved5[0x2];
1614 } SercomI2cs;
1615 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1616 
1618 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1619 typedef struct { /* SPI Mode */
1624  RoReg8 Reserved1[0x7];
1626  RoReg8 Reserved2[0x1];
1628  RoReg8 Reserved3[0x1];
1630  RoReg8 Reserved4[0x1];
1633  RoReg8 Reserved5[0x2];
1637  RoReg8 Reserved6[0x4];
1639 } SercomSpi;
1640 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1641 
1643 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1644 typedef struct { /* USART Mode */
1650  RoReg8 Reserved1[0x5];
1652  RoReg8 Reserved2[0x1];
1654  RoReg8 Reserved3[0x1];
1656  RoReg8 Reserved4[0x1];
1660  RoReg8 Reserved5[0x1];
1662  RoReg8 Reserved6[0x4];
1664  RoReg8 Reserved7[0x4];
1666 } SercomUsart;
1667 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1668 
1669 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1670 typedef union {
1675 } Sercom;
1676 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1677 
1680 #endif /* _SAME54_SERCOM_COMPONENT_ */
SERCOM_SPI_SYNCBUSY_Type::SWRST
uint32_t SWRST
Definition: sercom.h:1225
SERCOM_I2CM_DBGCTRL_Type::DBGSTOP
uint8_t DBGSTOP
Definition: sercom.h:1521
SERCOM_I2CM_CTRLA_Type::INACTOUT
uint32_t INACTOUT
Definition: sercom.h:60
SERCOM_I2CM_CTRLA_Type::MEXTTOEN
uint32_t MEXTTOEN
Definition: sercom.h:55
SERCOM_SPI_INTENCLR_Type::TXC
uint8_t TXC
Definition: sercom.h:720
Sercom
Definition: sercom.h:1670
SERCOM_I2CS_CTRLA_Type::reg
uint32_t reg
Definition: sercom.h:123
SERCOM_I2CS_LENGTH_Type::LENEN
uint16_t LENEN
Definition: sercom.h:1295
SERCOM_USART_CTRLB_Type::RXEN
uint32_t RXEN
Definition: sercom.h:401
SERCOM_USART_CTRLA_Type::SAMPA
uint32_t SAMPA
Definition: sercom.h:228
SERCOM_I2CS_STATUS_Type::SR
uint16_t SR
Definition: sercom.h:1067
SERCOM_USART_INTENCLR_Type::reg
uint8_t reg
Definition: sercom.h:758
SERCOM_USART_INTENSET_Type::RXC
uint8_t RXC
Definition: sercom.h:868
SercomI2cm
SERCOM_I2CM hardware registers.
Definition: sercom.h:1573
SERCOM_SPI_INTENSET_Type::TXC
uint8_t TXC
Definition: sercom.h:837
SERCOM_I2CM_CTRLC_Type::reg
uint32_t reg
Definition: sercom.h:443
SERCOM_USART_CTRLB_Type::COLDEN
uint32_t COLDEN
Definition: sercom.h:394
SERCOM_I2CS_STATUS_Type::LOWTOUT
uint16_t LOWTOUT
Definition: sercom.h:1069
SercomUsart::CTRLB
__IO SERCOM_USART_CTRLB_Type CTRLB
Offset: 0x04 (R/W 32) USART Control B.
Definition: sercom.h:1646
SERCOM_I2CS_INTENSET_Type::AMATCH
uint8_t AMATCH
Definition: sercom.h:810
SERCOM_I2CM_DATA_Type::reg
uint32_t reg
Definition: sercom.h:1451
SercomUsart
SERCOM_USART hardware registers.
Definition: sercom.h:1644
SERCOM_I2CM_SYNCBUSY_Type::reg
uint32_t reg
Definition: sercom.h:1179
SERCOM_I2CS_INTFLAG_Type::AMATCH
__I uint8_t AMATCH
Definition: sercom.h:927
SERCOM_USART_STATUS_Type::TXE
uint16_t TXE
Definition: sercom.h:1139
SERCOM_USART_STATUS_Type::BUFOVF
uint16_t BUFOVF
Definition: sercom.h:1135
SERCOM_I2CS_ADDR_Type::reg
uint32_t reg
Definition: sercom.h:1402
SERCOM_USART_INTENCLR_Type::RXBRK
uint8_t RXBRK
Definition: sercom.h:754
SERCOM_I2CM_CTRLA_Type::SCLSM
uint32_t SCLSM
Definition: sercom.h:59
SERCOM_I2CM_DATA_Type
Definition: sercom.h:1447
SERCOM_USART_CTRLB_Type
Definition: sercom.h:388
SERCOM_USART_CTRLA_Type::TXINV
uint32_t TXINV
Definition: sercom.h:221
SERCOM_USART_BAUD_Type::FP
uint16_t FP
Definition: sercom.h:601
SERCOM_USART_CTRLB_Type::PMODE
uint32_t PMODE
Definition: sercom.h:398
SERCOM_USART_INTFLAG_Type::RXS
__I uint8_t RXS
Definition: sercom.h:986
SERCOM_SPI_CTRLA_Type::DOPO
uint32_t DOPO
Definition: sercom.h:166
SercomUsart::RXPL
__IO SERCOM_USART_RXPL_Type RXPL
Offset: 0x0E (R/W 8) USART Receive Pulse Length.
Definition: sercom.h:1649
SERCOM_I2CS_SYNCBUSY_Type::LENGTH
uint32_t LENGTH
Definition: sercom.h:1203
SERCOM_SPI_CTRLA_Type
Definition: sercom.h:157
SERCOM_USART_CTRLB_Type::LINCMD
uint32_t LINCMD
Definition: sercom.h:403
SercomUsart::INTENSET
__IO SERCOM_USART_INTENSET_Type INTENSET
Offset: 0x16 (R/W 8) USART Interrupt Enable Set.
Definition: sercom.h:1653
SERCOM_USART_STATUS_Type::ISF
uint16_t ISF
Definition: sercom.h:1137
SERCOM_USART_RXPL_Type::RXPL
uint8_t RXPL
Definition: sercom.h:650
SERCOM_USART_SYNCBUSY_Type::CTRLB
uint32_t CTRLB
Definition: sercom.h:1255
SERCOM_USART_SYNCBUSY_Type::ENABLE
uint32_t ENABLE
Definition: sercom.h:1254
SERCOM_USART_INTFLAG_Type::uint8_t
__I uint8_t
Definition: sercom.h:989
SERCOM_I2CS_ADDR_Type
Definition: sercom.h:1392
SERCOM_I2CS_STATUS_Type::DIR
uint16_t DIR
Definition: sercom.h:1066
SERCOM_USART_DATA_Type
Definition: sercom.h:1501
SERCOM_I2CS_DATA_Type::DATA
uint32_t DATA
Definition: sercom.h:1467
SERCOM_I2CM_DBGCTRL_Type
Definition: sercom.h:1519
SercomI2cs::INTENCLR
__IO SERCOM_I2CS_INTENCLR_Type INTENCLR
Offset: 0x14 (R/W 8) I2CS Interrupt Enable Clear.
Definition: sercom.h:1602
SERCOM_USART_CTRLA_Type::MODE
uint32_t MODE
Definition: sercom.h:217
SercomI2cs::INTFLAG
__IO SERCOM_I2CS_INTFLAG_Type INTFLAG
Offset: 0x18 (R/W 8) I2CS Interrupt Flag Status and Clear.
Definition: sercom.h:1606
SercomI2cm::INTENSET
__IO SERCOM_I2CM_INTENSET_Type INTENSET
Offset: 0x16 (R/W 8) I2CM Interrupt Enable Set.
Definition: sercom.h:1581
SERCOM_SPI_CTRLB_Type::PLOADEN
uint32_t PLOADEN
Definition: sercom.h:353
SERCOM_USART_INTFLAG_Type::RXC
__I uint8_t RXC
Definition: sercom.h:985
SercomI2cm::DBGCTRL
__IO SERCOM_I2CM_DBGCTRL_Type DBGCTRL
Offset: 0x30 (R/W 8) I2CM Debug Control.
Definition: sercom.h:1591
SERCOM_I2CM_ADDR_Type::LENEN
uint32_t LENEN
Definition: sercom.h:1363
SERCOM_USART_CTRLC_Type::HDRDLY
uint32_t HDRDLY
Definition: sercom.h:507
SercomUsart::INTFLAG
__IO SERCOM_USART_INTFLAG_Type INTFLAG
Offset: 0x18 (R/W 8) USART Interrupt Flag Status and Clear.
Definition: sercom.h:1655
SERCOM_I2CM_BAUD_Type::BAUDLOW
uint32_t BAUDLOW
Definition: sercom.h:550
SERCOM_SPI_INTFLAG_Type::RXC
__I uint8_t RXC
Definition: sercom.h:955
SercomUsart::DATA
__IO SERCOM_USART_DATA_Type DATA
Offset: 0x28 (R/W 32) USART Data.
Definition: sercom.h:1663
SERCOM_SPI_INTENSET_Type::DRE
uint8_t DRE
Definition: sercom.h:836
SERCOM_I2CM_CTRLB_Type::SMEN
uint32_t SMEN
Definition: sercom.h:285
SERCOM_I2CM_ADDR_Type::LEN
uint32_t LEN
Definition: sercom.h:1366
SERCOM_SPI_CTRLB_Type
Definition: sercom.h:349
SERCOM_SPI_INTFLAG_Type::SSL
__I uint8_t SSL
Definition: sercom.h:956
SERCOM_I2CS_INTENCLR_Type
Definition: sercom.h:690
SERCOM_I2CS_DATA_Type::reg
uint32_t reg
Definition: sercom.h:1469
SERCOM_USART_INTENSET_Type::RXS
uint8_t RXS
Definition: sercom.h:869
SERCOM_USART_CTRLB_Type::SFDE
uint32_t SFDE
Definition: sercom.h:395
SERCOM_SPI_INTENCLR_Type
Definition: sercom.h:717
SERCOM_I2CM_CTRLA_Type::SPEED
uint32_t SPEED
Definition: sercom.h:57
SERCOM_SPI_CTRLC_Type::ICSPACE
uint32_t ICSPACE
Definition: sercom.h:481
SERCOM_USART_INTENCLR_Type::ERROR
uint8_t ERROR
Definition: sercom.h:756
SERCOM_SPI_ADDR_Type::ADDRMASK
uint32_t ADDRMASK
Definition: sercom.h:1427
SERCOM_SPI_SYNCBUSY_Type::reg
uint32_t reg
Definition: sercom.h:1232
SERCOM_SPI_INTENCLR_Type::RXC
uint8_t RXC
Definition: sercom.h:721
SERCOM_I2CM_INTENCLR_Type::reg
uint8_t reg
Definition: sercom.h:673
SercomI2cs::CTRLB
__IO SERCOM_I2CS_CTRLB_Type CTRLB
Offset: 0x04 (R/W 32) I2CS Control B.
Definition: sercom.h:1599
SERCOM_I2CM_INTENCLR_Type::SB
uint8_t SB
Definition: sercom.h:669
SERCOM_USART_CTRLA_Type::RXINV
uint32_t RXINV
Definition: sercom.h:222
SERCOM_I2CS_ADDR_Type::TENBITEN
uint32_t TENBITEN
Definition: sercom.h:1397
SERCOM_SPI_CTRLA_Type::FORM
uint32_t FORM
Definition: sercom.h:170
SERCOM_USART_STATUS_Type::FERR
uint16_t FERR
Definition: sercom.h:1134
SERCOM_USART_RXPL_Type
Definition: sercom.h:648
SERCOM_I2CS_CTRLA_Type
Definition: sercom.h:103
SercomSpi::DBGCTRL
__IO SERCOM_SPI_DBGCTRL_Type DBGCTRL
Offset: 0x30 (R/W 8) SPI Debug Control.
Definition: sercom.h:1638
SERCOM_USART_RXERRCNT_Type::reg
uint8_t reg
Definition: sercom.h:1282
SERCOM_I2CM_CTRLB_Type
Definition: sercom.h:282
SercomSpi::STATUS
__IO SERCOM_SPI_STATUS_Type STATUS
Offset: 0x1A (R/W 16) SPI Status.
Definition: sercom.h:1631
SERCOM_USART_STATUS_Type::COLL
uint16_t COLL
Definition: sercom.h:1138
SERCOM_I2CM_STATUS_Type::LENERR
uint16_t LENERR
Definition: sercom.h:1028
SERCOM_I2CS_INTFLAG_Type::DRDY
__I uint8_t DRDY
Definition: sercom.h:928
SERCOM_I2CM_STATUS_Type
Definition: sercom.h:1017
SERCOM_I2CS_STATUS_Type::CLKHOLD
uint16_t CLKHOLD
Definition: sercom.h:1070
SERCOM_I2CM_STATUS_Type::MEXTTOUT
uint16_t MEXTTOUT
Definition: sercom.h:1026
SERCOM_SPI_DBGCTRL_Type
Definition: sercom.h:1537
SERCOM_USART_STATUS_Type
Definition: sercom.h:1131
SercomUsart::LENGTH
__IO SERCOM_USART_LENGTH_Type LENGTH
Offset: 0x22 (R/W 16) USART Length.
Definition: sercom.h:1661
SERCOM_SPI_INTENSET_Type
Definition: sercom.h:834
SercomSpi::CTRLA
__IO SERCOM_SPI_CTRLA_Type CTRLA
Offset: 0x00 (R/W 32) SPI Control A.
Definition: sercom.h:1620
SERCOM_I2CM_ADDR_Type::reg
uint32_t reg
Definition: sercom.h:1369
SERCOM_I2CM_STATUS_Type::reg
uint16_t reg
Definition: sercom.h:1031
SercomI2cm::INTENCLR
__IO SERCOM_I2CM_INTENCLR_Type INTENCLR
Offset: 0x14 (R/W 8) I2CM Interrupt Enable Clear.
Definition: sercom.h:1579
SERCOM_I2CS_LENGTH_Type::reg
uint16_t reg
Definition: sercom.h:1298
SERCOM_I2CS_INTENSET_Type::DRDY
uint8_t DRDY
Definition: sercom.h:811
SERCOM_USART_STATUS_Type::reg
uint16_t reg
Definition: sercom.h:1143
SERCOM_I2CS_INTENCLR_Type::reg
uint8_t reg
Definition: sercom.h:698
SercomI2cs::CTRLC
__IO SERCOM_I2CS_CTRLC_Type CTRLC
Offset: 0x08 (R/W 32) I2CS Control C.
Definition: sercom.h:1600
SERCOM_SPI_INTENSET_Type::reg
uint8_t reg
Definition: sercom.h:843
SercomSpi::DATA
__IO SERCOM_SPI_DATA_Type DATA
Offset: 0x28 (R/W 32) SPI Data.
Definition: sercom.h:1636
SERCOM_I2CS_CTRLA_Type::SWRST
uint32_t SWRST
Definition: sercom.h:105
SERCOM_I2CM_CTRLA_Type::SEXTTOEN
uint32_t SEXTTOEN
Definition: sercom.h:56
SERCOM_USART_RXERRCNT_Type
Definition: sercom.h:1281
SERCOM_I2CS_CTRLC_Type
Definition: sercom.h:456
SERCOM_I2CM_ADDR_Type::ADDR
uint32_t ADDR
Definition: sercom.h:1361
SERCOM_I2CS_INTENSET_Type::reg
uint8_t reg
Definition: sercom.h:815
SERCOM_USART_INTENSET_Type::CTSIC
uint8_t CTSIC
Definition: sercom.h:870
SERCOM_I2CM_DBGCTRL_Type::reg
uint8_t reg
Definition: sercom.h:1524
SERCOM_USART_LENGTH_Type::LEN
uint16_t LEN
Definition: sercom.h:1338
SERCOM_I2CM_STATUS_Type::SEXTTOUT
uint16_t SEXTTOUT
Definition: sercom.h:1027
SercomI2cs::SYNCBUSY
__I SERCOM_I2CS_SYNCBUSY_Type SYNCBUSY
Offset: 0x1C (R/ 32) I2CS Synchronization Busy.
Definition: sercom.h:1609
SERCOM_I2CS_CTRLA_Type::PINOUT
uint32_t PINOUT
Definition: sercom.h:111
SERCOM_USART_INTFLAG_Type
Definition: sercom.h:981
Sercom::I2CM
SercomI2cm I2CM
Offset: 0x00 I2C Master Mode.
Definition: sercom.h:1671
SERCOM_SPI_INTFLAG_Type::TXC
__I uint8_t TXC
Definition: sercom.h:954
SERCOM_SPI_INTFLAG_Type
Definition: sercom.h:951
SERCOM_I2CS_INTENSET_Type
Definition: sercom.h:807
SERCOM_I2CM_INTFLAG_Type::uint8_t
__I uint8_t
Definition: sercom.h:904
SERCOM_USART_CTRLB_Type::TXEN
uint32_t TXEN
Definition: sercom.h:400
SERCOM_I2CS_ADDR_Type::ADDRMASK
uint32_t ADDRMASK
Definition: sercom.h:1399
SERCOM_USART_INTENCLR_Type::RXC
uint8_t RXC
Definition: sercom.h:751
SERCOM_USART_SYNCBUSY_Type::reg
uint32_t reg
Definition: sercom.h:1260
SERCOM_I2CM_INTFLAG_Type::SB
__I uint8_t SB
Definition: sercom.h:903
SERCOM_I2CS_INTENSET_Type::ERROR
uint8_t ERROR
Definition: sercom.h:813
SERCOM_I2CS_CTRLA_Type::ENABLE
uint32_t ENABLE
Definition: sercom.h:106
SERCOM_SPI_INTENCLR_Type::reg
uint8_t reg
Definition: sercom.h:726
SERCOM_I2CS_INTFLAG_Type
Definition: sercom.h:924
SERCOM_USART_CTRLC_Type::DATA32B
uint32_t DATA32B
Definition: sercom.h:514
SERCOM_SPI_ADDR_Type::ADDR
uint32_t ADDR
Definition: sercom.h:1425
SERCOM_I2CM_STATUS_Type::RXNACK
uint16_t RXNACK
Definition: sercom.h:1021
SERCOM_USART_CTRLA_Type::ENABLE
uint32_t ENABLE
Definition: sercom.h:216
SERCOM_SPI_CTRLC_Type::DATA32B
uint32_t DATA32B
Definition: sercom.h:483
SercomSpi::INTFLAG
__IO SERCOM_SPI_INTFLAG_Type INTFLAG
Offset: 0x18 (R/W 8) SPI Interrupt Flag Status and Clear.
Definition: sercom.h:1629
SERCOM_I2CS_SYNCBUSY_Type::reg
uint32_t reg
Definition: sercom.h:1206
SERCOM_USART_DATA_Type::reg
uint32_t reg
Definition: sercom.h:1505
SERCOM_USART_INTENSET_Type::ERROR
uint8_t ERROR
Definition: sercom.h:873
SERCOM_SPI_DATA_Type
Definition: sercom.h:1483
SERCOM_USART_BAUD_Type
Definition: sercom.h:595
SERCOM_I2CS_CTRLB_Type::AACKEN
uint32_t AACKEN
Definition: sercom.h:317
SercomI2cs::STATUS
__IO SERCOM_I2CS_STATUS_Type STATUS
Offset: 0x1A (R/W 16) I2CS Status.
Definition: sercom.h:1608
SERCOM_SPI_CTRLA_Type::IBON
uint32_t IBON
Definition: sercom.h:164
SERCOM_SPI_SYNCBUSY_Type::CTRLB
uint32_t CTRLB
Definition: sercom.h:1227
SERCOM_I2CM_INTFLAG_Type
Definition: sercom.h:900
SERCOM_SPI_DATA_Type::DATA
uint32_t DATA
Definition: sercom.h:1485
SERCOM_I2CS_CTRLA_Type::SCLSM
uint32_t SCLSM
Definition: sercom.h:118
SERCOM_SPI_ADDR_Type
Definition: sercom.h:1423
SERCOM_USART_CTRLA_Type::CMODE
uint32_t CMODE
Definition: sercom.h:230
SERCOM_I2CM_INTENSET_Type::SB
uint8_t SB
Definition: sercom.h:786
SERCOM_I2CM_CTRLC_Type::DATA32B
uint32_t DATA32B
Definition: sercom.h:440
SERCOM_SPI_CTRLA_Type::SWRST
uint32_t SWRST
Definition: sercom.h:159
SERCOM_USART_STATUS_Type::CTS
uint16_t CTS
Definition: sercom.h:1136
SERCOM_USART_LENGTH_Type::LENEN
uint16_t LENEN
Definition: sercom.h:1339
SERCOM_I2CM_CTRLA_Type::ENABLE
uint32_t ENABLE
Definition: sercom.h:47
SERCOM_SPI_BAUD_Type::reg
uint8_t reg
Definition: sercom.h:581
SERCOM_I2CS_STATUS_Type::reg
uint16_t reg
Definition: sercom.h:1077
SERCOM_SPI_CTRLB_Type::CHSIZE
uint32_t CHSIZE
Definition: sercom.h:351
SERCOM_I2CS_STATUS_Type::RXNACK
uint16_t RXNACK
Definition: sercom.h:1065
SercomI2cs::LENGTH
__IO SERCOM_I2CS_LENGTH_Type LENGTH
Offset: 0x22 (R/W 16) I2CS Length.
Definition: sercom.h:1611
SERCOM_SPI_DBGCTRL_Type::reg
uint8_t reg
Definition: sercom.h:1542
SERCOM_USART_STATUS_Type::ITER
uint16_t ITER
Definition: sercom.h:1140
SERCOM_USART_BAUD_Type::reg
uint16_t reg
Definition: sercom.h:610
SERCOM_SPI_CTRLB_Type::RXEN
uint32_t RXEN
Definition: sercom.h:360
SERCOM_USART_CTRLB_Type::SBMODE
uint32_t SBMODE
Definition: sercom.h:392
SERCOM_USART_INTFLAG_Type::reg
uint8_t reg
Definition: sercom.h:992
SercomI2cs::ADDR
__IO SERCOM_I2CS_ADDR_Type ADDR
Offset: 0x24 (R/W 32) I2CS Address.
Definition: sercom.h:1612
SERCOM_I2CM_INTENSET_Type::reg
uint8_t reg
Definition: sercom.h:790
SERCOM_I2CS_INTFLAG_Type::ERROR
__I uint8_t ERROR
Definition: sercom.h:930
SERCOM_I2CS_INTENCLR_Type::AMATCH
uint8_t AMATCH
Definition: sercom.h:693
SercomI2cm::ADDR
__IO SERCOM_I2CM_ADDR_Type ADDR
Offset: 0x24 (R/W 32) I2CM Address.
Definition: sercom.h:1588
SERCOM_SPI_ADDR_Type::reg
uint32_t reg
Definition: sercom.h:1430
SERCOM_I2CM_CTRLA_Type::PINOUT
uint32_t PINOUT
Definition: sercom.h:52
SERCOM_I2CM_INTFLAG_Type::reg
uint8_t reg
Definition: sercom.h:907
SERCOM_I2CS_ADDR_Type::GENCEN
uint32_t GENCEN
Definition: sercom.h:1394
SERCOM_I2CS_CTRLB_Type::CMD
uint32_t CMD
Definition: sercom.h:320
SercomUsart::INTENCLR
__IO SERCOM_USART_INTENCLR_Type INTENCLR
Offset: 0x14 (R/W 8) USART Interrupt Enable Clear.
Definition: sercom.h:1651
SERCOM_I2CM_SYNCBUSY_Type::ENABLE
uint32_t ENABLE
Definition: sercom.h:1173
SERCOM_SPI_CTRLA_Type::RUNSTDBY
uint32_t RUNSTDBY
Definition: sercom.h:163
SERCOM_I2CM_CTRLA_Type
Definition: sercom.h:44
SERCOM_SPI_INTFLAG_Type::uint8_t
__I uint8_t
Definition: sercom.h:957
SERCOM_I2CM_STATUS_Type::BUSERR
uint16_t BUSERR
Definition: sercom.h:1019
SercomI2cm::SYNCBUSY
__I SERCOM_I2CM_SYNCBUSY_Type SYNCBUSY
Offset: 0x1C (R/ 32) I2CM Synchronization Busy.
Definition: sercom.h:1586
SERCOM_I2CS_INTENCLR_Type::ERROR
uint8_t ERROR
Definition: sercom.h:696
SERCOM_I2CM_CTRLA_Type::MODE
uint32_t MODE
Definition: sercom.h:48
SERCOM_USART_CTRLA_Type::RXPO
uint32_t RXPO
Definition: sercom.h:227
SercomI2cm::DATA
__IO SERCOM_I2CM_DATA_Type DATA
Offset: 0x28 (R/W 32) I2CM Data.
Definition: sercom.h:1589
SERCOM_USART_CTRLC_Type::BRKLEN
uint32_t BRKLEN
Definition: sercom.h:506
SERCOM_USART_INTFLAG_Type::CTSIC
__I uint8_t CTSIC
Definition: sercom.h:987
SERCOM_I2CS_INTFLAG_Type::PREC
__I uint8_t PREC
Definition: sercom.h:926
SercomI2cm::STATUS
__IO SERCOM_I2CM_STATUS_Type STATUS
Offset: 0x1A (R/W 16) I2CM Status.
Definition: sercom.h:1585
SercomI2cm::CTRLA
__IO SERCOM_I2CM_CTRLA_Type CTRLA
Offset: 0x00 (R/W 32) I2CM Control A.
Definition: sercom.h:1574
SERCOM_USART_INTENSET_Type
Definition: sercom.h:864
SERCOM_USART_CTRLC_Type::INACK
uint32_t INACK
Definition: sercom.h:509
SERCOM_SPI_INTENCLR_Type::ERROR
uint8_t ERROR
Definition: sercom.h:724
SERCOM_USART_CTRLC_Type::MAXITER
uint32_t MAXITER
Definition: sercom.h:512
SERCOM_SPI_CTRLA_Type::ENABLE
uint32_t ENABLE
Definition: sercom.h:160
SERCOM_I2CM_CTRLA_Type::RUNSTDBY
uint32_t RUNSTDBY
Definition: sercom.h:50
SERCOM_SPI_INTFLAG_Type::DRE
__I uint8_t DRE
Definition: sercom.h:953
SERCOM_I2CM_BAUD_Type
Definition: sercom.h:547
SERCOM_I2CM_CTRLC_Type
Definition: sercom.h:437
SERCOM_I2CS_STATUS_Type::HS
uint16_t HS
Definition: sercom.h:1073
SERCOM_I2CS_CTRLA_Type::SPEED
uint32_t SPEED
Definition: sercom.h:116
SERCOM_SPI_LENGTH_Type::reg
uint16_t reg
Definition: sercom.h:1320
SERCOM_SPI_INTENCLR_Type::DRE
uint8_t DRE
Definition: sercom.h:719
SERCOM_USART_CTRLA_Type::IBON
uint32_t IBON
Definition: sercom.h:220
SercomI2cm::INTFLAG
__IO SERCOM_I2CM_INTFLAG_Type INTFLAG
Offset: 0x18 (R/W 8) I2CM Interrupt Flag Status and Clear.
Definition: sercom.h:1583
SercomI2cs::INTENSET
__IO SERCOM_I2CS_INTENSET_Type INTENSET
Offset: 0x16 (R/W 8) I2CS Interrupt Enable Set.
Definition: sercom.h:1604
SERCOM_I2CS_CTRLA_Type::SDAHOLD
uint32_t SDAHOLD
Definition: sercom.h:113
SERCOM_I2CS_CTRLA_Type::RUNSTDBY
uint32_t RUNSTDBY
Definition: sercom.h:109
SERCOM_I2CM_CTRLA_Type::LOWTOUTEN
uint32_t LOWTOUTEN
Definition: sercom.h:61
SERCOM_I2CS_INTENSET_Type::PREC
uint8_t PREC
Definition: sercom.h:809
SERCOM_SPI_INTENCLR_Type::SSL
uint8_t SSL
Definition: sercom.h:722
SERCOM_USART_LENGTH_Type
Definition: sercom.h:1336
SERCOM_SPI_LENGTH_Type
Definition: sercom.h:1314
SercomUsart::DBGCTRL
__IO SERCOM_USART_DBGCTRL_Type DBGCTRL
Offset: 0x30 (R/W 8) USART Debug Control.
Definition: sercom.h:1665
SERCOM_SPI_CTRLA_Type::CPHA
uint32_t CPHA
Definition: sercom.h:171
SERCOM_I2CS_STATUS_Type::COLL
uint16_t COLL
Definition: sercom.h:1064
Sercom::SPI
SercomSpi SPI
Offset: 0x00 SPI Mode.
Definition: sercom.h:1673
SercomSpi::BAUD
__IO SERCOM_SPI_BAUD_Type BAUD
Offset: 0x0C (R/W 8) SPI Baud Rate.
Definition: sercom.h:1623
SercomI2cm::CTRLB
__IO SERCOM_I2CM_CTRLB_Type CTRLB
Offset: 0x04 (R/W 32) I2CM Control B.
Definition: sercom.h:1575
SercomSpi::SYNCBUSY
__I SERCOM_SPI_SYNCBUSY_Type SYNCBUSY
Offset: 0x1C (R/ 32) SPI Synchronization Busy.
Definition: sercom.h:1632
SERCOM_SPI_CTRLB_Type::MSSEN
uint32_t MSSEN
Definition: sercom.h:357
SERCOM_USART_CTRLA_Type::SWRST
uint32_t SWRST
Definition: sercom.h:215
SercomUsart::RXERRCNT
__I SERCOM_USART_RXERRCNT_Type RXERRCNT
Offset: 0x20 (R/ 8) USART Receive Error Count.
Definition: sercom.h:1659
SERCOM_SPI_INTFLAG_Type::ERROR
__I uint8_t ERROR
Definition: sercom.h:958
SERCOM_I2CS_LENGTH_Type
Definition: sercom.h:1292
SERCOM_I2CM_CTRLB_Type::reg
uint32_t reg
Definition: sercom.h:292
SERCOM_USART_INTFLAG_Type::ERROR
__I uint8_t ERROR
Definition: sercom.h:990
SercomSpi::CTRLC
__IO SERCOM_SPI_CTRLC_Type CTRLC
Offset: 0x08 (R/W 32) SPI Control C.
Definition: sercom.h:1622
SERCOM_USART_CTRLB_Type::CHSIZE
uint32_t CHSIZE
Definition: sercom.h:390
SERCOM_USART_INTFLAG_Type::DRE
__I uint8_t DRE
Definition: sercom.h:983
SERCOM_I2CM_CTRLB_Type::QCEN
uint32_t QCEN
Definition: sercom.h:286
SERCOM_I2CM_CTRLB_Type::ACKACT
uint32_t ACKACT
Definition: sercom.h:289
SERCOM_USART_INTFLAG_Type::RXBRK
__I uint8_t RXBRK
Definition: sercom.h:988
SERCOM_I2CM_BAUD_Type::HSBAUD
uint32_t HSBAUD
Definition: sercom.h:551
SERCOM_I2CM_INTENCLR_Type::ERROR
uint8_t ERROR
Definition: sercom.h:671
SERCOM_I2CM_BAUD_Type::reg
uint32_t reg
Definition: sercom.h:554
SercomSpi
SERCOM_SPI hardware registers.
Definition: sercom.h:1619
SERCOM_USART_INTENSET_Type::RXBRK
uint8_t RXBRK
Definition: sercom.h:871
SERCOM_I2CM_SYNCBUSY_Type
Definition: sercom.h:1170
SERCOM_SPI_CTRLA_Type::MODE
uint32_t MODE
Definition: sercom.h:161
SERCOM_USART_SYNCBUSY_Type::LENGTH
uint32_t LENGTH
Definition: sercom.h:1257
SERCOM_I2CS_STATUS_Type::LENERR
uint16_t LENERR
Definition: sercom.h:1074
SERCOM_USART_INTENCLR_Type::DRE
uint8_t DRE
Definition: sercom.h:749
SERCOM_I2CM_STATUS_Type::CLKHOLD
uint16_t CLKHOLD
Definition: sercom.h:1025
SERCOM_USART_CTRLA_Type::DORD
uint32_t DORD
Definition: sercom.h:232
SERCOM_USART_INTENCLR_Type::CTSIC
uint8_t CTSIC
Definition: sercom.h:753
SERCOM_USART_CTRLA_Type
Definition: sercom.h:213
SERCOM_I2CS_CTRLB_Type::SMEN
uint32_t SMEN
Definition: sercom.h:315
SERCOM_SPI_CTRLB_Type::AMODE
uint32_t AMODE
Definition: sercom.h:358
SERCOM_I2CS_CTRLA_Type::LOWTOUTEN
uint32_t LOWTOUTEN
Definition: sercom.h:120
SERCOM_USART_DBGCTRL_Type::DBGSTOP
uint8_t DBGSTOP
Definition: sercom.h:1557
SERCOM_SPI_CTRLA_Type::reg
uint32_t reg
Definition: sercom.h:176
SercomUsart::CTRLA
__IO SERCOM_USART_CTRLA_Type CTRLA
Offset: 0x00 (R/W 32) USART Control A.
Definition: sercom.h:1645
SERCOM_I2CS_SYNCBUSY_Type
Definition: sercom.h:1198
SercomSpi::INTENSET
__IO SERCOM_SPI_INTENSET_Type INTENSET
Offset: 0x16 (R/W 8) SPI Interrupt Enable Set.
Definition: sercom.h:1627
SERCOM_USART_INTENSET_Type::reg
uint8_t reg
Definition: sercom.h:875
SERCOM_I2CS_CTRLB_Type::reg
uint32_t reg
Definition: sercom.h:324
SERCOM_I2CM_BAUD_Type::HSBAUDLOW
uint32_t HSBAUDLOW
Definition: sercom.h:552
SERCOM_USART_CTRLC_Type::GTIME
uint32_t GTIME
Definition: sercom.h:504
SERCOM_I2CM_STATUS_Type::LOWTOUT
uint16_t LOWTOUT
Definition: sercom.h:1024
SERCOM_I2CM_STATUS_Type::BUSSTATE
uint16_t BUSSTATE
Definition: sercom.h:1023
SercomSpi::LENGTH
__IO SERCOM_SPI_LENGTH_Type LENGTH
Offset: 0x22 (R/W 16) SPI Length.
Definition: sercom.h:1634
SERCOM_USART_CTRLA_Type::FORM
uint32_t FORM
Definition: sercom.h:229
SERCOM_I2CS_CTRLA_Type::MODE
uint32_t MODE
Definition: sercom.h:107
SERCOM_I2CM_CTRLB_Type::CMD
uint32_t CMD
Definition: sercom.h:288
SERCOM_I2CS_CTRLC_Type::DATA32B
uint32_t DATA32B
Definition: sercom.h:460
SERCOM_I2CS_CTRLB_Type::GCMD
uint32_t GCMD
Definition: sercom.h:316
SERCOM_I2CS_CTRLA_Type::SEXTTOEN
uint32_t SEXTTOEN
Definition: sercom.h:115
SERCOM_I2CS_STATUS_Type::BUSERR
uint16_t BUSERR
Definition: sercom.h:1063
SERCOM_SPI_STATUS_Type::reg
uint16_t reg
Definition: sercom.h:1116
SERCOM_SPI_LENGTH_Type::LEN
uint16_t LEN
Definition: sercom.h:1316
SERCOM_USART_CTRLB_Type::reg
uint32_t reg
Definition: sercom.h:406
SERCOM_USART_DBGCTRL_Type
Definition: sercom.h:1555
SERCOM_I2CS_STATUS_Type
Definition: sercom.h:1061
SercomI2cs::CTRLA
__IO SERCOM_I2CS_CTRLA_Type CTRLA
Offset: 0x00 (R/W 32) I2CS Control A.
Definition: sercom.h:1598
SERCOM_USART_CTRLA_Type::CPOL
uint32_t CPOL
Definition: sercom.h:231
SERCOM_USART_CTRLC_Type::reg
uint32_t reg
Definition: sercom.h:517
SercomSpi::CTRLB
__IO SERCOM_SPI_CTRLB_Type CTRLB
Offset: 0x04 (R/W 32) SPI Control B.
Definition: sercom.h:1621
SERCOM_SPI_CTRLC_Type
Definition: sercom.h:479
SERCOM_SPI_STATUS_Type::BUFOVF
uint16_t BUFOVF
Definition: sercom.h:1111
SERCOM_USART_INTENCLR_Type
Definition: sercom.h:747
SERCOM_USART_INTFLAG_Type::TXC
__I uint8_t TXC
Definition: sercom.h:984
SERCOM_I2CS_CTRLC_Type::reg
uint32_t reg
Definition: sercom.h:463
SERCOM_SPI_SYNCBUSY_Type::ENABLE
uint32_t ENABLE
Definition: sercom.h:1226
SERCOM_USART_CTRLB_Type::ENC
uint32_t ENC
Definition: sercom.h:396
SERCOM_SPI_BAUD_Type
Definition: sercom.h:577
SERCOM_I2CM_SYNCBUSY_Type::SWRST
uint32_t SWRST
Definition: sercom.h:1172
SERCOM_I2CM_INTENCLR_Type::MB
uint8_t MB
Definition: sercom.h:668
SERCOM_USART_CTRLA_Type::reg
uint32_t reg
Definition: sercom.h:235
SERCOM_I2CS_STATUS_Type::SEXTTOUT
uint16_t SEXTTOUT
Definition: sercom.h:1072
SERCOM_I2CS_SYNCBUSY_Type::ENABLE
uint32_t ENABLE
Definition: sercom.h:1201
SERCOM_USART_CTRLC_Type::DSNACK
uint32_t DSNACK
Definition: sercom.h:510
SERCOM_USART_SYNCBUSY_Type::RXERRCNT
uint32_t RXERRCNT
Definition: sercom.h:1256
SERCOM_SPI_CTRLB_Type::SSDE
uint32_t SSDE
Definition: sercom.h:355
SERCOM_I2CM_INTENCLR_Type
Definition: sercom.h:666
SERCOM_I2CM_ADDR_Type::HS
uint32_t HS
Definition: sercom.h:1364
SERCOM_USART_CTRLA_Type::RUNSTDBY
uint32_t RUNSTDBY
Definition: sercom.h:219
SERCOM_SPI_CTRLA_Type::DORD
uint32_t DORD
Definition: sercom.h:173
RoReg8
volatile const uint8_t RoReg8
Definition: same54n19a.h:53
SERCOM_I2CM_DATA_Type::DATA
uint32_t DATA
Definition: sercom.h:1449
SercomI2cs::DATA
__IO SERCOM_I2CS_DATA_Type DATA
Offset: 0x28 (R/W 32) I2CS Data.
Definition: sercom.h:1613
SERCOM_SPI_STATUS_Type::LENERR
uint16_t LENERR
Definition: sercom.h:1113
SERCOM_USART_CTRLC_Type
Definition: sercom.h:502
SERCOM_USART_RXPL_Type::reg
uint8_t reg
Definition: sercom.h:652
SERCOM_USART_SYNCBUSY_Type
Definition: sercom.h:1251
SERCOM_SPI_INTENSET_Type::RXC
uint8_t RXC
Definition: sercom.h:838
SERCOM_USART_CTRLA_Type::SAMPR
uint32_t SAMPR
Definition: sercom.h:224
SERCOM_SPI_SYNCBUSY_Type::LENGTH
uint32_t LENGTH
Definition: sercom.h:1229
SERCOM_SPI_CTRLC_Type::reg
uint32_t reg
Definition: sercom.h:486
SERCOM_SPI_DBGCTRL_Type::DBGSTOP
uint8_t DBGSTOP
Definition: sercom.h:1539
SERCOM_SPI_INTENSET_Type::SSL
uint8_t SSL
Definition: sercom.h:839
SERCOM_I2CS_INTENCLR_Type::DRDY
uint8_t DRDY
Definition: sercom.h:694
SERCOM_SPI_CTRLB_Type::reg
uint32_t reg
Definition: sercom.h:363
SercomUsart::BAUD
__IO SERCOM_USART_BAUD_Type BAUD
Offset: 0x0C (R/W 16) USART Baud Rate.
Definition: sercom.h:1648
SERCOM_I2CM_ADDR_Type::TENBITEN
uint32_t TENBITEN
Definition: sercom.h:1365
SERCOM_USART_INTENSET_Type::DRE
uint8_t DRE
Definition: sercom.h:866
SercomSpi::ADDR
__IO SERCOM_SPI_ADDR_Type ADDR
Offset: 0x24 (R/W 32) SPI Address.
Definition: sercom.h:1635
SERCOM_USART_LENGTH_Type::reg
uint16_t reg
Definition: sercom.h:1342
SERCOM_USART_CTRLA_Type::TXPO
uint32_t TXPO
Definition: sercom.h:225
Sercom::I2CS
SercomI2cs I2CS
Offset: 0x00 I2C Slave Mode.
Definition: sercom.h:1672
SERCOM_I2CS_LENGTH_Type::LEN
uint16_t LEN
Definition: sercom.h:1294
SERCOM_I2CM_BAUD_Type::BAUD
uint32_t BAUD
Definition: sercom.h:549
SERCOM_I2CS_CTRLB_Type::AMODE
uint32_t AMODE
Definition: sercom.h:319
SERCOM_I2CM_CTRLA_Type::SWRST
uint32_t SWRST
Definition: sercom.h:46
SERCOM_I2CM_INTENSET_Type::MB
uint8_t MB
Definition: sercom.h:785
SercomUsart::CTRLC
__IO SERCOM_USART_CTRLC_Type CTRLC
Offset: 0x08 (R/W 32) USART Control C.
Definition: sercom.h:1647
SERCOM_SPI_LENGTH_Type::LENEN
uint16_t LENEN
Definition: sercom.h:1317
SERCOM_SPI_INTFLAG_Type::reg
uint8_t reg
Definition: sercom.h:960
SERCOM_USART_SYNCBUSY_Type::SWRST
uint32_t SWRST
Definition: sercom.h:1253
SERCOM_USART_STATUS_Type::PERR
uint16_t PERR
Definition: sercom.h:1133
SERCOM_SPI_INTENSET_Type::ERROR
uint8_t ERROR
Definition: sercom.h:841
SercomSpi::INTENCLR
__IO SERCOM_SPI_INTENCLR_Type INTENCLR
Offset: 0x14 (R/W 8) SPI Interrupt Enable Clear.
Definition: sercom.h:1625
SERCOM_I2CS_INTFLAG_Type::reg
uint8_t reg
Definition: sercom.h:932
SERCOM_USART_BAUD_Type::BAUD
uint16_t BAUD
Definition: sercom.h:597
SERCOM_I2CS_CTRLC_Type::SDASETUP
uint32_t SDASETUP
Definition: sercom.h:458
SERCOM_USART_DBGCTRL_Type::reg
uint8_t reg
Definition: sercom.h:1560
SERCOM_I2CM_CTRLA_Type::reg
uint32_t reg
Definition: sercom.h:64
SERCOM_I2CS_CTRLB_Type::ACKACT
uint32_t ACKACT
Definition: sercom.h:321
SERCOM_I2CS_DATA_Type
Definition: sercom.h:1465
SercomUsart::SYNCBUSY
__I SERCOM_USART_SYNCBUSY_Type SYNCBUSY
Offset: 0x1C (R/ 32) USART Synchronization Busy.
Definition: sercom.h:1658
SercomI2cm::CTRLC
__IO SERCOM_I2CM_CTRLC_Type CTRLC
Offset: 0x08 (R/W 32) I2CM Control C.
Definition: sercom.h:1576
SERCOM_I2CS_ADDR_Type::ADDR
uint32_t ADDR
Definition: sercom.h:1395
SERCOM_SPI_CTRLA_Type::DIPO
uint32_t DIPO
Definition: sercom.h:168
SERCOM_SPI_SYNCBUSY_Type
Definition: sercom.h:1223
SERCOM_USART_DATA_Type::DATA
uint32_t DATA
Definition: sercom.h:1503
SERCOM_USART_INTENSET_Type::TXC
uint8_t TXC
Definition: sercom.h:867
SERCOM_SPI_CTRLA_Type::CPOL
uint32_t CPOL
Definition: sercom.h:172
SERCOM_SPI_DATA_Type::reg
uint32_t reg
Definition: sercom.h:1487
SERCOM_SPI_STATUS_Type
Definition: sercom.h:1108
SERCOM_I2CM_SYNCBUSY_Type::SYSOP
uint32_t SYSOP
Definition: sercom.h:1174
SERCOM_I2CM_SYNCBUSY_Type::LENGTH
uint32_t LENGTH
Definition: sercom.h:1176
SERCOM_I2CM_INTFLAG_Type::ERROR
__I uint8_t ERROR
Definition: sercom.h:905
SERCOM_SPI_BAUD_Type::BAUD
uint8_t BAUD
Definition: sercom.h:579
SERCOM_I2CM_INTENSET_Type::ERROR
uint8_t ERROR
Definition: sercom.h:788
Sercom::USART
SercomUsart USART
Offset: 0x00 USART Mode.
Definition: sercom.h:1674
SERCOM_I2CS_CTRLB_Type
Definition: sercom.h:312
SERCOM_I2CS_INTENCLR_Type::PREC
uint8_t PREC
Definition: sercom.h:692
SERCOM_I2CM_INTFLAG_Type::MB
__I uint8_t MB
Definition: sercom.h:902
SERCOM_I2CS_SYNCBUSY_Type::SWRST
uint32_t SWRST
Definition: sercom.h:1200
SercomI2cm::BAUD
__IO SERCOM_I2CM_BAUD_Type BAUD
Offset: 0x0C (R/W 32) I2CM Baud Rate.
Definition: sercom.h:1577
SERCOM_I2CM_STATUS_Type::ARBLOST
uint16_t ARBLOST
Definition: sercom.h:1020
SERCOM_I2CM_CTRLA_Type::SDAHOLD
uint32_t SDAHOLD
Definition: sercom.h:54
SERCOM_USART_INTENCLR_Type::TXC
uint8_t TXC
Definition: sercom.h:750
SERCOM_I2CS_INTFLAG_Type::uint8_t
__I uint8_t
Definition: sercom.h:929
SercomI2cs
SERCOM_I2CS hardware registers.
Definition: sercom.h:1597
SERCOM_USART_INTENCLR_Type::RXS
uint8_t RXS
Definition: sercom.h:752
SercomUsart::STATUS
__IO SERCOM_USART_STATUS_Type STATUS
Offset: 0x1A (R/W 16) USART Status.
Definition: sercom.h:1657
SERCOM_I2CM_INTENSET_Type
Definition: sercom.h:783
SERCOM_I2CM_ADDR_Type
Definition: sercom.h:1359