1 /**
2 * \file
3 *
4 * \brief SAM AC
5 *
6 * Copyright (C) 2016 Atmel Corporation. All rights reserved.
7 *
8 * \asf_license_start
9 *
10 * \page License
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions are met:
14 *
15 * 1. Redistributions of source code must retain the above copyright notice,
16 * this list of conditions and the following disclaimer.
17 *
18 * 2. Redistributions in binary form must reproduce the above copyright notice,
19 * this list of conditions and the following disclaimer in the documentation
20 * and/or other materials provided with the distribution.
21 *
22 * 3. The name of Atmel may not be used to endorse or promote products derived
23 * from this software without specific prior written permission.
24 *
25 * 4. This software may only be redistributed and used in connection with an
26 * Atmel microcontroller product.
27 *
28 * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
29 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
30 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
31 * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
32 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
36 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 * POSSIBILITY OF SUCH DAMAGE.
39 *
40 * \asf_license_stop
41 */
42
43 #ifdef _SAML21_AC_COMPONENT_
44 #ifndef _HRI_AC_L21_H_INCLUDED_
45 #define _HRI_AC_L21_H_INCLUDED_
46
47 #ifdef __cplusplus
48 extern "C" {
49 #endif
50
51 #include <stdbool.h>
52 #include <hal_atomic.h>
53
54 #if defined(ENABLE_AC_CRITICAL_SECTIONS)
55 #define AC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
56 #define AC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
57 #else
58 #define AC_CRITICAL_SECTION_ENTER()
59 #define AC_CRITICAL_SECTION_LEAVE()
60 #endif
61
62 typedef uint16_t hri_ac_evctrl_reg_t;
63 typedef uint32_t hri_ac_compctrl_reg_t;
64 typedef uint32_t hri_ac_syncbusy_reg_t;
65 typedef uint8_t hri_ac_ctrla_reg_t;
66 typedef uint8_t hri_ac_ctrlb_reg_t;
67 typedef uint8_t hri_ac_dbgctrl_reg_t;
68 typedef uint8_t hri_ac_intenset_reg_t;
69 typedef uint8_t hri_ac_intflag_reg_t;
70 typedef uint8_t hri_ac_scaler_reg_t;
71 typedef uint8_t hri_ac_statusa_reg_t;
72 typedef uint8_t hri_ac_statusb_reg_t;
73 typedef uint8_t hri_ac_winctrl_reg_t;
74
hri_ac_wait_for_sync(const void * const hw,hri_ac_syncbusy_reg_t reg)75 static inline void hri_ac_wait_for_sync(const void *const hw, hri_ac_syncbusy_reg_t reg)
76 {
77 while (((Ac *)hw)->SYNCBUSY.reg & reg) {
78 };
79 }
80
hri_ac_is_syncing(const void * const hw,hri_ac_syncbusy_reg_t reg)81 static inline bool hri_ac_is_syncing(const void *const hw, hri_ac_syncbusy_reg_t reg)
82 {
83 return ((Ac *)hw)->SYNCBUSY.reg & reg;
84 }
85
hri_ac_set_INTEN_COMP0_bit(const void * const hw)86 static inline void hri_ac_set_INTEN_COMP0_bit(const void *const hw)
87 {
88 ((Ac *)hw)->INTENSET.reg = AC_INTENSET_COMP0;
89 }
90
hri_ac_get_INTEN_COMP0_bit(const void * const hw)91 static inline bool hri_ac_get_INTEN_COMP0_bit(const void *const hw)
92 {
93 return (((Ac *)hw)->INTENSET.reg & AC_INTENSET_COMP0) >> AC_INTENSET_COMP0_Pos;
94 }
95
hri_ac_write_INTEN_COMP0_bit(const void * const hw,bool value)96 static inline void hri_ac_write_INTEN_COMP0_bit(const void *const hw, bool value)
97 {
98 if (value == 0x0) {
99 ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_COMP0;
100 } else {
101 ((Ac *)hw)->INTENSET.reg = AC_INTENSET_COMP0;
102 }
103 }
104
hri_ac_clear_INTEN_COMP0_bit(const void * const hw)105 static inline void hri_ac_clear_INTEN_COMP0_bit(const void *const hw)
106 {
107 ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_COMP0;
108 }
109
hri_ac_set_INTEN_COMP1_bit(const void * const hw)110 static inline void hri_ac_set_INTEN_COMP1_bit(const void *const hw)
111 {
112 ((Ac *)hw)->INTENSET.reg = AC_INTENSET_COMP1;
113 }
114
hri_ac_get_INTEN_COMP1_bit(const void * const hw)115 static inline bool hri_ac_get_INTEN_COMP1_bit(const void *const hw)
116 {
117 return (((Ac *)hw)->INTENSET.reg & AC_INTENSET_COMP1) >> AC_INTENSET_COMP1_Pos;
118 }
119
hri_ac_write_INTEN_COMP1_bit(const void * const hw,bool value)120 static inline void hri_ac_write_INTEN_COMP1_bit(const void *const hw, bool value)
121 {
122 if (value == 0x0) {
123 ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_COMP1;
124 } else {
125 ((Ac *)hw)->INTENSET.reg = AC_INTENSET_COMP1;
126 }
127 }
128
hri_ac_clear_INTEN_COMP1_bit(const void * const hw)129 static inline void hri_ac_clear_INTEN_COMP1_bit(const void *const hw)
130 {
131 ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_COMP1;
132 }
133
hri_ac_set_INTEN_WIN0_bit(const void * const hw)134 static inline void hri_ac_set_INTEN_WIN0_bit(const void *const hw)
135 {
136 ((Ac *)hw)->INTENSET.reg = AC_INTENSET_WIN0;
137 }
138
hri_ac_get_INTEN_WIN0_bit(const void * const hw)139 static inline bool hri_ac_get_INTEN_WIN0_bit(const void *const hw)
140 {
141 return (((Ac *)hw)->INTENSET.reg & AC_INTENSET_WIN0) >> AC_INTENSET_WIN0_Pos;
142 }
143
hri_ac_write_INTEN_WIN0_bit(const void * const hw,bool value)144 static inline void hri_ac_write_INTEN_WIN0_bit(const void *const hw, bool value)
145 {
146 if (value == 0x0) {
147 ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_WIN0;
148 } else {
149 ((Ac *)hw)->INTENSET.reg = AC_INTENSET_WIN0;
150 }
151 }
152
hri_ac_clear_INTEN_WIN0_bit(const void * const hw)153 static inline void hri_ac_clear_INTEN_WIN0_bit(const void *const hw)
154 {
155 ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_WIN0;
156 }
157
hri_ac_set_INTEN_reg(const void * const hw,hri_ac_intenset_reg_t mask)158 static inline void hri_ac_set_INTEN_reg(const void *const hw, hri_ac_intenset_reg_t mask)
159 {
160 ((Ac *)hw)->INTENSET.reg = mask;
161 }
162
hri_ac_get_INTEN_reg(const void * const hw,hri_ac_intenset_reg_t mask)163 static inline hri_ac_intenset_reg_t hri_ac_get_INTEN_reg(const void *const hw, hri_ac_intenset_reg_t mask)
164 {
165 uint8_t tmp;
166 tmp = ((Ac *)hw)->INTENSET.reg;
167 tmp &= mask;
168 return tmp;
169 }
170
hri_ac_read_INTEN_reg(const void * const hw)171 static inline hri_ac_intenset_reg_t hri_ac_read_INTEN_reg(const void *const hw)
172 {
173 return ((Ac *)hw)->INTENSET.reg;
174 }
175
hri_ac_write_INTEN_reg(const void * const hw,hri_ac_intenset_reg_t data)176 static inline void hri_ac_write_INTEN_reg(const void *const hw, hri_ac_intenset_reg_t data)
177 {
178 ((Ac *)hw)->INTENSET.reg = data;
179 ((Ac *)hw)->INTENCLR.reg = ~data;
180 }
181
hri_ac_clear_INTEN_reg(const void * const hw,hri_ac_intenset_reg_t mask)182 static inline void hri_ac_clear_INTEN_reg(const void *const hw, hri_ac_intenset_reg_t mask)
183 {
184 ((Ac *)hw)->INTENCLR.reg = mask;
185 }
186
hri_ac_get_INTFLAG_COMP0_bit(const void * const hw)187 static inline bool hri_ac_get_INTFLAG_COMP0_bit(const void *const hw)
188 {
189 return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_COMP0) >> AC_INTFLAG_COMP0_Pos;
190 }
191
hri_ac_clear_INTFLAG_COMP0_bit(const void * const hw)192 static inline void hri_ac_clear_INTFLAG_COMP0_bit(const void *const hw)
193 {
194 ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_COMP0;
195 }
196
hri_ac_get_INTFLAG_COMP1_bit(const void * const hw)197 static inline bool hri_ac_get_INTFLAG_COMP1_bit(const void *const hw)
198 {
199 return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_COMP1) >> AC_INTFLAG_COMP1_Pos;
200 }
201
hri_ac_clear_INTFLAG_COMP1_bit(const void * const hw)202 static inline void hri_ac_clear_INTFLAG_COMP1_bit(const void *const hw)
203 {
204 ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_COMP1;
205 }
206
hri_ac_get_INTFLAG_WIN0_bit(const void * const hw)207 static inline bool hri_ac_get_INTFLAG_WIN0_bit(const void *const hw)
208 {
209 return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_WIN0) >> AC_INTFLAG_WIN0_Pos;
210 }
211
hri_ac_clear_INTFLAG_WIN0_bit(const void * const hw)212 static inline void hri_ac_clear_INTFLAG_WIN0_bit(const void *const hw)
213 {
214 ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_WIN0;
215 }
216
hri_ac_get_interrupt_COMP0_bit(const void * const hw)217 static inline bool hri_ac_get_interrupt_COMP0_bit(const void *const hw)
218 {
219 return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_COMP0) >> AC_INTFLAG_COMP0_Pos;
220 }
221
hri_ac_clear_interrupt_COMP0_bit(const void * const hw)222 static inline void hri_ac_clear_interrupt_COMP0_bit(const void *const hw)
223 {
224 ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_COMP0;
225 }
226
hri_ac_get_interrupt_COMP1_bit(const void * const hw)227 static inline bool hri_ac_get_interrupt_COMP1_bit(const void *const hw)
228 {
229 return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_COMP1) >> AC_INTFLAG_COMP1_Pos;
230 }
231
hri_ac_clear_interrupt_COMP1_bit(const void * const hw)232 static inline void hri_ac_clear_interrupt_COMP1_bit(const void *const hw)
233 {
234 ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_COMP1;
235 }
236
hri_ac_get_interrupt_WIN0_bit(const void * const hw)237 static inline bool hri_ac_get_interrupt_WIN0_bit(const void *const hw)
238 {
239 return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_WIN0) >> AC_INTFLAG_WIN0_Pos;
240 }
241
hri_ac_clear_interrupt_WIN0_bit(const void * const hw)242 static inline void hri_ac_clear_interrupt_WIN0_bit(const void *const hw)
243 {
244 ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_WIN0;
245 }
246
hri_ac_get_INTFLAG_reg(const void * const hw,hri_ac_intflag_reg_t mask)247 static inline hri_ac_intflag_reg_t hri_ac_get_INTFLAG_reg(const void *const hw, hri_ac_intflag_reg_t mask)
248 {
249 uint8_t tmp;
250 tmp = ((Ac *)hw)->INTFLAG.reg;
251 tmp &= mask;
252 return tmp;
253 }
254
hri_ac_read_INTFLAG_reg(const void * const hw)255 static inline hri_ac_intflag_reg_t hri_ac_read_INTFLAG_reg(const void *const hw)
256 {
257 return ((Ac *)hw)->INTFLAG.reg;
258 }
259
hri_ac_clear_INTFLAG_reg(const void * const hw,hri_ac_intflag_reg_t mask)260 static inline void hri_ac_clear_INTFLAG_reg(const void *const hw, hri_ac_intflag_reg_t mask)
261 {
262 ((Ac *)hw)->INTFLAG.reg = mask;
263 }
264
hri_ac_write_CTRLB_reg(const void * const hw,hri_ac_ctrlb_reg_t data)265 static inline void hri_ac_write_CTRLB_reg(const void *const hw, hri_ac_ctrlb_reg_t data)
266 {
267 AC_CRITICAL_SECTION_ENTER();
268 ((Ac *)hw)->CTRLB.reg = data;
269 AC_CRITICAL_SECTION_LEAVE();
270 }
271
hri_ac_set_CTRLA_SWRST_bit(const void * const hw)272 static inline void hri_ac_set_CTRLA_SWRST_bit(const void *const hw)
273 {
274 AC_CRITICAL_SECTION_ENTER();
275 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST);
276 ((Ac *)hw)->CTRLA.reg |= AC_CTRLA_SWRST;
277 AC_CRITICAL_SECTION_LEAVE();
278 }
279
hri_ac_get_CTRLA_SWRST_bit(const void * const hw)280 static inline bool hri_ac_get_CTRLA_SWRST_bit(const void *const hw)
281 {
282 uint8_t tmp;
283 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST);
284 tmp = ((Ac *)hw)->CTRLA.reg;
285 tmp = (tmp & AC_CTRLA_SWRST) >> AC_CTRLA_SWRST_Pos;
286 return (bool)tmp;
287 }
288
hri_ac_set_CTRLA_ENABLE_bit(const void * const hw)289 static inline void hri_ac_set_CTRLA_ENABLE_bit(const void *const hw)
290 {
291 AC_CRITICAL_SECTION_ENTER();
292 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
293 ((Ac *)hw)->CTRLA.reg |= AC_CTRLA_ENABLE;
294 AC_CRITICAL_SECTION_LEAVE();
295 }
296
hri_ac_get_CTRLA_ENABLE_bit(const void * const hw)297 static inline bool hri_ac_get_CTRLA_ENABLE_bit(const void *const hw)
298 {
299 uint8_t tmp;
300 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
301 tmp = ((Ac *)hw)->CTRLA.reg;
302 tmp = (tmp & AC_CTRLA_ENABLE) >> AC_CTRLA_ENABLE_Pos;
303 return (bool)tmp;
304 }
305
hri_ac_write_CTRLA_ENABLE_bit(const void * const hw,bool value)306 static inline void hri_ac_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
307 {
308 uint8_t tmp;
309 AC_CRITICAL_SECTION_ENTER();
310 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
311 tmp = ((Ac *)hw)->CTRLA.reg;
312 tmp &= ~AC_CTRLA_ENABLE;
313 tmp |= value << AC_CTRLA_ENABLE_Pos;
314 ((Ac *)hw)->CTRLA.reg = tmp;
315 AC_CRITICAL_SECTION_LEAVE();
316 }
317
hri_ac_clear_CTRLA_ENABLE_bit(const void * const hw)318 static inline void hri_ac_clear_CTRLA_ENABLE_bit(const void *const hw)
319 {
320 AC_CRITICAL_SECTION_ENTER();
321 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
322 ((Ac *)hw)->CTRLA.reg &= ~AC_CTRLA_ENABLE;
323 AC_CRITICAL_SECTION_LEAVE();
324 }
325
hri_ac_toggle_CTRLA_ENABLE_bit(const void * const hw)326 static inline void hri_ac_toggle_CTRLA_ENABLE_bit(const void *const hw)
327 {
328 AC_CRITICAL_SECTION_ENTER();
329 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
330 ((Ac *)hw)->CTRLA.reg ^= AC_CTRLA_ENABLE;
331 AC_CRITICAL_SECTION_LEAVE();
332 }
333
hri_ac_set_CTRLA_reg(const void * const hw,hri_ac_ctrla_reg_t mask)334 static inline void hri_ac_set_CTRLA_reg(const void *const hw, hri_ac_ctrla_reg_t mask)
335 {
336 AC_CRITICAL_SECTION_ENTER();
337 ((Ac *)hw)->CTRLA.reg |= mask;
338 AC_CRITICAL_SECTION_LEAVE();
339 }
340
hri_ac_get_CTRLA_reg(const void * const hw,hri_ac_ctrla_reg_t mask)341 static inline hri_ac_ctrla_reg_t hri_ac_get_CTRLA_reg(const void *const hw, hri_ac_ctrla_reg_t mask)
342 {
343 uint8_t tmp;
344 tmp = ((Ac *)hw)->CTRLA.reg;
345 tmp &= mask;
346 return tmp;
347 }
348
hri_ac_write_CTRLA_reg(const void * const hw,hri_ac_ctrla_reg_t data)349 static inline void hri_ac_write_CTRLA_reg(const void *const hw, hri_ac_ctrla_reg_t data)
350 {
351 AC_CRITICAL_SECTION_ENTER();
352 ((Ac *)hw)->CTRLA.reg = data;
353 AC_CRITICAL_SECTION_LEAVE();
354 }
355
hri_ac_clear_CTRLA_reg(const void * const hw,hri_ac_ctrla_reg_t mask)356 static inline void hri_ac_clear_CTRLA_reg(const void *const hw, hri_ac_ctrla_reg_t mask)
357 {
358 AC_CRITICAL_SECTION_ENTER();
359 ((Ac *)hw)->CTRLA.reg &= ~mask;
360 AC_CRITICAL_SECTION_LEAVE();
361 }
362
hri_ac_toggle_CTRLA_reg(const void * const hw,hri_ac_ctrla_reg_t mask)363 static inline void hri_ac_toggle_CTRLA_reg(const void *const hw, hri_ac_ctrla_reg_t mask)
364 {
365 AC_CRITICAL_SECTION_ENTER();
366 ((Ac *)hw)->CTRLA.reg ^= mask;
367 AC_CRITICAL_SECTION_LEAVE();
368 }
369
hri_ac_read_CTRLA_reg(const void * const hw)370 static inline hri_ac_ctrla_reg_t hri_ac_read_CTRLA_reg(const void *const hw)
371 {
372 return ((Ac *)hw)->CTRLA.reg;
373 }
374
hri_ac_set_EVCTRL_COMPEO0_bit(const void * const hw)375 static inline void hri_ac_set_EVCTRL_COMPEO0_bit(const void *const hw)
376 {
377 AC_CRITICAL_SECTION_ENTER();
378 ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_COMPEO0;
379 AC_CRITICAL_SECTION_LEAVE();
380 }
381
hri_ac_get_EVCTRL_COMPEO0_bit(const void * const hw)382 static inline bool hri_ac_get_EVCTRL_COMPEO0_bit(const void *const hw)
383 {
384 uint16_t tmp;
385 tmp = ((Ac *)hw)->EVCTRL.reg;
386 tmp = (tmp & AC_EVCTRL_COMPEO0) >> AC_EVCTRL_COMPEO0_Pos;
387 return (bool)tmp;
388 }
389
hri_ac_write_EVCTRL_COMPEO0_bit(const void * const hw,bool value)390 static inline void hri_ac_write_EVCTRL_COMPEO0_bit(const void *const hw, bool value)
391 {
392 uint16_t tmp;
393 AC_CRITICAL_SECTION_ENTER();
394 tmp = ((Ac *)hw)->EVCTRL.reg;
395 tmp &= ~AC_EVCTRL_COMPEO0;
396 tmp |= value << AC_EVCTRL_COMPEO0_Pos;
397 ((Ac *)hw)->EVCTRL.reg = tmp;
398 AC_CRITICAL_SECTION_LEAVE();
399 }
400
hri_ac_clear_EVCTRL_COMPEO0_bit(const void * const hw)401 static inline void hri_ac_clear_EVCTRL_COMPEO0_bit(const void *const hw)
402 {
403 AC_CRITICAL_SECTION_ENTER();
404 ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_COMPEO0;
405 AC_CRITICAL_SECTION_LEAVE();
406 }
407
hri_ac_toggle_EVCTRL_COMPEO0_bit(const void * const hw)408 static inline void hri_ac_toggle_EVCTRL_COMPEO0_bit(const void *const hw)
409 {
410 AC_CRITICAL_SECTION_ENTER();
411 ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_COMPEO0;
412 AC_CRITICAL_SECTION_LEAVE();
413 }
414
hri_ac_set_EVCTRL_COMPEO1_bit(const void * const hw)415 static inline void hri_ac_set_EVCTRL_COMPEO1_bit(const void *const hw)
416 {
417 AC_CRITICAL_SECTION_ENTER();
418 ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_COMPEO1;
419 AC_CRITICAL_SECTION_LEAVE();
420 }
421
hri_ac_get_EVCTRL_COMPEO1_bit(const void * const hw)422 static inline bool hri_ac_get_EVCTRL_COMPEO1_bit(const void *const hw)
423 {
424 uint16_t tmp;
425 tmp = ((Ac *)hw)->EVCTRL.reg;
426 tmp = (tmp & AC_EVCTRL_COMPEO1) >> AC_EVCTRL_COMPEO1_Pos;
427 return (bool)tmp;
428 }
429
hri_ac_write_EVCTRL_COMPEO1_bit(const void * const hw,bool value)430 static inline void hri_ac_write_EVCTRL_COMPEO1_bit(const void *const hw, bool value)
431 {
432 uint16_t tmp;
433 AC_CRITICAL_SECTION_ENTER();
434 tmp = ((Ac *)hw)->EVCTRL.reg;
435 tmp &= ~AC_EVCTRL_COMPEO1;
436 tmp |= value << AC_EVCTRL_COMPEO1_Pos;
437 ((Ac *)hw)->EVCTRL.reg = tmp;
438 AC_CRITICAL_SECTION_LEAVE();
439 }
440
hri_ac_clear_EVCTRL_COMPEO1_bit(const void * const hw)441 static inline void hri_ac_clear_EVCTRL_COMPEO1_bit(const void *const hw)
442 {
443 AC_CRITICAL_SECTION_ENTER();
444 ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_COMPEO1;
445 AC_CRITICAL_SECTION_LEAVE();
446 }
447
hri_ac_toggle_EVCTRL_COMPEO1_bit(const void * const hw)448 static inline void hri_ac_toggle_EVCTRL_COMPEO1_bit(const void *const hw)
449 {
450 AC_CRITICAL_SECTION_ENTER();
451 ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_COMPEO1;
452 AC_CRITICAL_SECTION_LEAVE();
453 }
454
hri_ac_set_EVCTRL_WINEO0_bit(const void * const hw)455 static inline void hri_ac_set_EVCTRL_WINEO0_bit(const void *const hw)
456 {
457 AC_CRITICAL_SECTION_ENTER();
458 ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_WINEO0;
459 AC_CRITICAL_SECTION_LEAVE();
460 }
461
hri_ac_get_EVCTRL_WINEO0_bit(const void * const hw)462 static inline bool hri_ac_get_EVCTRL_WINEO0_bit(const void *const hw)
463 {
464 uint16_t tmp;
465 tmp = ((Ac *)hw)->EVCTRL.reg;
466 tmp = (tmp & AC_EVCTRL_WINEO0) >> AC_EVCTRL_WINEO0_Pos;
467 return (bool)tmp;
468 }
469
hri_ac_write_EVCTRL_WINEO0_bit(const void * const hw,bool value)470 static inline void hri_ac_write_EVCTRL_WINEO0_bit(const void *const hw, bool value)
471 {
472 uint16_t tmp;
473 AC_CRITICAL_SECTION_ENTER();
474 tmp = ((Ac *)hw)->EVCTRL.reg;
475 tmp &= ~AC_EVCTRL_WINEO0;
476 tmp |= value << AC_EVCTRL_WINEO0_Pos;
477 ((Ac *)hw)->EVCTRL.reg = tmp;
478 AC_CRITICAL_SECTION_LEAVE();
479 }
480
hri_ac_clear_EVCTRL_WINEO0_bit(const void * const hw)481 static inline void hri_ac_clear_EVCTRL_WINEO0_bit(const void *const hw)
482 {
483 AC_CRITICAL_SECTION_ENTER();
484 ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_WINEO0;
485 AC_CRITICAL_SECTION_LEAVE();
486 }
487
hri_ac_toggle_EVCTRL_WINEO0_bit(const void * const hw)488 static inline void hri_ac_toggle_EVCTRL_WINEO0_bit(const void *const hw)
489 {
490 AC_CRITICAL_SECTION_ENTER();
491 ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_WINEO0;
492 AC_CRITICAL_SECTION_LEAVE();
493 }
494
hri_ac_set_EVCTRL_COMPEI0_bit(const void * const hw)495 static inline void hri_ac_set_EVCTRL_COMPEI0_bit(const void *const hw)
496 {
497 AC_CRITICAL_SECTION_ENTER();
498 ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_COMPEI0;
499 AC_CRITICAL_SECTION_LEAVE();
500 }
501
hri_ac_get_EVCTRL_COMPEI0_bit(const void * const hw)502 static inline bool hri_ac_get_EVCTRL_COMPEI0_bit(const void *const hw)
503 {
504 uint16_t tmp;
505 tmp = ((Ac *)hw)->EVCTRL.reg;
506 tmp = (tmp & AC_EVCTRL_COMPEI0) >> AC_EVCTRL_COMPEI0_Pos;
507 return (bool)tmp;
508 }
509
hri_ac_write_EVCTRL_COMPEI0_bit(const void * const hw,bool value)510 static inline void hri_ac_write_EVCTRL_COMPEI0_bit(const void *const hw, bool value)
511 {
512 uint16_t tmp;
513 AC_CRITICAL_SECTION_ENTER();
514 tmp = ((Ac *)hw)->EVCTRL.reg;
515 tmp &= ~AC_EVCTRL_COMPEI0;
516 tmp |= value << AC_EVCTRL_COMPEI0_Pos;
517 ((Ac *)hw)->EVCTRL.reg = tmp;
518 AC_CRITICAL_SECTION_LEAVE();
519 }
520
hri_ac_clear_EVCTRL_COMPEI0_bit(const void * const hw)521 static inline void hri_ac_clear_EVCTRL_COMPEI0_bit(const void *const hw)
522 {
523 AC_CRITICAL_SECTION_ENTER();
524 ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_COMPEI0;
525 AC_CRITICAL_SECTION_LEAVE();
526 }
527
hri_ac_toggle_EVCTRL_COMPEI0_bit(const void * const hw)528 static inline void hri_ac_toggle_EVCTRL_COMPEI0_bit(const void *const hw)
529 {
530 AC_CRITICAL_SECTION_ENTER();
531 ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_COMPEI0;
532 AC_CRITICAL_SECTION_LEAVE();
533 }
534
hri_ac_set_EVCTRL_COMPEI1_bit(const void * const hw)535 static inline void hri_ac_set_EVCTRL_COMPEI1_bit(const void *const hw)
536 {
537 AC_CRITICAL_SECTION_ENTER();
538 ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_COMPEI1;
539 AC_CRITICAL_SECTION_LEAVE();
540 }
541
hri_ac_get_EVCTRL_COMPEI1_bit(const void * const hw)542 static inline bool hri_ac_get_EVCTRL_COMPEI1_bit(const void *const hw)
543 {
544 uint16_t tmp;
545 tmp = ((Ac *)hw)->EVCTRL.reg;
546 tmp = (tmp & AC_EVCTRL_COMPEI1) >> AC_EVCTRL_COMPEI1_Pos;
547 return (bool)tmp;
548 }
549
hri_ac_write_EVCTRL_COMPEI1_bit(const void * const hw,bool value)550 static inline void hri_ac_write_EVCTRL_COMPEI1_bit(const void *const hw, bool value)
551 {
552 uint16_t tmp;
553 AC_CRITICAL_SECTION_ENTER();
554 tmp = ((Ac *)hw)->EVCTRL.reg;
555 tmp &= ~AC_EVCTRL_COMPEI1;
556 tmp |= value << AC_EVCTRL_COMPEI1_Pos;
557 ((Ac *)hw)->EVCTRL.reg = tmp;
558 AC_CRITICAL_SECTION_LEAVE();
559 }
560
hri_ac_clear_EVCTRL_COMPEI1_bit(const void * const hw)561 static inline void hri_ac_clear_EVCTRL_COMPEI1_bit(const void *const hw)
562 {
563 AC_CRITICAL_SECTION_ENTER();
564 ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_COMPEI1;
565 AC_CRITICAL_SECTION_LEAVE();
566 }
567
hri_ac_toggle_EVCTRL_COMPEI1_bit(const void * const hw)568 static inline void hri_ac_toggle_EVCTRL_COMPEI1_bit(const void *const hw)
569 {
570 AC_CRITICAL_SECTION_ENTER();
571 ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_COMPEI1;
572 AC_CRITICAL_SECTION_LEAVE();
573 }
574
hri_ac_set_EVCTRL_INVEI0_bit(const void * const hw)575 static inline void hri_ac_set_EVCTRL_INVEI0_bit(const void *const hw)
576 {
577 AC_CRITICAL_SECTION_ENTER();
578 ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_INVEI0;
579 AC_CRITICAL_SECTION_LEAVE();
580 }
581
hri_ac_get_EVCTRL_INVEI0_bit(const void * const hw)582 static inline bool hri_ac_get_EVCTRL_INVEI0_bit(const void *const hw)
583 {
584 uint16_t tmp;
585 tmp = ((Ac *)hw)->EVCTRL.reg;
586 tmp = (tmp & AC_EVCTRL_INVEI0) >> AC_EVCTRL_INVEI0_Pos;
587 return (bool)tmp;
588 }
589
hri_ac_write_EVCTRL_INVEI0_bit(const void * const hw,bool value)590 static inline void hri_ac_write_EVCTRL_INVEI0_bit(const void *const hw, bool value)
591 {
592 uint16_t tmp;
593 AC_CRITICAL_SECTION_ENTER();
594 tmp = ((Ac *)hw)->EVCTRL.reg;
595 tmp &= ~AC_EVCTRL_INVEI0;
596 tmp |= value << AC_EVCTRL_INVEI0_Pos;
597 ((Ac *)hw)->EVCTRL.reg = tmp;
598 AC_CRITICAL_SECTION_LEAVE();
599 }
600
hri_ac_clear_EVCTRL_INVEI0_bit(const void * const hw)601 static inline void hri_ac_clear_EVCTRL_INVEI0_bit(const void *const hw)
602 {
603 AC_CRITICAL_SECTION_ENTER();
604 ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_INVEI0;
605 AC_CRITICAL_SECTION_LEAVE();
606 }
607
hri_ac_toggle_EVCTRL_INVEI0_bit(const void * const hw)608 static inline void hri_ac_toggle_EVCTRL_INVEI0_bit(const void *const hw)
609 {
610 AC_CRITICAL_SECTION_ENTER();
611 ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_INVEI0;
612 AC_CRITICAL_SECTION_LEAVE();
613 }
614
hri_ac_set_EVCTRL_INVEI1_bit(const void * const hw)615 static inline void hri_ac_set_EVCTRL_INVEI1_bit(const void *const hw)
616 {
617 AC_CRITICAL_SECTION_ENTER();
618 ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_INVEI1;
619 AC_CRITICAL_SECTION_LEAVE();
620 }
621
hri_ac_get_EVCTRL_INVEI1_bit(const void * const hw)622 static inline bool hri_ac_get_EVCTRL_INVEI1_bit(const void *const hw)
623 {
624 uint16_t tmp;
625 tmp = ((Ac *)hw)->EVCTRL.reg;
626 tmp = (tmp & AC_EVCTRL_INVEI1) >> AC_EVCTRL_INVEI1_Pos;
627 return (bool)tmp;
628 }
629
hri_ac_write_EVCTRL_INVEI1_bit(const void * const hw,bool value)630 static inline void hri_ac_write_EVCTRL_INVEI1_bit(const void *const hw, bool value)
631 {
632 uint16_t tmp;
633 AC_CRITICAL_SECTION_ENTER();
634 tmp = ((Ac *)hw)->EVCTRL.reg;
635 tmp &= ~AC_EVCTRL_INVEI1;
636 tmp |= value << AC_EVCTRL_INVEI1_Pos;
637 ((Ac *)hw)->EVCTRL.reg = tmp;
638 AC_CRITICAL_SECTION_LEAVE();
639 }
640
hri_ac_clear_EVCTRL_INVEI1_bit(const void * const hw)641 static inline void hri_ac_clear_EVCTRL_INVEI1_bit(const void *const hw)
642 {
643 AC_CRITICAL_SECTION_ENTER();
644 ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_INVEI1;
645 AC_CRITICAL_SECTION_LEAVE();
646 }
647
hri_ac_toggle_EVCTRL_INVEI1_bit(const void * const hw)648 static inline void hri_ac_toggle_EVCTRL_INVEI1_bit(const void *const hw)
649 {
650 AC_CRITICAL_SECTION_ENTER();
651 ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_INVEI1;
652 AC_CRITICAL_SECTION_LEAVE();
653 }
654
hri_ac_set_EVCTRL_reg(const void * const hw,hri_ac_evctrl_reg_t mask)655 static inline void hri_ac_set_EVCTRL_reg(const void *const hw, hri_ac_evctrl_reg_t mask)
656 {
657 AC_CRITICAL_SECTION_ENTER();
658 ((Ac *)hw)->EVCTRL.reg |= mask;
659 AC_CRITICAL_SECTION_LEAVE();
660 }
661
hri_ac_get_EVCTRL_reg(const void * const hw,hri_ac_evctrl_reg_t mask)662 static inline hri_ac_evctrl_reg_t hri_ac_get_EVCTRL_reg(const void *const hw, hri_ac_evctrl_reg_t mask)
663 {
664 uint16_t tmp;
665 tmp = ((Ac *)hw)->EVCTRL.reg;
666 tmp &= mask;
667 return tmp;
668 }
669
hri_ac_write_EVCTRL_reg(const void * const hw,hri_ac_evctrl_reg_t data)670 static inline void hri_ac_write_EVCTRL_reg(const void *const hw, hri_ac_evctrl_reg_t data)
671 {
672 AC_CRITICAL_SECTION_ENTER();
673 ((Ac *)hw)->EVCTRL.reg = data;
674 AC_CRITICAL_SECTION_LEAVE();
675 }
676
hri_ac_clear_EVCTRL_reg(const void * const hw,hri_ac_evctrl_reg_t mask)677 static inline void hri_ac_clear_EVCTRL_reg(const void *const hw, hri_ac_evctrl_reg_t mask)
678 {
679 AC_CRITICAL_SECTION_ENTER();
680 ((Ac *)hw)->EVCTRL.reg &= ~mask;
681 AC_CRITICAL_SECTION_LEAVE();
682 }
683
hri_ac_toggle_EVCTRL_reg(const void * const hw,hri_ac_evctrl_reg_t mask)684 static inline void hri_ac_toggle_EVCTRL_reg(const void *const hw, hri_ac_evctrl_reg_t mask)
685 {
686 AC_CRITICAL_SECTION_ENTER();
687 ((Ac *)hw)->EVCTRL.reg ^= mask;
688 AC_CRITICAL_SECTION_LEAVE();
689 }
690
hri_ac_read_EVCTRL_reg(const void * const hw)691 static inline hri_ac_evctrl_reg_t hri_ac_read_EVCTRL_reg(const void *const hw)
692 {
693 return ((Ac *)hw)->EVCTRL.reg;
694 }
695
hri_ac_set_DBGCTRL_DBGRUN_bit(const void * const hw)696 static inline void hri_ac_set_DBGCTRL_DBGRUN_bit(const void *const hw)
697 {
698 AC_CRITICAL_SECTION_ENTER();
699 ((Ac *)hw)->DBGCTRL.reg |= AC_DBGCTRL_DBGRUN;
700 AC_CRITICAL_SECTION_LEAVE();
701 }
702
hri_ac_get_DBGCTRL_DBGRUN_bit(const void * const hw)703 static inline bool hri_ac_get_DBGCTRL_DBGRUN_bit(const void *const hw)
704 {
705 uint8_t tmp;
706 tmp = ((Ac *)hw)->DBGCTRL.reg;
707 tmp = (tmp & AC_DBGCTRL_DBGRUN) >> AC_DBGCTRL_DBGRUN_Pos;
708 return (bool)tmp;
709 }
710
hri_ac_write_DBGCTRL_DBGRUN_bit(const void * const hw,bool value)711 static inline void hri_ac_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value)
712 {
713 uint8_t tmp;
714 AC_CRITICAL_SECTION_ENTER();
715 tmp = ((Ac *)hw)->DBGCTRL.reg;
716 tmp &= ~AC_DBGCTRL_DBGRUN;
717 tmp |= value << AC_DBGCTRL_DBGRUN_Pos;
718 ((Ac *)hw)->DBGCTRL.reg = tmp;
719 AC_CRITICAL_SECTION_LEAVE();
720 }
721
hri_ac_clear_DBGCTRL_DBGRUN_bit(const void * const hw)722 static inline void hri_ac_clear_DBGCTRL_DBGRUN_bit(const void *const hw)
723 {
724 AC_CRITICAL_SECTION_ENTER();
725 ((Ac *)hw)->DBGCTRL.reg &= ~AC_DBGCTRL_DBGRUN;
726 AC_CRITICAL_SECTION_LEAVE();
727 }
728
hri_ac_toggle_DBGCTRL_DBGRUN_bit(const void * const hw)729 static inline void hri_ac_toggle_DBGCTRL_DBGRUN_bit(const void *const hw)
730 {
731 AC_CRITICAL_SECTION_ENTER();
732 ((Ac *)hw)->DBGCTRL.reg ^= AC_DBGCTRL_DBGRUN;
733 AC_CRITICAL_SECTION_LEAVE();
734 }
735
hri_ac_set_DBGCTRL_reg(const void * const hw,hri_ac_dbgctrl_reg_t mask)736 static inline void hri_ac_set_DBGCTRL_reg(const void *const hw, hri_ac_dbgctrl_reg_t mask)
737 {
738 AC_CRITICAL_SECTION_ENTER();
739 ((Ac *)hw)->DBGCTRL.reg |= mask;
740 AC_CRITICAL_SECTION_LEAVE();
741 }
742
hri_ac_get_DBGCTRL_reg(const void * const hw,hri_ac_dbgctrl_reg_t mask)743 static inline hri_ac_dbgctrl_reg_t hri_ac_get_DBGCTRL_reg(const void *const hw, hri_ac_dbgctrl_reg_t mask)
744 {
745 uint8_t tmp;
746 tmp = ((Ac *)hw)->DBGCTRL.reg;
747 tmp &= mask;
748 return tmp;
749 }
750
hri_ac_write_DBGCTRL_reg(const void * const hw,hri_ac_dbgctrl_reg_t data)751 static inline void hri_ac_write_DBGCTRL_reg(const void *const hw, hri_ac_dbgctrl_reg_t data)
752 {
753 AC_CRITICAL_SECTION_ENTER();
754 ((Ac *)hw)->DBGCTRL.reg = data;
755 AC_CRITICAL_SECTION_LEAVE();
756 }
757
hri_ac_clear_DBGCTRL_reg(const void * const hw,hri_ac_dbgctrl_reg_t mask)758 static inline void hri_ac_clear_DBGCTRL_reg(const void *const hw, hri_ac_dbgctrl_reg_t mask)
759 {
760 AC_CRITICAL_SECTION_ENTER();
761 ((Ac *)hw)->DBGCTRL.reg &= ~mask;
762 AC_CRITICAL_SECTION_LEAVE();
763 }
764
hri_ac_toggle_DBGCTRL_reg(const void * const hw,hri_ac_dbgctrl_reg_t mask)765 static inline void hri_ac_toggle_DBGCTRL_reg(const void *const hw, hri_ac_dbgctrl_reg_t mask)
766 {
767 AC_CRITICAL_SECTION_ENTER();
768 ((Ac *)hw)->DBGCTRL.reg ^= mask;
769 AC_CRITICAL_SECTION_LEAVE();
770 }
771
hri_ac_read_DBGCTRL_reg(const void * const hw)772 static inline hri_ac_dbgctrl_reg_t hri_ac_read_DBGCTRL_reg(const void *const hw)
773 {
774 return ((Ac *)hw)->DBGCTRL.reg;
775 }
776
hri_ac_set_WINCTRL_WEN0_bit(const void * const hw)777 static inline void hri_ac_set_WINCTRL_WEN0_bit(const void *const hw)
778 {
779 AC_CRITICAL_SECTION_ENTER();
780 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
781 ((Ac *)hw)->WINCTRL.reg |= AC_WINCTRL_WEN0;
782 AC_CRITICAL_SECTION_LEAVE();
783 }
784
hri_ac_get_WINCTRL_WEN0_bit(const void * const hw)785 static inline bool hri_ac_get_WINCTRL_WEN0_bit(const void *const hw)
786 {
787 uint8_t tmp;
788 tmp = ((Ac *)hw)->WINCTRL.reg;
789 tmp = (tmp & AC_WINCTRL_WEN0) >> AC_WINCTRL_WEN0_Pos;
790 return (bool)tmp;
791 }
792
hri_ac_write_WINCTRL_WEN0_bit(const void * const hw,bool value)793 static inline void hri_ac_write_WINCTRL_WEN0_bit(const void *const hw, bool value)
794 {
795 uint8_t tmp;
796 AC_CRITICAL_SECTION_ENTER();
797 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
798 tmp = ((Ac *)hw)->WINCTRL.reg;
799 tmp &= ~AC_WINCTRL_WEN0;
800 tmp |= value << AC_WINCTRL_WEN0_Pos;
801 ((Ac *)hw)->WINCTRL.reg = tmp;
802 AC_CRITICAL_SECTION_LEAVE();
803 }
804
hri_ac_clear_WINCTRL_WEN0_bit(const void * const hw)805 static inline void hri_ac_clear_WINCTRL_WEN0_bit(const void *const hw)
806 {
807 AC_CRITICAL_SECTION_ENTER();
808 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
809 ((Ac *)hw)->WINCTRL.reg &= ~AC_WINCTRL_WEN0;
810 AC_CRITICAL_SECTION_LEAVE();
811 }
812
hri_ac_toggle_WINCTRL_WEN0_bit(const void * const hw)813 static inline void hri_ac_toggle_WINCTRL_WEN0_bit(const void *const hw)
814 {
815 AC_CRITICAL_SECTION_ENTER();
816 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
817 ((Ac *)hw)->WINCTRL.reg ^= AC_WINCTRL_WEN0;
818 AC_CRITICAL_SECTION_LEAVE();
819 }
820
hri_ac_set_WINCTRL_WINTSEL0_bf(const void * const hw,hri_ac_winctrl_reg_t mask)821 static inline void hri_ac_set_WINCTRL_WINTSEL0_bf(const void *const hw, hri_ac_winctrl_reg_t mask)
822 {
823 AC_CRITICAL_SECTION_ENTER();
824 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
825 ((Ac *)hw)->WINCTRL.reg |= AC_WINCTRL_WINTSEL0(mask);
826 AC_CRITICAL_SECTION_LEAVE();
827 }
828
hri_ac_get_WINCTRL_WINTSEL0_bf(const void * const hw,hri_ac_winctrl_reg_t mask)829 static inline hri_ac_winctrl_reg_t hri_ac_get_WINCTRL_WINTSEL0_bf(const void *const hw, hri_ac_winctrl_reg_t mask)
830 {
831 uint8_t tmp;
832 tmp = ((Ac *)hw)->WINCTRL.reg;
833 tmp = (tmp & AC_WINCTRL_WINTSEL0(mask)) >> AC_WINCTRL_WINTSEL0_Pos;
834 return tmp;
835 }
836
hri_ac_write_WINCTRL_WINTSEL0_bf(const void * const hw,hri_ac_winctrl_reg_t data)837 static inline void hri_ac_write_WINCTRL_WINTSEL0_bf(const void *const hw, hri_ac_winctrl_reg_t data)
838 {
839 uint8_t tmp;
840 AC_CRITICAL_SECTION_ENTER();
841 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
842 tmp = ((Ac *)hw)->WINCTRL.reg;
843 tmp &= ~AC_WINCTRL_WINTSEL0_Msk;
844 tmp |= AC_WINCTRL_WINTSEL0(data);
845 ((Ac *)hw)->WINCTRL.reg = tmp;
846 AC_CRITICAL_SECTION_LEAVE();
847 }
848
hri_ac_clear_WINCTRL_WINTSEL0_bf(const void * const hw,hri_ac_winctrl_reg_t mask)849 static inline void hri_ac_clear_WINCTRL_WINTSEL0_bf(const void *const hw, hri_ac_winctrl_reg_t mask)
850 {
851 AC_CRITICAL_SECTION_ENTER();
852 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
853 ((Ac *)hw)->WINCTRL.reg &= ~AC_WINCTRL_WINTSEL0(mask);
854 AC_CRITICAL_SECTION_LEAVE();
855 }
856
hri_ac_toggle_WINCTRL_WINTSEL0_bf(const void * const hw,hri_ac_winctrl_reg_t mask)857 static inline void hri_ac_toggle_WINCTRL_WINTSEL0_bf(const void *const hw, hri_ac_winctrl_reg_t mask)
858 {
859 AC_CRITICAL_SECTION_ENTER();
860 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
861 ((Ac *)hw)->WINCTRL.reg ^= AC_WINCTRL_WINTSEL0(mask);
862 AC_CRITICAL_SECTION_LEAVE();
863 }
864
hri_ac_read_WINCTRL_WINTSEL0_bf(const void * const hw)865 static inline hri_ac_winctrl_reg_t hri_ac_read_WINCTRL_WINTSEL0_bf(const void *const hw)
866 {
867 uint8_t tmp;
868 tmp = ((Ac *)hw)->WINCTRL.reg;
869 tmp = (tmp & AC_WINCTRL_WINTSEL0_Msk) >> AC_WINCTRL_WINTSEL0_Pos;
870 return tmp;
871 }
872
hri_ac_set_WINCTRL_reg(const void * const hw,hri_ac_winctrl_reg_t mask)873 static inline void hri_ac_set_WINCTRL_reg(const void *const hw, hri_ac_winctrl_reg_t mask)
874 {
875 AC_CRITICAL_SECTION_ENTER();
876 ((Ac *)hw)->WINCTRL.reg |= mask;
877 AC_CRITICAL_SECTION_LEAVE();
878 }
879
hri_ac_get_WINCTRL_reg(const void * const hw,hri_ac_winctrl_reg_t mask)880 static inline hri_ac_winctrl_reg_t hri_ac_get_WINCTRL_reg(const void *const hw, hri_ac_winctrl_reg_t mask)
881 {
882 uint8_t tmp;
883 tmp = ((Ac *)hw)->WINCTRL.reg;
884 tmp &= mask;
885 return tmp;
886 }
887
hri_ac_write_WINCTRL_reg(const void * const hw,hri_ac_winctrl_reg_t data)888 static inline void hri_ac_write_WINCTRL_reg(const void *const hw, hri_ac_winctrl_reg_t data)
889 {
890 AC_CRITICAL_SECTION_ENTER();
891 ((Ac *)hw)->WINCTRL.reg = data;
892 AC_CRITICAL_SECTION_LEAVE();
893 }
894
hri_ac_clear_WINCTRL_reg(const void * const hw,hri_ac_winctrl_reg_t mask)895 static inline void hri_ac_clear_WINCTRL_reg(const void *const hw, hri_ac_winctrl_reg_t mask)
896 {
897 AC_CRITICAL_SECTION_ENTER();
898 ((Ac *)hw)->WINCTRL.reg &= ~mask;
899 AC_CRITICAL_SECTION_LEAVE();
900 }
901
hri_ac_toggle_WINCTRL_reg(const void * const hw,hri_ac_winctrl_reg_t mask)902 static inline void hri_ac_toggle_WINCTRL_reg(const void *const hw, hri_ac_winctrl_reg_t mask)
903 {
904 AC_CRITICAL_SECTION_ENTER();
905 ((Ac *)hw)->WINCTRL.reg ^= mask;
906 AC_CRITICAL_SECTION_LEAVE();
907 }
908
hri_ac_read_WINCTRL_reg(const void * const hw)909 static inline hri_ac_winctrl_reg_t hri_ac_read_WINCTRL_reg(const void *const hw)
910 {
911 return ((Ac *)hw)->WINCTRL.reg;
912 }
913
hri_ac_set_SCALER_VALUE_bf(const void * const hw,uint8_t index,hri_ac_scaler_reg_t mask)914 static inline void hri_ac_set_SCALER_VALUE_bf(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask)
915 {
916 AC_CRITICAL_SECTION_ENTER();
917 ((Ac *)hw)->SCALER[index].reg |= AC_SCALER_VALUE(mask);
918 AC_CRITICAL_SECTION_LEAVE();
919 }
920
hri_ac_get_SCALER_VALUE_bf(const void * const hw,uint8_t index,hri_ac_scaler_reg_t mask)921 static inline hri_ac_scaler_reg_t hri_ac_get_SCALER_VALUE_bf(const void *const hw, uint8_t index,
922 hri_ac_scaler_reg_t mask)
923 {
924 uint8_t tmp;
925 tmp = ((Ac *)hw)->SCALER[index].reg;
926 tmp = (tmp & AC_SCALER_VALUE(mask)) >> AC_SCALER_VALUE_Pos;
927 return tmp;
928 }
929
hri_ac_write_SCALER_VALUE_bf(const void * const hw,uint8_t index,hri_ac_scaler_reg_t data)930 static inline void hri_ac_write_SCALER_VALUE_bf(const void *const hw, uint8_t index, hri_ac_scaler_reg_t data)
931 {
932 uint8_t tmp;
933 AC_CRITICAL_SECTION_ENTER();
934 tmp = ((Ac *)hw)->SCALER[index].reg;
935 tmp &= ~AC_SCALER_VALUE_Msk;
936 tmp |= AC_SCALER_VALUE(data);
937 ((Ac *)hw)->SCALER[index].reg = tmp;
938 AC_CRITICAL_SECTION_LEAVE();
939 }
940
hri_ac_clear_SCALER_VALUE_bf(const void * const hw,uint8_t index,hri_ac_scaler_reg_t mask)941 static inline void hri_ac_clear_SCALER_VALUE_bf(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask)
942 {
943 AC_CRITICAL_SECTION_ENTER();
944 ((Ac *)hw)->SCALER[index].reg &= ~AC_SCALER_VALUE(mask);
945 AC_CRITICAL_SECTION_LEAVE();
946 }
947
hri_ac_toggle_SCALER_VALUE_bf(const void * const hw,uint8_t index,hri_ac_scaler_reg_t mask)948 static inline void hri_ac_toggle_SCALER_VALUE_bf(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask)
949 {
950 AC_CRITICAL_SECTION_ENTER();
951 ((Ac *)hw)->SCALER[index].reg ^= AC_SCALER_VALUE(mask);
952 AC_CRITICAL_SECTION_LEAVE();
953 }
954
hri_ac_read_SCALER_VALUE_bf(const void * const hw,uint8_t index)955 static inline hri_ac_scaler_reg_t hri_ac_read_SCALER_VALUE_bf(const void *const hw, uint8_t index)
956 {
957 uint8_t tmp;
958 tmp = ((Ac *)hw)->SCALER[index].reg;
959 tmp = (tmp & AC_SCALER_VALUE_Msk) >> AC_SCALER_VALUE_Pos;
960 return tmp;
961 }
962
hri_ac_set_SCALER_reg(const void * const hw,uint8_t index,hri_ac_scaler_reg_t mask)963 static inline void hri_ac_set_SCALER_reg(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask)
964 {
965 AC_CRITICAL_SECTION_ENTER();
966 ((Ac *)hw)->SCALER[index].reg |= mask;
967 AC_CRITICAL_SECTION_LEAVE();
968 }
969
hri_ac_get_SCALER_reg(const void * const hw,uint8_t index,hri_ac_scaler_reg_t mask)970 static inline hri_ac_scaler_reg_t hri_ac_get_SCALER_reg(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask)
971 {
972 uint8_t tmp;
973 tmp = ((Ac *)hw)->SCALER[index].reg;
974 tmp &= mask;
975 return tmp;
976 }
977
hri_ac_write_SCALER_reg(const void * const hw,uint8_t index,hri_ac_scaler_reg_t data)978 static inline void hri_ac_write_SCALER_reg(const void *const hw, uint8_t index, hri_ac_scaler_reg_t data)
979 {
980 AC_CRITICAL_SECTION_ENTER();
981 ((Ac *)hw)->SCALER[index].reg = data;
982 AC_CRITICAL_SECTION_LEAVE();
983 }
984
hri_ac_clear_SCALER_reg(const void * const hw,uint8_t index,hri_ac_scaler_reg_t mask)985 static inline void hri_ac_clear_SCALER_reg(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask)
986 {
987 AC_CRITICAL_SECTION_ENTER();
988 ((Ac *)hw)->SCALER[index].reg &= ~mask;
989 AC_CRITICAL_SECTION_LEAVE();
990 }
991
hri_ac_toggle_SCALER_reg(const void * const hw,uint8_t index,hri_ac_scaler_reg_t mask)992 static inline void hri_ac_toggle_SCALER_reg(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask)
993 {
994 AC_CRITICAL_SECTION_ENTER();
995 ((Ac *)hw)->SCALER[index].reg ^= mask;
996 AC_CRITICAL_SECTION_LEAVE();
997 }
998
hri_ac_read_SCALER_reg(const void * const hw,uint8_t index)999 static inline hri_ac_scaler_reg_t hri_ac_read_SCALER_reg(const void *const hw, uint8_t index)
1000 {
1001 return ((Ac *)hw)->SCALER[index].reg;
1002 }
1003
hri_ac_set_COMPCTRL_ENABLE_bit(const void * const hw,uint8_t index)1004 static inline void hri_ac_set_COMPCTRL_ENABLE_bit(const void *const hw, uint8_t index)
1005 {
1006 AC_CRITICAL_SECTION_ENTER();
1007 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
1008 ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_ENABLE;
1009 AC_CRITICAL_SECTION_LEAVE();
1010 }
1011
hri_ac_get_COMPCTRL_ENABLE_bit(const void * const hw,uint8_t index)1012 static inline bool hri_ac_get_COMPCTRL_ENABLE_bit(const void *const hw, uint8_t index)
1013 {
1014 uint32_t tmp;
1015 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
1016 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1017 tmp = (tmp & AC_COMPCTRL_ENABLE) >> AC_COMPCTRL_ENABLE_Pos;
1018 return (bool)tmp;
1019 }
1020
hri_ac_write_COMPCTRL_ENABLE_bit(const void * const hw,uint8_t index,bool value)1021 static inline void hri_ac_write_COMPCTRL_ENABLE_bit(const void *const hw, uint8_t index, bool value)
1022 {
1023 uint32_t tmp;
1024 AC_CRITICAL_SECTION_ENTER();
1025 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
1026 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1027 tmp &= ~AC_COMPCTRL_ENABLE;
1028 tmp |= value << AC_COMPCTRL_ENABLE_Pos;
1029 ((Ac *)hw)->COMPCTRL[index].reg = tmp;
1030 AC_CRITICAL_SECTION_LEAVE();
1031 }
1032
hri_ac_clear_COMPCTRL_ENABLE_bit(const void * const hw,uint8_t index)1033 static inline void hri_ac_clear_COMPCTRL_ENABLE_bit(const void *const hw, uint8_t index)
1034 {
1035 AC_CRITICAL_SECTION_ENTER();
1036 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
1037 ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_ENABLE;
1038 AC_CRITICAL_SECTION_LEAVE();
1039 }
1040
hri_ac_toggle_COMPCTRL_ENABLE_bit(const void * const hw,uint8_t index)1041 static inline void hri_ac_toggle_COMPCTRL_ENABLE_bit(const void *const hw, uint8_t index)
1042 {
1043 AC_CRITICAL_SECTION_ENTER();
1044 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
1045 ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_ENABLE;
1046 AC_CRITICAL_SECTION_LEAVE();
1047 }
1048
hri_ac_set_COMPCTRL_SINGLE_bit(const void * const hw,uint8_t index)1049 static inline void hri_ac_set_COMPCTRL_SINGLE_bit(const void *const hw, uint8_t index)
1050 {
1051 AC_CRITICAL_SECTION_ENTER();
1052 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1053 ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_SINGLE;
1054 AC_CRITICAL_SECTION_LEAVE();
1055 }
1056
hri_ac_get_COMPCTRL_SINGLE_bit(const void * const hw,uint8_t index)1057 static inline bool hri_ac_get_COMPCTRL_SINGLE_bit(const void *const hw, uint8_t index)
1058 {
1059 uint32_t tmp;
1060 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1061 tmp = (tmp & AC_COMPCTRL_SINGLE) >> AC_COMPCTRL_SINGLE_Pos;
1062 return (bool)tmp;
1063 }
1064
hri_ac_write_COMPCTRL_SINGLE_bit(const void * const hw,uint8_t index,bool value)1065 static inline void hri_ac_write_COMPCTRL_SINGLE_bit(const void *const hw, uint8_t index, bool value)
1066 {
1067 uint32_t tmp;
1068 AC_CRITICAL_SECTION_ENTER();
1069 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1070 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1071 tmp &= ~AC_COMPCTRL_SINGLE;
1072 tmp |= value << AC_COMPCTRL_SINGLE_Pos;
1073 ((Ac *)hw)->COMPCTRL[index].reg = tmp;
1074 AC_CRITICAL_SECTION_LEAVE();
1075 }
1076
hri_ac_clear_COMPCTRL_SINGLE_bit(const void * const hw,uint8_t index)1077 static inline void hri_ac_clear_COMPCTRL_SINGLE_bit(const void *const hw, uint8_t index)
1078 {
1079 AC_CRITICAL_SECTION_ENTER();
1080 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1081 ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_SINGLE;
1082 AC_CRITICAL_SECTION_LEAVE();
1083 }
1084
hri_ac_toggle_COMPCTRL_SINGLE_bit(const void * const hw,uint8_t index)1085 static inline void hri_ac_toggle_COMPCTRL_SINGLE_bit(const void *const hw, uint8_t index)
1086 {
1087 AC_CRITICAL_SECTION_ENTER();
1088 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1089 ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_SINGLE;
1090 AC_CRITICAL_SECTION_LEAVE();
1091 }
1092
hri_ac_set_COMPCTRL_RUNSTDBY_bit(const void * const hw,uint8_t index)1093 static inline void hri_ac_set_COMPCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
1094 {
1095 AC_CRITICAL_SECTION_ENTER();
1096 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1097 ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_RUNSTDBY;
1098 AC_CRITICAL_SECTION_LEAVE();
1099 }
1100
hri_ac_get_COMPCTRL_RUNSTDBY_bit(const void * const hw,uint8_t index)1101 static inline bool hri_ac_get_COMPCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
1102 {
1103 uint32_t tmp;
1104 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1105 tmp = (tmp & AC_COMPCTRL_RUNSTDBY) >> AC_COMPCTRL_RUNSTDBY_Pos;
1106 return (bool)tmp;
1107 }
1108
hri_ac_write_COMPCTRL_RUNSTDBY_bit(const void * const hw,uint8_t index,bool value)1109 static inline void hri_ac_write_COMPCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index, bool value)
1110 {
1111 uint32_t tmp;
1112 AC_CRITICAL_SECTION_ENTER();
1113 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1114 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1115 tmp &= ~AC_COMPCTRL_RUNSTDBY;
1116 tmp |= value << AC_COMPCTRL_RUNSTDBY_Pos;
1117 ((Ac *)hw)->COMPCTRL[index].reg = tmp;
1118 AC_CRITICAL_SECTION_LEAVE();
1119 }
1120
hri_ac_clear_COMPCTRL_RUNSTDBY_bit(const void * const hw,uint8_t index)1121 static inline void hri_ac_clear_COMPCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
1122 {
1123 AC_CRITICAL_SECTION_ENTER();
1124 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1125 ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_RUNSTDBY;
1126 AC_CRITICAL_SECTION_LEAVE();
1127 }
1128
hri_ac_toggle_COMPCTRL_RUNSTDBY_bit(const void * const hw,uint8_t index)1129 static inline void hri_ac_toggle_COMPCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
1130 {
1131 AC_CRITICAL_SECTION_ENTER();
1132 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1133 ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_RUNSTDBY;
1134 AC_CRITICAL_SECTION_LEAVE();
1135 }
1136
hri_ac_set_COMPCTRL_SWAP_bit(const void * const hw,uint8_t index)1137 static inline void hri_ac_set_COMPCTRL_SWAP_bit(const void *const hw, uint8_t index)
1138 {
1139 AC_CRITICAL_SECTION_ENTER();
1140 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1141 ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_SWAP;
1142 AC_CRITICAL_SECTION_LEAVE();
1143 }
1144
hri_ac_get_COMPCTRL_SWAP_bit(const void * const hw,uint8_t index)1145 static inline bool hri_ac_get_COMPCTRL_SWAP_bit(const void *const hw, uint8_t index)
1146 {
1147 uint32_t tmp;
1148 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1149 tmp = (tmp & AC_COMPCTRL_SWAP) >> AC_COMPCTRL_SWAP_Pos;
1150 return (bool)tmp;
1151 }
1152
hri_ac_write_COMPCTRL_SWAP_bit(const void * const hw,uint8_t index,bool value)1153 static inline void hri_ac_write_COMPCTRL_SWAP_bit(const void *const hw, uint8_t index, bool value)
1154 {
1155 uint32_t tmp;
1156 AC_CRITICAL_SECTION_ENTER();
1157 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1158 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1159 tmp &= ~AC_COMPCTRL_SWAP;
1160 tmp |= value << AC_COMPCTRL_SWAP_Pos;
1161 ((Ac *)hw)->COMPCTRL[index].reg = tmp;
1162 AC_CRITICAL_SECTION_LEAVE();
1163 }
1164
hri_ac_clear_COMPCTRL_SWAP_bit(const void * const hw,uint8_t index)1165 static inline void hri_ac_clear_COMPCTRL_SWAP_bit(const void *const hw, uint8_t index)
1166 {
1167 AC_CRITICAL_SECTION_ENTER();
1168 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1169 ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_SWAP;
1170 AC_CRITICAL_SECTION_LEAVE();
1171 }
1172
hri_ac_toggle_COMPCTRL_SWAP_bit(const void * const hw,uint8_t index)1173 static inline void hri_ac_toggle_COMPCTRL_SWAP_bit(const void *const hw, uint8_t index)
1174 {
1175 AC_CRITICAL_SECTION_ENTER();
1176 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1177 ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_SWAP;
1178 AC_CRITICAL_SECTION_LEAVE();
1179 }
1180
hri_ac_set_COMPCTRL_HYSTEN_bit(const void * const hw,uint8_t index)1181 static inline void hri_ac_set_COMPCTRL_HYSTEN_bit(const void *const hw, uint8_t index)
1182 {
1183 AC_CRITICAL_SECTION_ENTER();
1184 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1185 ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_HYSTEN;
1186 AC_CRITICAL_SECTION_LEAVE();
1187 }
1188
hri_ac_get_COMPCTRL_HYSTEN_bit(const void * const hw,uint8_t index)1189 static inline bool hri_ac_get_COMPCTRL_HYSTEN_bit(const void *const hw, uint8_t index)
1190 {
1191 uint32_t tmp;
1192 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1193 tmp = (tmp & AC_COMPCTRL_HYSTEN) >> AC_COMPCTRL_HYSTEN_Pos;
1194 return (bool)tmp;
1195 }
1196
hri_ac_write_COMPCTRL_HYSTEN_bit(const void * const hw,uint8_t index,bool value)1197 static inline void hri_ac_write_COMPCTRL_HYSTEN_bit(const void *const hw, uint8_t index, bool value)
1198 {
1199 uint32_t tmp;
1200 AC_CRITICAL_SECTION_ENTER();
1201 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1202 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1203 tmp &= ~AC_COMPCTRL_HYSTEN;
1204 tmp |= value << AC_COMPCTRL_HYSTEN_Pos;
1205 ((Ac *)hw)->COMPCTRL[index].reg = tmp;
1206 AC_CRITICAL_SECTION_LEAVE();
1207 }
1208
hri_ac_clear_COMPCTRL_HYSTEN_bit(const void * const hw,uint8_t index)1209 static inline void hri_ac_clear_COMPCTRL_HYSTEN_bit(const void *const hw, uint8_t index)
1210 {
1211 AC_CRITICAL_SECTION_ENTER();
1212 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1213 ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_HYSTEN;
1214 AC_CRITICAL_SECTION_LEAVE();
1215 }
1216
hri_ac_toggle_COMPCTRL_HYSTEN_bit(const void * const hw,uint8_t index)1217 static inline void hri_ac_toggle_COMPCTRL_HYSTEN_bit(const void *const hw, uint8_t index)
1218 {
1219 AC_CRITICAL_SECTION_ENTER();
1220 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1221 ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_HYSTEN;
1222 AC_CRITICAL_SECTION_LEAVE();
1223 }
1224
hri_ac_set_COMPCTRL_INTSEL_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1225 static inline void hri_ac_set_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1226 {
1227 AC_CRITICAL_SECTION_ENTER();
1228 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1229 ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_INTSEL(mask);
1230 AC_CRITICAL_SECTION_LEAVE();
1231 }
1232
hri_ac_get_COMPCTRL_INTSEL_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1233 static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index,
1234 hri_ac_compctrl_reg_t mask)
1235 {
1236 uint32_t tmp;
1237 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1238 tmp = (tmp & AC_COMPCTRL_INTSEL(mask)) >> AC_COMPCTRL_INTSEL_Pos;
1239 return tmp;
1240 }
1241
hri_ac_write_COMPCTRL_INTSEL_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t data)1242 static inline void hri_ac_write_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
1243 {
1244 uint32_t tmp;
1245 AC_CRITICAL_SECTION_ENTER();
1246 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1247 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1248 tmp &= ~AC_COMPCTRL_INTSEL_Msk;
1249 tmp |= AC_COMPCTRL_INTSEL(data);
1250 ((Ac *)hw)->COMPCTRL[index].reg = tmp;
1251 AC_CRITICAL_SECTION_LEAVE();
1252 }
1253
hri_ac_clear_COMPCTRL_INTSEL_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1254 static inline void hri_ac_clear_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1255 {
1256 AC_CRITICAL_SECTION_ENTER();
1257 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1258 ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_INTSEL(mask);
1259 AC_CRITICAL_SECTION_LEAVE();
1260 }
1261
hri_ac_toggle_COMPCTRL_INTSEL_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1262 static inline void hri_ac_toggle_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1263 {
1264 AC_CRITICAL_SECTION_ENTER();
1265 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1266 ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_INTSEL(mask);
1267 AC_CRITICAL_SECTION_LEAVE();
1268 }
1269
hri_ac_read_COMPCTRL_INTSEL_bf(const void * const hw,uint8_t index)1270 static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index)
1271 {
1272 uint32_t tmp;
1273 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1274 tmp = (tmp & AC_COMPCTRL_INTSEL_Msk) >> AC_COMPCTRL_INTSEL_Pos;
1275 return tmp;
1276 }
1277
hri_ac_set_COMPCTRL_MUXNEG_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1278 static inline void hri_ac_set_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1279 {
1280 AC_CRITICAL_SECTION_ENTER();
1281 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1282 ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_MUXNEG(mask);
1283 AC_CRITICAL_SECTION_LEAVE();
1284 }
1285
hri_ac_get_COMPCTRL_MUXNEG_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1286 static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index,
1287 hri_ac_compctrl_reg_t mask)
1288 {
1289 uint32_t tmp;
1290 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1291 tmp = (tmp & AC_COMPCTRL_MUXNEG(mask)) >> AC_COMPCTRL_MUXNEG_Pos;
1292 return tmp;
1293 }
1294
hri_ac_write_COMPCTRL_MUXNEG_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t data)1295 static inline void hri_ac_write_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
1296 {
1297 uint32_t tmp;
1298 AC_CRITICAL_SECTION_ENTER();
1299 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1300 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1301 tmp &= ~AC_COMPCTRL_MUXNEG_Msk;
1302 tmp |= AC_COMPCTRL_MUXNEG(data);
1303 ((Ac *)hw)->COMPCTRL[index].reg = tmp;
1304 AC_CRITICAL_SECTION_LEAVE();
1305 }
1306
hri_ac_clear_COMPCTRL_MUXNEG_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1307 static inline void hri_ac_clear_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1308 {
1309 AC_CRITICAL_SECTION_ENTER();
1310 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1311 ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_MUXNEG(mask);
1312 AC_CRITICAL_SECTION_LEAVE();
1313 }
1314
hri_ac_toggle_COMPCTRL_MUXNEG_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1315 static inline void hri_ac_toggle_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1316 {
1317 AC_CRITICAL_SECTION_ENTER();
1318 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1319 ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_MUXNEG(mask);
1320 AC_CRITICAL_SECTION_LEAVE();
1321 }
1322
hri_ac_read_COMPCTRL_MUXNEG_bf(const void * const hw,uint8_t index)1323 static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index)
1324 {
1325 uint32_t tmp;
1326 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1327 tmp = (tmp & AC_COMPCTRL_MUXNEG_Msk) >> AC_COMPCTRL_MUXNEG_Pos;
1328 return tmp;
1329 }
1330
hri_ac_set_COMPCTRL_MUXPOS_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1331 static inline void hri_ac_set_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1332 {
1333 AC_CRITICAL_SECTION_ENTER();
1334 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1335 ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_MUXPOS(mask);
1336 AC_CRITICAL_SECTION_LEAVE();
1337 }
1338
hri_ac_get_COMPCTRL_MUXPOS_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1339 static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index,
1340 hri_ac_compctrl_reg_t mask)
1341 {
1342 uint32_t tmp;
1343 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1344 tmp = (tmp & AC_COMPCTRL_MUXPOS(mask)) >> AC_COMPCTRL_MUXPOS_Pos;
1345 return tmp;
1346 }
1347
hri_ac_write_COMPCTRL_MUXPOS_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t data)1348 static inline void hri_ac_write_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
1349 {
1350 uint32_t tmp;
1351 AC_CRITICAL_SECTION_ENTER();
1352 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1353 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1354 tmp &= ~AC_COMPCTRL_MUXPOS_Msk;
1355 tmp |= AC_COMPCTRL_MUXPOS(data);
1356 ((Ac *)hw)->COMPCTRL[index].reg = tmp;
1357 AC_CRITICAL_SECTION_LEAVE();
1358 }
1359
hri_ac_clear_COMPCTRL_MUXPOS_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1360 static inline void hri_ac_clear_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1361 {
1362 AC_CRITICAL_SECTION_ENTER();
1363 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1364 ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_MUXPOS(mask);
1365 AC_CRITICAL_SECTION_LEAVE();
1366 }
1367
hri_ac_toggle_COMPCTRL_MUXPOS_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1368 static inline void hri_ac_toggle_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1369 {
1370 AC_CRITICAL_SECTION_ENTER();
1371 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1372 ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_MUXPOS(mask);
1373 AC_CRITICAL_SECTION_LEAVE();
1374 }
1375
hri_ac_read_COMPCTRL_MUXPOS_bf(const void * const hw,uint8_t index)1376 static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index)
1377 {
1378 uint32_t tmp;
1379 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1380 tmp = (tmp & AC_COMPCTRL_MUXPOS_Msk) >> AC_COMPCTRL_MUXPOS_Pos;
1381 return tmp;
1382 }
1383
hri_ac_set_COMPCTRL_SPEED_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1384 static inline void hri_ac_set_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1385 {
1386 AC_CRITICAL_SECTION_ENTER();
1387 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1388 ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_SPEED(mask);
1389 AC_CRITICAL_SECTION_LEAVE();
1390 }
1391
hri_ac_get_COMPCTRL_SPEED_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1392 static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index,
1393 hri_ac_compctrl_reg_t mask)
1394 {
1395 uint32_t tmp;
1396 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1397 tmp = (tmp & AC_COMPCTRL_SPEED(mask)) >> AC_COMPCTRL_SPEED_Pos;
1398 return tmp;
1399 }
1400
hri_ac_write_COMPCTRL_SPEED_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t data)1401 static inline void hri_ac_write_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
1402 {
1403 uint32_t tmp;
1404 AC_CRITICAL_SECTION_ENTER();
1405 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1406 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1407 tmp &= ~AC_COMPCTRL_SPEED_Msk;
1408 tmp |= AC_COMPCTRL_SPEED(data);
1409 ((Ac *)hw)->COMPCTRL[index].reg = tmp;
1410 AC_CRITICAL_SECTION_LEAVE();
1411 }
1412
hri_ac_clear_COMPCTRL_SPEED_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1413 static inline void hri_ac_clear_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1414 {
1415 AC_CRITICAL_SECTION_ENTER();
1416 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1417 ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_SPEED(mask);
1418 AC_CRITICAL_SECTION_LEAVE();
1419 }
1420
hri_ac_toggle_COMPCTRL_SPEED_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1421 static inline void hri_ac_toggle_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1422 {
1423 AC_CRITICAL_SECTION_ENTER();
1424 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1425 ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_SPEED(mask);
1426 AC_CRITICAL_SECTION_LEAVE();
1427 }
1428
hri_ac_read_COMPCTRL_SPEED_bf(const void * const hw,uint8_t index)1429 static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index)
1430 {
1431 uint32_t tmp;
1432 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1433 tmp = (tmp & AC_COMPCTRL_SPEED_Msk) >> AC_COMPCTRL_SPEED_Pos;
1434 return tmp;
1435 }
1436
hri_ac_set_COMPCTRL_HYST_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1437 static inline void hri_ac_set_COMPCTRL_HYST_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1438 {
1439 AC_CRITICAL_SECTION_ENTER();
1440 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1441 ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_HYST(mask);
1442 AC_CRITICAL_SECTION_LEAVE();
1443 }
1444
hri_ac_get_COMPCTRL_HYST_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1445 static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_HYST_bf(const void *const hw, uint8_t index,
1446 hri_ac_compctrl_reg_t mask)
1447 {
1448 uint32_t tmp;
1449 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1450 tmp = (tmp & AC_COMPCTRL_HYST(mask)) >> AC_COMPCTRL_HYST_Pos;
1451 return tmp;
1452 }
1453
hri_ac_write_COMPCTRL_HYST_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t data)1454 static inline void hri_ac_write_COMPCTRL_HYST_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
1455 {
1456 uint32_t tmp;
1457 AC_CRITICAL_SECTION_ENTER();
1458 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1459 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1460 tmp &= ~AC_COMPCTRL_HYST_Msk;
1461 tmp |= AC_COMPCTRL_HYST(data);
1462 ((Ac *)hw)->COMPCTRL[index].reg = tmp;
1463 AC_CRITICAL_SECTION_LEAVE();
1464 }
1465
hri_ac_clear_COMPCTRL_HYST_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1466 static inline void hri_ac_clear_COMPCTRL_HYST_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1467 {
1468 AC_CRITICAL_SECTION_ENTER();
1469 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1470 ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_HYST(mask);
1471 AC_CRITICAL_SECTION_LEAVE();
1472 }
1473
hri_ac_toggle_COMPCTRL_HYST_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1474 static inline void hri_ac_toggle_COMPCTRL_HYST_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1475 {
1476 AC_CRITICAL_SECTION_ENTER();
1477 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1478 ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_HYST(mask);
1479 AC_CRITICAL_SECTION_LEAVE();
1480 }
1481
hri_ac_read_COMPCTRL_HYST_bf(const void * const hw,uint8_t index)1482 static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_HYST_bf(const void *const hw, uint8_t index)
1483 {
1484 uint32_t tmp;
1485 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1486 tmp = (tmp & AC_COMPCTRL_HYST_Msk) >> AC_COMPCTRL_HYST_Pos;
1487 return tmp;
1488 }
1489
hri_ac_set_COMPCTRL_FLEN_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1490 static inline void hri_ac_set_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1491 {
1492 AC_CRITICAL_SECTION_ENTER();
1493 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1494 ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_FLEN(mask);
1495 AC_CRITICAL_SECTION_LEAVE();
1496 }
1497
hri_ac_get_COMPCTRL_FLEN_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1498 static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index,
1499 hri_ac_compctrl_reg_t mask)
1500 {
1501 uint32_t tmp;
1502 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1503 tmp = (tmp & AC_COMPCTRL_FLEN(mask)) >> AC_COMPCTRL_FLEN_Pos;
1504 return tmp;
1505 }
1506
hri_ac_write_COMPCTRL_FLEN_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t data)1507 static inline void hri_ac_write_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
1508 {
1509 uint32_t tmp;
1510 AC_CRITICAL_SECTION_ENTER();
1511 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1512 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1513 tmp &= ~AC_COMPCTRL_FLEN_Msk;
1514 tmp |= AC_COMPCTRL_FLEN(data);
1515 ((Ac *)hw)->COMPCTRL[index].reg = tmp;
1516 AC_CRITICAL_SECTION_LEAVE();
1517 }
1518
hri_ac_clear_COMPCTRL_FLEN_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1519 static inline void hri_ac_clear_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1520 {
1521 AC_CRITICAL_SECTION_ENTER();
1522 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1523 ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_FLEN(mask);
1524 AC_CRITICAL_SECTION_LEAVE();
1525 }
1526
hri_ac_toggle_COMPCTRL_FLEN_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1527 static inline void hri_ac_toggle_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1528 {
1529 AC_CRITICAL_SECTION_ENTER();
1530 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1531 ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_FLEN(mask);
1532 AC_CRITICAL_SECTION_LEAVE();
1533 }
1534
hri_ac_read_COMPCTRL_FLEN_bf(const void * const hw,uint8_t index)1535 static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index)
1536 {
1537 uint32_t tmp;
1538 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1539 tmp = (tmp & AC_COMPCTRL_FLEN_Msk) >> AC_COMPCTRL_FLEN_Pos;
1540 return tmp;
1541 }
1542
hri_ac_set_COMPCTRL_OUT_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1543 static inline void hri_ac_set_COMPCTRL_OUT_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1544 {
1545 AC_CRITICAL_SECTION_ENTER();
1546 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1547 ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_OUT(mask);
1548 AC_CRITICAL_SECTION_LEAVE();
1549 }
1550
hri_ac_get_COMPCTRL_OUT_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1551 static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_OUT_bf(const void *const hw, uint8_t index,
1552 hri_ac_compctrl_reg_t mask)
1553 {
1554 uint32_t tmp;
1555 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1556 tmp = (tmp & AC_COMPCTRL_OUT(mask)) >> AC_COMPCTRL_OUT_Pos;
1557 return tmp;
1558 }
1559
hri_ac_write_COMPCTRL_OUT_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t data)1560 static inline void hri_ac_write_COMPCTRL_OUT_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
1561 {
1562 uint32_t tmp;
1563 AC_CRITICAL_SECTION_ENTER();
1564 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1565 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1566 tmp &= ~AC_COMPCTRL_OUT_Msk;
1567 tmp |= AC_COMPCTRL_OUT(data);
1568 ((Ac *)hw)->COMPCTRL[index].reg = tmp;
1569 AC_CRITICAL_SECTION_LEAVE();
1570 }
1571
hri_ac_clear_COMPCTRL_OUT_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1572 static inline void hri_ac_clear_COMPCTRL_OUT_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1573 {
1574 AC_CRITICAL_SECTION_ENTER();
1575 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1576 ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_OUT(mask);
1577 AC_CRITICAL_SECTION_LEAVE();
1578 }
1579
hri_ac_toggle_COMPCTRL_OUT_bf(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1580 static inline void hri_ac_toggle_COMPCTRL_OUT_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1581 {
1582 AC_CRITICAL_SECTION_ENTER();
1583 hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
1584 ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_OUT(mask);
1585 AC_CRITICAL_SECTION_LEAVE();
1586 }
1587
hri_ac_read_COMPCTRL_OUT_bf(const void * const hw,uint8_t index)1588 static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_OUT_bf(const void *const hw, uint8_t index)
1589 {
1590 uint32_t tmp;
1591 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1592 tmp = (tmp & AC_COMPCTRL_OUT_Msk) >> AC_COMPCTRL_OUT_Pos;
1593 return tmp;
1594 }
1595
hri_ac_set_COMPCTRL_reg(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1596 static inline void hri_ac_set_COMPCTRL_reg(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1597 {
1598 AC_CRITICAL_SECTION_ENTER();
1599 ((Ac *)hw)->COMPCTRL[index].reg |= mask;
1600 AC_CRITICAL_SECTION_LEAVE();
1601 }
1602
hri_ac_get_COMPCTRL_reg(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1603 static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_reg(const void *const hw, uint8_t index,
1604 hri_ac_compctrl_reg_t mask)
1605 {
1606 uint32_t tmp;
1607 tmp = ((Ac *)hw)->COMPCTRL[index].reg;
1608 tmp &= mask;
1609 return tmp;
1610 }
1611
hri_ac_write_COMPCTRL_reg(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t data)1612 static inline void hri_ac_write_COMPCTRL_reg(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
1613 {
1614 AC_CRITICAL_SECTION_ENTER();
1615 ((Ac *)hw)->COMPCTRL[index].reg = data;
1616 AC_CRITICAL_SECTION_LEAVE();
1617 }
1618
hri_ac_clear_COMPCTRL_reg(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1619 static inline void hri_ac_clear_COMPCTRL_reg(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1620 {
1621 AC_CRITICAL_SECTION_ENTER();
1622 ((Ac *)hw)->COMPCTRL[index].reg &= ~mask;
1623 AC_CRITICAL_SECTION_LEAVE();
1624 }
1625
hri_ac_toggle_COMPCTRL_reg(const void * const hw,uint8_t index,hri_ac_compctrl_reg_t mask)1626 static inline void hri_ac_toggle_COMPCTRL_reg(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
1627 {
1628 AC_CRITICAL_SECTION_ENTER();
1629 ((Ac *)hw)->COMPCTRL[index].reg ^= mask;
1630 AC_CRITICAL_SECTION_LEAVE();
1631 }
1632
hri_ac_read_COMPCTRL_reg(const void * const hw,uint8_t index)1633 static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_reg(const void *const hw, uint8_t index)
1634 {
1635 return ((Ac *)hw)->COMPCTRL[index].reg;
1636 }
1637
hri_ac_get_STATUSA_STATE0_bit(const void * const hw)1638 static inline bool hri_ac_get_STATUSA_STATE0_bit(const void *const hw)
1639 {
1640 return (((Ac *)hw)->STATUSA.reg & AC_STATUSA_STATE0) >> AC_STATUSA_STATE0_Pos;
1641 }
1642
hri_ac_get_STATUSA_STATE1_bit(const void * const hw)1643 static inline bool hri_ac_get_STATUSA_STATE1_bit(const void *const hw)
1644 {
1645 return (((Ac *)hw)->STATUSA.reg & AC_STATUSA_STATE1) >> AC_STATUSA_STATE1_Pos;
1646 }
1647
hri_ac_get_STATUSA_WSTATE0_bf(const void * const hw,hri_ac_statusa_reg_t mask)1648 static inline hri_ac_statusa_reg_t hri_ac_get_STATUSA_WSTATE0_bf(const void *const hw, hri_ac_statusa_reg_t mask)
1649 {
1650 return (((Ac *)hw)->STATUSA.reg & AC_STATUSA_WSTATE0(mask)) >> AC_STATUSA_WSTATE0_Pos;
1651 }
1652
hri_ac_read_STATUSA_WSTATE0_bf(const void * const hw)1653 static inline hri_ac_statusa_reg_t hri_ac_read_STATUSA_WSTATE0_bf(const void *const hw)
1654 {
1655 return (((Ac *)hw)->STATUSA.reg & AC_STATUSA_WSTATE0_Msk) >> AC_STATUSA_WSTATE0_Pos;
1656 }
1657
hri_ac_get_STATUSA_reg(const void * const hw,hri_ac_statusa_reg_t mask)1658 static inline hri_ac_statusa_reg_t hri_ac_get_STATUSA_reg(const void *const hw, hri_ac_statusa_reg_t mask)
1659 {
1660 uint8_t tmp;
1661 tmp = ((Ac *)hw)->STATUSA.reg;
1662 tmp &= mask;
1663 return tmp;
1664 }
1665
hri_ac_read_STATUSA_reg(const void * const hw)1666 static inline hri_ac_statusa_reg_t hri_ac_read_STATUSA_reg(const void *const hw)
1667 {
1668 return ((Ac *)hw)->STATUSA.reg;
1669 }
1670
hri_ac_get_STATUSB_READY0_bit(const void * const hw)1671 static inline bool hri_ac_get_STATUSB_READY0_bit(const void *const hw)
1672 {
1673 return (((Ac *)hw)->STATUSB.reg & AC_STATUSB_READY0) >> AC_STATUSB_READY0_Pos;
1674 }
1675
hri_ac_get_STATUSB_READY1_bit(const void * const hw)1676 static inline bool hri_ac_get_STATUSB_READY1_bit(const void *const hw)
1677 {
1678 return (((Ac *)hw)->STATUSB.reg & AC_STATUSB_READY1) >> AC_STATUSB_READY1_Pos;
1679 }
1680
hri_ac_get_STATUSB_reg(const void * const hw,hri_ac_statusb_reg_t mask)1681 static inline hri_ac_statusb_reg_t hri_ac_get_STATUSB_reg(const void *const hw, hri_ac_statusb_reg_t mask)
1682 {
1683 uint8_t tmp;
1684 tmp = ((Ac *)hw)->STATUSB.reg;
1685 tmp &= mask;
1686 return tmp;
1687 }
1688
hri_ac_read_STATUSB_reg(const void * const hw)1689 static inline hri_ac_statusb_reg_t hri_ac_read_STATUSB_reg(const void *const hw)
1690 {
1691 return ((Ac *)hw)->STATUSB.reg;
1692 }
1693
hri_ac_get_SYNCBUSY_SWRST_bit(const void * const hw)1694 static inline bool hri_ac_get_SYNCBUSY_SWRST_bit(const void *const hw)
1695 {
1696 return (((Ac *)hw)->SYNCBUSY.reg & AC_SYNCBUSY_SWRST) >> AC_SYNCBUSY_SWRST_Pos;
1697 }
1698
hri_ac_get_SYNCBUSY_ENABLE_bit(const void * const hw)1699 static inline bool hri_ac_get_SYNCBUSY_ENABLE_bit(const void *const hw)
1700 {
1701 return (((Ac *)hw)->SYNCBUSY.reg & AC_SYNCBUSY_ENABLE) >> AC_SYNCBUSY_ENABLE_Pos;
1702 }
1703
hri_ac_get_SYNCBUSY_WINCTRL_bit(const void * const hw)1704 static inline bool hri_ac_get_SYNCBUSY_WINCTRL_bit(const void *const hw)
1705 {
1706 return (((Ac *)hw)->SYNCBUSY.reg & AC_SYNCBUSY_WINCTRL) >> AC_SYNCBUSY_WINCTRL_Pos;
1707 }
1708
hri_ac_get_SYNCBUSY_COMPCTRL0_bit(const void * const hw)1709 static inline bool hri_ac_get_SYNCBUSY_COMPCTRL0_bit(const void *const hw)
1710 {
1711 return (((Ac *)hw)->SYNCBUSY.reg & AC_SYNCBUSY_COMPCTRL0) >> AC_SYNCBUSY_COMPCTRL0_Pos;
1712 }
1713
hri_ac_get_SYNCBUSY_COMPCTRL1_bit(const void * const hw)1714 static inline bool hri_ac_get_SYNCBUSY_COMPCTRL1_bit(const void *const hw)
1715 {
1716 return (((Ac *)hw)->SYNCBUSY.reg & AC_SYNCBUSY_COMPCTRL1) >> AC_SYNCBUSY_COMPCTRL1_Pos;
1717 }
1718
hri_ac_get_SYNCBUSY_reg(const void * const hw,hri_ac_syncbusy_reg_t mask)1719 static inline hri_ac_syncbusy_reg_t hri_ac_get_SYNCBUSY_reg(const void *const hw, hri_ac_syncbusy_reg_t mask)
1720 {
1721 uint32_t tmp;
1722 tmp = ((Ac *)hw)->SYNCBUSY.reg;
1723 tmp &= mask;
1724 return tmp;
1725 }
1726
hri_ac_read_SYNCBUSY_reg(const void * const hw)1727 static inline hri_ac_syncbusy_reg_t hri_ac_read_SYNCBUSY_reg(const void *const hw)
1728 {
1729 return ((Ac *)hw)->SYNCBUSY.reg;
1730 }
1731
1732 #ifdef __cplusplus
1733 }
1734 #endif
1735
1736 #endif /* _HRI_AC_L21_H_INCLUDED */
1737 #endif /* _SAML21_AC_COMPONENT_ */
1738