aboutsummaryrefslogtreecommitdiffstats
path: root/hri
diff options
context:
space:
mode:
authorKévin Redon <kredon@sysmocom.de>2018-12-11 17:43:40 +0100
committerKévin Redon <kredon@sysmocom.de>2019-01-09 15:33:36 +0100
commit8476b94ab008805db1e91d74fc47b1619953f48b (patch)
treeaed8d9f0aaab2a07dc5c3c7d1bf7fae8ff396ead /hri
use USB CDC Echo example project
this is the USB CDC Echo example project source code, for the Microchip SAM E54 Xplained Pro development board, based on the ATSAME54P20A micro-controller, exported from the Atmel START website, using the ASFv4 library. Change-Id: Ic0e58e42d1a4076bc84a0a8d3509ec4b09a37f46
Diffstat (limited to 'hri')
-rw-r--r--hri/hri_ac_e54.h1836
-rw-r--r--hri/hri_adc_e54.h3663
-rw-r--r--hri/hri_aes_e54.h1287
-rw-r--r--hri/hri_can_e54.h16997
-rw-r--r--hri/hri_ccl_e54.h776
-rw-r--r--hri/hri_cmcc_e54.h361
-rw-r--r--hri/hri_dac_e54.h1706
-rw-r--r--hri/hri_dmac_e54.h6800
-rw-r--r--hri/hri_dsu_e54.h1356
-rw-r--r--hri/hri_e54.h80
-rw-r--r--hri/hri_eic_e54.h1838
-rw-r--r--hri/hri_evsys_e54.h1707
-rw-r--r--hri/hri_freqm_e54.h464
-rw-r--r--hri/hri_gclk_e54.h805
-rw-r--r--hri/hri_gmac_e54.h3766
-rw-r--r--hri/hri_hmatrixb_e54.h237
-rw-r--r--hri/hri_i2s_e54.h3032
-rw-r--r--hri/hri_icm_e54.h761
-rw-r--r--hri/hri_mclk_e54.h3556
-rw-r--r--hri/hri_mpu_e54.h518
-rw-r--r--hri/hri_nvic_e54.h319
-rw-r--r--hri/hri_nvmctrl_e54.h1618
-rw-r--r--hri/hri_osc32kctrl_e54.h1199
-rw-r--r--hri/hri_oscctrl_e54.h4441
-rw-r--r--hri/hri_pac_e54.h1514
-rw-r--r--hri/hri_pcc_e54.h298
-rw-r--r--hri/hri_pdec_e54.h2684
-rw-r--r--hri/hri_pm_e54.h820
-rw-r--r--hri/hri_port_e54.h2528
-rw-r--r--hri/hri_qspi_e54.h2058
-rw-r--r--hri/hri_ramecc_e54.h362
-rw-r--r--hri/hri_rstc_e54.h142
-rw-r--r--hri/hri_rtc_e54.h10139
-rw-r--r--hri/hri_sdhc_e54.h7477
-rw-r--r--hri/hri_sercom_e54.h8892
-rw-r--r--hri/hri_supc_e54.h2302
-rw-r--r--hri/hri_systemcontrol_e54.h992
-rw-r--r--hri/hri_systick_e54.h219
-rw-r--r--hri/hri_tc_e54.h3003
-rw-r--r--hri/hri_tcc_e54.h9992
-rw-r--r--hri/hri_trng_e54.h380
-rw-r--r--hri/hri_usb_e54.h9335
-rw-r--r--hri/hri_wdt_e54.h617
43 files changed, 122877 insertions, 0 deletions
diff --git a/hri/hri_ac_e54.h b/hri/hri_ac_e54.h
new file mode 100644
index 0000000..588499e
--- /dev/null
+++ b/hri/hri_ac_e54.h
@@ -0,0 +1,1836 @@
+/**
+ * \file
+ *
+ * \brief SAM AC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_AC_COMPONENT_
+#ifndef _HRI_AC_E54_H_INCLUDED_
+#define _HRI_AC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_AC_CRITICAL_SECTIONS)
+#define AC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define AC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define AC_CRITICAL_SECTION_ENTER()
+#define AC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_ac_calib_reg_t;
+typedef uint16_t hri_ac_evctrl_reg_t;
+typedef uint32_t hri_ac_compctrl_reg_t;
+typedef uint32_t hri_ac_syncbusy_reg_t;
+typedef uint8_t hri_ac_ctrla_reg_t;
+typedef uint8_t hri_ac_ctrlb_reg_t;
+typedef uint8_t hri_ac_dbgctrl_reg_t;
+typedef uint8_t hri_ac_intenset_reg_t;
+typedef uint8_t hri_ac_intflag_reg_t;
+typedef uint8_t hri_ac_scaler_reg_t;
+typedef uint8_t hri_ac_statusa_reg_t;
+typedef uint8_t hri_ac_statusb_reg_t;
+typedef uint8_t hri_ac_winctrl_reg_t;
+
+static inline void hri_ac_wait_for_sync(const void *const hw, hri_ac_syncbusy_reg_t reg)
+{
+ while (((Ac *)hw)->SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_ac_is_syncing(const void *const hw, hri_ac_syncbusy_reg_t reg)
+{
+ return ((Ac *)hw)->SYNCBUSY.reg & reg;
+}
+
+static inline bool hri_ac_get_INTFLAG_COMP0_bit(const void *const hw)
+{
+ return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_COMP0) >> AC_INTFLAG_COMP0_Pos;
+}
+
+static inline void hri_ac_clear_INTFLAG_COMP0_bit(const void *const hw)
+{
+ ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_COMP0;
+}
+
+static inline bool hri_ac_get_INTFLAG_COMP1_bit(const void *const hw)
+{
+ return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_COMP1) >> AC_INTFLAG_COMP1_Pos;
+}
+
+static inline void hri_ac_clear_INTFLAG_COMP1_bit(const void *const hw)
+{
+ ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_COMP1;
+}
+
+static inline bool hri_ac_get_INTFLAG_WIN0_bit(const void *const hw)
+{
+ return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_WIN0) >> AC_INTFLAG_WIN0_Pos;
+}
+
+static inline void hri_ac_clear_INTFLAG_WIN0_bit(const void *const hw)
+{
+ ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_WIN0;
+}
+
+static inline bool hri_ac_get_interrupt_COMP0_bit(const void *const hw)
+{
+ return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_COMP0) >> AC_INTFLAG_COMP0_Pos;
+}
+
+static inline void hri_ac_clear_interrupt_COMP0_bit(const void *const hw)
+{
+ ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_COMP0;
+}
+
+static inline bool hri_ac_get_interrupt_COMP1_bit(const void *const hw)
+{
+ return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_COMP1) >> AC_INTFLAG_COMP1_Pos;
+}
+
+static inline void hri_ac_clear_interrupt_COMP1_bit(const void *const hw)
+{
+ ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_COMP1;
+}
+
+static inline bool hri_ac_get_interrupt_WIN0_bit(const void *const hw)
+{
+ return (((Ac *)hw)->INTFLAG.reg & AC_INTFLAG_WIN0) >> AC_INTFLAG_WIN0_Pos;
+}
+
+static inline void hri_ac_clear_interrupt_WIN0_bit(const void *const hw)
+{
+ ((Ac *)hw)->INTFLAG.reg = AC_INTFLAG_WIN0;
+}
+
+static inline hri_ac_intflag_reg_t hri_ac_get_INTFLAG_reg(const void *const hw, hri_ac_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Ac *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_ac_intflag_reg_t hri_ac_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Ac *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_ac_clear_INTFLAG_reg(const void *const hw, hri_ac_intflag_reg_t mask)
+{
+ ((Ac *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_ac_set_INTEN_COMP0_bit(const void *const hw)
+{
+ ((Ac *)hw)->INTENSET.reg = AC_INTENSET_COMP0;
+}
+
+static inline bool hri_ac_get_INTEN_COMP0_bit(const void *const hw)
+{
+ return (((Ac *)hw)->INTENSET.reg & AC_INTENSET_COMP0) >> AC_INTENSET_COMP0_Pos;
+}
+
+static inline void hri_ac_write_INTEN_COMP0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_COMP0;
+ } else {
+ ((Ac *)hw)->INTENSET.reg = AC_INTENSET_COMP0;
+ }
+}
+
+static inline void hri_ac_clear_INTEN_COMP0_bit(const void *const hw)
+{
+ ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_COMP0;
+}
+
+static inline void hri_ac_set_INTEN_COMP1_bit(const void *const hw)
+{
+ ((Ac *)hw)->INTENSET.reg = AC_INTENSET_COMP1;
+}
+
+static inline bool hri_ac_get_INTEN_COMP1_bit(const void *const hw)
+{
+ return (((Ac *)hw)->INTENSET.reg & AC_INTENSET_COMP1) >> AC_INTENSET_COMP1_Pos;
+}
+
+static inline void hri_ac_write_INTEN_COMP1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_COMP1;
+ } else {
+ ((Ac *)hw)->INTENSET.reg = AC_INTENSET_COMP1;
+ }
+}
+
+static inline void hri_ac_clear_INTEN_COMP1_bit(const void *const hw)
+{
+ ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_COMP1;
+}
+
+static inline void hri_ac_set_INTEN_WIN0_bit(const void *const hw)
+{
+ ((Ac *)hw)->INTENSET.reg = AC_INTENSET_WIN0;
+}
+
+static inline bool hri_ac_get_INTEN_WIN0_bit(const void *const hw)
+{
+ return (((Ac *)hw)->INTENSET.reg & AC_INTENSET_WIN0) >> AC_INTENSET_WIN0_Pos;
+}
+
+static inline void hri_ac_write_INTEN_WIN0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_WIN0;
+ } else {
+ ((Ac *)hw)->INTENSET.reg = AC_INTENSET_WIN0;
+ }
+}
+
+static inline void hri_ac_clear_INTEN_WIN0_bit(const void *const hw)
+{
+ ((Ac *)hw)->INTENCLR.reg = AC_INTENSET_WIN0;
+}
+
+static inline void hri_ac_set_INTEN_reg(const void *const hw, hri_ac_intenset_reg_t mask)
+{
+ ((Ac *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_ac_intenset_reg_t hri_ac_get_INTEN_reg(const void *const hw, hri_ac_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Ac *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_ac_intenset_reg_t hri_ac_read_INTEN_reg(const void *const hw)
+{
+ return ((Ac *)hw)->INTENSET.reg;
+}
+
+static inline void hri_ac_write_INTEN_reg(const void *const hw, hri_ac_intenset_reg_t data)
+{
+ ((Ac *)hw)->INTENSET.reg = data;
+ ((Ac *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_ac_clear_INTEN_reg(const void *const hw, hri_ac_intenset_reg_t mask)
+{
+ ((Ac *)hw)->INTENCLR.reg = mask;
+}
+
+static inline bool hri_ac_get_STATUSA_STATE0_bit(const void *const hw)
+{
+ return (((Ac *)hw)->STATUSA.reg & AC_STATUSA_STATE0) >> AC_STATUSA_STATE0_Pos;
+}
+
+static inline bool hri_ac_get_STATUSA_STATE1_bit(const void *const hw)
+{
+ return (((Ac *)hw)->STATUSA.reg & AC_STATUSA_STATE1) >> AC_STATUSA_STATE1_Pos;
+}
+
+static inline hri_ac_statusa_reg_t hri_ac_get_STATUSA_WSTATE0_bf(const void *const hw, hri_ac_statusa_reg_t mask)
+{
+ return (((Ac *)hw)->STATUSA.reg & AC_STATUSA_WSTATE0(mask)) >> AC_STATUSA_WSTATE0_Pos;
+}
+
+static inline hri_ac_statusa_reg_t hri_ac_read_STATUSA_WSTATE0_bf(const void *const hw)
+{
+ return (((Ac *)hw)->STATUSA.reg & AC_STATUSA_WSTATE0_Msk) >> AC_STATUSA_WSTATE0_Pos;
+}
+
+static inline hri_ac_statusa_reg_t hri_ac_get_STATUSA_reg(const void *const hw, hri_ac_statusa_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Ac *)hw)->STATUSA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_ac_statusa_reg_t hri_ac_read_STATUSA_reg(const void *const hw)
+{
+ return ((Ac *)hw)->STATUSA.reg;
+}
+
+static inline bool hri_ac_get_STATUSB_READY0_bit(const void *const hw)
+{
+ return (((Ac *)hw)->STATUSB.reg & AC_STATUSB_READY0) >> AC_STATUSB_READY0_Pos;
+}
+
+static inline bool hri_ac_get_STATUSB_READY1_bit(const void *const hw)
+{
+ return (((Ac *)hw)->STATUSB.reg & AC_STATUSB_READY1) >> AC_STATUSB_READY1_Pos;
+}
+
+static inline hri_ac_statusb_reg_t hri_ac_get_STATUSB_reg(const void *const hw, hri_ac_statusb_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Ac *)hw)->STATUSB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_ac_statusb_reg_t hri_ac_read_STATUSB_reg(const void *const hw)
+{
+ return ((Ac *)hw)->STATUSB.reg;
+}
+
+static inline bool hri_ac_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Ac *)hw)->SYNCBUSY.reg & AC_SYNCBUSY_SWRST) >> AC_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_ac_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Ac *)hw)->SYNCBUSY.reg & AC_SYNCBUSY_ENABLE) >> AC_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_ac_get_SYNCBUSY_WINCTRL_bit(const void *const hw)
+{
+ return (((Ac *)hw)->SYNCBUSY.reg & AC_SYNCBUSY_WINCTRL) >> AC_SYNCBUSY_WINCTRL_Pos;
+}
+
+static inline bool hri_ac_get_SYNCBUSY_COMPCTRL0_bit(const void *const hw)
+{
+ return (((Ac *)hw)->SYNCBUSY.reg & AC_SYNCBUSY_COMPCTRL0) >> AC_SYNCBUSY_COMPCTRL0_Pos;
+}
+
+static inline bool hri_ac_get_SYNCBUSY_COMPCTRL1_bit(const void *const hw)
+{
+ return (((Ac *)hw)->SYNCBUSY.reg & AC_SYNCBUSY_COMPCTRL1) >> AC_SYNCBUSY_COMPCTRL1_Pos;
+}
+
+static inline hri_ac_syncbusy_reg_t hri_ac_get_SYNCBUSY_reg(const void *const hw, hri_ac_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_ac_syncbusy_reg_t hri_ac_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Ac *)hw)->SYNCBUSY.reg;
+}
+
+static inline void hri_ac_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CTRLA.reg |= AC_CTRLA_SWRST;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST);
+ tmp = ((Ac *)hw)->CTRLA.reg;
+ tmp = (tmp & AC_CTRLA_SWRST) >> AC_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CTRLA.reg |= AC_CTRLA_ENABLE;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
+ tmp = ((Ac *)hw)->CTRLA.reg;
+ tmp = (tmp & AC_CTRLA_ENABLE) >> AC_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->CTRLA.reg;
+ tmp &= ~AC_CTRLA_ENABLE;
+ tmp |= value << AC_CTRLA_ENABLE_Pos;
+ ((Ac *)hw)->CTRLA.reg = tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CTRLA.reg &= ~AC_CTRLA_ENABLE;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CTRLA.reg ^= AC_CTRLA_ENABLE;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_set_CTRLA_reg(const void *const hw, hri_ac_ctrla_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CTRLA.reg |= mask;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_ctrla_reg_t hri_ac_get_CTRLA_reg(const void *const hw, hri_ac_ctrla_reg_t mask)
+{
+ uint8_t tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
+ tmp = ((Ac *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_ac_write_CTRLA_reg(const void *const hw, hri_ac_ctrla_reg_t data)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CTRLA.reg = data;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_CTRLA_reg(const void *const hw, hri_ac_ctrla_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CTRLA.reg &= ~mask;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_CTRLA_reg(const void *const hw, hri_ac_ctrla_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CTRLA.reg ^= mask;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_ctrla_reg_t hri_ac_read_CTRLA_reg(const void *const hw)
+{
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_SWRST | AC_SYNCBUSY_ENABLE);
+ return ((Ac *)hw)->CTRLA.reg;
+}
+
+static inline void hri_ac_set_EVCTRL_COMPEO0_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_COMPEO0;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_EVCTRL_COMPEO0_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Ac *)hw)->EVCTRL.reg;
+ tmp = (tmp & AC_EVCTRL_COMPEO0) >> AC_EVCTRL_COMPEO0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_write_EVCTRL_COMPEO0_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->EVCTRL.reg;
+ tmp &= ~AC_EVCTRL_COMPEO0;
+ tmp |= value << AC_EVCTRL_COMPEO0_Pos;
+ ((Ac *)hw)->EVCTRL.reg = tmp;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_EVCTRL_COMPEO0_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_COMPEO0;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_EVCTRL_COMPEO0_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_COMPEO0;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_set_EVCTRL_COMPEO1_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_COMPEO1;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_EVCTRL_COMPEO1_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Ac *)hw)->EVCTRL.reg;
+ tmp = (tmp & AC_EVCTRL_COMPEO1) >> AC_EVCTRL_COMPEO1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_write_EVCTRL_COMPEO1_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->EVCTRL.reg;
+ tmp &= ~AC_EVCTRL_COMPEO1;
+ tmp |= value << AC_EVCTRL_COMPEO1_Pos;
+ ((Ac *)hw)->EVCTRL.reg = tmp;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_EVCTRL_COMPEO1_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_COMPEO1;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_EVCTRL_COMPEO1_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_COMPEO1;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_set_EVCTRL_WINEO0_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_WINEO0;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_EVCTRL_WINEO0_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Ac *)hw)->EVCTRL.reg;
+ tmp = (tmp & AC_EVCTRL_WINEO0) >> AC_EVCTRL_WINEO0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_write_EVCTRL_WINEO0_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->EVCTRL.reg;
+ tmp &= ~AC_EVCTRL_WINEO0;
+ tmp |= value << AC_EVCTRL_WINEO0_Pos;
+ ((Ac *)hw)->EVCTRL.reg = tmp;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_EVCTRL_WINEO0_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_WINEO0;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_EVCTRL_WINEO0_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_WINEO0;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_set_EVCTRL_COMPEI0_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_COMPEI0;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_EVCTRL_COMPEI0_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Ac *)hw)->EVCTRL.reg;
+ tmp = (tmp & AC_EVCTRL_COMPEI0) >> AC_EVCTRL_COMPEI0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_write_EVCTRL_COMPEI0_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->EVCTRL.reg;
+ tmp &= ~AC_EVCTRL_COMPEI0;
+ tmp |= value << AC_EVCTRL_COMPEI0_Pos;
+ ((Ac *)hw)->EVCTRL.reg = tmp;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_EVCTRL_COMPEI0_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_COMPEI0;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_EVCTRL_COMPEI0_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_COMPEI0;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_set_EVCTRL_COMPEI1_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_COMPEI1;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_EVCTRL_COMPEI1_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Ac *)hw)->EVCTRL.reg;
+ tmp = (tmp & AC_EVCTRL_COMPEI1) >> AC_EVCTRL_COMPEI1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_write_EVCTRL_COMPEI1_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->EVCTRL.reg;
+ tmp &= ~AC_EVCTRL_COMPEI1;
+ tmp |= value << AC_EVCTRL_COMPEI1_Pos;
+ ((Ac *)hw)->EVCTRL.reg = tmp;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_EVCTRL_COMPEI1_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_COMPEI1;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_EVCTRL_COMPEI1_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_COMPEI1;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_set_EVCTRL_INVEI0_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_INVEI0;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_EVCTRL_INVEI0_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Ac *)hw)->EVCTRL.reg;
+ tmp = (tmp & AC_EVCTRL_INVEI0) >> AC_EVCTRL_INVEI0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_write_EVCTRL_INVEI0_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->EVCTRL.reg;
+ tmp &= ~AC_EVCTRL_INVEI0;
+ tmp |= value << AC_EVCTRL_INVEI0_Pos;
+ ((Ac *)hw)->EVCTRL.reg = tmp;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_EVCTRL_INVEI0_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_INVEI0;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_EVCTRL_INVEI0_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_INVEI0;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_set_EVCTRL_INVEI1_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg |= AC_EVCTRL_INVEI1;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_EVCTRL_INVEI1_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Ac *)hw)->EVCTRL.reg;
+ tmp = (tmp & AC_EVCTRL_INVEI1) >> AC_EVCTRL_INVEI1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_write_EVCTRL_INVEI1_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->EVCTRL.reg;
+ tmp &= ~AC_EVCTRL_INVEI1;
+ tmp |= value << AC_EVCTRL_INVEI1_Pos;
+ ((Ac *)hw)->EVCTRL.reg = tmp;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_EVCTRL_INVEI1_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg &= ~AC_EVCTRL_INVEI1;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_EVCTRL_INVEI1_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg ^= AC_EVCTRL_INVEI1;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_set_EVCTRL_reg(const void *const hw, hri_ac_evctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg |= mask;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_evctrl_reg_t hri_ac_get_EVCTRL_reg(const void *const hw, hri_ac_evctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Ac *)hw)->EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_ac_write_EVCTRL_reg(const void *const hw, hri_ac_evctrl_reg_t data)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg = data;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_EVCTRL_reg(const void *const hw, hri_ac_evctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg &= ~mask;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_EVCTRL_reg(const void *const hw, hri_ac_evctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->EVCTRL.reg ^= mask;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_evctrl_reg_t hri_ac_read_EVCTRL_reg(const void *const hw)
+{
+ return ((Ac *)hw)->EVCTRL.reg;
+}
+
+static inline void hri_ac_set_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->DBGCTRL.reg |= AC_DBGCTRL_DBGRUN;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Ac *)hw)->DBGCTRL.reg;
+ tmp = (tmp & AC_DBGCTRL_DBGRUN) >> AC_DBGCTRL_DBGRUN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->DBGCTRL.reg;
+ tmp &= ~AC_DBGCTRL_DBGRUN;
+ tmp |= value << AC_DBGCTRL_DBGRUN_Pos;
+ ((Ac *)hw)->DBGCTRL.reg = tmp;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->DBGCTRL.reg &= ~AC_DBGCTRL_DBGRUN;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->DBGCTRL.reg ^= AC_DBGCTRL_DBGRUN;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_set_DBGCTRL_reg(const void *const hw, hri_ac_dbgctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->DBGCTRL.reg |= mask;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_dbgctrl_reg_t hri_ac_get_DBGCTRL_reg(const void *const hw, hri_ac_dbgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Ac *)hw)->DBGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_ac_write_DBGCTRL_reg(const void *const hw, hri_ac_dbgctrl_reg_t data)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->DBGCTRL.reg = data;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_DBGCTRL_reg(const void *const hw, hri_ac_dbgctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->DBGCTRL.reg &= ~mask;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_DBGCTRL_reg(const void *const hw, hri_ac_dbgctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->DBGCTRL.reg ^= mask;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_dbgctrl_reg_t hri_ac_read_DBGCTRL_reg(const void *const hw)
+{
+ return ((Ac *)hw)->DBGCTRL.reg;
+}
+
+static inline void hri_ac_set_WINCTRL_WEN0_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->WINCTRL.reg |= AC_WINCTRL_WEN0;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_WINCTRL_WEN0_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Ac *)hw)->WINCTRL.reg;
+ tmp = (tmp & AC_WINCTRL_WEN0) >> AC_WINCTRL_WEN0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_write_WINCTRL_WEN0_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->WINCTRL.reg;
+ tmp &= ~AC_WINCTRL_WEN0;
+ tmp |= value << AC_WINCTRL_WEN0_Pos;
+ ((Ac *)hw)->WINCTRL.reg = tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_WINCTRL_WEN0_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->WINCTRL.reg &= ~AC_WINCTRL_WEN0;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_WINCTRL_WEN0_bit(const void *const hw)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->WINCTRL.reg ^= AC_WINCTRL_WEN0;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_set_WINCTRL_WINTSEL0_bf(const void *const hw, hri_ac_winctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->WINCTRL.reg |= AC_WINCTRL_WINTSEL0(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_winctrl_reg_t hri_ac_get_WINCTRL_WINTSEL0_bf(const void *const hw, hri_ac_winctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Ac *)hw)->WINCTRL.reg;
+ tmp = (tmp & AC_WINCTRL_WINTSEL0(mask)) >> AC_WINCTRL_WINTSEL0_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_write_WINCTRL_WINTSEL0_bf(const void *const hw, hri_ac_winctrl_reg_t data)
+{
+ uint8_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->WINCTRL.reg;
+ tmp &= ~AC_WINCTRL_WINTSEL0_Msk;
+ tmp |= AC_WINCTRL_WINTSEL0(data);
+ ((Ac *)hw)->WINCTRL.reg = tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_WINCTRL_WINTSEL0_bf(const void *const hw, hri_ac_winctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->WINCTRL.reg &= ~AC_WINCTRL_WINTSEL0(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_WINCTRL_WINTSEL0_bf(const void *const hw, hri_ac_winctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->WINCTRL.reg ^= AC_WINCTRL_WINTSEL0(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_winctrl_reg_t hri_ac_read_WINCTRL_WINTSEL0_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Ac *)hw)->WINCTRL.reg;
+ tmp = (tmp & AC_WINCTRL_WINTSEL0_Msk) >> AC_WINCTRL_WINTSEL0_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_set_WINCTRL_reg(const void *const hw, hri_ac_winctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->WINCTRL.reg |= mask;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_winctrl_reg_t hri_ac_get_WINCTRL_reg(const void *const hw, hri_ac_winctrl_reg_t mask)
+{
+ uint8_t tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ tmp = ((Ac *)hw)->WINCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_ac_write_WINCTRL_reg(const void *const hw, hri_ac_winctrl_reg_t data)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->WINCTRL.reg = data;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_WINCTRL_reg(const void *const hw, hri_ac_winctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->WINCTRL.reg &= ~mask;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_WINCTRL_reg(const void *const hw, hri_ac_winctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->WINCTRL.reg ^= mask;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_winctrl_reg_t hri_ac_read_WINCTRL_reg(const void *const hw)
+{
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ return ((Ac *)hw)->WINCTRL.reg;
+}
+
+static inline void hri_ac_set_SCALER_VALUE_bf(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->SCALER[index].reg |= AC_SCALER_VALUE(mask);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_scaler_reg_t hri_ac_get_SCALER_VALUE_bf(const void *const hw, uint8_t index,
+ hri_ac_scaler_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Ac *)hw)->SCALER[index].reg;
+ tmp = (tmp & AC_SCALER_VALUE(mask)) >> AC_SCALER_VALUE_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_write_SCALER_VALUE_bf(const void *const hw, uint8_t index, hri_ac_scaler_reg_t data)
+{
+ uint8_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->SCALER[index].reg;
+ tmp &= ~AC_SCALER_VALUE_Msk;
+ tmp |= AC_SCALER_VALUE(data);
+ ((Ac *)hw)->SCALER[index].reg = tmp;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_SCALER_VALUE_bf(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->SCALER[index].reg &= ~AC_SCALER_VALUE(mask);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_SCALER_VALUE_bf(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->SCALER[index].reg ^= AC_SCALER_VALUE(mask);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_scaler_reg_t hri_ac_read_SCALER_VALUE_bf(const void *const hw, uint8_t index)
+{
+ uint8_t tmp;
+ tmp = ((Ac *)hw)->SCALER[index].reg;
+ tmp = (tmp & AC_SCALER_VALUE_Msk) >> AC_SCALER_VALUE_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_set_SCALER_reg(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->SCALER[index].reg |= mask;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+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)
+{
+ uint8_t tmp;
+ tmp = ((Ac *)hw)->SCALER[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_ac_write_SCALER_reg(const void *const hw, uint8_t index, hri_ac_scaler_reg_t data)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->SCALER[index].reg = data;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_SCALER_reg(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->SCALER[index].reg &= ~mask;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_SCALER_reg(const void *const hw, uint8_t index, hri_ac_scaler_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->SCALER[index].reg ^= mask;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_scaler_reg_t hri_ac_read_SCALER_reg(const void *const hw, uint8_t index)
+{
+ return ((Ac *)hw)->SCALER[index].reg;
+}
+
+static inline void hri_ac_set_COMPCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_ENABLE;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_COMPCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_ENABLE) >> AC_COMPCTRL_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_write_COMPCTRL_ENABLE_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp &= ~AC_COMPCTRL_ENABLE;
+ tmp |= value << AC_COMPCTRL_ENABLE_Pos;
+ ((Ac *)hw)->COMPCTRL[index].reg = tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_COMPCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_ENABLE;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_COMPCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_ENABLE;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_set_COMPCTRL_SINGLE_bit(const void *const hw, uint8_t index)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_SINGLE;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_COMPCTRL_SINGLE_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_SINGLE) >> AC_COMPCTRL_SINGLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_write_COMPCTRL_SINGLE_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp &= ~AC_COMPCTRL_SINGLE;
+ tmp |= value << AC_COMPCTRL_SINGLE_Pos;
+ ((Ac *)hw)->COMPCTRL[index].reg = tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_COMPCTRL_SINGLE_bit(const void *const hw, uint8_t index)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_SINGLE;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_COMPCTRL_SINGLE_bit(const void *const hw, uint8_t index)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_SINGLE;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_set_COMPCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_RUNSTDBY;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_COMPCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_RUNSTDBY) >> AC_COMPCTRL_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_write_COMPCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp &= ~AC_COMPCTRL_RUNSTDBY;
+ tmp |= value << AC_COMPCTRL_RUNSTDBY_Pos;
+ ((Ac *)hw)->COMPCTRL[index].reg = tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_COMPCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_RUNSTDBY;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_COMPCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_RUNSTDBY;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_set_COMPCTRL_SWAP_bit(const void *const hw, uint8_t index)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_SWAP;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_COMPCTRL_SWAP_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_SWAP) >> AC_COMPCTRL_SWAP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_write_COMPCTRL_SWAP_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp &= ~AC_COMPCTRL_SWAP;
+ tmp |= value << AC_COMPCTRL_SWAP_Pos;
+ ((Ac *)hw)->COMPCTRL[index].reg = tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_COMPCTRL_SWAP_bit(const void *const hw, uint8_t index)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_SWAP;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_COMPCTRL_SWAP_bit(const void *const hw, uint8_t index)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_SWAP;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_set_COMPCTRL_HYSTEN_bit(const void *const hw, uint8_t index)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_HYSTEN;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ac_get_COMPCTRL_HYSTEN_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_HYSTEN) >> AC_COMPCTRL_HYSTEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ac_write_COMPCTRL_HYSTEN_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp &= ~AC_COMPCTRL_HYSTEN;
+ tmp |= value << AC_COMPCTRL_HYSTEN_Pos;
+ ((Ac *)hw)->COMPCTRL[index].reg = tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_COMPCTRL_HYSTEN_bit(const void *const hw, uint8_t index)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_HYSTEN;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_COMPCTRL_HYSTEN_bit(const void *const hw, uint8_t index)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_HYSTEN;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_set_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_INTSEL(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index,
+ hri_ac_compctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_INTSEL(mask)) >> AC_COMPCTRL_INTSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_write_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
+{
+ uint32_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp &= ~AC_COMPCTRL_INTSEL_Msk;
+ tmp |= AC_COMPCTRL_INTSEL(data);
+ ((Ac *)hw)->COMPCTRL[index].reg = tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_INTSEL(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_INTSEL(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_INTSEL_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_INTSEL_Msk) >> AC_COMPCTRL_INTSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_set_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_MUXNEG(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index,
+ hri_ac_compctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_MUXNEG(mask)) >> AC_COMPCTRL_MUXNEG_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_write_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
+{
+ uint32_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp &= ~AC_COMPCTRL_MUXNEG_Msk;
+ tmp |= AC_COMPCTRL_MUXNEG(data);
+ ((Ac *)hw)->COMPCTRL[index].reg = tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_MUXNEG(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_MUXNEG(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_MUXNEG_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_MUXNEG_Msk) >> AC_COMPCTRL_MUXNEG_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_set_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_MUXPOS(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index,
+ hri_ac_compctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_MUXPOS(mask)) >> AC_COMPCTRL_MUXPOS_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_write_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
+{
+ uint32_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp &= ~AC_COMPCTRL_MUXPOS_Msk;
+ tmp |= AC_COMPCTRL_MUXPOS(data);
+ ((Ac *)hw)->COMPCTRL[index].reg = tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_MUXPOS(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_MUXPOS(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_MUXPOS_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_MUXPOS_Msk) >> AC_COMPCTRL_MUXPOS_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_set_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_SPEED(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index,
+ hri_ac_compctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_SPEED(mask)) >> AC_COMPCTRL_SPEED_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_write_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
+{
+ uint32_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp &= ~AC_COMPCTRL_SPEED_Msk;
+ tmp |= AC_COMPCTRL_SPEED(data);
+ ((Ac *)hw)->COMPCTRL[index].reg = tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_SPEED(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_SPEED(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_SPEED_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_SPEED_Msk) >> AC_COMPCTRL_SPEED_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_set_COMPCTRL_HYST_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_HYST(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_HYST_bf(const void *const hw, uint8_t index,
+ hri_ac_compctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_HYST(mask)) >> AC_COMPCTRL_HYST_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_write_COMPCTRL_HYST_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
+{
+ uint32_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp &= ~AC_COMPCTRL_HYST_Msk;
+ tmp |= AC_COMPCTRL_HYST(data);
+ ((Ac *)hw)->COMPCTRL[index].reg = tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_COMPCTRL_HYST_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_HYST(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_COMPCTRL_HYST_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_HYST(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_HYST_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_HYST_Msk) >> AC_COMPCTRL_HYST_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_set_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_FLEN(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index,
+ hri_ac_compctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_FLEN(mask)) >> AC_COMPCTRL_FLEN_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_write_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
+{
+ uint32_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp &= ~AC_COMPCTRL_FLEN_Msk;
+ tmp |= AC_COMPCTRL_FLEN(data);
+ ((Ac *)hw)->COMPCTRL[index].reg = tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_FLEN(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_FLEN(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_FLEN_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_FLEN_Msk) >> AC_COMPCTRL_FLEN_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_set_COMPCTRL_OUT_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg |= AC_COMPCTRL_OUT(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_OUT_bf(const void *const hw, uint8_t index,
+ hri_ac_compctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_OUT(mask)) >> AC_COMPCTRL_OUT_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_write_COMPCTRL_OUT_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
+{
+ uint32_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp &= ~AC_COMPCTRL_OUT_Msk;
+ tmp |= AC_COMPCTRL_OUT(data);
+ ((Ac *)hw)->COMPCTRL[index].reg = tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_COMPCTRL_OUT_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg &= ~AC_COMPCTRL_OUT(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_COMPCTRL_OUT_bf(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg ^= AC_COMPCTRL_OUT(mask);
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_MASK);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_OUT_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp = (tmp & AC_COMPCTRL_OUT_Msk) >> AC_COMPCTRL_OUT_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_set_COMPCTRL_reg(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg |= mask;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_get_COMPCTRL_reg(const void *const hw, uint8_t index,
+ hri_ac_compctrl_reg_t mask)
+{
+ uint32_t tmp;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
+ tmp = ((Ac *)hw)->COMPCTRL[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_ac_write_COMPCTRL_reg(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t data)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg = data;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_COMPCTRL_reg(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg &= ~mask;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_COMPCTRL_reg(const void *const hw, uint8_t index, hri_ac_compctrl_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->COMPCTRL[index].reg ^= mask;
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_compctrl_reg_t hri_ac_read_COMPCTRL_reg(const void *const hw, uint8_t index)
+{
+ hri_ac_wait_for_sync(hw, AC_SYNCBUSY_ENABLE);
+ return ((Ac *)hw)->COMPCTRL[index].reg;
+}
+
+static inline void hri_ac_set_CALIB_BIAS0_bf(const void *const hw, hri_ac_calib_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CALIB.reg |= AC_CALIB_BIAS0(mask);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_calib_reg_t hri_ac_get_CALIB_BIAS0_bf(const void *const hw, hri_ac_calib_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Ac *)hw)->CALIB.reg;
+ tmp = (tmp & AC_CALIB_BIAS0(mask)) >> AC_CALIB_BIAS0_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_write_CALIB_BIAS0_bf(const void *const hw, hri_ac_calib_reg_t data)
+{
+ uint16_t tmp;
+ AC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ac *)hw)->CALIB.reg;
+ tmp &= ~AC_CALIB_BIAS0_Msk;
+ tmp |= AC_CALIB_BIAS0(data);
+ ((Ac *)hw)->CALIB.reg = tmp;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_CALIB_BIAS0_bf(const void *const hw, hri_ac_calib_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CALIB.reg &= ~AC_CALIB_BIAS0(mask);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_CALIB_BIAS0_bf(const void *const hw, hri_ac_calib_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CALIB.reg ^= AC_CALIB_BIAS0(mask);
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_calib_reg_t hri_ac_read_CALIB_BIAS0_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Ac *)hw)->CALIB.reg;
+ tmp = (tmp & AC_CALIB_BIAS0_Msk) >> AC_CALIB_BIAS0_Pos;
+ return tmp;
+}
+
+static inline void hri_ac_set_CALIB_reg(const void *const hw, hri_ac_calib_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CALIB.reg |= mask;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_calib_reg_t hri_ac_get_CALIB_reg(const void *const hw, hri_ac_calib_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Ac *)hw)->CALIB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_ac_write_CALIB_reg(const void *const hw, hri_ac_calib_reg_t data)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CALIB.reg = data;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_clear_CALIB_reg(const void *const hw, hri_ac_calib_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CALIB.reg &= ~mask;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ac_toggle_CALIB_reg(const void *const hw, hri_ac_calib_reg_t mask)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CALIB.reg ^= mask;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ac_calib_reg_t hri_ac_read_CALIB_reg(const void *const hw)
+{
+ return ((Ac *)hw)->CALIB.reg;
+}
+
+static inline void hri_ac_write_CTRLB_reg(const void *const hw, hri_ac_ctrlb_reg_t data)
+{
+ AC_CRITICAL_SECTION_ENTER();
+ ((Ac *)hw)->CTRLB.reg = data;
+ AC_CRITICAL_SECTION_LEAVE();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_AC_E54_H_INCLUDED */
+#endif /* _SAME54_AC_COMPONENT_ */
diff --git a/hri/hri_adc_e54.h b/hri/hri_adc_e54.h
new file mode 100644
index 0000000..7bb7e6f
--- /dev/null
+++ b/hri/hri_adc_e54.h
@@ -0,0 +1,3663 @@
+/**
+ * \file
+ *
+ * \brief SAM ADC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_ADC_COMPONENT_
+#ifndef _HRI_ADC_E54_H_INCLUDED_
+#define _HRI_ADC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_ADC_CRITICAL_SECTIONS)
+#define ADC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define ADC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define ADC_CRITICAL_SECTION_ENTER()
+#define ADC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_adc_calib_reg_t;
+typedef uint16_t hri_adc_ctrla_reg_t;
+typedef uint16_t hri_adc_ctrlb_reg_t;
+typedef uint16_t hri_adc_gaincorr_reg_t;
+typedef uint16_t hri_adc_inputctrl_reg_t;
+typedef uint16_t hri_adc_offsetcorr_reg_t;
+typedef uint16_t hri_adc_ress_reg_t;
+typedef uint16_t hri_adc_result_reg_t;
+typedef uint16_t hri_adc_winlt_reg_t;
+typedef uint16_t hri_adc_winut_reg_t;
+typedef uint32_t hri_adc_dseqctrl_reg_t;
+typedef uint32_t hri_adc_dseqdata_reg_t;
+typedef uint32_t hri_adc_dseqstat_reg_t;
+typedef uint32_t hri_adc_syncbusy_reg_t;
+typedef uint8_t hri_adc_avgctrl_reg_t;
+typedef uint8_t hri_adc_dbgctrl_reg_t;
+typedef uint8_t hri_adc_evctrl_reg_t;
+typedef uint8_t hri_adc_intenset_reg_t;
+typedef uint8_t hri_adc_intflag_reg_t;
+typedef uint8_t hri_adc_refctrl_reg_t;
+typedef uint8_t hri_adc_sampctrl_reg_t;
+typedef uint8_t hri_adc_status_reg_t;
+typedef uint8_t hri_adc_swtrig_reg_t;
+
+static inline void hri_adc_wait_for_sync(const void *const hw, hri_adc_syncbusy_reg_t reg)
+{
+ while (((Adc *)hw)->SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_adc_is_syncing(const void *const hw, hri_adc_syncbusy_reg_t reg)
+{
+ return ((Adc *)hw)->SYNCBUSY.reg & reg;
+}
+
+static inline bool hri_adc_get_INTFLAG_RESRDY_bit(const void *const hw)
+{
+ return (((Adc *)hw)->INTFLAG.reg & ADC_INTFLAG_RESRDY) >> ADC_INTFLAG_RESRDY_Pos;
+}
+
+static inline void hri_adc_clear_INTFLAG_RESRDY_bit(const void *const hw)
+{
+ ((Adc *)hw)->INTFLAG.reg = ADC_INTFLAG_RESRDY;
+}
+
+static inline bool hri_adc_get_INTFLAG_OVERRUN_bit(const void *const hw)
+{
+ return (((Adc *)hw)->INTFLAG.reg & ADC_INTFLAG_OVERRUN) >> ADC_INTFLAG_OVERRUN_Pos;
+}
+
+static inline void hri_adc_clear_INTFLAG_OVERRUN_bit(const void *const hw)
+{
+ ((Adc *)hw)->INTFLAG.reg = ADC_INTFLAG_OVERRUN;
+}
+
+static inline bool hri_adc_get_INTFLAG_WINMON_bit(const void *const hw)
+{
+ return (((Adc *)hw)->INTFLAG.reg & ADC_INTFLAG_WINMON) >> ADC_INTFLAG_WINMON_Pos;
+}
+
+static inline void hri_adc_clear_INTFLAG_WINMON_bit(const void *const hw)
+{
+ ((Adc *)hw)->INTFLAG.reg = ADC_INTFLAG_WINMON;
+}
+
+static inline bool hri_adc_get_interrupt_RESRDY_bit(const void *const hw)
+{
+ return (((Adc *)hw)->INTFLAG.reg & ADC_INTFLAG_RESRDY) >> ADC_INTFLAG_RESRDY_Pos;
+}
+
+static inline void hri_adc_clear_interrupt_RESRDY_bit(const void *const hw)
+{
+ ((Adc *)hw)->INTFLAG.reg = ADC_INTFLAG_RESRDY;
+}
+
+static inline bool hri_adc_get_interrupt_OVERRUN_bit(const void *const hw)
+{
+ return (((Adc *)hw)->INTFLAG.reg & ADC_INTFLAG_OVERRUN) >> ADC_INTFLAG_OVERRUN_Pos;
+}
+
+static inline void hri_adc_clear_interrupt_OVERRUN_bit(const void *const hw)
+{
+ ((Adc *)hw)->INTFLAG.reg = ADC_INTFLAG_OVERRUN;
+}
+
+static inline bool hri_adc_get_interrupt_WINMON_bit(const void *const hw)
+{
+ return (((Adc *)hw)->INTFLAG.reg & ADC_INTFLAG_WINMON) >> ADC_INTFLAG_WINMON_Pos;
+}
+
+static inline void hri_adc_clear_interrupt_WINMON_bit(const void *const hw)
+{
+ ((Adc *)hw)->INTFLAG.reg = ADC_INTFLAG_WINMON;
+}
+
+static inline hri_adc_intflag_reg_t hri_adc_get_INTFLAG_reg(const void *const hw, hri_adc_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_adc_intflag_reg_t hri_adc_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Adc *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_adc_clear_INTFLAG_reg(const void *const hw, hri_adc_intflag_reg_t mask)
+{
+ ((Adc *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_adc_set_INTEN_RESRDY_bit(const void *const hw)
+{
+ ((Adc *)hw)->INTENSET.reg = ADC_INTENSET_RESRDY;
+}
+
+static inline bool hri_adc_get_INTEN_RESRDY_bit(const void *const hw)
+{
+ return (((Adc *)hw)->INTENSET.reg & ADC_INTENSET_RESRDY) >> ADC_INTENSET_RESRDY_Pos;
+}
+
+static inline void hri_adc_write_INTEN_RESRDY_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Adc *)hw)->INTENCLR.reg = ADC_INTENSET_RESRDY;
+ } else {
+ ((Adc *)hw)->INTENSET.reg = ADC_INTENSET_RESRDY;
+ }
+}
+
+static inline void hri_adc_clear_INTEN_RESRDY_bit(const void *const hw)
+{
+ ((Adc *)hw)->INTENCLR.reg = ADC_INTENSET_RESRDY;
+}
+
+static inline void hri_adc_set_INTEN_OVERRUN_bit(const void *const hw)
+{
+ ((Adc *)hw)->INTENSET.reg = ADC_INTENSET_OVERRUN;
+}
+
+static inline bool hri_adc_get_INTEN_OVERRUN_bit(const void *const hw)
+{
+ return (((Adc *)hw)->INTENSET.reg & ADC_INTENSET_OVERRUN) >> ADC_INTENSET_OVERRUN_Pos;
+}
+
+static inline void hri_adc_write_INTEN_OVERRUN_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Adc *)hw)->INTENCLR.reg = ADC_INTENSET_OVERRUN;
+ } else {
+ ((Adc *)hw)->INTENSET.reg = ADC_INTENSET_OVERRUN;
+ }
+}
+
+static inline void hri_adc_clear_INTEN_OVERRUN_bit(const void *const hw)
+{
+ ((Adc *)hw)->INTENCLR.reg = ADC_INTENSET_OVERRUN;
+}
+
+static inline void hri_adc_set_INTEN_WINMON_bit(const void *const hw)
+{
+ ((Adc *)hw)->INTENSET.reg = ADC_INTENSET_WINMON;
+}
+
+static inline bool hri_adc_get_INTEN_WINMON_bit(const void *const hw)
+{
+ return (((Adc *)hw)->INTENSET.reg & ADC_INTENSET_WINMON) >> ADC_INTENSET_WINMON_Pos;
+}
+
+static inline void hri_adc_write_INTEN_WINMON_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Adc *)hw)->INTENCLR.reg = ADC_INTENSET_WINMON;
+ } else {
+ ((Adc *)hw)->INTENSET.reg = ADC_INTENSET_WINMON;
+ }
+}
+
+static inline void hri_adc_clear_INTEN_WINMON_bit(const void *const hw)
+{
+ ((Adc *)hw)->INTENCLR.reg = ADC_INTENSET_WINMON;
+}
+
+static inline void hri_adc_set_INTEN_reg(const void *const hw, hri_adc_intenset_reg_t mask)
+{
+ ((Adc *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_adc_intenset_reg_t hri_adc_get_INTEN_reg(const void *const hw, hri_adc_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_adc_intenset_reg_t hri_adc_read_INTEN_reg(const void *const hw)
+{
+ return ((Adc *)hw)->INTENSET.reg;
+}
+
+static inline void hri_adc_write_INTEN_reg(const void *const hw, hri_adc_intenset_reg_t data)
+{
+ ((Adc *)hw)->INTENSET.reg = data;
+ ((Adc *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_adc_clear_INTEN_reg(const void *const hw, hri_adc_intenset_reg_t mask)
+{
+ ((Adc *)hw)->INTENCLR.reg = mask;
+}
+
+static inline bool hri_adc_get_STATUS_ADCBUSY_bit(const void *const hw)
+{
+ return (((Adc *)hw)->STATUS.reg & ADC_STATUS_ADCBUSY) >> ADC_STATUS_ADCBUSY_Pos;
+}
+
+static inline hri_adc_status_reg_t hri_adc_get_STATUS_WCC_bf(const void *const hw, hri_adc_status_reg_t mask)
+{
+ return (((Adc *)hw)->STATUS.reg & ADC_STATUS_WCC(mask)) >> ADC_STATUS_WCC_Pos;
+}
+
+static inline hri_adc_status_reg_t hri_adc_read_STATUS_WCC_bf(const void *const hw)
+{
+ return (((Adc *)hw)->STATUS.reg & ADC_STATUS_WCC_Msk) >> ADC_STATUS_WCC_Pos;
+}
+
+static inline hri_adc_status_reg_t hri_adc_get_STATUS_reg(const void *const hw, hri_adc_status_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_adc_status_reg_t hri_adc_read_STATUS_reg(const void *const hw)
+{
+ return ((Adc *)hw)->STATUS.reg;
+}
+
+static inline bool hri_adc_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_SWRST) >> ADC_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_adc_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_ENABLE) >> ADC_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_adc_get_SYNCBUSY_INPUTCTRL_bit(const void *const hw)
+{
+ return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_INPUTCTRL) >> ADC_SYNCBUSY_INPUTCTRL_Pos;
+}
+
+static inline bool hri_adc_get_SYNCBUSY_CTRLB_bit(const void *const hw)
+{
+ return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_CTRLB) >> ADC_SYNCBUSY_CTRLB_Pos;
+}
+
+static inline bool hri_adc_get_SYNCBUSY_REFCTRL_bit(const void *const hw)
+{
+ return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_REFCTRL) >> ADC_SYNCBUSY_REFCTRL_Pos;
+}
+
+static inline bool hri_adc_get_SYNCBUSY_AVGCTRL_bit(const void *const hw)
+{
+ return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_AVGCTRL) >> ADC_SYNCBUSY_AVGCTRL_Pos;
+}
+
+static inline bool hri_adc_get_SYNCBUSY_SAMPCTRL_bit(const void *const hw)
+{
+ return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_SAMPCTRL) >> ADC_SYNCBUSY_SAMPCTRL_Pos;
+}
+
+static inline bool hri_adc_get_SYNCBUSY_WINLT_bit(const void *const hw)
+{
+ return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_WINLT) >> ADC_SYNCBUSY_WINLT_Pos;
+}
+
+static inline bool hri_adc_get_SYNCBUSY_WINUT_bit(const void *const hw)
+{
+ return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_WINUT) >> ADC_SYNCBUSY_WINUT_Pos;
+}
+
+static inline bool hri_adc_get_SYNCBUSY_GAINCORR_bit(const void *const hw)
+{
+ return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_GAINCORR) >> ADC_SYNCBUSY_GAINCORR_Pos;
+}
+
+static inline bool hri_adc_get_SYNCBUSY_OFFSETCORR_bit(const void *const hw)
+{
+ return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_OFFSETCORR) >> ADC_SYNCBUSY_OFFSETCORR_Pos;
+}
+
+static inline bool hri_adc_get_SYNCBUSY_SWTRIG_bit(const void *const hw)
+{
+ return (((Adc *)hw)->SYNCBUSY.reg & ADC_SYNCBUSY_SWTRIG) >> ADC_SYNCBUSY_SWTRIG_Pos;
+}
+
+static inline hri_adc_syncbusy_reg_t hri_adc_get_SYNCBUSY_reg(const void *const hw, hri_adc_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Adc *)hw)->SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_adc_syncbusy_reg_t hri_adc_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Adc *)hw)->SYNCBUSY.reg;
+}
+
+static inline bool hri_adc_get_DSEQSTAT_INPUTCTRL_bit(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_INPUTCTRL) >> ADC_DSEQSTAT_INPUTCTRL_Pos;
+}
+
+static inline bool hri_adc_get_DSEQSTAT_CTRLB_bit(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_CTRLB) >> ADC_DSEQSTAT_CTRLB_Pos;
+}
+
+static inline bool hri_adc_get_DSEQSTAT_REFCTRL_bit(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_REFCTRL) >> ADC_DSEQSTAT_REFCTRL_Pos;
+}
+
+static inline bool hri_adc_get_DSEQSTAT_AVGCTRL_bit(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_AVGCTRL) >> ADC_DSEQSTAT_AVGCTRL_Pos;
+}
+
+static inline bool hri_adc_get_DSEQSTAT_SAMPCTRL_bit(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_SAMPCTRL) >> ADC_DSEQSTAT_SAMPCTRL_Pos;
+}
+
+static inline bool hri_adc_get_DSEQSTAT_WINLT_bit(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_WINLT) >> ADC_DSEQSTAT_WINLT_Pos;
+}
+
+static inline bool hri_adc_get_DSEQSTAT_WINUT_bit(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_WINUT) >> ADC_DSEQSTAT_WINUT_Pos;
+}
+
+static inline bool hri_adc_get_DSEQSTAT_GAINCORR_bit(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_GAINCORR) >> ADC_DSEQSTAT_GAINCORR_Pos;
+}
+
+static inline bool hri_adc_get_DSEQSTAT_OFFSETCORR_bit(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_OFFSETCORR) >> ADC_DSEQSTAT_OFFSETCORR_Pos;
+}
+
+static inline bool hri_adc_get_DSEQSTAT_BUSY_bit(const void *const hw)
+{
+ return (((Adc *)hw)->DSEQSTAT.reg & ADC_DSEQSTAT_BUSY) >> ADC_DSEQSTAT_BUSY_Pos;
+}
+
+static inline hri_adc_dseqstat_reg_t hri_adc_get_DSEQSTAT_reg(const void *const hw, hri_adc_dseqstat_reg_t mask)
+{
+ uint32_t tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ tmp = ((Adc *)hw)->DSEQSTAT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_adc_dseqstat_reg_t hri_adc_read_DSEQSTAT_reg(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ return ((Adc *)hw)->DSEQSTAT.reg;
+}
+
+static inline hri_adc_result_reg_t hri_adc_get_RESULT_RESULT_bf(const void *const hw, hri_adc_result_reg_t mask)
+{
+ return (((Adc *)hw)->RESULT.reg & ADC_RESULT_RESULT(mask)) >> ADC_RESULT_RESULT_Pos;
+}
+
+static inline hri_adc_result_reg_t hri_adc_read_RESULT_RESULT_bf(const void *const hw)
+{
+ return (((Adc *)hw)->RESULT.reg & ADC_RESULT_RESULT_Msk) >> ADC_RESULT_RESULT_Pos;
+}
+
+static inline hri_adc_result_reg_t hri_adc_get_RESULT_reg(const void *const hw, hri_adc_result_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->RESULT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_adc_result_reg_t hri_adc_read_RESULT_reg(const void *const hw)
+{
+ return ((Adc *)hw)->RESULT.reg;
+}
+
+static inline hri_adc_ress_reg_t hri_adc_get_RESS_RESS_bf(const void *const hw, hri_adc_ress_reg_t mask)
+{
+ return (((Adc *)hw)->RESS.reg & ADC_RESS_RESS(mask)) >> ADC_RESS_RESS_Pos;
+}
+
+static inline hri_adc_ress_reg_t hri_adc_read_RESS_RESS_bf(const void *const hw)
+{
+ return (((Adc *)hw)->RESS.reg & ADC_RESS_RESS_Msk) >> ADC_RESS_RESS_Pos;
+}
+
+static inline hri_adc_ress_reg_t hri_adc_get_RESS_reg(const void *const hw, hri_adc_ress_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->RESS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_adc_ress_reg_t hri_adc_read_RESS_reg(const void *const hw)
+{
+ return ((Adc *)hw)->RESS.reg;
+}
+
+static inline void hri_adc_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_SWRST;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST);
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp = (tmp & ADC_CTRLA_SWRST) >> ADC_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_ENABLE;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE);
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp = (tmp & ADC_CTRLA_ENABLE) >> ADC_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp &= ~ADC_CTRLA_ENABLE;
+ tmp |= value << ADC_CTRLA_ENABLE_Pos;
+ ((Adc *)hw)->CTRLA.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg &= ~ADC_CTRLA_ENABLE;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg ^= ADC_CTRLA_ENABLE;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_CTRLA_SLAVEEN_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_SLAVEEN;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_CTRLA_SLAVEEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp = (tmp & ADC_CTRLA_SLAVEEN) >> ADC_CTRLA_SLAVEEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_CTRLA_SLAVEEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp &= ~ADC_CTRLA_SLAVEEN;
+ tmp |= value << ADC_CTRLA_SLAVEEN_Pos;
+ ((Adc *)hw)->CTRLA.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CTRLA_SLAVEEN_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg &= ~ADC_CTRLA_SLAVEEN;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CTRLA_SLAVEEN_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg ^= ADC_CTRLA_SLAVEEN;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_RUNSTDBY;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp = (tmp & ADC_CTRLA_RUNSTDBY) >> ADC_CTRLA_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp &= ~ADC_CTRLA_RUNSTDBY;
+ tmp |= value << ADC_CTRLA_RUNSTDBY_Pos;
+ ((Adc *)hw)->CTRLA.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg &= ~ADC_CTRLA_RUNSTDBY;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg ^= ADC_CTRLA_RUNSTDBY;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_CTRLA_ONDEMAND_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_ONDEMAND;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_CTRLA_ONDEMAND_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp = (tmp & ADC_CTRLA_ONDEMAND) >> ADC_CTRLA_ONDEMAND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_CTRLA_ONDEMAND_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp &= ~ADC_CTRLA_ONDEMAND;
+ tmp |= value << ADC_CTRLA_ONDEMAND_Pos;
+ ((Adc *)hw)->CTRLA.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CTRLA_ONDEMAND_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg &= ~ADC_CTRLA_ONDEMAND;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CTRLA_ONDEMAND_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg ^= ADC_CTRLA_ONDEMAND;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_CTRLA_R2R_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_R2R;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_CTRLA_R2R_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp = (tmp & ADC_CTRLA_R2R) >> ADC_CTRLA_R2R_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_CTRLA_R2R_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp &= ~ADC_CTRLA_R2R;
+ tmp |= value << ADC_CTRLA_R2R_Pos;
+ ((Adc *)hw)->CTRLA.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CTRLA_R2R_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg &= ~ADC_CTRLA_R2R;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CTRLA_R2R_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg ^= ADC_CTRLA_R2R;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_CTRLA_DUALSEL_bf(const void *const hw, hri_adc_ctrla_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_DUALSEL(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_ctrla_reg_t hri_adc_get_CTRLA_DUALSEL_bf(const void *const hw, hri_adc_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp = (tmp & ADC_CTRLA_DUALSEL(mask)) >> ADC_CTRLA_DUALSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_CTRLA_DUALSEL_bf(const void *const hw, hri_adc_ctrla_reg_t data)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp &= ~ADC_CTRLA_DUALSEL_Msk;
+ tmp |= ADC_CTRLA_DUALSEL(data);
+ ((Adc *)hw)->CTRLA.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CTRLA_DUALSEL_bf(const void *const hw, hri_adc_ctrla_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg &= ~ADC_CTRLA_DUALSEL(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CTRLA_DUALSEL_bf(const void *const hw, hri_adc_ctrla_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg ^= ADC_CTRLA_DUALSEL(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_ctrla_reg_t hri_adc_read_CTRLA_DUALSEL_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp = (tmp & ADC_CTRLA_DUALSEL_Msk) >> ADC_CTRLA_DUALSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_CTRLA_PRESCALER_bf(const void *const hw, hri_adc_ctrla_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg |= ADC_CTRLA_PRESCALER(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_ctrla_reg_t hri_adc_get_CTRLA_PRESCALER_bf(const void *const hw, hri_adc_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp = (tmp & ADC_CTRLA_PRESCALER(mask)) >> ADC_CTRLA_PRESCALER_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_CTRLA_PRESCALER_bf(const void *const hw, hri_adc_ctrla_reg_t data)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp &= ~ADC_CTRLA_PRESCALER_Msk;
+ tmp |= ADC_CTRLA_PRESCALER(data);
+ ((Adc *)hw)->CTRLA.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CTRLA_PRESCALER_bf(const void *const hw, hri_adc_ctrla_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg &= ~ADC_CTRLA_PRESCALER(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CTRLA_PRESCALER_bf(const void *const hw, hri_adc_ctrla_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg ^= ADC_CTRLA_PRESCALER(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_ctrla_reg_t hri_adc_read_CTRLA_PRESCALER_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp = (tmp & ADC_CTRLA_PRESCALER_Msk) >> ADC_CTRLA_PRESCALER_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_CTRLA_reg(const void *const hw, hri_adc_ctrla_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg |= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_ctrla_reg_t hri_adc_get_CTRLA_reg(const void *const hw, hri_adc_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE);
+ tmp = ((Adc *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_adc_write_CTRLA_reg(const void *const hw, hri_adc_ctrla_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg = data;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CTRLA_reg(const void *const hw, hri_adc_ctrla_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg &= ~mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CTRLA_reg(const void *const hw, hri_adc_ctrla_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLA.reg ^= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_ctrla_reg_t hri_adc_read_CTRLA_reg(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST | ADC_SYNCBUSY_ENABLE);
+ return ((Adc *)hw)->CTRLA.reg;
+}
+
+static inline void hri_adc_set_EVCTRL_FLUSHEI_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg |= ADC_EVCTRL_FLUSHEI;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_EVCTRL_FLUSHEI_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->EVCTRL.reg;
+ tmp = (tmp & ADC_EVCTRL_FLUSHEI) >> ADC_EVCTRL_FLUSHEI_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_EVCTRL_FLUSHEI_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->EVCTRL.reg;
+ tmp &= ~ADC_EVCTRL_FLUSHEI;
+ tmp |= value << ADC_EVCTRL_FLUSHEI_Pos;
+ ((Adc *)hw)->EVCTRL.reg = tmp;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_EVCTRL_FLUSHEI_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg &= ~ADC_EVCTRL_FLUSHEI;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_EVCTRL_FLUSHEI_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg ^= ADC_EVCTRL_FLUSHEI;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_EVCTRL_STARTEI_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg |= ADC_EVCTRL_STARTEI;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_EVCTRL_STARTEI_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->EVCTRL.reg;
+ tmp = (tmp & ADC_EVCTRL_STARTEI) >> ADC_EVCTRL_STARTEI_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_EVCTRL_STARTEI_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->EVCTRL.reg;
+ tmp &= ~ADC_EVCTRL_STARTEI;
+ tmp |= value << ADC_EVCTRL_STARTEI_Pos;
+ ((Adc *)hw)->EVCTRL.reg = tmp;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_EVCTRL_STARTEI_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg &= ~ADC_EVCTRL_STARTEI;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_EVCTRL_STARTEI_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg ^= ADC_EVCTRL_STARTEI;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_EVCTRL_FLUSHINV_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg |= ADC_EVCTRL_FLUSHINV;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_EVCTRL_FLUSHINV_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->EVCTRL.reg;
+ tmp = (tmp & ADC_EVCTRL_FLUSHINV) >> ADC_EVCTRL_FLUSHINV_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_EVCTRL_FLUSHINV_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->EVCTRL.reg;
+ tmp &= ~ADC_EVCTRL_FLUSHINV;
+ tmp |= value << ADC_EVCTRL_FLUSHINV_Pos;
+ ((Adc *)hw)->EVCTRL.reg = tmp;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_EVCTRL_FLUSHINV_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg &= ~ADC_EVCTRL_FLUSHINV;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_EVCTRL_FLUSHINV_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg ^= ADC_EVCTRL_FLUSHINV;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_EVCTRL_STARTINV_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg |= ADC_EVCTRL_STARTINV;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_EVCTRL_STARTINV_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->EVCTRL.reg;
+ tmp = (tmp & ADC_EVCTRL_STARTINV) >> ADC_EVCTRL_STARTINV_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_EVCTRL_STARTINV_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->EVCTRL.reg;
+ tmp &= ~ADC_EVCTRL_STARTINV;
+ tmp |= value << ADC_EVCTRL_STARTINV_Pos;
+ ((Adc *)hw)->EVCTRL.reg = tmp;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_EVCTRL_STARTINV_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg &= ~ADC_EVCTRL_STARTINV;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_EVCTRL_STARTINV_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg ^= ADC_EVCTRL_STARTINV;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_EVCTRL_RESRDYEO_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg |= ADC_EVCTRL_RESRDYEO;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_EVCTRL_RESRDYEO_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->EVCTRL.reg;
+ tmp = (tmp & ADC_EVCTRL_RESRDYEO) >> ADC_EVCTRL_RESRDYEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_EVCTRL_RESRDYEO_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->EVCTRL.reg;
+ tmp &= ~ADC_EVCTRL_RESRDYEO;
+ tmp |= value << ADC_EVCTRL_RESRDYEO_Pos;
+ ((Adc *)hw)->EVCTRL.reg = tmp;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_EVCTRL_RESRDYEO_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg &= ~ADC_EVCTRL_RESRDYEO;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_EVCTRL_RESRDYEO_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg ^= ADC_EVCTRL_RESRDYEO;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_EVCTRL_WINMONEO_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg |= ADC_EVCTRL_WINMONEO;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_EVCTRL_WINMONEO_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->EVCTRL.reg;
+ tmp = (tmp & ADC_EVCTRL_WINMONEO) >> ADC_EVCTRL_WINMONEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_EVCTRL_WINMONEO_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->EVCTRL.reg;
+ tmp &= ~ADC_EVCTRL_WINMONEO;
+ tmp |= value << ADC_EVCTRL_WINMONEO_Pos;
+ ((Adc *)hw)->EVCTRL.reg = tmp;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_EVCTRL_WINMONEO_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg &= ~ADC_EVCTRL_WINMONEO;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_EVCTRL_WINMONEO_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg ^= ADC_EVCTRL_WINMONEO;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_EVCTRL_reg(const void *const hw, hri_adc_evctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg |= mask;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_evctrl_reg_t hri_adc_get_EVCTRL_reg(const void *const hw, hri_adc_evctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_adc_write_EVCTRL_reg(const void *const hw, hri_adc_evctrl_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg = data;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_EVCTRL_reg(const void *const hw, hri_adc_evctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg &= ~mask;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_EVCTRL_reg(const void *const hw, hri_adc_evctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->EVCTRL.reg ^= mask;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_evctrl_reg_t hri_adc_read_EVCTRL_reg(const void *const hw)
+{
+ return ((Adc *)hw)->EVCTRL.reg;
+}
+
+static inline void hri_adc_set_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DBGCTRL.reg |= ADC_DBGCTRL_DBGRUN;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->DBGCTRL.reg;
+ tmp = (tmp & ADC_DBGCTRL_DBGRUN) >> ADC_DBGCTRL_DBGRUN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->DBGCTRL.reg;
+ tmp &= ~ADC_DBGCTRL_DBGRUN;
+ tmp |= value << ADC_DBGCTRL_DBGRUN_Pos;
+ ((Adc *)hw)->DBGCTRL.reg = tmp;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DBGCTRL.reg &= ~ADC_DBGCTRL_DBGRUN;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DBGCTRL.reg ^= ADC_DBGCTRL_DBGRUN;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_DBGCTRL_reg(const void *const hw, hri_adc_dbgctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DBGCTRL.reg |= mask;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_dbgctrl_reg_t hri_adc_get_DBGCTRL_reg(const void *const hw, hri_adc_dbgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->DBGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_adc_write_DBGCTRL_reg(const void *const hw, hri_adc_dbgctrl_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DBGCTRL.reg = data;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_DBGCTRL_reg(const void *const hw, hri_adc_dbgctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DBGCTRL.reg &= ~mask;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_DBGCTRL_reg(const void *const hw, hri_adc_dbgctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DBGCTRL.reg ^= mask;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_dbgctrl_reg_t hri_adc_read_DBGCTRL_reg(const void *const hw)
+{
+ return ((Adc *)hw)->DBGCTRL.reg;
+}
+
+static inline void hri_adc_set_INPUTCTRL_DIFFMODE_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg |= ADC_INPUTCTRL_DIFFMODE;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_INPUTCTRL_DIFFMODE_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->INPUTCTRL.reg;
+ tmp = (tmp & ADC_INPUTCTRL_DIFFMODE) >> ADC_INPUTCTRL_DIFFMODE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_INPUTCTRL_DIFFMODE_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->INPUTCTRL.reg;
+ tmp &= ~ADC_INPUTCTRL_DIFFMODE;
+ tmp |= value << ADC_INPUTCTRL_DIFFMODE_Pos;
+ ((Adc *)hw)->INPUTCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_INPUTCTRL_DIFFMODE_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg &= ~ADC_INPUTCTRL_DIFFMODE;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_INPUTCTRL_DIFFMODE_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg ^= ADC_INPUTCTRL_DIFFMODE;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_INPUTCTRL_DSEQSTOP_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg |= ADC_INPUTCTRL_DSEQSTOP;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_INPUTCTRL_DSEQSTOP_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->INPUTCTRL.reg;
+ tmp = (tmp & ADC_INPUTCTRL_DSEQSTOP) >> ADC_INPUTCTRL_DSEQSTOP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_INPUTCTRL_DSEQSTOP_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->INPUTCTRL.reg;
+ tmp &= ~ADC_INPUTCTRL_DSEQSTOP;
+ tmp |= value << ADC_INPUTCTRL_DSEQSTOP_Pos;
+ ((Adc *)hw)->INPUTCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_INPUTCTRL_DSEQSTOP_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg &= ~ADC_INPUTCTRL_DSEQSTOP;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_INPUTCTRL_DSEQSTOP_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg ^= ADC_INPUTCTRL_DSEQSTOP;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_INPUTCTRL_MUXPOS_bf(const void *const hw, hri_adc_inputctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg |= ADC_INPUTCTRL_MUXPOS(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_inputctrl_reg_t hri_adc_get_INPUTCTRL_MUXPOS_bf(const void *const hw,
+ hri_adc_inputctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->INPUTCTRL.reg;
+ tmp = (tmp & ADC_INPUTCTRL_MUXPOS(mask)) >> ADC_INPUTCTRL_MUXPOS_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_INPUTCTRL_MUXPOS_bf(const void *const hw, hri_adc_inputctrl_reg_t data)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->INPUTCTRL.reg;
+ tmp &= ~ADC_INPUTCTRL_MUXPOS_Msk;
+ tmp |= ADC_INPUTCTRL_MUXPOS(data);
+ ((Adc *)hw)->INPUTCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_INPUTCTRL_MUXPOS_bf(const void *const hw, hri_adc_inputctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg &= ~ADC_INPUTCTRL_MUXPOS(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_INPUTCTRL_MUXPOS_bf(const void *const hw, hri_adc_inputctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg ^= ADC_INPUTCTRL_MUXPOS(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_inputctrl_reg_t hri_adc_read_INPUTCTRL_MUXPOS_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->INPUTCTRL.reg;
+ tmp = (tmp & ADC_INPUTCTRL_MUXPOS_Msk) >> ADC_INPUTCTRL_MUXPOS_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_INPUTCTRL_MUXNEG_bf(const void *const hw, hri_adc_inputctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg |= ADC_INPUTCTRL_MUXNEG(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_inputctrl_reg_t hri_adc_get_INPUTCTRL_MUXNEG_bf(const void *const hw,
+ hri_adc_inputctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->INPUTCTRL.reg;
+ tmp = (tmp & ADC_INPUTCTRL_MUXNEG(mask)) >> ADC_INPUTCTRL_MUXNEG_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_INPUTCTRL_MUXNEG_bf(const void *const hw, hri_adc_inputctrl_reg_t data)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->INPUTCTRL.reg;
+ tmp &= ~ADC_INPUTCTRL_MUXNEG_Msk;
+ tmp |= ADC_INPUTCTRL_MUXNEG(data);
+ ((Adc *)hw)->INPUTCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_INPUTCTRL_MUXNEG_bf(const void *const hw, hri_adc_inputctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg &= ~ADC_INPUTCTRL_MUXNEG(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_INPUTCTRL_MUXNEG_bf(const void *const hw, hri_adc_inputctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg ^= ADC_INPUTCTRL_MUXNEG(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_inputctrl_reg_t hri_adc_read_INPUTCTRL_MUXNEG_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->INPUTCTRL.reg;
+ tmp = (tmp & ADC_INPUTCTRL_MUXNEG_Msk) >> ADC_INPUTCTRL_MUXNEG_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_INPUTCTRL_reg(const void *const hw, hri_adc_inputctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg |= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_inputctrl_reg_t hri_adc_get_INPUTCTRL_reg(const void *const hw, hri_adc_inputctrl_reg_t mask)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ tmp = ((Adc *)hw)->INPUTCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_adc_write_INPUTCTRL_reg(const void *const hw, hri_adc_inputctrl_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg = data;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_INPUTCTRL_reg(const void *const hw, hri_adc_inputctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg &= ~mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_INPUTCTRL_reg(const void *const hw, hri_adc_inputctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->INPUTCTRL.reg ^= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_inputctrl_reg_t hri_adc_read_INPUTCTRL_reg(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ return ((Adc *)hw)->INPUTCTRL.reg;
+}
+
+static inline void hri_adc_set_CTRLB_LEFTADJ_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg |= ADC_CTRLB_LEFTADJ;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_CTRLB_LEFTADJ_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLB.reg;
+ tmp = (tmp & ADC_CTRLB_LEFTADJ) >> ADC_CTRLB_LEFTADJ_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_CTRLB_LEFTADJ_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CTRLB.reg;
+ tmp &= ~ADC_CTRLB_LEFTADJ;
+ tmp |= value << ADC_CTRLB_LEFTADJ_Pos;
+ ((Adc *)hw)->CTRLB.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CTRLB_LEFTADJ_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg &= ~ADC_CTRLB_LEFTADJ;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CTRLB_LEFTADJ_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg ^= ADC_CTRLB_LEFTADJ;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_CTRLB_FREERUN_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg |= ADC_CTRLB_FREERUN;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_CTRLB_FREERUN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLB.reg;
+ tmp = (tmp & ADC_CTRLB_FREERUN) >> ADC_CTRLB_FREERUN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_CTRLB_FREERUN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CTRLB.reg;
+ tmp &= ~ADC_CTRLB_FREERUN;
+ tmp |= value << ADC_CTRLB_FREERUN_Pos;
+ ((Adc *)hw)->CTRLB.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CTRLB_FREERUN_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg &= ~ADC_CTRLB_FREERUN;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CTRLB_FREERUN_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg ^= ADC_CTRLB_FREERUN;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_CTRLB_CORREN_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg |= ADC_CTRLB_CORREN;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_CTRLB_CORREN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLB.reg;
+ tmp = (tmp & ADC_CTRLB_CORREN) >> ADC_CTRLB_CORREN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_CTRLB_CORREN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CTRLB.reg;
+ tmp &= ~ADC_CTRLB_CORREN;
+ tmp |= value << ADC_CTRLB_CORREN_Pos;
+ ((Adc *)hw)->CTRLB.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CTRLB_CORREN_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg &= ~ADC_CTRLB_CORREN;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CTRLB_CORREN_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg ^= ADC_CTRLB_CORREN;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_CTRLB_WINSS_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg |= ADC_CTRLB_WINSS;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_CTRLB_WINSS_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLB.reg;
+ tmp = (tmp & ADC_CTRLB_WINSS) >> ADC_CTRLB_WINSS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_CTRLB_WINSS_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CTRLB.reg;
+ tmp &= ~ADC_CTRLB_WINSS;
+ tmp |= value << ADC_CTRLB_WINSS_Pos;
+ ((Adc *)hw)->CTRLB.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CTRLB_WINSS_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg &= ~ADC_CTRLB_WINSS;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CTRLB_WINSS_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg ^= ADC_CTRLB_WINSS;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_CTRLB_RESSEL_bf(const void *const hw, hri_adc_ctrlb_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg |= ADC_CTRLB_RESSEL(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_ctrlb_reg_t hri_adc_get_CTRLB_RESSEL_bf(const void *const hw, hri_adc_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLB.reg;
+ tmp = (tmp & ADC_CTRLB_RESSEL(mask)) >> ADC_CTRLB_RESSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_CTRLB_RESSEL_bf(const void *const hw, hri_adc_ctrlb_reg_t data)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CTRLB.reg;
+ tmp &= ~ADC_CTRLB_RESSEL_Msk;
+ tmp |= ADC_CTRLB_RESSEL(data);
+ ((Adc *)hw)->CTRLB.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CTRLB_RESSEL_bf(const void *const hw, hri_adc_ctrlb_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg &= ~ADC_CTRLB_RESSEL(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CTRLB_RESSEL_bf(const void *const hw, hri_adc_ctrlb_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg ^= ADC_CTRLB_RESSEL(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_ctrlb_reg_t hri_adc_read_CTRLB_RESSEL_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLB.reg;
+ tmp = (tmp & ADC_CTRLB_RESSEL_Msk) >> ADC_CTRLB_RESSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_CTRLB_WINMODE_bf(const void *const hw, hri_adc_ctrlb_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg |= ADC_CTRLB_WINMODE(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_ctrlb_reg_t hri_adc_get_CTRLB_WINMODE_bf(const void *const hw, hri_adc_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLB.reg;
+ tmp = (tmp & ADC_CTRLB_WINMODE(mask)) >> ADC_CTRLB_WINMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_CTRLB_WINMODE_bf(const void *const hw, hri_adc_ctrlb_reg_t data)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CTRLB.reg;
+ tmp &= ~ADC_CTRLB_WINMODE_Msk;
+ tmp |= ADC_CTRLB_WINMODE(data);
+ ((Adc *)hw)->CTRLB.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CTRLB_WINMODE_bf(const void *const hw, hri_adc_ctrlb_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg &= ~ADC_CTRLB_WINMODE(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CTRLB_WINMODE_bf(const void *const hw, hri_adc_ctrlb_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg ^= ADC_CTRLB_WINMODE(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_ctrlb_reg_t hri_adc_read_CTRLB_WINMODE_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CTRLB.reg;
+ tmp = (tmp & ADC_CTRLB_WINMODE_Msk) >> ADC_CTRLB_WINMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_CTRLB_reg(const void *const hw, hri_adc_ctrlb_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg |= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_ctrlb_reg_t hri_adc_get_CTRLB_reg(const void *const hw, hri_adc_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ tmp = ((Adc *)hw)->CTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_adc_write_CTRLB_reg(const void *const hw, hri_adc_ctrlb_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg = data;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CTRLB_reg(const void *const hw, hri_adc_ctrlb_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg &= ~mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CTRLB_reg(const void *const hw, hri_adc_ctrlb_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CTRLB.reg ^= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_ctrlb_reg_t hri_adc_read_CTRLB_reg(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ return ((Adc *)hw)->CTRLB.reg;
+}
+
+static inline void hri_adc_set_REFCTRL_REFCOMP_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->REFCTRL.reg |= ADC_REFCTRL_REFCOMP;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_REFCTRL_REFCOMP_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->REFCTRL.reg;
+ tmp = (tmp & ADC_REFCTRL_REFCOMP) >> ADC_REFCTRL_REFCOMP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_REFCTRL_REFCOMP_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->REFCTRL.reg;
+ tmp &= ~ADC_REFCTRL_REFCOMP;
+ tmp |= value << ADC_REFCTRL_REFCOMP_Pos;
+ ((Adc *)hw)->REFCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_REFCTRL_REFCOMP_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->REFCTRL.reg &= ~ADC_REFCTRL_REFCOMP;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_REFCTRL_REFCOMP_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->REFCTRL.reg ^= ADC_REFCTRL_REFCOMP;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_REFCTRL_REFSEL_bf(const void *const hw, hri_adc_refctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->REFCTRL.reg |= ADC_REFCTRL_REFSEL(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_refctrl_reg_t hri_adc_get_REFCTRL_REFSEL_bf(const void *const hw, hri_adc_refctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->REFCTRL.reg;
+ tmp = (tmp & ADC_REFCTRL_REFSEL(mask)) >> ADC_REFCTRL_REFSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_REFCTRL_REFSEL_bf(const void *const hw, hri_adc_refctrl_reg_t data)
+{
+ uint8_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->REFCTRL.reg;
+ tmp &= ~ADC_REFCTRL_REFSEL_Msk;
+ tmp |= ADC_REFCTRL_REFSEL(data);
+ ((Adc *)hw)->REFCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_REFCTRL_REFSEL_bf(const void *const hw, hri_adc_refctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->REFCTRL.reg &= ~ADC_REFCTRL_REFSEL(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_REFCTRL_REFSEL_bf(const void *const hw, hri_adc_refctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->REFCTRL.reg ^= ADC_REFCTRL_REFSEL(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_refctrl_reg_t hri_adc_read_REFCTRL_REFSEL_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->REFCTRL.reg;
+ tmp = (tmp & ADC_REFCTRL_REFSEL_Msk) >> ADC_REFCTRL_REFSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_REFCTRL_reg(const void *const hw, hri_adc_refctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->REFCTRL.reg |= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_refctrl_reg_t hri_adc_get_REFCTRL_reg(const void *const hw, hri_adc_refctrl_reg_t mask)
+{
+ uint8_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ tmp = ((Adc *)hw)->REFCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_adc_write_REFCTRL_reg(const void *const hw, hri_adc_refctrl_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->REFCTRL.reg = data;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_REFCTRL_reg(const void *const hw, hri_adc_refctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->REFCTRL.reg &= ~mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_REFCTRL_reg(const void *const hw, hri_adc_refctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->REFCTRL.reg ^= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_refctrl_reg_t hri_adc_read_REFCTRL_reg(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ return ((Adc *)hw)->REFCTRL.reg;
+}
+
+static inline void hri_adc_set_AVGCTRL_SAMPLENUM_bf(const void *const hw, hri_adc_avgctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->AVGCTRL.reg |= ADC_AVGCTRL_SAMPLENUM(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_avgctrl_reg_t hri_adc_get_AVGCTRL_SAMPLENUM_bf(const void *const hw, hri_adc_avgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->AVGCTRL.reg;
+ tmp = (tmp & ADC_AVGCTRL_SAMPLENUM(mask)) >> ADC_AVGCTRL_SAMPLENUM_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_AVGCTRL_SAMPLENUM_bf(const void *const hw, hri_adc_avgctrl_reg_t data)
+{
+ uint8_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->AVGCTRL.reg;
+ tmp &= ~ADC_AVGCTRL_SAMPLENUM_Msk;
+ tmp |= ADC_AVGCTRL_SAMPLENUM(data);
+ ((Adc *)hw)->AVGCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_AVGCTRL_SAMPLENUM_bf(const void *const hw, hri_adc_avgctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->AVGCTRL.reg &= ~ADC_AVGCTRL_SAMPLENUM(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_AVGCTRL_SAMPLENUM_bf(const void *const hw, hri_adc_avgctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->AVGCTRL.reg ^= ADC_AVGCTRL_SAMPLENUM(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_avgctrl_reg_t hri_adc_read_AVGCTRL_SAMPLENUM_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->AVGCTRL.reg;
+ tmp = (tmp & ADC_AVGCTRL_SAMPLENUM_Msk) >> ADC_AVGCTRL_SAMPLENUM_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_AVGCTRL_ADJRES_bf(const void *const hw, hri_adc_avgctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->AVGCTRL.reg |= ADC_AVGCTRL_ADJRES(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_avgctrl_reg_t hri_adc_get_AVGCTRL_ADJRES_bf(const void *const hw, hri_adc_avgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->AVGCTRL.reg;
+ tmp = (tmp & ADC_AVGCTRL_ADJRES(mask)) >> ADC_AVGCTRL_ADJRES_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_AVGCTRL_ADJRES_bf(const void *const hw, hri_adc_avgctrl_reg_t data)
+{
+ uint8_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->AVGCTRL.reg;
+ tmp &= ~ADC_AVGCTRL_ADJRES_Msk;
+ tmp |= ADC_AVGCTRL_ADJRES(data);
+ ((Adc *)hw)->AVGCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_AVGCTRL_ADJRES_bf(const void *const hw, hri_adc_avgctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->AVGCTRL.reg &= ~ADC_AVGCTRL_ADJRES(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_AVGCTRL_ADJRES_bf(const void *const hw, hri_adc_avgctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->AVGCTRL.reg ^= ADC_AVGCTRL_ADJRES(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_avgctrl_reg_t hri_adc_read_AVGCTRL_ADJRES_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->AVGCTRL.reg;
+ tmp = (tmp & ADC_AVGCTRL_ADJRES_Msk) >> ADC_AVGCTRL_ADJRES_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_AVGCTRL_reg(const void *const hw, hri_adc_avgctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->AVGCTRL.reg |= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_avgctrl_reg_t hri_adc_get_AVGCTRL_reg(const void *const hw, hri_adc_avgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ tmp = ((Adc *)hw)->AVGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_adc_write_AVGCTRL_reg(const void *const hw, hri_adc_avgctrl_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->AVGCTRL.reg = data;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_AVGCTRL_reg(const void *const hw, hri_adc_avgctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->AVGCTRL.reg &= ~mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_AVGCTRL_reg(const void *const hw, hri_adc_avgctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->AVGCTRL.reg ^= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_avgctrl_reg_t hri_adc_read_AVGCTRL_reg(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ return ((Adc *)hw)->AVGCTRL.reg;
+}
+
+static inline void hri_adc_set_SAMPCTRL_OFFCOMP_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SAMPCTRL.reg |= ADC_SAMPCTRL_OFFCOMP;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_SAMPCTRL_OFFCOMP_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->SAMPCTRL.reg;
+ tmp = (tmp & ADC_SAMPCTRL_OFFCOMP) >> ADC_SAMPCTRL_OFFCOMP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_SAMPCTRL_OFFCOMP_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->SAMPCTRL.reg;
+ tmp &= ~ADC_SAMPCTRL_OFFCOMP;
+ tmp |= value << ADC_SAMPCTRL_OFFCOMP_Pos;
+ ((Adc *)hw)->SAMPCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_SAMPCTRL_OFFCOMP_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SAMPCTRL.reg &= ~ADC_SAMPCTRL_OFFCOMP;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_SAMPCTRL_OFFCOMP_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SAMPCTRL.reg ^= ADC_SAMPCTRL_OFFCOMP;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_SAMPCTRL_SAMPLEN_bf(const void *const hw, hri_adc_sampctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SAMPCTRL.reg |= ADC_SAMPCTRL_SAMPLEN(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_sampctrl_reg_t hri_adc_get_SAMPCTRL_SAMPLEN_bf(const void *const hw, hri_adc_sampctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->SAMPCTRL.reg;
+ tmp = (tmp & ADC_SAMPCTRL_SAMPLEN(mask)) >> ADC_SAMPCTRL_SAMPLEN_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_SAMPCTRL_SAMPLEN_bf(const void *const hw, hri_adc_sampctrl_reg_t data)
+{
+ uint8_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->SAMPCTRL.reg;
+ tmp &= ~ADC_SAMPCTRL_SAMPLEN_Msk;
+ tmp |= ADC_SAMPCTRL_SAMPLEN(data);
+ ((Adc *)hw)->SAMPCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_SAMPCTRL_SAMPLEN_bf(const void *const hw, hri_adc_sampctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SAMPCTRL.reg &= ~ADC_SAMPCTRL_SAMPLEN(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_SAMPCTRL_SAMPLEN_bf(const void *const hw, hri_adc_sampctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SAMPCTRL.reg ^= ADC_SAMPCTRL_SAMPLEN(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_sampctrl_reg_t hri_adc_read_SAMPCTRL_SAMPLEN_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->SAMPCTRL.reg;
+ tmp = (tmp & ADC_SAMPCTRL_SAMPLEN_Msk) >> ADC_SAMPCTRL_SAMPLEN_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_SAMPCTRL_reg(const void *const hw, hri_adc_sampctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SAMPCTRL.reg |= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_sampctrl_reg_t hri_adc_get_SAMPCTRL_reg(const void *const hw, hri_adc_sampctrl_reg_t mask)
+{
+ uint8_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ tmp = ((Adc *)hw)->SAMPCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_adc_write_SAMPCTRL_reg(const void *const hw, hri_adc_sampctrl_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SAMPCTRL.reg = data;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_SAMPCTRL_reg(const void *const hw, hri_adc_sampctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SAMPCTRL.reg &= ~mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_SAMPCTRL_reg(const void *const hw, hri_adc_sampctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SAMPCTRL.reg ^= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_sampctrl_reg_t hri_adc_read_SAMPCTRL_reg(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ return ((Adc *)hw)->SAMPCTRL.reg;
+}
+
+static inline void hri_adc_set_WINLT_WINLT_bf(const void *const hw, hri_adc_winlt_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->WINLT.reg |= ADC_WINLT_WINLT(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_winlt_reg_t hri_adc_get_WINLT_WINLT_bf(const void *const hw, hri_adc_winlt_reg_t mask)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT);
+ tmp = ((Adc *)hw)->WINLT.reg;
+ tmp = (tmp & ADC_WINLT_WINLT(mask)) >> ADC_WINLT_WINLT_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_WINLT_WINLT_bf(const void *const hw, hri_adc_winlt_reg_t data)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->WINLT.reg;
+ tmp &= ~ADC_WINLT_WINLT_Msk;
+ tmp |= ADC_WINLT_WINLT(data);
+ ((Adc *)hw)->WINLT.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_WINLT_WINLT_bf(const void *const hw, hri_adc_winlt_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->WINLT.reg &= ~ADC_WINLT_WINLT(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_WINLT_WINLT_bf(const void *const hw, hri_adc_winlt_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->WINLT.reg ^= ADC_WINLT_WINLT(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_winlt_reg_t hri_adc_read_WINLT_WINLT_bf(const void *const hw)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT);
+ tmp = ((Adc *)hw)->WINLT.reg;
+ tmp = (tmp & ADC_WINLT_WINLT_Msk) >> ADC_WINLT_WINLT_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_WINLT_reg(const void *const hw, hri_adc_winlt_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->WINLT.reg |= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_winlt_reg_t hri_adc_get_WINLT_reg(const void *const hw, hri_adc_winlt_reg_t mask)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT);
+ tmp = ((Adc *)hw)->WINLT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_adc_write_WINLT_reg(const void *const hw, hri_adc_winlt_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->WINLT.reg = data;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_WINLT_reg(const void *const hw, hri_adc_winlt_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->WINLT.reg &= ~mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_WINLT_reg(const void *const hw, hri_adc_winlt_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->WINLT.reg ^= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_winlt_reg_t hri_adc_read_WINLT_reg(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINLT);
+ return ((Adc *)hw)->WINLT.reg;
+}
+
+static inline void hri_adc_set_WINUT_WINUT_bf(const void *const hw, hri_adc_winut_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->WINUT.reg |= ADC_WINUT_WINUT(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_winut_reg_t hri_adc_get_WINUT_WINUT_bf(const void *const hw, hri_adc_winut_reg_t mask)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT);
+ tmp = ((Adc *)hw)->WINUT.reg;
+ tmp = (tmp & ADC_WINUT_WINUT(mask)) >> ADC_WINUT_WINUT_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_WINUT_WINUT_bf(const void *const hw, hri_adc_winut_reg_t data)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->WINUT.reg;
+ tmp &= ~ADC_WINUT_WINUT_Msk;
+ tmp |= ADC_WINUT_WINUT(data);
+ ((Adc *)hw)->WINUT.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_WINUT_WINUT_bf(const void *const hw, hri_adc_winut_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->WINUT.reg &= ~ADC_WINUT_WINUT(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_WINUT_WINUT_bf(const void *const hw, hri_adc_winut_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->WINUT.reg ^= ADC_WINUT_WINUT(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_winut_reg_t hri_adc_read_WINUT_WINUT_bf(const void *const hw)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT);
+ tmp = ((Adc *)hw)->WINUT.reg;
+ tmp = (tmp & ADC_WINUT_WINUT_Msk) >> ADC_WINUT_WINUT_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_WINUT_reg(const void *const hw, hri_adc_winut_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->WINUT.reg |= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_winut_reg_t hri_adc_get_WINUT_reg(const void *const hw, hri_adc_winut_reg_t mask)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT);
+ tmp = ((Adc *)hw)->WINUT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_adc_write_WINUT_reg(const void *const hw, hri_adc_winut_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->WINUT.reg = data;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_WINUT_reg(const void *const hw, hri_adc_winut_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->WINUT.reg &= ~mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_WINUT_reg(const void *const hw, hri_adc_winut_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->WINUT.reg ^= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_winut_reg_t hri_adc_read_WINUT_reg(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_WINUT);
+ return ((Adc *)hw)->WINUT.reg;
+}
+
+static inline void hri_adc_set_GAINCORR_GAINCORR_bf(const void *const hw, hri_adc_gaincorr_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->GAINCORR.reg |= ADC_GAINCORR_GAINCORR(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_gaincorr_reg_t hri_adc_get_GAINCORR_GAINCORR_bf(const void *const hw, hri_adc_gaincorr_reg_t mask)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR);
+ tmp = ((Adc *)hw)->GAINCORR.reg;
+ tmp = (tmp & ADC_GAINCORR_GAINCORR(mask)) >> ADC_GAINCORR_GAINCORR_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_GAINCORR_GAINCORR_bf(const void *const hw, hri_adc_gaincorr_reg_t data)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->GAINCORR.reg;
+ tmp &= ~ADC_GAINCORR_GAINCORR_Msk;
+ tmp |= ADC_GAINCORR_GAINCORR(data);
+ ((Adc *)hw)->GAINCORR.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_GAINCORR_GAINCORR_bf(const void *const hw, hri_adc_gaincorr_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->GAINCORR.reg &= ~ADC_GAINCORR_GAINCORR(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_GAINCORR_GAINCORR_bf(const void *const hw, hri_adc_gaincorr_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->GAINCORR.reg ^= ADC_GAINCORR_GAINCORR(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_gaincorr_reg_t hri_adc_read_GAINCORR_GAINCORR_bf(const void *const hw)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR);
+ tmp = ((Adc *)hw)->GAINCORR.reg;
+ tmp = (tmp & ADC_GAINCORR_GAINCORR_Msk) >> ADC_GAINCORR_GAINCORR_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_GAINCORR_reg(const void *const hw, hri_adc_gaincorr_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->GAINCORR.reg |= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_gaincorr_reg_t hri_adc_get_GAINCORR_reg(const void *const hw, hri_adc_gaincorr_reg_t mask)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR);
+ tmp = ((Adc *)hw)->GAINCORR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_adc_write_GAINCORR_reg(const void *const hw, hri_adc_gaincorr_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->GAINCORR.reg = data;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_GAINCORR_reg(const void *const hw, hri_adc_gaincorr_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->GAINCORR.reg &= ~mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_GAINCORR_reg(const void *const hw, hri_adc_gaincorr_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->GAINCORR.reg ^= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_gaincorr_reg_t hri_adc_read_GAINCORR_reg(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_GAINCORR);
+ return ((Adc *)hw)->GAINCORR.reg;
+}
+
+static inline void hri_adc_set_OFFSETCORR_OFFSETCORR_bf(const void *const hw, hri_adc_offsetcorr_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->OFFSETCORR.reg |= ADC_OFFSETCORR_OFFSETCORR(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_offsetcorr_reg_t hri_adc_get_OFFSETCORR_OFFSETCORR_bf(const void *const hw,
+ hri_adc_offsetcorr_reg_t mask)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR);
+ tmp = ((Adc *)hw)->OFFSETCORR.reg;
+ tmp = (tmp & ADC_OFFSETCORR_OFFSETCORR(mask)) >> ADC_OFFSETCORR_OFFSETCORR_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_OFFSETCORR_OFFSETCORR_bf(const void *const hw, hri_adc_offsetcorr_reg_t data)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->OFFSETCORR.reg;
+ tmp &= ~ADC_OFFSETCORR_OFFSETCORR_Msk;
+ tmp |= ADC_OFFSETCORR_OFFSETCORR(data);
+ ((Adc *)hw)->OFFSETCORR.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_OFFSETCORR_OFFSETCORR_bf(const void *const hw, hri_adc_offsetcorr_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->OFFSETCORR.reg &= ~ADC_OFFSETCORR_OFFSETCORR(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_OFFSETCORR_OFFSETCORR_bf(const void *const hw, hri_adc_offsetcorr_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->OFFSETCORR.reg ^= ADC_OFFSETCORR_OFFSETCORR(mask);
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_offsetcorr_reg_t hri_adc_read_OFFSETCORR_OFFSETCORR_bf(const void *const hw)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR);
+ tmp = ((Adc *)hw)->OFFSETCORR.reg;
+ tmp = (tmp & ADC_OFFSETCORR_OFFSETCORR_Msk) >> ADC_OFFSETCORR_OFFSETCORR_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_OFFSETCORR_reg(const void *const hw, hri_adc_offsetcorr_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->OFFSETCORR.reg |= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_offsetcorr_reg_t hri_adc_get_OFFSETCORR_reg(const void *const hw, hri_adc_offsetcorr_reg_t mask)
+{
+ uint16_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR);
+ tmp = ((Adc *)hw)->OFFSETCORR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_adc_write_OFFSETCORR_reg(const void *const hw, hri_adc_offsetcorr_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->OFFSETCORR.reg = data;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_OFFSETCORR_reg(const void *const hw, hri_adc_offsetcorr_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->OFFSETCORR.reg &= ~mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_OFFSETCORR_reg(const void *const hw, hri_adc_offsetcorr_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->OFFSETCORR.reg ^= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_offsetcorr_reg_t hri_adc_read_OFFSETCORR_reg(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_OFFSETCORR);
+ return ((Adc *)hw)->OFFSETCORR.reg;
+}
+
+static inline void hri_adc_set_SWTRIG_FLUSH_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SWTRIG.reg |= ADC_SWTRIG_FLUSH;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_SWTRIG_FLUSH_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->SWTRIG.reg;
+ tmp = (tmp & ADC_SWTRIG_FLUSH) >> ADC_SWTRIG_FLUSH_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_SWTRIG_FLUSH_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->SWTRIG.reg;
+ tmp &= ~ADC_SWTRIG_FLUSH;
+ tmp |= value << ADC_SWTRIG_FLUSH_Pos;
+ ((Adc *)hw)->SWTRIG.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_SWTRIG_FLUSH_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SWTRIG.reg &= ~ADC_SWTRIG_FLUSH;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_SWTRIG_FLUSH_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SWTRIG.reg ^= ADC_SWTRIG_FLUSH;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_SWTRIG_START_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SWTRIG.reg |= ADC_SWTRIG_START;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_SWTRIG_START_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Adc *)hw)->SWTRIG.reg;
+ tmp = (tmp & ADC_SWTRIG_START) >> ADC_SWTRIG_START_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_SWTRIG_START_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->SWTRIG.reg;
+ tmp &= ~ADC_SWTRIG_START;
+ tmp |= value << ADC_SWTRIG_START_Pos;
+ ((Adc *)hw)->SWTRIG.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_SWTRIG_START_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SWTRIG.reg &= ~ADC_SWTRIG_START;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_SWTRIG_START_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SWTRIG.reg ^= ADC_SWTRIG_START;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_SWTRIG_reg(const void *const hw, hri_adc_swtrig_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SWTRIG.reg |= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_swtrig_reg_t hri_adc_get_SWTRIG_reg(const void *const hw, hri_adc_swtrig_reg_t mask)
+{
+ uint8_t tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ tmp = ((Adc *)hw)->SWTRIG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_adc_write_SWTRIG_reg(const void *const hw, hri_adc_swtrig_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SWTRIG.reg = data;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_SWTRIG_reg(const void *const hw, hri_adc_swtrig_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SWTRIG.reg &= ~mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_SWTRIG_reg(const void *const hw, hri_adc_swtrig_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->SWTRIG.reg ^= mask;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_swtrig_reg_t hri_adc_read_SWTRIG_reg(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ return ((Adc *)hw)->SWTRIG.reg;
+}
+
+static inline void hri_adc_set_DSEQCTRL_INPUTCTRL_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_INPUTCTRL;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_DSEQCTRL_INPUTCTRL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp = (tmp & ADC_DSEQCTRL_INPUTCTRL) >> ADC_DSEQCTRL_INPUTCTRL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_DSEQCTRL_INPUTCTRL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp &= ~ADC_DSEQCTRL_INPUTCTRL;
+ tmp |= value << ADC_DSEQCTRL_INPUTCTRL_Pos;
+ ((Adc *)hw)->DSEQCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_DSEQCTRL_INPUTCTRL_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_INPUTCTRL;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_DSEQCTRL_INPUTCTRL_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_INPUTCTRL;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_DSEQCTRL_CTRLB_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_CTRLB;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_DSEQCTRL_CTRLB_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp = (tmp & ADC_DSEQCTRL_CTRLB) >> ADC_DSEQCTRL_CTRLB_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_DSEQCTRL_CTRLB_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp &= ~ADC_DSEQCTRL_CTRLB;
+ tmp |= value << ADC_DSEQCTRL_CTRLB_Pos;
+ ((Adc *)hw)->DSEQCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_DSEQCTRL_CTRLB_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_CTRLB;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_DSEQCTRL_CTRLB_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_CTRLB;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_DSEQCTRL_REFCTRL_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_REFCTRL;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_DSEQCTRL_REFCTRL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp = (tmp & ADC_DSEQCTRL_REFCTRL) >> ADC_DSEQCTRL_REFCTRL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_DSEQCTRL_REFCTRL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp &= ~ADC_DSEQCTRL_REFCTRL;
+ tmp |= value << ADC_DSEQCTRL_REFCTRL_Pos;
+ ((Adc *)hw)->DSEQCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_DSEQCTRL_REFCTRL_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_REFCTRL;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_DSEQCTRL_REFCTRL_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_REFCTRL;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_DSEQCTRL_AVGCTRL_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_AVGCTRL;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_DSEQCTRL_AVGCTRL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp = (tmp & ADC_DSEQCTRL_AVGCTRL) >> ADC_DSEQCTRL_AVGCTRL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_DSEQCTRL_AVGCTRL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp &= ~ADC_DSEQCTRL_AVGCTRL;
+ tmp |= value << ADC_DSEQCTRL_AVGCTRL_Pos;
+ ((Adc *)hw)->DSEQCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_DSEQCTRL_AVGCTRL_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_AVGCTRL;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_DSEQCTRL_AVGCTRL_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_AVGCTRL;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_DSEQCTRL_SAMPCTRL_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_SAMPCTRL;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_DSEQCTRL_SAMPCTRL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp = (tmp & ADC_DSEQCTRL_SAMPCTRL) >> ADC_DSEQCTRL_SAMPCTRL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_DSEQCTRL_SAMPCTRL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp &= ~ADC_DSEQCTRL_SAMPCTRL;
+ tmp |= value << ADC_DSEQCTRL_SAMPCTRL_Pos;
+ ((Adc *)hw)->DSEQCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_DSEQCTRL_SAMPCTRL_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_SAMPCTRL;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_DSEQCTRL_SAMPCTRL_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_SAMPCTRL;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_DSEQCTRL_WINLT_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_WINLT;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_DSEQCTRL_WINLT_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp = (tmp & ADC_DSEQCTRL_WINLT) >> ADC_DSEQCTRL_WINLT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_DSEQCTRL_WINLT_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp &= ~ADC_DSEQCTRL_WINLT;
+ tmp |= value << ADC_DSEQCTRL_WINLT_Pos;
+ ((Adc *)hw)->DSEQCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_DSEQCTRL_WINLT_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_WINLT;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_DSEQCTRL_WINLT_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_WINLT;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_DSEQCTRL_WINUT_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_WINUT;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_DSEQCTRL_WINUT_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp = (tmp & ADC_DSEQCTRL_WINUT) >> ADC_DSEQCTRL_WINUT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_DSEQCTRL_WINUT_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp &= ~ADC_DSEQCTRL_WINUT;
+ tmp |= value << ADC_DSEQCTRL_WINUT_Pos;
+ ((Adc *)hw)->DSEQCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_DSEQCTRL_WINUT_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_WINUT;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_DSEQCTRL_WINUT_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_WINUT;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_DSEQCTRL_GAINCORR_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_GAINCORR;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_DSEQCTRL_GAINCORR_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp = (tmp & ADC_DSEQCTRL_GAINCORR) >> ADC_DSEQCTRL_GAINCORR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_DSEQCTRL_GAINCORR_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp &= ~ADC_DSEQCTRL_GAINCORR;
+ tmp |= value << ADC_DSEQCTRL_GAINCORR_Pos;
+ ((Adc *)hw)->DSEQCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_DSEQCTRL_GAINCORR_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_GAINCORR;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_DSEQCTRL_GAINCORR_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_GAINCORR;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_DSEQCTRL_OFFSETCORR_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_OFFSETCORR;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_DSEQCTRL_OFFSETCORR_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp = (tmp & ADC_DSEQCTRL_OFFSETCORR) >> ADC_DSEQCTRL_OFFSETCORR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_DSEQCTRL_OFFSETCORR_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp &= ~ADC_DSEQCTRL_OFFSETCORR;
+ tmp |= value << ADC_DSEQCTRL_OFFSETCORR_Pos;
+ ((Adc *)hw)->DSEQCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_DSEQCTRL_OFFSETCORR_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_OFFSETCORR;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_DSEQCTRL_OFFSETCORR_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_OFFSETCORR;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_DSEQCTRL_AUTOSTART_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg |= ADC_DSEQCTRL_AUTOSTART;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_adc_get_DSEQCTRL_AUTOSTART_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp = (tmp & ADC_DSEQCTRL_AUTOSTART) >> ADC_DSEQCTRL_AUTOSTART_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_adc_write_DSEQCTRL_AUTOSTART_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp &= ~ADC_DSEQCTRL_AUTOSTART;
+ tmp |= value << ADC_DSEQCTRL_AUTOSTART_Pos;
+ ((Adc *)hw)->DSEQCTRL.reg = tmp;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_DSEQCTRL_AUTOSTART_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg &= ~ADC_DSEQCTRL_AUTOSTART;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_DSEQCTRL_AUTOSTART_bit(const void *const hw)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg ^= ADC_DSEQCTRL_AUTOSTART;
+ hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_MASK);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_set_DSEQCTRL_reg(const void *const hw, hri_adc_dseqctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg |= mask;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_dseqctrl_reg_t hri_adc_get_DSEQCTRL_reg(const void *const hw, hri_adc_dseqctrl_reg_t mask)
+{
+ uint32_t tmp;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ tmp = ((Adc *)hw)->DSEQCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_adc_write_DSEQCTRL_reg(const void *const hw, hri_adc_dseqctrl_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg = data;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_DSEQCTRL_reg(const void *const hw, hri_adc_dseqctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg &= ~mask;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_DSEQCTRL_reg(const void *const hw, hri_adc_dseqctrl_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQCTRL.reg ^= mask;
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_dseqctrl_reg_t hri_adc_read_DSEQCTRL_reg(const void *const hw)
+{
+ hri_adc_wait_for_sync(hw,
+ ADC_SYNCBUSY_INPUTCTRL | ADC_SYNCBUSY_CTRLB | ADC_SYNCBUSY_REFCTRL | ADC_SYNCBUSY_AVGCTRL
+ | ADC_SYNCBUSY_SAMPCTRL | ADC_SYNCBUSY_WINLT | ADC_SYNCBUSY_WINUT | ADC_SYNCBUSY_GAINCORR
+ | ADC_SYNCBUSY_OFFSETCORR);
+ return ((Adc *)hw)->DSEQCTRL.reg;
+}
+
+static inline void hri_adc_set_CALIB_BIASCOMP_bf(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CALIB.reg |= ADC_CALIB_BIASCOMP(mask);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_calib_reg_t hri_adc_get_CALIB_BIASCOMP_bf(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CALIB.reg;
+ tmp = (tmp & ADC_CALIB_BIASCOMP(mask)) >> ADC_CALIB_BIASCOMP_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_CALIB_BIASCOMP_bf(const void *const hw, hri_adc_calib_reg_t data)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CALIB.reg;
+ tmp &= ~ADC_CALIB_BIASCOMP_Msk;
+ tmp |= ADC_CALIB_BIASCOMP(data);
+ ((Adc *)hw)->CALIB.reg = tmp;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CALIB_BIASCOMP_bf(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CALIB.reg &= ~ADC_CALIB_BIASCOMP(mask);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CALIB_BIASCOMP_bf(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CALIB.reg ^= ADC_CALIB_BIASCOMP(mask);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_calib_reg_t hri_adc_read_CALIB_BIASCOMP_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CALIB.reg;
+ tmp = (tmp & ADC_CALIB_BIASCOMP_Msk) >> ADC_CALIB_BIASCOMP_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_CALIB_BIASR2R_bf(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CALIB.reg |= ADC_CALIB_BIASR2R(mask);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_calib_reg_t hri_adc_get_CALIB_BIASR2R_bf(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CALIB.reg;
+ tmp = (tmp & ADC_CALIB_BIASR2R(mask)) >> ADC_CALIB_BIASR2R_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_CALIB_BIASR2R_bf(const void *const hw, hri_adc_calib_reg_t data)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CALIB.reg;
+ tmp &= ~ADC_CALIB_BIASR2R_Msk;
+ tmp |= ADC_CALIB_BIASR2R(data);
+ ((Adc *)hw)->CALIB.reg = tmp;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CALIB_BIASR2R_bf(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CALIB.reg &= ~ADC_CALIB_BIASR2R(mask);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CALIB_BIASR2R_bf(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CALIB.reg ^= ADC_CALIB_BIASR2R(mask);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_calib_reg_t hri_adc_read_CALIB_BIASR2R_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CALIB.reg;
+ tmp = (tmp & ADC_CALIB_BIASR2R_Msk) >> ADC_CALIB_BIASR2R_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_CALIB_BIASREFBUF_bf(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CALIB.reg |= ADC_CALIB_BIASREFBUF(mask);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_calib_reg_t hri_adc_get_CALIB_BIASREFBUF_bf(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CALIB.reg;
+ tmp = (tmp & ADC_CALIB_BIASREFBUF(mask)) >> ADC_CALIB_BIASREFBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_write_CALIB_BIASREFBUF_bf(const void *const hw, hri_adc_calib_reg_t data)
+{
+ uint16_t tmp;
+ ADC_CRITICAL_SECTION_ENTER();
+ tmp = ((Adc *)hw)->CALIB.reg;
+ tmp &= ~ADC_CALIB_BIASREFBUF_Msk;
+ tmp |= ADC_CALIB_BIASREFBUF(data);
+ ((Adc *)hw)->CALIB.reg = tmp;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CALIB_BIASREFBUF_bf(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CALIB.reg &= ~ADC_CALIB_BIASREFBUF(mask);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CALIB_BIASREFBUF_bf(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CALIB.reg ^= ADC_CALIB_BIASREFBUF(mask);
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_calib_reg_t hri_adc_read_CALIB_BIASREFBUF_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CALIB.reg;
+ tmp = (tmp & ADC_CALIB_BIASREFBUF_Msk) >> ADC_CALIB_BIASREFBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_adc_set_CALIB_reg(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CALIB.reg |= mask;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_calib_reg_t hri_adc_get_CALIB_reg(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Adc *)hw)->CALIB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_adc_write_CALIB_reg(const void *const hw, hri_adc_calib_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CALIB.reg = data;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_clear_CALIB_reg(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CALIB.reg &= ~mask;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_adc_toggle_CALIB_reg(const void *const hw, hri_adc_calib_reg_t mask)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->CALIB.reg ^= mask;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_adc_calib_reg_t hri_adc_read_CALIB_reg(const void *const hw)
+{
+ return ((Adc *)hw)->CALIB.reg;
+}
+
+static inline void hri_adc_write_DSEQDATA_reg(const void *const hw, hri_adc_dseqdata_reg_t data)
+{
+ ADC_CRITICAL_SECTION_ENTER();
+ ((Adc *)hw)->DSEQDATA.reg = data;
+ ADC_CRITICAL_SECTION_LEAVE();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_ADC_E54_H_INCLUDED */
+#endif /* _SAME54_ADC_COMPONENT_ */
diff --git a/hri/hri_aes_e54.h b/hri/hri_aes_e54.h
new file mode 100644
index 0000000..c1070e2
--- /dev/null
+++ b/hri/hri_aes_e54.h
@@ -0,0 +1,1287 @@
+/**
+ * \file
+ *
+ * \brief SAM AES
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_AES_COMPONENT_
+#ifndef _HRI_AES_E54_H_INCLUDED_
+#define _HRI_AES_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_AES_CRITICAL_SECTIONS)
+#define AES_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define AES_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define AES_CRITICAL_SECTION_ENTER()
+#define AES_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_aes_ciplen_reg_t;
+typedef uint32_t hri_aes_ctrla_reg_t;
+typedef uint32_t hri_aes_ghash_reg_t;
+typedef uint32_t hri_aes_hashkey_reg_t;
+typedef uint32_t hri_aes_indata_reg_t;
+typedef uint32_t hri_aes_intvectv_reg_t;
+typedef uint32_t hri_aes_keyword_reg_t;
+typedef uint32_t hri_aes_randseed_reg_t;
+typedef uint8_t hri_aes_ctrlb_reg_t;
+typedef uint8_t hri_aes_databufptr_reg_t;
+typedef uint8_t hri_aes_dbgctrl_reg_t;
+typedef uint8_t hri_aes_intenset_reg_t;
+typedef uint8_t hri_aes_intflag_reg_t;
+
+static inline bool hri_aes_get_INTFLAG_ENCCMP_bit(const void *const hw)
+{
+ return (((Aes *)hw)->INTFLAG.reg & AES_INTFLAG_ENCCMP) >> AES_INTFLAG_ENCCMP_Pos;
+}
+
+static inline void hri_aes_clear_INTFLAG_ENCCMP_bit(const void *const hw)
+{
+ ((Aes *)hw)->INTFLAG.reg = AES_INTFLAG_ENCCMP;
+}
+
+static inline bool hri_aes_get_INTFLAG_GFMCMP_bit(const void *const hw)
+{
+ return (((Aes *)hw)->INTFLAG.reg & AES_INTFLAG_GFMCMP) >> AES_INTFLAG_GFMCMP_Pos;
+}
+
+static inline void hri_aes_clear_INTFLAG_GFMCMP_bit(const void *const hw)
+{
+ ((Aes *)hw)->INTFLAG.reg = AES_INTFLAG_GFMCMP;
+}
+
+static inline bool hri_aes_get_interrupt_ENCCMP_bit(const void *const hw)
+{
+ return (((Aes *)hw)->INTFLAG.reg & AES_INTFLAG_ENCCMP) >> AES_INTFLAG_ENCCMP_Pos;
+}
+
+static inline void hri_aes_clear_interrupt_ENCCMP_bit(const void *const hw)
+{
+ ((Aes *)hw)->INTFLAG.reg = AES_INTFLAG_ENCCMP;
+}
+
+static inline bool hri_aes_get_interrupt_GFMCMP_bit(const void *const hw)
+{
+ return (((Aes *)hw)->INTFLAG.reg & AES_INTFLAG_GFMCMP) >> AES_INTFLAG_GFMCMP_Pos;
+}
+
+static inline void hri_aes_clear_interrupt_GFMCMP_bit(const void *const hw)
+{
+ ((Aes *)hw)->INTFLAG.reg = AES_INTFLAG_GFMCMP;
+}
+
+static inline hri_aes_intflag_reg_t hri_aes_get_INTFLAG_reg(const void *const hw, hri_aes_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Aes *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_aes_intflag_reg_t hri_aes_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Aes *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_aes_clear_INTFLAG_reg(const void *const hw, hri_aes_intflag_reg_t mask)
+{
+ ((Aes *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_aes_set_INTEN_ENCCMP_bit(const void *const hw)
+{
+ ((Aes *)hw)->INTENSET.reg = AES_INTENSET_ENCCMP;
+}
+
+static inline bool hri_aes_get_INTEN_ENCCMP_bit(const void *const hw)
+{
+ return (((Aes *)hw)->INTENSET.reg & AES_INTENSET_ENCCMP) >> AES_INTENSET_ENCCMP_Pos;
+}
+
+static inline void hri_aes_write_INTEN_ENCCMP_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Aes *)hw)->INTENCLR.reg = AES_INTENSET_ENCCMP;
+ } else {
+ ((Aes *)hw)->INTENSET.reg = AES_INTENSET_ENCCMP;
+ }
+}
+
+static inline void hri_aes_clear_INTEN_ENCCMP_bit(const void *const hw)
+{
+ ((Aes *)hw)->INTENCLR.reg = AES_INTENSET_ENCCMP;
+}
+
+static inline void hri_aes_set_INTEN_GFMCMP_bit(const void *const hw)
+{
+ ((Aes *)hw)->INTENSET.reg = AES_INTENSET_GFMCMP;
+}
+
+static inline bool hri_aes_get_INTEN_GFMCMP_bit(const void *const hw)
+{
+ return (((Aes *)hw)->INTENSET.reg & AES_INTENSET_GFMCMP) >> AES_INTENSET_GFMCMP_Pos;
+}
+
+static inline void hri_aes_write_INTEN_GFMCMP_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Aes *)hw)->INTENCLR.reg = AES_INTENSET_GFMCMP;
+ } else {
+ ((Aes *)hw)->INTENSET.reg = AES_INTENSET_GFMCMP;
+ }
+}
+
+static inline void hri_aes_clear_INTEN_GFMCMP_bit(const void *const hw)
+{
+ ((Aes *)hw)->INTENCLR.reg = AES_INTENSET_GFMCMP;
+}
+
+static inline void hri_aes_set_INTEN_reg(const void *const hw, hri_aes_intenset_reg_t mask)
+{
+ ((Aes *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_aes_intenset_reg_t hri_aes_get_INTEN_reg(const void *const hw, hri_aes_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Aes *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_aes_intenset_reg_t hri_aes_read_INTEN_reg(const void *const hw)
+{
+ return ((Aes *)hw)->INTENSET.reg;
+}
+
+static inline void hri_aes_write_INTEN_reg(const void *const hw, hri_aes_intenset_reg_t data)
+{
+ ((Aes *)hw)->INTENSET.reg = data;
+ ((Aes *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_aes_clear_INTEN_reg(const void *const hw, hri_aes_intenset_reg_t mask)
+{
+ ((Aes *)hw)->INTENCLR.reg = mask;
+}
+
+static inline void hri_aes_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_SWRST;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_aes_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp = (tmp & AES_CTRLA_SWRST) >> AES_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_aes_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_ENABLE;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_aes_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp = (tmp & AES_CTRLA_ENABLE) >> AES_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_aes_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp &= ~AES_CTRLA_ENABLE;
+ tmp |= value << AES_CTRLA_ENABLE_Pos;
+ ((Aes *)hw)->CTRLA.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_ENABLE;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_ENABLE;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_set_CTRLA_CIPHER_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_CIPHER;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_aes_get_CTRLA_CIPHER_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp = (tmp & AES_CTRLA_CIPHER) >> AES_CTRLA_CIPHER_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_aes_write_CTRLA_CIPHER_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp &= ~AES_CTRLA_CIPHER;
+ tmp |= value << AES_CTRLA_CIPHER_Pos;
+ ((Aes *)hw)->CTRLA.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLA_CIPHER_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_CIPHER;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLA_CIPHER_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_CIPHER;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_set_CTRLA_STARTMODE_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_STARTMODE;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_aes_get_CTRLA_STARTMODE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp = (tmp & AES_CTRLA_STARTMODE) >> AES_CTRLA_STARTMODE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_aes_write_CTRLA_STARTMODE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp &= ~AES_CTRLA_STARTMODE;
+ tmp |= value << AES_CTRLA_STARTMODE_Pos;
+ ((Aes *)hw)->CTRLA.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLA_STARTMODE_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_STARTMODE;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLA_STARTMODE_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_STARTMODE;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_set_CTRLA_LOD_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_LOD;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_aes_get_CTRLA_LOD_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp = (tmp & AES_CTRLA_LOD) >> AES_CTRLA_LOD_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_aes_write_CTRLA_LOD_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp &= ~AES_CTRLA_LOD;
+ tmp |= value << AES_CTRLA_LOD_Pos;
+ ((Aes *)hw)->CTRLA.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLA_LOD_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_LOD;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLA_LOD_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_LOD;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_set_CTRLA_KEYGEN_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_KEYGEN;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_aes_get_CTRLA_KEYGEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp = (tmp & AES_CTRLA_KEYGEN) >> AES_CTRLA_KEYGEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_aes_write_CTRLA_KEYGEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp &= ~AES_CTRLA_KEYGEN;
+ tmp |= value << AES_CTRLA_KEYGEN_Pos;
+ ((Aes *)hw)->CTRLA.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLA_KEYGEN_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_KEYGEN;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLA_KEYGEN_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_KEYGEN;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_set_CTRLA_XORKEY_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_XORKEY;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_aes_get_CTRLA_XORKEY_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp = (tmp & AES_CTRLA_XORKEY) >> AES_CTRLA_XORKEY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_aes_write_CTRLA_XORKEY_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp &= ~AES_CTRLA_XORKEY;
+ tmp |= value << AES_CTRLA_XORKEY_Pos;
+ ((Aes *)hw)->CTRLA.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLA_XORKEY_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_XORKEY;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLA_XORKEY_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_XORKEY;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_set_CTRLA_AESMODE_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_AESMODE(mask);
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ctrla_reg_t hri_aes_get_CTRLA_AESMODE_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp = (tmp & AES_CTRLA_AESMODE(mask)) >> AES_CTRLA_AESMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_aes_write_CTRLA_AESMODE_bf(const void *const hw, hri_aes_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp &= ~AES_CTRLA_AESMODE_Msk;
+ tmp |= AES_CTRLA_AESMODE(data);
+ ((Aes *)hw)->CTRLA.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLA_AESMODE_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_AESMODE(mask);
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLA_AESMODE_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_AESMODE(mask);
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ctrla_reg_t hri_aes_read_CTRLA_AESMODE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp = (tmp & AES_CTRLA_AESMODE_Msk) >> AES_CTRLA_AESMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_aes_set_CTRLA_CFBS_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_CFBS(mask);
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ctrla_reg_t hri_aes_get_CTRLA_CFBS_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp = (tmp & AES_CTRLA_CFBS(mask)) >> AES_CTRLA_CFBS_Pos;
+ return tmp;
+}
+
+static inline void hri_aes_write_CTRLA_CFBS_bf(const void *const hw, hri_aes_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp &= ~AES_CTRLA_CFBS_Msk;
+ tmp |= AES_CTRLA_CFBS(data);
+ ((Aes *)hw)->CTRLA.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLA_CFBS_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_CFBS(mask);
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLA_CFBS_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_CFBS(mask);
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ctrla_reg_t hri_aes_read_CTRLA_CFBS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp = (tmp & AES_CTRLA_CFBS_Msk) >> AES_CTRLA_CFBS_Pos;
+ return tmp;
+}
+
+static inline void hri_aes_set_CTRLA_KEYSIZE_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_KEYSIZE(mask);
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ctrla_reg_t hri_aes_get_CTRLA_KEYSIZE_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp = (tmp & AES_CTRLA_KEYSIZE(mask)) >> AES_CTRLA_KEYSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_aes_write_CTRLA_KEYSIZE_bf(const void *const hw, hri_aes_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp &= ~AES_CTRLA_KEYSIZE_Msk;
+ tmp |= AES_CTRLA_KEYSIZE(data);
+ ((Aes *)hw)->CTRLA.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLA_KEYSIZE_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_KEYSIZE(mask);
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLA_KEYSIZE_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_KEYSIZE(mask);
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ctrla_reg_t hri_aes_read_CTRLA_KEYSIZE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp = (tmp & AES_CTRLA_KEYSIZE_Msk) >> AES_CTRLA_KEYSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_aes_set_CTRLA_CTYPE_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg |= AES_CTRLA_CTYPE(mask);
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ctrla_reg_t hri_aes_get_CTRLA_CTYPE_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp = (tmp & AES_CTRLA_CTYPE(mask)) >> AES_CTRLA_CTYPE_Pos;
+ return tmp;
+}
+
+static inline void hri_aes_write_CTRLA_CTYPE_bf(const void *const hw, hri_aes_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp &= ~AES_CTRLA_CTYPE_Msk;
+ tmp |= AES_CTRLA_CTYPE(data);
+ ((Aes *)hw)->CTRLA.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLA_CTYPE_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg &= ~AES_CTRLA_CTYPE(mask);
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLA_CTYPE_bf(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg ^= AES_CTRLA_CTYPE(mask);
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ctrla_reg_t hri_aes_read_CTRLA_CTYPE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp = (tmp & AES_CTRLA_CTYPE_Msk) >> AES_CTRLA_CTYPE_Pos;
+ return tmp;
+}
+
+static inline void hri_aes_set_CTRLA_reg(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg |= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ctrla_reg_t hri_aes_get_CTRLA_reg(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_aes_write_CTRLA_reg(const void *const hw, hri_aes_ctrla_reg_t data)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg = data;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLA_reg(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg &= ~mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLA_reg(const void *const hw, hri_aes_ctrla_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLA.reg ^= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ctrla_reg_t hri_aes_read_CTRLA_reg(const void *const hw)
+{
+ return ((Aes *)hw)->CTRLA.reg;
+}
+
+static inline void hri_aes_set_CTRLB_START_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg |= AES_CTRLB_START;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_aes_get_CTRLB_START_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Aes *)hw)->CTRLB.reg;
+ tmp = (tmp & AES_CTRLB_START) >> AES_CTRLB_START_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_aes_write_CTRLB_START_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->CTRLB.reg;
+ tmp &= ~AES_CTRLB_START;
+ tmp |= value << AES_CTRLB_START_Pos;
+ ((Aes *)hw)->CTRLB.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLB_START_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg &= ~AES_CTRLB_START;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLB_START_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg ^= AES_CTRLB_START;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_set_CTRLB_NEWMSG_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg |= AES_CTRLB_NEWMSG;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_aes_get_CTRLB_NEWMSG_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Aes *)hw)->CTRLB.reg;
+ tmp = (tmp & AES_CTRLB_NEWMSG) >> AES_CTRLB_NEWMSG_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_aes_write_CTRLB_NEWMSG_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->CTRLB.reg;
+ tmp &= ~AES_CTRLB_NEWMSG;
+ tmp |= value << AES_CTRLB_NEWMSG_Pos;
+ ((Aes *)hw)->CTRLB.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLB_NEWMSG_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg &= ~AES_CTRLB_NEWMSG;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLB_NEWMSG_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg ^= AES_CTRLB_NEWMSG;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_set_CTRLB_EOM_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg |= AES_CTRLB_EOM;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_aes_get_CTRLB_EOM_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Aes *)hw)->CTRLB.reg;
+ tmp = (tmp & AES_CTRLB_EOM) >> AES_CTRLB_EOM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_aes_write_CTRLB_EOM_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->CTRLB.reg;
+ tmp &= ~AES_CTRLB_EOM;
+ tmp |= value << AES_CTRLB_EOM_Pos;
+ ((Aes *)hw)->CTRLB.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLB_EOM_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg &= ~AES_CTRLB_EOM;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLB_EOM_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg ^= AES_CTRLB_EOM;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_set_CTRLB_GFMUL_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg |= AES_CTRLB_GFMUL;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_aes_get_CTRLB_GFMUL_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Aes *)hw)->CTRLB.reg;
+ tmp = (tmp & AES_CTRLB_GFMUL) >> AES_CTRLB_GFMUL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_aes_write_CTRLB_GFMUL_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->CTRLB.reg;
+ tmp &= ~AES_CTRLB_GFMUL;
+ tmp |= value << AES_CTRLB_GFMUL_Pos;
+ ((Aes *)hw)->CTRLB.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLB_GFMUL_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg &= ~AES_CTRLB_GFMUL;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLB_GFMUL_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg ^= AES_CTRLB_GFMUL;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_set_CTRLB_reg(const void *const hw, hri_aes_ctrlb_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg |= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ctrlb_reg_t hri_aes_get_CTRLB_reg(const void *const hw, hri_aes_ctrlb_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Aes *)hw)->CTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_aes_write_CTRLB_reg(const void *const hw, hri_aes_ctrlb_reg_t data)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg = data;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CTRLB_reg(const void *const hw, hri_aes_ctrlb_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg &= ~mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CTRLB_reg(const void *const hw, hri_aes_ctrlb_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CTRLB.reg ^= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ctrlb_reg_t hri_aes_read_CTRLB_reg(const void *const hw)
+{
+ return ((Aes *)hw)->CTRLB.reg;
+}
+
+static inline void hri_aes_set_DATABUFPTR_INDATAPTR_bf(const void *const hw, hri_aes_databufptr_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->DATABUFPTR.reg |= AES_DATABUFPTR_INDATAPTR(mask);
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_databufptr_reg_t hri_aes_get_DATABUFPTR_INDATAPTR_bf(const void *const hw,
+ hri_aes_databufptr_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Aes *)hw)->DATABUFPTR.reg;
+ tmp = (tmp & AES_DATABUFPTR_INDATAPTR(mask)) >> AES_DATABUFPTR_INDATAPTR_Pos;
+ return tmp;
+}
+
+static inline void hri_aes_write_DATABUFPTR_INDATAPTR_bf(const void *const hw, hri_aes_databufptr_reg_t data)
+{
+ uint8_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->DATABUFPTR.reg;
+ tmp &= ~AES_DATABUFPTR_INDATAPTR_Msk;
+ tmp |= AES_DATABUFPTR_INDATAPTR(data);
+ ((Aes *)hw)->DATABUFPTR.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_DATABUFPTR_INDATAPTR_bf(const void *const hw, hri_aes_databufptr_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->DATABUFPTR.reg &= ~AES_DATABUFPTR_INDATAPTR(mask);
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_DATABUFPTR_INDATAPTR_bf(const void *const hw, hri_aes_databufptr_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->DATABUFPTR.reg ^= AES_DATABUFPTR_INDATAPTR(mask);
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_databufptr_reg_t hri_aes_read_DATABUFPTR_INDATAPTR_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Aes *)hw)->DATABUFPTR.reg;
+ tmp = (tmp & AES_DATABUFPTR_INDATAPTR_Msk) >> AES_DATABUFPTR_INDATAPTR_Pos;
+ return tmp;
+}
+
+static inline void hri_aes_set_DATABUFPTR_reg(const void *const hw, hri_aes_databufptr_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->DATABUFPTR.reg |= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_databufptr_reg_t hri_aes_get_DATABUFPTR_reg(const void *const hw, hri_aes_databufptr_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Aes *)hw)->DATABUFPTR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_aes_write_DATABUFPTR_reg(const void *const hw, hri_aes_databufptr_reg_t data)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->DATABUFPTR.reg = data;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_DATABUFPTR_reg(const void *const hw, hri_aes_databufptr_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->DATABUFPTR.reg &= ~mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_DATABUFPTR_reg(const void *const hw, hri_aes_databufptr_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->DATABUFPTR.reg ^= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_databufptr_reg_t hri_aes_read_DATABUFPTR_reg(const void *const hw)
+{
+ return ((Aes *)hw)->DATABUFPTR.reg;
+}
+
+static inline void hri_aes_set_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->DBGCTRL.reg |= AES_DBGCTRL_DBGRUN;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_aes_get_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Aes *)hw)->DBGCTRL.reg;
+ tmp = (tmp & AES_DBGCTRL_DBGRUN) >> AES_DBGCTRL_DBGRUN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_aes_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ AES_CRITICAL_SECTION_ENTER();
+ tmp = ((Aes *)hw)->DBGCTRL.reg;
+ tmp &= ~AES_DBGCTRL_DBGRUN;
+ tmp |= value << AES_DBGCTRL_DBGRUN_Pos;
+ ((Aes *)hw)->DBGCTRL.reg = tmp;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->DBGCTRL.reg &= ~AES_DBGCTRL_DBGRUN;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->DBGCTRL.reg ^= AES_DBGCTRL_DBGRUN;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_set_DBGCTRL_reg(const void *const hw, hri_aes_dbgctrl_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->DBGCTRL.reg |= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_dbgctrl_reg_t hri_aes_get_DBGCTRL_reg(const void *const hw, hri_aes_dbgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Aes *)hw)->DBGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_aes_write_DBGCTRL_reg(const void *const hw, hri_aes_dbgctrl_reg_t data)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->DBGCTRL.reg = data;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_DBGCTRL_reg(const void *const hw, hri_aes_dbgctrl_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->DBGCTRL.reg &= ~mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_DBGCTRL_reg(const void *const hw, hri_aes_dbgctrl_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->DBGCTRL.reg ^= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_dbgctrl_reg_t hri_aes_read_DBGCTRL_reg(const void *const hw)
+{
+ return ((Aes *)hw)->DBGCTRL.reg;
+}
+
+static inline void hri_aes_set_INDATA_reg(const void *const hw, hri_aes_indata_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->INDATA.reg |= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_indata_reg_t hri_aes_get_INDATA_reg(const void *const hw, hri_aes_indata_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->INDATA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_aes_write_INDATA_reg(const void *const hw, hri_aes_indata_reg_t data)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->INDATA.reg = data;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_INDATA_reg(const void *const hw, hri_aes_indata_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->INDATA.reg &= ~mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_INDATA_reg(const void *const hw, hri_aes_indata_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->INDATA.reg ^= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_indata_reg_t hri_aes_read_INDATA_reg(const void *const hw)
+{
+ return ((Aes *)hw)->INDATA.reg;
+}
+
+static inline void hri_aes_set_HASHKEY_reg(const void *const hw, uint8_t index, hri_aes_hashkey_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->HASHKEY[index].reg |= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_hashkey_reg_t hri_aes_get_HASHKEY_reg(const void *const hw, uint8_t index,
+ hri_aes_hashkey_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->HASHKEY[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_aes_write_HASHKEY_reg(const void *const hw, uint8_t index, hri_aes_hashkey_reg_t data)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->HASHKEY[index].reg = data;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_HASHKEY_reg(const void *const hw, uint8_t index, hri_aes_hashkey_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->HASHKEY[index].reg &= ~mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_HASHKEY_reg(const void *const hw, uint8_t index, hri_aes_hashkey_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->HASHKEY[index].reg ^= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_hashkey_reg_t hri_aes_read_HASHKEY_reg(const void *const hw, uint8_t index)
+{
+ return ((Aes *)hw)->HASHKEY[index].reg;
+}
+
+static inline void hri_aes_set_GHASH_reg(const void *const hw, uint8_t index, hri_aes_ghash_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->GHASH[index].reg |= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ghash_reg_t hri_aes_get_GHASH_reg(const void *const hw, uint8_t index, hri_aes_ghash_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->GHASH[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_aes_write_GHASH_reg(const void *const hw, uint8_t index, hri_aes_ghash_reg_t data)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->GHASH[index].reg = data;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_GHASH_reg(const void *const hw, uint8_t index, hri_aes_ghash_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->GHASH[index].reg &= ~mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_GHASH_reg(const void *const hw, uint8_t index, hri_aes_ghash_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->GHASH[index].reg ^= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ghash_reg_t hri_aes_read_GHASH_reg(const void *const hw, uint8_t index)
+{
+ return ((Aes *)hw)->GHASH[index].reg;
+}
+
+static inline void hri_aes_set_CIPLEN_reg(const void *const hw, hri_aes_ciplen_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CIPLEN.reg |= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ciplen_reg_t hri_aes_get_CIPLEN_reg(const void *const hw, hri_aes_ciplen_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->CIPLEN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_aes_write_CIPLEN_reg(const void *const hw, hri_aes_ciplen_reg_t data)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CIPLEN.reg = data;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_CIPLEN_reg(const void *const hw, hri_aes_ciplen_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CIPLEN.reg &= ~mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_CIPLEN_reg(const void *const hw, hri_aes_ciplen_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->CIPLEN.reg ^= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_ciplen_reg_t hri_aes_read_CIPLEN_reg(const void *const hw)
+{
+ return ((Aes *)hw)->CIPLEN.reg;
+}
+
+static inline void hri_aes_set_RANDSEED_reg(const void *const hw, hri_aes_randseed_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->RANDSEED.reg |= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_randseed_reg_t hri_aes_get_RANDSEED_reg(const void *const hw, hri_aes_randseed_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Aes *)hw)->RANDSEED.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_aes_write_RANDSEED_reg(const void *const hw, hri_aes_randseed_reg_t data)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->RANDSEED.reg = data;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_clear_RANDSEED_reg(const void *const hw, hri_aes_randseed_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->RANDSEED.reg &= ~mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_toggle_RANDSEED_reg(const void *const hw, hri_aes_randseed_reg_t mask)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->RANDSEED.reg ^= mask;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_aes_randseed_reg_t hri_aes_read_RANDSEED_reg(const void *const hw)
+{
+ return ((Aes *)hw)->RANDSEED.reg;
+}
+
+static inline void hri_aes_write_KEYWORD_reg(const void *const hw, uint8_t index, hri_aes_keyword_reg_t data)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->KEYWORD[index].reg = data;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_aes_write_INTVECTV_reg(const void *const hw, uint8_t index, hri_aes_intvectv_reg_t data)
+{
+ AES_CRITICAL_SECTION_ENTER();
+ ((Aes *)hw)->INTVECTV[index].reg = data;
+ AES_CRITICAL_SECTION_LEAVE();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_AES_E54_H_INCLUDED */
+#endif /* _SAME54_AES_COMPONENT_ */
diff --git a/hri/hri_can_e54.h b/hri/hri_can_e54.h
new file mode 100644
index 0000000..2c02884
--- /dev/null
+++ b/hri/hri_can_e54.h
@@ -0,0 +1,16997 @@
+/**
+ * \file
+ *
+ * \brief SAM CAN
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_CAN_COMPONENT_
+#ifndef _HRI_CAN_E54_H_INCLUDED_
+#define _HRI_CAN_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_CAN_CRITICAL_SECTIONS)
+#define CAN_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define CAN_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define CAN_CRITICAL_SECTION_ENTER()
+#define CAN_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_can_cccr_reg_t;
+typedef uint32_t hri_can_crel_reg_t;
+typedef uint32_t hri_can_dbtp_reg_t;
+typedef uint32_t hri_can_ecr_reg_t;
+typedef uint32_t hri_can_endn_reg_t;
+typedef uint32_t hri_can_gfc_reg_t;
+typedef uint32_t hri_can_hpms_reg_t;
+typedef uint32_t hri_can_ie_reg_t;
+typedef uint32_t hri_can_ile_reg_t;
+typedef uint32_t hri_can_ils_reg_t;
+typedef uint32_t hri_can_ir_reg_t;
+typedef uint32_t hri_can_mrcfg_reg_t;
+typedef uint32_t hri_can_nbtp_reg_t;
+typedef uint32_t hri_can_ndat1_reg_t;
+typedef uint32_t hri_can_ndat2_reg_t;
+typedef uint32_t hri_can_psr_reg_t;
+typedef uint32_t hri_can_rwd_reg_t;
+typedef uint32_t hri_can_rxbc_reg_t;
+typedef uint32_t hri_can_rxesc_reg_t;
+typedef uint32_t hri_can_rxf0a_reg_t;
+typedef uint32_t hri_can_rxf0c_reg_t;
+typedef uint32_t hri_can_rxf0s_reg_t;
+typedef uint32_t hri_can_rxf1a_reg_t;
+typedef uint32_t hri_can_rxf1c_reg_t;
+typedef uint32_t hri_can_rxf1s_reg_t;
+typedef uint32_t hri_can_sidfc_reg_t;
+typedef uint32_t hri_can_tdcr_reg_t;
+typedef uint32_t hri_can_test_reg_t;
+typedef uint32_t hri_can_tocc_reg_t;
+typedef uint32_t hri_can_tocv_reg_t;
+typedef uint32_t hri_can_tscc_reg_t;
+typedef uint32_t hri_can_tscv_reg_t;
+typedef uint32_t hri_can_txbar_reg_t;
+typedef uint32_t hri_can_txbc_reg_t;
+typedef uint32_t hri_can_txbcf_reg_t;
+typedef uint32_t hri_can_txbcie_reg_t;
+typedef uint32_t hri_can_txbcr_reg_t;
+typedef uint32_t hri_can_txbrp_reg_t;
+typedef uint32_t hri_can_txbtie_reg_t;
+typedef uint32_t hri_can_txbto_reg_t;
+typedef uint32_t hri_can_txefa_reg_t;
+typedef uint32_t hri_can_txefc_reg_t;
+typedef uint32_t hri_can_txefs_reg_t;
+typedef uint32_t hri_can_txesc_reg_t;
+typedef uint32_t hri_can_txfqs_reg_t;
+typedef uint32_t hri_can_xidam_reg_t;
+typedef uint32_t hri_can_xidfc_reg_t;
+
+static inline hri_can_crel_reg_t hri_can_get_CREL_SUBSTEP_bf(const void *const hw, hri_can_crel_reg_t mask)
+{
+ return (((Can *)hw)->CREL.reg & CAN_CREL_SUBSTEP(mask)) >> CAN_CREL_SUBSTEP_Pos;
+}
+
+static inline hri_can_crel_reg_t hri_can_read_CREL_SUBSTEP_bf(const void *const hw)
+{
+ return (((Can *)hw)->CREL.reg & CAN_CREL_SUBSTEP_Msk) >> CAN_CREL_SUBSTEP_Pos;
+}
+
+static inline hri_can_crel_reg_t hri_can_get_CREL_STEP_bf(const void *const hw, hri_can_crel_reg_t mask)
+{
+ return (((Can *)hw)->CREL.reg & CAN_CREL_STEP(mask)) >> CAN_CREL_STEP_Pos;
+}
+
+static inline hri_can_crel_reg_t hri_can_read_CREL_STEP_bf(const void *const hw)
+{
+ return (((Can *)hw)->CREL.reg & CAN_CREL_STEP_Msk) >> CAN_CREL_STEP_Pos;
+}
+
+static inline hri_can_crel_reg_t hri_can_get_CREL_REL_bf(const void *const hw, hri_can_crel_reg_t mask)
+{
+ return (((Can *)hw)->CREL.reg & CAN_CREL_REL(mask)) >> CAN_CREL_REL_Pos;
+}
+
+static inline hri_can_crel_reg_t hri_can_read_CREL_REL_bf(const void *const hw)
+{
+ return (((Can *)hw)->CREL.reg & CAN_CREL_REL_Msk) >> CAN_CREL_REL_Pos;
+}
+
+static inline hri_can_crel_reg_t hri_can_get_CREL_reg(const void *const hw, hri_can_crel_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CREL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_can_crel_reg_t hri_can_read_CREL_reg(const void *const hw)
+{
+ return ((Can *)hw)->CREL.reg;
+}
+
+static inline hri_can_endn_reg_t hri_can_get_ENDN_ETV_bf(const void *const hw, hri_can_endn_reg_t mask)
+{
+ return (((Can *)hw)->ENDN.reg & CAN_ENDN_ETV(mask)) >> CAN_ENDN_ETV_Pos;
+}
+
+static inline hri_can_endn_reg_t hri_can_read_ENDN_ETV_bf(const void *const hw)
+{
+ return (((Can *)hw)->ENDN.reg & CAN_ENDN_ETV_Msk) >> CAN_ENDN_ETV_Pos;
+}
+
+static inline hri_can_endn_reg_t hri_can_get_ENDN_reg(const void *const hw, hri_can_endn_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ENDN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_can_endn_reg_t hri_can_read_ENDN_reg(const void *const hw)
+{
+ return ((Can *)hw)->ENDN.reg;
+}
+
+static inline hri_can_tscv_reg_t hri_can_get_TSCV_TSC_bf(const void *const hw, hri_can_tscv_reg_t mask)
+{
+ return (((Can *)hw)->TSCV.reg & CAN_TSCV_TSC(mask)) >> CAN_TSCV_TSC_Pos;
+}
+
+static inline hri_can_tscv_reg_t hri_can_read_TSCV_TSC_bf(const void *const hw)
+{
+ return (((Can *)hw)->TSCV.reg & CAN_TSCV_TSC_Msk) >> CAN_TSCV_TSC_Pos;
+}
+
+static inline hri_can_tscv_reg_t hri_can_get_TSCV_reg(const void *const hw, hri_can_tscv_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TSCV.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_can_tscv_reg_t hri_can_read_TSCV_reg(const void *const hw)
+{
+ return ((Can *)hw)->TSCV.reg;
+}
+
+static inline bool hri_can_get_ECR_RP_bit(const void *const hw)
+{
+ return (((Can *)hw)->ECR.reg & CAN_ECR_RP) >> CAN_ECR_RP_Pos;
+}
+
+static inline hri_can_ecr_reg_t hri_can_get_ECR_TEC_bf(const void *const hw, hri_can_ecr_reg_t mask)
+{
+ return (((Can *)hw)->ECR.reg & CAN_ECR_TEC(mask)) >> CAN_ECR_TEC_Pos;
+}
+
+static inline hri_can_ecr_reg_t hri_can_read_ECR_TEC_bf(const void *const hw)
+{
+ return (((Can *)hw)->ECR.reg & CAN_ECR_TEC_Msk) >> CAN_ECR_TEC_Pos;
+}
+
+static inline hri_can_ecr_reg_t hri_can_get_ECR_REC_bf(const void *const hw, hri_can_ecr_reg_t mask)
+{
+ return (((Can *)hw)->ECR.reg & CAN_ECR_REC(mask)) >> CAN_ECR_REC_Pos;
+}
+
+static inline hri_can_ecr_reg_t hri_can_read_ECR_REC_bf(const void *const hw)
+{
+ return (((Can *)hw)->ECR.reg & CAN_ECR_REC_Msk) >> CAN_ECR_REC_Pos;
+}
+
+static inline hri_can_ecr_reg_t hri_can_get_ECR_CEL_bf(const void *const hw, hri_can_ecr_reg_t mask)
+{
+ return (((Can *)hw)->ECR.reg & CAN_ECR_CEL(mask)) >> CAN_ECR_CEL_Pos;
+}
+
+static inline hri_can_ecr_reg_t hri_can_read_ECR_CEL_bf(const void *const hw)
+{
+ return (((Can *)hw)->ECR.reg & CAN_ECR_CEL_Msk) >> CAN_ECR_CEL_Pos;
+}
+
+static inline hri_can_ecr_reg_t hri_can_get_ECR_reg(const void *const hw, hri_can_ecr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ECR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_can_ecr_reg_t hri_can_read_ECR_reg(const void *const hw)
+{
+ return ((Can *)hw)->ECR.reg;
+}
+
+static inline bool hri_can_get_PSR_EP_bit(const void *const hw)
+{
+ return (((Can *)hw)->PSR.reg & CAN_PSR_EP) >> CAN_PSR_EP_Pos;
+}
+
+static inline bool hri_can_get_PSR_EW_bit(const void *const hw)
+{
+ return (((Can *)hw)->PSR.reg & CAN_PSR_EW) >> CAN_PSR_EW_Pos;
+}
+
+static inline bool hri_can_get_PSR_BO_bit(const void *const hw)
+{
+ return (((Can *)hw)->PSR.reg & CAN_PSR_BO) >> CAN_PSR_BO_Pos;
+}
+
+static inline bool hri_can_get_PSR_RESI_bit(const void *const hw)
+{
+ return (((Can *)hw)->PSR.reg & CAN_PSR_RESI) >> CAN_PSR_RESI_Pos;
+}
+
+static inline bool hri_can_get_PSR_RBRS_bit(const void *const hw)
+{
+ return (((Can *)hw)->PSR.reg & CAN_PSR_RBRS) >> CAN_PSR_RBRS_Pos;
+}
+
+static inline bool hri_can_get_PSR_RFDF_bit(const void *const hw)
+{
+ return (((Can *)hw)->PSR.reg & CAN_PSR_RFDF) >> CAN_PSR_RFDF_Pos;
+}
+
+static inline bool hri_can_get_PSR_PXE_bit(const void *const hw)
+{
+ return (((Can *)hw)->PSR.reg & CAN_PSR_PXE) >> CAN_PSR_PXE_Pos;
+}
+
+static inline hri_can_psr_reg_t hri_can_get_PSR_LEC_bf(const void *const hw, hri_can_psr_reg_t mask)
+{
+ return (((Can *)hw)->PSR.reg & CAN_PSR_LEC(mask)) >> CAN_PSR_LEC_Pos;
+}
+
+static inline hri_can_psr_reg_t hri_can_read_PSR_LEC_bf(const void *const hw)
+{
+ return (((Can *)hw)->PSR.reg & CAN_PSR_LEC_Msk) >> CAN_PSR_LEC_Pos;
+}
+
+static inline hri_can_psr_reg_t hri_can_get_PSR_ACT_bf(const void *const hw, hri_can_psr_reg_t mask)
+{
+ return (((Can *)hw)->PSR.reg & CAN_PSR_ACT(mask)) >> CAN_PSR_ACT_Pos;
+}
+
+static inline hri_can_psr_reg_t hri_can_read_PSR_ACT_bf(const void *const hw)
+{
+ return (((Can *)hw)->PSR.reg & CAN_PSR_ACT_Msk) >> CAN_PSR_ACT_Pos;
+}
+
+static inline hri_can_psr_reg_t hri_can_get_PSR_DLEC_bf(const void *const hw, hri_can_psr_reg_t mask)
+{
+ return (((Can *)hw)->PSR.reg & CAN_PSR_DLEC(mask)) >> CAN_PSR_DLEC_Pos;
+}
+
+static inline hri_can_psr_reg_t hri_can_read_PSR_DLEC_bf(const void *const hw)
+{
+ return (((Can *)hw)->PSR.reg & CAN_PSR_DLEC_Msk) >> CAN_PSR_DLEC_Pos;
+}
+
+static inline hri_can_psr_reg_t hri_can_get_PSR_TDCV_bf(const void *const hw, hri_can_psr_reg_t mask)
+{
+ return (((Can *)hw)->PSR.reg & CAN_PSR_TDCV(mask)) >> CAN_PSR_TDCV_Pos;
+}
+
+static inline hri_can_psr_reg_t hri_can_read_PSR_TDCV_bf(const void *const hw)
+{
+ return (((Can *)hw)->PSR.reg & CAN_PSR_TDCV_Msk) >> CAN_PSR_TDCV_Pos;
+}
+
+static inline hri_can_psr_reg_t hri_can_get_PSR_reg(const void *const hw, hri_can_psr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->PSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_can_psr_reg_t hri_can_read_PSR_reg(const void *const hw)
+{
+ return ((Can *)hw)->PSR.reg;
+}
+
+static inline bool hri_can_get_HPMS_FLST_bit(const void *const hw)
+{
+ return (((Can *)hw)->HPMS.reg & CAN_HPMS_FLST) >> CAN_HPMS_FLST_Pos;
+}
+
+static inline hri_can_hpms_reg_t hri_can_get_HPMS_BIDX_bf(const void *const hw, hri_can_hpms_reg_t mask)
+{
+ return (((Can *)hw)->HPMS.reg & CAN_HPMS_BIDX(mask)) >> CAN_HPMS_BIDX_Pos;
+}
+
+static inline hri_can_hpms_reg_t hri_can_read_HPMS_BIDX_bf(const void *const hw)
+{
+ return (((Can *)hw)->HPMS.reg & CAN_HPMS_BIDX_Msk) >> CAN_HPMS_BIDX_Pos;
+}
+
+static inline hri_can_hpms_reg_t hri_can_get_HPMS_MSI_bf(const void *const hw, hri_can_hpms_reg_t mask)
+{
+ return (((Can *)hw)->HPMS.reg & CAN_HPMS_MSI(mask)) >> CAN_HPMS_MSI_Pos;
+}
+
+static inline hri_can_hpms_reg_t hri_can_read_HPMS_MSI_bf(const void *const hw)
+{
+ return (((Can *)hw)->HPMS.reg & CAN_HPMS_MSI_Msk) >> CAN_HPMS_MSI_Pos;
+}
+
+static inline hri_can_hpms_reg_t hri_can_get_HPMS_FIDX_bf(const void *const hw, hri_can_hpms_reg_t mask)
+{
+ return (((Can *)hw)->HPMS.reg & CAN_HPMS_FIDX(mask)) >> CAN_HPMS_FIDX_Pos;
+}
+
+static inline hri_can_hpms_reg_t hri_can_read_HPMS_FIDX_bf(const void *const hw)
+{
+ return (((Can *)hw)->HPMS.reg & CAN_HPMS_FIDX_Msk) >> CAN_HPMS_FIDX_Pos;
+}
+
+static inline hri_can_hpms_reg_t hri_can_get_HPMS_reg(const void *const hw, hri_can_hpms_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->HPMS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_can_hpms_reg_t hri_can_read_HPMS_reg(const void *const hw)
+{
+ return ((Can *)hw)->HPMS.reg;
+}
+
+static inline bool hri_can_get_RXF0S_F0F_bit(const void *const hw)
+{
+ return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_F0F) >> CAN_RXF0S_F0F_Pos;
+}
+
+static inline bool hri_can_get_RXF0S_RF0L_bit(const void *const hw)
+{
+ return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_RF0L) >> CAN_RXF0S_RF0L_Pos;
+}
+
+static inline hri_can_rxf0s_reg_t hri_can_get_RXF0S_F0FL_bf(const void *const hw, hri_can_rxf0s_reg_t mask)
+{
+ return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_F0FL(mask)) >> CAN_RXF0S_F0FL_Pos;
+}
+
+static inline hri_can_rxf0s_reg_t hri_can_read_RXF0S_F0FL_bf(const void *const hw)
+{
+ return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_F0FL_Msk) >> CAN_RXF0S_F0FL_Pos;
+}
+
+static inline hri_can_rxf0s_reg_t hri_can_get_RXF0S_F0GI_bf(const void *const hw, hri_can_rxf0s_reg_t mask)
+{
+ return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_F0GI(mask)) >> CAN_RXF0S_F0GI_Pos;
+}
+
+static inline hri_can_rxf0s_reg_t hri_can_read_RXF0S_F0GI_bf(const void *const hw)
+{
+ return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_F0GI_Msk) >> CAN_RXF0S_F0GI_Pos;
+}
+
+static inline hri_can_rxf0s_reg_t hri_can_get_RXF0S_F0PI_bf(const void *const hw, hri_can_rxf0s_reg_t mask)
+{
+ return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_F0PI(mask)) >> CAN_RXF0S_F0PI_Pos;
+}
+
+static inline hri_can_rxf0s_reg_t hri_can_read_RXF0S_F0PI_bf(const void *const hw)
+{
+ return (((Can *)hw)->RXF0S.reg & CAN_RXF0S_F0PI_Msk) >> CAN_RXF0S_F0PI_Pos;
+}
+
+static inline hri_can_rxf0s_reg_t hri_can_get_RXF0S_reg(const void *const hw, hri_can_rxf0s_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF0S.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_can_rxf0s_reg_t hri_can_read_RXF0S_reg(const void *const hw)
+{
+ return ((Can *)hw)->RXF0S.reg;
+}
+
+static inline bool hri_can_get_RXF1S_F1F_bit(const void *const hw)
+{
+ return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_F1F) >> CAN_RXF1S_F1F_Pos;
+}
+
+static inline bool hri_can_get_RXF1S_RF1L_bit(const void *const hw)
+{
+ return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_RF1L) >> CAN_RXF1S_RF1L_Pos;
+}
+
+static inline hri_can_rxf1s_reg_t hri_can_get_RXF1S_F1FL_bf(const void *const hw, hri_can_rxf1s_reg_t mask)
+{
+ return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_F1FL(mask)) >> CAN_RXF1S_F1FL_Pos;
+}
+
+static inline hri_can_rxf1s_reg_t hri_can_read_RXF1S_F1FL_bf(const void *const hw)
+{
+ return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_F1FL_Msk) >> CAN_RXF1S_F1FL_Pos;
+}
+
+static inline hri_can_rxf1s_reg_t hri_can_get_RXF1S_F1GI_bf(const void *const hw, hri_can_rxf1s_reg_t mask)
+{
+ return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_F1GI(mask)) >> CAN_RXF1S_F1GI_Pos;
+}
+
+static inline hri_can_rxf1s_reg_t hri_can_read_RXF1S_F1GI_bf(const void *const hw)
+{
+ return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_F1GI_Msk) >> CAN_RXF1S_F1GI_Pos;
+}
+
+static inline hri_can_rxf1s_reg_t hri_can_get_RXF1S_F1PI_bf(const void *const hw, hri_can_rxf1s_reg_t mask)
+{
+ return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_F1PI(mask)) >> CAN_RXF1S_F1PI_Pos;
+}
+
+static inline hri_can_rxf1s_reg_t hri_can_read_RXF1S_F1PI_bf(const void *const hw)
+{
+ return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_F1PI_Msk) >> CAN_RXF1S_F1PI_Pos;
+}
+
+static inline hri_can_rxf1s_reg_t hri_can_get_RXF1S_DMS_bf(const void *const hw, hri_can_rxf1s_reg_t mask)
+{
+ return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_DMS(mask)) >> CAN_RXF1S_DMS_Pos;
+}
+
+static inline hri_can_rxf1s_reg_t hri_can_read_RXF1S_DMS_bf(const void *const hw)
+{
+ return (((Can *)hw)->RXF1S.reg & CAN_RXF1S_DMS_Msk) >> CAN_RXF1S_DMS_Pos;
+}
+
+static inline hri_can_rxf1s_reg_t hri_can_get_RXF1S_reg(const void *const hw, hri_can_rxf1s_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF1S.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_can_rxf1s_reg_t hri_can_read_RXF1S_reg(const void *const hw)
+{
+ return ((Can *)hw)->RXF1S.reg;
+}
+
+static inline bool hri_can_get_TXFQS_TFQF_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXFQS.reg & CAN_TXFQS_TFQF) >> CAN_TXFQS_TFQF_Pos;
+}
+
+static inline hri_can_txfqs_reg_t hri_can_get_TXFQS_TFFL_bf(const void *const hw, hri_can_txfqs_reg_t mask)
+{
+ return (((Can *)hw)->TXFQS.reg & CAN_TXFQS_TFFL(mask)) >> CAN_TXFQS_TFFL_Pos;
+}
+
+static inline hri_can_txfqs_reg_t hri_can_read_TXFQS_TFFL_bf(const void *const hw)
+{
+ return (((Can *)hw)->TXFQS.reg & CAN_TXFQS_TFFL_Msk) >> CAN_TXFQS_TFFL_Pos;
+}
+
+static inline hri_can_txfqs_reg_t hri_can_get_TXFQS_TFGI_bf(const void *const hw, hri_can_txfqs_reg_t mask)
+{
+ return (((Can *)hw)->TXFQS.reg & CAN_TXFQS_TFGI(mask)) >> CAN_TXFQS_TFGI_Pos;
+}
+
+static inline hri_can_txfqs_reg_t hri_can_read_TXFQS_TFGI_bf(const void *const hw)
+{
+ return (((Can *)hw)->TXFQS.reg & CAN_TXFQS_TFGI_Msk) >> CAN_TXFQS_TFGI_Pos;
+}
+
+static inline hri_can_txfqs_reg_t hri_can_get_TXFQS_TFQPI_bf(const void *const hw, hri_can_txfqs_reg_t mask)
+{
+ return (((Can *)hw)->TXFQS.reg & CAN_TXFQS_TFQPI(mask)) >> CAN_TXFQS_TFQPI_Pos;
+}
+
+static inline hri_can_txfqs_reg_t hri_can_read_TXFQS_TFQPI_bf(const void *const hw)
+{
+ return (((Can *)hw)->TXFQS.reg & CAN_TXFQS_TFQPI_Msk) >> CAN_TXFQS_TFQPI_Pos;
+}
+
+static inline hri_can_txfqs_reg_t hri_can_get_TXFQS_reg(const void *const hw, hri_can_txfqs_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXFQS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_can_txfqs_reg_t hri_can_read_TXFQS_reg(const void *const hw)
+{
+ return ((Can *)hw)->TXFQS.reg;
+}
+
+static inline bool hri_can_get_TXBRP_TRP0_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP0) >> CAN_TXBRP_TRP0_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP1_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP1) >> CAN_TXBRP_TRP1_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP2_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP2) >> CAN_TXBRP_TRP2_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP3_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP3) >> CAN_TXBRP_TRP3_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP4_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP4) >> CAN_TXBRP_TRP4_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP5_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP5) >> CAN_TXBRP_TRP5_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP6_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP6) >> CAN_TXBRP_TRP6_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP7_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP7) >> CAN_TXBRP_TRP7_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP8_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP8) >> CAN_TXBRP_TRP8_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP9_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP9) >> CAN_TXBRP_TRP9_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP10_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP10) >> CAN_TXBRP_TRP10_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP11_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP11) >> CAN_TXBRP_TRP11_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP12_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP12) >> CAN_TXBRP_TRP12_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP13_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP13) >> CAN_TXBRP_TRP13_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP14_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP14) >> CAN_TXBRP_TRP14_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP15_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP15) >> CAN_TXBRP_TRP15_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP16_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP16) >> CAN_TXBRP_TRP16_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP17_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP17) >> CAN_TXBRP_TRP17_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP18_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP18) >> CAN_TXBRP_TRP18_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP19_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP19) >> CAN_TXBRP_TRP19_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP20_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP20) >> CAN_TXBRP_TRP20_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP21_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP21) >> CAN_TXBRP_TRP21_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP22_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP22) >> CAN_TXBRP_TRP22_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP23_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP23) >> CAN_TXBRP_TRP23_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP24_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP24) >> CAN_TXBRP_TRP24_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP25_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP25) >> CAN_TXBRP_TRP25_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP26_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP26) >> CAN_TXBRP_TRP26_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP27_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP27) >> CAN_TXBRP_TRP27_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP28_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP28) >> CAN_TXBRP_TRP28_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP29_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP29) >> CAN_TXBRP_TRP29_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP30_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP30) >> CAN_TXBRP_TRP30_Pos;
+}
+
+static inline bool hri_can_get_TXBRP_TRP31_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBRP.reg & CAN_TXBRP_TRP31) >> CAN_TXBRP_TRP31_Pos;
+}
+
+static inline hri_can_txbrp_reg_t hri_can_get_TXBRP_reg(const void *const hw, hri_can_txbrp_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBRP.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_can_txbrp_reg_t hri_can_read_TXBRP_reg(const void *const hw)
+{
+ return ((Can *)hw)->TXBRP.reg;
+}
+
+static inline bool hri_can_get_TXBTO_TO0_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO0) >> CAN_TXBTO_TO0_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO1_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO1) >> CAN_TXBTO_TO1_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO2_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO2) >> CAN_TXBTO_TO2_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO3_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO3) >> CAN_TXBTO_TO3_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO4_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO4) >> CAN_TXBTO_TO4_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO5_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO5) >> CAN_TXBTO_TO5_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO6_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO6) >> CAN_TXBTO_TO6_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO7_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO7) >> CAN_TXBTO_TO7_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO8_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO8) >> CAN_TXBTO_TO8_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO9_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO9) >> CAN_TXBTO_TO9_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO10_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO10) >> CAN_TXBTO_TO10_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO11_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO11) >> CAN_TXBTO_TO11_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO12_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO12) >> CAN_TXBTO_TO12_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO13_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO13) >> CAN_TXBTO_TO13_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO14_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO14) >> CAN_TXBTO_TO14_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO15_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO15) >> CAN_TXBTO_TO15_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO16_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO16) >> CAN_TXBTO_TO16_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO17_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO17) >> CAN_TXBTO_TO17_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO18_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO18) >> CAN_TXBTO_TO18_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO19_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO19) >> CAN_TXBTO_TO19_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO20_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO20) >> CAN_TXBTO_TO20_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO21_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO21) >> CAN_TXBTO_TO21_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO22_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO22) >> CAN_TXBTO_TO22_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO23_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO23) >> CAN_TXBTO_TO23_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO24_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO24) >> CAN_TXBTO_TO24_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO25_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO25) >> CAN_TXBTO_TO25_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO26_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO26) >> CAN_TXBTO_TO26_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO27_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO27) >> CAN_TXBTO_TO27_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO28_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO28) >> CAN_TXBTO_TO28_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO29_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO29) >> CAN_TXBTO_TO29_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO30_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO30) >> CAN_TXBTO_TO30_Pos;
+}
+
+static inline bool hri_can_get_TXBTO_TO31_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBTO.reg & CAN_TXBTO_TO31) >> CAN_TXBTO_TO31_Pos;
+}
+
+static inline hri_can_txbto_reg_t hri_can_get_TXBTO_reg(const void *const hw, hri_can_txbto_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTO.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_can_txbto_reg_t hri_can_read_TXBTO_reg(const void *const hw)
+{
+ return ((Can *)hw)->TXBTO.reg;
+}
+
+static inline bool hri_can_get_TXBCF_CF0_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF0) >> CAN_TXBCF_CF0_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF1_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF1) >> CAN_TXBCF_CF1_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF2_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF2) >> CAN_TXBCF_CF2_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF3_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF3) >> CAN_TXBCF_CF3_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF4_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF4) >> CAN_TXBCF_CF4_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF5_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF5) >> CAN_TXBCF_CF5_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF6_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF6) >> CAN_TXBCF_CF6_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF7_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF7) >> CAN_TXBCF_CF7_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF8_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF8) >> CAN_TXBCF_CF8_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF9_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF9) >> CAN_TXBCF_CF9_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF10_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF10) >> CAN_TXBCF_CF10_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF11_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF11) >> CAN_TXBCF_CF11_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF12_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF12) >> CAN_TXBCF_CF12_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF13_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF13) >> CAN_TXBCF_CF13_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF14_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF14) >> CAN_TXBCF_CF14_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF15_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF15) >> CAN_TXBCF_CF15_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF16_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF16) >> CAN_TXBCF_CF16_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF17_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF17) >> CAN_TXBCF_CF17_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF18_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF18) >> CAN_TXBCF_CF18_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF19_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF19) >> CAN_TXBCF_CF19_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF20_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF20) >> CAN_TXBCF_CF20_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF21_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF21) >> CAN_TXBCF_CF21_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF22_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF22) >> CAN_TXBCF_CF22_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF23_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF23) >> CAN_TXBCF_CF23_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF24_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF24) >> CAN_TXBCF_CF24_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF25_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF25) >> CAN_TXBCF_CF25_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF26_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF26) >> CAN_TXBCF_CF26_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF27_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF27) >> CAN_TXBCF_CF27_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF28_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF28) >> CAN_TXBCF_CF28_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF29_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF29) >> CAN_TXBCF_CF29_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF30_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF30) >> CAN_TXBCF_CF30_Pos;
+}
+
+static inline bool hri_can_get_TXBCF_CF31_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXBCF.reg & CAN_TXBCF_CF31) >> CAN_TXBCF_CF31_Pos;
+}
+
+static inline hri_can_txbcf_reg_t hri_can_get_TXBCF_reg(const void *const hw, hri_can_txbcf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCF.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_can_txbcf_reg_t hri_can_read_TXBCF_reg(const void *const hw)
+{
+ return ((Can *)hw)->TXBCF.reg;
+}
+
+static inline bool hri_can_get_TXEFS_EFF_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_EFF) >> CAN_TXEFS_EFF_Pos;
+}
+
+static inline bool hri_can_get_TXEFS_TEFL_bit(const void *const hw)
+{
+ return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_TEFL) >> CAN_TXEFS_TEFL_Pos;
+}
+
+static inline hri_can_txefs_reg_t hri_can_get_TXEFS_EFFL_bf(const void *const hw, hri_can_txefs_reg_t mask)
+{
+ return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_EFFL(mask)) >> CAN_TXEFS_EFFL_Pos;
+}
+
+static inline hri_can_txefs_reg_t hri_can_read_TXEFS_EFFL_bf(const void *const hw)
+{
+ return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_EFFL_Msk) >> CAN_TXEFS_EFFL_Pos;
+}
+
+static inline hri_can_txefs_reg_t hri_can_get_TXEFS_EFGI_bf(const void *const hw, hri_can_txefs_reg_t mask)
+{
+ return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_EFGI(mask)) >> CAN_TXEFS_EFGI_Pos;
+}
+
+static inline hri_can_txefs_reg_t hri_can_read_TXEFS_EFGI_bf(const void *const hw)
+{
+ return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_EFGI_Msk) >> CAN_TXEFS_EFGI_Pos;
+}
+
+static inline hri_can_txefs_reg_t hri_can_get_TXEFS_EFPI_bf(const void *const hw, hri_can_txefs_reg_t mask)
+{
+ return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_EFPI(mask)) >> CAN_TXEFS_EFPI_Pos;
+}
+
+static inline hri_can_txefs_reg_t hri_can_read_TXEFS_EFPI_bf(const void *const hw)
+{
+ return (((Can *)hw)->TXEFS.reg & CAN_TXEFS_EFPI_Msk) >> CAN_TXEFS_EFPI_Pos;
+}
+
+static inline hri_can_txefs_reg_t hri_can_get_TXEFS_reg(const void *const hw, hri_can_txefs_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXEFS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_can_txefs_reg_t hri_can_read_TXEFS_reg(const void *const hw)
+{
+ return ((Can *)hw)->TXEFS.reg;
+}
+
+static inline void hri_can_set_MRCFG_QOS_bf(const void *const hw, hri_can_mrcfg_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->MRCFG.reg |= CAN_MRCFG_QOS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_mrcfg_reg_t hri_can_get_MRCFG_QOS_bf(const void *const hw, hri_can_mrcfg_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->MRCFG.reg;
+ tmp = (tmp & CAN_MRCFG_QOS(mask)) >> CAN_MRCFG_QOS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_MRCFG_QOS_bf(const void *const hw, hri_can_mrcfg_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->MRCFG.reg;
+ tmp &= ~CAN_MRCFG_QOS_Msk;
+ tmp |= CAN_MRCFG_QOS(data);
+ ((Can *)hw)->MRCFG.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_MRCFG_QOS_bf(const void *const hw, hri_can_mrcfg_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->MRCFG.reg &= ~CAN_MRCFG_QOS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_MRCFG_QOS_bf(const void *const hw, hri_can_mrcfg_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->MRCFG.reg ^= CAN_MRCFG_QOS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_mrcfg_reg_t hri_can_read_MRCFG_QOS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->MRCFG.reg;
+ tmp = (tmp & CAN_MRCFG_QOS_Msk) >> CAN_MRCFG_QOS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_MRCFG_reg(const void *const hw, hri_can_mrcfg_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->MRCFG.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_mrcfg_reg_t hri_can_get_MRCFG_reg(const void *const hw, hri_can_mrcfg_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->MRCFG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_MRCFG_reg(const void *const hw, hri_can_mrcfg_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->MRCFG.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_MRCFG_reg(const void *const hw, hri_can_mrcfg_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->MRCFG.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_MRCFG_reg(const void *const hw, hri_can_mrcfg_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->MRCFG.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_mrcfg_reg_t hri_can_read_MRCFG_reg(const void *const hw)
+{
+ return ((Can *)hw)->MRCFG.reg;
+}
+
+static inline void hri_can_set_DBTP_TDC_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg |= CAN_DBTP_TDC;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_DBTP_TDC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->DBTP.reg;
+ tmp = (tmp & CAN_DBTP_TDC) >> CAN_DBTP_TDC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_DBTP_TDC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->DBTP.reg;
+ tmp &= ~CAN_DBTP_TDC;
+ tmp |= value << CAN_DBTP_TDC_Pos;
+ ((Can *)hw)->DBTP.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_DBTP_TDC_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg &= ~CAN_DBTP_TDC;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_DBTP_TDC_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg ^= CAN_DBTP_TDC;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_DBTP_DSJW_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg |= CAN_DBTP_DSJW(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_dbtp_reg_t hri_can_get_DBTP_DSJW_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->DBTP.reg;
+ tmp = (tmp & CAN_DBTP_DSJW(mask)) >> CAN_DBTP_DSJW_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_DBTP_DSJW_bf(const void *const hw, hri_can_dbtp_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->DBTP.reg;
+ tmp &= ~CAN_DBTP_DSJW_Msk;
+ tmp |= CAN_DBTP_DSJW(data);
+ ((Can *)hw)->DBTP.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_DBTP_DSJW_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg &= ~CAN_DBTP_DSJW(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_DBTP_DSJW_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg ^= CAN_DBTP_DSJW(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_dbtp_reg_t hri_can_read_DBTP_DSJW_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->DBTP.reg;
+ tmp = (tmp & CAN_DBTP_DSJW_Msk) >> CAN_DBTP_DSJW_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_DBTP_DTSEG2_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg |= CAN_DBTP_DTSEG2(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_dbtp_reg_t hri_can_get_DBTP_DTSEG2_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->DBTP.reg;
+ tmp = (tmp & CAN_DBTP_DTSEG2(mask)) >> CAN_DBTP_DTSEG2_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_DBTP_DTSEG2_bf(const void *const hw, hri_can_dbtp_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->DBTP.reg;
+ tmp &= ~CAN_DBTP_DTSEG2_Msk;
+ tmp |= CAN_DBTP_DTSEG2(data);
+ ((Can *)hw)->DBTP.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_DBTP_DTSEG2_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg &= ~CAN_DBTP_DTSEG2(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_DBTP_DTSEG2_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg ^= CAN_DBTP_DTSEG2(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_dbtp_reg_t hri_can_read_DBTP_DTSEG2_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->DBTP.reg;
+ tmp = (tmp & CAN_DBTP_DTSEG2_Msk) >> CAN_DBTP_DTSEG2_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_DBTP_DTSEG1_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg |= CAN_DBTP_DTSEG1(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_dbtp_reg_t hri_can_get_DBTP_DTSEG1_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->DBTP.reg;
+ tmp = (tmp & CAN_DBTP_DTSEG1(mask)) >> CAN_DBTP_DTSEG1_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_DBTP_DTSEG1_bf(const void *const hw, hri_can_dbtp_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->DBTP.reg;
+ tmp &= ~CAN_DBTP_DTSEG1_Msk;
+ tmp |= CAN_DBTP_DTSEG1(data);
+ ((Can *)hw)->DBTP.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_DBTP_DTSEG1_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg &= ~CAN_DBTP_DTSEG1(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_DBTP_DTSEG1_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg ^= CAN_DBTP_DTSEG1(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_dbtp_reg_t hri_can_read_DBTP_DTSEG1_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->DBTP.reg;
+ tmp = (tmp & CAN_DBTP_DTSEG1_Msk) >> CAN_DBTP_DTSEG1_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_DBTP_DBRP_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg |= CAN_DBTP_DBRP(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_dbtp_reg_t hri_can_get_DBTP_DBRP_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->DBTP.reg;
+ tmp = (tmp & CAN_DBTP_DBRP(mask)) >> CAN_DBTP_DBRP_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_DBTP_DBRP_bf(const void *const hw, hri_can_dbtp_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->DBTP.reg;
+ tmp &= ~CAN_DBTP_DBRP_Msk;
+ tmp |= CAN_DBTP_DBRP(data);
+ ((Can *)hw)->DBTP.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_DBTP_DBRP_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg &= ~CAN_DBTP_DBRP(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_DBTP_DBRP_bf(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg ^= CAN_DBTP_DBRP(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_dbtp_reg_t hri_can_read_DBTP_DBRP_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->DBTP.reg;
+ tmp = (tmp & CAN_DBTP_DBRP_Msk) >> CAN_DBTP_DBRP_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_DBTP_reg(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_dbtp_reg_t hri_can_get_DBTP_reg(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->DBTP.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_DBTP_reg(const void *const hw, hri_can_dbtp_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_DBTP_reg(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_DBTP_reg(const void *const hw, hri_can_dbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->DBTP.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_dbtp_reg_t hri_can_read_DBTP_reg(const void *const hw)
+{
+ return ((Can *)hw)->DBTP.reg;
+}
+
+static inline void hri_can_set_TEST_LBCK_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TEST.reg |= CAN_TEST_LBCK;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TEST_LBCK_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TEST.reg;
+ tmp = (tmp & CAN_TEST_LBCK) >> CAN_TEST_LBCK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TEST_LBCK_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TEST.reg;
+ tmp &= ~CAN_TEST_LBCK;
+ tmp |= value << CAN_TEST_LBCK_Pos;
+ ((Can *)hw)->TEST.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TEST_LBCK_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TEST.reg &= ~CAN_TEST_LBCK;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TEST_LBCK_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TEST.reg ^= CAN_TEST_LBCK;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TEST_RX_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TEST.reg |= CAN_TEST_RX;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TEST_RX_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TEST.reg;
+ tmp = (tmp & CAN_TEST_RX) >> CAN_TEST_RX_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TEST_RX_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TEST.reg;
+ tmp &= ~CAN_TEST_RX;
+ tmp |= value << CAN_TEST_RX_Pos;
+ ((Can *)hw)->TEST.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TEST_RX_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TEST.reg &= ~CAN_TEST_RX;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TEST_RX_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TEST.reg ^= CAN_TEST_RX;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TEST_TX_bf(const void *const hw, hri_can_test_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TEST.reg |= CAN_TEST_TX(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_test_reg_t hri_can_get_TEST_TX_bf(const void *const hw, hri_can_test_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TEST.reg;
+ tmp = (tmp & CAN_TEST_TX(mask)) >> CAN_TEST_TX_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TEST_TX_bf(const void *const hw, hri_can_test_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TEST.reg;
+ tmp &= ~CAN_TEST_TX_Msk;
+ tmp |= CAN_TEST_TX(data);
+ ((Can *)hw)->TEST.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TEST_TX_bf(const void *const hw, hri_can_test_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TEST.reg &= ~CAN_TEST_TX(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TEST_TX_bf(const void *const hw, hri_can_test_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TEST.reg ^= CAN_TEST_TX(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_test_reg_t hri_can_read_TEST_TX_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TEST.reg;
+ tmp = (tmp & CAN_TEST_TX_Msk) >> CAN_TEST_TX_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TEST_reg(const void *const hw, hri_can_test_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TEST.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_test_reg_t hri_can_get_TEST_reg(const void *const hw, hri_can_test_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TEST.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_TEST_reg(const void *const hw, hri_can_test_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TEST.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TEST_reg(const void *const hw, hri_can_test_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TEST.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TEST_reg(const void *const hw, hri_can_test_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TEST.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_test_reg_t hri_can_read_TEST_reg(const void *const hw)
+{
+ return ((Can *)hw)->TEST.reg;
+}
+
+static inline void hri_can_set_RWD_WDC_bf(const void *const hw, hri_can_rwd_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RWD.reg |= CAN_RWD_WDC(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rwd_reg_t hri_can_get_RWD_WDC_bf(const void *const hw, hri_can_rwd_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RWD.reg;
+ tmp = (tmp & CAN_RWD_WDC(mask)) >> CAN_RWD_WDC_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_RWD_WDC_bf(const void *const hw, hri_can_rwd_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RWD.reg;
+ tmp &= ~CAN_RWD_WDC_Msk;
+ tmp |= CAN_RWD_WDC(data);
+ ((Can *)hw)->RWD.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RWD_WDC_bf(const void *const hw, hri_can_rwd_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RWD.reg &= ~CAN_RWD_WDC(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RWD_WDC_bf(const void *const hw, hri_can_rwd_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RWD.reg ^= CAN_RWD_WDC(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rwd_reg_t hri_can_read_RWD_WDC_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RWD.reg;
+ tmp = (tmp & CAN_RWD_WDC_Msk) >> CAN_RWD_WDC_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_RWD_WDV_bf(const void *const hw, hri_can_rwd_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RWD.reg |= CAN_RWD_WDV(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rwd_reg_t hri_can_get_RWD_WDV_bf(const void *const hw, hri_can_rwd_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RWD.reg;
+ tmp = (tmp & CAN_RWD_WDV(mask)) >> CAN_RWD_WDV_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_RWD_WDV_bf(const void *const hw, hri_can_rwd_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RWD.reg;
+ tmp &= ~CAN_RWD_WDV_Msk;
+ tmp |= CAN_RWD_WDV(data);
+ ((Can *)hw)->RWD.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RWD_WDV_bf(const void *const hw, hri_can_rwd_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RWD.reg &= ~CAN_RWD_WDV(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RWD_WDV_bf(const void *const hw, hri_can_rwd_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RWD.reg ^= CAN_RWD_WDV(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rwd_reg_t hri_can_read_RWD_WDV_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RWD.reg;
+ tmp = (tmp & CAN_RWD_WDV_Msk) >> CAN_RWD_WDV_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_RWD_reg(const void *const hw, hri_can_rwd_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RWD.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rwd_reg_t hri_can_get_RWD_reg(const void *const hw, hri_can_rwd_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RWD.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_RWD_reg(const void *const hw, hri_can_rwd_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RWD.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RWD_reg(const void *const hw, hri_can_rwd_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RWD.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RWD_reg(const void *const hw, hri_can_rwd_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RWD.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rwd_reg_t hri_can_read_RWD_reg(const void *const hw)
+{
+ return ((Can *)hw)->RWD.reg;
+}
+
+static inline void hri_can_set_CCCR_INIT_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg |= CAN_CCCR_INIT;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_CCCR_INIT_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp = (tmp & CAN_CCCR_INIT) >> CAN_CCCR_INIT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_CCCR_INIT_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp &= ~CAN_CCCR_INIT;
+ tmp |= value << CAN_CCCR_INIT_Pos;
+ ((Can *)hw)->CCCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_CCCR_INIT_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_INIT;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_CCCR_INIT_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg ^= CAN_CCCR_INIT;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_CCCR_CCE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg |= CAN_CCCR_CCE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_CCCR_CCE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp = (tmp & CAN_CCCR_CCE) >> CAN_CCCR_CCE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_CCCR_CCE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp &= ~CAN_CCCR_CCE;
+ tmp |= value << CAN_CCCR_CCE_Pos;
+ ((Can *)hw)->CCCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_CCCR_CCE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_CCE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_CCCR_CCE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg ^= CAN_CCCR_CCE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_CCCR_ASM_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg |= CAN_CCCR_ASM;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_CCCR_ASM_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp = (tmp & CAN_CCCR_ASM) >> CAN_CCCR_ASM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_CCCR_ASM_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp &= ~CAN_CCCR_ASM;
+ tmp |= value << CAN_CCCR_ASM_Pos;
+ ((Can *)hw)->CCCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_CCCR_ASM_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_ASM;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_CCCR_ASM_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg ^= CAN_CCCR_ASM;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_CCCR_CSA_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg |= CAN_CCCR_CSA;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_CCCR_CSA_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp = (tmp & CAN_CCCR_CSA) >> CAN_CCCR_CSA_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_CCCR_CSA_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp &= ~CAN_CCCR_CSA;
+ tmp |= value << CAN_CCCR_CSA_Pos;
+ ((Can *)hw)->CCCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_CCCR_CSA_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_CSA;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_CCCR_CSA_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg ^= CAN_CCCR_CSA;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_CCCR_CSR_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg |= CAN_CCCR_CSR;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_CCCR_CSR_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp = (tmp & CAN_CCCR_CSR) >> CAN_CCCR_CSR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_CCCR_CSR_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp &= ~CAN_CCCR_CSR;
+ tmp |= value << CAN_CCCR_CSR_Pos;
+ ((Can *)hw)->CCCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_CCCR_CSR_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_CSR;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_CCCR_CSR_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg ^= CAN_CCCR_CSR;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_CCCR_MON_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg |= CAN_CCCR_MON;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_CCCR_MON_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp = (tmp & CAN_CCCR_MON) >> CAN_CCCR_MON_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_CCCR_MON_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp &= ~CAN_CCCR_MON;
+ tmp |= value << CAN_CCCR_MON_Pos;
+ ((Can *)hw)->CCCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_CCCR_MON_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_MON;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_CCCR_MON_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg ^= CAN_CCCR_MON;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_CCCR_DAR_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg |= CAN_CCCR_DAR;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_CCCR_DAR_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp = (tmp & CAN_CCCR_DAR) >> CAN_CCCR_DAR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_CCCR_DAR_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp &= ~CAN_CCCR_DAR;
+ tmp |= value << CAN_CCCR_DAR_Pos;
+ ((Can *)hw)->CCCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_CCCR_DAR_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_DAR;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_CCCR_DAR_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg ^= CAN_CCCR_DAR;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_CCCR_TEST_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg |= CAN_CCCR_TEST;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_CCCR_TEST_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp = (tmp & CAN_CCCR_TEST) >> CAN_CCCR_TEST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_CCCR_TEST_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp &= ~CAN_CCCR_TEST;
+ tmp |= value << CAN_CCCR_TEST_Pos;
+ ((Can *)hw)->CCCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_CCCR_TEST_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_TEST;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_CCCR_TEST_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg ^= CAN_CCCR_TEST;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_CCCR_FDOE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg |= CAN_CCCR_FDOE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_CCCR_FDOE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp = (tmp & CAN_CCCR_FDOE) >> CAN_CCCR_FDOE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_CCCR_FDOE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp &= ~CAN_CCCR_FDOE;
+ tmp |= value << CAN_CCCR_FDOE_Pos;
+ ((Can *)hw)->CCCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_CCCR_FDOE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_FDOE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_CCCR_FDOE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg ^= CAN_CCCR_FDOE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_CCCR_BRSE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg |= CAN_CCCR_BRSE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_CCCR_BRSE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp = (tmp & CAN_CCCR_BRSE) >> CAN_CCCR_BRSE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_CCCR_BRSE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp &= ~CAN_CCCR_BRSE;
+ tmp |= value << CAN_CCCR_BRSE_Pos;
+ ((Can *)hw)->CCCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_CCCR_BRSE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_BRSE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_CCCR_BRSE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg ^= CAN_CCCR_BRSE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_CCCR_PXHD_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg |= CAN_CCCR_PXHD;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_CCCR_PXHD_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp = (tmp & CAN_CCCR_PXHD) >> CAN_CCCR_PXHD_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_CCCR_PXHD_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp &= ~CAN_CCCR_PXHD;
+ tmp |= value << CAN_CCCR_PXHD_Pos;
+ ((Can *)hw)->CCCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_CCCR_PXHD_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_PXHD;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_CCCR_PXHD_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg ^= CAN_CCCR_PXHD;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_CCCR_EFBI_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg |= CAN_CCCR_EFBI;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_CCCR_EFBI_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp = (tmp & CAN_CCCR_EFBI) >> CAN_CCCR_EFBI_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_CCCR_EFBI_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp &= ~CAN_CCCR_EFBI;
+ tmp |= value << CAN_CCCR_EFBI_Pos;
+ ((Can *)hw)->CCCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_CCCR_EFBI_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_EFBI;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_CCCR_EFBI_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg ^= CAN_CCCR_EFBI;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_CCCR_TXP_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg |= CAN_CCCR_TXP;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_CCCR_TXP_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp = (tmp & CAN_CCCR_TXP) >> CAN_CCCR_TXP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_CCCR_TXP_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp &= ~CAN_CCCR_TXP;
+ tmp |= value << CAN_CCCR_TXP_Pos;
+ ((Can *)hw)->CCCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_CCCR_TXP_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_TXP;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_CCCR_TXP_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg ^= CAN_CCCR_TXP;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_CCCR_NISO_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg |= CAN_CCCR_NISO;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_CCCR_NISO_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp = (tmp & CAN_CCCR_NISO) >> CAN_CCCR_NISO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_CCCR_NISO_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp &= ~CAN_CCCR_NISO;
+ tmp |= value << CAN_CCCR_NISO_Pos;
+ ((Can *)hw)->CCCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_CCCR_NISO_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg &= ~CAN_CCCR_NISO;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_CCCR_NISO_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg ^= CAN_CCCR_NISO;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_CCCR_reg(const void *const hw, hri_can_cccr_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_cccr_reg_t hri_can_get_CCCR_reg(const void *const hw, hri_can_cccr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->CCCR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_CCCR_reg(const void *const hw, hri_can_cccr_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_CCCR_reg(const void *const hw, hri_can_cccr_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_CCCR_reg(const void *const hw, hri_can_cccr_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->CCCR.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_cccr_reg_t hri_can_read_CCCR_reg(const void *const hw)
+{
+ return ((Can *)hw)->CCCR.reg;
+}
+
+static inline void hri_can_set_NBTP_NTSEG2_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg |= CAN_NBTP_NTSEG2(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_nbtp_reg_t hri_can_get_NBTP_NTSEG2_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NBTP.reg;
+ tmp = (tmp & CAN_NBTP_NTSEG2(mask)) >> CAN_NBTP_NTSEG2_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_NBTP_NTSEG2_bf(const void *const hw, hri_can_nbtp_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NBTP.reg;
+ tmp &= ~CAN_NBTP_NTSEG2_Msk;
+ tmp |= CAN_NBTP_NTSEG2(data);
+ ((Can *)hw)->NBTP.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NBTP_NTSEG2_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg &= ~CAN_NBTP_NTSEG2(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NBTP_NTSEG2_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg ^= CAN_NBTP_NTSEG2(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_nbtp_reg_t hri_can_read_NBTP_NTSEG2_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NBTP.reg;
+ tmp = (tmp & CAN_NBTP_NTSEG2_Msk) >> CAN_NBTP_NTSEG2_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_NBTP_NTSEG1_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg |= CAN_NBTP_NTSEG1(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_nbtp_reg_t hri_can_get_NBTP_NTSEG1_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NBTP.reg;
+ tmp = (tmp & CAN_NBTP_NTSEG1(mask)) >> CAN_NBTP_NTSEG1_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_NBTP_NTSEG1_bf(const void *const hw, hri_can_nbtp_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NBTP.reg;
+ tmp &= ~CAN_NBTP_NTSEG1_Msk;
+ tmp |= CAN_NBTP_NTSEG1(data);
+ ((Can *)hw)->NBTP.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NBTP_NTSEG1_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg &= ~CAN_NBTP_NTSEG1(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NBTP_NTSEG1_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg ^= CAN_NBTP_NTSEG1(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_nbtp_reg_t hri_can_read_NBTP_NTSEG1_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NBTP.reg;
+ tmp = (tmp & CAN_NBTP_NTSEG1_Msk) >> CAN_NBTP_NTSEG1_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_NBTP_NBRP_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg |= CAN_NBTP_NBRP(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_nbtp_reg_t hri_can_get_NBTP_NBRP_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NBTP.reg;
+ tmp = (tmp & CAN_NBTP_NBRP(mask)) >> CAN_NBTP_NBRP_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_NBTP_NBRP_bf(const void *const hw, hri_can_nbtp_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NBTP.reg;
+ tmp &= ~CAN_NBTP_NBRP_Msk;
+ tmp |= CAN_NBTP_NBRP(data);
+ ((Can *)hw)->NBTP.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NBTP_NBRP_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg &= ~CAN_NBTP_NBRP(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NBTP_NBRP_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg ^= CAN_NBTP_NBRP(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_nbtp_reg_t hri_can_read_NBTP_NBRP_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NBTP.reg;
+ tmp = (tmp & CAN_NBTP_NBRP_Msk) >> CAN_NBTP_NBRP_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_NBTP_NSJW_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg |= CAN_NBTP_NSJW(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_nbtp_reg_t hri_can_get_NBTP_NSJW_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NBTP.reg;
+ tmp = (tmp & CAN_NBTP_NSJW(mask)) >> CAN_NBTP_NSJW_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_NBTP_NSJW_bf(const void *const hw, hri_can_nbtp_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NBTP.reg;
+ tmp &= ~CAN_NBTP_NSJW_Msk;
+ tmp |= CAN_NBTP_NSJW(data);
+ ((Can *)hw)->NBTP.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NBTP_NSJW_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg &= ~CAN_NBTP_NSJW(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NBTP_NSJW_bf(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg ^= CAN_NBTP_NSJW(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_nbtp_reg_t hri_can_read_NBTP_NSJW_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NBTP.reg;
+ tmp = (tmp & CAN_NBTP_NSJW_Msk) >> CAN_NBTP_NSJW_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_NBTP_reg(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_nbtp_reg_t hri_can_get_NBTP_reg(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NBTP.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_NBTP_reg(const void *const hw, hri_can_nbtp_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NBTP_reg(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NBTP_reg(const void *const hw, hri_can_nbtp_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NBTP.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_nbtp_reg_t hri_can_read_NBTP_reg(const void *const hw)
+{
+ return ((Can *)hw)->NBTP.reg;
+}
+
+static inline void hri_can_set_TSCC_TSS_bf(const void *const hw, hri_can_tscc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TSCC.reg |= CAN_TSCC_TSS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tscc_reg_t hri_can_get_TSCC_TSS_bf(const void *const hw, hri_can_tscc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TSCC.reg;
+ tmp = (tmp & CAN_TSCC_TSS(mask)) >> CAN_TSCC_TSS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TSCC_TSS_bf(const void *const hw, hri_can_tscc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TSCC.reg;
+ tmp &= ~CAN_TSCC_TSS_Msk;
+ tmp |= CAN_TSCC_TSS(data);
+ ((Can *)hw)->TSCC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TSCC_TSS_bf(const void *const hw, hri_can_tscc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TSCC.reg &= ~CAN_TSCC_TSS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TSCC_TSS_bf(const void *const hw, hri_can_tscc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TSCC.reg ^= CAN_TSCC_TSS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tscc_reg_t hri_can_read_TSCC_TSS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TSCC.reg;
+ tmp = (tmp & CAN_TSCC_TSS_Msk) >> CAN_TSCC_TSS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TSCC_TCP_bf(const void *const hw, hri_can_tscc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TSCC.reg |= CAN_TSCC_TCP(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tscc_reg_t hri_can_get_TSCC_TCP_bf(const void *const hw, hri_can_tscc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TSCC.reg;
+ tmp = (tmp & CAN_TSCC_TCP(mask)) >> CAN_TSCC_TCP_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TSCC_TCP_bf(const void *const hw, hri_can_tscc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TSCC.reg;
+ tmp &= ~CAN_TSCC_TCP_Msk;
+ tmp |= CAN_TSCC_TCP(data);
+ ((Can *)hw)->TSCC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TSCC_TCP_bf(const void *const hw, hri_can_tscc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TSCC.reg &= ~CAN_TSCC_TCP(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TSCC_TCP_bf(const void *const hw, hri_can_tscc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TSCC.reg ^= CAN_TSCC_TCP(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tscc_reg_t hri_can_read_TSCC_TCP_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TSCC.reg;
+ tmp = (tmp & CAN_TSCC_TCP_Msk) >> CAN_TSCC_TCP_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TSCC_reg(const void *const hw, hri_can_tscc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TSCC.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tscc_reg_t hri_can_get_TSCC_reg(const void *const hw, hri_can_tscc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TSCC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_TSCC_reg(const void *const hw, hri_can_tscc_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TSCC.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TSCC_reg(const void *const hw, hri_can_tscc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TSCC.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TSCC_reg(const void *const hw, hri_can_tscc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TSCC.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tscc_reg_t hri_can_read_TSCC_reg(const void *const hw)
+{
+ return ((Can *)hw)->TSCC.reg;
+}
+
+static inline void hri_can_set_TOCC_ETOC_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCC.reg |= CAN_TOCC_ETOC;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TOCC_ETOC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TOCC.reg;
+ tmp = (tmp & CAN_TOCC_ETOC) >> CAN_TOCC_ETOC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TOCC_ETOC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TOCC.reg;
+ tmp &= ~CAN_TOCC_ETOC;
+ tmp |= value << CAN_TOCC_ETOC_Pos;
+ ((Can *)hw)->TOCC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TOCC_ETOC_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCC.reg &= ~CAN_TOCC_ETOC;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TOCC_ETOC_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCC.reg ^= CAN_TOCC_ETOC;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TOCC_TOS_bf(const void *const hw, hri_can_tocc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCC.reg |= CAN_TOCC_TOS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tocc_reg_t hri_can_get_TOCC_TOS_bf(const void *const hw, hri_can_tocc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TOCC.reg;
+ tmp = (tmp & CAN_TOCC_TOS(mask)) >> CAN_TOCC_TOS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TOCC_TOS_bf(const void *const hw, hri_can_tocc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TOCC.reg;
+ tmp &= ~CAN_TOCC_TOS_Msk;
+ tmp |= CAN_TOCC_TOS(data);
+ ((Can *)hw)->TOCC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TOCC_TOS_bf(const void *const hw, hri_can_tocc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCC.reg &= ~CAN_TOCC_TOS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TOCC_TOS_bf(const void *const hw, hri_can_tocc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCC.reg ^= CAN_TOCC_TOS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tocc_reg_t hri_can_read_TOCC_TOS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TOCC.reg;
+ tmp = (tmp & CAN_TOCC_TOS_Msk) >> CAN_TOCC_TOS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TOCC_TOP_bf(const void *const hw, hri_can_tocc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCC.reg |= CAN_TOCC_TOP(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tocc_reg_t hri_can_get_TOCC_TOP_bf(const void *const hw, hri_can_tocc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TOCC.reg;
+ tmp = (tmp & CAN_TOCC_TOP(mask)) >> CAN_TOCC_TOP_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TOCC_TOP_bf(const void *const hw, hri_can_tocc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TOCC.reg;
+ tmp &= ~CAN_TOCC_TOP_Msk;
+ tmp |= CAN_TOCC_TOP(data);
+ ((Can *)hw)->TOCC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TOCC_TOP_bf(const void *const hw, hri_can_tocc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCC.reg &= ~CAN_TOCC_TOP(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TOCC_TOP_bf(const void *const hw, hri_can_tocc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCC.reg ^= CAN_TOCC_TOP(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tocc_reg_t hri_can_read_TOCC_TOP_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TOCC.reg;
+ tmp = (tmp & CAN_TOCC_TOP_Msk) >> CAN_TOCC_TOP_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TOCC_reg(const void *const hw, hri_can_tocc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCC.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tocc_reg_t hri_can_get_TOCC_reg(const void *const hw, hri_can_tocc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TOCC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_TOCC_reg(const void *const hw, hri_can_tocc_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCC.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TOCC_reg(const void *const hw, hri_can_tocc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCC.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TOCC_reg(const void *const hw, hri_can_tocc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCC.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tocc_reg_t hri_can_read_TOCC_reg(const void *const hw)
+{
+ return ((Can *)hw)->TOCC.reg;
+}
+
+static inline void hri_can_set_TOCV_TOC_bf(const void *const hw, hri_can_tocv_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCV.reg |= CAN_TOCV_TOC(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tocv_reg_t hri_can_get_TOCV_TOC_bf(const void *const hw, hri_can_tocv_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TOCV.reg;
+ tmp = (tmp & CAN_TOCV_TOC(mask)) >> CAN_TOCV_TOC_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TOCV_TOC_bf(const void *const hw, hri_can_tocv_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TOCV.reg;
+ tmp &= ~CAN_TOCV_TOC_Msk;
+ tmp |= CAN_TOCV_TOC(data);
+ ((Can *)hw)->TOCV.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TOCV_TOC_bf(const void *const hw, hri_can_tocv_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCV.reg &= ~CAN_TOCV_TOC(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TOCV_TOC_bf(const void *const hw, hri_can_tocv_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCV.reg ^= CAN_TOCV_TOC(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tocv_reg_t hri_can_read_TOCV_TOC_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TOCV.reg;
+ tmp = (tmp & CAN_TOCV_TOC_Msk) >> CAN_TOCV_TOC_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TOCV_reg(const void *const hw, hri_can_tocv_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCV.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tocv_reg_t hri_can_get_TOCV_reg(const void *const hw, hri_can_tocv_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TOCV.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_TOCV_reg(const void *const hw, hri_can_tocv_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCV.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TOCV_reg(const void *const hw, hri_can_tocv_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCV.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TOCV_reg(const void *const hw, hri_can_tocv_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TOCV.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tocv_reg_t hri_can_read_TOCV_reg(const void *const hw)
+{
+ return ((Can *)hw)->TOCV.reg;
+}
+
+static inline void hri_can_set_TDCR_TDCF_bf(const void *const hw, hri_can_tdcr_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TDCR.reg |= CAN_TDCR_TDCF(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tdcr_reg_t hri_can_get_TDCR_TDCF_bf(const void *const hw, hri_can_tdcr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TDCR.reg;
+ tmp = (tmp & CAN_TDCR_TDCF(mask)) >> CAN_TDCR_TDCF_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TDCR_TDCF_bf(const void *const hw, hri_can_tdcr_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TDCR.reg;
+ tmp &= ~CAN_TDCR_TDCF_Msk;
+ tmp |= CAN_TDCR_TDCF(data);
+ ((Can *)hw)->TDCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TDCR_TDCF_bf(const void *const hw, hri_can_tdcr_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TDCR.reg &= ~CAN_TDCR_TDCF(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TDCR_TDCF_bf(const void *const hw, hri_can_tdcr_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TDCR.reg ^= CAN_TDCR_TDCF(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tdcr_reg_t hri_can_read_TDCR_TDCF_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TDCR.reg;
+ tmp = (tmp & CAN_TDCR_TDCF_Msk) >> CAN_TDCR_TDCF_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TDCR_TDCO_bf(const void *const hw, hri_can_tdcr_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TDCR.reg |= CAN_TDCR_TDCO(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tdcr_reg_t hri_can_get_TDCR_TDCO_bf(const void *const hw, hri_can_tdcr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TDCR.reg;
+ tmp = (tmp & CAN_TDCR_TDCO(mask)) >> CAN_TDCR_TDCO_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TDCR_TDCO_bf(const void *const hw, hri_can_tdcr_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TDCR.reg;
+ tmp &= ~CAN_TDCR_TDCO_Msk;
+ tmp |= CAN_TDCR_TDCO(data);
+ ((Can *)hw)->TDCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TDCR_TDCO_bf(const void *const hw, hri_can_tdcr_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TDCR.reg &= ~CAN_TDCR_TDCO(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TDCR_TDCO_bf(const void *const hw, hri_can_tdcr_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TDCR.reg ^= CAN_TDCR_TDCO(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tdcr_reg_t hri_can_read_TDCR_TDCO_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TDCR.reg;
+ tmp = (tmp & CAN_TDCR_TDCO_Msk) >> CAN_TDCR_TDCO_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TDCR_reg(const void *const hw, hri_can_tdcr_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TDCR.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tdcr_reg_t hri_can_get_TDCR_reg(const void *const hw, hri_can_tdcr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TDCR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_TDCR_reg(const void *const hw, hri_can_tdcr_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TDCR.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TDCR_reg(const void *const hw, hri_can_tdcr_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TDCR.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TDCR_reg(const void *const hw, hri_can_tdcr_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TDCR.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_tdcr_reg_t hri_can_read_TDCR_reg(const void *const hw)
+{
+ return ((Can *)hw)->TDCR.reg;
+}
+
+static inline void hri_can_set_IR_RF0N_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_RF0N;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_RF0N_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_RF0N) >> CAN_IR_RF0N_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_RF0N_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_RF0N;
+ tmp |= value << CAN_IR_RF0N_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_RF0N_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_RF0N;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_RF0N_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_RF0N;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_RF0W_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_RF0W;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_RF0W_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_RF0W) >> CAN_IR_RF0W_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_RF0W_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_RF0W;
+ tmp |= value << CAN_IR_RF0W_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_RF0W_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_RF0W;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_RF0W_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_RF0W;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_RF0F_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_RF0F;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_RF0F_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_RF0F) >> CAN_IR_RF0F_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_RF0F_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_RF0F;
+ tmp |= value << CAN_IR_RF0F_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_RF0F_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_RF0F;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_RF0F_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_RF0F;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_RF0L_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_RF0L;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_RF0L_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_RF0L) >> CAN_IR_RF0L_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_RF0L_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_RF0L;
+ tmp |= value << CAN_IR_RF0L_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_RF0L_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_RF0L;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_RF0L_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_RF0L;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_RF1N_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_RF1N;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_RF1N_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_RF1N) >> CAN_IR_RF1N_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_RF1N_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_RF1N;
+ tmp |= value << CAN_IR_RF1N_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_RF1N_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_RF1N;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_RF1N_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_RF1N;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_RF1W_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_RF1W;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_RF1W_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_RF1W) >> CAN_IR_RF1W_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_RF1W_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_RF1W;
+ tmp |= value << CAN_IR_RF1W_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_RF1W_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_RF1W;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_RF1W_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_RF1W;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_RF1F_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_RF1F;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_RF1F_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_RF1F) >> CAN_IR_RF1F_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_RF1F_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_RF1F;
+ tmp |= value << CAN_IR_RF1F_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_RF1F_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_RF1F;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_RF1F_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_RF1F;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_RF1L_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_RF1L;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_RF1L_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_RF1L) >> CAN_IR_RF1L_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_RF1L_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_RF1L;
+ tmp |= value << CAN_IR_RF1L_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_RF1L_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_RF1L;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_RF1L_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_RF1L;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_HPM_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_HPM;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_HPM_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_HPM) >> CAN_IR_HPM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_HPM_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_HPM;
+ tmp |= value << CAN_IR_HPM_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_HPM_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_HPM;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_HPM_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_HPM;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_TC_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_TC;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_TC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_TC) >> CAN_IR_TC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_TC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_TC;
+ tmp |= value << CAN_IR_TC_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_TC_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_TC;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_TC_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_TC;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_TCF_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_TCF;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_TCF_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_TCF) >> CAN_IR_TCF_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_TCF_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_TCF;
+ tmp |= value << CAN_IR_TCF_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_TCF_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_TCF;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_TCF_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_TCF;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_TFE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_TFE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_TFE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_TFE) >> CAN_IR_TFE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_TFE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_TFE;
+ tmp |= value << CAN_IR_TFE_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_TFE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_TFE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_TFE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_TFE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_TEFN_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_TEFN;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_TEFN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_TEFN) >> CAN_IR_TEFN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_TEFN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_TEFN;
+ tmp |= value << CAN_IR_TEFN_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_TEFN_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_TEFN;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_TEFN_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_TEFN;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_TEFW_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_TEFW;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_TEFW_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_TEFW) >> CAN_IR_TEFW_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_TEFW_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_TEFW;
+ tmp |= value << CAN_IR_TEFW_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_TEFW_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_TEFW;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_TEFW_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_TEFW;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_TEFF_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_TEFF;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_TEFF_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_TEFF) >> CAN_IR_TEFF_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_TEFF_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_TEFF;
+ tmp |= value << CAN_IR_TEFF_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_TEFF_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_TEFF;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_TEFF_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_TEFF;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_TEFL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_TEFL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_TEFL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_TEFL) >> CAN_IR_TEFL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_TEFL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_TEFL;
+ tmp |= value << CAN_IR_TEFL_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_TEFL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_TEFL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_TEFL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_TEFL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_TSW_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_TSW;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_TSW_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_TSW) >> CAN_IR_TSW_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_TSW_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_TSW;
+ tmp |= value << CAN_IR_TSW_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_TSW_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_TSW;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_TSW_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_TSW;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_MRAF_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_MRAF;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_MRAF_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_MRAF) >> CAN_IR_MRAF_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_MRAF_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_MRAF;
+ tmp |= value << CAN_IR_MRAF_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_MRAF_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_MRAF;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_MRAF_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_MRAF;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_TOO_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_TOO;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_TOO_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_TOO) >> CAN_IR_TOO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_TOO_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_TOO;
+ tmp |= value << CAN_IR_TOO_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_TOO_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_TOO;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_TOO_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_TOO;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_DRX_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_DRX;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_DRX_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_DRX) >> CAN_IR_DRX_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_DRX_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_DRX;
+ tmp |= value << CAN_IR_DRX_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_DRX_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_DRX;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_DRX_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_DRX;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_BEC_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_BEC;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_BEC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_BEC) >> CAN_IR_BEC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_BEC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_BEC;
+ tmp |= value << CAN_IR_BEC_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_BEC_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_BEC;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_BEC_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_BEC;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_BEU_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_BEU;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_BEU_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_BEU) >> CAN_IR_BEU_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_BEU_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_BEU;
+ tmp |= value << CAN_IR_BEU_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_BEU_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_BEU;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_BEU_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_BEU;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_ELO_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_ELO;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_ELO_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_ELO) >> CAN_IR_ELO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_ELO_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_ELO;
+ tmp |= value << CAN_IR_ELO_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_ELO_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_ELO;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_ELO_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_ELO;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_EP_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_EP;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_EP_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_EP) >> CAN_IR_EP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_EP_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_EP;
+ tmp |= value << CAN_IR_EP_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_EP_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_EP;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_EP_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_EP;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_EW_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_EW;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_EW_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_EW) >> CAN_IR_EW_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_EW_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_EW;
+ tmp |= value << CAN_IR_EW_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_EW_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_EW;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_EW_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_EW;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_BO_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_BO;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_BO_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_BO) >> CAN_IR_BO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_BO_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_BO;
+ tmp |= value << CAN_IR_BO_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_BO_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_BO;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_BO_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_BO;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_WDI_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_WDI;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_WDI_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_WDI) >> CAN_IR_WDI_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_WDI_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_WDI;
+ tmp |= value << CAN_IR_WDI_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_WDI_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_WDI;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_WDI_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_WDI;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_PEA_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_PEA;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_PEA_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_PEA) >> CAN_IR_PEA_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_PEA_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_PEA;
+ tmp |= value << CAN_IR_PEA_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_PEA_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_PEA;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_PEA_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_PEA;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_PED_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_PED;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_PED_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_PED) >> CAN_IR_PED_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_PED_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_PED;
+ tmp |= value << CAN_IR_PED_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_PED_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_PED;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_PED_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_PED;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_ARA_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= CAN_IR_ARA;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IR_ARA_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp = (tmp & CAN_IR_ARA) >> CAN_IR_ARA_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IR_ARA_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= ~CAN_IR_ARA;
+ tmp |= value << CAN_IR_ARA_Pos;
+ ((Can *)hw)->IR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_ARA_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~CAN_IR_ARA;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_ARA_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= CAN_IR_ARA;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IR_reg(const void *const hw, hri_can_ir_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_ir_reg_t hri_can_get_IR_reg(const void *const hw, hri_can_ir_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_IR_reg(const void *const hw, hri_can_ir_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IR_reg(const void *const hw, hri_can_ir_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IR_reg(const void *const hw, hri_can_ir_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IR.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_ir_reg_t hri_can_read_IR_reg(const void *const hw)
+{
+ return ((Can *)hw)->IR.reg;
+}
+
+static inline void hri_can_set_IE_RF0NE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_RF0NE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_RF0NE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_RF0NE) >> CAN_IE_RF0NE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_RF0NE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_RF0NE;
+ tmp |= value << CAN_IE_RF0NE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_RF0NE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_RF0NE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_RF0NE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_RF0NE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_RF0WE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_RF0WE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_RF0WE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_RF0WE) >> CAN_IE_RF0WE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_RF0WE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_RF0WE;
+ tmp |= value << CAN_IE_RF0WE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_RF0WE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_RF0WE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_RF0WE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_RF0WE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_RF0FE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_RF0FE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_RF0FE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_RF0FE) >> CAN_IE_RF0FE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_RF0FE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_RF0FE;
+ tmp |= value << CAN_IE_RF0FE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_RF0FE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_RF0FE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_RF0FE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_RF0FE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_RF0LE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_RF0LE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_RF0LE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_RF0LE) >> CAN_IE_RF0LE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_RF0LE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_RF0LE;
+ tmp |= value << CAN_IE_RF0LE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_RF0LE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_RF0LE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_RF0LE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_RF0LE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_RF1NE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_RF1NE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_RF1NE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_RF1NE) >> CAN_IE_RF1NE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_RF1NE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_RF1NE;
+ tmp |= value << CAN_IE_RF1NE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_RF1NE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_RF1NE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_RF1NE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_RF1NE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_RF1WE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_RF1WE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_RF1WE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_RF1WE) >> CAN_IE_RF1WE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_RF1WE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_RF1WE;
+ tmp |= value << CAN_IE_RF1WE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_RF1WE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_RF1WE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_RF1WE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_RF1WE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_RF1FE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_RF1FE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_RF1FE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_RF1FE) >> CAN_IE_RF1FE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_RF1FE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_RF1FE;
+ tmp |= value << CAN_IE_RF1FE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_RF1FE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_RF1FE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_RF1FE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_RF1FE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_RF1LE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_RF1LE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_RF1LE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_RF1LE) >> CAN_IE_RF1LE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_RF1LE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_RF1LE;
+ tmp |= value << CAN_IE_RF1LE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_RF1LE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_RF1LE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_RF1LE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_RF1LE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_HPME_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_HPME;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_HPME_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_HPME) >> CAN_IE_HPME_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_HPME_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_HPME;
+ tmp |= value << CAN_IE_HPME_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_HPME_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_HPME;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_HPME_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_HPME;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_TCE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_TCE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_TCE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_TCE) >> CAN_IE_TCE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_TCE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_TCE;
+ tmp |= value << CAN_IE_TCE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_TCE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_TCE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_TCE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_TCE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_TCFE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_TCFE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_TCFE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_TCFE) >> CAN_IE_TCFE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_TCFE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_TCFE;
+ tmp |= value << CAN_IE_TCFE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_TCFE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_TCFE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_TCFE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_TCFE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_TFEE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_TFEE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_TFEE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_TFEE) >> CAN_IE_TFEE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_TFEE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_TFEE;
+ tmp |= value << CAN_IE_TFEE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_TFEE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_TFEE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_TFEE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_TFEE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_TEFNE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_TEFNE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_TEFNE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_TEFNE) >> CAN_IE_TEFNE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_TEFNE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_TEFNE;
+ tmp |= value << CAN_IE_TEFNE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_TEFNE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_TEFNE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_TEFNE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_TEFNE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_TEFWE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_TEFWE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_TEFWE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_TEFWE) >> CAN_IE_TEFWE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_TEFWE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_TEFWE;
+ tmp |= value << CAN_IE_TEFWE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_TEFWE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_TEFWE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_TEFWE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_TEFWE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_TEFFE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_TEFFE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_TEFFE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_TEFFE) >> CAN_IE_TEFFE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_TEFFE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_TEFFE;
+ tmp |= value << CAN_IE_TEFFE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_TEFFE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_TEFFE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_TEFFE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_TEFFE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_TEFLE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_TEFLE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_TEFLE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_TEFLE) >> CAN_IE_TEFLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_TEFLE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_TEFLE;
+ tmp |= value << CAN_IE_TEFLE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_TEFLE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_TEFLE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_TEFLE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_TEFLE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_TSWE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_TSWE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_TSWE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_TSWE) >> CAN_IE_TSWE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_TSWE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_TSWE;
+ tmp |= value << CAN_IE_TSWE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_TSWE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_TSWE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_TSWE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_TSWE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_MRAFE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_MRAFE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_MRAFE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_MRAFE) >> CAN_IE_MRAFE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_MRAFE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_MRAFE;
+ tmp |= value << CAN_IE_MRAFE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_MRAFE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_MRAFE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_MRAFE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_MRAFE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_TOOE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_TOOE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_TOOE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_TOOE) >> CAN_IE_TOOE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_TOOE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_TOOE;
+ tmp |= value << CAN_IE_TOOE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_TOOE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_TOOE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_TOOE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_TOOE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_DRXE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_DRXE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_DRXE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_DRXE) >> CAN_IE_DRXE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_DRXE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_DRXE;
+ tmp |= value << CAN_IE_DRXE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_DRXE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_DRXE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_DRXE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_DRXE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_BECE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_BECE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_BECE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_BECE) >> CAN_IE_BECE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_BECE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_BECE;
+ tmp |= value << CAN_IE_BECE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_BECE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_BECE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_BECE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_BECE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_BEUE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_BEUE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_BEUE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_BEUE) >> CAN_IE_BEUE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_BEUE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_BEUE;
+ tmp |= value << CAN_IE_BEUE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_BEUE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_BEUE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_BEUE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_BEUE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_ELOE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_ELOE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_ELOE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_ELOE) >> CAN_IE_ELOE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_ELOE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_ELOE;
+ tmp |= value << CAN_IE_ELOE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_ELOE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_ELOE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_ELOE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_ELOE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_EPE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_EPE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_EPE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_EPE) >> CAN_IE_EPE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_EPE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_EPE;
+ tmp |= value << CAN_IE_EPE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_EPE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_EPE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_EPE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_EPE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_EWE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_EWE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_EWE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_EWE) >> CAN_IE_EWE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_EWE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_EWE;
+ tmp |= value << CAN_IE_EWE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_EWE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_EWE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_EWE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_EWE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_BOE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_BOE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_BOE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_BOE) >> CAN_IE_BOE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_BOE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_BOE;
+ tmp |= value << CAN_IE_BOE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_BOE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_BOE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_BOE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_BOE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_WDIE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_WDIE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_WDIE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_WDIE) >> CAN_IE_WDIE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_WDIE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_WDIE;
+ tmp |= value << CAN_IE_WDIE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_WDIE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_WDIE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_WDIE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_WDIE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_PEAE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_PEAE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_PEAE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_PEAE) >> CAN_IE_PEAE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_PEAE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_PEAE;
+ tmp |= value << CAN_IE_PEAE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_PEAE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_PEAE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_PEAE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_PEAE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_PEDE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_PEDE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_PEDE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_PEDE) >> CAN_IE_PEDE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_PEDE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_PEDE;
+ tmp |= value << CAN_IE_PEDE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_PEDE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_PEDE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_PEDE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_PEDE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_ARAE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= CAN_IE_ARAE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_IE_ARAE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp = (tmp & CAN_IE_ARAE) >> CAN_IE_ARAE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_IE_ARAE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= ~CAN_IE_ARAE;
+ tmp |= value << CAN_IE_ARAE_Pos;
+ ((Can *)hw)->IE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_ARAE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~CAN_IE_ARAE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_ARAE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= CAN_IE_ARAE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_IE_reg(const void *const hw, hri_can_ie_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_ie_reg_t hri_can_get_IE_reg(const void *const hw, hri_can_ie_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->IE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_IE_reg(const void *const hw, hri_can_ie_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_IE_reg(const void *const hw, hri_can_ie_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_IE_reg(const void *const hw, hri_can_ie_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->IE.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_ie_reg_t hri_can_read_IE_reg(const void *const hw)
+{
+ return ((Can *)hw)->IE.reg;
+}
+
+static inline void hri_can_set_ILS_RF0NL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_RF0NL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_RF0NL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_RF0NL) >> CAN_ILS_RF0NL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_RF0NL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_RF0NL;
+ tmp |= value << CAN_ILS_RF0NL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_RF0NL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF0NL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_RF0NL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_RF0NL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_RF0WL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_RF0WL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_RF0WL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_RF0WL) >> CAN_ILS_RF0WL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_RF0WL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_RF0WL;
+ tmp |= value << CAN_ILS_RF0WL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_RF0WL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF0WL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_RF0WL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_RF0WL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_RF0FL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_RF0FL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_RF0FL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_RF0FL) >> CAN_ILS_RF0FL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_RF0FL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_RF0FL;
+ tmp |= value << CAN_ILS_RF0FL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_RF0FL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF0FL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_RF0FL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_RF0FL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_RF0LL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_RF0LL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_RF0LL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_RF0LL) >> CAN_ILS_RF0LL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_RF0LL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_RF0LL;
+ tmp |= value << CAN_ILS_RF0LL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_RF0LL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF0LL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_RF0LL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_RF0LL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_RF1NL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_RF1NL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_RF1NL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_RF1NL) >> CAN_ILS_RF1NL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_RF1NL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_RF1NL;
+ tmp |= value << CAN_ILS_RF1NL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_RF1NL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF1NL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_RF1NL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_RF1NL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_RF1WL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_RF1WL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_RF1WL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_RF1WL) >> CAN_ILS_RF1WL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_RF1WL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_RF1WL;
+ tmp |= value << CAN_ILS_RF1WL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_RF1WL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF1WL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_RF1WL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_RF1WL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_RF1FL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_RF1FL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_RF1FL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_RF1FL) >> CAN_ILS_RF1FL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_RF1FL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_RF1FL;
+ tmp |= value << CAN_ILS_RF1FL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_RF1FL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF1FL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_RF1FL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_RF1FL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_RF1LL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_RF1LL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_RF1LL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_RF1LL) >> CAN_ILS_RF1LL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_RF1LL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_RF1LL;
+ tmp |= value << CAN_ILS_RF1LL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_RF1LL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_RF1LL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_RF1LL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_RF1LL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_HPML_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_HPML;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_HPML_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_HPML) >> CAN_ILS_HPML_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_HPML_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_HPML;
+ tmp |= value << CAN_ILS_HPML_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_HPML_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_HPML;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_HPML_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_HPML;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_TCL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_TCL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_TCL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_TCL) >> CAN_ILS_TCL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_TCL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_TCL;
+ tmp |= value << CAN_ILS_TCL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_TCL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_TCL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_TCL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_TCL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_TCFL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_TCFL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_TCFL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_TCFL) >> CAN_ILS_TCFL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_TCFL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_TCFL;
+ tmp |= value << CAN_ILS_TCFL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_TCFL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_TCFL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_TCFL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_TCFL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_TFEL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_TFEL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_TFEL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_TFEL) >> CAN_ILS_TFEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_TFEL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_TFEL;
+ tmp |= value << CAN_ILS_TFEL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_TFEL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_TFEL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_TFEL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_TFEL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_TEFNL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_TEFNL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_TEFNL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_TEFNL) >> CAN_ILS_TEFNL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_TEFNL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_TEFNL;
+ tmp |= value << CAN_ILS_TEFNL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_TEFNL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_TEFNL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_TEFNL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_TEFNL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_TEFWL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_TEFWL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_TEFWL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_TEFWL) >> CAN_ILS_TEFWL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_TEFWL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_TEFWL;
+ tmp |= value << CAN_ILS_TEFWL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_TEFWL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_TEFWL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_TEFWL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_TEFWL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_TEFFL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_TEFFL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_TEFFL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_TEFFL) >> CAN_ILS_TEFFL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_TEFFL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_TEFFL;
+ tmp |= value << CAN_ILS_TEFFL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_TEFFL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_TEFFL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_TEFFL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_TEFFL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_TEFLL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_TEFLL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_TEFLL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_TEFLL) >> CAN_ILS_TEFLL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_TEFLL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_TEFLL;
+ tmp |= value << CAN_ILS_TEFLL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_TEFLL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_TEFLL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_TEFLL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_TEFLL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_TSWL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_TSWL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_TSWL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_TSWL) >> CAN_ILS_TSWL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_TSWL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_TSWL;
+ tmp |= value << CAN_ILS_TSWL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_TSWL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_TSWL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_TSWL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_TSWL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_MRAFL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_MRAFL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_MRAFL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_MRAFL) >> CAN_ILS_MRAFL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_MRAFL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_MRAFL;
+ tmp |= value << CAN_ILS_MRAFL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_MRAFL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_MRAFL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_MRAFL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_MRAFL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_TOOL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_TOOL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_TOOL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_TOOL) >> CAN_ILS_TOOL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_TOOL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_TOOL;
+ tmp |= value << CAN_ILS_TOOL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_TOOL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_TOOL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_TOOL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_TOOL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_DRXL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_DRXL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_DRXL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_DRXL) >> CAN_ILS_DRXL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_DRXL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_DRXL;
+ tmp |= value << CAN_ILS_DRXL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_DRXL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_DRXL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_DRXL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_DRXL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_BECL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_BECL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_BECL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_BECL) >> CAN_ILS_BECL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_BECL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_BECL;
+ tmp |= value << CAN_ILS_BECL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_BECL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_BECL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_BECL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_BECL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_BEUL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_BEUL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_BEUL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_BEUL) >> CAN_ILS_BEUL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_BEUL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_BEUL;
+ tmp |= value << CAN_ILS_BEUL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_BEUL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_BEUL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_BEUL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_BEUL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_ELOL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_ELOL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_ELOL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_ELOL) >> CAN_ILS_ELOL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_ELOL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_ELOL;
+ tmp |= value << CAN_ILS_ELOL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_ELOL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_ELOL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_ELOL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_ELOL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_EPL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_EPL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_EPL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_EPL) >> CAN_ILS_EPL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_EPL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_EPL;
+ tmp |= value << CAN_ILS_EPL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_EPL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_EPL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_EPL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_EPL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_EWL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_EWL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_EWL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_EWL) >> CAN_ILS_EWL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_EWL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_EWL;
+ tmp |= value << CAN_ILS_EWL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_EWL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_EWL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_EWL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_EWL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_BOL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_BOL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_BOL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_BOL) >> CAN_ILS_BOL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_BOL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_BOL;
+ tmp |= value << CAN_ILS_BOL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_BOL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_BOL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_BOL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_BOL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_WDIL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_WDIL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_WDIL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_WDIL) >> CAN_ILS_WDIL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_WDIL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_WDIL;
+ tmp |= value << CAN_ILS_WDIL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_WDIL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_WDIL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_WDIL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_WDIL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_PEAL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_PEAL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_PEAL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_PEAL) >> CAN_ILS_PEAL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_PEAL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_PEAL;
+ tmp |= value << CAN_ILS_PEAL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_PEAL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_PEAL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_PEAL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_PEAL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_PEDL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_PEDL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_PEDL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_PEDL) >> CAN_ILS_PEDL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_PEDL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_PEDL;
+ tmp |= value << CAN_ILS_PEDL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_PEDL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_PEDL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_PEDL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_PEDL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_ARAL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= CAN_ILS_ARAL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILS_ARAL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp = (tmp & CAN_ILS_ARAL) >> CAN_ILS_ARAL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILS_ARAL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= ~CAN_ILS_ARAL;
+ tmp |= value << CAN_ILS_ARAL_Pos;
+ ((Can *)hw)->ILS.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_ARAL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~CAN_ILS_ARAL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_ARAL_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= CAN_ILS_ARAL;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILS_reg(const void *const hw, hri_can_ils_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_ils_reg_t hri_can_get_ILS_reg(const void *const hw, hri_can_ils_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_ILS_reg(const void *const hw, hri_can_ils_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILS_reg(const void *const hw, hri_can_ils_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILS_reg(const void *const hw, hri_can_ils_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILS.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_ils_reg_t hri_can_read_ILS_reg(const void *const hw)
+{
+ return ((Can *)hw)->ILS.reg;
+}
+
+static inline void hri_can_set_ILE_EINT0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILE.reg |= CAN_ILE_EINT0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILE_EINT0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILE.reg;
+ tmp = (tmp & CAN_ILE_EINT0) >> CAN_ILE_EINT0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILE_EINT0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILE.reg;
+ tmp &= ~CAN_ILE_EINT0;
+ tmp |= value << CAN_ILE_EINT0_Pos;
+ ((Can *)hw)->ILE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILE_EINT0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILE.reg &= ~CAN_ILE_EINT0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILE_EINT0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILE.reg ^= CAN_ILE_EINT0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILE_EINT1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILE.reg |= CAN_ILE_EINT1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_ILE_EINT1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILE.reg;
+ tmp = (tmp & CAN_ILE_EINT1) >> CAN_ILE_EINT1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_ILE_EINT1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->ILE.reg;
+ tmp &= ~CAN_ILE_EINT1;
+ tmp |= value << CAN_ILE_EINT1_Pos;
+ ((Can *)hw)->ILE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILE_EINT1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILE.reg &= ~CAN_ILE_EINT1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILE_EINT1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILE.reg ^= CAN_ILE_EINT1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_ILE_reg(const void *const hw, hri_can_ile_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILE.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_ile_reg_t hri_can_get_ILE_reg(const void *const hw, hri_can_ile_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->ILE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_ILE_reg(const void *const hw, hri_can_ile_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILE.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_ILE_reg(const void *const hw, hri_can_ile_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILE.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_ILE_reg(const void *const hw, hri_can_ile_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->ILE.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_ile_reg_t hri_can_read_ILE_reg(const void *const hw)
+{
+ return ((Can *)hw)->ILE.reg;
+}
+
+static inline void hri_can_set_GFC_RRFE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg |= CAN_GFC_RRFE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_GFC_RRFE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->GFC.reg;
+ tmp = (tmp & CAN_GFC_RRFE) >> CAN_GFC_RRFE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_GFC_RRFE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->GFC.reg;
+ tmp &= ~CAN_GFC_RRFE;
+ tmp |= value << CAN_GFC_RRFE_Pos;
+ ((Can *)hw)->GFC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_GFC_RRFE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg &= ~CAN_GFC_RRFE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_GFC_RRFE_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg ^= CAN_GFC_RRFE;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_GFC_RRFS_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg |= CAN_GFC_RRFS;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_GFC_RRFS_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->GFC.reg;
+ tmp = (tmp & CAN_GFC_RRFS) >> CAN_GFC_RRFS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_GFC_RRFS_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->GFC.reg;
+ tmp &= ~CAN_GFC_RRFS;
+ tmp |= value << CAN_GFC_RRFS_Pos;
+ ((Can *)hw)->GFC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_GFC_RRFS_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg &= ~CAN_GFC_RRFS;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_GFC_RRFS_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg ^= CAN_GFC_RRFS;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_GFC_ANFE_bf(const void *const hw, hri_can_gfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg |= CAN_GFC_ANFE(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_gfc_reg_t hri_can_get_GFC_ANFE_bf(const void *const hw, hri_can_gfc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->GFC.reg;
+ tmp = (tmp & CAN_GFC_ANFE(mask)) >> CAN_GFC_ANFE_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_GFC_ANFE_bf(const void *const hw, hri_can_gfc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->GFC.reg;
+ tmp &= ~CAN_GFC_ANFE_Msk;
+ tmp |= CAN_GFC_ANFE(data);
+ ((Can *)hw)->GFC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_GFC_ANFE_bf(const void *const hw, hri_can_gfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg &= ~CAN_GFC_ANFE(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_GFC_ANFE_bf(const void *const hw, hri_can_gfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg ^= CAN_GFC_ANFE(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_gfc_reg_t hri_can_read_GFC_ANFE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->GFC.reg;
+ tmp = (tmp & CAN_GFC_ANFE_Msk) >> CAN_GFC_ANFE_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_GFC_ANFS_bf(const void *const hw, hri_can_gfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg |= CAN_GFC_ANFS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_gfc_reg_t hri_can_get_GFC_ANFS_bf(const void *const hw, hri_can_gfc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->GFC.reg;
+ tmp = (tmp & CAN_GFC_ANFS(mask)) >> CAN_GFC_ANFS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_GFC_ANFS_bf(const void *const hw, hri_can_gfc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->GFC.reg;
+ tmp &= ~CAN_GFC_ANFS_Msk;
+ tmp |= CAN_GFC_ANFS(data);
+ ((Can *)hw)->GFC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_GFC_ANFS_bf(const void *const hw, hri_can_gfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg &= ~CAN_GFC_ANFS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_GFC_ANFS_bf(const void *const hw, hri_can_gfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg ^= CAN_GFC_ANFS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_gfc_reg_t hri_can_read_GFC_ANFS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->GFC.reg;
+ tmp = (tmp & CAN_GFC_ANFS_Msk) >> CAN_GFC_ANFS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_GFC_reg(const void *const hw, hri_can_gfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_gfc_reg_t hri_can_get_GFC_reg(const void *const hw, hri_can_gfc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->GFC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_GFC_reg(const void *const hw, hri_can_gfc_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_GFC_reg(const void *const hw, hri_can_gfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_GFC_reg(const void *const hw, hri_can_gfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->GFC.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_gfc_reg_t hri_can_read_GFC_reg(const void *const hw)
+{
+ return ((Can *)hw)->GFC.reg;
+}
+
+static inline void hri_can_set_SIDFC_FLSSA_bf(const void *const hw, hri_can_sidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->SIDFC.reg |= CAN_SIDFC_FLSSA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_sidfc_reg_t hri_can_get_SIDFC_FLSSA_bf(const void *const hw, hri_can_sidfc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->SIDFC.reg;
+ tmp = (tmp & CAN_SIDFC_FLSSA(mask)) >> CAN_SIDFC_FLSSA_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_SIDFC_FLSSA_bf(const void *const hw, hri_can_sidfc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->SIDFC.reg;
+ tmp &= ~CAN_SIDFC_FLSSA_Msk;
+ tmp |= CAN_SIDFC_FLSSA(data);
+ ((Can *)hw)->SIDFC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_SIDFC_FLSSA_bf(const void *const hw, hri_can_sidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->SIDFC.reg &= ~CAN_SIDFC_FLSSA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_SIDFC_FLSSA_bf(const void *const hw, hri_can_sidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->SIDFC.reg ^= CAN_SIDFC_FLSSA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_sidfc_reg_t hri_can_read_SIDFC_FLSSA_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->SIDFC.reg;
+ tmp = (tmp & CAN_SIDFC_FLSSA_Msk) >> CAN_SIDFC_FLSSA_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_SIDFC_LSS_bf(const void *const hw, hri_can_sidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->SIDFC.reg |= CAN_SIDFC_LSS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_sidfc_reg_t hri_can_get_SIDFC_LSS_bf(const void *const hw, hri_can_sidfc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->SIDFC.reg;
+ tmp = (tmp & CAN_SIDFC_LSS(mask)) >> CAN_SIDFC_LSS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_SIDFC_LSS_bf(const void *const hw, hri_can_sidfc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->SIDFC.reg;
+ tmp &= ~CAN_SIDFC_LSS_Msk;
+ tmp |= CAN_SIDFC_LSS(data);
+ ((Can *)hw)->SIDFC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_SIDFC_LSS_bf(const void *const hw, hri_can_sidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->SIDFC.reg &= ~CAN_SIDFC_LSS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_SIDFC_LSS_bf(const void *const hw, hri_can_sidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->SIDFC.reg ^= CAN_SIDFC_LSS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_sidfc_reg_t hri_can_read_SIDFC_LSS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->SIDFC.reg;
+ tmp = (tmp & CAN_SIDFC_LSS_Msk) >> CAN_SIDFC_LSS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_SIDFC_reg(const void *const hw, hri_can_sidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->SIDFC.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_sidfc_reg_t hri_can_get_SIDFC_reg(const void *const hw, hri_can_sidfc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->SIDFC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_SIDFC_reg(const void *const hw, hri_can_sidfc_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->SIDFC.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_SIDFC_reg(const void *const hw, hri_can_sidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->SIDFC.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_SIDFC_reg(const void *const hw, hri_can_sidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->SIDFC.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_sidfc_reg_t hri_can_read_SIDFC_reg(const void *const hw)
+{
+ return ((Can *)hw)->SIDFC.reg;
+}
+
+static inline void hri_can_set_XIDFC_FLESA_bf(const void *const hw, hri_can_xidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDFC.reg |= CAN_XIDFC_FLESA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_xidfc_reg_t hri_can_get_XIDFC_FLESA_bf(const void *const hw, hri_can_xidfc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->XIDFC.reg;
+ tmp = (tmp & CAN_XIDFC_FLESA(mask)) >> CAN_XIDFC_FLESA_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_XIDFC_FLESA_bf(const void *const hw, hri_can_xidfc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->XIDFC.reg;
+ tmp &= ~CAN_XIDFC_FLESA_Msk;
+ tmp |= CAN_XIDFC_FLESA(data);
+ ((Can *)hw)->XIDFC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_XIDFC_FLESA_bf(const void *const hw, hri_can_xidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDFC.reg &= ~CAN_XIDFC_FLESA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_XIDFC_FLESA_bf(const void *const hw, hri_can_xidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDFC.reg ^= CAN_XIDFC_FLESA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_xidfc_reg_t hri_can_read_XIDFC_FLESA_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->XIDFC.reg;
+ tmp = (tmp & CAN_XIDFC_FLESA_Msk) >> CAN_XIDFC_FLESA_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_XIDFC_LSE_bf(const void *const hw, hri_can_xidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDFC.reg |= CAN_XIDFC_LSE(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_xidfc_reg_t hri_can_get_XIDFC_LSE_bf(const void *const hw, hri_can_xidfc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->XIDFC.reg;
+ tmp = (tmp & CAN_XIDFC_LSE(mask)) >> CAN_XIDFC_LSE_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_XIDFC_LSE_bf(const void *const hw, hri_can_xidfc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->XIDFC.reg;
+ tmp &= ~CAN_XIDFC_LSE_Msk;
+ tmp |= CAN_XIDFC_LSE(data);
+ ((Can *)hw)->XIDFC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_XIDFC_LSE_bf(const void *const hw, hri_can_xidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDFC.reg &= ~CAN_XIDFC_LSE(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_XIDFC_LSE_bf(const void *const hw, hri_can_xidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDFC.reg ^= CAN_XIDFC_LSE(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_xidfc_reg_t hri_can_read_XIDFC_LSE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->XIDFC.reg;
+ tmp = (tmp & CAN_XIDFC_LSE_Msk) >> CAN_XIDFC_LSE_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_XIDFC_reg(const void *const hw, hri_can_xidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDFC.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_xidfc_reg_t hri_can_get_XIDFC_reg(const void *const hw, hri_can_xidfc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->XIDFC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_XIDFC_reg(const void *const hw, hri_can_xidfc_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDFC.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_XIDFC_reg(const void *const hw, hri_can_xidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDFC.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_XIDFC_reg(const void *const hw, hri_can_xidfc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDFC.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_xidfc_reg_t hri_can_read_XIDFC_reg(const void *const hw)
+{
+ return ((Can *)hw)->XIDFC.reg;
+}
+
+static inline void hri_can_set_XIDAM_EIDM_bf(const void *const hw, hri_can_xidam_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDAM.reg |= CAN_XIDAM_EIDM(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_xidam_reg_t hri_can_get_XIDAM_EIDM_bf(const void *const hw, hri_can_xidam_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->XIDAM.reg;
+ tmp = (tmp & CAN_XIDAM_EIDM(mask)) >> CAN_XIDAM_EIDM_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_XIDAM_EIDM_bf(const void *const hw, hri_can_xidam_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->XIDAM.reg;
+ tmp &= ~CAN_XIDAM_EIDM_Msk;
+ tmp |= CAN_XIDAM_EIDM(data);
+ ((Can *)hw)->XIDAM.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_XIDAM_EIDM_bf(const void *const hw, hri_can_xidam_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDAM.reg &= ~CAN_XIDAM_EIDM(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_XIDAM_EIDM_bf(const void *const hw, hri_can_xidam_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDAM.reg ^= CAN_XIDAM_EIDM(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_xidam_reg_t hri_can_read_XIDAM_EIDM_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->XIDAM.reg;
+ tmp = (tmp & CAN_XIDAM_EIDM_Msk) >> CAN_XIDAM_EIDM_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_XIDAM_reg(const void *const hw, hri_can_xidam_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDAM.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_xidam_reg_t hri_can_get_XIDAM_reg(const void *const hw, hri_can_xidam_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->XIDAM.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_XIDAM_reg(const void *const hw, hri_can_xidam_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDAM.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_XIDAM_reg(const void *const hw, hri_can_xidam_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDAM.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_XIDAM_reg(const void *const hw, hri_can_xidam_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->XIDAM.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_xidam_reg_t hri_can_read_XIDAM_reg(const void *const hw)
+{
+ return ((Can *)hw)->XIDAM.reg;
+}
+
+static inline void hri_can_set_NDAT1_ND0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND0) >> CAN_NDAT1_ND0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND0;
+ tmp |= value << CAN_NDAT1_ND0_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND1) >> CAN_NDAT1_ND1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND1;
+ tmp |= value << CAN_NDAT1_ND1_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND2_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND2;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND2) >> CAN_NDAT1_ND2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND2;
+ tmp |= value << CAN_NDAT1_ND2_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND2_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND2;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND2_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND2;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND3_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND3;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND3) >> CAN_NDAT1_ND3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND3;
+ tmp |= value << CAN_NDAT1_ND3_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND3_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND3;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND3_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND3;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND4_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND4;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND4) >> CAN_NDAT1_ND4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND4;
+ tmp |= value << CAN_NDAT1_ND4_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND4_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND4;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND4_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND4;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND5_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND5;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND5) >> CAN_NDAT1_ND5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND5;
+ tmp |= value << CAN_NDAT1_ND5_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND5_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND5;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND5_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND5;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND6_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND6;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND6) >> CAN_NDAT1_ND6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND6;
+ tmp |= value << CAN_NDAT1_ND6_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND6_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND6;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND6_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND6;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND7_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND7;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND7) >> CAN_NDAT1_ND7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND7;
+ tmp |= value << CAN_NDAT1_ND7_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND7_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND7;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND7_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND7;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND8_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND8;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND8_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND8) >> CAN_NDAT1_ND8_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND8_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND8;
+ tmp |= value << CAN_NDAT1_ND8_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND8_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND8;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND8_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND8;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND9_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND9;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND9_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND9) >> CAN_NDAT1_ND9_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND9_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND9;
+ tmp |= value << CAN_NDAT1_ND9_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND9_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND9;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND9_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND9;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND10_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND10;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND10_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND10) >> CAN_NDAT1_ND10_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND10_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND10;
+ tmp |= value << CAN_NDAT1_ND10_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND10_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND10;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND10_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND10;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND11_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND11;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND11_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND11) >> CAN_NDAT1_ND11_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND11_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND11;
+ tmp |= value << CAN_NDAT1_ND11_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND11_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND11;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND11_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND11;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND12_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND12;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND12_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND12) >> CAN_NDAT1_ND12_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND12_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND12;
+ tmp |= value << CAN_NDAT1_ND12_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND12_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND12;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND12_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND12;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND13_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND13;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND13_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND13) >> CAN_NDAT1_ND13_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND13_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND13;
+ tmp |= value << CAN_NDAT1_ND13_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND13_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND13;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND13_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND13;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND14_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND14;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND14_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND14) >> CAN_NDAT1_ND14_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND14_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND14;
+ tmp |= value << CAN_NDAT1_ND14_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND14_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND14;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND14_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND14;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND15_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND15;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND15_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND15) >> CAN_NDAT1_ND15_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND15_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND15;
+ tmp |= value << CAN_NDAT1_ND15_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND15_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND15;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND15_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND15;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND16_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND16;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND16_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND16) >> CAN_NDAT1_ND16_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND16_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND16;
+ tmp |= value << CAN_NDAT1_ND16_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND16_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND16;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND16_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND16;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND17_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND17;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND17_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND17) >> CAN_NDAT1_ND17_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND17_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND17;
+ tmp |= value << CAN_NDAT1_ND17_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND17_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND17;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND17_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND17;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND18_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND18;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND18_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND18) >> CAN_NDAT1_ND18_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND18_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND18;
+ tmp |= value << CAN_NDAT1_ND18_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND18_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND18;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND18_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND18;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND19_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND19;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND19_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND19) >> CAN_NDAT1_ND19_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND19_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND19;
+ tmp |= value << CAN_NDAT1_ND19_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND19_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND19;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND19_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND19;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND20_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND20;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND20_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND20) >> CAN_NDAT1_ND20_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND20_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND20;
+ tmp |= value << CAN_NDAT1_ND20_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND20_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND20;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND20_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND20;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND21_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND21;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND21_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND21) >> CAN_NDAT1_ND21_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND21_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND21;
+ tmp |= value << CAN_NDAT1_ND21_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND21_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND21;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND21_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND21;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND22_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND22;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND22_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND22) >> CAN_NDAT1_ND22_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND22_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND22;
+ tmp |= value << CAN_NDAT1_ND22_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND22_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND22;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND22_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND22;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND23_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND23;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND23_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND23) >> CAN_NDAT1_ND23_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND23_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND23;
+ tmp |= value << CAN_NDAT1_ND23_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND23_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND23;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND23_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND23;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND24_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND24;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND24_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND24) >> CAN_NDAT1_ND24_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND24_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND24;
+ tmp |= value << CAN_NDAT1_ND24_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND24_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND24;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND24_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND24;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND25_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND25;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND25_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND25) >> CAN_NDAT1_ND25_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND25_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND25;
+ tmp |= value << CAN_NDAT1_ND25_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND25_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND25;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND25_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND25;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND26_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND26;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND26_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND26) >> CAN_NDAT1_ND26_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND26_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND26;
+ tmp |= value << CAN_NDAT1_ND26_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND26_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND26;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND26_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND26;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND27_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND27;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND27_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND27) >> CAN_NDAT1_ND27_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND27_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND27;
+ tmp |= value << CAN_NDAT1_ND27_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND27_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND27;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND27_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND27;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND28_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND28;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND28_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND28) >> CAN_NDAT1_ND28_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND28_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND28;
+ tmp |= value << CAN_NDAT1_ND28_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND28_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND28;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND28_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND28;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND29_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND29;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND29_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND29) >> CAN_NDAT1_ND29_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND29_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND29;
+ tmp |= value << CAN_NDAT1_ND29_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND29_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND29;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND29_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND29;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND30_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND30;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND30_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND30) >> CAN_NDAT1_ND30_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND30_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND30;
+ tmp |= value << CAN_NDAT1_ND30_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND30_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND30;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND30_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND30;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_ND31_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= CAN_NDAT1_ND31;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT1_ND31_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp = (tmp & CAN_NDAT1_ND31) >> CAN_NDAT1_ND31_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT1_ND31_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= ~CAN_NDAT1_ND31;
+ tmp |= value << CAN_NDAT1_ND31_Pos;
+ ((Can *)hw)->NDAT1.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_ND31_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~CAN_NDAT1_ND31;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_ND31_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= CAN_NDAT1_ND31;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT1_reg(const void *const hw, hri_can_ndat1_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_ndat1_reg_t hri_can_get_NDAT1_reg(const void *const hw, hri_can_ndat1_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT1.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_NDAT1_reg(const void *const hw, hri_can_ndat1_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT1_reg(const void *const hw, hri_can_ndat1_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT1_reg(const void *const hw, hri_can_ndat1_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT1.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_ndat1_reg_t hri_can_read_NDAT1_reg(const void *const hw)
+{
+ return ((Can *)hw)->NDAT1.reg;
+}
+
+static inline void hri_can_set_NDAT2_ND32_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND32;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND32_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND32) >> CAN_NDAT2_ND32_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND32_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND32;
+ tmp |= value << CAN_NDAT2_ND32_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND32_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND32;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND32_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND32;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND33_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND33;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND33_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND33) >> CAN_NDAT2_ND33_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND33_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND33;
+ tmp |= value << CAN_NDAT2_ND33_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND33_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND33;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND33_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND33;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND34_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND34;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND34_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND34) >> CAN_NDAT2_ND34_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND34_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND34;
+ tmp |= value << CAN_NDAT2_ND34_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND34_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND34;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND34_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND34;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND35_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND35;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND35_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND35) >> CAN_NDAT2_ND35_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND35_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND35;
+ tmp |= value << CAN_NDAT2_ND35_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND35_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND35;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND35_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND35;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND36_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND36;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND36_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND36) >> CAN_NDAT2_ND36_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND36_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND36;
+ tmp |= value << CAN_NDAT2_ND36_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND36_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND36;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND36_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND36;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND37_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND37;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND37_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND37) >> CAN_NDAT2_ND37_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND37_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND37;
+ tmp |= value << CAN_NDAT2_ND37_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND37_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND37;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND37_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND37;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND38_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND38;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND38_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND38) >> CAN_NDAT2_ND38_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND38_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND38;
+ tmp |= value << CAN_NDAT2_ND38_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND38_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND38;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND38_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND38;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND39_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND39;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND39_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND39) >> CAN_NDAT2_ND39_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND39_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND39;
+ tmp |= value << CAN_NDAT2_ND39_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND39_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND39;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND39_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND39;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND40_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND40;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND40_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND40) >> CAN_NDAT2_ND40_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND40_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND40;
+ tmp |= value << CAN_NDAT2_ND40_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND40_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND40;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND40_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND40;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND41_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND41;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND41_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND41) >> CAN_NDAT2_ND41_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND41_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND41;
+ tmp |= value << CAN_NDAT2_ND41_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND41_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND41;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND41_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND41;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND42_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND42;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND42_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND42) >> CAN_NDAT2_ND42_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND42_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND42;
+ tmp |= value << CAN_NDAT2_ND42_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND42_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND42;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND42_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND42;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND43_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND43;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND43_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND43) >> CAN_NDAT2_ND43_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND43_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND43;
+ tmp |= value << CAN_NDAT2_ND43_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND43_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND43;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND43_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND43;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND44_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND44;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND44_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND44) >> CAN_NDAT2_ND44_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND44_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND44;
+ tmp |= value << CAN_NDAT2_ND44_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND44_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND44;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND44_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND44;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND45_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND45;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND45_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND45) >> CAN_NDAT2_ND45_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND45_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND45;
+ tmp |= value << CAN_NDAT2_ND45_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND45_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND45;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND45_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND45;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND46_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND46;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND46_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND46) >> CAN_NDAT2_ND46_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND46_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND46;
+ tmp |= value << CAN_NDAT2_ND46_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND46_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND46;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND46_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND46;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND47_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND47;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND47_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND47) >> CAN_NDAT2_ND47_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND47_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND47;
+ tmp |= value << CAN_NDAT2_ND47_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND47_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND47;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND47_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND47;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND48_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND48;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND48_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND48) >> CAN_NDAT2_ND48_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND48_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND48;
+ tmp |= value << CAN_NDAT2_ND48_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND48_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND48;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND48_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND48;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND49_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND49;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND49_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND49) >> CAN_NDAT2_ND49_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND49_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND49;
+ tmp |= value << CAN_NDAT2_ND49_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND49_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND49;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND49_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND49;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND50_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND50;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND50_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND50) >> CAN_NDAT2_ND50_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND50_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND50;
+ tmp |= value << CAN_NDAT2_ND50_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND50_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND50;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND50_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND50;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND51_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND51;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND51_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND51) >> CAN_NDAT2_ND51_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND51_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND51;
+ tmp |= value << CAN_NDAT2_ND51_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND51_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND51;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND51_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND51;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND52_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND52;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND52_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND52) >> CAN_NDAT2_ND52_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND52_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND52;
+ tmp |= value << CAN_NDAT2_ND52_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND52_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND52;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND52_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND52;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND53_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND53;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND53_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND53) >> CAN_NDAT2_ND53_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND53_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND53;
+ tmp |= value << CAN_NDAT2_ND53_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND53_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND53;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND53_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND53;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND54_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND54;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND54_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND54) >> CAN_NDAT2_ND54_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND54_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND54;
+ tmp |= value << CAN_NDAT2_ND54_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND54_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND54;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND54_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND54;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND55_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND55;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND55_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND55) >> CAN_NDAT2_ND55_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND55_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND55;
+ tmp |= value << CAN_NDAT2_ND55_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND55_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND55;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND55_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND55;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND56_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND56;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND56_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND56) >> CAN_NDAT2_ND56_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND56_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND56;
+ tmp |= value << CAN_NDAT2_ND56_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND56_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND56;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND56_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND56;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND57_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND57;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND57_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND57) >> CAN_NDAT2_ND57_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND57_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND57;
+ tmp |= value << CAN_NDAT2_ND57_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND57_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND57;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND57_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND57;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND58_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND58;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND58_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND58) >> CAN_NDAT2_ND58_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND58_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND58;
+ tmp |= value << CAN_NDAT2_ND58_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND58_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND58;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND58_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND58;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND59_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND59;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND59_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND59) >> CAN_NDAT2_ND59_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND59_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND59;
+ tmp |= value << CAN_NDAT2_ND59_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND59_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND59;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND59_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND59;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND60_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND60;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND60_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND60) >> CAN_NDAT2_ND60_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND60_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND60;
+ tmp |= value << CAN_NDAT2_ND60_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND60_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND60;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND60_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND60;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND61_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND61;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND61_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND61) >> CAN_NDAT2_ND61_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND61_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND61;
+ tmp |= value << CAN_NDAT2_ND61_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND61_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND61;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND61_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND61;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND62_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND62;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND62_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND62) >> CAN_NDAT2_ND62_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND62_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND62;
+ tmp |= value << CAN_NDAT2_ND62_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND62_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND62;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND62_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND62;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_ND63_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= CAN_NDAT2_ND63;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_NDAT2_ND63_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp = (tmp & CAN_NDAT2_ND63) >> CAN_NDAT2_ND63_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_NDAT2_ND63_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= ~CAN_NDAT2_ND63;
+ tmp |= value << CAN_NDAT2_ND63_Pos;
+ ((Can *)hw)->NDAT2.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_ND63_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~CAN_NDAT2_ND63;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_ND63_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= CAN_NDAT2_ND63;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_NDAT2_reg(const void *const hw, hri_can_ndat2_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_ndat2_reg_t hri_can_get_NDAT2_reg(const void *const hw, hri_can_ndat2_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->NDAT2.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_NDAT2_reg(const void *const hw, hri_can_ndat2_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_NDAT2_reg(const void *const hw, hri_can_ndat2_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_NDAT2_reg(const void *const hw, hri_can_ndat2_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->NDAT2.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_ndat2_reg_t hri_can_read_NDAT2_reg(const void *const hw)
+{
+ return ((Can *)hw)->NDAT2.reg;
+}
+
+static inline void hri_can_set_RXF0C_F0OM_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg |= CAN_RXF0C_F0OM;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_RXF0C_F0OM_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF0C.reg;
+ tmp = (tmp & CAN_RXF0C_F0OM) >> CAN_RXF0C_F0OM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_RXF0C_F0OM_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RXF0C.reg;
+ tmp &= ~CAN_RXF0C_F0OM;
+ tmp |= value << CAN_RXF0C_F0OM_Pos;
+ ((Can *)hw)->RXF0C.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXF0C_F0OM_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg &= ~CAN_RXF0C_F0OM;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXF0C_F0OM_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg ^= CAN_RXF0C_F0OM;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_RXF0C_F0SA_bf(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg |= CAN_RXF0C_F0SA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf0c_reg_t hri_can_get_RXF0C_F0SA_bf(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF0C.reg;
+ tmp = (tmp & CAN_RXF0C_F0SA(mask)) >> CAN_RXF0C_F0SA_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_RXF0C_F0SA_bf(const void *const hw, hri_can_rxf0c_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RXF0C.reg;
+ tmp &= ~CAN_RXF0C_F0SA_Msk;
+ tmp |= CAN_RXF0C_F0SA(data);
+ ((Can *)hw)->RXF0C.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXF0C_F0SA_bf(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg &= ~CAN_RXF0C_F0SA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXF0C_F0SA_bf(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg ^= CAN_RXF0C_F0SA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf0c_reg_t hri_can_read_RXF0C_F0SA_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF0C.reg;
+ tmp = (tmp & CAN_RXF0C_F0SA_Msk) >> CAN_RXF0C_F0SA_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_RXF0C_F0S_bf(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg |= CAN_RXF0C_F0S(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf0c_reg_t hri_can_get_RXF0C_F0S_bf(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF0C.reg;
+ tmp = (tmp & CAN_RXF0C_F0S(mask)) >> CAN_RXF0C_F0S_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_RXF0C_F0S_bf(const void *const hw, hri_can_rxf0c_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RXF0C.reg;
+ tmp &= ~CAN_RXF0C_F0S_Msk;
+ tmp |= CAN_RXF0C_F0S(data);
+ ((Can *)hw)->RXF0C.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXF0C_F0S_bf(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg &= ~CAN_RXF0C_F0S(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXF0C_F0S_bf(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg ^= CAN_RXF0C_F0S(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf0c_reg_t hri_can_read_RXF0C_F0S_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF0C.reg;
+ tmp = (tmp & CAN_RXF0C_F0S_Msk) >> CAN_RXF0C_F0S_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_RXF0C_F0WM_bf(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg |= CAN_RXF0C_F0WM(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf0c_reg_t hri_can_get_RXF0C_F0WM_bf(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF0C.reg;
+ tmp = (tmp & CAN_RXF0C_F0WM(mask)) >> CAN_RXF0C_F0WM_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_RXF0C_F0WM_bf(const void *const hw, hri_can_rxf0c_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RXF0C.reg;
+ tmp &= ~CAN_RXF0C_F0WM_Msk;
+ tmp |= CAN_RXF0C_F0WM(data);
+ ((Can *)hw)->RXF0C.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXF0C_F0WM_bf(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg &= ~CAN_RXF0C_F0WM(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXF0C_F0WM_bf(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg ^= CAN_RXF0C_F0WM(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf0c_reg_t hri_can_read_RXF0C_F0WM_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF0C.reg;
+ tmp = (tmp & CAN_RXF0C_F0WM_Msk) >> CAN_RXF0C_F0WM_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_RXF0C_reg(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf0c_reg_t hri_can_get_RXF0C_reg(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF0C.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_RXF0C_reg(const void *const hw, hri_can_rxf0c_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXF0C_reg(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXF0C_reg(const void *const hw, hri_can_rxf0c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0C.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf0c_reg_t hri_can_read_RXF0C_reg(const void *const hw)
+{
+ return ((Can *)hw)->RXF0C.reg;
+}
+
+static inline void hri_can_set_RXF0A_F0AI_bf(const void *const hw, hri_can_rxf0a_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0A.reg |= CAN_RXF0A_F0AI(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf0a_reg_t hri_can_get_RXF0A_F0AI_bf(const void *const hw, hri_can_rxf0a_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF0A.reg;
+ tmp = (tmp & CAN_RXF0A_F0AI(mask)) >> CAN_RXF0A_F0AI_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_RXF0A_F0AI_bf(const void *const hw, hri_can_rxf0a_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RXF0A.reg;
+ tmp &= ~CAN_RXF0A_F0AI_Msk;
+ tmp |= CAN_RXF0A_F0AI(data);
+ ((Can *)hw)->RXF0A.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXF0A_F0AI_bf(const void *const hw, hri_can_rxf0a_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0A.reg &= ~CAN_RXF0A_F0AI(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXF0A_F0AI_bf(const void *const hw, hri_can_rxf0a_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0A.reg ^= CAN_RXF0A_F0AI(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf0a_reg_t hri_can_read_RXF0A_F0AI_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF0A.reg;
+ tmp = (tmp & CAN_RXF0A_F0AI_Msk) >> CAN_RXF0A_F0AI_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_RXF0A_reg(const void *const hw, hri_can_rxf0a_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0A.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf0a_reg_t hri_can_get_RXF0A_reg(const void *const hw, hri_can_rxf0a_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF0A.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_RXF0A_reg(const void *const hw, hri_can_rxf0a_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0A.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXF0A_reg(const void *const hw, hri_can_rxf0a_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0A.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXF0A_reg(const void *const hw, hri_can_rxf0a_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF0A.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf0a_reg_t hri_can_read_RXF0A_reg(const void *const hw)
+{
+ return ((Can *)hw)->RXF0A.reg;
+}
+
+static inline void hri_can_set_RXBC_RBSA_bf(const void *const hw, hri_can_rxbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXBC.reg |= CAN_RXBC_RBSA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxbc_reg_t hri_can_get_RXBC_RBSA_bf(const void *const hw, hri_can_rxbc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXBC.reg;
+ tmp = (tmp & CAN_RXBC_RBSA(mask)) >> CAN_RXBC_RBSA_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_RXBC_RBSA_bf(const void *const hw, hri_can_rxbc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RXBC.reg;
+ tmp &= ~CAN_RXBC_RBSA_Msk;
+ tmp |= CAN_RXBC_RBSA(data);
+ ((Can *)hw)->RXBC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXBC_RBSA_bf(const void *const hw, hri_can_rxbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXBC.reg &= ~CAN_RXBC_RBSA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXBC_RBSA_bf(const void *const hw, hri_can_rxbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXBC.reg ^= CAN_RXBC_RBSA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxbc_reg_t hri_can_read_RXBC_RBSA_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXBC.reg;
+ tmp = (tmp & CAN_RXBC_RBSA_Msk) >> CAN_RXBC_RBSA_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_RXBC_reg(const void *const hw, hri_can_rxbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXBC.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxbc_reg_t hri_can_get_RXBC_reg(const void *const hw, hri_can_rxbc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXBC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_RXBC_reg(const void *const hw, hri_can_rxbc_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXBC.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXBC_reg(const void *const hw, hri_can_rxbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXBC.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXBC_reg(const void *const hw, hri_can_rxbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXBC.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxbc_reg_t hri_can_read_RXBC_reg(const void *const hw)
+{
+ return ((Can *)hw)->RXBC.reg;
+}
+
+static inline void hri_can_set_RXF1C_F1OM_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg |= CAN_RXF1C_F1OM;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_RXF1C_F1OM_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF1C.reg;
+ tmp = (tmp & CAN_RXF1C_F1OM) >> CAN_RXF1C_F1OM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_RXF1C_F1OM_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RXF1C.reg;
+ tmp &= ~CAN_RXF1C_F1OM;
+ tmp |= value << CAN_RXF1C_F1OM_Pos;
+ ((Can *)hw)->RXF1C.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXF1C_F1OM_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg &= ~CAN_RXF1C_F1OM;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXF1C_F1OM_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg ^= CAN_RXF1C_F1OM;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_RXF1C_F1SA_bf(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg |= CAN_RXF1C_F1SA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf1c_reg_t hri_can_get_RXF1C_F1SA_bf(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF1C.reg;
+ tmp = (tmp & CAN_RXF1C_F1SA(mask)) >> CAN_RXF1C_F1SA_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_RXF1C_F1SA_bf(const void *const hw, hri_can_rxf1c_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RXF1C.reg;
+ tmp &= ~CAN_RXF1C_F1SA_Msk;
+ tmp |= CAN_RXF1C_F1SA(data);
+ ((Can *)hw)->RXF1C.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXF1C_F1SA_bf(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg &= ~CAN_RXF1C_F1SA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXF1C_F1SA_bf(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg ^= CAN_RXF1C_F1SA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf1c_reg_t hri_can_read_RXF1C_F1SA_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF1C.reg;
+ tmp = (tmp & CAN_RXF1C_F1SA_Msk) >> CAN_RXF1C_F1SA_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_RXF1C_F1S_bf(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg |= CAN_RXF1C_F1S(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf1c_reg_t hri_can_get_RXF1C_F1S_bf(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF1C.reg;
+ tmp = (tmp & CAN_RXF1C_F1S(mask)) >> CAN_RXF1C_F1S_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_RXF1C_F1S_bf(const void *const hw, hri_can_rxf1c_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RXF1C.reg;
+ tmp &= ~CAN_RXF1C_F1S_Msk;
+ tmp |= CAN_RXF1C_F1S(data);
+ ((Can *)hw)->RXF1C.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXF1C_F1S_bf(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg &= ~CAN_RXF1C_F1S(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXF1C_F1S_bf(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg ^= CAN_RXF1C_F1S(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf1c_reg_t hri_can_read_RXF1C_F1S_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF1C.reg;
+ tmp = (tmp & CAN_RXF1C_F1S_Msk) >> CAN_RXF1C_F1S_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_RXF1C_F1WM_bf(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg |= CAN_RXF1C_F1WM(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf1c_reg_t hri_can_get_RXF1C_F1WM_bf(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF1C.reg;
+ tmp = (tmp & CAN_RXF1C_F1WM(mask)) >> CAN_RXF1C_F1WM_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_RXF1C_F1WM_bf(const void *const hw, hri_can_rxf1c_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RXF1C.reg;
+ tmp &= ~CAN_RXF1C_F1WM_Msk;
+ tmp |= CAN_RXF1C_F1WM(data);
+ ((Can *)hw)->RXF1C.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXF1C_F1WM_bf(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg &= ~CAN_RXF1C_F1WM(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXF1C_F1WM_bf(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg ^= CAN_RXF1C_F1WM(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf1c_reg_t hri_can_read_RXF1C_F1WM_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF1C.reg;
+ tmp = (tmp & CAN_RXF1C_F1WM_Msk) >> CAN_RXF1C_F1WM_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_RXF1C_reg(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf1c_reg_t hri_can_get_RXF1C_reg(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF1C.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_RXF1C_reg(const void *const hw, hri_can_rxf1c_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXF1C_reg(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXF1C_reg(const void *const hw, hri_can_rxf1c_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1C.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf1c_reg_t hri_can_read_RXF1C_reg(const void *const hw)
+{
+ return ((Can *)hw)->RXF1C.reg;
+}
+
+static inline void hri_can_set_RXF1A_F1AI_bf(const void *const hw, hri_can_rxf1a_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1A.reg |= CAN_RXF1A_F1AI(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf1a_reg_t hri_can_get_RXF1A_F1AI_bf(const void *const hw, hri_can_rxf1a_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF1A.reg;
+ tmp = (tmp & CAN_RXF1A_F1AI(mask)) >> CAN_RXF1A_F1AI_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_RXF1A_F1AI_bf(const void *const hw, hri_can_rxf1a_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RXF1A.reg;
+ tmp &= ~CAN_RXF1A_F1AI_Msk;
+ tmp |= CAN_RXF1A_F1AI(data);
+ ((Can *)hw)->RXF1A.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXF1A_F1AI_bf(const void *const hw, hri_can_rxf1a_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1A.reg &= ~CAN_RXF1A_F1AI(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXF1A_F1AI_bf(const void *const hw, hri_can_rxf1a_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1A.reg ^= CAN_RXF1A_F1AI(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf1a_reg_t hri_can_read_RXF1A_F1AI_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF1A.reg;
+ tmp = (tmp & CAN_RXF1A_F1AI_Msk) >> CAN_RXF1A_F1AI_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_RXF1A_reg(const void *const hw, hri_can_rxf1a_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1A.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf1a_reg_t hri_can_get_RXF1A_reg(const void *const hw, hri_can_rxf1a_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXF1A.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_RXF1A_reg(const void *const hw, hri_can_rxf1a_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1A.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXF1A_reg(const void *const hw, hri_can_rxf1a_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1A.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXF1A_reg(const void *const hw, hri_can_rxf1a_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXF1A.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxf1a_reg_t hri_can_read_RXF1A_reg(const void *const hw)
+{
+ return ((Can *)hw)->RXF1A.reg;
+}
+
+static inline void hri_can_set_RXESC_F0DS_bf(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXESC.reg |= CAN_RXESC_F0DS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxesc_reg_t hri_can_get_RXESC_F0DS_bf(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXESC.reg;
+ tmp = (tmp & CAN_RXESC_F0DS(mask)) >> CAN_RXESC_F0DS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_RXESC_F0DS_bf(const void *const hw, hri_can_rxesc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RXESC.reg;
+ tmp &= ~CAN_RXESC_F0DS_Msk;
+ tmp |= CAN_RXESC_F0DS(data);
+ ((Can *)hw)->RXESC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXESC_F0DS_bf(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXESC.reg &= ~CAN_RXESC_F0DS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXESC_F0DS_bf(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXESC.reg ^= CAN_RXESC_F0DS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxesc_reg_t hri_can_read_RXESC_F0DS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXESC.reg;
+ tmp = (tmp & CAN_RXESC_F0DS_Msk) >> CAN_RXESC_F0DS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_RXESC_F1DS_bf(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXESC.reg |= CAN_RXESC_F1DS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxesc_reg_t hri_can_get_RXESC_F1DS_bf(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXESC.reg;
+ tmp = (tmp & CAN_RXESC_F1DS(mask)) >> CAN_RXESC_F1DS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_RXESC_F1DS_bf(const void *const hw, hri_can_rxesc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RXESC.reg;
+ tmp &= ~CAN_RXESC_F1DS_Msk;
+ tmp |= CAN_RXESC_F1DS(data);
+ ((Can *)hw)->RXESC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXESC_F1DS_bf(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXESC.reg &= ~CAN_RXESC_F1DS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXESC_F1DS_bf(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXESC.reg ^= CAN_RXESC_F1DS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxesc_reg_t hri_can_read_RXESC_F1DS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXESC.reg;
+ tmp = (tmp & CAN_RXESC_F1DS_Msk) >> CAN_RXESC_F1DS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_RXESC_RBDS_bf(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXESC.reg |= CAN_RXESC_RBDS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxesc_reg_t hri_can_get_RXESC_RBDS_bf(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXESC.reg;
+ tmp = (tmp & CAN_RXESC_RBDS(mask)) >> CAN_RXESC_RBDS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_RXESC_RBDS_bf(const void *const hw, hri_can_rxesc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->RXESC.reg;
+ tmp &= ~CAN_RXESC_RBDS_Msk;
+ tmp |= CAN_RXESC_RBDS(data);
+ ((Can *)hw)->RXESC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXESC_RBDS_bf(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXESC.reg &= ~CAN_RXESC_RBDS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXESC_RBDS_bf(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXESC.reg ^= CAN_RXESC_RBDS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxesc_reg_t hri_can_read_RXESC_RBDS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXESC.reg;
+ tmp = (tmp & CAN_RXESC_RBDS_Msk) >> CAN_RXESC_RBDS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_RXESC_reg(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXESC.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxesc_reg_t hri_can_get_RXESC_reg(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->RXESC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_RXESC_reg(const void *const hw, hri_can_rxesc_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXESC.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_RXESC_reg(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXESC.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_RXESC_reg(const void *const hw, hri_can_rxesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->RXESC.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_rxesc_reg_t hri_can_read_RXESC_reg(const void *const hw)
+{
+ return ((Can *)hw)->RXESC.reg;
+}
+
+static inline void hri_can_set_TXBC_TFQM_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg |= CAN_TXBC_TFQM;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBC_TFQM_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBC.reg;
+ tmp = (tmp & CAN_TXBC_TFQM) >> CAN_TXBC_TFQM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBC_TFQM_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBC.reg;
+ tmp &= ~CAN_TXBC_TFQM;
+ tmp |= value << CAN_TXBC_TFQM_Pos;
+ ((Can *)hw)->TXBC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBC_TFQM_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg &= ~CAN_TXBC_TFQM;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBC_TFQM_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg ^= CAN_TXBC_TFQM;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBC_TBSA_bf(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg |= CAN_TXBC_TBSA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbc_reg_t hri_can_get_TXBC_TBSA_bf(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBC.reg;
+ tmp = (tmp & CAN_TXBC_TBSA(mask)) >> CAN_TXBC_TBSA_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TXBC_TBSA_bf(const void *const hw, hri_can_txbc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBC.reg;
+ tmp &= ~CAN_TXBC_TBSA_Msk;
+ tmp |= CAN_TXBC_TBSA(data);
+ ((Can *)hw)->TXBC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBC_TBSA_bf(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg &= ~CAN_TXBC_TBSA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBC_TBSA_bf(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg ^= CAN_TXBC_TBSA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbc_reg_t hri_can_read_TXBC_TBSA_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBC.reg;
+ tmp = (tmp & CAN_TXBC_TBSA_Msk) >> CAN_TXBC_TBSA_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TXBC_NDTB_bf(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg |= CAN_TXBC_NDTB(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbc_reg_t hri_can_get_TXBC_NDTB_bf(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBC.reg;
+ tmp = (tmp & CAN_TXBC_NDTB(mask)) >> CAN_TXBC_NDTB_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TXBC_NDTB_bf(const void *const hw, hri_can_txbc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBC.reg;
+ tmp &= ~CAN_TXBC_NDTB_Msk;
+ tmp |= CAN_TXBC_NDTB(data);
+ ((Can *)hw)->TXBC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBC_NDTB_bf(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg &= ~CAN_TXBC_NDTB(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBC_NDTB_bf(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg ^= CAN_TXBC_NDTB(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbc_reg_t hri_can_read_TXBC_NDTB_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBC.reg;
+ tmp = (tmp & CAN_TXBC_NDTB_Msk) >> CAN_TXBC_NDTB_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TXBC_TFQS_bf(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg |= CAN_TXBC_TFQS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbc_reg_t hri_can_get_TXBC_TFQS_bf(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBC.reg;
+ tmp = (tmp & CAN_TXBC_TFQS(mask)) >> CAN_TXBC_TFQS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TXBC_TFQS_bf(const void *const hw, hri_can_txbc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBC.reg;
+ tmp &= ~CAN_TXBC_TFQS_Msk;
+ tmp |= CAN_TXBC_TFQS(data);
+ ((Can *)hw)->TXBC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBC_TFQS_bf(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg &= ~CAN_TXBC_TFQS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBC_TFQS_bf(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg ^= CAN_TXBC_TFQS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbc_reg_t hri_can_read_TXBC_TFQS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBC.reg;
+ tmp = (tmp & CAN_TXBC_TFQS_Msk) >> CAN_TXBC_TFQS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TXBC_reg(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbc_reg_t hri_can_get_TXBC_reg(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_TXBC_reg(const void *const hw, hri_can_txbc_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBC_reg(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBC_reg(const void *const hw, hri_can_txbc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBC.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbc_reg_t hri_can_read_TXBC_reg(const void *const hw)
+{
+ return ((Can *)hw)->TXBC.reg;
+}
+
+static inline void hri_can_set_TXESC_TBDS_bf(const void *const hw, hri_can_txesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXESC.reg |= CAN_TXESC_TBDS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txesc_reg_t hri_can_get_TXESC_TBDS_bf(const void *const hw, hri_can_txesc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXESC.reg;
+ tmp = (tmp & CAN_TXESC_TBDS(mask)) >> CAN_TXESC_TBDS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TXESC_TBDS_bf(const void *const hw, hri_can_txesc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXESC.reg;
+ tmp &= ~CAN_TXESC_TBDS_Msk;
+ tmp |= CAN_TXESC_TBDS(data);
+ ((Can *)hw)->TXESC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXESC_TBDS_bf(const void *const hw, hri_can_txesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXESC.reg &= ~CAN_TXESC_TBDS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXESC_TBDS_bf(const void *const hw, hri_can_txesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXESC.reg ^= CAN_TXESC_TBDS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txesc_reg_t hri_can_read_TXESC_TBDS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXESC.reg;
+ tmp = (tmp & CAN_TXESC_TBDS_Msk) >> CAN_TXESC_TBDS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TXESC_reg(const void *const hw, hri_can_txesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXESC.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txesc_reg_t hri_can_get_TXESC_reg(const void *const hw, hri_can_txesc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXESC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_TXESC_reg(const void *const hw, hri_can_txesc_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXESC.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXESC_reg(const void *const hw, hri_can_txesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXESC.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXESC_reg(const void *const hw, hri_can_txesc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXESC.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txesc_reg_t hri_can_read_TXESC_reg(const void *const hw)
+{
+ return ((Can *)hw)->TXESC.reg;
+}
+
+static inline void hri_can_set_TXBAR_AR0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR0) >> CAN_TXBAR_AR0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR0;
+ tmp |= value << CAN_TXBAR_AR0_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR1) >> CAN_TXBAR_AR1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR1;
+ tmp |= value << CAN_TXBAR_AR1_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR2_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR2;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR2) >> CAN_TXBAR_AR2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR2;
+ tmp |= value << CAN_TXBAR_AR2_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR2_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR2;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR2_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR2;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR3_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR3;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR3) >> CAN_TXBAR_AR3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR3;
+ tmp |= value << CAN_TXBAR_AR3_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR3_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR3;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR3_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR3;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR4_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR4;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR4) >> CAN_TXBAR_AR4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR4;
+ tmp |= value << CAN_TXBAR_AR4_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR4_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR4;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR4_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR4;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR5_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR5;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR5) >> CAN_TXBAR_AR5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR5;
+ tmp |= value << CAN_TXBAR_AR5_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR5_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR5;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR5_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR5;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR6_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR6;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR6) >> CAN_TXBAR_AR6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR6;
+ tmp |= value << CAN_TXBAR_AR6_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR6_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR6;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR6_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR6;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR7_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR7;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR7) >> CAN_TXBAR_AR7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR7;
+ tmp |= value << CAN_TXBAR_AR7_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR7_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR7;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR7_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR7;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR8_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR8;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR8_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR8) >> CAN_TXBAR_AR8_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR8_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR8;
+ tmp |= value << CAN_TXBAR_AR8_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR8_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR8;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR8_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR8;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR9_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR9;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR9_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR9) >> CAN_TXBAR_AR9_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR9_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR9;
+ tmp |= value << CAN_TXBAR_AR9_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR9_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR9;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR9_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR9;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR10_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR10;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR10_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR10) >> CAN_TXBAR_AR10_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR10_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR10;
+ tmp |= value << CAN_TXBAR_AR10_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR10_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR10;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR10_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR10;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR11_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR11;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR11_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR11) >> CAN_TXBAR_AR11_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR11_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR11;
+ tmp |= value << CAN_TXBAR_AR11_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR11_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR11;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR11_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR11;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR12_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR12;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR12_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR12) >> CAN_TXBAR_AR12_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR12_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR12;
+ tmp |= value << CAN_TXBAR_AR12_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR12_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR12;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR12_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR12;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR13_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR13;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR13_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR13) >> CAN_TXBAR_AR13_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR13_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR13;
+ tmp |= value << CAN_TXBAR_AR13_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR13_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR13;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR13_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR13;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR14_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR14;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR14_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR14) >> CAN_TXBAR_AR14_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR14_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR14;
+ tmp |= value << CAN_TXBAR_AR14_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR14_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR14;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR14_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR14;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR15_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR15;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR15_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR15) >> CAN_TXBAR_AR15_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR15_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR15;
+ tmp |= value << CAN_TXBAR_AR15_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR15_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR15;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR15_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR15;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR16_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR16;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR16_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR16) >> CAN_TXBAR_AR16_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR16_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR16;
+ tmp |= value << CAN_TXBAR_AR16_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR16_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR16;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR16_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR16;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR17_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR17;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR17_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR17) >> CAN_TXBAR_AR17_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR17_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR17;
+ tmp |= value << CAN_TXBAR_AR17_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR17_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR17;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR17_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR17;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR18_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR18;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR18_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR18) >> CAN_TXBAR_AR18_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR18_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR18;
+ tmp |= value << CAN_TXBAR_AR18_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR18_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR18;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR18_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR18;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR19_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR19;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR19_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR19) >> CAN_TXBAR_AR19_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR19_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR19;
+ tmp |= value << CAN_TXBAR_AR19_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR19_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR19;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR19_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR19;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR20_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR20;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR20_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR20) >> CAN_TXBAR_AR20_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR20_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR20;
+ tmp |= value << CAN_TXBAR_AR20_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR20_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR20;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR20_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR20;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR21_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR21;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR21_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR21) >> CAN_TXBAR_AR21_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR21_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR21;
+ tmp |= value << CAN_TXBAR_AR21_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR21_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR21;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR21_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR21;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR22_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR22;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR22_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR22) >> CAN_TXBAR_AR22_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR22_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR22;
+ tmp |= value << CAN_TXBAR_AR22_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR22_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR22;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR22_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR22;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR23_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR23;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR23_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR23) >> CAN_TXBAR_AR23_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR23_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR23;
+ tmp |= value << CAN_TXBAR_AR23_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR23_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR23;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR23_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR23;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR24_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR24;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR24_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR24) >> CAN_TXBAR_AR24_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR24_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR24;
+ tmp |= value << CAN_TXBAR_AR24_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR24_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR24;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR24_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR24;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR25_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR25;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR25_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR25) >> CAN_TXBAR_AR25_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR25_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR25;
+ tmp |= value << CAN_TXBAR_AR25_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR25_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR25;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR25_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR25;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR26_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR26;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR26_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR26) >> CAN_TXBAR_AR26_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR26_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR26;
+ tmp |= value << CAN_TXBAR_AR26_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR26_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR26;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR26_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR26;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR27_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR27;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR27_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR27) >> CAN_TXBAR_AR27_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR27_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR27;
+ tmp |= value << CAN_TXBAR_AR27_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR27_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR27;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR27_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR27;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR28_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR28;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR28_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR28) >> CAN_TXBAR_AR28_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR28_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR28;
+ tmp |= value << CAN_TXBAR_AR28_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR28_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR28;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR28_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR28;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR29_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR29;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR29_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR29) >> CAN_TXBAR_AR29_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR29_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR29;
+ tmp |= value << CAN_TXBAR_AR29_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR29_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR29;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR29_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR29;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR30_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR30;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR30_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR30) >> CAN_TXBAR_AR30_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR30_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR30;
+ tmp |= value << CAN_TXBAR_AR30_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR30_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR30;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR30_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR30;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_AR31_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= CAN_TXBAR_AR31;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBAR_AR31_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp = (tmp & CAN_TXBAR_AR31) >> CAN_TXBAR_AR31_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBAR_AR31_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= ~CAN_TXBAR_AR31;
+ tmp |= value << CAN_TXBAR_AR31_Pos;
+ ((Can *)hw)->TXBAR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_AR31_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~CAN_TXBAR_AR31;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_AR31_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= CAN_TXBAR_AR31;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBAR_reg(const void *const hw, hri_can_txbar_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbar_reg_t hri_can_get_TXBAR_reg(const void *const hw, hri_can_txbar_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBAR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_TXBAR_reg(const void *const hw, hri_can_txbar_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBAR_reg(const void *const hw, hri_can_txbar_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBAR_reg(const void *const hw, hri_can_txbar_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBAR.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbar_reg_t hri_can_read_TXBAR_reg(const void *const hw)
+{
+ return ((Can *)hw)->TXBAR.reg;
+}
+
+static inline void hri_can_set_TXBCR_CR0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR0) >> CAN_TXBCR_CR0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR0;
+ tmp |= value << CAN_TXBCR_CR0_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR1) >> CAN_TXBCR_CR1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR1;
+ tmp |= value << CAN_TXBCR_CR1_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR2_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR2;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR2) >> CAN_TXBCR_CR2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR2;
+ tmp |= value << CAN_TXBCR_CR2_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR2_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR2;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR2_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR2;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR3_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR3;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR3) >> CAN_TXBCR_CR3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR3;
+ tmp |= value << CAN_TXBCR_CR3_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR3_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR3;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR3_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR3;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR4_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR4;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR4) >> CAN_TXBCR_CR4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR4;
+ tmp |= value << CAN_TXBCR_CR4_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR4_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR4;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR4_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR4;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR5_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR5;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR5) >> CAN_TXBCR_CR5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR5;
+ tmp |= value << CAN_TXBCR_CR5_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR5_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR5;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR5_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR5;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR6_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR6;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR6) >> CAN_TXBCR_CR6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR6;
+ tmp |= value << CAN_TXBCR_CR6_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR6_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR6;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR6_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR6;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR7_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR7;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR7) >> CAN_TXBCR_CR7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR7;
+ tmp |= value << CAN_TXBCR_CR7_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR7_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR7;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR7_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR7;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR8_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR8;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR8_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR8) >> CAN_TXBCR_CR8_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR8_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR8;
+ tmp |= value << CAN_TXBCR_CR8_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR8_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR8;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR8_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR8;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR9_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR9;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR9_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR9) >> CAN_TXBCR_CR9_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR9_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR9;
+ tmp |= value << CAN_TXBCR_CR9_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR9_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR9;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR9_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR9;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR10_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR10;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR10_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR10) >> CAN_TXBCR_CR10_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR10_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR10;
+ tmp |= value << CAN_TXBCR_CR10_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR10_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR10;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR10_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR10;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR11_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR11;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR11_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR11) >> CAN_TXBCR_CR11_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR11_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR11;
+ tmp |= value << CAN_TXBCR_CR11_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR11_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR11;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR11_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR11;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR12_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR12;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR12_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR12) >> CAN_TXBCR_CR12_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR12_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR12;
+ tmp |= value << CAN_TXBCR_CR12_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR12_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR12;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR12_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR12;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR13_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR13;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR13_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR13) >> CAN_TXBCR_CR13_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR13_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR13;
+ tmp |= value << CAN_TXBCR_CR13_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR13_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR13;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR13_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR13;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR14_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR14;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR14_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR14) >> CAN_TXBCR_CR14_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR14_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR14;
+ tmp |= value << CAN_TXBCR_CR14_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR14_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR14;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR14_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR14;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR15_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR15;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR15_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR15) >> CAN_TXBCR_CR15_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR15_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR15;
+ tmp |= value << CAN_TXBCR_CR15_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR15_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR15;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR15_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR15;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR16_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR16;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR16_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR16) >> CAN_TXBCR_CR16_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR16_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR16;
+ tmp |= value << CAN_TXBCR_CR16_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR16_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR16;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR16_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR16;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR17_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR17;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR17_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR17) >> CAN_TXBCR_CR17_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR17_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR17;
+ tmp |= value << CAN_TXBCR_CR17_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR17_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR17;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR17_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR17;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR18_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR18;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR18_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR18) >> CAN_TXBCR_CR18_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR18_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR18;
+ tmp |= value << CAN_TXBCR_CR18_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR18_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR18;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR18_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR18;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR19_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR19;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR19_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR19) >> CAN_TXBCR_CR19_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR19_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR19;
+ tmp |= value << CAN_TXBCR_CR19_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR19_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR19;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR19_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR19;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR20_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR20;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR20_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR20) >> CAN_TXBCR_CR20_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR20_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR20;
+ tmp |= value << CAN_TXBCR_CR20_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR20_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR20;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR20_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR20;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR21_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR21;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR21_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR21) >> CAN_TXBCR_CR21_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR21_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR21;
+ tmp |= value << CAN_TXBCR_CR21_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR21_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR21;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR21_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR21;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR22_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR22;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR22_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR22) >> CAN_TXBCR_CR22_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR22_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR22;
+ tmp |= value << CAN_TXBCR_CR22_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR22_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR22;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR22_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR22;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR23_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR23;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR23_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR23) >> CAN_TXBCR_CR23_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR23_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR23;
+ tmp |= value << CAN_TXBCR_CR23_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR23_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR23;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR23_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR23;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR24_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR24;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR24_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR24) >> CAN_TXBCR_CR24_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR24_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR24;
+ tmp |= value << CAN_TXBCR_CR24_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR24_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR24;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR24_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR24;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR25_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR25;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR25_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR25) >> CAN_TXBCR_CR25_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR25_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR25;
+ tmp |= value << CAN_TXBCR_CR25_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR25_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR25;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR25_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR25;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR26_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR26;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR26_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR26) >> CAN_TXBCR_CR26_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR26_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR26;
+ tmp |= value << CAN_TXBCR_CR26_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR26_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR26;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR26_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR26;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR27_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR27;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR27_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR27) >> CAN_TXBCR_CR27_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR27_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR27;
+ tmp |= value << CAN_TXBCR_CR27_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR27_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR27;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR27_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR27;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR28_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR28;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR28_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR28) >> CAN_TXBCR_CR28_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR28_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR28;
+ tmp |= value << CAN_TXBCR_CR28_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR28_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR28;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR28_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR28;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR29_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR29;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR29_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR29) >> CAN_TXBCR_CR29_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR29_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR29;
+ tmp |= value << CAN_TXBCR_CR29_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR29_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR29;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR29_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR29;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR30_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR30;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR30_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR30) >> CAN_TXBCR_CR30_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR30_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR30;
+ tmp |= value << CAN_TXBCR_CR30_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR30_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR30;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR30_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR30;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_CR31_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= CAN_TXBCR_CR31;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCR_CR31_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp = (tmp & CAN_TXBCR_CR31) >> CAN_TXBCR_CR31_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCR_CR31_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= ~CAN_TXBCR_CR31;
+ tmp |= value << CAN_TXBCR_CR31_Pos;
+ ((Can *)hw)->TXBCR.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_CR31_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~CAN_TXBCR_CR31;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_CR31_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= CAN_TXBCR_CR31;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCR_reg(const void *const hw, hri_can_txbcr_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbcr_reg_t hri_can_get_TXBCR_reg(const void *const hw, hri_can_txbcr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_TXBCR_reg(const void *const hw, hri_can_txbcr_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCR_reg(const void *const hw, hri_can_txbcr_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCR_reg(const void *const hw, hri_can_txbcr_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCR.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbcr_reg_t hri_can_read_TXBCR_reg(const void *const hw)
+{
+ return ((Can *)hw)->TXBCR.reg;
+}
+
+static inline void hri_can_set_TXBTIE_TIE0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE0) >> CAN_TXBTIE_TIE0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE0;
+ tmp |= value << CAN_TXBTIE_TIE0_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE1) >> CAN_TXBTIE_TIE1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE1;
+ tmp |= value << CAN_TXBTIE_TIE1_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE2_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE2;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE2) >> CAN_TXBTIE_TIE2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE2;
+ tmp |= value << CAN_TXBTIE_TIE2_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE2_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE2;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE2_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE2;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE3_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE3;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE3) >> CAN_TXBTIE_TIE3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE3;
+ tmp |= value << CAN_TXBTIE_TIE3_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE3_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE3;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE3_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE3;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE4_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE4;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE4) >> CAN_TXBTIE_TIE4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE4;
+ tmp |= value << CAN_TXBTIE_TIE4_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE4_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE4;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE4_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE4;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE5_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE5;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE5) >> CAN_TXBTIE_TIE5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE5;
+ tmp |= value << CAN_TXBTIE_TIE5_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE5_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE5;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE5_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE5;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE6_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE6;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE6) >> CAN_TXBTIE_TIE6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE6;
+ tmp |= value << CAN_TXBTIE_TIE6_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE6_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE6;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE6_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE6;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE7_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE7;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE7) >> CAN_TXBTIE_TIE7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE7;
+ tmp |= value << CAN_TXBTIE_TIE7_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE7_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE7;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE7_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE7;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE8_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE8;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE8_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE8) >> CAN_TXBTIE_TIE8_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE8_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE8;
+ tmp |= value << CAN_TXBTIE_TIE8_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE8_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE8;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE8_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE8;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE9_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE9;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE9_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE9) >> CAN_TXBTIE_TIE9_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE9_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE9;
+ tmp |= value << CAN_TXBTIE_TIE9_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE9_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE9;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE9_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE9;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE10_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE10;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE10_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE10) >> CAN_TXBTIE_TIE10_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE10_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE10;
+ tmp |= value << CAN_TXBTIE_TIE10_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE10_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE10;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE10_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE10;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE11_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE11;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE11_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE11) >> CAN_TXBTIE_TIE11_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE11_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE11;
+ tmp |= value << CAN_TXBTIE_TIE11_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE11_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE11;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE11_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE11;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE12_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE12;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE12_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE12) >> CAN_TXBTIE_TIE12_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE12_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE12;
+ tmp |= value << CAN_TXBTIE_TIE12_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE12_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE12;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE12_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE12;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE13_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE13;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE13_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE13) >> CAN_TXBTIE_TIE13_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE13_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE13;
+ tmp |= value << CAN_TXBTIE_TIE13_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE13_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE13;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE13_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE13;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE14_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE14;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE14_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE14) >> CAN_TXBTIE_TIE14_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE14_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE14;
+ tmp |= value << CAN_TXBTIE_TIE14_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE14_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE14;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE14_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE14;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE15_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE15;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE15_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE15) >> CAN_TXBTIE_TIE15_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE15_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE15;
+ tmp |= value << CAN_TXBTIE_TIE15_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE15_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE15;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE15_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE15;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE16_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE16;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE16_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE16) >> CAN_TXBTIE_TIE16_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE16_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE16;
+ tmp |= value << CAN_TXBTIE_TIE16_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE16_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE16;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE16_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE16;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE17_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE17;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE17_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE17) >> CAN_TXBTIE_TIE17_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE17_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE17;
+ tmp |= value << CAN_TXBTIE_TIE17_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE17_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE17;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE17_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE17;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE18_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE18;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE18_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE18) >> CAN_TXBTIE_TIE18_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE18_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE18;
+ tmp |= value << CAN_TXBTIE_TIE18_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE18_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE18;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE18_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE18;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE19_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE19;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE19_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE19) >> CAN_TXBTIE_TIE19_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE19_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE19;
+ tmp |= value << CAN_TXBTIE_TIE19_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE19_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE19;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE19_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE19;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE20_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE20;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE20_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE20) >> CAN_TXBTIE_TIE20_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE20_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE20;
+ tmp |= value << CAN_TXBTIE_TIE20_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE20_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE20;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE20_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE20;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE21_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE21;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE21_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE21) >> CAN_TXBTIE_TIE21_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE21_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE21;
+ tmp |= value << CAN_TXBTIE_TIE21_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE21_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE21;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE21_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE21;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE22_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE22;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE22_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE22) >> CAN_TXBTIE_TIE22_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE22_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE22;
+ tmp |= value << CAN_TXBTIE_TIE22_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE22_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE22;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE22_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE22;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE23_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE23;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE23_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE23) >> CAN_TXBTIE_TIE23_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE23_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE23;
+ tmp |= value << CAN_TXBTIE_TIE23_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE23_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE23;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE23_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE23;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE24_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE24;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE24_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE24) >> CAN_TXBTIE_TIE24_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE24_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE24;
+ tmp |= value << CAN_TXBTIE_TIE24_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE24_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE24;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE24_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE24;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE25_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE25;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE25_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE25) >> CAN_TXBTIE_TIE25_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE25_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE25;
+ tmp |= value << CAN_TXBTIE_TIE25_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE25_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE25;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE25_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE25;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE26_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE26;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE26_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE26) >> CAN_TXBTIE_TIE26_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE26_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE26;
+ tmp |= value << CAN_TXBTIE_TIE26_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE26_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE26;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE26_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE26;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE27_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE27;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE27_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE27) >> CAN_TXBTIE_TIE27_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE27_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE27;
+ tmp |= value << CAN_TXBTIE_TIE27_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE27_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE27;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE27_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE27;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE28_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE28;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE28_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE28) >> CAN_TXBTIE_TIE28_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE28_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE28;
+ tmp |= value << CAN_TXBTIE_TIE28_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE28_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE28;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE28_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE28;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE29_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE29;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE29_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE29) >> CAN_TXBTIE_TIE29_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE29_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE29;
+ tmp |= value << CAN_TXBTIE_TIE29_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE29_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE29;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE29_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE29;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE30_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE30;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE30_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE30) >> CAN_TXBTIE_TIE30_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE30_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE30;
+ tmp |= value << CAN_TXBTIE_TIE30_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE30_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE30;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE30_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE30;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_TIE31_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= CAN_TXBTIE_TIE31;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBTIE_TIE31_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp = (tmp & CAN_TXBTIE_TIE31) >> CAN_TXBTIE_TIE31_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBTIE_TIE31_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= ~CAN_TXBTIE_TIE31;
+ tmp |= value << CAN_TXBTIE_TIE31_Pos;
+ ((Can *)hw)->TXBTIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_TIE31_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~CAN_TXBTIE_TIE31;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_TIE31_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= CAN_TXBTIE_TIE31;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBTIE_reg(const void *const hw, hri_can_txbtie_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbtie_reg_t hri_can_get_TXBTIE_reg(const void *const hw, hri_can_txbtie_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBTIE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_TXBTIE_reg(const void *const hw, hri_can_txbtie_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBTIE_reg(const void *const hw, hri_can_txbtie_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBTIE_reg(const void *const hw, hri_can_txbtie_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBTIE.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbtie_reg_t hri_can_read_TXBTIE_reg(const void *const hw)
+{
+ return ((Can *)hw)->TXBTIE.reg;
+}
+
+static inline void hri_can_set_TXBCIE_CFIE0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE0) >> CAN_TXBCIE_CFIE0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE0;
+ tmp |= value << CAN_TXBCIE_CFIE0_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE0_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE0;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE1) >> CAN_TXBCIE_CFIE1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE1;
+ tmp |= value << CAN_TXBCIE_CFIE1_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE1_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE1;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE2_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE2;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE2) >> CAN_TXBCIE_CFIE2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE2;
+ tmp |= value << CAN_TXBCIE_CFIE2_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE2_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE2;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE2_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE2;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE3_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE3;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE3) >> CAN_TXBCIE_CFIE3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE3;
+ tmp |= value << CAN_TXBCIE_CFIE3_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE3_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE3;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE3_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE3;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE4_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE4;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE4) >> CAN_TXBCIE_CFIE4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE4;
+ tmp |= value << CAN_TXBCIE_CFIE4_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE4_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE4;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE4_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE4;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE5_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE5;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE5) >> CAN_TXBCIE_CFIE5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE5;
+ tmp |= value << CAN_TXBCIE_CFIE5_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE5_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE5;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE5_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE5;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE6_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE6;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE6) >> CAN_TXBCIE_CFIE6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE6;
+ tmp |= value << CAN_TXBCIE_CFIE6_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE6_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE6;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE6_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE6;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE7_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE7;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE7) >> CAN_TXBCIE_CFIE7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE7;
+ tmp |= value << CAN_TXBCIE_CFIE7_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE7_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE7;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE7_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE7;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE8_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE8;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE8_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE8) >> CAN_TXBCIE_CFIE8_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE8_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE8;
+ tmp |= value << CAN_TXBCIE_CFIE8_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE8_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE8;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE8_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE8;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE9_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE9;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE9_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE9) >> CAN_TXBCIE_CFIE9_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE9_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE9;
+ tmp |= value << CAN_TXBCIE_CFIE9_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE9_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE9;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE9_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE9;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE10_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE10;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE10_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE10) >> CAN_TXBCIE_CFIE10_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE10_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE10;
+ tmp |= value << CAN_TXBCIE_CFIE10_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE10_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE10;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE10_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE10;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE11_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE11;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE11_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE11) >> CAN_TXBCIE_CFIE11_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE11_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE11;
+ tmp |= value << CAN_TXBCIE_CFIE11_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE11_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE11;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE11_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE11;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE12_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE12;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE12_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE12) >> CAN_TXBCIE_CFIE12_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE12_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE12;
+ tmp |= value << CAN_TXBCIE_CFIE12_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE12_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE12;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE12_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE12;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE13_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE13;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE13_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE13) >> CAN_TXBCIE_CFIE13_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE13_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE13;
+ tmp |= value << CAN_TXBCIE_CFIE13_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE13_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE13;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE13_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE13;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE14_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE14;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE14_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE14) >> CAN_TXBCIE_CFIE14_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE14_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE14;
+ tmp |= value << CAN_TXBCIE_CFIE14_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE14_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE14;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE14_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE14;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE15_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE15;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE15_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE15) >> CAN_TXBCIE_CFIE15_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE15_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE15;
+ tmp |= value << CAN_TXBCIE_CFIE15_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE15_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE15;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE15_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE15;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE16_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE16;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE16_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE16) >> CAN_TXBCIE_CFIE16_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE16_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE16;
+ tmp |= value << CAN_TXBCIE_CFIE16_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE16_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE16;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE16_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE16;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE17_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE17;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE17_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE17) >> CAN_TXBCIE_CFIE17_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE17_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE17;
+ tmp |= value << CAN_TXBCIE_CFIE17_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE17_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE17;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE17_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE17;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE18_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE18;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE18_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE18) >> CAN_TXBCIE_CFIE18_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE18_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE18;
+ tmp |= value << CAN_TXBCIE_CFIE18_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE18_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE18;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE18_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE18;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE19_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE19;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE19_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE19) >> CAN_TXBCIE_CFIE19_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE19_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE19;
+ tmp |= value << CAN_TXBCIE_CFIE19_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE19_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE19;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE19_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE19;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE20_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE20;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE20_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE20) >> CAN_TXBCIE_CFIE20_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE20_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE20;
+ tmp |= value << CAN_TXBCIE_CFIE20_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE20_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE20;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE20_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE20;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE21_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE21;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE21_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE21) >> CAN_TXBCIE_CFIE21_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE21_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE21;
+ tmp |= value << CAN_TXBCIE_CFIE21_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE21_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE21;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE21_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE21;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE22_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE22;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE22_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE22) >> CAN_TXBCIE_CFIE22_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE22_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE22;
+ tmp |= value << CAN_TXBCIE_CFIE22_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE22_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE22;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE22_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE22;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE23_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE23;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE23_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE23) >> CAN_TXBCIE_CFIE23_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE23_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE23;
+ tmp |= value << CAN_TXBCIE_CFIE23_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE23_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE23;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE23_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE23;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE24_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE24;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE24_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE24) >> CAN_TXBCIE_CFIE24_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE24_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE24;
+ tmp |= value << CAN_TXBCIE_CFIE24_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE24_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE24;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE24_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE24;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE25_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE25;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE25_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE25) >> CAN_TXBCIE_CFIE25_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE25_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE25;
+ tmp |= value << CAN_TXBCIE_CFIE25_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE25_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE25;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE25_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE25;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE26_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE26;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE26_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE26) >> CAN_TXBCIE_CFIE26_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE26_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE26;
+ tmp |= value << CAN_TXBCIE_CFIE26_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE26_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE26;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE26_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE26;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE27_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE27;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE27_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE27) >> CAN_TXBCIE_CFIE27_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE27_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE27;
+ tmp |= value << CAN_TXBCIE_CFIE27_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE27_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE27;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE27_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE27;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE28_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE28;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE28_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE28) >> CAN_TXBCIE_CFIE28_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE28_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE28;
+ tmp |= value << CAN_TXBCIE_CFIE28_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE28_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE28;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE28_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE28;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE29_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE29;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE29_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE29) >> CAN_TXBCIE_CFIE29_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE29_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE29;
+ tmp |= value << CAN_TXBCIE_CFIE29_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE29_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE29;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE29_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE29;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE30_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE30;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE30_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE30) >> CAN_TXBCIE_CFIE30_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE30_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE30;
+ tmp |= value << CAN_TXBCIE_CFIE30_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE30_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE30;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE30_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE30;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_CFIE31_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= CAN_TXBCIE_CFIE31;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_can_get_TXBCIE_CFIE31_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp = (tmp & CAN_TXBCIE_CFIE31) >> CAN_TXBCIE_CFIE31_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_can_write_TXBCIE_CFIE31_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= ~CAN_TXBCIE_CFIE31;
+ tmp |= value << CAN_TXBCIE_CFIE31_Pos;
+ ((Can *)hw)->TXBCIE.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_CFIE31_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~CAN_TXBCIE_CFIE31;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_CFIE31_bit(const void *const hw)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= CAN_TXBCIE_CFIE31;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_set_TXBCIE_reg(const void *const hw, hri_can_txbcie_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbcie_reg_t hri_can_get_TXBCIE_reg(const void *const hw, hri_can_txbcie_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXBCIE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_TXBCIE_reg(const void *const hw, hri_can_txbcie_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXBCIE_reg(const void *const hw, hri_can_txbcie_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXBCIE_reg(const void *const hw, hri_can_txbcie_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXBCIE.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txbcie_reg_t hri_can_read_TXBCIE_reg(const void *const hw)
+{
+ return ((Can *)hw)->TXBCIE.reg;
+}
+
+static inline void hri_can_set_TXEFC_EFSA_bf(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFC.reg |= CAN_TXEFC_EFSA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txefc_reg_t hri_can_get_TXEFC_EFSA_bf(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXEFC.reg;
+ tmp = (tmp & CAN_TXEFC_EFSA(mask)) >> CAN_TXEFC_EFSA_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TXEFC_EFSA_bf(const void *const hw, hri_can_txefc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXEFC.reg;
+ tmp &= ~CAN_TXEFC_EFSA_Msk;
+ tmp |= CAN_TXEFC_EFSA(data);
+ ((Can *)hw)->TXEFC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXEFC_EFSA_bf(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFC.reg &= ~CAN_TXEFC_EFSA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXEFC_EFSA_bf(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFC.reg ^= CAN_TXEFC_EFSA(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txefc_reg_t hri_can_read_TXEFC_EFSA_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXEFC.reg;
+ tmp = (tmp & CAN_TXEFC_EFSA_Msk) >> CAN_TXEFC_EFSA_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TXEFC_EFS_bf(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFC.reg |= CAN_TXEFC_EFS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txefc_reg_t hri_can_get_TXEFC_EFS_bf(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXEFC.reg;
+ tmp = (tmp & CAN_TXEFC_EFS(mask)) >> CAN_TXEFC_EFS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TXEFC_EFS_bf(const void *const hw, hri_can_txefc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXEFC.reg;
+ tmp &= ~CAN_TXEFC_EFS_Msk;
+ tmp |= CAN_TXEFC_EFS(data);
+ ((Can *)hw)->TXEFC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXEFC_EFS_bf(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFC.reg &= ~CAN_TXEFC_EFS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXEFC_EFS_bf(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFC.reg ^= CAN_TXEFC_EFS(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txefc_reg_t hri_can_read_TXEFC_EFS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXEFC.reg;
+ tmp = (tmp & CAN_TXEFC_EFS_Msk) >> CAN_TXEFC_EFS_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TXEFC_EFWM_bf(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFC.reg |= CAN_TXEFC_EFWM(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txefc_reg_t hri_can_get_TXEFC_EFWM_bf(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXEFC.reg;
+ tmp = (tmp & CAN_TXEFC_EFWM(mask)) >> CAN_TXEFC_EFWM_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TXEFC_EFWM_bf(const void *const hw, hri_can_txefc_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXEFC.reg;
+ tmp &= ~CAN_TXEFC_EFWM_Msk;
+ tmp |= CAN_TXEFC_EFWM(data);
+ ((Can *)hw)->TXEFC.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXEFC_EFWM_bf(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFC.reg &= ~CAN_TXEFC_EFWM(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXEFC_EFWM_bf(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFC.reg ^= CAN_TXEFC_EFWM(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txefc_reg_t hri_can_read_TXEFC_EFWM_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXEFC.reg;
+ tmp = (tmp & CAN_TXEFC_EFWM_Msk) >> CAN_TXEFC_EFWM_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TXEFC_reg(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFC.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txefc_reg_t hri_can_get_TXEFC_reg(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXEFC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_TXEFC_reg(const void *const hw, hri_can_txefc_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFC.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXEFC_reg(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFC.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXEFC_reg(const void *const hw, hri_can_txefc_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFC.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txefc_reg_t hri_can_read_TXEFC_reg(const void *const hw)
+{
+ return ((Can *)hw)->TXEFC.reg;
+}
+
+static inline void hri_can_set_TXEFA_EFAI_bf(const void *const hw, hri_can_txefa_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFA.reg |= CAN_TXEFA_EFAI(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txefa_reg_t hri_can_get_TXEFA_EFAI_bf(const void *const hw, hri_can_txefa_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXEFA.reg;
+ tmp = (tmp & CAN_TXEFA_EFAI(mask)) >> CAN_TXEFA_EFAI_Pos;
+ return tmp;
+}
+
+static inline void hri_can_write_TXEFA_EFAI_bf(const void *const hw, hri_can_txefa_reg_t data)
+{
+ uint32_t tmp;
+ CAN_CRITICAL_SECTION_ENTER();
+ tmp = ((Can *)hw)->TXEFA.reg;
+ tmp &= ~CAN_TXEFA_EFAI_Msk;
+ tmp |= CAN_TXEFA_EFAI(data);
+ ((Can *)hw)->TXEFA.reg = tmp;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXEFA_EFAI_bf(const void *const hw, hri_can_txefa_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFA.reg &= ~CAN_TXEFA_EFAI(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXEFA_EFAI_bf(const void *const hw, hri_can_txefa_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFA.reg ^= CAN_TXEFA_EFAI(mask);
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txefa_reg_t hri_can_read_TXEFA_EFAI_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXEFA.reg;
+ tmp = (tmp & CAN_TXEFA_EFAI_Msk) >> CAN_TXEFA_EFAI_Pos;
+ return tmp;
+}
+
+static inline void hri_can_set_TXEFA_reg(const void *const hw, hri_can_txefa_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFA.reg |= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txefa_reg_t hri_can_get_TXEFA_reg(const void *const hw, hri_can_txefa_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Can *)hw)->TXEFA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_can_write_TXEFA_reg(const void *const hw, hri_can_txefa_reg_t data)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFA.reg = data;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_clear_TXEFA_reg(const void *const hw, hri_can_txefa_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFA.reg &= ~mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_can_toggle_TXEFA_reg(const void *const hw, hri_can_txefa_reg_t mask)
+{
+ CAN_CRITICAL_SECTION_ENTER();
+ ((Can *)hw)->TXEFA.reg ^= mask;
+ CAN_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_can_txefa_reg_t hri_can_read_TXEFA_reg(const void *const hw)
+{
+ return ((Can *)hw)->TXEFA.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_CAN_E54_H_INCLUDED */
+#endif /* _SAME54_CAN_COMPONENT_ */
diff --git a/hri/hri_ccl_e54.h b/hri/hri_ccl_e54.h
new file mode 100644
index 0000000..c5c4867
--- /dev/null
+++ b/hri/hri_ccl_e54.h
@@ -0,0 +1,776 @@
+/**
+ * \file
+ *
+ * \brief SAM CCL
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_CCL_COMPONENT_
+#ifndef _HRI_CCL_E54_H_INCLUDED_
+#define _HRI_CCL_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_CCL_CRITICAL_SECTIONS)
+#define CCL_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define CCL_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define CCL_CRITICAL_SECTION_ENTER()
+#define CCL_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_ccl_lutctrl_reg_t;
+typedef uint8_t hri_ccl_ctrl_reg_t;
+typedef uint8_t hri_ccl_seqctrl_reg_t;
+
+static inline void hri_ccl_set_CTRL_SWRST_bit(const void *const hw)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->CTRL.reg |= CCL_CTRL_SWRST;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ccl_get_CTRL_SWRST_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Ccl *)hw)->CTRL.reg;
+ tmp = (tmp & CCL_CTRL_SWRST) >> CCL_CTRL_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ccl_set_CTRL_ENABLE_bit(const void *const hw)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->CTRL.reg |= CCL_CTRL_ENABLE;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ccl_get_CTRL_ENABLE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Ccl *)hw)->CTRL.reg;
+ tmp = (tmp & CCL_CTRL_ENABLE) >> CCL_CTRL_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ccl_write_CTRL_ENABLE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ CCL_CRITICAL_SECTION_ENTER();
+ tmp = ((Ccl *)hw)->CTRL.reg;
+ tmp &= ~CCL_CTRL_ENABLE;
+ tmp |= value << CCL_CTRL_ENABLE_Pos;
+ ((Ccl *)hw)->CTRL.reg = tmp;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_CTRL_ENABLE_bit(const void *const hw)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->CTRL.reg &= ~CCL_CTRL_ENABLE;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_CTRL_ENABLE_bit(const void *const hw)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->CTRL.reg ^= CCL_CTRL_ENABLE;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_set_CTRL_RUNSTDBY_bit(const void *const hw)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->CTRL.reg |= CCL_CTRL_RUNSTDBY;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ccl_get_CTRL_RUNSTDBY_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Ccl *)hw)->CTRL.reg;
+ tmp = (tmp & CCL_CTRL_RUNSTDBY) >> CCL_CTRL_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ccl_write_CTRL_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ CCL_CRITICAL_SECTION_ENTER();
+ tmp = ((Ccl *)hw)->CTRL.reg;
+ tmp &= ~CCL_CTRL_RUNSTDBY;
+ tmp |= value << CCL_CTRL_RUNSTDBY_Pos;
+ ((Ccl *)hw)->CTRL.reg = tmp;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_CTRL_RUNSTDBY_bit(const void *const hw)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->CTRL.reg &= ~CCL_CTRL_RUNSTDBY;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_CTRL_RUNSTDBY_bit(const void *const hw)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->CTRL.reg ^= CCL_CTRL_RUNSTDBY;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_set_CTRL_reg(const void *const hw, hri_ccl_ctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->CTRL.reg |= mask;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_ctrl_reg_t hri_ccl_get_CTRL_reg(const void *const hw, hri_ccl_ctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Ccl *)hw)->CTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_ccl_write_CTRL_reg(const void *const hw, hri_ccl_ctrl_reg_t data)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->CTRL.reg = data;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_CTRL_reg(const void *const hw, hri_ccl_ctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->CTRL.reg &= ~mask;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_CTRL_reg(const void *const hw, hri_ccl_ctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->CTRL.reg ^= mask;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_ctrl_reg_t hri_ccl_read_CTRL_reg(const void *const hw)
+{
+ return ((Ccl *)hw)->CTRL.reg;
+}
+
+static inline void hri_ccl_set_SEQCTRL_SEQSEL_bf(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->SEQCTRL[index].reg |= CCL_SEQCTRL_SEQSEL(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_seqctrl_reg_t hri_ccl_get_SEQCTRL_SEQSEL_bf(const void *const hw, uint8_t index,
+ hri_ccl_seqctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Ccl *)hw)->SEQCTRL[index].reg;
+ tmp = (tmp & CCL_SEQCTRL_SEQSEL(mask)) >> CCL_SEQCTRL_SEQSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_ccl_write_SEQCTRL_SEQSEL_bf(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t data)
+{
+ uint8_t tmp;
+ CCL_CRITICAL_SECTION_ENTER();
+ tmp = ((Ccl *)hw)->SEQCTRL[index].reg;
+ tmp &= ~CCL_SEQCTRL_SEQSEL_Msk;
+ tmp |= CCL_SEQCTRL_SEQSEL(data);
+ ((Ccl *)hw)->SEQCTRL[index].reg = tmp;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_SEQCTRL_SEQSEL_bf(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->SEQCTRL[index].reg &= ~CCL_SEQCTRL_SEQSEL(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_SEQCTRL_SEQSEL_bf(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->SEQCTRL[index].reg ^= CCL_SEQCTRL_SEQSEL(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_seqctrl_reg_t hri_ccl_read_SEQCTRL_SEQSEL_bf(const void *const hw, uint8_t index)
+{
+ uint8_t tmp;
+ tmp = ((Ccl *)hw)->SEQCTRL[index].reg;
+ tmp = (tmp & CCL_SEQCTRL_SEQSEL_Msk) >> CCL_SEQCTRL_SEQSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_ccl_set_SEQCTRL_reg(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->SEQCTRL[index].reg |= mask;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_seqctrl_reg_t hri_ccl_get_SEQCTRL_reg(const void *const hw, uint8_t index,
+ hri_ccl_seqctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Ccl *)hw)->SEQCTRL[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_ccl_write_SEQCTRL_reg(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t data)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->SEQCTRL[index].reg = data;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_SEQCTRL_reg(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->SEQCTRL[index].reg &= ~mask;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_SEQCTRL_reg(const void *const hw, uint8_t index, hri_ccl_seqctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->SEQCTRL[index].reg ^= mask;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_seqctrl_reg_t hri_ccl_read_SEQCTRL_reg(const void *const hw, uint8_t index)
+{
+ return ((Ccl *)hw)->SEQCTRL[index].reg;
+}
+
+static inline void hri_ccl_set_LUTCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_ENABLE;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ccl_get_LUTCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp = (tmp & CCL_LUTCTRL_ENABLE) >> CCL_LUTCTRL_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ccl_write_LUTCTRL_ENABLE_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ CCL_CRITICAL_SECTION_ENTER();
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp &= ~CCL_LUTCTRL_ENABLE;
+ tmp |= value << CCL_LUTCTRL_ENABLE_Pos;
+ ((Ccl *)hw)->LUTCTRL[index].reg = tmp;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_LUTCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_ENABLE;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_LUTCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_ENABLE;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_set_LUTCTRL_EDGESEL_bit(const void *const hw, uint8_t index)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_EDGESEL;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ccl_get_LUTCTRL_EDGESEL_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp = (tmp & CCL_LUTCTRL_EDGESEL) >> CCL_LUTCTRL_EDGESEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ccl_write_LUTCTRL_EDGESEL_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ CCL_CRITICAL_SECTION_ENTER();
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp &= ~CCL_LUTCTRL_EDGESEL;
+ tmp |= value << CCL_LUTCTRL_EDGESEL_Pos;
+ ((Ccl *)hw)->LUTCTRL[index].reg = tmp;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_LUTCTRL_EDGESEL_bit(const void *const hw, uint8_t index)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_EDGESEL;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_LUTCTRL_EDGESEL_bit(const void *const hw, uint8_t index)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_EDGESEL;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_set_LUTCTRL_INVEI_bit(const void *const hw, uint8_t index)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_INVEI;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ccl_get_LUTCTRL_INVEI_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp = (tmp & CCL_LUTCTRL_INVEI) >> CCL_LUTCTRL_INVEI_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ccl_write_LUTCTRL_INVEI_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ CCL_CRITICAL_SECTION_ENTER();
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp &= ~CCL_LUTCTRL_INVEI;
+ tmp |= value << CCL_LUTCTRL_INVEI_Pos;
+ ((Ccl *)hw)->LUTCTRL[index].reg = tmp;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_LUTCTRL_INVEI_bit(const void *const hw, uint8_t index)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_INVEI;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_LUTCTRL_INVEI_bit(const void *const hw, uint8_t index)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_INVEI;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_set_LUTCTRL_LUTEI_bit(const void *const hw, uint8_t index)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_LUTEI;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ccl_get_LUTCTRL_LUTEI_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp = (tmp & CCL_LUTCTRL_LUTEI) >> CCL_LUTCTRL_LUTEI_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ccl_write_LUTCTRL_LUTEI_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ CCL_CRITICAL_SECTION_ENTER();
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp &= ~CCL_LUTCTRL_LUTEI;
+ tmp |= value << CCL_LUTCTRL_LUTEI_Pos;
+ ((Ccl *)hw)->LUTCTRL[index].reg = tmp;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_LUTCTRL_LUTEI_bit(const void *const hw, uint8_t index)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_LUTEI;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_LUTCTRL_LUTEI_bit(const void *const hw, uint8_t index)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_LUTEI;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_set_LUTCTRL_LUTEO_bit(const void *const hw, uint8_t index)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_LUTEO;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ccl_get_LUTCTRL_LUTEO_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp = (tmp & CCL_LUTCTRL_LUTEO) >> CCL_LUTCTRL_LUTEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ccl_write_LUTCTRL_LUTEO_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ CCL_CRITICAL_SECTION_ENTER();
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp &= ~CCL_LUTCTRL_LUTEO;
+ tmp |= value << CCL_LUTCTRL_LUTEO_Pos;
+ ((Ccl *)hw)->LUTCTRL[index].reg = tmp;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_LUTCTRL_LUTEO_bit(const void *const hw, uint8_t index)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_LUTEO;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_LUTCTRL_LUTEO_bit(const void *const hw, uint8_t index)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_LUTEO;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_set_LUTCTRL_FILTSEL_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_FILTSEL(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_lutctrl_reg_t hri_ccl_get_LUTCTRL_FILTSEL_bf(const void *const hw, uint8_t index,
+ hri_ccl_lutctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp = (tmp & CCL_LUTCTRL_FILTSEL(mask)) >> CCL_LUTCTRL_FILTSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_ccl_write_LUTCTRL_FILTSEL_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t data)
+{
+ uint32_t tmp;
+ CCL_CRITICAL_SECTION_ENTER();
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp &= ~CCL_LUTCTRL_FILTSEL_Msk;
+ tmp |= CCL_LUTCTRL_FILTSEL(data);
+ ((Ccl *)hw)->LUTCTRL[index].reg = tmp;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_LUTCTRL_FILTSEL_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_FILTSEL(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_LUTCTRL_FILTSEL_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_FILTSEL(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_lutctrl_reg_t hri_ccl_read_LUTCTRL_FILTSEL_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp = (tmp & CCL_LUTCTRL_FILTSEL_Msk) >> CCL_LUTCTRL_FILTSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_ccl_set_LUTCTRL_INSEL0_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_INSEL0(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_lutctrl_reg_t hri_ccl_get_LUTCTRL_INSEL0_bf(const void *const hw, uint8_t index,
+ hri_ccl_lutctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp = (tmp & CCL_LUTCTRL_INSEL0(mask)) >> CCL_LUTCTRL_INSEL0_Pos;
+ return tmp;
+}
+
+static inline void hri_ccl_write_LUTCTRL_INSEL0_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t data)
+{
+ uint32_t tmp;
+ CCL_CRITICAL_SECTION_ENTER();
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp &= ~CCL_LUTCTRL_INSEL0_Msk;
+ tmp |= CCL_LUTCTRL_INSEL0(data);
+ ((Ccl *)hw)->LUTCTRL[index].reg = tmp;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_LUTCTRL_INSEL0_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_INSEL0(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_LUTCTRL_INSEL0_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_INSEL0(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_lutctrl_reg_t hri_ccl_read_LUTCTRL_INSEL0_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp = (tmp & CCL_LUTCTRL_INSEL0_Msk) >> CCL_LUTCTRL_INSEL0_Pos;
+ return tmp;
+}
+
+static inline void hri_ccl_set_LUTCTRL_INSEL1_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_INSEL1(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_lutctrl_reg_t hri_ccl_get_LUTCTRL_INSEL1_bf(const void *const hw, uint8_t index,
+ hri_ccl_lutctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp = (tmp & CCL_LUTCTRL_INSEL1(mask)) >> CCL_LUTCTRL_INSEL1_Pos;
+ return tmp;
+}
+
+static inline void hri_ccl_write_LUTCTRL_INSEL1_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t data)
+{
+ uint32_t tmp;
+ CCL_CRITICAL_SECTION_ENTER();
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp &= ~CCL_LUTCTRL_INSEL1_Msk;
+ tmp |= CCL_LUTCTRL_INSEL1(data);
+ ((Ccl *)hw)->LUTCTRL[index].reg = tmp;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_LUTCTRL_INSEL1_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_INSEL1(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_LUTCTRL_INSEL1_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_INSEL1(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_lutctrl_reg_t hri_ccl_read_LUTCTRL_INSEL1_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp = (tmp & CCL_LUTCTRL_INSEL1_Msk) >> CCL_LUTCTRL_INSEL1_Pos;
+ return tmp;
+}
+
+static inline void hri_ccl_set_LUTCTRL_INSEL2_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_INSEL2(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_lutctrl_reg_t hri_ccl_get_LUTCTRL_INSEL2_bf(const void *const hw, uint8_t index,
+ hri_ccl_lutctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp = (tmp & CCL_LUTCTRL_INSEL2(mask)) >> CCL_LUTCTRL_INSEL2_Pos;
+ return tmp;
+}
+
+static inline void hri_ccl_write_LUTCTRL_INSEL2_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t data)
+{
+ uint32_t tmp;
+ CCL_CRITICAL_SECTION_ENTER();
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp &= ~CCL_LUTCTRL_INSEL2_Msk;
+ tmp |= CCL_LUTCTRL_INSEL2(data);
+ ((Ccl *)hw)->LUTCTRL[index].reg = tmp;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_LUTCTRL_INSEL2_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_INSEL2(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_LUTCTRL_INSEL2_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_INSEL2(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_lutctrl_reg_t hri_ccl_read_LUTCTRL_INSEL2_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp = (tmp & CCL_LUTCTRL_INSEL2_Msk) >> CCL_LUTCTRL_INSEL2_Pos;
+ return tmp;
+}
+
+static inline void hri_ccl_set_LUTCTRL_TRUTH_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg |= CCL_LUTCTRL_TRUTH(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_lutctrl_reg_t hri_ccl_get_LUTCTRL_TRUTH_bf(const void *const hw, uint8_t index,
+ hri_ccl_lutctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp = (tmp & CCL_LUTCTRL_TRUTH(mask)) >> CCL_LUTCTRL_TRUTH_Pos;
+ return tmp;
+}
+
+static inline void hri_ccl_write_LUTCTRL_TRUTH_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t data)
+{
+ uint32_t tmp;
+ CCL_CRITICAL_SECTION_ENTER();
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp &= ~CCL_LUTCTRL_TRUTH_Msk;
+ tmp |= CCL_LUTCTRL_TRUTH(data);
+ ((Ccl *)hw)->LUTCTRL[index].reg = tmp;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_LUTCTRL_TRUTH_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg &= ~CCL_LUTCTRL_TRUTH(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_LUTCTRL_TRUTH_bf(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg ^= CCL_LUTCTRL_TRUTH(mask);
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_lutctrl_reg_t hri_ccl_read_LUTCTRL_TRUTH_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp = (tmp & CCL_LUTCTRL_TRUTH_Msk) >> CCL_LUTCTRL_TRUTH_Pos;
+ return tmp;
+}
+
+static inline void hri_ccl_set_LUTCTRL_reg(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg |= mask;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_lutctrl_reg_t hri_ccl_get_LUTCTRL_reg(const void *const hw, uint8_t index,
+ hri_ccl_lutctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Ccl *)hw)->LUTCTRL[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_ccl_write_LUTCTRL_reg(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t data)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg = data;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_clear_LUTCTRL_reg(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg &= ~mask;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ccl_toggle_LUTCTRL_reg(const void *const hw, uint8_t index, hri_ccl_lutctrl_reg_t mask)
+{
+ CCL_CRITICAL_SECTION_ENTER();
+ ((Ccl *)hw)->LUTCTRL[index].reg ^= mask;
+ CCL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ccl_lutctrl_reg_t hri_ccl_read_LUTCTRL_reg(const void *const hw, uint8_t index)
+{
+ return ((Ccl *)hw)->LUTCTRL[index].reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_CCL_E54_H_INCLUDED */
+#endif /* _SAME54_CCL_COMPONENT_ */
diff --git a/hri/hri_cmcc_e54.h b/hri/hri_cmcc_e54.h
new file mode 100644
index 0000000..c973d35
--- /dev/null
+++ b/hri/hri_cmcc_e54.h
@@ -0,0 +1,361 @@
+/**
+ * \file
+ *
+ * \brief SAM CMCC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_CMCC_COMPONENT_
+#ifndef _HRI_CMCC_E54_H_INCLUDED_
+#define _HRI_CMCC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_CMCC_CRITICAL_SECTIONS)
+#define CMCC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define CMCC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define CMCC_CRITICAL_SECTION_ENTER()
+#define CMCC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_cmcc_cfg_reg_t;
+typedef uint32_t hri_cmcc_ctrl_reg_t;
+typedef uint32_t hri_cmcc_lckway_reg_t;
+typedef uint32_t hri_cmcc_maint0_reg_t;
+typedef uint32_t hri_cmcc_maint1_reg_t;
+typedef uint32_t hri_cmcc_mcfg_reg_t;
+typedef uint32_t hri_cmcc_mctrl_reg_t;
+typedef uint32_t hri_cmcc_men_reg_t;
+typedef uint32_t hri_cmcc_msr_reg_t;
+typedef uint32_t hri_cmcc_sr_reg_t;
+typedef uint32_t hri_cmcc_type_reg_t;
+
+static inline bool hri_cmcc_get_TYPE_GCLK_bit(const void *const hw)
+{
+ return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_GCLK) >> CMCC_TYPE_GCLK_Pos;
+}
+
+static inline bool hri_cmcc_get_TYPE_RRP_bit(const void *const hw)
+{
+ return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_RRP) >> CMCC_TYPE_RRP_Pos;
+}
+
+static inline bool hri_cmcc_get_TYPE_LCKDOWN_bit(const void *const hw)
+{
+ return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_LCKDOWN) >> CMCC_TYPE_LCKDOWN_Pos;
+}
+
+static inline hri_cmcc_type_reg_t hri_cmcc_get_TYPE_WAYNUM_bf(const void *const hw, hri_cmcc_type_reg_t mask)
+{
+ return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_WAYNUM(mask)) >> CMCC_TYPE_WAYNUM_Pos;
+}
+
+static inline hri_cmcc_type_reg_t hri_cmcc_read_TYPE_WAYNUM_bf(const void *const hw)
+{
+ return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_WAYNUM_Msk) >> CMCC_TYPE_WAYNUM_Pos;
+}
+
+static inline hri_cmcc_type_reg_t hri_cmcc_get_TYPE_CSIZE_bf(const void *const hw, hri_cmcc_type_reg_t mask)
+{
+ return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_CSIZE(mask)) >> CMCC_TYPE_CSIZE_Pos;
+}
+
+static inline hri_cmcc_type_reg_t hri_cmcc_read_TYPE_CSIZE_bf(const void *const hw)
+{
+ return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_CSIZE_Msk) >> CMCC_TYPE_CSIZE_Pos;
+}
+
+static inline hri_cmcc_type_reg_t hri_cmcc_get_TYPE_CLSIZE_bf(const void *const hw, hri_cmcc_type_reg_t mask)
+{
+ return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_CLSIZE(mask)) >> CMCC_TYPE_CLSIZE_Pos;
+}
+
+static inline hri_cmcc_type_reg_t hri_cmcc_read_TYPE_CLSIZE_bf(const void *const hw)
+{
+ return (((Cmcc *)hw)->TYPE.reg & CMCC_TYPE_CLSIZE_Msk) >> CMCC_TYPE_CLSIZE_Pos;
+}
+
+static inline hri_cmcc_type_reg_t hri_cmcc_get_TYPE_reg(const void *const hw, hri_cmcc_type_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Cmcc *)hw)->TYPE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_cmcc_type_reg_t hri_cmcc_read_TYPE_reg(const void *const hw)
+{
+ return ((Cmcc *)hw)->TYPE.reg;
+}
+
+static inline bool hri_cmcc_get_SR_CSTS_bit(const void *const hw)
+{
+ return (((Cmcc *)hw)->SR.reg & CMCC_SR_CSTS) >> CMCC_SR_CSTS_Pos;
+}
+
+static inline hri_cmcc_sr_reg_t hri_cmcc_get_SR_reg(const void *const hw, hri_cmcc_sr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Cmcc *)hw)->SR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_cmcc_sr_reg_t hri_cmcc_read_SR_reg(const void *const hw)
+{
+ return ((Cmcc *)hw)->SR.reg;
+}
+
+static inline hri_cmcc_msr_reg_t hri_cmcc_get_MSR_EVENT_CNT_bf(const void *const hw, hri_cmcc_msr_reg_t mask)
+{
+ return (((Cmcc *)hw)->MSR.reg & CMCC_MSR_EVENT_CNT(mask)) >> CMCC_MSR_EVENT_CNT_Pos;
+}
+
+static inline hri_cmcc_msr_reg_t hri_cmcc_read_MSR_EVENT_CNT_bf(const void *const hw)
+{
+ return (((Cmcc *)hw)->MSR.reg & CMCC_MSR_EVENT_CNT_Msk) >> CMCC_MSR_EVENT_CNT_Pos;
+}
+
+static inline hri_cmcc_msr_reg_t hri_cmcc_get_MSR_reg(const void *const hw, hri_cmcc_msr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Cmcc *)hw)->MSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_cmcc_msr_reg_t hri_cmcc_read_MSR_reg(const void *const hw)
+{
+ return ((Cmcc *)hw)->MSR.reg;
+}
+
+static inline void hri_cmcc_set_CFG_reg(const void *const hw, hri_cmcc_cfg_reg_t mask)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->CFG.reg |= mask;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_cmcc_cfg_reg_t hri_cmcc_get_CFG_reg(const void *const hw, hri_cmcc_cfg_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Cmcc *)hw)->CFG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_cmcc_write_CFG_reg(const void *const hw, hri_cmcc_cfg_reg_t data)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->CFG.reg = data;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_cmcc_clear_CFG_reg(const void *const hw, hri_cmcc_cfg_reg_t mask)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->CFG.reg &= ~mask;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_cmcc_toggle_CFG_reg(const void *const hw, hri_cmcc_cfg_reg_t mask)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->CFG.reg ^= mask;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_cmcc_cfg_reg_t hri_cmcc_read_CFG_reg(const void *const hw)
+{
+ return ((Cmcc *)hw)->CFG.reg;
+}
+
+static inline void hri_cmcc_set_LCKWAY_reg(const void *const hw, hri_cmcc_lckway_reg_t mask)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->LCKWAY.reg |= mask;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_cmcc_lckway_reg_t hri_cmcc_get_LCKWAY_reg(const void *const hw, hri_cmcc_lckway_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Cmcc *)hw)->LCKWAY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_cmcc_write_LCKWAY_reg(const void *const hw, hri_cmcc_lckway_reg_t data)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->LCKWAY.reg = data;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_cmcc_clear_LCKWAY_reg(const void *const hw, hri_cmcc_lckway_reg_t mask)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->LCKWAY.reg &= ~mask;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_cmcc_toggle_LCKWAY_reg(const void *const hw, hri_cmcc_lckway_reg_t mask)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->LCKWAY.reg ^= mask;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_cmcc_lckway_reg_t hri_cmcc_read_LCKWAY_reg(const void *const hw)
+{
+ return ((Cmcc *)hw)->LCKWAY.reg;
+}
+
+static inline void hri_cmcc_set_MCFG_reg(const void *const hw, hri_cmcc_mcfg_reg_t mask)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->MCFG.reg |= mask;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_cmcc_mcfg_reg_t hri_cmcc_get_MCFG_reg(const void *const hw, hri_cmcc_mcfg_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Cmcc *)hw)->MCFG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_cmcc_write_MCFG_reg(const void *const hw, hri_cmcc_mcfg_reg_t data)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->MCFG.reg = data;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_cmcc_clear_MCFG_reg(const void *const hw, hri_cmcc_mcfg_reg_t mask)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->MCFG.reg &= ~mask;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_cmcc_toggle_MCFG_reg(const void *const hw, hri_cmcc_mcfg_reg_t mask)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->MCFG.reg ^= mask;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_cmcc_mcfg_reg_t hri_cmcc_read_MCFG_reg(const void *const hw)
+{
+ return ((Cmcc *)hw)->MCFG.reg;
+}
+
+static inline void hri_cmcc_set_MEN_reg(const void *const hw, hri_cmcc_men_reg_t mask)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->MEN.reg |= mask;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_cmcc_men_reg_t hri_cmcc_get_MEN_reg(const void *const hw, hri_cmcc_men_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Cmcc *)hw)->MEN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_cmcc_write_MEN_reg(const void *const hw, hri_cmcc_men_reg_t data)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->MEN.reg = data;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_cmcc_clear_MEN_reg(const void *const hw, hri_cmcc_men_reg_t mask)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->MEN.reg &= ~mask;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_cmcc_toggle_MEN_reg(const void *const hw, hri_cmcc_men_reg_t mask)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->MEN.reg ^= mask;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_cmcc_men_reg_t hri_cmcc_read_MEN_reg(const void *const hw)
+{
+ return ((Cmcc *)hw)->MEN.reg;
+}
+
+static inline void hri_cmcc_write_CTRL_reg(const void *const hw, hri_cmcc_ctrl_reg_t data)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->CTRL.reg = data;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_cmcc_write_MAINT0_reg(const void *const hw, hri_cmcc_maint0_reg_t data)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->MAINT0.reg = data;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_cmcc_write_MAINT1_reg(const void *const hw, hri_cmcc_maint1_reg_t data)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->MAINT1.reg = data;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_cmcc_write_MCTRL_reg(const void *const hw, hri_cmcc_mctrl_reg_t data)
+{
+ CMCC_CRITICAL_SECTION_ENTER();
+ ((Cmcc *)hw)->MCTRL.reg = data;
+ CMCC_CRITICAL_SECTION_LEAVE();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_CMCC_E54_H_INCLUDED */
+#endif /* _SAME54_CMCC_COMPONENT_ */
diff --git a/hri/hri_dac_e54.h b/hri/hri_dac_e54.h
new file mode 100644
index 0000000..911dd52
--- /dev/null
+++ b/hri/hri_dac_e54.h
@@ -0,0 +1,1706 @@
+/**
+ * \file
+ *
+ * \brief SAM DAC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_DAC_COMPONENT_
+#ifndef _HRI_DAC_E54_H_INCLUDED_
+#define _HRI_DAC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_DAC_CRITICAL_SECTIONS)
+#define DAC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define DAC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define DAC_CRITICAL_SECTION_ENTER()
+#define DAC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_dac_dacctrl_reg_t;
+typedef uint16_t hri_dac_data_reg_t;
+typedef uint16_t hri_dac_databuf_reg_t;
+typedef uint16_t hri_dac_result_reg_t;
+typedef uint32_t hri_dac_syncbusy_reg_t;
+typedef uint8_t hri_dac_ctrla_reg_t;
+typedef uint8_t hri_dac_ctrlb_reg_t;
+typedef uint8_t hri_dac_dbgctrl_reg_t;
+typedef uint8_t hri_dac_evctrl_reg_t;
+typedef uint8_t hri_dac_intenset_reg_t;
+typedef uint8_t hri_dac_intflag_reg_t;
+typedef uint8_t hri_dac_status_reg_t;
+
+static inline void hri_dac_wait_for_sync(const void *const hw, hri_dac_syncbusy_reg_t reg)
+{
+ while (((Dac *)hw)->SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_dac_is_syncing(const void *const hw, hri_dac_syncbusy_reg_t reg)
+{
+ return ((Dac *)hw)->SYNCBUSY.reg & reg;
+}
+
+static inline bool hri_dac_get_INTFLAG_UNDERRUN0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_UNDERRUN0) >> DAC_INTFLAG_UNDERRUN0_Pos;
+}
+
+static inline void hri_dac_clear_INTFLAG_UNDERRUN0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_UNDERRUN0;
+}
+
+static inline bool hri_dac_get_INTFLAG_UNDERRUN1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_UNDERRUN1) >> DAC_INTFLAG_UNDERRUN1_Pos;
+}
+
+static inline void hri_dac_clear_INTFLAG_UNDERRUN1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_UNDERRUN1;
+}
+
+static inline bool hri_dac_get_INTFLAG_EMPTY0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_EMPTY0) >> DAC_INTFLAG_EMPTY0_Pos;
+}
+
+static inline void hri_dac_clear_INTFLAG_EMPTY0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_EMPTY0;
+}
+
+static inline bool hri_dac_get_INTFLAG_EMPTY1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_EMPTY1) >> DAC_INTFLAG_EMPTY1_Pos;
+}
+
+static inline void hri_dac_clear_INTFLAG_EMPTY1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_EMPTY1;
+}
+
+static inline bool hri_dac_get_INTFLAG_RESRDY0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_RESRDY0) >> DAC_INTFLAG_RESRDY0_Pos;
+}
+
+static inline void hri_dac_clear_INTFLAG_RESRDY0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_RESRDY0;
+}
+
+static inline bool hri_dac_get_INTFLAG_RESRDY1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_RESRDY1) >> DAC_INTFLAG_RESRDY1_Pos;
+}
+
+static inline void hri_dac_clear_INTFLAG_RESRDY1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_RESRDY1;
+}
+
+static inline bool hri_dac_get_INTFLAG_OVERRUN0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_OVERRUN0) >> DAC_INTFLAG_OVERRUN0_Pos;
+}
+
+static inline void hri_dac_clear_INTFLAG_OVERRUN0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_OVERRUN0;
+}
+
+static inline bool hri_dac_get_INTFLAG_OVERRUN1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_OVERRUN1) >> DAC_INTFLAG_OVERRUN1_Pos;
+}
+
+static inline void hri_dac_clear_INTFLAG_OVERRUN1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_OVERRUN1;
+}
+
+static inline bool hri_dac_get_interrupt_UNDERRUN0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_UNDERRUN0) >> DAC_INTFLAG_UNDERRUN0_Pos;
+}
+
+static inline void hri_dac_clear_interrupt_UNDERRUN0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_UNDERRUN0;
+}
+
+static inline bool hri_dac_get_interrupt_UNDERRUN1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_UNDERRUN1) >> DAC_INTFLAG_UNDERRUN1_Pos;
+}
+
+static inline void hri_dac_clear_interrupt_UNDERRUN1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_UNDERRUN1;
+}
+
+static inline bool hri_dac_get_interrupt_EMPTY0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_EMPTY0) >> DAC_INTFLAG_EMPTY0_Pos;
+}
+
+static inline void hri_dac_clear_interrupt_EMPTY0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_EMPTY0;
+}
+
+static inline bool hri_dac_get_interrupt_EMPTY1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_EMPTY1) >> DAC_INTFLAG_EMPTY1_Pos;
+}
+
+static inline void hri_dac_clear_interrupt_EMPTY1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_EMPTY1;
+}
+
+static inline bool hri_dac_get_interrupt_RESRDY0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_RESRDY0) >> DAC_INTFLAG_RESRDY0_Pos;
+}
+
+static inline void hri_dac_clear_interrupt_RESRDY0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_RESRDY0;
+}
+
+static inline bool hri_dac_get_interrupt_RESRDY1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_RESRDY1) >> DAC_INTFLAG_RESRDY1_Pos;
+}
+
+static inline void hri_dac_clear_interrupt_RESRDY1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_RESRDY1;
+}
+
+static inline bool hri_dac_get_interrupt_OVERRUN0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_OVERRUN0) >> DAC_INTFLAG_OVERRUN0_Pos;
+}
+
+static inline void hri_dac_clear_interrupt_OVERRUN0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_OVERRUN0;
+}
+
+static inline bool hri_dac_get_interrupt_OVERRUN1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTFLAG.reg & DAC_INTFLAG_OVERRUN1) >> DAC_INTFLAG_OVERRUN1_Pos;
+}
+
+static inline void hri_dac_clear_interrupt_OVERRUN1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTFLAG.reg = DAC_INTFLAG_OVERRUN1;
+}
+
+static inline hri_dac_intflag_reg_t hri_dac_get_INTFLAG_reg(const void *const hw, hri_dac_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dac_intflag_reg_t hri_dac_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Dac *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_dac_clear_INTFLAG_reg(const void *const hw, hri_dac_intflag_reg_t mask)
+{
+ ((Dac *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_dac_set_INTEN_UNDERRUN0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_UNDERRUN0;
+}
+
+static inline bool hri_dac_get_INTEN_UNDERRUN0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_UNDERRUN0) >> DAC_INTENSET_UNDERRUN0_Pos;
+}
+
+static inline void hri_dac_write_INTEN_UNDERRUN0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_UNDERRUN0;
+ } else {
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_UNDERRUN0;
+ }
+}
+
+static inline void hri_dac_clear_INTEN_UNDERRUN0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_UNDERRUN0;
+}
+
+static inline void hri_dac_set_INTEN_UNDERRUN1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_UNDERRUN1;
+}
+
+static inline bool hri_dac_get_INTEN_UNDERRUN1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_UNDERRUN1) >> DAC_INTENSET_UNDERRUN1_Pos;
+}
+
+static inline void hri_dac_write_INTEN_UNDERRUN1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_UNDERRUN1;
+ } else {
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_UNDERRUN1;
+ }
+}
+
+static inline void hri_dac_clear_INTEN_UNDERRUN1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_UNDERRUN1;
+}
+
+static inline void hri_dac_set_INTEN_EMPTY0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_EMPTY0;
+}
+
+static inline bool hri_dac_get_INTEN_EMPTY0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_EMPTY0) >> DAC_INTENSET_EMPTY0_Pos;
+}
+
+static inline void hri_dac_write_INTEN_EMPTY0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_EMPTY0;
+ } else {
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_EMPTY0;
+ }
+}
+
+static inline void hri_dac_clear_INTEN_EMPTY0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_EMPTY0;
+}
+
+static inline void hri_dac_set_INTEN_EMPTY1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_EMPTY1;
+}
+
+static inline bool hri_dac_get_INTEN_EMPTY1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_EMPTY1) >> DAC_INTENSET_EMPTY1_Pos;
+}
+
+static inline void hri_dac_write_INTEN_EMPTY1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_EMPTY1;
+ } else {
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_EMPTY1;
+ }
+}
+
+static inline void hri_dac_clear_INTEN_EMPTY1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_EMPTY1;
+}
+
+static inline void hri_dac_set_INTEN_RESRDY0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_RESRDY0;
+}
+
+static inline bool hri_dac_get_INTEN_RESRDY0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_RESRDY0) >> DAC_INTENSET_RESRDY0_Pos;
+}
+
+static inline void hri_dac_write_INTEN_RESRDY0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_RESRDY0;
+ } else {
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_RESRDY0;
+ }
+}
+
+static inline void hri_dac_clear_INTEN_RESRDY0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_RESRDY0;
+}
+
+static inline void hri_dac_set_INTEN_RESRDY1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_RESRDY1;
+}
+
+static inline bool hri_dac_get_INTEN_RESRDY1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_RESRDY1) >> DAC_INTENSET_RESRDY1_Pos;
+}
+
+static inline void hri_dac_write_INTEN_RESRDY1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_RESRDY1;
+ } else {
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_RESRDY1;
+ }
+}
+
+static inline void hri_dac_clear_INTEN_RESRDY1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_RESRDY1;
+}
+
+static inline void hri_dac_set_INTEN_OVERRUN0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_OVERRUN0;
+}
+
+static inline bool hri_dac_get_INTEN_OVERRUN0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_OVERRUN0) >> DAC_INTENSET_OVERRUN0_Pos;
+}
+
+static inline void hri_dac_write_INTEN_OVERRUN0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_OVERRUN0;
+ } else {
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_OVERRUN0;
+ }
+}
+
+static inline void hri_dac_clear_INTEN_OVERRUN0_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_OVERRUN0;
+}
+
+static inline void hri_dac_set_INTEN_OVERRUN1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_OVERRUN1;
+}
+
+static inline bool hri_dac_get_INTEN_OVERRUN1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->INTENSET.reg & DAC_INTENSET_OVERRUN1) >> DAC_INTENSET_OVERRUN1_Pos;
+}
+
+static inline void hri_dac_write_INTEN_OVERRUN1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_OVERRUN1;
+ } else {
+ ((Dac *)hw)->INTENSET.reg = DAC_INTENSET_OVERRUN1;
+ }
+}
+
+static inline void hri_dac_clear_INTEN_OVERRUN1_bit(const void *const hw)
+{
+ ((Dac *)hw)->INTENCLR.reg = DAC_INTENSET_OVERRUN1;
+}
+
+static inline void hri_dac_set_INTEN_reg(const void *const hw, hri_dac_intenset_reg_t mask)
+{
+ ((Dac *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_dac_intenset_reg_t hri_dac_get_INTEN_reg(const void *const hw, hri_dac_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dac_intenset_reg_t hri_dac_read_INTEN_reg(const void *const hw)
+{
+ return ((Dac *)hw)->INTENSET.reg;
+}
+
+static inline void hri_dac_write_INTEN_reg(const void *const hw, hri_dac_intenset_reg_t data)
+{
+ ((Dac *)hw)->INTENSET.reg = data;
+ ((Dac *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_dac_clear_INTEN_reg(const void *const hw, hri_dac_intenset_reg_t mask)
+{
+ ((Dac *)hw)->INTENCLR.reg = mask;
+}
+
+static inline bool hri_dac_get_STATUS_READY0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->STATUS.reg & DAC_STATUS_READY0) >> DAC_STATUS_READY0_Pos;
+}
+
+static inline bool hri_dac_get_STATUS_READY1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->STATUS.reg & DAC_STATUS_READY1) >> DAC_STATUS_READY1_Pos;
+}
+
+static inline bool hri_dac_get_STATUS_EOC0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->STATUS.reg & DAC_STATUS_EOC0) >> DAC_STATUS_EOC0_Pos;
+}
+
+static inline bool hri_dac_get_STATUS_EOC1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->STATUS.reg & DAC_STATUS_EOC1) >> DAC_STATUS_EOC1_Pos;
+}
+
+static inline hri_dac_status_reg_t hri_dac_get_STATUS_reg(const void *const hw, hri_dac_status_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dac_status_reg_t hri_dac_read_STATUS_reg(const void *const hw)
+{
+ return ((Dac *)hw)->STATUS.reg;
+}
+
+static inline bool hri_dac_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Dac *)hw)->SYNCBUSY.reg & DAC_SYNCBUSY_SWRST) >> DAC_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_dac_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Dac *)hw)->SYNCBUSY.reg & DAC_SYNCBUSY_ENABLE) >> DAC_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_dac_get_SYNCBUSY_DATA0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->SYNCBUSY.reg & DAC_SYNCBUSY_DATA0) >> DAC_SYNCBUSY_DATA0_Pos;
+}
+
+static inline bool hri_dac_get_SYNCBUSY_DATA1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->SYNCBUSY.reg & DAC_SYNCBUSY_DATA1) >> DAC_SYNCBUSY_DATA1_Pos;
+}
+
+static inline bool hri_dac_get_SYNCBUSY_DATABUF0_bit(const void *const hw)
+{
+ return (((Dac *)hw)->SYNCBUSY.reg & DAC_SYNCBUSY_DATABUF0) >> DAC_SYNCBUSY_DATABUF0_Pos;
+}
+
+static inline bool hri_dac_get_SYNCBUSY_DATABUF1_bit(const void *const hw)
+{
+ return (((Dac *)hw)->SYNCBUSY.reg & DAC_SYNCBUSY_DATABUF1) >> DAC_SYNCBUSY_DATABUF1_Pos;
+}
+
+static inline hri_dac_syncbusy_reg_t hri_dac_get_SYNCBUSY_reg(const void *const hw, hri_dac_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dac *)hw)->SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dac_syncbusy_reg_t hri_dac_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Dac *)hw)->SYNCBUSY.reg;
+}
+
+static inline hri_dac_result_reg_t hri_dac_get_RESULT_RESULT_bf(const void *const hw, uint8_t index,
+ hri_dac_result_reg_t mask)
+{
+ return (((Dac *)hw)->RESULT[index].reg & DAC_RESULT_RESULT(mask)) >> DAC_RESULT_RESULT_Pos;
+}
+
+static inline hri_dac_result_reg_t hri_dac_read_RESULT_RESULT_bf(const void *const hw, uint8_t index)
+{
+ return (((Dac *)hw)->RESULT[index].reg & DAC_RESULT_RESULT_Msk) >> DAC_RESULT_RESULT_Pos;
+}
+
+static inline hri_dac_result_reg_t hri_dac_get_RESULT_reg(const void *const hw, uint8_t index,
+ hri_dac_result_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Dac *)hw)->RESULT[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dac_result_reg_t hri_dac_read_RESULT_reg(const void *const hw, uint8_t index)
+{
+ return ((Dac *)hw)->RESULT[index].reg;
+}
+
+static inline void hri_dac_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLA.reg |= DAC_CTRLA_SWRST;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST);
+ tmp = ((Dac *)hw)->CTRLA.reg;
+ tmp = (tmp & DAC_CTRLA_SWRST) >> DAC_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLA.reg |= DAC_CTRLA_ENABLE;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE);
+ tmp = ((Dac *)hw)->CTRLA.reg;
+ tmp = (tmp & DAC_CTRLA_ENABLE) >> DAC_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->CTRLA.reg;
+ tmp &= ~DAC_CTRLA_ENABLE;
+ tmp |= value << DAC_CTRLA_ENABLE_Pos;
+ ((Dac *)hw)->CTRLA.reg = tmp;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLA.reg &= ~DAC_CTRLA_ENABLE;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLA.reg ^= DAC_CTRLA_ENABLE;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_CTRLA_reg(const void *const hw, hri_dac_ctrla_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLA.reg |= mask;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_ctrla_reg_t hri_dac_get_CTRLA_reg(const void *const hw, hri_dac_ctrla_reg_t mask)
+{
+ uint8_t tmp;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE);
+ tmp = ((Dac *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dac_write_CTRLA_reg(const void *const hw, hri_dac_ctrla_reg_t data)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLA.reg = data;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_CTRLA_reg(const void *const hw, hri_dac_ctrla_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLA.reg &= ~mask;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_CTRLA_reg(const void *const hw, hri_dac_ctrla_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLA.reg ^= mask;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_ctrla_reg_t hri_dac_read_CTRLA_reg(const void *const hw)
+{
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_SWRST | DAC_SYNCBUSY_ENABLE);
+ return ((Dac *)hw)->CTRLA.reg;
+}
+
+static inline void hri_dac_set_CTRLB_DIFF_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLB.reg |= DAC_CTRLB_DIFF;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_CTRLB_DIFF_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->CTRLB.reg;
+ tmp = (tmp & DAC_CTRLB_DIFF) >> DAC_CTRLB_DIFF_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_CTRLB_DIFF_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->CTRLB.reg;
+ tmp &= ~DAC_CTRLB_DIFF;
+ tmp |= value << DAC_CTRLB_DIFF_Pos;
+ ((Dac *)hw)->CTRLB.reg = tmp;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_CTRLB_DIFF_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLB.reg &= ~DAC_CTRLB_DIFF;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_CTRLB_DIFF_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLB.reg ^= DAC_CTRLB_DIFF;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_CTRLB_REFSEL_bf(const void *const hw, hri_dac_ctrlb_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLB.reg |= DAC_CTRLB_REFSEL(mask);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_ctrlb_reg_t hri_dac_get_CTRLB_REFSEL_bf(const void *const hw, hri_dac_ctrlb_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->CTRLB.reg;
+ tmp = (tmp & DAC_CTRLB_REFSEL(mask)) >> DAC_CTRLB_REFSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_dac_write_CTRLB_REFSEL_bf(const void *const hw, hri_dac_ctrlb_reg_t data)
+{
+ uint8_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->CTRLB.reg;
+ tmp &= ~DAC_CTRLB_REFSEL_Msk;
+ tmp |= DAC_CTRLB_REFSEL(data);
+ ((Dac *)hw)->CTRLB.reg = tmp;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_CTRLB_REFSEL_bf(const void *const hw, hri_dac_ctrlb_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLB.reg &= ~DAC_CTRLB_REFSEL(mask);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_CTRLB_REFSEL_bf(const void *const hw, hri_dac_ctrlb_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLB.reg ^= DAC_CTRLB_REFSEL(mask);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_ctrlb_reg_t hri_dac_read_CTRLB_REFSEL_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->CTRLB.reg;
+ tmp = (tmp & DAC_CTRLB_REFSEL_Msk) >> DAC_CTRLB_REFSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_dac_set_CTRLB_reg(const void *const hw, hri_dac_ctrlb_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLB.reg |= mask;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_ctrlb_reg_t hri_dac_get_CTRLB_reg(const void *const hw, hri_dac_ctrlb_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->CTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dac_write_CTRLB_reg(const void *const hw, hri_dac_ctrlb_reg_t data)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLB.reg = data;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_CTRLB_reg(const void *const hw, hri_dac_ctrlb_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLB.reg &= ~mask;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_CTRLB_reg(const void *const hw, hri_dac_ctrlb_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->CTRLB.reg ^= mask;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_ctrlb_reg_t hri_dac_read_CTRLB_reg(const void *const hw)
+{
+ return ((Dac *)hw)->CTRLB.reg;
+}
+
+static inline void hri_dac_set_EVCTRL_STARTEI0_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_STARTEI0;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_EVCTRL_STARTEI0_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp = (tmp & DAC_EVCTRL_STARTEI0) >> DAC_EVCTRL_STARTEI0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_EVCTRL_STARTEI0_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp &= ~DAC_EVCTRL_STARTEI0;
+ tmp |= value << DAC_EVCTRL_STARTEI0_Pos;
+ ((Dac *)hw)->EVCTRL.reg = tmp;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_EVCTRL_STARTEI0_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_STARTEI0;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_EVCTRL_STARTEI0_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_STARTEI0;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_EVCTRL_STARTEI1_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_STARTEI1;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_EVCTRL_STARTEI1_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp = (tmp & DAC_EVCTRL_STARTEI1) >> DAC_EVCTRL_STARTEI1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_EVCTRL_STARTEI1_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp &= ~DAC_EVCTRL_STARTEI1;
+ tmp |= value << DAC_EVCTRL_STARTEI1_Pos;
+ ((Dac *)hw)->EVCTRL.reg = tmp;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_EVCTRL_STARTEI1_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_STARTEI1;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_EVCTRL_STARTEI1_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_STARTEI1;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_EVCTRL_EMPTYEO0_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_EMPTYEO0;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_EVCTRL_EMPTYEO0_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp = (tmp & DAC_EVCTRL_EMPTYEO0) >> DAC_EVCTRL_EMPTYEO0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_EVCTRL_EMPTYEO0_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp &= ~DAC_EVCTRL_EMPTYEO0;
+ tmp |= value << DAC_EVCTRL_EMPTYEO0_Pos;
+ ((Dac *)hw)->EVCTRL.reg = tmp;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_EVCTRL_EMPTYEO0_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_EMPTYEO0;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_EVCTRL_EMPTYEO0_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_EMPTYEO0;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_EVCTRL_EMPTYEO1_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_EMPTYEO1;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_EVCTRL_EMPTYEO1_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp = (tmp & DAC_EVCTRL_EMPTYEO1) >> DAC_EVCTRL_EMPTYEO1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_EVCTRL_EMPTYEO1_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp &= ~DAC_EVCTRL_EMPTYEO1;
+ tmp |= value << DAC_EVCTRL_EMPTYEO1_Pos;
+ ((Dac *)hw)->EVCTRL.reg = tmp;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_EVCTRL_EMPTYEO1_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_EMPTYEO1;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_EVCTRL_EMPTYEO1_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_EMPTYEO1;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_EVCTRL_INVEI0_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_INVEI0;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_EVCTRL_INVEI0_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp = (tmp & DAC_EVCTRL_INVEI0) >> DAC_EVCTRL_INVEI0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_EVCTRL_INVEI0_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp &= ~DAC_EVCTRL_INVEI0;
+ tmp |= value << DAC_EVCTRL_INVEI0_Pos;
+ ((Dac *)hw)->EVCTRL.reg = tmp;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_EVCTRL_INVEI0_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_INVEI0;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_EVCTRL_INVEI0_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_INVEI0;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_EVCTRL_INVEI1_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_INVEI1;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_EVCTRL_INVEI1_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp = (tmp & DAC_EVCTRL_INVEI1) >> DAC_EVCTRL_INVEI1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_EVCTRL_INVEI1_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp &= ~DAC_EVCTRL_INVEI1;
+ tmp |= value << DAC_EVCTRL_INVEI1_Pos;
+ ((Dac *)hw)->EVCTRL.reg = tmp;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_EVCTRL_INVEI1_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_INVEI1;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_EVCTRL_INVEI1_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_INVEI1;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_EVCTRL_RESRDYEO0_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_RESRDYEO0;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_EVCTRL_RESRDYEO0_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp = (tmp & DAC_EVCTRL_RESRDYEO0) >> DAC_EVCTRL_RESRDYEO0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_EVCTRL_RESRDYEO0_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp &= ~DAC_EVCTRL_RESRDYEO0;
+ tmp |= value << DAC_EVCTRL_RESRDYEO0_Pos;
+ ((Dac *)hw)->EVCTRL.reg = tmp;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_EVCTRL_RESRDYEO0_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_RESRDYEO0;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_EVCTRL_RESRDYEO0_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_RESRDYEO0;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_EVCTRL_RESRDYEO1_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg |= DAC_EVCTRL_RESRDYEO1;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_EVCTRL_RESRDYEO1_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp = (tmp & DAC_EVCTRL_RESRDYEO1) >> DAC_EVCTRL_RESRDYEO1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_EVCTRL_RESRDYEO1_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp &= ~DAC_EVCTRL_RESRDYEO1;
+ tmp |= value << DAC_EVCTRL_RESRDYEO1_Pos;
+ ((Dac *)hw)->EVCTRL.reg = tmp;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_EVCTRL_RESRDYEO1_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg &= ~DAC_EVCTRL_RESRDYEO1;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_EVCTRL_RESRDYEO1_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg ^= DAC_EVCTRL_RESRDYEO1;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_EVCTRL_reg(const void *const hw, hri_dac_evctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg |= mask;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_evctrl_reg_t hri_dac_get_EVCTRL_reg(const void *const hw, hri_dac_evctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dac_write_EVCTRL_reg(const void *const hw, hri_dac_evctrl_reg_t data)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg = data;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_EVCTRL_reg(const void *const hw, hri_dac_evctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg &= ~mask;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_EVCTRL_reg(const void *const hw, hri_dac_evctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->EVCTRL.reg ^= mask;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_evctrl_reg_t hri_dac_read_EVCTRL_reg(const void *const hw)
+{
+ return ((Dac *)hw)->EVCTRL.reg;
+}
+
+static inline void hri_dac_set_DACCTRL_LEFTADJ_bit(const void *const hw, uint8_t index)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_LEFTADJ;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_DACCTRL_LEFTADJ_bit(const void *const hw, uint8_t index)
+{
+ uint16_t tmp;
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp = (tmp & DAC_DACCTRL_LEFTADJ) >> DAC_DACCTRL_LEFTADJ_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_DACCTRL_LEFTADJ_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint16_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp &= ~DAC_DACCTRL_LEFTADJ;
+ tmp |= value << DAC_DACCTRL_LEFTADJ_Pos;
+ ((Dac *)hw)->DACCTRL[index].reg = tmp;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_DACCTRL_LEFTADJ_bit(const void *const hw, uint8_t index)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_LEFTADJ;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_DACCTRL_LEFTADJ_bit(const void *const hw, uint8_t index)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_LEFTADJ;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_DACCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_ENABLE;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_DACCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ uint16_t tmp;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE);
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp = (tmp & DAC_DACCTRL_ENABLE) >> DAC_DACCTRL_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_DACCTRL_ENABLE_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint16_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp &= ~DAC_DACCTRL_ENABLE;
+ tmp |= value << DAC_DACCTRL_ENABLE_Pos;
+ ((Dac *)hw)->DACCTRL[index].reg = tmp;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_DACCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_ENABLE;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_DACCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_ENABLE;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_DACCTRL_FEXT_bit(const void *const hw, uint8_t index)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_FEXT;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_DACCTRL_FEXT_bit(const void *const hw, uint8_t index)
+{
+ uint16_t tmp;
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp = (tmp & DAC_DACCTRL_FEXT) >> DAC_DACCTRL_FEXT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_DACCTRL_FEXT_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint16_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp &= ~DAC_DACCTRL_FEXT;
+ tmp |= value << DAC_DACCTRL_FEXT_Pos;
+ ((Dac *)hw)->DACCTRL[index].reg = tmp;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_DACCTRL_FEXT_bit(const void *const hw, uint8_t index)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_FEXT;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_DACCTRL_FEXT_bit(const void *const hw, uint8_t index)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_FEXT;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_DACCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_RUNSTDBY;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_DACCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ uint16_t tmp;
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp = (tmp & DAC_DACCTRL_RUNSTDBY) >> DAC_DACCTRL_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_DACCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint16_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp &= ~DAC_DACCTRL_RUNSTDBY;
+ tmp |= value << DAC_DACCTRL_RUNSTDBY_Pos;
+ ((Dac *)hw)->DACCTRL[index].reg = tmp;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_DACCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_RUNSTDBY;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_DACCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_RUNSTDBY;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_DACCTRL_DITHER_bit(const void *const hw, uint8_t index)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_DITHER;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_DACCTRL_DITHER_bit(const void *const hw, uint8_t index)
+{
+ uint16_t tmp;
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp = (tmp & DAC_DACCTRL_DITHER) >> DAC_DACCTRL_DITHER_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_DACCTRL_DITHER_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint16_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp &= ~DAC_DACCTRL_DITHER;
+ tmp |= value << DAC_DACCTRL_DITHER_Pos;
+ ((Dac *)hw)->DACCTRL[index].reg = tmp;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_DACCTRL_DITHER_bit(const void *const hw, uint8_t index)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_DITHER;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_DACCTRL_DITHER_bit(const void *const hw, uint8_t index)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_DITHER;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_DACCTRL_CCTRL_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_CCTRL(mask);
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_dacctrl_reg_t hri_dac_get_DACCTRL_CCTRL_bf(const void *const hw, uint8_t index,
+ hri_dac_dacctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp = (tmp & DAC_DACCTRL_CCTRL(mask)) >> DAC_DACCTRL_CCTRL_Pos;
+ return tmp;
+}
+
+static inline void hri_dac_write_DACCTRL_CCTRL_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t data)
+{
+ uint16_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp &= ~DAC_DACCTRL_CCTRL_Msk;
+ tmp |= DAC_DACCTRL_CCTRL(data);
+ ((Dac *)hw)->DACCTRL[index].reg = tmp;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_DACCTRL_CCTRL_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_CCTRL(mask);
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_DACCTRL_CCTRL_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_CCTRL(mask);
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_dacctrl_reg_t hri_dac_read_DACCTRL_CCTRL_bf(const void *const hw, uint8_t index)
+{
+ uint16_t tmp;
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp = (tmp & DAC_DACCTRL_CCTRL_Msk) >> DAC_DACCTRL_CCTRL_Pos;
+ return tmp;
+}
+
+static inline void hri_dac_set_DACCTRL_REFRESH_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_REFRESH(mask);
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_dacctrl_reg_t hri_dac_get_DACCTRL_REFRESH_bf(const void *const hw, uint8_t index,
+ hri_dac_dacctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp = (tmp & DAC_DACCTRL_REFRESH(mask)) >> DAC_DACCTRL_REFRESH_Pos;
+ return tmp;
+}
+
+static inline void hri_dac_write_DACCTRL_REFRESH_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t data)
+{
+ uint16_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp &= ~DAC_DACCTRL_REFRESH_Msk;
+ tmp |= DAC_DACCTRL_REFRESH(data);
+ ((Dac *)hw)->DACCTRL[index].reg = tmp;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_DACCTRL_REFRESH_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_REFRESH(mask);
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_DACCTRL_REFRESH_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_REFRESH(mask);
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_dacctrl_reg_t hri_dac_read_DACCTRL_REFRESH_bf(const void *const hw, uint8_t index)
+{
+ uint16_t tmp;
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp = (tmp & DAC_DACCTRL_REFRESH_Msk) >> DAC_DACCTRL_REFRESH_Pos;
+ return tmp;
+}
+
+static inline void hri_dac_set_DACCTRL_OSR_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg |= DAC_DACCTRL_OSR(mask);
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_dacctrl_reg_t hri_dac_get_DACCTRL_OSR_bf(const void *const hw, uint8_t index,
+ hri_dac_dacctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp = (tmp & DAC_DACCTRL_OSR(mask)) >> DAC_DACCTRL_OSR_Pos;
+ return tmp;
+}
+
+static inline void hri_dac_write_DACCTRL_OSR_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t data)
+{
+ uint16_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp &= ~DAC_DACCTRL_OSR_Msk;
+ tmp |= DAC_DACCTRL_OSR(data);
+ ((Dac *)hw)->DACCTRL[index].reg = tmp;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_DACCTRL_OSR_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg &= ~DAC_DACCTRL_OSR(mask);
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_DACCTRL_OSR_bf(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg ^= DAC_DACCTRL_OSR(mask);
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_MASK);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_dacctrl_reg_t hri_dac_read_DACCTRL_OSR_bf(const void *const hw, uint8_t index)
+{
+ uint16_t tmp;
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp = (tmp & DAC_DACCTRL_OSR_Msk) >> DAC_DACCTRL_OSR_Pos;
+ return tmp;
+}
+
+static inline void hri_dac_set_DACCTRL_reg(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg |= mask;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_dacctrl_reg_t hri_dac_get_DACCTRL_reg(const void *const hw, uint8_t index,
+ hri_dac_dacctrl_reg_t mask)
+{
+ uint16_t tmp;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE);
+ tmp = ((Dac *)hw)->DACCTRL[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dac_write_DACCTRL_reg(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t data)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg = data;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_DACCTRL_reg(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg &= ~mask;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_DACCTRL_reg(const void *const hw, uint8_t index, hri_dac_dacctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DACCTRL[index].reg ^= mask;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_dacctrl_reg_t hri_dac_read_DACCTRL_reg(const void *const hw, uint8_t index)
+{
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_ENABLE);
+ return ((Dac *)hw)->DACCTRL[index].reg;
+}
+
+static inline void hri_dac_set_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DBGCTRL.reg |= DAC_DBGCTRL_DBGRUN;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dac_get_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->DBGCTRL.reg;
+ tmp = (tmp & DAC_DBGCTRL_DBGRUN) >> DAC_DBGCTRL_DBGRUN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dac_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ DAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dac *)hw)->DBGCTRL.reg;
+ tmp &= ~DAC_DBGCTRL_DBGRUN;
+ tmp |= value << DAC_DBGCTRL_DBGRUN_Pos;
+ ((Dac *)hw)->DBGCTRL.reg = tmp;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DBGCTRL.reg &= ~DAC_DBGCTRL_DBGRUN;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DBGCTRL.reg ^= DAC_DBGCTRL_DBGRUN;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_set_DBGCTRL_reg(const void *const hw, hri_dac_dbgctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DBGCTRL.reg |= mask;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_dbgctrl_reg_t hri_dac_get_DBGCTRL_reg(const void *const hw, hri_dac_dbgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dac *)hw)->DBGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dac_write_DBGCTRL_reg(const void *const hw, hri_dac_dbgctrl_reg_t data)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DBGCTRL.reg = data;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_clear_DBGCTRL_reg(const void *const hw, hri_dac_dbgctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DBGCTRL.reg &= ~mask;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_toggle_DBGCTRL_reg(const void *const hw, hri_dac_dbgctrl_reg_t mask)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DBGCTRL.reg ^= mask;
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dac_dbgctrl_reg_t hri_dac_read_DBGCTRL_reg(const void *const hw)
+{
+ return ((Dac *)hw)->DBGCTRL.reg;
+}
+
+static inline void hri_dac_write_DATA_reg(const void *const hw, uint8_t index, hri_dac_data_reg_t data)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DATA[index].reg = data;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_DATA0 | DAC_SYNCBUSY_DATA1);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dac_write_DATABUF_reg(const void *const hw, uint8_t index, hri_dac_databuf_reg_t data)
+{
+ DAC_CRITICAL_SECTION_ENTER();
+ ((Dac *)hw)->DATABUF[index].reg = data;
+ hri_dac_wait_for_sync(hw, DAC_SYNCBUSY_DATABUF0 | DAC_SYNCBUSY_DATABUF1);
+ DAC_CRITICAL_SECTION_LEAVE();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_DAC_E54_H_INCLUDED */
+#endif /* _SAME54_DAC_COMPONENT_ */
diff --git a/hri/hri_dmac_e54.h b/hri/hri_dmac_e54.h
new file mode 100644
index 0000000..b4a6ba1
--- /dev/null
+++ b/hri/hri_dmac_e54.h
@@ -0,0 +1,6800 @@
+/**
+ * \file
+ *
+ * \brief SAM DMAC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_DMAC_COMPONENT_
+#ifndef _HRI_DMAC_E54_H_INCLUDED_
+#define _HRI_DMAC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_DMAC_CRITICAL_SECTIONS)
+#define DMAC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define DMAC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define DMAC_CRITICAL_SECTION_ENTER()
+#define DMAC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_dmac_crcctrl_reg_t;
+typedef uint16_t hri_dmac_ctrl_reg_t;
+typedef uint16_t hri_dmac_intpend_reg_t;
+typedef uint16_t hri_dmacdescriptor_btcnt_reg_t;
+typedef uint16_t hri_dmacdescriptor_btctrl_reg_t;
+typedef uint32_t hri_dmac_active_reg_t;
+typedef uint32_t hri_dmac_baseaddr_reg_t;
+typedef uint32_t hri_dmac_busych_reg_t;
+typedef uint32_t hri_dmac_chctrla_reg_t;
+typedef uint32_t hri_dmac_crcchksum_reg_t;
+typedef uint32_t hri_dmac_crcdatain_reg_t;
+typedef uint32_t hri_dmac_intstatus_reg_t;
+typedef uint32_t hri_dmac_pendch_reg_t;
+typedef uint32_t hri_dmac_prictrl0_reg_t;
+typedef uint32_t hri_dmac_swtrigctrl_reg_t;
+typedef uint32_t hri_dmac_wrbaddr_reg_t;
+typedef uint32_t hri_dmacchannel_chctrla_reg_t;
+typedef uint32_t hri_dmacdescriptor_descaddr_reg_t;
+typedef uint32_t hri_dmacdescriptor_dstaddr_reg_t;
+typedef uint32_t hri_dmacdescriptor_srcaddr_reg_t;
+typedef uint8_t hri_dmac_chctrlb_reg_t;
+typedef uint8_t hri_dmac_chevctrl_reg_t;
+typedef uint8_t hri_dmac_chintenset_reg_t;
+typedef uint8_t hri_dmac_chintflag_reg_t;
+typedef uint8_t hri_dmac_chprilvl_reg_t;
+typedef uint8_t hri_dmac_chstatus_reg_t;
+typedef uint8_t hri_dmac_crcstatus_reg_t;
+typedef uint8_t hri_dmac_dbgctrl_reg_t;
+typedef uint8_t hri_dmacchannel_chctrlb_reg_t;
+typedef uint8_t hri_dmacchannel_chevctrl_reg_t;
+typedef uint8_t hri_dmacchannel_chintenset_reg_t;
+typedef uint8_t hri_dmacchannel_chintflag_reg_t;
+typedef uint8_t hri_dmacchannel_chprilvl_reg_t;
+typedef uint8_t hri_dmacchannel_chstatus_reg_t;
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT0_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT0) >> DMAC_INTSTATUS_CHINT0_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT1_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT1) >> DMAC_INTSTATUS_CHINT1_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT2_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT2) >> DMAC_INTSTATUS_CHINT2_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT3_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT3) >> DMAC_INTSTATUS_CHINT3_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT4_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT4) >> DMAC_INTSTATUS_CHINT4_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT5_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT5) >> DMAC_INTSTATUS_CHINT5_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT6_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT6) >> DMAC_INTSTATUS_CHINT6_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT7_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT7) >> DMAC_INTSTATUS_CHINT7_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT8_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT8) >> DMAC_INTSTATUS_CHINT8_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT9_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT9) >> DMAC_INTSTATUS_CHINT9_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT10_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT10) >> DMAC_INTSTATUS_CHINT10_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT11_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT11) >> DMAC_INTSTATUS_CHINT11_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT12_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT12) >> DMAC_INTSTATUS_CHINT12_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT13_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT13) >> DMAC_INTSTATUS_CHINT13_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT14_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT14) >> DMAC_INTSTATUS_CHINT14_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT15_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT15) >> DMAC_INTSTATUS_CHINT15_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT16_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT16) >> DMAC_INTSTATUS_CHINT16_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT17_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT17) >> DMAC_INTSTATUS_CHINT17_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT18_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT18) >> DMAC_INTSTATUS_CHINT18_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT19_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT19) >> DMAC_INTSTATUS_CHINT19_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT20_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT20) >> DMAC_INTSTATUS_CHINT20_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT21_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT21) >> DMAC_INTSTATUS_CHINT21_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT22_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT22) >> DMAC_INTSTATUS_CHINT22_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT23_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT23) >> DMAC_INTSTATUS_CHINT23_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT24_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT24) >> DMAC_INTSTATUS_CHINT24_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT25_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT25) >> DMAC_INTSTATUS_CHINT25_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT26_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT26) >> DMAC_INTSTATUS_CHINT26_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT27_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT27) >> DMAC_INTSTATUS_CHINT27_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT28_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT28) >> DMAC_INTSTATUS_CHINT28_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT29_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT29) >> DMAC_INTSTATUS_CHINT29_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT30_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT30) >> DMAC_INTSTATUS_CHINT30_Pos;
+}
+
+static inline bool hri_dmac_get_INTSTATUS_CHINT31_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->INTSTATUS.reg & DMAC_INTSTATUS_CHINT31) >> DMAC_INTSTATUS_CHINT31_Pos;
+}
+
+static inline hri_dmac_intstatus_reg_t hri_dmac_get_INTSTATUS_reg(const void *const hw, hri_dmac_intstatus_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->INTSTATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dmac_intstatus_reg_t hri_dmac_read_INTSTATUS_reg(const void *const hw)
+{
+ return ((Dmac *)hw)->INTSTATUS.reg;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH0_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH0) >> DMAC_BUSYCH_BUSYCH0_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH1_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH1) >> DMAC_BUSYCH_BUSYCH1_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH2_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH2) >> DMAC_BUSYCH_BUSYCH2_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH3_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH3) >> DMAC_BUSYCH_BUSYCH3_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH4_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH4) >> DMAC_BUSYCH_BUSYCH4_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH5_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH5) >> DMAC_BUSYCH_BUSYCH5_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH6_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH6) >> DMAC_BUSYCH_BUSYCH6_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH7_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH7) >> DMAC_BUSYCH_BUSYCH7_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH8_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH8) >> DMAC_BUSYCH_BUSYCH8_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH9_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH9) >> DMAC_BUSYCH_BUSYCH9_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH10_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH10) >> DMAC_BUSYCH_BUSYCH10_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH11_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH11) >> DMAC_BUSYCH_BUSYCH11_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH12_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH12) >> DMAC_BUSYCH_BUSYCH12_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH13_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH13) >> DMAC_BUSYCH_BUSYCH13_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH14_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH14) >> DMAC_BUSYCH_BUSYCH14_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH15_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH15) >> DMAC_BUSYCH_BUSYCH15_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH16_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH16) >> DMAC_BUSYCH_BUSYCH16_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH17_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH17) >> DMAC_BUSYCH_BUSYCH17_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH18_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH18) >> DMAC_BUSYCH_BUSYCH18_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH19_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH19) >> DMAC_BUSYCH_BUSYCH19_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH20_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH20) >> DMAC_BUSYCH_BUSYCH20_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH21_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH21) >> DMAC_BUSYCH_BUSYCH21_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH22_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH22) >> DMAC_BUSYCH_BUSYCH22_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH23_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH23) >> DMAC_BUSYCH_BUSYCH23_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH24_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH24) >> DMAC_BUSYCH_BUSYCH24_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH25_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH25) >> DMAC_BUSYCH_BUSYCH25_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH26_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH26) >> DMAC_BUSYCH_BUSYCH26_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH27_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH27) >> DMAC_BUSYCH_BUSYCH27_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH28_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH28) >> DMAC_BUSYCH_BUSYCH28_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH29_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH29) >> DMAC_BUSYCH_BUSYCH29_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH30_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH30) >> DMAC_BUSYCH_BUSYCH30_Pos;
+}
+
+static inline bool hri_dmac_get_BUSYCH_BUSYCH31_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->BUSYCH.reg & DMAC_BUSYCH_BUSYCH31) >> DMAC_BUSYCH_BUSYCH31_Pos;
+}
+
+static inline hri_dmac_busych_reg_t hri_dmac_get_BUSYCH_reg(const void *const hw, hri_dmac_busych_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->BUSYCH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dmac_busych_reg_t hri_dmac_read_BUSYCH_reg(const void *const hw)
+{
+ return ((Dmac *)hw)->BUSYCH.reg;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH0_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH0) >> DMAC_PENDCH_PENDCH0_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH1_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH1) >> DMAC_PENDCH_PENDCH1_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH2_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH2) >> DMAC_PENDCH_PENDCH2_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH3_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH3) >> DMAC_PENDCH_PENDCH3_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH4_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH4) >> DMAC_PENDCH_PENDCH4_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH5_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH5) >> DMAC_PENDCH_PENDCH5_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH6_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH6) >> DMAC_PENDCH_PENDCH6_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH7_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH7) >> DMAC_PENDCH_PENDCH7_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH8_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH8) >> DMAC_PENDCH_PENDCH8_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH9_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH9) >> DMAC_PENDCH_PENDCH9_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH10_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH10) >> DMAC_PENDCH_PENDCH10_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH11_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH11) >> DMAC_PENDCH_PENDCH11_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH12_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH12) >> DMAC_PENDCH_PENDCH12_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH13_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH13) >> DMAC_PENDCH_PENDCH13_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH14_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH14) >> DMAC_PENDCH_PENDCH14_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH15_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH15) >> DMAC_PENDCH_PENDCH15_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH16_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH16) >> DMAC_PENDCH_PENDCH16_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH17_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH17) >> DMAC_PENDCH_PENDCH17_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH18_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH18) >> DMAC_PENDCH_PENDCH18_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH19_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH19) >> DMAC_PENDCH_PENDCH19_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH20_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH20) >> DMAC_PENDCH_PENDCH20_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH21_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH21) >> DMAC_PENDCH_PENDCH21_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH22_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH22) >> DMAC_PENDCH_PENDCH22_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH23_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH23) >> DMAC_PENDCH_PENDCH23_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH24_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH24) >> DMAC_PENDCH_PENDCH24_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH25_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH25) >> DMAC_PENDCH_PENDCH25_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH26_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH26) >> DMAC_PENDCH_PENDCH26_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH27_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH27) >> DMAC_PENDCH_PENDCH27_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH28_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH28) >> DMAC_PENDCH_PENDCH28_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH29_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH29) >> DMAC_PENDCH_PENDCH29_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH30_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH30) >> DMAC_PENDCH_PENDCH30_Pos;
+}
+
+static inline bool hri_dmac_get_PENDCH_PENDCH31_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->PENDCH.reg & DMAC_PENDCH_PENDCH31) >> DMAC_PENDCH_PENDCH31_Pos;
+}
+
+static inline hri_dmac_pendch_reg_t hri_dmac_get_PENDCH_reg(const void *const hw, hri_dmac_pendch_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PENDCH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dmac_pendch_reg_t hri_dmac_read_PENDCH_reg(const void *const hw)
+{
+ return ((Dmac *)hw)->PENDCH.reg;
+}
+
+static inline bool hri_dmac_get_ACTIVE_LVLEX0_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_LVLEX0) >> DMAC_ACTIVE_LVLEX0_Pos;
+}
+
+static inline bool hri_dmac_get_ACTIVE_LVLEX1_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_LVLEX1) >> DMAC_ACTIVE_LVLEX1_Pos;
+}
+
+static inline bool hri_dmac_get_ACTIVE_LVLEX2_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_LVLEX2) >> DMAC_ACTIVE_LVLEX2_Pos;
+}
+
+static inline bool hri_dmac_get_ACTIVE_LVLEX3_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_LVLEX3) >> DMAC_ACTIVE_LVLEX3_Pos;
+}
+
+static inline bool hri_dmac_get_ACTIVE_ABUSY_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_ABUSY) >> DMAC_ACTIVE_ABUSY_Pos;
+}
+
+static inline hri_dmac_active_reg_t hri_dmac_get_ACTIVE_ID_bf(const void *const hw, hri_dmac_active_reg_t mask)
+{
+ return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_ID(mask)) >> DMAC_ACTIVE_ID_Pos;
+}
+
+static inline hri_dmac_active_reg_t hri_dmac_read_ACTIVE_ID_bf(const void *const hw)
+{
+ return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_ID_Msk) >> DMAC_ACTIVE_ID_Pos;
+}
+
+static inline hri_dmac_active_reg_t hri_dmac_get_ACTIVE_BTCNT_bf(const void *const hw, hri_dmac_active_reg_t mask)
+{
+ return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_BTCNT(mask)) >> DMAC_ACTIVE_BTCNT_Pos;
+}
+
+static inline hri_dmac_active_reg_t hri_dmac_read_ACTIVE_BTCNT_bf(const void *const hw)
+{
+ return (((Dmac *)hw)->ACTIVE.reg & DMAC_ACTIVE_BTCNT_Msk) >> DMAC_ACTIVE_BTCNT_Pos;
+}
+
+static inline hri_dmac_active_reg_t hri_dmac_get_ACTIVE_reg(const void *const hw, hri_dmac_active_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->ACTIVE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dmac_active_reg_t hri_dmac_read_ACTIVE_reg(const void *const hw)
+{
+ return ((Dmac *)hw)->ACTIVE.reg;
+}
+
+static inline void hri_dmac_set_CTRL_SWRST_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg |= DMAC_CTRL_SWRST;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CTRL_SWRST_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CTRL.reg;
+ tmp = (tmp & DMAC_CTRL_SWRST) >> DMAC_CTRL_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_set_CTRL_DMAENABLE_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg |= DMAC_CTRL_DMAENABLE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CTRL_DMAENABLE_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CTRL.reg;
+ tmp = (tmp & DMAC_CTRL_DMAENABLE) >> DMAC_CTRL_DMAENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_CTRL_DMAENABLE_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->CTRL.reg;
+ tmp &= ~DMAC_CTRL_DMAENABLE;
+ tmp |= value << DMAC_CTRL_DMAENABLE_Pos;
+ ((Dmac *)hw)->CTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CTRL_DMAENABLE_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg &= ~DMAC_CTRL_DMAENABLE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CTRL_DMAENABLE_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg ^= DMAC_CTRL_DMAENABLE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_CTRL_LVLEN0_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg |= DMAC_CTRL_LVLEN0;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CTRL_LVLEN0_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CTRL.reg;
+ tmp = (tmp & DMAC_CTRL_LVLEN0) >> DMAC_CTRL_LVLEN0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_CTRL_LVLEN0_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->CTRL.reg;
+ tmp &= ~DMAC_CTRL_LVLEN0;
+ tmp |= value << DMAC_CTRL_LVLEN0_Pos;
+ ((Dmac *)hw)->CTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CTRL_LVLEN0_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg &= ~DMAC_CTRL_LVLEN0;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CTRL_LVLEN0_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg ^= DMAC_CTRL_LVLEN0;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_CTRL_LVLEN1_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg |= DMAC_CTRL_LVLEN1;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CTRL_LVLEN1_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CTRL.reg;
+ tmp = (tmp & DMAC_CTRL_LVLEN1) >> DMAC_CTRL_LVLEN1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_CTRL_LVLEN1_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->CTRL.reg;
+ tmp &= ~DMAC_CTRL_LVLEN1;
+ tmp |= value << DMAC_CTRL_LVLEN1_Pos;
+ ((Dmac *)hw)->CTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CTRL_LVLEN1_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg &= ~DMAC_CTRL_LVLEN1;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CTRL_LVLEN1_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg ^= DMAC_CTRL_LVLEN1;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_CTRL_LVLEN2_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg |= DMAC_CTRL_LVLEN2;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CTRL_LVLEN2_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CTRL.reg;
+ tmp = (tmp & DMAC_CTRL_LVLEN2) >> DMAC_CTRL_LVLEN2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_CTRL_LVLEN2_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->CTRL.reg;
+ tmp &= ~DMAC_CTRL_LVLEN2;
+ tmp |= value << DMAC_CTRL_LVLEN2_Pos;
+ ((Dmac *)hw)->CTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CTRL_LVLEN2_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg &= ~DMAC_CTRL_LVLEN2;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CTRL_LVLEN2_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg ^= DMAC_CTRL_LVLEN2;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_CTRL_LVLEN3_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg |= DMAC_CTRL_LVLEN3;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CTRL_LVLEN3_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CTRL.reg;
+ tmp = (tmp & DMAC_CTRL_LVLEN3) >> DMAC_CTRL_LVLEN3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_CTRL_LVLEN3_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->CTRL.reg;
+ tmp &= ~DMAC_CTRL_LVLEN3;
+ tmp |= value << DMAC_CTRL_LVLEN3_Pos;
+ ((Dmac *)hw)->CTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CTRL_LVLEN3_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg &= ~DMAC_CTRL_LVLEN3;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CTRL_LVLEN3_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg ^= DMAC_CTRL_LVLEN3;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_CTRL_reg(const void *const hw, hri_dmac_ctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_ctrl_reg_t hri_dmac_get_CTRL_reg(const void *const hw, hri_dmac_ctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CTRL_reg(const void *const hw, hri_dmac_ctrl_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CTRL_reg(const void *const hw, hri_dmac_ctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CTRL_reg(const void *const hw, hri_dmac_ctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CTRL.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_ctrl_reg_t hri_dmac_read_CTRL_reg(const void *const hw)
+{
+ return ((Dmac *)hw)->CTRL.reg;
+}
+
+static inline void hri_dmac_set_CRCCTRL_CRCBEATSIZE_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg |= DMAC_CRCCTRL_CRCBEATSIZE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcctrl_reg_t hri_dmac_get_CRCCTRL_CRCBEATSIZE_bf(const void *const hw,
+ hri_dmac_crcctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CRCCTRL.reg;
+ tmp = (tmp & DMAC_CRCCTRL_CRCBEATSIZE(mask)) >> DMAC_CRCCTRL_CRCBEATSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CRCCTRL_CRCBEATSIZE_bf(const void *const hw, hri_dmac_crcctrl_reg_t data)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->CRCCTRL.reg;
+ tmp &= ~DMAC_CRCCTRL_CRCBEATSIZE_Msk;
+ tmp |= DMAC_CRCCTRL_CRCBEATSIZE(data);
+ ((Dmac *)hw)->CRCCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CRCCTRL_CRCBEATSIZE_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg &= ~DMAC_CRCCTRL_CRCBEATSIZE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CRCCTRL_CRCBEATSIZE_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg ^= DMAC_CRCCTRL_CRCBEATSIZE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcctrl_reg_t hri_dmac_read_CRCCTRL_CRCBEATSIZE_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CRCCTRL.reg;
+ tmp = (tmp & DMAC_CRCCTRL_CRCBEATSIZE_Msk) >> DMAC_CRCCTRL_CRCBEATSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_CRCCTRL_CRCPOLY_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg |= DMAC_CRCCTRL_CRCPOLY(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcctrl_reg_t hri_dmac_get_CRCCTRL_CRCPOLY_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CRCCTRL.reg;
+ tmp = (tmp & DMAC_CRCCTRL_CRCPOLY(mask)) >> DMAC_CRCCTRL_CRCPOLY_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CRCCTRL_CRCPOLY_bf(const void *const hw, hri_dmac_crcctrl_reg_t data)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->CRCCTRL.reg;
+ tmp &= ~DMAC_CRCCTRL_CRCPOLY_Msk;
+ tmp |= DMAC_CRCCTRL_CRCPOLY(data);
+ ((Dmac *)hw)->CRCCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CRCCTRL_CRCPOLY_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg &= ~DMAC_CRCCTRL_CRCPOLY(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CRCCTRL_CRCPOLY_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg ^= DMAC_CRCCTRL_CRCPOLY(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcctrl_reg_t hri_dmac_read_CRCCTRL_CRCPOLY_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CRCCTRL.reg;
+ tmp = (tmp & DMAC_CRCCTRL_CRCPOLY_Msk) >> DMAC_CRCCTRL_CRCPOLY_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_CRCCTRL_CRCSRC_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg |= DMAC_CRCCTRL_CRCSRC(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcctrl_reg_t hri_dmac_get_CRCCTRL_CRCSRC_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CRCCTRL.reg;
+ tmp = (tmp & DMAC_CRCCTRL_CRCSRC(mask)) >> DMAC_CRCCTRL_CRCSRC_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CRCCTRL_CRCSRC_bf(const void *const hw, hri_dmac_crcctrl_reg_t data)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->CRCCTRL.reg;
+ tmp &= ~DMAC_CRCCTRL_CRCSRC_Msk;
+ tmp |= DMAC_CRCCTRL_CRCSRC(data);
+ ((Dmac *)hw)->CRCCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CRCCTRL_CRCSRC_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg &= ~DMAC_CRCCTRL_CRCSRC(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CRCCTRL_CRCSRC_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg ^= DMAC_CRCCTRL_CRCSRC(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcctrl_reg_t hri_dmac_read_CRCCTRL_CRCSRC_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CRCCTRL.reg;
+ tmp = (tmp & DMAC_CRCCTRL_CRCSRC_Msk) >> DMAC_CRCCTRL_CRCSRC_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_CRCCTRL_CRCMODE_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg |= DMAC_CRCCTRL_CRCMODE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcctrl_reg_t hri_dmac_get_CRCCTRL_CRCMODE_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CRCCTRL.reg;
+ tmp = (tmp & DMAC_CRCCTRL_CRCMODE(mask)) >> DMAC_CRCCTRL_CRCMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CRCCTRL_CRCMODE_bf(const void *const hw, hri_dmac_crcctrl_reg_t data)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->CRCCTRL.reg;
+ tmp &= ~DMAC_CRCCTRL_CRCMODE_Msk;
+ tmp |= DMAC_CRCCTRL_CRCMODE(data);
+ ((Dmac *)hw)->CRCCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CRCCTRL_CRCMODE_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg &= ~DMAC_CRCCTRL_CRCMODE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CRCCTRL_CRCMODE_bf(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg ^= DMAC_CRCCTRL_CRCMODE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcctrl_reg_t hri_dmac_read_CRCCTRL_CRCMODE_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CRCCTRL.reg;
+ tmp = (tmp & DMAC_CRCCTRL_CRCMODE_Msk) >> DMAC_CRCCTRL_CRCMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_CRCCTRL_reg(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcctrl_reg_t hri_dmac_get_CRCCTRL_reg(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->CRCCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CRCCTRL_reg(const void *const hw, hri_dmac_crcctrl_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CRCCTRL_reg(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CRCCTRL_reg(const void *const hw, hri_dmac_crcctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCTRL.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcctrl_reg_t hri_dmac_read_CRCCTRL_reg(const void *const hw)
+{
+ return ((Dmac *)hw)->CRCCTRL.reg;
+}
+
+static inline void hri_dmac_set_CRCDATAIN_CRCDATAIN_bf(const void *const hw, hri_dmac_crcdatain_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCDATAIN.reg |= DMAC_CRCDATAIN_CRCDATAIN(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcdatain_reg_t hri_dmac_get_CRCDATAIN_CRCDATAIN_bf(const void *const hw,
+ hri_dmac_crcdatain_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->CRCDATAIN.reg;
+ tmp = (tmp & DMAC_CRCDATAIN_CRCDATAIN(mask)) >> DMAC_CRCDATAIN_CRCDATAIN_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CRCDATAIN_CRCDATAIN_bf(const void *const hw, hri_dmac_crcdatain_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->CRCDATAIN.reg;
+ tmp &= ~DMAC_CRCDATAIN_CRCDATAIN_Msk;
+ tmp |= DMAC_CRCDATAIN_CRCDATAIN(data);
+ ((Dmac *)hw)->CRCDATAIN.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CRCDATAIN_CRCDATAIN_bf(const void *const hw, hri_dmac_crcdatain_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCDATAIN.reg &= ~DMAC_CRCDATAIN_CRCDATAIN(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CRCDATAIN_CRCDATAIN_bf(const void *const hw, hri_dmac_crcdatain_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCDATAIN.reg ^= DMAC_CRCDATAIN_CRCDATAIN(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcdatain_reg_t hri_dmac_read_CRCDATAIN_CRCDATAIN_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->CRCDATAIN.reg;
+ tmp = (tmp & DMAC_CRCDATAIN_CRCDATAIN_Msk) >> DMAC_CRCDATAIN_CRCDATAIN_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_CRCDATAIN_reg(const void *const hw, hri_dmac_crcdatain_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCDATAIN.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcdatain_reg_t hri_dmac_get_CRCDATAIN_reg(const void *const hw, hri_dmac_crcdatain_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->CRCDATAIN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CRCDATAIN_reg(const void *const hw, hri_dmac_crcdatain_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCDATAIN.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CRCDATAIN_reg(const void *const hw, hri_dmac_crcdatain_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCDATAIN.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CRCDATAIN_reg(const void *const hw, hri_dmac_crcdatain_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCDATAIN.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcdatain_reg_t hri_dmac_read_CRCDATAIN_reg(const void *const hw)
+{
+ return ((Dmac *)hw)->CRCDATAIN.reg;
+}
+
+static inline void hri_dmac_set_CRCCHKSUM_CRCCHKSUM_bf(const void *const hw, hri_dmac_crcchksum_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCHKSUM.reg |= DMAC_CRCCHKSUM_CRCCHKSUM(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcchksum_reg_t hri_dmac_get_CRCCHKSUM_CRCCHKSUM_bf(const void *const hw,
+ hri_dmac_crcchksum_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->CRCCHKSUM.reg;
+ tmp = (tmp & DMAC_CRCCHKSUM_CRCCHKSUM(mask)) >> DMAC_CRCCHKSUM_CRCCHKSUM_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CRCCHKSUM_CRCCHKSUM_bf(const void *const hw, hri_dmac_crcchksum_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->CRCCHKSUM.reg;
+ tmp &= ~DMAC_CRCCHKSUM_CRCCHKSUM_Msk;
+ tmp |= DMAC_CRCCHKSUM_CRCCHKSUM(data);
+ ((Dmac *)hw)->CRCCHKSUM.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CRCCHKSUM_CRCCHKSUM_bf(const void *const hw, hri_dmac_crcchksum_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCHKSUM.reg &= ~DMAC_CRCCHKSUM_CRCCHKSUM(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CRCCHKSUM_CRCCHKSUM_bf(const void *const hw, hri_dmac_crcchksum_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCHKSUM.reg ^= DMAC_CRCCHKSUM_CRCCHKSUM(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcchksum_reg_t hri_dmac_read_CRCCHKSUM_CRCCHKSUM_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->CRCCHKSUM.reg;
+ tmp = (tmp & DMAC_CRCCHKSUM_CRCCHKSUM_Msk) >> DMAC_CRCCHKSUM_CRCCHKSUM_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_CRCCHKSUM_reg(const void *const hw, hri_dmac_crcchksum_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCHKSUM.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcchksum_reg_t hri_dmac_get_CRCCHKSUM_reg(const void *const hw, hri_dmac_crcchksum_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->CRCCHKSUM.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CRCCHKSUM_reg(const void *const hw, hri_dmac_crcchksum_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCHKSUM.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CRCCHKSUM_reg(const void *const hw, hri_dmac_crcchksum_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCHKSUM.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CRCCHKSUM_reg(const void *const hw, hri_dmac_crcchksum_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCCHKSUM.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcchksum_reg_t hri_dmac_read_CRCCHKSUM_reg(const void *const hw)
+{
+ return ((Dmac *)hw)->CRCCHKSUM.reg;
+}
+
+static inline void hri_dmac_set_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->DBGCTRL.reg |= DMAC_DBGCTRL_DBGRUN;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->DBGCTRL.reg;
+ tmp = (tmp & DMAC_DBGCTRL_DBGRUN) >> DMAC_DBGCTRL_DBGRUN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->DBGCTRL.reg;
+ tmp &= ~DMAC_DBGCTRL_DBGRUN;
+ tmp |= value << DMAC_DBGCTRL_DBGRUN_Pos;
+ ((Dmac *)hw)->DBGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->DBGCTRL.reg &= ~DMAC_DBGCTRL_DBGRUN;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->DBGCTRL.reg ^= DMAC_DBGCTRL_DBGRUN;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_DBGCTRL_reg(const void *const hw, hri_dmac_dbgctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->DBGCTRL.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_dbgctrl_reg_t hri_dmac_get_DBGCTRL_reg(const void *const hw, hri_dmac_dbgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->DBGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_write_DBGCTRL_reg(const void *const hw, hri_dmac_dbgctrl_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->DBGCTRL.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_DBGCTRL_reg(const void *const hw, hri_dmac_dbgctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->DBGCTRL.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_DBGCTRL_reg(const void *const hw, hri_dmac_dbgctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->DBGCTRL.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_dbgctrl_reg_t hri_dmac_read_DBGCTRL_reg(const void *const hw)
+{
+ return ((Dmac *)hw)->DBGCTRL.reg;
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG0_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG0;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG0) >> DMAC_SWTRIGCTRL_SWTRIG0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG0;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG0_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG0_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG0;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG0_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG0;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG1_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG1;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG1) >> DMAC_SWTRIGCTRL_SWTRIG1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG1;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG1_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG1_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG1;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG1_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG1;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG2_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG2;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG2) >> DMAC_SWTRIGCTRL_SWTRIG2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG2;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG2_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG2_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG2;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG2_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG2;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG3_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG3;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG3) >> DMAC_SWTRIGCTRL_SWTRIG3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG3;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG3_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG3_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG3;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG3_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG3;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG4_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG4;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG4) >> DMAC_SWTRIGCTRL_SWTRIG4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG4;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG4_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG4_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG4;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG4_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG4;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG5_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG5;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG5) >> DMAC_SWTRIGCTRL_SWTRIG5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG5;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG5_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG5_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG5;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG5_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG5;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG6_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG6;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG6) >> DMAC_SWTRIGCTRL_SWTRIG6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG6;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG6_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG6_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG6;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG6_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG6;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG7_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG7;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG7) >> DMAC_SWTRIGCTRL_SWTRIG7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG7;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG7_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG7_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG7;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG7_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG7;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG8_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG8;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG8_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG8) >> DMAC_SWTRIGCTRL_SWTRIG8_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG8_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG8;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG8_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG8_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG8;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG8_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG8;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG9_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG9;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG9_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG9) >> DMAC_SWTRIGCTRL_SWTRIG9_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG9_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG9;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG9_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG9_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG9;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG9_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG9;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG10_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG10;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG10_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG10) >> DMAC_SWTRIGCTRL_SWTRIG10_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG10_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG10;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG10_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG10_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG10;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG10_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG10;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG11_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG11;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG11_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG11) >> DMAC_SWTRIGCTRL_SWTRIG11_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG11_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG11;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG11_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG11_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG11;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG11_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG11;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG12_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG12;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG12_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG12) >> DMAC_SWTRIGCTRL_SWTRIG12_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG12_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG12;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG12_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG12_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG12;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG12_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG12;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG13_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG13;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG13_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG13) >> DMAC_SWTRIGCTRL_SWTRIG13_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG13_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG13;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG13_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG13_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG13;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG13_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG13;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG14_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG14;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG14_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG14) >> DMAC_SWTRIGCTRL_SWTRIG14_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG14_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG14;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG14_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG14_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG14;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG14_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG14;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG15_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG15;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG15_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG15) >> DMAC_SWTRIGCTRL_SWTRIG15_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG15_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG15;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG15_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG15_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG15;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG15_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG15;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG16_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG16;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG16_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG16) >> DMAC_SWTRIGCTRL_SWTRIG16_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG16_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG16;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG16_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG16_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG16;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG16_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG16;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG17_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG17;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG17_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG17) >> DMAC_SWTRIGCTRL_SWTRIG17_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG17_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG17;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG17_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG17_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG17;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG17_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG17;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG18_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG18;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG18_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG18) >> DMAC_SWTRIGCTRL_SWTRIG18_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG18_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG18;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG18_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG18_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG18;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG18_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG18;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG19_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG19;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG19_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG19) >> DMAC_SWTRIGCTRL_SWTRIG19_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG19_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG19;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG19_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG19_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG19;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG19_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG19;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG20_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG20;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG20_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG20) >> DMAC_SWTRIGCTRL_SWTRIG20_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG20_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG20;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG20_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG20_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG20;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG20_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG20;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG21_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG21;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG21_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG21) >> DMAC_SWTRIGCTRL_SWTRIG21_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG21_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG21;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG21_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG21_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG21;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG21_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG21;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG22_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG22;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG22_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG22) >> DMAC_SWTRIGCTRL_SWTRIG22_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG22_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG22;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG22_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG22_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG22;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG22_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG22;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG23_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG23;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG23_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG23) >> DMAC_SWTRIGCTRL_SWTRIG23_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG23_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG23;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG23_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG23_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG23;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG23_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG23;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG24_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG24;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG24_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG24) >> DMAC_SWTRIGCTRL_SWTRIG24_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG24_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG24;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG24_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG24_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG24;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG24_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG24;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG25_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG25;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG25_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG25) >> DMAC_SWTRIGCTRL_SWTRIG25_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG25_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG25;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG25_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG25_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG25;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG25_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG25;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG26_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG26;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG26_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG26) >> DMAC_SWTRIGCTRL_SWTRIG26_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG26_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG26;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG26_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG26_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG26;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG26_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG26;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG27_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG27;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG27_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG27) >> DMAC_SWTRIGCTRL_SWTRIG27_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG27_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG27;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG27_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG27_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG27;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG27_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG27;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG28_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG28;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG28_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG28) >> DMAC_SWTRIGCTRL_SWTRIG28_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG28_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG28;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG28_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG28_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG28;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG28_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG28;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG29_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG29;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG29_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG29) >> DMAC_SWTRIGCTRL_SWTRIG29_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG29_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG29;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG29_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG29_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG29;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG29_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG29;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG30_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG30;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG30_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG30) >> DMAC_SWTRIGCTRL_SWTRIG30_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG30_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG30;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG30_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG30_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG30;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG30_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG30;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_SWTRIG31_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= DMAC_SWTRIGCTRL_SWTRIG31;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_SWTRIGCTRL_SWTRIG31_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp = (tmp & DMAC_SWTRIGCTRL_SWTRIG31) >> DMAC_SWTRIGCTRL_SWTRIG31_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_SWTRIG31_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= ~DMAC_SWTRIGCTRL_SWTRIG31;
+ tmp |= value << DMAC_SWTRIGCTRL_SWTRIG31_Pos;
+ ((Dmac *)hw)->SWTRIGCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_SWTRIG31_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~DMAC_SWTRIGCTRL_SWTRIG31;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_SWTRIG31_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= DMAC_SWTRIGCTRL_SWTRIG31;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_SWTRIGCTRL_reg(const void *const hw, hri_dmac_swtrigctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_swtrigctrl_reg_t hri_dmac_get_SWTRIGCTRL_reg(const void *const hw,
+ hri_dmac_swtrigctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->SWTRIGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_write_SWTRIGCTRL_reg(const void *const hw, hri_dmac_swtrigctrl_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_SWTRIGCTRL_reg(const void *const hw, hri_dmac_swtrigctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_SWTRIGCTRL_reg(const void *const hw, hri_dmac_swtrigctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->SWTRIGCTRL.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_swtrigctrl_reg_t hri_dmac_read_SWTRIGCTRL_reg(const void *const hw)
+{
+ return ((Dmac *)hw)->SWTRIGCTRL.reg;
+}
+
+static inline void hri_dmac_set_PRICTRL0_RRLVLEN0_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_RRLVLEN0;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_PRICTRL0_RRLVLEN0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_RRLVLEN0) >> DMAC_PRICTRL0_RRLVLEN0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_PRICTRL0_RRLVLEN0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp &= ~DMAC_PRICTRL0_RRLVLEN0;
+ tmp |= value << DMAC_PRICTRL0_RRLVLEN0_Pos;
+ ((Dmac *)hw)->PRICTRL0.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_PRICTRL0_RRLVLEN0_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_RRLVLEN0;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_PRICTRL0_RRLVLEN0_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_RRLVLEN0;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_PRICTRL0_RRLVLEN1_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_RRLVLEN1;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_PRICTRL0_RRLVLEN1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_RRLVLEN1) >> DMAC_PRICTRL0_RRLVLEN1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_PRICTRL0_RRLVLEN1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp &= ~DMAC_PRICTRL0_RRLVLEN1;
+ tmp |= value << DMAC_PRICTRL0_RRLVLEN1_Pos;
+ ((Dmac *)hw)->PRICTRL0.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_PRICTRL0_RRLVLEN1_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_RRLVLEN1;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_PRICTRL0_RRLVLEN1_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_RRLVLEN1;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_PRICTRL0_RRLVLEN2_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_RRLVLEN2;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_PRICTRL0_RRLVLEN2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_RRLVLEN2) >> DMAC_PRICTRL0_RRLVLEN2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_PRICTRL0_RRLVLEN2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp &= ~DMAC_PRICTRL0_RRLVLEN2;
+ tmp |= value << DMAC_PRICTRL0_RRLVLEN2_Pos;
+ ((Dmac *)hw)->PRICTRL0.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_PRICTRL0_RRLVLEN2_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_RRLVLEN2;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_PRICTRL0_RRLVLEN2_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_RRLVLEN2;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_PRICTRL0_RRLVLEN3_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_RRLVLEN3;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_PRICTRL0_RRLVLEN3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_RRLVLEN3) >> DMAC_PRICTRL0_RRLVLEN3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_PRICTRL0_RRLVLEN3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp &= ~DMAC_PRICTRL0_RRLVLEN3;
+ tmp |= value << DMAC_PRICTRL0_RRLVLEN3_Pos;
+ ((Dmac *)hw)->PRICTRL0.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_PRICTRL0_RRLVLEN3_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_RRLVLEN3;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_PRICTRL0_RRLVLEN3_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_RRLVLEN3;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_PRICTRL0_LVLPRI0_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_LVLPRI0(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_LVLPRI0_bf(const void *const hw,
+ hri_dmac_prictrl0_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_LVLPRI0(mask)) >> DMAC_PRICTRL0_LVLPRI0_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_PRICTRL0_LVLPRI0_bf(const void *const hw, hri_dmac_prictrl0_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp &= ~DMAC_PRICTRL0_LVLPRI0_Msk;
+ tmp |= DMAC_PRICTRL0_LVLPRI0(data);
+ ((Dmac *)hw)->PRICTRL0.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_PRICTRL0_LVLPRI0_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_LVLPRI0(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_PRICTRL0_LVLPRI0_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_LVLPRI0(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_LVLPRI0_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_LVLPRI0_Msk) >> DMAC_PRICTRL0_LVLPRI0_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_PRICTRL0_QOS0_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_QOS0(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_QOS0_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_QOS0(mask)) >> DMAC_PRICTRL0_QOS0_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_PRICTRL0_QOS0_bf(const void *const hw, hri_dmac_prictrl0_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp &= ~DMAC_PRICTRL0_QOS0_Msk;
+ tmp |= DMAC_PRICTRL0_QOS0(data);
+ ((Dmac *)hw)->PRICTRL0.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_PRICTRL0_QOS0_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_QOS0(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_PRICTRL0_QOS0_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_QOS0(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_QOS0_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_QOS0_Msk) >> DMAC_PRICTRL0_QOS0_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_PRICTRL0_LVLPRI1_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_LVLPRI1(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_LVLPRI1_bf(const void *const hw,
+ hri_dmac_prictrl0_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_LVLPRI1(mask)) >> DMAC_PRICTRL0_LVLPRI1_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_PRICTRL0_LVLPRI1_bf(const void *const hw, hri_dmac_prictrl0_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp &= ~DMAC_PRICTRL0_LVLPRI1_Msk;
+ tmp |= DMAC_PRICTRL0_LVLPRI1(data);
+ ((Dmac *)hw)->PRICTRL0.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_PRICTRL0_LVLPRI1_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_LVLPRI1(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_PRICTRL0_LVLPRI1_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_LVLPRI1(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_LVLPRI1_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_LVLPRI1_Msk) >> DMAC_PRICTRL0_LVLPRI1_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_PRICTRL0_QOS1_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_QOS1(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_QOS1_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_QOS1(mask)) >> DMAC_PRICTRL0_QOS1_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_PRICTRL0_QOS1_bf(const void *const hw, hri_dmac_prictrl0_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp &= ~DMAC_PRICTRL0_QOS1_Msk;
+ tmp |= DMAC_PRICTRL0_QOS1(data);
+ ((Dmac *)hw)->PRICTRL0.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_PRICTRL0_QOS1_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_QOS1(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_PRICTRL0_QOS1_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_QOS1(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_QOS1_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_QOS1_Msk) >> DMAC_PRICTRL0_QOS1_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_PRICTRL0_LVLPRI2_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_LVLPRI2(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_LVLPRI2_bf(const void *const hw,
+ hri_dmac_prictrl0_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_LVLPRI2(mask)) >> DMAC_PRICTRL0_LVLPRI2_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_PRICTRL0_LVLPRI2_bf(const void *const hw, hri_dmac_prictrl0_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp &= ~DMAC_PRICTRL0_LVLPRI2_Msk;
+ tmp |= DMAC_PRICTRL0_LVLPRI2(data);
+ ((Dmac *)hw)->PRICTRL0.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_PRICTRL0_LVLPRI2_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_LVLPRI2(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_PRICTRL0_LVLPRI2_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_LVLPRI2(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_LVLPRI2_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_LVLPRI2_Msk) >> DMAC_PRICTRL0_LVLPRI2_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_PRICTRL0_QOS2_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_QOS2(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_QOS2_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_QOS2(mask)) >> DMAC_PRICTRL0_QOS2_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_PRICTRL0_QOS2_bf(const void *const hw, hri_dmac_prictrl0_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp &= ~DMAC_PRICTRL0_QOS2_Msk;
+ tmp |= DMAC_PRICTRL0_QOS2(data);
+ ((Dmac *)hw)->PRICTRL0.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_PRICTRL0_QOS2_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_QOS2(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_PRICTRL0_QOS2_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_QOS2(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_QOS2_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_QOS2_Msk) >> DMAC_PRICTRL0_QOS2_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_PRICTRL0_LVLPRI3_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_LVLPRI3(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_LVLPRI3_bf(const void *const hw,
+ hri_dmac_prictrl0_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_LVLPRI3(mask)) >> DMAC_PRICTRL0_LVLPRI3_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_PRICTRL0_LVLPRI3_bf(const void *const hw, hri_dmac_prictrl0_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp &= ~DMAC_PRICTRL0_LVLPRI3_Msk;
+ tmp |= DMAC_PRICTRL0_LVLPRI3(data);
+ ((Dmac *)hw)->PRICTRL0.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_PRICTRL0_LVLPRI3_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_LVLPRI3(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_PRICTRL0_LVLPRI3_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_LVLPRI3(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_LVLPRI3_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_LVLPRI3_Msk) >> DMAC_PRICTRL0_LVLPRI3_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_PRICTRL0_QOS3_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg |= DMAC_PRICTRL0_QOS3(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_QOS3_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_QOS3(mask)) >> DMAC_PRICTRL0_QOS3_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_PRICTRL0_QOS3_bf(const void *const hw, hri_dmac_prictrl0_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp &= ~DMAC_PRICTRL0_QOS3_Msk;
+ tmp |= DMAC_PRICTRL0_QOS3(data);
+ ((Dmac *)hw)->PRICTRL0.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_PRICTRL0_QOS3_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg &= ~DMAC_PRICTRL0_QOS3(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_PRICTRL0_QOS3_bf(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg ^= DMAC_PRICTRL0_QOS3(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_QOS3_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp = (tmp & DMAC_PRICTRL0_QOS3_Msk) >> DMAC_PRICTRL0_QOS3_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_PRICTRL0_reg(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_get_PRICTRL0_reg(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->PRICTRL0.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_write_PRICTRL0_reg(const void *const hw, hri_dmac_prictrl0_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_PRICTRL0_reg(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_PRICTRL0_reg(const void *const hw, hri_dmac_prictrl0_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->PRICTRL0.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_prictrl0_reg_t hri_dmac_read_PRICTRL0_reg(const void *const hw)
+{
+ return ((Dmac *)hw)->PRICTRL0.reg;
+}
+
+static inline void hri_dmac_set_INTPEND_TERR_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_TERR;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_INTPEND_TERR_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp = (tmp & DMAC_INTPEND_TERR) >> DMAC_INTPEND_TERR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_INTPEND_TERR_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp &= ~DMAC_INTPEND_TERR;
+ tmp |= value << DMAC_INTPEND_TERR_Pos;
+ ((Dmac *)hw)->INTPEND.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_INTPEND_TERR_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_TERR;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_INTPEND_TERR_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_TERR;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_INTPEND_TCMPL_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_TCMPL;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_INTPEND_TCMPL_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp = (tmp & DMAC_INTPEND_TCMPL) >> DMAC_INTPEND_TCMPL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_INTPEND_TCMPL_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp &= ~DMAC_INTPEND_TCMPL;
+ tmp |= value << DMAC_INTPEND_TCMPL_Pos;
+ ((Dmac *)hw)->INTPEND.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_INTPEND_TCMPL_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_TCMPL;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_INTPEND_TCMPL_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_TCMPL;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_INTPEND_SUSP_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_SUSP;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_INTPEND_SUSP_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp = (tmp & DMAC_INTPEND_SUSP) >> DMAC_INTPEND_SUSP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_INTPEND_SUSP_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp &= ~DMAC_INTPEND_SUSP;
+ tmp |= value << DMAC_INTPEND_SUSP_Pos;
+ ((Dmac *)hw)->INTPEND.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_INTPEND_SUSP_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_SUSP;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_INTPEND_SUSP_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_SUSP;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_INTPEND_CRCERR_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_CRCERR;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_INTPEND_CRCERR_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp = (tmp & DMAC_INTPEND_CRCERR) >> DMAC_INTPEND_CRCERR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_INTPEND_CRCERR_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp &= ~DMAC_INTPEND_CRCERR;
+ tmp |= value << DMAC_INTPEND_CRCERR_Pos;
+ ((Dmac *)hw)->INTPEND.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_INTPEND_CRCERR_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_CRCERR;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_INTPEND_CRCERR_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_CRCERR;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_INTPEND_FERR_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_FERR;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_INTPEND_FERR_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp = (tmp & DMAC_INTPEND_FERR) >> DMAC_INTPEND_FERR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_INTPEND_FERR_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp &= ~DMAC_INTPEND_FERR;
+ tmp |= value << DMAC_INTPEND_FERR_Pos;
+ ((Dmac *)hw)->INTPEND.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_INTPEND_FERR_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_FERR;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_INTPEND_FERR_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_FERR;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_INTPEND_BUSY_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_BUSY;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_INTPEND_BUSY_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp = (tmp & DMAC_INTPEND_BUSY) >> DMAC_INTPEND_BUSY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_INTPEND_BUSY_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp &= ~DMAC_INTPEND_BUSY;
+ tmp |= value << DMAC_INTPEND_BUSY_Pos;
+ ((Dmac *)hw)->INTPEND.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_INTPEND_BUSY_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_BUSY;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_INTPEND_BUSY_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_BUSY;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_INTPEND_PEND_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_PEND;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_INTPEND_PEND_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp = (tmp & DMAC_INTPEND_PEND) >> DMAC_INTPEND_PEND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_INTPEND_PEND_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp &= ~DMAC_INTPEND_PEND;
+ tmp |= value << DMAC_INTPEND_PEND_Pos;
+ ((Dmac *)hw)->INTPEND.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_INTPEND_PEND_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_PEND;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_INTPEND_PEND_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_PEND;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_INTPEND_ID_bf(const void *const hw, hri_dmac_intpend_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg |= DMAC_INTPEND_ID(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_intpend_reg_t hri_dmac_get_INTPEND_ID_bf(const void *const hw, hri_dmac_intpend_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp = (tmp & DMAC_INTPEND_ID(mask)) >> DMAC_INTPEND_ID_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_INTPEND_ID_bf(const void *const hw, hri_dmac_intpend_reg_t data)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp &= ~DMAC_INTPEND_ID_Msk;
+ tmp |= DMAC_INTPEND_ID(data);
+ ((Dmac *)hw)->INTPEND.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_INTPEND_ID_bf(const void *const hw, hri_dmac_intpend_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg &= ~DMAC_INTPEND_ID(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_INTPEND_ID_bf(const void *const hw, hri_dmac_intpend_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg ^= DMAC_INTPEND_ID(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_intpend_reg_t hri_dmac_read_INTPEND_ID_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp = (tmp & DMAC_INTPEND_ID_Msk) >> DMAC_INTPEND_ID_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_INTPEND_reg(const void *const hw, hri_dmac_intpend_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_intpend_reg_t hri_dmac_get_INTPEND_reg(const void *const hw, hri_dmac_intpend_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Dmac *)hw)->INTPEND.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_write_INTPEND_reg(const void *const hw, hri_dmac_intpend_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_INTPEND_reg(const void *const hw, hri_dmac_intpend_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_INTPEND_reg(const void *const hw, hri_dmac_intpend_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->INTPEND.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_intpend_reg_t hri_dmac_read_INTPEND_reg(const void *const hw)
+{
+ return ((Dmac *)hw)->INTPEND.reg;
+}
+
+static inline void hri_dmac_set_BASEADDR_BASEADDR_bf(const void *const hw, hri_dmac_baseaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->BASEADDR.reg |= DMAC_BASEADDR_BASEADDR(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_baseaddr_reg_t hri_dmac_get_BASEADDR_BASEADDR_bf(const void *const hw,
+ hri_dmac_baseaddr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->BASEADDR.reg;
+ tmp = (tmp & DMAC_BASEADDR_BASEADDR(mask)) >> DMAC_BASEADDR_BASEADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_BASEADDR_BASEADDR_bf(const void *const hw, hri_dmac_baseaddr_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->BASEADDR.reg;
+ tmp &= ~DMAC_BASEADDR_BASEADDR_Msk;
+ tmp |= DMAC_BASEADDR_BASEADDR(data);
+ ((Dmac *)hw)->BASEADDR.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_BASEADDR_BASEADDR_bf(const void *const hw, hri_dmac_baseaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->BASEADDR.reg &= ~DMAC_BASEADDR_BASEADDR(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_BASEADDR_BASEADDR_bf(const void *const hw, hri_dmac_baseaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->BASEADDR.reg ^= DMAC_BASEADDR_BASEADDR(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_baseaddr_reg_t hri_dmac_read_BASEADDR_BASEADDR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->BASEADDR.reg;
+ tmp = (tmp & DMAC_BASEADDR_BASEADDR_Msk) >> DMAC_BASEADDR_BASEADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_BASEADDR_reg(const void *const hw, hri_dmac_baseaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->BASEADDR.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_baseaddr_reg_t hri_dmac_get_BASEADDR_reg(const void *const hw, hri_dmac_baseaddr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->BASEADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_write_BASEADDR_reg(const void *const hw, hri_dmac_baseaddr_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->BASEADDR.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_BASEADDR_reg(const void *const hw, hri_dmac_baseaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->BASEADDR.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_BASEADDR_reg(const void *const hw, hri_dmac_baseaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->BASEADDR.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_baseaddr_reg_t hri_dmac_read_BASEADDR_reg(const void *const hw)
+{
+ return ((Dmac *)hw)->BASEADDR.reg;
+}
+
+static inline void hri_dmac_set_WRBADDR_WRBADDR_bf(const void *const hw, hri_dmac_wrbaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->WRBADDR.reg |= DMAC_WRBADDR_WRBADDR(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_wrbaddr_reg_t hri_dmac_get_WRBADDR_WRBADDR_bf(const void *const hw, hri_dmac_wrbaddr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->WRBADDR.reg;
+ tmp = (tmp & DMAC_WRBADDR_WRBADDR(mask)) >> DMAC_WRBADDR_WRBADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_WRBADDR_WRBADDR_bf(const void *const hw, hri_dmac_wrbaddr_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->WRBADDR.reg;
+ tmp &= ~DMAC_WRBADDR_WRBADDR_Msk;
+ tmp |= DMAC_WRBADDR_WRBADDR(data);
+ ((Dmac *)hw)->WRBADDR.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_WRBADDR_WRBADDR_bf(const void *const hw, hri_dmac_wrbaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->WRBADDR.reg &= ~DMAC_WRBADDR_WRBADDR(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_WRBADDR_WRBADDR_bf(const void *const hw, hri_dmac_wrbaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->WRBADDR.reg ^= DMAC_WRBADDR_WRBADDR(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_wrbaddr_reg_t hri_dmac_read_WRBADDR_WRBADDR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->WRBADDR.reg;
+ tmp = (tmp & DMAC_WRBADDR_WRBADDR_Msk) >> DMAC_WRBADDR_WRBADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_WRBADDR_reg(const void *const hw, hri_dmac_wrbaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->WRBADDR.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_wrbaddr_reg_t hri_dmac_get_WRBADDR_reg(const void *const hw, hri_dmac_wrbaddr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->WRBADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_write_WRBADDR_reg(const void *const hw, hri_dmac_wrbaddr_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->WRBADDR.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_WRBADDR_reg(const void *const hw, hri_dmac_wrbaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->WRBADDR.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_WRBADDR_reg(const void *const hw, hri_dmac_wrbaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->WRBADDR.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_wrbaddr_reg_t hri_dmac_read_WRBADDR_reg(const void *const hw)
+{
+ return ((Dmac *)hw)->WRBADDR.reg;
+}
+
+static inline bool hri_dmac_get_CRCSTATUS_CRCBUSY_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->CRCSTATUS.reg & DMAC_CRCSTATUS_CRCBUSY) >> DMAC_CRCSTATUS_CRCBUSY_Pos;
+}
+
+static inline void hri_dmac_clear_CRCSTATUS_CRCBUSY_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCSTATUS.reg = DMAC_CRCSTATUS_CRCBUSY;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CRCSTATUS_CRCZERO_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->CRCSTATUS.reg & DMAC_CRCSTATUS_CRCZERO) >> DMAC_CRCSTATUS_CRCZERO_Pos;
+}
+
+static inline void hri_dmac_clear_CRCSTATUS_CRCZERO_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCSTATUS.reg = DMAC_CRCSTATUS_CRCZERO;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CRCSTATUS_CRCERR_bit(const void *const hw)
+{
+ return (((Dmac *)hw)->CRCSTATUS.reg & DMAC_CRCSTATUS_CRCERR) >> DMAC_CRCSTATUS_CRCERR_Pos;
+}
+
+static inline void hri_dmac_clear_CRCSTATUS_CRCERR_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCSTATUS.reg = DMAC_CRCSTATUS_CRCERR;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcstatus_reg_t hri_dmac_get_CRCSTATUS_reg(const void *const hw, hri_dmac_crcstatus_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->CRCSTATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_clear_CRCSTATUS_reg(const void *const hw, hri_dmac_crcstatus_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->CRCSTATUS.reg = mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_crcstatus_reg_t hri_dmac_read_CRCSTATUS_reg(const void *const hw)
+{
+ return ((Dmac *)hw)->CRCSTATUS.reg;
+}
+
+static inline void hri_dmacdescriptor_set_BTCTRL_VALID_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_VALID;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmacdescriptor_get_BTCTRL_VALID_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp = (tmp & DMAC_BTCTRL_VALID) >> DMAC_BTCTRL_VALID_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmacdescriptor_write_BTCTRL_VALID_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp &= ~DMAC_BTCTRL_VALID;
+ tmp |= value << DMAC_BTCTRL_VALID_Pos;
+ ((DmacDescriptor *)hw)->BTCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_BTCTRL_VALID_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_VALID;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_BTCTRL_VALID_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_VALID;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_set_BTCTRL_SRCINC_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_SRCINC;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmacdescriptor_get_BTCTRL_SRCINC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp = (tmp & DMAC_BTCTRL_SRCINC) >> DMAC_BTCTRL_SRCINC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmacdescriptor_write_BTCTRL_SRCINC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp &= ~DMAC_BTCTRL_SRCINC;
+ tmp |= value << DMAC_BTCTRL_SRCINC_Pos;
+ ((DmacDescriptor *)hw)->BTCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_BTCTRL_SRCINC_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_SRCINC;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_BTCTRL_SRCINC_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_SRCINC;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_set_BTCTRL_DSTINC_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_DSTINC;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmacdescriptor_get_BTCTRL_DSTINC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp = (tmp & DMAC_BTCTRL_DSTINC) >> DMAC_BTCTRL_DSTINC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmacdescriptor_write_BTCTRL_DSTINC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp &= ~DMAC_BTCTRL_DSTINC;
+ tmp |= value << DMAC_BTCTRL_DSTINC_Pos;
+ ((DmacDescriptor *)hw)->BTCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_BTCTRL_DSTINC_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_DSTINC;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_BTCTRL_DSTINC_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_DSTINC;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_set_BTCTRL_STEPSEL_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_STEPSEL;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmacdescriptor_get_BTCTRL_STEPSEL_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp = (tmp & DMAC_BTCTRL_STEPSEL) >> DMAC_BTCTRL_STEPSEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmacdescriptor_write_BTCTRL_STEPSEL_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp &= ~DMAC_BTCTRL_STEPSEL;
+ tmp |= value << DMAC_BTCTRL_STEPSEL_Pos;
+ ((DmacDescriptor *)hw)->BTCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_BTCTRL_STEPSEL_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_STEPSEL;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_BTCTRL_STEPSEL_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_STEPSEL;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_set_BTCTRL_EVOSEL_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_EVOSEL(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_btctrl_reg_t
+hri_dmacdescriptor_get_BTCTRL_EVOSEL_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp = (tmp & DMAC_BTCTRL_EVOSEL(mask)) >> DMAC_BTCTRL_EVOSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_write_BTCTRL_EVOSEL_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t data)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp &= ~DMAC_BTCTRL_EVOSEL_Msk;
+ tmp |= DMAC_BTCTRL_EVOSEL(data);
+ ((DmacDescriptor *)hw)->BTCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_BTCTRL_EVOSEL_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_EVOSEL(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_BTCTRL_EVOSEL_bf(const void *const hw,
+ hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_EVOSEL(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_btctrl_reg_t hri_dmacdescriptor_read_BTCTRL_EVOSEL_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp = (tmp & DMAC_BTCTRL_EVOSEL_Msk) >> DMAC_BTCTRL_EVOSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_set_BTCTRL_BLOCKACT_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_BLOCKACT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_btctrl_reg_t
+hri_dmacdescriptor_get_BTCTRL_BLOCKACT_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp = (tmp & DMAC_BTCTRL_BLOCKACT(mask)) >> DMAC_BTCTRL_BLOCKACT_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_write_BTCTRL_BLOCKACT_bf(const void *const hw,
+ hri_dmacdescriptor_btctrl_reg_t data)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp &= ~DMAC_BTCTRL_BLOCKACT_Msk;
+ tmp |= DMAC_BTCTRL_BLOCKACT(data);
+ ((DmacDescriptor *)hw)->BTCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_BTCTRL_BLOCKACT_bf(const void *const hw,
+ hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_BLOCKACT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_BTCTRL_BLOCKACT_bf(const void *const hw,
+ hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_BLOCKACT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_btctrl_reg_t hri_dmacdescriptor_read_BTCTRL_BLOCKACT_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp = (tmp & DMAC_BTCTRL_BLOCKACT_Msk) >> DMAC_BTCTRL_BLOCKACT_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_set_BTCTRL_BEATSIZE_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_BEATSIZE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_btctrl_reg_t
+hri_dmacdescriptor_get_BTCTRL_BEATSIZE_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp = (tmp & DMAC_BTCTRL_BEATSIZE(mask)) >> DMAC_BTCTRL_BEATSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_write_BTCTRL_BEATSIZE_bf(const void *const hw,
+ hri_dmacdescriptor_btctrl_reg_t data)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp &= ~DMAC_BTCTRL_BEATSIZE_Msk;
+ tmp |= DMAC_BTCTRL_BEATSIZE(data);
+ ((DmacDescriptor *)hw)->BTCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_BTCTRL_BEATSIZE_bf(const void *const hw,
+ hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_BEATSIZE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_BTCTRL_BEATSIZE_bf(const void *const hw,
+ hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_BEATSIZE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_btctrl_reg_t hri_dmacdescriptor_read_BTCTRL_BEATSIZE_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp = (tmp & DMAC_BTCTRL_BEATSIZE_Msk) >> DMAC_BTCTRL_BEATSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_set_BTCTRL_STEPSIZE_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg |= DMAC_BTCTRL_STEPSIZE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_btctrl_reg_t
+hri_dmacdescriptor_get_BTCTRL_STEPSIZE_bf(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp = (tmp & DMAC_BTCTRL_STEPSIZE(mask)) >> DMAC_BTCTRL_STEPSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_write_BTCTRL_STEPSIZE_bf(const void *const hw,
+ hri_dmacdescriptor_btctrl_reg_t data)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp &= ~DMAC_BTCTRL_STEPSIZE_Msk;
+ tmp |= DMAC_BTCTRL_STEPSIZE(data);
+ ((DmacDescriptor *)hw)->BTCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_BTCTRL_STEPSIZE_bf(const void *const hw,
+ hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg &= ~DMAC_BTCTRL_STEPSIZE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_BTCTRL_STEPSIZE_bf(const void *const hw,
+ hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg ^= DMAC_BTCTRL_STEPSIZE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_btctrl_reg_t hri_dmacdescriptor_read_BTCTRL_STEPSIZE_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp = (tmp & DMAC_BTCTRL_STEPSIZE_Msk) >> DMAC_BTCTRL_STEPSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_set_BTCTRL_reg(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_btctrl_reg_t hri_dmacdescriptor_get_BTCTRL_reg(const void *const hw,
+ hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_write_BTCTRL_reg(const void *const hw, hri_dmacdescriptor_btctrl_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_BTCTRL_reg(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_BTCTRL_reg(const void *const hw, hri_dmacdescriptor_btctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCTRL.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_btctrl_reg_t hri_dmacdescriptor_read_BTCTRL_reg(const void *const hw)
+{
+ return ((DmacDescriptor *)hw)->BTCTRL.reg;
+}
+
+static inline void hri_dmacdescriptor_set_BTCNT_BTCNT_bf(const void *const hw, hri_dmacdescriptor_btcnt_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCNT.reg |= DMAC_BTCNT_BTCNT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_btcnt_reg_t hri_dmacdescriptor_get_BTCNT_BTCNT_bf(const void *const hw,
+ hri_dmacdescriptor_btcnt_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCNT.reg;
+ tmp = (tmp & DMAC_BTCNT_BTCNT(mask)) >> DMAC_BTCNT_BTCNT_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_write_BTCNT_BTCNT_bf(const void *const hw, hri_dmacdescriptor_btcnt_reg_t data)
+{
+ uint16_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacDescriptor *)hw)->BTCNT.reg;
+ tmp &= ~DMAC_BTCNT_BTCNT_Msk;
+ tmp |= DMAC_BTCNT_BTCNT(data);
+ ((DmacDescriptor *)hw)->BTCNT.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_BTCNT_BTCNT_bf(const void *const hw, hri_dmacdescriptor_btcnt_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCNT.reg &= ~DMAC_BTCNT_BTCNT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_BTCNT_BTCNT_bf(const void *const hw, hri_dmacdescriptor_btcnt_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCNT.reg ^= DMAC_BTCNT_BTCNT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_btcnt_reg_t hri_dmacdescriptor_read_BTCNT_BTCNT_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCNT.reg;
+ tmp = (tmp & DMAC_BTCNT_BTCNT_Msk) >> DMAC_BTCNT_BTCNT_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_set_BTCNT_reg(const void *const hw, hri_dmacdescriptor_btcnt_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCNT.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_btcnt_reg_t hri_dmacdescriptor_get_BTCNT_reg(const void *const hw,
+ hri_dmacdescriptor_btcnt_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((DmacDescriptor *)hw)->BTCNT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_write_BTCNT_reg(const void *const hw, hri_dmacdescriptor_btcnt_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCNT.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_BTCNT_reg(const void *const hw, hri_dmacdescriptor_btcnt_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCNT.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_BTCNT_reg(const void *const hw, hri_dmacdescriptor_btcnt_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->BTCNT.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_btcnt_reg_t hri_dmacdescriptor_read_BTCNT_reg(const void *const hw)
+{
+ return ((DmacDescriptor *)hw)->BTCNT.reg;
+}
+
+static inline void hri_dmacdescriptor_set_SRCADDR_SRCADDR_bf(const void *const hw,
+ hri_dmacdescriptor_srcaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->SRCADDR.reg |= DMAC_SRCADDR_SRCADDR(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_srcaddr_reg_t
+hri_dmacdescriptor_get_SRCADDR_SRCADDR_bf(const void *const hw, hri_dmacdescriptor_srcaddr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((DmacDescriptor *)hw)->SRCADDR.reg;
+ tmp = (tmp & DMAC_SRCADDR_SRCADDR(mask)) >> DMAC_SRCADDR_SRCADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_write_SRCADDR_SRCADDR_bf(const void *const hw,
+ hri_dmacdescriptor_srcaddr_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacDescriptor *)hw)->SRCADDR.reg;
+ tmp &= ~DMAC_SRCADDR_SRCADDR_Msk;
+ tmp |= DMAC_SRCADDR_SRCADDR(data);
+ ((DmacDescriptor *)hw)->SRCADDR.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_SRCADDR_SRCADDR_bf(const void *const hw,
+ hri_dmacdescriptor_srcaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->SRCADDR.reg &= ~DMAC_SRCADDR_SRCADDR(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_SRCADDR_SRCADDR_bf(const void *const hw,
+ hri_dmacdescriptor_srcaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->SRCADDR.reg ^= DMAC_SRCADDR_SRCADDR(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_srcaddr_reg_t hri_dmacdescriptor_read_SRCADDR_SRCADDR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((DmacDescriptor *)hw)->SRCADDR.reg;
+ tmp = (tmp & DMAC_SRCADDR_SRCADDR_Msk) >> DMAC_SRCADDR_SRCADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_set_SRCADDR_reg(const void *const hw, hri_dmacdescriptor_srcaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->SRCADDR.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_srcaddr_reg_t hri_dmacdescriptor_get_SRCADDR_reg(const void *const hw,
+ hri_dmacdescriptor_srcaddr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((DmacDescriptor *)hw)->SRCADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_write_SRCADDR_reg(const void *const hw, hri_dmacdescriptor_srcaddr_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->SRCADDR.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_SRCADDR_reg(const void *const hw, hri_dmacdescriptor_srcaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->SRCADDR.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_SRCADDR_reg(const void *const hw, hri_dmacdescriptor_srcaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->SRCADDR.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_srcaddr_reg_t hri_dmacdescriptor_read_SRCADDR_reg(const void *const hw)
+{
+ return ((DmacDescriptor *)hw)->SRCADDR.reg;
+}
+
+static inline void hri_dmacdescriptor_set_DSTADDR_CRC_CHKINIT_bf(const void *const hw,
+ hri_dmacdescriptor_dstaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DSTADDR.reg |= DMAC_DSTADDR_CRC_CHKINIT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_dstaddr_reg_t
+hri_dmacdescriptor_get_DSTADDR_CRC_CHKINIT_bf(const void *const hw, hri_dmacdescriptor_dstaddr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((DmacDescriptor *)hw)->DSTADDR.reg;
+ tmp = (tmp & DMAC_DSTADDR_CRC_CHKINIT(mask)) >> DMAC_DSTADDR_CRC_CHKINIT_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_write_DSTADDR_CRC_CHKINIT_bf(const void *const hw,
+ hri_dmacdescriptor_dstaddr_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacDescriptor *)hw)->DSTADDR.reg;
+ tmp &= ~DMAC_DSTADDR_CRC_CHKINIT_Msk;
+ tmp |= DMAC_DSTADDR_CRC_CHKINIT(data);
+ ((DmacDescriptor *)hw)->DSTADDR.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_DSTADDR_CRC_CHKINIT_bf(const void *const hw,
+ hri_dmacdescriptor_dstaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DSTADDR.reg &= ~DMAC_DSTADDR_CRC_CHKINIT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_DSTADDR_CRC_CHKINIT_bf(const void *const hw,
+ hri_dmacdescriptor_dstaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DSTADDR.reg ^= DMAC_DSTADDR_CRC_CHKINIT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_dstaddr_reg_t hri_dmacdescriptor_read_DSTADDR_CRC_CHKINIT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((DmacDescriptor *)hw)->DSTADDR.reg;
+ tmp = (tmp & DMAC_DSTADDR_CRC_CHKINIT_Msk) >> DMAC_DSTADDR_CRC_CHKINIT_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_set_DSTADDR_DSTADDR_bf(const void *const hw,
+ hri_dmacdescriptor_dstaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DSTADDR.reg |= DMAC_DSTADDR_DSTADDR(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_dstaddr_reg_t
+hri_dmacdescriptor_get_DSTADDR_DSTADDR_bf(const void *const hw, hri_dmacdescriptor_dstaddr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((DmacDescriptor *)hw)->DSTADDR.reg;
+ tmp = (tmp & DMAC_DSTADDR_DSTADDR(mask)) >> DMAC_DSTADDR_DSTADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_write_DSTADDR_DSTADDR_bf(const void *const hw,
+ hri_dmacdescriptor_dstaddr_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacDescriptor *)hw)->DSTADDR.reg;
+ tmp &= ~DMAC_DSTADDR_DSTADDR_Msk;
+ tmp |= DMAC_DSTADDR_DSTADDR(data);
+ ((DmacDescriptor *)hw)->DSTADDR.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_DSTADDR_DSTADDR_bf(const void *const hw,
+ hri_dmacdescriptor_dstaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DSTADDR.reg &= ~DMAC_DSTADDR_DSTADDR(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_DSTADDR_DSTADDR_bf(const void *const hw,
+ hri_dmacdescriptor_dstaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DSTADDR.reg ^= DMAC_DSTADDR_DSTADDR(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_dstaddr_reg_t hri_dmacdescriptor_read_DSTADDR_DSTADDR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((DmacDescriptor *)hw)->DSTADDR.reg;
+ tmp = (tmp & DMAC_DSTADDR_DSTADDR_Msk) >> DMAC_DSTADDR_DSTADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_set_DSTADDR_reg(const void *const hw, hri_dmacdescriptor_dstaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DSTADDR.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_dstaddr_reg_t hri_dmacdescriptor_get_DSTADDR_reg(const void *const hw,
+ hri_dmacdescriptor_dstaddr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((DmacDescriptor *)hw)->DSTADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_write_DSTADDR_reg(const void *const hw, hri_dmacdescriptor_dstaddr_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DSTADDR.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_DSTADDR_reg(const void *const hw, hri_dmacdescriptor_dstaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DSTADDR.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_DSTADDR_reg(const void *const hw, hri_dmacdescriptor_dstaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DSTADDR.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_dstaddr_reg_t hri_dmacdescriptor_read_DSTADDR_reg(const void *const hw)
+{
+ return ((DmacDescriptor *)hw)->DSTADDR.reg;
+}
+
+static inline void hri_dmacdescriptor_set_DESCADDR_DESCADDR_bf(const void *const hw,
+ hri_dmacdescriptor_descaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DESCADDR.reg |= DMAC_DESCADDR_DESCADDR(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_descaddr_reg_t
+hri_dmacdescriptor_get_DESCADDR_DESCADDR_bf(const void *const hw, hri_dmacdescriptor_descaddr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((DmacDescriptor *)hw)->DESCADDR.reg;
+ tmp = (tmp & DMAC_DESCADDR_DESCADDR(mask)) >> DMAC_DESCADDR_DESCADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_write_DESCADDR_DESCADDR_bf(const void *const hw,
+ hri_dmacdescriptor_descaddr_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacDescriptor *)hw)->DESCADDR.reg;
+ tmp &= ~DMAC_DESCADDR_DESCADDR_Msk;
+ tmp |= DMAC_DESCADDR_DESCADDR(data);
+ ((DmacDescriptor *)hw)->DESCADDR.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_DESCADDR_DESCADDR_bf(const void *const hw,
+ hri_dmacdescriptor_descaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DESCADDR.reg &= ~DMAC_DESCADDR_DESCADDR(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_DESCADDR_DESCADDR_bf(const void *const hw,
+ hri_dmacdescriptor_descaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DESCADDR.reg ^= DMAC_DESCADDR_DESCADDR(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_descaddr_reg_t hri_dmacdescriptor_read_DESCADDR_DESCADDR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((DmacDescriptor *)hw)->DESCADDR.reg;
+ tmp = (tmp & DMAC_DESCADDR_DESCADDR_Msk) >> DMAC_DESCADDR_DESCADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_set_DESCADDR_reg(const void *const hw, hri_dmacdescriptor_descaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DESCADDR.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_descaddr_reg_t
+hri_dmacdescriptor_get_DESCADDR_reg(const void *const hw, hri_dmacdescriptor_descaddr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((DmacDescriptor *)hw)->DESCADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmacdescriptor_write_DESCADDR_reg(const void *const hw, hri_dmacdescriptor_descaddr_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DESCADDR.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_clear_DESCADDR_reg(const void *const hw, hri_dmacdescriptor_descaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DESCADDR.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacdescriptor_toggle_DESCADDR_reg(const void *const hw, hri_dmacdescriptor_descaddr_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacDescriptor *)hw)->DESCADDR.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmacdescriptor_descaddr_reg_t hri_dmacdescriptor_read_DESCADDR_reg(const void *const hw)
+{
+ return ((DmacDescriptor *)hw)->DESCADDR.reg;
+}
+
+static inline bool hri_dmacchannel_get_CHINTFLAG_TERR_bit(const void *const hw)
+{
+ return (((DmacChannel *)hw)->CHINTFLAG.reg & DMAC_CHINTFLAG_TERR) >> DMAC_CHINTFLAG_TERR_Pos;
+}
+
+static inline void hri_dmacchannel_clear_CHINTFLAG_TERR_bit(const void *const hw)
+{
+ ((DmacChannel *)hw)->CHINTFLAG.reg = DMAC_CHINTFLAG_TERR;
+}
+
+static inline bool hri_dmacchannel_get_CHINTFLAG_TCMPL_bit(const void *const hw)
+{
+ return (((DmacChannel *)hw)->CHINTFLAG.reg & DMAC_CHINTFLAG_TCMPL) >> DMAC_CHINTFLAG_TCMPL_Pos;
+}
+
+static inline void hri_dmacchannel_clear_CHINTFLAG_TCMPL_bit(const void *const hw)
+{
+ ((DmacChannel *)hw)->CHINTFLAG.reg = DMAC_CHINTFLAG_TCMPL;
+}
+
+static inline bool hri_dmacchannel_get_CHINTFLAG_SUSP_bit(const void *const hw)
+{
+ return (((DmacChannel *)hw)->CHINTFLAG.reg & DMAC_CHINTFLAG_SUSP) >> DMAC_CHINTFLAG_SUSP_Pos;
+}
+
+static inline void hri_dmacchannel_clear_CHINTFLAG_SUSP_bit(const void *const hw)
+{
+ ((DmacChannel *)hw)->CHINTFLAG.reg = DMAC_CHINTFLAG_SUSP;
+}
+
+static inline bool hri_dmacchannel_get_interrupt_TERR_bit(const void *const hw)
+{
+ return (((DmacChannel *)hw)->CHINTFLAG.reg & DMAC_CHINTFLAG_TERR) >> DMAC_CHINTFLAG_TERR_Pos;
+}
+
+static inline void hri_dmacchannel_clear_interrupt_TERR_bit(const void *const hw)
+{
+ ((DmacChannel *)hw)->CHINTFLAG.reg = DMAC_CHINTFLAG_TERR;
+}
+
+static inline bool hri_dmacchannel_get_interrupt_TCMPL_bit(const void *const hw)
+{
+ return (((DmacChannel *)hw)->CHINTFLAG.reg & DMAC_CHINTFLAG_TCMPL) >> DMAC_CHINTFLAG_TCMPL_Pos;
+}
+
+static inline void hri_dmacchannel_clear_interrupt_TCMPL_bit(const void *const hw)
+{
+ ((DmacChannel *)hw)->CHINTFLAG.reg = DMAC_CHINTFLAG_TCMPL;
+}
+
+static inline bool hri_dmacchannel_get_interrupt_SUSP_bit(const void *const hw)
+{
+ return (((DmacChannel *)hw)->CHINTFLAG.reg & DMAC_CHINTFLAG_SUSP) >> DMAC_CHINTFLAG_SUSP_Pos;
+}
+
+static inline void hri_dmacchannel_clear_interrupt_SUSP_bit(const void *const hw)
+{
+ ((DmacChannel *)hw)->CHINTFLAG.reg = DMAC_CHINTFLAG_SUSP;
+}
+
+static inline hri_dmac_chintflag_reg_t hri_dmacchannel_get_CHINTFLAG_reg(const void *const hw,
+ hri_dmac_chintflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHINTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dmac_chintflag_reg_t hri_dmacchannel_read_CHINTFLAG_reg(const void *const hw)
+{
+ return ((DmacChannel *)hw)->CHINTFLAG.reg;
+}
+
+static inline void hri_dmacchannel_clear_CHINTFLAG_reg(const void *const hw, hri_dmac_chintflag_reg_t mask)
+{
+ ((DmacChannel *)hw)->CHINTFLAG.reg = mask;
+}
+
+static inline void hri_dmacchannel_set_CHINTEN_TERR_bit(const void *const hw)
+{
+ ((DmacChannel *)hw)->CHINTENSET.reg = DMAC_CHINTENSET_TERR;
+}
+
+static inline bool hri_dmacchannel_get_CHINTEN_TERR_bit(const void *const hw)
+{
+ return (((DmacChannel *)hw)->CHINTENSET.reg & DMAC_CHINTENSET_TERR) >> DMAC_CHINTENSET_TERR_Pos;
+}
+
+static inline void hri_dmacchannel_write_CHINTEN_TERR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((DmacChannel *)hw)->CHINTENCLR.reg = DMAC_CHINTENSET_TERR;
+ } else {
+ ((DmacChannel *)hw)->CHINTENSET.reg = DMAC_CHINTENSET_TERR;
+ }
+}
+
+static inline void hri_dmacchannel_clear_CHINTEN_TERR_bit(const void *const hw)
+{
+ ((DmacChannel *)hw)->CHINTENCLR.reg = DMAC_CHINTENSET_TERR;
+}
+
+static inline void hri_dmacchannel_set_CHINTEN_TCMPL_bit(const void *const hw)
+{
+ ((DmacChannel *)hw)->CHINTENSET.reg = DMAC_CHINTENSET_TCMPL;
+}
+
+static inline bool hri_dmacchannel_get_CHINTEN_TCMPL_bit(const void *const hw)
+{
+ return (((DmacChannel *)hw)->CHINTENSET.reg & DMAC_CHINTENSET_TCMPL) >> DMAC_CHINTENSET_TCMPL_Pos;
+}
+
+static inline void hri_dmacchannel_write_CHINTEN_TCMPL_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((DmacChannel *)hw)->CHINTENCLR.reg = DMAC_CHINTENSET_TCMPL;
+ } else {
+ ((DmacChannel *)hw)->CHINTENSET.reg = DMAC_CHINTENSET_TCMPL;
+ }
+}
+
+static inline void hri_dmacchannel_clear_CHINTEN_TCMPL_bit(const void *const hw)
+{
+ ((DmacChannel *)hw)->CHINTENCLR.reg = DMAC_CHINTENSET_TCMPL;
+}
+
+static inline void hri_dmacchannel_set_CHINTEN_SUSP_bit(const void *const hw)
+{
+ ((DmacChannel *)hw)->CHINTENSET.reg = DMAC_CHINTENSET_SUSP;
+}
+
+static inline bool hri_dmacchannel_get_CHINTEN_SUSP_bit(const void *const hw)
+{
+ return (((DmacChannel *)hw)->CHINTENSET.reg & DMAC_CHINTENSET_SUSP) >> DMAC_CHINTENSET_SUSP_Pos;
+}
+
+static inline void hri_dmacchannel_write_CHINTEN_SUSP_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((DmacChannel *)hw)->CHINTENCLR.reg = DMAC_CHINTENSET_SUSP;
+ } else {
+ ((DmacChannel *)hw)->CHINTENSET.reg = DMAC_CHINTENSET_SUSP;
+ }
+}
+
+static inline void hri_dmacchannel_clear_CHINTEN_SUSP_bit(const void *const hw)
+{
+ ((DmacChannel *)hw)->CHINTENCLR.reg = DMAC_CHINTENSET_SUSP;
+}
+
+static inline void hri_dmacchannel_set_CHINTEN_reg(const void *const hw, hri_dmac_chintenset_reg_t mask)
+{
+ ((DmacChannel *)hw)->CHINTENSET.reg = mask;
+}
+
+static inline hri_dmac_chintenset_reg_t hri_dmacchannel_get_CHINTEN_reg(const void *const hw,
+ hri_dmac_chintenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHINTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dmac_chintenset_reg_t hri_dmacchannel_read_CHINTEN_reg(const void *const hw)
+{
+ return ((DmacChannel *)hw)->CHINTENSET.reg;
+}
+
+static inline void hri_dmacchannel_write_CHINTEN_reg(const void *const hw, hri_dmac_chintenset_reg_t data)
+{
+ ((DmacChannel *)hw)->CHINTENSET.reg = data;
+ ((DmacChannel *)hw)->CHINTENCLR.reg = ~data;
+}
+
+static inline void hri_dmacchannel_clear_CHINTEN_reg(const void *const hw, hri_dmac_chintenset_reg_t mask)
+{
+ ((DmacChannel *)hw)->CHINTENCLR.reg = mask;
+}
+
+static inline void hri_dmacchannel_set_CHCTRLA_SWRST_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg |= DMAC_CHCTRLA_SWRST;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmacchannel_get_CHCTRLA_SWRST_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_SWRST) >> DMAC_CHCTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmacchannel_set_CHCTRLA_ENABLE_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmacchannel_get_CHCTRLA_ENABLE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_ENABLE) >> DMAC_CHCTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmacchannel_write_CHCTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp &= ~DMAC_CHCTRLA_ENABLE;
+ tmp |= value << DMAC_CHCTRLA_ENABLE_Pos;
+ ((DmacChannel *)hw)->CHCTRLA.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHCTRLA_ENABLE_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg &= ~DMAC_CHCTRLA_ENABLE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHCTRLA_ENABLE_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg ^= DMAC_CHCTRLA_ENABLE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_set_CHCTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg |= DMAC_CHCTRLA_RUNSTDBY;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmacchannel_get_CHCTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_RUNSTDBY) >> DMAC_CHCTRLA_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmacchannel_write_CHCTRLA_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp &= ~DMAC_CHCTRLA_RUNSTDBY;
+ tmp |= value << DMAC_CHCTRLA_RUNSTDBY_Pos;
+ ((DmacChannel *)hw)->CHCTRLA.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHCTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg &= ~DMAC_CHCTRLA_RUNSTDBY;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHCTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg ^= DMAC_CHCTRLA_RUNSTDBY;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_set_CHCTRLA_TRIGSRC_bf(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg |= DMAC_CHCTRLA_TRIGSRC(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmacchannel_get_CHCTRLA_TRIGSRC_bf(const void *const hw,
+ hri_dmac_chctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_TRIGSRC(mask)) >> DMAC_CHCTRLA_TRIGSRC_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_write_CHCTRLA_TRIGSRC_bf(const void *const hw, hri_dmac_chctrla_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp &= ~DMAC_CHCTRLA_TRIGSRC_Msk;
+ tmp |= DMAC_CHCTRLA_TRIGSRC(data);
+ ((DmacChannel *)hw)->CHCTRLA.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHCTRLA_TRIGSRC_bf(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg &= ~DMAC_CHCTRLA_TRIGSRC(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHCTRLA_TRIGSRC_bf(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg ^= DMAC_CHCTRLA_TRIGSRC(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmacchannel_read_CHCTRLA_TRIGSRC_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_TRIGSRC_Msk) >> DMAC_CHCTRLA_TRIGSRC_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_set_CHCTRLA_TRIGACT_bf(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg |= DMAC_CHCTRLA_TRIGACT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmacchannel_get_CHCTRLA_TRIGACT_bf(const void *const hw,
+ hri_dmac_chctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_TRIGACT(mask)) >> DMAC_CHCTRLA_TRIGACT_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_write_CHCTRLA_TRIGACT_bf(const void *const hw, hri_dmac_chctrla_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp &= ~DMAC_CHCTRLA_TRIGACT_Msk;
+ tmp |= DMAC_CHCTRLA_TRIGACT(data);
+ ((DmacChannel *)hw)->CHCTRLA.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHCTRLA_TRIGACT_bf(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg &= ~DMAC_CHCTRLA_TRIGACT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHCTRLA_TRIGACT_bf(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg ^= DMAC_CHCTRLA_TRIGACT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmacchannel_read_CHCTRLA_TRIGACT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_TRIGACT_Msk) >> DMAC_CHCTRLA_TRIGACT_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_set_CHCTRLA_BURSTLEN_bf(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg |= DMAC_CHCTRLA_BURSTLEN(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmacchannel_get_CHCTRLA_BURSTLEN_bf(const void *const hw,
+ hri_dmac_chctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_BURSTLEN(mask)) >> DMAC_CHCTRLA_BURSTLEN_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_write_CHCTRLA_BURSTLEN_bf(const void *const hw, hri_dmac_chctrla_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp &= ~DMAC_CHCTRLA_BURSTLEN_Msk;
+ tmp |= DMAC_CHCTRLA_BURSTLEN(data);
+ ((DmacChannel *)hw)->CHCTRLA.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHCTRLA_BURSTLEN_bf(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg &= ~DMAC_CHCTRLA_BURSTLEN(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHCTRLA_BURSTLEN_bf(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg ^= DMAC_CHCTRLA_BURSTLEN(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmacchannel_read_CHCTRLA_BURSTLEN_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_BURSTLEN_Msk) >> DMAC_CHCTRLA_BURSTLEN_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_set_CHCTRLA_THRESHOLD_bf(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg |= DMAC_CHCTRLA_THRESHOLD(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmacchannel_get_CHCTRLA_THRESHOLD_bf(const void *const hw,
+ hri_dmac_chctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_THRESHOLD(mask)) >> DMAC_CHCTRLA_THRESHOLD_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_write_CHCTRLA_THRESHOLD_bf(const void *const hw, hri_dmac_chctrla_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp &= ~DMAC_CHCTRLA_THRESHOLD_Msk;
+ tmp |= DMAC_CHCTRLA_THRESHOLD(data);
+ ((DmacChannel *)hw)->CHCTRLA.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHCTRLA_THRESHOLD_bf(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg &= ~DMAC_CHCTRLA_THRESHOLD(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHCTRLA_THRESHOLD_bf(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg ^= DMAC_CHCTRLA_THRESHOLD(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmacchannel_read_CHCTRLA_THRESHOLD_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_THRESHOLD_Msk) >> DMAC_CHCTRLA_THRESHOLD_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_set_CHCTRLA_reg(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmacchannel_get_CHCTRLA_reg(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((DmacChannel *)hw)->CHCTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_write_CHCTRLA_reg(const void *const hw, hri_dmac_chctrla_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHCTRLA_reg(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHCTRLA_reg(const void *const hw, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLA.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmacchannel_read_CHCTRLA_reg(const void *const hw)
+{
+ return ((DmacChannel *)hw)->CHCTRLA.reg;
+}
+
+static inline void hri_dmacchannel_set_CHCTRLB_CMD_bf(const void *const hw, hri_dmac_chctrlb_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLB.reg |= DMAC_CHCTRLB_CMD(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrlb_reg_t hri_dmacchannel_get_CHCTRLB_CMD_bf(const void *const hw,
+ hri_dmac_chctrlb_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHCTRLB.reg;
+ tmp = (tmp & DMAC_CHCTRLB_CMD(mask)) >> DMAC_CHCTRLB_CMD_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_write_CHCTRLB_CMD_bf(const void *const hw, hri_dmac_chctrlb_reg_t data)
+{
+ uint8_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacChannel *)hw)->CHCTRLB.reg;
+ tmp &= ~DMAC_CHCTRLB_CMD_Msk;
+ tmp |= DMAC_CHCTRLB_CMD(data);
+ ((DmacChannel *)hw)->CHCTRLB.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHCTRLB_CMD_bf(const void *const hw, hri_dmac_chctrlb_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLB.reg &= ~DMAC_CHCTRLB_CMD(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHCTRLB_CMD_bf(const void *const hw, hri_dmac_chctrlb_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLB.reg ^= DMAC_CHCTRLB_CMD(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrlb_reg_t hri_dmacchannel_read_CHCTRLB_CMD_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHCTRLB.reg;
+ tmp = (tmp & DMAC_CHCTRLB_CMD_Msk) >> DMAC_CHCTRLB_CMD_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_set_CHCTRLB_reg(const void *const hw, hri_dmac_chctrlb_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLB.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrlb_reg_t hri_dmacchannel_get_CHCTRLB_reg(const void *const hw, hri_dmac_chctrlb_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHCTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_write_CHCTRLB_reg(const void *const hw, hri_dmac_chctrlb_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLB.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHCTRLB_reg(const void *const hw, hri_dmac_chctrlb_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLB.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHCTRLB_reg(const void *const hw, hri_dmac_chctrlb_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHCTRLB.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrlb_reg_t hri_dmacchannel_read_CHCTRLB_reg(const void *const hw)
+{
+ return ((DmacChannel *)hw)->CHCTRLB.reg;
+}
+
+static inline void hri_dmacchannel_set_CHPRILVL_PRILVL_bf(const void *const hw, hri_dmac_chprilvl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHPRILVL.reg |= DMAC_CHPRILVL_PRILVL(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chprilvl_reg_t hri_dmacchannel_get_CHPRILVL_PRILVL_bf(const void *const hw,
+ hri_dmac_chprilvl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHPRILVL.reg;
+ tmp = (tmp & DMAC_CHPRILVL_PRILVL(mask)) >> DMAC_CHPRILVL_PRILVL_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_write_CHPRILVL_PRILVL_bf(const void *const hw, hri_dmac_chprilvl_reg_t data)
+{
+ uint8_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacChannel *)hw)->CHPRILVL.reg;
+ tmp &= ~DMAC_CHPRILVL_PRILVL_Msk;
+ tmp |= DMAC_CHPRILVL_PRILVL(data);
+ ((DmacChannel *)hw)->CHPRILVL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHPRILVL_PRILVL_bf(const void *const hw, hri_dmac_chprilvl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHPRILVL.reg &= ~DMAC_CHPRILVL_PRILVL(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHPRILVL_PRILVL_bf(const void *const hw, hri_dmac_chprilvl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHPRILVL.reg ^= DMAC_CHPRILVL_PRILVL(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chprilvl_reg_t hri_dmacchannel_read_CHPRILVL_PRILVL_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHPRILVL.reg;
+ tmp = (tmp & DMAC_CHPRILVL_PRILVL_Msk) >> DMAC_CHPRILVL_PRILVL_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_set_CHPRILVL_reg(const void *const hw, hri_dmac_chprilvl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHPRILVL.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chprilvl_reg_t hri_dmacchannel_get_CHPRILVL_reg(const void *const hw,
+ hri_dmac_chprilvl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHPRILVL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_write_CHPRILVL_reg(const void *const hw, hri_dmac_chprilvl_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHPRILVL.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHPRILVL_reg(const void *const hw, hri_dmac_chprilvl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHPRILVL.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHPRILVL_reg(const void *const hw, hri_dmac_chprilvl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHPRILVL.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chprilvl_reg_t hri_dmacchannel_read_CHPRILVL_reg(const void *const hw)
+{
+ return ((DmacChannel *)hw)->CHPRILVL.reg;
+}
+
+static inline void hri_dmacchannel_set_CHEVCTRL_EVIE_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg |= DMAC_CHEVCTRL_EVIE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmacchannel_get_CHEVCTRL_EVIE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHEVCTRL.reg;
+ tmp = (tmp & DMAC_CHEVCTRL_EVIE) >> DMAC_CHEVCTRL_EVIE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmacchannel_write_CHEVCTRL_EVIE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacChannel *)hw)->CHEVCTRL.reg;
+ tmp &= ~DMAC_CHEVCTRL_EVIE;
+ tmp |= value << DMAC_CHEVCTRL_EVIE_Pos;
+ ((DmacChannel *)hw)->CHEVCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHEVCTRL_EVIE_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVIE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHEVCTRL_EVIE_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVIE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_set_CHEVCTRL_EVOE_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg |= DMAC_CHEVCTRL_EVOE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmacchannel_get_CHEVCTRL_EVOE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHEVCTRL.reg;
+ tmp = (tmp & DMAC_CHEVCTRL_EVOE) >> DMAC_CHEVCTRL_EVOE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmacchannel_write_CHEVCTRL_EVOE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacChannel *)hw)->CHEVCTRL.reg;
+ tmp &= ~DMAC_CHEVCTRL_EVOE;
+ tmp |= value << DMAC_CHEVCTRL_EVOE_Pos;
+ ((DmacChannel *)hw)->CHEVCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHEVCTRL_EVOE_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVOE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHEVCTRL_EVOE_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVOE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_set_CHEVCTRL_EVACT_bf(const void *const hw, hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg |= DMAC_CHEVCTRL_EVACT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chevctrl_reg_t hri_dmacchannel_get_CHEVCTRL_EVACT_bf(const void *const hw,
+ hri_dmac_chevctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHEVCTRL.reg;
+ tmp = (tmp & DMAC_CHEVCTRL_EVACT(mask)) >> DMAC_CHEVCTRL_EVACT_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_write_CHEVCTRL_EVACT_bf(const void *const hw, hri_dmac_chevctrl_reg_t data)
+{
+ uint8_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacChannel *)hw)->CHEVCTRL.reg;
+ tmp &= ~DMAC_CHEVCTRL_EVACT_Msk;
+ tmp |= DMAC_CHEVCTRL_EVACT(data);
+ ((DmacChannel *)hw)->CHEVCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHEVCTRL_EVACT_bf(const void *const hw, hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVACT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHEVCTRL_EVACT_bf(const void *const hw, hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVACT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chevctrl_reg_t hri_dmacchannel_read_CHEVCTRL_EVACT_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHEVCTRL.reg;
+ tmp = (tmp & DMAC_CHEVCTRL_EVACT_Msk) >> DMAC_CHEVCTRL_EVACT_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_set_CHEVCTRL_EVOMODE_bf(const void *const hw, hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg |= DMAC_CHEVCTRL_EVOMODE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chevctrl_reg_t hri_dmacchannel_get_CHEVCTRL_EVOMODE_bf(const void *const hw,
+ hri_dmac_chevctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHEVCTRL.reg;
+ tmp = (tmp & DMAC_CHEVCTRL_EVOMODE(mask)) >> DMAC_CHEVCTRL_EVOMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_write_CHEVCTRL_EVOMODE_bf(const void *const hw, hri_dmac_chevctrl_reg_t data)
+{
+ uint8_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((DmacChannel *)hw)->CHEVCTRL.reg;
+ tmp &= ~DMAC_CHEVCTRL_EVOMODE_Msk;
+ tmp |= DMAC_CHEVCTRL_EVOMODE(data);
+ ((DmacChannel *)hw)->CHEVCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHEVCTRL_EVOMODE_bf(const void *const hw, hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVOMODE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHEVCTRL_EVOMODE_bf(const void *const hw, hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVOMODE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chevctrl_reg_t hri_dmacchannel_read_CHEVCTRL_EVOMODE_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHEVCTRL.reg;
+ tmp = (tmp & DMAC_CHEVCTRL_EVOMODE_Msk) >> DMAC_CHEVCTRL_EVOMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_set_CHEVCTRL_reg(const void *const hw, hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chevctrl_reg_t hri_dmacchannel_get_CHEVCTRL_reg(const void *const hw,
+ hri_dmac_chevctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHEVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_write_CHEVCTRL_reg(const void *const hw, hri_dmac_chevctrl_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_clear_CHEVCTRL_reg(const void *const hw, hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmacchannel_toggle_CHEVCTRL_reg(const void *const hw, hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHEVCTRL.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chevctrl_reg_t hri_dmacchannel_read_CHEVCTRL_reg(const void *const hw)
+{
+ return ((DmacChannel *)hw)->CHEVCTRL.reg;
+}
+
+static inline bool hri_dmacchannel_get_CHSTATUS_PEND_bit(const void *const hw)
+{
+ return (((DmacChannel *)hw)->CHSTATUS.reg & DMAC_CHSTATUS_PEND) >> DMAC_CHSTATUS_PEND_Pos;
+}
+
+static inline void hri_dmacchannel_clear_CHSTATUS_PEND_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHSTATUS.reg = DMAC_CHSTATUS_PEND;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmacchannel_get_CHSTATUS_BUSY_bit(const void *const hw)
+{
+ return (((DmacChannel *)hw)->CHSTATUS.reg & DMAC_CHSTATUS_BUSY) >> DMAC_CHSTATUS_BUSY_Pos;
+}
+
+static inline void hri_dmacchannel_clear_CHSTATUS_BUSY_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHSTATUS.reg = DMAC_CHSTATUS_BUSY;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmacchannel_get_CHSTATUS_FERR_bit(const void *const hw)
+{
+ return (((DmacChannel *)hw)->CHSTATUS.reg & DMAC_CHSTATUS_FERR) >> DMAC_CHSTATUS_FERR_Pos;
+}
+
+static inline void hri_dmacchannel_clear_CHSTATUS_FERR_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHSTATUS.reg = DMAC_CHSTATUS_FERR;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmacchannel_get_CHSTATUS_CRCERR_bit(const void *const hw)
+{
+ return (((DmacChannel *)hw)->CHSTATUS.reg & DMAC_CHSTATUS_CRCERR) >> DMAC_CHSTATUS_CRCERR_Pos;
+}
+
+static inline void hri_dmacchannel_clear_CHSTATUS_CRCERR_bit(const void *const hw)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHSTATUS.reg = DMAC_CHSTATUS_CRCERR;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chstatus_reg_t hri_dmacchannel_get_CHSTATUS_reg(const void *const hw,
+ hri_dmac_chstatus_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((DmacChannel *)hw)->CHSTATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmacchannel_clear_CHSTATUS_reg(const void *const hw, hri_dmac_chstatus_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((DmacChannel *)hw)->CHSTATUS.reg = mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chstatus_reg_t hri_dmacchannel_read_CHSTATUS_reg(const void *const hw)
+{
+ return ((DmacChannel *)hw)->CHSTATUS.reg;
+}
+
+static inline bool hri_dmac_get_CHINTFLAG_TERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg & DMAC_CHINTFLAG_TERR) >> DMAC_CHINTFLAG_TERR_Pos;
+}
+
+static inline void hri_dmac_clear_CHINTFLAG_TERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg = DMAC_CHINTFLAG_TERR;
+}
+
+static inline bool hri_dmac_get_CHINTFLAG_TCMPL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg & DMAC_CHINTFLAG_TCMPL) >> DMAC_CHINTFLAG_TCMPL_Pos;
+}
+
+static inline void hri_dmac_clear_CHINTFLAG_TCMPL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg = DMAC_CHINTFLAG_TCMPL;
+}
+
+static inline bool hri_dmac_get_CHINTFLAG_SUSP_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg & DMAC_CHINTFLAG_SUSP) >> DMAC_CHINTFLAG_SUSP_Pos;
+}
+
+static inline void hri_dmac_clear_CHINTFLAG_SUSP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg = DMAC_CHINTFLAG_SUSP;
+}
+
+static inline bool hri_dmac_get_interrupt_TERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg & DMAC_CHINTFLAG_TERR) >> DMAC_CHINTFLAG_TERR_Pos;
+}
+
+static inline void hri_dmac_clear_interrupt_TERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg = DMAC_CHINTFLAG_TERR;
+}
+
+static inline bool hri_dmac_get_interrupt_TCMPL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg & DMAC_CHINTFLAG_TCMPL) >> DMAC_CHINTFLAG_TCMPL_Pos;
+}
+
+static inline void hri_dmac_clear_interrupt_TCMPL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg = DMAC_CHINTFLAG_TCMPL;
+}
+
+static inline bool hri_dmac_get_interrupt_SUSP_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg & DMAC_CHINTFLAG_SUSP) >> DMAC_CHINTFLAG_SUSP_Pos;
+}
+
+static inline void hri_dmac_clear_interrupt_SUSP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg = DMAC_CHINTFLAG_SUSP;
+}
+
+static inline hri_dmac_chintflag_reg_t hri_dmac_get_CHINTFLAG_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chintflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dmac_chintflag_reg_t hri_dmac_read_CHINTFLAG_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg;
+}
+
+static inline void hri_dmac_clear_CHINTFLAG_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chintflag_reg_t mask)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTFLAG.reg = mask;
+}
+
+static inline void hri_dmac_set_CHINTEN_TERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = DMAC_CHINTENSET_TERR;
+}
+
+static inline bool hri_dmac_get_CHINTEN_TERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg & DMAC_CHINTENSET_TERR) >> DMAC_CHINTENSET_TERR_Pos;
+}
+
+static inline void hri_dmac_write_CHINTEN_TERR_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = DMAC_CHINTENSET_TERR;
+ } else {
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = DMAC_CHINTENSET_TERR;
+ }
+}
+
+static inline void hri_dmac_clear_CHINTEN_TERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = DMAC_CHINTENSET_TERR;
+}
+
+static inline void hri_dmac_set_CHINTEN_TCMPL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = DMAC_CHINTENSET_TCMPL;
+}
+
+static inline bool hri_dmac_get_CHINTEN_TCMPL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg & DMAC_CHINTENSET_TCMPL) >> DMAC_CHINTENSET_TCMPL_Pos;
+}
+
+static inline void hri_dmac_write_CHINTEN_TCMPL_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = DMAC_CHINTENSET_TCMPL;
+ } else {
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = DMAC_CHINTENSET_TCMPL;
+ }
+}
+
+static inline void hri_dmac_clear_CHINTEN_TCMPL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = DMAC_CHINTENSET_TCMPL;
+}
+
+static inline void hri_dmac_set_CHINTEN_SUSP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = DMAC_CHINTENSET_SUSP;
+}
+
+static inline bool hri_dmac_get_CHINTEN_SUSP_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg & DMAC_CHINTENSET_SUSP) >> DMAC_CHINTENSET_SUSP_Pos;
+}
+
+static inline void hri_dmac_write_CHINTEN_SUSP_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = DMAC_CHINTENSET_SUSP;
+ } else {
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = DMAC_CHINTENSET_SUSP;
+ }
+}
+
+static inline void hri_dmac_clear_CHINTEN_SUSP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = DMAC_CHINTENSET_SUSP;
+}
+
+static inline void hri_dmac_set_CHINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chintenset_reg_t mask)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = mask;
+}
+
+static inline hri_dmac_chintenset_reg_t hri_dmac_get_CHINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chintenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dmac_chintenset_reg_t hri_dmac_read_CHINTEN_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg;
+}
+
+static inline void hri_dmac_write_CHINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chintenset_reg_t data)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENSET.reg = data;
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = ~data;
+}
+
+static inline void hri_dmac_clear_CHINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chintenset_reg_t mask)
+{
+ ((Dmac *)hw)->Channel[submodule_index].CHINTENCLR.reg = mask;
+}
+
+static inline void hri_dmac_set_CHCTRLA_SWRST_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= DMAC_CHCTRLA_SWRST;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CHCTRLA_SWRST_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_SWRST) >> DMAC_CHCTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_set_CHCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CHCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_ENABLE) >> DMAC_CHCTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_CHCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp &= ~DMAC_CHCTRLA_ENABLE;
+ tmp |= value << DMAC_CHCTRLA_ENABLE_Pos;
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg &= ~DMAC_CHCTRLA_ENABLE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg ^= DMAC_CHCTRLA_ENABLE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_CHCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= DMAC_CHCTRLA_RUNSTDBY;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CHCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_RUNSTDBY) >> DMAC_CHCTRLA_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_CHCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp &= ~DMAC_CHCTRLA_RUNSTDBY;
+ tmp |= value << DMAC_CHCTRLA_RUNSTDBY_Pos;
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg &= ~DMAC_CHCTRLA_RUNSTDBY;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg ^= DMAC_CHCTRLA_RUNSTDBY;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_CHCTRLA_TRIGSRC_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= DMAC_CHCTRLA_TRIGSRC(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmac_get_CHCTRLA_TRIGSRC_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_TRIGSRC(mask)) >> DMAC_CHCTRLA_TRIGSRC_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CHCTRLA_TRIGSRC_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp &= ~DMAC_CHCTRLA_TRIGSRC_Msk;
+ tmp |= DMAC_CHCTRLA_TRIGSRC(data);
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHCTRLA_TRIGSRC_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg &= ~DMAC_CHCTRLA_TRIGSRC(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHCTRLA_TRIGSRC_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg ^= DMAC_CHCTRLA_TRIGSRC(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmac_read_CHCTRLA_TRIGSRC_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_TRIGSRC_Msk) >> DMAC_CHCTRLA_TRIGSRC_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_CHCTRLA_TRIGACT_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= DMAC_CHCTRLA_TRIGACT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmac_get_CHCTRLA_TRIGACT_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_TRIGACT(mask)) >> DMAC_CHCTRLA_TRIGACT_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CHCTRLA_TRIGACT_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp &= ~DMAC_CHCTRLA_TRIGACT_Msk;
+ tmp |= DMAC_CHCTRLA_TRIGACT(data);
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHCTRLA_TRIGACT_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg &= ~DMAC_CHCTRLA_TRIGACT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHCTRLA_TRIGACT_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg ^= DMAC_CHCTRLA_TRIGACT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmac_read_CHCTRLA_TRIGACT_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_TRIGACT_Msk) >> DMAC_CHCTRLA_TRIGACT_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_CHCTRLA_BURSTLEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= DMAC_CHCTRLA_BURSTLEN(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmac_get_CHCTRLA_BURSTLEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_BURSTLEN(mask)) >> DMAC_CHCTRLA_BURSTLEN_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CHCTRLA_BURSTLEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp &= ~DMAC_CHCTRLA_BURSTLEN_Msk;
+ tmp |= DMAC_CHCTRLA_BURSTLEN(data);
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHCTRLA_BURSTLEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg &= ~DMAC_CHCTRLA_BURSTLEN(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHCTRLA_BURSTLEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg ^= DMAC_CHCTRLA_BURSTLEN(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmac_read_CHCTRLA_BURSTLEN_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_BURSTLEN_Msk) >> DMAC_CHCTRLA_BURSTLEN_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_CHCTRLA_THRESHOLD_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= DMAC_CHCTRLA_THRESHOLD(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmac_get_CHCTRLA_THRESHOLD_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_THRESHOLD(mask)) >> DMAC_CHCTRLA_THRESHOLD_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CHCTRLA_THRESHOLD_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t data)
+{
+ uint32_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp &= ~DMAC_CHCTRLA_THRESHOLD_Msk;
+ tmp |= DMAC_CHCTRLA_THRESHOLD(data);
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHCTRLA_THRESHOLD_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg &= ~DMAC_CHCTRLA_THRESHOLD(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHCTRLA_THRESHOLD_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg ^= DMAC_CHCTRLA_THRESHOLD(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmac_read_CHCTRLA_THRESHOLD_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp = (tmp & DMAC_CHCTRLA_THRESHOLD_Msk) >> DMAC_CHCTRLA_THRESHOLD_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_CHCTRLA_reg(const void *const hw, uint8_t submodule_index, hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmac_get_CHCTRLA_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CHCTRLA_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHCTRLA_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHCTRLA_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrla_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrla_reg_t hri_dmac_read_CHCTRLA_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Dmac *)hw)->Channel[submodule_index].CHCTRLA.reg;
+}
+
+static inline void hri_dmac_set_CHCTRLB_CMD_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrlb_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg |= DMAC_CHCTRLB_CMD(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrlb_reg_t hri_dmac_get_CHCTRLB_CMD_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrlb_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg;
+ tmp = (tmp & DMAC_CHCTRLB_CMD(mask)) >> DMAC_CHCTRLB_CMD_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CHCTRLB_CMD_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrlb_reg_t data)
+{
+ uint8_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg;
+ tmp &= ~DMAC_CHCTRLB_CMD_Msk;
+ tmp |= DMAC_CHCTRLB_CMD(data);
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHCTRLB_CMD_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrlb_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg &= ~DMAC_CHCTRLB_CMD(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHCTRLB_CMD_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrlb_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg ^= DMAC_CHCTRLB_CMD(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrlb_reg_t hri_dmac_read_CHCTRLB_CMD_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg;
+ tmp = (tmp & DMAC_CHCTRLB_CMD_Msk) >> DMAC_CHCTRLB_CMD_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_CHCTRLB_reg(const void *const hw, uint8_t submodule_index, hri_dmac_chctrlb_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrlb_reg_t hri_dmac_get_CHCTRLB_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrlb_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CHCTRLB_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrlb_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHCTRLB_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrlb_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHCTRLB_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chctrlb_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chctrlb_reg_t hri_dmac_read_CHCTRLB_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Dmac *)hw)->Channel[submodule_index].CHCTRLB.reg;
+}
+
+static inline void hri_dmac_set_CHPRILVL_PRILVL_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chprilvl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg |= DMAC_CHPRILVL_PRILVL(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chprilvl_reg_t hri_dmac_get_CHPRILVL_PRILVL_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chprilvl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg;
+ tmp = (tmp & DMAC_CHPRILVL_PRILVL(mask)) >> DMAC_CHPRILVL_PRILVL_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CHPRILVL_PRILVL_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chprilvl_reg_t data)
+{
+ uint8_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg;
+ tmp &= ~DMAC_CHPRILVL_PRILVL_Msk;
+ tmp |= DMAC_CHPRILVL_PRILVL(data);
+ ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHPRILVL_PRILVL_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chprilvl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg &= ~DMAC_CHPRILVL_PRILVL(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHPRILVL_PRILVL_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chprilvl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg ^= DMAC_CHPRILVL_PRILVL(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chprilvl_reg_t hri_dmac_read_CHPRILVL_PRILVL_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg;
+ tmp = (tmp & DMAC_CHPRILVL_PRILVL_Msk) >> DMAC_CHPRILVL_PRILVL_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_CHPRILVL_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chprilvl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chprilvl_reg_t hri_dmac_get_CHPRILVL_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chprilvl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CHPRILVL_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chprilvl_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHPRILVL_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chprilvl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHPRILVL_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chprilvl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chprilvl_reg_t hri_dmac_read_CHPRILVL_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Dmac *)hw)->Channel[submodule_index].CHPRILVL.reg;
+}
+
+static inline void hri_dmac_set_CHEVCTRL_EVIE_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg |= DMAC_CHEVCTRL_EVIE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CHEVCTRL_EVIE_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg;
+ tmp = (tmp & DMAC_CHEVCTRL_EVIE) >> DMAC_CHEVCTRL_EVIE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_CHEVCTRL_EVIE_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint8_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg;
+ tmp &= ~DMAC_CHEVCTRL_EVIE;
+ tmp |= value << DMAC_CHEVCTRL_EVIE_Pos;
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHEVCTRL_EVIE_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVIE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHEVCTRL_EVIE_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVIE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_CHEVCTRL_EVOE_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg |= DMAC_CHEVCTRL_EVOE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CHEVCTRL_EVOE_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg;
+ tmp = (tmp & DMAC_CHEVCTRL_EVOE) >> DMAC_CHEVCTRL_EVOE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dmac_write_CHEVCTRL_EVOE_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint8_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg;
+ tmp &= ~DMAC_CHEVCTRL_EVOE;
+ tmp |= value << DMAC_CHEVCTRL_EVOE_Pos;
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHEVCTRL_EVOE_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVOE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHEVCTRL_EVOE_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVOE;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_set_CHEVCTRL_EVACT_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg |= DMAC_CHEVCTRL_EVACT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chevctrl_reg_t hri_dmac_get_CHEVCTRL_EVACT_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chevctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg;
+ tmp = (tmp & DMAC_CHEVCTRL_EVACT(mask)) >> DMAC_CHEVCTRL_EVACT_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CHEVCTRL_EVACT_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chevctrl_reg_t data)
+{
+ uint8_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg;
+ tmp &= ~DMAC_CHEVCTRL_EVACT_Msk;
+ tmp |= DMAC_CHEVCTRL_EVACT(data);
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHEVCTRL_EVACT_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVACT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHEVCTRL_EVACT_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVACT(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chevctrl_reg_t hri_dmac_read_CHEVCTRL_EVACT_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg;
+ tmp = (tmp & DMAC_CHEVCTRL_EVACT_Msk) >> DMAC_CHEVCTRL_EVACT_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_CHEVCTRL_EVOMODE_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg |= DMAC_CHEVCTRL_EVOMODE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chevctrl_reg_t hri_dmac_get_CHEVCTRL_EVOMODE_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chevctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg;
+ tmp = (tmp & DMAC_CHEVCTRL_EVOMODE(mask)) >> DMAC_CHEVCTRL_EVOMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CHEVCTRL_EVOMODE_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chevctrl_reg_t data)
+{
+ uint8_t tmp;
+ DMAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg;
+ tmp &= ~DMAC_CHEVCTRL_EVOMODE_Msk;
+ tmp |= DMAC_CHEVCTRL_EVOMODE(data);
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg = tmp;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHEVCTRL_EVOMODE_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg &= ~DMAC_CHEVCTRL_EVOMODE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHEVCTRL_EVOMODE_bf(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg ^= DMAC_CHEVCTRL_EVOMODE(mask);
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chevctrl_reg_t hri_dmac_read_CHEVCTRL_EVOMODE_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg;
+ tmp = (tmp & DMAC_CHEVCTRL_EVOMODE_Msk) >> DMAC_CHEVCTRL_EVOMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_dmac_set_CHEVCTRL_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg |= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chevctrl_reg_t hri_dmac_get_CHEVCTRL_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chevctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_write_CHEVCTRL_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chevctrl_reg_t data)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg = data;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_clear_CHEVCTRL_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg &= ~mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dmac_toggle_CHEVCTRL_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chevctrl_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg ^= mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chevctrl_reg_t hri_dmac_read_CHEVCTRL_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Dmac *)hw)->Channel[submodule_index].CHEVCTRL.reg;
+}
+
+static inline bool hri_dmac_get_CHSTATUS_PEND_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg & DMAC_CHSTATUS_PEND) >> DMAC_CHSTATUS_PEND_Pos;
+}
+
+static inline void hri_dmac_clear_CHSTATUS_PEND_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg = DMAC_CHSTATUS_PEND;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CHSTATUS_BUSY_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg & DMAC_CHSTATUS_BUSY) >> DMAC_CHSTATUS_BUSY_Pos;
+}
+
+static inline void hri_dmac_clear_CHSTATUS_BUSY_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg = DMAC_CHSTATUS_BUSY;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CHSTATUS_FERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg & DMAC_CHSTATUS_FERR) >> DMAC_CHSTATUS_FERR_Pos;
+}
+
+static inline void hri_dmac_clear_CHSTATUS_FERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg = DMAC_CHSTATUS_FERR;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dmac_get_CHSTATUS_CRCERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg & DMAC_CHSTATUS_CRCERR) >> DMAC_CHSTATUS_CRCERR_Pos;
+}
+
+static inline void hri_dmac_clear_CHSTATUS_CRCERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg = DMAC_CHSTATUS_CRCERR;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chstatus_reg_t hri_dmac_get_CHSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chstatus_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dmac_clear_CHSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_dmac_chstatus_reg_t mask)
+{
+ DMAC_CRITICAL_SECTION_ENTER();
+ ((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg = mask;
+ DMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dmac_chstatus_reg_t hri_dmac_read_CHSTATUS_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Dmac *)hw)->Channel[submodule_index].CHSTATUS.reg;
+}
+
+/* Below section is for legacy hri apis name, not recommended to use below left side apis in application */
+#define hri_dmacdescriptor_set_DSTADDR_CRC_reg(a, b) hri_dmacdescriptor_set_DSTADDR_reg(a, b)
+#define hri_dmacdescriptor_get_DSTADDR_CRC_reg(a, b) hri_dmacdescriptor_get_DSTADDR_reg(a, b)
+#define hri_dmacdescriptor_write_DSTADDR_CRC_reg(a, b) hri_dmacdescriptor_write_DSTADDR_reg(a, b)
+#define hri_dmacdescriptor_clear_DSTADDR_CRC_reg(a, b) hri_dmacdescriptor_clear_DSTADDR_reg(a, b)
+#define hri_dmacdescriptor_toggle_DSTADDR_CRC_reg(a, b) hri_dmacdescriptor_toggle_DSTADDR_reg(a, b)
+#define hri_dmacdescriptor_read_DSTADDR_CRC_reg(a) hri_dmacdescriptor_read_DSTADDR_reg(a)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_DMAC_E54_H_INCLUDED */
+#endif /* _SAME54_DMAC_COMPONENT_ */
diff --git a/hri/hri_dsu_e54.h b/hri/hri_dsu_e54.h
new file mode 100644
index 0000000..82e24b6
--- /dev/null
+++ b/hri/hri_dsu_e54.h
@@ -0,0 +1,1356 @@
+/**
+ * \file
+ *
+ * \brief SAM DSU
+ *
+ * Copyright (c) 2017-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_DSU_COMPONENT_
+#ifndef _HRI_DSU_E54_H_INCLUDED_
+#define _HRI_DSU_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_DSU_CRITICAL_SECTIONS)
+#define DSU_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define DSU_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define DSU_CRITICAL_SECTION_ENTER()
+#define DSU_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_dsu_addr_reg_t;
+typedef uint32_t hri_dsu_cfg_reg_t;
+typedef uint32_t hri_dsu_cid0_reg_t;
+typedef uint32_t hri_dsu_cid1_reg_t;
+typedef uint32_t hri_dsu_cid2_reg_t;
+typedef uint32_t hri_dsu_cid3_reg_t;
+typedef uint32_t hri_dsu_data_reg_t;
+typedef uint32_t hri_dsu_dcc_reg_t;
+typedef uint32_t hri_dsu_dcfg_reg_t;
+typedef uint32_t hri_dsu_did_reg_t;
+typedef uint32_t hri_dsu_end_reg_t;
+typedef uint32_t hri_dsu_entry0_reg_t;
+typedef uint32_t hri_dsu_entry1_reg_t;
+typedef uint32_t hri_dsu_length_reg_t;
+typedef uint32_t hri_dsu_memtype_reg_t;
+typedef uint32_t hri_dsu_pid0_reg_t;
+typedef uint32_t hri_dsu_pid1_reg_t;
+typedef uint32_t hri_dsu_pid2_reg_t;
+typedef uint32_t hri_dsu_pid3_reg_t;
+typedef uint32_t hri_dsu_pid4_reg_t;
+typedef uint32_t hri_dsu_pid5_reg_t;
+typedef uint32_t hri_dsu_pid6_reg_t;
+typedef uint32_t hri_dsu_pid7_reg_t;
+typedef uint8_t hri_dsu_ctrl_reg_t;
+typedef uint8_t hri_dsu_statusa_reg_t;
+typedef uint8_t hri_dsu_statusb_reg_t;
+
+static inline bool hri_dsu_get_STATUSB_PROT_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->STATUSB.reg & DSU_STATUSB_PROT) >> DSU_STATUSB_PROT_Pos;
+}
+
+static inline bool hri_dsu_get_STATUSB_DBGPRES_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->STATUSB.reg & DSU_STATUSB_DBGPRES) >> DSU_STATUSB_DBGPRES_Pos;
+}
+
+static inline bool hri_dsu_get_STATUSB_DCCD0_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->STATUSB.reg & DSU_STATUSB_DCCD0) >> DSU_STATUSB_DCCD0_Pos;
+}
+
+static inline bool hri_dsu_get_STATUSB_DCCD1_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->STATUSB.reg & DSU_STATUSB_DCCD1) >> DSU_STATUSB_DCCD1_Pos;
+}
+
+static inline bool hri_dsu_get_STATUSB_HPE_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->STATUSB.reg & DSU_STATUSB_HPE) >> DSU_STATUSB_HPE_Pos;
+}
+
+static inline bool hri_dsu_get_STATUSB_CELCK_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->STATUSB.reg & DSU_STATUSB_CELCK) >> DSU_STATUSB_CELCK_Pos;
+}
+
+static inline bool hri_dsu_get_STATUSB_TDCCD0_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->STATUSB.reg & DSU_STATUSB_TDCCD0) >> DSU_STATUSB_TDCCD0_Pos;
+}
+
+static inline bool hri_dsu_get_STATUSB_TDCCD1_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->STATUSB.reg & DSU_STATUSB_TDCCD1) >> DSU_STATUSB_TDCCD1_Pos;
+}
+
+static inline hri_dsu_statusb_reg_t hri_dsu_get_STATUSB_reg(const void *const hw, hri_dsu_statusb_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dsu *)hw)->STATUSB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_statusb_reg_t hri_dsu_read_STATUSB_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->STATUSB.reg;
+}
+
+static inline hri_dsu_did_reg_t hri_dsu_get_DID_DEVSEL_bf(const void *const hw, hri_dsu_did_reg_t mask)
+{
+ return (((Dsu *)hw)->DID.reg & DSU_DID_DEVSEL(mask)) >> DSU_DID_DEVSEL_Pos;
+}
+
+static inline hri_dsu_did_reg_t hri_dsu_read_DID_DEVSEL_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->DID.reg & DSU_DID_DEVSEL_Msk) >> DSU_DID_DEVSEL_Pos;
+}
+
+static inline hri_dsu_did_reg_t hri_dsu_get_DID_REVISION_bf(const void *const hw, hri_dsu_did_reg_t mask)
+{
+ return (((Dsu *)hw)->DID.reg & DSU_DID_REVISION(mask)) >> DSU_DID_REVISION_Pos;
+}
+
+static inline hri_dsu_did_reg_t hri_dsu_read_DID_REVISION_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->DID.reg & DSU_DID_REVISION_Msk) >> DSU_DID_REVISION_Pos;
+}
+
+static inline hri_dsu_did_reg_t hri_dsu_get_DID_DIE_bf(const void *const hw, hri_dsu_did_reg_t mask)
+{
+ return (((Dsu *)hw)->DID.reg & DSU_DID_DIE(mask)) >> DSU_DID_DIE_Pos;
+}
+
+static inline hri_dsu_did_reg_t hri_dsu_read_DID_DIE_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->DID.reg & DSU_DID_DIE_Msk) >> DSU_DID_DIE_Pos;
+}
+
+static inline hri_dsu_did_reg_t hri_dsu_get_DID_SERIES_bf(const void *const hw, hri_dsu_did_reg_t mask)
+{
+ return (((Dsu *)hw)->DID.reg & DSU_DID_SERIES(mask)) >> DSU_DID_SERIES_Pos;
+}
+
+static inline hri_dsu_did_reg_t hri_dsu_read_DID_SERIES_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->DID.reg & DSU_DID_SERIES_Msk) >> DSU_DID_SERIES_Pos;
+}
+
+static inline hri_dsu_did_reg_t hri_dsu_get_DID_FAMILY_bf(const void *const hw, hri_dsu_did_reg_t mask)
+{
+ return (((Dsu *)hw)->DID.reg & DSU_DID_FAMILY(mask)) >> DSU_DID_FAMILY_Pos;
+}
+
+static inline hri_dsu_did_reg_t hri_dsu_read_DID_FAMILY_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->DID.reg & DSU_DID_FAMILY_Msk) >> DSU_DID_FAMILY_Pos;
+}
+
+static inline hri_dsu_did_reg_t hri_dsu_get_DID_PROCESSOR_bf(const void *const hw, hri_dsu_did_reg_t mask)
+{
+ return (((Dsu *)hw)->DID.reg & DSU_DID_PROCESSOR(mask)) >> DSU_DID_PROCESSOR_Pos;
+}
+
+static inline hri_dsu_did_reg_t hri_dsu_read_DID_PROCESSOR_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->DID.reg & DSU_DID_PROCESSOR_Msk) >> DSU_DID_PROCESSOR_Pos;
+}
+
+static inline hri_dsu_did_reg_t hri_dsu_get_DID_reg(const void *const hw, hri_dsu_did_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->DID.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_did_reg_t hri_dsu_read_DID_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->DID.reg;
+}
+
+static inline bool hri_dsu_get_ENTRY0_EPRES_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->ENTRY0.reg & DSU_ENTRY0_EPRES) >> DSU_ENTRY0_EPRES_Pos;
+}
+
+static inline bool hri_dsu_get_ENTRY0_FMT_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->ENTRY0.reg & DSU_ENTRY0_FMT) >> DSU_ENTRY0_FMT_Pos;
+}
+
+static inline hri_dsu_entry0_reg_t hri_dsu_get_ENTRY0_ADDOFF_bf(const void *const hw, hri_dsu_entry0_reg_t mask)
+{
+ return (((Dsu *)hw)->ENTRY0.reg & DSU_ENTRY0_ADDOFF(mask)) >> DSU_ENTRY0_ADDOFF_Pos;
+}
+
+static inline hri_dsu_entry0_reg_t hri_dsu_read_ENTRY0_ADDOFF_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->ENTRY0.reg & DSU_ENTRY0_ADDOFF_Msk) >> DSU_ENTRY0_ADDOFF_Pos;
+}
+
+static inline hri_dsu_entry0_reg_t hri_dsu_get_ENTRY0_reg(const void *const hw, hri_dsu_entry0_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->ENTRY0.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_entry0_reg_t hri_dsu_read_ENTRY0_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->ENTRY0.reg;
+}
+
+static inline hri_dsu_entry1_reg_t hri_dsu_get_ENTRY1_reg(const void *const hw, hri_dsu_entry1_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->ENTRY1.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_entry1_reg_t hri_dsu_read_ENTRY1_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->ENTRY1.reg;
+}
+
+static inline hri_dsu_end_reg_t hri_dsu_get_END_END_bf(const void *const hw, hri_dsu_end_reg_t mask)
+{
+ return (((Dsu *)hw)->END.reg & DSU_END_END(mask)) >> DSU_END_END_Pos;
+}
+
+static inline hri_dsu_end_reg_t hri_dsu_read_END_END_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->END.reg & DSU_END_END_Msk) >> DSU_END_END_Pos;
+}
+
+static inline hri_dsu_end_reg_t hri_dsu_get_END_reg(const void *const hw, hri_dsu_end_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->END.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_end_reg_t hri_dsu_read_END_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->END.reg;
+}
+
+static inline bool hri_dsu_get_MEMTYPE_SMEMP_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->MEMTYPE.reg & DSU_MEMTYPE_SMEMP) >> DSU_MEMTYPE_SMEMP_Pos;
+}
+
+static inline hri_dsu_memtype_reg_t hri_dsu_get_MEMTYPE_reg(const void *const hw, hri_dsu_memtype_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->MEMTYPE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_memtype_reg_t hri_dsu_read_MEMTYPE_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->MEMTYPE.reg;
+}
+
+static inline hri_dsu_pid4_reg_t hri_dsu_get_PID4_JEPCC_bf(const void *const hw, hri_dsu_pid4_reg_t mask)
+{
+ return (((Dsu *)hw)->PID4.reg & DSU_PID4_JEPCC(mask)) >> DSU_PID4_JEPCC_Pos;
+}
+
+static inline hri_dsu_pid4_reg_t hri_dsu_read_PID4_JEPCC_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->PID4.reg & DSU_PID4_JEPCC_Msk) >> DSU_PID4_JEPCC_Pos;
+}
+
+static inline hri_dsu_pid4_reg_t hri_dsu_get_PID4_FKBC_bf(const void *const hw, hri_dsu_pid4_reg_t mask)
+{
+ return (((Dsu *)hw)->PID4.reg & DSU_PID4_FKBC(mask)) >> DSU_PID4_FKBC_Pos;
+}
+
+static inline hri_dsu_pid4_reg_t hri_dsu_read_PID4_FKBC_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->PID4.reg & DSU_PID4_FKBC_Msk) >> DSU_PID4_FKBC_Pos;
+}
+
+static inline hri_dsu_pid4_reg_t hri_dsu_get_PID4_reg(const void *const hw, hri_dsu_pid4_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->PID4.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_pid4_reg_t hri_dsu_read_PID4_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->PID4.reg;
+}
+
+static inline hri_dsu_pid5_reg_t hri_dsu_get_PID5_reg(const void *const hw, hri_dsu_pid5_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->PID5.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_pid5_reg_t hri_dsu_read_PID5_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->PID5.reg;
+}
+
+static inline hri_dsu_pid6_reg_t hri_dsu_get_PID6_reg(const void *const hw, hri_dsu_pid6_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->PID6.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_pid6_reg_t hri_dsu_read_PID6_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->PID6.reg;
+}
+
+static inline hri_dsu_pid7_reg_t hri_dsu_get_PID7_reg(const void *const hw, hri_dsu_pid7_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->PID7.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_pid7_reg_t hri_dsu_read_PID7_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->PID7.reg;
+}
+
+static inline hri_dsu_pid0_reg_t hri_dsu_get_PID0_PARTNBL_bf(const void *const hw, hri_dsu_pid0_reg_t mask)
+{
+ return (((Dsu *)hw)->PID0.reg & DSU_PID0_PARTNBL(mask)) >> DSU_PID0_PARTNBL_Pos;
+}
+
+static inline hri_dsu_pid0_reg_t hri_dsu_read_PID0_PARTNBL_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->PID0.reg & DSU_PID0_PARTNBL_Msk) >> DSU_PID0_PARTNBL_Pos;
+}
+
+static inline hri_dsu_pid0_reg_t hri_dsu_get_PID0_reg(const void *const hw, hri_dsu_pid0_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->PID0.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_pid0_reg_t hri_dsu_read_PID0_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->PID0.reg;
+}
+
+static inline hri_dsu_pid1_reg_t hri_dsu_get_PID1_PARTNBH_bf(const void *const hw, hri_dsu_pid1_reg_t mask)
+{
+ return (((Dsu *)hw)->PID1.reg & DSU_PID1_PARTNBH(mask)) >> DSU_PID1_PARTNBH_Pos;
+}
+
+static inline hri_dsu_pid1_reg_t hri_dsu_read_PID1_PARTNBH_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->PID1.reg & DSU_PID1_PARTNBH_Msk) >> DSU_PID1_PARTNBH_Pos;
+}
+
+static inline hri_dsu_pid1_reg_t hri_dsu_get_PID1_JEPIDCL_bf(const void *const hw, hri_dsu_pid1_reg_t mask)
+{
+ return (((Dsu *)hw)->PID1.reg & DSU_PID1_JEPIDCL(mask)) >> DSU_PID1_JEPIDCL_Pos;
+}
+
+static inline hri_dsu_pid1_reg_t hri_dsu_read_PID1_JEPIDCL_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->PID1.reg & DSU_PID1_JEPIDCL_Msk) >> DSU_PID1_JEPIDCL_Pos;
+}
+
+static inline hri_dsu_pid1_reg_t hri_dsu_get_PID1_reg(const void *const hw, hri_dsu_pid1_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->PID1.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_pid1_reg_t hri_dsu_read_PID1_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->PID1.reg;
+}
+
+static inline bool hri_dsu_get_PID2_JEPU_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->PID2.reg & DSU_PID2_JEPU) >> DSU_PID2_JEPU_Pos;
+}
+
+static inline hri_dsu_pid2_reg_t hri_dsu_get_PID2_JEPIDCH_bf(const void *const hw, hri_dsu_pid2_reg_t mask)
+{
+ return (((Dsu *)hw)->PID2.reg & DSU_PID2_JEPIDCH(mask)) >> DSU_PID2_JEPIDCH_Pos;
+}
+
+static inline hri_dsu_pid2_reg_t hri_dsu_read_PID2_JEPIDCH_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->PID2.reg & DSU_PID2_JEPIDCH_Msk) >> DSU_PID2_JEPIDCH_Pos;
+}
+
+static inline hri_dsu_pid2_reg_t hri_dsu_get_PID2_REVISION_bf(const void *const hw, hri_dsu_pid2_reg_t mask)
+{
+ return (((Dsu *)hw)->PID2.reg & DSU_PID2_REVISION(mask)) >> DSU_PID2_REVISION_Pos;
+}
+
+static inline hri_dsu_pid2_reg_t hri_dsu_read_PID2_REVISION_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->PID2.reg & DSU_PID2_REVISION_Msk) >> DSU_PID2_REVISION_Pos;
+}
+
+static inline hri_dsu_pid2_reg_t hri_dsu_get_PID2_reg(const void *const hw, hri_dsu_pid2_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->PID2.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_pid2_reg_t hri_dsu_read_PID2_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->PID2.reg;
+}
+
+static inline hri_dsu_pid3_reg_t hri_dsu_get_PID3_CUSMOD_bf(const void *const hw, hri_dsu_pid3_reg_t mask)
+{
+ return (((Dsu *)hw)->PID3.reg & DSU_PID3_CUSMOD(mask)) >> DSU_PID3_CUSMOD_Pos;
+}
+
+static inline hri_dsu_pid3_reg_t hri_dsu_read_PID3_CUSMOD_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->PID3.reg & DSU_PID3_CUSMOD_Msk) >> DSU_PID3_CUSMOD_Pos;
+}
+
+static inline hri_dsu_pid3_reg_t hri_dsu_get_PID3_REVAND_bf(const void *const hw, hri_dsu_pid3_reg_t mask)
+{
+ return (((Dsu *)hw)->PID3.reg & DSU_PID3_REVAND(mask)) >> DSU_PID3_REVAND_Pos;
+}
+
+static inline hri_dsu_pid3_reg_t hri_dsu_read_PID3_REVAND_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->PID3.reg & DSU_PID3_REVAND_Msk) >> DSU_PID3_REVAND_Pos;
+}
+
+static inline hri_dsu_pid3_reg_t hri_dsu_get_PID3_reg(const void *const hw, hri_dsu_pid3_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->PID3.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_pid3_reg_t hri_dsu_read_PID3_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->PID3.reg;
+}
+
+static inline hri_dsu_cid0_reg_t hri_dsu_get_CID0_PREAMBLEB0_bf(const void *const hw, hri_dsu_cid0_reg_t mask)
+{
+ return (((Dsu *)hw)->CID0.reg & DSU_CID0_PREAMBLEB0(mask)) >> DSU_CID0_PREAMBLEB0_Pos;
+}
+
+static inline hri_dsu_cid0_reg_t hri_dsu_read_CID0_PREAMBLEB0_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->CID0.reg & DSU_CID0_PREAMBLEB0_Msk) >> DSU_CID0_PREAMBLEB0_Pos;
+}
+
+static inline hri_dsu_cid0_reg_t hri_dsu_get_CID0_reg(const void *const hw, hri_dsu_cid0_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->CID0.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_cid0_reg_t hri_dsu_read_CID0_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->CID0.reg;
+}
+
+static inline hri_dsu_cid1_reg_t hri_dsu_get_CID1_PREAMBLE_bf(const void *const hw, hri_dsu_cid1_reg_t mask)
+{
+ return (((Dsu *)hw)->CID1.reg & DSU_CID1_PREAMBLE(mask)) >> DSU_CID1_PREAMBLE_Pos;
+}
+
+static inline hri_dsu_cid1_reg_t hri_dsu_read_CID1_PREAMBLE_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->CID1.reg & DSU_CID1_PREAMBLE_Msk) >> DSU_CID1_PREAMBLE_Pos;
+}
+
+static inline hri_dsu_cid1_reg_t hri_dsu_get_CID1_CCLASS_bf(const void *const hw, hri_dsu_cid1_reg_t mask)
+{
+ return (((Dsu *)hw)->CID1.reg & DSU_CID1_CCLASS(mask)) >> DSU_CID1_CCLASS_Pos;
+}
+
+static inline hri_dsu_cid1_reg_t hri_dsu_read_CID1_CCLASS_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->CID1.reg & DSU_CID1_CCLASS_Msk) >> DSU_CID1_CCLASS_Pos;
+}
+
+static inline hri_dsu_cid1_reg_t hri_dsu_get_CID1_reg(const void *const hw, hri_dsu_cid1_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->CID1.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_cid1_reg_t hri_dsu_read_CID1_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->CID1.reg;
+}
+
+static inline hri_dsu_cid2_reg_t hri_dsu_get_CID2_PREAMBLEB2_bf(const void *const hw, hri_dsu_cid2_reg_t mask)
+{
+ return (((Dsu *)hw)->CID2.reg & DSU_CID2_PREAMBLEB2(mask)) >> DSU_CID2_PREAMBLEB2_Pos;
+}
+
+static inline hri_dsu_cid2_reg_t hri_dsu_read_CID2_PREAMBLEB2_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->CID2.reg & DSU_CID2_PREAMBLEB2_Msk) >> DSU_CID2_PREAMBLEB2_Pos;
+}
+
+static inline hri_dsu_cid2_reg_t hri_dsu_get_CID2_reg(const void *const hw, hri_dsu_cid2_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->CID2.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_cid2_reg_t hri_dsu_read_CID2_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->CID2.reg;
+}
+
+static inline hri_dsu_cid3_reg_t hri_dsu_get_CID3_PREAMBLEB3_bf(const void *const hw, hri_dsu_cid3_reg_t mask)
+{
+ return (((Dsu *)hw)->CID3.reg & DSU_CID3_PREAMBLEB3(mask)) >> DSU_CID3_PREAMBLEB3_Pos;
+}
+
+static inline hri_dsu_cid3_reg_t hri_dsu_read_CID3_PREAMBLEB3_bf(const void *const hw)
+{
+ return (((Dsu *)hw)->CID3.reg & DSU_CID3_PREAMBLEB3_Msk) >> DSU_CID3_PREAMBLEB3_Pos;
+}
+
+static inline hri_dsu_cid3_reg_t hri_dsu_get_CID3_reg(const void *const hw, hri_dsu_cid3_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->CID3.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_dsu_cid3_reg_t hri_dsu_read_CID3_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->CID3.reg;
+}
+
+static inline void hri_dsu_set_ADDR_AMOD_bf(const void *const hw, hri_dsu_addr_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->ADDR.reg |= DSU_ADDR_AMOD(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_addr_reg_t hri_dsu_get_ADDR_AMOD_bf(const void *const hw, hri_dsu_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->ADDR.reg;
+ tmp = (tmp & DSU_ADDR_AMOD(mask)) >> DSU_ADDR_AMOD_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_write_ADDR_AMOD_bf(const void *const hw, hri_dsu_addr_reg_t data)
+{
+ uint32_t tmp;
+ DSU_CRITICAL_SECTION_ENTER();
+ tmp = ((Dsu *)hw)->ADDR.reg;
+ tmp &= ~DSU_ADDR_AMOD_Msk;
+ tmp |= DSU_ADDR_AMOD(data);
+ ((Dsu *)hw)->ADDR.reg = tmp;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_clear_ADDR_AMOD_bf(const void *const hw, hri_dsu_addr_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->ADDR.reg &= ~DSU_ADDR_AMOD(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_toggle_ADDR_AMOD_bf(const void *const hw, hri_dsu_addr_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->ADDR.reg ^= DSU_ADDR_AMOD(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_addr_reg_t hri_dsu_read_ADDR_AMOD_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->ADDR.reg;
+ tmp = (tmp & DSU_ADDR_AMOD_Msk) >> DSU_ADDR_AMOD_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_set_ADDR_ADDR_bf(const void *const hw, hri_dsu_addr_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->ADDR.reg |= DSU_ADDR_ADDR(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_addr_reg_t hri_dsu_get_ADDR_ADDR_bf(const void *const hw, hri_dsu_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->ADDR.reg;
+ tmp = (tmp & DSU_ADDR_ADDR(mask)) >> DSU_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_write_ADDR_ADDR_bf(const void *const hw, hri_dsu_addr_reg_t data)
+{
+ uint32_t tmp;
+ DSU_CRITICAL_SECTION_ENTER();
+ tmp = ((Dsu *)hw)->ADDR.reg;
+ tmp &= ~DSU_ADDR_ADDR_Msk;
+ tmp |= DSU_ADDR_ADDR(data);
+ ((Dsu *)hw)->ADDR.reg = tmp;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_clear_ADDR_ADDR_bf(const void *const hw, hri_dsu_addr_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->ADDR.reg &= ~DSU_ADDR_ADDR(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_toggle_ADDR_ADDR_bf(const void *const hw, hri_dsu_addr_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->ADDR.reg ^= DSU_ADDR_ADDR(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_addr_reg_t hri_dsu_read_ADDR_ADDR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->ADDR.reg;
+ tmp = (tmp & DSU_ADDR_ADDR_Msk) >> DSU_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_set_ADDR_reg(const void *const hw, hri_dsu_addr_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->ADDR.reg |= mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_addr_reg_t hri_dsu_get_ADDR_reg(const void *const hw, hri_dsu_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->ADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dsu_write_ADDR_reg(const void *const hw, hri_dsu_addr_reg_t data)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->ADDR.reg = data;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_clear_ADDR_reg(const void *const hw, hri_dsu_addr_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->ADDR.reg &= ~mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_toggle_ADDR_reg(const void *const hw, hri_dsu_addr_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->ADDR.reg ^= mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_addr_reg_t hri_dsu_read_ADDR_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->ADDR.reg;
+}
+
+static inline void hri_dsu_set_LENGTH_LENGTH_bf(const void *const hw, hri_dsu_length_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->LENGTH.reg |= DSU_LENGTH_LENGTH(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_length_reg_t hri_dsu_get_LENGTH_LENGTH_bf(const void *const hw, hri_dsu_length_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->LENGTH.reg;
+ tmp = (tmp & DSU_LENGTH_LENGTH(mask)) >> DSU_LENGTH_LENGTH_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_write_LENGTH_LENGTH_bf(const void *const hw, hri_dsu_length_reg_t data)
+{
+ uint32_t tmp;
+ DSU_CRITICAL_SECTION_ENTER();
+ tmp = ((Dsu *)hw)->LENGTH.reg;
+ tmp &= ~DSU_LENGTH_LENGTH_Msk;
+ tmp |= DSU_LENGTH_LENGTH(data);
+ ((Dsu *)hw)->LENGTH.reg = tmp;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_clear_LENGTH_LENGTH_bf(const void *const hw, hri_dsu_length_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->LENGTH.reg &= ~DSU_LENGTH_LENGTH(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_toggle_LENGTH_LENGTH_bf(const void *const hw, hri_dsu_length_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->LENGTH.reg ^= DSU_LENGTH_LENGTH(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_length_reg_t hri_dsu_read_LENGTH_LENGTH_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->LENGTH.reg;
+ tmp = (tmp & DSU_LENGTH_LENGTH_Msk) >> DSU_LENGTH_LENGTH_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_set_LENGTH_reg(const void *const hw, hri_dsu_length_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->LENGTH.reg |= mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_length_reg_t hri_dsu_get_LENGTH_reg(const void *const hw, hri_dsu_length_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->LENGTH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dsu_write_LENGTH_reg(const void *const hw, hri_dsu_length_reg_t data)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->LENGTH.reg = data;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_clear_LENGTH_reg(const void *const hw, hri_dsu_length_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->LENGTH.reg &= ~mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_toggle_LENGTH_reg(const void *const hw, hri_dsu_length_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->LENGTH.reg ^= mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_length_reg_t hri_dsu_read_LENGTH_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->LENGTH.reg;
+}
+
+static inline void hri_dsu_set_DATA_DATA_bf(const void *const hw, hri_dsu_data_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DATA.reg |= DSU_DATA_DATA(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_data_reg_t hri_dsu_get_DATA_DATA_bf(const void *const hw, hri_dsu_data_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->DATA.reg;
+ tmp = (tmp & DSU_DATA_DATA(mask)) >> DSU_DATA_DATA_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_write_DATA_DATA_bf(const void *const hw, hri_dsu_data_reg_t data)
+{
+ uint32_t tmp;
+ DSU_CRITICAL_SECTION_ENTER();
+ tmp = ((Dsu *)hw)->DATA.reg;
+ tmp &= ~DSU_DATA_DATA_Msk;
+ tmp |= DSU_DATA_DATA(data);
+ ((Dsu *)hw)->DATA.reg = tmp;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_clear_DATA_DATA_bf(const void *const hw, hri_dsu_data_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DATA.reg &= ~DSU_DATA_DATA(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_toggle_DATA_DATA_bf(const void *const hw, hri_dsu_data_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DATA.reg ^= DSU_DATA_DATA(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_data_reg_t hri_dsu_read_DATA_DATA_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->DATA.reg;
+ tmp = (tmp & DSU_DATA_DATA_Msk) >> DSU_DATA_DATA_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_set_DATA_reg(const void *const hw, hri_dsu_data_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DATA.reg |= mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_data_reg_t hri_dsu_get_DATA_reg(const void *const hw, hri_dsu_data_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->DATA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dsu_write_DATA_reg(const void *const hw, hri_dsu_data_reg_t data)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DATA.reg = data;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_clear_DATA_reg(const void *const hw, hri_dsu_data_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DATA.reg &= ~mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_toggle_DATA_reg(const void *const hw, hri_dsu_data_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DATA.reg ^= mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_data_reg_t hri_dsu_read_DATA_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->DATA.reg;
+}
+
+static inline void hri_dsu_set_DCC_DATA_bf(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DCC[index].reg |= DSU_DCC_DATA(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_dcc_reg_t hri_dsu_get_DCC_DATA_bf(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->DCC[index].reg;
+ tmp = (tmp & DSU_DCC_DATA(mask)) >> DSU_DCC_DATA_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_write_DCC_DATA_bf(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t data)
+{
+ uint32_t tmp;
+ DSU_CRITICAL_SECTION_ENTER();
+ tmp = ((Dsu *)hw)->DCC[index].reg;
+ tmp &= ~DSU_DCC_DATA_Msk;
+ tmp |= DSU_DCC_DATA(data);
+ ((Dsu *)hw)->DCC[index].reg = tmp;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_clear_DCC_DATA_bf(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DCC[index].reg &= ~DSU_DCC_DATA(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_toggle_DCC_DATA_bf(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DCC[index].reg ^= DSU_DCC_DATA(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_dcc_reg_t hri_dsu_read_DCC_DATA_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->DCC[index].reg;
+ tmp = (tmp & DSU_DCC_DATA_Msk) >> DSU_DCC_DATA_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_set_DCC_reg(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DCC[index].reg |= mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_dcc_reg_t hri_dsu_get_DCC_reg(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->DCC[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dsu_write_DCC_reg(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t data)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DCC[index].reg = data;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_clear_DCC_reg(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DCC[index].reg &= ~mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_toggle_DCC_reg(const void *const hw, uint8_t index, hri_dsu_dcc_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DCC[index].reg ^= mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_dcc_reg_t hri_dsu_read_DCC_reg(const void *const hw, uint8_t index)
+{
+ return ((Dsu *)hw)->DCC[index].reg;
+}
+
+static inline void hri_dsu_set_CFG_ETBRAMEN_bit(const void *const hw)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->CFG.reg |= DSU_CFG_ETBRAMEN;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dsu_get_CFG_ETBRAMEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->CFG.reg;
+ tmp = (tmp & DSU_CFG_ETBRAMEN) >> DSU_CFG_ETBRAMEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_dsu_write_CFG_ETBRAMEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ DSU_CRITICAL_SECTION_ENTER();
+ tmp = ((Dsu *)hw)->CFG.reg;
+ tmp &= ~DSU_CFG_ETBRAMEN;
+ tmp |= value << DSU_CFG_ETBRAMEN_Pos;
+ ((Dsu *)hw)->CFG.reg = tmp;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_clear_CFG_ETBRAMEN_bit(const void *const hw)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->CFG.reg &= ~DSU_CFG_ETBRAMEN;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_toggle_CFG_ETBRAMEN_bit(const void *const hw)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->CFG.reg ^= DSU_CFG_ETBRAMEN;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_set_CFG_LQOS_bf(const void *const hw, hri_dsu_cfg_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->CFG.reg |= DSU_CFG_LQOS(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_cfg_reg_t hri_dsu_get_CFG_LQOS_bf(const void *const hw, hri_dsu_cfg_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->CFG.reg;
+ tmp = (tmp & DSU_CFG_LQOS(mask)) >> DSU_CFG_LQOS_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_write_CFG_LQOS_bf(const void *const hw, hri_dsu_cfg_reg_t data)
+{
+ uint32_t tmp;
+ DSU_CRITICAL_SECTION_ENTER();
+ tmp = ((Dsu *)hw)->CFG.reg;
+ tmp &= ~DSU_CFG_LQOS_Msk;
+ tmp |= DSU_CFG_LQOS(data);
+ ((Dsu *)hw)->CFG.reg = tmp;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_clear_CFG_LQOS_bf(const void *const hw, hri_dsu_cfg_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->CFG.reg &= ~DSU_CFG_LQOS(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_toggle_CFG_LQOS_bf(const void *const hw, hri_dsu_cfg_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->CFG.reg ^= DSU_CFG_LQOS(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_cfg_reg_t hri_dsu_read_CFG_LQOS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->CFG.reg;
+ tmp = (tmp & DSU_CFG_LQOS_Msk) >> DSU_CFG_LQOS_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_set_CFG_DCCDMALEVEL_bf(const void *const hw, hri_dsu_cfg_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->CFG.reg |= DSU_CFG_DCCDMALEVEL(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_cfg_reg_t hri_dsu_get_CFG_DCCDMALEVEL_bf(const void *const hw, hri_dsu_cfg_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->CFG.reg;
+ tmp = (tmp & DSU_CFG_DCCDMALEVEL(mask)) >> DSU_CFG_DCCDMALEVEL_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_write_CFG_DCCDMALEVEL_bf(const void *const hw, hri_dsu_cfg_reg_t data)
+{
+ uint32_t tmp;
+ DSU_CRITICAL_SECTION_ENTER();
+ tmp = ((Dsu *)hw)->CFG.reg;
+ tmp &= ~DSU_CFG_DCCDMALEVEL_Msk;
+ tmp |= DSU_CFG_DCCDMALEVEL(data);
+ ((Dsu *)hw)->CFG.reg = tmp;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_clear_CFG_DCCDMALEVEL_bf(const void *const hw, hri_dsu_cfg_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->CFG.reg &= ~DSU_CFG_DCCDMALEVEL(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_toggle_CFG_DCCDMALEVEL_bf(const void *const hw, hri_dsu_cfg_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->CFG.reg ^= DSU_CFG_DCCDMALEVEL(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_cfg_reg_t hri_dsu_read_CFG_DCCDMALEVEL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->CFG.reg;
+ tmp = (tmp & DSU_CFG_DCCDMALEVEL_Msk) >> DSU_CFG_DCCDMALEVEL_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_set_CFG_reg(const void *const hw, hri_dsu_cfg_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->CFG.reg |= mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_cfg_reg_t hri_dsu_get_CFG_reg(const void *const hw, hri_dsu_cfg_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->CFG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dsu_write_CFG_reg(const void *const hw, hri_dsu_cfg_reg_t data)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->CFG.reg = data;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_clear_CFG_reg(const void *const hw, hri_dsu_cfg_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->CFG.reg &= ~mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_toggle_CFG_reg(const void *const hw, hri_dsu_cfg_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->CFG.reg ^= mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_cfg_reg_t hri_dsu_read_CFG_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->CFG.reg;
+}
+
+static inline void hri_dsu_set_DCFG_DCFG_bf(const void *const hw, uint8_t index, hri_dsu_dcfg_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DCFG[index].reg |= DSU_DCFG_DCFG(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_dcfg_reg_t hri_dsu_get_DCFG_DCFG_bf(const void *const hw, uint8_t index, hri_dsu_dcfg_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->DCFG[index].reg;
+ tmp = (tmp & DSU_DCFG_DCFG(mask)) >> DSU_DCFG_DCFG_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_write_DCFG_DCFG_bf(const void *const hw, uint8_t index, hri_dsu_dcfg_reg_t data)
+{
+ uint32_t tmp;
+ DSU_CRITICAL_SECTION_ENTER();
+ tmp = ((Dsu *)hw)->DCFG[index].reg;
+ tmp &= ~DSU_DCFG_DCFG_Msk;
+ tmp |= DSU_DCFG_DCFG(data);
+ ((Dsu *)hw)->DCFG[index].reg = tmp;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_clear_DCFG_DCFG_bf(const void *const hw, uint8_t index, hri_dsu_dcfg_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DCFG[index].reg &= ~DSU_DCFG_DCFG(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_toggle_DCFG_DCFG_bf(const void *const hw, uint8_t index, hri_dsu_dcfg_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DCFG[index].reg ^= DSU_DCFG_DCFG(mask);
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_dcfg_reg_t hri_dsu_read_DCFG_DCFG_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->DCFG[index].reg;
+ tmp = (tmp & DSU_DCFG_DCFG_Msk) >> DSU_DCFG_DCFG_Pos;
+ return tmp;
+}
+
+static inline void hri_dsu_set_DCFG_reg(const void *const hw, uint8_t index, hri_dsu_dcfg_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DCFG[index].reg |= mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_dcfg_reg_t hri_dsu_get_DCFG_reg(const void *const hw, uint8_t index, hri_dsu_dcfg_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Dsu *)hw)->DCFG[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dsu_write_DCFG_reg(const void *const hw, uint8_t index, hri_dsu_dcfg_reg_t data)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DCFG[index].reg = data;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_clear_DCFG_reg(const void *const hw, uint8_t index, hri_dsu_dcfg_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DCFG[index].reg &= ~mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_dsu_toggle_DCFG_reg(const void *const hw, uint8_t index, hri_dsu_dcfg_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->DCFG[index].reg ^= mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_dcfg_reg_t hri_dsu_read_DCFG_reg(const void *const hw, uint8_t index)
+{
+ return ((Dsu *)hw)->DCFG[index].reg;
+}
+
+static inline bool hri_dsu_get_STATUSA_DONE_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->STATUSA.reg & DSU_STATUSA_DONE) >> DSU_STATUSA_DONE_Pos;
+}
+
+static inline void hri_dsu_clear_STATUSA_DONE_bit(const void *const hw)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->STATUSA.reg = DSU_STATUSA_DONE;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dsu_get_STATUSA_CRSTEXT_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->STATUSA.reg & DSU_STATUSA_CRSTEXT) >> DSU_STATUSA_CRSTEXT_Pos;
+}
+
+static inline void hri_dsu_clear_STATUSA_CRSTEXT_bit(const void *const hw)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->STATUSA.reg = DSU_STATUSA_CRSTEXT;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dsu_get_STATUSA_BERR_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->STATUSA.reg & DSU_STATUSA_BERR) >> DSU_STATUSA_BERR_Pos;
+}
+
+static inline void hri_dsu_clear_STATUSA_BERR_bit(const void *const hw)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->STATUSA.reg = DSU_STATUSA_BERR;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dsu_get_STATUSA_FAIL_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->STATUSA.reg & DSU_STATUSA_FAIL) >> DSU_STATUSA_FAIL_Pos;
+}
+
+static inline void hri_dsu_clear_STATUSA_FAIL_bit(const void *const hw)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->STATUSA.reg = DSU_STATUSA_FAIL;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_dsu_get_STATUSA_PERR_bit(const void *const hw)
+{
+ return (((Dsu *)hw)->STATUSA.reg & DSU_STATUSA_PERR) >> DSU_STATUSA_PERR_Pos;
+}
+
+static inline void hri_dsu_clear_STATUSA_PERR_bit(const void *const hw)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->STATUSA.reg = DSU_STATUSA_PERR;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_statusa_reg_t hri_dsu_get_STATUSA_reg(const void *const hw, hri_dsu_statusa_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Dsu *)hw)->STATUSA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_dsu_clear_STATUSA_reg(const void *const hw, hri_dsu_statusa_reg_t mask)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->STATUSA.reg = mask;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_dsu_statusa_reg_t hri_dsu_read_STATUSA_reg(const void *const hw)
+{
+ return ((Dsu *)hw)->STATUSA.reg;
+}
+
+static inline void hri_dsu_write_CTRL_reg(const void *const hw, hri_dsu_ctrl_reg_t data)
+{
+ DSU_CRITICAL_SECTION_ENTER();
+ ((Dsu *)hw)->CTRL.reg = data;
+ DSU_CRITICAL_SECTION_LEAVE();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_DSU_E54_H_INCLUDED */
+#endif /* _SAME54_DSU_COMPONENT_ */
diff --git a/hri/hri_e54.h b/hri/hri_e54.h
new file mode 100644
index 0000000..a562a2d
--- /dev/null
+++ b/hri/hri_e54.h
@@ -0,0 +1,80 @@
+/**
+ * \file
+ *
+ * \brief SAM E54 HRI top-level header file
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ */
+
+#ifndef _HRI_E54_H_INCLUDED_
+#define _HRI_E54_H_INCLUDED_
+
+#include <sam.h>
+#include <hri_ac_e54.h>
+#include <hri_adc_e54.h>
+#include <hri_aes_e54.h>
+#include <hri_can_e54.h>
+#include <hri_ccl_e54.h>
+#include <hri_cmcc_e54.h>
+#include <hri_dac_e54.h>
+#include <hri_dmac_e54.h>
+#include <hri_dsu_e54.h>
+#include <hri_eic_e54.h>
+#include <hri_evsys_e54.h>
+#include <hri_freqm_e54.h>
+#include <hri_gclk_e54.h>
+#include <hri_gmac_e54.h>
+#include <hri_hmatrixb_e54.h>
+#include <hri_i2s_e54.h>
+#include <hri_icm_e54.h>
+#include <hri_mclk_e54.h>
+#include <hri_mpu_e54.h>
+#include <hri_nvic_e54.h>
+#include <hri_nvmctrl_e54.h>
+#include <hri_osc32kctrl_e54.h>
+#include <hri_oscctrl_e54.h>
+#include <hri_pac_e54.h>
+#include <hri_pcc_e54.h>
+#include <hri_pdec_e54.h>
+#include <hri_pm_e54.h>
+#include <hri_port_e54.h>
+#include <hri_qspi_e54.h>
+#include <hri_ramecc_e54.h>
+#include <hri_rstc_e54.h>
+#include <hri_rtc_e54.h>
+#include <hri_sdhc_e54.h>
+#include <hri_sercom_e54.h>
+#include <hri_supc_e54.h>
+#include <hri_systemcontrol_e54.h>
+#include <hri_systick_e54.h>
+#include <hri_tc_e54.h>
+#include <hri_tcc_e54.h>
+#include <hri_trng_e54.h>
+#include <hri_usb_e54.h>
+#include <hri_wdt_e54.h>
+
+#endif /* _HRI_E54_H_INCLUDED_ */
diff --git a/hri/hri_eic_e54.h b/hri/hri_eic_e54.h
new file mode 100644
index 0000000..f86e452
--- /dev/null
+++ b/hri/hri_eic_e54.h
@@ -0,0 +1,1838 @@
+/**
+ * \file
+ *
+ * \brief SAM EIC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_EIC_COMPONENT_
+#ifndef _HRI_EIC_E54_H_INCLUDED_
+#define _HRI_EIC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_EIC_CRITICAL_SECTIONS)
+#define EIC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define EIC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define EIC_CRITICAL_SECTION_ENTER()
+#define EIC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_eic_nmiflag_reg_t;
+typedef uint32_t hri_eic_asynch_reg_t;
+typedef uint32_t hri_eic_config_reg_t;
+typedef uint32_t hri_eic_debouncen_reg_t;
+typedef uint32_t hri_eic_dprescaler_reg_t;
+typedef uint32_t hri_eic_evctrl_reg_t;
+typedef uint32_t hri_eic_intenset_reg_t;
+typedef uint32_t hri_eic_intflag_reg_t;
+typedef uint32_t hri_eic_pinstate_reg_t;
+typedef uint32_t hri_eic_syncbusy_reg_t;
+typedef uint8_t hri_eic_ctrla_reg_t;
+typedef uint8_t hri_eic_nmictrl_reg_t;
+
+static inline void hri_eic_wait_for_sync(const void *const hw, hri_eic_syncbusy_reg_t reg)
+{
+ while (((Eic *)hw)->SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_eic_is_syncing(const void *const hw, hri_eic_syncbusy_reg_t reg)
+{
+ return ((Eic *)hw)->SYNCBUSY.reg & reg;
+}
+
+static inline bool hri_eic_get_NMIFLAG_NMI_bit(const void *const hw)
+{
+ return (((Eic *)hw)->NMIFLAG.reg & EIC_NMIFLAG_NMI) >> EIC_NMIFLAG_NMI_Pos;
+}
+
+static inline void hri_eic_clear_NMIFLAG_NMI_bit(const void *const hw)
+{
+ ((Eic *)hw)->NMIFLAG.reg = EIC_NMIFLAG_NMI;
+}
+
+static inline hri_eic_nmiflag_reg_t hri_eic_get_NMIFLAG_reg(const void *const hw, hri_eic_nmiflag_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Eic *)hw)->NMIFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_eic_nmiflag_reg_t hri_eic_read_NMIFLAG_reg(const void *const hw)
+{
+ return ((Eic *)hw)->NMIFLAG.reg;
+}
+
+static inline void hri_eic_clear_NMIFLAG_reg(const void *const hw, hri_eic_nmiflag_reg_t mask)
+{
+ ((Eic *)hw)->NMIFLAG.reg = mask;
+}
+
+static inline hri_eic_intflag_reg_t hri_eic_get_INTFLAG_reg(const void *const hw, hri_eic_intflag_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_eic_intflag_reg_t hri_eic_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Eic *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_eic_clear_INTFLAG_reg(const void *const hw, hri_eic_intflag_reg_t mask)
+{
+ ((Eic *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_eic_set_INTEN_EXTINT_bf(const void *const hw, hri_eic_intenset_reg_t mask)
+{
+ ((Eic *)hw)->INTENSET.reg = EIC_INTENSET_EXTINT(mask);
+}
+
+static inline hri_eic_intenset_reg_t hri_eic_get_INTEN_EXTINT_bf(const void *const hw, hri_eic_intenset_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->INTENSET.reg;
+ tmp = (tmp & EIC_INTENSET_EXTINT(mask)) >> EIC_INTENSET_EXTINT_Pos;
+ return tmp;
+}
+
+static inline hri_eic_intenset_reg_t hri_eic_read_INTEN_EXTINT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->INTENSET.reg;
+ tmp = (tmp & EIC_INTENSET_EXTINT_Msk) >> EIC_INTENSET_EXTINT_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_write_INTEN_EXTINT_bf(const void *const hw, hri_eic_intenset_reg_t data)
+{
+ ((Eic *)hw)->INTENSET.reg = EIC_INTENSET_EXTINT(data);
+ ((Eic *)hw)->INTENCLR.reg = ~EIC_INTENSET_EXTINT(data);
+}
+
+static inline void hri_eic_clear_INTEN_EXTINT_bf(const void *const hw, hri_eic_intenset_reg_t mask)
+{
+ ((Eic *)hw)->INTENCLR.reg = EIC_INTENSET_EXTINT(mask);
+}
+
+static inline void hri_eic_set_INTEN_reg(const void *const hw, hri_eic_intenset_reg_t mask)
+{
+ ((Eic *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_eic_intenset_reg_t hri_eic_get_INTEN_reg(const void *const hw, hri_eic_intenset_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_eic_intenset_reg_t hri_eic_read_INTEN_reg(const void *const hw)
+{
+ return ((Eic *)hw)->INTENSET.reg;
+}
+
+static inline void hri_eic_write_INTEN_reg(const void *const hw, hri_eic_intenset_reg_t data)
+{
+ ((Eic *)hw)->INTENSET.reg = data;
+ ((Eic *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_eic_clear_INTEN_reg(const void *const hw, hri_eic_intenset_reg_t mask)
+{
+ ((Eic *)hw)->INTENCLR.reg = mask;
+}
+
+static inline bool hri_eic_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Eic *)hw)->SYNCBUSY.reg & EIC_SYNCBUSY_SWRST) >> EIC_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_eic_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Eic *)hw)->SYNCBUSY.reg & EIC_SYNCBUSY_ENABLE) >> EIC_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline hri_eic_syncbusy_reg_t hri_eic_get_SYNCBUSY_reg(const void *const hw, hri_eic_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_eic_syncbusy_reg_t hri_eic_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Eic *)hw)->SYNCBUSY.reg;
+}
+
+static inline hri_eic_pinstate_reg_t hri_eic_get_PINSTATE_PINSTATE_bf(const void *const hw, hri_eic_pinstate_reg_t mask)
+{
+ return (((Eic *)hw)->PINSTATE.reg & EIC_PINSTATE_PINSTATE(mask)) >> EIC_PINSTATE_PINSTATE_Pos;
+}
+
+static inline hri_eic_pinstate_reg_t hri_eic_read_PINSTATE_PINSTATE_bf(const void *const hw)
+{
+ return (((Eic *)hw)->PINSTATE.reg & EIC_PINSTATE_PINSTATE_Msk) >> EIC_PINSTATE_PINSTATE_Pos;
+}
+
+static inline hri_eic_pinstate_reg_t hri_eic_get_PINSTATE_reg(const void *const hw, hri_eic_pinstate_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->PINSTATE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_eic_pinstate_reg_t hri_eic_read_PINSTATE_reg(const void *const hw)
+{
+ return ((Eic *)hw)->PINSTATE.reg;
+}
+
+static inline void hri_eic_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CTRLA.reg |= EIC_CTRLA_SWRST;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_SWRST);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_SWRST);
+ tmp = ((Eic *)hw)->CTRLA.reg;
+ tmp = (tmp & EIC_CTRLA_SWRST) >> EIC_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CTRLA.reg |= EIC_CTRLA_ENABLE;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_SWRST | EIC_SYNCBUSY_ENABLE);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_SWRST | EIC_SYNCBUSY_ENABLE);
+ tmp = ((Eic *)hw)->CTRLA.reg;
+ tmp = (tmp & EIC_CTRLA_ENABLE) >> EIC_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CTRLA.reg;
+ tmp &= ~EIC_CTRLA_ENABLE;
+ tmp |= value << EIC_CTRLA_ENABLE_Pos;
+ ((Eic *)hw)->CTRLA.reg = tmp;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_SWRST | EIC_SYNCBUSY_ENABLE);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CTRLA.reg &= ~EIC_CTRLA_ENABLE;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_SWRST | EIC_SYNCBUSY_ENABLE);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CTRLA.reg ^= EIC_CTRLA_ENABLE;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_SWRST | EIC_SYNCBUSY_ENABLE);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_set_CTRLA_CKSEL_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CTRLA.reg |= EIC_CTRLA_CKSEL;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_CTRLA_CKSEL_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Eic *)hw)->CTRLA.reg;
+ tmp = (tmp & EIC_CTRLA_CKSEL) >> EIC_CTRLA_CKSEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_write_CTRLA_CKSEL_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CTRLA.reg;
+ tmp &= ~EIC_CTRLA_CKSEL;
+ tmp |= value << EIC_CTRLA_CKSEL_Pos;
+ ((Eic *)hw)->CTRLA.reg = tmp;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CTRLA_CKSEL_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CTRLA.reg &= ~EIC_CTRLA_CKSEL;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CTRLA_CKSEL_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CTRLA.reg ^= EIC_CTRLA_CKSEL;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_set_CTRLA_reg(const void *const hw, hri_eic_ctrla_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CTRLA.reg |= mask;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_ctrla_reg_t hri_eic_get_CTRLA_reg(const void *const hw, hri_eic_ctrla_reg_t mask)
+{
+ uint8_t tmp;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK);
+ tmp = ((Eic *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_eic_write_CTRLA_reg(const void *const hw, hri_eic_ctrla_reg_t data)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CTRLA.reg = data;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CTRLA_reg(const void *const hw, hri_eic_ctrla_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CTRLA.reg &= ~mask;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CTRLA_reg(const void *const hw, hri_eic_ctrla_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CTRLA.reg ^= mask;
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_ctrla_reg_t hri_eic_read_CTRLA_reg(const void *const hw)
+{
+ hri_eic_wait_for_sync(hw, EIC_SYNCBUSY_MASK);
+ return ((Eic *)hw)->CTRLA.reg;
+}
+
+static inline void hri_eic_set_NMICTRL_NMIFILTEN_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->NMICTRL.reg |= EIC_NMICTRL_NMIFILTEN;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_NMICTRL_NMIFILTEN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Eic *)hw)->NMICTRL.reg;
+ tmp = (tmp & EIC_NMICTRL_NMIFILTEN) >> EIC_NMICTRL_NMIFILTEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_write_NMICTRL_NMIFILTEN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->NMICTRL.reg;
+ tmp &= ~EIC_NMICTRL_NMIFILTEN;
+ tmp |= value << EIC_NMICTRL_NMIFILTEN_Pos;
+ ((Eic *)hw)->NMICTRL.reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_NMICTRL_NMIFILTEN_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->NMICTRL.reg &= ~EIC_NMICTRL_NMIFILTEN;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_NMICTRL_NMIFILTEN_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->NMICTRL.reg ^= EIC_NMICTRL_NMIFILTEN;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_set_NMICTRL_NMIASYNCH_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->NMICTRL.reg |= EIC_NMICTRL_NMIASYNCH;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_NMICTRL_NMIASYNCH_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Eic *)hw)->NMICTRL.reg;
+ tmp = (tmp & EIC_NMICTRL_NMIASYNCH) >> EIC_NMICTRL_NMIASYNCH_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_write_NMICTRL_NMIASYNCH_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->NMICTRL.reg;
+ tmp &= ~EIC_NMICTRL_NMIASYNCH;
+ tmp |= value << EIC_NMICTRL_NMIASYNCH_Pos;
+ ((Eic *)hw)->NMICTRL.reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_NMICTRL_NMIASYNCH_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->NMICTRL.reg &= ~EIC_NMICTRL_NMIASYNCH;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_NMICTRL_NMIASYNCH_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->NMICTRL.reg ^= EIC_NMICTRL_NMIASYNCH;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_set_NMICTRL_NMISENSE_bf(const void *const hw, hri_eic_nmictrl_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->NMICTRL.reg |= EIC_NMICTRL_NMISENSE(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_nmictrl_reg_t hri_eic_get_NMICTRL_NMISENSE_bf(const void *const hw, hri_eic_nmictrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Eic *)hw)->NMICTRL.reg;
+ tmp = (tmp & EIC_NMICTRL_NMISENSE(mask)) >> EIC_NMICTRL_NMISENSE_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_write_NMICTRL_NMISENSE_bf(const void *const hw, hri_eic_nmictrl_reg_t data)
+{
+ uint8_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->NMICTRL.reg;
+ tmp &= ~EIC_NMICTRL_NMISENSE_Msk;
+ tmp |= EIC_NMICTRL_NMISENSE(data);
+ ((Eic *)hw)->NMICTRL.reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_NMICTRL_NMISENSE_bf(const void *const hw, hri_eic_nmictrl_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->NMICTRL.reg &= ~EIC_NMICTRL_NMISENSE(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_NMICTRL_NMISENSE_bf(const void *const hw, hri_eic_nmictrl_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->NMICTRL.reg ^= EIC_NMICTRL_NMISENSE(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_nmictrl_reg_t hri_eic_read_NMICTRL_NMISENSE_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Eic *)hw)->NMICTRL.reg;
+ tmp = (tmp & EIC_NMICTRL_NMISENSE_Msk) >> EIC_NMICTRL_NMISENSE_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_set_NMICTRL_reg(const void *const hw, hri_eic_nmictrl_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->NMICTRL.reg |= mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_nmictrl_reg_t hri_eic_get_NMICTRL_reg(const void *const hw, hri_eic_nmictrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Eic *)hw)->NMICTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_eic_write_NMICTRL_reg(const void *const hw, hri_eic_nmictrl_reg_t data)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->NMICTRL.reg = data;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_NMICTRL_reg(const void *const hw, hri_eic_nmictrl_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->NMICTRL.reg &= ~mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_NMICTRL_reg(const void *const hw, hri_eic_nmictrl_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->NMICTRL.reg ^= mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_nmictrl_reg_t hri_eic_read_NMICTRL_reg(const void *const hw)
+{
+ return ((Eic *)hw)->NMICTRL.reg;
+}
+
+static inline void hri_eic_set_EVCTRL_EXTINTEO_bf(const void *const hw, hri_eic_evctrl_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->EVCTRL.reg |= EIC_EVCTRL_EXTINTEO(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_evctrl_reg_t hri_eic_get_EVCTRL_EXTINTEO_bf(const void *const hw, hri_eic_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->EVCTRL.reg;
+ tmp = (tmp & EIC_EVCTRL_EXTINTEO(mask)) >> EIC_EVCTRL_EXTINTEO_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_write_EVCTRL_EXTINTEO_bf(const void *const hw, hri_eic_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->EVCTRL.reg;
+ tmp &= ~EIC_EVCTRL_EXTINTEO_Msk;
+ tmp |= EIC_EVCTRL_EXTINTEO(data);
+ ((Eic *)hw)->EVCTRL.reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_EVCTRL_EXTINTEO_bf(const void *const hw, hri_eic_evctrl_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->EVCTRL.reg &= ~EIC_EVCTRL_EXTINTEO(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_EVCTRL_EXTINTEO_bf(const void *const hw, hri_eic_evctrl_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->EVCTRL.reg ^= EIC_EVCTRL_EXTINTEO(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_evctrl_reg_t hri_eic_read_EVCTRL_EXTINTEO_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->EVCTRL.reg;
+ tmp = (tmp & EIC_EVCTRL_EXTINTEO_Msk) >> EIC_EVCTRL_EXTINTEO_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_set_EVCTRL_reg(const void *const hw, hri_eic_evctrl_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->EVCTRL.reg |= mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_evctrl_reg_t hri_eic_get_EVCTRL_reg(const void *const hw, hri_eic_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_eic_write_EVCTRL_reg(const void *const hw, hri_eic_evctrl_reg_t data)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->EVCTRL.reg = data;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_EVCTRL_reg(const void *const hw, hri_eic_evctrl_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->EVCTRL.reg &= ~mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_EVCTRL_reg(const void *const hw, hri_eic_evctrl_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->EVCTRL.reg ^= mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_evctrl_reg_t hri_eic_read_EVCTRL_reg(const void *const hw)
+{
+ return ((Eic *)hw)->EVCTRL.reg;
+}
+
+static inline void hri_eic_set_ASYNCH_ASYNCH_bf(const void *const hw, hri_eic_asynch_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->ASYNCH.reg |= EIC_ASYNCH_ASYNCH(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_asynch_reg_t hri_eic_get_ASYNCH_ASYNCH_bf(const void *const hw, hri_eic_asynch_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->ASYNCH.reg;
+ tmp = (tmp & EIC_ASYNCH_ASYNCH(mask)) >> EIC_ASYNCH_ASYNCH_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_write_ASYNCH_ASYNCH_bf(const void *const hw, hri_eic_asynch_reg_t data)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->ASYNCH.reg;
+ tmp &= ~EIC_ASYNCH_ASYNCH_Msk;
+ tmp |= EIC_ASYNCH_ASYNCH(data);
+ ((Eic *)hw)->ASYNCH.reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_ASYNCH_ASYNCH_bf(const void *const hw, hri_eic_asynch_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->ASYNCH.reg &= ~EIC_ASYNCH_ASYNCH(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_ASYNCH_ASYNCH_bf(const void *const hw, hri_eic_asynch_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->ASYNCH.reg ^= EIC_ASYNCH_ASYNCH(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_asynch_reg_t hri_eic_read_ASYNCH_ASYNCH_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->ASYNCH.reg;
+ tmp = (tmp & EIC_ASYNCH_ASYNCH_Msk) >> EIC_ASYNCH_ASYNCH_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_set_ASYNCH_reg(const void *const hw, hri_eic_asynch_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->ASYNCH.reg |= mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_asynch_reg_t hri_eic_get_ASYNCH_reg(const void *const hw, hri_eic_asynch_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->ASYNCH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_eic_write_ASYNCH_reg(const void *const hw, hri_eic_asynch_reg_t data)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->ASYNCH.reg = data;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_ASYNCH_reg(const void *const hw, hri_eic_asynch_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->ASYNCH.reg &= ~mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_ASYNCH_reg(const void *const hw, hri_eic_asynch_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->ASYNCH.reg ^= mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_asynch_reg_t hri_eic_read_ASYNCH_reg(const void *const hw)
+{
+ return ((Eic *)hw)->ASYNCH.reg;
+}
+
+static inline void hri_eic_set_CONFIG_FILTEN0_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN0;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_CONFIG_FILTEN0_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_FILTEN0) >> EIC_CONFIG_FILTEN0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_write_CONFIG_FILTEN0_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_FILTEN0;
+ tmp |= value << EIC_CONFIG_FILTEN0_Pos;
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_FILTEN0_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN0;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_FILTEN0_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN0;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_set_CONFIG_FILTEN1_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN1;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_CONFIG_FILTEN1_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_FILTEN1) >> EIC_CONFIG_FILTEN1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_write_CONFIG_FILTEN1_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_FILTEN1;
+ tmp |= value << EIC_CONFIG_FILTEN1_Pos;
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_FILTEN1_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN1;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_FILTEN1_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN1;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_set_CONFIG_FILTEN2_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN2;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_CONFIG_FILTEN2_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_FILTEN2) >> EIC_CONFIG_FILTEN2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_write_CONFIG_FILTEN2_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_FILTEN2;
+ tmp |= value << EIC_CONFIG_FILTEN2_Pos;
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_FILTEN2_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN2;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_FILTEN2_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN2;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_set_CONFIG_FILTEN3_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN3;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_CONFIG_FILTEN3_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_FILTEN3) >> EIC_CONFIG_FILTEN3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_write_CONFIG_FILTEN3_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_FILTEN3;
+ tmp |= value << EIC_CONFIG_FILTEN3_Pos;
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_FILTEN3_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN3;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_FILTEN3_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN3;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_set_CONFIG_FILTEN4_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN4;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_CONFIG_FILTEN4_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_FILTEN4) >> EIC_CONFIG_FILTEN4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_write_CONFIG_FILTEN4_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_FILTEN4;
+ tmp |= value << EIC_CONFIG_FILTEN4_Pos;
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_FILTEN4_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN4;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_FILTEN4_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN4;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_set_CONFIG_FILTEN5_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN5;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_CONFIG_FILTEN5_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_FILTEN5) >> EIC_CONFIG_FILTEN5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_write_CONFIG_FILTEN5_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_FILTEN5;
+ tmp |= value << EIC_CONFIG_FILTEN5_Pos;
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_FILTEN5_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN5;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_FILTEN5_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN5;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_set_CONFIG_FILTEN6_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN6;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_CONFIG_FILTEN6_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_FILTEN6) >> EIC_CONFIG_FILTEN6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_write_CONFIG_FILTEN6_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_FILTEN6;
+ tmp |= value << EIC_CONFIG_FILTEN6_Pos;
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_FILTEN6_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN6;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_FILTEN6_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN6;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_set_CONFIG_FILTEN7_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_FILTEN7;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_CONFIG_FILTEN7_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_FILTEN7) >> EIC_CONFIG_FILTEN7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_write_CONFIG_FILTEN7_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_FILTEN7;
+ tmp |= value << EIC_CONFIG_FILTEN7_Pos;
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_FILTEN7_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_FILTEN7;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_FILTEN7_bit(const void *const hw, uint8_t index)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_FILTEN7;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_set_CONFIG_SENSE0_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE0(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE0_bf(const void *const hw, uint8_t index,
+ hri_eic_config_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE0(mask)) >> EIC_CONFIG_SENSE0_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_write_CONFIG_SENSE0_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_SENSE0_Msk;
+ tmp |= EIC_CONFIG_SENSE0(data);
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_SENSE0_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE0(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_SENSE0_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE0(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE0_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE0_Msk) >> EIC_CONFIG_SENSE0_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_set_CONFIG_SENSE1_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE1(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE1_bf(const void *const hw, uint8_t index,
+ hri_eic_config_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE1(mask)) >> EIC_CONFIG_SENSE1_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_write_CONFIG_SENSE1_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_SENSE1_Msk;
+ tmp |= EIC_CONFIG_SENSE1(data);
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_SENSE1_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE1(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_SENSE1_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE1(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE1_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE1_Msk) >> EIC_CONFIG_SENSE1_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_set_CONFIG_SENSE2_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE2(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE2_bf(const void *const hw, uint8_t index,
+ hri_eic_config_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE2(mask)) >> EIC_CONFIG_SENSE2_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_write_CONFIG_SENSE2_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_SENSE2_Msk;
+ tmp |= EIC_CONFIG_SENSE2(data);
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_SENSE2_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE2(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_SENSE2_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE2(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE2_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE2_Msk) >> EIC_CONFIG_SENSE2_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_set_CONFIG_SENSE3_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE3(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE3_bf(const void *const hw, uint8_t index,
+ hri_eic_config_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE3(mask)) >> EIC_CONFIG_SENSE3_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_write_CONFIG_SENSE3_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_SENSE3_Msk;
+ tmp |= EIC_CONFIG_SENSE3(data);
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_SENSE3_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE3(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_SENSE3_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE3(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE3_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE3_Msk) >> EIC_CONFIG_SENSE3_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_set_CONFIG_SENSE4_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE4(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE4_bf(const void *const hw, uint8_t index,
+ hri_eic_config_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE4(mask)) >> EIC_CONFIG_SENSE4_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_write_CONFIG_SENSE4_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_SENSE4_Msk;
+ tmp |= EIC_CONFIG_SENSE4(data);
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_SENSE4_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE4(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_SENSE4_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE4(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE4_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE4_Msk) >> EIC_CONFIG_SENSE4_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_set_CONFIG_SENSE5_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE5(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE5_bf(const void *const hw, uint8_t index,
+ hri_eic_config_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE5(mask)) >> EIC_CONFIG_SENSE5_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_write_CONFIG_SENSE5_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_SENSE5_Msk;
+ tmp |= EIC_CONFIG_SENSE5(data);
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_SENSE5_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE5(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_SENSE5_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE5(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE5_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE5_Msk) >> EIC_CONFIG_SENSE5_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_set_CONFIG_SENSE6_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE6(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE6_bf(const void *const hw, uint8_t index,
+ hri_eic_config_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE6(mask)) >> EIC_CONFIG_SENSE6_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_write_CONFIG_SENSE6_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_SENSE6_Msk;
+ tmp |= EIC_CONFIG_SENSE6(data);
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_SENSE6_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE6(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_SENSE6_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE6(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE6_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE6_Msk) >> EIC_CONFIG_SENSE6_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_set_CONFIG_SENSE7_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= EIC_CONFIG_SENSE7(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_get_CONFIG_SENSE7_bf(const void *const hw, uint8_t index,
+ hri_eic_config_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE7(mask)) >> EIC_CONFIG_SENSE7_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_write_CONFIG_SENSE7_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t data)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= ~EIC_CONFIG_SENSE7_Msk;
+ tmp |= EIC_CONFIG_SENSE7(data);
+ ((Eic *)hw)->CONFIG[index].reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_SENSE7_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~EIC_CONFIG_SENSE7(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_SENSE7_bf(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= EIC_CONFIG_SENSE7(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_read_CONFIG_SENSE7_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp = (tmp & EIC_CONFIG_SENSE7_Msk) >> EIC_CONFIG_SENSE7_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_set_CONFIG_reg(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg |= mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_get_CONFIG_reg(const void *const hw, uint8_t index,
+ hri_eic_config_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->CONFIG[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_eic_write_CONFIG_reg(const void *const hw, uint8_t index, hri_eic_config_reg_t data)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg = data;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_CONFIG_reg(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg &= ~mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_CONFIG_reg(const void *const hw, uint8_t index, hri_eic_config_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->CONFIG[index].reg ^= mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_config_reg_t hri_eic_read_CONFIG_reg(const void *const hw, uint8_t index)
+{
+ return ((Eic *)hw)->CONFIG[index].reg;
+}
+
+static inline void hri_eic_set_DEBOUNCEN_DEBOUNCEN_bf(const void *const hw, hri_eic_debouncen_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DEBOUNCEN.reg |= EIC_DEBOUNCEN_DEBOUNCEN(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_debouncen_reg_t hri_eic_get_DEBOUNCEN_DEBOUNCEN_bf(const void *const hw,
+ hri_eic_debouncen_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->DEBOUNCEN.reg;
+ tmp = (tmp & EIC_DEBOUNCEN_DEBOUNCEN(mask)) >> EIC_DEBOUNCEN_DEBOUNCEN_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_write_DEBOUNCEN_DEBOUNCEN_bf(const void *const hw, hri_eic_debouncen_reg_t data)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->DEBOUNCEN.reg;
+ tmp &= ~EIC_DEBOUNCEN_DEBOUNCEN_Msk;
+ tmp |= EIC_DEBOUNCEN_DEBOUNCEN(data);
+ ((Eic *)hw)->DEBOUNCEN.reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_DEBOUNCEN_DEBOUNCEN_bf(const void *const hw, hri_eic_debouncen_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DEBOUNCEN.reg &= ~EIC_DEBOUNCEN_DEBOUNCEN(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_DEBOUNCEN_DEBOUNCEN_bf(const void *const hw, hri_eic_debouncen_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DEBOUNCEN.reg ^= EIC_DEBOUNCEN_DEBOUNCEN(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_debouncen_reg_t hri_eic_read_DEBOUNCEN_DEBOUNCEN_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->DEBOUNCEN.reg;
+ tmp = (tmp & EIC_DEBOUNCEN_DEBOUNCEN_Msk) >> EIC_DEBOUNCEN_DEBOUNCEN_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_set_DEBOUNCEN_reg(const void *const hw, hri_eic_debouncen_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DEBOUNCEN.reg |= mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_debouncen_reg_t hri_eic_get_DEBOUNCEN_reg(const void *const hw, hri_eic_debouncen_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->DEBOUNCEN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_eic_write_DEBOUNCEN_reg(const void *const hw, hri_eic_debouncen_reg_t data)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DEBOUNCEN.reg = data;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_DEBOUNCEN_reg(const void *const hw, hri_eic_debouncen_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DEBOUNCEN.reg &= ~mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_DEBOUNCEN_reg(const void *const hw, hri_eic_debouncen_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DEBOUNCEN.reg ^= mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_debouncen_reg_t hri_eic_read_DEBOUNCEN_reg(const void *const hw)
+{
+ return ((Eic *)hw)->DEBOUNCEN.reg;
+}
+
+static inline void hri_eic_set_DPRESCALER_STATES0_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg |= EIC_DPRESCALER_STATES0;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_DPRESCALER_STATES0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->DPRESCALER.reg;
+ tmp = (tmp & EIC_DPRESCALER_STATES0) >> EIC_DPRESCALER_STATES0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_write_DPRESCALER_STATES0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->DPRESCALER.reg;
+ tmp &= ~EIC_DPRESCALER_STATES0;
+ tmp |= value << EIC_DPRESCALER_STATES0_Pos;
+ ((Eic *)hw)->DPRESCALER.reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_DPRESCALER_STATES0_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg &= ~EIC_DPRESCALER_STATES0;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_DPRESCALER_STATES0_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg ^= EIC_DPRESCALER_STATES0;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_set_DPRESCALER_STATES1_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg |= EIC_DPRESCALER_STATES1;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_DPRESCALER_STATES1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->DPRESCALER.reg;
+ tmp = (tmp & EIC_DPRESCALER_STATES1) >> EIC_DPRESCALER_STATES1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_write_DPRESCALER_STATES1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->DPRESCALER.reg;
+ tmp &= ~EIC_DPRESCALER_STATES1;
+ tmp |= value << EIC_DPRESCALER_STATES1_Pos;
+ ((Eic *)hw)->DPRESCALER.reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_DPRESCALER_STATES1_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg &= ~EIC_DPRESCALER_STATES1;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_DPRESCALER_STATES1_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg ^= EIC_DPRESCALER_STATES1;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_set_DPRESCALER_TICKON_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg |= EIC_DPRESCALER_TICKON;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_eic_get_DPRESCALER_TICKON_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->DPRESCALER.reg;
+ tmp = (tmp & EIC_DPRESCALER_TICKON) >> EIC_DPRESCALER_TICKON_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_eic_write_DPRESCALER_TICKON_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->DPRESCALER.reg;
+ tmp &= ~EIC_DPRESCALER_TICKON;
+ tmp |= value << EIC_DPRESCALER_TICKON_Pos;
+ ((Eic *)hw)->DPRESCALER.reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_DPRESCALER_TICKON_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg &= ~EIC_DPRESCALER_TICKON;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_DPRESCALER_TICKON_bit(const void *const hw)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg ^= EIC_DPRESCALER_TICKON;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_set_DPRESCALER_PRESCALER0_bf(const void *const hw, hri_eic_dprescaler_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg |= EIC_DPRESCALER_PRESCALER0(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_dprescaler_reg_t hri_eic_get_DPRESCALER_PRESCALER0_bf(const void *const hw,
+ hri_eic_dprescaler_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->DPRESCALER.reg;
+ tmp = (tmp & EIC_DPRESCALER_PRESCALER0(mask)) >> EIC_DPRESCALER_PRESCALER0_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_write_DPRESCALER_PRESCALER0_bf(const void *const hw, hri_eic_dprescaler_reg_t data)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->DPRESCALER.reg;
+ tmp &= ~EIC_DPRESCALER_PRESCALER0_Msk;
+ tmp |= EIC_DPRESCALER_PRESCALER0(data);
+ ((Eic *)hw)->DPRESCALER.reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_DPRESCALER_PRESCALER0_bf(const void *const hw, hri_eic_dprescaler_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg &= ~EIC_DPRESCALER_PRESCALER0(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_DPRESCALER_PRESCALER0_bf(const void *const hw, hri_eic_dprescaler_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg ^= EIC_DPRESCALER_PRESCALER0(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_dprescaler_reg_t hri_eic_read_DPRESCALER_PRESCALER0_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->DPRESCALER.reg;
+ tmp = (tmp & EIC_DPRESCALER_PRESCALER0_Msk) >> EIC_DPRESCALER_PRESCALER0_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_set_DPRESCALER_PRESCALER1_bf(const void *const hw, hri_eic_dprescaler_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg |= EIC_DPRESCALER_PRESCALER1(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_dprescaler_reg_t hri_eic_get_DPRESCALER_PRESCALER1_bf(const void *const hw,
+ hri_eic_dprescaler_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->DPRESCALER.reg;
+ tmp = (tmp & EIC_DPRESCALER_PRESCALER1(mask)) >> EIC_DPRESCALER_PRESCALER1_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_write_DPRESCALER_PRESCALER1_bf(const void *const hw, hri_eic_dprescaler_reg_t data)
+{
+ uint32_t tmp;
+ EIC_CRITICAL_SECTION_ENTER();
+ tmp = ((Eic *)hw)->DPRESCALER.reg;
+ tmp &= ~EIC_DPRESCALER_PRESCALER1_Msk;
+ tmp |= EIC_DPRESCALER_PRESCALER1(data);
+ ((Eic *)hw)->DPRESCALER.reg = tmp;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_DPRESCALER_PRESCALER1_bf(const void *const hw, hri_eic_dprescaler_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg &= ~EIC_DPRESCALER_PRESCALER1(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_DPRESCALER_PRESCALER1_bf(const void *const hw, hri_eic_dprescaler_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg ^= EIC_DPRESCALER_PRESCALER1(mask);
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_dprescaler_reg_t hri_eic_read_DPRESCALER_PRESCALER1_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->DPRESCALER.reg;
+ tmp = (tmp & EIC_DPRESCALER_PRESCALER1_Msk) >> EIC_DPRESCALER_PRESCALER1_Pos;
+ return tmp;
+}
+
+static inline void hri_eic_set_DPRESCALER_reg(const void *const hw, hri_eic_dprescaler_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg |= mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_dprescaler_reg_t hri_eic_get_DPRESCALER_reg(const void *const hw, hri_eic_dprescaler_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Eic *)hw)->DPRESCALER.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_eic_write_DPRESCALER_reg(const void *const hw, hri_eic_dprescaler_reg_t data)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg = data;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_clear_DPRESCALER_reg(const void *const hw, hri_eic_dprescaler_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg &= ~mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_eic_toggle_DPRESCALER_reg(const void *const hw, hri_eic_dprescaler_reg_t mask)
+{
+ EIC_CRITICAL_SECTION_ENTER();
+ ((Eic *)hw)->DPRESCALER.reg ^= mask;
+ EIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_eic_dprescaler_reg_t hri_eic_read_DPRESCALER_reg(const void *const hw)
+{
+ return ((Eic *)hw)->DPRESCALER.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_EIC_E54_H_INCLUDED */
+#endif /* _SAME54_EIC_COMPONENT_ */
diff --git a/hri/hri_evsys_e54.h b/hri/hri_evsys_e54.h
new file mode 100644
index 0000000..cd4a98a
--- /dev/null
+++ b/hri/hri_evsys_e54.h
@@ -0,0 +1,1707 @@
+/**
+ * \file
+ *
+ * \brief SAM EVSYS
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_EVSYS_COMPONENT_
+#ifndef _HRI_EVSYS_E54_H_INCLUDED_
+#define _HRI_EVSYS_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_EVSYS_CRITICAL_SECTIONS)
+#define EVSYS_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define EVSYS_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define EVSYS_CRITICAL_SECTION_ENTER()
+#define EVSYS_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_evsys_intpend_reg_t;
+typedef uint32_t hri_evsys_busych_reg_t;
+typedef uint32_t hri_evsys_channel_reg_t;
+typedef uint32_t hri_evsys_intstatus_reg_t;
+typedef uint32_t hri_evsys_readyusr_reg_t;
+typedef uint32_t hri_evsys_swevt_reg_t;
+typedef uint32_t hri_evsys_user_reg_t;
+typedef uint32_t hri_evsyschannel_channel_reg_t;
+typedef uint8_t hri_evsys_chintenset_reg_t;
+typedef uint8_t hri_evsys_chintflag_reg_t;
+typedef uint8_t hri_evsys_chstatus_reg_t;
+typedef uint8_t hri_evsys_ctrla_reg_t;
+typedef uint8_t hri_evsys_prictrl_reg_t;
+typedef uint8_t hri_evsyschannel_chintenset_reg_t;
+typedef uint8_t hri_evsyschannel_chintflag_reg_t;
+typedef uint8_t hri_evsyschannel_chstatus_reg_t;
+
+static inline bool hri_evsys_get_INTSTATUS_CHINT0_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT0) >> EVSYS_INTSTATUS_CHINT0_Pos;
+}
+
+static inline bool hri_evsys_get_INTSTATUS_CHINT1_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT1) >> EVSYS_INTSTATUS_CHINT1_Pos;
+}
+
+static inline bool hri_evsys_get_INTSTATUS_CHINT2_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT2) >> EVSYS_INTSTATUS_CHINT2_Pos;
+}
+
+static inline bool hri_evsys_get_INTSTATUS_CHINT3_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT3) >> EVSYS_INTSTATUS_CHINT3_Pos;
+}
+
+static inline bool hri_evsys_get_INTSTATUS_CHINT4_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT4) >> EVSYS_INTSTATUS_CHINT4_Pos;
+}
+
+static inline bool hri_evsys_get_INTSTATUS_CHINT5_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT5) >> EVSYS_INTSTATUS_CHINT5_Pos;
+}
+
+static inline bool hri_evsys_get_INTSTATUS_CHINT6_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT6) >> EVSYS_INTSTATUS_CHINT6_Pos;
+}
+
+static inline bool hri_evsys_get_INTSTATUS_CHINT7_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT7) >> EVSYS_INTSTATUS_CHINT7_Pos;
+}
+
+static inline bool hri_evsys_get_INTSTATUS_CHINT8_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT8) >> EVSYS_INTSTATUS_CHINT8_Pos;
+}
+
+static inline bool hri_evsys_get_INTSTATUS_CHINT9_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT9) >> EVSYS_INTSTATUS_CHINT9_Pos;
+}
+
+static inline bool hri_evsys_get_INTSTATUS_CHINT10_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT10) >> EVSYS_INTSTATUS_CHINT10_Pos;
+}
+
+static inline bool hri_evsys_get_INTSTATUS_CHINT11_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->INTSTATUS.reg & EVSYS_INTSTATUS_CHINT11) >> EVSYS_INTSTATUS_CHINT11_Pos;
+}
+
+static inline hri_evsys_intstatus_reg_t hri_evsys_get_INTSTATUS_reg(const void *const hw,
+ hri_evsys_intstatus_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Evsys *)hw)->INTSTATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_evsys_intstatus_reg_t hri_evsys_read_INTSTATUS_reg(const void *const hw)
+{
+ return ((Evsys *)hw)->INTSTATUS.reg;
+}
+
+static inline bool hri_evsys_get_BUSYCH_BUSYCH0_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH0) >> EVSYS_BUSYCH_BUSYCH0_Pos;
+}
+
+static inline bool hri_evsys_get_BUSYCH_BUSYCH1_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH1) >> EVSYS_BUSYCH_BUSYCH1_Pos;
+}
+
+static inline bool hri_evsys_get_BUSYCH_BUSYCH2_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH2) >> EVSYS_BUSYCH_BUSYCH2_Pos;
+}
+
+static inline bool hri_evsys_get_BUSYCH_BUSYCH3_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH3) >> EVSYS_BUSYCH_BUSYCH3_Pos;
+}
+
+static inline bool hri_evsys_get_BUSYCH_BUSYCH4_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH4) >> EVSYS_BUSYCH_BUSYCH4_Pos;
+}
+
+static inline bool hri_evsys_get_BUSYCH_BUSYCH5_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH5) >> EVSYS_BUSYCH_BUSYCH5_Pos;
+}
+
+static inline bool hri_evsys_get_BUSYCH_BUSYCH6_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH6) >> EVSYS_BUSYCH_BUSYCH6_Pos;
+}
+
+static inline bool hri_evsys_get_BUSYCH_BUSYCH7_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH7) >> EVSYS_BUSYCH_BUSYCH7_Pos;
+}
+
+static inline bool hri_evsys_get_BUSYCH_BUSYCH8_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH8) >> EVSYS_BUSYCH_BUSYCH8_Pos;
+}
+
+static inline bool hri_evsys_get_BUSYCH_BUSYCH9_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH9) >> EVSYS_BUSYCH_BUSYCH9_Pos;
+}
+
+static inline bool hri_evsys_get_BUSYCH_BUSYCH10_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH10) >> EVSYS_BUSYCH_BUSYCH10_Pos;
+}
+
+static inline bool hri_evsys_get_BUSYCH_BUSYCH11_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->BUSYCH.reg & EVSYS_BUSYCH_BUSYCH11) >> EVSYS_BUSYCH_BUSYCH11_Pos;
+}
+
+static inline hri_evsys_busych_reg_t hri_evsys_get_BUSYCH_reg(const void *const hw, hri_evsys_busych_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Evsys *)hw)->BUSYCH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_evsys_busych_reg_t hri_evsys_read_BUSYCH_reg(const void *const hw)
+{
+ return ((Evsys *)hw)->BUSYCH.reg;
+}
+
+static inline bool hri_evsys_get_READYUSR_READYUSR0_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR0) >> EVSYS_READYUSR_READYUSR0_Pos;
+}
+
+static inline bool hri_evsys_get_READYUSR_READYUSR1_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR1) >> EVSYS_READYUSR_READYUSR1_Pos;
+}
+
+static inline bool hri_evsys_get_READYUSR_READYUSR2_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR2) >> EVSYS_READYUSR_READYUSR2_Pos;
+}
+
+static inline bool hri_evsys_get_READYUSR_READYUSR3_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR3) >> EVSYS_READYUSR_READYUSR3_Pos;
+}
+
+static inline bool hri_evsys_get_READYUSR_READYUSR4_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR4) >> EVSYS_READYUSR_READYUSR4_Pos;
+}
+
+static inline bool hri_evsys_get_READYUSR_READYUSR5_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR5) >> EVSYS_READYUSR_READYUSR5_Pos;
+}
+
+static inline bool hri_evsys_get_READYUSR_READYUSR6_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR6) >> EVSYS_READYUSR_READYUSR6_Pos;
+}
+
+static inline bool hri_evsys_get_READYUSR_READYUSR7_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR7) >> EVSYS_READYUSR_READYUSR7_Pos;
+}
+
+static inline bool hri_evsys_get_READYUSR_READYUSR8_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR8) >> EVSYS_READYUSR_READYUSR8_Pos;
+}
+
+static inline bool hri_evsys_get_READYUSR_READYUSR9_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR9) >> EVSYS_READYUSR_READYUSR9_Pos;
+}
+
+static inline bool hri_evsys_get_READYUSR_READYUSR10_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR10) >> EVSYS_READYUSR_READYUSR10_Pos;
+}
+
+static inline bool hri_evsys_get_READYUSR_READYUSR11_bit(const void *const hw)
+{
+ return (((Evsys *)hw)->READYUSR.reg & EVSYS_READYUSR_READYUSR11) >> EVSYS_READYUSR_READYUSR11_Pos;
+}
+
+static inline hri_evsys_readyusr_reg_t hri_evsys_get_READYUSR_reg(const void *const hw, hri_evsys_readyusr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Evsys *)hw)->READYUSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_evsys_readyusr_reg_t hri_evsys_read_READYUSR_reg(const void *const hw)
+{
+ return ((Evsys *)hw)->READYUSR.reg;
+}
+
+static inline void hri_evsys_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->CTRLA.reg |= EVSYS_CTRLA_SWRST;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_evsys_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Evsys *)hw)->CTRLA.reg;
+ tmp = (tmp & EVSYS_CTRLA_SWRST) >> EVSYS_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_evsys_set_CTRLA_reg(const void *const hw, hri_evsys_ctrla_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->CTRLA.reg |= mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_ctrla_reg_t hri_evsys_get_CTRLA_reg(const void *const hw, hri_evsys_ctrla_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Evsys *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_evsys_write_CTRLA_reg(const void *const hw, hri_evsys_ctrla_reg_t data)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->CTRLA.reg = data;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_CTRLA_reg(const void *const hw, hri_evsys_ctrla_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->CTRLA.reg &= ~mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_CTRLA_reg(const void *const hw, hri_evsys_ctrla_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->CTRLA.reg ^= mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_ctrla_reg_t hri_evsys_read_CTRLA_reg(const void *const hw)
+{
+ return ((Evsys *)hw)->CTRLA.reg;
+}
+
+static inline void hri_evsys_set_PRICTRL_RREN_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->PRICTRL.reg |= EVSYS_PRICTRL_RREN;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_evsys_get_PRICTRL_RREN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Evsys *)hw)->PRICTRL.reg;
+ tmp = (tmp & EVSYS_PRICTRL_RREN) >> EVSYS_PRICTRL_RREN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_evsys_write_PRICTRL_RREN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((Evsys *)hw)->PRICTRL.reg;
+ tmp &= ~EVSYS_PRICTRL_RREN;
+ tmp |= value << EVSYS_PRICTRL_RREN_Pos;
+ ((Evsys *)hw)->PRICTRL.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_PRICTRL_RREN_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->PRICTRL.reg &= ~EVSYS_PRICTRL_RREN;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_PRICTRL_RREN_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->PRICTRL.reg ^= EVSYS_PRICTRL_RREN;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_set_PRICTRL_PRI_bf(const void *const hw, hri_evsys_prictrl_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->PRICTRL.reg |= EVSYS_PRICTRL_PRI(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_prictrl_reg_t hri_evsys_get_PRICTRL_PRI_bf(const void *const hw, hri_evsys_prictrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Evsys *)hw)->PRICTRL.reg;
+ tmp = (tmp & EVSYS_PRICTRL_PRI(mask)) >> EVSYS_PRICTRL_PRI_Pos;
+ return tmp;
+}
+
+static inline void hri_evsys_write_PRICTRL_PRI_bf(const void *const hw, hri_evsys_prictrl_reg_t data)
+{
+ uint8_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((Evsys *)hw)->PRICTRL.reg;
+ tmp &= ~EVSYS_PRICTRL_PRI_Msk;
+ tmp |= EVSYS_PRICTRL_PRI(data);
+ ((Evsys *)hw)->PRICTRL.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_PRICTRL_PRI_bf(const void *const hw, hri_evsys_prictrl_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->PRICTRL.reg &= ~EVSYS_PRICTRL_PRI(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_PRICTRL_PRI_bf(const void *const hw, hri_evsys_prictrl_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->PRICTRL.reg ^= EVSYS_PRICTRL_PRI(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_prictrl_reg_t hri_evsys_read_PRICTRL_PRI_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Evsys *)hw)->PRICTRL.reg;
+ tmp = (tmp & EVSYS_PRICTRL_PRI_Msk) >> EVSYS_PRICTRL_PRI_Pos;
+ return tmp;
+}
+
+static inline void hri_evsys_set_PRICTRL_reg(const void *const hw, hri_evsys_prictrl_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->PRICTRL.reg |= mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_prictrl_reg_t hri_evsys_get_PRICTRL_reg(const void *const hw, hri_evsys_prictrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Evsys *)hw)->PRICTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_evsys_write_PRICTRL_reg(const void *const hw, hri_evsys_prictrl_reg_t data)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->PRICTRL.reg = data;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_PRICTRL_reg(const void *const hw, hri_evsys_prictrl_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->PRICTRL.reg &= ~mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_PRICTRL_reg(const void *const hw, hri_evsys_prictrl_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->PRICTRL.reg ^= mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_prictrl_reg_t hri_evsys_read_PRICTRL_reg(const void *const hw)
+{
+ return ((Evsys *)hw)->PRICTRL.reg;
+}
+
+static inline void hri_evsys_set_INTPEND_OVR_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg |= EVSYS_INTPEND_OVR;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_evsys_get_INTPEND_OVR_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Evsys *)hw)->INTPEND.reg;
+ tmp = (tmp & EVSYS_INTPEND_OVR) >> EVSYS_INTPEND_OVR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_evsys_write_INTPEND_OVR_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((Evsys *)hw)->INTPEND.reg;
+ tmp &= ~EVSYS_INTPEND_OVR;
+ tmp |= value << EVSYS_INTPEND_OVR_Pos;
+ ((Evsys *)hw)->INTPEND.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_INTPEND_OVR_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg &= ~EVSYS_INTPEND_OVR;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_INTPEND_OVR_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg ^= EVSYS_INTPEND_OVR;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_set_INTPEND_EVD_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg |= EVSYS_INTPEND_EVD;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_evsys_get_INTPEND_EVD_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Evsys *)hw)->INTPEND.reg;
+ tmp = (tmp & EVSYS_INTPEND_EVD) >> EVSYS_INTPEND_EVD_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_evsys_write_INTPEND_EVD_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((Evsys *)hw)->INTPEND.reg;
+ tmp &= ~EVSYS_INTPEND_EVD;
+ tmp |= value << EVSYS_INTPEND_EVD_Pos;
+ ((Evsys *)hw)->INTPEND.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_INTPEND_EVD_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg &= ~EVSYS_INTPEND_EVD;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_INTPEND_EVD_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg ^= EVSYS_INTPEND_EVD;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_set_INTPEND_READY_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg |= EVSYS_INTPEND_READY;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_evsys_get_INTPEND_READY_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Evsys *)hw)->INTPEND.reg;
+ tmp = (tmp & EVSYS_INTPEND_READY) >> EVSYS_INTPEND_READY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_evsys_write_INTPEND_READY_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((Evsys *)hw)->INTPEND.reg;
+ tmp &= ~EVSYS_INTPEND_READY;
+ tmp |= value << EVSYS_INTPEND_READY_Pos;
+ ((Evsys *)hw)->INTPEND.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_INTPEND_READY_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg &= ~EVSYS_INTPEND_READY;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_INTPEND_READY_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg ^= EVSYS_INTPEND_READY;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_set_INTPEND_BUSY_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg |= EVSYS_INTPEND_BUSY;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_evsys_get_INTPEND_BUSY_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Evsys *)hw)->INTPEND.reg;
+ tmp = (tmp & EVSYS_INTPEND_BUSY) >> EVSYS_INTPEND_BUSY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_evsys_write_INTPEND_BUSY_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((Evsys *)hw)->INTPEND.reg;
+ tmp &= ~EVSYS_INTPEND_BUSY;
+ tmp |= value << EVSYS_INTPEND_BUSY_Pos;
+ ((Evsys *)hw)->INTPEND.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_INTPEND_BUSY_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg &= ~EVSYS_INTPEND_BUSY;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_INTPEND_BUSY_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg ^= EVSYS_INTPEND_BUSY;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_set_INTPEND_ID_bf(const void *const hw, hri_evsys_intpend_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg |= EVSYS_INTPEND_ID(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_intpend_reg_t hri_evsys_get_INTPEND_ID_bf(const void *const hw, hri_evsys_intpend_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Evsys *)hw)->INTPEND.reg;
+ tmp = (tmp & EVSYS_INTPEND_ID(mask)) >> EVSYS_INTPEND_ID_Pos;
+ return tmp;
+}
+
+static inline void hri_evsys_write_INTPEND_ID_bf(const void *const hw, hri_evsys_intpend_reg_t data)
+{
+ uint16_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((Evsys *)hw)->INTPEND.reg;
+ tmp &= ~EVSYS_INTPEND_ID_Msk;
+ tmp |= EVSYS_INTPEND_ID(data);
+ ((Evsys *)hw)->INTPEND.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_INTPEND_ID_bf(const void *const hw, hri_evsys_intpend_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg &= ~EVSYS_INTPEND_ID(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_INTPEND_ID_bf(const void *const hw, hri_evsys_intpend_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg ^= EVSYS_INTPEND_ID(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_intpend_reg_t hri_evsys_read_INTPEND_ID_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Evsys *)hw)->INTPEND.reg;
+ tmp = (tmp & EVSYS_INTPEND_ID_Msk) >> EVSYS_INTPEND_ID_Pos;
+ return tmp;
+}
+
+static inline void hri_evsys_set_INTPEND_reg(const void *const hw, hri_evsys_intpend_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg |= mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_intpend_reg_t hri_evsys_get_INTPEND_reg(const void *const hw, hri_evsys_intpend_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Evsys *)hw)->INTPEND.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_evsys_write_INTPEND_reg(const void *const hw, hri_evsys_intpend_reg_t data)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg = data;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_INTPEND_reg(const void *const hw, hri_evsys_intpend_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg &= ~mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_INTPEND_reg(const void *const hw, hri_evsys_intpend_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->INTPEND.reg ^= mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_intpend_reg_t hri_evsys_read_INTPEND_reg(const void *const hw)
+{
+ return ((Evsys *)hw)->INTPEND.reg;
+}
+
+static inline void hri_evsys_set_USER_CHANNEL_bf(const void *const hw, uint8_t index, hri_evsys_user_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->USER[index].reg |= EVSYS_USER_CHANNEL(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_user_reg_t hri_evsys_get_USER_CHANNEL_bf(const void *const hw, uint8_t index,
+ hri_evsys_user_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Evsys *)hw)->USER[index].reg;
+ tmp = (tmp & EVSYS_USER_CHANNEL(mask)) >> EVSYS_USER_CHANNEL_Pos;
+ return tmp;
+}
+
+static inline void hri_evsys_write_USER_CHANNEL_bf(const void *const hw, uint8_t index, hri_evsys_user_reg_t data)
+{
+ uint32_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((Evsys *)hw)->USER[index].reg;
+ tmp &= ~EVSYS_USER_CHANNEL_Msk;
+ tmp |= EVSYS_USER_CHANNEL(data);
+ ((Evsys *)hw)->USER[index].reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_USER_CHANNEL_bf(const void *const hw, uint8_t index, hri_evsys_user_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->USER[index].reg &= ~EVSYS_USER_CHANNEL(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_USER_CHANNEL_bf(const void *const hw, uint8_t index, hri_evsys_user_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->USER[index].reg ^= EVSYS_USER_CHANNEL(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_user_reg_t hri_evsys_read_USER_CHANNEL_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Evsys *)hw)->USER[index].reg;
+ tmp = (tmp & EVSYS_USER_CHANNEL_Msk) >> EVSYS_USER_CHANNEL_Pos;
+ return tmp;
+}
+
+static inline void hri_evsys_set_USER_reg(const void *const hw, uint8_t index, hri_evsys_user_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->USER[index].reg |= mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_user_reg_t hri_evsys_get_USER_reg(const void *const hw, uint8_t index,
+ hri_evsys_user_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Evsys *)hw)->USER[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_evsys_write_USER_reg(const void *const hw, uint8_t index, hri_evsys_user_reg_t data)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->USER[index].reg = data;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_USER_reg(const void *const hw, uint8_t index, hri_evsys_user_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->USER[index].reg &= ~mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_USER_reg(const void *const hw, uint8_t index, hri_evsys_user_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->USER[index].reg ^= mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_user_reg_t hri_evsys_read_USER_reg(const void *const hw, uint8_t index)
+{
+ return ((Evsys *)hw)->USER[index].reg;
+}
+
+static inline void hri_evsys_write_SWEVT_reg(const void *const hw, hri_evsys_swevt_reg_t data)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->SWEVT.reg = data;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_evsyschannel_get_CHINTFLAG_OVR_bit(const void *const hw)
+{
+ return (((EvsysChannel *)hw)->CHINTFLAG.reg & EVSYS_CHINTFLAG_OVR) >> EVSYS_CHINTFLAG_OVR_Pos;
+}
+
+static inline void hri_evsyschannel_clear_CHINTFLAG_OVR_bit(const void *const hw)
+{
+ ((EvsysChannel *)hw)->CHINTFLAG.reg = EVSYS_CHINTFLAG_OVR;
+}
+
+static inline bool hri_evsyschannel_get_CHINTFLAG_EVD_bit(const void *const hw)
+{
+ return (((EvsysChannel *)hw)->CHINTFLAG.reg & EVSYS_CHINTFLAG_EVD) >> EVSYS_CHINTFLAG_EVD_Pos;
+}
+
+static inline void hri_evsyschannel_clear_CHINTFLAG_EVD_bit(const void *const hw)
+{
+ ((EvsysChannel *)hw)->CHINTFLAG.reg = EVSYS_CHINTFLAG_EVD;
+}
+
+static inline bool hri_evsyschannel_get_interrupt_OVR_bit(const void *const hw)
+{
+ return (((EvsysChannel *)hw)->CHINTFLAG.reg & EVSYS_CHINTFLAG_OVR) >> EVSYS_CHINTFLAG_OVR_Pos;
+}
+
+static inline void hri_evsyschannel_clear_interrupt_OVR_bit(const void *const hw)
+{
+ ((EvsysChannel *)hw)->CHINTFLAG.reg = EVSYS_CHINTFLAG_OVR;
+}
+
+static inline bool hri_evsyschannel_get_interrupt_EVD_bit(const void *const hw)
+{
+ return (((EvsysChannel *)hw)->CHINTFLAG.reg & EVSYS_CHINTFLAG_EVD) >> EVSYS_CHINTFLAG_EVD_Pos;
+}
+
+static inline void hri_evsyschannel_clear_interrupt_EVD_bit(const void *const hw)
+{
+ ((EvsysChannel *)hw)->CHINTFLAG.reg = EVSYS_CHINTFLAG_EVD;
+}
+
+static inline hri_evsys_chintflag_reg_t hri_evsyschannel_get_CHINTFLAG_reg(const void *const hw,
+ hri_evsys_chintflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((EvsysChannel *)hw)->CHINTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_evsys_chintflag_reg_t hri_evsyschannel_read_CHINTFLAG_reg(const void *const hw)
+{
+ return ((EvsysChannel *)hw)->CHINTFLAG.reg;
+}
+
+static inline void hri_evsyschannel_clear_CHINTFLAG_reg(const void *const hw, hri_evsys_chintflag_reg_t mask)
+{
+ ((EvsysChannel *)hw)->CHINTFLAG.reg = mask;
+}
+
+static inline void hri_evsyschannel_set_CHINTEN_OVR_bit(const void *const hw)
+{
+ ((EvsysChannel *)hw)->CHINTENSET.reg = EVSYS_CHINTENSET_OVR;
+}
+
+static inline bool hri_evsyschannel_get_CHINTEN_OVR_bit(const void *const hw)
+{
+ return (((EvsysChannel *)hw)->CHINTENSET.reg & EVSYS_CHINTENSET_OVR) >> EVSYS_CHINTENSET_OVR_Pos;
+}
+
+static inline void hri_evsyschannel_write_CHINTEN_OVR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((EvsysChannel *)hw)->CHINTENCLR.reg = EVSYS_CHINTENSET_OVR;
+ } else {
+ ((EvsysChannel *)hw)->CHINTENSET.reg = EVSYS_CHINTENSET_OVR;
+ }
+}
+
+static inline void hri_evsyschannel_clear_CHINTEN_OVR_bit(const void *const hw)
+{
+ ((EvsysChannel *)hw)->CHINTENCLR.reg = EVSYS_CHINTENSET_OVR;
+}
+
+static inline void hri_evsyschannel_set_CHINTEN_EVD_bit(const void *const hw)
+{
+ ((EvsysChannel *)hw)->CHINTENSET.reg = EVSYS_CHINTENSET_EVD;
+}
+
+static inline bool hri_evsyschannel_get_CHINTEN_EVD_bit(const void *const hw)
+{
+ return (((EvsysChannel *)hw)->CHINTENSET.reg & EVSYS_CHINTENSET_EVD) >> EVSYS_CHINTENSET_EVD_Pos;
+}
+
+static inline void hri_evsyschannel_write_CHINTEN_EVD_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((EvsysChannel *)hw)->CHINTENCLR.reg = EVSYS_CHINTENSET_EVD;
+ } else {
+ ((EvsysChannel *)hw)->CHINTENSET.reg = EVSYS_CHINTENSET_EVD;
+ }
+}
+
+static inline void hri_evsyschannel_clear_CHINTEN_EVD_bit(const void *const hw)
+{
+ ((EvsysChannel *)hw)->CHINTENCLR.reg = EVSYS_CHINTENSET_EVD;
+}
+
+static inline void hri_evsyschannel_set_CHINTEN_reg(const void *const hw, hri_evsys_chintenset_reg_t mask)
+{
+ ((EvsysChannel *)hw)->CHINTENSET.reg = mask;
+}
+
+static inline hri_evsys_chintenset_reg_t hri_evsyschannel_get_CHINTEN_reg(const void *const hw,
+ hri_evsys_chintenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((EvsysChannel *)hw)->CHINTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_evsys_chintenset_reg_t hri_evsyschannel_read_CHINTEN_reg(const void *const hw)
+{
+ return ((EvsysChannel *)hw)->CHINTENSET.reg;
+}
+
+static inline void hri_evsyschannel_write_CHINTEN_reg(const void *const hw, hri_evsys_chintenset_reg_t data)
+{
+ ((EvsysChannel *)hw)->CHINTENSET.reg = data;
+ ((EvsysChannel *)hw)->CHINTENCLR.reg = ~data;
+}
+
+static inline void hri_evsyschannel_clear_CHINTEN_reg(const void *const hw, hri_evsys_chintenset_reg_t mask)
+{
+ ((EvsysChannel *)hw)->CHINTENCLR.reg = mask;
+}
+
+static inline bool hri_evsyschannel_get_CHSTATUS_RDYUSR_bit(const void *const hw)
+{
+ return (((EvsysChannel *)hw)->CHSTATUS.reg & EVSYS_CHSTATUS_RDYUSR) >> EVSYS_CHSTATUS_RDYUSR_Pos;
+}
+
+static inline bool hri_evsyschannel_get_CHSTATUS_BUSYCH_bit(const void *const hw)
+{
+ return (((EvsysChannel *)hw)->CHSTATUS.reg & EVSYS_CHSTATUS_BUSYCH) >> EVSYS_CHSTATUS_BUSYCH_Pos;
+}
+
+static inline hri_evsys_chstatus_reg_t hri_evsyschannel_get_CHSTATUS_reg(const void *const hw,
+ hri_evsys_chstatus_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((EvsysChannel *)hw)->CHSTATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_evsys_chstatus_reg_t hri_evsyschannel_read_CHSTATUS_reg(const void *const hw)
+{
+ return ((EvsysChannel *)hw)->CHSTATUS.reg;
+}
+
+static inline void hri_evsyschannel_set_CHANNEL_RUNSTDBY_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg |= EVSYS_CHANNEL_RUNSTDBY;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_evsyschannel_get_CHANNEL_RUNSTDBY_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((EvsysChannel *)hw)->CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_RUNSTDBY) >> EVSYS_CHANNEL_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_evsyschannel_write_CHANNEL_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((EvsysChannel *)hw)->CHANNEL.reg;
+ tmp &= ~EVSYS_CHANNEL_RUNSTDBY;
+ tmp |= value << EVSYS_CHANNEL_RUNSTDBY_Pos;
+ ((EvsysChannel *)hw)->CHANNEL.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsyschannel_clear_CHANNEL_RUNSTDBY_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg &= ~EVSYS_CHANNEL_RUNSTDBY;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsyschannel_toggle_CHANNEL_RUNSTDBY_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg ^= EVSYS_CHANNEL_RUNSTDBY;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsyschannel_set_CHANNEL_ONDEMAND_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg |= EVSYS_CHANNEL_ONDEMAND;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_evsyschannel_get_CHANNEL_ONDEMAND_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((EvsysChannel *)hw)->CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_ONDEMAND) >> EVSYS_CHANNEL_ONDEMAND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_evsyschannel_write_CHANNEL_ONDEMAND_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((EvsysChannel *)hw)->CHANNEL.reg;
+ tmp &= ~EVSYS_CHANNEL_ONDEMAND;
+ tmp |= value << EVSYS_CHANNEL_ONDEMAND_Pos;
+ ((EvsysChannel *)hw)->CHANNEL.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsyschannel_clear_CHANNEL_ONDEMAND_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg &= ~EVSYS_CHANNEL_ONDEMAND;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsyschannel_toggle_CHANNEL_ONDEMAND_bit(const void *const hw)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg ^= EVSYS_CHANNEL_ONDEMAND;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsyschannel_set_CHANNEL_EVGEN_bf(const void *const hw, hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg |= EVSYS_CHANNEL_EVGEN(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsyschannel_get_CHANNEL_EVGEN_bf(const void *const hw,
+ hri_evsys_channel_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((EvsysChannel *)hw)->CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_EVGEN(mask)) >> EVSYS_CHANNEL_EVGEN_Pos;
+ return tmp;
+}
+
+static inline void hri_evsyschannel_write_CHANNEL_EVGEN_bf(const void *const hw, hri_evsys_channel_reg_t data)
+{
+ uint32_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((EvsysChannel *)hw)->CHANNEL.reg;
+ tmp &= ~EVSYS_CHANNEL_EVGEN_Msk;
+ tmp |= EVSYS_CHANNEL_EVGEN(data);
+ ((EvsysChannel *)hw)->CHANNEL.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsyschannel_clear_CHANNEL_EVGEN_bf(const void *const hw, hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg &= ~EVSYS_CHANNEL_EVGEN(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsyschannel_toggle_CHANNEL_EVGEN_bf(const void *const hw, hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg ^= EVSYS_CHANNEL_EVGEN(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsyschannel_read_CHANNEL_EVGEN_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((EvsysChannel *)hw)->CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_EVGEN_Msk) >> EVSYS_CHANNEL_EVGEN_Pos;
+ return tmp;
+}
+
+static inline void hri_evsyschannel_set_CHANNEL_PATH_bf(const void *const hw, hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg |= EVSYS_CHANNEL_PATH(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsyschannel_get_CHANNEL_PATH_bf(const void *const hw,
+ hri_evsys_channel_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((EvsysChannel *)hw)->CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_PATH(mask)) >> EVSYS_CHANNEL_PATH_Pos;
+ return tmp;
+}
+
+static inline void hri_evsyschannel_write_CHANNEL_PATH_bf(const void *const hw, hri_evsys_channel_reg_t data)
+{
+ uint32_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((EvsysChannel *)hw)->CHANNEL.reg;
+ tmp &= ~EVSYS_CHANNEL_PATH_Msk;
+ tmp |= EVSYS_CHANNEL_PATH(data);
+ ((EvsysChannel *)hw)->CHANNEL.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsyschannel_clear_CHANNEL_PATH_bf(const void *const hw, hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg &= ~EVSYS_CHANNEL_PATH(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsyschannel_toggle_CHANNEL_PATH_bf(const void *const hw, hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg ^= EVSYS_CHANNEL_PATH(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsyschannel_read_CHANNEL_PATH_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((EvsysChannel *)hw)->CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_PATH_Msk) >> EVSYS_CHANNEL_PATH_Pos;
+ return tmp;
+}
+
+static inline void hri_evsyschannel_set_CHANNEL_EDGSEL_bf(const void *const hw, hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg |= EVSYS_CHANNEL_EDGSEL(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsyschannel_get_CHANNEL_EDGSEL_bf(const void *const hw,
+ hri_evsys_channel_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((EvsysChannel *)hw)->CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_EDGSEL(mask)) >> EVSYS_CHANNEL_EDGSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_evsyschannel_write_CHANNEL_EDGSEL_bf(const void *const hw, hri_evsys_channel_reg_t data)
+{
+ uint32_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((EvsysChannel *)hw)->CHANNEL.reg;
+ tmp &= ~EVSYS_CHANNEL_EDGSEL_Msk;
+ tmp |= EVSYS_CHANNEL_EDGSEL(data);
+ ((EvsysChannel *)hw)->CHANNEL.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsyschannel_clear_CHANNEL_EDGSEL_bf(const void *const hw, hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg &= ~EVSYS_CHANNEL_EDGSEL(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsyschannel_toggle_CHANNEL_EDGSEL_bf(const void *const hw, hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg ^= EVSYS_CHANNEL_EDGSEL(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsyschannel_read_CHANNEL_EDGSEL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((EvsysChannel *)hw)->CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_EDGSEL_Msk) >> EVSYS_CHANNEL_EDGSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_evsyschannel_set_CHANNEL_reg(const void *const hw, hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg |= mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsyschannel_get_CHANNEL_reg(const void *const hw,
+ hri_evsys_channel_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((EvsysChannel *)hw)->CHANNEL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_evsyschannel_write_CHANNEL_reg(const void *const hw, hri_evsys_channel_reg_t data)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg = data;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsyschannel_clear_CHANNEL_reg(const void *const hw, hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg &= ~mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsyschannel_toggle_CHANNEL_reg(const void *const hw, hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((EvsysChannel *)hw)->CHANNEL.reg ^= mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsyschannel_read_CHANNEL_reg(const void *const hw)
+{
+ return ((EvsysChannel *)hw)->CHANNEL.reg;
+}
+
+static inline bool hri_evsys_get_CHINTFLAG_OVR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg & EVSYS_CHINTFLAG_OVR) >> EVSYS_CHINTFLAG_OVR_Pos;
+}
+
+static inline void hri_evsys_clear_CHINTFLAG_OVR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg = EVSYS_CHINTFLAG_OVR;
+}
+
+static inline bool hri_evsys_get_CHINTFLAG_EVD_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg & EVSYS_CHINTFLAG_EVD) >> EVSYS_CHINTFLAG_EVD_Pos;
+}
+
+static inline void hri_evsys_clear_CHINTFLAG_EVD_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg = EVSYS_CHINTFLAG_EVD;
+}
+
+static inline bool hri_evsys_get_interrupt_OVR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg & EVSYS_CHINTFLAG_OVR) >> EVSYS_CHINTFLAG_OVR_Pos;
+}
+
+static inline void hri_evsys_clear_interrupt_OVR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg = EVSYS_CHINTFLAG_OVR;
+}
+
+static inline bool hri_evsys_get_interrupt_EVD_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg & EVSYS_CHINTFLAG_EVD) >> EVSYS_CHINTFLAG_EVD_Pos;
+}
+
+static inline void hri_evsys_clear_interrupt_EVD_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg = EVSYS_CHINTFLAG_EVD;
+}
+
+static inline hri_evsys_chintflag_reg_t hri_evsys_get_CHINTFLAG_reg(const void *const hw, uint8_t submodule_index,
+ hri_evsys_chintflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_evsys_chintflag_reg_t hri_evsys_read_CHINTFLAG_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg;
+}
+
+static inline void hri_evsys_clear_CHINTFLAG_reg(const void *const hw, uint8_t submodule_index,
+ hri_evsys_chintflag_reg_t mask)
+{
+ ((Evsys *)hw)->Channel[submodule_index].CHINTFLAG.reg = mask;
+}
+
+static inline void hri_evsys_set_CHINTEN_OVR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg = EVSYS_CHINTENSET_OVR;
+}
+
+static inline bool hri_evsys_get_CHINTEN_OVR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg & EVSYS_CHINTENSET_OVR) >> EVSYS_CHINTENSET_OVR_Pos;
+}
+
+static inline void hri_evsys_write_CHINTEN_OVR_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Evsys *)hw)->Channel[submodule_index].CHINTENCLR.reg = EVSYS_CHINTENSET_OVR;
+ } else {
+ ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg = EVSYS_CHINTENSET_OVR;
+ }
+}
+
+static inline void hri_evsys_clear_CHINTEN_OVR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Evsys *)hw)->Channel[submodule_index].CHINTENCLR.reg = EVSYS_CHINTENSET_OVR;
+}
+
+static inline void hri_evsys_set_CHINTEN_EVD_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg = EVSYS_CHINTENSET_EVD;
+}
+
+static inline bool hri_evsys_get_CHINTEN_EVD_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg & EVSYS_CHINTENSET_EVD) >> EVSYS_CHINTENSET_EVD_Pos;
+}
+
+static inline void hri_evsys_write_CHINTEN_EVD_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Evsys *)hw)->Channel[submodule_index].CHINTENCLR.reg = EVSYS_CHINTENSET_EVD;
+ } else {
+ ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg = EVSYS_CHINTENSET_EVD;
+ }
+}
+
+static inline void hri_evsys_clear_CHINTEN_EVD_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Evsys *)hw)->Channel[submodule_index].CHINTENCLR.reg = EVSYS_CHINTENSET_EVD;
+}
+
+static inline void hri_evsys_set_CHINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_evsys_chintenset_reg_t mask)
+{
+ ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg = mask;
+}
+
+static inline hri_evsys_chintenset_reg_t hri_evsys_get_CHINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_evsys_chintenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_evsys_chintenset_reg_t hri_evsys_read_CHINTEN_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg;
+}
+
+static inline void hri_evsys_write_CHINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_evsys_chintenset_reg_t data)
+{
+ ((Evsys *)hw)->Channel[submodule_index].CHINTENSET.reg = data;
+ ((Evsys *)hw)->Channel[submodule_index].CHINTENCLR.reg = ~data;
+}
+
+static inline void hri_evsys_clear_CHINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_evsys_chintenset_reg_t mask)
+{
+ ((Evsys *)hw)->Channel[submodule_index].CHINTENCLR.reg = mask;
+}
+
+static inline bool hri_evsys_get_CHSTATUS_RDYUSR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Evsys *)hw)->Channel[submodule_index].CHSTATUS.reg & EVSYS_CHSTATUS_RDYUSR) >> EVSYS_CHSTATUS_RDYUSR_Pos;
+}
+
+static inline bool hri_evsys_get_CHSTATUS_BUSYCH_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Evsys *)hw)->Channel[submodule_index].CHSTATUS.reg & EVSYS_CHSTATUS_BUSYCH) >> EVSYS_CHSTATUS_BUSYCH_Pos;
+}
+
+static inline hri_evsys_chstatus_reg_t hri_evsys_get_CHSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_evsys_chstatus_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHSTATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_evsys_chstatus_reg_t hri_evsys_read_CHSTATUS_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Evsys *)hw)->Channel[submodule_index].CHSTATUS.reg;
+}
+
+static inline void hri_evsys_set_CHANNEL_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg |= EVSYS_CHANNEL_RUNSTDBY;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_evsys_get_CHANNEL_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_RUNSTDBY) >> EVSYS_CHANNEL_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_evsys_write_CHANNEL_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint32_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg;
+ tmp &= ~EVSYS_CHANNEL_RUNSTDBY;
+ tmp |= value << EVSYS_CHANNEL_RUNSTDBY_Pos;
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_CHANNEL_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg &= ~EVSYS_CHANNEL_RUNSTDBY;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_CHANNEL_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg ^= EVSYS_CHANNEL_RUNSTDBY;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_set_CHANNEL_ONDEMAND_bit(const void *const hw, uint8_t submodule_index)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg |= EVSYS_CHANNEL_ONDEMAND;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_evsys_get_CHANNEL_ONDEMAND_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_ONDEMAND) >> EVSYS_CHANNEL_ONDEMAND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_evsys_write_CHANNEL_ONDEMAND_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint32_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg;
+ tmp &= ~EVSYS_CHANNEL_ONDEMAND;
+ tmp |= value << EVSYS_CHANNEL_ONDEMAND_Pos;
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_CHANNEL_ONDEMAND_bit(const void *const hw, uint8_t submodule_index)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg &= ~EVSYS_CHANNEL_ONDEMAND;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_CHANNEL_ONDEMAND_bit(const void *const hw, uint8_t submodule_index)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg ^= EVSYS_CHANNEL_ONDEMAND;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_set_CHANNEL_EVGEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg |= EVSYS_CHANNEL_EVGEN(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsys_get_CHANNEL_EVGEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_EVGEN(mask)) >> EVSYS_CHANNEL_EVGEN_Pos;
+ return tmp;
+}
+
+static inline void hri_evsys_write_CHANNEL_EVGEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t data)
+{
+ uint32_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg;
+ tmp &= ~EVSYS_CHANNEL_EVGEN_Msk;
+ tmp |= EVSYS_CHANNEL_EVGEN(data);
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_CHANNEL_EVGEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg &= ~EVSYS_CHANNEL_EVGEN(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_CHANNEL_EVGEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg ^= EVSYS_CHANNEL_EVGEN(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsys_read_CHANNEL_EVGEN_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_EVGEN_Msk) >> EVSYS_CHANNEL_EVGEN_Pos;
+ return tmp;
+}
+
+static inline void hri_evsys_set_CHANNEL_PATH_bf(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg |= EVSYS_CHANNEL_PATH(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsys_get_CHANNEL_PATH_bf(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_PATH(mask)) >> EVSYS_CHANNEL_PATH_Pos;
+ return tmp;
+}
+
+static inline void hri_evsys_write_CHANNEL_PATH_bf(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t data)
+{
+ uint32_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg;
+ tmp &= ~EVSYS_CHANNEL_PATH_Msk;
+ tmp |= EVSYS_CHANNEL_PATH(data);
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_CHANNEL_PATH_bf(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg &= ~EVSYS_CHANNEL_PATH(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_CHANNEL_PATH_bf(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg ^= EVSYS_CHANNEL_PATH(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsys_read_CHANNEL_PATH_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_PATH_Msk) >> EVSYS_CHANNEL_PATH_Pos;
+ return tmp;
+}
+
+static inline void hri_evsys_set_CHANNEL_EDGSEL_bf(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg |= EVSYS_CHANNEL_EDGSEL(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsys_get_CHANNEL_EDGSEL_bf(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_EDGSEL(mask)) >> EVSYS_CHANNEL_EDGSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_evsys_write_CHANNEL_EDGSEL_bf(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t data)
+{
+ uint32_t tmp;
+ EVSYS_CRITICAL_SECTION_ENTER();
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg;
+ tmp &= ~EVSYS_CHANNEL_EDGSEL_Msk;
+ tmp |= EVSYS_CHANNEL_EDGSEL(data);
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg = tmp;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_CHANNEL_EDGSEL_bf(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg &= ~EVSYS_CHANNEL_EDGSEL(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_CHANNEL_EDGSEL_bf(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg ^= EVSYS_CHANNEL_EDGSEL(mask);
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsys_read_CHANNEL_EDGSEL_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg;
+ tmp = (tmp & EVSYS_CHANNEL_EDGSEL_Msk) >> EVSYS_CHANNEL_EDGSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_evsys_set_CHANNEL_reg(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg |= mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsys_get_CHANNEL_reg(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_evsys_write_CHANNEL_reg(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t data)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg = data;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_clear_CHANNEL_reg(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg &= ~mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_evsys_toggle_CHANNEL_reg(const void *const hw, uint8_t submodule_index,
+ hri_evsys_channel_reg_t mask)
+{
+ EVSYS_CRITICAL_SECTION_ENTER();
+ ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg ^= mask;
+ EVSYS_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_evsys_channel_reg_t hri_evsys_read_CHANNEL_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Evsys *)hw)->Channel[submodule_index].CHANNEL.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_EVSYS_E54_H_INCLUDED */
+#endif /* _SAME54_EVSYS_COMPONENT_ */
diff --git a/hri/hri_freqm_e54.h b/hri/hri_freqm_e54.h
new file mode 100644
index 0000000..8cbc484
--- /dev/null
+++ b/hri/hri_freqm_e54.h
@@ -0,0 +1,464 @@
+/**
+ * \file
+ *
+ * \brief SAM FREQM
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_FREQM_COMPONENT_
+#ifndef _HRI_FREQM_E54_H_INCLUDED_
+#define _HRI_FREQM_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_FREQM_CRITICAL_SECTIONS)
+#define FREQM_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define FREQM_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define FREQM_CRITICAL_SECTION_ENTER()
+#define FREQM_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_freqm_cfga_reg_t;
+typedef uint32_t hri_freqm_syncbusy_reg_t;
+typedef uint32_t hri_freqm_value_reg_t;
+typedef uint8_t hri_freqm_ctrla_reg_t;
+typedef uint8_t hri_freqm_ctrlb_reg_t;
+typedef uint8_t hri_freqm_intenset_reg_t;
+typedef uint8_t hri_freqm_intflag_reg_t;
+typedef uint8_t hri_freqm_status_reg_t;
+
+static inline void hri_freqm_wait_for_sync(const void *const hw, hri_freqm_syncbusy_reg_t reg)
+{
+ while (((Freqm *)hw)->SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_freqm_is_syncing(const void *const hw, hri_freqm_syncbusy_reg_t reg)
+{
+ return ((Freqm *)hw)->SYNCBUSY.reg & reg;
+}
+
+static inline bool hri_freqm_get_INTFLAG_DONE_bit(const void *const hw)
+{
+ return (((Freqm *)hw)->INTFLAG.reg & FREQM_INTFLAG_DONE) >> FREQM_INTFLAG_DONE_Pos;
+}
+
+static inline void hri_freqm_clear_INTFLAG_DONE_bit(const void *const hw)
+{
+ ((Freqm *)hw)->INTFLAG.reg = FREQM_INTFLAG_DONE;
+}
+
+static inline bool hri_freqm_get_interrupt_DONE_bit(const void *const hw)
+{
+ return (((Freqm *)hw)->INTFLAG.reg & FREQM_INTFLAG_DONE) >> FREQM_INTFLAG_DONE_Pos;
+}
+
+static inline void hri_freqm_clear_interrupt_DONE_bit(const void *const hw)
+{
+ ((Freqm *)hw)->INTFLAG.reg = FREQM_INTFLAG_DONE;
+}
+
+static inline hri_freqm_intflag_reg_t hri_freqm_get_INTFLAG_reg(const void *const hw, hri_freqm_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Freqm *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_freqm_intflag_reg_t hri_freqm_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Freqm *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_freqm_clear_INTFLAG_reg(const void *const hw, hri_freqm_intflag_reg_t mask)
+{
+ ((Freqm *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_freqm_set_INTEN_DONE_bit(const void *const hw)
+{
+ ((Freqm *)hw)->INTENSET.reg = FREQM_INTENSET_DONE;
+}
+
+static inline bool hri_freqm_get_INTEN_DONE_bit(const void *const hw)
+{
+ return (((Freqm *)hw)->INTENSET.reg & FREQM_INTENSET_DONE) >> FREQM_INTENSET_DONE_Pos;
+}
+
+static inline void hri_freqm_write_INTEN_DONE_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Freqm *)hw)->INTENCLR.reg = FREQM_INTENSET_DONE;
+ } else {
+ ((Freqm *)hw)->INTENSET.reg = FREQM_INTENSET_DONE;
+ }
+}
+
+static inline void hri_freqm_clear_INTEN_DONE_bit(const void *const hw)
+{
+ ((Freqm *)hw)->INTENCLR.reg = FREQM_INTENSET_DONE;
+}
+
+static inline void hri_freqm_set_INTEN_reg(const void *const hw, hri_freqm_intenset_reg_t mask)
+{
+ ((Freqm *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_freqm_intenset_reg_t hri_freqm_get_INTEN_reg(const void *const hw, hri_freqm_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Freqm *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_freqm_intenset_reg_t hri_freqm_read_INTEN_reg(const void *const hw)
+{
+ return ((Freqm *)hw)->INTENSET.reg;
+}
+
+static inline void hri_freqm_write_INTEN_reg(const void *const hw, hri_freqm_intenset_reg_t data)
+{
+ ((Freqm *)hw)->INTENSET.reg = data;
+ ((Freqm *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_freqm_clear_INTEN_reg(const void *const hw, hri_freqm_intenset_reg_t mask)
+{
+ ((Freqm *)hw)->INTENCLR.reg = mask;
+}
+
+static inline bool hri_freqm_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Freqm *)hw)->SYNCBUSY.reg & FREQM_SYNCBUSY_SWRST) >> FREQM_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_freqm_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Freqm *)hw)->SYNCBUSY.reg & FREQM_SYNCBUSY_ENABLE) >> FREQM_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline hri_freqm_syncbusy_reg_t hri_freqm_get_SYNCBUSY_reg(const void *const hw, hri_freqm_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Freqm *)hw)->SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_freqm_syncbusy_reg_t hri_freqm_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Freqm *)hw)->SYNCBUSY.reg;
+}
+
+static inline hri_freqm_value_reg_t hri_freqm_get_VALUE_VALUE_bf(const void *const hw, hri_freqm_value_reg_t mask)
+{
+ return (((Freqm *)hw)->VALUE.reg & FREQM_VALUE_VALUE(mask)) >> FREQM_VALUE_VALUE_Pos;
+}
+
+static inline hri_freqm_value_reg_t hri_freqm_read_VALUE_VALUE_bf(const void *const hw)
+{
+ return (((Freqm *)hw)->VALUE.reg & FREQM_VALUE_VALUE_Msk) >> FREQM_VALUE_VALUE_Pos;
+}
+
+static inline hri_freqm_value_reg_t hri_freqm_get_VALUE_reg(const void *const hw, hri_freqm_value_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Freqm *)hw)->VALUE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_freqm_value_reg_t hri_freqm_read_VALUE_reg(const void *const hw)
+{
+ return ((Freqm *)hw)->VALUE.reg;
+}
+
+static inline void hri_freqm_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CTRLA.reg |= FREQM_CTRLA_SWRST;
+ hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_SWRST);
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_freqm_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_SWRST);
+ tmp = ((Freqm *)hw)->CTRLA.reg;
+ tmp = (tmp & FREQM_CTRLA_SWRST) >> FREQM_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_freqm_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CTRLA.reg |= FREQM_CTRLA_ENABLE;
+ hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_SWRST | FREQM_SYNCBUSY_ENABLE);
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_freqm_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_SWRST | FREQM_SYNCBUSY_ENABLE);
+ tmp = ((Freqm *)hw)->CTRLA.reg;
+ tmp = (tmp & FREQM_CTRLA_ENABLE) >> FREQM_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_freqm_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ FREQM_CRITICAL_SECTION_ENTER();
+ tmp = ((Freqm *)hw)->CTRLA.reg;
+ tmp &= ~FREQM_CTRLA_ENABLE;
+ tmp |= value << FREQM_CTRLA_ENABLE_Pos;
+ ((Freqm *)hw)->CTRLA.reg = tmp;
+ hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_SWRST | FREQM_SYNCBUSY_ENABLE);
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_freqm_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CTRLA.reg &= ~FREQM_CTRLA_ENABLE;
+ hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_SWRST | FREQM_SYNCBUSY_ENABLE);
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_freqm_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CTRLA.reg ^= FREQM_CTRLA_ENABLE;
+ hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_SWRST | FREQM_SYNCBUSY_ENABLE);
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_freqm_set_CTRLA_reg(const void *const hw, hri_freqm_ctrla_reg_t mask)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CTRLA.reg |= mask;
+ hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_MASK);
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_freqm_ctrla_reg_t hri_freqm_get_CTRLA_reg(const void *const hw, hri_freqm_ctrla_reg_t mask)
+{
+ uint8_t tmp;
+ hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_MASK);
+ tmp = ((Freqm *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_freqm_write_CTRLA_reg(const void *const hw, hri_freqm_ctrla_reg_t data)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CTRLA.reg = data;
+ hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_MASK);
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_freqm_clear_CTRLA_reg(const void *const hw, hri_freqm_ctrla_reg_t mask)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CTRLA.reg &= ~mask;
+ hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_MASK);
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_freqm_toggle_CTRLA_reg(const void *const hw, hri_freqm_ctrla_reg_t mask)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CTRLA.reg ^= mask;
+ hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_MASK);
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_freqm_ctrla_reg_t hri_freqm_read_CTRLA_reg(const void *const hw)
+{
+ hri_freqm_wait_for_sync(hw, FREQM_SYNCBUSY_MASK);
+ return ((Freqm *)hw)->CTRLA.reg;
+}
+
+static inline void hri_freqm_set_CFGA_REFNUM_bf(const void *const hw, hri_freqm_cfga_reg_t mask)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CFGA.reg |= FREQM_CFGA_REFNUM(mask);
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_freqm_cfga_reg_t hri_freqm_get_CFGA_REFNUM_bf(const void *const hw, hri_freqm_cfga_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Freqm *)hw)->CFGA.reg;
+ tmp = (tmp & FREQM_CFGA_REFNUM(mask)) >> FREQM_CFGA_REFNUM_Pos;
+ return tmp;
+}
+
+static inline void hri_freqm_write_CFGA_REFNUM_bf(const void *const hw, hri_freqm_cfga_reg_t data)
+{
+ uint16_t tmp;
+ FREQM_CRITICAL_SECTION_ENTER();
+ tmp = ((Freqm *)hw)->CFGA.reg;
+ tmp &= ~FREQM_CFGA_REFNUM_Msk;
+ tmp |= FREQM_CFGA_REFNUM(data);
+ ((Freqm *)hw)->CFGA.reg = tmp;
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_freqm_clear_CFGA_REFNUM_bf(const void *const hw, hri_freqm_cfga_reg_t mask)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CFGA.reg &= ~FREQM_CFGA_REFNUM(mask);
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_freqm_toggle_CFGA_REFNUM_bf(const void *const hw, hri_freqm_cfga_reg_t mask)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CFGA.reg ^= FREQM_CFGA_REFNUM(mask);
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_freqm_cfga_reg_t hri_freqm_read_CFGA_REFNUM_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Freqm *)hw)->CFGA.reg;
+ tmp = (tmp & FREQM_CFGA_REFNUM_Msk) >> FREQM_CFGA_REFNUM_Pos;
+ return tmp;
+}
+
+static inline void hri_freqm_set_CFGA_reg(const void *const hw, hri_freqm_cfga_reg_t mask)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CFGA.reg |= mask;
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_freqm_cfga_reg_t hri_freqm_get_CFGA_reg(const void *const hw, hri_freqm_cfga_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Freqm *)hw)->CFGA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_freqm_write_CFGA_reg(const void *const hw, hri_freqm_cfga_reg_t data)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CFGA.reg = data;
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_freqm_clear_CFGA_reg(const void *const hw, hri_freqm_cfga_reg_t mask)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CFGA.reg &= ~mask;
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_freqm_toggle_CFGA_reg(const void *const hw, hri_freqm_cfga_reg_t mask)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CFGA.reg ^= mask;
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_freqm_cfga_reg_t hri_freqm_read_CFGA_reg(const void *const hw)
+{
+ return ((Freqm *)hw)->CFGA.reg;
+}
+
+static inline bool hri_freqm_get_STATUS_BUSY_bit(const void *const hw)
+{
+ return (((Freqm *)hw)->STATUS.reg & FREQM_STATUS_BUSY) >> FREQM_STATUS_BUSY_Pos;
+}
+
+static inline void hri_freqm_clear_STATUS_BUSY_bit(const void *const hw)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->STATUS.reg = FREQM_STATUS_BUSY;
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_freqm_get_STATUS_OVF_bit(const void *const hw)
+{
+ return (((Freqm *)hw)->STATUS.reg & FREQM_STATUS_OVF) >> FREQM_STATUS_OVF_Pos;
+}
+
+static inline void hri_freqm_clear_STATUS_OVF_bit(const void *const hw)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->STATUS.reg = FREQM_STATUS_OVF;
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_freqm_status_reg_t hri_freqm_get_STATUS_reg(const void *const hw, hri_freqm_status_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Freqm *)hw)->STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_freqm_clear_STATUS_reg(const void *const hw, hri_freqm_status_reg_t mask)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->STATUS.reg = mask;
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_freqm_status_reg_t hri_freqm_read_STATUS_reg(const void *const hw)
+{
+ return ((Freqm *)hw)->STATUS.reg;
+}
+
+static inline void hri_freqm_write_CTRLB_reg(const void *const hw, hri_freqm_ctrlb_reg_t data)
+{
+ FREQM_CRITICAL_SECTION_ENTER();
+ ((Freqm *)hw)->CTRLB.reg = data;
+ FREQM_CRITICAL_SECTION_LEAVE();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_FREQM_E54_H_INCLUDED */
+#endif /* _SAME54_FREQM_COMPONENT_ */
diff --git a/hri/hri_gclk_e54.h b/hri/hri_gclk_e54.h
new file mode 100644
index 0000000..f83af2a
--- /dev/null
+++ b/hri/hri_gclk_e54.h
@@ -0,0 +1,805 @@
+/**
+ * \file
+ *
+ * \brief SAM GCLK
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_GCLK_COMPONENT_
+#ifndef _HRI_GCLK_E54_H_INCLUDED_
+#define _HRI_GCLK_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_GCLK_CRITICAL_SECTIONS)
+#define GCLK_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define GCLK_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define GCLK_CRITICAL_SECTION_ENTER()
+#define GCLK_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_gclk_genctrl_reg_t;
+typedef uint32_t hri_gclk_pchctrl_reg_t;
+typedef uint32_t hri_gclk_syncbusy_reg_t;
+typedef uint8_t hri_gclk_ctrla_reg_t;
+
+static inline void hri_gclk_wait_for_sync(const void *const hw, hri_gclk_syncbusy_reg_t reg)
+{
+ while (((Gclk *)hw)->SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_gclk_is_syncing(const void *const hw, hri_gclk_syncbusy_reg_t reg)
+{
+ return ((Gclk *)hw)->SYNCBUSY.reg & reg;
+}
+
+static inline bool hri_gclk_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_SWRST) >> GCLK_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_gclk_get_SYNCBUSY_GENCTRL0_bit(const void *const hw)
+{
+ return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL0) >> GCLK_SYNCBUSY_GENCTRL0_Pos;
+}
+
+static inline bool hri_gclk_get_SYNCBUSY_GENCTRL1_bit(const void *const hw)
+{
+ return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL1) >> GCLK_SYNCBUSY_GENCTRL1_Pos;
+}
+
+static inline bool hri_gclk_get_SYNCBUSY_GENCTRL2_bit(const void *const hw)
+{
+ return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL2) >> GCLK_SYNCBUSY_GENCTRL2_Pos;
+}
+
+static inline bool hri_gclk_get_SYNCBUSY_GENCTRL3_bit(const void *const hw)
+{
+ return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL3) >> GCLK_SYNCBUSY_GENCTRL3_Pos;
+}
+
+static inline bool hri_gclk_get_SYNCBUSY_GENCTRL4_bit(const void *const hw)
+{
+ return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL4) >> GCLK_SYNCBUSY_GENCTRL4_Pos;
+}
+
+static inline bool hri_gclk_get_SYNCBUSY_GENCTRL5_bit(const void *const hw)
+{
+ return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL5) >> GCLK_SYNCBUSY_GENCTRL5_Pos;
+}
+
+static inline bool hri_gclk_get_SYNCBUSY_GENCTRL6_bit(const void *const hw)
+{
+ return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL6) >> GCLK_SYNCBUSY_GENCTRL6_Pos;
+}
+
+static inline bool hri_gclk_get_SYNCBUSY_GENCTRL7_bit(const void *const hw)
+{
+ return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL7) >> GCLK_SYNCBUSY_GENCTRL7_Pos;
+}
+
+static inline bool hri_gclk_get_SYNCBUSY_GENCTRL8_bit(const void *const hw)
+{
+ return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL8) >> GCLK_SYNCBUSY_GENCTRL8_Pos;
+}
+
+static inline bool hri_gclk_get_SYNCBUSY_GENCTRL9_bit(const void *const hw)
+{
+ return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL9) >> GCLK_SYNCBUSY_GENCTRL9_Pos;
+}
+
+static inline bool hri_gclk_get_SYNCBUSY_GENCTRL10_bit(const void *const hw)
+{
+ return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL10) >> GCLK_SYNCBUSY_GENCTRL10_Pos;
+}
+
+static inline bool hri_gclk_get_SYNCBUSY_GENCTRL11_bit(const void *const hw)
+{
+ return (((Gclk *)hw)->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL11) >> GCLK_SYNCBUSY_GENCTRL11_Pos;
+}
+
+static inline hri_gclk_syncbusy_reg_t hri_gclk_get_SYNCBUSY_reg(const void *const hw, hri_gclk_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gclk_syncbusy_reg_t hri_gclk_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Gclk *)hw)->SYNCBUSY.reg;
+}
+
+static inline void hri_gclk_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->CTRLA.reg |= GCLK_CTRLA_SWRST;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_gclk_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST);
+ tmp = ((Gclk *)hw)->CTRLA.reg;
+ tmp = (tmp & GCLK_CTRLA_SWRST) >> GCLK_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_gclk_set_CTRLA_reg(const void *const hw, hri_gclk_ctrla_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->CTRLA.reg |= mask;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gclk_ctrla_reg_t hri_gclk_get_CTRLA_reg(const void *const hw, hri_gclk_ctrla_reg_t mask)
+{
+ uint8_t tmp;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST);
+ tmp = ((Gclk *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gclk_write_CTRLA_reg(const void *const hw, hri_gclk_ctrla_reg_t data)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->CTRLA.reg = data;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_clear_CTRLA_reg(const void *const hw, hri_gclk_ctrla_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->CTRLA.reg &= ~mask;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_toggle_CTRLA_reg(const void *const hw, hri_gclk_ctrla_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->CTRLA.reg ^= mask;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gclk_ctrla_reg_t hri_gclk_read_CTRLA_reg(const void *const hw)
+{
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_SWRST);
+ return ((Gclk *)hw)->CTRLA.reg;
+}
+
+static inline void hri_gclk_set_GENCTRL_GENEN_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_GENEN;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_gclk_get_GENCTRL_GENEN_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp = (tmp & GCLK_GENCTRL_GENEN) >> GCLK_GENCTRL_GENEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_gclk_write_GENCTRL_GENEN_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ GCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp &= ~GCLK_GENCTRL_GENEN;
+ tmp |= value << GCLK_GENCTRL_GENEN_Pos;
+ ((Gclk *)hw)->GENCTRL[index].reg = tmp;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_clear_GENCTRL_GENEN_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_GENEN;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_toggle_GENCTRL_GENEN_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_GENEN;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_set_GENCTRL_IDC_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_IDC;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_gclk_get_GENCTRL_IDC_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp = (tmp & GCLK_GENCTRL_IDC) >> GCLK_GENCTRL_IDC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_gclk_write_GENCTRL_IDC_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ GCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp &= ~GCLK_GENCTRL_IDC;
+ tmp |= value << GCLK_GENCTRL_IDC_Pos;
+ ((Gclk *)hw)->GENCTRL[index].reg = tmp;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_clear_GENCTRL_IDC_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_IDC;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_toggle_GENCTRL_IDC_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_IDC;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_set_GENCTRL_OOV_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_OOV;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_gclk_get_GENCTRL_OOV_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp = (tmp & GCLK_GENCTRL_OOV) >> GCLK_GENCTRL_OOV_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_gclk_write_GENCTRL_OOV_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ GCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp &= ~GCLK_GENCTRL_OOV;
+ tmp |= value << GCLK_GENCTRL_OOV_Pos;
+ ((Gclk *)hw)->GENCTRL[index].reg = tmp;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_clear_GENCTRL_OOV_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_OOV;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_toggle_GENCTRL_OOV_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_OOV;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_set_GENCTRL_OE_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_OE;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_gclk_get_GENCTRL_OE_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp = (tmp & GCLK_GENCTRL_OE) >> GCLK_GENCTRL_OE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_gclk_write_GENCTRL_OE_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ GCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp &= ~GCLK_GENCTRL_OE;
+ tmp |= value << GCLK_GENCTRL_OE_Pos;
+ ((Gclk *)hw)->GENCTRL[index].reg = tmp;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_clear_GENCTRL_OE_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_OE;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_toggle_GENCTRL_OE_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_OE;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_set_GENCTRL_DIVSEL_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_DIVSEL;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_gclk_get_GENCTRL_DIVSEL_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp = (tmp & GCLK_GENCTRL_DIVSEL) >> GCLK_GENCTRL_DIVSEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_gclk_write_GENCTRL_DIVSEL_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ GCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp &= ~GCLK_GENCTRL_DIVSEL;
+ tmp |= value << GCLK_GENCTRL_DIVSEL_Pos;
+ ((Gclk *)hw)->GENCTRL[index].reg = tmp;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_clear_GENCTRL_DIVSEL_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_DIVSEL;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_toggle_GENCTRL_DIVSEL_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_DIVSEL;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_set_GENCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_RUNSTDBY;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_gclk_get_GENCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp = (tmp & GCLK_GENCTRL_RUNSTDBY) >> GCLK_GENCTRL_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_gclk_write_GENCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ GCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp &= ~GCLK_GENCTRL_RUNSTDBY;
+ tmp |= value << GCLK_GENCTRL_RUNSTDBY_Pos;
+ ((Gclk *)hw)->GENCTRL[index].reg = tmp;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_clear_GENCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_RUNSTDBY;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_toggle_GENCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_RUNSTDBY;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_set_GENCTRL_SRC_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_SRC(mask);
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gclk_genctrl_reg_t hri_gclk_get_GENCTRL_SRC_bf(const void *const hw, uint8_t index,
+ hri_gclk_genctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp = (tmp & GCLK_GENCTRL_SRC(mask)) >> GCLK_GENCTRL_SRC_Pos;
+ return tmp;
+}
+
+static inline void hri_gclk_write_GENCTRL_SRC_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t data)
+{
+ uint32_t tmp;
+ GCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp &= ~GCLK_GENCTRL_SRC_Msk;
+ tmp |= GCLK_GENCTRL_SRC(data);
+ ((Gclk *)hw)->GENCTRL[index].reg = tmp;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_clear_GENCTRL_SRC_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_SRC(mask);
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_toggle_GENCTRL_SRC_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_SRC(mask);
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gclk_genctrl_reg_t hri_gclk_read_GENCTRL_SRC_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp = (tmp & GCLK_GENCTRL_SRC_Msk) >> GCLK_GENCTRL_SRC_Pos;
+ return tmp;
+}
+
+static inline void hri_gclk_set_GENCTRL_DIV_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg |= GCLK_GENCTRL_DIV(mask);
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gclk_genctrl_reg_t hri_gclk_get_GENCTRL_DIV_bf(const void *const hw, uint8_t index,
+ hri_gclk_genctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp = (tmp & GCLK_GENCTRL_DIV(mask)) >> GCLK_GENCTRL_DIV_Pos;
+ return tmp;
+}
+
+static inline void hri_gclk_write_GENCTRL_DIV_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t data)
+{
+ uint32_t tmp;
+ GCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp &= ~GCLK_GENCTRL_DIV_Msk;
+ tmp |= GCLK_GENCTRL_DIV(data);
+ ((Gclk *)hw)->GENCTRL[index].reg = tmp;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_clear_GENCTRL_DIV_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg &= ~GCLK_GENCTRL_DIV(mask);
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_toggle_GENCTRL_DIV_bf(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg ^= GCLK_GENCTRL_DIV(mask);
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gclk_genctrl_reg_t hri_gclk_read_GENCTRL_DIV_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp = (tmp & GCLK_GENCTRL_DIV_Msk) >> GCLK_GENCTRL_DIV_Pos;
+ return tmp;
+}
+
+static inline void hri_gclk_set_GENCTRL_reg(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg |= mask;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gclk_genctrl_reg_t hri_gclk_get_GENCTRL_reg(const void *const hw, uint8_t index,
+ hri_gclk_genctrl_reg_t mask)
+{
+ uint32_t tmp;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ tmp = ((Gclk *)hw)->GENCTRL[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gclk_write_GENCTRL_reg(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t data)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg = data;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_clear_GENCTRL_reg(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg &= ~mask;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_toggle_GENCTRL_reg(const void *const hw, uint8_t index, hri_gclk_genctrl_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->GENCTRL[index].reg ^= mask;
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gclk_genctrl_reg_t hri_gclk_read_GENCTRL_reg(const void *const hw, uint8_t index)
+{
+ hri_gclk_wait_for_sync(hw, GCLK_SYNCBUSY_MASK);
+ return ((Gclk *)hw)->GENCTRL[index].reg;
+}
+
+static inline void hri_gclk_set_PCHCTRL_CHEN_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->PCHCTRL[index].reg |= GCLK_PCHCTRL_CHEN;
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_gclk_get_PCHCTRL_CHEN_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->PCHCTRL[index].reg;
+ tmp = (tmp & GCLK_PCHCTRL_CHEN) >> GCLK_PCHCTRL_CHEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_gclk_write_PCHCTRL_CHEN_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ GCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Gclk *)hw)->PCHCTRL[index].reg;
+ tmp &= ~GCLK_PCHCTRL_CHEN;
+ tmp |= value << GCLK_PCHCTRL_CHEN_Pos;
+ ((Gclk *)hw)->PCHCTRL[index].reg = tmp;
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_clear_PCHCTRL_CHEN_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->PCHCTRL[index].reg &= ~GCLK_PCHCTRL_CHEN;
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_toggle_PCHCTRL_CHEN_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->PCHCTRL[index].reg ^= GCLK_PCHCTRL_CHEN;
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_set_PCHCTRL_WRTLOCK_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->PCHCTRL[index].reg |= GCLK_PCHCTRL_WRTLOCK;
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_gclk_get_PCHCTRL_WRTLOCK_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->PCHCTRL[index].reg;
+ tmp = (tmp & GCLK_PCHCTRL_WRTLOCK) >> GCLK_PCHCTRL_WRTLOCK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_gclk_write_PCHCTRL_WRTLOCK_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ GCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Gclk *)hw)->PCHCTRL[index].reg;
+ tmp &= ~GCLK_PCHCTRL_WRTLOCK;
+ tmp |= value << GCLK_PCHCTRL_WRTLOCK_Pos;
+ ((Gclk *)hw)->PCHCTRL[index].reg = tmp;
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_clear_PCHCTRL_WRTLOCK_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->PCHCTRL[index].reg &= ~GCLK_PCHCTRL_WRTLOCK;
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_toggle_PCHCTRL_WRTLOCK_bit(const void *const hw, uint8_t index)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->PCHCTRL[index].reg ^= GCLK_PCHCTRL_WRTLOCK;
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_set_PCHCTRL_GEN_bf(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->PCHCTRL[index].reg |= GCLK_PCHCTRL_GEN(mask);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gclk_pchctrl_reg_t hri_gclk_get_PCHCTRL_GEN_bf(const void *const hw, uint8_t index,
+ hri_gclk_pchctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->PCHCTRL[index].reg;
+ tmp = (tmp & GCLK_PCHCTRL_GEN(mask)) >> GCLK_PCHCTRL_GEN_Pos;
+ return tmp;
+}
+
+static inline void hri_gclk_write_PCHCTRL_GEN_bf(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t data)
+{
+ uint32_t tmp;
+ GCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Gclk *)hw)->PCHCTRL[index].reg;
+ tmp &= ~GCLK_PCHCTRL_GEN_Msk;
+ tmp |= GCLK_PCHCTRL_GEN(data);
+ ((Gclk *)hw)->PCHCTRL[index].reg = tmp;
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_clear_PCHCTRL_GEN_bf(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->PCHCTRL[index].reg &= ~GCLK_PCHCTRL_GEN(mask);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_toggle_PCHCTRL_GEN_bf(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->PCHCTRL[index].reg ^= GCLK_PCHCTRL_GEN(mask);
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gclk_pchctrl_reg_t hri_gclk_read_PCHCTRL_GEN_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->PCHCTRL[index].reg;
+ tmp = (tmp & GCLK_PCHCTRL_GEN_Msk) >> GCLK_PCHCTRL_GEN_Pos;
+ return tmp;
+}
+
+static inline void hri_gclk_set_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->PCHCTRL[index].reg |= mask;
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gclk_pchctrl_reg_t hri_gclk_get_PCHCTRL_reg(const void *const hw, uint8_t index,
+ hri_gclk_pchctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gclk *)hw)->PCHCTRL[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gclk_write_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t data)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->PCHCTRL[index].reg = data;
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_clear_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->PCHCTRL[index].reg &= ~mask;
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gclk_toggle_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t mask)
+{
+ GCLK_CRITICAL_SECTION_ENTER();
+ ((Gclk *)hw)->PCHCTRL[index].reg ^= mask;
+ GCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gclk_pchctrl_reg_t hri_gclk_read_PCHCTRL_reg(const void *const hw, uint8_t index)
+{
+ return ((Gclk *)hw)->PCHCTRL[index].reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_GCLK_E54_H_INCLUDED */
+#endif /* _SAME54_GCLK_COMPONENT_ */
diff --git a/hri/hri_gmac_e54.h b/hri/hri_gmac_e54.h
new file mode 100644
index 0000000..2875061
--- /dev/null
+++ b/hri/hri_gmac_e54.h
@@ -0,0 +1,3766 @@
+/**
+ * \file
+ *
+ * \brief SAM GMAC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_GMAC_COMPONENT_
+#ifndef _HRI_GMAC_E54_H_INCLUDED_
+#define _HRI_GMAC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_GMAC_CRITICAL_SECTIONS)
+#define GMAC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define GMAC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define GMAC_CRITICAL_SECTION_ENTER()
+#define GMAC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_gmac_ae_reg_t;
+typedef uint32_t hri_gmac_bcfr_reg_t;
+typedef uint32_t hri_gmac_bcft_reg_t;
+typedef uint32_t hri_gmac_bfr64_reg_t;
+typedef uint32_t hri_gmac_bft64_reg_t;
+typedef uint32_t hri_gmac_cse_reg_t;
+typedef uint32_t hri_gmac_dcfgr_reg_t;
+typedef uint32_t hri_gmac_dtf_reg_t;
+typedef uint32_t hri_gmac_ec_reg_t;
+typedef uint32_t hri_gmac_efrn_reg_t;
+typedef uint32_t hri_gmac_efrsh_reg_t;
+typedef uint32_t hri_gmac_efrsl_reg_t;
+typedef uint32_t hri_gmac_eftn_reg_t;
+typedef uint32_t hri_gmac_eftsh_reg_t;
+typedef uint32_t hri_gmac_eftsl_reg_t;
+typedef uint32_t hri_gmac_fcse_reg_t;
+typedef uint32_t hri_gmac_fr_reg_t;
+typedef uint32_t hri_gmac_ft_reg_t;
+typedef uint32_t hri_gmac_gtbft1518_reg_t;
+typedef uint32_t hri_gmac_hrb_reg_t;
+typedef uint32_t hri_gmac_hrt_reg_t;
+typedef uint32_t hri_gmac_ihce_reg_t;
+typedef uint32_t hri_gmac_imr_reg_t;
+typedef uint32_t hri_gmac_ipgs_reg_t;
+typedef uint32_t hri_gmac_isr_reg_t;
+typedef uint32_t hri_gmac_jr_reg_t;
+typedef uint32_t hri_gmac_lc_reg_t;
+typedef uint32_t hri_gmac_lffe_reg_t;
+typedef uint32_t hri_gmac_man_reg_t;
+typedef uint32_t hri_gmac_mcf_reg_t;
+typedef uint32_t hri_gmac_mfr_reg_t;
+typedef uint32_t hri_gmac_mft_reg_t;
+typedef uint32_t hri_gmac_ncfgr_reg_t;
+typedef uint32_t hri_gmac_ncr_reg_t;
+typedef uint32_t hri_gmac_nsc_reg_t;
+typedef uint32_t hri_gmac_nsr_reg_t;
+typedef uint32_t hri_gmac_ofr_reg_t;
+typedef uint32_t hri_gmac_orhi_reg_t;
+typedef uint32_t hri_gmac_orlo_reg_t;
+typedef uint32_t hri_gmac_othi_reg_t;
+typedef uint32_t hri_gmac_otlo_reg_t;
+typedef uint32_t hri_gmac_pefrn_reg_t;
+typedef uint32_t hri_gmac_pefrsh_reg_t;
+typedef uint32_t hri_gmac_pefrsl_reg_t;
+typedef uint32_t hri_gmac_peftn_reg_t;
+typedef uint32_t hri_gmac_peftsh_reg_t;
+typedef uint32_t hri_gmac_peftsl_reg_t;
+typedef uint32_t hri_gmac_pfr_reg_t;
+typedef uint32_t hri_gmac_pft_reg_t;
+typedef uint32_t hri_gmac_rbqb_reg_t;
+typedef uint32_t hri_gmac_rjfml_reg_t;
+typedef uint32_t hri_gmac_rlpiti_reg_t;
+typedef uint32_t hri_gmac_rlpitr_reg_t;
+typedef uint32_t hri_gmac_roe_reg_t;
+typedef uint32_t hri_gmac_rpq_reg_t;
+typedef uint32_t hri_gmac_rpsf_reg_t;
+typedef uint32_t hri_gmac_rre_reg_t;
+typedef uint32_t hri_gmac_rse_reg_t;
+typedef uint32_t hri_gmac_rsr_reg_t;
+typedef uint32_t hri_gmac_sab_reg_t;
+typedef uint32_t hri_gmac_samb1_reg_t;
+typedef uint32_t hri_gmac_samt1_reg_t;
+typedef uint32_t hri_gmac_sat_reg_t;
+typedef uint32_t hri_gmac_scf_reg_t;
+typedef uint32_t hri_gmac_sch_reg_t;
+typedef uint32_t hri_gmac_scl_reg_t;
+typedef uint32_t hri_gmac_svlan_reg_t;
+typedef uint32_t hri_gmac_ta_reg_t;
+typedef uint32_t hri_gmac_tbfr1023_reg_t;
+typedef uint32_t hri_gmac_tbfr127_reg_t;
+typedef uint32_t hri_gmac_tbfr1518_reg_t;
+typedef uint32_t hri_gmac_tbfr255_reg_t;
+typedef uint32_t hri_gmac_tbfr511_reg_t;
+typedef uint32_t hri_gmac_tbft1023_reg_t;
+typedef uint32_t hri_gmac_tbft127_reg_t;
+typedef uint32_t hri_gmac_tbft1518_reg_t;
+typedef uint32_t hri_gmac_tbft255_reg_t;
+typedef uint32_t hri_gmac_tbft511_reg_t;
+typedef uint32_t hri_gmac_tbqb_reg_t;
+typedef uint32_t hri_gmac_tce_reg_t;
+typedef uint32_t hri_gmac_ti_reg_t;
+typedef uint32_t hri_gmac_tidm_reg_t;
+typedef uint32_t hri_gmac_tisubn_reg_t;
+typedef uint32_t hri_gmac_tlpiti_reg_t;
+typedef uint32_t hri_gmac_tlpitr_reg_t;
+typedef uint32_t hri_gmac_tmxbfr_reg_t;
+typedef uint32_t hri_gmac_tn_reg_t;
+typedef uint32_t hri_gmac_tpfcp_reg_t;
+typedef uint32_t hri_gmac_tpq_reg_t;
+typedef uint32_t hri_gmac_tpsf_reg_t;
+typedef uint32_t hri_gmac_tsh_reg_t;
+typedef uint32_t hri_gmac_tsl_reg_t;
+typedef uint32_t hri_gmac_tsr_reg_t;
+typedef uint32_t hri_gmac_tssn_reg_t;
+typedef uint32_t hri_gmac_tsssl_reg_t;
+typedef uint32_t hri_gmac_tur_reg_t;
+typedef uint32_t hri_gmac_uce_reg_t;
+typedef uint32_t hri_gmac_ufr_reg_t;
+typedef uint32_t hri_gmac_ur_reg_t;
+typedef uint32_t hri_gmac_wol_reg_t;
+typedef uint32_t hri_gmacsa_sab_reg_t;
+typedef uint32_t hri_gmacsa_sat_reg_t;
+
+static inline void hri_gmacsa_set_SAB_reg(const void *const hw, hri_gmac_sab_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((GmacSa *)hw)->SAB.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_sab_reg_t hri_gmacsa_get_SAB_reg(const void *const hw, hri_gmac_sab_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((GmacSa *)hw)->SAB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmacsa_write_SAB_reg(const void *const hw, hri_gmac_sab_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((GmacSa *)hw)->SAB.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmacsa_clear_SAB_reg(const void *const hw, hri_gmac_sab_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((GmacSa *)hw)->SAB.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmacsa_toggle_SAB_reg(const void *const hw, hri_gmac_sab_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((GmacSa *)hw)->SAB.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_sab_reg_t hri_gmacsa_read_SAB_reg(const void *const hw)
+{
+ return ((GmacSa *)hw)->SAB.reg;
+}
+
+static inline void hri_gmacsa_set_SAT_reg(const void *const hw, hri_gmac_sat_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((GmacSa *)hw)->SAT.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_sat_reg_t hri_gmacsa_get_SAT_reg(const void *const hw, hri_gmac_sat_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((GmacSa *)hw)->SAT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmacsa_write_SAT_reg(const void *const hw, hri_gmac_sat_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((GmacSa *)hw)->SAT.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmacsa_clear_SAT_reg(const void *const hw, hri_gmac_sat_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((GmacSa *)hw)->SAT.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmacsa_toggle_SAT_reg(const void *const hw, hri_gmac_sat_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((GmacSa *)hw)->SAT.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_sat_reg_t hri_gmacsa_read_SAT_reg(const void *const hw)
+{
+ return ((GmacSa *)hw)->SAT.reg;
+}
+
+static inline void hri_gmac_set_SAB_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sab_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->Sa[submodule_index].SAB.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_sab_reg_t hri_gmac_get_SAB_reg(const void *const hw, uint8_t submodule_index,
+ hri_gmac_sab_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->Sa[submodule_index].SAB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_SAB_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sab_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->Sa[submodule_index].SAB.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_SAB_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sab_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->Sa[submodule_index].SAB.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_SAB_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sab_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->Sa[submodule_index].SAB.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_sab_reg_t hri_gmac_read_SAB_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Gmac *)hw)->Sa[submodule_index].SAB.reg;
+}
+
+static inline void hri_gmac_set_SAT_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sat_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->Sa[submodule_index].SAT.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_sat_reg_t hri_gmac_get_SAT_reg(const void *const hw, uint8_t submodule_index,
+ hri_gmac_sat_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->Sa[submodule_index].SAT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_SAT_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sat_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->Sa[submodule_index].SAT.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_SAT_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sat_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->Sa[submodule_index].SAT.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_SAT_reg(const void *const hw, uint8_t submodule_index, hri_gmac_sat_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->Sa[submodule_index].SAT.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_sat_reg_t hri_gmac_read_SAT_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Gmac *)hw)->Sa[submodule_index].SAT.reg;
+}
+
+static inline void hri_gmac_set_IMR_MFS_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_MFS;
+}
+
+static inline bool hri_gmac_get_IMR_MFS_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_MFS) >> GMAC_IMR_MFS_Pos;
+}
+
+static inline void hri_gmac_write_IMR_MFS_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_MFS;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_MFS;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_MFS_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_MFS;
+}
+
+static inline void hri_gmac_set_IMR_RCOMP_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_RCOMP;
+}
+
+static inline bool hri_gmac_get_IMR_RCOMP_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_RCOMP) >> GMAC_IMR_RCOMP_Pos;
+}
+
+static inline void hri_gmac_write_IMR_RCOMP_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_RCOMP;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_RCOMP;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_RCOMP_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_RCOMP;
+}
+
+static inline void hri_gmac_set_IMR_RXUBR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_RXUBR;
+}
+
+static inline bool hri_gmac_get_IMR_RXUBR_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_RXUBR) >> GMAC_IMR_RXUBR_Pos;
+}
+
+static inline void hri_gmac_write_IMR_RXUBR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_RXUBR;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_RXUBR;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_RXUBR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_RXUBR;
+}
+
+static inline void hri_gmac_set_IMR_TXUBR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_TXUBR;
+}
+
+static inline bool hri_gmac_get_IMR_TXUBR_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_TXUBR) >> GMAC_IMR_TXUBR_Pos;
+}
+
+static inline void hri_gmac_write_IMR_TXUBR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_TXUBR;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_TXUBR;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_TXUBR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_TXUBR;
+}
+
+static inline void hri_gmac_set_IMR_TUR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_TUR;
+}
+
+static inline bool hri_gmac_get_IMR_TUR_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_TUR) >> GMAC_IMR_TUR_Pos;
+}
+
+static inline void hri_gmac_write_IMR_TUR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_TUR;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_TUR;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_TUR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_TUR;
+}
+
+static inline void hri_gmac_set_IMR_RLEX_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_RLEX;
+}
+
+static inline bool hri_gmac_get_IMR_RLEX_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_RLEX) >> GMAC_IMR_RLEX_Pos;
+}
+
+static inline void hri_gmac_write_IMR_RLEX_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_RLEX;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_RLEX;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_RLEX_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_RLEX;
+}
+
+static inline void hri_gmac_set_IMR_TFC_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_TFC;
+}
+
+static inline bool hri_gmac_get_IMR_TFC_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_TFC) >> GMAC_IMR_TFC_Pos;
+}
+
+static inline void hri_gmac_write_IMR_TFC_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_TFC;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_TFC;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_TFC_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_TFC;
+}
+
+static inline void hri_gmac_set_IMR_TCOMP_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_TCOMP;
+}
+
+static inline bool hri_gmac_get_IMR_TCOMP_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_TCOMP) >> GMAC_IMR_TCOMP_Pos;
+}
+
+static inline void hri_gmac_write_IMR_TCOMP_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_TCOMP;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_TCOMP;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_TCOMP_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_TCOMP;
+}
+
+static inline void hri_gmac_set_IMR_ROVR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_ROVR;
+}
+
+static inline bool hri_gmac_get_IMR_ROVR_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_ROVR) >> GMAC_IMR_ROVR_Pos;
+}
+
+static inline void hri_gmac_write_IMR_ROVR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_ROVR;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_ROVR;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_ROVR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_ROVR;
+}
+
+static inline void hri_gmac_set_IMR_HRESP_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_HRESP;
+}
+
+static inline bool hri_gmac_get_IMR_HRESP_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_HRESP) >> GMAC_IMR_HRESP_Pos;
+}
+
+static inline void hri_gmac_write_IMR_HRESP_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_HRESP;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_HRESP;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_HRESP_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_HRESP;
+}
+
+static inline void hri_gmac_set_IMR_PFNZ_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_PFNZ;
+}
+
+static inline bool hri_gmac_get_IMR_PFNZ_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_PFNZ) >> GMAC_IMR_PFNZ_Pos;
+}
+
+static inline void hri_gmac_write_IMR_PFNZ_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_PFNZ;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_PFNZ;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_PFNZ_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_PFNZ;
+}
+
+static inline void hri_gmac_set_IMR_PTZ_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_PTZ;
+}
+
+static inline bool hri_gmac_get_IMR_PTZ_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_PTZ) >> GMAC_IMR_PTZ_Pos;
+}
+
+static inline void hri_gmac_write_IMR_PTZ_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_PTZ;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_PTZ;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_PTZ_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_PTZ;
+}
+
+static inline void hri_gmac_set_IMR_PFTR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_PFTR;
+}
+
+static inline bool hri_gmac_get_IMR_PFTR_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_PFTR) >> GMAC_IMR_PFTR_Pos;
+}
+
+static inline void hri_gmac_write_IMR_PFTR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_PFTR;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_PFTR;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_PFTR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_PFTR;
+}
+
+static inline void hri_gmac_set_IMR_EXINT_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_EXINT;
+}
+
+static inline bool hri_gmac_get_IMR_EXINT_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_EXINT) >> GMAC_IMR_EXINT_Pos;
+}
+
+static inline void hri_gmac_write_IMR_EXINT_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_EXINT;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_EXINT;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_EXINT_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_EXINT;
+}
+
+static inline void hri_gmac_set_IMR_DRQFR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_DRQFR;
+}
+
+static inline bool hri_gmac_get_IMR_DRQFR_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_DRQFR) >> GMAC_IMR_DRQFR_Pos;
+}
+
+static inline void hri_gmac_write_IMR_DRQFR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_DRQFR;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_DRQFR;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_DRQFR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_DRQFR;
+}
+
+static inline void hri_gmac_set_IMR_SFR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_SFR;
+}
+
+static inline bool hri_gmac_get_IMR_SFR_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_SFR) >> GMAC_IMR_SFR_Pos;
+}
+
+static inline void hri_gmac_write_IMR_SFR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_SFR;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_SFR;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_SFR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_SFR;
+}
+
+static inline void hri_gmac_set_IMR_DRQFT_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_DRQFT;
+}
+
+static inline bool hri_gmac_get_IMR_DRQFT_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_DRQFT) >> GMAC_IMR_DRQFT_Pos;
+}
+
+static inline void hri_gmac_write_IMR_DRQFT_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_DRQFT;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_DRQFT;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_DRQFT_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_DRQFT;
+}
+
+static inline void hri_gmac_set_IMR_SFT_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_SFT;
+}
+
+static inline bool hri_gmac_get_IMR_SFT_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_SFT) >> GMAC_IMR_SFT_Pos;
+}
+
+static inline void hri_gmac_write_IMR_SFT_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_SFT;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_SFT;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_SFT_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_SFT;
+}
+
+static inline void hri_gmac_set_IMR_PDRQFR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRQFR;
+}
+
+static inline bool hri_gmac_get_IMR_PDRQFR_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_PDRQFR) >> GMAC_IMR_PDRQFR_Pos;
+}
+
+static inline void hri_gmac_write_IMR_PDRQFR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRQFR;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRQFR;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_PDRQFR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRQFR;
+}
+
+static inline void hri_gmac_set_IMR_PDRSFR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRSFR;
+}
+
+static inline bool hri_gmac_get_IMR_PDRSFR_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_PDRSFR) >> GMAC_IMR_PDRSFR_Pos;
+}
+
+static inline void hri_gmac_write_IMR_PDRSFR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRSFR;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRSFR;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_PDRSFR_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRSFR;
+}
+
+static inline void hri_gmac_set_IMR_PDRQFT_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRQFT;
+}
+
+static inline bool hri_gmac_get_IMR_PDRQFT_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_PDRQFT) >> GMAC_IMR_PDRQFT_Pos;
+}
+
+static inline void hri_gmac_write_IMR_PDRQFT_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRQFT;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRQFT;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_PDRQFT_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRQFT;
+}
+
+static inline void hri_gmac_set_IMR_PDRSFT_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRSFT;
+}
+
+static inline bool hri_gmac_get_IMR_PDRSFT_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_PDRSFT) >> GMAC_IMR_PDRSFT_Pos;
+}
+
+static inline void hri_gmac_write_IMR_PDRSFT_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRSFT;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_PDRSFT;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_PDRSFT_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_PDRSFT;
+}
+
+static inline void hri_gmac_set_IMR_SRI_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_SRI;
+}
+
+static inline bool hri_gmac_get_IMR_SRI_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_SRI) >> GMAC_IMR_SRI_Pos;
+}
+
+static inline void hri_gmac_write_IMR_SRI_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_SRI;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_SRI;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_SRI_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_SRI;
+}
+
+static inline void hri_gmac_set_IMR_WOL_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_WOL;
+}
+
+static inline bool hri_gmac_get_IMR_WOL_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_WOL) >> GMAC_IMR_WOL_Pos;
+}
+
+static inline void hri_gmac_write_IMR_WOL_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_WOL;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_WOL;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_WOL_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_WOL;
+}
+
+static inline void hri_gmac_set_IMR_TSUCMP_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_TSUCMP;
+}
+
+static inline bool hri_gmac_get_IMR_TSUCMP_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->IMR.reg & GMAC_IMR_TSUCMP) >> GMAC_IMR_TSUCMP_Pos;
+}
+
+static inline void hri_gmac_write_IMR_TSUCMP_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_TSUCMP;
+ } else {
+ ((Gmac *)hw)->IER.reg = GMAC_IMR_TSUCMP;
+ }
+}
+
+static inline void hri_gmac_clear_IMR_TSUCMP_bit(const void *const hw)
+{
+ ((Gmac *)hw)->IDR.reg = GMAC_IMR_TSUCMP;
+}
+
+static inline void hri_gmac_set_IMR_reg(const void *const hw, hri_gmac_imr_reg_t mask)
+{
+ ((Gmac *)hw)->IER.reg = mask;
+}
+
+static inline hri_gmac_imr_reg_t hri_gmac_get_IMR_reg(const void *const hw, hri_gmac_imr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->IMR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_imr_reg_t hri_gmac_read_IMR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->IMR.reg;
+}
+
+static inline void hri_gmac_write_IMR_reg(const void *const hw, hri_gmac_imr_reg_t data)
+{
+ ((Gmac *)hw)->IER.reg = data;
+ ((Gmac *)hw)->IDR.reg = ~data;
+}
+
+static inline void hri_gmac_clear_IMR_reg(const void *const hw, hri_gmac_imr_reg_t mask)
+{
+ ((Gmac *)hw)->IDR.reg = mask;
+}
+
+static inline bool hri_gmac_get_NSR_MDIO_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->NSR.reg & GMAC_NSR_MDIO) >> GMAC_NSR_MDIO_Pos;
+}
+
+static inline bool hri_gmac_get_NSR_IDLE_bit(const void *const hw)
+{
+ return (((Gmac *)hw)->NSR.reg & GMAC_NSR_IDLE) >> GMAC_NSR_IDLE_Pos;
+}
+
+static inline hri_gmac_nsr_reg_t hri_gmac_get_NSR_reg(const void *const hw, hri_gmac_nsr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->NSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_nsr_reg_t hri_gmac_read_NSR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->NSR.reg;
+}
+
+static inline hri_gmac_rpq_reg_t hri_gmac_get_RPQ_RPQ_bf(const void *const hw, hri_gmac_rpq_reg_t mask)
+{
+ return (((Gmac *)hw)->RPQ.reg & GMAC_RPQ_RPQ(mask)) >> GMAC_RPQ_RPQ_Pos;
+}
+
+static inline hri_gmac_rpq_reg_t hri_gmac_read_RPQ_RPQ_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->RPQ.reg & GMAC_RPQ_RPQ_Msk) >> GMAC_RPQ_RPQ_Pos;
+}
+
+static inline hri_gmac_rpq_reg_t hri_gmac_get_RPQ_reg(const void *const hw, hri_gmac_rpq_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->RPQ.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_rpq_reg_t hri_gmac_read_RPQ_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->RPQ.reg;
+}
+
+static inline hri_gmac_eftsh_reg_t hri_gmac_get_EFTSH_RUD_bf(const void *const hw, hri_gmac_eftsh_reg_t mask)
+{
+ return (((Gmac *)hw)->EFTSH.reg & GMAC_EFTSH_RUD(mask)) >> GMAC_EFTSH_RUD_Pos;
+}
+
+static inline hri_gmac_eftsh_reg_t hri_gmac_read_EFTSH_RUD_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->EFTSH.reg & GMAC_EFTSH_RUD_Msk) >> GMAC_EFTSH_RUD_Pos;
+}
+
+static inline hri_gmac_eftsh_reg_t hri_gmac_get_EFTSH_reg(const void *const hw, hri_gmac_eftsh_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->EFTSH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_eftsh_reg_t hri_gmac_read_EFTSH_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->EFTSH.reg;
+}
+
+static inline hri_gmac_efrsh_reg_t hri_gmac_get_EFRSH_RUD_bf(const void *const hw, hri_gmac_efrsh_reg_t mask)
+{
+ return (((Gmac *)hw)->EFRSH.reg & GMAC_EFRSH_RUD(mask)) >> GMAC_EFRSH_RUD_Pos;
+}
+
+static inline hri_gmac_efrsh_reg_t hri_gmac_read_EFRSH_RUD_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->EFRSH.reg & GMAC_EFRSH_RUD_Msk) >> GMAC_EFRSH_RUD_Pos;
+}
+
+static inline hri_gmac_efrsh_reg_t hri_gmac_get_EFRSH_reg(const void *const hw, hri_gmac_efrsh_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->EFRSH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_efrsh_reg_t hri_gmac_read_EFRSH_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->EFRSH.reg;
+}
+
+static inline hri_gmac_peftsh_reg_t hri_gmac_get_PEFTSH_RUD_bf(const void *const hw, hri_gmac_peftsh_reg_t mask)
+{
+ return (((Gmac *)hw)->PEFTSH.reg & GMAC_PEFTSH_RUD(mask)) >> GMAC_PEFTSH_RUD_Pos;
+}
+
+static inline hri_gmac_peftsh_reg_t hri_gmac_read_PEFTSH_RUD_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->PEFTSH.reg & GMAC_PEFTSH_RUD_Msk) >> GMAC_PEFTSH_RUD_Pos;
+}
+
+static inline hri_gmac_peftsh_reg_t hri_gmac_get_PEFTSH_reg(const void *const hw, hri_gmac_peftsh_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->PEFTSH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_peftsh_reg_t hri_gmac_read_PEFTSH_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->PEFTSH.reg;
+}
+
+static inline hri_gmac_pefrsh_reg_t hri_gmac_get_PEFRSH_RUD_bf(const void *const hw, hri_gmac_pefrsh_reg_t mask)
+{
+ return (((Gmac *)hw)->PEFRSH.reg & GMAC_PEFRSH_RUD(mask)) >> GMAC_PEFRSH_RUD_Pos;
+}
+
+static inline hri_gmac_pefrsh_reg_t hri_gmac_read_PEFRSH_RUD_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->PEFRSH.reg & GMAC_PEFRSH_RUD_Msk) >> GMAC_PEFRSH_RUD_Pos;
+}
+
+static inline hri_gmac_pefrsh_reg_t hri_gmac_get_PEFRSH_reg(const void *const hw, hri_gmac_pefrsh_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->PEFRSH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_pefrsh_reg_t hri_gmac_read_PEFRSH_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->PEFRSH.reg;
+}
+
+static inline hri_gmac_otlo_reg_t hri_gmac_get_OTLO_TXO_bf(const void *const hw, hri_gmac_otlo_reg_t mask)
+{
+ return (((Gmac *)hw)->OTLO.reg & GMAC_OTLO_TXO(mask)) >> GMAC_OTLO_TXO_Pos;
+}
+
+static inline hri_gmac_otlo_reg_t hri_gmac_read_OTLO_TXO_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->OTLO.reg & GMAC_OTLO_TXO_Msk) >> GMAC_OTLO_TXO_Pos;
+}
+
+static inline hri_gmac_otlo_reg_t hri_gmac_get_OTLO_reg(const void *const hw, hri_gmac_otlo_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->OTLO.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_otlo_reg_t hri_gmac_read_OTLO_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->OTLO.reg;
+}
+
+static inline hri_gmac_othi_reg_t hri_gmac_get_OTHI_TXO_bf(const void *const hw, hri_gmac_othi_reg_t mask)
+{
+ return (((Gmac *)hw)->OTHI.reg & GMAC_OTHI_TXO(mask)) >> GMAC_OTHI_TXO_Pos;
+}
+
+static inline hri_gmac_othi_reg_t hri_gmac_read_OTHI_TXO_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->OTHI.reg & GMAC_OTHI_TXO_Msk) >> GMAC_OTHI_TXO_Pos;
+}
+
+static inline hri_gmac_othi_reg_t hri_gmac_get_OTHI_reg(const void *const hw, hri_gmac_othi_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->OTHI.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_othi_reg_t hri_gmac_read_OTHI_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->OTHI.reg;
+}
+
+static inline hri_gmac_ft_reg_t hri_gmac_get_FT_FTX_bf(const void *const hw, hri_gmac_ft_reg_t mask)
+{
+ return (((Gmac *)hw)->FT.reg & GMAC_FT_FTX(mask)) >> GMAC_FT_FTX_Pos;
+}
+
+static inline hri_gmac_ft_reg_t hri_gmac_read_FT_FTX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->FT.reg & GMAC_FT_FTX_Msk) >> GMAC_FT_FTX_Pos;
+}
+
+static inline hri_gmac_ft_reg_t hri_gmac_get_FT_reg(const void *const hw, hri_gmac_ft_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->FT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_ft_reg_t hri_gmac_read_FT_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->FT.reg;
+}
+
+static inline hri_gmac_bcft_reg_t hri_gmac_get_BCFT_BFTX_bf(const void *const hw, hri_gmac_bcft_reg_t mask)
+{
+ return (((Gmac *)hw)->BCFT.reg & GMAC_BCFT_BFTX(mask)) >> GMAC_BCFT_BFTX_Pos;
+}
+
+static inline hri_gmac_bcft_reg_t hri_gmac_read_BCFT_BFTX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->BCFT.reg & GMAC_BCFT_BFTX_Msk) >> GMAC_BCFT_BFTX_Pos;
+}
+
+static inline hri_gmac_bcft_reg_t hri_gmac_get_BCFT_reg(const void *const hw, hri_gmac_bcft_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->BCFT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_bcft_reg_t hri_gmac_read_BCFT_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->BCFT.reg;
+}
+
+static inline hri_gmac_mft_reg_t hri_gmac_get_MFT_MFTX_bf(const void *const hw, hri_gmac_mft_reg_t mask)
+{
+ return (((Gmac *)hw)->MFT.reg & GMAC_MFT_MFTX(mask)) >> GMAC_MFT_MFTX_Pos;
+}
+
+static inline hri_gmac_mft_reg_t hri_gmac_read_MFT_MFTX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->MFT.reg & GMAC_MFT_MFTX_Msk) >> GMAC_MFT_MFTX_Pos;
+}
+
+static inline hri_gmac_mft_reg_t hri_gmac_get_MFT_reg(const void *const hw, hri_gmac_mft_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->MFT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_mft_reg_t hri_gmac_read_MFT_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->MFT.reg;
+}
+
+static inline hri_gmac_pft_reg_t hri_gmac_get_PFT_PFTX_bf(const void *const hw, hri_gmac_pft_reg_t mask)
+{
+ return (((Gmac *)hw)->PFT.reg & GMAC_PFT_PFTX(mask)) >> GMAC_PFT_PFTX_Pos;
+}
+
+static inline hri_gmac_pft_reg_t hri_gmac_read_PFT_PFTX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->PFT.reg & GMAC_PFT_PFTX_Msk) >> GMAC_PFT_PFTX_Pos;
+}
+
+static inline hri_gmac_pft_reg_t hri_gmac_get_PFT_reg(const void *const hw, hri_gmac_pft_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->PFT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_pft_reg_t hri_gmac_read_PFT_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->PFT.reg;
+}
+
+static inline hri_gmac_bft64_reg_t hri_gmac_get_BFT64_NFTX_bf(const void *const hw, hri_gmac_bft64_reg_t mask)
+{
+ return (((Gmac *)hw)->BFT64.reg & GMAC_BFT64_NFTX(mask)) >> GMAC_BFT64_NFTX_Pos;
+}
+
+static inline hri_gmac_bft64_reg_t hri_gmac_read_BFT64_NFTX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->BFT64.reg & GMAC_BFT64_NFTX_Msk) >> GMAC_BFT64_NFTX_Pos;
+}
+
+static inline hri_gmac_bft64_reg_t hri_gmac_get_BFT64_reg(const void *const hw, hri_gmac_bft64_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->BFT64.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_bft64_reg_t hri_gmac_read_BFT64_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->BFT64.reg;
+}
+
+static inline hri_gmac_tbft127_reg_t hri_gmac_get_TBFT127_NFTX_bf(const void *const hw, hri_gmac_tbft127_reg_t mask)
+{
+ return (((Gmac *)hw)->TBFT127.reg & GMAC_TBFT127_NFTX(mask)) >> GMAC_TBFT127_NFTX_Pos;
+}
+
+static inline hri_gmac_tbft127_reg_t hri_gmac_read_TBFT127_NFTX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->TBFT127.reg & GMAC_TBFT127_NFTX_Msk) >> GMAC_TBFT127_NFTX_Pos;
+}
+
+static inline hri_gmac_tbft127_reg_t hri_gmac_get_TBFT127_reg(const void *const hw, hri_gmac_tbft127_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TBFT127.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_tbft127_reg_t hri_gmac_read_TBFT127_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TBFT127.reg;
+}
+
+static inline hri_gmac_tbft255_reg_t hri_gmac_get_TBFT255_NFTX_bf(const void *const hw, hri_gmac_tbft255_reg_t mask)
+{
+ return (((Gmac *)hw)->TBFT255.reg & GMAC_TBFT255_NFTX(mask)) >> GMAC_TBFT255_NFTX_Pos;
+}
+
+static inline hri_gmac_tbft255_reg_t hri_gmac_read_TBFT255_NFTX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->TBFT255.reg & GMAC_TBFT255_NFTX_Msk) >> GMAC_TBFT255_NFTX_Pos;
+}
+
+static inline hri_gmac_tbft255_reg_t hri_gmac_get_TBFT255_reg(const void *const hw, hri_gmac_tbft255_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TBFT255.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_tbft255_reg_t hri_gmac_read_TBFT255_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TBFT255.reg;
+}
+
+static inline hri_gmac_tbft511_reg_t hri_gmac_get_TBFT511_NFTX_bf(const void *const hw, hri_gmac_tbft511_reg_t mask)
+{
+ return (((Gmac *)hw)->TBFT511.reg & GMAC_TBFT511_NFTX(mask)) >> GMAC_TBFT511_NFTX_Pos;
+}
+
+static inline hri_gmac_tbft511_reg_t hri_gmac_read_TBFT511_NFTX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->TBFT511.reg & GMAC_TBFT511_NFTX_Msk) >> GMAC_TBFT511_NFTX_Pos;
+}
+
+static inline hri_gmac_tbft511_reg_t hri_gmac_get_TBFT511_reg(const void *const hw, hri_gmac_tbft511_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TBFT511.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_tbft511_reg_t hri_gmac_read_TBFT511_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TBFT511.reg;
+}
+
+static inline hri_gmac_tbft1023_reg_t hri_gmac_get_TBFT1023_NFTX_bf(const void *const hw, hri_gmac_tbft1023_reg_t mask)
+{
+ return (((Gmac *)hw)->TBFT1023.reg & GMAC_TBFT1023_NFTX(mask)) >> GMAC_TBFT1023_NFTX_Pos;
+}
+
+static inline hri_gmac_tbft1023_reg_t hri_gmac_read_TBFT1023_NFTX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->TBFT1023.reg & GMAC_TBFT1023_NFTX_Msk) >> GMAC_TBFT1023_NFTX_Pos;
+}
+
+static inline hri_gmac_tbft1023_reg_t hri_gmac_get_TBFT1023_reg(const void *const hw, hri_gmac_tbft1023_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TBFT1023.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_tbft1023_reg_t hri_gmac_read_TBFT1023_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TBFT1023.reg;
+}
+
+static inline hri_gmac_tbft1518_reg_t hri_gmac_get_TBFT1518_NFTX_bf(const void *const hw, hri_gmac_tbft1518_reg_t mask)
+{
+ return (((Gmac *)hw)->TBFT1518.reg & GMAC_TBFT1518_NFTX(mask)) >> GMAC_TBFT1518_NFTX_Pos;
+}
+
+static inline hri_gmac_tbft1518_reg_t hri_gmac_read_TBFT1518_NFTX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->TBFT1518.reg & GMAC_TBFT1518_NFTX_Msk) >> GMAC_TBFT1518_NFTX_Pos;
+}
+
+static inline hri_gmac_tbft1518_reg_t hri_gmac_get_TBFT1518_reg(const void *const hw, hri_gmac_tbft1518_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TBFT1518.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_tbft1518_reg_t hri_gmac_read_TBFT1518_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TBFT1518.reg;
+}
+
+static inline hri_gmac_gtbft1518_reg_t hri_gmac_get_GTBFT1518_NFTX_bf(const void *const hw,
+ hri_gmac_gtbft1518_reg_t mask)
+{
+ return (((Gmac *)hw)->GTBFT1518.reg & GMAC_GTBFT1518_NFTX(mask)) >> GMAC_GTBFT1518_NFTX_Pos;
+}
+
+static inline hri_gmac_gtbft1518_reg_t hri_gmac_read_GTBFT1518_NFTX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->GTBFT1518.reg & GMAC_GTBFT1518_NFTX_Msk) >> GMAC_GTBFT1518_NFTX_Pos;
+}
+
+static inline hri_gmac_gtbft1518_reg_t hri_gmac_get_GTBFT1518_reg(const void *const hw, hri_gmac_gtbft1518_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->GTBFT1518.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_gtbft1518_reg_t hri_gmac_read_GTBFT1518_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->GTBFT1518.reg;
+}
+
+static inline hri_gmac_tur_reg_t hri_gmac_get_TUR_TXUNR_bf(const void *const hw, hri_gmac_tur_reg_t mask)
+{
+ return (((Gmac *)hw)->TUR.reg & GMAC_TUR_TXUNR(mask)) >> GMAC_TUR_TXUNR_Pos;
+}
+
+static inline hri_gmac_tur_reg_t hri_gmac_read_TUR_TXUNR_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->TUR.reg & GMAC_TUR_TXUNR_Msk) >> GMAC_TUR_TXUNR_Pos;
+}
+
+static inline hri_gmac_tur_reg_t hri_gmac_get_TUR_reg(const void *const hw, hri_gmac_tur_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TUR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_tur_reg_t hri_gmac_read_TUR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TUR.reg;
+}
+
+static inline hri_gmac_scf_reg_t hri_gmac_get_SCF_SCOL_bf(const void *const hw, hri_gmac_scf_reg_t mask)
+{
+ return (((Gmac *)hw)->SCF.reg & GMAC_SCF_SCOL(mask)) >> GMAC_SCF_SCOL_Pos;
+}
+
+static inline hri_gmac_scf_reg_t hri_gmac_read_SCF_SCOL_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->SCF.reg & GMAC_SCF_SCOL_Msk) >> GMAC_SCF_SCOL_Pos;
+}
+
+static inline hri_gmac_scf_reg_t hri_gmac_get_SCF_reg(const void *const hw, hri_gmac_scf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->SCF.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_scf_reg_t hri_gmac_read_SCF_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->SCF.reg;
+}
+
+static inline hri_gmac_mcf_reg_t hri_gmac_get_MCF_MCOL_bf(const void *const hw, hri_gmac_mcf_reg_t mask)
+{
+ return (((Gmac *)hw)->MCF.reg & GMAC_MCF_MCOL(mask)) >> GMAC_MCF_MCOL_Pos;
+}
+
+static inline hri_gmac_mcf_reg_t hri_gmac_read_MCF_MCOL_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->MCF.reg & GMAC_MCF_MCOL_Msk) >> GMAC_MCF_MCOL_Pos;
+}
+
+static inline hri_gmac_mcf_reg_t hri_gmac_get_MCF_reg(const void *const hw, hri_gmac_mcf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->MCF.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_mcf_reg_t hri_gmac_read_MCF_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->MCF.reg;
+}
+
+static inline hri_gmac_ec_reg_t hri_gmac_get_EC_XCOL_bf(const void *const hw, hri_gmac_ec_reg_t mask)
+{
+ return (((Gmac *)hw)->EC.reg & GMAC_EC_XCOL(mask)) >> GMAC_EC_XCOL_Pos;
+}
+
+static inline hri_gmac_ec_reg_t hri_gmac_read_EC_XCOL_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->EC.reg & GMAC_EC_XCOL_Msk) >> GMAC_EC_XCOL_Pos;
+}
+
+static inline hri_gmac_ec_reg_t hri_gmac_get_EC_reg(const void *const hw, hri_gmac_ec_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->EC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_ec_reg_t hri_gmac_read_EC_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->EC.reg;
+}
+
+static inline hri_gmac_lc_reg_t hri_gmac_get_LC_LCOL_bf(const void *const hw, hri_gmac_lc_reg_t mask)
+{
+ return (((Gmac *)hw)->LC.reg & GMAC_LC_LCOL(mask)) >> GMAC_LC_LCOL_Pos;
+}
+
+static inline hri_gmac_lc_reg_t hri_gmac_read_LC_LCOL_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->LC.reg & GMAC_LC_LCOL_Msk) >> GMAC_LC_LCOL_Pos;
+}
+
+static inline hri_gmac_lc_reg_t hri_gmac_get_LC_reg(const void *const hw, hri_gmac_lc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->LC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_lc_reg_t hri_gmac_read_LC_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->LC.reg;
+}
+
+static inline hri_gmac_dtf_reg_t hri_gmac_get_DTF_DEFT_bf(const void *const hw, hri_gmac_dtf_reg_t mask)
+{
+ return (((Gmac *)hw)->DTF.reg & GMAC_DTF_DEFT(mask)) >> GMAC_DTF_DEFT_Pos;
+}
+
+static inline hri_gmac_dtf_reg_t hri_gmac_read_DTF_DEFT_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->DTF.reg & GMAC_DTF_DEFT_Msk) >> GMAC_DTF_DEFT_Pos;
+}
+
+static inline hri_gmac_dtf_reg_t hri_gmac_get_DTF_reg(const void *const hw, hri_gmac_dtf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->DTF.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_dtf_reg_t hri_gmac_read_DTF_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->DTF.reg;
+}
+
+static inline hri_gmac_cse_reg_t hri_gmac_get_CSE_CSR_bf(const void *const hw, hri_gmac_cse_reg_t mask)
+{
+ return (((Gmac *)hw)->CSE.reg & GMAC_CSE_CSR(mask)) >> GMAC_CSE_CSR_Pos;
+}
+
+static inline hri_gmac_cse_reg_t hri_gmac_read_CSE_CSR_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->CSE.reg & GMAC_CSE_CSR_Msk) >> GMAC_CSE_CSR_Pos;
+}
+
+static inline hri_gmac_cse_reg_t hri_gmac_get_CSE_reg(const void *const hw, hri_gmac_cse_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->CSE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_cse_reg_t hri_gmac_read_CSE_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->CSE.reg;
+}
+
+static inline hri_gmac_orlo_reg_t hri_gmac_get_ORLO_RXO_bf(const void *const hw, hri_gmac_orlo_reg_t mask)
+{
+ return (((Gmac *)hw)->ORLO.reg & GMAC_ORLO_RXO(mask)) >> GMAC_ORLO_RXO_Pos;
+}
+
+static inline hri_gmac_orlo_reg_t hri_gmac_read_ORLO_RXO_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->ORLO.reg & GMAC_ORLO_RXO_Msk) >> GMAC_ORLO_RXO_Pos;
+}
+
+static inline hri_gmac_orlo_reg_t hri_gmac_get_ORLO_reg(const void *const hw, hri_gmac_orlo_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->ORLO.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_orlo_reg_t hri_gmac_read_ORLO_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->ORLO.reg;
+}
+
+static inline hri_gmac_orhi_reg_t hri_gmac_get_ORHI_RXO_bf(const void *const hw, hri_gmac_orhi_reg_t mask)
+{
+ return (((Gmac *)hw)->ORHI.reg & GMAC_ORHI_RXO(mask)) >> GMAC_ORHI_RXO_Pos;
+}
+
+static inline hri_gmac_orhi_reg_t hri_gmac_read_ORHI_RXO_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->ORHI.reg & GMAC_ORHI_RXO_Msk) >> GMAC_ORHI_RXO_Pos;
+}
+
+static inline hri_gmac_orhi_reg_t hri_gmac_get_ORHI_reg(const void *const hw, hri_gmac_orhi_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->ORHI.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_orhi_reg_t hri_gmac_read_ORHI_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->ORHI.reg;
+}
+
+static inline hri_gmac_fr_reg_t hri_gmac_get_FR_FRX_bf(const void *const hw, hri_gmac_fr_reg_t mask)
+{
+ return (((Gmac *)hw)->FR.reg & GMAC_FR_FRX(mask)) >> GMAC_FR_FRX_Pos;
+}
+
+static inline hri_gmac_fr_reg_t hri_gmac_read_FR_FRX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->FR.reg & GMAC_FR_FRX_Msk) >> GMAC_FR_FRX_Pos;
+}
+
+static inline hri_gmac_fr_reg_t hri_gmac_get_FR_reg(const void *const hw, hri_gmac_fr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->FR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_fr_reg_t hri_gmac_read_FR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->FR.reg;
+}
+
+static inline hri_gmac_bcfr_reg_t hri_gmac_get_BCFR_BFRX_bf(const void *const hw, hri_gmac_bcfr_reg_t mask)
+{
+ return (((Gmac *)hw)->BCFR.reg & GMAC_BCFR_BFRX(mask)) >> GMAC_BCFR_BFRX_Pos;
+}
+
+static inline hri_gmac_bcfr_reg_t hri_gmac_read_BCFR_BFRX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->BCFR.reg & GMAC_BCFR_BFRX_Msk) >> GMAC_BCFR_BFRX_Pos;
+}
+
+static inline hri_gmac_bcfr_reg_t hri_gmac_get_BCFR_reg(const void *const hw, hri_gmac_bcfr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->BCFR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_bcfr_reg_t hri_gmac_read_BCFR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->BCFR.reg;
+}
+
+static inline hri_gmac_mfr_reg_t hri_gmac_get_MFR_MFRX_bf(const void *const hw, hri_gmac_mfr_reg_t mask)
+{
+ return (((Gmac *)hw)->MFR.reg & GMAC_MFR_MFRX(mask)) >> GMAC_MFR_MFRX_Pos;
+}
+
+static inline hri_gmac_mfr_reg_t hri_gmac_read_MFR_MFRX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->MFR.reg & GMAC_MFR_MFRX_Msk) >> GMAC_MFR_MFRX_Pos;
+}
+
+static inline hri_gmac_mfr_reg_t hri_gmac_get_MFR_reg(const void *const hw, hri_gmac_mfr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->MFR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_mfr_reg_t hri_gmac_read_MFR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->MFR.reg;
+}
+
+static inline hri_gmac_pfr_reg_t hri_gmac_get_PFR_PFRX_bf(const void *const hw, hri_gmac_pfr_reg_t mask)
+{
+ return (((Gmac *)hw)->PFR.reg & GMAC_PFR_PFRX(mask)) >> GMAC_PFR_PFRX_Pos;
+}
+
+static inline hri_gmac_pfr_reg_t hri_gmac_read_PFR_PFRX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->PFR.reg & GMAC_PFR_PFRX_Msk) >> GMAC_PFR_PFRX_Pos;
+}
+
+static inline hri_gmac_pfr_reg_t hri_gmac_get_PFR_reg(const void *const hw, hri_gmac_pfr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->PFR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_pfr_reg_t hri_gmac_read_PFR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->PFR.reg;
+}
+
+static inline hri_gmac_bfr64_reg_t hri_gmac_get_BFR64_NFRX_bf(const void *const hw, hri_gmac_bfr64_reg_t mask)
+{
+ return (((Gmac *)hw)->BFR64.reg & GMAC_BFR64_NFRX(mask)) >> GMAC_BFR64_NFRX_Pos;
+}
+
+static inline hri_gmac_bfr64_reg_t hri_gmac_read_BFR64_NFRX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->BFR64.reg & GMAC_BFR64_NFRX_Msk) >> GMAC_BFR64_NFRX_Pos;
+}
+
+static inline hri_gmac_bfr64_reg_t hri_gmac_get_BFR64_reg(const void *const hw, hri_gmac_bfr64_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->BFR64.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_bfr64_reg_t hri_gmac_read_BFR64_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->BFR64.reg;
+}
+
+static inline hri_gmac_tbfr127_reg_t hri_gmac_get_TBFR127_NFRX_bf(const void *const hw, hri_gmac_tbfr127_reg_t mask)
+{
+ return (((Gmac *)hw)->TBFR127.reg & GMAC_TBFR127_NFRX(mask)) >> GMAC_TBFR127_NFRX_Pos;
+}
+
+static inline hri_gmac_tbfr127_reg_t hri_gmac_read_TBFR127_NFRX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->TBFR127.reg & GMAC_TBFR127_NFRX_Msk) >> GMAC_TBFR127_NFRX_Pos;
+}
+
+static inline hri_gmac_tbfr127_reg_t hri_gmac_get_TBFR127_reg(const void *const hw, hri_gmac_tbfr127_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TBFR127.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_tbfr127_reg_t hri_gmac_read_TBFR127_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TBFR127.reg;
+}
+
+static inline hri_gmac_tbfr255_reg_t hri_gmac_get_TBFR255_NFRX_bf(const void *const hw, hri_gmac_tbfr255_reg_t mask)
+{
+ return (((Gmac *)hw)->TBFR255.reg & GMAC_TBFR255_NFRX(mask)) >> GMAC_TBFR255_NFRX_Pos;
+}
+
+static inline hri_gmac_tbfr255_reg_t hri_gmac_read_TBFR255_NFRX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->TBFR255.reg & GMAC_TBFR255_NFRX_Msk) >> GMAC_TBFR255_NFRX_Pos;
+}
+
+static inline hri_gmac_tbfr255_reg_t hri_gmac_get_TBFR255_reg(const void *const hw, hri_gmac_tbfr255_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TBFR255.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_tbfr255_reg_t hri_gmac_read_TBFR255_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TBFR255.reg;
+}
+
+static inline hri_gmac_tbfr511_reg_t hri_gmac_get_TBFR511_NFRX_bf(const void *const hw, hri_gmac_tbfr511_reg_t mask)
+{
+ return (((Gmac *)hw)->TBFR511.reg & GMAC_TBFR511_NFRX(mask)) >> GMAC_TBFR511_NFRX_Pos;
+}
+
+static inline hri_gmac_tbfr511_reg_t hri_gmac_read_TBFR511_NFRX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->TBFR511.reg & GMAC_TBFR511_NFRX_Msk) >> GMAC_TBFR511_NFRX_Pos;
+}
+
+static inline hri_gmac_tbfr511_reg_t hri_gmac_get_TBFR511_reg(const void *const hw, hri_gmac_tbfr511_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TBFR511.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_tbfr511_reg_t hri_gmac_read_TBFR511_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TBFR511.reg;
+}
+
+static inline hri_gmac_tbfr1023_reg_t hri_gmac_get_TBFR1023_NFRX_bf(const void *const hw, hri_gmac_tbfr1023_reg_t mask)
+{
+ return (((Gmac *)hw)->TBFR1023.reg & GMAC_TBFR1023_NFRX(mask)) >> GMAC_TBFR1023_NFRX_Pos;
+}
+
+static inline hri_gmac_tbfr1023_reg_t hri_gmac_read_TBFR1023_NFRX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->TBFR1023.reg & GMAC_TBFR1023_NFRX_Msk) >> GMAC_TBFR1023_NFRX_Pos;
+}
+
+static inline hri_gmac_tbfr1023_reg_t hri_gmac_get_TBFR1023_reg(const void *const hw, hri_gmac_tbfr1023_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TBFR1023.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_tbfr1023_reg_t hri_gmac_read_TBFR1023_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TBFR1023.reg;
+}
+
+static inline hri_gmac_tbfr1518_reg_t hri_gmac_get_TBFR1518_NFRX_bf(const void *const hw, hri_gmac_tbfr1518_reg_t mask)
+{
+ return (((Gmac *)hw)->TBFR1518.reg & GMAC_TBFR1518_NFRX(mask)) >> GMAC_TBFR1518_NFRX_Pos;
+}
+
+static inline hri_gmac_tbfr1518_reg_t hri_gmac_read_TBFR1518_NFRX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->TBFR1518.reg & GMAC_TBFR1518_NFRX_Msk) >> GMAC_TBFR1518_NFRX_Pos;
+}
+
+static inline hri_gmac_tbfr1518_reg_t hri_gmac_get_TBFR1518_reg(const void *const hw, hri_gmac_tbfr1518_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TBFR1518.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_tbfr1518_reg_t hri_gmac_read_TBFR1518_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TBFR1518.reg;
+}
+
+static inline hri_gmac_tmxbfr_reg_t hri_gmac_get_TMXBFR_NFRX_bf(const void *const hw, hri_gmac_tmxbfr_reg_t mask)
+{
+ return (((Gmac *)hw)->TMXBFR.reg & GMAC_TMXBFR_NFRX(mask)) >> GMAC_TMXBFR_NFRX_Pos;
+}
+
+static inline hri_gmac_tmxbfr_reg_t hri_gmac_read_TMXBFR_NFRX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->TMXBFR.reg & GMAC_TMXBFR_NFRX_Msk) >> GMAC_TMXBFR_NFRX_Pos;
+}
+
+static inline hri_gmac_tmxbfr_reg_t hri_gmac_get_TMXBFR_reg(const void *const hw, hri_gmac_tmxbfr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TMXBFR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_tmxbfr_reg_t hri_gmac_read_TMXBFR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TMXBFR.reg;
+}
+
+static inline hri_gmac_ufr_reg_t hri_gmac_get_UFR_UFRX_bf(const void *const hw, hri_gmac_ufr_reg_t mask)
+{
+ return (((Gmac *)hw)->UFR.reg & GMAC_UFR_UFRX(mask)) >> GMAC_UFR_UFRX_Pos;
+}
+
+static inline hri_gmac_ufr_reg_t hri_gmac_read_UFR_UFRX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->UFR.reg & GMAC_UFR_UFRX_Msk) >> GMAC_UFR_UFRX_Pos;
+}
+
+static inline hri_gmac_ufr_reg_t hri_gmac_get_UFR_reg(const void *const hw, hri_gmac_ufr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->UFR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_ufr_reg_t hri_gmac_read_UFR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->UFR.reg;
+}
+
+static inline hri_gmac_ofr_reg_t hri_gmac_get_OFR_OFRX_bf(const void *const hw, hri_gmac_ofr_reg_t mask)
+{
+ return (((Gmac *)hw)->OFR.reg & GMAC_OFR_OFRX(mask)) >> GMAC_OFR_OFRX_Pos;
+}
+
+static inline hri_gmac_ofr_reg_t hri_gmac_read_OFR_OFRX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->OFR.reg & GMAC_OFR_OFRX_Msk) >> GMAC_OFR_OFRX_Pos;
+}
+
+static inline hri_gmac_ofr_reg_t hri_gmac_get_OFR_reg(const void *const hw, hri_gmac_ofr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->OFR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_ofr_reg_t hri_gmac_read_OFR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->OFR.reg;
+}
+
+static inline hri_gmac_jr_reg_t hri_gmac_get_JR_JRX_bf(const void *const hw, hri_gmac_jr_reg_t mask)
+{
+ return (((Gmac *)hw)->JR.reg & GMAC_JR_JRX(mask)) >> GMAC_JR_JRX_Pos;
+}
+
+static inline hri_gmac_jr_reg_t hri_gmac_read_JR_JRX_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->JR.reg & GMAC_JR_JRX_Msk) >> GMAC_JR_JRX_Pos;
+}
+
+static inline hri_gmac_jr_reg_t hri_gmac_get_JR_reg(const void *const hw, hri_gmac_jr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->JR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_jr_reg_t hri_gmac_read_JR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->JR.reg;
+}
+
+static inline hri_gmac_fcse_reg_t hri_gmac_get_FCSE_FCKR_bf(const void *const hw, hri_gmac_fcse_reg_t mask)
+{
+ return (((Gmac *)hw)->FCSE.reg & GMAC_FCSE_FCKR(mask)) >> GMAC_FCSE_FCKR_Pos;
+}
+
+static inline hri_gmac_fcse_reg_t hri_gmac_read_FCSE_FCKR_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->FCSE.reg & GMAC_FCSE_FCKR_Msk) >> GMAC_FCSE_FCKR_Pos;
+}
+
+static inline hri_gmac_fcse_reg_t hri_gmac_get_FCSE_reg(const void *const hw, hri_gmac_fcse_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->FCSE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_fcse_reg_t hri_gmac_read_FCSE_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->FCSE.reg;
+}
+
+static inline hri_gmac_lffe_reg_t hri_gmac_get_LFFE_LFER_bf(const void *const hw, hri_gmac_lffe_reg_t mask)
+{
+ return (((Gmac *)hw)->LFFE.reg & GMAC_LFFE_LFER(mask)) >> GMAC_LFFE_LFER_Pos;
+}
+
+static inline hri_gmac_lffe_reg_t hri_gmac_read_LFFE_LFER_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->LFFE.reg & GMAC_LFFE_LFER_Msk) >> GMAC_LFFE_LFER_Pos;
+}
+
+static inline hri_gmac_lffe_reg_t hri_gmac_get_LFFE_reg(const void *const hw, hri_gmac_lffe_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->LFFE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_lffe_reg_t hri_gmac_read_LFFE_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->LFFE.reg;
+}
+
+static inline hri_gmac_rse_reg_t hri_gmac_get_RSE_RXSE_bf(const void *const hw, hri_gmac_rse_reg_t mask)
+{
+ return (((Gmac *)hw)->RSE.reg & GMAC_RSE_RXSE(mask)) >> GMAC_RSE_RXSE_Pos;
+}
+
+static inline hri_gmac_rse_reg_t hri_gmac_read_RSE_RXSE_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->RSE.reg & GMAC_RSE_RXSE_Msk) >> GMAC_RSE_RXSE_Pos;
+}
+
+static inline hri_gmac_rse_reg_t hri_gmac_get_RSE_reg(const void *const hw, hri_gmac_rse_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->RSE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_rse_reg_t hri_gmac_read_RSE_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->RSE.reg;
+}
+
+static inline hri_gmac_ae_reg_t hri_gmac_get_AE_AER_bf(const void *const hw, hri_gmac_ae_reg_t mask)
+{
+ return (((Gmac *)hw)->AE.reg & GMAC_AE_AER(mask)) >> GMAC_AE_AER_Pos;
+}
+
+static inline hri_gmac_ae_reg_t hri_gmac_read_AE_AER_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->AE.reg & GMAC_AE_AER_Msk) >> GMAC_AE_AER_Pos;
+}
+
+static inline hri_gmac_ae_reg_t hri_gmac_get_AE_reg(const void *const hw, hri_gmac_ae_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->AE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_ae_reg_t hri_gmac_read_AE_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->AE.reg;
+}
+
+static inline hri_gmac_rre_reg_t hri_gmac_get_RRE_RXRER_bf(const void *const hw, hri_gmac_rre_reg_t mask)
+{
+ return (((Gmac *)hw)->RRE.reg & GMAC_RRE_RXRER(mask)) >> GMAC_RRE_RXRER_Pos;
+}
+
+static inline hri_gmac_rre_reg_t hri_gmac_read_RRE_RXRER_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->RRE.reg & GMAC_RRE_RXRER_Msk) >> GMAC_RRE_RXRER_Pos;
+}
+
+static inline hri_gmac_rre_reg_t hri_gmac_get_RRE_reg(const void *const hw, hri_gmac_rre_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->RRE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_rre_reg_t hri_gmac_read_RRE_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->RRE.reg;
+}
+
+static inline hri_gmac_roe_reg_t hri_gmac_get_ROE_RXOVR_bf(const void *const hw, hri_gmac_roe_reg_t mask)
+{
+ return (((Gmac *)hw)->ROE.reg & GMAC_ROE_RXOVR(mask)) >> GMAC_ROE_RXOVR_Pos;
+}
+
+static inline hri_gmac_roe_reg_t hri_gmac_read_ROE_RXOVR_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->ROE.reg & GMAC_ROE_RXOVR_Msk) >> GMAC_ROE_RXOVR_Pos;
+}
+
+static inline hri_gmac_roe_reg_t hri_gmac_get_ROE_reg(const void *const hw, hri_gmac_roe_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->ROE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_roe_reg_t hri_gmac_read_ROE_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->ROE.reg;
+}
+
+static inline hri_gmac_ihce_reg_t hri_gmac_get_IHCE_HCKER_bf(const void *const hw, hri_gmac_ihce_reg_t mask)
+{
+ return (((Gmac *)hw)->IHCE.reg & GMAC_IHCE_HCKER(mask)) >> GMAC_IHCE_HCKER_Pos;
+}
+
+static inline hri_gmac_ihce_reg_t hri_gmac_read_IHCE_HCKER_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->IHCE.reg & GMAC_IHCE_HCKER_Msk) >> GMAC_IHCE_HCKER_Pos;
+}
+
+static inline hri_gmac_ihce_reg_t hri_gmac_get_IHCE_reg(const void *const hw, hri_gmac_ihce_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->IHCE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_ihce_reg_t hri_gmac_read_IHCE_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->IHCE.reg;
+}
+
+static inline hri_gmac_tce_reg_t hri_gmac_get_TCE_TCKER_bf(const void *const hw, hri_gmac_tce_reg_t mask)
+{
+ return (((Gmac *)hw)->TCE.reg & GMAC_TCE_TCKER(mask)) >> GMAC_TCE_TCKER_Pos;
+}
+
+static inline hri_gmac_tce_reg_t hri_gmac_read_TCE_TCKER_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->TCE.reg & GMAC_TCE_TCKER_Msk) >> GMAC_TCE_TCKER_Pos;
+}
+
+static inline hri_gmac_tce_reg_t hri_gmac_get_TCE_reg(const void *const hw, hri_gmac_tce_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TCE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_tce_reg_t hri_gmac_read_TCE_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TCE.reg;
+}
+
+static inline hri_gmac_uce_reg_t hri_gmac_get_UCE_UCKER_bf(const void *const hw, hri_gmac_uce_reg_t mask)
+{
+ return (((Gmac *)hw)->UCE.reg & GMAC_UCE_UCKER(mask)) >> GMAC_UCE_UCKER_Pos;
+}
+
+static inline hri_gmac_uce_reg_t hri_gmac_read_UCE_UCKER_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->UCE.reg & GMAC_UCE_UCKER_Msk) >> GMAC_UCE_UCKER_Pos;
+}
+
+static inline hri_gmac_uce_reg_t hri_gmac_get_UCE_reg(const void *const hw, hri_gmac_uce_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->UCE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_uce_reg_t hri_gmac_read_UCE_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->UCE.reg;
+}
+
+static inline hri_gmac_eftsl_reg_t hri_gmac_get_EFTSL_RUD_bf(const void *const hw, hri_gmac_eftsl_reg_t mask)
+{
+ return (((Gmac *)hw)->EFTSL.reg & GMAC_EFTSL_RUD(mask)) >> GMAC_EFTSL_RUD_Pos;
+}
+
+static inline hri_gmac_eftsl_reg_t hri_gmac_read_EFTSL_RUD_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->EFTSL.reg & GMAC_EFTSL_RUD_Msk) >> GMAC_EFTSL_RUD_Pos;
+}
+
+static inline hri_gmac_eftsl_reg_t hri_gmac_get_EFTSL_reg(const void *const hw, hri_gmac_eftsl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->EFTSL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_eftsl_reg_t hri_gmac_read_EFTSL_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->EFTSL.reg;
+}
+
+static inline hri_gmac_eftn_reg_t hri_gmac_get_EFTN_RUD_bf(const void *const hw, hri_gmac_eftn_reg_t mask)
+{
+ return (((Gmac *)hw)->EFTN.reg & GMAC_EFTN_RUD(mask)) >> GMAC_EFTN_RUD_Pos;
+}
+
+static inline hri_gmac_eftn_reg_t hri_gmac_read_EFTN_RUD_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->EFTN.reg & GMAC_EFTN_RUD_Msk) >> GMAC_EFTN_RUD_Pos;
+}
+
+static inline hri_gmac_eftn_reg_t hri_gmac_get_EFTN_reg(const void *const hw, hri_gmac_eftn_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->EFTN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_eftn_reg_t hri_gmac_read_EFTN_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->EFTN.reg;
+}
+
+static inline hri_gmac_efrsl_reg_t hri_gmac_get_EFRSL_RUD_bf(const void *const hw, hri_gmac_efrsl_reg_t mask)
+{
+ return (((Gmac *)hw)->EFRSL.reg & GMAC_EFRSL_RUD(mask)) >> GMAC_EFRSL_RUD_Pos;
+}
+
+static inline hri_gmac_efrsl_reg_t hri_gmac_read_EFRSL_RUD_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->EFRSL.reg & GMAC_EFRSL_RUD_Msk) >> GMAC_EFRSL_RUD_Pos;
+}
+
+static inline hri_gmac_efrsl_reg_t hri_gmac_get_EFRSL_reg(const void *const hw, hri_gmac_efrsl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->EFRSL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_efrsl_reg_t hri_gmac_read_EFRSL_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->EFRSL.reg;
+}
+
+static inline hri_gmac_efrn_reg_t hri_gmac_get_EFRN_RUD_bf(const void *const hw, hri_gmac_efrn_reg_t mask)
+{
+ return (((Gmac *)hw)->EFRN.reg & GMAC_EFRN_RUD(mask)) >> GMAC_EFRN_RUD_Pos;
+}
+
+static inline hri_gmac_efrn_reg_t hri_gmac_read_EFRN_RUD_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->EFRN.reg & GMAC_EFRN_RUD_Msk) >> GMAC_EFRN_RUD_Pos;
+}
+
+static inline hri_gmac_efrn_reg_t hri_gmac_get_EFRN_reg(const void *const hw, hri_gmac_efrn_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->EFRN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_efrn_reg_t hri_gmac_read_EFRN_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->EFRN.reg;
+}
+
+static inline hri_gmac_peftsl_reg_t hri_gmac_get_PEFTSL_RUD_bf(const void *const hw, hri_gmac_peftsl_reg_t mask)
+{
+ return (((Gmac *)hw)->PEFTSL.reg & GMAC_PEFTSL_RUD(mask)) >> GMAC_PEFTSL_RUD_Pos;
+}
+
+static inline hri_gmac_peftsl_reg_t hri_gmac_read_PEFTSL_RUD_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->PEFTSL.reg & GMAC_PEFTSL_RUD_Msk) >> GMAC_PEFTSL_RUD_Pos;
+}
+
+static inline hri_gmac_peftsl_reg_t hri_gmac_get_PEFTSL_reg(const void *const hw, hri_gmac_peftsl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->PEFTSL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_peftsl_reg_t hri_gmac_read_PEFTSL_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->PEFTSL.reg;
+}
+
+static inline hri_gmac_peftn_reg_t hri_gmac_get_PEFTN_RUD_bf(const void *const hw, hri_gmac_peftn_reg_t mask)
+{
+ return (((Gmac *)hw)->PEFTN.reg & GMAC_PEFTN_RUD(mask)) >> GMAC_PEFTN_RUD_Pos;
+}
+
+static inline hri_gmac_peftn_reg_t hri_gmac_read_PEFTN_RUD_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->PEFTN.reg & GMAC_PEFTN_RUD_Msk) >> GMAC_PEFTN_RUD_Pos;
+}
+
+static inline hri_gmac_peftn_reg_t hri_gmac_get_PEFTN_reg(const void *const hw, hri_gmac_peftn_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->PEFTN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_peftn_reg_t hri_gmac_read_PEFTN_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->PEFTN.reg;
+}
+
+static inline hri_gmac_pefrsl_reg_t hri_gmac_get_PEFRSL_RUD_bf(const void *const hw, hri_gmac_pefrsl_reg_t mask)
+{
+ return (((Gmac *)hw)->PEFRSL.reg & GMAC_PEFRSL_RUD(mask)) >> GMAC_PEFRSL_RUD_Pos;
+}
+
+static inline hri_gmac_pefrsl_reg_t hri_gmac_read_PEFRSL_RUD_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->PEFRSL.reg & GMAC_PEFRSL_RUD_Msk) >> GMAC_PEFRSL_RUD_Pos;
+}
+
+static inline hri_gmac_pefrsl_reg_t hri_gmac_get_PEFRSL_reg(const void *const hw, hri_gmac_pefrsl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->PEFRSL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_pefrsl_reg_t hri_gmac_read_PEFRSL_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->PEFRSL.reg;
+}
+
+static inline hri_gmac_pefrn_reg_t hri_gmac_get_PEFRN_RUD_bf(const void *const hw, hri_gmac_pefrn_reg_t mask)
+{
+ return (((Gmac *)hw)->PEFRN.reg & GMAC_PEFRN_RUD(mask)) >> GMAC_PEFRN_RUD_Pos;
+}
+
+static inline hri_gmac_pefrn_reg_t hri_gmac_read_PEFRN_RUD_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->PEFRN.reg & GMAC_PEFRN_RUD_Msk) >> GMAC_PEFRN_RUD_Pos;
+}
+
+static inline hri_gmac_pefrn_reg_t hri_gmac_get_PEFRN_reg(const void *const hw, hri_gmac_pefrn_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->PEFRN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_pefrn_reg_t hri_gmac_read_PEFRN_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->PEFRN.reg;
+}
+
+static inline hri_gmac_rlpitr_reg_t hri_gmac_get_RLPITR_RLPITR_bf(const void *const hw, hri_gmac_rlpitr_reg_t mask)
+{
+ return (((Gmac *)hw)->RLPITR.reg & GMAC_RLPITR_RLPITR(mask)) >> GMAC_RLPITR_RLPITR_Pos;
+}
+
+static inline hri_gmac_rlpitr_reg_t hri_gmac_read_RLPITR_RLPITR_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->RLPITR.reg & GMAC_RLPITR_RLPITR_Msk) >> GMAC_RLPITR_RLPITR_Pos;
+}
+
+static inline hri_gmac_rlpitr_reg_t hri_gmac_get_RLPITR_reg(const void *const hw, hri_gmac_rlpitr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->RLPITR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_rlpitr_reg_t hri_gmac_read_RLPITR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->RLPITR.reg;
+}
+
+static inline hri_gmac_rlpiti_reg_t hri_gmac_get_RLPITI_RLPITI_bf(const void *const hw, hri_gmac_rlpiti_reg_t mask)
+{
+ return (((Gmac *)hw)->RLPITI.reg & GMAC_RLPITI_RLPITI(mask)) >> GMAC_RLPITI_RLPITI_Pos;
+}
+
+static inline hri_gmac_rlpiti_reg_t hri_gmac_read_RLPITI_RLPITI_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->RLPITI.reg & GMAC_RLPITI_RLPITI_Msk) >> GMAC_RLPITI_RLPITI_Pos;
+}
+
+static inline hri_gmac_rlpiti_reg_t hri_gmac_get_RLPITI_reg(const void *const hw, hri_gmac_rlpiti_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->RLPITI.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_rlpiti_reg_t hri_gmac_read_RLPITI_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->RLPITI.reg;
+}
+
+static inline hri_gmac_tlpitr_reg_t hri_gmac_get_TLPITR_TLPITR_bf(const void *const hw, hri_gmac_tlpitr_reg_t mask)
+{
+ return (((Gmac *)hw)->TLPITR.reg & GMAC_TLPITR_TLPITR(mask)) >> GMAC_TLPITR_TLPITR_Pos;
+}
+
+static inline hri_gmac_tlpitr_reg_t hri_gmac_read_TLPITR_TLPITR_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->TLPITR.reg & GMAC_TLPITR_TLPITR_Msk) >> GMAC_TLPITR_TLPITR_Pos;
+}
+
+static inline hri_gmac_tlpitr_reg_t hri_gmac_get_TLPITR_reg(const void *const hw, hri_gmac_tlpitr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TLPITR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_tlpitr_reg_t hri_gmac_read_TLPITR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TLPITR.reg;
+}
+
+static inline hri_gmac_tlpiti_reg_t hri_gmac_get_TLPITI_TLPITI_bf(const void *const hw, hri_gmac_tlpiti_reg_t mask)
+{
+ return (((Gmac *)hw)->TLPITI.reg & GMAC_TLPITI_TLPITI(mask)) >> GMAC_TLPITI_TLPITI_Pos;
+}
+
+static inline hri_gmac_tlpiti_reg_t hri_gmac_read_TLPITI_TLPITI_bf(const void *const hw)
+{
+ return (((Gmac *)hw)->TLPITI.reg & GMAC_TLPITI_TLPITI_Msk) >> GMAC_TLPITI_TLPITI_Pos;
+}
+
+static inline hri_gmac_tlpiti_reg_t hri_gmac_get_TLPITI_reg(const void *const hw, hri_gmac_tlpiti_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TLPITI.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_gmac_tlpiti_reg_t hri_gmac_read_TLPITI_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TLPITI.reg;
+}
+
+static inline void hri_gmac_set_NCR_reg(const void *const hw, hri_gmac_ncr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->NCR.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_ncr_reg_t hri_gmac_get_NCR_reg(const void *const hw, hri_gmac_ncr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->NCR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_NCR_reg(const void *const hw, hri_gmac_ncr_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->NCR.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_NCR_reg(const void *const hw, hri_gmac_ncr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->NCR.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_NCR_reg(const void *const hw, hri_gmac_ncr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->NCR.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_ncr_reg_t hri_gmac_read_NCR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->NCR.reg;
+}
+
+static inline void hri_gmac_set_NCFGR_reg(const void *const hw, hri_gmac_ncfgr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->NCFGR.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_ncfgr_reg_t hri_gmac_get_NCFGR_reg(const void *const hw, hri_gmac_ncfgr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->NCFGR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_NCFGR_reg(const void *const hw, hri_gmac_ncfgr_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->NCFGR.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_NCFGR_reg(const void *const hw, hri_gmac_ncfgr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->NCFGR.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_NCFGR_reg(const void *const hw, hri_gmac_ncfgr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->NCFGR.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_ncfgr_reg_t hri_gmac_read_NCFGR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->NCFGR.reg;
+}
+
+static inline void hri_gmac_set_UR_reg(const void *const hw, hri_gmac_ur_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->UR.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_ur_reg_t hri_gmac_get_UR_reg(const void *const hw, hri_gmac_ur_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->UR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_UR_reg(const void *const hw, hri_gmac_ur_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->UR.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_UR_reg(const void *const hw, hri_gmac_ur_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->UR.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_UR_reg(const void *const hw, hri_gmac_ur_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->UR.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_ur_reg_t hri_gmac_read_UR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->UR.reg;
+}
+
+static inline void hri_gmac_set_DCFGR_reg(const void *const hw, hri_gmac_dcfgr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->DCFGR.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_dcfgr_reg_t hri_gmac_get_DCFGR_reg(const void *const hw, hri_gmac_dcfgr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->DCFGR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_DCFGR_reg(const void *const hw, hri_gmac_dcfgr_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->DCFGR.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_DCFGR_reg(const void *const hw, hri_gmac_dcfgr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->DCFGR.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_DCFGR_reg(const void *const hw, hri_gmac_dcfgr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->DCFGR.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_dcfgr_reg_t hri_gmac_read_DCFGR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->DCFGR.reg;
+}
+
+static inline void hri_gmac_set_TSR_reg(const void *const hw, hri_gmac_tsr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSR.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tsr_reg_t hri_gmac_get_TSR_reg(const void *const hw, hri_gmac_tsr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_TSR_reg(const void *const hw, hri_gmac_tsr_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSR.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_TSR_reg(const void *const hw, hri_gmac_tsr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSR.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_TSR_reg(const void *const hw, hri_gmac_tsr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSR.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tsr_reg_t hri_gmac_read_TSR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TSR.reg;
+}
+
+static inline void hri_gmac_set_RBQB_reg(const void *const hw, hri_gmac_rbqb_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RBQB.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_rbqb_reg_t hri_gmac_get_RBQB_reg(const void *const hw, hri_gmac_rbqb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->RBQB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_RBQB_reg(const void *const hw, hri_gmac_rbqb_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RBQB.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_RBQB_reg(const void *const hw, hri_gmac_rbqb_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RBQB.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_RBQB_reg(const void *const hw, hri_gmac_rbqb_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RBQB.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_rbqb_reg_t hri_gmac_read_RBQB_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->RBQB.reg;
+}
+
+static inline void hri_gmac_set_TBQB_reg(const void *const hw, hri_gmac_tbqb_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TBQB.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tbqb_reg_t hri_gmac_get_TBQB_reg(const void *const hw, hri_gmac_tbqb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TBQB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_TBQB_reg(const void *const hw, hri_gmac_tbqb_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TBQB.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_TBQB_reg(const void *const hw, hri_gmac_tbqb_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TBQB.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_TBQB_reg(const void *const hw, hri_gmac_tbqb_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TBQB.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tbqb_reg_t hri_gmac_read_TBQB_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TBQB.reg;
+}
+
+static inline void hri_gmac_set_RSR_reg(const void *const hw, hri_gmac_rsr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RSR.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_rsr_reg_t hri_gmac_get_RSR_reg(const void *const hw, hri_gmac_rsr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->RSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_RSR_reg(const void *const hw, hri_gmac_rsr_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RSR.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_RSR_reg(const void *const hw, hri_gmac_rsr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RSR.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_RSR_reg(const void *const hw, hri_gmac_rsr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RSR.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_rsr_reg_t hri_gmac_read_RSR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->RSR.reg;
+}
+
+static inline void hri_gmac_set_ISR_reg(const void *const hw, hri_gmac_isr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->ISR.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_isr_reg_t hri_gmac_get_ISR_reg(const void *const hw, hri_gmac_isr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->ISR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_ISR_reg(const void *const hw, hri_gmac_isr_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->ISR.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_ISR_reg(const void *const hw, hri_gmac_isr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->ISR.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_ISR_reg(const void *const hw, hri_gmac_isr_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->ISR.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_isr_reg_t hri_gmac_read_ISR_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->ISR.reg;
+}
+
+static inline void hri_gmac_set_MAN_reg(const void *const hw, hri_gmac_man_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->MAN.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_man_reg_t hri_gmac_get_MAN_reg(const void *const hw, hri_gmac_man_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->MAN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_MAN_reg(const void *const hw, hri_gmac_man_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->MAN.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_MAN_reg(const void *const hw, hri_gmac_man_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->MAN.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_MAN_reg(const void *const hw, hri_gmac_man_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->MAN.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_man_reg_t hri_gmac_read_MAN_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->MAN.reg;
+}
+
+static inline void hri_gmac_set_TPQ_reg(const void *const hw, hri_gmac_tpq_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TPQ.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tpq_reg_t hri_gmac_get_TPQ_reg(const void *const hw, hri_gmac_tpq_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TPQ.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_TPQ_reg(const void *const hw, hri_gmac_tpq_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TPQ.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_TPQ_reg(const void *const hw, hri_gmac_tpq_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TPQ.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_TPQ_reg(const void *const hw, hri_gmac_tpq_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TPQ.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tpq_reg_t hri_gmac_read_TPQ_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TPQ.reg;
+}
+
+static inline void hri_gmac_set_TPSF_reg(const void *const hw, hri_gmac_tpsf_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TPSF.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tpsf_reg_t hri_gmac_get_TPSF_reg(const void *const hw, hri_gmac_tpsf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TPSF.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_TPSF_reg(const void *const hw, hri_gmac_tpsf_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TPSF.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_TPSF_reg(const void *const hw, hri_gmac_tpsf_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TPSF.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_TPSF_reg(const void *const hw, hri_gmac_tpsf_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TPSF.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tpsf_reg_t hri_gmac_read_TPSF_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TPSF.reg;
+}
+
+static inline void hri_gmac_set_RPSF_reg(const void *const hw, hri_gmac_rpsf_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RPSF.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_rpsf_reg_t hri_gmac_get_RPSF_reg(const void *const hw, hri_gmac_rpsf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->RPSF.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_RPSF_reg(const void *const hw, hri_gmac_rpsf_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RPSF.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_RPSF_reg(const void *const hw, hri_gmac_rpsf_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RPSF.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_RPSF_reg(const void *const hw, hri_gmac_rpsf_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RPSF.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_rpsf_reg_t hri_gmac_read_RPSF_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->RPSF.reg;
+}
+
+static inline void hri_gmac_set_RJFML_reg(const void *const hw, hri_gmac_rjfml_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RJFML.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_rjfml_reg_t hri_gmac_get_RJFML_reg(const void *const hw, hri_gmac_rjfml_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->RJFML.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_RJFML_reg(const void *const hw, hri_gmac_rjfml_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RJFML.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_RJFML_reg(const void *const hw, hri_gmac_rjfml_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RJFML.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_RJFML_reg(const void *const hw, hri_gmac_rjfml_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->RJFML.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_rjfml_reg_t hri_gmac_read_RJFML_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->RJFML.reg;
+}
+
+static inline void hri_gmac_set_HRB_reg(const void *const hw, hri_gmac_hrb_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->HRB.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_hrb_reg_t hri_gmac_get_HRB_reg(const void *const hw, hri_gmac_hrb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->HRB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_HRB_reg(const void *const hw, hri_gmac_hrb_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->HRB.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_HRB_reg(const void *const hw, hri_gmac_hrb_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->HRB.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_HRB_reg(const void *const hw, hri_gmac_hrb_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->HRB.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_hrb_reg_t hri_gmac_read_HRB_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->HRB.reg;
+}
+
+static inline void hri_gmac_set_HRT_reg(const void *const hw, hri_gmac_hrt_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->HRT.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_hrt_reg_t hri_gmac_get_HRT_reg(const void *const hw, hri_gmac_hrt_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->HRT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_HRT_reg(const void *const hw, hri_gmac_hrt_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->HRT.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_HRT_reg(const void *const hw, hri_gmac_hrt_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->HRT.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_HRT_reg(const void *const hw, hri_gmac_hrt_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->HRT.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_hrt_reg_t hri_gmac_read_HRT_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->HRT.reg;
+}
+
+static inline void hri_gmac_set_TIDM_reg(const void *const hw, uint8_t index, hri_gmac_tidm_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TIDM[index].reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tidm_reg_t hri_gmac_get_TIDM_reg(const void *const hw, uint8_t index, hri_gmac_tidm_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TIDM[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_TIDM_reg(const void *const hw, uint8_t index, hri_gmac_tidm_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TIDM[index].reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_TIDM_reg(const void *const hw, uint8_t index, hri_gmac_tidm_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TIDM[index].reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_TIDM_reg(const void *const hw, uint8_t index, hri_gmac_tidm_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TIDM[index].reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tidm_reg_t hri_gmac_read_TIDM_reg(const void *const hw, uint8_t index)
+{
+ return ((Gmac *)hw)->TIDM[index].reg;
+}
+
+static inline void hri_gmac_set_WOL_reg(const void *const hw, hri_gmac_wol_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->WOL.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_wol_reg_t hri_gmac_get_WOL_reg(const void *const hw, hri_gmac_wol_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->WOL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_WOL_reg(const void *const hw, hri_gmac_wol_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->WOL.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_WOL_reg(const void *const hw, hri_gmac_wol_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->WOL.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_WOL_reg(const void *const hw, hri_gmac_wol_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->WOL.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_wol_reg_t hri_gmac_read_WOL_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->WOL.reg;
+}
+
+static inline void hri_gmac_set_IPGS_reg(const void *const hw, hri_gmac_ipgs_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->IPGS.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_ipgs_reg_t hri_gmac_get_IPGS_reg(const void *const hw, hri_gmac_ipgs_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->IPGS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_IPGS_reg(const void *const hw, hri_gmac_ipgs_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->IPGS.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_IPGS_reg(const void *const hw, hri_gmac_ipgs_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->IPGS.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_IPGS_reg(const void *const hw, hri_gmac_ipgs_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->IPGS.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_ipgs_reg_t hri_gmac_read_IPGS_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->IPGS.reg;
+}
+
+static inline void hri_gmac_set_SVLAN_reg(const void *const hw, hri_gmac_svlan_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SVLAN.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_svlan_reg_t hri_gmac_get_SVLAN_reg(const void *const hw, hri_gmac_svlan_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->SVLAN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_SVLAN_reg(const void *const hw, hri_gmac_svlan_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SVLAN.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_SVLAN_reg(const void *const hw, hri_gmac_svlan_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SVLAN.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_SVLAN_reg(const void *const hw, hri_gmac_svlan_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SVLAN.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_svlan_reg_t hri_gmac_read_SVLAN_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->SVLAN.reg;
+}
+
+static inline void hri_gmac_set_TPFCP_reg(const void *const hw, hri_gmac_tpfcp_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TPFCP.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tpfcp_reg_t hri_gmac_get_TPFCP_reg(const void *const hw, hri_gmac_tpfcp_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TPFCP.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_TPFCP_reg(const void *const hw, hri_gmac_tpfcp_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TPFCP.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_TPFCP_reg(const void *const hw, hri_gmac_tpfcp_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TPFCP.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_TPFCP_reg(const void *const hw, hri_gmac_tpfcp_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TPFCP.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tpfcp_reg_t hri_gmac_read_TPFCP_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TPFCP.reg;
+}
+
+static inline void hri_gmac_set_SAMB1_reg(const void *const hw, hri_gmac_samb1_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SAMB1.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_samb1_reg_t hri_gmac_get_SAMB1_reg(const void *const hw, hri_gmac_samb1_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->SAMB1.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_SAMB1_reg(const void *const hw, hri_gmac_samb1_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SAMB1.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_SAMB1_reg(const void *const hw, hri_gmac_samb1_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SAMB1.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_SAMB1_reg(const void *const hw, hri_gmac_samb1_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SAMB1.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_samb1_reg_t hri_gmac_read_SAMB1_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->SAMB1.reg;
+}
+
+static inline void hri_gmac_set_SAMT1_reg(const void *const hw, hri_gmac_samt1_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SAMT1.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_samt1_reg_t hri_gmac_get_SAMT1_reg(const void *const hw, hri_gmac_samt1_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->SAMT1.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_SAMT1_reg(const void *const hw, hri_gmac_samt1_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SAMT1.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_SAMT1_reg(const void *const hw, hri_gmac_samt1_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SAMT1.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_SAMT1_reg(const void *const hw, hri_gmac_samt1_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SAMT1.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_samt1_reg_t hri_gmac_read_SAMT1_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->SAMT1.reg;
+}
+
+static inline void hri_gmac_set_NSC_reg(const void *const hw, hri_gmac_nsc_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->NSC.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_nsc_reg_t hri_gmac_get_NSC_reg(const void *const hw, hri_gmac_nsc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->NSC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_NSC_reg(const void *const hw, hri_gmac_nsc_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->NSC.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_NSC_reg(const void *const hw, hri_gmac_nsc_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->NSC.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_NSC_reg(const void *const hw, hri_gmac_nsc_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->NSC.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_nsc_reg_t hri_gmac_read_NSC_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->NSC.reg;
+}
+
+static inline void hri_gmac_set_SCL_reg(const void *const hw, hri_gmac_scl_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SCL.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_scl_reg_t hri_gmac_get_SCL_reg(const void *const hw, hri_gmac_scl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->SCL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_SCL_reg(const void *const hw, hri_gmac_scl_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SCL.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_SCL_reg(const void *const hw, hri_gmac_scl_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SCL.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_SCL_reg(const void *const hw, hri_gmac_scl_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SCL.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_scl_reg_t hri_gmac_read_SCL_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->SCL.reg;
+}
+
+static inline void hri_gmac_set_SCH_reg(const void *const hw, hri_gmac_sch_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SCH.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_sch_reg_t hri_gmac_get_SCH_reg(const void *const hw, hri_gmac_sch_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->SCH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_SCH_reg(const void *const hw, hri_gmac_sch_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SCH.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_SCH_reg(const void *const hw, hri_gmac_sch_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SCH.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_SCH_reg(const void *const hw, hri_gmac_sch_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->SCH.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_sch_reg_t hri_gmac_read_SCH_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->SCH.reg;
+}
+
+static inline void hri_gmac_set_TISUBN_reg(const void *const hw, hri_gmac_tisubn_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TISUBN.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tisubn_reg_t hri_gmac_get_TISUBN_reg(const void *const hw, hri_gmac_tisubn_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TISUBN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_TISUBN_reg(const void *const hw, hri_gmac_tisubn_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TISUBN.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_TISUBN_reg(const void *const hw, hri_gmac_tisubn_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TISUBN.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_TISUBN_reg(const void *const hw, hri_gmac_tisubn_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TISUBN.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tisubn_reg_t hri_gmac_read_TISUBN_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TISUBN.reg;
+}
+
+static inline void hri_gmac_set_TSH_reg(const void *const hw, hri_gmac_tsh_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSH.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tsh_reg_t hri_gmac_get_TSH_reg(const void *const hw, hri_gmac_tsh_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TSH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_TSH_reg(const void *const hw, hri_gmac_tsh_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSH.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_TSH_reg(const void *const hw, hri_gmac_tsh_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSH.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_TSH_reg(const void *const hw, hri_gmac_tsh_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSH.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tsh_reg_t hri_gmac_read_TSH_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TSH.reg;
+}
+
+static inline void hri_gmac_set_TSSSL_reg(const void *const hw, hri_gmac_tsssl_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSSSL.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tsssl_reg_t hri_gmac_get_TSSSL_reg(const void *const hw, hri_gmac_tsssl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TSSSL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_TSSSL_reg(const void *const hw, hri_gmac_tsssl_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSSSL.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_TSSSL_reg(const void *const hw, hri_gmac_tsssl_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSSSL.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_TSSSL_reg(const void *const hw, hri_gmac_tsssl_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSSSL.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tsssl_reg_t hri_gmac_read_TSSSL_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TSSSL.reg;
+}
+
+static inline void hri_gmac_set_TSSN_reg(const void *const hw, hri_gmac_tssn_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSSN.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tssn_reg_t hri_gmac_get_TSSN_reg(const void *const hw, hri_gmac_tssn_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TSSN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_TSSN_reg(const void *const hw, hri_gmac_tssn_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSSN.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_TSSN_reg(const void *const hw, hri_gmac_tssn_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSSN.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_TSSN_reg(const void *const hw, hri_gmac_tssn_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSSN.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tssn_reg_t hri_gmac_read_TSSN_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TSSN.reg;
+}
+
+static inline void hri_gmac_set_TSL_reg(const void *const hw, hri_gmac_tsl_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSL.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tsl_reg_t hri_gmac_get_TSL_reg(const void *const hw, hri_gmac_tsl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TSL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_TSL_reg(const void *const hw, hri_gmac_tsl_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSL.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_TSL_reg(const void *const hw, hri_gmac_tsl_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSL.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_TSL_reg(const void *const hw, hri_gmac_tsl_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TSL.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tsl_reg_t hri_gmac_read_TSL_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TSL.reg;
+}
+
+static inline void hri_gmac_set_TN_reg(const void *const hw, hri_gmac_tn_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TN.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tn_reg_t hri_gmac_get_TN_reg(const void *const hw, hri_gmac_tn_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_TN_reg(const void *const hw, hri_gmac_tn_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TN.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_TN_reg(const void *const hw, hri_gmac_tn_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TN.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_TN_reg(const void *const hw, hri_gmac_tn_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TN.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_tn_reg_t hri_gmac_read_TN_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TN.reg;
+}
+
+static inline void hri_gmac_set_TI_reg(const void *const hw, hri_gmac_ti_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TI.reg |= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_ti_reg_t hri_gmac_get_TI_reg(const void *const hw, hri_gmac_ti_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Gmac *)hw)->TI.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_gmac_write_TI_reg(const void *const hw, hri_gmac_ti_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TI.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_clear_TI_reg(const void *const hw, hri_gmac_ti_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TI.reg &= ~mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_gmac_toggle_TI_reg(const void *const hw, hri_gmac_ti_reg_t mask)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TI.reg ^= mask;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_gmac_ti_reg_t hri_gmac_read_TI_reg(const void *const hw)
+{
+ return ((Gmac *)hw)->TI.reg;
+}
+
+static inline void hri_gmac_write_TA_reg(const void *const hw, hri_gmac_ta_reg_t data)
+{
+ GMAC_CRITICAL_SECTION_ENTER();
+ ((Gmac *)hw)->TA.reg = data;
+ GMAC_CRITICAL_SECTION_LEAVE();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_GMAC_E54_H_INCLUDED */
+#endif /* _SAME54_GMAC_COMPONENT_ */
diff --git a/hri/hri_hmatrixb_e54.h b/hri/hri_hmatrixb_e54.h
new file mode 100644
index 0000000..2ef0684
--- /dev/null
+++ b/hri/hri_hmatrixb_e54.h
@@ -0,0 +1,237 @@
+/**
+ * \file
+ *
+ * \brief SAM HMATRIXB
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_HMATRIXB_COMPONENT_
+#ifndef _HRI_HMATRIXB_E54_H_INCLUDED_
+#define _HRI_HMATRIXB_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_HMATRIXB_CRITICAL_SECTIONS)
+#define HMATRIXB_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define HMATRIXB_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define HMATRIXB_CRITICAL_SECTION_ENTER()
+#define HMATRIXB_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_hmatrixb_pras_reg_t;
+typedef uint32_t hri_hmatrixb_prbs_reg_t;
+typedef uint32_t hri_hmatrixbprs_pras_reg_t;
+typedef uint32_t hri_hmatrixbprs_prbs_reg_t;
+
+static inline void hri_hmatrixbprs_set_PRAS_reg(const void *const hw, hri_hmatrixb_pras_reg_t mask)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((HmatrixbPrs *)hw)->PRAS.reg |= mask;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_hmatrixb_pras_reg_t hri_hmatrixbprs_get_PRAS_reg(const void *const hw, hri_hmatrixb_pras_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((HmatrixbPrs *)hw)->PRAS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_hmatrixbprs_write_PRAS_reg(const void *const hw, hri_hmatrixb_pras_reg_t data)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((HmatrixbPrs *)hw)->PRAS.reg = data;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_hmatrixbprs_clear_PRAS_reg(const void *const hw, hri_hmatrixb_pras_reg_t mask)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((HmatrixbPrs *)hw)->PRAS.reg &= ~mask;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_hmatrixbprs_toggle_PRAS_reg(const void *const hw, hri_hmatrixb_pras_reg_t mask)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((HmatrixbPrs *)hw)->PRAS.reg ^= mask;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_hmatrixb_pras_reg_t hri_hmatrixbprs_read_PRAS_reg(const void *const hw)
+{
+ return ((HmatrixbPrs *)hw)->PRAS.reg;
+}
+
+static inline void hri_hmatrixbprs_set_PRBS_reg(const void *const hw, hri_hmatrixb_prbs_reg_t mask)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((HmatrixbPrs *)hw)->PRBS.reg |= mask;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_hmatrixb_prbs_reg_t hri_hmatrixbprs_get_PRBS_reg(const void *const hw, hri_hmatrixb_prbs_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((HmatrixbPrs *)hw)->PRBS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_hmatrixbprs_write_PRBS_reg(const void *const hw, hri_hmatrixb_prbs_reg_t data)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((HmatrixbPrs *)hw)->PRBS.reg = data;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_hmatrixbprs_clear_PRBS_reg(const void *const hw, hri_hmatrixb_prbs_reg_t mask)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((HmatrixbPrs *)hw)->PRBS.reg &= ~mask;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_hmatrixbprs_toggle_PRBS_reg(const void *const hw, hri_hmatrixb_prbs_reg_t mask)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((HmatrixbPrs *)hw)->PRBS.reg ^= mask;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_hmatrixb_prbs_reg_t hri_hmatrixbprs_read_PRBS_reg(const void *const hw)
+{
+ return ((HmatrixbPrs *)hw)->PRBS.reg;
+}
+
+static inline void hri_hmatrixb_set_PRAS_reg(const void *const hw, uint8_t submodule_index,
+ hri_hmatrixb_pras_reg_t mask)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((Hmatrixb *)hw)->Prs[submodule_index].PRAS.reg |= mask;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_hmatrixb_pras_reg_t hri_hmatrixb_get_PRAS_reg(const void *const hw, uint8_t submodule_index,
+ hri_hmatrixb_pras_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Hmatrixb *)hw)->Prs[submodule_index].PRAS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_hmatrixb_write_PRAS_reg(const void *const hw, uint8_t submodule_index,
+ hri_hmatrixb_pras_reg_t data)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((Hmatrixb *)hw)->Prs[submodule_index].PRAS.reg = data;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_hmatrixb_clear_PRAS_reg(const void *const hw, uint8_t submodule_index,
+ hri_hmatrixb_pras_reg_t mask)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((Hmatrixb *)hw)->Prs[submodule_index].PRAS.reg &= ~mask;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_hmatrixb_toggle_PRAS_reg(const void *const hw, uint8_t submodule_index,
+ hri_hmatrixb_pras_reg_t mask)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((Hmatrixb *)hw)->Prs[submodule_index].PRAS.reg ^= mask;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_hmatrixb_pras_reg_t hri_hmatrixb_read_PRAS_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Hmatrixb *)hw)->Prs[submodule_index].PRAS.reg;
+}
+
+static inline void hri_hmatrixb_set_PRBS_reg(const void *const hw, uint8_t submodule_index,
+ hri_hmatrixb_prbs_reg_t mask)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((Hmatrixb *)hw)->Prs[submodule_index].PRBS.reg |= mask;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_hmatrixb_prbs_reg_t hri_hmatrixb_get_PRBS_reg(const void *const hw, uint8_t submodule_index,
+ hri_hmatrixb_prbs_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Hmatrixb *)hw)->Prs[submodule_index].PRBS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_hmatrixb_write_PRBS_reg(const void *const hw, uint8_t submodule_index,
+ hri_hmatrixb_prbs_reg_t data)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((Hmatrixb *)hw)->Prs[submodule_index].PRBS.reg = data;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_hmatrixb_clear_PRBS_reg(const void *const hw, uint8_t submodule_index,
+ hri_hmatrixb_prbs_reg_t mask)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((Hmatrixb *)hw)->Prs[submodule_index].PRBS.reg &= ~mask;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_hmatrixb_toggle_PRBS_reg(const void *const hw, uint8_t submodule_index,
+ hri_hmatrixb_prbs_reg_t mask)
+{
+ HMATRIXB_CRITICAL_SECTION_ENTER();
+ ((Hmatrixb *)hw)->Prs[submodule_index].PRBS.reg ^= mask;
+ HMATRIXB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_hmatrixb_prbs_reg_t hri_hmatrixb_read_PRBS_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Hmatrixb *)hw)->Prs[submodule_index].PRBS.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_HMATRIXB_E54_H_INCLUDED */
+#endif /* _SAME54_HMATRIXB_COMPONENT_ */
diff --git a/hri/hri_i2s_e54.h b/hri/hri_i2s_e54.h
new file mode 100644
index 0000000..42b88dc
--- /dev/null
+++ b/hri/hri_i2s_e54.h
@@ -0,0 +1,3032 @@
+/**
+ * \file
+ *
+ * \brief SAM I2S
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_I2S_COMPONENT_
+#ifndef _HRI_I2S_E54_H_INCLUDED_
+#define _HRI_I2S_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_I2S_CRITICAL_SECTIONS)
+#define I2S_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define I2S_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define I2S_CRITICAL_SECTION_ENTER()
+#define I2S_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_i2s_intenset_reg_t;
+typedef uint16_t hri_i2s_intflag_reg_t;
+typedef uint16_t hri_i2s_syncbusy_reg_t;
+typedef uint32_t hri_i2s_clkctrl_reg_t;
+typedef uint32_t hri_i2s_rxctrl_reg_t;
+typedef uint32_t hri_i2s_rxdata_reg_t;
+typedef uint32_t hri_i2s_txctrl_reg_t;
+typedef uint32_t hri_i2s_txdata_reg_t;
+typedef uint8_t hri_i2s_ctrla_reg_t;
+
+static inline void hri_i2s_wait_for_sync(const void *const hw, hri_i2s_syncbusy_reg_t reg)
+{
+ while (((I2s *)hw)->SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_i2s_is_syncing(const void *const hw, hri_i2s_syncbusy_reg_t reg)
+{
+ return ((I2s *)hw)->SYNCBUSY.reg & reg;
+}
+
+static inline bool hri_i2s_get_INTFLAG_RXRDY0_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXRDY0) >> I2S_INTFLAG_RXRDY0_Pos;
+}
+
+static inline void hri_i2s_clear_INTFLAG_RXRDY0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXRDY0;
+}
+
+static inline bool hri_i2s_get_INTFLAG_RXRDY1_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXRDY1) >> I2S_INTFLAG_RXRDY1_Pos;
+}
+
+static inline void hri_i2s_clear_INTFLAG_RXRDY1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXRDY1;
+}
+
+static inline bool hri_i2s_get_INTFLAG_RXOR0_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXOR0) >> I2S_INTFLAG_RXOR0_Pos;
+}
+
+static inline void hri_i2s_clear_INTFLAG_RXOR0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXOR0;
+}
+
+static inline bool hri_i2s_get_INTFLAG_RXOR1_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXOR1) >> I2S_INTFLAG_RXOR1_Pos;
+}
+
+static inline void hri_i2s_clear_INTFLAG_RXOR1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXOR1;
+}
+
+static inline bool hri_i2s_get_INTFLAG_TXRDY0_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXRDY0) >> I2S_INTFLAG_TXRDY0_Pos;
+}
+
+static inline void hri_i2s_clear_INTFLAG_TXRDY0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXRDY0;
+}
+
+static inline bool hri_i2s_get_INTFLAG_TXRDY1_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXRDY1) >> I2S_INTFLAG_TXRDY1_Pos;
+}
+
+static inline void hri_i2s_clear_INTFLAG_TXRDY1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXRDY1;
+}
+
+static inline bool hri_i2s_get_INTFLAG_TXUR0_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXUR0) >> I2S_INTFLAG_TXUR0_Pos;
+}
+
+static inline void hri_i2s_clear_INTFLAG_TXUR0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXUR0;
+}
+
+static inline bool hri_i2s_get_INTFLAG_TXUR1_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXUR1) >> I2S_INTFLAG_TXUR1_Pos;
+}
+
+static inline void hri_i2s_clear_INTFLAG_TXUR1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXUR1;
+}
+
+static inline bool hri_i2s_get_interrupt_RXRDY0_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXRDY0) >> I2S_INTFLAG_RXRDY0_Pos;
+}
+
+static inline void hri_i2s_clear_interrupt_RXRDY0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXRDY0;
+}
+
+static inline bool hri_i2s_get_interrupt_RXRDY1_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXRDY1) >> I2S_INTFLAG_RXRDY1_Pos;
+}
+
+static inline void hri_i2s_clear_interrupt_RXRDY1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXRDY1;
+}
+
+static inline bool hri_i2s_get_interrupt_RXOR0_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXOR0) >> I2S_INTFLAG_RXOR0_Pos;
+}
+
+static inline void hri_i2s_clear_interrupt_RXOR0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXOR0;
+}
+
+static inline bool hri_i2s_get_interrupt_RXOR1_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_RXOR1) >> I2S_INTFLAG_RXOR1_Pos;
+}
+
+static inline void hri_i2s_clear_interrupt_RXOR1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_RXOR1;
+}
+
+static inline bool hri_i2s_get_interrupt_TXRDY0_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXRDY0) >> I2S_INTFLAG_TXRDY0_Pos;
+}
+
+static inline void hri_i2s_clear_interrupt_TXRDY0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXRDY0;
+}
+
+static inline bool hri_i2s_get_interrupt_TXRDY1_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXRDY1) >> I2S_INTFLAG_TXRDY1_Pos;
+}
+
+static inline void hri_i2s_clear_interrupt_TXRDY1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXRDY1;
+}
+
+static inline bool hri_i2s_get_interrupt_TXUR0_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXUR0) >> I2S_INTFLAG_TXUR0_Pos;
+}
+
+static inline void hri_i2s_clear_interrupt_TXUR0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXUR0;
+}
+
+static inline bool hri_i2s_get_interrupt_TXUR1_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTFLAG.reg & I2S_INTFLAG_TXUR1) >> I2S_INTFLAG_TXUR1_Pos;
+}
+
+static inline void hri_i2s_clear_interrupt_TXUR1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTFLAG.reg = I2S_INTFLAG_TXUR1;
+}
+
+static inline hri_i2s_intflag_reg_t hri_i2s_get_INTFLAG_reg(const void *const hw, hri_i2s_intflag_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((I2s *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_i2s_intflag_reg_t hri_i2s_read_INTFLAG_reg(const void *const hw)
+{
+ return ((I2s *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_i2s_clear_INTFLAG_reg(const void *const hw, hri_i2s_intflag_reg_t mask)
+{
+ ((I2s *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_i2s_set_INTEN_RXRDY0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXRDY0;
+}
+
+static inline bool hri_i2s_get_INTEN_RXRDY0_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_RXRDY0) >> I2S_INTENSET_RXRDY0_Pos;
+}
+
+static inline void hri_i2s_write_INTEN_RXRDY0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXRDY0;
+ } else {
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXRDY0;
+ }
+}
+
+static inline void hri_i2s_clear_INTEN_RXRDY0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXRDY0;
+}
+
+static inline void hri_i2s_set_INTEN_RXRDY1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXRDY1;
+}
+
+static inline bool hri_i2s_get_INTEN_RXRDY1_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_RXRDY1) >> I2S_INTENSET_RXRDY1_Pos;
+}
+
+static inline void hri_i2s_write_INTEN_RXRDY1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXRDY1;
+ } else {
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXRDY1;
+ }
+}
+
+static inline void hri_i2s_clear_INTEN_RXRDY1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXRDY1;
+}
+
+static inline void hri_i2s_set_INTEN_RXOR0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXOR0;
+}
+
+static inline bool hri_i2s_get_INTEN_RXOR0_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_RXOR0) >> I2S_INTENSET_RXOR0_Pos;
+}
+
+static inline void hri_i2s_write_INTEN_RXOR0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXOR0;
+ } else {
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXOR0;
+ }
+}
+
+static inline void hri_i2s_clear_INTEN_RXOR0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXOR0;
+}
+
+static inline void hri_i2s_set_INTEN_RXOR1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXOR1;
+}
+
+static inline bool hri_i2s_get_INTEN_RXOR1_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_RXOR1) >> I2S_INTENSET_RXOR1_Pos;
+}
+
+static inline void hri_i2s_write_INTEN_RXOR1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXOR1;
+ } else {
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_RXOR1;
+ }
+}
+
+static inline void hri_i2s_clear_INTEN_RXOR1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_RXOR1;
+}
+
+static inline void hri_i2s_set_INTEN_TXRDY0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXRDY0;
+}
+
+static inline bool hri_i2s_get_INTEN_TXRDY0_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_TXRDY0) >> I2S_INTENSET_TXRDY0_Pos;
+}
+
+static inline void hri_i2s_write_INTEN_TXRDY0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXRDY0;
+ } else {
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXRDY0;
+ }
+}
+
+static inline void hri_i2s_clear_INTEN_TXRDY0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXRDY0;
+}
+
+static inline void hri_i2s_set_INTEN_TXRDY1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXRDY1;
+}
+
+static inline bool hri_i2s_get_INTEN_TXRDY1_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_TXRDY1) >> I2S_INTENSET_TXRDY1_Pos;
+}
+
+static inline void hri_i2s_write_INTEN_TXRDY1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXRDY1;
+ } else {
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXRDY1;
+ }
+}
+
+static inline void hri_i2s_clear_INTEN_TXRDY1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXRDY1;
+}
+
+static inline void hri_i2s_set_INTEN_TXUR0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXUR0;
+}
+
+static inline bool hri_i2s_get_INTEN_TXUR0_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_TXUR0) >> I2S_INTENSET_TXUR0_Pos;
+}
+
+static inline void hri_i2s_write_INTEN_TXUR0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXUR0;
+ } else {
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXUR0;
+ }
+}
+
+static inline void hri_i2s_clear_INTEN_TXUR0_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXUR0;
+}
+
+static inline void hri_i2s_set_INTEN_TXUR1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXUR1;
+}
+
+static inline bool hri_i2s_get_INTEN_TXUR1_bit(const void *const hw)
+{
+ return (((I2s *)hw)->INTENSET.reg & I2S_INTENSET_TXUR1) >> I2S_INTENSET_TXUR1_Pos;
+}
+
+static inline void hri_i2s_write_INTEN_TXUR1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXUR1;
+ } else {
+ ((I2s *)hw)->INTENSET.reg = I2S_INTENSET_TXUR1;
+ }
+}
+
+static inline void hri_i2s_clear_INTEN_TXUR1_bit(const void *const hw)
+{
+ ((I2s *)hw)->INTENCLR.reg = I2S_INTENSET_TXUR1;
+}
+
+static inline void hri_i2s_set_INTEN_reg(const void *const hw, hri_i2s_intenset_reg_t mask)
+{
+ ((I2s *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_i2s_intenset_reg_t hri_i2s_get_INTEN_reg(const void *const hw, hri_i2s_intenset_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((I2s *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_i2s_intenset_reg_t hri_i2s_read_INTEN_reg(const void *const hw)
+{
+ return ((I2s *)hw)->INTENSET.reg;
+}
+
+static inline void hri_i2s_write_INTEN_reg(const void *const hw, hri_i2s_intenset_reg_t data)
+{
+ ((I2s *)hw)->INTENSET.reg = data;
+ ((I2s *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_i2s_clear_INTEN_reg(const void *const hw, hri_i2s_intenset_reg_t mask)
+{
+ ((I2s *)hw)->INTENCLR.reg = mask;
+}
+
+static inline bool hri_i2s_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_SWRST) >> I2S_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_i2s_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_ENABLE) >> I2S_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_i2s_get_SYNCBUSY_CKEN0_bit(const void *const hw)
+{
+ return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_CKEN0) >> I2S_SYNCBUSY_CKEN0_Pos;
+}
+
+static inline bool hri_i2s_get_SYNCBUSY_CKEN1_bit(const void *const hw)
+{
+ return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_CKEN1) >> I2S_SYNCBUSY_CKEN1_Pos;
+}
+
+static inline bool hri_i2s_get_SYNCBUSY_TXEN_bit(const void *const hw)
+{
+ return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_TXEN) >> I2S_SYNCBUSY_TXEN_Pos;
+}
+
+static inline bool hri_i2s_get_SYNCBUSY_RXEN_bit(const void *const hw)
+{
+ return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_RXEN) >> I2S_SYNCBUSY_RXEN_Pos;
+}
+
+static inline bool hri_i2s_get_SYNCBUSY_TXDATA_bit(const void *const hw)
+{
+ return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_TXDATA) >> I2S_SYNCBUSY_TXDATA_Pos;
+}
+
+static inline bool hri_i2s_get_SYNCBUSY_RXDATA_bit(const void *const hw)
+{
+ return (((I2s *)hw)->SYNCBUSY.reg & I2S_SYNCBUSY_RXDATA) >> I2S_SYNCBUSY_RXDATA_Pos;
+}
+
+static inline hri_i2s_syncbusy_reg_t hri_i2s_get_SYNCBUSY_reg(const void *const hw, hri_i2s_syncbusy_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((I2s *)hw)->SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_i2s_syncbusy_reg_t hri_i2s_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((I2s *)hw)->SYNCBUSY.reg;
+}
+
+static inline hri_i2s_rxdata_reg_t hri_i2s_get_RXDATA_DATA_bf(const void *const hw, hri_i2s_rxdata_reg_t mask)
+{
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK);
+ return (((I2s *)hw)->RXDATA.reg & I2S_RXDATA_DATA(mask)) >> I2S_RXDATA_DATA_Pos;
+}
+
+static inline hri_i2s_rxdata_reg_t hri_i2s_read_RXDATA_DATA_bf(const void *const hw)
+{
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK);
+ return (((I2s *)hw)->RXDATA.reg & I2S_RXDATA_DATA_Msk) >> I2S_RXDATA_DATA_Pos;
+}
+
+static inline hri_i2s_rxdata_reg_t hri_i2s_get_RXDATA_reg(const void *const hw, hri_i2s_rxdata_reg_t mask)
+{
+ uint32_t tmp;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK);
+ tmp = ((I2s *)hw)->RXDATA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_i2s_rxdata_reg_t hri_i2s_read_RXDATA_reg(const void *const hw)
+{
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK);
+ return ((I2s *)hw)->RXDATA.reg;
+}
+
+static inline void hri_i2s_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg |= I2S_CTRLA_SWRST;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST);
+ tmp = ((I2s *)hw)->CTRLA.reg;
+ tmp = (tmp & I2S_CTRLA_SWRST) >> I2S_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg |= I2S_CTRLA_ENABLE;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ tmp = ((I2s *)hw)->CTRLA.reg;
+ tmp = (tmp & I2S_CTRLA_ENABLE) >> I2S_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CTRLA.reg;
+ tmp &= ~I2S_CTRLA_ENABLE;
+ tmp |= value << I2S_CTRLA_ENABLE_Pos;
+ ((I2s *)hw)->CTRLA.reg = tmp;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg &= ~I2S_CTRLA_ENABLE;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg ^= I2S_CTRLA_ENABLE;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_CTRLA_CKEN0_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg |= I2S_CTRLA_CKEN0;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_CTRLA_CKEN0_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK);
+ tmp = ((I2s *)hw)->CTRLA.reg;
+ tmp = (tmp & I2S_CTRLA_CKEN0) >> I2S_CTRLA_CKEN0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_CTRLA_CKEN0_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CTRLA.reg;
+ tmp &= ~I2S_CTRLA_CKEN0;
+ tmp |= value << I2S_CTRLA_CKEN0_Pos;
+ ((I2s *)hw)->CTRLA.reg = tmp;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CTRLA_CKEN0_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg &= ~I2S_CTRLA_CKEN0;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CTRLA_CKEN0_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg ^= I2S_CTRLA_CKEN0;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_CTRLA_CKEN1_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg |= I2S_CTRLA_CKEN1;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_CTRLA_CKEN1_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK);
+ tmp = ((I2s *)hw)->CTRLA.reg;
+ tmp = (tmp & I2S_CTRLA_CKEN1) >> I2S_CTRLA_CKEN1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_CTRLA_CKEN1_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CTRLA.reg;
+ tmp &= ~I2S_CTRLA_CKEN1;
+ tmp |= value << I2S_CTRLA_CKEN1_Pos;
+ ((I2s *)hw)->CTRLA.reg = tmp;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CTRLA_CKEN1_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg &= ~I2S_CTRLA_CKEN1;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CTRLA_CKEN1_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg ^= I2S_CTRLA_CKEN1;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_CTRLA_TXEN_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg |= I2S_CTRLA_TXEN;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_CTRLA_TXEN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ tmp = ((I2s *)hw)->CTRLA.reg;
+ tmp = (tmp & I2S_CTRLA_TXEN) >> I2S_CTRLA_TXEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_CTRLA_TXEN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CTRLA.reg;
+ tmp &= ~I2S_CTRLA_TXEN;
+ tmp |= value << I2S_CTRLA_TXEN_Pos;
+ ((I2s *)hw)->CTRLA.reg = tmp;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CTRLA_TXEN_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg &= ~I2S_CTRLA_TXEN;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CTRLA_TXEN_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg ^= I2S_CTRLA_TXEN;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_CTRLA_RXEN_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg |= I2S_CTRLA_RXEN;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_CTRLA_RXEN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ tmp = ((I2s *)hw)->CTRLA.reg;
+ tmp = (tmp & I2S_CTRLA_RXEN) >> I2S_CTRLA_RXEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_CTRLA_RXEN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CTRLA.reg;
+ tmp &= ~I2S_CTRLA_RXEN;
+ tmp |= value << I2S_CTRLA_RXEN_Pos;
+ ((I2s *)hw)->CTRLA.reg = tmp;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CTRLA_RXEN_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg &= ~I2S_CTRLA_RXEN;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CTRLA_RXEN_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg ^= I2S_CTRLA_RXEN;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_CTRLA_reg(const void *const hw, hri_i2s_ctrla_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg |= mask;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_ctrla_reg_t hri_i2s_get_CTRLA_reg(const void *const hw, hri_i2s_ctrla_reg_t mask)
+{
+ uint8_t tmp;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ tmp = ((I2s *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_i2s_write_CTRLA_reg(const void *const hw, hri_i2s_ctrla_reg_t data)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg = data;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CTRLA_reg(const void *const hw, hri_i2s_ctrla_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg &= ~mask;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CTRLA_reg(const void *const hw, hri_i2s_ctrla_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CTRLA.reg ^= mask;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_ctrla_reg_t hri_i2s_read_CTRLA_reg(const void *const hw)
+{
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_SWRST | I2S_SYNCBUSY_ENABLE | I2S_SYNCBUSY_TXEN | I2S_SYNCBUSY_RXEN);
+ return ((I2s *)hw)->CTRLA.reg;
+}
+
+static inline void hri_i2s_set_CLKCTRL_BITDELAY_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_BITDELAY;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_CLKCTRL_BITDELAY_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_BITDELAY) >> I2S_CLKCTRL_BITDELAY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_CLKCTRL_BITDELAY_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp &= ~I2S_CLKCTRL_BITDELAY;
+ tmp |= value << I2S_CLKCTRL_BITDELAY_Pos;
+ ((I2s *)hw)->CLKCTRL[index].reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CLKCTRL_BITDELAY_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_BITDELAY;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CLKCTRL_BITDELAY_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_BITDELAY;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_CLKCTRL_FSSEL_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_FSSEL;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_CLKCTRL_FSSEL_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_FSSEL) >> I2S_CLKCTRL_FSSEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_CLKCTRL_FSSEL_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp &= ~I2S_CLKCTRL_FSSEL;
+ tmp |= value << I2S_CLKCTRL_FSSEL_Pos;
+ ((I2s *)hw)->CLKCTRL[index].reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CLKCTRL_FSSEL_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_FSSEL;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CLKCTRL_FSSEL_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_FSSEL;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_CLKCTRL_FSINV_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_FSINV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_CLKCTRL_FSINV_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_FSINV) >> I2S_CLKCTRL_FSINV_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_CLKCTRL_FSINV_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp &= ~I2S_CLKCTRL_FSINV;
+ tmp |= value << I2S_CLKCTRL_FSINV_Pos;
+ ((I2s *)hw)->CLKCTRL[index].reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CLKCTRL_FSINV_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_FSINV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CLKCTRL_FSINV_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_FSINV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_CLKCTRL_FSOUTINV_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_FSOUTINV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_CLKCTRL_FSOUTINV_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_FSOUTINV) >> I2S_CLKCTRL_FSOUTINV_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_CLKCTRL_FSOUTINV_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp &= ~I2S_CLKCTRL_FSOUTINV;
+ tmp |= value << I2S_CLKCTRL_FSOUTINV_Pos;
+ ((I2s *)hw)->CLKCTRL[index].reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CLKCTRL_FSOUTINV_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_FSOUTINV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CLKCTRL_FSOUTINV_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_FSOUTINV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_CLKCTRL_SCKSEL_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_SCKSEL;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_CLKCTRL_SCKSEL_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_SCKSEL) >> I2S_CLKCTRL_SCKSEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_CLKCTRL_SCKSEL_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp &= ~I2S_CLKCTRL_SCKSEL;
+ tmp |= value << I2S_CLKCTRL_SCKSEL_Pos;
+ ((I2s *)hw)->CLKCTRL[index].reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CLKCTRL_SCKSEL_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_SCKSEL;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CLKCTRL_SCKSEL_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_SCKSEL;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_CLKCTRL_SCKOUTINV_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_SCKOUTINV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_CLKCTRL_SCKOUTINV_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_SCKOUTINV) >> I2S_CLKCTRL_SCKOUTINV_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_CLKCTRL_SCKOUTINV_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp &= ~I2S_CLKCTRL_SCKOUTINV;
+ tmp |= value << I2S_CLKCTRL_SCKOUTINV_Pos;
+ ((I2s *)hw)->CLKCTRL[index].reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CLKCTRL_SCKOUTINV_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_SCKOUTINV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CLKCTRL_SCKOUTINV_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_SCKOUTINV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_CLKCTRL_MCKSEL_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_MCKSEL;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_CLKCTRL_MCKSEL_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_MCKSEL) >> I2S_CLKCTRL_MCKSEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_CLKCTRL_MCKSEL_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp &= ~I2S_CLKCTRL_MCKSEL;
+ tmp |= value << I2S_CLKCTRL_MCKSEL_Pos;
+ ((I2s *)hw)->CLKCTRL[index].reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CLKCTRL_MCKSEL_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_MCKSEL;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CLKCTRL_MCKSEL_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_MCKSEL;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_CLKCTRL_MCKEN_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_MCKEN;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_CLKCTRL_MCKEN_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_MCKEN) >> I2S_CLKCTRL_MCKEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_CLKCTRL_MCKEN_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp &= ~I2S_CLKCTRL_MCKEN;
+ tmp |= value << I2S_CLKCTRL_MCKEN_Pos;
+ ((I2s *)hw)->CLKCTRL[index].reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CLKCTRL_MCKEN_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_MCKEN;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CLKCTRL_MCKEN_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_MCKEN;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_CLKCTRL_MCKOUTINV_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_MCKOUTINV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_CLKCTRL_MCKOUTINV_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_MCKOUTINV) >> I2S_CLKCTRL_MCKOUTINV_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_CLKCTRL_MCKOUTINV_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp &= ~I2S_CLKCTRL_MCKOUTINV;
+ tmp |= value << I2S_CLKCTRL_MCKOUTINV_Pos;
+ ((I2s *)hw)->CLKCTRL[index].reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CLKCTRL_MCKOUTINV_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_MCKOUTINV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CLKCTRL_MCKOUTINV_bit(const void *const hw, uint8_t index)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_MCKOUTINV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_CLKCTRL_SLOTSIZE_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_SLOTSIZE(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_clkctrl_reg_t hri_i2s_get_CLKCTRL_SLOTSIZE_bf(const void *const hw, uint8_t index,
+ hri_i2s_clkctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_SLOTSIZE(mask)) >> I2S_CLKCTRL_SLOTSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_write_CLKCTRL_SLOTSIZE_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t data)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp &= ~I2S_CLKCTRL_SLOTSIZE_Msk;
+ tmp |= I2S_CLKCTRL_SLOTSIZE(data);
+ ((I2s *)hw)->CLKCTRL[index].reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CLKCTRL_SLOTSIZE_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_SLOTSIZE(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CLKCTRL_SLOTSIZE_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_SLOTSIZE(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_clkctrl_reg_t hri_i2s_read_CLKCTRL_SLOTSIZE_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_SLOTSIZE_Msk) >> I2S_CLKCTRL_SLOTSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_set_CLKCTRL_NBSLOTS_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_NBSLOTS(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_clkctrl_reg_t hri_i2s_get_CLKCTRL_NBSLOTS_bf(const void *const hw, uint8_t index,
+ hri_i2s_clkctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_NBSLOTS(mask)) >> I2S_CLKCTRL_NBSLOTS_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_write_CLKCTRL_NBSLOTS_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t data)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp &= ~I2S_CLKCTRL_NBSLOTS_Msk;
+ tmp |= I2S_CLKCTRL_NBSLOTS(data);
+ ((I2s *)hw)->CLKCTRL[index].reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CLKCTRL_NBSLOTS_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_NBSLOTS(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CLKCTRL_NBSLOTS_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_NBSLOTS(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_clkctrl_reg_t hri_i2s_read_CLKCTRL_NBSLOTS_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_NBSLOTS_Msk) >> I2S_CLKCTRL_NBSLOTS_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_set_CLKCTRL_FSWIDTH_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_FSWIDTH(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_clkctrl_reg_t hri_i2s_get_CLKCTRL_FSWIDTH_bf(const void *const hw, uint8_t index,
+ hri_i2s_clkctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_FSWIDTH(mask)) >> I2S_CLKCTRL_FSWIDTH_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_write_CLKCTRL_FSWIDTH_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t data)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp &= ~I2S_CLKCTRL_FSWIDTH_Msk;
+ tmp |= I2S_CLKCTRL_FSWIDTH(data);
+ ((I2s *)hw)->CLKCTRL[index].reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CLKCTRL_FSWIDTH_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_FSWIDTH(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CLKCTRL_FSWIDTH_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_FSWIDTH(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_clkctrl_reg_t hri_i2s_read_CLKCTRL_FSWIDTH_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_FSWIDTH_Msk) >> I2S_CLKCTRL_FSWIDTH_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_set_CLKCTRL_MCKDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_MCKDIV(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_clkctrl_reg_t hri_i2s_get_CLKCTRL_MCKDIV_bf(const void *const hw, uint8_t index,
+ hri_i2s_clkctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_MCKDIV(mask)) >> I2S_CLKCTRL_MCKDIV_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_write_CLKCTRL_MCKDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t data)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp &= ~I2S_CLKCTRL_MCKDIV_Msk;
+ tmp |= I2S_CLKCTRL_MCKDIV(data);
+ ((I2s *)hw)->CLKCTRL[index].reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CLKCTRL_MCKDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_MCKDIV(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CLKCTRL_MCKDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_MCKDIV(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_clkctrl_reg_t hri_i2s_read_CLKCTRL_MCKDIV_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_MCKDIV_Msk) >> I2S_CLKCTRL_MCKDIV_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_set_CLKCTRL_MCKOUTDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg |= I2S_CLKCTRL_MCKOUTDIV(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_clkctrl_reg_t hri_i2s_get_CLKCTRL_MCKOUTDIV_bf(const void *const hw, uint8_t index,
+ hri_i2s_clkctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_MCKOUTDIV(mask)) >> I2S_CLKCTRL_MCKOUTDIV_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_write_CLKCTRL_MCKOUTDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t data)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp &= ~I2S_CLKCTRL_MCKOUTDIV_Msk;
+ tmp |= I2S_CLKCTRL_MCKOUTDIV(data);
+ ((I2s *)hw)->CLKCTRL[index].reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CLKCTRL_MCKOUTDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg &= ~I2S_CLKCTRL_MCKOUTDIV(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CLKCTRL_MCKOUTDIV_bf(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg ^= I2S_CLKCTRL_MCKOUTDIV(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_clkctrl_reg_t hri_i2s_read_CLKCTRL_MCKOUTDIV_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp = (tmp & I2S_CLKCTRL_MCKOUTDIV_Msk) >> I2S_CLKCTRL_MCKOUTDIV_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_set_CLKCTRL_reg(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg |= mask;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_clkctrl_reg_t hri_i2s_get_CLKCTRL_reg(const void *const hw, uint8_t index,
+ hri_i2s_clkctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->CLKCTRL[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_i2s_write_CLKCTRL_reg(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t data)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg = data;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_CLKCTRL_reg(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg &= ~mask;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_CLKCTRL_reg(const void *const hw, uint8_t index, hri_i2s_clkctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->CLKCTRL[index].reg ^= mask;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_clkctrl_reg_t hri_i2s_read_CLKCTRL_reg(const void *const hw, uint8_t index)
+{
+ return ((I2s *)hw)->CLKCTRL[index].reg;
+}
+
+static inline void hri_i2s_set_TXCTRL_TXSAME_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_TXSAME;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_TXCTRL_TXSAME_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_TXSAME) >> I2S_TXCTRL_TXSAME_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_TXSAME_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_TXSAME;
+ tmp |= value << I2S_TXCTRL_TXSAME_Pos;
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_TXSAME_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_TXSAME;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_TXSAME_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_TXSAME;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_TXCTRL_SLOTADJ_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTADJ;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_TXCTRL_SLOTADJ_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_SLOTADJ) >> I2S_TXCTRL_SLOTADJ_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_SLOTADJ_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_SLOTADJ;
+ tmp |= value << I2S_TXCTRL_SLOTADJ_Pos;
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_SLOTADJ_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTADJ;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_SLOTADJ_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTADJ;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_TXCTRL_WORDADJ_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_WORDADJ;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_TXCTRL_WORDADJ_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_WORDADJ) >> I2S_TXCTRL_WORDADJ_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_WORDADJ_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_WORDADJ;
+ tmp |= value << I2S_TXCTRL_WORDADJ_Pos;
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_WORDADJ_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_WORDADJ;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_WORDADJ_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_WORDADJ;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_TXCTRL_BITREV_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_BITREV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_TXCTRL_BITREV_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_BITREV) >> I2S_TXCTRL_BITREV_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_BITREV_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_BITREV;
+ tmp |= value << I2S_TXCTRL_BITREV_Pos;
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_BITREV_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_BITREV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_BITREV_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_BITREV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_TXCTRL_SLOTDIS0_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS0;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_TXCTRL_SLOTDIS0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_SLOTDIS0) >> I2S_TXCTRL_SLOTDIS0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_SLOTDIS0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_SLOTDIS0;
+ tmp |= value << I2S_TXCTRL_SLOTDIS0_Pos;
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_SLOTDIS0_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS0;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_SLOTDIS0_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS0;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_TXCTRL_SLOTDIS1_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS1;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_TXCTRL_SLOTDIS1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_SLOTDIS1) >> I2S_TXCTRL_SLOTDIS1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_SLOTDIS1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_SLOTDIS1;
+ tmp |= value << I2S_TXCTRL_SLOTDIS1_Pos;
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_SLOTDIS1_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS1;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_SLOTDIS1_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS1;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_TXCTRL_SLOTDIS2_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS2;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_TXCTRL_SLOTDIS2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_SLOTDIS2) >> I2S_TXCTRL_SLOTDIS2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_SLOTDIS2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_SLOTDIS2;
+ tmp |= value << I2S_TXCTRL_SLOTDIS2_Pos;
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_SLOTDIS2_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS2;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_SLOTDIS2_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS2;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_TXCTRL_SLOTDIS3_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS3;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_TXCTRL_SLOTDIS3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_SLOTDIS3) >> I2S_TXCTRL_SLOTDIS3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_SLOTDIS3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_SLOTDIS3;
+ tmp |= value << I2S_TXCTRL_SLOTDIS3_Pos;
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_SLOTDIS3_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS3;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_SLOTDIS3_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS3;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_TXCTRL_SLOTDIS4_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS4;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_TXCTRL_SLOTDIS4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_SLOTDIS4) >> I2S_TXCTRL_SLOTDIS4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_SLOTDIS4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_SLOTDIS4;
+ tmp |= value << I2S_TXCTRL_SLOTDIS4_Pos;
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_SLOTDIS4_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS4;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_SLOTDIS4_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS4;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_TXCTRL_SLOTDIS5_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS5;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_TXCTRL_SLOTDIS5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_SLOTDIS5) >> I2S_TXCTRL_SLOTDIS5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_SLOTDIS5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_SLOTDIS5;
+ tmp |= value << I2S_TXCTRL_SLOTDIS5_Pos;
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_SLOTDIS5_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS5;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_SLOTDIS5_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS5;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_TXCTRL_SLOTDIS6_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS6;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_TXCTRL_SLOTDIS6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_SLOTDIS6) >> I2S_TXCTRL_SLOTDIS6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_SLOTDIS6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_SLOTDIS6;
+ tmp |= value << I2S_TXCTRL_SLOTDIS6_Pos;
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_SLOTDIS6_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS6;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_SLOTDIS6_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS6;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_TXCTRL_SLOTDIS7_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_SLOTDIS7;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_TXCTRL_SLOTDIS7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_SLOTDIS7) >> I2S_TXCTRL_SLOTDIS7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_SLOTDIS7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_SLOTDIS7;
+ tmp |= value << I2S_TXCTRL_SLOTDIS7_Pos;
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_SLOTDIS7_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_SLOTDIS7;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_SLOTDIS7_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_SLOTDIS7;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_TXCTRL_MONO_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_MONO;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_TXCTRL_MONO_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_MONO) >> I2S_TXCTRL_MONO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_MONO_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_MONO;
+ tmp |= value << I2S_TXCTRL_MONO_Pos;
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_MONO_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_MONO;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_MONO_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_MONO;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_TXCTRL_DMA_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_DMA;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_TXCTRL_DMA_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_DMA) >> I2S_TXCTRL_DMA_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_DMA_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_DMA;
+ tmp |= value << I2S_TXCTRL_DMA_Pos;
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_DMA_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_DMA;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_DMA_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_DMA;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_TXCTRL_TXDEFAULT_bf(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_TXDEFAULT(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_txctrl_reg_t hri_i2s_get_TXCTRL_TXDEFAULT_bf(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_TXDEFAULT(mask)) >> I2S_TXCTRL_TXDEFAULT_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_TXDEFAULT_bf(const void *const hw, hri_i2s_txctrl_reg_t data)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_TXDEFAULT_Msk;
+ tmp |= I2S_TXCTRL_TXDEFAULT(data);
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_TXDEFAULT_bf(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_TXDEFAULT(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_TXDEFAULT_bf(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_TXDEFAULT(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_txctrl_reg_t hri_i2s_read_TXCTRL_TXDEFAULT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_TXDEFAULT_Msk) >> I2S_TXCTRL_TXDEFAULT_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_set_TXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_DATASIZE(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_txctrl_reg_t hri_i2s_get_TXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_DATASIZE(mask)) >> I2S_TXCTRL_DATASIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_txctrl_reg_t data)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_DATASIZE_Msk;
+ tmp |= I2S_TXCTRL_DATASIZE(data);
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_DATASIZE(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_DATASIZE(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_txctrl_reg_t hri_i2s_read_TXCTRL_DATASIZE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_DATASIZE_Msk) >> I2S_TXCTRL_DATASIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_set_TXCTRL_EXTEND_bf(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= I2S_TXCTRL_EXTEND(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_txctrl_reg_t hri_i2s_get_TXCTRL_EXTEND_bf(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_EXTEND(mask)) >> I2S_TXCTRL_EXTEND_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_EXTEND_bf(const void *const hw, hri_i2s_txctrl_reg_t data)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= ~I2S_TXCTRL_EXTEND_Msk;
+ tmp |= I2S_TXCTRL_EXTEND(data);
+ ((I2s *)hw)->TXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_EXTEND_bf(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~I2S_TXCTRL_EXTEND(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_EXTEND_bf(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= I2S_TXCTRL_EXTEND(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_txctrl_reg_t hri_i2s_read_TXCTRL_EXTEND_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp = (tmp & I2S_TXCTRL_EXTEND_Msk) >> I2S_TXCTRL_EXTEND_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_set_TXCTRL_reg(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg |= mask;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_txctrl_reg_t hri_i2s_get_TXCTRL_reg(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->TXCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_i2s_write_TXCTRL_reg(const void *const hw, hri_i2s_txctrl_reg_t data)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg = data;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_TXCTRL_reg(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg &= ~mask;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_TXCTRL_reg(const void *const hw, hri_i2s_txctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXCTRL.reg ^= mask;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_txctrl_reg_t hri_i2s_read_TXCTRL_reg(const void *const hw)
+{
+ return ((I2s *)hw)->TXCTRL.reg;
+}
+
+static inline void hri_i2s_set_RXCTRL_CLKSEL_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_CLKSEL;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_RXCTRL_CLKSEL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_CLKSEL) >> I2S_RXCTRL_CLKSEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_CLKSEL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_CLKSEL;
+ tmp |= value << I2S_RXCTRL_CLKSEL_Pos;
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_CLKSEL_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_CLKSEL;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_CLKSEL_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_CLKSEL;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_RXCTRL_SLOTADJ_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTADJ;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_RXCTRL_SLOTADJ_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_SLOTADJ) >> I2S_RXCTRL_SLOTADJ_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_SLOTADJ_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_SLOTADJ;
+ tmp |= value << I2S_RXCTRL_SLOTADJ_Pos;
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_SLOTADJ_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTADJ;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_SLOTADJ_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTADJ;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_RXCTRL_WORDADJ_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_WORDADJ;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_RXCTRL_WORDADJ_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_WORDADJ) >> I2S_RXCTRL_WORDADJ_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_WORDADJ_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_WORDADJ;
+ tmp |= value << I2S_RXCTRL_WORDADJ_Pos;
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_WORDADJ_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_WORDADJ;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_WORDADJ_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_WORDADJ;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_RXCTRL_BITREV_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_BITREV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_RXCTRL_BITREV_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_BITREV) >> I2S_RXCTRL_BITREV_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_BITREV_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_BITREV;
+ tmp |= value << I2S_RXCTRL_BITREV_Pos;
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_BITREV_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_BITREV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_BITREV_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_BITREV;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_RXCTRL_SLOTDIS0_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS0;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_RXCTRL_SLOTDIS0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_SLOTDIS0) >> I2S_RXCTRL_SLOTDIS0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_SLOTDIS0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_SLOTDIS0;
+ tmp |= value << I2S_RXCTRL_SLOTDIS0_Pos;
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_SLOTDIS0_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS0;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_SLOTDIS0_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS0;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_RXCTRL_SLOTDIS1_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS1;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_RXCTRL_SLOTDIS1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_SLOTDIS1) >> I2S_RXCTRL_SLOTDIS1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_SLOTDIS1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_SLOTDIS1;
+ tmp |= value << I2S_RXCTRL_SLOTDIS1_Pos;
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_SLOTDIS1_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS1;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_SLOTDIS1_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS1;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_RXCTRL_SLOTDIS2_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS2;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_RXCTRL_SLOTDIS2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_SLOTDIS2) >> I2S_RXCTRL_SLOTDIS2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_SLOTDIS2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_SLOTDIS2;
+ tmp |= value << I2S_RXCTRL_SLOTDIS2_Pos;
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_SLOTDIS2_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS2;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_SLOTDIS2_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS2;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_RXCTRL_SLOTDIS3_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS3;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_RXCTRL_SLOTDIS3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_SLOTDIS3) >> I2S_RXCTRL_SLOTDIS3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_SLOTDIS3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_SLOTDIS3;
+ tmp |= value << I2S_RXCTRL_SLOTDIS3_Pos;
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_SLOTDIS3_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS3;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_SLOTDIS3_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS3;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_RXCTRL_SLOTDIS4_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS4;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_RXCTRL_SLOTDIS4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_SLOTDIS4) >> I2S_RXCTRL_SLOTDIS4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_SLOTDIS4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_SLOTDIS4;
+ tmp |= value << I2S_RXCTRL_SLOTDIS4_Pos;
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_SLOTDIS4_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS4;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_SLOTDIS4_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS4;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_RXCTRL_SLOTDIS5_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS5;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_RXCTRL_SLOTDIS5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_SLOTDIS5) >> I2S_RXCTRL_SLOTDIS5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_SLOTDIS5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_SLOTDIS5;
+ tmp |= value << I2S_RXCTRL_SLOTDIS5_Pos;
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_SLOTDIS5_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS5;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_SLOTDIS5_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS5;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_RXCTRL_SLOTDIS6_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS6;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_RXCTRL_SLOTDIS6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_SLOTDIS6) >> I2S_RXCTRL_SLOTDIS6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_SLOTDIS6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_SLOTDIS6;
+ tmp |= value << I2S_RXCTRL_SLOTDIS6_Pos;
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_SLOTDIS6_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS6;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_SLOTDIS6_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS6;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_RXCTRL_SLOTDIS7_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SLOTDIS7;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_RXCTRL_SLOTDIS7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_SLOTDIS7) >> I2S_RXCTRL_SLOTDIS7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_SLOTDIS7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_SLOTDIS7;
+ tmp |= value << I2S_RXCTRL_SLOTDIS7_Pos;
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_SLOTDIS7_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SLOTDIS7;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_SLOTDIS7_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SLOTDIS7;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_RXCTRL_MONO_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_MONO;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_RXCTRL_MONO_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_MONO) >> I2S_RXCTRL_MONO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_MONO_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_MONO;
+ tmp |= value << I2S_RXCTRL_MONO_Pos;
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_MONO_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_MONO;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_MONO_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_MONO;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_RXCTRL_DMA_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_DMA;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_RXCTRL_DMA_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_DMA) >> I2S_RXCTRL_DMA_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_DMA_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_DMA;
+ tmp |= value << I2S_RXCTRL_DMA_Pos;
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_DMA_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_DMA;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_DMA_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_DMA;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_RXCTRL_RXLOOP_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_RXLOOP;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_i2s_get_RXCTRL_RXLOOP_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_RXLOOP) >> I2S_RXCTRL_RXLOOP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_RXLOOP_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_RXLOOP;
+ tmp |= value << I2S_RXCTRL_RXLOOP_Pos;
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_RXLOOP_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_RXLOOP;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_RXLOOP_bit(const void *const hw)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_RXLOOP;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_set_RXCTRL_SERMODE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_SERMODE(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_rxctrl_reg_t hri_i2s_get_RXCTRL_SERMODE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_SERMODE(mask)) >> I2S_RXCTRL_SERMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_SERMODE_bf(const void *const hw, hri_i2s_rxctrl_reg_t data)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_SERMODE_Msk;
+ tmp |= I2S_RXCTRL_SERMODE(data);
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_SERMODE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_SERMODE(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_SERMODE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_SERMODE(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_rxctrl_reg_t hri_i2s_read_RXCTRL_SERMODE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_SERMODE_Msk) >> I2S_RXCTRL_SERMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_set_RXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_DATASIZE(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_rxctrl_reg_t hri_i2s_get_RXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_DATASIZE(mask)) >> I2S_RXCTRL_DATASIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_rxctrl_reg_t data)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_DATASIZE_Msk;
+ tmp |= I2S_RXCTRL_DATASIZE(data);
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_DATASIZE(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_DATASIZE_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_DATASIZE(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_rxctrl_reg_t hri_i2s_read_RXCTRL_DATASIZE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_DATASIZE_Msk) >> I2S_RXCTRL_DATASIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_set_RXCTRL_EXTEND_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= I2S_RXCTRL_EXTEND(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_rxctrl_reg_t hri_i2s_get_RXCTRL_EXTEND_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_EXTEND(mask)) >> I2S_RXCTRL_EXTEND_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_EXTEND_bf(const void *const hw, hri_i2s_rxctrl_reg_t data)
+{
+ uint32_t tmp;
+ I2S_CRITICAL_SECTION_ENTER();
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= ~I2S_RXCTRL_EXTEND_Msk;
+ tmp |= I2S_RXCTRL_EXTEND(data);
+ ((I2s *)hw)->RXCTRL.reg = tmp;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_EXTEND_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~I2S_RXCTRL_EXTEND(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_EXTEND_bf(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= I2S_RXCTRL_EXTEND(mask);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_rxctrl_reg_t hri_i2s_read_RXCTRL_EXTEND_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp = (tmp & I2S_RXCTRL_EXTEND_Msk) >> I2S_RXCTRL_EXTEND_Pos;
+ return tmp;
+}
+
+static inline void hri_i2s_set_RXCTRL_reg(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg |= mask;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_rxctrl_reg_t hri_i2s_get_RXCTRL_reg(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((I2s *)hw)->RXCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_i2s_write_RXCTRL_reg(const void *const hw, hri_i2s_rxctrl_reg_t data)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg = data;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_clear_RXCTRL_reg(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg &= ~mask;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_i2s_toggle_RXCTRL_reg(const void *const hw, hri_i2s_rxctrl_reg_t mask)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->RXCTRL.reg ^= mask;
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_i2s_rxctrl_reg_t hri_i2s_read_RXCTRL_reg(const void *const hw)
+{
+ return ((I2s *)hw)->RXCTRL.reg;
+}
+
+static inline void hri_i2s_write_TXDATA_reg(const void *const hw, hri_i2s_txdata_reg_t data)
+{
+ I2S_CRITICAL_SECTION_ENTER();
+ ((I2s *)hw)->TXDATA.reg = data;
+ hri_i2s_wait_for_sync(hw, I2S_SYNCBUSY_MASK);
+ I2S_CRITICAL_SECTION_LEAVE();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_I2S_E54_H_INCLUDED */
+#endif /* _SAME54_I2S_COMPONENT_ */
diff --git a/hri/hri_icm_e54.h b/hri/hri_icm_e54.h
new file mode 100644
index 0000000..374caa4
--- /dev/null
+++ b/hri/hri_icm_e54.h
@@ -0,0 +1,761 @@
+/**
+ * \file
+ *
+ * \brief SAM ICM
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_ICM_COMPONENT_
+#ifndef _HRI_ICM_E54_H_INCLUDED_
+#define _HRI_ICM_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_ICM_CRITICAL_SECTIONS)
+#define ICM_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define ICM_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define ICM_CRITICAL_SECTION_ENTER()
+#define ICM_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_icm_cfg_reg_t;
+typedef uint32_t hri_icm_ctrl_reg_t;
+typedef uint32_t hri_icm_dscr_reg_t;
+typedef uint32_t hri_icm_hash_reg_t;
+typedef uint32_t hri_icm_imr_reg_t;
+typedef uint32_t hri_icm_isr_reg_t;
+typedef uint32_t hri_icm_sr_reg_t;
+typedef uint32_t hri_icm_uasr_reg_t;
+typedef uint32_t hri_icm_uihval_reg_t;
+typedef uint32_t hri_icmdescriptor_raddr_reg_t;
+typedef uint32_t hri_icmdescriptor_rcfg_reg_t;
+typedef uint32_t hri_icmdescriptor_rctrl_reg_t;
+typedef uint32_t hri_icmdescriptor_rnext_reg_t;
+
+static inline void hri_icmdescriptor_set_RADDR_reg(const void *const hw, hri_icmdescriptor_raddr_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RADDR.reg |= mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_icmdescriptor_raddr_reg_t hri_icmdescriptor_get_RADDR_reg(const void *const hw,
+ hri_icmdescriptor_raddr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((IcmDescriptor *)hw)->RADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_icmdescriptor_write_RADDR_reg(const void *const hw, hri_icmdescriptor_raddr_reg_t data)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RADDR.reg = data;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_icmdescriptor_clear_RADDR_reg(const void *const hw, hri_icmdescriptor_raddr_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RADDR.reg &= ~mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_icmdescriptor_toggle_RADDR_reg(const void *const hw, hri_icmdescriptor_raddr_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RADDR.reg ^= mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_icmdescriptor_raddr_reg_t hri_icmdescriptor_read_RADDR_reg(const void *const hw)
+{
+ return ((IcmDescriptor *)hw)->RADDR.reg;
+}
+
+static inline void hri_icmdescriptor_set_RCFG_reg(const void *const hw, hri_icmdescriptor_rcfg_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RCFG.reg |= mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_icmdescriptor_rcfg_reg_t hri_icmdescriptor_get_RCFG_reg(const void *const hw,
+ hri_icmdescriptor_rcfg_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((IcmDescriptor *)hw)->RCFG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_icmdescriptor_write_RCFG_reg(const void *const hw, hri_icmdescriptor_rcfg_reg_t data)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RCFG.reg = data;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_icmdescriptor_clear_RCFG_reg(const void *const hw, hri_icmdescriptor_rcfg_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RCFG.reg &= ~mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_icmdescriptor_toggle_RCFG_reg(const void *const hw, hri_icmdescriptor_rcfg_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RCFG.reg ^= mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_icmdescriptor_rcfg_reg_t hri_icmdescriptor_read_RCFG_reg(const void *const hw)
+{
+ return ((IcmDescriptor *)hw)->RCFG.reg;
+}
+
+static inline void hri_icmdescriptor_set_RCTRL_reg(const void *const hw, hri_icmdescriptor_rctrl_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RCTRL.reg |= mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_icmdescriptor_rctrl_reg_t hri_icmdescriptor_get_RCTRL_reg(const void *const hw,
+ hri_icmdescriptor_rctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((IcmDescriptor *)hw)->RCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_icmdescriptor_write_RCTRL_reg(const void *const hw, hri_icmdescriptor_rctrl_reg_t data)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RCTRL.reg = data;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_icmdescriptor_clear_RCTRL_reg(const void *const hw, hri_icmdescriptor_rctrl_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RCTRL.reg &= ~mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_icmdescriptor_toggle_RCTRL_reg(const void *const hw, hri_icmdescriptor_rctrl_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RCTRL.reg ^= mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_icmdescriptor_rctrl_reg_t hri_icmdescriptor_read_RCTRL_reg(const void *const hw)
+{
+ return ((IcmDescriptor *)hw)->RCTRL.reg;
+}
+
+static inline void hri_icmdescriptor_set_RNEXT_reg(const void *const hw, hri_icmdescriptor_rnext_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RNEXT.reg |= mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_icmdescriptor_rnext_reg_t hri_icmdescriptor_get_RNEXT_reg(const void *const hw,
+ hri_icmdescriptor_rnext_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((IcmDescriptor *)hw)->RNEXT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_icmdescriptor_write_RNEXT_reg(const void *const hw, hri_icmdescriptor_rnext_reg_t data)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RNEXT.reg = data;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_icmdescriptor_clear_RNEXT_reg(const void *const hw, hri_icmdescriptor_rnext_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RNEXT.reg &= ~mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_icmdescriptor_toggle_RNEXT_reg(const void *const hw, hri_icmdescriptor_rnext_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((IcmDescriptor *)hw)->RNEXT.reg ^= mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_icmdescriptor_rnext_reg_t hri_icmdescriptor_read_RNEXT_reg(const void *const hw)
+{
+ return ((IcmDescriptor *)hw)->RNEXT.reg;
+}
+
+static inline void hri_icm_set_IMR_URAD_bit(const void *const hw)
+{
+ ((Icm *)hw)->IER.reg = ICM_IMR_URAD;
+}
+
+static inline bool hri_icm_get_IMR_URAD_bit(const void *const hw)
+{
+ return (((Icm *)hw)->IMR.reg & ICM_IMR_URAD) >> ICM_IMR_URAD_Pos;
+}
+
+static inline void hri_icm_write_IMR_URAD_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Icm *)hw)->IDR.reg = ICM_IMR_URAD;
+ } else {
+ ((Icm *)hw)->IER.reg = ICM_IMR_URAD;
+ }
+}
+
+static inline void hri_icm_clear_IMR_URAD_bit(const void *const hw)
+{
+ ((Icm *)hw)->IDR.reg = ICM_IMR_URAD;
+}
+
+static inline void hri_icm_set_IMR_RHC_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ ((Icm *)hw)->IER.reg = ICM_IMR_RHC(mask);
+}
+
+static inline hri_icm_imr_reg_t hri_icm_get_IMR_RHC_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->IMR.reg;
+ tmp = (tmp & ICM_IMR_RHC(mask)) >> ICM_IMR_RHC_Pos;
+ return tmp;
+}
+
+static inline hri_icm_imr_reg_t hri_icm_read_IMR_RHC_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->IMR.reg;
+ tmp = (tmp & ICM_IMR_RHC_Msk) >> ICM_IMR_RHC_Pos;
+ return tmp;
+}
+
+static inline void hri_icm_write_IMR_RHC_bf(const void *const hw, hri_icm_imr_reg_t data)
+{
+ ((Icm *)hw)->IER.reg = ICM_IMR_RHC(data);
+ ((Icm *)hw)->IDR.reg = ~ICM_IMR_RHC(data);
+}
+
+static inline void hri_icm_clear_IMR_RHC_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ ((Icm *)hw)->IDR.reg = ICM_IMR_RHC(mask);
+}
+
+static inline void hri_icm_set_IMR_RDM_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ ((Icm *)hw)->IER.reg = ICM_IMR_RDM(mask);
+}
+
+static inline hri_icm_imr_reg_t hri_icm_get_IMR_RDM_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->IMR.reg;
+ tmp = (tmp & ICM_IMR_RDM(mask)) >> ICM_IMR_RDM_Pos;
+ return tmp;
+}
+
+static inline hri_icm_imr_reg_t hri_icm_read_IMR_RDM_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->IMR.reg;
+ tmp = (tmp & ICM_IMR_RDM_Msk) >> ICM_IMR_RDM_Pos;
+ return tmp;
+}
+
+static inline void hri_icm_write_IMR_RDM_bf(const void *const hw, hri_icm_imr_reg_t data)
+{
+ ((Icm *)hw)->IER.reg = ICM_IMR_RDM(data);
+ ((Icm *)hw)->IDR.reg = ~ICM_IMR_RDM(data);
+}
+
+static inline void hri_icm_clear_IMR_RDM_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ ((Icm *)hw)->IDR.reg = ICM_IMR_RDM(mask);
+}
+
+static inline void hri_icm_set_IMR_RBE_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ ((Icm *)hw)->IER.reg = ICM_IMR_RBE(mask);
+}
+
+static inline hri_icm_imr_reg_t hri_icm_get_IMR_RBE_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->IMR.reg;
+ tmp = (tmp & ICM_IMR_RBE(mask)) >> ICM_IMR_RBE_Pos;
+ return tmp;
+}
+
+static inline hri_icm_imr_reg_t hri_icm_read_IMR_RBE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->IMR.reg;
+ tmp = (tmp & ICM_IMR_RBE_Msk) >> ICM_IMR_RBE_Pos;
+ return tmp;
+}
+
+static inline void hri_icm_write_IMR_RBE_bf(const void *const hw, hri_icm_imr_reg_t data)
+{
+ ((Icm *)hw)->IER.reg = ICM_IMR_RBE(data);
+ ((Icm *)hw)->IDR.reg = ~ICM_IMR_RBE(data);
+}
+
+static inline void hri_icm_clear_IMR_RBE_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ ((Icm *)hw)->IDR.reg = ICM_IMR_RBE(mask);
+}
+
+static inline void hri_icm_set_IMR_RWC_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ ((Icm *)hw)->IER.reg = ICM_IMR_RWC(mask);
+}
+
+static inline hri_icm_imr_reg_t hri_icm_get_IMR_RWC_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->IMR.reg;
+ tmp = (tmp & ICM_IMR_RWC(mask)) >> ICM_IMR_RWC_Pos;
+ return tmp;
+}
+
+static inline hri_icm_imr_reg_t hri_icm_read_IMR_RWC_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->IMR.reg;
+ tmp = (tmp & ICM_IMR_RWC_Msk) >> ICM_IMR_RWC_Pos;
+ return tmp;
+}
+
+static inline void hri_icm_write_IMR_RWC_bf(const void *const hw, hri_icm_imr_reg_t data)
+{
+ ((Icm *)hw)->IER.reg = ICM_IMR_RWC(data);
+ ((Icm *)hw)->IDR.reg = ~ICM_IMR_RWC(data);
+}
+
+static inline void hri_icm_clear_IMR_RWC_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ ((Icm *)hw)->IDR.reg = ICM_IMR_RWC(mask);
+}
+
+static inline void hri_icm_set_IMR_REC_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ ((Icm *)hw)->IER.reg = ICM_IMR_REC(mask);
+}
+
+static inline hri_icm_imr_reg_t hri_icm_get_IMR_REC_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->IMR.reg;
+ tmp = (tmp & ICM_IMR_REC(mask)) >> ICM_IMR_REC_Pos;
+ return tmp;
+}
+
+static inline hri_icm_imr_reg_t hri_icm_read_IMR_REC_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->IMR.reg;
+ tmp = (tmp & ICM_IMR_REC_Msk) >> ICM_IMR_REC_Pos;
+ return tmp;
+}
+
+static inline void hri_icm_write_IMR_REC_bf(const void *const hw, hri_icm_imr_reg_t data)
+{
+ ((Icm *)hw)->IER.reg = ICM_IMR_REC(data);
+ ((Icm *)hw)->IDR.reg = ~ICM_IMR_REC(data);
+}
+
+static inline void hri_icm_clear_IMR_REC_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ ((Icm *)hw)->IDR.reg = ICM_IMR_REC(mask);
+}
+
+static inline void hri_icm_set_IMR_RSU_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ ((Icm *)hw)->IER.reg = ICM_IMR_RSU(mask);
+}
+
+static inline hri_icm_imr_reg_t hri_icm_get_IMR_RSU_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->IMR.reg;
+ tmp = (tmp & ICM_IMR_RSU(mask)) >> ICM_IMR_RSU_Pos;
+ return tmp;
+}
+
+static inline hri_icm_imr_reg_t hri_icm_read_IMR_RSU_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->IMR.reg;
+ tmp = (tmp & ICM_IMR_RSU_Msk) >> ICM_IMR_RSU_Pos;
+ return tmp;
+}
+
+static inline void hri_icm_write_IMR_RSU_bf(const void *const hw, hri_icm_imr_reg_t data)
+{
+ ((Icm *)hw)->IER.reg = ICM_IMR_RSU(data);
+ ((Icm *)hw)->IDR.reg = ~ICM_IMR_RSU(data);
+}
+
+static inline void hri_icm_clear_IMR_RSU_bf(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ ((Icm *)hw)->IDR.reg = ICM_IMR_RSU(mask);
+}
+
+static inline void hri_icm_set_IMR_reg(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ ((Icm *)hw)->IER.reg = mask;
+}
+
+static inline hri_icm_imr_reg_t hri_icm_get_IMR_reg(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->IMR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_icm_imr_reg_t hri_icm_read_IMR_reg(const void *const hw)
+{
+ return ((Icm *)hw)->IMR.reg;
+}
+
+static inline void hri_icm_write_IMR_reg(const void *const hw, hri_icm_imr_reg_t data)
+{
+ ((Icm *)hw)->IER.reg = data;
+ ((Icm *)hw)->IDR.reg = ~data;
+}
+
+static inline void hri_icm_clear_IMR_reg(const void *const hw, hri_icm_imr_reg_t mask)
+{
+ ((Icm *)hw)->IDR.reg = mask;
+}
+
+static inline bool hri_icm_get_SR_ENABLE_bit(const void *const hw)
+{
+ return (((Icm *)hw)->SR.reg & ICM_SR_ENABLE) >> ICM_SR_ENABLE_Pos;
+}
+
+static inline hri_icm_sr_reg_t hri_icm_get_SR_RAWRMDIS_bf(const void *const hw, hri_icm_sr_reg_t mask)
+{
+ return (((Icm *)hw)->SR.reg & ICM_SR_RAWRMDIS(mask)) >> ICM_SR_RAWRMDIS_Pos;
+}
+
+static inline hri_icm_sr_reg_t hri_icm_read_SR_RAWRMDIS_bf(const void *const hw)
+{
+ return (((Icm *)hw)->SR.reg & ICM_SR_RAWRMDIS_Msk) >> ICM_SR_RAWRMDIS_Pos;
+}
+
+static inline hri_icm_sr_reg_t hri_icm_get_SR_RMDIS_bf(const void *const hw, hri_icm_sr_reg_t mask)
+{
+ return (((Icm *)hw)->SR.reg & ICM_SR_RMDIS(mask)) >> ICM_SR_RMDIS_Pos;
+}
+
+static inline hri_icm_sr_reg_t hri_icm_read_SR_RMDIS_bf(const void *const hw)
+{
+ return (((Icm *)hw)->SR.reg & ICM_SR_RMDIS_Msk) >> ICM_SR_RMDIS_Pos;
+}
+
+static inline hri_icm_sr_reg_t hri_icm_get_SR_reg(const void *const hw, hri_icm_sr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->SR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_icm_sr_reg_t hri_icm_read_SR_reg(const void *const hw)
+{
+ return ((Icm *)hw)->SR.reg;
+}
+
+static inline bool hri_icm_get_ISR_URAD_bit(const void *const hw)
+{
+ return (((Icm *)hw)->ISR.reg & ICM_ISR_URAD) >> ICM_ISR_URAD_Pos;
+}
+
+static inline hri_icm_isr_reg_t hri_icm_get_ISR_RHC_bf(const void *const hw, hri_icm_isr_reg_t mask)
+{
+ return (((Icm *)hw)->ISR.reg & ICM_ISR_RHC(mask)) >> ICM_ISR_RHC_Pos;
+}
+
+static inline hri_icm_isr_reg_t hri_icm_read_ISR_RHC_bf(const void *const hw)
+{
+ return (((Icm *)hw)->ISR.reg & ICM_ISR_RHC_Msk) >> ICM_ISR_RHC_Pos;
+}
+
+static inline hri_icm_isr_reg_t hri_icm_get_ISR_RDM_bf(const void *const hw, hri_icm_isr_reg_t mask)
+{
+ return (((Icm *)hw)->ISR.reg & ICM_ISR_RDM(mask)) >> ICM_ISR_RDM_Pos;
+}
+
+static inline hri_icm_isr_reg_t hri_icm_read_ISR_RDM_bf(const void *const hw)
+{
+ return (((Icm *)hw)->ISR.reg & ICM_ISR_RDM_Msk) >> ICM_ISR_RDM_Pos;
+}
+
+static inline hri_icm_isr_reg_t hri_icm_get_ISR_RBE_bf(const void *const hw, hri_icm_isr_reg_t mask)
+{
+ return (((Icm *)hw)->ISR.reg & ICM_ISR_RBE(mask)) >> ICM_ISR_RBE_Pos;
+}
+
+static inline hri_icm_isr_reg_t hri_icm_read_ISR_RBE_bf(const void *const hw)
+{
+ return (((Icm *)hw)->ISR.reg & ICM_ISR_RBE_Msk) >> ICM_ISR_RBE_Pos;
+}
+
+static inline hri_icm_isr_reg_t hri_icm_get_ISR_RWC_bf(const void *const hw, hri_icm_isr_reg_t mask)
+{
+ return (((Icm *)hw)->ISR.reg & ICM_ISR_RWC(mask)) >> ICM_ISR_RWC_Pos;
+}
+
+static inline hri_icm_isr_reg_t hri_icm_read_ISR_RWC_bf(const void *const hw)
+{
+ return (((Icm *)hw)->ISR.reg & ICM_ISR_RWC_Msk) >> ICM_ISR_RWC_Pos;
+}
+
+static inline hri_icm_isr_reg_t hri_icm_get_ISR_REC_bf(const void *const hw, hri_icm_isr_reg_t mask)
+{
+ return (((Icm *)hw)->ISR.reg & ICM_ISR_REC(mask)) >> ICM_ISR_REC_Pos;
+}
+
+static inline hri_icm_isr_reg_t hri_icm_read_ISR_REC_bf(const void *const hw)
+{
+ return (((Icm *)hw)->ISR.reg & ICM_ISR_REC_Msk) >> ICM_ISR_REC_Pos;
+}
+
+static inline hri_icm_isr_reg_t hri_icm_get_ISR_RSU_bf(const void *const hw, hri_icm_isr_reg_t mask)
+{
+ return (((Icm *)hw)->ISR.reg & ICM_ISR_RSU(mask)) >> ICM_ISR_RSU_Pos;
+}
+
+static inline hri_icm_isr_reg_t hri_icm_read_ISR_RSU_bf(const void *const hw)
+{
+ return (((Icm *)hw)->ISR.reg & ICM_ISR_RSU_Msk) >> ICM_ISR_RSU_Pos;
+}
+
+static inline hri_icm_isr_reg_t hri_icm_get_ISR_reg(const void *const hw, hri_icm_isr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->ISR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_icm_isr_reg_t hri_icm_read_ISR_reg(const void *const hw)
+{
+ return ((Icm *)hw)->ISR.reg;
+}
+
+static inline hri_icm_uasr_reg_t hri_icm_get_UASR_URAT_bf(const void *const hw, hri_icm_uasr_reg_t mask)
+{
+ return (((Icm *)hw)->UASR.reg & ICM_UASR_URAT(mask)) >> ICM_UASR_URAT_Pos;
+}
+
+static inline hri_icm_uasr_reg_t hri_icm_read_UASR_URAT_bf(const void *const hw)
+{
+ return (((Icm *)hw)->UASR.reg & ICM_UASR_URAT_Msk) >> ICM_UASR_URAT_Pos;
+}
+
+static inline hri_icm_uasr_reg_t hri_icm_get_UASR_reg(const void *const hw, hri_icm_uasr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->UASR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_icm_uasr_reg_t hri_icm_read_UASR_reg(const void *const hw)
+{
+ return ((Icm *)hw)->UASR.reg;
+}
+
+static inline void hri_icm_set_CFG_reg(const void *const hw, hri_icm_cfg_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((Icm *)hw)->CFG.reg |= mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_icm_cfg_reg_t hri_icm_get_CFG_reg(const void *const hw, hri_icm_cfg_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->CFG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_icm_write_CFG_reg(const void *const hw, hri_icm_cfg_reg_t data)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((Icm *)hw)->CFG.reg = data;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_icm_clear_CFG_reg(const void *const hw, hri_icm_cfg_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((Icm *)hw)->CFG.reg &= ~mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_icm_toggle_CFG_reg(const void *const hw, hri_icm_cfg_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((Icm *)hw)->CFG.reg ^= mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_icm_cfg_reg_t hri_icm_read_CFG_reg(const void *const hw)
+{
+ return ((Icm *)hw)->CFG.reg;
+}
+
+static inline void hri_icm_set_DSCR_reg(const void *const hw, hri_icm_dscr_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((Icm *)hw)->DSCR.reg |= mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_icm_dscr_reg_t hri_icm_get_DSCR_reg(const void *const hw, hri_icm_dscr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->DSCR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_icm_write_DSCR_reg(const void *const hw, hri_icm_dscr_reg_t data)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((Icm *)hw)->DSCR.reg = data;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_icm_clear_DSCR_reg(const void *const hw, hri_icm_dscr_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((Icm *)hw)->DSCR.reg &= ~mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_icm_toggle_DSCR_reg(const void *const hw, hri_icm_dscr_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((Icm *)hw)->DSCR.reg ^= mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_icm_dscr_reg_t hri_icm_read_DSCR_reg(const void *const hw)
+{
+ return ((Icm *)hw)->DSCR.reg;
+}
+
+static inline void hri_icm_set_HASH_reg(const void *const hw, hri_icm_hash_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((Icm *)hw)->HASH.reg |= mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_icm_hash_reg_t hri_icm_get_HASH_reg(const void *const hw, hri_icm_hash_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Icm *)hw)->HASH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_icm_write_HASH_reg(const void *const hw, hri_icm_hash_reg_t data)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((Icm *)hw)->HASH.reg = data;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_icm_clear_HASH_reg(const void *const hw, hri_icm_hash_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((Icm *)hw)->HASH.reg &= ~mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_icm_toggle_HASH_reg(const void *const hw, hri_icm_hash_reg_t mask)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((Icm *)hw)->HASH.reg ^= mask;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_icm_hash_reg_t hri_icm_read_HASH_reg(const void *const hw)
+{
+ return ((Icm *)hw)->HASH.reg;
+}
+
+static inline void hri_icm_write_CTRL_reg(const void *const hw, hri_icm_ctrl_reg_t data)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((Icm *)hw)->CTRL.reg = data;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_icm_write_UIHVAL_reg(const void *const hw, uint8_t index, hri_icm_uihval_reg_t data)
+{
+ ICM_CRITICAL_SECTION_ENTER();
+ ((Icm *)hw)->UIHVAL[index].reg = data;
+ ICM_CRITICAL_SECTION_LEAVE();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_ICM_E54_H_INCLUDED */
+#endif /* _SAME54_ICM_COMPONENT_ */
diff --git a/hri/hri_mclk_e54.h b/hri/hri_mclk_e54.h
new file mode 100644
index 0000000..7e3963b
--- /dev/null
+++ b/hri/hri_mclk_e54.h
@@ -0,0 +1,3556 @@
+/**
+ * \file
+ *
+ * \brief SAM MCLK
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_MCLK_COMPONENT_
+#ifndef _HRI_MCLK_E54_H_INCLUDED_
+#define _HRI_MCLK_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_MCLK_CRITICAL_SECTIONS)
+#define MCLK_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define MCLK_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define MCLK_CRITICAL_SECTION_ENTER()
+#define MCLK_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_mclk_ahbmask_reg_t;
+typedef uint32_t hri_mclk_apbamask_reg_t;
+typedef uint32_t hri_mclk_apbbmask_reg_t;
+typedef uint32_t hri_mclk_apbcmask_reg_t;
+typedef uint32_t hri_mclk_apbdmask_reg_t;
+typedef uint8_t hri_mclk_cpudiv_reg_t;
+typedef uint8_t hri_mclk_hsdiv_reg_t;
+typedef uint8_t hri_mclk_intenset_reg_t;
+typedef uint8_t hri_mclk_intflag_reg_t;
+
+static inline bool hri_mclk_get_INTFLAG_CKRDY_bit(const void *const hw)
+{
+ return (((Mclk *)hw)->INTFLAG.reg & MCLK_INTFLAG_CKRDY) >> MCLK_INTFLAG_CKRDY_Pos;
+}
+
+static inline void hri_mclk_clear_INTFLAG_CKRDY_bit(const void *const hw)
+{
+ ((Mclk *)hw)->INTFLAG.reg = MCLK_INTFLAG_CKRDY;
+}
+
+static inline bool hri_mclk_get_interrupt_CKRDY_bit(const void *const hw)
+{
+ return (((Mclk *)hw)->INTFLAG.reg & MCLK_INTFLAG_CKRDY) >> MCLK_INTFLAG_CKRDY_Pos;
+}
+
+static inline void hri_mclk_clear_interrupt_CKRDY_bit(const void *const hw)
+{
+ ((Mclk *)hw)->INTFLAG.reg = MCLK_INTFLAG_CKRDY;
+}
+
+static inline hri_mclk_intflag_reg_t hri_mclk_get_INTFLAG_reg(const void *const hw, hri_mclk_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Mclk *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_mclk_intflag_reg_t hri_mclk_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Mclk *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_mclk_clear_INTFLAG_reg(const void *const hw, hri_mclk_intflag_reg_t mask)
+{
+ ((Mclk *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_mclk_set_INTEN_CKRDY_bit(const void *const hw)
+{
+ ((Mclk *)hw)->INTENSET.reg = MCLK_INTENSET_CKRDY;
+}
+
+static inline bool hri_mclk_get_INTEN_CKRDY_bit(const void *const hw)
+{
+ return (((Mclk *)hw)->INTENSET.reg & MCLK_INTENSET_CKRDY) >> MCLK_INTENSET_CKRDY_Pos;
+}
+
+static inline void hri_mclk_write_INTEN_CKRDY_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Mclk *)hw)->INTENCLR.reg = MCLK_INTENSET_CKRDY;
+ } else {
+ ((Mclk *)hw)->INTENSET.reg = MCLK_INTENSET_CKRDY;
+ }
+}
+
+static inline void hri_mclk_clear_INTEN_CKRDY_bit(const void *const hw)
+{
+ ((Mclk *)hw)->INTENCLR.reg = MCLK_INTENSET_CKRDY;
+}
+
+static inline void hri_mclk_set_INTEN_reg(const void *const hw, hri_mclk_intenset_reg_t mask)
+{
+ ((Mclk *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_mclk_intenset_reg_t hri_mclk_get_INTEN_reg(const void *const hw, hri_mclk_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Mclk *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_mclk_intenset_reg_t hri_mclk_read_INTEN_reg(const void *const hw)
+{
+ return ((Mclk *)hw)->INTENSET.reg;
+}
+
+static inline void hri_mclk_write_INTEN_reg(const void *const hw, hri_mclk_intenset_reg_t data)
+{
+ ((Mclk *)hw)->INTENSET.reg = data;
+ ((Mclk *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_mclk_clear_INTEN_reg(const void *const hw, hri_mclk_intenset_reg_t mask)
+{
+ ((Mclk *)hw)->INTENCLR.reg = mask;
+}
+
+static inline hri_mclk_hsdiv_reg_t hri_mclk_get_HSDIV_DIV_bf(const void *const hw, hri_mclk_hsdiv_reg_t mask)
+{
+ return (((Mclk *)hw)->HSDIV.reg & MCLK_HSDIV_DIV(mask)) >> MCLK_HSDIV_DIV_Pos;
+}
+
+static inline hri_mclk_hsdiv_reg_t hri_mclk_read_HSDIV_DIV_bf(const void *const hw)
+{
+ return (((Mclk *)hw)->HSDIV.reg & MCLK_HSDIV_DIV_Msk) >> MCLK_HSDIV_DIV_Pos;
+}
+
+static inline hri_mclk_hsdiv_reg_t hri_mclk_get_HSDIV_reg(const void *const hw, hri_mclk_hsdiv_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Mclk *)hw)->HSDIV.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_mclk_hsdiv_reg_t hri_mclk_read_HSDIV_reg(const void *const hw)
+{
+ return ((Mclk *)hw)->HSDIV.reg;
+}
+
+static inline void hri_mclk_set_CPUDIV_DIV_bf(const void *const hw, hri_mclk_cpudiv_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->CPUDIV.reg |= MCLK_CPUDIV_DIV(mask);
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mclk_cpudiv_reg_t hri_mclk_get_CPUDIV_DIV_bf(const void *const hw, hri_mclk_cpudiv_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Mclk *)hw)->CPUDIV.reg;
+ tmp = (tmp & MCLK_CPUDIV_DIV(mask)) >> MCLK_CPUDIV_DIV_Pos;
+ return tmp;
+}
+
+static inline void hri_mclk_write_CPUDIV_DIV_bf(const void *const hw, hri_mclk_cpudiv_reg_t data)
+{
+ uint8_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->CPUDIV.reg;
+ tmp &= ~MCLK_CPUDIV_DIV_Msk;
+ tmp |= MCLK_CPUDIV_DIV(data);
+ ((Mclk *)hw)->CPUDIV.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_CPUDIV_DIV_bf(const void *const hw, hri_mclk_cpudiv_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->CPUDIV.reg &= ~MCLK_CPUDIV_DIV(mask);
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_CPUDIV_DIV_bf(const void *const hw, hri_mclk_cpudiv_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->CPUDIV.reg ^= MCLK_CPUDIV_DIV(mask);
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mclk_cpudiv_reg_t hri_mclk_read_CPUDIV_DIV_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Mclk *)hw)->CPUDIV.reg;
+ tmp = (tmp & MCLK_CPUDIV_DIV_Msk) >> MCLK_CPUDIV_DIV_Pos;
+ return tmp;
+}
+
+static inline void hri_mclk_set_CPUDIV_reg(const void *const hw, hri_mclk_cpudiv_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->CPUDIV.reg |= mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mclk_cpudiv_reg_t hri_mclk_get_CPUDIV_reg(const void *const hw, hri_mclk_cpudiv_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Mclk *)hw)->CPUDIV.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mclk_write_CPUDIV_reg(const void *const hw, hri_mclk_cpudiv_reg_t data)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->CPUDIV.reg = data;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_CPUDIV_reg(const void *const hw, hri_mclk_cpudiv_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->CPUDIV.reg &= ~mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_CPUDIV_reg(const void *const hw, hri_mclk_cpudiv_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->CPUDIV.reg ^= mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mclk_cpudiv_reg_t hri_mclk_read_CPUDIV_reg(const void *const hw)
+{
+ return ((Mclk *)hw)->CPUDIV.reg;
+}
+
+static inline void hri_mclk_set_AHBMASK_HPB0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_HPB0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_HPB0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_HPB0) >> MCLK_AHBMASK_HPB0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_HPB0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_HPB0;
+ tmp |= value << MCLK_AHBMASK_HPB0_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_HPB0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_HPB0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_HPB0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_HPB0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_HPB1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_HPB1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_HPB1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_HPB1) >> MCLK_AHBMASK_HPB1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_HPB1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_HPB1;
+ tmp |= value << MCLK_AHBMASK_HPB1_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_HPB1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_HPB1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_HPB1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_HPB1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_HPB2_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_HPB2;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_HPB2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_HPB2) >> MCLK_AHBMASK_HPB2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_HPB2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_HPB2;
+ tmp |= value << MCLK_AHBMASK_HPB2_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_HPB2_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_HPB2;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_HPB2_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_HPB2;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_HPB3_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_HPB3;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_HPB3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_HPB3) >> MCLK_AHBMASK_HPB3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_HPB3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_HPB3;
+ tmp |= value << MCLK_AHBMASK_HPB3_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_HPB3_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_HPB3;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_HPB3_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_HPB3;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_DSU_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_DSU;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_DSU_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_DSU) >> MCLK_AHBMASK_DSU_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_DSU_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_DSU;
+ tmp |= value << MCLK_AHBMASK_DSU_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_DSU_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_DSU;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_DSU_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_DSU;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_HMATRIX_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_HMATRIX;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_HMATRIX_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_HMATRIX) >> MCLK_AHBMASK_HMATRIX_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_HMATRIX_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_HMATRIX;
+ tmp |= value << MCLK_AHBMASK_HMATRIX_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_HMATRIX_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_HMATRIX;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_HMATRIX_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_HMATRIX;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_NVMCTRL_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_NVMCTRL;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_NVMCTRL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_NVMCTRL) >> MCLK_AHBMASK_NVMCTRL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_NVMCTRL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_NVMCTRL;
+ tmp |= value << MCLK_AHBMASK_NVMCTRL_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_NVMCTRL_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_NVMCTRL;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_NVMCTRL_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_NVMCTRL;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_HSRAM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_HSRAM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_HSRAM_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_HSRAM) >> MCLK_AHBMASK_HSRAM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_HSRAM_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_HSRAM;
+ tmp |= value << MCLK_AHBMASK_HSRAM_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_HSRAM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_HSRAM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_HSRAM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_HSRAM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_CMCC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_CMCC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_CMCC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_CMCC) >> MCLK_AHBMASK_CMCC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_CMCC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_CMCC;
+ tmp |= value << MCLK_AHBMASK_CMCC_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_CMCC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_CMCC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_CMCC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_CMCC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_DMAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_DMAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_DMAC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_DMAC) >> MCLK_AHBMASK_DMAC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_DMAC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_DMAC;
+ tmp |= value << MCLK_AHBMASK_DMAC_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_DMAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_DMAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_DMAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_DMAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_USB_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_USB;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_USB_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_USB) >> MCLK_AHBMASK_USB_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_USB_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_USB;
+ tmp |= value << MCLK_AHBMASK_USB_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_USB_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_USB;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_USB_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_USB;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_BKUPRAM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_BKUPRAM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_BKUPRAM_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_BKUPRAM) >> MCLK_AHBMASK_BKUPRAM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_BKUPRAM_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_BKUPRAM;
+ tmp |= value << MCLK_AHBMASK_BKUPRAM_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_BKUPRAM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_BKUPRAM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_BKUPRAM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_BKUPRAM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_PAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_PAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_PAC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_PAC) >> MCLK_AHBMASK_PAC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_PAC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_PAC;
+ tmp |= value << MCLK_AHBMASK_PAC_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_PAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_PAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_PAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_PAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_QSPI_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_QSPI;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_QSPI_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_QSPI) >> MCLK_AHBMASK_QSPI_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_QSPI_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_QSPI;
+ tmp |= value << MCLK_AHBMASK_QSPI_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_QSPI_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_QSPI;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_QSPI_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_QSPI;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_GMAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_GMAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_GMAC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_GMAC) >> MCLK_AHBMASK_GMAC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_GMAC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_GMAC;
+ tmp |= value << MCLK_AHBMASK_GMAC_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_GMAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_GMAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_GMAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_GMAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_SDHC0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_SDHC0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_SDHC0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_SDHC0) >> MCLK_AHBMASK_SDHC0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_SDHC0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_SDHC0;
+ tmp |= value << MCLK_AHBMASK_SDHC0_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_SDHC0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_SDHC0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_SDHC0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_SDHC0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_SDHC1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_SDHC1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_SDHC1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_SDHC1) >> MCLK_AHBMASK_SDHC1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_SDHC1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_SDHC1;
+ tmp |= value << MCLK_AHBMASK_SDHC1_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_SDHC1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_SDHC1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_SDHC1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_SDHC1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_CAN0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_CAN0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_CAN0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_CAN0) >> MCLK_AHBMASK_CAN0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_CAN0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_CAN0;
+ tmp |= value << MCLK_AHBMASK_CAN0_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_CAN0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_CAN0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_CAN0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_CAN0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_CAN1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_CAN1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_CAN1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_CAN1) >> MCLK_AHBMASK_CAN1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_CAN1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_CAN1;
+ tmp |= value << MCLK_AHBMASK_CAN1_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_CAN1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_CAN1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_CAN1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_CAN1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_ICM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_ICM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_ICM_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_ICM) >> MCLK_AHBMASK_ICM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_ICM_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_ICM;
+ tmp |= value << MCLK_AHBMASK_ICM_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_ICM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_ICM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_ICM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_ICM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_PUKCC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_PUKCC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_PUKCC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_PUKCC) >> MCLK_AHBMASK_PUKCC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_PUKCC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_PUKCC;
+ tmp |= value << MCLK_AHBMASK_PUKCC_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_PUKCC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_PUKCC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_PUKCC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_PUKCC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_QSPI_2X_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_QSPI_2X;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_QSPI_2X_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_QSPI_2X) >> MCLK_AHBMASK_QSPI_2X_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_QSPI_2X_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_QSPI_2X;
+ tmp |= value << MCLK_AHBMASK_QSPI_2X_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_QSPI_2X_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_QSPI_2X;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_QSPI_2X_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_QSPI_2X;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_NVMCTRL_SMEEPROM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_NVMCTRL_SMEEPROM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_NVMCTRL_SMEEPROM_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_NVMCTRL_SMEEPROM) >> MCLK_AHBMASK_NVMCTRL_SMEEPROM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_NVMCTRL_SMEEPROM_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_NVMCTRL_SMEEPROM;
+ tmp |= value << MCLK_AHBMASK_NVMCTRL_SMEEPROM_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_NVMCTRL_SMEEPROM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_NVMCTRL_SMEEPROM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_NVMCTRL_SMEEPROM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_NVMCTRL_SMEEPROM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_NVMCTRL_CACHE_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= MCLK_AHBMASK_NVMCTRL_CACHE;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_AHBMASK_NVMCTRL_CACHE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp = (tmp & MCLK_AHBMASK_NVMCTRL_CACHE) >> MCLK_AHBMASK_NVMCTRL_CACHE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_NVMCTRL_CACHE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= ~MCLK_AHBMASK_NVMCTRL_CACHE;
+ tmp |= value << MCLK_AHBMASK_NVMCTRL_CACHE_Pos;
+ ((Mclk *)hw)->AHBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_NVMCTRL_CACHE_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~MCLK_AHBMASK_NVMCTRL_CACHE;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_NVMCTRL_CACHE_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= MCLK_AHBMASK_NVMCTRL_CACHE;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_AHBMASK_reg(const void *const hw, hri_mclk_ahbmask_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg |= mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mclk_ahbmask_reg_t hri_mclk_get_AHBMASK_reg(const void *const hw, hri_mclk_ahbmask_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->AHBMASK.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mclk_write_AHBMASK_reg(const void *const hw, hri_mclk_ahbmask_reg_t data)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg = data;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_AHBMASK_reg(const void *const hw, hri_mclk_ahbmask_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg &= ~mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_AHBMASK_reg(const void *const hw, hri_mclk_ahbmask_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->AHBMASK.reg ^= mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mclk_ahbmask_reg_t hri_mclk_read_AHBMASK_reg(const void *const hw)
+{
+ return ((Mclk *)hw)->AHBMASK.reg;
+}
+
+static inline void hri_mclk_set_APBAMASK_PAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_PAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_PAC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_PAC) >> MCLK_APBAMASK_PAC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_PAC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_PAC;
+ tmp |= value << MCLK_APBAMASK_PAC_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_PAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_PAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_PAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_PAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_PM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_PM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_PM_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_PM) >> MCLK_APBAMASK_PM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_PM_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_PM;
+ tmp |= value << MCLK_APBAMASK_PM_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_PM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_PM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_PM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_PM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_MCLK_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_MCLK;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_MCLK_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_MCLK) >> MCLK_APBAMASK_MCLK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_MCLK_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_MCLK;
+ tmp |= value << MCLK_APBAMASK_MCLK_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_MCLK_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_MCLK;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_MCLK_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_MCLK;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_RSTC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_RSTC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_RSTC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_RSTC) >> MCLK_APBAMASK_RSTC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_RSTC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_RSTC;
+ tmp |= value << MCLK_APBAMASK_RSTC_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_RSTC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_RSTC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_RSTC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_RSTC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_OSCCTRL_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_OSCCTRL;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_OSCCTRL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_OSCCTRL) >> MCLK_APBAMASK_OSCCTRL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_OSCCTRL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_OSCCTRL;
+ tmp |= value << MCLK_APBAMASK_OSCCTRL_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_OSCCTRL_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_OSCCTRL;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_OSCCTRL_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_OSCCTRL;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_OSC32KCTRL_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_OSC32KCTRL;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_OSC32KCTRL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_OSC32KCTRL) >> MCLK_APBAMASK_OSC32KCTRL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_OSC32KCTRL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_OSC32KCTRL;
+ tmp |= value << MCLK_APBAMASK_OSC32KCTRL_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_OSC32KCTRL_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_OSC32KCTRL;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_OSC32KCTRL_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_OSC32KCTRL;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_SUPC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_SUPC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_SUPC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_SUPC) >> MCLK_APBAMASK_SUPC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_SUPC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_SUPC;
+ tmp |= value << MCLK_APBAMASK_SUPC_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_SUPC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_SUPC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_SUPC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_SUPC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_GCLK_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_GCLK;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_GCLK_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_GCLK) >> MCLK_APBAMASK_GCLK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_GCLK_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_GCLK;
+ tmp |= value << MCLK_APBAMASK_GCLK_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_GCLK_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_GCLK;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_GCLK_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_GCLK;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_WDT_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_WDT;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_WDT_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_WDT) >> MCLK_APBAMASK_WDT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_WDT_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_WDT;
+ tmp |= value << MCLK_APBAMASK_WDT_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_WDT_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_WDT;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_WDT_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_WDT;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_RTC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_RTC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_RTC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_RTC) >> MCLK_APBAMASK_RTC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_RTC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_RTC;
+ tmp |= value << MCLK_APBAMASK_RTC_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_RTC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_RTC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_RTC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_RTC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_EIC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_EIC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_EIC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_EIC) >> MCLK_APBAMASK_EIC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_EIC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_EIC;
+ tmp |= value << MCLK_APBAMASK_EIC_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_EIC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_EIC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_EIC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_EIC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_FREQM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_FREQM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_FREQM_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_FREQM) >> MCLK_APBAMASK_FREQM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_FREQM_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_FREQM;
+ tmp |= value << MCLK_APBAMASK_FREQM_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_FREQM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_FREQM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_FREQM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_FREQM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_SERCOM0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_SERCOM0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_SERCOM0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_SERCOM0) >> MCLK_APBAMASK_SERCOM0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_SERCOM0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_SERCOM0;
+ tmp |= value << MCLK_APBAMASK_SERCOM0_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_SERCOM0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_SERCOM0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_SERCOM0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_SERCOM0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_SERCOM1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_SERCOM1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_SERCOM1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_SERCOM1) >> MCLK_APBAMASK_SERCOM1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_SERCOM1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_SERCOM1;
+ tmp |= value << MCLK_APBAMASK_SERCOM1_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_SERCOM1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_SERCOM1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_SERCOM1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_SERCOM1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_TC0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_TC0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_TC0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_TC0) >> MCLK_APBAMASK_TC0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_TC0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_TC0;
+ tmp |= value << MCLK_APBAMASK_TC0_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_TC0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_TC0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_TC0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_TC0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_TC1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_TC1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBAMASK_TC1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp = (tmp & MCLK_APBAMASK_TC1) >> MCLK_APBAMASK_TC1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_TC1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= ~MCLK_APBAMASK_TC1;
+ tmp |= value << MCLK_APBAMASK_TC1_Pos;
+ ((Mclk *)hw)->APBAMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_TC1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~MCLK_APBAMASK_TC1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_TC1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= MCLK_APBAMASK_TC1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBAMASK_reg(const void *const hw, hri_mclk_apbamask_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg |= mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mclk_apbamask_reg_t hri_mclk_get_APBAMASK_reg(const void *const hw, hri_mclk_apbamask_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBAMASK.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mclk_write_APBAMASK_reg(const void *const hw, hri_mclk_apbamask_reg_t data)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg = data;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBAMASK_reg(const void *const hw, hri_mclk_apbamask_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg &= ~mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBAMASK_reg(const void *const hw, hri_mclk_apbamask_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBAMASK.reg ^= mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mclk_apbamask_reg_t hri_mclk_read_APBAMASK_reg(const void *const hw)
+{
+ return ((Mclk *)hw)->APBAMASK.reg;
+}
+
+static inline void hri_mclk_set_APBBMASK_USB_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_USB;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBBMASK_USB_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp = (tmp & MCLK_APBBMASK_USB) >> MCLK_APBBMASK_USB_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBBMASK_USB_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp &= ~MCLK_APBBMASK_USB;
+ tmp |= value << MCLK_APBBMASK_USB_Pos;
+ ((Mclk *)hw)->APBBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBBMASK_USB_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_USB;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBBMASK_USB_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_USB;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBBMASK_DSU_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_DSU;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBBMASK_DSU_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp = (tmp & MCLK_APBBMASK_DSU) >> MCLK_APBBMASK_DSU_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBBMASK_DSU_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp &= ~MCLK_APBBMASK_DSU;
+ tmp |= value << MCLK_APBBMASK_DSU_Pos;
+ ((Mclk *)hw)->APBBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBBMASK_DSU_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_DSU;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBBMASK_DSU_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_DSU;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBBMASK_NVMCTRL_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_NVMCTRL;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBBMASK_NVMCTRL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp = (tmp & MCLK_APBBMASK_NVMCTRL) >> MCLK_APBBMASK_NVMCTRL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBBMASK_NVMCTRL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp &= ~MCLK_APBBMASK_NVMCTRL;
+ tmp |= value << MCLK_APBBMASK_NVMCTRL_Pos;
+ ((Mclk *)hw)->APBBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBBMASK_NVMCTRL_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_NVMCTRL;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBBMASK_NVMCTRL_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_NVMCTRL;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBBMASK_PORT_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_PORT;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBBMASK_PORT_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp = (tmp & MCLK_APBBMASK_PORT) >> MCLK_APBBMASK_PORT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBBMASK_PORT_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp &= ~MCLK_APBBMASK_PORT;
+ tmp |= value << MCLK_APBBMASK_PORT_Pos;
+ ((Mclk *)hw)->APBBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBBMASK_PORT_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_PORT;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBBMASK_PORT_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_PORT;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBBMASK_HMATRIX_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_HMATRIX;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBBMASK_HMATRIX_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp = (tmp & MCLK_APBBMASK_HMATRIX) >> MCLK_APBBMASK_HMATRIX_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBBMASK_HMATRIX_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp &= ~MCLK_APBBMASK_HMATRIX;
+ tmp |= value << MCLK_APBBMASK_HMATRIX_Pos;
+ ((Mclk *)hw)->APBBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBBMASK_HMATRIX_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_HMATRIX;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBBMASK_HMATRIX_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_HMATRIX;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBBMASK_EVSYS_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_EVSYS;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBBMASK_EVSYS_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp = (tmp & MCLK_APBBMASK_EVSYS) >> MCLK_APBBMASK_EVSYS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBBMASK_EVSYS_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp &= ~MCLK_APBBMASK_EVSYS;
+ tmp |= value << MCLK_APBBMASK_EVSYS_Pos;
+ ((Mclk *)hw)->APBBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBBMASK_EVSYS_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_EVSYS;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBBMASK_EVSYS_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_EVSYS;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBBMASK_SERCOM2_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_SERCOM2;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBBMASK_SERCOM2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp = (tmp & MCLK_APBBMASK_SERCOM2) >> MCLK_APBBMASK_SERCOM2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBBMASK_SERCOM2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp &= ~MCLK_APBBMASK_SERCOM2;
+ tmp |= value << MCLK_APBBMASK_SERCOM2_Pos;
+ ((Mclk *)hw)->APBBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBBMASK_SERCOM2_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_SERCOM2;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBBMASK_SERCOM2_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_SERCOM2;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBBMASK_SERCOM3_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_SERCOM3;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBBMASK_SERCOM3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp = (tmp & MCLK_APBBMASK_SERCOM3) >> MCLK_APBBMASK_SERCOM3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBBMASK_SERCOM3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp &= ~MCLK_APBBMASK_SERCOM3;
+ tmp |= value << MCLK_APBBMASK_SERCOM3_Pos;
+ ((Mclk *)hw)->APBBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBBMASK_SERCOM3_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_SERCOM3;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBBMASK_SERCOM3_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_SERCOM3;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBBMASK_TCC0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_TCC0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBBMASK_TCC0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp = (tmp & MCLK_APBBMASK_TCC0) >> MCLK_APBBMASK_TCC0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBBMASK_TCC0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp &= ~MCLK_APBBMASK_TCC0;
+ tmp |= value << MCLK_APBBMASK_TCC0_Pos;
+ ((Mclk *)hw)->APBBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBBMASK_TCC0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_TCC0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBBMASK_TCC0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_TCC0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBBMASK_TCC1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_TCC1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBBMASK_TCC1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp = (tmp & MCLK_APBBMASK_TCC1) >> MCLK_APBBMASK_TCC1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBBMASK_TCC1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp &= ~MCLK_APBBMASK_TCC1;
+ tmp |= value << MCLK_APBBMASK_TCC1_Pos;
+ ((Mclk *)hw)->APBBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBBMASK_TCC1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_TCC1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBBMASK_TCC1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_TCC1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBBMASK_TC2_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_TC2;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBBMASK_TC2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp = (tmp & MCLK_APBBMASK_TC2) >> MCLK_APBBMASK_TC2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBBMASK_TC2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp &= ~MCLK_APBBMASK_TC2;
+ tmp |= value << MCLK_APBBMASK_TC2_Pos;
+ ((Mclk *)hw)->APBBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBBMASK_TC2_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_TC2;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBBMASK_TC2_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_TC2;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBBMASK_TC3_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_TC3;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBBMASK_TC3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp = (tmp & MCLK_APBBMASK_TC3) >> MCLK_APBBMASK_TC3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBBMASK_TC3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp &= ~MCLK_APBBMASK_TC3;
+ tmp |= value << MCLK_APBBMASK_TC3_Pos;
+ ((Mclk *)hw)->APBBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBBMASK_TC3_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_TC3;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBBMASK_TC3_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_TC3;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBBMASK_RAMECC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_RAMECC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBBMASK_RAMECC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp = (tmp & MCLK_APBBMASK_RAMECC) >> MCLK_APBBMASK_RAMECC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBBMASK_RAMECC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp &= ~MCLK_APBBMASK_RAMECC;
+ tmp |= value << MCLK_APBBMASK_RAMECC_Pos;
+ ((Mclk *)hw)->APBBMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBBMASK_RAMECC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg &= ~MCLK_APBBMASK_RAMECC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBBMASK_RAMECC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg ^= MCLK_APBBMASK_RAMECC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBBMASK_reg(const void *const hw, hri_mclk_apbbmask_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg |= mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mclk_apbbmask_reg_t hri_mclk_get_APBBMASK_reg(const void *const hw, hri_mclk_apbbmask_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBBMASK.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mclk_write_APBBMASK_reg(const void *const hw, hri_mclk_apbbmask_reg_t data)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg = data;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBBMASK_reg(const void *const hw, hri_mclk_apbbmask_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg &= ~mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBBMASK_reg(const void *const hw, hri_mclk_apbbmask_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBBMASK.reg ^= mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mclk_apbbmask_reg_t hri_mclk_read_APBBMASK_reg(const void *const hw)
+{
+ return ((Mclk *)hw)->APBBMASK.reg;
+}
+
+static inline void hri_mclk_set_APBCMASK_GMAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_GMAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBCMASK_GMAC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp = (tmp & MCLK_APBCMASK_GMAC) >> MCLK_APBCMASK_GMAC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBCMASK_GMAC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp &= ~MCLK_APBCMASK_GMAC;
+ tmp |= value << MCLK_APBCMASK_GMAC_Pos;
+ ((Mclk *)hw)->APBCMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBCMASK_GMAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_GMAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBCMASK_GMAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_GMAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBCMASK_TCC2_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_TCC2;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBCMASK_TCC2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp = (tmp & MCLK_APBCMASK_TCC2) >> MCLK_APBCMASK_TCC2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBCMASK_TCC2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp &= ~MCLK_APBCMASK_TCC2;
+ tmp |= value << MCLK_APBCMASK_TCC2_Pos;
+ ((Mclk *)hw)->APBCMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBCMASK_TCC2_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_TCC2;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBCMASK_TCC2_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_TCC2;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBCMASK_TCC3_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_TCC3;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBCMASK_TCC3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp = (tmp & MCLK_APBCMASK_TCC3) >> MCLK_APBCMASK_TCC3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBCMASK_TCC3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp &= ~MCLK_APBCMASK_TCC3;
+ tmp |= value << MCLK_APBCMASK_TCC3_Pos;
+ ((Mclk *)hw)->APBCMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBCMASK_TCC3_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_TCC3;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBCMASK_TCC3_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_TCC3;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBCMASK_TC4_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_TC4;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBCMASK_TC4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp = (tmp & MCLK_APBCMASK_TC4) >> MCLK_APBCMASK_TC4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBCMASK_TC4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp &= ~MCLK_APBCMASK_TC4;
+ tmp |= value << MCLK_APBCMASK_TC4_Pos;
+ ((Mclk *)hw)->APBCMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBCMASK_TC4_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_TC4;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBCMASK_TC4_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_TC4;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBCMASK_TC5_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_TC5;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBCMASK_TC5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp = (tmp & MCLK_APBCMASK_TC5) >> MCLK_APBCMASK_TC5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBCMASK_TC5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp &= ~MCLK_APBCMASK_TC5;
+ tmp |= value << MCLK_APBCMASK_TC5_Pos;
+ ((Mclk *)hw)->APBCMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBCMASK_TC5_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_TC5;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBCMASK_TC5_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_TC5;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBCMASK_PDEC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_PDEC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBCMASK_PDEC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp = (tmp & MCLK_APBCMASK_PDEC) >> MCLK_APBCMASK_PDEC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBCMASK_PDEC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp &= ~MCLK_APBCMASK_PDEC;
+ tmp |= value << MCLK_APBCMASK_PDEC_Pos;
+ ((Mclk *)hw)->APBCMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBCMASK_PDEC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_PDEC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBCMASK_PDEC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_PDEC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBCMASK_AC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_AC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBCMASK_AC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp = (tmp & MCLK_APBCMASK_AC) >> MCLK_APBCMASK_AC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBCMASK_AC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp &= ~MCLK_APBCMASK_AC;
+ tmp |= value << MCLK_APBCMASK_AC_Pos;
+ ((Mclk *)hw)->APBCMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBCMASK_AC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_AC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBCMASK_AC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_AC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBCMASK_AES_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_AES;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBCMASK_AES_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp = (tmp & MCLK_APBCMASK_AES) >> MCLK_APBCMASK_AES_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBCMASK_AES_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp &= ~MCLK_APBCMASK_AES;
+ tmp |= value << MCLK_APBCMASK_AES_Pos;
+ ((Mclk *)hw)->APBCMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBCMASK_AES_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_AES;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBCMASK_AES_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_AES;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBCMASK_TRNG_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_TRNG;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBCMASK_TRNG_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp = (tmp & MCLK_APBCMASK_TRNG) >> MCLK_APBCMASK_TRNG_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBCMASK_TRNG_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp &= ~MCLK_APBCMASK_TRNG;
+ tmp |= value << MCLK_APBCMASK_TRNG_Pos;
+ ((Mclk *)hw)->APBCMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBCMASK_TRNG_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_TRNG;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBCMASK_TRNG_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_TRNG;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBCMASK_ICM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_ICM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBCMASK_ICM_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp = (tmp & MCLK_APBCMASK_ICM) >> MCLK_APBCMASK_ICM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBCMASK_ICM_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp &= ~MCLK_APBCMASK_ICM;
+ tmp |= value << MCLK_APBCMASK_ICM_Pos;
+ ((Mclk *)hw)->APBCMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBCMASK_ICM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_ICM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBCMASK_ICM_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_ICM;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBCMASK_QSPI_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_QSPI;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBCMASK_QSPI_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp = (tmp & MCLK_APBCMASK_QSPI) >> MCLK_APBCMASK_QSPI_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBCMASK_QSPI_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp &= ~MCLK_APBCMASK_QSPI;
+ tmp |= value << MCLK_APBCMASK_QSPI_Pos;
+ ((Mclk *)hw)->APBCMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBCMASK_QSPI_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_QSPI;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBCMASK_QSPI_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_QSPI;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBCMASK_CCL_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg |= MCLK_APBCMASK_CCL;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBCMASK_CCL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp = (tmp & MCLK_APBCMASK_CCL) >> MCLK_APBCMASK_CCL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBCMASK_CCL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp &= ~MCLK_APBCMASK_CCL;
+ tmp |= value << MCLK_APBCMASK_CCL_Pos;
+ ((Mclk *)hw)->APBCMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBCMASK_CCL_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg &= ~MCLK_APBCMASK_CCL;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBCMASK_CCL_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg ^= MCLK_APBCMASK_CCL;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBCMASK_reg(const void *const hw, hri_mclk_apbcmask_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg |= mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mclk_apbcmask_reg_t hri_mclk_get_APBCMASK_reg(const void *const hw, hri_mclk_apbcmask_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBCMASK.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mclk_write_APBCMASK_reg(const void *const hw, hri_mclk_apbcmask_reg_t data)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg = data;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBCMASK_reg(const void *const hw, hri_mclk_apbcmask_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg &= ~mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBCMASK_reg(const void *const hw, hri_mclk_apbcmask_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBCMASK.reg ^= mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mclk_apbcmask_reg_t hri_mclk_read_APBCMASK_reg(const void *const hw)
+{
+ return ((Mclk *)hw)->APBCMASK.reg;
+}
+
+static inline void hri_mclk_set_APBDMASK_SERCOM4_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_SERCOM4;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBDMASK_SERCOM4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp = (tmp & MCLK_APBDMASK_SERCOM4) >> MCLK_APBDMASK_SERCOM4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBDMASK_SERCOM4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp &= ~MCLK_APBDMASK_SERCOM4;
+ tmp |= value << MCLK_APBDMASK_SERCOM4_Pos;
+ ((Mclk *)hw)->APBDMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBDMASK_SERCOM4_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_SERCOM4;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBDMASK_SERCOM4_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_SERCOM4;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBDMASK_SERCOM5_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_SERCOM5;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBDMASK_SERCOM5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp = (tmp & MCLK_APBDMASK_SERCOM5) >> MCLK_APBDMASK_SERCOM5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBDMASK_SERCOM5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp &= ~MCLK_APBDMASK_SERCOM5;
+ tmp |= value << MCLK_APBDMASK_SERCOM5_Pos;
+ ((Mclk *)hw)->APBDMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBDMASK_SERCOM5_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_SERCOM5;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBDMASK_SERCOM5_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_SERCOM5;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBDMASK_SERCOM6_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_SERCOM6;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBDMASK_SERCOM6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp = (tmp & MCLK_APBDMASK_SERCOM6) >> MCLK_APBDMASK_SERCOM6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBDMASK_SERCOM6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp &= ~MCLK_APBDMASK_SERCOM6;
+ tmp |= value << MCLK_APBDMASK_SERCOM6_Pos;
+ ((Mclk *)hw)->APBDMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBDMASK_SERCOM6_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_SERCOM6;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBDMASK_SERCOM6_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_SERCOM6;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBDMASK_SERCOM7_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_SERCOM7;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBDMASK_SERCOM7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp = (tmp & MCLK_APBDMASK_SERCOM7) >> MCLK_APBDMASK_SERCOM7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBDMASK_SERCOM7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp &= ~MCLK_APBDMASK_SERCOM7;
+ tmp |= value << MCLK_APBDMASK_SERCOM7_Pos;
+ ((Mclk *)hw)->APBDMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBDMASK_SERCOM7_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_SERCOM7;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBDMASK_SERCOM7_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_SERCOM7;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBDMASK_TCC4_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_TCC4;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBDMASK_TCC4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp = (tmp & MCLK_APBDMASK_TCC4) >> MCLK_APBDMASK_TCC4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBDMASK_TCC4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp &= ~MCLK_APBDMASK_TCC4;
+ tmp |= value << MCLK_APBDMASK_TCC4_Pos;
+ ((Mclk *)hw)->APBDMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBDMASK_TCC4_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_TCC4;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBDMASK_TCC4_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_TCC4;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBDMASK_TC6_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_TC6;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBDMASK_TC6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp = (tmp & MCLK_APBDMASK_TC6) >> MCLK_APBDMASK_TC6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBDMASK_TC6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp &= ~MCLK_APBDMASK_TC6;
+ tmp |= value << MCLK_APBDMASK_TC6_Pos;
+ ((Mclk *)hw)->APBDMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBDMASK_TC6_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_TC6;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBDMASK_TC6_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_TC6;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBDMASK_TC7_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_TC7;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBDMASK_TC7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp = (tmp & MCLK_APBDMASK_TC7) >> MCLK_APBDMASK_TC7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBDMASK_TC7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp &= ~MCLK_APBDMASK_TC7;
+ tmp |= value << MCLK_APBDMASK_TC7_Pos;
+ ((Mclk *)hw)->APBDMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBDMASK_TC7_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_TC7;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBDMASK_TC7_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_TC7;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBDMASK_ADC0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_ADC0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBDMASK_ADC0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp = (tmp & MCLK_APBDMASK_ADC0) >> MCLK_APBDMASK_ADC0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBDMASK_ADC0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp &= ~MCLK_APBDMASK_ADC0;
+ tmp |= value << MCLK_APBDMASK_ADC0_Pos;
+ ((Mclk *)hw)->APBDMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBDMASK_ADC0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_ADC0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBDMASK_ADC0_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_ADC0;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBDMASK_ADC1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_ADC1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBDMASK_ADC1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp = (tmp & MCLK_APBDMASK_ADC1) >> MCLK_APBDMASK_ADC1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBDMASK_ADC1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp &= ~MCLK_APBDMASK_ADC1;
+ tmp |= value << MCLK_APBDMASK_ADC1_Pos;
+ ((Mclk *)hw)->APBDMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBDMASK_ADC1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_ADC1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBDMASK_ADC1_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_ADC1;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBDMASK_DAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_DAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBDMASK_DAC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp = (tmp & MCLK_APBDMASK_DAC) >> MCLK_APBDMASK_DAC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBDMASK_DAC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp &= ~MCLK_APBDMASK_DAC;
+ tmp |= value << MCLK_APBDMASK_DAC_Pos;
+ ((Mclk *)hw)->APBDMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBDMASK_DAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_DAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBDMASK_DAC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_DAC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBDMASK_I2S_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_I2S;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBDMASK_I2S_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp = (tmp & MCLK_APBDMASK_I2S) >> MCLK_APBDMASK_I2S_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBDMASK_I2S_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp &= ~MCLK_APBDMASK_I2S;
+ tmp |= value << MCLK_APBDMASK_I2S_Pos;
+ ((Mclk *)hw)->APBDMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBDMASK_I2S_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_I2S;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBDMASK_I2S_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_I2S;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBDMASK_PCC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg |= MCLK_APBDMASK_PCC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_mclk_get_APBDMASK_PCC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp = (tmp & MCLK_APBDMASK_PCC) >> MCLK_APBDMASK_PCC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_mclk_write_APBDMASK_PCC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ MCLK_CRITICAL_SECTION_ENTER();
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp &= ~MCLK_APBDMASK_PCC;
+ tmp |= value << MCLK_APBDMASK_PCC_Pos;
+ ((Mclk *)hw)->APBDMASK.reg = tmp;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBDMASK_PCC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg &= ~MCLK_APBDMASK_PCC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBDMASK_PCC_bit(const void *const hw)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg ^= MCLK_APBDMASK_PCC;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_set_APBDMASK_reg(const void *const hw, hri_mclk_apbdmask_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg |= mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mclk_apbdmask_reg_t hri_mclk_get_APBDMASK_reg(const void *const hw, hri_mclk_apbdmask_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mclk *)hw)->APBDMASK.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mclk_write_APBDMASK_reg(const void *const hw, hri_mclk_apbdmask_reg_t data)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg = data;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_clear_APBDMASK_reg(const void *const hw, hri_mclk_apbdmask_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg &= ~mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mclk_toggle_APBDMASK_reg(const void *const hw, hri_mclk_apbdmask_reg_t mask)
+{
+ MCLK_CRITICAL_SECTION_ENTER();
+ ((Mclk *)hw)->APBDMASK.reg ^= mask;
+ MCLK_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mclk_apbdmask_reg_t hri_mclk_read_APBDMASK_reg(const void *const hw)
+{
+ return ((Mclk *)hw)->APBDMASK.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_MCLK_E54_H_INCLUDED */
+#endif /* _SAME54_MCLK_COMPONENT_ */
diff --git a/hri/hri_mpu_e54.h b/hri/hri_mpu_e54.h
new file mode 100644
index 0000000..b195272
--- /dev/null
+++ b/hri/hri_mpu_e54.h
@@ -0,0 +1,518 @@
+/**
+ * \file
+ *
+ * \brief SAM MPU
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_MPU_COMPONENT_
+#ifndef _HRI_MPU_E54_H_INCLUDED_
+#define _HRI_MPU_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_MPU_CRITICAL_SECTIONS)
+#define MPU_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define MPU_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define MPU_CRITICAL_SECTION_ENTER()
+#define MPU_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_mpu_ctrl_reg_t;
+typedef uint32_t hri_mpu_rasr_a1_reg_t;
+typedef uint32_t hri_mpu_rasr_a2_reg_t;
+typedef uint32_t hri_mpu_rasr_a3_reg_t;
+typedef uint32_t hri_mpu_rasr_reg_t;
+typedef uint32_t hri_mpu_rbar_a1_reg_t;
+typedef uint32_t hri_mpu_rbar_a2_reg_t;
+typedef uint32_t hri_mpu_rbar_a3_reg_t;
+typedef uint32_t hri_mpu_rbar_reg_t;
+typedef uint32_t hri_mpu_rnr_reg_t;
+typedef uint32_t hri_mpu_type_reg_t;
+
+static inline bool hri_mpu_get_TYPE_SEPARATE_bit(const void *const hw)
+{
+ return (((Mpu *)hw)->TYPE.reg & MPU_TYPE_SEPARATE) >> 0;
+}
+
+static inline hri_mpu_type_reg_t hri_mpu_get_TYPE_DREGION_bf(const void *const hw, hri_mpu_type_reg_t mask)
+{
+ return (((Mpu *)hw)->TYPE.reg & MPU_TYPE_DREGION(mask)) >> 8;
+}
+
+static inline hri_mpu_type_reg_t hri_mpu_read_TYPE_DREGION_bf(const void *const hw)
+{
+ return (((Mpu *)hw)->TYPE.reg & MPU_TYPE_DREGION_Msk) >> 8;
+}
+
+static inline hri_mpu_type_reg_t hri_mpu_get_TYPE_IREGION_bf(const void *const hw, hri_mpu_type_reg_t mask)
+{
+ return (((Mpu *)hw)->TYPE.reg & MPU_TYPE_IREGION(mask)) >> 16;
+}
+
+static inline hri_mpu_type_reg_t hri_mpu_read_TYPE_IREGION_bf(const void *const hw)
+{
+ return (((Mpu *)hw)->TYPE.reg & MPU_TYPE_IREGION_Msk) >> 16;
+}
+
+static inline hri_mpu_type_reg_t hri_mpu_get_TYPE_reg(const void *const hw, hri_mpu_type_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mpu *)hw)->TYPE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_mpu_type_reg_t hri_mpu_read_TYPE_reg(const void *const hw)
+{
+ return ((Mpu *)hw)->TYPE.reg;
+}
+
+static inline void hri_mpu_set_CTRL_reg(const void *const hw, hri_mpu_ctrl_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->CTRL.reg |= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_ctrl_reg_t hri_mpu_get_CTRL_reg(const void *const hw, hri_mpu_ctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mpu *)hw)->CTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mpu_write_CTRL_reg(const void *const hw, hri_mpu_ctrl_reg_t data)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->CTRL.reg = data;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_clear_CTRL_reg(const void *const hw, hri_mpu_ctrl_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->CTRL.reg &= ~mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_toggle_CTRL_reg(const void *const hw, hri_mpu_ctrl_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->CTRL.reg ^= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_ctrl_reg_t hri_mpu_read_CTRL_reg(const void *const hw)
+{
+ return ((Mpu *)hw)->CTRL.reg;
+}
+
+static inline void hri_mpu_set_RNR_reg(const void *const hw, hri_mpu_rnr_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RNR.reg |= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rnr_reg_t hri_mpu_get_RNR_reg(const void *const hw, hri_mpu_rnr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mpu *)hw)->RNR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mpu_write_RNR_reg(const void *const hw, hri_mpu_rnr_reg_t data)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RNR.reg = data;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_clear_RNR_reg(const void *const hw, hri_mpu_rnr_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RNR.reg &= ~mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_toggle_RNR_reg(const void *const hw, hri_mpu_rnr_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RNR.reg ^= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rnr_reg_t hri_mpu_read_RNR_reg(const void *const hw)
+{
+ return ((Mpu *)hw)->RNR.reg;
+}
+
+static inline void hri_mpu_set_RBAR_reg(const void *const hw, hri_mpu_rbar_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR.reg |= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rbar_reg_t hri_mpu_get_RBAR_reg(const void *const hw, hri_mpu_rbar_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mpu *)hw)->RBAR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mpu_write_RBAR_reg(const void *const hw, hri_mpu_rbar_reg_t data)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR.reg = data;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_clear_RBAR_reg(const void *const hw, hri_mpu_rbar_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR.reg &= ~mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_toggle_RBAR_reg(const void *const hw, hri_mpu_rbar_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR.reg ^= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rbar_reg_t hri_mpu_read_RBAR_reg(const void *const hw)
+{
+ return ((Mpu *)hw)->RBAR.reg;
+}
+
+static inline void hri_mpu_set_RASR_reg(const void *const hw, hri_mpu_rasr_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR.reg |= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rasr_reg_t hri_mpu_get_RASR_reg(const void *const hw, hri_mpu_rasr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mpu *)hw)->RASR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mpu_write_RASR_reg(const void *const hw, hri_mpu_rasr_reg_t data)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR.reg = data;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_clear_RASR_reg(const void *const hw, hri_mpu_rasr_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR.reg &= ~mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_toggle_RASR_reg(const void *const hw, hri_mpu_rasr_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR.reg ^= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rasr_reg_t hri_mpu_read_RASR_reg(const void *const hw)
+{
+ return ((Mpu *)hw)->RASR.reg;
+}
+
+static inline void hri_mpu_set_RBAR_A1_reg(const void *const hw, hri_mpu_rbar_a1_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR_A1.reg |= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rbar_a1_reg_t hri_mpu_get_RBAR_A1_reg(const void *const hw, hri_mpu_rbar_a1_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mpu *)hw)->RBAR_A1.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mpu_write_RBAR_A1_reg(const void *const hw, hri_mpu_rbar_a1_reg_t data)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR_A1.reg = data;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_clear_RBAR_A1_reg(const void *const hw, hri_mpu_rbar_a1_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR_A1.reg &= ~mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_toggle_RBAR_A1_reg(const void *const hw, hri_mpu_rbar_a1_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR_A1.reg ^= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rbar_a1_reg_t hri_mpu_read_RBAR_A1_reg(const void *const hw)
+{
+ return ((Mpu *)hw)->RBAR_A1.reg;
+}
+
+static inline void hri_mpu_set_RASR_A1_reg(const void *const hw, hri_mpu_rasr_a1_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR_A1.reg |= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rasr_a1_reg_t hri_mpu_get_RASR_A1_reg(const void *const hw, hri_mpu_rasr_a1_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mpu *)hw)->RASR_A1.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mpu_write_RASR_A1_reg(const void *const hw, hri_mpu_rasr_a1_reg_t data)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR_A1.reg = data;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_clear_RASR_A1_reg(const void *const hw, hri_mpu_rasr_a1_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR_A1.reg &= ~mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_toggle_RASR_A1_reg(const void *const hw, hri_mpu_rasr_a1_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR_A1.reg ^= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rasr_a1_reg_t hri_mpu_read_RASR_A1_reg(const void *const hw)
+{
+ return ((Mpu *)hw)->RASR_A1.reg;
+}
+
+static inline void hri_mpu_set_RBAR_A2_reg(const void *const hw, hri_mpu_rbar_a2_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR_A2.reg |= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rbar_a2_reg_t hri_mpu_get_RBAR_A2_reg(const void *const hw, hri_mpu_rbar_a2_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mpu *)hw)->RBAR_A2.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mpu_write_RBAR_A2_reg(const void *const hw, hri_mpu_rbar_a2_reg_t data)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR_A2.reg = data;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_clear_RBAR_A2_reg(const void *const hw, hri_mpu_rbar_a2_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR_A2.reg &= ~mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_toggle_RBAR_A2_reg(const void *const hw, hri_mpu_rbar_a2_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR_A2.reg ^= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rbar_a2_reg_t hri_mpu_read_RBAR_A2_reg(const void *const hw)
+{
+ return ((Mpu *)hw)->RBAR_A2.reg;
+}
+
+static inline void hri_mpu_set_RASR_A2_reg(const void *const hw, hri_mpu_rasr_a2_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR_A2.reg |= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rasr_a2_reg_t hri_mpu_get_RASR_A2_reg(const void *const hw, hri_mpu_rasr_a2_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mpu *)hw)->RASR_A2.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mpu_write_RASR_A2_reg(const void *const hw, hri_mpu_rasr_a2_reg_t data)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR_A2.reg = data;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_clear_RASR_A2_reg(const void *const hw, hri_mpu_rasr_a2_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR_A2.reg &= ~mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_toggle_RASR_A2_reg(const void *const hw, hri_mpu_rasr_a2_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR_A2.reg ^= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rasr_a2_reg_t hri_mpu_read_RASR_A2_reg(const void *const hw)
+{
+ return ((Mpu *)hw)->RASR_A2.reg;
+}
+
+static inline void hri_mpu_set_RBAR_A3_reg(const void *const hw, hri_mpu_rbar_a3_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR_A3.reg |= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rbar_a3_reg_t hri_mpu_get_RBAR_A3_reg(const void *const hw, hri_mpu_rbar_a3_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mpu *)hw)->RBAR_A3.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mpu_write_RBAR_A3_reg(const void *const hw, hri_mpu_rbar_a3_reg_t data)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR_A3.reg = data;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_clear_RBAR_A3_reg(const void *const hw, hri_mpu_rbar_a3_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR_A3.reg &= ~mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_toggle_RBAR_A3_reg(const void *const hw, hri_mpu_rbar_a3_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RBAR_A3.reg ^= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rbar_a3_reg_t hri_mpu_read_RBAR_A3_reg(const void *const hw)
+{
+ return ((Mpu *)hw)->RBAR_A3.reg;
+}
+
+static inline void hri_mpu_set_RASR_A3_reg(const void *const hw, hri_mpu_rasr_a3_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR_A3.reg |= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rasr_a3_reg_t hri_mpu_get_RASR_A3_reg(const void *const hw, hri_mpu_rasr_a3_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Mpu *)hw)->RASR_A3.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_mpu_write_RASR_A3_reg(const void *const hw, hri_mpu_rasr_a3_reg_t data)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR_A3.reg = data;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_clear_RASR_A3_reg(const void *const hw, hri_mpu_rasr_a3_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR_A3.reg &= ~mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_mpu_toggle_RASR_A3_reg(const void *const hw, hri_mpu_rasr_a3_reg_t mask)
+{
+ MPU_CRITICAL_SECTION_ENTER();
+ ((Mpu *)hw)->RASR_A3.reg ^= mask;
+ MPU_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_mpu_rasr_a3_reg_t hri_mpu_read_RASR_A3_reg(const void *const hw)
+{
+ return ((Mpu *)hw)->RASR_A3.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_MPU_E54_H_INCLUDED */
+#endif /* _SAME54_MPU_COMPONENT_ */
diff --git a/hri/hri_nvic_e54.h b/hri/hri_nvic_e54.h
new file mode 100644
index 0000000..ce7d41f
--- /dev/null
+++ b/hri/hri_nvic_e54.h
@@ -0,0 +1,319 @@
+/**
+ * \file
+ *
+ * \brief SAM NVIC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_NVIC_COMPONENT_
+#ifndef _HRI_NVIC_E54_H_INCLUDED_
+#define _HRI_NVIC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_NVIC_CRITICAL_SECTIONS)
+#define NVIC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define NVIC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define NVIC_CRITICAL_SECTION_ENTER()
+#define NVIC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_nvic_iabr_reg_t;
+typedef uint32_t hri_nvic_icer_reg_t;
+typedef uint32_t hri_nvic_icpr_reg_t;
+typedef uint32_t hri_nvic_iser_reg_t;
+typedef uint32_t hri_nvic_ispr_reg_t;
+typedef uint32_t hri_nvic_stir_reg_t;
+typedef uint8_t hri_nvic_ip_reg_t;
+
+static inline void hri_nvic_set_ISER_reg(const void *const hw, uint8_t index, hri_nvic_iser_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ISER[index].reg |= mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvic_iser_reg_t hri_nvic_get_ISER_reg(const void *const hw, uint8_t index, hri_nvic_iser_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Nvic *)hw)->ISER[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_nvic_write_ISER_reg(const void *const hw, uint8_t index, hri_nvic_iser_reg_t data)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ISER[index].reg = data;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvic_clear_ISER_reg(const void *const hw, uint8_t index, hri_nvic_iser_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ISER[index].reg &= ~mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvic_toggle_ISER_reg(const void *const hw, uint8_t index, hri_nvic_iser_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ISER[index].reg ^= mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvic_iser_reg_t hri_nvic_read_ISER_reg(const void *const hw, uint8_t index)
+{
+ return ((Nvic *)hw)->ISER[index].reg;
+}
+
+static inline void hri_nvic_set_ICER_reg(const void *const hw, uint8_t index, hri_nvic_icer_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ICER[index].reg |= mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvic_icer_reg_t hri_nvic_get_ICER_reg(const void *const hw, uint8_t index, hri_nvic_icer_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Nvic *)hw)->ICER[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_nvic_write_ICER_reg(const void *const hw, uint8_t index, hri_nvic_icer_reg_t data)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ICER[index].reg = data;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvic_clear_ICER_reg(const void *const hw, uint8_t index, hri_nvic_icer_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ICER[index].reg &= ~mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvic_toggle_ICER_reg(const void *const hw, uint8_t index, hri_nvic_icer_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ICER[index].reg ^= mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvic_icer_reg_t hri_nvic_read_ICER_reg(const void *const hw, uint8_t index)
+{
+ return ((Nvic *)hw)->ICER[index].reg;
+}
+
+static inline void hri_nvic_set_ISPR_reg(const void *const hw, uint8_t index, hri_nvic_ispr_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ISPR[index].reg |= mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvic_ispr_reg_t hri_nvic_get_ISPR_reg(const void *const hw, uint8_t index, hri_nvic_ispr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Nvic *)hw)->ISPR[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_nvic_write_ISPR_reg(const void *const hw, uint8_t index, hri_nvic_ispr_reg_t data)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ISPR[index].reg = data;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvic_clear_ISPR_reg(const void *const hw, uint8_t index, hri_nvic_ispr_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ISPR[index].reg &= ~mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvic_toggle_ISPR_reg(const void *const hw, uint8_t index, hri_nvic_ispr_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ISPR[index].reg ^= mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvic_ispr_reg_t hri_nvic_read_ISPR_reg(const void *const hw, uint8_t index)
+{
+ return ((Nvic *)hw)->ISPR[index].reg;
+}
+
+static inline void hri_nvic_set_ICPR_reg(const void *const hw, uint8_t index, hri_nvic_icpr_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ICPR[index].reg |= mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvic_icpr_reg_t hri_nvic_get_ICPR_reg(const void *const hw, uint8_t index, hri_nvic_icpr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Nvic *)hw)->ICPR[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_nvic_write_ICPR_reg(const void *const hw, uint8_t index, hri_nvic_icpr_reg_t data)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ICPR[index].reg = data;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvic_clear_ICPR_reg(const void *const hw, uint8_t index, hri_nvic_icpr_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ICPR[index].reg &= ~mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvic_toggle_ICPR_reg(const void *const hw, uint8_t index, hri_nvic_icpr_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->ICPR[index].reg ^= mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvic_icpr_reg_t hri_nvic_read_ICPR_reg(const void *const hw, uint8_t index)
+{
+ return ((Nvic *)hw)->ICPR[index].reg;
+}
+
+static inline void hri_nvic_set_IABR_reg(const void *const hw, uint8_t index, hri_nvic_iabr_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->IABR[index].reg |= mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvic_iabr_reg_t hri_nvic_get_IABR_reg(const void *const hw, uint8_t index, hri_nvic_iabr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Nvic *)hw)->IABR[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_nvic_write_IABR_reg(const void *const hw, uint8_t index, hri_nvic_iabr_reg_t data)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->IABR[index].reg = data;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvic_clear_IABR_reg(const void *const hw, uint8_t index, hri_nvic_iabr_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->IABR[index].reg &= ~mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvic_toggle_IABR_reg(const void *const hw, uint8_t index, hri_nvic_iabr_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->IABR[index].reg ^= mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvic_iabr_reg_t hri_nvic_read_IABR_reg(const void *const hw, uint8_t index)
+{
+ return ((Nvic *)hw)->IABR[index].reg;
+}
+
+static inline void hri_nvic_set_IP_reg(const void *const hw, uint8_t index, hri_nvic_ip_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->IP[index].reg |= mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvic_ip_reg_t hri_nvic_get_IP_reg(const void *const hw, uint8_t index, hri_nvic_ip_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Nvic *)hw)->IP[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_nvic_write_IP_reg(const void *const hw, uint8_t index, hri_nvic_ip_reg_t data)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->IP[index].reg = data;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvic_clear_IP_reg(const void *const hw, uint8_t index, hri_nvic_ip_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->IP[index].reg &= ~mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvic_toggle_IP_reg(const void *const hw, uint8_t index, hri_nvic_ip_reg_t mask)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->IP[index].reg ^= mask;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvic_ip_reg_t hri_nvic_read_IP_reg(const void *const hw, uint8_t index)
+{
+ return ((Nvic *)hw)->IP[index].reg;
+}
+
+static inline void hri_nvic_write_STIR_reg(const void *const hw, hri_nvic_stir_reg_t data)
+{
+ NVIC_CRITICAL_SECTION_ENTER();
+ ((Nvic *)hw)->STIR.reg = data;
+ NVIC_CRITICAL_SECTION_LEAVE();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_NVIC_E54_H_INCLUDED */
+#endif /* _SAME54_NVIC_COMPONENT_ */
diff --git a/hri/hri_nvmctrl_e54.h b/hri/hri_nvmctrl_e54.h
new file mode 100644
index 0000000..12d4022
--- /dev/null
+++ b/hri/hri_nvmctrl_e54.h
@@ -0,0 +1,1618 @@
+/**
+ * \file
+ *
+ * \brief SAM NVMCTRL
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_NVMCTRL_COMPONENT_
+#ifndef _HRI_NVMCTRL_E54_H_INCLUDED_
+#define _HRI_NVMCTRL_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_NVMCTRL_CRITICAL_SECTIONS)
+#define NVMCTRL_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define NVMCTRL_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define NVMCTRL_CRITICAL_SECTION_ENTER()
+#define NVMCTRL_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_nvmctrl_ctrla_reg_t;
+typedef uint16_t hri_nvmctrl_ctrlb_reg_t;
+typedef uint16_t hri_nvmctrl_intenset_reg_t;
+typedef uint16_t hri_nvmctrl_intflag_reg_t;
+typedef uint16_t hri_nvmctrl_status_reg_t;
+typedef uint32_t hri_nvmctrl_addr_reg_t;
+typedef uint32_t hri_nvmctrl_eccerr_reg_t;
+typedef uint32_t hri_nvmctrl_param_reg_t;
+typedef uint32_t hri_nvmctrl_pbldata_reg_t;
+typedef uint32_t hri_nvmctrl_runlock_reg_t;
+typedef uint32_t hri_nvmctrl_seestat_reg_t;
+typedef uint8_t hri_nvmctrl_dbgctrl_reg_t;
+typedef uint8_t hri_nvmctrl_seecfg_reg_t;
+
+static inline bool hri_nvmctrl_get_INTFLAG_DONE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_DONE) >> NVMCTRL_INTFLAG_DONE_Pos;
+}
+
+static inline void hri_nvmctrl_clear_INTFLAG_DONE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_DONE;
+}
+
+static inline bool hri_nvmctrl_get_INTFLAG_ADDRE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_ADDRE) >> NVMCTRL_INTFLAG_ADDRE_Pos;
+}
+
+static inline void hri_nvmctrl_clear_INTFLAG_ADDRE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_ADDRE;
+}
+
+static inline bool hri_nvmctrl_get_INTFLAG_PROGE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_PROGE) >> NVMCTRL_INTFLAG_PROGE_Pos;
+}
+
+static inline void hri_nvmctrl_clear_INTFLAG_PROGE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_PROGE;
+}
+
+static inline bool hri_nvmctrl_get_INTFLAG_LOCKE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_LOCKE) >> NVMCTRL_INTFLAG_LOCKE_Pos;
+}
+
+static inline void hri_nvmctrl_clear_INTFLAG_LOCKE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_LOCKE;
+}
+
+static inline bool hri_nvmctrl_get_INTFLAG_ECCSE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_ECCSE) >> NVMCTRL_INTFLAG_ECCSE_Pos;
+}
+
+static inline void hri_nvmctrl_clear_INTFLAG_ECCSE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_ECCSE;
+}
+
+static inline bool hri_nvmctrl_get_INTFLAG_ECCDE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_ECCDE) >> NVMCTRL_INTFLAG_ECCDE_Pos;
+}
+
+static inline void hri_nvmctrl_clear_INTFLAG_ECCDE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_ECCDE;
+}
+
+static inline bool hri_nvmctrl_get_INTFLAG_NVME_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_NVME) >> NVMCTRL_INTFLAG_NVME_Pos;
+}
+
+static inline void hri_nvmctrl_clear_INTFLAG_NVME_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_NVME;
+}
+
+static inline bool hri_nvmctrl_get_INTFLAG_SUSP_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SUSP) >> NVMCTRL_INTFLAG_SUSP_Pos;
+}
+
+static inline void hri_nvmctrl_clear_INTFLAG_SUSP_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SUSP;
+}
+
+static inline bool hri_nvmctrl_get_INTFLAG_SEESFULL_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SEESFULL) >> NVMCTRL_INTFLAG_SEESFULL_Pos;
+}
+
+static inline void hri_nvmctrl_clear_INTFLAG_SEESFULL_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SEESFULL;
+}
+
+static inline bool hri_nvmctrl_get_INTFLAG_SEESOVF_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SEESOVF) >> NVMCTRL_INTFLAG_SEESOVF_Pos;
+}
+
+static inline void hri_nvmctrl_clear_INTFLAG_SEESOVF_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SEESOVF;
+}
+
+static inline bool hri_nvmctrl_get_INTFLAG_SEEWRC_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SEEWRC) >> NVMCTRL_INTFLAG_SEEWRC_Pos;
+}
+
+static inline void hri_nvmctrl_clear_INTFLAG_SEEWRC_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SEEWRC;
+}
+
+static inline bool hri_nvmctrl_get_interrupt_DONE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_DONE) >> NVMCTRL_INTFLAG_DONE_Pos;
+}
+
+static inline void hri_nvmctrl_clear_interrupt_DONE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_DONE;
+}
+
+static inline bool hri_nvmctrl_get_interrupt_ADDRE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_ADDRE) >> NVMCTRL_INTFLAG_ADDRE_Pos;
+}
+
+static inline void hri_nvmctrl_clear_interrupt_ADDRE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_ADDRE;
+}
+
+static inline bool hri_nvmctrl_get_interrupt_PROGE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_PROGE) >> NVMCTRL_INTFLAG_PROGE_Pos;
+}
+
+static inline void hri_nvmctrl_clear_interrupt_PROGE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_PROGE;
+}
+
+static inline bool hri_nvmctrl_get_interrupt_LOCKE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_LOCKE) >> NVMCTRL_INTFLAG_LOCKE_Pos;
+}
+
+static inline void hri_nvmctrl_clear_interrupt_LOCKE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_LOCKE;
+}
+
+static inline bool hri_nvmctrl_get_interrupt_ECCSE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_ECCSE) >> NVMCTRL_INTFLAG_ECCSE_Pos;
+}
+
+static inline void hri_nvmctrl_clear_interrupt_ECCSE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_ECCSE;
+}
+
+static inline bool hri_nvmctrl_get_interrupt_ECCDE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_ECCDE) >> NVMCTRL_INTFLAG_ECCDE_Pos;
+}
+
+static inline void hri_nvmctrl_clear_interrupt_ECCDE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_ECCDE;
+}
+
+static inline bool hri_nvmctrl_get_interrupt_NVME_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_NVME) >> NVMCTRL_INTFLAG_NVME_Pos;
+}
+
+static inline void hri_nvmctrl_clear_interrupt_NVME_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_NVME;
+}
+
+static inline bool hri_nvmctrl_get_interrupt_SUSP_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SUSP) >> NVMCTRL_INTFLAG_SUSP_Pos;
+}
+
+static inline void hri_nvmctrl_clear_interrupt_SUSP_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SUSP;
+}
+
+static inline bool hri_nvmctrl_get_interrupt_SEESFULL_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SEESFULL) >> NVMCTRL_INTFLAG_SEESFULL_Pos;
+}
+
+static inline void hri_nvmctrl_clear_interrupt_SEESFULL_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SEESFULL;
+}
+
+static inline bool hri_nvmctrl_get_interrupt_SEESOVF_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SEESOVF) >> NVMCTRL_INTFLAG_SEESOVF_Pos;
+}
+
+static inline void hri_nvmctrl_clear_interrupt_SEESOVF_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SEESOVF;
+}
+
+static inline bool hri_nvmctrl_get_interrupt_SEEWRC_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTFLAG.reg & NVMCTRL_INTFLAG_SEEWRC) >> NVMCTRL_INTFLAG_SEEWRC_Pos;
+}
+
+static inline void hri_nvmctrl_clear_interrupt_SEEWRC_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = NVMCTRL_INTFLAG_SEEWRC;
+}
+
+static inline hri_nvmctrl_intflag_reg_t hri_nvmctrl_get_INTFLAG_reg(const void *const hw,
+ hri_nvmctrl_intflag_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_nvmctrl_intflag_reg_t hri_nvmctrl_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Nvmctrl *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_nvmctrl_clear_INTFLAG_reg(const void *const hw, hri_nvmctrl_intflag_reg_t mask)
+{
+ ((Nvmctrl *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_nvmctrl_set_INTEN_DONE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_DONE;
+}
+
+static inline bool hri_nvmctrl_get_INTEN_DONE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_DONE) >> NVMCTRL_INTENSET_DONE_Pos;
+}
+
+static inline void hri_nvmctrl_write_INTEN_DONE_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_DONE;
+ } else {
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_DONE;
+ }
+}
+
+static inline void hri_nvmctrl_clear_INTEN_DONE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_DONE;
+}
+
+static inline void hri_nvmctrl_set_INTEN_ADDRE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_ADDRE;
+}
+
+static inline bool hri_nvmctrl_get_INTEN_ADDRE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_ADDRE) >> NVMCTRL_INTENSET_ADDRE_Pos;
+}
+
+static inline void hri_nvmctrl_write_INTEN_ADDRE_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_ADDRE;
+ } else {
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_ADDRE;
+ }
+}
+
+static inline void hri_nvmctrl_clear_INTEN_ADDRE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_ADDRE;
+}
+
+static inline void hri_nvmctrl_set_INTEN_PROGE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_PROGE;
+}
+
+static inline bool hri_nvmctrl_get_INTEN_PROGE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_PROGE) >> NVMCTRL_INTENSET_PROGE_Pos;
+}
+
+static inline void hri_nvmctrl_write_INTEN_PROGE_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_PROGE;
+ } else {
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_PROGE;
+ }
+}
+
+static inline void hri_nvmctrl_clear_INTEN_PROGE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_PROGE;
+}
+
+static inline void hri_nvmctrl_set_INTEN_LOCKE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_LOCKE;
+}
+
+static inline bool hri_nvmctrl_get_INTEN_LOCKE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_LOCKE) >> NVMCTRL_INTENSET_LOCKE_Pos;
+}
+
+static inline void hri_nvmctrl_write_INTEN_LOCKE_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_LOCKE;
+ } else {
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_LOCKE;
+ }
+}
+
+static inline void hri_nvmctrl_clear_INTEN_LOCKE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_LOCKE;
+}
+
+static inline void hri_nvmctrl_set_INTEN_ECCSE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_ECCSE;
+}
+
+static inline bool hri_nvmctrl_get_INTEN_ECCSE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_ECCSE) >> NVMCTRL_INTENSET_ECCSE_Pos;
+}
+
+static inline void hri_nvmctrl_write_INTEN_ECCSE_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_ECCSE;
+ } else {
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_ECCSE;
+ }
+}
+
+static inline void hri_nvmctrl_clear_INTEN_ECCSE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_ECCSE;
+}
+
+static inline void hri_nvmctrl_set_INTEN_ECCDE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_ECCDE;
+}
+
+static inline bool hri_nvmctrl_get_INTEN_ECCDE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_ECCDE) >> NVMCTRL_INTENSET_ECCDE_Pos;
+}
+
+static inline void hri_nvmctrl_write_INTEN_ECCDE_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_ECCDE;
+ } else {
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_ECCDE;
+ }
+}
+
+static inline void hri_nvmctrl_clear_INTEN_ECCDE_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_ECCDE;
+}
+
+static inline void hri_nvmctrl_set_INTEN_NVME_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_NVME;
+}
+
+static inline bool hri_nvmctrl_get_INTEN_NVME_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_NVME) >> NVMCTRL_INTENSET_NVME_Pos;
+}
+
+static inline void hri_nvmctrl_write_INTEN_NVME_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_NVME;
+ } else {
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_NVME;
+ }
+}
+
+static inline void hri_nvmctrl_clear_INTEN_NVME_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_NVME;
+}
+
+static inline void hri_nvmctrl_set_INTEN_SUSP_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SUSP;
+}
+
+static inline bool hri_nvmctrl_get_INTEN_SUSP_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_SUSP) >> NVMCTRL_INTENSET_SUSP_Pos;
+}
+
+static inline void hri_nvmctrl_write_INTEN_SUSP_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SUSP;
+ } else {
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SUSP;
+ }
+}
+
+static inline void hri_nvmctrl_clear_INTEN_SUSP_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SUSP;
+}
+
+static inline void hri_nvmctrl_set_INTEN_SEESFULL_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SEESFULL;
+}
+
+static inline bool hri_nvmctrl_get_INTEN_SEESFULL_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_SEESFULL) >> NVMCTRL_INTENSET_SEESFULL_Pos;
+}
+
+static inline void hri_nvmctrl_write_INTEN_SEESFULL_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SEESFULL;
+ } else {
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SEESFULL;
+ }
+}
+
+static inline void hri_nvmctrl_clear_INTEN_SEESFULL_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SEESFULL;
+}
+
+static inline void hri_nvmctrl_set_INTEN_SEESOVF_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SEESOVF;
+}
+
+static inline bool hri_nvmctrl_get_INTEN_SEESOVF_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_SEESOVF) >> NVMCTRL_INTENSET_SEESOVF_Pos;
+}
+
+static inline void hri_nvmctrl_write_INTEN_SEESOVF_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SEESOVF;
+ } else {
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SEESOVF;
+ }
+}
+
+static inline void hri_nvmctrl_clear_INTEN_SEESOVF_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SEESOVF;
+}
+
+static inline void hri_nvmctrl_set_INTEN_SEEWRC_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SEEWRC;
+}
+
+static inline bool hri_nvmctrl_get_INTEN_SEEWRC_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->INTENSET.reg & NVMCTRL_INTENSET_SEEWRC) >> NVMCTRL_INTENSET_SEEWRC_Pos;
+}
+
+static inline void hri_nvmctrl_write_INTEN_SEEWRC_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SEEWRC;
+ } else {
+ ((Nvmctrl *)hw)->INTENSET.reg = NVMCTRL_INTENSET_SEEWRC;
+ }
+}
+
+static inline void hri_nvmctrl_clear_INTEN_SEEWRC_bit(const void *const hw)
+{
+ ((Nvmctrl *)hw)->INTENCLR.reg = NVMCTRL_INTENSET_SEEWRC;
+}
+
+static inline void hri_nvmctrl_set_INTEN_reg(const void *const hw, hri_nvmctrl_intenset_reg_t mask)
+{
+ ((Nvmctrl *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_nvmctrl_intenset_reg_t hri_nvmctrl_get_INTEN_reg(const void *const hw,
+ hri_nvmctrl_intenset_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_nvmctrl_intenset_reg_t hri_nvmctrl_read_INTEN_reg(const void *const hw)
+{
+ return ((Nvmctrl *)hw)->INTENSET.reg;
+}
+
+static inline void hri_nvmctrl_write_INTEN_reg(const void *const hw, hri_nvmctrl_intenset_reg_t data)
+{
+ ((Nvmctrl *)hw)->INTENSET.reg = data;
+ ((Nvmctrl *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_nvmctrl_clear_INTEN_reg(const void *const hw, hri_nvmctrl_intenset_reg_t mask)
+{
+ ((Nvmctrl *)hw)->INTENCLR.reg = mask;
+}
+
+static inline bool hri_nvmctrl_get_PARAM_SEE_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->PARAM.reg & NVMCTRL_PARAM_SEE) >> NVMCTRL_PARAM_SEE_Pos;
+}
+
+static inline hri_nvmctrl_param_reg_t hri_nvmctrl_get_PARAM_NVMP_bf(const void *const hw, hri_nvmctrl_param_reg_t mask)
+{
+ return (((Nvmctrl *)hw)->PARAM.reg & NVMCTRL_PARAM_NVMP(mask)) >> NVMCTRL_PARAM_NVMP_Pos;
+}
+
+static inline hri_nvmctrl_param_reg_t hri_nvmctrl_read_PARAM_NVMP_bf(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->PARAM.reg & NVMCTRL_PARAM_NVMP_Msk) >> NVMCTRL_PARAM_NVMP_Pos;
+}
+
+static inline hri_nvmctrl_param_reg_t hri_nvmctrl_get_PARAM_PSZ_bf(const void *const hw, hri_nvmctrl_param_reg_t mask)
+{
+ return (((Nvmctrl *)hw)->PARAM.reg & NVMCTRL_PARAM_PSZ(mask)) >> NVMCTRL_PARAM_PSZ_Pos;
+}
+
+static inline hri_nvmctrl_param_reg_t hri_nvmctrl_read_PARAM_PSZ_bf(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->PARAM.reg & NVMCTRL_PARAM_PSZ_Msk) >> NVMCTRL_PARAM_PSZ_Pos;
+}
+
+static inline hri_nvmctrl_param_reg_t hri_nvmctrl_get_PARAM_reg(const void *const hw, hri_nvmctrl_param_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Nvmctrl *)hw)->PARAM.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_nvmctrl_param_reg_t hri_nvmctrl_read_PARAM_reg(const void *const hw)
+{
+ return ((Nvmctrl *)hw)->PARAM.reg;
+}
+
+static inline bool hri_nvmctrl_get_STATUS_READY_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_READY) >> NVMCTRL_STATUS_READY_Pos;
+}
+
+static inline bool hri_nvmctrl_get_STATUS_PRM_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_PRM) >> NVMCTRL_STATUS_PRM_Pos;
+}
+
+static inline bool hri_nvmctrl_get_STATUS_LOAD_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_LOAD) >> NVMCTRL_STATUS_LOAD_Pos;
+}
+
+static inline bool hri_nvmctrl_get_STATUS_SUSP_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_SUSP) >> NVMCTRL_STATUS_SUSP_Pos;
+}
+
+static inline bool hri_nvmctrl_get_STATUS_AFIRST_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_AFIRST) >> NVMCTRL_STATUS_AFIRST_Pos;
+}
+
+static inline bool hri_nvmctrl_get_STATUS_BPDIS_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_BPDIS) >> NVMCTRL_STATUS_BPDIS_Pos;
+}
+
+static inline hri_nvmctrl_status_reg_t hri_nvmctrl_get_STATUS_BOOTPROT_bf(const void *const hw,
+ hri_nvmctrl_status_reg_t mask)
+{
+ return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_BOOTPROT(mask)) >> NVMCTRL_STATUS_BOOTPROT_Pos;
+}
+
+static inline hri_nvmctrl_status_reg_t hri_nvmctrl_read_STATUS_BOOTPROT_bf(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->STATUS.reg & NVMCTRL_STATUS_BOOTPROT_Msk) >> NVMCTRL_STATUS_BOOTPROT_Pos;
+}
+
+static inline hri_nvmctrl_status_reg_t hri_nvmctrl_get_STATUS_reg(const void *const hw, hri_nvmctrl_status_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_nvmctrl_status_reg_t hri_nvmctrl_read_STATUS_reg(const void *const hw)
+{
+ return ((Nvmctrl *)hw)->STATUS.reg;
+}
+
+static inline hri_nvmctrl_runlock_reg_t hri_nvmctrl_get_RUNLOCK_RUNLOCK_bf(const void *const hw,
+ hri_nvmctrl_runlock_reg_t mask)
+{
+ return (((Nvmctrl *)hw)->RUNLOCK.reg & NVMCTRL_RUNLOCK_RUNLOCK(mask)) >> NVMCTRL_RUNLOCK_RUNLOCK_Pos;
+}
+
+static inline hri_nvmctrl_runlock_reg_t hri_nvmctrl_read_RUNLOCK_RUNLOCK_bf(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->RUNLOCK.reg & NVMCTRL_RUNLOCK_RUNLOCK_Msk) >> NVMCTRL_RUNLOCK_RUNLOCK_Pos;
+}
+
+static inline hri_nvmctrl_runlock_reg_t hri_nvmctrl_get_RUNLOCK_reg(const void *const hw,
+ hri_nvmctrl_runlock_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Nvmctrl *)hw)->RUNLOCK.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_nvmctrl_runlock_reg_t hri_nvmctrl_read_RUNLOCK_reg(const void *const hw)
+{
+ return ((Nvmctrl *)hw)->RUNLOCK.reg;
+}
+
+static inline hri_nvmctrl_pbldata_reg_t hri_nvmctrl_get_PBLDATA_DATA_bf(const void *const hw, uint8_t index,
+ hri_nvmctrl_pbldata_reg_t mask)
+{
+ return (((Nvmctrl *)hw)->PBLDATA[index].reg & NVMCTRL_PBLDATA_DATA(mask)) >> NVMCTRL_PBLDATA_DATA_Pos;
+}
+
+static inline hri_nvmctrl_pbldata_reg_t hri_nvmctrl_read_PBLDATA_DATA_bf(const void *const hw, uint8_t index)
+{
+ return (((Nvmctrl *)hw)->PBLDATA[index].reg & NVMCTRL_PBLDATA_DATA_Msk) >> NVMCTRL_PBLDATA_DATA_Pos;
+}
+
+static inline hri_nvmctrl_pbldata_reg_t hri_nvmctrl_get_PBLDATA_reg(const void *const hw, uint8_t index,
+ hri_nvmctrl_pbldata_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Nvmctrl *)hw)->PBLDATA[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_nvmctrl_pbldata_reg_t hri_nvmctrl_read_PBLDATA_reg(const void *const hw, uint8_t index)
+{
+ return ((Nvmctrl *)hw)->PBLDATA[index].reg;
+}
+
+static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_get_ECCERR_ADDR_bf(const void *const hw,
+ hri_nvmctrl_eccerr_reg_t mask)
+{
+ return (((Nvmctrl *)hw)->ECCERR.reg & NVMCTRL_ECCERR_ADDR(mask)) >> NVMCTRL_ECCERR_ADDR_Pos;
+}
+
+static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_read_ECCERR_ADDR_bf(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->ECCERR.reg & NVMCTRL_ECCERR_ADDR_Msk) >> NVMCTRL_ECCERR_ADDR_Pos;
+}
+
+static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_get_ECCERR_TYPEL_bf(const void *const hw,
+ hri_nvmctrl_eccerr_reg_t mask)
+{
+ return (((Nvmctrl *)hw)->ECCERR.reg & NVMCTRL_ECCERR_TYPEL(mask)) >> NVMCTRL_ECCERR_TYPEL_Pos;
+}
+
+static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_read_ECCERR_TYPEL_bf(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->ECCERR.reg & NVMCTRL_ECCERR_TYPEL_Msk) >> NVMCTRL_ECCERR_TYPEL_Pos;
+}
+
+static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_get_ECCERR_TYPEH_bf(const void *const hw,
+ hri_nvmctrl_eccerr_reg_t mask)
+{
+ return (((Nvmctrl *)hw)->ECCERR.reg & NVMCTRL_ECCERR_TYPEH(mask)) >> NVMCTRL_ECCERR_TYPEH_Pos;
+}
+
+static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_read_ECCERR_TYPEH_bf(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->ECCERR.reg & NVMCTRL_ECCERR_TYPEH_Msk) >> NVMCTRL_ECCERR_TYPEH_Pos;
+}
+
+static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_get_ECCERR_reg(const void *const hw, hri_nvmctrl_eccerr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Nvmctrl *)hw)->ECCERR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_nvmctrl_eccerr_reg_t hri_nvmctrl_read_ECCERR_reg(const void *const hw)
+{
+ return ((Nvmctrl *)hw)->ECCERR.reg;
+}
+
+static inline bool hri_nvmctrl_get_SEESTAT_ASEES_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_ASEES) >> NVMCTRL_SEESTAT_ASEES_Pos;
+}
+
+static inline bool hri_nvmctrl_get_SEESTAT_LOAD_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_LOAD) >> NVMCTRL_SEESTAT_LOAD_Pos;
+}
+
+static inline bool hri_nvmctrl_get_SEESTAT_BUSY_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_BUSY) >> NVMCTRL_SEESTAT_BUSY_Pos;
+}
+
+static inline bool hri_nvmctrl_get_SEESTAT_LOCK_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_LOCK) >> NVMCTRL_SEESTAT_LOCK_Pos;
+}
+
+static inline bool hri_nvmctrl_get_SEESTAT_RLOCK_bit(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_RLOCK) >> NVMCTRL_SEESTAT_RLOCK_Pos;
+}
+
+static inline hri_nvmctrl_seestat_reg_t hri_nvmctrl_get_SEESTAT_SBLK_bf(const void *const hw,
+ hri_nvmctrl_seestat_reg_t mask)
+{
+ return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_SBLK(mask)) >> NVMCTRL_SEESTAT_SBLK_Pos;
+}
+
+static inline hri_nvmctrl_seestat_reg_t hri_nvmctrl_read_SEESTAT_SBLK_bf(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_SBLK_Msk) >> NVMCTRL_SEESTAT_SBLK_Pos;
+}
+
+static inline hri_nvmctrl_seestat_reg_t hri_nvmctrl_get_SEESTAT_PSZ_bf(const void *const hw,
+ hri_nvmctrl_seestat_reg_t mask)
+{
+ return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_PSZ(mask)) >> NVMCTRL_SEESTAT_PSZ_Pos;
+}
+
+static inline hri_nvmctrl_seestat_reg_t hri_nvmctrl_read_SEESTAT_PSZ_bf(const void *const hw)
+{
+ return (((Nvmctrl *)hw)->SEESTAT.reg & NVMCTRL_SEESTAT_PSZ_Msk) >> NVMCTRL_SEESTAT_PSZ_Pos;
+}
+
+static inline hri_nvmctrl_seestat_reg_t hri_nvmctrl_get_SEESTAT_reg(const void *const hw,
+ hri_nvmctrl_seestat_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Nvmctrl *)hw)->SEESTAT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_nvmctrl_seestat_reg_t hri_nvmctrl_read_SEESTAT_reg(const void *const hw)
+{
+ return ((Nvmctrl *)hw)->SEESTAT.reg;
+}
+
+static inline void hri_nvmctrl_set_CTRLA_AUTOWS_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_AUTOWS;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_nvmctrl_get_CTRLA_AUTOWS_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp = (tmp & NVMCTRL_CTRLA_AUTOWS) >> NVMCTRL_CTRLA_AUTOWS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_nvmctrl_write_CTRLA_AUTOWS_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp &= ~NVMCTRL_CTRLA_AUTOWS;
+ tmp |= value << NVMCTRL_CTRLA_AUTOWS_Pos;
+ ((Nvmctrl *)hw)->CTRLA.reg = tmp;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_CTRLA_AUTOWS_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_AUTOWS;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_CTRLA_AUTOWS_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_AUTOWS;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_set_CTRLA_SUSPEN_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_SUSPEN;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_nvmctrl_get_CTRLA_SUSPEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp = (tmp & NVMCTRL_CTRLA_SUSPEN) >> NVMCTRL_CTRLA_SUSPEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_nvmctrl_write_CTRLA_SUSPEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp &= ~NVMCTRL_CTRLA_SUSPEN;
+ tmp |= value << NVMCTRL_CTRLA_SUSPEN_Pos;
+ ((Nvmctrl *)hw)->CTRLA.reg = tmp;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_CTRLA_SUSPEN_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_SUSPEN;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_CTRLA_SUSPEN_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_SUSPEN;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_set_CTRLA_AHBNS0_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_AHBNS0;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_nvmctrl_get_CTRLA_AHBNS0_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp = (tmp & NVMCTRL_CTRLA_AHBNS0) >> NVMCTRL_CTRLA_AHBNS0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_nvmctrl_write_CTRLA_AHBNS0_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp &= ~NVMCTRL_CTRLA_AHBNS0;
+ tmp |= value << NVMCTRL_CTRLA_AHBNS0_Pos;
+ ((Nvmctrl *)hw)->CTRLA.reg = tmp;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_CTRLA_AHBNS0_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_AHBNS0;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_CTRLA_AHBNS0_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_AHBNS0;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_set_CTRLA_AHBNS1_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_AHBNS1;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_nvmctrl_get_CTRLA_AHBNS1_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp = (tmp & NVMCTRL_CTRLA_AHBNS1) >> NVMCTRL_CTRLA_AHBNS1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_nvmctrl_write_CTRLA_AHBNS1_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp &= ~NVMCTRL_CTRLA_AHBNS1;
+ tmp |= value << NVMCTRL_CTRLA_AHBNS1_Pos;
+ ((Nvmctrl *)hw)->CTRLA.reg = tmp;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_CTRLA_AHBNS1_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_AHBNS1;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_CTRLA_AHBNS1_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_AHBNS1;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_set_CTRLA_CACHEDIS0_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_CACHEDIS0;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_nvmctrl_get_CTRLA_CACHEDIS0_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp = (tmp & NVMCTRL_CTRLA_CACHEDIS0) >> NVMCTRL_CTRLA_CACHEDIS0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_nvmctrl_write_CTRLA_CACHEDIS0_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp &= ~NVMCTRL_CTRLA_CACHEDIS0;
+ tmp |= value << NVMCTRL_CTRLA_CACHEDIS0_Pos;
+ ((Nvmctrl *)hw)->CTRLA.reg = tmp;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_CTRLA_CACHEDIS0_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_CACHEDIS0;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_CTRLA_CACHEDIS0_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_CACHEDIS0;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_set_CTRLA_CACHEDIS1_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_CACHEDIS1;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_nvmctrl_get_CTRLA_CACHEDIS1_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp = (tmp & NVMCTRL_CTRLA_CACHEDIS1) >> NVMCTRL_CTRLA_CACHEDIS1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_nvmctrl_write_CTRLA_CACHEDIS1_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp &= ~NVMCTRL_CTRLA_CACHEDIS1;
+ tmp |= value << NVMCTRL_CTRLA_CACHEDIS1_Pos;
+ ((Nvmctrl *)hw)->CTRLA.reg = tmp;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_CTRLA_CACHEDIS1_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_CACHEDIS1;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_CTRLA_CACHEDIS1_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_CACHEDIS1;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_set_CTRLA_WMODE_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_WMODE(mask);
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_get_CTRLA_WMODE_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp = (tmp & NVMCTRL_CTRLA_WMODE(mask)) >> NVMCTRL_CTRLA_WMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_nvmctrl_write_CTRLA_WMODE_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t data)
+{
+ uint16_t tmp;
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp &= ~NVMCTRL_CTRLA_WMODE_Msk;
+ tmp |= NVMCTRL_CTRLA_WMODE(data);
+ ((Nvmctrl *)hw)->CTRLA.reg = tmp;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_CTRLA_WMODE_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_WMODE(mask);
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_CTRLA_WMODE_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_WMODE(mask);
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_read_CTRLA_WMODE_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp = (tmp & NVMCTRL_CTRLA_WMODE_Msk) >> NVMCTRL_CTRLA_WMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_nvmctrl_set_CTRLA_PRM_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_PRM(mask);
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_get_CTRLA_PRM_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp = (tmp & NVMCTRL_CTRLA_PRM(mask)) >> NVMCTRL_CTRLA_PRM_Pos;
+ return tmp;
+}
+
+static inline void hri_nvmctrl_write_CTRLA_PRM_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t data)
+{
+ uint16_t tmp;
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp &= ~NVMCTRL_CTRLA_PRM_Msk;
+ tmp |= NVMCTRL_CTRLA_PRM(data);
+ ((Nvmctrl *)hw)->CTRLA.reg = tmp;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_CTRLA_PRM_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_PRM(mask);
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_CTRLA_PRM_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_PRM(mask);
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_read_CTRLA_PRM_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp = (tmp & NVMCTRL_CTRLA_PRM_Msk) >> NVMCTRL_CTRLA_PRM_Pos;
+ return tmp;
+}
+
+static inline void hri_nvmctrl_set_CTRLA_RWS_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_RWS(mask);
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_get_CTRLA_RWS_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp = (tmp & NVMCTRL_CTRLA_RWS(mask)) >> NVMCTRL_CTRLA_RWS_Pos;
+ return tmp;
+}
+
+static inline void hri_nvmctrl_write_CTRLA_RWS_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t data)
+{
+ uint16_t tmp;
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp &= ~NVMCTRL_CTRLA_RWS_Msk;
+ tmp |= NVMCTRL_CTRLA_RWS(data);
+ ((Nvmctrl *)hw)->CTRLA.reg = tmp;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_CTRLA_RWS_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg &= ~NVMCTRL_CTRLA_RWS(mask);
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_CTRLA_RWS_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg ^= NVMCTRL_CTRLA_RWS(mask);
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_read_CTRLA_RWS_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp = (tmp & NVMCTRL_CTRLA_RWS_Msk) >> NVMCTRL_CTRLA_RWS_Pos;
+ return tmp;
+}
+
+static inline void hri_nvmctrl_set_CTRLA_reg(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg |= mask;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_get_CTRLA_reg(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Nvmctrl *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_nvmctrl_write_CTRLA_reg(const void *const hw, hri_nvmctrl_ctrla_reg_t data)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg = data;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_CTRLA_reg(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg &= ~mask;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_CTRLA_reg(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLA.reg ^= mask;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_ctrla_reg_t hri_nvmctrl_read_CTRLA_reg(const void *const hw)
+{
+ return ((Nvmctrl *)hw)->CTRLA.reg;
+}
+
+static inline void hri_nvmctrl_set_ADDR_ADDR_bf(const void *const hw, hri_nvmctrl_addr_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->ADDR.reg |= NVMCTRL_ADDR_ADDR(mask);
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_addr_reg_t hri_nvmctrl_get_ADDR_ADDR_bf(const void *const hw, hri_nvmctrl_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Nvmctrl *)hw)->ADDR.reg;
+ tmp = (tmp & NVMCTRL_ADDR_ADDR(mask)) >> NVMCTRL_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_nvmctrl_write_ADDR_ADDR_bf(const void *const hw, hri_nvmctrl_addr_reg_t data)
+{
+ uint32_t tmp;
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Nvmctrl *)hw)->ADDR.reg;
+ tmp &= ~NVMCTRL_ADDR_ADDR_Msk;
+ tmp |= NVMCTRL_ADDR_ADDR(data);
+ ((Nvmctrl *)hw)->ADDR.reg = tmp;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_ADDR_ADDR_bf(const void *const hw, hri_nvmctrl_addr_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->ADDR.reg &= ~NVMCTRL_ADDR_ADDR(mask);
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_ADDR_ADDR_bf(const void *const hw, hri_nvmctrl_addr_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->ADDR.reg ^= NVMCTRL_ADDR_ADDR(mask);
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_addr_reg_t hri_nvmctrl_read_ADDR_ADDR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Nvmctrl *)hw)->ADDR.reg;
+ tmp = (tmp & NVMCTRL_ADDR_ADDR_Msk) >> NVMCTRL_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_nvmctrl_set_ADDR_reg(const void *const hw, hri_nvmctrl_addr_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->ADDR.reg |= mask;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_addr_reg_t hri_nvmctrl_get_ADDR_reg(const void *const hw, hri_nvmctrl_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Nvmctrl *)hw)->ADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_nvmctrl_write_ADDR_reg(const void *const hw, hri_nvmctrl_addr_reg_t data)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->ADDR.reg = data;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_ADDR_reg(const void *const hw, hri_nvmctrl_addr_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->ADDR.reg &= ~mask;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_ADDR_reg(const void *const hw, hri_nvmctrl_addr_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->ADDR.reg ^= mask;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_addr_reg_t hri_nvmctrl_read_ADDR_reg(const void *const hw)
+{
+ return ((Nvmctrl *)hw)->ADDR.reg;
+}
+
+static inline void hri_nvmctrl_set_DBGCTRL_ECCDIS_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->DBGCTRL.reg |= NVMCTRL_DBGCTRL_ECCDIS;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_nvmctrl_get_DBGCTRL_ECCDIS_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Nvmctrl *)hw)->DBGCTRL.reg;
+ tmp = (tmp & NVMCTRL_DBGCTRL_ECCDIS) >> NVMCTRL_DBGCTRL_ECCDIS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_nvmctrl_write_DBGCTRL_ECCDIS_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Nvmctrl *)hw)->DBGCTRL.reg;
+ tmp &= ~NVMCTRL_DBGCTRL_ECCDIS;
+ tmp |= value << NVMCTRL_DBGCTRL_ECCDIS_Pos;
+ ((Nvmctrl *)hw)->DBGCTRL.reg = tmp;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_DBGCTRL_ECCDIS_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->DBGCTRL.reg &= ~NVMCTRL_DBGCTRL_ECCDIS;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_DBGCTRL_ECCDIS_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->DBGCTRL.reg ^= NVMCTRL_DBGCTRL_ECCDIS;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_set_DBGCTRL_ECCELOG_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->DBGCTRL.reg |= NVMCTRL_DBGCTRL_ECCELOG;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_nvmctrl_get_DBGCTRL_ECCELOG_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Nvmctrl *)hw)->DBGCTRL.reg;
+ tmp = (tmp & NVMCTRL_DBGCTRL_ECCELOG) >> NVMCTRL_DBGCTRL_ECCELOG_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_nvmctrl_write_DBGCTRL_ECCELOG_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Nvmctrl *)hw)->DBGCTRL.reg;
+ tmp &= ~NVMCTRL_DBGCTRL_ECCELOG;
+ tmp |= value << NVMCTRL_DBGCTRL_ECCELOG_Pos;
+ ((Nvmctrl *)hw)->DBGCTRL.reg = tmp;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_DBGCTRL_ECCELOG_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->DBGCTRL.reg &= ~NVMCTRL_DBGCTRL_ECCELOG;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_DBGCTRL_ECCELOG_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->DBGCTRL.reg ^= NVMCTRL_DBGCTRL_ECCELOG;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_set_DBGCTRL_reg(const void *const hw, hri_nvmctrl_dbgctrl_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->DBGCTRL.reg |= mask;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_dbgctrl_reg_t hri_nvmctrl_get_DBGCTRL_reg(const void *const hw,
+ hri_nvmctrl_dbgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Nvmctrl *)hw)->DBGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_nvmctrl_write_DBGCTRL_reg(const void *const hw, hri_nvmctrl_dbgctrl_reg_t data)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->DBGCTRL.reg = data;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_DBGCTRL_reg(const void *const hw, hri_nvmctrl_dbgctrl_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->DBGCTRL.reg &= ~mask;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_DBGCTRL_reg(const void *const hw, hri_nvmctrl_dbgctrl_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->DBGCTRL.reg ^= mask;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_dbgctrl_reg_t hri_nvmctrl_read_DBGCTRL_reg(const void *const hw)
+{
+ return ((Nvmctrl *)hw)->DBGCTRL.reg;
+}
+
+static inline void hri_nvmctrl_set_SEECFG_WMODE_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->SEECFG.reg |= NVMCTRL_SEECFG_WMODE;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_nvmctrl_get_SEECFG_WMODE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Nvmctrl *)hw)->SEECFG.reg;
+ tmp = (tmp & NVMCTRL_SEECFG_WMODE) >> NVMCTRL_SEECFG_WMODE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_nvmctrl_write_SEECFG_WMODE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Nvmctrl *)hw)->SEECFG.reg;
+ tmp &= ~NVMCTRL_SEECFG_WMODE;
+ tmp |= value << NVMCTRL_SEECFG_WMODE_Pos;
+ ((Nvmctrl *)hw)->SEECFG.reg = tmp;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_SEECFG_WMODE_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->SEECFG.reg &= ~NVMCTRL_SEECFG_WMODE;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_SEECFG_WMODE_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->SEECFG.reg ^= NVMCTRL_SEECFG_WMODE;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_set_SEECFG_APRDIS_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->SEECFG.reg |= NVMCTRL_SEECFG_APRDIS;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_nvmctrl_get_SEECFG_APRDIS_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Nvmctrl *)hw)->SEECFG.reg;
+ tmp = (tmp & NVMCTRL_SEECFG_APRDIS) >> NVMCTRL_SEECFG_APRDIS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_nvmctrl_write_SEECFG_APRDIS_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Nvmctrl *)hw)->SEECFG.reg;
+ tmp &= ~NVMCTRL_SEECFG_APRDIS;
+ tmp |= value << NVMCTRL_SEECFG_APRDIS_Pos;
+ ((Nvmctrl *)hw)->SEECFG.reg = tmp;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_SEECFG_APRDIS_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->SEECFG.reg &= ~NVMCTRL_SEECFG_APRDIS;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_SEECFG_APRDIS_bit(const void *const hw)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->SEECFG.reg ^= NVMCTRL_SEECFG_APRDIS;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_set_SEECFG_reg(const void *const hw, hri_nvmctrl_seecfg_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->SEECFG.reg |= mask;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_seecfg_reg_t hri_nvmctrl_get_SEECFG_reg(const void *const hw, hri_nvmctrl_seecfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Nvmctrl *)hw)->SEECFG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_nvmctrl_write_SEECFG_reg(const void *const hw, hri_nvmctrl_seecfg_reg_t data)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->SEECFG.reg = data;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_clear_SEECFG_reg(const void *const hw, hri_nvmctrl_seecfg_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->SEECFG.reg &= ~mask;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_nvmctrl_toggle_SEECFG_reg(const void *const hw, hri_nvmctrl_seecfg_reg_t mask)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->SEECFG.reg ^= mask;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_nvmctrl_seecfg_reg_t hri_nvmctrl_read_SEECFG_reg(const void *const hw)
+{
+ return ((Nvmctrl *)hw)->SEECFG.reg;
+}
+
+static inline void hri_nvmctrl_write_CTRLB_reg(const void *const hw, hri_nvmctrl_ctrlb_reg_t data)
+{
+ NVMCTRL_CRITICAL_SECTION_ENTER();
+ ((Nvmctrl *)hw)->CTRLB.reg = data;
+ NVMCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_NVMCTRL_E54_H_INCLUDED */
+#endif /* _SAME54_NVMCTRL_COMPONENT_ */
diff --git a/hri/hri_osc32kctrl_e54.h b/hri/hri_osc32kctrl_e54.h
new file mode 100644
index 0000000..2eabbca
--- /dev/null
+++ b/hri/hri_osc32kctrl_e54.h
@@ -0,0 +1,1199 @@
+/**
+ * \file
+ *
+ * \brief SAM OSC32KCTRL
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_OSC32KCTRL_COMPONENT_
+#ifndef _HRI_OSC32KCTRL_E54_H_INCLUDED_
+#define _HRI_OSC32KCTRL_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_OSC32KCTRL_CRITICAL_SECTIONS)
+#define OSC32KCTRL_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define OSC32KCTRL_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define OSC32KCTRL_CRITICAL_SECTION_ENTER()
+#define OSC32KCTRL_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_osc32kctrl_xosc32k_reg_t;
+typedef uint32_t hri_osc32kctrl_intenset_reg_t;
+typedef uint32_t hri_osc32kctrl_intflag_reg_t;
+typedef uint32_t hri_osc32kctrl_osculp32k_reg_t;
+typedef uint32_t hri_osc32kctrl_status_reg_t;
+typedef uint8_t hri_osc32kctrl_cfdctrl_reg_t;
+typedef uint8_t hri_osc32kctrl_evctrl_reg_t;
+typedef uint8_t hri_osc32kctrl_rtcctrl_reg_t;
+
+static inline bool hri_osc32kctrl_get_INTFLAG_XOSC32KRDY_bit(const void *const hw)
+{
+ return (((Osc32kctrl *)hw)->INTFLAG.reg & OSC32KCTRL_INTFLAG_XOSC32KRDY) >> OSC32KCTRL_INTFLAG_XOSC32KRDY_Pos;
+}
+
+static inline void hri_osc32kctrl_clear_INTFLAG_XOSC32KRDY_bit(const void *const hw)
+{
+ ((Osc32kctrl *)hw)->INTFLAG.reg = OSC32KCTRL_INTFLAG_XOSC32KRDY;
+}
+
+static inline bool hri_osc32kctrl_get_INTFLAG_XOSC32KFAIL_bit(const void *const hw)
+{
+ return (((Osc32kctrl *)hw)->INTFLAG.reg & OSC32KCTRL_INTFLAG_XOSC32KFAIL) >> OSC32KCTRL_INTFLAG_XOSC32KFAIL_Pos;
+}
+
+static inline void hri_osc32kctrl_clear_INTFLAG_XOSC32KFAIL_bit(const void *const hw)
+{
+ ((Osc32kctrl *)hw)->INTFLAG.reg = OSC32KCTRL_INTFLAG_XOSC32KFAIL;
+}
+
+static inline bool hri_osc32kctrl_get_interrupt_XOSC32KRDY_bit(const void *const hw)
+{
+ return (((Osc32kctrl *)hw)->INTFLAG.reg & OSC32KCTRL_INTFLAG_XOSC32KRDY) >> OSC32KCTRL_INTFLAG_XOSC32KRDY_Pos;
+}
+
+static inline void hri_osc32kctrl_clear_interrupt_XOSC32KRDY_bit(const void *const hw)
+{
+ ((Osc32kctrl *)hw)->INTFLAG.reg = OSC32KCTRL_INTFLAG_XOSC32KRDY;
+}
+
+static inline bool hri_osc32kctrl_get_interrupt_XOSC32KFAIL_bit(const void *const hw)
+{
+ return (((Osc32kctrl *)hw)->INTFLAG.reg & OSC32KCTRL_INTFLAG_XOSC32KFAIL) >> OSC32KCTRL_INTFLAG_XOSC32KFAIL_Pos;
+}
+
+static inline void hri_osc32kctrl_clear_interrupt_XOSC32KFAIL_bit(const void *const hw)
+{
+ ((Osc32kctrl *)hw)->INTFLAG.reg = OSC32KCTRL_INTFLAG_XOSC32KFAIL;
+}
+
+static inline hri_osc32kctrl_intflag_reg_t hri_osc32kctrl_get_INTFLAG_reg(const void *const hw,
+ hri_osc32kctrl_intflag_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Osc32kctrl *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_osc32kctrl_intflag_reg_t hri_osc32kctrl_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Osc32kctrl *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_osc32kctrl_clear_INTFLAG_reg(const void *const hw, hri_osc32kctrl_intflag_reg_t mask)
+{
+ ((Osc32kctrl *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_osc32kctrl_set_INTEN_XOSC32KRDY_bit(const void *const hw)
+{
+ ((Osc32kctrl *)hw)->INTENSET.reg = OSC32KCTRL_INTENSET_XOSC32KRDY;
+}
+
+static inline bool hri_osc32kctrl_get_INTEN_XOSC32KRDY_bit(const void *const hw)
+{
+ return (((Osc32kctrl *)hw)->INTENSET.reg & OSC32KCTRL_INTENSET_XOSC32KRDY) >> OSC32KCTRL_INTENSET_XOSC32KRDY_Pos;
+}
+
+static inline void hri_osc32kctrl_write_INTEN_XOSC32KRDY_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Osc32kctrl *)hw)->INTENCLR.reg = OSC32KCTRL_INTENSET_XOSC32KRDY;
+ } else {
+ ((Osc32kctrl *)hw)->INTENSET.reg = OSC32KCTRL_INTENSET_XOSC32KRDY;
+ }
+}
+
+static inline void hri_osc32kctrl_clear_INTEN_XOSC32KRDY_bit(const void *const hw)
+{
+ ((Osc32kctrl *)hw)->INTENCLR.reg = OSC32KCTRL_INTENSET_XOSC32KRDY;
+}
+
+static inline void hri_osc32kctrl_set_INTEN_XOSC32KFAIL_bit(const void *const hw)
+{
+ ((Osc32kctrl *)hw)->INTENSET.reg = OSC32KCTRL_INTENSET_XOSC32KFAIL;
+}
+
+static inline bool hri_osc32kctrl_get_INTEN_XOSC32KFAIL_bit(const void *const hw)
+{
+ return (((Osc32kctrl *)hw)->INTENSET.reg & OSC32KCTRL_INTENSET_XOSC32KFAIL) >> OSC32KCTRL_INTENSET_XOSC32KFAIL_Pos;
+}
+
+static inline void hri_osc32kctrl_write_INTEN_XOSC32KFAIL_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Osc32kctrl *)hw)->INTENCLR.reg = OSC32KCTRL_INTENSET_XOSC32KFAIL;
+ } else {
+ ((Osc32kctrl *)hw)->INTENSET.reg = OSC32KCTRL_INTENSET_XOSC32KFAIL;
+ }
+}
+
+static inline void hri_osc32kctrl_clear_INTEN_XOSC32KFAIL_bit(const void *const hw)
+{
+ ((Osc32kctrl *)hw)->INTENCLR.reg = OSC32KCTRL_INTENSET_XOSC32KFAIL;
+}
+
+static inline void hri_osc32kctrl_set_INTEN_reg(const void *const hw, hri_osc32kctrl_intenset_reg_t mask)
+{
+ ((Osc32kctrl *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_osc32kctrl_intenset_reg_t hri_osc32kctrl_get_INTEN_reg(const void *const hw,
+ hri_osc32kctrl_intenset_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Osc32kctrl *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_osc32kctrl_intenset_reg_t hri_osc32kctrl_read_INTEN_reg(const void *const hw)
+{
+ return ((Osc32kctrl *)hw)->INTENSET.reg;
+}
+
+static inline void hri_osc32kctrl_write_INTEN_reg(const void *const hw, hri_osc32kctrl_intenset_reg_t data)
+{
+ ((Osc32kctrl *)hw)->INTENSET.reg = data;
+ ((Osc32kctrl *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_osc32kctrl_clear_INTEN_reg(const void *const hw, hri_osc32kctrl_intenset_reg_t mask)
+{
+ ((Osc32kctrl *)hw)->INTENCLR.reg = mask;
+}
+
+static inline bool hri_osc32kctrl_get_STATUS_XOSC32KRDY_bit(const void *const hw)
+{
+ return (((Osc32kctrl *)hw)->STATUS.reg & OSC32KCTRL_STATUS_XOSC32KRDY) >> OSC32KCTRL_STATUS_XOSC32KRDY_Pos;
+}
+
+static inline bool hri_osc32kctrl_get_STATUS_XOSC32KFAIL_bit(const void *const hw)
+{
+ return (((Osc32kctrl *)hw)->STATUS.reg & OSC32KCTRL_STATUS_XOSC32KFAIL) >> OSC32KCTRL_STATUS_XOSC32KFAIL_Pos;
+}
+
+static inline bool hri_osc32kctrl_get_STATUS_XOSC32KSW_bit(const void *const hw)
+{
+ return (((Osc32kctrl *)hw)->STATUS.reg & OSC32KCTRL_STATUS_XOSC32KSW) >> OSC32KCTRL_STATUS_XOSC32KSW_Pos;
+}
+
+static inline hri_osc32kctrl_status_reg_t hri_osc32kctrl_get_STATUS_reg(const void *const hw,
+ hri_osc32kctrl_status_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Osc32kctrl *)hw)->STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_osc32kctrl_status_reg_t hri_osc32kctrl_read_STATUS_reg(const void *const hw)
+{
+ return ((Osc32kctrl *)hw)->STATUS.reg;
+}
+
+static inline void hri_osc32kctrl_set_RTCCTRL_RTCSEL_bf(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->RTCCTRL.reg |= OSC32KCTRL_RTCCTRL_RTCSEL(mask);
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_rtcctrl_reg_t hri_osc32kctrl_get_RTCCTRL_RTCSEL_bf(const void *const hw,
+ hri_osc32kctrl_rtcctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Osc32kctrl *)hw)->RTCCTRL.reg;
+ tmp = (tmp & OSC32KCTRL_RTCCTRL_RTCSEL(mask)) >> OSC32KCTRL_RTCCTRL_RTCSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_osc32kctrl_write_RTCCTRL_RTCSEL_bf(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t data)
+{
+ uint8_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->RTCCTRL.reg;
+ tmp &= ~OSC32KCTRL_RTCCTRL_RTCSEL_Msk;
+ tmp |= OSC32KCTRL_RTCCTRL_RTCSEL(data);
+ ((Osc32kctrl *)hw)->RTCCTRL.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_RTCCTRL_RTCSEL_bf(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->RTCCTRL.reg &= ~OSC32KCTRL_RTCCTRL_RTCSEL(mask);
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_RTCCTRL_RTCSEL_bf(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->RTCCTRL.reg ^= OSC32KCTRL_RTCCTRL_RTCSEL(mask);
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_rtcctrl_reg_t hri_osc32kctrl_read_RTCCTRL_RTCSEL_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Osc32kctrl *)hw)->RTCCTRL.reg;
+ tmp = (tmp & OSC32KCTRL_RTCCTRL_RTCSEL_Msk) >> OSC32KCTRL_RTCCTRL_RTCSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_osc32kctrl_set_RTCCTRL_reg(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->RTCCTRL.reg |= mask;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_rtcctrl_reg_t hri_osc32kctrl_get_RTCCTRL_reg(const void *const hw,
+ hri_osc32kctrl_rtcctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Osc32kctrl *)hw)->RTCCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_osc32kctrl_write_RTCCTRL_reg(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t data)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->RTCCTRL.reg = data;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_RTCCTRL_reg(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->RTCCTRL.reg &= ~mask;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_RTCCTRL_reg(const void *const hw, hri_osc32kctrl_rtcctrl_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->RTCCTRL.reg ^= mask;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_rtcctrl_reg_t hri_osc32kctrl_read_RTCCTRL_reg(const void *const hw)
+{
+ return ((Osc32kctrl *)hw)->RTCCTRL.reg;
+}
+
+static inline void hri_osc32kctrl_set_XOSC32K_ENABLE_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_ENABLE;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_osc32kctrl_get_XOSC32K_ENABLE_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp = (tmp & OSC32KCTRL_XOSC32K_ENABLE) >> OSC32KCTRL_XOSC32K_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_osc32kctrl_write_XOSC32K_ENABLE_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp &= ~OSC32KCTRL_XOSC32K_ENABLE;
+ tmp |= value << OSC32KCTRL_XOSC32K_ENABLE_Pos;
+ ((Osc32kctrl *)hw)->XOSC32K.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_XOSC32K_ENABLE_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_ENABLE;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_XOSC32K_ENABLE_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_ENABLE;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_set_XOSC32K_XTALEN_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_XTALEN;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_osc32kctrl_get_XOSC32K_XTALEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp = (tmp & OSC32KCTRL_XOSC32K_XTALEN) >> OSC32KCTRL_XOSC32K_XTALEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_osc32kctrl_write_XOSC32K_XTALEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp &= ~OSC32KCTRL_XOSC32K_XTALEN;
+ tmp |= value << OSC32KCTRL_XOSC32K_XTALEN_Pos;
+ ((Osc32kctrl *)hw)->XOSC32K.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_XOSC32K_XTALEN_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_XTALEN;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_XOSC32K_XTALEN_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_XTALEN;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_set_XOSC32K_EN32K_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_EN32K;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_osc32kctrl_get_XOSC32K_EN32K_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp = (tmp & OSC32KCTRL_XOSC32K_EN32K) >> OSC32KCTRL_XOSC32K_EN32K_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_osc32kctrl_write_XOSC32K_EN32K_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp &= ~OSC32KCTRL_XOSC32K_EN32K;
+ tmp |= value << OSC32KCTRL_XOSC32K_EN32K_Pos;
+ ((Osc32kctrl *)hw)->XOSC32K.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_XOSC32K_EN32K_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_EN32K;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_XOSC32K_EN32K_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_EN32K;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_set_XOSC32K_EN1K_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_EN1K;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_osc32kctrl_get_XOSC32K_EN1K_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp = (tmp & OSC32KCTRL_XOSC32K_EN1K) >> OSC32KCTRL_XOSC32K_EN1K_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_osc32kctrl_write_XOSC32K_EN1K_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp &= ~OSC32KCTRL_XOSC32K_EN1K;
+ tmp |= value << OSC32KCTRL_XOSC32K_EN1K_Pos;
+ ((Osc32kctrl *)hw)->XOSC32K.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_XOSC32K_EN1K_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_EN1K;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_XOSC32K_EN1K_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_EN1K;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_set_XOSC32K_RUNSTDBY_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_RUNSTDBY;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_osc32kctrl_get_XOSC32K_RUNSTDBY_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp = (tmp & OSC32KCTRL_XOSC32K_RUNSTDBY) >> OSC32KCTRL_XOSC32K_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_osc32kctrl_write_XOSC32K_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp &= ~OSC32KCTRL_XOSC32K_RUNSTDBY;
+ tmp |= value << OSC32KCTRL_XOSC32K_RUNSTDBY_Pos;
+ ((Osc32kctrl *)hw)->XOSC32K.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_XOSC32K_RUNSTDBY_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_RUNSTDBY;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_XOSC32K_RUNSTDBY_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_RUNSTDBY;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_set_XOSC32K_ONDEMAND_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_ONDEMAND;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_osc32kctrl_get_XOSC32K_ONDEMAND_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp = (tmp & OSC32KCTRL_XOSC32K_ONDEMAND) >> OSC32KCTRL_XOSC32K_ONDEMAND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_osc32kctrl_write_XOSC32K_ONDEMAND_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp &= ~OSC32KCTRL_XOSC32K_ONDEMAND;
+ tmp |= value << OSC32KCTRL_XOSC32K_ONDEMAND_Pos;
+ ((Osc32kctrl *)hw)->XOSC32K.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_XOSC32K_ONDEMAND_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_ONDEMAND;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_XOSC32K_ONDEMAND_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_ONDEMAND;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_set_XOSC32K_WRTLOCK_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_WRTLOCK;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_osc32kctrl_get_XOSC32K_WRTLOCK_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp = (tmp & OSC32KCTRL_XOSC32K_WRTLOCK) >> OSC32KCTRL_XOSC32K_WRTLOCK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_osc32kctrl_write_XOSC32K_WRTLOCK_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp &= ~OSC32KCTRL_XOSC32K_WRTLOCK;
+ tmp |= value << OSC32KCTRL_XOSC32K_WRTLOCK_Pos;
+ ((Osc32kctrl *)hw)->XOSC32K.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_XOSC32K_WRTLOCK_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_WRTLOCK;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_XOSC32K_WRTLOCK_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_WRTLOCK;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_set_XOSC32K_STARTUP_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_STARTUP(mask);
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_xosc32k_reg_t hri_osc32kctrl_get_XOSC32K_STARTUP_bf(const void *const hw,
+ hri_osc32kctrl_xosc32k_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp = (tmp & OSC32KCTRL_XOSC32K_STARTUP(mask)) >> OSC32KCTRL_XOSC32K_STARTUP_Pos;
+ return tmp;
+}
+
+static inline void hri_osc32kctrl_write_XOSC32K_STARTUP_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t data)
+{
+ uint16_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp &= ~OSC32KCTRL_XOSC32K_STARTUP_Msk;
+ tmp |= OSC32KCTRL_XOSC32K_STARTUP(data);
+ ((Osc32kctrl *)hw)->XOSC32K.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_XOSC32K_STARTUP_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_STARTUP(mask);
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_XOSC32K_STARTUP_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_STARTUP(mask);
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_xosc32k_reg_t hri_osc32kctrl_read_XOSC32K_STARTUP_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp = (tmp & OSC32KCTRL_XOSC32K_STARTUP_Msk) >> OSC32KCTRL_XOSC32K_STARTUP_Pos;
+ return tmp;
+}
+
+static inline void hri_osc32kctrl_set_XOSC32K_CGM_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg |= OSC32KCTRL_XOSC32K_CGM(mask);
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_xosc32k_reg_t hri_osc32kctrl_get_XOSC32K_CGM_bf(const void *const hw,
+ hri_osc32kctrl_xosc32k_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp = (tmp & OSC32KCTRL_XOSC32K_CGM(mask)) >> OSC32KCTRL_XOSC32K_CGM_Pos;
+ return tmp;
+}
+
+static inline void hri_osc32kctrl_write_XOSC32K_CGM_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t data)
+{
+ uint16_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp &= ~OSC32KCTRL_XOSC32K_CGM_Msk;
+ tmp |= OSC32KCTRL_XOSC32K_CGM(data);
+ ((Osc32kctrl *)hw)->XOSC32K.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_XOSC32K_CGM_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg &= ~OSC32KCTRL_XOSC32K_CGM(mask);
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_XOSC32K_CGM_bf(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg ^= OSC32KCTRL_XOSC32K_CGM(mask);
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_xosc32k_reg_t hri_osc32kctrl_read_XOSC32K_CGM_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp = (tmp & OSC32KCTRL_XOSC32K_CGM_Msk) >> OSC32KCTRL_XOSC32K_CGM_Pos;
+ return tmp;
+}
+
+static inline void hri_osc32kctrl_set_XOSC32K_reg(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg |= mask;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_xosc32k_reg_t hri_osc32kctrl_get_XOSC32K_reg(const void *const hw,
+ hri_osc32kctrl_xosc32k_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Osc32kctrl *)hw)->XOSC32K.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_osc32kctrl_write_XOSC32K_reg(const void *const hw, hri_osc32kctrl_xosc32k_reg_t data)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg = data;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_XOSC32K_reg(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg &= ~mask;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_XOSC32K_reg(const void *const hw, hri_osc32kctrl_xosc32k_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->XOSC32K.reg ^= mask;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_xosc32k_reg_t hri_osc32kctrl_read_XOSC32K_reg(const void *const hw)
+{
+ return ((Osc32kctrl *)hw)->XOSC32K.reg;
+}
+
+static inline void hri_osc32kctrl_set_CFDCTRL_CFDEN_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->CFDCTRL.reg |= OSC32KCTRL_CFDCTRL_CFDEN;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_osc32kctrl_get_CFDCTRL_CFDEN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Osc32kctrl *)hw)->CFDCTRL.reg;
+ tmp = (tmp & OSC32KCTRL_CFDCTRL_CFDEN) >> OSC32KCTRL_CFDCTRL_CFDEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_osc32kctrl_write_CFDCTRL_CFDEN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->CFDCTRL.reg;
+ tmp &= ~OSC32KCTRL_CFDCTRL_CFDEN;
+ tmp |= value << OSC32KCTRL_CFDCTRL_CFDEN_Pos;
+ ((Osc32kctrl *)hw)->CFDCTRL.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_CFDCTRL_CFDEN_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->CFDCTRL.reg &= ~OSC32KCTRL_CFDCTRL_CFDEN;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_CFDCTRL_CFDEN_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->CFDCTRL.reg ^= OSC32KCTRL_CFDCTRL_CFDEN;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_set_CFDCTRL_SWBACK_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->CFDCTRL.reg |= OSC32KCTRL_CFDCTRL_SWBACK;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_osc32kctrl_get_CFDCTRL_SWBACK_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Osc32kctrl *)hw)->CFDCTRL.reg;
+ tmp = (tmp & OSC32KCTRL_CFDCTRL_SWBACK) >> OSC32KCTRL_CFDCTRL_SWBACK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_osc32kctrl_write_CFDCTRL_SWBACK_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->CFDCTRL.reg;
+ tmp &= ~OSC32KCTRL_CFDCTRL_SWBACK;
+ tmp |= value << OSC32KCTRL_CFDCTRL_SWBACK_Pos;
+ ((Osc32kctrl *)hw)->CFDCTRL.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_CFDCTRL_SWBACK_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->CFDCTRL.reg &= ~OSC32KCTRL_CFDCTRL_SWBACK;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_CFDCTRL_SWBACK_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->CFDCTRL.reg ^= OSC32KCTRL_CFDCTRL_SWBACK;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_set_CFDCTRL_CFDPRESC_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->CFDCTRL.reg |= OSC32KCTRL_CFDCTRL_CFDPRESC;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_osc32kctrl_get_CFDCTRL_CFDPRESC_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Osc32kctrl *)hw)->CFDCTRL.reg;
+ tmp = (tmp & OSC32KCTRL_CFDCTRL_CFDPRESC) >> OSC32KCTRL_CFDCTRL_CFDPRESC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_osc32kctrl_write_CFDCTRL_CFDPRESC_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->CFDCTRL.reg;
+ tmp &= ~OSC32KCTRL_CFDCTRL_CFDPRESC;
+ tmp |= value << OSC32KCTRL_CFDCTRL_CFDPRESC_Pos;
+ ((Osc32kctrl *)hw)->CFDCTRL.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_CFDCTRL_CFDPRESC_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->CFDCTRL.reg &= ~OSC32KCTRL_CFDCTRL_CFDPRESC;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_CFDCTRL_CFDPRESC_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->CFDCTRL.reg ^= OSC32KCTRL_CFDCTRL_CFDPRESC;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_set_CFDCTRL_reg(const void *const hw, hri_osc32kctrl_cfdctrl_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->CFDCTRL.reg |= mask;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_cfdctrl_reg_t hri_osc32kctrl_get_CFDCTRL_reg(const void *const hw,
+ hri_osc32kctrl_cfdctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Osc32kctrl *)hw)->CFDCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_osc32kctrl_write_CFDCTRL_reg(const void *const hw, hri_osc32kctrl_cfdctrl_reg_t data)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->CFDCTRL.reg = data;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_CFDCTRL_reg(const void *const hw, hri_osc32kctrl_cfdctrl_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->CFDCTRL.reg &= ~mask;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_CFDCTRL_reg(const void *const hw, hri_osc32kctrl_cfdctrl_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->CFDCTRL.reg ^= mask;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_cfdctrl_reg_t hri_osc32kctrl_read_CFDCTRL_reg(const void *const hw)
+{
+ return ((Osc32kctrl *)hw)->CFDCTRL.reg;
+}
+
+static inline void hri_osc32kctrl_set_EVCTRL_CFDEO_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->EVCTRL.reg |= OSC32KCTRL_EVCTRL_CFDEO;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_osc32kctrl_get_EVCTRL_CFDEO_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Osc32kctrl *)hw)->EVCTRL.reg;
+ tmp = (tmp & OSC32KCTRL_EVCTRL_CFDEO) >> OSC32KCTRL_EVCTRL_CFDEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_osc32kctrl_write_EVCTRL_CFDEO_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->EVCTRL.reg;
+ tmp &= ~OSC32KCTRL_EVCTRL_CFDEO;
+ tmp |= value << OSC32KCTRL_EVCTRL_CFDEO_Pos;
+ ((Osc32kctrl *)hw)->EVCTRL.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_EVCTRL_CFDEO_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->EVCTRL.reg &= ~OSC32KCTRL_EVCTRL_CFDEO;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_EVCTRL_CFDEO_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->EVCTRL.reg ^= OSC32KCTRL_EVCTRL_CFDEO;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_set_EVCTRL_reg(const void *const hw, hri_osc32kctrl_evctrl_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->EVCTRL.reg |= mask;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_evctrl_reg_t hri_osc32kctrl_get_EVCTRL_reg(const void *const hw,
+ hri_osc32kctrl_evctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Osc32kctrl *)hw)->EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_osc32kctrl_write_EVCTRL_reg(const void *const hw, hri_osc32kctrl_evctrl_reg_t data)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->EVCTRL.reg = data;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_EVCTRL_reg(const void *const hw, hri_osc32kctrl_evctrl_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->EVCTRL.reg &= ~mask;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_EVCTRL_reg(const void *const hw, hri_osc32kctrl_evctrl_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->EVCTRL.reg ^= mask;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_evctrl_reg_t hri_osc32kctrl_read_EVCTRL_reg(const void *const hw)
+{
+ return ((Osc32kctrl *)hw)->EVCTRL.reg;
+}
+
+static inline void hri_osc32kctrl_set_OSCULP32K_EN32K_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg |= OSC32KCTRL_OSCULP32K_EN32K;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_osc32kctrl_get_OSCULP32K_EN32K_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg;
+ tmp = (tmp & OSC32KCTRL_OSCULP32K_EN32K) >> OSC32KCTRL_OSCULP32K_EN32K_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_osc32kctrl_write_OSCULP32K_EN32K_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg;
+ tmp &= ~OSC32KCTRL_OSCULP32K_EN32K;
+ tmp |= value << OSC32KCTRL_OSCULP32K_EN32K_Pos;
+ ((Osc32kctrl *)hw)->OSCULP32K.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_OSCULP32K_EN32K_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg &= ~OSC32KCTRL_OSCULP32K_EN32K;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_OSCULP32K_EN32K_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg ^= OSC32KCTRL_OSCULP32K_EN32K;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_set_OSCULP32K_EN1K_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg |= OSC32KCTRL_OSCULP32K_EN1K;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_osc32kctrl_get_OSCULP32K_EN1K_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg;
+ tmp = (tmp & OSC32KCTRL_OSCULP32K_EN1K) >> OSC32KCTRL_OSCULP32K_EN1K_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_osc32kctrl_write_OSCULP32K_EN1K_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg;
+ tmp &= ~OSC32KCTRL_OSCULP32K_EN1K;
+ tmp |= value << OSC32KCTRL_OSCULP32K_EN1K_Pos;
+ ((Osc32kctrl *)hw)->OSCULP32K.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_OSCULP32K_EN1K_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg &= ~OSC32KCTRL_OSCULP32K_EN1K;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_OSCULP32K_EN1K_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg ^= OSC32KCTRL_OSCULP32K_EN1K;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_set_OSCULP32K_WRTLOCK_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg |= OSC32KCTRL_OSCULP32K_WRTLOCK;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_osc32kctrl_get_OSCULP32K_WRTLOCK_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg;
+ tmp = (tmp & OSC32KCTRL_OSCULP32K_WRTLOCK) >> OSC32KCTRL_OSCULP32K_WRTLOCK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_osc32kctrl_write_OSCULP32K_WRTLOCK_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg;
+ tmp &= ~OSC32KCTRL_OSCULP32K_WRTLOCK;
+ tmp |= value << OSC32KCTRL_OSCULP32K_WRTLOCK_Pos;
+ ((Osc32kctrl *)hw)->OSCULP32K.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_OSCULP32K_WRTLOCK_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg &= ~OSC32KCTRL_OSCULP32K_WRTLOCK;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_OSCULP32K_WRTLOCK_bit(const void *const hw)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg ^= OSC32KCTRL_OSCULP32K_WRTLOCK;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_set_OSCULP32K_CALIB_bf(const void *const hw, hri_osc32kctrl_osculp32k_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg |= OSC32KCTRL_OSCULP32K_CALIB(mask);
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_osculp32k_reg_t hri_osc32kctrl_get_OSCULP32K_CALIB_bf(const void *const hw,
+ hri_osc32kctrl_osculp32k_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg;
+ tmp = (tmp & OSC32KCTRL_OSCULP32K_CALIB(mask)) >> OSC32KCTRL_OSCULP32K_CALIB_Pos;
+ return tmp;
+}
+
+static inline void hri_osc32kctrl_write_OSCULP32K_CALIB_bf(const void *const hw, hri_osc32kctrl_osculp32k_reg_t data)
+{
+ uint32_t tmp;
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg;
+ tmp &= ~OSC32KCTRL_OSCULP32K_CALIB_Msk;
+ tmp |= OSC32KCTRL_OSCULP32K_CALIB(data);
+ ((Osc32kctrl *)hw)->OSCULP32K.reg = tmp;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_OSCULP32K_CALIB_bf(const void *const hw, hri_osc32kctrl_osculp32k_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg &= ~OSC32KCTRL_OSCULP32K_CALIB(mask);
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_OSCULP32K_CALIB_bf(const void *const hw, hri_osc32kctrl_osculp32k_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg ^= OSC32KCTRL_OSCULP32K_CALIB(mask);
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_osculp32k_reg_t hri_osc32kctrl_read_OSCULP32K_CALIB_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg;
+ tmp = (tmp & OSC32KCTRL_OSCULP32K_CALIB_Msk) >> OSC32KCTRL_OSCULP32K_CALIB_Pos;
+ return tmp;
+}
+
+static inline void hri_osc32kctrl_set_OSCULP32K_reg(const void *const hw, hri_osc32kctrl_osculp32k_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg |= mask;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_osculp32k_reg_t hri_osc32kctrl_get_OSCULP32K_reg(const void *const hw,
+ hri_osc32kctrl_osculp32k_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_osc32kctrl_write_OSCULP32K_reg(const void *const hw, hri_osc32kctrl_osculp32k_reg_t data)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg = data;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_clear_OSCULP32K_reg(const void *const hw, hri_osc32kctrl_osculp32k_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg &= ~mask;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_osc32kctrl_toggle_OSCULP32K_reg(const void *const hw, hri_osc32kctrl_osculp32k_reg_t mask)
+{
+ OSC32KCTRL_CRITICAL_SECTION_ENTER();
+ ((Osc32kctrl *)hw)->OSCULP32K.reg ^= mask;
+ OSC32KCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_osc32kctrl_osculp32k_reg_t hri_osc32kctrl_read_OSCULP32K_reg(const void *const hw)
+{
+ return ((Osc32kctrl *)hw)->OSCULP32K.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_OSC32KCTRL_E54_H_INCLUDED */
+#endif /* _SAME54_OSC32KCTRL_COMPONENT_ */
diff --git a/hri/hri_oscctrl_e54.h b/hri/hri_oscctrl_e54.h
new file mode 100644
index 0000000..f331410
--- /dev/null
+++ b/hri/hri_oscctrl_e54.h
@@ -0,0 +1,4441 @@
+/**
+ * \file
+ *
+ * \brief SAM OSCCTRL
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_OSCCTRL_COMPONENT_
+#ifndef _HRI_OSCCTRL_E54_H_INCLUDED_
+#define _HRI_OSCCTRL_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_OSCCTRL_CRITICAL_SECTIONS)
+#define OSCCTRL_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define OSCCTRL_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define OSCCTRL_CRITICAL_SECTION_ENTER()
+#define OSCCTRL_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_oscctrl_dfllmul_reg_t;
+typedef uint32_t hri_oscctrl_dfllval_reg_t;
+typedef uint32_t hri_oscctrl_dpllctrlb_reg_t;
+typedef uint32_t hri_oscctrl_dpllratio_reg_t;
+typedef uint32_t hri_oscctrl_dpllstatus_reg_t;
+typedef uint32_t hri_oscctrl_dpllsyncbusy_reg_t;
+typedef uint32_t hri_oscctrl_intenset_reg_t;
+typedef uint32_t hri_oscctrl_intflag_reg_t;
+typedef uint32_t hri_oscctrl_status_reg_t;
+typedef uint32_t hri_oscctrl_xoscctrl_reg_t;
+typedef uint32_t hri_oscctrldpll_dpllctrlb_reg_t;
+typedef uint32_t hri_oscctrldpll_dpllratio_reg_t;
+typedef uint32_t hri_oscctrldpll_dpllstatus_reg_t;
+typedef uint32_t hri_oscctrldpll_dpllsyncbusy_reg_t;
+typedef uint8_t hri_oscctrl_dfllctrla_reg_t;
+typedef uint8_t hri_oscctrl_dfllctrlb_reg_t;
+typedef uint8_t hri_oscctrl_dfllsync_reg_t;
+typedef uint8_t hri_oscctrl_dpllctrla_reg_t;
+typedef uint8_t hri_oscctrl_evctrl_reg_t;
+typedef uint8_t hri_oscctrldpll_dpllctrla_reg_t;
+
+static inline void hri_oscctrldpll_wait_for_sync(const void *const hw, hri_oscctrl_dpllsyncbusy_reg_t reg)
+{
+ while (((OscctrlDpll *)hw)->DPLLSYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_oscctrldpll_is_syncing(const void *const hw, hri_oscctrl_dpllsyncbusy_reg_t reg)
+{
+ return ((OscctrlDpll *)hw)->DPLLSYNCBUSY.reg & reg;
+}
+
+static inline void hri_oscctrl_wait_for_sync(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllsyncbusy_reg_t reg)
+{
+ while (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_oscctrl_is_syncing(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllsyncbusy_reg_t reg)
+{
+ return ((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg & reg;
+}
+
+static inline bool hri_oscctrldpll_get_DPLLSYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((OscctrlDpll *)hw)->DPLLSYNCBUSY.reg & OSCCTRL_DPLLSYNCBUSY_ENABLE) >> OSCCTRL_DPLLSYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_oscctrldpll_get_DPLLSYNCBUSY_DPLLRATIO_bit(const void *const hw)
+{
+ return (((OscctrlDpll *)hw)->DPLLSYNCBUSY.reg & OSCCTRL_DPLLSYNCBUSY_DPLLRATIO)
+ >> OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Pos;
+}
+
+static inline hri_oscctrl_dpllsyncbusy_reg_t hri_oscctrldpll_get_DPLLSYNCBUSY_reg(const void *const hw,
+ hri_oscctrl_dpllsyncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLSYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_oscctrl_dpllsyncbusy_reg_t hri_oscctrldpll_read_DPLLSYNCBUSY_reg(const void *const hw)
+{
+ return ((OscctrlDpll *)hw)->DPLLSYNCBUSY.reg;
+}
+
+static inline bool hri_oscctrldpll_get_DPLLSTATUS_LOCK_bit(const void *const hw)
+{
+ return (((OscctrlDpll *)hw)->DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_LOCK) >> OSCCTRL_DPLLSTATUS_LOCK_Pos;
+}
+
+static inline bool hri_oscctrldpll_get_DPLLSTATUS_CLKRDY_bit(const void *const hw)
+{
+ return (((OscctrlDpll *)hw)->DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_CLKRDY) >> OSCCTRL_DPLLSTATUS_CLKRDY_Pos;
+}
+
+static inline hri_oscctrl_dpllstatus_reg_t hri_oscctrldpll_get_DPLLSTATUS_reg(const void *const hw,
+ hri_oscctrl_dpllstatus_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLSTATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_oscctrl_dpllstatus_reg_t hri_oscctrldpll_read_DPLLSTATUS_reg(const void *const hw)
+{
+ return ((OscctrlDpll *)hw)->DPLLSTATUS.reg;
+}
+
+static inline void hri_oscctrldpll_set_DPLLCTRLA_ENABLE_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg |= OSCCTRL_DPLLCTRLA_ENABLE;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrldpll_get_DPLLCTRLA_ENABLE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLA.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLA_ENABLE) >> OSCCTRL_DPLLCTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLCTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLA.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLA_ENABLE;
+ tmp |= value << OSCCTRL_DPLLCTRLA_ENABLE_Pos;
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg = tmp;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLCTRLA_ENABLE_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg &= ~OSCCTRL_DPLLCTRLA_ENABLE;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLCTRLA_ENABLE_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg ^= OSCCTRL_DPLLCTRLA_ENABLE;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_set_DPLLCTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg |= OSCCTRL_DPLLCTRLA_RUNSTDBY;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrldpll_get_DPLLCTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLA.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLA_RUNSTDBY) >> OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLCTRLA_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLA.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLA_RUNSTDBY;
+ tmp |= value << OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos;
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg = tmp;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLCTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg &= ~OSCCTRL_DPLLCTRLA_RUNSTDBY;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLCTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg ^= OSCCTRL_DPLLCTRLA_RUNSTDBY;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_set_DPLLCTRLA_ONDEMAND_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg |= OSCCTRL_DPLLCTRLA_ONDEMAND;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrldpll_get_DPLLCTRLA_ONDEMAND_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLA.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLA_ONDEMAND) >> OSCCTRL_DPLLCTRLA_ONDEMAND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLCTRLA_ONDEMAND_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLA.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLA_ONDEMAND;
+ tmp |= value << OSCCTRL_DPLLCTRLA_ONDEMAND_Pos;
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg = tmp;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLCTRLA_ONDEMAND_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg &= ~OSCCTRL_DPLLCTRLA_ONDEMAND;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLCTRLA_ONDEMAND_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg ^= OSCCTRL_DPLLCTRLA_ONDEMAND;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_set_DPLLCTRLA_reg(const void *const hw, hri_oscctrl_dpllctrla_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg |= mask;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrla_reg_t hri_oscctrldpll_get_DPLLCTRLA_reg(const void *const hw,
+ hri_oscctrl_dpllctrla_reg_t mask)
+{
+ uint8_t tmp;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLCTRLA_reg(const void *const hw, hri_oscctrl_dpllctrla_reg_t data)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg = data;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLCTRLA_reg(const void *const hw, hri_oscctrl_dpllctrla_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg &= ~mask;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLCTRLA_reg(const void *const hw, hri_oscctrl_dpllctrla_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLA.reg ^= mask;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrla_reg_t hri_oscctrldpll_read_DPLLCTRLA_reg(const void *const hw)
+{
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ return ((OscctrlDpll *)hw)->DPLLCTRLA.reg;
+}
+
+static inline void hri_oscctrldpll_set_DPLLRATIO_LDR_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLRATIO.reg |= OSCCTRL_DPLLRATIO_LDR(mask);
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllratio_reg_t hri_oscctrldpll_get_DPLLRATIO_LDR_bf(const void *const hw,
+ hri_oscctrl_dpllratio_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLRATIO.reg;
+ tmp = (tmp & OSCCTRL_DPLLRATIO_LDR(mask)) >> OSCCTRL_DPLLRATIO_LDR_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLRATIO_LDR_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((OscctrlDpll *)hw)->DPLLRATIO.reg;
+ tmp &= ~OSCCTRL_DPLLRATIO_LDR_Msk;
+ tmp |= OSCCTRL_DPLLRATIO_LDR(data);
+ ((OscctrlDpll *)hw)->DPLLRATIO.reg = tmp;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLRATIO_LDR_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLRATIO.reg &= ~OSCCTRL_DPLLRATIO_LDR(mask);
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLRATIO_LDR_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLRATIO.reg ^= OSCCTRL_DPLLRATIO_LDR(mask);
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllratio_reg_t hri_oscctrldpll_read_DPLLRATIO_LDR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLRATIO.reg;
+ tmp = (tmp & OSCCTRL_DPLLRATIO_LDR_Msk) >> OSCCTRL_DPLLRATIO_LDR_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_set_DPLLRATIO_LDRFRAC_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLRATIO.reg |= OSCCTRL_DPLLRATIO_LDRFRAC(mask);
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllratio_reg_t hri_oscctrldpll_get_DPLLRATIO_LDRFRAC_bf(const void *const hw,
+ hri_oscctrl_dpllratio_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLRATIO.reg;
+ tmp = (tmp & OSCCTRL_DPLLRATIO_LDRFRAC(mask)) >> OSCCTRL_DPLLRATIO_LDRFRAC_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLRATIO_LDRFRAC_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((OscctrlDpll *)hw)->DPLLRATIO.reg;
+ tmp &= ~OSCCTRL_DPLLRATIO_LDRFRAC_Msk;
+ tmp |= OSCCTRL_DPLLRATIO_LDRFRAC(data);
+ ((OscctrlDpll *)hw)->DPLLRATIO.reg = tmp;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLRATIO_LDRFRAC_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLRATIO.reg &= ~OSCCTRL_DPLLRATIO_LDRFRAC(mask);
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLRATIO_LDRFRAC_bf(const void *const hw, hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLRATIO.reg ^= OSCCTRL_DPLLRATIO_LDRFRAC(mask);
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllratio_reg_t hri_oscctrldpll_read_DPLLRATIO_LDRFRAC_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLRATIO.reg;
+ tmp = (tmp & OSCCTRL_DPLLRATIO_LDRFRAC_Msk) >> OSCCTRL_DPLLRATIO_LDRFRAC_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_set_DPLLRATIO_reg(const void *const hw, hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLRATIO.reg |= mask;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllratio_reg_t hri_oscctrldpll_get_DPLLRATIO_reg(const void *const hw,
+ hri_oscctrl_dpllratio_reg_t mask)
+{
+ uint32_t tmp;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ tmp = ((OscctrlDpll *)hw)->DPLLRATIO.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLRATIO_reg(const void *const hw, hri_oscctrl_dpllratio_reg_t data)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLRATIO.reg = data;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLRATIO_reg(const void *const hw, hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLRATIO.reg &= ~mask;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLRATIO_reg(const void *const hw, hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLRATIO.reg ^= mask;
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllratio_reg_t hri_oscctrldpll_read_DPLLRATIO_reg(const void *const hw)
+{
+ hri_oscctrldpll_wait_for_sync(hw, OSCCTRL_DPLLSYNCBUSY_MASK);
+ return ((OscctrlDpll *)hw)->DPLLRATIO.reg;
+}
+
+static inline void hri_oscctrldpll_set_DPLLCTRLB_WUF_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_WUF;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrldpll_get_DPLLCTRLB_WUF_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_WUF) >> OSCCTRL_DPLLCTRLB_WUF_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLCTRLB_WUF_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_WUF;
+ tmp |= value << OSCCTRL_DPLLCTRLB_WUF_Pos;
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLCTRLB_WUF_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_WUF;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLCTRLB_WUF_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_WUF;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_set_DPLLCTRLB_LBYPASS_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_LBYPASS;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrldpll_get_DPLLCTRLB_LBYPASS_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_LBYPASS) >> OSCCTRL_DPLLCTRLB_LBYPASS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLCTRLB_LBYPASS_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_LBYPASS;
+ tmp |= value << OSCCTRL_DPLLCTRLB_LBYPASS_Pos;
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLCTRLB_LBYPASS_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_LBYPASS;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLCTRLB_LBYPASS_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_LBYPASS;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_set_DPLLCTRLB_DCOEN_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_DCOEN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrldpll_get_DPLLCTRLB_DCOEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_DCOEN) >> OSCCTRL_DPLLCTRLB_DCOEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLCTRLB_DCOEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_DCOEN;
+ tmp |= value << OSCCTRL_DPLLCTRLB_DCOEN_Pos;
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLCTRLB_DCOEN_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_DCOEN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLCTRLB_DCOEN_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_DCOEN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_set_DPLLCTRLB_FILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_FILTER(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_get_DPLLCTRLB_FILTER_bf(const void *const hw,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_FILTER(mask)) >> OSCCTRL_DPLLCTRLB_FILTER_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLCTRLB_FILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_FILTER_Msk;
+ tmp |= OSCCTRL_DPLLCTRLB_FILTER(data);
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLCTRLB_FILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_FILTER(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLCTRLB_FILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_FILTER(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_read_DPLLCTRLB_FILTER_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_FILTER_Msk) >> OSCCTRL_DPLLCTRLB_FILTER_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_set_DPLLCTRLB_REFCLK_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_REFCLK(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_get_DPLLCTRLB_REFCLK_bf(const void *const hw,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_REFCLK(mask)) >> OSCCTRL_DPLLCTRLB_REFCLK_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLCTRLB_REFCLK_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_REFCLK_Msk;
+ tmp |= OSCCTRL_DPLLCTRLB_REFCLK(data);
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLCTRLB_REFCLK_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_REFCLK(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLCTRLB_REFCLK_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_REFCLK(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_read_DPLLCTRLB_REFCLK_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_REFCLK_Msk) >> OSCCTRL_DPLLCTRLB_REFCLK_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_set_DPLLCTRLB_LTIME_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_LTIME(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_get_DPLLCTRLB_LTIME_bf(const void *const hw,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_LTIME(mask)) >> OSCCTRL_DPLLCTRLB_LTIME_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLCTRLB_LTIME_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_LTIME_Msk;
+ tmp |= OSCCTRL_DPLLCTRLB_LTIME(data);
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLCTRLB_LTIME_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_LTIME(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLCTRLB_LTIME_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_LTIME(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_read_DPLLCTRLB_LTIME_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_LTIME_Msk) >> OSCCTRL_DPLLCTRLB_LTIME_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_set_DPLLCTRLB_DCOFILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_DCOFILTER(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_get_DPLLCTRLB_DCOFILTER_bf(const void *const hw,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_DCOFILTER(mask)) >> OSCCTRL_DPLLCTRLB_DCOFILTER_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLCTRLB_DCOFILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_DCOFILTER_Msk;
+ tmp |= OSCCTRL_DPLLCTRLB_DCOFILTER(data);
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLCTRLB_DCOFILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_DCOFILTER(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLCTRLB_DCOFILTER_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_DCOFILTER(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_read_DPLLCTRLB_DCOFILTER_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_DCOFILTER_Msk) >> OSCCTRL_DPLLCTRLB_DCOFILTER_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_set_DPLLCTRLB_DIV_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_DIV(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_get_DPLLCTRLB_DIV_bf(const void *const hw,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_DIV(mask)) >> OSCCTRL_DPLLCTRLB_DIV_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLCTRLB_DIV_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_DIV_Msk;
+ tmp |= OSCCTRL_DPLLCTRLB_DIV(data);
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLCTRLB_DIV_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_DIV(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLCTRLB_DIV_bf(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_DIV(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_read_DPLLCTRLB_DIV_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_DIV_Msk) >> OSCCTRL_DPLLCTRLB_DIV_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_set_DPLLCTRLB_reg(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg |= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_get_DPLLCTRLB_reg(const void *const hw,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_oscctrldpll_write_DPLLCTRLB_reg(const void *const hw, hri_oscctrl_dpllctrlb_reg_t data)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg = data;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_clear_DPLLCTRLB_reg(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg &= ~mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrldpll_toggle_DPLLCTRLB_reg(const void *const hw, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((OscctrlDpll *)hw)->DPLLCTRLB.reg ^= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrldpll_read_DPLLCTRLB_reg(const void *const hw)
+{
+ return ((OscctrlDpll *)hw)->DPLLCTRLB.reg;
+}
+
+static inline bool hri_oscctrl_get_DPLLSYNCBUSY_ENABLE_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg & OSCCTRL_DPLLSYNCBUSY_ENABLE)
+ >> OSCCTRL_DPLLSYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_oscctrl_get_DPLLSYNCBUSY_DPLLRATIO_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg & OSCCTRL_DPLLSYNCBUSY_DPLLRATIO)
+ >> OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Pos;
+}
+
+static inline hri_oscctrl_dpllsyncbusy_reg_t
+hri_oscctrl_get_DPLLSYNCBUSY_reg(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllsyncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_oscctrl_dpllsyncbusy_reg_t hri_oscctrl_read_DPLLSYNCBUSY_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg;
+}
+
+static inline bool hri_oscctrl_get_DPLLSTATUS_LOCK_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_LOCK)
+ >> OSCCTRL_DPLLSTATUS_LOCK_Pos;
+}
+
+static inline bool hri_oscctrl_get_DPLLSTATUS_CLKRDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_CLKRDY)
+ >> OSCCTRL_DPLLSTATUS_CLKRDY_Pos;
+}
+
+static inline hri_oscctrl_dpllstatus_reg_t hri_oscctrl_get_DPLLSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllstatus_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_oscctrl_dpllstatus_reg_t hri_oscctrl_read_DPLLSTATUS_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg;
+}
+
+static inline void hri_oscctrl_set_DPLLCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg |= OSCCTRL_DPLLCTRLA_ENABLE;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DPLLCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLA_ENABLE) >> OSCCTRL_DPLLCTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLA_ENABLE;
+ tmp |= value << OSCCTRL_DPLLCTRLA_ENABLE_Pos;
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg = tmp;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg &= ~OSCCTRL_DPLLCTRLA_ENABLE;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLCTRLA_ENABLE_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg ^= OSCCTRL_DPLLCTRLA_ENABLE;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DPLLCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg |= OSCCTRL_DPLLCTRLA_RUNSTDBY;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DPLLCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLA_RUNSTDBY) >> OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLA_RUNSTDBY;
+ tmp |= value << OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos;
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg = tmp;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg &= ~OSCCTRL_DPLLCTRLA_RUNSTDBY;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLCTRLA_RUNSTDBY_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg ^= OSCCTRL_DPLLCTRLA_RUNSTDBY;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DPLLCTRLA_ONDEMAND_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg |= OSCCTRL_DPLLCTRLA_ONDEMAND;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DPLLCTRLA_ONDEMAND_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLA_ONDEMAND) >> OSCCTRL_DPLLCTRLA_ONDEMAND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLCTRLA_ONDEMAND_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLA_ONDEMAND;
+ tmp |= value << OSCCTRL_DPLLCTRLA_ONDEMAND_Pos;
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg = tmp;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLCTRLA_ONDEMAND_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg &= ~OSCCTRL_DPLLCTRLA_ONDEMAND;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLCTRLA_ONDEMAND_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg ^= OSCCTRL_DPLLCTRLA_ONDEMAND;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DPLLCTRLA_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrla_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg |= mask;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrla_reg_t hri_oscctrl_get_DPLLCTRLA_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrla_reg_t mask)
+{
+ uint8_t tmp;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLCTRLA_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrla_reg_t data)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg = data;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLCTRLA_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrla_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg &= ~mask;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLCTRLA_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrla_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg ^= mask;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrla_reg_t hri_oscctrl_read_DPLLCTRLA_reg(const void *const hw, uint8_t submodule_index)
+{
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_ENABLE);
+ return ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg;
+}
+
+static inline void hri_oscctrl_set_DPLLRATIO_LDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg |= OSCCTRL_DPLLRATIO_LDR(mask);
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllratio_reg_t
+hri_oscctrl_get_DPLLRATIO_LDR_bf(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllratio_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg;
+ tmp = (tmp & OSCCTRL_DPLLRATIO_LDR(mask)) >> OSCCTRL_DPLLRATIO_LDR_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLRATIO_LDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllratio_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg;
+ tmp &= ~OSCCTRL_DPLLRATIO_LDR_Msk;
+ tmp |= OSCCTRL_DPLLRATIO_LDR(data);
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg = tmp;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLRATIO_LDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg &= ~OSCCTRL_DPLLRATIO_LDR(mask);
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLRATIO_LDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg ^= OSCCTRL_DPLLRATIO_LDR(mask);
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllratio_reg_t hri_oscctrl_read_DPLLRATIO_LDR_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg;
+ tmp = (tmp & OSCCTRL_DPLLRATIO_LDR_Msk) >> OSCCTRL_DPLLRATIO_LDR_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_DPLLRATIO_LDRFRAC_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg |= OSCCTRL_DPLLRATIO_LDRFRAC(mask);
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllratio_reg_t
+hri_oscctrl_get_DPLLRATIO_LDRFRAC_bf(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllratio_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg;
+ tmp = (tmp & OSCCTRL_DPLLRATIO_LDRFRAC(mask)) >> OSCCTRL_DPLLRATIO_LDRFRAC_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLRATIO_LDRFRAC_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllratio_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg;
+ tmp &= ~OSCCTRL_DPLLRATIO_LDRFRAC_Msk;
+ tmp |= OSCCTRL_DPLLRATIO_LDRFRAC(data);
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg = tmp;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLRATIO_LDRFRAC_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg &= ~OSCCTRL_DPLLRATIO_LDRFRAC(mask);
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLRATIO_LDRFRAC_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg ^= OSCCTRL_DPLLRATIO_LDRFRAC(mask);
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllratio_reg_t hri_oscctrl_read_DPLLRATIO_LDRFRAC_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg;
+ tmp = (tmp & OSCCTRL_DPLLRATIO_LDRFRAC_Msk) >> OSCCTRL_DPLLRATIO_LDRFRAC_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_DPLLRATIO_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg |= mask;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllratio_reg_t hri_oscctrl_get_DPLLRATIO_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllratio_reg_t mask)
+{
+ uint32_t tmp;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLRATIO_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllratio_reg_t data)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg = data;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLRATIO_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg &= ~mask;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLRATIO_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllratio_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg ^= mask;
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllratio_reg_t hri_oscctrl_read_DPLLRATIO_reg(const void *const hw, uint8_t submodule_index)
+{
+ hri_oscctrl_wait_for_sync(hw, submodule_index, OSCCTRL_DPLLSYNCBUSY_MASK);
+ return ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg;
+}
+
+static inline void hri_oscctrl_set_DPLLCTRLB_WUF_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_WUF;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DPLLCTRLB_WUF_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_WUF) >> OSCCTRL_DPLLCTRLB_WUF_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLCTRLB_WUF_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_WUF;
+ tmp |= value << OSCCTRL_DPLLCTRLB_WUF_Pos;
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLCTRLB_WUF_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_WUF;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLCTRLB_WUF_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_WUF;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DPLLCTRLB_LBYPASS_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_LBYPASS;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DPLLCTRLB_LBYPASS_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_LBYPASS) >> OSCCTRL_DPLLCTRLB_LBYPASS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLCTRLB_LBYPASS_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_LBYPASS;
+ tmp |= value << OSCCTRL_DPLLCTRLB_LBYPASS_Pos;
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLCTRLB_LBYPASS_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_LBYPASS;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLCTRLB_LBYPASS_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_LBYPASS;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DPLLCTRLB_DCOEN_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_DCOEN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DPLLCTRLB_DCOEN_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_DCOEN) >> OSCCTRL_DPLLCTRLB_DCOEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLCTRLB_DCOEN_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_DCOEN;
+ tmp |= value << OSCCTRL_DPLLCTRLB_DCOEN_Pos;
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLCTRLB_DCOEN_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_DCOEN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLCTRLB_DCOEN_bit(const void *const hw, uint8_t submodule_index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_DCOEN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DPLLCTRLB_FILTER_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_FILTER(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t
+hri_oscctrl_get_DPLLCTRLB_FILTER_bf(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_FILTER(mask)) >> OSCCTRL_DPLLCTRLB_FILTER_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLCTRLB_FILTER_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_FILTER_Msk;
+ tmp |= OSCCTRL_DPLLCTRLB_FILTER(data);
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLCTRLB_FILTER_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_FILTER(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLCTRLB_FILTER_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_FILTER(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrl_read_DPLLCTRLB_FILTER_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_FILTER_Msk) >> OSCCTRL_DPLLCTRLB_FILTER_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_DPLLCTRLB_REFCLK_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_REFCLK(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t
+hri_oscctrl_get_DPLLCTRLB_REFCLK_bf(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_REFCLK(mask)) >> OSCCTRL_DPLLCTRLB_REFCLK_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLCTRLB_REFCLK_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_REFCLK_Msk;
+ tmp |= OSCCTRL_DPLLCTRLB_REFCLK(data);
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLCTRLB_REFCLK_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_REFCLK(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLCTRLB_REFCLK_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_REFCLK(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrl_read_DPLLCTRLB_REFCLK_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_REFCLK_Msk) >> OSCCTRL_DPLLCTRLB_REFCLK_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_DPLLCTRLB_LTIME_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_LTIME(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t
+hri_oscctrl_get_DPLLCTRLB_LTIME_bf(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_LTIME(mask)) >> OSCCTRL_DPLLCTRLB_LTIME_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLCTRLB_LTIME_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_LTIME_Msk;
+ tmp |= OSCCTRL_DPLLCTRLB_LTIME(data);
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLCTRLB_LTIME_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_LTIME(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLCTRLB_LTIME_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_LTIME(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrl_read_DPLLCTRLB_LTIME_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_LTIME_Msk) >> OSCCTRL_DPLLCTRLB_LTIME_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_DPLLCTRLB_DCOFILTER_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_DCOFILTER(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t
+hri_oscctrl_get_DPLLCTRLB_DCOFILTER_bf(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_DCOFILTER(mask)) >> OSCCTRL_DPLLCTRLB_DCOFILTER_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLCTRLB_DCOFILTER_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_DCOFILTER_Msk;
+ tmp |= OSCCTRL_DPLLCTRLB_DCOFILTER(data);
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLCTRLB_DCOFILTER_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_DCOFILTER(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLCTRLB_DCOFILTER_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_DCOFILTER(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrl_read_DPLLCTRLB_DCOFILTER_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_DCOFILTER_Msk) >> OSCCTRL_DPLLCTRLB_DCOFILTER_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_DPLLCTRLB_DIV_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= OSCCTRL_DPLLCTRLB_DIV(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t
+hri_oscctrl_get_DPLLCTRLB_DIV_bf(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_DIV(mask)) >> OSCCTRL_DPLLCTRLB_DIV_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLCTRLB_DIV_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DPLLCTRLB_DIV_Msk;
+ tmp |= OSCCTRL_DPLLCTRLB_DIV(data);
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLCTRLB_DIV_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~OSCCTRL_DPLLCTRLB_DIV(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLCTRLB_DIV_bf(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= OSCCTRL_DPLLCTRLB_DIV(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrl_read_DPLLCTRLB_DIV_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DPLLCTRLB_DIV_Msk) >> OSCCTRL_DPLLCTRLB_DIV_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_DPLLCTRLB_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg |= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrl_get_DPLLCTRLB_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DPLLCTRLB_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t data)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = data;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DPLLCTRLB_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg &= ~mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DPLLCTRLB_reg(const void *const hw, uint8_t submodule_index,
+ hri_oscctrl_dpllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg ^= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dpllctrlb_reg_t hri_oscctrl_read_DPLLCTRLB_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_XOSCRDY0_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCRDY0) >> OSCCTRL_INTFLAG_XOSCRDY0_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_XOSCRDY0_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCRDY0;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_XOSCRDY1_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCRDY1) >> OSCCTRL_INTFLAG_XOSCRDY1_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_XOSCRDY1_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCRDY1;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_XOSCFAIL0_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCFAIL0) >> OSCCTRL_INTFLAG_XOSCFAIL0_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_XOSCFAIL0_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCFAIL0;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_XOSCFAIL1_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCFAIL1) >> OSCCTRL_INTFLAG_XOSCFAIL1_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_XOSCFAIL1_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCFAIL1;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_DFLLRDY_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLRDY) >> OSCCTRL_INTFLAG_DFLLRDY_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_DFLLRDY_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLRDY;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_DFLLOOB_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLOOB) >> OSCCTRL_INTFLAG_DFLLOOB_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_DFLLOOB_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLOOB;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_DFLLLCKF_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLLCKF) >> OSCCTRL_INTFLAG_DFLLLCKF_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_DFLLLCKF_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLLCKF;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_DFLLLCKC_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLLCKC) >> OSCCTRL_INTFLAG_DFLLLCKC_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_DFLLLCKC_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLLCKC;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_DFLLRCS_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLRCS) >> OSCCTRL_INTFLAG_DFLLRCS_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_DFLLRCS_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLRCS;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_DPLL0LCKR_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LCKR) >> OSCCTRL_INTFLAG_DPLL0LCKR_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_DPLL0LCKR_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LCKR;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_DPLL0LCKF_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LCKF) >> OSCCTRL_INTFLAG_DPLL0LCKF_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_DPLL0LCKF_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LCKF;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_DPLL0LTO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LTO) >> OSCCTRL_INTFLAG_DPLL0LTO_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_DPLL0LTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LTO;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_DPLL0LDRTO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LDRTO) >> OSCCTRL_INTFLAG_DPLL0LDRTO_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_DPLL0LDRTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LDRTO;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_DPLL1LCKR_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LCKR) >> OSCCTRL_INTFLAG_DPLL1LCKR_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_DPLL1LCKR_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LCKR;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_DPLL1LCKF_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LCKF) >> OSCCTRL_INTFLAG_DPLL1LCKF_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_DPLL1LCKF_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LCKF;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_DPLL1LTO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LTO) >> OSCCTRL_INTFLAG_DPLL1LTO_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_DPLL1LTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LTO;
+}
+
+static inline bool hri_oscctrl_get_INTFLAG_DPLL1LDRTO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LDRTO) >> OSCCTRL_INTFLAG_DPLL1LDRTO_Pos;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_DPLL1LDRTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LDRTO;
+}
+
+static inline bool hri_oscctrl_get_interrupt_XOSCRDY0_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCRDY0) >> OSCCTRL_INTFLAG_XOSCRDY0_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_XOSCRDY0_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCRDY0;
+}
+
+static inline bool hri_oscctrl_get_interrupt_XOSCRDY1_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCRDY1) >> OSCCTRL_INTFLAG_XOSCRDY1_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_XOSCRDY1_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCRDY1;
+}
+
+static inline bool hri_oscctrl_get_interrupt_XOSCFAIL0_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCFAIL0) >> OSCCTRL_INTFLAG_XOSCFAIL0_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_XOSCFAIL0_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCFAIL0;
+}
+
+static inline bool hri_oscctrl_get_interrupt_XOSCFAIL1_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_XOSCFAIL1) >> OSCCTRL_INTFLAG_XOSCFAIL1_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_XOSCFAIL1_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_XOSCFAIL1;
+}
+
+static inline bool hri_oscctrl_get_interrupt_DFLLRDY_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLRDY) >> OSCCTRL_INTFLAG_DFLLRDY_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_DFLLRDY_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLRDY;
+}
+
+static inline bool hri_oscctrl_get_interrupt_DFLLOOB_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLOOB) >> OSCCTRL_INTFLAG_DFLLOOB_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_DFLLOOB_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLOOB;
+}
+
+static inline bool hri_oscctrl_get_interrupt_DFLLLCKF_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLLCKF) >> OSCCTRL_INTFLAG_DFLLLCKF_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_DFLLLCKF_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLLCKF;
+}
+
+static inline bool hri_oscctrl_get_interrupt_DFLLLCKC_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLLCKC) >> OSCCTRL_INTFLAG_DFLLLCKC_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_DFLLLCKC_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLLCKC;
+}
+
+static inline bool hri_oscctrl_get_interrupt_DFLLRCS_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DFLLRCS) >> OSCCTRL_INTFLAG_DFLLRCS_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_DFLLRCS_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DFLLRCS;
+}
+
+static inline bool hri_oscctrl_get_interrupt_DPLL0LCKR_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LCKR) >> OSCCTRL_INTFLAG_DPLL0LCKR_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_DPLL0LCKR_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LCKR;
+}
+
+static inline bool hri_oscctrl_get_interrupt_DPLL0LCKF_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LCKF) >> OSCCTRL_INTFLAG_DPLL0LCKF_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_DPLL0LCKF_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LCKF;
+}
+
+static inline bool hri_oscctrl_get_interrupt_DPLL0LTO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LTO) >> OSCCTRL_INTFLAG_DPLL0LTO_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_DPLL0LTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LTO;
+}
+
+static inline bool hri_oscctrl_get_interrupt_DPLL0LDRTO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL0LDRTO) >> OSCCTRL_INTFLAG_DPLL0LDRTO_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_DPLL0LDRTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL0LDRTO;
+}
+
+static inline bool hri_oscctrl_get_interrupt_DPLL1LCKR_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LCKR) >> OSCCTRL_INTFLAG_DPLL1LCKR_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_DPLL1LCKR_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LCKR;
+}
+
+static inline bool hri_oscctrl_get_interrupt_DPLL1LCKF_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LCKF) >> OSCCTRL_INTFLAG_DPLL1LCKF_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_DPLL1LCKF_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LCKF;
+}
+
+static inline bool hri_oscctrl_get_interrupt_DPLL1LTO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LTO) >> OSCCTRL_INTFLAG_DPLL1LTO_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_DPLL1LTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LTO;
+}
+
+static inline bool hri_oscctrl_get_interrupt_DPLL1LDRTO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTFLAG.reg & OSCCTRL_INTFLAG_DPLL1LDRTO) >> OSCCTRL_INTFLAG_DPLL1LDRTO_Pos;
+}
+
+static inline void hri_oscctrl_clear_interrupt_DPLL1LDRTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = OSCCTRL_INTFLAG_DPLL1LDRTO;
+}
+
+static inline hri_oscctrl_intflag_reg_t hri_oscctrl_get_INTFLAG_reg(const void *const hw,
+ hri_oscctrl_intflag_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_oscctrl_intflag_reg_t hri_oscctrl_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Oscctrl *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_oscctrl_clear_INTFLAG_reg(const void *const hw, hri_oscctrl_intflag_reg_t mask)
+{
+ ((Oscctrl *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_oscctrl_set_INTEN_XOSCRDY0_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCRDY0;
+}
+
+static inline bool hri_oscctrl_get_INTEN_XOSCRDY0_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_XOSCRDY0) >> OSCCTRL_INTENSET_XOSCRDY0_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_XOSCRDY0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCRDY0;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCRDY0;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_XOSCRDY0_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCRDY0;
+}
+
+static inline void hri_oscctrl_set_INTEN_XOSCRDY1_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCRDY1;
+}
+
+static inline bool hri_oscctrl_get_INTEN_XOSCRDY1_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_XOSCRDY1) >> OSCCTRL_INTENSET_XOSCRDY1_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_XOSCRDY1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCRDY1;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCRDY1;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_XOSCRDY1_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCRDY1;
+}
+
+static inline void hri_oscctrl_set_INTEN_XOSCFAIL0_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCFAIL0;
+}
+
+static inline bool hri_oscctrl_get_INTEN_XOSCFAIL0_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_XOSCFAIL0) >> OSCCTRL_INTENSET_XOSCFAIL0_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_XOSCFAIL0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCFAIL0;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCFAIL0;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_XOSCFAIL0_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCFAIL0;
+}
+
+static inline void hri_oscctrl_set_INTEN_XOSCFAIL1_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCFAIL1;
+}
+
+static inline bool hri_oscctrl_get_INTEN_XOSCFAIL1_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_XOSCFAIL1) >> OSCCTRL_INTENSET_XOSCFAIL1_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_XOSCFAIL1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCFAIL1;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_XOSCFAIL1;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_XOSCFAIL1_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_XOSCFAIL1;
+}
+
+static inline void hri_oscctrl_set_INTEN_DFLLRDY_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLRDY;
+}
+
+static inline bool hri_oscctrl_get_INTEN_DFLLRDY_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DFLLRDY) >> OSCCTRL_INTENSET_DFLLRDY_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_DFLLRDY_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLRDY;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLRDY;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_DFLLRDY_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLRDY;
+}
+
+static inline void hri_oscctrl_set_INTEN_DFLLOOB_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLOOB;
+}
+
+static inline bool hri_oscctrl_get_INTEN_DFLLOOB_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DFLLOOB) >> OSCCTRL_INTENSET_DFLLOOB_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_DFLLOOB_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLOOB;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLOOB;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_DFLLOOB_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLOOB;
+}
+
+static inline void hri_oscctrl_set_INTEN_DFLLLCKF_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLLCKF;
+}
+
+static inline bool hri_oscctrl_get_INTEN_DFLLLCKF_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DFLLLCKF) >> OSCCTRL_INTENSET_DFLLLCKF_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_DFLLLCKF_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLLCKF;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLLCKF;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_DFLLLCKF_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLLCKF;
+}
+
+static inline void hri_oscctrl_set_INTEN_DFLLLCKC_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLLCKC;
+}
+
+static inline bool hri_oscctrl_get_INTEN_DFLLLCKC_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DFLLLCKC) >> OSCCTRL_INTENSET_DFLLLCKC_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_DFLLLCKC_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLLCKC;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLLCKC;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_DFLLLCKC_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLLCKC;
+}
+
+static inline void hri_oscctrl_set_INTEN_DFLLRCS_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLRCS;
+}
+
+static inline bool hri_oscctrl_get_INTEN_DFLLRCS_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DFLLRCS) >> OSCCTRL_INTENSET_DFLLRCS_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_DFLLRCS_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLRCS;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DFLLRCS;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_DFLLRCS_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DFLLRCS;
+}
+
+static inline void hri_oscctrl_set_INTEN_DPLL0LCKR_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LCKR;
+}
+
+static inline bool hri_oscctrl_get_INTEN_DPLL0LCKR_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL0LCKR) >> OSCCTRL_INTENSET_DPLL0LCKR_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_DPLL0LCKR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LCKR;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LCKR;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_DPLL0LCKR_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LCKR;
+}
+
+static inline void hri_oscctrl_set_INTEN_DPLL0LCKF_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LCKF;
+}
+
+static inline bool hri_oscctrl_get_INTEN_DPLL0LCKF_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL0LCKF) >> OSCCTRL_INTENSET_DPLL0LCKF_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_DPLL0LCKF_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LCKF;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LCKF;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_DPLL0LCKF_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LCKF;
+}
+
+static inline void hri_oscctrl_set_INTEN_DPLL0LTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LTO;
+}
+
+static inline bool hri_oscctrl_get_INTEN_DPLL0LTO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL0LTO) >> OSCCTRL_INTENSET_DPLL0LTO_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_DPLL0LTO_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LTO;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LTO;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_DPLL0LTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LTO;
+}
+
+static inline void hri_oscctrl_set_INTEN_DPLL0LDRTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LDRTO;
+}
+
+static inline bool hri_oscctrl_get_INTEN_DPLL0LDRTO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL0LDRTO) >> OSCCTRL_INTENSET_DPLL0LDRTO_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_DPLL0LDRTO_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LDRTO;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL0LDRTO;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_DPLL0LDRTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL0LDRTO;
+}
+
+static inline void hri_oscctrl_set_INTEN_DPLL1LCKR_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LCKR;
+}
+
+static inline bool hri_oscctrl_get_INTEN_DPLL1LCKR_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL1LCKR) >> OSCCTRL_INTENSET_DPLL1LCKR_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_DPLL1LCKR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LCKR;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LCKR;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_DPLL1LCKR_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LCKR;
+}
+
+static inline void hri_oscctrl_set_INTEN_DPLL1LCKF_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LCKF;
+}
+
+static inline bool hri_oscctrl_get_INTEN_DPLL1LCKF_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL1LCKF) >> OSCCTRL_INTENSET_DPLL1LCKF_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_DPLL1LCKF_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LCKF;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LCKF;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_DPLL1LCKF_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LCKF;
+}
+
+static inline void hri_oscctrl_set_INTEN_DPLL1LTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LTO;
+}
+
+static inline bool hri_oscctrl_get_INTEN_DPLL1LTO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL1LTO) >> OSCCTRL_INTENSET_DPLL1LTO_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_DPLL1LTO_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LTO;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LTO;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_DPLL1LTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LTO;
+}
+
+static inline void hri_oscctrl_set_INTEN_DPLL1LDRTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LDRTO;
+}
+
+static inline bool hri_oscctrl_get_INTEN_DPLL1LDRTO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->INTENSET.reg & OSCCTRL_INTENSET_DPLL1LDRTO) >> OSCCTRL_INTENSET_DPLL1LDRTO_Pos;
+}
+
+static inline void hri_oscctrl_write_INTEN_DPLL1LDRTO_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LDRTO;
+ } else {
+ ((Oscctrl *)hw)->INTENSET.reg = OSCCTRL_INTENSET_DPLL1LDRTO;
+ }
+}
+
+static inline void hri_oscctrl_clear_INTEN_DPLL1LDRTO_bit(const void *const hw)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = OSCCTRL_INTENSET_DPLL1LDRTO;
+}
+
+static inline void hri_oscctrl_set_INTEN_reg(const void *const hw, hri_oscctrl_intenset_reg_t mask)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_oscctrl_intenset_reg_t hri_oscctrl_get_INTEN_reg(const void *const hw,
+ hri_oscctrl_intenset_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_oscctrl_intenset_reg_t hri_oscctrl_read_INTEN_reg(const void *const hw)
+{
+ return ((Oscctrl *)hw)->INTENSET.reg;
+}
+
+static inline void hri_oscctrl_write_INTEN_reg(const void *const hw, hri_oscctrl_intenset_reg_t data)
+{
+ ((Oscctrl *)hw)->INTENSET.reg = data;
+ ((Oscctrl *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_oscctrl_clear_INTEN_reg(const void *const hw, hri_oscctrl_intenset_reg_t mask)
+{
+ ((Oscctrl *)hw)->INTENCLR.reg = mask;
+}
+
+static inline bool hri_oscctrl_get_STATUS_XOSCRDY0_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_XOSCRDY0) >> OSCCTRL_STATUS_XOSCRDY0_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_XOSCRDY1_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_XOSCRDY1) >> OSCCTRL_STATUS_XOSCRDY1_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_XOSCFAIL0_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_XOSCFAIL0) >> OSCCTRL_STATUS_XOSCFAIL0_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_XOSCFAIL1_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_XOSCFAIL1) >> OSCCTRL_STATUS_XOSCFAIL1_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_XOSCCKSW0_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_XOSCCKSW0) >> OSCCTRL_STATUS_XOSCCKSW0_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_XOSCCKSW1_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_XOSCCKSW1) >> OSCCTRL_STATUS_XOSCCKSW1_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_DFLLRDY_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DFLLRDY) >> OSCCTRL_STATUS_DFLLRDY_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_DFLLOOB_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DFLLOOB) >> OSCCTRL_STATUS_DFLLOOB_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_DFLLLCKF_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DFLLLCKF) >> OSCCTRL_STATUS_DFLLLCKF_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_DFLLLCKC_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DFLLLCKC) >> OSCCTRL_STATUS_DFLLLCKC_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_DFLLRCS_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DFLLRCS) >> OSCCTRL_STATUS_DFLLRCS_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_DPLL0LCKR_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL0LCKR) >> OSCCTRL_STATUS_DPLL0LCKR_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_DPLL0LCKF_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL0LCKF) >> OSCCTRL_STATUS_DPLL0LCKF_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_DPLL0TO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL0TO) >> OSCCTRL_STATUS_DPLL0TO_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_DPLL0LDRTO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL0LDRTO) >> OSCCTRL_STATUS_DPLL0LDRTO_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_DPLL1LCKR_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL1LCKR) >> OSCCTRL_STATUS_DPLL1LCKR_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_DPLL1LCKF_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL1LCKF) >> OSCCTRL_STATUS_DPLL1LCKF_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_DPLL1TO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL1TO) >> OSCCTRL_STATUS_DPLL1TO_Pos;
+}
+
+static inline bool hri_oscctrl_get_STATUS_DPLL1LDRTO_bit(const void *const hw)
+{
+ return (((Oscctrl *)hw)->STATUS.reg & OSCCTRL_STATUS_DPLL1LDRTO) >> OSCCTRL_STATUS_DPLL1LDRTO_Pos;
+}
+
+static inline hri_oscctrl_status_reg_t hri_oscctrl_get_STATUS_reg(const void *const hw, hri_oscctrl_status_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_oscctrl_status_reg_t hri_oscctrl_read_STATUS_reg(const void *const hw)
+{
+ return ((Oscctrl *)hw)->STATUS.reg;
+}
+
+static inline void hri_oscctrl_set_EVCTRL_CFDEO0_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->EVCTRL.reg |= OSCCTRL_EVCTRL_CFDEO0;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_EVCTRL_CFDEO0_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->EVCTRL.reg;
+ tmp = (tmp & OSCCTRL_EVCTRL_CFDEO0) >> OSCCTRL_EVCTRL_CFDEO0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_EVCTRL_CFDEO0_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->EVCTRL.reg;
+ tmp &= ~OSCCTRL_EVCTRL_CFDEO0;
+ tmp |= value << OSCCTRL_EVCTRL_CFDEO0_Pos;
+ ((Oscctrl *)hw)->EVCTRL.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_EVCTRL_CFDEO0_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->EVCTRL.reg &= ~OSCCTRL_EVCTRL_CFDEO0;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_EVCTRL_CFDEO0_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->EVCTRL.reg ^= OSCCTRL_EVCTRL_CFDEO0;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_EVCTRL_CFDEO1_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->EVCTRL.reg |= OSCCTRL_EVCTRL_CFDEO1;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_EVCTRL_CFDEO1_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->EVCTRL.reg;
+ tmp = (tmp & OSCCTRL_EVCTRL_CFDEO1) >> OSCCTRL_EVCTRL_CFDEO1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_EVCTRL_CFDEO1_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->EVCTRL.reg;
+ tmp &= ~OSCCTRL_EVCTRL_CFDEO1;
+ tmp |= value << OSCCTRL_EVCTRL_CFDEO1_Pos;
+ ((Oscctrl *)hw)->EVCTRL.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_EVCTRL_CFDEO1_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->EVCTRL.reg &= ~OSCCTRL_EVCTRL_CFDEO1;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_EVCTRL_CFDEO1_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->EVCTRL.reg ^= OSCCTRL_EVCTRL_CFDEO1;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_EVCTRL_reg(const void *const hw, hri_oscctrl_evctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->EVCTRL.reg |= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_evctrl_reg_t hri_oscctrl_get_EVCTRL_reg(const void *const hw, hri_oscctrl_evctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_EVCTRL_reg(const void *const hw, hri_oscctrl_evctrl_reg_t data)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->EVCTRL.reg = data;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_EVCTRL_reg(const void *const hw, hri_oscctrl_evctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->EVCTRL.reg &= ~mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_EVCTRL_reg(const void *const hw, hri_oscctrl_evctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->EVCTRL.reg ^= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_evctrl_reg_t hri_oscctrl_read_EVCTRL_reg(const void *const hw)
+{
+ return ((Oscctrl *)hw)->EVCTRL.reg;
+}
+
+static inline void hri_oscctrl_set_XOSCCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_ENABLE;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_XOSCCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_ENABLE) >> OSCCTRL_XOSCCTRL_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_XOSCCTRL_ENABLE_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp &= ~OSCCTRL_XOSCCTRL_ENABLE;
+ tmp |= value << OSCCTRL_XOSCCTRL_ENABLE_Pos;
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_XOSCCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_ENABLE;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_XOSCCTRL_ENABLE_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_ENABLE;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_XOSCCTRL_XTALEN_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_XTALEN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_XOSCCTRL_XTALEN_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_XTALEN) >> OSCCTRL_XOSCCTRL_XTALEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_XOSCCTRL_XTALEN_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp &= ~OSCCTRL_XOSCCTRL_XTALEN;
+ tmp |= value << OSCCTRL_XOSCCTRL_XTALEN_Pos;
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_XOSCCTRL_XTALEN_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_XTALEN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_XOSCCTRL_XTALEN_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_XTALEN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_XOSCCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_RUNSTDBY;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_XOSCCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_RUNSTDBY) >> OSCCTRL_XOSCCTRL_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_XOSCCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp &= ~OSCCTRL_XOSCCTRL_RUNSTDBY;
+ tmp |= value << OSCCTRL_XOSCCTRL_RUNSTDBY_Pos;
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_XOSCCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_RUNSTDBY;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_XOSCCTRL_RUNSTDBY_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_RUNSTDBY;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_XOSCCTRL_ONDEMAND_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_ONDEMAND;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_XOSCCTRL_ONDEMAND_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_ONDEMAND) >> OSCCTRL_XOSCCTRL_ONDEMAND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_XOSCCTRL_ONDEMAND_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp &= ~OSCCTRL_XOSCCTRL_ONDEMAND;
+ tmp |= value << OSCCTRL_XOSCCTRL_ONDEMAND_Pos;
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_XOSCCTRL_ONDEMAND_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_ONDEMAND;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_XOSCCTRL_ONDEMAND_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_ONDEMAND;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_XOSCCTRL_LOWBUFGAIN_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_LOWBUFGAIN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_XOSCCTRL_LOWBUFGAIN_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_LOWBUFGAIN) >> OSCCTRL_XOSCCTRL_LOWBUFGAIN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_XOSCCTRL_LOWBUFGAIN_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp &= ~OSCCTRL_XOSCCTRL_LOWBUFGAIN;
+ tmp |= value << OSCCTRL_XOSCCTRL_LOWBUFGAIN_Pos;
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_XOSCCTRL_LOWBUFGAIN_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_LOWBUFGAIN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_XOSCCTRL_LOWBUFGAIN_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_LOWBUFGAIN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_XOSCCTRL_ENALC_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_ENALC;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_XOSCCTRL_ENALC_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_ENALC) >> OSCCTRL_XOSCCTRL_ENALC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_XOSCCTRL_ENALC_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp &= ~OSCCTRL_XOSCCTRL_ENALC;
+ tmp |= value << OSCCTRL_XOSCCTRL_ENALC_Pos;
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_XOSCCTRL_ENALC_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_ENALC;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_XOSCCTRL_ENALC_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_ENALC;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_XOSCCTRL_CFDEN_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_CFDEN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_XOSCCTRL_CFDEN_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_CFDEN) >> OSCCTRL_XOSCCTRL_CFDEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_XOSCCTRL_CFDEN_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp &= ~OSCCTRL_XOSCCTRL_CFDEN;
+ tmp |= value << OSCCTRL_XOSCCTRL_CFDEN_Pos;
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_XOSCCTRL_CFDEN_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_CFDEN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_XOSCCTRL_CFDEN_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_CFDEN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_XOSCCTRL_SWBEN_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_SWBEN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_XOSCCTRL_SWBEN_bit(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_SWBEN) >> OSCCTRL_XOSCCTRL_SWBEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_XOSCCTRL_SWBEN_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp &= ~OSCCTRL_XOSCCTRL_SWBEN;
+ tmp |= value << OSCCTRL_XOSCCTRL_SWBEN_Pos;
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_XOSCCTRL_SWBEN_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_SWBEN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_XOSCCTRL_SWBEN_bit(const void *const hw, uint8_t index)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_SWBEN;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_XOSCCTRL_IPTAT_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_IPTAT(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_get_XOSCCTRL_IPTAT_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_IPTAT(mask)) >> OSCCTRL_XOSCCTRL_IPTAT_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_XOSCCTRL_IPTAT_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp &= ~OSCCTRL_XOSCCTRL_IPTAT_Msk;
+ tmp |= OSCCTRL_XOSCCTRL_IPTAT(data);
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_XOSCCTRL_IPTAT_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_IPTAT(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_XOSCCTRL_IPTAT_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_IPTAT(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_read_XOSCCTRL_IPTAT_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_IPTAT_Msk) >> OSCCTRL_XOSCCTRL_IPTAT_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_XOSCCTRL_IMULT_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_IMULT(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_get_XOSCCTRL_IMULT_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_IMULT(mask)) >> OSCCTRL_XOSCCTRL_IMULT_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_XOSCCTRL_IMULT_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp &= ~OSCCTRL_XOSCCTRL_IMULT_Msk;
+ tmp |= OSCCTRL_XOSCCTRL_IMULT(data);
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_XOSCCTRL_IMULT_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_IMULT(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_XOSCCTRL_IMULT_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_IMULT(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_read_XOSCCTRL_IMULT_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_IMULT_Msk) >> OSCCTRL_XOSCCTRL_IMULT_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_XOSCCTRL_STARTUP_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_STARTUP(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_get_XOSCCTRL_STARTUP_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_STARTUP(mask)) >> OSCCTRL_XOSCCTRL_STARTUP_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_XOSCCTRL_STARTUP_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp &= ~OSCCTRL_XOSCCTRL_STARTUP_Msk;
+ tmp |= OSCCTRL_XOSCCTRL_STARTUP(data);
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_XOSCCTRL_STARTUP_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_STARTUP(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_XOSCCTRL_STARTUP_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_STARTUP(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_read_XOSCCTRL_STARTUP_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_STARTUP_Msk) >> OSCCTRL_XOSCCTRL_STARTUP_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_XOSCCTRL_CFDPRESC_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg |= OSCCTRL_XOSCCTRL_CFDPRESC(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_get_XOSCCTRL_CFDPRESC_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_CFDPRESC(mask)) >> OSCCTRL_XOSCCTRL_CFDPRESC_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_XOSCCTRL_CFDPRESC_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp &= ~OSCCTRL_XOSCCTRL_CFDPRESC_Msk;
+ tmp |= OSCCTRL_XOSCCTRL_CFDPRESC(data);
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_XOSCCTRL_CFDPRESC_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~OSCCTRL_XOSCCTRL_CFDPRESC(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_XOSCCTRL_CFDPRESC_bf(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= OSCCTRL_XOSCCTRL_CFDPRESC(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_read_XOSCCTRL_CFDPRESC_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp = (tmp & OSCCTRL_XOSCCTRL_CFDPRESC_Msk) >> OSCCTRL_XOSCCTRL_CFDPRESC_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_XOSCCTRL_reg(const void *const hw, uint8_t index, hri_oscctrl_xoscctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg |= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_get_XOSCCTRL_reg(const void *const hw, uint8_t index,
+ hri_oscctrl_xoscctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_XOSCCTRL_reg(const void *const hw, uint8_t index, hri_oscctrl_xoscctrl_reg_t data)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg = data;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_XOSCCTRL_reg(const void *const hw, uint8_t index, hri_oscctrl_xoscctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg &= ~mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_XOSCCTRL_reg(const void *const hw, uint8_t index, hri_oscctrl_xoscctrl_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->XOSCCTRL[index].reg ^= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_xoscctrl_reg_t hri_oscctrl_read_XOSCCTRL_reg(const void *const hw, uint8_t index)
+{
+ return ((Oscctrl *)hw)->XOSCCTRL[index].reg;
+}
+
+static inline void hri_oscctrl_set_DFLLCTRLA_ENABLE_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLA.reg |= OSCCTRL_DFLLCTRLA_ENABLE;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DFLLCTRLA_ENABLE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLCTRLA.reg;
+ tmp = (tmp & OSCCTRL_DFLLCTRLA_ENABLE) >> OSCCTRL_DFLLCTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLCTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLCTRLA.reg;
+ tmp &= ~OSCCTRL_DFLLCTRLA_ENABLE;
+ tmp |= value << OSCCTRL_DFLLCTRLA_ENABLE_Pos;
+ ((Oscctrl *)hw)->DFLLCTRLA.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLCTRLA_ENABLE_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLA.reg &= ~OSCCTRL_DFLLCTRLA_ENABLE;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLCTRLA_ENABLE_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLA.reg ^= OSCCTRL_DFLLCTRLA_ENABLE;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DFLLCTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLA.reg |= OSCCTRL_DFLLCTRLA_RUNSTDBY;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DFLLCTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLCTRLA.reg;
+ tmp = (tmp & OSCCTRL_DFLLCTRLA_RUNSTDBY) >> OSCCTRL_DFLLCTRLA_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLCTRLA_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLCTRLA.reg;
+ tmp &= ~OSCCTRL_DFLLCTRLA_RUNSTDBY;
+ tmp |= value << OSCCTRL_DFLLCTRLA_RUNSTDBY_Pos;
+ ((Oscctrl *)hw)->DFLLCTRLA.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLCTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLA.reg &= ~OSCCTRL_DFLLCTRLA_RUNSTDBY;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLCTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLA.reg ^= OSCCTRL_DFLLCTRLA_RUNSTDBY;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DFLLCTRLA_ONDEMAND_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLA.reg |= OSCCTRL_DFLLCTRLA_ONDEMAND;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DFLLCTRLA_ONDEMAND_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLCTRLA.reg;
+ tmp = (tmp & OSCCTRL_DFLLCTRLA_ONDEMAND) >> OSCCTRL_DFLLCTRLA_ONDEMAND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLCTRLA_ONDEMAND_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLCTRLA.reg;
+ tmp &= ~OSCCTRL_DFLLCTRLA_ONDEMAND;
+ tmp |= value << OSCCTRL_DFLLCTRLA_ONDEMAND_Pos;
+ ((Oscctrl *)hw)->DFLLCTRLA.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLCTRLA_ONDEMAND_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLA.reg &= ~OSCCTRL_DFLLCTRLA_ONDEMAND;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLCTRLA_ONDEMAND_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLA.reg ^= OSCCTRL_DFLLCTRLA_ONDEMAND;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DFLLCTRLA_reg(const void *const hw, hri_oscctrl_dfllctrla_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLA.reg |= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllctrla_reg_t hri_oscctrl_get_DFLLCTRLA_reg(const void *const hw,
+ hri_oscctrl_dfllctrla_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLCTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLCTRLA_reg(const void *const hw, hri_oscctrl_dfllctrla_reg_t data)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLA.reg = data;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLCTRLA_reg(const void *const hw, hri_oscctrl_dfllctrla_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLA.reg &= ~mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLCTRLA_reg(const void *const hw, hri_oscctrl_dfllctrla_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLA.reg ^= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllctrla_reg_t hri_oscctrl_read_DFLLCTRLA_reg(const void *const hw)
+{
+ return ((Oscctrl *)hw)->DFLLCTRLA.reg;
+}
+
+static inline void hri_oscctrl_set_DFLLCTRLB_MODE_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_MODE;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DFLLCTRLB_MODE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DFLLCTRLB_MODE) >> OSCCTRL_DFLLCTRLB_MODE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLCTRLB_MODE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DFLLCTRLB_MODE;
+ tmp |= value << OSCCTRL_DFLLCTRLB_MODE_Pos;
+ ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLCTRLB_MODE_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_MODE;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLCTRLB_MODE_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_MODE;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DFLLCTRLB_STABLE_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_STABLE;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DFLLCTRLB_STABLE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DFLLCTRLB_STABLE) >> OSCCTRL_DFLLCTRLB_STABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLCTRLB_STABLE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DFLLCTRLB_STABLE;
+ tmp |= value << OSCCTRL_DFLLCTRLB_STABLE_Pos;
+ ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLCTRLB_STABLE_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_STABLE;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLCTRLB_STABLE_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_STABLE;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DFLLCTRLB_LLAW_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_LLAW;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DFLLCTRLB_LLAW_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DFLLCTRLB_LLAW) >> OSCCTRL_DFLLCTRLB_LLAW_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLCTRLB_LLAW_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DFLLCTRLB_LLAW;
+ tmp |= value << OSCCTRL_DFLLCTRLB_LLAW_Pos;
+ ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLCTRLB_LLAW_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_LLAW;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLCTRLB_LLAW_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_LLAW;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DFLLCTRLB_USBCRM_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_USBCRM;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DFLLCTRLB_USBCRM_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DFLLCTRLB_USBCRM) >> OSCCTRL_DFLLCTRLB_USBCRM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLCTRLB_USBCRM_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DFLLCTRLB_USBCRM;
+ tmp |= value << OSCCTRL_DFLLCTRLB_USBCRM_Pos;
+ ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLCTRLB_USBCRM_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_USBCRM;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLCTRLB_USBCRM_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_USBCRM;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DFLLCTRLB_CCDIS_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_CCDIS;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DFLLCTRLB_CCDIS_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DFLLCTRLB_CCDIS) >> OSCCTRL_DFLLCTRLB_CCDIS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLCTRLB_CCDIS_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DFLLCTRLB_CCDIS;
+ tmp |= value << OSCCTRL_DFLLCTRLB_CCDIS_Pos;
+ ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLCTRLB_CCDIS_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_CCDIS;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLCTRLB_CCDIS_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_CCDIS;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DFLLCTRLB_QLDIS_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_QLDIS;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DFLLCTRLB_QLDIS_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DFLLCTRLB_QLDIS) >> OSCCTRL_DFLLCTRLB_QLDIS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLCTRLB_QLDIS_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DFLLCTRLB_QLDIS;
+ tmp |= value << OSCCTRL_DFLLCTRLB_QLDIS_Pos;
+ ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLCTRLB_QLDIS_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_QLDIS;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLCTRLB_QLDIS_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_QLDIS;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DFLLCTRLB_BPLCKC_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_BPLCKC;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DFLLCTRLB_BPLCKC_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DFLLCTRLB_BPLCKC) >> OSCCTRL_DFLLCTRLB_BPLCKC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLCTRLB_BPLCKC_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DFLLCTRLB_BPLCKC;
+ tmp |= value << OSCCTRL_DFLLCTRLB_BPLCKC_Pos;
+ ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLCTRLB_BPLCKC_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_BPLCKC;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLCTRLB_BPLCKC_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_BPLCKC;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DFLLCTRLB_WAITLOCK_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg |= OSCCTRL_DFLLCTRLB_WAITLOCK;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DFLLCTRLB_WAITLOCK_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp = (tmp & OSCCTRL_DFLLCTRLB_WAITLOCK) >> OSCCTRL_DFLLCTRLB_WAITLOCK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLCTRLB_WAITLOCK_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp &= ~OSCCTRL_DFLLCTRLB_WAITLOCK;
+ tmp |= value << OSCCTRL_DFLLCTRLB_WAITLOCK_Pos;
+ ((Oscctrl *)hw)->DFLLCTRLB.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLCTRLB_WAITLOCK_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~OSCCTRL_DFLLCTRLB_WAITLOCK;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLCTRLB_WAITLOCK_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg ^= OSCCTRL_DFLLCTRLB_WAITLOCK;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DFLLCTRLB_reg(const void *const hw, hri_oscctrl_dfllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg |= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllctrlb_reg_t hri_oscctrl_get_DFLLCTRLB_reg(const void *const hw,
+ hri_oscctrl_dfllctrlb_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLCTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLCTRLB_reg(const void *const hw, hri_oscctrl_dfllctrlb_reg_t data)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg = data;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLCTRLB_reg(const void *const hw, hri_oscctrl_dfllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg &= ~mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLCTRLB_reg(const void *const hw, hri_oscctrl_dfllctrlb_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLCTRLB.reg ^= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllctrlb_reg_t hri_oscctrl_read_DFLLCTRLB_reg(const void *const hw)
+{
+ return ((Oscctrl *)hw)->DFLLCTRLB.reg;
+}
+
+static inline void hri_oscctrl_set_DFLLVAL_FINE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLVAL.reg |= OSCCTRL_DFLLVAL_FINE(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_get_DFLLVAL_FINE_bf(const void *const hw,
+ hri_oscctrl_dfllval_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLVAL.reg;
+ tmp = (tmp & OSCCTRL_DFLLVAL_FINE(mask)) >> OSCCTRL_DFLLVAL_FINE_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLVAL_FINE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLVAL.reg;
+ tmp &= ~OSCCTRL_DFLLVAL_FINE_Msk;
+ tmp |= OSCCTRL_DFLLVAL_FINE(data);
+ ((Oscctrl *)hw)->DFLLVAL.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLVAL_FINE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLVAL.reg &= ~OSCCTRL_DFLLVAL_FINE(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLVAL_FINE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLVAL.reg ^= OSCCTRL_DFLLVAL_FINE(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_read_DFLLVAL_FINE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLVAL.reg;
+ tmp = (tmp & OSCCTRL_DFLLVAL_FINE_Msk) >> OSCCTRL_DFLLVAL_FINE_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_DFLLVAL_COARSE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLVAL.reg |= OSCCTRL_DFLLVAL_COARSE(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_get_DFLLVAL_COARSE_bf(const void *const hw,
+ hri_oscctrl_dfllval_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLVAL.reg;
+ tmp = (tmp & OSCCTRL_DFLLVAL_COARSE(mask)) >> OSCCTRL_DFLLVAL_COARSE_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLVAL_COARSE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLVAL.reg;
+ tmp &= ~OSCCTRL_DFLLVAL_COARSE_Msk;
+ tmp |= OSCCTRL_DFLLVAL_COARSE(data);
+ ((Oscctrl *)hw)->DFLLVAL.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLVAL_COARSE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLVAL.reg &= ~OSCCTRL_DFLLVAL_COARSE(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLVAL_COARSE_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLVAL.reg ^= OSCCTRL_DFLLVAL_COARSE(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_read_DFLLVAL_COARSE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLVAL.reg;
+ tmp = (tmp & OSCCTRL_DFLLVAL_COARSE_Msk) >> OSCCTRL_DFLLVAL_COARSE_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_DFLLVAL_DIFF_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLVAL.reg |= OSCCTRL_DFLLVAL_DIFF(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_get_DFLLVAL_DIFF_bf(const void *const hw,
+ hri_oscctrl_dfllval_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLVAL.reg;
+ tmp = (tmp & OSCCTRL_DFLLVAL_DIFF(mask)) >> OSCCTRL_DFLLVAL_DIFF_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLVAL_DIFF_bf(const void *const hw, hri_oscctrl_dfllval_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLVAL.reg;
+ tmp &= ~OSCCTRL_DFLLVAL_DIFF_Msk;
+ tmp |= OSCCTRL_DFLLVAL_DIFF(data);
+ ((Oscctrl *)hw)->DFLLVAL.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLVAL_DIFF_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLVAL.reg &= ~OSCCTRL_DFLLVAL_DIFF(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLVAL_DIFF_bf(const void *const hw, hri_oscctrl_dfllval_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLVAL.reg ^= OSCCTRL_DFLLVAL_DIFF(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_read_DFLLVAL_DIFF_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLVAL.reg;
+ tmp = (tmp & OSCCTRL_DFLLVAL_DIFF_Msk) >> OSCCTRL_DFLLVAL_DIFF_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_DFLLVAL_reg(const void *const hw, hri_oscctrl_dfllval_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLVAL.reg |= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_get_DFLLVAL_reg(const void *const hw,
+ hri_oscctrl_dfllval_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLVAL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLVAL_reg(const void *const hw, hri_oscctrl_dfllval_reg_t data)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLVAL.reg = data;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLVAL_reg(const void *const hw, hri_oscctrl_dfllval_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLVAL.reg &= ~mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLVAL_reg(const void *const hw, hri_oscctrl_dfllval_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLVAL.reg ^= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllval_reg_t hri_oscctrl_read_DFLLVAL_reg(const void *const hw)
+{
+ return ((Oscctrl *)hw)->DFLLVAL.reg;
+}
+
+static inline void hri_oscctrl_set_DFLLMUL_MUL_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLMUL.reg |= OSCCTRL_DFLLMUL_MUL(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_get_DFLLMUL_MUL_bf(const void *const hw,
+ hri_oscctrl_dfllmul_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLMUL.reg;
+ tmp = (tmp & OSCCTRL_DFLLMUL_MUL(mask)) >> OSCCTRL_DFLLMUL_MUL_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLMUL_MUL_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLMUL.reg;
+ tmp &= ~OSCCTRL_DFLLMUL_MUL_Msk;
+ tmp |= OSCCTRL_DFLLMUL_MUL(data);
+ ((Oscctrl *)hw)->DFLLMUL.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLMUL_MUL_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLMUL.reg &= ~OSCCTRL_DFLLMUL_MUL(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLMUL_MUL_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLMUL.reg ^= OSCCTRL_DFLLMUL_MUL(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_read_DFLLMUL_MUL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLMUL.reg;
+ tmp = (tmp & OSCCTRL_DFLLMUL_MUL_Msk) >> OSCCTRL_DFLLMUL_MUL_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_DFLLMUL_FSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLMUL.reg |= OSCCTRL_DFLLMUL_FSTEP(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_get_DFLLMUL_FSTEP_bf(const void *const hw,
+ hri_oscctrl_dfllmul_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLMUL.reg;
+ tmp = (tmp & OSCCTRL_DFLLMUL_FSTEP(mask)) >> OSCCTRL_DFLLMUL_FSTEP_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLMUL_FSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLMUL.reg;
+ tmp &= ~OSCCTRL_DFLLMUL_FSTEP_Msk;
+ tmp |= OSCCTRL_DFLLMUL_FSTEP(data);
+ ((Oscctrl *)hw)->DFLLMUL.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLMUL_FSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLMUL.reg &= ~OSCCTRL_DFLLMUL_FSTEP(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLMUL_FSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLMUL.reg ^= OSCCTRL_DFLLMUL_FSTEP(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_read_DFLLMUL_FSTEP_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLMUL.reg;
+ tmp = (tmp & OSCCTRL_DFLLMUL_FSTEP_Msk) >> OSCCTRL_DFLLMUL_FSTEP_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_DFLLMUL_CSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLMUL.reg |= OSCCTRL_DFLLMUL_CSTEP(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_get_DFLLMUL_CSTEP_bf(const void *const hw,
+ hri_oscctrl_dfllmul_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLMUL.reg;
+ tmp = (tmp & OSCCTRL_DFLLMUL_CSTEP(mask)) >> OSCCTRL_DFLLMUL_CSTEP_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLMUL_CSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t data)
+{
+ uint32_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLMUL.reg;
+ tmp &= ~OSCCTRL_DFLLMUL_CSTEP_Msk;
+ tmp |= OSCCTRL_DFLLMUL_CSTEP(data);
+ ((Oscctrl *)hw)->DFLLMUL.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLMUL_CSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLMUL.reg &= ~OSCCTRL_DFLLMUL_CSTEP(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLMUL_CSTEP_bf(const void *const hw, hri_oscctrl_dfllmul_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLMUL.reg ^= OSCCTRL_DFLLMUL_CSTEP(mask);
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_read_DFLLMUL_CSTEP_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLMUL.reg;
+ tmp = (tmp & OSCCTRL_DFLLMUL_CSTEP_Msk) >> OSCCTRL_DFLLMUL_CSTEP_Pos;
+ return tmp;
+}
+
+static inline void hri_oscctrl_set_DFLLMUL_reg(const void *const hw, hri_oscctrl_dfllmul_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLMUL.reg |= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_get_DFLLMUL_reg(const void *const hw,
+ hri_oscctrl_dfllmul_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLMUL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLMUL_reg(const void *const hw, hri_oscctrl_dfllmul_reg_t data)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLMUL.reg = data;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLMUL_reg(const void *const hw, hri_oscctrl_dfllmul_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLMUL.reg &= ~mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLMUL_reg(const void *const hw, hri_oscctrl_dfllmul_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLMUL.reg ^= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllmul_reg_t hri_oscctrl_read_DFLLMUL_reg(const void *const hw)
+{
+ return ((Oscctrl *)hw)->DFLLMUL.reg;
+}
+
+static inline void hri_oscctrl_set_DFLLSYNC_ENABLE_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg |= OSCCTRL_DFLLSYNC_ENABLE;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DFLLSYNC_ENABLE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLSYNC.reg;
+ tmp = (tmp & OSCCTRL_DFLLSYNC_ENABLE) >> OSCCTRL_DFLLSYNC_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLSYNC_ENABLE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLSYNC.reg;
+ tmp &= ~OSCCTRL_DFLLSYNC_ENABLE;
+ tmp |= value << OSCCTRL_DFLLSYNC_ENABLE_Pos;
+ ((Oscctrl *)hw)->DFLLSYNC.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLSYNC_ENABLE_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg &= ~OSCCTRL_DFLLSYNC_ENABLE;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLSYNC_ENABLE_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg ^= OSCCTRL_DFLLSYNC_ENABLE;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DFLLSYNC_DFLLCTRLB_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg |= OSCCTRL_DFLLSYNC_DFLLCTRLB;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DFLLSYNC_DFLLCTRLB_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLSYNC.reg;
+ tmp = (tmp & OSCCTRL_DFLLSYNC_DFLLCTRLB) >> OSCCTRL_DFLLSYNC_DFLLCTRLB_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLSYNC_DFLLCTRLB_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLSYNC.reg;
+ tmp &= ~OSCCTRL_DFLLSYNC_DFLLCTRLB;
+ tmp |= value << OSCCTRL_DFLLSYNC_DFLLCTRLB_Pos;
+ ((Oscctrl *)hw)->DFLLSYNC.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLSYNC_DFLLCTRLB_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg &= ~OSCCTRL_DFLLSYNC_DFLLCTRLB;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLSYNC_DFLLCTRLB_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg ^= OSCCTRL_DFLLSYNC_DFLLCTRLB;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DFLLSYNC_DFLLVAL_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg |= OSCCTRL_DFLLSYNC_DFLLVAL;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DFLLSYNC_DFLLVAL_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLSYNC.reg;
+ tmp = (tmp & OSCCTRL_DFLLSYNC_DFLLVAL) >> OSCCTRL_DFLLSYNC_DFLLVAL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLSYNC_DFLLVAL_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLSYNC.reg;
+ tmp &= ~OSCCTRL_DFLLSYNC_DFLLVAL;
+ tmp |= value << OSCCTRL_DFLLSYNC_DFLLVAL_Pos;
+ ((Oscctrl *)hw)->DFLLSYNC.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLSYNC_DFLLVAL_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg &= ~OSCCTRL_DFLLSYNC_DFLLVAL;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLSYNC_DFLLVAL_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg ^= OSCCTRL_DFLLSYNC_DFLLVAL;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DFLLSYNC_DFLLMUL_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg |= OSCCTRL_DFLLSYNC_DFLLMUL;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_oscctrl_get_DFLLSYNC_DFLLMUL_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLSYNC.reg;
+ tmp = (tmp & OSCCTRL_DFLLSYNC_DFLLMUL) >> OSCCTRL_DFLLSYNC_DFLLMUL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLSYNC_DFLLMUL_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ tmp = ((Oscctrl *)hw)->DFLLSYNC.reg;
+ tmp &= ~OSCCTRL_DFLLSYNC_DFLLMUL;
+ tmp |= value << OSCCTRL_DFLLSYNC_DFLLMUL_Pos;
+ ((Oscctrl *)hw)->DFLLSYNC.reg = tmp;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLSYNC_DFLLMUL_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg &= ~OSCCTRL_DFLLSYNC_DFLLMUL;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLSYNC_DFLLMUL_bit(const void *const hw)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg ^= OSCCTRL_DFLLSYNC_DFLLMUL;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_set_DFLLSYNC_reg(const void *const hw, hri_oscctrl_dfllsync_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg |= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllsync_reg_t hri_oscctrl_get_DFLLSYNC_reg(const void *const hw,
+ hri_oscctrl_dfllsync_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Oscctrl *)hw)->DFLLSYNC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_oscctrl_write_DFLLSYNC_reg(const void *const hw, hri_oscctrl_dfllsync_reg_t data)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg = data;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_clear_DFLLSYNC_reg(const void *const hw, hri_oscctrl_dfllsync_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg &= ~mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_oscctrl_toggle_DFLLSYNC_reg(const void *const hw, hri_oscctrl_dfllsync_reg_t mask)
+{
+ OSCCTRL_CRITICAL_SECTION_ENTER();
+ ((Oscctrl *)hw)->DFLLSYNC.reg ^= mask;
+ OSCCTRL_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_oscctrl_dfllsync_reg_t hri_oscctrl_read_DFLLSYNC_reg(const void *const hw)
+{
+ return ((Oscctrl *)hw)->DFLLSYNC.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_OSCCTRL_E54_H_INCLUDED */
+#endif /* _SAME54_OSCCTRL_COMPONENT_ */
diff --git a/hri/hri_pac_e54.h b/hri/hri_pac_e54.h
new file mode 100644
index 0000000..8963135
--- /dev/null
+++ b/hri/hri_pac_e54.h
@@ -0,0 +1,1514 @@
+/**
+ * \file
+ *
+ * \brief SAM PAC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_PAC_COMPONENT_
+#ifndef _HRI_PAC_E54_H_INCLUDED_
+#define _HRI_PAC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_PAC_CRITICAL_SECTIONS)
+#define PAC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define PAC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define PAC_CRITICAL_SECTION_ENTER()
+#define PAC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_pac_intflaga_reg_t;
+typedef uint32_t hri_pac_intflagahb_reg_t;
+typedef uint32_t hri_pac_intflagb_reg_t;
+typedef uint32_t hri_pac_intflagc_reg_t;
+typedef uint32_t hri_pac_intflagd_reg_t;
+typedef uint32_t hri_pac_statusa_reg_t;
+typedef uint32_t hri_pac_statusb_reg_t;
+typedef uint32_t hri_pac_statusc_reg_t;
+typedef uint32_t hri_pac_statusd_reg_t;
+typedef uint32_t hri_pac_wrctrl_reg_t;
+typedef uint8_t hri_pac_evctrl_reg_t;
+typedef uint8_t hri_pac_intenset_reg_t;
+
+static inline bool hri_pac_get_INTFLAGAHB_FLASH_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_FLASH) >> PAC_INTFLAGAHB_FLASH_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_FLASH_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_FLASH;
+}
+
+static inline bool hri_pac_get_INTFLAGAHB_FLASH_ALT_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_FLASH_ALT) >> PAC_INTFLAGAHB_FLASH_ALT_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_FLASH_ALT_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_FLASH_ALT;
+}
+
+static inline bool hri_pac_get_INTFLAGAHB_SEEPROM_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_SEEPROM) >> PAC_INTFLAGAHB_SEEPROM_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_SEEPROM_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_SEEPROM;
+}
+
+static inline bool hri_pac_get_INTFLAGAHB_RAMCM4S_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_RAMCM4S) >> PAC_INTFLAGAHB_RAMCM4S_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_RAMCM4S_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_RAMCM4S;
+}
+
+static inline bool hri_pac_get_INTFLAGAHB_RAMPPPDSU_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_RAMPPPDSU) >> PAC_INTFLAGAHB_RAMPPPDSU_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_RAMPPPDSU_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_RAMPPPDSU;
+}
+
+static inline bool hri_pac_get_INTFLAGAHB_RAMDMAWR_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_RAMDMAWR) >> PAC_INTFLAGAHB_RAMDMAWR_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_RAMDMAWR_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_RAMDMAWR;
+}
+
+static inline bool hri_pac_get_INTFLAGAHB_RAMDMACICM_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_RAMDMACICM) >> PAC_INTFLAGAHB_RAMDMACICM_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_RAMDMACICM_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_RAMDMACICM;
+}
+
+static inline bool hri_pac_get_INTFLAGAHB_HPB0_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_HPB0) >> PAC_INTFLAGAHB_HPB0_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_HPB0_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_HPB0;
+}
+
+static inline bool hri_pac_get_INTFLAGAHB_HPB1_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_HPB1) >> PAC_INTFLAGAHB_HPB1_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_HPB1_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_HPB1;
+}
+
+static inline bool hri_pac_get_INTFLAGAHB_HPB2_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_HPB2) >> PAC_INTFLAGAHB_HPB2_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_HPB2_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_HPB2;
+}
+
+static inline bool hri_pac_get_INTFLAGAHB_HPB3_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_HPB3) >> PAC_INTFLAGAHB_HPB3_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_HPB3_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_HPB3;
+}
+
+static inline bool hri_pac_get_INTFLAGAHB_PUKCC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_PUKCC) >> PAC_INTFLAGAHB_PUKCC_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_PUKCC_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_PUKCC;
+}
+
+static inline bool hri_pac_get_INTFLAGAHB_SDHC0_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_SDHC0) >> PAC_INTFLAGAHB_SDHC0_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_SDHC0_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_SDHC0;
+}
+
+static inline bool hri_pac_get_INTFLAGAHB_SDHC1_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_SDHC1) >> PAC_INTFLAGAHB_SDHC1_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_SDHC1_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_SDHC1;
+}
+
+static inline bool hri_pac_get_INTFLAGAHB_QSPI_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_QSPI) >> PAC_INTFLAGAHB_QSPI_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_QSPI_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_QSPI;
+}
+
+static inline bool hri_pac_get_INTFLAGAHB_BKUPRAM_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGAHB.reg & PAC_INTFLAGAHB_BKUPRAM) >> PAC_INTFLAGAHB_BKUPRAM_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_BKUPRAM_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = PAC_INTFLAGAHB_BKUPRAM;
+}
+
+static inline hri_pac_intflagahb_reg_t hri_pac_get_INTFLAGAHB_reg(const void *const hw, hri_pac_intflagahb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pac *)hw)->INTFLAGAHB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pac_intflagahb_reg_t hri_pac_read_INTFLAGAHB_reg(const void *const hw)
+{
+ return ((Pac *)hw)->INTFLAGAHB.reg;
+}
+
+static inline void hri_pac_clear_INTFLAGAHB_reg(const void *const hw, hri_pac_intflagahb_reg_t mask)
+{
+ ((Pac *)hw)->INTFLAGAHB.reg = mask;
+}
+
+static inline bool hri_pac_get_INTFLAGA_PAC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_PAC) >> PAC_INTFLAGA_PAC_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_PAC_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_PAC;
+}
+
+static inline bool hri_pac_get_INTFLAGA_PM_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_PM) >> PAC_INTFLAGA_PM_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_PM_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_PM;
+}
+
+static inline bool hri_pac_get_INTFLAGA_MCLK_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_MCLK) >> PAC_INTFLAGA_MCLK_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_MCLK_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_MCLK;
+}
+
+static inline bool hri_pac_get_INTFLAGA_RSTC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_RSTC) >> PAC_INTFLAGA_RSTC_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_RSTC_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_RSTC;
+}
+
+static inline bool hri_pac_get_INTFLAGA_OSCCTRL_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_OSCCTRL) >> PAC_INTFLAGA_OSCCTRL_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_OSCCTRL_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_OSCCTRL;
+}
+
+static inline bool hri_pac_get_INTFLAGA_OSC32KCTRL_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_OSC32KCTRL) >> PAC_INTFLAGA_OSC32KCTRL_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_OSC32KCTRL_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_OSC32KCTRL;
+}
+
+static inline bool hri_pac_get_INTFLAGA_SUPC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_SUPC) >> PAC_INTFLAGA_SUPC_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_SUPC_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_SUPC;
+}
+
+static inline bool hri_pac_get_INTFLAGA_GCLK_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_GCLK) >> PAC_INTFLAGA_GCLK_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_GCLK_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_GCLK;
+}
+
+static inline bool hri_pac_get_INTFLAGA_WDT_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_WDT) >> PAC_INTFLAGA_WDT_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_WDT_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_WDT;
+}
+
+static inline bool hri_pac_get_INTFLAGA_RTC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_RTC) >> PAC_INTFLAGA_RTC_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_RTC_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_RTC;
+}
+
+static inline bool hri_pac_get_INTFLAGA_EIC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_EIC) >> PAC_INTFLAGA_EIC_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_EIC_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_EIC;
+}
+
+static inline bool hri_pac_get_INTFLAGA_FREQM_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_FREQM) >> PAC_INTFLAGA_FREQM_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_FREQM_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_FREQM;
+}
+
+static inline bool hri_pac_get_INTFLAGA_SERCOM0_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_SERCOM0) >> PAC_INTFLAGA_SERCOM0_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_SERCOM0_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_SERCOM0;
+}
+
+static inline bool hri_pac_get_INTFLAGA_SERCOM1_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_SERCOM1) >> PAC_INTFLAGA_SERCOM1_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_SERCOM1_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_SERCOM1;
+}
+
+static inline bool hri_pac_get_INTFLAGA_TC0_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_TC0) >> PAC_INTFLAGA_TC0_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_TC0_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_TC0;
+}
+
+static inline bool hri_pac_get_INTFLAGA_TC1_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGA.reg & PAC_INTFLAGA_TC1) >> PAC_INTFLAGA_TC1_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGA_TC1_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGA.reg = PAC_INTFLAGA_TC1;
+}
+
+static inline hri_pac_intflaga_reg_t hri_pac_get_INTFLAGA_reg(const void *const hw, hri_pac_intflaga_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pac *)hw)->INTFLAGA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pac_intflaga_reg_t hri_pac_read_INTFLAGA_reg(const void *const hw)
+{
+ return ((Pac *)hw)->INTFLAGA.reg;
+}
+
+static inline void hri_pac_clear_INTFLAGA_reg(const void *const hw, hri_pac_intflaga_reg_t mask)
+{
+ ((Pac *)hw)->INTFLAGA.reg = mask;
+}
+
+static inline bool hri_pac_get_INTFLAGB_USB_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_USB) >> PAC_INTFLAGB_USB_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGB_USB_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_USB;
+}
+
+static inline bool hri_pac_get_INTFLAGB_DSU_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_DSU) >> PAC_INTFLAGB_DSU_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGB_DSU_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_DSU;
+}
+
+static inline bool hri_pac_get_INTFLAGB_NVMCTRL_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_NVMCTRL) >> PAC_INTFLAGB_NVMCTRL_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGB_NVMCTRL_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_NVMCTRL;
+}
+
+static inline bool hri_pac_get_INTFLAGB_CMCC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_CMCC) >> PAC_INTFLAGB_CMCC_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGB_CMCC_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_CMCC;
+}
+
+static inline bool hri_pac_get_INTFLAGB_PORT_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_PORT) >> PAC_INTFLAGB_PORT_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGB_PORT_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_PORT;
+}
+
+static inline bool hri_pac_get_INTFLAGB_DMAC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_DMAC) >> PAC_INTFLAGB_DMAC_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGB_DMAC_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_DMAC;
+}
+
+static inline bool hri_pac_get_INTFLAGB_HMATRIX_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_HMATRIX) >> PAC_INTFLAGB_HMATRIX_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGB_HMATRIX_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_HMATRIX;
+}
+
+static inline bool hri_pac_get_INTFLAGB_EVSYS_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_EVSYS) >> PAC_INTFLAGB_EVSYS_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGB_EVSYS_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_EVSYS;
+}
+
+static inline bool hri_pac_get_INTFLAGB_SERCOM2_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_SERCOM2) >> PAC_INTFLAGB_SERCOM2_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGB_SERCOM2_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_SERCOM2;
+}
+
+static inline bool hri_pac_get_INTFLAGB_SERCOM3_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_SERCOM3) >> PAC_INTFLAGB_SERCOM3_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGB_SERCOM3_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_SERCOM3;
+}
+
+static inline bool hri_pac_get_INTFLAGB_TCC0_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_TCC0) >> PAC_INTFLAGB_TCC0_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGB_TCC0_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_TCC0;
+}
+
+static inline bool hri_pac_get_INTFLAGB_TCC1_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_TCC1) >> PAC_INTFLAGB_TCC1_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGB_TCC1_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_TCC1;
+}
+
+static inline bool hri_pac_get_INTFLAGB_TC2_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_TC2) >> PAC_INTFLAGB_TC2_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGB_TC2_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_TC2;
+}
+
+static inline bool hri_pac_get_INTFLAGB_TC3_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_TC3) >> PAC_INTFLAGB_TC3_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGB_TC3_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_TC3;
+}
+
+static inline bool hri_pac_get_INTFLAGB_RAMECC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGB.reg & PAC_INTFLAGB_RAMECC) >> PAC_INTFLAGB_RAMECC_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGB_RAMECC_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGB.reg = PAC_INTFLAGB_RAMECC;
+}
+
+static inline hri_pac_intflagb_reg_t hri_pac_get_INTFLAGB_reg(const void *const hw, hri_pac_intflagb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pac *)hw)->INTFLAGB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pac_intflagb_reg_t hri_pac_read_INTFLAGB_reg(const void *const hw)
+{
+ return ((Pac *)hw)->INTFLAGB.reg;
+}
+
+static inline void hri_pac_clear_INTFLAGB_reg(const void *const hw, hri_pac_intflagb_reg_t mask)
+{
+ ((Pac *)hw)->INTFLAGB.reg = mask;
+}
+
+static inline bool hri_pac_get_INTFLAGC_CAN0_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_CAN0) >> PAC_INTFLAGC_CAN0_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGC_CAN0_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_CAN0;
+}
+
+static inline bool hri_pac_get_INTFLAGC_CAN1_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_CAN1) >> PAC_INTFLAGC_CAN1_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGC_CAN1_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_CAN1;
+}
+
+static inline bool hri_pac_get_INTFLAGC_GMAC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_GMAC) >> PAC_INTFLAGC_GMAC_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGC_GMAC_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_GMAC;
+}
+
+static inline bool hri_pac_get_INTFLAGC_TCC2_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_TCC2) >> PAC_INTFLAGC_TCC2_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGC_TCC2_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_TCC2;
+}
+
+static inline bool hri_pac_get_INTFLAGC_TCC3_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_TCC3) >> PAC_INTFLAGC_TCC3_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGC_TCC3_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_TCC3;
+}
+
+static inline bool hri_pac_get_INTFLAGC_TC4_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_TC4) >> PAC_INTFLAGC_TC4_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGC_TC4_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_TC4;
+}
+
+static inline bool hri_pac_get_INTFLAGC_TC5_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_TC5) >> PAC_INTFLAGC_TC5_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGC_TC5_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_TC5;
+}
+
+static inline bool hri_pac_get_INTFLAGC_PDEC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_PDEC) >> PAC_INTFLAGC_PDEC_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGC_PDEC_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_PDEC;
+}
+
+static inline bool hri_pac_get_INTFLAGC_AC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_AC) >> PAC_INTFLAGC_AC_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGC_AC_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_AC;
+}
+
+static inline bool hri_pac_get_INTFLAGC_AES_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_AES) >> PAC_INTFLAGC_AES_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGC_AES_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_AES;
+}
+
+static inline bool hri_pac_get_INTFLAGC_TRNG_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_TRNG) >> PAC_INTFLAGC_TRNG_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGC_TRNG_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_TRNG;
+}
+
+static inline bool hri_pac_get_INTFLAGC_ICM_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_ICM) >> PAC_INTFLAGC_ICM_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGC_ICM_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_ICM;
+}
+
+static inline bool hri_pac_get_INTFLAGC_PUKCC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_PUKCC) >> PAC_INTFLAGC_PUKCC_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGC_PUKCC_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_PUKCC;
+}
+
+static inline bool hri_pac_get_INTFLAGC_QSPI_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_QSPI) >> PAC_INTFLAGC_QSPI_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGC_QSPI_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_QSPI;
+}
+
+static inline bool hri_pac_get_INTFLAGC_CCL_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGC.reg & PAC_INTFLAGC_CCL) >> PAC_INTFLAGC_CCL_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGC_CCL_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGC.reg = PAC_INTFLAGC_CCL;
+}
+
+static inline hri_pac_intflagc_reg_t hri_pac_get_INTFLAGC_reg(const void *const hw, hri_pac_intflagc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pac *)hw)->INTFLAGC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pac_intflagc_reg_t hri_pac_read_INTFLAGC_reg(const void *const hw)
+{
+ return ((Pac *)hw)->INTFLAGC.reg;
+}
+
+static inline void hri_pac_clear_INTFLAGC_reg(const void *const hw, hri_pac_intflagc_reg_t mask)
+{
+ ((Pac *)hw)->INTFLAGC.reg = mask;
+}
+
+static inline bool hri_pac_get_INTFLAGD_SERCOM4_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_SERCOM4) >> PAC_INTFLAGD_SERCOM4_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGD_SERCOM4_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_SERCOM4;
+}
+
+static inline bool hri_pac_get_INTFLAGD_SERCOM5_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_SERCOM5) >> PAC_INTFLAGD_SERCOM5_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGD_SERCOM5_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_SERCOM5;
+}
+
+static inline bool hri_pac_get_INTFLAGD_SERCOM6_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_SERCOM6) >> PAC_INTFLAGD_SERCOM6_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGD_SERCOM6_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_SERCOM6;
+}
+
+static inline bool hri_pac_get_INTFLAGD_SERCOM7_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_SERCOM7) >> PAC_INTFLAGD_SERCOM7_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGD_SERCOM7_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_SERCOM7;
+}
+
+static inline bool hri_pac_get_INTFLAGD_TCC4_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_TCC4) >> PAC_INTFLAGD_TCC4_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGD_TCC4_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_TCC4;
+}
+
+static inline bool hri_pac_get_INTFLAGD_TC6_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_TC6) >> PAC_INTFLAGD_TC6_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGD_TC6_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_TC6;
+}
+
+static inline bool hri_pac_get_INTFLAGD_TC7_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_TC7) >> PAC_INTFLAGD_TC7_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGD_TC7_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_TC7;
+}
+
+static inline bool hri_pac_get_INTFLAGD_ADC0_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_ADC0) >> PAC_INTFLAGD_ADC0_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGD_ADC0_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_ADC0;
+}
+
+static inline bool hri_pac_get_INTFLAGD_ADC1_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_ADC1) >> PAC_INTFLAGD_ADC1_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGD_ADC1_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_ADC1;
+}
+
+static inline bool hri_pac_get_INTFLAGD_DAC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_DAC) >> PAC_INTFLAGD_DAC_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGD_DAC_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_DAC;
+}
+
+static inline bool hri_pac_get_INTFLAGD_I2S_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_I2S) >> PAC_INTFLAGD_I2S_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGD_I2S_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_I2S;
+}
+
+static inline bool hri_pac_get_INTFLAGD_PCC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTFLAGD.reg & PAC_INTFLAGD_PCC) >> PAC_INTFLAGD_PCC_Pos;
+}
+
+static inline void hri_pac_clear_INTFLAGD_PCC_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTFLAGD.reg = PAC_INTFLAGD_PCC;
+}
+
+static inline hri_pac_intflagd_reg_t hri_pac_get_INTFLAGD_reg(const void *const hw, hri_pac_intflagd_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pac *)hw)->INTFLAGD.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pac_intflagd_reg_t hri_pac_read_INTFLAGD_reg(const void *const hw)
+{
+ return ((Pac *)hw)->INTFLAGD.reg;
+}
+
+static inline void hri_pac_clear_INTFLAGD_reg(const void *const hw, hri_pac_intflagd_reg_t mask)
+{
+ ((Pac *)hw)->INTFLAGD.reg = mask;
+}
+
+static inline void hri_pac_set_INTEN_ERR_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTENSET.reg = PAC_INTENSET_ERR;
+}
+
+static inline bool hri_pac_get_INTEN_ERR_bit(const void *const hw)
+{
+ return (((Pac *)hw)->INTENSET.reg & PAC_INTENSET_ERR) >> PAC_INTENSET_ERR_Pos;
+}
+
+static inline void hri_pac_write_INTEN_ERR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Pac *)hw)->INTENCLR.reg = PAC_INTENSET_ERR;
+ } else {
+ ((Pac *)hw)->INTENSET.reg = PAC_INTENSET_ERR;
+ }
+}
+
+static inline void hri_pac_clear_INTEN_ERR_bit(const void *const hw)
+{
+ ((Pac *)hw)->INTENCLR.reg = PAC_INTENSET_ERR;
+}
+
+static inline void hri_pac_set_INTEN_reg(const void *const hw, hri_pac_intenset_reg_t mask)
+{
+ ((Pac *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_pac_intenset_reg_t hri_pac_get_INTEN_reg(const void *const hw, hri_pac_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pac *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pac_intenset_reg_t hri_pac_read_INTEN_reg(const void *const hw)
+{
+ return ((Pac *)hw)->INTENSET.reg;
+}
+
+static inline void hri_pac_write_INTEN_reg(const void *const hw, hri_pac_intenset_reg_t data)
+{
+ ((Pac *)hw)->INTENSET.reg = data;
+ ((Pac *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_pac_clear_INTEN_reg(const void *const hw, hri_pac_intenset_reg_t mask)
+{
+ ((Pac *)hw)->INTENCLR.reg = mask;
+}
+
+static inline bool hri_pac_get_STATUSA_PAC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_PAC) >> PAC_STATUSA_PAC_Pos;
+}
+
+static inline bool hri_pac_get_STATUSA_PM_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_PM) >> PAC_STATUSA_PM_Pos;
+}
+
+static inline bool hri_pac_get_STATUSA_MCLK_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_MCLK) >> PAC_STATUSA_MCLK_Pos;
+}
+
+static inline bool hri_pac_get_STATUSA_RSTC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_RSTC) >> PAC_STATUSA_RSTC_Pos;
+}
+
+static inline bool hri_pac_get_STATUSA_OSCCTRL_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_OSCCTRL) >> PAC_STATUSA_OSCCTRL_Pos;
+}
+
+static inline bool hri_pac_get_STATUSA_OSC32KCTRL_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_OSC32KCTRL) >> PAC_STATUSA_OSC32KCTRL_Pos;
+}
+
+static inline bool hri_pac_get_STATUSA_SUPC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_SUPC) >> PAC_STATUSA_SUPC_Pos;
+}
+
+static inline bool hri_pac_get_STATUSA_GCLK_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_GCLK) >> PAC_STATUSA_GCLK_Pos;
+}
+
+static inline bool hri_pac_get_STATUSA_WDT_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_WDT) >> PAC_STATUSA_WDT_Pos;
+}
+
+static inline bool hri_pac_get_STATUSA_RTC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_RTC) >> PAC_STATUSA_RTC_Pos;
+}
+
+static inline bool hri_pac_get_STATUSA_EIC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_EIC) >> PAC_STATUSA_EIC_Pos;
+}
+
+static inline bool hri_pac_get_STATUSA_FREQM_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_FREQM) >> PAC_STATUSA_FREQM_Pos;
+}
+
+static inline bool hri_pac_get_STATUSA_SERCOM0_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_SERCOM0) >> PAC_STATUSA_SERCOM0_Pos;
+}
+
+static inline bool hri_pac_get_STATUSA_SERCOM1_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_SERCOM1) >> PAC_STATUSA_SERCOM1_Pos;
+}
+
+static inline bool hri_pac_get_STATUSA_TC0_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_TC0) >> PAC_STATUSA_TC0_Pos;
+}
+
+static inline bool hri_pac_get_STATUSA_TC1_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSA.reg & PAC_STATUSA_TC1) >> PAC_STATUSA_TC1_Pos;
+}
+
+static inline hri_pac_statusa_reg_t hri_pac_get_STATUSA_reg(const void *const hw, hri_pac_statusa_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pac *)hw)->STATUSA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pac_statusa_reg_t hri_pac_read_STATUSA_reg(const void *const hw)
+{
+ return ((Pac *)hw)->STATUSA.reg;
+}
+
+static inline bool hri_pac_get_STATUSB_USB_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_USB) >> PAC_STATUSB_USB_Pos;
+}
+
+static inline bool hri_pac_get_STATUSB_DSU_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_DSU) >> PAC_STATUSB_DSU_Pos;
+}
+
+static inline bool hri_pac_get_STATUSB_NVMCTRL_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_NVMCTRL) >> PAC_STATUSB_NVMCTRL_Pos;
+}
+
+static inline bool hri_pac_get_STATUSB_CMCC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_CMCC) >> PAC_STATUSB_CMCC_Pos;
+}
+
+static inline bool hri_pac_get_STATUSB_PORT_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_PORT) >> PAC_STATUSB_PORT_Pos;
+}
+
+static inline bool hri_pac_get_STATUSB_DMAC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_DMAC) >> PAC_STATUSB_DMAC_Pos;
+}
+
+static inline bool hri_pac_get_STATUSB_HMATRIX_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_HMATRIX) >> PAC_STATUSB_HMATRIX_Pos;
+}
+
+static inline bool hri_pac_get_STATUSB_EVSYS_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_EVSYS) >> PAC_STATUSB_EVSYS_Pos;
+}
+
+static inline bool hri_pac_get_STATUSB_SERCOM2_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_SERCOM2) >> PAC_STATUSB_SERCOM2_Pos;
+}
+
+static inline bool hri_pac_get_STATUSB_SERCOM3_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_SERCOM3) >> PAC_STATUSB_SERCOM3_Pos;
+}
+
+static inline bool hri_pac_get_STATUSB_TCC0_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_TCC0) >> PAC_STATUSB_TCC0_Pos;
+}
+
+static inline bool hri_pac_get_STATUSB_TCC1_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_TCC1) >> PAC_STATUSB_TCC1_Pos;
+}
+
+static inline bool hri_pac_get_STATUSB_TC2_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_TC2) >> PAC_STATUSB_TC2_Pos;
+}
+
+static inline bool hri_pac_get_STATUSB_TC3_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_TC3) >> PAC_STATUSB_TC3_Pos;
+}
+
+static inline bool hri_pac_get_STATUSB_RAMECC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSB.reg & PAC_STATUSB_RAMECC) >> PAC_STATUSB_RAMECC_Pos;
+}
+
+static inline hri_pac_statusb_reg_t hri_pac_get_STATUSB_reg(const void *const hw, hri_pac_statusb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pac *)hw)->STATUSB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pac_statusb_reg_t hri_pac_read_STATUSB_reg(const void *const hw)
+{
+ return ((Pac *)hw)->STATUSB.reg;
+}
+
+static inline bool hri_pac_get_STATUSC_CAN0_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_CAN0) >> PAC_STATUSC_CAN0_Pos;
+}
+
+static inline bool hri_pac_get_STATUSC_CAN1_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_CAN1) >> PAC_STATUSC_CAN1_Pos;
+}
+
+static inline bool hri_pac_get_STATUSC_GMAC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_GMAC) >> PAC_STATUSC_GMAC_Pos;
+}
+
+static inline bool hri_pac_get_STATUSC_TCC2_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_TCC2) >> PAC_STATUSC_TCC2_Pos;
+}
+
+static inline bool hri_pac_get_STATUSC_TCC3_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_TCC3) >> PAC_STATUSC_TCC3_Pos;
+}
+
+static inline bool hri_pac_get_STATUSC_TC4_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_TC4) >> PAC_STATUSC_TC4_Pos;
+}
+
+static inline bool hri_pac_get_STATUSC_TC5_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_TC5) >> PAC_STATUSC_TC5_Pos;
+}
+
+static inline bool hri_pac_get_STATUSC_PDEC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_PDEC) >> PAC_STATUSC_PDEC_Pos;
+}
+
+static inline bool hri_pac_get_STATUSC_AC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_AC) >> PAC_STATUSC_AC_Pos;
+}
+
+static inline bool hri_pac_get_STATUSC_AES_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_AES) >> PAC_STATUSC_AES_Pos;
+}
+
+static inline bool hri_pac_get_STATUSC_TRNG_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_TRNG) >> PAC_STATUSC_TRNG_Pos;
+}
+
+static inline bool hri_pac_get_STATUSC_ICM_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_ICM) >> PAC_STATUSC_ICM_Pos;
+}
+
+static inline bool hri_pac_get_STATUSC_PUKCC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_PUKCC) >> PAC_STATUSC_PUKCC_Pos;
+}
+
+static inline bool hri_pac_get_STATUSC_QSPI_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_QSPI) >> PAC_STATUSC_QSPI_Pos;
+}
+
+static inline bool hri_pac_get_STATUSC_CCL_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSC.reg & PAC_STATUSC_CCL) >> PAC_STATUSC_CCL_Pos;
+}
+
+static inline hri_pac_statusc_reg_t hri_pac_get_STATUSC_reg(const void *const hw, hri_pac_statusc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pac *)hw)->STATUSC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pac_statusc_reg_t hri_pac_read_STATUSC_reg(const void *const hw)
+{
+ return ((Pac *)hw)->STATUSC.reg;
+}
+
+static inline bool hri_pac_get_STATUSD_SERCOM4_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_SERCOM4) >> PAC_STATUSD_SERCOM4_Pos;
+}
+
+static inline bool hri_pac_get_STATUSD_SERCOM5_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_SERCOM5) >> PAC_STATUSD_SERCOM5_Pos;
+}
+
+static inline bool hri_pac_get_STATUSD_SERCOM6_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_SERCOM6) >> PAC_STATUSD_SERCOM6_Pos;
+}
+
+static inline bool hri_pac_get_STATUSD_SERCOM7_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_SERCOM7) >> PAC_STATUSD_SERCOM7_Pos;
+}
+
+static inline bool hri_pac_get_STATUSD_TCC4_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_TCC4) >> PAC_STATUSD_TCC4_Pos;
+}
+
+static inline bool hri_pac_get_STATUSD_TC6_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_TC6) >> PAC_STATUSD_TC6_Pos;
+}
+
+static inline bool hri_pac_get_STATUSD_TC7_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_TC7) >> PAC_STATUSD_TC7_Pos;
+}
+
+static inline bool hri_pac_get_STATUSD_ADC0_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_ADC0) >> PAC_STATUSD_ADC0_Pos;
+}
+
+static inline bool hri_pac_get_STATUSD_ADC1_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_ADC1) >> PAC_STATUSD_ADC1_Pos;
+}
+
+static inline bool hri_pac_get_STATUSD_DAC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_DAC) >> PAC_STATUSD_DAC_Pos;
+}
+
+static inline bool hri_pac_get_STATUSD_I2S_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_I2S) >> PAC_STATUSD_I2S_Pos;
+}
+
+static inline bool hri_pac_get_STATUSD_PCC_bit(const void *const hw)
+{
+ return (((Pac *)hw)->STATUSD.reg & PAC_STATUSD_PCC) >> PAC_STATUSD_PCC_Pos;
+}
+
+static inline hri_pac_statusd_reg_t hri_pac_get_STATUSD_reg(const void *const hw, hri_pac_statusd_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pac *)hw)->STATUSD.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pac_statusd_reg_t hri_pac_read_STATUSD_reg(const void *const hw)
+{
+ return ((Pac *)hw)->STATUSD.reg;
+}
+
+static inline void hri_pac_set_WRCTRL_PERID_bf(const void *const hw, hri_pac_wrctrl_reg_t mask)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->WRCTRL.reg |= PAC_WRCTRL_PERID(mask);
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pac_wrctrl_reg_t hri_pac_get_WRCTRL_PERID_bf(const void *const hw, hri_pac_wrctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pac *)hw)->WRCTRL.reg;
+ tmp = (tmp & PAC_WRCTRL_PERID(mask)) >> PAC_WRCTRL_PERID_Pos;
+ return tmp;
+}
+
+static inline void hri_pac_write_WRCTRL_PERID_bf(const void *const hw, hri_pac_wrctrl_reg_t data)
+{
+ uint32_t tmp;
+ PAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pac *)hw)->WRCTRL.reg;
+ tmp &= ~PAC_WRCTRL_PERID_Msk;
+ tmp |= PAC_WRCTRL_PERID(data);
+ ((Pac *)hw)->WRCTRL.reg = tmp;
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pac_clear_WRCTRL_PERID_bf(const void *const hw, hri_pac_wrctrl_reg_t mask)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->WRCTRL.reg &= ~PAC_WRCTRL_PERID(mask);
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pac_toggle_WRCTRL_PERID_bf(const void *const hw, hri_pac_wrctrl_reg_t mask)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->WRCTRL.reg ^= PAC_WRCTRL_PERID(mask);
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pac_wrctrl_reg_t hri_pac_read_WRCTRL_PERID_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pac *)hw)->WRCTRL.reg;
+ tmp = (tmp & PAC_WRCTRL_PERID_Msk) >> PAC_WRCTRL_PERID_Pos;
+ return tmp;
+}
+
+static inline void hri_pac_set_WRCTRL_KEY_bf(const void *const hw, hri_pac_wrctrl_reg_t mask)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->WRCTRL.reg |= PAC_WRCTRL_KEY(mask);
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pac_wrctrl_reg_t hri_pac_get_WRCTRL_KEY_bf(const void *const hw, hri_pac_wrctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pac *)hw)->WRCTRL.reg;
+ tmp = (tmp & PAC_WRCTRL_KEY(mask)) >> PAC_WRCTRL_KEY_Pos;
+ return tmp;
+}
+
+static inline void hri_pac_write_WRCTRL_KEY_bf(const void *const hw, hri_pac_wrctrl_reg_t data)
+{
+ uint32_t tmp;
+ PAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pac *)hw)->WRCTRL.reg;
+ tmp &= ~PAC_WRCTRL_KEY_Msk;
+ tmp |= PAC_WRCTRL_KEY(data);
+ ((Pac *)hw)->WRCTRL.reg = tmp;
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pac_clear_WRCTRL_KEY_bf(const void *const hw, hri_pac_wrctrl_reg_t mask)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->WRCTRL.reg &= ~PAC_WRCTRL_KEY(mask);
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pac_toggle_WRCTRL_KEY_bf(const void *const hw, hri_pac_wrctrl_reg_t mask)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->WRCTRL.reg ^= PAC_WRCTRL_KEY(mask);
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pac_wrctrl_reg_t hri_pac_read_WRCTRL_KEY_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pac *)hw)->WRCTRL.reg;
+ tmp = (tmp & PAC_WRCTRL_KEY_Msk) >> PAC_WRCTRL_KEY_Pos;
+ return tmp;
+}
+
+static inline void hri_pac_set_WRCTRL_reg(const void *const hw, hri_pac_wrctrl_reg_t mask)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->WRCTRL.reg |= mask;
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pac_wrctrl_reg_t hri_pac_get_WRCTRL_reg(const void *const hw, hri_pac_wrctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pac *)hw)->WRCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pac_write_WRCTRL_reg(const void *const hw, hri_pac_wrctrl_reg_t data)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->WRCTRL.reg = data;
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pac_clear_WRCTRL_reg(const void *const hw, hri_pac_wrctrl_reg_t mask)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->WRCTRL.reg &= ~mask;
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pac_toggle_WRCTRL_reg(const void *const hw, hri_pac_wrctrl_reg_t mask)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->WRCTRL.reg ^= mask;
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pac_wrctrl_reg_t hri_pac_read_WRCTRL_reg(const void *const hw)
+{
+ return ((Pac *)hw)->WRCTRL.reg;
+}
+
+static inline void hri_pac_set_EVCTRL_ERREO_bit(const void *const hw)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->EVCTRL.reg |= PAC_EVCTRL_ERREO;
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pac_get_EVCTRL_ERREO_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Pac *)hw)->EVCTRL.reg;
+ tmp = (tmp & PAC_EVCTRL_ERREO) >> PAC_EVCTRL_ERREO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pac_write_EVCTRL_ERREO_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ PAC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pac *)hw)->EVCTRL.reg;
+ tmp &= ~PAC_EVCTRL_ERREO;
+ tmp |= value << PAC_EVCTRL_ERREO_Pos;
+ ((Pac *)hw)->EVCTRL.reg = tmp;
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pac_clear_EVCTRL_ERREO_bit(const void *const hw)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->EVCTRL.reg &= ~PAC_EVCTRL_ERREO;
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pac_toggle_EVCTRL_ERREO_bit(const void *const hw)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->EVCTRL.reg ^= PAC_EVCTRL_ERREO;
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pac_set_EVCTRL_reg(const void *const hw, hri_pac_evctrl_reg_t mask)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->EVCTRL.reg |= mask;
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pac_evctrl_reg_t hri_pac_get_EVCTRL_reg(const void *const hw, hri_pac_evctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pac *)hw)->EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pac_write_EVCTRL_reg(const void *const hw, hri_pac_evctrl_reg_t data)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->EVCTRL.reg = data;
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pac_clear_EVCTRL_reg(const void *const hw, hri_pac_evctrl_reg_t mask)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->EVCTRL.reg &= ~mask;
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pac_toggle_EVCTRL_reg(const void *const hw, hri_pac_evctrl_reg_t mask)
+{
+ PAC_CRITICAL_SECTION_ENTER();
+ ((Pac *)hw)->EVCTRL.reg ^= mask;
+ PAC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pac_evctrl_reg_t hri_pac_read_EVCTRL_reg(const void *const hw)
+{
+ return ((Pac *)hw)->EVCTRL.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_PAC_E54_H_INCLUDED */
+#endif /* _SAME54_PAC_COMPONENT_ */
diff --git a/hri/hri_pcc_e54.h b/hri/hri_pcc_e54.h
new file mode 100644
index 0000000..42a5600
--- /dev/null
+++ b/hri/hri_pcc_e54.h
@@ -0,0 +1,298 @@
+/**
+ * \file
+ *
+ * \brief SAM PCC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_PCC_COMPONENT_
+#ifndef _HRI_PCC_E54_H_INCLUDED_
+#define _HRI_PCC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_PCC_CRITICAL_SECTIONS)
+#define PCC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define PCC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define PCC_CRITICAL_SECTION_ENTER()
+#define PCC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_pcc_imr_reg_t;
+typedef uint32_t hri_pcc_isr_reg_t;
+typedef uint32_t hri_pcc_mr_reg_t;
+typedef uint32_t hri_pcc_rhr_reg_t;
+typedef uint32_t hri_pcc_wpmr_reg_t;
+typedef uint32_t hri_pcc_wpsr_reg_t;
+
+static inline void hri_pcc_set_IMR_DRDY_bit(const void *const hw)
+{
+ ((Pcc *)hw)->IER.reg = PCC_IMR_DRDY;
+}
+
+static inline bool hri_pcc_get_IMR_DRDY_bit(const void *const hw)
+{
+ return (((Pcc *)hw)->IMR.reg & PCC_IMR_DRDY) >> PCC_IMR_DRDY_Pos;
+}
+
+static inline void hri_pcc_write_IMR_DRDY_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Pcc *)hw)->IDR.reg = PCC_IMR_DRDY;
+ } else {
+ ((Pcc *)hw)->IER.reg = PCC_IMR_DRDY;
+ }
+}
+
+static inline void hri_pcc_clear_IMR_DRDY_bit(const void *const hw)
+{
+ ((Pcc *)hw)->IDR.reg = PCC_IMR_DRDY;
+}
+
+static inline void hri_pcc_set_IMR_OVRE_bit(const void *const hw)
+{
+ ((Pcc *)hw)->IER.reg = PCC_IMR_OVRE;
+}
+
+static inline bool hri_pcc_get_IMR_OVRE_bit(const void *const hw)
+{
+ return (((Pcc *)hw)->IMR.reg & PCC_IMR_OVRE) >> PCC_IMR_OVRE_Pos;
+}
+
+static inline void hri_pcc_write_IMR_OVRE_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Pcc *)hw)->IDR.reg = PCC_IMR_OVRE;
+ } else {
+ ((Pcc *)hw)->IER.reg = PCC_IMR_OVRE;
+ }
+}
+
+static inline void hri_pcc_clear_IMR_OVRE_bit(const void *const hw)
+{
+ ((Pcc *)hw)->IDR.reg = PCC_IMR_OVRE;
+}
+
+static inline void hri_pcc_set_IMR_reg(const void *const hw, hri_pcc_imr_reg_t mask)
+{
+ ((Pcc *)hw)->IER.reg = mask;
+}
+
+static inline hri_pcc_imr_reg_t hri_pcc_get_IMR_reg(const void *const hw, hri_pcc_imr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pcc *)hw)->IMR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pcc_imr_reg_t hri_pcc_read_IMR_reg(const void *const hw)
+{
+ return ((Pcc *)hw)->IMR.reg;
+}
+
+static inline void hri_pcc_write_IMR_reg(const void *const hw, hri_pcc_imr_reg_t data)
+{
+ ((Pcc *)hw)->IER.reg = data;
+ ((Pcc *)hw)->IDR.reg = ~data;
+}
+
+static inline void hri_pcc_clear_IMR_reg(const void *const hw, hri_pcc_imr_reg_t mask)
+{
+ ((Pcc *)hw)->IDR.reg = mask;
+}
+
+static inline bool hri_pcc_get_ISR_DRDY_bit(const void *const hw)
+{
+ return (((Pcc *)hw)->ISR.reg & PCC_ISR_DRDY) >> PCC_ISR_DRDY_Pos;
+}
+
+static inline bool hri_pcc_get_ISR_OVRE_bit(const void *const hw)
+{
+ return (((Pcc *)hw)->ISR.reg & PCC_ISR_OVRE) >> PCC_ISR_OVRE_Pos;
+}
+
+static inline hri_pcc_isr_reg_t hri_pcc_get_ISR_reg(const void *const hw, hri_pcc_isr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pcc *)hw)->ISR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pcc_isr_reg_t hri_pcc_read_ISR_reg(const void *const hw)
+{
+ return ((Pcc *)hw)->ISR.reg;
+}
+
+static inline hri_pcc_rhr_reg_t hri_pcc_get_RHR_RDATA_bf(const void *const hw, hri_pcc_rhr_reg_t mask)
+{
+ return (((Pcc *)hw)->RHR.reg & PCC_RHR_RDATA(mask)) >> PCC_RHR_RDATA_Pos;
+}
+
+static inline hri_pcc_rhr_reg_t hri_pcc_read_RHR_RDATA_bf(const void *const hw)
+{
+ return (((Pcc *)hw)->RHR.reg & PCC_RHR_RDATA_Msk) >> PCC_RHR_RDATA_Pos;
+}
+
+static inline hri_pcc_rhr_reg_t hri_pcc_get_RHR_reg(const void *const hw, hri_pcc_rhr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pcc *)hw)->RHR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pcc_rhr_reg_t hri_pcc_read_RHR_reg(const void *const hw)
+{
+ return ((Pcc *)hw)->RHR.reg;
+}
+
+static inline bool hri_pcc_get_WPSR_WPVS_bit(const void *const hw)
+{
+ return (((Pcc *)hw)->WPSR.reg & PCC_WPSR_WPVS) >> PCC_WPSR_WPVS_Pos;
+}
+
+static inline hri_pcc_wpsr_reg_t hri_pcc_get_WPSR_WPVSRC_bf(const void *const hw, hri_pcc_wpsr_reg_t mask)
+{
+ return (((Pcc *)hw)->WPSR.reg & PCC_WPSR_WPVSRC(mask)) >> PCC_WPSR_WPVSRC_Pos;
+}
+
+static inline hri_pcc_wpsr_reg_t hri_pcc_read_WPSR_WPVSRC_bf(const void *const hw)
+{
+ return (((Pcc *)hw)->WPSR.reg & PCC_WPSR_WPVSRC_Msk) >> PCC_WPSR_WPVSRC_Pos;
+}
+
+static inline hri_pcc_wpsr_reg_t hri_pcc_get_WPSR_reg(const void *const hw, hri_pcc_wpsr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pcc *)hw)->WPSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pcc_wpsr_reg_t hri_pcc_read_WPSR_reg(const void *const hw)
+{
+ return ((Pcc *)hw)->WPSR.reg;
+}
+
+static inline void hri_pcc_set_MR_reg(const void *const hw, hri_pcc_mr_reg_t mask)
+{
+ PCC_CRITICAL_SECTION_ENTER();
+ ((Pcc *)hw)->MR.reg |= mask;
+ PCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pcc_mr_reg_t hri_pcc_get_MR_reg(const void *const hw, hri_pcc_mr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pcc *)hw)->MR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pcc_write_MR_reg(const void *const hw, hri_pcc_mr_reg_t data)
+{
+ PCC_CRITICAL_SECTION_ENTER();
+ ((Pcc *)hw)->MR.reg = data;
+ PCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pcc_clear_MR_reg(const void *const hw, hri_pcc_mr_reg_t mask)
+{
+ PCC_CRITICAL_SECTION_ENTER();
+ ((Pcc *)hw)->MR.reg &= ~mask;
+ PCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pcc_toggle_MR_reg(const void *const hw, hri_pcc_mr_reg_t mask)
+{
+ PCC_CRITICAL_SECTION_ENTER();
+ ((Pcc *)hw)->MR.reg ^= mask;
+ PCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pcc_mr_reg_t hri_pcc_read_MR_reg(const void *const hw)
+{
+ return ((Pcc *)hw)->MR.reg;
+}
+
+static inline void hri_pcc_set_WPMR_reg(const void *const hw, hri_pcc_wpmr_reg_t mask)
+{
+ PCC_CRITICAL_SECTION_ENTER();
+ ((Pcc *)hw)->WPMR.reg |= mask;
+ PCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pcc_wpmr_reg_t hri_pcc_get_WPMR_reg(const void *const hw, hri_pcc_wpmr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pcc *)hw)->WPMR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pcc_write_WPMR_reg(const void *const hw, hri_pcc_wpmr_reg_t data)
+{
+ PCC_CRITICAL_SECTION_ENTER();
+ ((Pcc *)hw)->WPMR.reg = data;
+ PCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pcc_clear_WPMR_reg(const void *const hw, hri_pcc_wpmr_reg_t mask)
+{
+ PCC_CRITICAL_SECTION_ENTER();
+ ((Pcc *)hw)->WPMR.reg &= ~mask;
+ PCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pcc_toggle_WPMR_reg(const void *const hw, hri_pcc_wpmr_reg_t mask)
+{
+ PCC_CRITICAL_SECTION_ENTER();
+ ((Pcc *)hw)->WPMR.reg ^= mask;
+ PCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pcc_wpmr_reg_t hri_pcc_read_WPMR_reg(const void *const hw)
+{
+ return ((Pcc *)hw)->WPMR.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_PCC_E54_H_INCLUDED */
+#endif /* _SAME54_PCC_COMPONENT_ */
diff --git a/hri/hri_pdec_e54.h b/hri/hri_pdec_e54.h
new file mode 100644
index 0000000..ec7ce30
--- /dev/null
+++ b/hri/hri_pdec_e54.h
@@ -0,0 +1,2684 @@
+/**
+ * \file
+ *
+ * \brief SAM PDEC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_PDEC_COMPONENT_
+#ifndef _HRI_PDEC_E54_H_INCLUDED_
+#define _HRI_PDEC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_PDEC_CRITICAL_SECTIONS)
+#define PDEC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define PDEC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define PDEC_CRITICAL_SECTION_ENTER()
+#define PDEC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_pdec_evctrl_reg_t;
+typedef uint16_t hri_pdec_status_reg_t;
+typedef uint32_t hri_pdec_cc_reg_t;
+typedef uint32_t hri_pdec_ccbuf_reg_t;
+typedef uint32_t hri_pdec_count_reg_t;
+typedef uint32_t hri_pdec_ctrla_reg_t;
+typedef uint32_t hri_pdec_syncbusy_reg_t;
+typedef uint8_t hri_pdec_ctrlbset_reg_t;
+typedef uint8_t hri_pdec_dbgctrl_reg_t;
+typedef uint8_t hri_pdec_filter_reg_t;
+typedef uint8_t hri_pdec_filterbuf_reg_t;
+typedef uint8_t hri_pdec_intenset_reg_t;
+typedef uint8_t hri_pdec_intflag_reg_t;
+typedef uint8_t hri_pdec_presc_reg_t;
+typedef uint8_t hri_pdec_prescbuf_reg_t;
+
+static inline void hri_pdec_wait_for_sync(const void *const hw, hri_pdec_syncbusy_reg_t reg)
+{
+ while (((Pdec *)hw)->SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_pdec_is_syncing(const void *const hw, hri_pdec_syncbusy_reg_t reg)
+{
+ return ((Pdec *)hw)->SYNCBUSY.reg & reg;
+}
+
+static inline bool hri_pdec_get_INTFLAG_OVF_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_OVF) >> PDEC_INTFLAG_OVF_Pos;
+}
+
+static inline void hri_pdec_clear_INTFLAG_OVF_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_OVF;
+}
+
+static inline bool hri_pdec_get_INTFLAG_ERR_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_ERR) >> PDEC_INTFLAG_ERR_Pos;
+}
+
+static inline void hri_pdec_clear_INTFLAG_ERR_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_ERR;
+}
+
+static inline bool hri_pdec_get_INTFLAG_DIR_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_DIR) >> PDEC_INTFLAG_DIR_Pos;
+}
+
+static inline void hri_pdec_clear_INTFLAG_DIR_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_DIR;
+}
+
+static inline bool hri_pdec_get_INTFLAG_VLC_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_VLC) >> PDEC_INTFLAG_VLC_Pos;
+}
+
+static inline void hri_pdec_clear_INTFLAG_VLC_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_VLC;
+}
+
+static inline bool hri_pdec_get_INTFLAG_MC0_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_MC0) >> PDEC_INTFLAG_MC0_Pos;
+}
+
+static inline void hri_pdec_clear_INTFLAG_MC0_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_MC0;
+}
+
+static inline bool hri_pdec_get_INTFLAG_MC1_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_MC1) >> PDEC_INTFLAG_MC1_Pos;
+}
+
+static inline void hri_pdec_clear_INTFLAG_MC1_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_MC1;
+}
+
+static inline bool hri_pdec_get_interrupt_OVF_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_OVF) >> PDEC_INTFLAG_OVF_Pos;
+}
+
+static inline void hri_pdec_clear_interrupt_OVF_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_OVF;
+}
+
+static inline bool hri_pdec_get_interrupt_ERR_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_ERR) >> PDEC_INTFLAG_ERR_Pos;
+}
+
+static inline void hri_pdec_clear_interrupt_ERR_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_ERR;
+}
+
+static inline bool hri_pdec_get_interrupt_DIR_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_DIR) >> PDEC_INTFLAG_DIR_Pos;
+}
+
+static inline void hri_pdec_clear_interrupt_DIR_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_DIR;
+}
+
+static inline bool hri_pdec_get_interrupt_VLC_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_VLC) >> PDEC_INTFLAG_VLC_Pos;
+}
+
+static inline void hri_pdec_clear_interrupt_VLC_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_VLC;
+}
+
+static inline bool hri_pdec_get_interrupt_MC0_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_MC0) >> PDEC_INTFLAG_MC0_Pos;
+}
+
+static inline void hri_pdec_clear_interrupt_MC0_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_MC0;
+}
+
+static inline bool hri_pdec_get_interrupt_MC1_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTFLAG.reg & PDEC_INTFLAG_MC1) >> PDEC_INTFLAG_MC1_Pos;
+}
+
+static inline void hri_pdec_clear_interrupt_MC1_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTFLAG.reg = PDEC_INTFLAG_MC1;
+}
+
+static inline hri_pdec_intflag_reg_t hri_pdec_get_INTFLAG_reg(const void *const hw, hri_pdec_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pdec *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pdec_intflag_reg_t hri_pdec_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Pdec *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_pdec_clear_INTFLAG_reg(const void *const hw, hri_pdec_intflag_reg_t mask)
+{
+ ((Pdec *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_pdec_set_CTRLB_LUPD_bit(const void *const hw)
+{
+ ((Pdec *)hw)->CTRLBSET.reg = PDEC_CTRLBSET_LUPD;
+}
+
+static inline bool hri_pdec_get_CTRLB_LUPD_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->CTRLBSET.reg & PDEC_CTRLBSET_LUPD) >> PDEC_CTRLBSET_LUPD_Pos;
+}
+
+static inline void hri_pdec_write_CTRLB_LUPD_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Pdec *)hw)->CTRLBCLR.reg = PDEC_CTRLBSET_LUPD;
+ } else {
+ ((Pdec *)hw)->CTRLBSET.reg = PDEC_CTRLBSET_LUPD;
+ }
+}
+
+static inline void hri_pdec_clear_CTRLB_LUPD_bit(const void *const hw)
+{
+ ((Pdec *)hw)->CTRLBCLR.reg = PDEC_CTRLBSET_LUPD;
+}
+
+static inline void hri_pdec_set_CTRLB_CMD_bf(const void *const hw, hri_pdec_ctrlbset_reg_t mask)
+{
+ ((Pdec *)hw)->CTRLBSET.reg = PDEC_CTRLBSET_CMD(mask);
+}
+
+static inline hri_pdec_ctrlbset_reg_t hri_pdec_get_CTRLB_CMD_bf(const void *const hw, hri_pdec_ctrlbset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pdec *)hw)->CTRLBSET.reg;
+ tmp = (tmp & PDEC_CTRLBSET_CMD(mask)) >> PDEC_CTRLBSET_CMD_Pos;
+ return tmp;
+}
+
+static inline hri_pdec_ctrlbset_reg_t hri_pdec_read_CTRLB_CMD_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Pdec *)hw)->CTRLBSET.reg;
+ tmp = (tmp & PDEC_CTRLBSET_CMD_Msk) >> PDEC_CTRLBSET_CMD_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_write_CTRLB_CMD_bf(const void *const hw, hri_pdec_ctrlbset_reg_t data)
+{
+ ((Pdec *)hw)->CTRLBSET.reg = PDEC_CTRLBSET_CMD(data);
+ ((Pdec *)hw)->CTRLBCLR.reg = ~PDEC_CTRLBSET_CMD(data);
+}
+
+static inline void hri_pdec_clear_CTRLB_CMD_bf(const void *const hw, hri_pdec_ctrlbset_reg_t mask)
+{
+ ((Pdec *)hw)->CTRLBCLR.reg = PDEC_CTRLBSET_CMD(mask);
+}
+
+static inline void hri_pdec_set_CTRLB_reg(const void *const hw, hri_pdec_ctrlbset_reg_t mask)
+{
+ ((Pdec *)hw)->CTRLBSET.reg = mask;
+}
+
+static inline hri_pdec_ctrlbset_reg_t hri_pdec_get_CTRLB_reg(const void *const hw, hri_pdec_ctrlbset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pdec *)hw)->CTRLBSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pdec_ctrlbset_reg_t hri_pdec_read_CTRLB_reg(const void *const hw)
+{
+ return ((Pdec *)hw)->CTRLBSET.reg;
+}
+
+static inline void hri_pdec_write_CTRLB_reg(const void *const hw, hri_pdec_ctrlbset_reg_t data)
+{
+ ((Pdec *)hw)->CTRLBSET.reg = data;
+ ((Pdec *)hw)->CTRLBCLR.reg = ~data;
+}
+
+static inline void hri_pdec_clear_CTRLB_reg(const void *const hw, hri_pdec_ctrlbset_reg_t mask)
+{
+ ((Pdec *)hw)->CTRLBCLR.reg = mask;
+}
+
+static inline void hri_pdec_set_INTEN_OVF_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_OVF;
+}
+
+static inline bool hri_pdec_get_INTEN_OVF_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTENSET.reg & PDEC_INTENSET_OVF) >> PDEC_INTENSET_OVF_Pos;
+}
+
+static inline void hri_pdec_write_INTEN_OVF_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_OVF;
+ } else {
+ ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_OVF;
+ }
+}
+
+static inline void hri_pdec_clear_INTEN_OVF_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_OVF;
+}
+
+static inline void hri_pdec_set_INTEN_ERR_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_ERR;
+}
+
+static inline bool hri_pdec_get_INTEN_ERR_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTENSET.reg & PDEC_INTENSET_ERR) >> PDEC_INTENSET_ERR_Pos;
+}
+
+static inline void hri_pdec_write_INTEN_ERR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_ERR;
+ } else {
+ ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_ERR;
+ }
+}
+
+static inline void hri_pdec_clear_INTEN_ERR_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_ERR;
+}
+
+static inline void hri_pdec_set_INTEN_DIR_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_DIR;
+}
+
+static inline bool hri_pdec_get_INTEN_DIR_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTENSET.reg & PDEC_INTENSET_DIR) >> PDEC_INTENSET_DIR_Pos;
+}
+
+static inline void hri_pdec_write_INTEN_DIR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_DIR;
+ } else {
+ ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_DIR;
+ }
+}
+
+static inline void hri_pdec_clear_INTEN_DIR_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_DIR;
+}
+
+static inline void hri_pdec_set_INTEN_VLC_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_VLC;
+}
+
+static inline bool hri_pdec_get_INTEN_VLC_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTENSET.reg & PDEC_INTENSET_VLC) >> PDEC_INTENSET_VLC_Pos;
+}
+
+static inline void hri_pdec_write_INTEN_VLC_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_VLC;
+ } else {
+ ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_VLC;
+ }
+}
+
+static inline void hri_pdec_clear_INTEN_VLC_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_VLC;
+}
+
+static inline void hri_pdec_set_INTEN_MC0_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_MC0;
+}
+
+static inline bool hri_pdec_get_INTEN_MC0_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTENSET.reg & PDEC_INTENSET_MC0) >> PDEC_INTENSET_MC0_Pos;
+}
+
+static inline void hri_pdec_write_INTEN_MC0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_MC0;
+ } else {
+ ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_MC0;
+ }
+}
+
+static inline void hri_pdec_clear_INTEN_MC0_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_MC0;
+}
+
+static inline void hri_pdec_set_INTEN_MC1_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_MC1;
+}
+
+static inline bool hri_pdec_get_INTEN_MC1_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->INTENSET.reg & PDEC_INTENSET_MC1) >> PDEC_INTENSET_MC1_Pos;
+}
+
+static inline void hri_pdec_write_INTEN_MC1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_MC1;
+ } else {
+ ((Pdec *)hw)->INTENSET.reg = PDEC_INTENSET_MC1;
+ }
+}
+
+static inline void hri_pdec_clear_INTEN_MC1_bit(const void *const hw)
+{
+ ((Pdec *)hw)->INTENCLR.reg = PDEC_INTENSET_MC1;
+}
+
+static inline void hri_pdec_set_INTEN_reg(const void *const hw, hri_pdec_intenset_reg_t mask)
+{
+ ((Pdec *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_pdec_intenset_reg_t hri_pdec_get_INTEN_reg(const void *const hw, hri_pdec_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pdec *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pdec_intenset_reg_t hri_pdec_read_INTEN_reg(const void *const hw)
+{
+ return ((Pdec *)hw)->INTENSET.reg;
+}
+
+static inline void hri_pdec_write_INTEN_reg(const void *const hw, hri_pdec_intenset_reg_t data)
+{
+ ((Pdec *)hw)->INTENSET.reg = data;
+ ((Pdec *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_pdec_clear_INTEN_reg(const void *const hw, hri_pdec_intenset_reg_t mask)
+{
+ ((Pdec *)hw)->INTENCLR.reg = mask;
+}
+
+static inline bool hri_pdec_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_SWRST) >> PDEC_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_pdec_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_ENABLE) >> PDEC_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_pdec_get_SYNCBUSY_CTRLB_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_CTRLB) >> PDEC_SYNCBUSY_CTRLB_Pos;
+}
+
+static inline bool hri_pdec_get_SYNCBUSY_STATUS_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_STATUS) >> PDEC_SYNCBUSY_STATUS_Pos;
+}
+
+static inline bool hri_pdec_get_SYNCBUSY_PRESC_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_PRESC) >> PDEC_SYNCBUSY_PRESC_Pos;
+}
+
+static inline bool hri_pdec_get_SYNCBUSY_FILTER_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_FILTER) >> PDEC_SYNCBUSY_FILTER_Pos;
+}
+
+static inline bool hri_pdec_get_SYNCBUSY_COUNT_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_COUNT) >> PDEC_SYNCBUSY_COUNT_Pos;
+}
+
+static inline bool hri_pdec_get_SYNCBUSY_CC0_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_CC0) >> PDEC_SYNCBUSY_CC0_Pos;
+}
+
+static inline bool hri_pdec_get_SYNCBUSY_CC1_bit(const void *const hw)
+{
+ return (((Pdec *)hw)->SYNCBUSY.reg & PDEC_SYNCBUSY_CC1) >> PDEC_SYNCBUSY_CC1_Pos;
+}
+
+static inline hri_pdec_syncbusy_reg_t hri_pdec_get_SYNCBUSY_reg(const void *const hw, hri_pdec_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pdec_syncbusy_reg_t hri_pdec_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Pdec *)hw)->SYNCBUSY.reg;
+}
+
+static inline void hri_pdec_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_SWRST;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST);
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_SWRST) >> PDEC_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_ENABLE;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE);
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_ENABLE) >> PDEC_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= ~PDEC_CTRLA_ENABLE;
+ tmp |= value << PDEC_CTRLA_ENABLE_Pos;
+ ((Pdec *)hw)->CTRLA.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_ENABLE;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_ENABLE;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_RUNSTDBY;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_RUNSTDBY) >> PDEC_CTRLA_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= ~PDEC_CTRLA_RUNSTDBY;
+ tmp |= value << PDEC_CTRLA_RUNSTDBY_Pos;
+ ((Pdec *)hw)->CTRLA.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_RUNSTDBY;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_RUNSTDBY;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_CTRLA_ALOCK_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_ALOCK;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_CTRLA_ALOCK_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_ALOCK) >> PDEC_CTRLA_ALOCK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_ALOCK_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= ~PDEC_CTRLA_ALOCK;
+ tmp |= value << PDEC_CTRLA_ALOCK_Pos;
+ ((Pdec *)hw)->CTRLA.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_ALOCK_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_ALOCK;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_ALOCK_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_ALOCK;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_CTRLA_SWAP_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_SWAP;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_CTRLA_SWAP_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_SWAP) >> PDEC_CTRLA_SWAP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_SWAP_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= ~PDEC_CTRLA_SWAP;
+ tmp |= value << PDEC_CTRLA_SWAP_Pos;
+ ((Pdec *)hw)->CTRLA.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_SWAP_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_SWAP;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_SWAP_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_SWAP;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_CTRLA_PEREN_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_PEREN;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_CTRLA_PEREN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_PEREN) >> PDEC_CTRLA_PEREN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_PEREN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= ~PDEC_CTRLA_PEREN;
+ tmp |= value << PDEC_CTRLA_PEREN_Pos;
+ ((Pdec *)hw)->CTRLA.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_PEREN_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_PEREN;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_PEREN_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_PEREN;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_CTRLA_PINEN0_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_PINEN0;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_CTRLA_PINEN0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_PINEN0) >> PDEC_CTRLA_PINEN0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_PINEN0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= ~PDEC_CTRLA_PINEN0;
+ tmp |= value << PDEC_CTRLA_PINEN0_Pos;
+ ((Pdec *)hw)->CTRLA.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_PINEN0_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_PINEN0;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_PINEN0_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_PINEN0;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_CTRLA_PINEN1_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_PINEN1;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_CTRLA_PINEN1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_PINEN1) >> PDEC_CTRLA_PINEN1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_PINEN1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= ~PDEC_CTRLA_PINEN1;
+ tmp |= value << PDEC_CTRLA_PINEN1_Pos;
+ ((Pdec *)hw)->CTRLA.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_PINEN1_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_PINEN1;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_PINEN1_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_PINEN1;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_CTRLA_PINEN2_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_PINEN2;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_CTRLA_PINEN2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_PINEN2) >> PDEC_CTRLA_PINEN2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_PINEN2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= ~PDEC_CTRLA_PINEN2;
+ tmp |= value << PDEC_CTRLA_PINEN2_Pos;
+ ((Pdec *)hw)->CTRLA.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_PINEN2_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_PINEN2;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_PINEN2_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_PINEN2;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_CTRLA_PINVEN0_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_PINVEN0;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_CTRLA_PINVEN0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_PINVEN0) >> PDEC_CTRLA_PINVEN0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_PINVEN0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= ~PDEC_CTRLA_PINVEN0;
+ tmp |= value << PDEC_CTRLA_PINVEN0_Pos;
+ ((Pdec *)hw)->CTRLA.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_PINVEN0_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_PINVEN0;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_PINVEN0_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_PINVEN0;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_CTRLA_PINVEN1_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_PINVEN1;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_CTRLA_PINVEN1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_PINVEN1) >> PDEC_CTRLA_PINVEN1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_PINVEN1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= ~PDEC_CTRLA_PINVEN1;
+ tmp |= value << PDEC_CTRLA_PINVEN1_Pos;
+ ((Pdec *)hw)->CTRLA.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_PINVEN1_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_PINVEN1;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_PINVEN1_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_PINVEN1;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_CTRLA_PINVEN2_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_PINVEN2;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_CTRLA_PINVEN2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_PINVEN2) >> PDEC_CTRLA_PINVEN2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_PINVEN2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= ~PDEC_CTRLA_PINVEN2;
+ tmp |= value << PDEC_CTRLA_PINVEN2_Pos;
+ ((Pdec *)hw)->CTRLA.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_PINVEN2_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_PINVEN2;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_PINVEN2_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_PINVEN2;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_CTRLA_MODE_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_MODE(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_ctrla_reg_t hri_pdec_get_CTRLA_MODE_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_MODE(mask)) >> PDEC_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_MODE_bf(const void *const hw, hri_pdec_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= ~PDEC_CTRLA_MODE_Msk;
+ tmp |= PDEC_CTRLA_MODE(data);
+ ((Pdec *)hw)->CTRLA.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_MODE_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_MODE(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_MODE_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_MODE(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_ctrla_reg_t hri_pdec_read_CTRLA_MODE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_MODE_Msk) >> PDEC_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_set_CTRLA_CONF_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_CONF(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_ctrla_reg_t hri_pdec_get_CTRLA_CONF_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_CONF(mask)) >> PDEC_CTRLA_CONF_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_CONF_bf(const void *const hw, hri_pdec_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= ~PDEC_CTRLA_CONF_Msk;
+ tmp |= PDEC_CTRLA_CONF(data);
+ ((Pdec *)hw)->CTRLA.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_CONF_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_CONF(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_CONF_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_CONF(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_ctrla_reg_t hri_pdec_read_CTRLA_CONF_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_CONF_Msk) >> PDEC_CTRLA_CONF_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_set_CTRLA_ANGULAR_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_ANGULAR(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_ctrla_reg_t hri_pdec_get_CTRLA_ANGULAR_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_ANGULAR(mask)) >> PDEC_CTRLA_ANGULAR_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_ANGULAR_bf(const void *const hw, hri_pdec_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= ~PDEC_CTRLA_ANGULAR_Msk;
+ tmp |= PDEC_CTRLA_ANGULAR(data);
+ ((Pdec *)hw)->CTRLA.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_ANGULAR_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_ANGULAR(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_ANGULAR_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_ANGULAR(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_ctrla_reg_t hri_pdec_read_CTRLA_ANGULAR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_ANGULAR_Msk) >> PDEC_CTRLA_ANGULAR_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_set_CTRLA_MAXCMP_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= PDEC_CTRLA_MAXCMP(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_ctrla_reg_t hri_pdec_get_CTRLA_MAXCMP_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_MAXCMP(mask)) >> PDEC_CTRLA_MAXCMP_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_MAXCMP_bf(const void *const hw, hri_pdec_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= ~PDEC_CTRLA_MAXCMP_Msk;
+ tmp |= PDEC_CTRLA_MAXCMP(data);
+ ((Pdec *)hw)->CTRLA.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_MAXCMP_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~PDEC_CTRLA_MAXCMP(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_MAXCMP_bf(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= PDEC_CTRLA_MAXCMP(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_ctrla_reg_t hri_pdec_read_CTRLA_MAXCMP_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp = (tmp & PDEC_CTRLA_MAXCMP_Msk) >> PDEC_CTRLA_MAXCMP_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_set_CTRLA_reg(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg |= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_ctrla_reg_t hri_pdec_get_CTRLA_reg(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE);
+ tmp = ((Pdec *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pdec_write_CTRLA_reg(const void *const hw, hri_pdec_ctrla_reg_t data)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg = data;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CTRLA_reg(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg &= ~mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CTRLA_reg(const void *const hw, hri_pdec_ctrla_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CTRLA.reg ^= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_ctrla_reg_t hri_pdec_read_CTRLA_reg(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_SWRST | PDEC_SYNCBUSY_ENABLE);
+ return ((Pdec *)hw)->CTRLA.reg;
+}
+
+static inline void hri_pdec_set_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_OVFEO;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp = (tmp & PDEC_EVCTRL_OVFEO) >> PDEC_EVCTRL_OVFEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_EVCTRL_OVFEO_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp &= ~PDEC_EVCTRL_OVFEO;
+ tmp |= value << PDEC_EVCTRL_OVFEO_Pos;
+ ((Pdec *)hw)->EVCTRL.reg = tmp;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_OVFEO;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_OVFEO;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_EVCTRL_ERREO_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_ERREO;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_EVCTRL_ERREO_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp = (tmp & PDEC_EVCTRL_ERREO) >> PDEC_EVCTRL_ERREO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_EVCTRL_ERREO_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp &= ~PDEC_EVCTRL_ERREO;
+ tmp |= value << PDEC_EVCTRL_ERREO_Pos;
+ ((Pdec *)hw)->EVCTRL.reg = tmp;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_EVCTRL_ERREO_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_ERREO;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_EVCTRL_ERREO_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_ERREO;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_EVCTRL_DIREO_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_DIREO;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_EVCTRL_DIREO_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp = (tmp & PDEC_EVCTRL_DIREO) >> PDEC_EVCTRL_DIREO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_EVCTRL_DIREO_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp &= ~PDEC_EVCTRL_DIREO;
+ tmp |= value << PDEC_EVCTRL_DIREO_Pos;
+ ((Pdec *)hw)->EVCTRL.reg = tmp;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_EVCTRL_DIREO_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_DIREO;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_EVCTRL_DIREO_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_DIREO;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_EVCTRL_VLCEO_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_VLCEO;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_EVCTRL_VLCEO_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp = (tmp & PDEC_EVCTRL_VLCEO) >> PDEC_EVCTRL_VLCEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_EVCTRL_VLCEO_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp &= ~PDEC_EVCTRL_VLCEO;
+ tmp |= value << PDEC_EVCTRL_VLCEO_Pos;
+ ((Pdec *)hw)->EVCTRL.reg = tmp;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_EVCTRL_VLCEO_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_VLCEO;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_EVCTRL_VLCEO_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_VLCEO;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_EVCTRL_MCEO0_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_MCEO0;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_EVCTRL_MCEO0_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp = (tmp & PDEC_EVCTRL_MCEO0) >> PDEC_EVCTRL_MCEO0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_EVCTRL_MCEO0_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp &= ~PDEC_EVCTRL_MCEO0;
+ tmp |= value << PDEC_EVCTRL_MCEO0_Pos;
+ ((Pdec *)hw)->EVCTRL.reg = tmp;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_EVCTRL_MCEO0_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_MCEO0;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_EVCTRL_MCEO0_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_MCEO0;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_EVCTRL_MCEO1_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_MCEO1;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_EVCTRL_MCEO1_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp = (tmp & PDEC_EVCTRL_MCEO1) >> PDEC_EVCTRL_MCEO1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_EVCTRL_MCEO1_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp &= ~PDEC_EVCTRL_MCEO1;
+ tmp |= value << PDEC_EVCTRL_MCEO1_Pos;
+ ((Pdec *)hw)->EVCTRL.reg = tmp;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_EVCTRL_MCEO1_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_MCEO1;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_EVCTRL_MCEO1_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_MCEO1;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_EVCTRL_EVACT_bf(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_EVACT(mask);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_evctrl_reg_t hri_pdec_get_EVCTRL_EVACT_bf(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp = (tmp & PDEC_EVCTRL_EVACT(mask)) >> PDEC_EVCTRL_EVACT_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_write_EVCTRL_EVACT_bf(const void *const hw, hri_pdec_evctrl_reg_t data)
+{
+ uint16_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp &= ~PDEC_EVCTRL_EVACT_Msk;
+ tmp |= PDEC_EVCTRL_EVACT(data);
+ ((Pdec *)hw)->EVCTRL.reg = tmp;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_EVCTRL_EVACT_bf(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_EVACT(mask);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_EVCTRL_EVACT_bf(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_EVACT(mask);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_evctrl_reg_t hri_pdec_read_EVCTRL_EVACT_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp = (tmp & PDEC_EVCTRL_EVACT_Msk) >> PDEC_EVCTRL_EVACT_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_set_EVCTRL_EVINV_bf(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_EVINV(mask);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_evctrl_reg_t hri_pdec_get_EVCTRL_EVINV_bf(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp = (tmp & PDEC_EVCTRL_EVINV(mask)) >> PDEC_EVCTRL_EVINV_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_write_EVCTRL_EVINV_bf(const void *const hw, hri_pdec_evctrl_reg_t data)
+{
+ uint16_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp &= ~PDEC_EVCTRL_EVINV_Msk;
+ tmp |= PDEC_EVCTRL_EVINV(data);
+ ((Pdec *)hw)->EVCTRL.reg = tmp;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_EVCTRL_EVINV_bf(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_EVINV(mask);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_EVCTRL_EVINV_bf(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_EVINV(mask);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_evctrl_reg_t hri_pdec_read_EVCTRL_EVINV_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp = (tmp & PDEC_EVCTRL_EVINV_Msk) >> PDEC_EVCTRL_EVINV_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_set_EVCTRL_EVEI_bf(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg |= PDEC_EVCTRL_EVEI(mask);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_evctrl_reg_t hri_pdec_get_EVCTRL_EVEI_bf(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp = (tmp & PDEC_EVCTRL_EVEI(mask)) >> PDEC_EVCTRL_EVEI_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_write_EVCTRL_EVEI_bf(const void *const hw, hri_pdec_evctrl_reg_t data)
+{
+ uint16_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp &= ~PDEC_EVCTRL_EVEI_Msk;
+ tmp |= PDEC_EVCTRL_EVEI(data);
+ ((Pdec *)hw)->EVCTRL.reg = tmp;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_EVCTRL_EVEI_bf(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg &= ~PDEC_EVCTRL_EVEI(mask);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_EVCTRL_EVEI_bf(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg ^= PDEC_EVCTRL_EVEI(mask);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_evctrl_reg_t hri_pdec_read_EVCTRL_EVEI_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp = (tmp & PDEC_EVCTRL_EVEI_Msk) >> PDEC_EVCTRL_EVEI_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_set_EVCTRL_reg(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg |= mask;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_evctrl_reg_t hri_pdec_get_EVCTRL_reg(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Pdec *)hw)->EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pdec_write_EVCTRL_reg(const void *const hw, hri_pdec_evctrl_reg_t data)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg = data;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_EVCTRL_reg(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg &= ~mask;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_EVCTRL_reg(const void *const hw, hri_pdec_evctrl_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->EVCTRL.reg ^= mask;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_evctrl_reg_t hri_pdec_read_EVCTRL_reg(const void *const hw)
+{
+ return ((Pdec *)hw)->EVCTRL.reg;
+}
+
+static inline void hri_pdec_set_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->DBGCTRL.reg |= PDEC_DBGCTRL_DBGRUN;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Pdec *)hw)->DBGCTRL.reg;
+ tmp = (tmp & PDEC_DBGCTRL_DBGRUN) >> PDEC_DBGCTRL_DBGRUN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pdec_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->DBGCTRL.reg;
+ tmp &= ~PDEC_DBGCTRL_DBGRUN;
+ tmp |= value << PDEC_DBGCTRL_DBGRUN_Pos;
+ ((Pdec *)hw)->DBGCTRL.reg = tmp;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->DBGCTRL.reg &= ~PDEC_DBGCTRL_DBGRUN;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->DBGCTRL.reg ^= PDEC_DBGCTRL_DBGRUN;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_set_DBGCTRL_reg(const void *const hw, hri_pdec_dbgctrl_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->DBGCTRL.reg |= mask;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_dbgctrl_reg_t hri_pdec_get_DBGCTRL_reg(const void *const hw, hri_pdec_dbgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pdec *)hw)->DBGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pdec_write_DBGCTRL_reg(const void *const hw, hri_pdec_dbgctrl_reg_t data)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->DBGCTRL.reg = data;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_DBGCTRL_reg(const void *const hw, hri_pdec_dbgctrl_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->DBGCTRL.reg &= ~mask;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_DBGCTRL_reg(const void *const hw, hri_pdec_dbgctrl_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->DBGCTRL.reg ^= mask;
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_dbgctrl_reg_t hri_pdec_read_DBGCTRL_reg(const void *const hw)
+{
+ return ((Pdec *)hw)->DBGCTRL.reg;
+}
+
+static inline void hri_pdec_set_PRESC_PRESC_bf(const void *const hw, hri_pdec_presc_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->PRESC.reg |= PDEC_PRESC_PRESC(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_presc_reg_t hri_pdec_get_PRESC_PRESC_bf(const void *const hw, hri_pdec_presc_reg_t mask)
+{
+ uint8_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC);
+ tmp = ((Pdec *)hw)->PRESC.reg;
+ tmp = (tmp & PDEC_PRESC_PRESC(mask)) >> PDEC_PRESC_PRESC_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_write_PRESC_PRESC_bf(const void *const hw, hri_pdec_presc_reg_t data)
+{
+ uint8_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->PRESC.reg;
+ tmp &= ~PDEC_PRESC_PRESC_Msk;
+ tmp |= PDEC_PRESC_PRESC(data);
+ ((Pdec *)hw)->PRESC.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_PRESC_PRESC_bf(const void *const hw, hri_pdec_presc_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->PRESC.reg &= ~PDEC_PRESC_PRESC(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_PRESC_PRESC_bf(const void *const hw, hri_pdec_presc_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->PRESC.reg ^= PDEC_PRESC_PRESC(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_presc_reg_t hri_pdec_read_PRESC_PRESC_bf(const void *const hw)
+{
+ uint8_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC);
+ tmp = ((Pdec *)hw)->PRESC.reg;
+ tmp = (tmp & PDEC_PRESC_PRESC_Msk) >> PDEC_PRESC_PRESC_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_set_PRESC_reg(const void *const hw, hri_pdec_presc_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->PRESC.reg |= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_presc_reg_t hri_pdec_get_PRESC_reg(const void *const hw, hri_pdec_presc_reg_t mask)
+{
+ uint8_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC);
+ tmp = ((Pdec *)hw)->PRESC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pdec_write_PRESC_reg(const void *const hw, hri_pdec_presc_reg_t data)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->PRESC.reg = data;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_PRESC_reg(const void *const hw, hri_pdec_presc_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->PRESC.reg &= ~mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_PRESC_reg(const void *const hw, hri_pdec_presc_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->PRESC.reg ^= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_presc_reg_t hri_pdec_read_PRESC_reg(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_PRESC);
+ return ((Pdec *)hw)->PRESC.reg;
+}
+
+static inline void hri_pdec_set_FILTER_FILTER_bf(const void *const hw, hri_pdec_filter_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->FILTER.reg |= PDEC_FILTER_FILTER(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_filter_reg_t hri_pdec_get_FILTER_FILTER_bf(const void *const hw, hri_pdec_filter_reg_t mask)
+{
+ uint8_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER);
+ tmp = ((Pdec *)hw)->FILTER.reg;
+ tmp = (tmp & PDEC_FILTER_FILTER(mask)) >> PDEC_FILTER_FILTER_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_write_FILTER_FILTER_bf(const void *const hw, hri_pdec_filter_reg_t data)
+{
+ uint8_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->FILTER.reg;
+ tmp &= ~PDEC_FILTER_FILTER_Msk;
+ tmp |= PDEC_FILTER_FILTER(data);
+ ((Pdec *)hw)->FILTER.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_FILTER_FILTER_bf(const void *const hw, hri_pdec_filter_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->FILTER.reg &= ~PDEC_FILTER_FILTER(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_FILTER_FILTER_bf(const void *const hw, hri_pdec_filter_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->FILTER.reg ^= PDEC_FILTER_FILTER(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_filter_reg_t hri_pdec_read_FILTER_FILTER_bf(const void *const hw)
+{
+ uint8_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER);
+ tmp = ((Pdec *)hw)->FILTER.reg;
+ tmp = (tmp & PDEC_FILTER_FILTER_Msk) >> PDEC_FILTER_FILTER_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_set_FILTER_reg(const void *const hw, hri_pdec_filter_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->FILTER.reg |= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_filter_reg_t hri_pdec_get_FILTER_reg(const void *const hw, hri_pdec_filter_reg_t mask)
+{
+ uint8_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER);
+ tmp = ((Pdec *)hw)->FILTER.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pdec_write_FILTER_reg(const void *const hw, hri_pdec_filter_reg_t data)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->FILTER.reg = data;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_FILTER_reg(const void *const hw, hri_pdec_filter_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->FILTER.reg &= ~mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_FILTER_reg(const void *const hw, hri_pdec_filter_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->FILTER.reg ^= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_filter_reg_t hri_pdec_read_FILTER_reg(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_FILTER);
+ return ((Pdec *)hw)->FILTER.reg;
+}
+
+static inline void hri_pdec_set_PRESCBUF_PRESCBUF_bf(const void *const hw, hri_pdec_prescbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->PRESCBUF.reg |= PDEC_PRESCBUF_PRESCBUF(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_prescbuf_reg_t hri_pdec_get_PRESCBUF_PRESCBUF_bf(const void *const hw,
+ hri_pdec_prescbuf_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pdec *)hw)->PRESCBUF.reg;
+ tmp = (tmp & PDEC_PRESCBUF_PRESCBUF(mask)) >> PDEC_PRESCBUF_PRESCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_write_PRESCBUF_PRESCBUF_bf(const void *const hw, hri_pdec_prescbuf_reg_t data)
+{
+ uint8_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->PRESCBUF.reg;
+ tmp &= ~PDEC_PRESCBUF_PRESCBUF_Msk;
+ tmp |= PDEC_PRESCBUF_PRESCBUF(data);
+ ((Pdec *)hw)->PRESCBUF.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_PRESCBUF_PRESCBUF_bf(const void *const hw, hri_pdec_prescbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->PRESCBUF.reg &= ~PDEC_PRESCBUF_PRESCBUF(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_PRESCBUF_PRESCBUF_bf(const void *const hw, hri_pdec_prescbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->PRESCBUF.reg ^= PDEC_PRESCBUF_PRESCBUF(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_prescbuf_reg_t hri_pdec_read_PRESCBUF_PRESCBUF_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Pdec *)hw)->PRESCBUF.reg;
+ tmp = (tmp & PDEC_PRESCBUF_PRESCBUF_Msk) >> PDEC_PRESCBUF_PRESCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_set_PRESCBUF_reg(const void *const hw, hri_pdec_prescbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->PRESCBUF.reg |= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_prescbuf_reg_t hri_pdec_get_PRESCBUF_reg(const void *const hw, hri_pdec_prescbuf_reg_t mask)
+{
+ uint8_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ tmp = ((Pdec *)hw)->PRESCBUF.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pdec_write_PRESCBUF_reg(const void *const hw, hri_pdec_prescbuf_reg_t data)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->PRESCBUF.reg = data;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_PRESCBUF_reg(const void *const hw, hri_pdec_prescbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->PRESCBUF.reg &= ~mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_PRESCBUF_reg(const void *const hw, hri_pdec_prescbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->PRESCBUF.reg ^= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_prescbuf_reg_t hri_pdec_read_PRESCBUF_reg(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ return ((Pdec *)hw)->PRESCBUF.reg;
+}
+
+static inline void hri_pdec_set_FILTERBUF_FILTERBUF_bf(const void *const hw, hri_pdec_filterbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->FILTERBUF.reg |= PDEC_FILTERBUF_FILTERBUF(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_filterbuf_reg_t hri_pdec_get_FILTERBUF_FILTERBUF_bf(const void *const hw,
+ hri_pdec_filterbuf_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pdec *)hw)->FILTERBUF.reg;
+ tmp = (tmp & PDEC_FILTERBUF_FILTERBUF(mask)) >> PDEC_FILTERBUF_FILTERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_write_FILTERBUF_FILTERBUF_bf(const void *const hw, hri_pdec_filterbuf_reg_t data)
+{
+ uint8_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->FILTERBUF.reg;
+ tmp &= ~PDEC_FILTERBUF_FILTERBUF_Msk;
+ tmp |= PDEC_FILTERBUF_FILTERBUF(data);
+ ((Pdec *)hw)->FILTERBUF.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_FILTERBUF_FILTERBUF_bf(const void *const hw, hri_pdec_filterbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->FILTERBUF.reg &= ~PDEC_FILTERBUF_FILTERBUF(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_FILTERBUF_FILTERBUF_bf(const void *const hw, hri_pdec_filterbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->FILTERBUF.reg ^= PDEC_FILTERBUF_FILTERBUF(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_filterbuf_reg_t hri_pdec_read_FILTERBUF_FILTERBUF_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Pdec *)hw)->FILTERBUF.reg;
+ tmp = (tmp & PDEC_FILTERBUF_FILTERBUF_Msk) >> PDEC_FILTERBUF_FILTERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_set_FILTERBUF_reg(const void *const hw, hri_pdec_filterbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->FILTERBUF.reg |= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_filterbuf_reg_t hri_pdec_get_FILTERBUF_reg(const void *const hw, hri_pdec_filterbuf_reg_t mask)
+{
+ uint8_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ tmp = ((Pdec *)hw)->FILTERBUF.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pdec_write_FILTERBUF_reg(const void *const hw, hri_pdec_filterbuf_reg_t data)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->FILTERBUF.reg = data;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_FILTERBUF_reg(const void *const hw, hri_pdec_filterbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->FILTERBUF.reg &= ~mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_FILTERBUF_reg(const void *const hw, hri_pdec_filterbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->FILTERBUF.reg ^= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_filterbuf_reg_t hri_pdec_read_FILTERBUF_reg(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ return ((Pdec *)hw)->FILTERBUF.reg;
+}
+
+static inline void hri_pdec_set_COUNT_COUNT_bf(const void *const hw, hri_pdec_count_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->COUNT.reg |= PDEC_COUNT_COUNT(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_count_reg_t hri_pdec_get_COUNT_COUNT_bf(const void *const hw, hri_pdec_count_reg_t mask)
+{
+ uint32_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT);
+ tmp = ((Pdec *)hw)->COUNT.reg;
+ tmp = (tmp & PDEC_COUNT_COUNT(mask)) >> PDEC_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_write_COUNT_COUNT_bf(const void *const hw, hri_pdec_count_reg_t data)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->COUNT.reg;
+ tmp &= ~PDEC_COUNT_COUNT_Msk;
+ tmp |= PDEC_COUNT_COUNT(data);
+ ((Pdec *)hw)->COUNT.reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_COUNT_COUNT_bf(const void *const hw, hri_pdec_count_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->COUNT.reg &= ~PDEC_COUNT_COUNT(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_COUNT_COUNT_bf(const void *const hw, hri_pdec_count_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->COUNT.reg ^= PDEC_COUNT_COUNT(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_count_reg_t hri_pdec_read_COUNT_COUNT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT);
+ tmp = ((Pdec *)hw)->COUNT.reg;
+ tmp = (tmp & PDEC_COUNT_COUNT_Msk) >> PDEC_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_set_COUNT_reg(const void *const hw, hri_pdec_count_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->COUNT.reg |= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_count_reg_t hri_pdec_get_COUNT_reg(const void *const hw, hri_pdec_count_reg_t mask)
+{
+ uint32_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT);
+ tmp = ((Pdec *)hw)->COUNT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pdec_write_COUNT_reg(const void *const hw, hri_pdec_count_reg_t data)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->COUNT.reg = data;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_COUNT_reg(const void *const hw, hri_pdec_count_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->COUNT.reg &= ~mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_COUNT_reg(const void *const hw, hri_pdec_count_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->COUNT.reg ^= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_count_reg_t hri_pdec_read_COUNT_reg(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_COUNT);
+ return ((Pdec *)hw)->COUNT.reg;
+}
+
+static inline void hri_pdec_set_CC_CC_bf(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CC[index].reg |= PDEC_CC_CC(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_cc_reg_t hri_pdec_get_CC_CC_bf(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask)
+{
+ uint32_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1);
+ tmp = ((Pdec *)hw)->CC[index].reg;
+ tmp = (tmp & PDEC_CC_CC(mask)) >> PDEC_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_write_CC_CC_bf(const void *const hw, uint8_t index, hri_pdec_cc_reg_t data)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CC[index].reg;
+ tmp &= ~PDEC_CC_CC_Msk;
+ tmp |= PDEC_CC_CC(data);
+ ((Pdec *)hw)->CC[index].reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CC_CC_bf(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CC[index].reg &= ~PDEC_CC_CC(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CC_CC_bf(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CC[index].reg ^= PDEC_CC_CC(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_cc_reg_t hri_pdec_read_CC_CC_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1);
+ tmp = ((Pdec *)hw)->CC[index].reg;
+ tmp = (tmp & PDEC_CC_CC_Msk) >> PDEC_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_set_CC_reg(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CC[index].reg |= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_cc_reg_t hri_pdec_get_CC_reg(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask)
+{
+ uint32_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1);
+ tmp = ((Pdec *)hw)->CC[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pdec_write_CC_reg(const void *const hw, uint8_t index, hri_pdec_cc_reg_t data)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CC[index].reg = data;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CC_reg(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CC[index].reg &= ~mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CC_reg(const void *const hw, uint8_t index, hri_pdec_cc_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CC[index].reg ^= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_cc_reg_t hri_pdec_read_CC_reg(const void *const hw, uint8_t index)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_CC0 | PDEC_SYNCBUSY_CC1);
+ return ((Pdec *)hw)->CC[index].reg;
+}
+
+static inline void hri_pdec_set_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CCBUF[index].reg |= PDEC_CCBUF_CCBUF(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_ccbuf_reg_t hri_pdec_get_CCBUF_CCBUF_bf(const void *const hw, uint8_t index,
+ hri_pdec_ccbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CCBUF[index].reg;
+ tmp = (tmp & PDEC_CCBUF_CCBUF(mask)) >> PDEC_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_write_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t data)
+{
+ uint32_t tmp;
+ PDEC_CRITICAL_SECTION_ENTER();
+ tmp = ((Pdec *)hw)->CCBUF[index].reg;
+ tmp &= ~PDEC_CCBUF_CCBUF_Msk;
+ tmp |= PDEC_CCBUF_CCBUF(data);
+ ((Pdec *)hw)->CCBUF[index].reg = tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CCBUF[index].reg &= ~PDEC_CCBUF_CCBUF(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CCBUF[index].reg ^= PDEC_CCBUF_CCBUF(mask);
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_ccbuf_reg_t hri_pdec_read_CCBUF_CCBUF_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Pdec *)hw)->CCBUF[index].reg;
+ tmp = (tmp & PDEC_CCBUF_CCBUF_Msk) >> PDEC_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_pdec_set_CCBUF_reg(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CCBUF[index].reg |= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_ccbuf_reg_t hri_pdec_get_CCBUF_reg(const void *const hw, uint8_t index,
+ hri_pdec_ccbuf_reg_t mask)
+{
+ uint32_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ tmp = ((Pdec *)hw)->CCBUF[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pdec_write_CCBUF_reg(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t data)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CCBUF[index].reg = data;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_clear_CCBUF_reg(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CCBUF[index].reg &= ~mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pdec_toggle_CCBUF_reg(const void *const hw, uint8_t index, hri_pdec_ccbuf_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->CCBUF[index].reg ^= mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_ccbuf_reg_t hri_pdec_read_CCBUF_reg(const void *const hw, uint8_t index)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ return ((Pdec *)hw)->CCBUF[index].reg;
+}
+
+static inline bool hri_pdec_get_STATUS_QERR_bit(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_QERR) >> PDEC_STATUS_QERR_Pos;
+}
+
+static inline void hri_pdec_clear_STATUS_QERR_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_QERR;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_STATUS_IDXERR_bit(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_IDXERR) >> PDEC_STATUS_IDXERR_Pos;
+}
+
+static inline void hri_pdec_clear_STATUS_IDXERR_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_IDXERR;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_STATUS_MPERR_bit(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_MPERR) >> PDEC_STATUS_MPERR_Pos;
+}
+
+static inline void hri_pdec_clear_STATUS_MPERR_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_MPERR;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_STATUS_WINERR_bit(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_WINERR) >> PDEC_STATUS_WINERR_Pos;
+}
+
+static inline void hri_pdec_clear_STATUS_WINERR_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_WINERR;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_STATUS_HERR_bit(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_HERR) >> PDEC_STATUS_HERR_Pos;
+}
+
+static inline void hri_pdec_clear_STATUS_HERR_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_HERR;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_STATUS_STOP_bit(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_STOP) >> PDEC_STATUS_STOP_Pos;
+}
+
+static inline void hri_pdec_clear_STATUS_STOP_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_STOP;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_STATUS_DIR_bit(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_DIR) >> PDEC_STATUS_DIR_Pos;
+}
+
+static inline void hri_pdec_clear_STATUS_DIR_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_DIR;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_STATUS_PRESCBUFV_bit(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_PRESCBUFV) >> PDEC_STATUS_PRESCBUFV_Pos;
+}
+
+static inline void hri_pdec_clear_STATUS_PRESCBUFV_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_PRESCBUFV;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_STATUS_FILTERBUFV_bit(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_FILTERBUFV) >> PDEC_STATUS_FILTERBUFV_Pos;
+}
+
+static inline void hri_pdec_clear_STATUS_FILTERBUFV_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_FILTERBUFV;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_STATUS_CCBUFV0_bit(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_CCBUFV0) >> PDEC_STATUS_CCBUFV0_Pos;
+}
+
+static inline void hri_pdec_clear_STATUS_CCBUFV0_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_CCBUFV0;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pdec_get_STATUS_CCBUFV1_bit(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ return (((Pdec *)hw)->STATUS.reg & PDEC_STATUS_CCBUFV1) >> PDEC_STATUS_CCBUFV1_Pos;
+}
+
+static inline void hri_pdec_clear_STATUS_CCBUFV1_bit(const void *const hw)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->STATUS.reg = PDEC_STATUS_CCBUFV1;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_status_reg_t hri_pdec_get_STATUS_reg(const void *const hw, hri_pdec_status_reg_t mask)
+{
+ uint16_t tmp;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ tmp = ((Pdec *)hw)->STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pdec_clear_STATUS_reg(const void *const hw, hri_pdec_status_reg_t mask)
+{
+ PDEC_CRITICAL_SECTION_ENTER();
+ ((Pdec *)hw)->STATUS.reg = mask;
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ PDEC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pdec_status_reg_t hri_pdec_read_STATUS_reg(const void *const hw)
+{
+ hri_pdec_wait_for_sync(hw, PDEC_SYNCBUSY_MASK);
+ return ((Pdec *)hw)->STATUS.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_PDEC_E54_H_INCLUDED */
+#endif /* _SAME54_PDEC_COMPONENT_ */
diff --git a/hri/hri_pm_e54.h b/hri/hri_pm_e54.h
new file mode 100644
index 0000000..0b91bee
--- /dev/null
+++ b/hri/hri_pm_e54.h
@@ -0,0 +1,820 @@
+/**
+ * \file
+ *
+ * \brief SAM PM
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_PM_COMPONENT_
+#ifndef _HRI_PM_E54_H_INCLUDED_
+#define _HRI_PM_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_PM_CRITICAL_SECTIONS)
+#define PM_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define PM_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define PM_CRITICAL_SECTION_ENTER()
+#define PM_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint8_t hri_pm_bkupcfg_reg_t;
+typedef uint8_t hri_pm_ctrla_reg_t;
+typedef uint8_t hri_pm_hibcfg_reg_t;
+typedef uint8_t hri_pm_intenset_reg_t;
+typedef uint8_t hri_pm_intflag_reg_t;
+typedef uint8_t hri_pm_pwsakdly_reg_t;
+typedef uint8_t hri_pm_sleepcfg_reg_t;
+typedef uint8_t hri_pm_stdbycfg_reg_t;
+
+static inline bool hri_pm_get_INTFLAG_SLEEPRDY_bit(const void *const hw)
+{
+ return (((Pm *)hw)->INTFLAG.reg & PM_INTFLAG_SLEEPRDY) >> PM_INTFLAG_SLEEPRDY_Pos;
+}
+
+static inline void hri_pm_clear_INTFLAG_SLEEPRDY_bit(const void *const hw)
+{
+ ((Pm *)hw)->INTFLAG.reg = PM_INTFLAG_SLEEPRDY;
+}
+
+static inline bool hri_pm_get_interrupt_SLEEPRDY_bit(const void *const hw)
+{
+ return (((Pm *)hw)->INTFLAG.reg & PM_INTFLAG_SLEEPRDY) >> PM_INTFLAG_SLEEPRDY_Pos;
+}
+
+static inline void hri_pm_clear_interrupt_SLEEPRDY_bit(const void *const hw)
+{
+ ((Pm *)hw)->INTFLAG.reg = PM_INTFLAG_SLEEPRDY;
+}
+
+static inline hri_pm_intflag_reg_t hri_pm_get_INTFLAG_reg(const void *const hw, hri_pm_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pm_intflag_reg_t hri_pm_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Pm *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_pm_clear_INTFLAG_reg(const void *const hw, hri_pm_intflag_reg_t mask)
+{
+ ((Pm *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_pm_set_INTEN_SLEEPRDY_bit(const void *const hw)
+{
+ ((Pm *)hw)->INTENSET.reg = PM_INTENSET_SLEEPRDY;
+}
+
+static inline bool hri_pm_get_INTEN_SLEEPRDY_bit(const void *const hw)
+{
+ return (((Pm *)hw)->INTENSET.reg & PM_INTENSET_SLEEPRDY) >> PM_INTENSET_SLEEPRDY_Pos;
+}
+
+static inline void hri_pm_write_INTEN_SLEEPRDY_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Pm *)hw)->INTENCLR.reg = PM_INTENSET_SLEEPRDY;
+ } else {
+ ((Pm *)hw)->INTENSET.reg = PM_INTENSET_SLEEPRDY;
+ }
+}
+
+static inline void hri_pm_clear_INTEN_SLEEPRDY_bit(const void *const hw)
+{
+ ((Pm *)hw)->INTENCLR.reg = PM_INTENSET_SLEEPRDY;
+}
+
+static inline void hri_pm_set_INTEN_reg(const void *const hw, hri_pm_intenset_reg_t mask)
+{
+ ((Pm *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_pm_intenset_reg_t hri_pm_get_INTEN_reg(const void *const hw, hri_pm_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_pm_intenset_reg_t hri_pm_read_INTEN_reg(const void *const hw)
+{
+ return ((Pm *)hw)->INTENSET.reg;
+}
+
+static inline void hri_pm_write_INTEN_reg(const void *const hw, hri_pm_intenset_reg_t data)
+{
+ ((Pm *)hw)->INTENSET.reg = data;
+ ((Pm *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_pm_clear_INTEN_reg(const void *const hw, hri_pm_intenset_reg_t mask)
+{
+ ((Pm *)hw)->INTENCLR.reg = mask;
+}
+
+static inline void hri_pm_set_CTRLA_IORET_bit(const void *const hw)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->CTRLA.reg |= PM_CTRLA_IORET;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pm_get_CTRLA_IORET_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->CTRLA.reg;
+ tmp = (tmp & PM_CTRLA_IORET) >> PM_CTRLA_IORET_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pm_write_CTRLA_IORET_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ PM_CRITICAL_SECTION_ENTER();
+ tmp = ((Pm *)hw)->CTRLA.reg;
+ tmp &= ~PM_CTRLA_IORET;
+ tmp |= value << PM_CTRLA_IORET_Pos;
+ ((Pm *)hw)->CTRLA.reg = tmp;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_clear_CTRLA_IORET_bit(const void *const hw)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->CTRLA.reg &= ~PM_CTRLA_IORET;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_toggle_CTRLA_IORET_bit(const void *const hw)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->CTRLA.reg ^= PM_CTRLA_IORET;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_set_CTRLA_reg(const void *const hw, hri_pm_ctrla_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->CTRLA.reg |= mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_ctrla_reg_t hri_pm_get_CTRLA_reg(const void *const hw, hri_pm_ctrla_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pm_write_CTRLA_reg(const void *const hw, hri_pm_ctrla_reg_t data)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->CTRLA.reg = data;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_clear_CTRLA_reg(const void *const hw, hri_pm_ctrla_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->CTRLA.reg &= ~mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_toggle_CTRLA_reg(const void *const hw, hri_pm_ctrla_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->CTRLA.reg ^= mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_ctrla_reg_t hri_pm_read_CTRLA_reg(const void *const hw)
+{
+ return ((Pm *)hw)->CTRLA.reg;
+}
+
+static inline void hri_pm_set_SLEEPCFG_SLEEPMODE_bf(const void *const hw, hri_pm_sleepcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->SLEEPCFG.reg |= PM_SLEEPCFG_SLEEPMODE(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_sleepcfg_reg_t hri_pm_get_SLEEPCFG_SLEEPMODE_bf(const void *const hw, hri_pm_sleepcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->SLEEPCFG.reg;
+ tmp = (tmp & PM_SLEEPCFG_SLEEPMODE(mask)) >> PM_SLEEPCFG_SLEEPMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_pm_write_SLEEPCFG_SLEEPMODE_bf(const void *const hw, hri_pm_sleepcfg_reg_t data)
+{
+ uint8_t tmp;
+ PM_CRITICAL_SECTION_ENTER();
+ tmp = ((Pm *)hw)->SLEEPCFG.reg;
+ tmp &= ~PM_SLEEPCFG_SLEEPMODE_Msk;
+ tmp |= PM_SLEEPCFG_SLEEPMODE(data);
+ ((Pm *)hw)->SLEEPCFG.reg = tmp;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_clear_SLEEPCFG_SLEEPMODE_bf(const void *const hw, hri_pm_sleepcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->SLEEPCFG.reg &= ~PM_SLEEPCFG_SLEEPMODE(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_toggle_SLEEPCFG_SLEEPMODE_bf(const void *const hw, hri_pm_sleepcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->SLEEPCFG.reg ^= PM_SLEEPCFG_SLEEPMODE(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_sleepcfg_reg_t hri_pm_read_SLEEPCFG_SLEEPMODE_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->SLEEPCFG.reg;
+ tmp = (tmp & PM_SLEEPCFG_SLEEPMODE_Msk) >> PM_SLEEPCFG_SLEEPMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_pm_set_SLEEPCFG_reg(const void *const hw, hri_pm_sleepcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->SLEEPCFG.reg |= mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_sleepcfg_reg_t hri_pm_get_SLEEPCFG_reg(const void *const hw, hri_pm_sleepcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->SLEEPCFG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pm_write_SLEEPCFG_reg(const void *const hw, hri_pm_sleepcfg_reg_t data)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->SLEEPCFG.reg = data;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_clear_SLEEPCFG_reg(const void *const hw, hri_pm_sleepcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->SLEEPCFG.reg &= ~mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_toggle_SLEEPCFG_reg(const void *const hw, hri_pm_sleepcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->SLEEPCFG.reg ^= mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_sleepcfg_reg_t hri_pm_read_SLEEPCFG_reg(const void *const hw)
+{
+ return ((Pm *)hw)->SLEEPCFG.reg;
+}
+
+static inline void hri_pm_set_STDBYCFG_RAMCFG_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->STDBYCFG.reg |= PM_STDBYCFG_RAMCFG(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_stdbycfg_reg_t hri_pm_get_STDBYCFG_RAMCFG_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->STDBYCFG.reg;
+ tmp = (tmp & PM_STDBYCFG_RAMCFG(mask)) >> PM_STDBYCFG_RAMCFG_Pos;
+ return tmp;
+}
+
+static inline void hri_pm_write_STDBYCFG_RAMCFG_bf(const void *const hw, hri_pm_stdbycfg_reg_t data)
+{
+ uint8_t tmp;
+ PM_CRITICAL_SECTION_ENTER();
+ tmp = ((Pm *)hw)->STDBYCFG.reg;
+ tmp &= ~PM_STDBYCFG_RAMCFG_Msk;
+ tmp |= PM_STDBYCFG_RAMCFG(data);
+ ((Pm *)hw)->STDBYCFG.reg = tmp;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_clear_STDBYCFG_RAMCFG_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->STDBYCFG.reg &= ~PM_STDBYCFG_RAMCFG(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_toggle_STDBYCFG_RAMCFG_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->STDBYCFG.reg ^= PM_STDBYCFG_RAMCFG(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_stdbycfg_reg_t hri_pm_read_STDBYCFG_RAMCFG_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->STDBYCFG.reg;
+ tmp = (tmp & PM_STDBYCFG_RAMCFG_Msk) >> PM_STDBYCFG_RAMCFG_Pos;
+ return tmp;
+}
+
+static inline void hri_pm_set_STDBYCFG_FASTWKUP_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->STDBYCFG.reg |= PM_STDBYCFG_FASTWKUP(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_stdbycfg_reg_t hri_pm_get_STDBYCFG_FASTWKUP_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->STDBYCFG.reg;
+ tmp = (tmp & PM_STDBYCFG_FASTWKUP(mask)) >> PM_STDBYCFG_FASTWKUP_Pos;
+ return tmp;
+}
+
+static inline void hri_pm_write_STDBYCFG_FASTWKUP_bf(const void *const hw, hri_pm_stdbycfg_reg_t data)
+{
+ uint8_t tmp;
+ PM_CRITICAL_SECTION_ENTER();
+ tmp = ((Pm *)hw)->STDBYCFG.reg;
+ tmp &= ~PM_STDBYCFG_FASTWKUP_Msk;
+ tmp |= PM_STDBYCFG_FASTWKUP(data);
+ ((Pm *)hw)->STDBYCFG.reg = tmp;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_clear_STDBYCFG_FASTWKUP_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->STDBYCFG.reg &= ~PM_STDBYCFG_FASTWKUP(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_toggle_STDBYCFG_FASTWKUP_bf(const void *const hw, hri_pm_stdbycfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->STDBYCFG.reg ^= PM_STDBYCFG_FASTWKUP(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_stdbycfg_reg_t hri_pm_read_STDBYCFG_FASTWKUP_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->STDBYCFG.reg;
+ tmp = (tmp & PM_STDBYCFG_FASTWKUP_Msk) >> PM_STDBYCFG_FASTWKUP_Pos;
+ return tmp;
+}
+
+static inline void hri_pm_set_STDBYCFG_reg(const void *const hw, hri_pm_stdbycfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->STDBYCFG.reg |= mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_stdbycfg_reg_t hri_pm_get_STDBYCFG_reg(const void *const hw, hri_pm_stdbycfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->STDBYCFG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pm_write_STDBYCFG_reg(const void *const hw, hri_pm_stdbycfg_reg_t data)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->STDBYCFG.reg = data;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_clear_STDBYCFG_reg(const void *const hw, hri_pm_stdbycfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->STDBYCFG.reg &= ~mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_toggle_STDBYCFG_reg(const void *const hw, hri_pm_stdbycfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->STDBYCFG.reg ^= mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_stdbycfg_reg_t hri_pm_read_STDBYCFG_reg(const void *const hw)
+{
+ return ((Pm *)hw)->STDBYCFG.reg;
+}
+
+static inline void hri_pm_set_HIBCFG_RAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->HIBCFG.reg |= PM_HIBCFG_RAMCFG(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_hibcfg_reg_t hri_pm_get_HIBCFG_RAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->HIBCFG.reg;
+ tmp = (tmp & PM_HIBCFG_RAMCFG(mask)) >> PM_HIBCFG_RAMCFG_Pos;
+ return tmp;
+}
+
+static inline void hri_pm_write_HIBCFG_RAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t data)
+{
+ uint8_t tmp;
+ PM_CRITICAL_SECTION_ENTER();
+ tmp = ((Pm *)hw)->HIBCFG.reg;
+ tmp &= ~PM_HIBCFG_RAMCFG_Msk;
+ tmp |= PM_HIBCFG_RAMCFG(data);
+ ((Pm *)hw)->HIBCFG.reg = tmp;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_clear_HIBCFG_RAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->HIBCFG.reg &= ~PM_HIBCFG_RAMCFG(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_toggle_HIBCFG_RAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->HIBCFG.reg ^= PM_HIBCFG_RAMCFG(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_hibcfg_reg_t hri_pm_read_HIBCFG_RAMCFG_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->HIBCFG.reg;
+ tmp = (tmp & PM_HIBCFG_RAMCFG_Msk) >> PM_HIBCFG_RAMCFG_Pos;
+ return tmp;
+}
+
+static inline void hri_pm_set_HIBCFG_BRAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->HIBCFG.reg |= PM_HIBCFG_BRAMCFG(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_hibcfg_reg_t hri_pm_get_HIBCFG_BRAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->HIBCFG.reg;
+ tmp = (tmp & PM_HIBCFG_BRAMCFG(mask)) >> PM_HIBCFG_BRAMCFG_Pos;
+ return tmp;
+}
+
+static inline void hri_pm_write_HIBCFG_BRAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t data)
+{
+ uint8_t tmp;
+ PM_CRITICAL_SECTION_ENTER();
+ tmp = ((Pm *)hw)->HIBCFG.reg;
+ tmp &= ~PM_HIBCFG_BRAMCFG_Msk;
+ tmp |= PM_HIBCFG_BRAMCFG(data);
+ ((Pm *)hw)->HIBCFG.reg = tmp;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_clear_HIBCFG_BRAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->HIBCFG.reg &= ~PM_HIBCFG_BRAMCFG(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_toggle_HIBCFG_BRAMCFG_bf(const void *const hw, hri_pm_hibcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->HIBCFG.reg ^= PM_HIBCFG_BRAMCFG(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_hibcfg_reg_t hri_pm_read_HIBCFG_BRAMCFG_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->HIBCFG.reg;
+ tmp = (tmp & PM_HIBCFG_BRAMCFG_Msk) >> PM_HIBCFG_BRAMCFG_Pos;
+ return tmp;
+}
+
+static inline void hri_pm_set_HIBCFG_reg(const void *const hw, hri_pm_hibcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->HIBCFG.reg |= mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_hibcfg_reg_t hri_pm_get_HIBCFG_reg(const void *const hw, hri_pm_hibcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->HIBCFG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pm_write_HIBCFG_reg(const void *const hw, hri_pm_hibcfg_reg_t data)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->HIBCFG.reg = data;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_clear_HIBCFG_reg(const void *const hw, hri_pm_hibcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->HIBCFG.reg &= ~mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_toggle_HIBCFG_reg(const void *const hw, hri_pm_hibcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->HIBCFG.reg ^= mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_hibcfg_reg_t hri_pm_read_HIBCFG_reg(const void *const hw)
+{
+ return ((Pm *)hw)->HIBCFG.reg;
+}
+
+static inline void hri_pm_set_BKUPCFG_BRAMCFG_bf(const void *const hw, hri_pm_bkupcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->BKUPCFG.reg |= PM_BKUPCFG_BRAMCFG(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_bkupcfg_reg_t hri_pm_get_BKUPCFG_BRAMCFG_bf(const void *const hw, hri_pm_bkupcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->BKUPCFG.reg;
+ tmp = (tmp & PM_BKUPCFG_BRAMCFG(mask)) >> PM_BKUPCFG_BRAMCFG_Pos;
+ return tmp;
+}
+
+static inline void hri_pm_write_BKUPCFG_BRAMCFG_bf(const void *const hw, hri_pm_bkupcfg_reg_t data)
+{
+ uint8_t tmp;
+ PM_CRITICAL_SECTION_ENTER();
+ tmp = ((Pm *)hw)->BKUPCFG.reg;
+ tmp &= ~PM_BKUPCFG_BRAMCFG_Msk;
+ tmp |= PM_BKUPCFG_BRAMCFG(data);
+ ((Pm *)hw)->BKUPCFG.reg = tmp;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_clear_BKUPCFG_BRAMCFG_bf(const void *const hw, hri_pm_bkupcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->BKUPCFG.reg &= ~PM_BKUPCFG_BRAMCFG(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_toggle_BKUPCFG_BRAMCFG_bf(const void *const hw, hri_pm_bkupcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->BKUPCFG.reg ^= PM_BKUPCFG_BRAMCFG(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_bkupcfg_reg_t hri_pm_read_BKUPCFG_BRAMCFG_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->BKUPCFG.reg;
+ tmp = (tmp & PM_BKUPCFG_BRAMCFG_Msk) >> PM_BKUPCFG_BRAMCFG_Pos;
+ return tmp;
+}
+
+static inline void hri_pm_set_BKUPCFG_reg(const void *const hw, hri_pm_bkupcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->BKUPCFG.reg |= mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_bkupcfg_reg_t hri_pm_get_BKUPCFG_reg(const void *const hw, hri_pm_bkupcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->BKUPCFG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pm_write_BKUPCFG_reg(const void *const hw, hri_pm_bkupcfg_reg_t data)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->BKUPCFG.reg = data;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_clear_BKUPCFG_reg(const void *const hw, hri_pm_bkupcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->BKUPCFG.reg &= ~mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_toggle_BKUPCFG_reg(const void *const hw, hri_pm_bkupcfg_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->BKUPCFG.reg ^= mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_bkupcfg_reg_t hri_pm_read_BKUPCFG_reg(const void *const hw)
+{
+ return ((Pm *)hw)->BKUPCFG.reg;
+}
+
+static inline void hri_pm_set_PWSAKDLY_IGNACK_bit(const void *const hw)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->PWSAKDLY.reg |= PM_PWSAKDLY_IGNACK;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_pm_get_PWSAKDLY_IGNACK_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->PWSAKDLY.reg;
+ tmp = (tmp & PM_PWSAKDLY_IGNACK) >> PM_PWSAKDLY_IGNACK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_pm_write_PWSAKDLY_IGNACK_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ PM_CRITICAL_SECTION_ENTER();
+ tmp = ((Pm *)hw)->PWSAKDLY.reg;
+ tmp &= ~PM_PWSAKDLY_IGNACK;
+ tmp |= value << PM_PWSAKDLY_IGNACK_Pos;
+ ((Pm *)hw)->PWSAKDLY.reg = tmp;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_clear_PWSAKDLY_IGNACK_bit(const void *const hw)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->PWSAKDLY.reg &= ~PM_PWSAKDLY_IGNACK;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_toggle_PWSAKDLY_IGNACK_bit(const void *const hw)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->PWSAKDLY.reg ^= PM_PWSAKDLY_IGNACK;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_set_PWSAKDLY_DLYVAL_bf(const void *const hw, hri_pm_pwsakdly_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->PWSAKDLY.reg |= PM_PWSAKDLY_DLYVAL(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_pwsakdly_reg_t hri_pm_get_PWSAKDLY_DLYVAL_bf(const void *const hw, hri_pm_pwsakdly_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->PWSAKDLY.reg;
+ tmp = (tmp & PM_PWSAKDLY_DLYVAL(mask)) >> PM_PWSAKDLY_DLYVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_pm_write_PWSAKDLY_DLYVAL_bf(const void *const hw, hri_pm_pwsakdly_reg_t data)
+{
+ uint8_t tmp;
+ PM_CRITICAL_SECTION_ENTER();
+ tmp = ((Pm *)hw)->PWSAKDLY.reg;
+ tmp &= ~PM_PWSAKDLY_DLYVAL_Msk;
+ tmp |= PM_PWSAKDLY_DLYVAL(data);
+ ((Pm *)hw)->PWSAKDLY.reg = tmp;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_clear_PWSAKDLY_DLYVAL_bf(const void *const hw, hri_pm_pwsakdly_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->PWSAKDLY.reg &= ~PM_PWSAKDLY_DLYVAL(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_toggle_PWSAKDLY_DLYVAL_bf(const void *const hw, hri_pm_pwsakdly_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->PWSAKDLY.reg ^= PM_PWSAKDLY_DLYVAL(mask);
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_pwsakdly_reg_t hri_pm_read_PWSAKDLY_DLYVAL_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->PWSAKDLY.reg;
+ tmp = (tmp & PM_PWSAKDLY_DLYVAL_Msk) >> PM_PWSAKDLY_DLYVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_pm_set_PWSAKDLY_reg(const void *const hw, hri_pm_pwsakdly_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->PWSAKDLY.reg |= mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_pwsakdly_reg_t hri_pm_get_PWSAKDLY_reg(const void *const hw, hri_pm_pwsakdly_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Pm *)hw)->PWSAKDLY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_pm_write_PWSAKDLY_reg(const void *const hw, hri_pm_pwsakdly_reg_t data)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->PWSAKDLY.reg = data;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_clear_PWSAKDLY_reg(const void *const hw, hri_pm_pwsakdly_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->PWSAKDLY.reg &= ~mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_pm_toggle_PWSAKDLY_reg(const void *const hw, hri_pm_pwsakdly_reg_t mask)
+{
+ PM_CRITICAL_SECTION_ENTER();
+ ((Pm *)hw)->PWSAKDLY.reg ^= mask;
+ PM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_pm_pwsakdly_reg_t hri_pm_read_PWSAKDLY_reg(const void *const hw)
+{
+ return ((Pm *)hw)->PWSAKDLY.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_PM_E54_H_INCLUDED */
+#endif /* _SAME54_PM_COMPONENT_ */
diff --git a/hri/hri_port_e54.h b/hri/hri_port_e54.h
new file mode 100644
index 0000000..261fcf5
--- /dev/null
+++ b/hri/hri_port_e54.h
@@ -0,0 +1,2528 @@
+/**
+ * \file
+ *
+ * \brief SAM PORT
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_PORT_COMPONENT_
+#ifndef _HRI_PORT_E54_H_INCLUDED_
+#define _HRI_PORT_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_PORT_CRITICAL_SECTIONS)
+#define PORT_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define PORT_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define PORT_CRITICAL_SECTION_ENTER()
+#define PORT_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_port_ctrl_reg_t;
+typedef uint32_t hri_port_dir_reg_t;
+typedef uint32_t hri_port_evctrl_reg_t;
+typedef uint32_t hri_port_in_reg_t;
+typedef uint32_t hri_port_out_reg_t;
+typedef uint32_t hri_port_wrconfig_reg_t;
+typedef uint32_t hri_portgroup_ctrl_reg_t;
+typedef uint32_t hri_portgroup_dir_reg_t;
+typedef uint32_t hri_portgroup_evctrl_reg_t;
+typedef uint32_t hri_portgroup_in_reg_t;
+typedef uint32_t hri_portgroup_out_reg_t;
+typedef uint32_t hri_portgroup_wrconfig_reg_t;
+typedef uint8_t hri_port_pincfg_reg_t;
+typedef uint8_t hri_port_pmux_reg_t;
+typedef uint8_t hri_portgroup_pincfg_reg_t;
+typedef uint8_t hri_portgroup_pmux_reg_t;
+
+static inline void hri_portgroup_set_DIR_DIR_bf(const void *const hw, hri_port_dir_reg_t mask)
+{
+ ((PortGroup *)hw)->DIRSET.reg = PORT_DIR_DIR(mask);
+}
+
+static inline hri_port_dir_reg_t hri_portgroup_get_DIR_DIR_bf(const void *const hw, hri_port_dir_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->DIR.reg;
+ tmp = (tmp & PORT_DIR_DIR(mask)) >> PORT_DIR_DIR_Pos;
+ return tmp;
+}
+
+static inline hri_port_dir_reg_t hri_portgroup_read_DIR_DIR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->DIR.reg;
+ tmp = (tmp & PORT_DIR_DIR_Msk) >> PORT_DIR_DIR_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_DIR_DIR_bf(const void *const hw, hri_port_dir_reg_t data)
+{
+ ((PortGroup *)hw)->DIRSET.reg = PORT_DIR_DIR(data);
+ ((PortGroup *)hw)->DIRCLR.reg = ~PORT_DIR_DIR(data);
+}
+
+static inline void hri_portgroup_clear_DIR_DIR_bf(const void *const hw, hri_port_dir_reg_t mask)
+{
+ ((PortGroup *)hw)->DIRCLR.reg = PORT_DIR_DIR(mask);
+}
+
+static inline void hri_portgroup_toggle_DIR_DIR_bf(const void *const hw, hri_port_dir_reg_t mask)
+{
+ ((PortGroup *)hw)->DIRTGL.reg = PORT_DIR_DIR(mask);
+}
+
+static inline void hri_portgroup_set_DIR_reg(const void *const hw, hri_port_dir_reg_t mask)
+{
+ ((PortGroup *)hw)->DIRSET.reg = mask;
+}
+
+static inline hri_port_dir_reg_t hri_portgroup_get_DIR_reg(const void *const hw, hri_port_dir_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->DIR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_port_dir_reg_t hri_portgroup_read_DIR_reg(const void *const hw)
+{
+ return ((PortGroup *)hw)->DIR.reg;
+}
+
+static inline void hri_portgroup_write_DIR_reg(const void *const hw, hri_port_dir_reg_t data)
+{
+ ((PortGroup *)hw)->DIRSET.reg = data;
+ ((PortGroup *)hw)->DIRCLR.reg = ~data;
+}
+
+static inline void hri_portgroup_clear_DIR_reg(const void *const hw, hri_port_dir_reg_t mask)
+{
+ ((PortGroup *)hw)->DIRCLR.reg = mask;
+}
+
+static inline void hri_portgroup_toggle_DIR_reg(const void *const hw, hri_port_dir_reg_t mask)
+{
+ ((PortGroup *)hw)->DIRTGL.reg = mask;
+}
+
+static inline void hri_portgroup_set_OUT_OUT_bf(const void *const hw, hri_port_out_reg_t mask)
+{
+ ((PortGroup *)hw)->OUTSET.reg = PORT_OUT_OUT(mask);
+}
+
+static inline hri_port_out_reg_t hri_portgroup_get_OUT_OUT_bf(const void *const hw, hri_port_out_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->OUT.reg;
+ tmp = (tmp & PORT_OUT_OUT(mask)) >> PORT_OUT_OUT_Pos;
+ return tmp;
+}
+
+static inline hri_port_out_reg_t hri_portgroup_read_OUT_OUT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->OUT.reg;
+ tmp = (tmp & PORT_OUT_OUT_Msk) >> PORT_OUT_OUT_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_OUT_OUT_bf(const void *const hw, hri_port_out_reg_t data)
+{
+ ((PortGroup *)hw)->OUTSET.reg = PORT_OUT_OUT(data);
+ ((PortGroup *)hw)->OUTCLR.reg = ~PORT_OUT_OUT(data);
+}
+
+static inline void hri_portgroup_clear_OUT_OUT_bf(const void *const hw, hri_port_out_reg_t mask)
+{
+ ((PortGroup *)hw)->OUTCLR.reg = PORT_OUT_OUT(mask);
+}
+
+static inline void hri_portgroup_toggle_OUT_OUT_bf(const void *const hw, hri_port_out_reg_t mask)
+{
+ ((PortGroup *)hw)->OUTTGL.reg = PORT_OUT_OUT(mask);
+}
+
+static inline void hri_portgroup_set_OUT_reg(const void *const hw, hri_port_out_reg_t mask)
+{
+ ((PortGroup *)hw)->OUTSET.reg = mask;
+}
+
+static inline hri_port_out_reg_t hri_portgroup_get_OUT_reg(const void *const hw, hri_port_out_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->OUT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_port_out_reg_t hri_portgroup_read_OUT_reg(const void *const hw)
+{
+ return ((PortGroup *)hw)->OUT.reg;
+}
+
+static inline void hri_portgroup_write_OUT_reg(const void *const hw, hri_port_out_reg_t data)
+{
+ ((PortGroup *)hw)->OUTSET.reg = data;
+ ((PortGroup *)hw)->OUTCLR.reg = ~data;
+}
+
+static inline void hri_portgroup_clear_OUT_reg(const void *const hw, hri_port_out_reg_t mask)
+{
+ ((PortGroup *)hw)->OUTCLR.reg = mask;
+}
+
+static inline void hri_portgroup_toggle_OUT_reg(const void *const hw, hri_port_out_reg_t mask)
+{
+ ((PortGroup *)hw)->OUTTGL.reg = mask;
+}
+
+static inline hri_port_in_reg_t hri_portgroup_get_IN_IN_bf(const void *const hw, hri_port_in_reg_t mask)
+{
+ return (((PortGroup *)hw)->IN.reg & PORT_IN_IN(mask)) >> PORT_IN_IN_Pos;
+}
+
+static inline hri_port_in_reg_t hri_portgroup_read_IN_IN_bf(const void *const hw)
+{
+ return (((PortGroup *)hw)->IN.reg & PORT_IN_IN_Msk) >> PORT_IN_IN_Pos;
+}
+
+static inline hri_port_in_reg_t hri_portgroup_get_IN_reg(const void *const hw, hri_port_in_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->IN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_port_in_reg_t hri_portgroup_read_IN_reg(const void *const hw)
+{
+ return ((PortGroup *)hw)->IN.reg;
+}
+
+static inline void hri_portgroup_set_CTRL_SAMPLING_bf(const void *const hw, hri_port_ctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->CTRL.reg |= PORT_CTRL_SAMPLING(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_ctrl_reg_t hri_portgroup_get_CTRL_SAMPLING_bf(const void *const hw, hri_port_ctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->CTRL.reg;
+ tmp = (tmp & PORT_CTRL_SAMPLING(mask)) >> PORT_CTRL_SAMPLING_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_CTRL_SAMPLING_bf(const void *const hw, hri_port_ctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->CTRL.reg;
+ tmp &= ~PORT_CTRL_SAMPLING_Msk;
+ tmp |= PORT_CTRL_SAMPLING(data);
+ ((PortGroup *)hw)->CTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_CTRL_SAMPLING_bf(const void *const hw, hri_port_ctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->CTRL.reg &= ~PORT_CTRL_SAMPLING(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_CTRL_SAMPLING_bf(const void *const hw, hri_port_ctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->CTRL.reg ^= PORT_CTRL_SAMPLING(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_ctrl_reg_t hri_portgroup_read_CTRL_SAMPLING_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->CTRL.reg;
+ tmp = (tmp & PORT_CTRL_SAMPLING_Msk) >> PORT_CTRL_SAMPLING_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_set_CTRL_reg(const void *const hw, hri_port_ctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->CTRL.reg |= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_ctrl_reg_t hri_portgroup_get_CTRL_reg(const void *const hw, hri_port_ctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->CTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_CTRL_reg(const void *const hw, hri_port_ctrl_reg_t data)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->CTRL.reg = data;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_CTRL_reg(const void *const hw, hri_port_ctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->CTRL.reg &= ~mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_CTRL_reg(const void *const hw, hri_port_ctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->CTRL.reg ^= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_ctrl_reg_t hri_portgroup_read_CTRL_reg(const void *const hw)
+{
+ return ((PortGroup *)hw)->CTRL.reg;
+}
+
+static inline void hri_portgroup_set_EVCTRL_PORTEI0_bit(const void *const hw)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PORTEI0;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_portgroup_get_EVCTRL_PORTEI0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PORTEI0) >> PORT_EVCTRL_PORTEI0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_portgroup_write_EVCTRL_PORTEI0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PORTEI0;
+ tmp |= value << PORT_EVCTRL_PORTEI0_Pos;
+ ((PortGroup *)hw)->EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_EVCTRL_PORTEI0_bit(const void *const hw)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PORTEI0;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_EVCTRL_PORTEI0_bit(const void *const hw)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PORTEI0;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_set_EVCTRL_PORTEI1_bit(const void *const hw)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PORTEI1;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_portgroup_get_EVCTRL_PORTEI1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PORTEI1) >> PORT_EVCTRL_PORTEI1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_portgroup_write_EVCTRL_PORTEI1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PORTEI1;
+ tmp |= value << PORT_EVCTRL_PORTEI1_Pos;
+ ((PortGroup *)hw)->EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_EVCTRL_PORTEI1_bit(const void *const hw)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PORTEI1;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_EVCTRL_PORTEI1_bit(const void *const hw)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PORTEI1;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_set_EVCTRL_PORTEI2_bit(const void *const hw)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PORTEI2;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_portgroup_get_EVCTRL_PORTEI2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PORTEI2) >> PORT_EVCTRL_PORTEI2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_portgroup_write_EVCTRL_PORTEI2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PORTEI2;
+ tmp |= value << PORT_EVCTRL_PORTEI2_Pos;
+ ((PortGroup *)hw)->EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_EVCTRL_PORTEI2_bit(const void *const hw)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PORTEI2;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_EVCTRL_PORTEI2_bit(const void *const hw)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PORTEI2;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_set_EVCTRL_PORTEI3_bit(const void *const hw)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PORTEI3;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_portgroup_get_EVCTRL_PORTEI3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PORTEI3) >> PORT_EVCTRL_PORTEI3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_portgroup_write_EVCTRL_PORTEI3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PORTEI3;
+ tmp |= value << PORT_EVCTRL_PORTEI3_Pos;
+ ((PortGroup *)hw)->EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_EVCTRL_PORTEI3_bit(const void *const hw)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PORTEI3;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_EVCTRL_PORTEI3_bit(const void *const hw)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PORTEI3;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_set_EVCTRL_PID0_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PID0(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_PID0_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID0(mask)) >> PORT_EVCTRL_PID0_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_EVCTRL_PID0_bf(const void *const hw, hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PID0_Msk;
+ tmp |= PORT_EVCTRL_PID0(data);
+ ((PortGroup *)hw)->EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_EVCTRL_PID0_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PID0(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_EVCTRL_PID0_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PID0(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_PID0_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID0_Msk) >> PORT_EVCTRL_PID0_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_set_EVCTRL_EVACT0_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_EVACT0(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_EVACT0_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT0(mask)) >> PORT_EVCTRL_EVACT0_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_EVCTRL_EVACT0_bf(const void *const hw, hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_EVACT0_Msk;
+ tmp |= PORT_EVCTRL_EVACT0(data);
+ ((PortGroup *)hw)->EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_EVCTRL_EVACT0_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_EVACT0(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_EVCTRL_EVACT0_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_EVACT0(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_EVACT0_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT0_Msk) >> PORT_EVCTRL_EVACT0_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_set_EVCTRL_PID1_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PID1(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_PID1_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID1(mask)) >> PORT_EVCTRL_PID1_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_EVCTRL_PID1_bf(const void *const hw, hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PID1_Msk;
+ tmp |= PORT_EVCTRL_PID1(data);
+ ((PortGroup *)hw)->EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_EVCTRL_PID1_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PID1(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_EVCTRL_PID1_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PID1(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_PID1_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID1_Msk) >> PORT_EVCTRL_PID1_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_set_EVCTRL_EVACT1_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_EVACT1(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_EVACT1_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT1(mask)) >> PORT_EVCTRL_EVACT1_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_EVCTRL_EVACT1_bf(const void *const hw, hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_EVACT1_Msk;
+ tmp |= PORT_EVCTRL_EVACT1(data);
+ ((PortGroup *)hw)->EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_EVCTRL_EVACT1_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_EVACT1(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_EVCTRL_EVACT1_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_EVACT1(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_EVACT1_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT1_Msk) >> PORT_EVCTRL_EVACT1_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_set_EVCTRL_PID2_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PID2(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_PID2_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID2(mask)) >> PORT_EVCTRL_PID2_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_EVCTRL_PID2_bf(const void *const hw, hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PID2_Msk;
+ tmp |= PORT_EVCTRL_PID2(data);
+ ((PortGroup *)hw)->EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_EVCTRL_PID2_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PID2(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_EVCTRL_PID2_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PID2(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_PID2_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID2_Msk) >> PORT_EVCTRL_PID2_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_set_EVCTRL_EVACT2_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_EVACT2(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_EVACT2_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT2(mask)) >> PORT_EVCTRL_EVACT2_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_EVCTRL_EVACT2_bf(const void *const hw, hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_EVACT2_Msk;
+ tmp |= PORT_EVCTRL_EVACT2(data);
+ ((PortGroup *)hw)->EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_EVCTRL_EVACT2_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_EVACT2(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_EVCTRL_EVACT2_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_EVACT2(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_EVACT2_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT2_Msk) >> PORT_EVCTRL_EVACT2_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_set_EVCTRL_PID3_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_PID3(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_PID3_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID3(mask)) >> PORT_EVCTRL_PID3_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_EVCTRL_PID3_bf(const void *const hw, hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PID3_Msk;
+ tmp |= PORT_EVCTRL_PID3(data);
+ ((PortGroup *)hw)->EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_EVCTRL_PID3_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_PID3(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_EVCTRL_PID3_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_PID3(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_PID3_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID3_Msk) >> PORT_EVCTRL_PID3_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_set_EVCTRL_EVACT3_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg |= PORT_EVCTRL_EVACT3(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_EVACT3_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT3(mask)) >> PORT_EVCTRL_EVACT3_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_EVCTRL_EVACT3_bf(const void *const hw, hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_EVACT3_Msk;
+ tmp |= PORT_EVCTRL_EVACT3(data);
+ ((PortGroup *)hw)->EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_EVCTRL_EVACT3_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg &= ~PORT_EVCTRL_EVACT3(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_EVCTRL_EVACT3_bf(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg ^= PORT_EVCTRL_EVACT3(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_EVACT3_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT3_Msk) >> PORT_EVCTRL_EVACT3_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_set_EVCTRL_reg(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg |= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_get_EVCTRL_reg(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((PortGroup *)hw)->EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_EVCTRL_reg(const void *const hw, hri_port_evctrl_reg_t data)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg = data;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_EVCTRL_reg(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg &= ~mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_EVCTRL_reg(const void *const hw, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->EVCTRL.reg ^= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_portgroup_read_EVCTRL_reg(const void *const hw)
+{
+ return ((PortGroup *)hw)->EVCTRL.reg;
+}
+
+static inline void hri_portgroup_set_PMUX_PMUXE_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PMUX[index].reg |= PORT_PMUX_PMUXE(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pmux_reg_t hri_portgroup_get_PMUX_PMUXE_bf(const void *const hw, uint8_t index,
+ hri_port_pmux_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((PortGroup *)hw)->PMUX[index].reg;
+ tmp = (tmp & PORT_PMUX_PMUXE(mask)) >> PORT_PMUX_PMUXE_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_PMUX_PMUXE_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t data)
+{
+ uint8_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->PMUX[index].reg;
+ tmp &= ~PORT_PMUX_PMUXE_Msk;
+ tmp |= PORT_PMUX_PMUXE(data);
+ ((PortGroup *)hw)->PMUX[index].reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_PMUX_PMUXE_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PMUX[index].reg &= ~PORT_PMUX_PMUXE(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_PMUX_PMUXE_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PMUX[index].reg ^= PORT_PMUX_PMUXE(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pmux_reg_t hri_portgroup_read_PMUX_PMUXE_bf(const void *const hw, uint8_t index)
+{
+ uint8_t tmp;
+ tmp = ((PortGroup *)hw)->PMUX[index].reg;
+ tmp = (tmp & PORT_PMUX_PMUXE_Msk) >> PORT_PMUX_PMUXE_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_set_PMUX_PMUXO_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PMUX[index].reg |= PORT_PMUX_PMUXO(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pmux_reg_t hri_portgroup_get_PMUX_PMUXO_bf(const void *const hw, uint8_t index,
+ hri_port_pmux_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((PortGroup *)hw)->PMUX[index].reg;
+ tmp = (tmp & PORT_PMUX_PMUXO(mask)) >> PORT_PMUX_PMUXO_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_PMUX_PMUXO_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t data)
+{
+ uint8_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->PMUX[index].reg;
+ tmp &= ~PORT_PMUX_PMUXO_Msk;
+ tmp |= PORT_PMUX_PMUXO(data);
+ ((PortGroup *)hw)->PMUX[index].reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_PMUX_PMUXO_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PMUX[index].reg &= ~PORT_PMUX_PMUXO(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_PMUX_PMUXO_bf(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PMUX[index].reg ^= PORT_PMUX_PMUXO(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pmux_reg_t hri_portgroup_read_PMUX_PMUXO_bf(const void *const hw, uint8_t index)
+{
+ uint8_t tmp;
+ tmp = ((PortGroup *)hw)->PMUX[index].reg;
+ tmp = (tmp & PORT_PMUX_PMUXO_Msk) >> PORT_PMUX_PMUXO_Pos;
+ return tmp;
+}
+
+static inline void hri_portgroup_set_PMUX_reg(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PMUX[index].reg |= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pmux_reg_t hri_portgroup_get_PMUX_reg(const void *const hw, uint8_t index,
+ hri_port_pmux_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((PortGroup *)hw)->PMUX[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_PMUX_reg(const void *const hw, uint8_t index, hri_port_pmux_reg_t data)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PMUX[index].reg = data;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_PMUX_reg(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PMUX[index].reg &= ~mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_PMUX_reg(const void *const hw, uint8_t index, hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PMUX[index].reg ^= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pmux_reg_t hri_portgroup_read_PMUX_reg(const void *const hw, uint8_t index)
+{
+ return ((PortGroup *)hw)->PMUX[index].reg;
+}
+
+static inline void hri_portgroup_set_PINCFG_PMUXEN_bit(const void *const hw, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg |= PORT_PINCFG_PMUXEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_portgroup_get_PINCFG_PMUXEN_bit(const void *const hw, uint8_t index)
+{
+ uint8_t tmp;
+ tmp = ((PortGroup *)hw)->PINCFG[index].reg;
+ tmp = (tmp & PORT_PINCFG_PMUXEN) >> PORT_PINCFG_PMUXEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_portgroup_write_PINCFG_PMUXEN_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint8_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->PINCFG[index].reg;
+ tmp &= ~PORT_PINCFG_PMUXEN;
+ tmp |= value << PORT_PINCFG_PMUXEN_Pos;
+ ((PortGroup *)hw)->PINCFG[index].reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_PINCFG_PMUXEN_bit(const void *const hw, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg &= ~PORT_PINCFG_PMUXEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_PINCFG_PMUXEN_bit(const void *const hw, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg ^= PORT_PINCFG_PMUXEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_set_PINCFG_INEN_bit(const void *const hw, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg |= PORT_PINCFG_INEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_portgroup_get_PINCFG_INEN_bit(const void *const hw, uint8_t index)
+{
+ uint8_t tmp;
+ tmp = ((PortGroup *)hw)->PINCFG[index].reg;
+ tmp = (tmp & PORT_PINCFG_INEN) >> PORT_PINCFG_INEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_portgroup_write_PINCFG_INEN_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint8_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->PINCFG[index].reg;
+ tmp &= ~PORT_PINCFG_INEN;
+ tmp |= value << PORT_PINCFG_INEN_Pos;
+ ((PortGroup *)hw)->PINCFG[index].reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_PINCFG_INEN_bit(const void *const hw, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg &= ~PORT_PINCFG_INEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_PINCFG_INEN_bit(const void *const hw, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg ^= PORT_PINCFG_INEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_set_PINCFG_PULLEN_bit(const void *const hw, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg |= PORT_PINCFG_PULLEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_portgroup_get_PINCFG_PULLEN_bit(const void *const hw, uint8_t index)
+{
+ uint8_t tmp;
+ tmp = ((PortGroup *)hw)->PINCFG[index].reg;
+ tmp = (tmp & PORT_PINCFG_PULLEN) >> PORT_PINCFG_PULLEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_portgroup_write_PINCFG_PULLEN_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint8_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->PINCFG[index].reg;
+ tmp &= ~PORT_PINCFG_PULLEN;
+ tmp |= value << PORT_PINCFG_PULLEN_Pos;
+ ((PortGroup *)hw)->PINCFG[index].reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_PINCFG_PULLEN_bit(const void *const hw, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg &= ~PORT_PINCFG_PULLEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_PINCFG_PULLEN_bit(const void *const hw, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg ^= PORT_PINCFG_PULLEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_set_PINCFG_DRVSTR_bit(const void *const hw, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg |= PORT_PINCFG_DRVSTR;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_portgroup_get_PINCFG_DRVSTR_bit(const void *const hw, uint8_t index)
+{
+ uint8_t tmp;
+ tmp = ((PortGroup *)hw)->PINCFG[index].reg;
+ tmp = (tmp & PORT_PINCFG_DRVSTR) >> PORT_PINCFG_DRVSTR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_portgroup_write_PINCFG_DRVSTR_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint8_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((PortGroup *)hw)->PINCFG[index].reg;
+ tmp &= ~PORT_PINCFG_DRVSTR;
+ tmp |= value << PORT_PINCFG_DRVSTR_Pos;
+ ((PortGroup *)hw)->PINCFG[index].reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_PINCFG_DRVSTR_bit(const void *const hw, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg &= ~PORT_PINCFG_DRVSTR;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_PINCFG_DRVSTR_bit(const void *const hw, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg ^= PORT_PINCFG_DRVSTR;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_set_PINCFG_reg(const void *const hw, uint8_t index, hri_port_pincfg_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg |= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pincfg_reg_t hri_portgroup_get_PINCFG_reg(const void *const hw, uint8_t index,
+ hri_port_pincfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((PortGroup *)hw)->PINCFG[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_portgroup_write_PINCFG_reg(const void *const hw, uint8_t index, hri_port_pincfg_reg_t data)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg = data;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_clear_PINCFG_reg(const void *const hw, uint8_t index, hri_port_pincfg_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg &= ~mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_portgroup_toggle_PINCFG_reg(const void *const hw, uint8_t index, hri_port_pincfg_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->PINCFG[index].reg ^= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pincfg_reg_t hri_portgroup_read_PINCFG_reg(const void *const hw, uint8_t index)
+{
+ return ((PortGroup *)hw)->PINCFG[index].reg;
+}
+
+static inline void hri_portgroup_write_WRCONFIG_reg(const void *const hw, hri_port_wrconfig_reg_t data)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((PortGroup *)hw)->WRCONFIG.reg = data;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_set_DIR_DIR_bf(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t mask)
+{
+ ((Port *)hw)->Group[submodule_index].DIRSET.reg = PORT_DIR_DIR(mask);
+}
+
+static inline hri_port_dir_reg_t hri_port_get_DIR_DIR_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_dir_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].DIR.reg;
+ tmp = (tmp & PORT_DIR_DIR(mask)) >> PORT_DIR_DIR_Pos;
+ return tmp;
+}
+
+static inline hri_port_dir_reg_t hri_port_read_DIR_DIR_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].DIR.reg;
+ tmp = (tmp & PORT_DIR_DIR_Msk) >> PORT_DIR_DIR_Pos;
+ return tmp;
+}
+
+static inline void hri_port_write_DIR_DIR_bf(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t data)
+{
+ ((Port *)hw)->Group[submodule_index].DIRSET.reg = PORT_DIR_DIR(data);
+ ((Port *)hw)->Group[submodule_index].DIRCLR.reg = ~PORT_DIR_DIR(data);
+}
+
+static inline void hri_port_clear_DIR_DIR_bf(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t mask)
+{
+ ((Port *)hw)->Group[submodule_index].DIRCLR.reg = PORT_DIR_DIR(mask);
+}
+
+static inline void hri_port_toggle_DIR_DIR_bf(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t mask)
+{
+ ((Port *)hw)->Group[submodule_index].DIRTGL.reg = PORT_DIR_DIR(mask);
+}
+
+static inline void hri_port_set_DIR_reg(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t mask)
+{
+ ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask;
+}
+
+static inline hri_port_dir_reg_t hri_port_get_DIR_reg(const void *const hw, uint8_t submodule_index,
+ hri_port_dir_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].DIR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_port_dir_reg_t hri_port_read_DIR_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Port *)hw)->Group[submodule_index].DIR.reg;
+}
+
+static inline void hri_port_write_DIR_reg(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t data)
+{
+ ((Port *)hw)->Group[submodule_index].DIRSET.reg = data;
+ ((Port *)hw)->Group[submodule_index].DIRCLR.reg = ~data;
+}
+
+static inline void hri_port_clear_DIR_reg(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t mask)
+{
+ ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask;
+}
+
+static inline void hri_port_toggle_DIR_reg(const void *const hw, uint8_t submodule_index, hri_port_dir_reg_t mask)
+{
+ ((Port *)hw)->Group[submodule_index].DIRTGL.reg = mask;
+}
+
+static inline void hri_port_set_OUT_OUT_bf(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask)
+{
+ ((Port *)hw)->Group[submodule_index].OUTSET.reg = PORT_OUT_OUT(mask);
+}
+
+static inline hri_port_out_reg_t hri_port_get_OUT_OUT_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_out_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].OUT.reg;
+ tmp = (tmp & PORT_OUT_OUT(mask)) >> PORT_OUT_OUT_Pos;
+ return tmp;
+}
+
+static inline hri_port_out_reg_t hri_port_read_OUT_OUT_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].OUT.reg;
+ tmp = (tmp & PORT_OUT_OUT_Msk) >> PORT_OUT_OUT_Pos;
+ return tmp;
+}
+
+static inline void hri_port_write_OUT_OUT_bf(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t data)
+{
+ ((Port *)hw)->Group[submodule_index].OUTSET.reg = PORT_OUT_OUT(data);
+ ((Port *)hw)->Group[submodule_index].OUTCLR.reg = ~PORT_OUT_OUT(data);
+}
+
+static inline void hri_port_clear_OUT_OUT_bf(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask)
+{
+ ((Port *)hw)->Group[submodule_index].OUTCLR.reg = PORT_OUT_OUT(mask);
+}
+
+static inline void hri_port_toggle_OUT_OUT_bf(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask)
+{
+ ((Port *)hw)->Group[submodule_index].OUTTGL.reg = PORT_OUT_OUT(mask);
+}
+
+static inline void hri_port_set_OUT_reg(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask)
+{
+ ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
+}
+
+static inline hri_port_out_reg_t hri_port_get_OUT_reg(const void *const hw, uint8_t submodule_index,
+ hri_port_out_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].OUT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_port_out_reg_t hri_port_read_OUT_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Port *)hw)->Group[submodule_index].OUT.reg;
+}
+
+static inline void hri_port_write_OUT_reg(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t data)
+{
+ ((Port *)hw)->Group[submodule_index].OUTSET.reg = data;
+ ((Port *)hw)->Group[submodule_index].OUTCLR.reg = ~data;
+}
+
+static inline void hri_port_clear_OUT_reg(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask)
+{
+ ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
+}
+
+static inline void hri_port_toggle_OUT_reg(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask)
+{
+ ((Port *)hw)->Group[submodule_index].OUTTGL.reg = mask;
+}
+
+static inline hri_port_in_reg_t hri_port_get_IN_IN_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_in_reg_t mask)
+{
+ return (((Port *)hw)->Group[submodule_index].IN.reg & PORT_IN_IN(mask)) >> PORT_IN_IN_Pos;
+}
+
+static inline hri_port_in_reg_t hri_port_read_IN_IN_bf(const void *const hw, uint8_t submodule_index)
+{
+ return (((Port *)hw)->Group[submodule_index].IN.reg & PORT_IN_IN_Msk) >> PORT_IN_IN_Pos;
+}
+
+static inline hri_port_in_reg_t hri_port_get_IN_reg(const void *const hw, uint8_t submodule_index,
+ hri_port_in_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].IN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_port_in_reg_t hri_port_read_IN_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Port *)hw)->Group[submodule_index].IN.reg;
+}
+
+static inline void hri_port_set_CTRL_SAMPLING_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_ctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].CTRL.reg |= PORT_CTRL_SAMPLING(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_ctrl_reg_t hri_port_get_CTRL_SAMPLING_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_ctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].CTRL.reg;
+ tmp = (tmp & PORT_CTRL_SAMPLING(mask)) >> PORT_CTRL_SAMPLING_Pos;
+ return tmp;
+}
+
+static inline void hri_port_write_CTRL_SAMPLING_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_ctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].CTRL.reg;
+ tmp &= ~PORT_CTRL_SAMPLING_Msk;
+ tmp |= PORT_CTRL_SAMPLING(data);
+ ((Port *)hw)->Group[submodule_index].CTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_CTRL_SAMPLING_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_ctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].CTRL.reg &= ~PORT_CTRL_SAMPLING(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_CTRL_SAMPLING_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_ctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].CTRL.reg ^= PORT_CTRL_SAMPLING(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_ctrl_reg_t hri_port_read_CTRL_SAMPLING_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].CTRL.reg;
+ tmp = (tmp & PORT_CTRL_SAMPLING_Msk) >> PORT_CTRL_SAMPLING_Pos;
+ return tmp;
+}
+
+static inline void hri_port_set_CTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_ctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].CTRL.reg |= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_ctrl_reg_t hri_port_get_CTRL_reg(const void *const hw, uint8_t submodule_index,
+ hri_port_ctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].CTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_port_write_CTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_ctrl_reg_t data)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].CTRL.reg = data;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_CTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_ctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].CTRL.reg &= ~mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_CTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_ctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].CTRL.reg ^= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_ctrl_reg_t hri_port_read_CTRL_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Port *)hw)->Group[submodule_index].CTRL.reg;
+}
+
+static inline void hri_port_set_EVCTRL_PORTEI0_bit(const void *const hw, uint8_t submodule_index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PORTEI0;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_port_get_EVCTRL_PORTEI0_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PORTEI0) >> PORT_EVCTRL_PORTEI0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_port_write_EVCTRL_PORTEI0_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PORTEI0;
+ tmp |= value << PORT_EVCTRL_PORTEI0_Pos;
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_EVCTRL_PORTEI0_bit(const void *const hw, uint8_t submodule_index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PORTEI0;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_EVCTRL_PORTEI0_bit(const void *const hw, uint8_t submodule_index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PORTEI0;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_set_EVCTRL_PORTEI1_bit(const void *const hw, uint8_t submodule_index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PORTEI1;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_port_get_EVCTRL_PORTEI1_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PORTEI1) >> PORT_EVCTRL_PORTEI1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_port_write_EVCTRL_PORTEI1_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PORTEI1;
+ tmp |= value << PORT_EVCTRL_PORTEI1_Pos;
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_EVCTRL_PORTEI1_bit(const void *const hw, uint8_t submodule_index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PORTEI1;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_EVCTRL_PORTEI1_bit(const void *const hw, uint8_t submodule_index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PORTEI1;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_set_EVCTRL_PORTEI2_bit(const void *const hw, uint8_t submodule_index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PORTEI2;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_port_get_EVCTRL_PORTEI2_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PORTEI2) >> PORT_EVCTRL_PORTEI2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_port_write_EVCTRL_PORTEI2_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PORTEI2;
+ tmp |= value << PORT_EVCTRL_PORTEI2_Pos;
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_EVCTRL_PORTEI2_bit(const void *const hw, uint8_t submodule_index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PORTEI2;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_EVCTRL_PORTEI2_bit(const void *const hw, uint8_t submodule_index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PORTEI2;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_set_EVCTRL_PORTEI3_bit(const void *const hw, uint8_t submodule_index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PORTEI3;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_port_get_EVCTRL_PORTEI3_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PORTEI3) >> PORT_EVCTRL_PORTEI3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_port_write_EVCTRL_PORTEI3_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PORTEI3;
+ tmp |= value << PORT_EVCTRL_PORTEI3_Pos;
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_EVCTRL_PORTEI3_bit(const void *const hw, uint8_t submodule_index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PORTEI3;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_EVCTRL_PORTEI3_bit(const void *const hw, uint8_t submodule_index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PORTEI3;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_set_EVCTRL_PID0_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PID0(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_PID0_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID0(mask)) >> PORT_EVCTRL_PID0_Pos;
+ return tmp;
+}
+
+static inline void hri_port_write_EVCTRL_PID0_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PID0_Msk;
+ tmp |= PORT_EVCTRL_PID0(data);
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_EVCTRL_PID0_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PID0(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_EVCTRL_PID0_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PID0(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_PID0_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID0_Msk) >> PORT_EVCTRL_PID0_Pos;
+ return tmp;
+}
+
+static inline void hri_port_set_EVCTRL_EVACT0_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_EVACT0(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_EVACT0_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT0(mask)) >> PORT_EVCTRL_EVACT0_Pos;
+ return tmp;
+}
+
+static inline void hri_port_write_EVCTRL_EVACT0_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_EVACT0_Msk;
+ tmp |= PORT_EVCTRL_EVACT0(data);
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_EVCTRL_EVACT0_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_EVACT0(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_EVCTRL_EVACT0_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_EVACT0(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_EVACT0_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT0_Msk) >> PORT_EVCTRL_EVACT0_Pos;
+ return tmp;
+}
+
+static inline void hri_port_set_EVCTRL_PID1_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PID1(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_PID1_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID1(mask)) >> PORT_EVCTRL_PID1_Pos;
+ return tmp;
+}
+
+static inline void hri_port_write_EVCTRL_PID1_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PID1_Msk;
+ tmp |= PORT_EVCTRL_PID1(data);
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_EVCTRL_PID1_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PID1(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_EVCTRL_PID1_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PID1(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_PID1_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID1_Msk) >> PORT_EVCTRL_PID1_Pos;
+ return tmp;
+}
+
+static inline void hri_port_set_EVCTRL_EVACT1_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_EVACT1(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_EVACT1_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT1(mask)) >> PORT_EVCTRL_EVACT1_Pos;
+ return tmp;
+}
+
+static inline void hri_port_write_EVCTRL_EVACT1_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_EVACT1_Msk;
+ tmp |= PORT_EVCTRL_EVACT1(data);
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_EVCTRL_EVACT1_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_EVACT1(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_EVCTRL_EVACT1_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_EVACT1(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_EVACT1_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT1_Msk) >> PORT_EVCTRL_EVACT1_Pos;
+ return tmp;
+}
+
+static inline void hri_port_set_EVCTRL_PID2_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PID2(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_PID2_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID2(mask)) >> PORT_EVCTRL_PID2_Pos;
+ return tmp;
+}
+
+static inline void hri_port_write_EVCTRL_PID2_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PID2_Msk;
+ tmp |= PORT_EVCTRL_PID2(data);
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_EVCTRL_PID2_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PID2(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_EVCTRL_PID2_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PID2(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_PID2_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID2_Msk) >> PORT_EVCTRL_PID2_Pos;
+ return tmp;
+}
+
+static inline void hri_port_set_EVCTRL_EVACT2_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_EVACT2(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_EVACT2_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT2(mask)) >> PORT_EVCTRL_EVACT2_Pos;
+ return tmp;
+}
+
+static inline void hri_port_write_EVCTRL_EVACT2_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_EVACT2_Msk;
+ tmp |= PORT_EVCTRL_EVACT2(data);
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_EVCTRL_EVACT2_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_EVACT2(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_EVCTRL_EVACT2_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_EVACT2(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_EVACT2_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT2_Msk) >> PORT_EVCTRL_EVACT2_Pos;
+ return tmp;
+}
+
+static inline void hri_port_set_EVCTRL_PID3_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_PID3(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_PID3_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID3(mask)) >> PORT_EVCTRL_PID3_Pos;
+ return tmp;
+}
+
+static inline void hri_port_write_EVCTRL_PID3_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_PID3_Msk;
+ tmp |= PORT_EVCTRL_PID3(data);
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_EVCTRL_PID3_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_PID3(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_EVCTRL_PID3_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_PID3(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_PID3_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_PID3_Msk) >> PORT_EVCTRL_PID3_Pos;
+ return tmp;
+}
+
+static inline void hri_port_set_EVCTRL_EVACT3_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= PORT_EVCTRL_EVACT3(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_EVACT3_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT3(mask)) >> PORT_EVCTRL_EVACT3_Pos;
+ return tmp;
+}
+
+static inline void hri_port_write_EVCTRL_EVACT3_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp &= ~PORT_EVCTRL_EVACT3_Msk;
+ tmp |= PORT_EVCTRL_EVACT3(data);
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_EVCTRL_EVACT3_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~PORT_EVCTRL_EVACT3(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_EVCTRL_EVACT3_bf(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= PORT_EVCTRL_EVACT3(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_EVACT3_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp = (tmp & PORT_EVCTRL_EVACT3_Msk) >> PORT_EVCTRL_EVACT3_Pos;
+ return tmp;
+}
+
+static inline void hri_port_set_EVCTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg |= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_get_EVCTRL_reg(const void *const hw, uint8_t submodule_index,
+ hri_port_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_port_write_EVCTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_evctrl_reg_t data)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg = data;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_EVCTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg &= ~mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_EVCTRL_reg(const void *const hw, uint8_t submodule_index, hri_port_evctrl_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].EVCTRL.reg ^= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_evctrl_reg_t hri_port_read_EVCTRL_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Port *)hw)->Group[submodule_index].EVCTRL.reg;
+}
+
+static inline void hri_port_set_PMUX_PMUXE_bf(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PMUX[index].reg |= PORT_PMUX_PMUXE(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pmux_reg_t hri_port_get_PMUX_PMUXE_bf(const void *const hw, uint8_t submodule_index,
+ uint8_t index, hri_port_pmux_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg;
+ tmp = (tmp & PORT_PMUX_PMUXE(mask)) >> PORT_PMUX_PMUXE_Pos;
+ return tmp;
+}
+
+static inline void hri_port_write_PMUX_PMUXE_bf(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pmux_reg_t data)
+{
+ uint8_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg;
+ tmp &= ~PORT_PMUX_PMUXE_Msk;
+ tmp |= PORT_PMUX_PMUXE(data);
+ ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_PMUX_PMUXE_bf(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PMUX[index].reg &= ~PORT_PMUX_PMUXE(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_PMUX_PMUXE_bf(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PMUX[index].reg ^= PORT_PMUX_PMUXE(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pmux_reg_t hri_port_read_PMUX_PMUXE_bf(const void *const hw, uint8_t submodule_index,
+ uint8_t index)
+{
+ uint8_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg;
+ tmp = (tmp & PORT_PMUX_PMUXE_Msk) >> PORT_PMUX_PMUXE_Pos;
+ return tmp;
+}
+
+static inline void hri_port_set_PMUX_PMUXO_bf(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PMUX[index].reg |= PORT_PMUX_PMUXO(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pmux_reg_t hri_port_get_PMUX_PMUXO_bf(const void *const hw, uint8_t submodule_index,
+ uint8_t index, hri_port_pmux_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg;
+ tmp = (tmp & PORT_PMUX_PMUXO(mask)) >> PORT_PMUX_PMUXO_Pos;
+ return tmp;
+}
+
+static inline void hri_port_write_PMUX_PMUXO_bf(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pmux_reg_t data)
+{
+ uint8_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg;
+ tmp &= ~PORT_PMUX_PMUXO_Msk;
+ tmp |= PORT_PMUX_PMUXO(data);
+ ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_PMUX_PMUXO_bf(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PMUX[index].reg &= ~PORT_PMUX_PMUXO(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_PMUX_PMUXO_bf(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PMUX[index].reg ^= PORT_PMUX_PMUXO(mask);
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pmux_reg_t hri_port_read_PMUX_PMUXO_bf(const void *const hw, uint8_t submodule_index,
+ uint8_t index)
+{
+ uint8_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg;
+ tmp = (tmp & PORT_PMUX_PMUXO_Msk) >> PORT_PMUX_PMUXO_Pos;
+ return tmp;
+}
+
+static inline void hri_port_set_PMUX_reg(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PMUX[index].reg |= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pmux_reg_t hri_port_get_PMUX_reg(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pmux_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_port_write_PMUX_reg(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pmux_reg_t data)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PMUX[index].reg = data;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_PMUX_reg(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PMUX[index].reg &= ~mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_PMUX_reg(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pmux_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PMUX[index].reg ^= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pmux_reg_t hri_port_read_PMUX_reg(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ return ((Port *)hw)->Group[submodule_index].PMUX[index].reg;
+}
+
+static inline void hri_port_set_PINCFG_PMUXEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PMUXEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_port_get_PINCFG_PMUXEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ uint8_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
+ tmp = (tmp & PORT_PINCFG_PMUXEN) >> PORT_PINCFG_PMUXEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_port_write_PINCFG_PMUXEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index,
+ bool value)
+{
+ uint8_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
+ tmp &= ~PORT_PINCFG_PMUXEN;
+ tmp |= value << PORT_PINCFG_PMUXEN_Pos;
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_PINCFG_PMUXEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PMUXEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_PINCFG_PMUXEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg ^= PORT_PINCFG_PMUXEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_set_PINCFG_INEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_INEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_port_get_PINCFG_INEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ uint8_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
+ tmp = (tmp & PORT_PINCFG_INEN) >> PORT_PINCFG_INEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_port_write_PINCFG_INEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index,
+ bool value)
+{
+ uint8_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
+ tmp &= ~PORT_PINCFG_INEN;
+ tmp |= value << PORT_PINCFG_INEN_Pos;
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_PINCFG_INEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_INEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_PINCFG_INEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg ^= PORT_PINCFG_INEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_set_PINCFG_PULLEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_port_get_PINCFG_PULLEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ uint8_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
+ tmp = (tmp & PORT_PINCFG_PULLEN) >> PORT_PINCFG_PULLEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_port_write_PINCFG_PULLEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index,
+ bool value)
+{
+ uint8_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
+ tmp &= ~PORT_PINCFG_PULLEN;
+ tmp |= value << PORT_PINCFG_PULLEN_Pos;
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_PINCFG_PULLEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_PINCFG_PULLEN_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg ^= PORT_PINCFG_PULLEN;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_set_PINCFG_DRVSTR_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_DRVSTR;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_port_get_PINCFG_DRVSTR_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ uint8_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
+ tmp = (tmp & PORT_PINCFG_DRVSTR) >> PORT_PINCFG_DRVSTR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_port_write_PINCFG_DRVSTR_bit(const void *const hw, uint8_t submodule_index, uint8_t index,
+ bool value)
+{
+ uint8_t tmp;
+ PORT_CRITICAL_SECTION_ENTER();
+ tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
+ tmp &= ~PORT_PINCFG_DRVSTR;
+ tmp |= value << PORT_PINCFG_DRVSTR_Pos;
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_PINCFG_DRVSTR_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_DRVSTR;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_PINCFG_DRVSTR_bit(const void *const hw, uint8_t submodule_index, uint8_t index)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg ^= PORT_PINCFG_DRVSTR;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_set_PINCFG_reg(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pincfg_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pincfg_reg_t hri_port_get_PINCFG_reg(const void *const hw, uint8_t submodule_index,
+ uint8_t index, hri_port_pincfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_port_write_PINCFG_reg(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pincfg_reg_t data)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = data;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_clear_PINCFG_reg(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pincfg_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_port_toggle_PINCFG_reg(const void *const hw, uint8_t submodule_index, uint8_t index,
+ hri_port_pincfg_reg_t mask)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].PINCFG[index].reg ^= mask;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_port_pincfg_reg_t hri_port_read_PINCFG_reg(const void *const hw, uint8_t submodule_index,
+ uint8_t index)
+{
+ return ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
+}
+
+static inline void hri_port_write_WRCONFIG_reg(const void *const hw, uint8_t submodule_index,
+ hri_port_wrconfig_reg_t data)
+{
+ PORT_CRITICAL_SECTION_ENTER();
+ ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data;
+ PORT_CRITICAL_SECTION_LEAVE();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_PORT_E54_H_INCLUDED */
+#endif /* _SAME54_PORT_COMPONENT_ */
diff --git a/hri/hri_qspi_e54.h b/hri/hri_qspi_e54.h
new file mode 100644
index 0000000..23742bc
--- /dev/null
+++ b/hri/hri_qspi_e54.h
@@ -0,0 +1,2058 @@
+/**
+ * \file
+ *
+ * \brief SAM QSPI
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_QSPI_COMPONENT_
+#ifndef _HRI_QSPI_E54_H_INCLUDED_
+#define _HRI_QSPI_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_QSPI_CRITICAL_SECTIONS)
+#define QSPI_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define QSPI_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define QSPI_CRITICAL_SECTION_ENTER()
+#define QSPI_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_qspi_baud_reg_t;
+typedef uint32_t hri_qspi_ctrla_reg_t;
+typedef uint32_t hri_qspi_ctrlb_reg_t;
+typedef uint32_t hri_qspi_instraddr_reg_t;
+typedef uint32_t hri_qspi_instrctrl_reg_t;
+typedef uint32_t hri_qspi_instrframe_reg_t;
+typedef uint32_t hri_qspi_intenset_reg_t;
+typedef uint32_t hri_qspi_intflag_reg_t;
+typedef uint32_t hri_qspi_rxdata_reg_t;
+typedef uint32_t hri_qspi_scrambctrl_reg_t;
+typedef uint32_t hri_qspi_scrambkey_reg_t;
+typedef uint32_t hri_qspi_status_reg_t;
+typedef uint32_t hri_qspi_txdata_reg_t;
+
+static inline bool hri_qspi_get_INTFLAG_RXC_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_RXC) >> QSPI_INTFLAG_RXC_Pos;
+}
+
+static inline void hri_qspi_clear_INTFLAG_RXC_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_RXC;
+}
+
+static inline bool hri_qspi_get_INTFLAG_DRE_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_DRE) >> QSPI_INTFLAG_DRE_Pos;
+}
+
+static inline void hri_qspi_clear_INTFLAG_DRE_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_DRE;
+}
+
+static inline bool hri_qspi_get_INTFLAG_TXC_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_TXC) >> QSPI_INTFLAG_TXC_Pos;
+}
+
+static inline void hri_qspi_clear_INTFLAG_TXC_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_TXC;
+}
+
+static inline bool hri_qspi_get_INTFLAG_ERROR_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_ERROR) >> QSPI_INTFLAG_ERROR_Pos;
+}
+
+static inline void hri_qspi_clear_INTFLAG_ERROR_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_ERROR;
+}
+
+static inline bool hri_qspi_get_INTFLAG_CSRISE_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_CSRISE) >> QSPI_INTFLAG_CSRISE_Pos;
+}
+
+static inline void hri_qspi_clear_INTFLAG_CSRISE_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_CSRISE;
+}
+
+static inline bool hri_qspi_get_INTFLAG_INSTREND_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_INSTREND) >> QSPI_INTFLAG_INSTREND_Pos;
+}
+
+static inline void hri_qspi_clear_INTFLAG_INSTREND_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_INSTREND;
+}
+
+static inline bool hri_qspi_get_interrupt_RXC_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_RXC) >> QSPI_INTFLAG_RXC_Pos;
+}
+
+static inline void hri_qspi_clear_interrupt_RXC_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_RXC;
+}
+
+static inline bool hri_qspi_get_interrupt_DRE_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_DRE) >> QSPI_INTFLAG_DRE_Pos;
+}
+
+static inline void hri_qspi_clear_interrupt_DRE_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_DRE;
+}
+
+static inline bool hri_qspi_get_interrupt_TXC_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_TXC) >> QSPI_INTFLAG_TXC_Pos;
+}
+
+static inline void hri_qspi_clear_interrupt_TXC_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_TXC;
+}
+
+static inline bool hri_qspi_get_interrupt_ERROR_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_ERROR) >> QSPI_INTFLAG_ERROR_Pos;
+}
+
+static inline void hri_qspi_clear_interrupt_ERROR_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_ERROR;
+}
+
+static inline bool hri_qspi_get_interrupt_CSRISE_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_CSRISE) >> QSPI_INTFLAG_CSRISE_Pos;
+}
+
+static inline void hri_qspi_clear_interrupt_CSRISE_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_CSRISE;
+}
+
+static inline bool hri_qspi_get_interrupt_INSTREND_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTFLAG.reg & QSPI_INTFLAG_INSTREND) >> QSPI_INTFLAG_INSTREND_Pos;
+}
+
+static inline void hri_qspi_clear_interrupt_INSTREND_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTFLAG.reg = QSPI_INTFLAG_INSTREND;
+}
+
+static inline hri_qspi_intflag_reg_t hri_qspi_get_INTFLAG_reg(const void *const hw, hri_qspi_intflag_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_qspi_intflag_reg_t hri_qspi_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Qspi *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_qspi_clear_INTFLAG_reg(const void *const hw, hri_qspi_intflag_reg_t mask)
+{
+ ((Qspi *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_qspi_set_INTEN_RXC_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_RXC;
+}
+
+static inline bool hri_qspi_get_INTEN_RXC_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTENSET.reg & QSPI_INTENSET_RXC) >> QSPI_INTENSET_RXC_Pos;
+}
+
+static inline void hri_qspi_write_INTEN_RXC_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_RXC;
+ } else {
+ ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_RXC;
+ }
+}
+
+static inline void hri_qspi_clear_INTEN_RXC_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_RXC;
+}
+
+static inline void hri_qspi_set_INTEN_DRE_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_DRE;
+}
+
+static inline bool hri_qspi_get_INTEN_DRE_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTENSET.reg & QSPI_INTENSET_DRE) >> QSPI_INTENSET_DRE_Pos;
+}
+
+static inline void hri_qspi_write_INTEN_DRE_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_DRE;
+ } else {
+ ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_DRE;
+ }
+}
+
+static inline void hri_qspi_clear_INTEN_DRE_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_DRE;
+}
+
+static inline void hri_qspi_set_INTEN_TXC_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_TXC;
+}
+
+static inline bool hri_qspi_get_INTEN_TXC_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTENSET.reg & QSPI_INTENSET_TXC) >> QSPI_INTENSET_TXC_Pos;
+}
+
+static inline void hri_qspi_write_INTEN_TXC_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_TXC;
+ } else {
+ ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_TXC;
+ }
+}
+
+static inline void hri_qspi_clear_INTEN_TXC_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_TXC;
+}
+
+static inline void hri_qspi_set_INTEN_ERROR_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_ERROR;
+}
+
+static inline bool hri_qspi_get_INTEN_ERROR_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTENSET.reg & QSPI_INTENSET_ERROR) >> QSPI_INTENSET_ERROR_Pos;
+}
+
+static inline void hri_qspi_write_INTEN_ERROR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_ERROR;
+ } else {
+ ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_ERROR;
+ }
+}
+
+static inline void hri_qspi_clear_INTEN_ERROR_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_ERROR;
+}
+
+static inline void hri_qspi_set_INTEN_CSRISE_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_CSRISE;
+}
+
+static inline bool hri_qspi_get_INTEN_CSRISE_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTENSET.reg & QSPI_INTENSET_CSRISE) >> QSPI_INTENSET_CSRISE_Pos;
+}
+
+static inline void hri_qspi_write_INTEN_CSRISE_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_CSRISE;
+ } else {
+ ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_CSRISE;
+ }
+}
+
+static inline void hri_qspi_clear_INTEN_CSRISE_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_CSRISE;
+}
+
+static inline void hri_qspi_set_INTEN_INSTREND_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_INSTREND;
+}
+
+static inline bool hri_qspi_get_INTEN_INSTREND_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->INTENSET.reg & QSPI_INTENSET_INSTREND) >> QSPI_INTENSET_INSTREND_Pos;
+}
+
+static inline void hri_qspi_write_INTEN_INSTREND_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_INSTREND;
+ } else {
+ ((Qspi *)hw)->INTENSET.reg = QSPI_INTENSET_INSTREND;
+ }
+}
+
+static inline void hri_qspi_clear_INTEN_INSTREND_bit(const void *const hw)
+{
+ ((Qspi *)hw)->INTENCLR.reg = QSPI_INTENSET_INSTREND;
+}
+
+static inline void hri_qspi_set_INTEN_reg(const void *const hw, hri_qspi_intenset_reg_t mask)
+{
+ ((Qspi *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_qspi_intenset_reg_t hri_qspi_get_INTEN_reg(const void *const hw, hri_qspi_intenset_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_qspi_intenset_reg_t hri_qspi_read_INTEN_reg(const void *const hw)
+{
+ return ((Qspi *)hw)->INTENSET.reg;
+}
+
+static inline void hri_qspi_write_INTEN_reg(const void *const hw, hri_qspi_intenset_reg_t data)
+{
+ ((Qspi *)hw)->INTENSET.reg = data;
+ ((Qspi *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_qspi_clear_INTEN_reg(const void *const hw, hri_qspi_intenset_reg_t mask)
+{
+ ((Qspi *)hw)->INTENCLR.reg = mask;
+}
+
+static inline hri_qspi_rxdata_reg_t hri_qspi_get_RXDATA_DATA_bf(const void *const hw, hri_qspi_rxdata_reg_t mask)
+{
+ return (((Qspi *)hw)->RXDATA.reg & QSPI_RXDATA_DATA(mask)) >> QSPI_RXDATA_DATA_Pos;
+}
+
+static inline hri_qspi_rxdata_reg_t hri_qspi_read_RXDATA_DATA_bf(const void *const hw)
+{
+ return (((Qspi *)hw)->RXDATA.reg & QSPI_RXDATA_DATA_Msk) >> QSPI_RXDATA_DATA_Pos;
+}
+
+static inline hri_qspi_rxdata_reg_t hri_qspi_get_RXDATA_reg(const void *const hw, hri_qspi_rxdata_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->RXDATA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_qspi_rxdata_reg_t hri_qspi_read_RXDATA_reg(const void *const hw)
+{
+ return ((Qspi *)hw)->RXDATA.reg;
+}
+
+static inline bool hri_qspi_get_STATUS_ENABLE_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->STATUS.reg & QSPI_STATUS_ENABLE) >> QSPI_STATUS_ENABLE_Pos;
+}
+
+static inline bool hri_qspi_get_STATUS_CSSTATUS_bit(const void *const hw)
+{
+ return (((Qspi *)hw)->STATUS.reg & QSPI_STATUS_CSSTATUS) >> QSPI_STATUS_CSSTATUS_Pos;
+}
+
+static inline hri_qspi_status_reg_t hri_qspi_get_STATUS_reg(const void *const hw, hri_qspi_status_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_qspi_status_reg_t hri_qspi_read_STATUS_reg(const void *const hw)
+{
+ return ((Qspi *)hw)->STATUS.reg;
+}
+
+static inline void hri_qspi_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLA.reg |= QSPI_CTRLA_SWRST;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLA.reg;
+ tmp = (tmp & QSPI_CTRLA_SWRST) >> QSPI_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLA.reg |= QSPI_CTRLA_ENABLE;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLA.reg;
+ tmp = (tmp & QSPI_CTRLA_ENABLE) >> QSPI_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->CTRLA.reg;
+ tmp &= ~QSPI_CTRLA_ENABLE;
+ tmp |= value << QSPI_CTRLA_ENABLE_Pos;
+ ((Qspi *)hw)->CTRLA.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLA.reg &= ~QSPI_CTRLA_ENABLE;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLA.reg ^= QSPI_CTRLA_ENABLE;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_CTRLA_LASTXFER_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLA.reg |= QSPI_CTRLA_LASTXFER;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_CTRLA_LASTXFER_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLA.reg;
+ tmp = (tmp & QSPI_CTRLA_LASTXFER) >> QSPI_CTRLA_LASTXFER_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_CTRLA_LASTXFER_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->CTRLA.reg;
+ tmp &= ~QSPI_CTRLA_LASTXFER;
+ tmp |= value << QSPI_CTRLA_LASTXFER_Pos;
+ ((Qspi *)hw)->CTRLA.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_CTRLA_LASTXFER_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLA.reg &= ~QSPI_CTRLA_LASTXFER;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_CTRLA_LASTXFER_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLA.reg ^= QSPI_CTRLA_LASTXFER;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_CTRLA_reg(const void *const hw, hri_qspi_ctrla_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLA.reg |= mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_ctrla_reg_t hri_qspi_get_CTRLA_reg(const void *const hw, hri_qspi_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_qspi_write_CTRLA_reg(const void *const hw, hri_qspi_ctrla_reg_t data)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLA.reg = data;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_CTRLA_reg(const void *const hw, hri_qspi_ctrla_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLA.reg &= ~mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_CTRLA_reg(const void *const hw, hri_qspi_ctrla_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLA.reg ^= mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_ctrla_reg_t hri_qspi_read_CTRLA_reg(const void *const hw)
+{
+ return ((Qspi *)hw)->CTRLA.reg;
+}
+
+static inline void hri_qspi_set_CTRLB_MODE_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_MODE;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_CTRLB_MODE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp = (tmp & QSPI_CTRLB_MODE) >> QSPI_CTRLB_MODE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_CTRLB_MODE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp &= ~QSPI_CTRLB_MODE;
+ tmp |= value << QSPI_CTRLB_MODE_Pos;
+ ((Qspi *)hw)->CTRLB.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_CTRLB_MODE_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_MODE;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_CTRLB_MODE_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_MODE;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_CTRLB_LOOPEN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_LOOPEN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_CTRLB_LOOPEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp = (tmp & QSPI_CTRLB_LOOPEN) >> QSPI_CTRLB_LOOPEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_CTRLB_LOOPEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp &= ~QSPI_CTRLB_LOOPEN;
+ tmp |= value << QSPI_CTRLB_LOOPEN_Pos;
+ ((Qspi *)hw)->CTRLB.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_CTRLB_LOOPEN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_LOOPEN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_CTRLB_LOOPEN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_LOOPEN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_CTRLB_WDRBT_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_WDRBT;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_CTRLB_WDRBT_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp = (tmp & QSPI_CTRLB_WDRBT) >> QSPI_CTRLB_WDRBT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_CTRLB_WDRBT_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp &= ~QSPI_CTRLB_WDRBT;
+ tmp |= value << QSPI_CTRLB_WDRBT_Pos;
+ ((Qspi *)hw)->CTRLB.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_CTRLB_WDRBT_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_WDRBT;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_CTRLB_WDRBT_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_WDRBT;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_CTRLB_SMEMREG_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_SMEMREG;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_CTRLB_SMEMREG_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp = (tmp & QSPI_CTRLB_SMEMREG) >> QSPI_CTRLB_SMEMREG_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_CTRLB_SMEMREG_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp &= ~QSPI_CTRLB_SMEMREG;
+ tmp |= value << QSPI_CTRLB_SMEMREG_Pos;
+ ((Qspi *)hw)->CTRLB.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_CTRLB_SMEMREG_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_SMEMREG;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_CTRLB_SMEMREG_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_SMEMREG;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_CTRLB_CSMODE_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_CSMODE(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_ctrlb_reg_t hri_qspi_get_CTRLB_CSMODE_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp = (tmp & QSPI_CTRLB_CSMODE(mask)) >> QSPI_CTRLB_CSMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_write_CTRLB_CSMODE_bf(const void *const hw, hri_qspi_ctrlb_reg_t data)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp &= ~QSPI_CTRLB_CSMODE_Msk;
+ tmp |= QSPI_CTRLB_CSMODE(data);
+ ((Qspi *)hw)->CTRLB.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_CTRLB_CSMODE_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_CSMODE(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_CTRLB_CSMODE_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_CSMODE(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_ctrlb_reg_t hri_qspi_read_CTRLB_CSMODE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp = (tmp & QSPI_CTRLB_CSMODE_Msk) >> QSPI_CTRLB_CSMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_set_CTRLB_DATALEN_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_DATALEN(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_ctrlb_reg_t hri_qspi_get_CTRLB_DATALEN_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp = (tmp & QSPI_CTRLB_DATALEN(mask)) >> QSPI_CTRLB_DATALEN_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_write_CTRLB_DATALEN_bf(const void *const hw, hri_qspi_ctrlb_reg_t data)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp &= ~QSPI_CTRLB_DATALEN_Msk;
+ tmp |= QSPI_CTRLB_DATALEN(data);
+ ((Qspi *)hw)->CTRLB.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_CTRLB_DATALEN_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_DATALEN(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_CTRLB_DATALEN_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_DATALEN(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_ctrlb_reg_t hri_qspi_read_CTRLB_DATALEN_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp = (tmp & QSPI_CTRLB_DATALEN_Msk) >> QSPI_CTRLB_DATALEN_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_set_CTRLB_DLYBCT_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_DLYBCT(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_ctrlb_reg_t hri_qspi_get_CTRLB_DLYBCT_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp = (tmp & QSPI_CTRLB_DLYBCT(mask)) >> QSPI_CTRLB_DLYBCT_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_write_CTRLB_DLYBCT_bf(const void *const hw, hri_qspi_ctrlb_reg_t data)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp &= ~QSPI_CTRLB_DLYBCT_Msk;
+ tmp |= QSPI_CTRLB_DLYBCT(data);
+ ((Qspi *)hw)->CTRLB.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_CTRLB_DLYBCT_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_DLYBCT(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_CTRLB_DLYBCT_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_DLYBCT(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_ctrlb_reg_t hri_qspi_read_CTRLB_DLYBCT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp = (tmp & QSPI_CTRLB_DLYBCT_Msk) >> QSPI_CTRLB_DLYBCT_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_set_CTRLB_DLYCS_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg |= QSPI_CTRLB_DLYCS(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_ctrlb_reg_t hri_qspi_get_CTRLB_DLYCS_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp = (tmp & QSPI_CTRLB_DLYCS(mask)) >> QSPI_CTRLB_DLYCS_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_write_CTRLB_DLYCS_bf(const void *const hw, hri_qspi_ctrlb_reg_t data)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp &= ~QSPI_CTRLB_DLYCS_Msk;
+ tmp |= QSPI_CTRLB_DLYCS(data);
+ ((Qspi *)hw)->CTRLB.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_CTRLB_DLYCS_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg &= ~QSPI_CTRLB_DLYCS(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_CTRLB_DLYCS_bf(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg ^= QSPI_CTRLB_DLYCS(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_ctrlb_reg_t hri_qspi_read_CTRLB_DLYCS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp = (tmp & QSPI_CTRLB_DLYCS_Msk) >> QSPI_CTRLB_DLYCS_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_set_CTRLB_reg(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg |= mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_ctrlb_reg_t hri_qspi_get_CTRLB_reg(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->CTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_qspi_write_CTRLB_reg(const void *const hw, hri_qspi_ctrlb_reg_t data)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg = data;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_CTRLB_reg(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg &= ~mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_CTRLB_reg(const void *const hw, hri_qspi_ctrlb_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->CTRLB.reg ^= mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_ctrlb_reg_t hri_qspi_read_CTRLB_reg(const void *const hw)
+{
+ return ((Qspi *)hw)->CTRLB.reg;
+}
+
+static inline void hri_qspi_set_BAUD_CPOL_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg |= QSPI_BAUD_CPOL;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_BAUD_CPOL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->BAUD.reg;
+ tmp = (tmp & QSPI_BAUD_CPOL) >> QSPI_BAUD_CPOL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_BAUD_CPOL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->BAUD.reg;
+ tmp &= ~QSPI_BAUD_CPOL;
+ tmp |= value << QSPI_BAUD_CPOL_Pos;
+ ((Qspi *)hw)->BAUD.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_BAUD_CPOL_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg &= ~QSPI_BAUD_CPOL;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_BAUD_CPOL_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg ^= QSPI_BAUD_CPOL;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_BAUD_CPHA_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg |= QSPI_BAUD_CPHA;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_BAUD_CPHA_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->BAUD.reg;
+ tmp = (tmp & QSPI_BAUD_CPHA) >> QSPI_BAUD_CPHA_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_BAUD_CPHA_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->BAUD.reg;
+ tmp &= ~QSPI_BAUD_CPHA;
+ tmp |= value << QSPI_BAUD_CPHA_Pos;
+ ((Qspi *)hw)->BAUD.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_BAUD_CPHA_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg &= ~QSPI_BAUD_CPHA;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_BAUD_CPHA_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg ^= QSPI_BAUD_CPHA;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_BAUD_BAUD_bf(const void *const hw, hri_qspi_baud_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg |= QSPI_BAUD_BAUD(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_baud_reg_t hri_qspi_get_BAUD_BAUD_bf(const void *const hw, hri_qspi_baud_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->BAUD.reg;
+ tmp = (tmp & QSPI_BAUD_BAUD(mask)) >> QSPI_BAUD_BAUD_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_write_BAUD_BAUD_bf(const void *const hw, hri_qspi_baud_reg_t data)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->BAUD.reg;
+ tmp &= ~QSPI_BAUD_BAUD_Msk;
+ tmp |= QSPI_BAUD_BAUD(data);
+ ((Qspi *)hw)->BAUD.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_BAUD_BAUD_bf(const void *const hw, hri_qspi_baud_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg &= ~QSPI_BAUD_BAUD(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_BAUD_BAUD_bf(const void *const hw, hri_qspi_baud_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg ^= QSPI_BAUD_BAUD(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_baud_reg_t hri_qspi_read_BAUD_BAUD_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->BAUD.reg;
+ tmp = (tmp & QSPI_BAUD_BAUD_Msk) >> QSPI_BAUD_BAUD_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_set_BAUD_DLYBS_bf(const void *const hw, hri_qspi_baud_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg |= QSPI_BAUD_DLYBS(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_baud_reg_t hri_qspi_get_BAUD_DLYBS_bf(const void *const hw, hri_qspi_baud_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->BAUD.reg;
+ tmp = (tmp & QSPI_BAUD_DLYBS(mask)) >> QSPI_BAUD_DLYBS_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_write_BAUD_DLYBS_bf(const void *const hw, hri_qspi_baud_reg_t data)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->BAUD.reg;
+ tmp &= ~QSPI_BAUD_DLYBS_Msk;
+ tmp |= QSPI_BAUD_DLYBS(data);
+ ((Qspi *)hw)->BAUD.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_BAUD_DLYBS_bf(const void *const hw, hri_qspi_baud_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg &= ~QSPI_BAUD_DLYBS(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_BAUD_DLYBS_bf(const void *const hw, hri_qspi_baud_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg ^= QSPI_BAUD_DLYBS(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_baud_reg_t hri_qspi_read_BAUD_DLYBS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->BAUD.reg;
+ tmp = (tmp & QSPI_BAUD_DLYBS_Msk) >> QSPI_BAUD_DLYBS_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_set_BAUD_reg(const void *const hw, hri_qspi_baud_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg |= mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_baud_reg_t hri_qspi_get_BAUD_reg(const void *const hw, hri_qspi_baud_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->BAUD.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_qspi_write_BAUD_reg(const void *const hw, hri_qspi_baud_reg_t data)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg = data;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_BAUD_reg(const void *const hw, hri_qspi_baud_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg &= ~mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_BAUD_reg(const void *const hw, hri_qspi_baud_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->BAUD.reg ^= mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_baud_reg_t hri_qspi_read_BAUD_reg(const void *const hw)
+{
+ return ((Qspi *)hw)->BAUD.reg;
+}
+
+static inline void hri_qspi_set_INSTRADDR_ADDR_bf(const void *const hw, hri_qspi_instraddr_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRADDR.reg |= QSPI_INSTRADDR_ADDR(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instraddr_reg_t hri_qspi_get_INSTRADDR_ADDR_bf(const void *const hw,
+ hri_qspi_instraddr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRADDR.reg;
+ tmp = (tmp & QSPI_INSTRADDR_ADDR(mask)) >> QSPI_INSTRADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_write_INSTRADDR_ADDR_bf(const void *const hw, hri_qspi_instraddr_reg_t data)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->INSTRADDR.reg;
+ tmp &= ~QSPI_INSTRADDR_ADDR_Msk;
+ tmp |= QSPI_INSTRADDR_ADDR(data);
+ ((Qspi *)hw)->INSTRADDR.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRADDR_ADDR_bf(const void *const hw, hri_qspi_instraddr_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRADDR.reg &= ~QSPI_INSTRADDR_ADDR(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRADDR_ADDR_bf(const void *const hw, hri_qspi_instraddr_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRADDR.reg ^= QSPI_INSTRADDR_ADDR(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instraddr_reg_t hri_qspi_read_INSTRADDR_ADDR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRADDR.reg;
+ tmp = (tmp & QSPI_INSTRADDR_ADDR_Msk) >> QSPI_INSTRADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_set_INSTRADDR_reg(const void *const hw, hri_qspi_instraddr_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRADDR.reg |= mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instraddr_reg_t hri_qspi_get_INSTRADDR_reg(const void *const hw, hri_qspi_instraddr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_qspi_write_INSTRADDR_reg(const void *const hw, hri_qspi_instraddr_reg_t data)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRADDR.reg = data;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRADDR_reg(const void *const hw, hri_qspi_instraddr_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRADDR.reg &= ~mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRADDR_reg(const void *const hw, hri_qspi_instraddr_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRADDR.reg ^= mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instraddr_reg_t hri_qspi_read_INSTRADDR_reg(const void *const hw)
+{
+ return ((Qspi *)hw)->INSTRADDR.reg;
+}
+
+static inline void hri_qspi_set_INSTRCTRL_INSTR_bf(const void *const hw, hri_qspi_instrctrl_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRCTRL.reg |= QSPI_INSTRCTRL_INSTR(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrctrl_reg_t hri_qspi_get_INSTRCTRL_INSTR_bf(const void *const hw,
+ hri_qspi_instrctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRCTRL.reg;
+ tmp = (tmp & QSPI_INSTRCTRL_INSTR(mask)) >> QSPI_INSTRCTRL_INSTR_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_write_INSTRCTRL_INSTR_bf(const void *const hw, hri_qspi_instrctrl_reg_t data)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->INSTRCTRL.reg;
+ tmp &= ~QSPI_INSTRCTRL_INSTR_Msk;
+ tmp |= QSPI_INSTRCTRL_INSTR(data);
+ ((Qspi *)hw)->INSTRCTRL.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRCTRL_INSTR_bf(const void *const hw, hri_qspi_instrctrl_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRCTRL.reg &= ~QSPI_INSTRCTRL_INSTR(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRCTRL_INSTR_bf(const void *const hw, hri_qspi_instrctrl_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRCTRL.reg ^= QSPI_INSTRCTRL_INSTR(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrctrl_reg_t hri_qspi_read_INSTRCTRL_INSTR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRCTRL.reg;
+ tmp = (tmp & QSPI_INSTRCTRL_INSTR_Msk) >> QSPI_INSTRCTRL_INSTR_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_set_INSTRCTRL_OPTCODE_bf(const void *const hw, hri_qspi_instrctrl_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRCTRL.reg |= QSPI_INSTRCTRL_OPTCODE(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrctrl_reg_t hri_qspi_get_INSTRCTRL_OPTCODE_bf(const void *const hw,
+ hri_qspi_instrctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRCTRL.reg;
+ tmp = (tmp & QSPI_INSTRCTRL_OPTCODE(mask)) >> QSPI_INSTRCTRL_OPTCODE_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_write_INSTRCTRL_OPTCODE_bf(const void *const hw, hri_qspi_instrctrl_reg_t data)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->INSTRCTRL.reg;
+ tmp &= ~QSPI_INSTRCTRL_OPTCODE_Msk;
+ tmp |= QSPI_INSTRCTRL_OPTCODE(data);
+ ((Qspi *)hw)->INSTRCTRL.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRCTRL_OPTCODE_bf(const void *const hw, hri_qspi_instrctrl_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRCTRL.reg &= ~QSPI_INSTRCTRL_OPTCODE(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRCTRL_OPTCODE_bf(const void *const hw, hri_qspi_instrctrl_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRCTRL.reg ^= QSPI_INSTRCTRL_OPTCODE(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrctrl_reg_t hri_qspi_read_INSTRCTRL_OPTCODE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRCTRL.reg;
+ tmp = (tmp & QSPI_INSTRCTRL_OPTCODE_Msk) >> QSPI_INSTRCTRL_OPTCODE_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_set_INSTRCTRL_reg(const void *const hw, hri_qspi_instrctrl_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRCTRL.reg |= mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrctrl_reg_t hri_qspi_get_INSTRCTRL_reg(const void *const hw, hri_qspi_instrctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_qspi_write_INSTRCTRL_reg(const void *const hw, hri_qspi_instrctrl_reg_t data)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRCTRL.reg = data;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRCTRL_reg(const void *const hw, hri_qspi_instrctrl_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRCTRL.reg &= ~mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRCTRL_reg(const void *const hw, hri_qspi_instrctrl_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRCTRL.reg ^= mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrctrl_reg_t hri_qspi_read_INSTRCTRL_reg(const void *const hw)
+{
+ return ((Qspi *)hw)->INSTRCTRL.reg;
+}
+
+static inline void hri_qspi_set_INSTRFRAME_INSTREN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_INSTREN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_INSTRFRAME_INSTREN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp = (tmp & QSPI_INSTRFRAME_INSTREN) >> QSPI_INSTRFRAME_INSTREN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_INSTRFRAME_INSTREN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp &= ~QSPI_INSTRFRAME_INSTREN;
+ tmp |= value << QSPI_INSTRFRAME_INSTREN_Pos;
+ ((Qspi *)hw)->INSTRFRAME.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRFRAME_INSTREN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_INSTREN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRFRAME_INSTREN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_INSTREN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_INSTRFRAME_ADDREN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_ADDREN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_INSTRFRAME_ADDREN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp = (tmp & QSPI_INSTRFRAME_ADDREN) >> QSPI_INSTRFRAME_ADDREN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_INSTRFRAME_ADDREN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp &= ~QSPI_INSTRFRAME_ADDREN;
+ tmp |= value << QSPI_INSTRFRAME_ADDREN_Pos;
+ ((Qspi *)hw)->INSTRFRAME.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRFRAME_ADDREN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_ADDREN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRFRAME_ADDREN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_ADDREN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_INSTRFRAME_OPTCODEEN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_OPTCODEEN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_INSTRFRAME_OPTCODEEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp = (tmp & QSPI_INSTRFRAME_OPTCODEEN) >> QSPI_INSTRFRAME_OPTCODEEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_INSTRFRAME_OPTCODEEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp &= ~QSPI_INSTRFRAME_OPTCODEEN;
+ tmp |= value << QSPI_INSTRFRAME_OPTCODEEN_Pos;
+ ((Qspi *)hw)->INSTRFRAME.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRFRAME_OPTCODEEN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_OPTCODEEN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRFRAME_OPTCODEEN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_OPTCODEEN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_INSTRFRAME_DATAEN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_DATAEN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_INSTRFRAME_DATAEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp = (tmp & QSPI_INSTRFRAME_DATAEN) >> QSPI_INSTRFRAME_DATAEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_INSTRFRAME_DATAEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp &= ~QSPI_INSTRFRAME_DATAEN;
+ tmp |= value << QSPI_INSTRFRAME_DATAEN_Pos;
+ ((Qspi *)hw)->INSTRFRAME.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRFRAME_DATAEN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_DATAEN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRFRAME_DATAEN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_DATAEN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_INSTRFRAME_ADDRLEN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_ADDRLEN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_INSTRFRAME_ADDRLEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp = (tmp & QSPI_INSTRFRAME_ADDRLEN) >> QSPI_INSTRFRAME_ADDRLEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_INSTRFRAME_ADDRLEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp &= ~QSPI_INSTRFRAME_ADDRLEN;
+ tmp |= value << QSPI_INSTRFRAME_ADDRLEN_Pos;
+ ((Qspi *)hw)->INSTRFRAME.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRFRAME_ADDRLEN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_ADDRLEN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRFRAME_ADDRLEN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_ADDRLEN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_INSTRFRAME_CRMODE_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_CRMODE;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_INSTRFRAME_CRMODE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp = (tmp & QSPI_INSTRFRAME_CRMODE) >> QSPI_INSTRFRAME_CRMODE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_INSTRFRAME_CRMODE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp &= ~QSPI_INSTRFRAME_CRMODE;
+ tmp |= value << QSPI_INSTRFRAME_CRMODE_Pos;
+ ((Qspi *)hw)->INSTRFRAME.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRFRAME_CRMODE_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_CRMODE;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRFRAME_CRMODE_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_CRMODE;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_INSTRFRAME_DDREN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_DDREN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_INSTRFRAME_DDREN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp = (tmp & QSPI_INSTRFRAME_DDREN) >> QSPI_INSTRFRAME_DDREN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_INSTRFRAME_DDREN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp &= ~QSPI_INSTRFRAME_DDREN;
+ tmp |= value << QSPI_INSTRFRAME_DDREN_Pos;
+ ((Qspi *)hw)->INSTRFRAME.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRFRAME_DDREN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_DDREN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRFRAME_DDREN_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_DDREN;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_INSTRFRAME_WIDTH_bf(const void *const hw, hri_qspi_instrframe_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_WIDTH(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrframe_reg_t hri_qspi_get_INSTRFRAME_WIDTH_bf(const void *const hw,
+ hri_qspi_instrframe_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp = (tmp & QSPI_INSTRFRAME_WIDTH(mask)) >> QSPI_INSTRFRAME_WIDTH_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_write_INSTRFRAME_WIDTH_bf(const void *const hw, hri_qspi_instrframe_reg_t data)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp &= ~QSPI_INSTRFRAME_WIDTH_Msk;
+ tmp |= QSPI_INSTRFRAME_WIDTH(data);
+ ((Qspi *)hw)->INSTRFRAME.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRFRAME_WIDTH_bf(const void *const hw, hri_qspi_instrframe_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_WIDTH(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRFRAME_WIDTH_bf(const void *const hw, hri_qspi_instrframe_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_WIDTH(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrframe_reg_t hri_qspi_read_INSTRFRAME_WIDTH_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp = (tmp & QSPI_INSTRFRAME_WIDTH_Msk) >> QSPI_INSTRFRAME_WIDTH_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_set_INSTRFRAME_OPTCODELEN_bf(const void *const hw, hri_qspi_instrframe_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_OPTCODELEN(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrframe_reg_t hri_qspi_get_INSTRFRAME_OPTCODELEN_bf(const void *const hw,
+ hri_qspi_instrframe_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp = (tmp & QSPI_INSTRFRAME_OPTCODELEN(mask)) >> QSPI_INSTRFRAME_OPTCODELEN_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_write_INSTRFRAME_OPTCODELEN_bf(const void *const hw, hri_qspi_instrframe_reg_t data)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp &= ~QSPI_INSTRFRAME_OPTCODELEN_Msk;
+ tmp |= QSPI_INSTRFRAME_OPTCODELEN(data);
+ ((Qspi *)hw)->INSTRFRAME.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRFRAME_OPTCODELEN_bf(const void *const hw, hri_qspi_instrframe_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_OPTCODELEN(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRFRAME_OPTCODELEN_bf(const void *const hw, hri_qspi_instrframe_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_OPTCODELEN(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrframe_reg_t hri_qspi_read_INSTRFRAME_OPTCODELEN_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp = (tmp & QSPI_INSTRFRAME_OPTCODELEN_Msk) >> QSPI_INSTRFRAME_OPTCODELEN_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_set_INSTRFRAME_TFRTYPE_bf(const void *const hw, hri_qspi_instrframe_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_TFRTYPE(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrframe_reg_t hri_qspi_get_INSTRFRAME_TFRTYPE_bf(const void *const hw,
+ hri_qspi_instrframe_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp = (tmp & QSPI_INSTRFRAME_TFRTYPE(mask)) >> QSPI_INSTRFRAME_TFRTYPE_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_write_INSTRFRAME_TFRTYPE_bf(const void *const hw, hri_qspi_instrframe_reg_t data)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp &= ~QSPI_INSTRFRAME_TFRTYPE_Msk;
+ tmp |= QSPI_INSTRFRAME_TFRTYPE(data);
+ ((Qspi *)hw)->INSTRFRAME.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRFRAME_TFRTYPE_bf(const void *const hw, hri_qspi_instrframe_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_TFRTYPE(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRFRAME_TFRTYPE_bf(const void *const hw, hri_qspi_instrframe_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_TFRTYPE(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrframe_reg_t hri_qspi_read_INSTRFRAME_TFRTYPE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp = (tmp & QSPI_INSTRFRAME_TFRTYPE_Msk) >> QSPI_INSTRFRAME_TFRTYPE_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_set_INSTRFRAME_DUMMYLEN_bf(const void *const hw, hri_qspi_instrframe_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg |= QSPI_INSTRFRAME_DUMMYLEN(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrframe_reg_t hri_qspi_get_INSTRFRAME_DUMMYLEN_bf(const void *const hw,
+ hri_qspi_instrframe_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp = (tmp & QSPI_INSTRFRAME_DUMMYLEN(mask)) >> QSPI_INSTRFRAME_DUMMYLEN_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_write_INSTRFRAME_DUMMYLEN_bf(const void *const hw, hri_qspi_instrframe_reg_t data)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp &= ~QSPI_INSTRFRAME_DUMMYLEN_Msk;
+ tmp |= QSPI_INSTRFRAME_DUMMYLEN(data);
+ ((Qspi *)hw)->INSTRFRAME.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRFRAME_DUMMYLEN_bf(const void *const hw, hri_qspi_instrframe_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg &= ~QSPI_INSTRFRAME_DUMMYLEN(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRFRAME_DUMMYLEN_bf(const void *const hw, hri_qspi_instrframe_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg ^= QSPI_INSTRFRAME_DUMMYLEN(mask);
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrframe_reg_t hri_qspi_read_INSTRFRAME_DUMMYLEN_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp = (tmp & QSPI_INSTRFRAME_DUMMYLEN_Msk) >> QSPI_INSTRFRAME_DUMMYLEN_Pos;
+ return tmp;
+}
+
+static inline void hri_qspi_set_INSTRFRAME_reg(const void *const hw, hri_qspi_instrframe_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg |= mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrframe_reg_t hri_qspi_get_INSTRFRAME_reg(const void *const hw,
+ hri_qspi_instrframe_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->INSTRFRAME.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_qspi_write_INSTRFRAME_reg(const void *const hw, hri_qspi_instrframe_reg_t data)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg = data;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_INSTRFRAME_reg(const void *const hw, hri_qspi_instrframe_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg &= ~mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_INSTRFRAME_reg(const void *const hw, hri_qspi_instrframe_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->INSTRFRAME.reg ^= mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_instrframe_reg_t hri_qspi_read_INSTRFRAME_reg(const void *const hw)
+{
+ return ((Qspi *)hw)->INSTRFRAME.reg;
+}
+
+static inline void hri_qspi_set_SCRAMBCTRL_ENABLE_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->SCRAMBCTRL.reg |= QSPI_SCRAMBCTRL_ENABLE;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_SCRAMBCTRL_ENABLE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->SCRAMBCTRL.reg;
+ tmp = (tmp & QSPI_SCRAMBCTRL_ENABLE) >> QSPI_SCRAMBCTRL_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_SCRAMBCTRL_ENABLE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->SCRAMBCTRL.reg;
+ tmp &= ~QSPI_SCRAMBCTRL_ENABLE;
+ tmp |= value << QSPI_SCRAMBCTRL_ENABLE_Pos;
+ ((Qspi *)hw)->SCRAMBCTRL.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_SCRAMBCTRL_ENABLE_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->SCRAMBCTRL.reg &= ~QSPI_SCRAMBCTRL_ENABLE;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_SCRAMBCTRL_ENABLE_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->SCRAMBCTRL.reg ^= QSPI_SCRAMBCTRL_ENABLE;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_SCRAMBCTRL_RANDOMDIS_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->SCRAMBCTRL.reg |= QSPI_SCRAMBCTRL_RANDOMDIS;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_qspi_get_SCRAMBCTRL_RANDOMDIS_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->SCRAMBCTRL.reg;
+ tmp = (tmp & QSPI_SCRAMBCTRL_RANDOMDIS) >> QSPI_SCRAMBCTRL_RANDOMDIS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_qspi_write_SCRAMBCTRL_RANDOMDIS_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ QSPI_CRITICAL_SECTION_ENTER();
+ tmp = ((Qspi *)hw)->SCRAMBCTRL.reg;
+ tmp &= ~QSPI_SCRAMBCTRL_RANDOMDIS;
+ tmp |= value << QSPI_SCRAMBCTRL_RANDOMDIS_Pos;
+ ((Qspi *)hw)->SCRAMBCTRL.reg = tmp;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_SCRAMBCTRL_RANDOMDIS_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->SCRAMBCTRL.reg &= ~QSPI_SCRAMBCTRL_RANDOMDIS;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_SCRAMBCTRL_RANDOMDIS_bit(const void *const hw)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->SCRAMBCTRL.reg ^= QSPI_SCRAMBCTRL_RANDOMDIS;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_set_SCRAMBCTRL_reg(const void *const hw, hri_qspi_scrambctrl_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->SCRAMBCTRL.reg |= mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_scrambctrl_reg_t hri_qspi_get_SCRAMBCTRL_reg(const void *const hw,
+ hri_qspi_scrambctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Qspi *)hw)->SCRAMBCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_qspi_write_SCRAMBCTRL_reg(const void *const hw, hri_qspi_scrambctrl_reg_t data)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->SCRAMBCTRL.reg = data;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_clear_SCRAMBCTRL_reg(const void *const hw, hri_qspi_scrambctrl_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->SCRAMBCTRL.reg &= ~mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_toggle_SCRAMBCTRL_reg(const void *const hw, hri_qspi_scrambctrl_reg_t mask)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->SCRAMBCTRL.reg ^= mask;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_qspi_scrambctrl_reg_t hri_qspi_read_SCRAMBCTRL_reg(const void *const hw)
+{
+ return ((Qspi *)hw)->SCRAMBCTRL.reg;
+}
+
+static inline void hri_qspi_write_TXDATA_reg(const void *const hw, hri_qspi_txdata_reg_t data)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->TXDATA.reg = data;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_qspi_write_SCRAMBKEY_reg(const void *const hw, hri_qspi_scrambkey_reg_t data)
+{
+ QSPI_CRITICAL_SECTION_ENTER();
+ ((Qspi *)hw)->SCRAMBKEY.reg = data;
+ QSPI_CRITICAL_SECTION_LEAVE();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_QSPI_E54_H_INCLUDED */
+#endif /* _SAME54_QSPI_COMPONENT_ */
diff --git a/hri/hri_ramecc_e54.h b/hri/hri_ramecc_e54.h
new file mode 100644
index 0000000..6031cce
--- /dev/null
+++ b/hri/hri_ramecc_e54.h
@@ -0,0 +1,362 @@
+/**
+ * \file
+ *
+ * \brief SAM RAMECC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_RAMECC_COMPONENT_
+#ifndef _HRI_RAMECC_E54_H_INCLUDED_
+#define _HRI_RAMECC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_RAMECC_CRITICAL_SECTIONS)
+#define RAMECC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define RAMECC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define RAMECC_CRITICAL_SECTION_ENTER()
+#define RAMECC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_ramecc_erraddr_reg_t;
+typedef uint8_t hri_ramecc_dbgctrl_reg_t;
+typedef uint8_t hri_ramecc_intenset_reg_t;
+typedef uint8_t hri_ramecc_intflag_reg_t;
+typedef uint8_t hri_ramecc_status_reg_t;
+
+static inline bool hri_ramecc_get_INTFLAG_SINGLEE_bit(const void *const hw)
+{
+ return (((Ramecc *)hw)->INTFLAG.reg & RAMECC_INTFLAG_SINGLEE) >> RAMECC_INTFLAG_SINGLEE_Pos;
+}
+
+static inline void hri_ramecc_clear_INTFLAG_SINGLEE_bit(const void *const hw)
+{
+ ((Ramecc *)hw)->INTFLAG.reg = RAMECC_INTFLAG_SINGLEE;
+}
+
+static inline bool hri_ramecc_get_INTFLAG_DUALE_bit(const void *const hw)
+{
+ return (((Ramecc *)hw)->INTFLAG.reg & RAMECC_INTFLAG_DUALE) >> RAMECC_INTFLAG_DUALE_Pos;
+}
+
+static inline void hri_ramecc_clear_INTFLAG_DUALE_bit(const void *const hw)
+{
+ ((Ramecc *)hw)->INTFLAG.reg = RAMECC_INTFLAG_DUALE;
+}
+
+static inline bool hri_ramecc_get_interrupt_SINGLEE_bit(const void *const hw)
+{
+ return (((Ramecc *)hw)->INTFLAG.reg & RAMECC_INTFLAG_SINGLEE) >> RAMECC_INTFLAG_SINGLEE_Pos;
+}
+
+static inline void hri_ramecc_clear_interrupt_SINGLEE_bit(const void *const hw)
+{
+ ((Ramecc *)hw)->INTFLAG.reg = RAMECC_INTFLAG_SINGLEE;
+}
+
+static inline bool hri_ramecc_get_interrupt_DUALE_bit(const void *const hw)
+{
+ return (((Ramecc *)hw)->INTFLAG.reg & RAMECC_INTFLAG_DUALE) >> RAMECC_INTFLAG_DUALE_Pos;
+}
+
+static inline void hri_ramecc_clear_interrupt_DUALE_bit(const void *const hw)
+{
+ ((Ramecc *)hw)->INTFLAG.reg = RAMECC_INTFLAG_DUALE;
+}
+
+static inline hri_ramecc_intflag_reg_t hri_ramecc_get_INTFLAG_reg(const void *const hw, hri_ramecc_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Ramecc *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_ramecc_intflag_reg_t hri_ramecc_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Ramecc *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_ramecc_clear_INTFLAG_reg(const void *const hw, hri_ramecc_intflag_reg_t mask)
+{
+ ((Ramecc *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_ramecc_set_INTEN_SINGLEE_bit(const void *const hw)
+{
+ ((Ramecc *)hw)->INTENSET.reg = RAMECC_INTENSET_SINGLEE;
+}
+
+static inline bool hri_ramecc_get_INTEN_SINGLEE_bit(const void *const hw)
+{
+ return (((Ramecc *)hw)->INTENSET.reg & RAMECC_INTENSET_SINGLEE) >> RAMECC_INTENSET_SINGLEE_Pos;
+}
+
+static inline void hri_ramecc_write_INTEN_SINGLEE_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Ramecc *)hw)->INTENCLR.reg = RAMECC_INTENSET_SINGLEE;
+ } else {
+ ((Ramecc *)hw)->INTENSET.reg = RAMECC_INTENSET_SINGLEE;
+ }
+}
+
+static inline void hri_ramecc_clear_INTEN_SINGLEE_bit(const void *const hw)
+{
+ ((Ramecc *)hw)->INTENCLR.reg = RAMECC_INTENSET_SINGLEE;
+}
+
+static inline void hri_ramecc_set_INTEN_DUALE_bit(const void *const hw)
+{
+ ((Ramecc *)hw)->INTENSET.reg = RAMECC_INTENSET_DUALE;
+}
+
+static inline bool hri_ramecc_get_INTEN_DUALE_bit(const void *const hw)
+{
+ return (((Ramecc *)hw)->INTENSET.reg & RAMECC_INTENSET_DUALE) >> RAMECC_INTENSET_DUALE_Pos;
+}
+
+static inline void hri_ramecc_write_INTEN_DUALE_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Ramecc *)hw)->INTENCLR.reg = RAMECC_INTENSET_DUALE;
+ } else {
+ ((Ramecc *)hw)->INTENSET.reg = RAMECC_INTENSET_DUALE;
+ }
+}
+
+static inline void hri_ramecc_clear_INTEN_DUALE_bit(const void *const hw)
+{
+ ((Ramecc *)hw)->INTENCLR.reg = RAMECC_INTENSET_DUALE;
+}
+
+static inline void hri_ramecc_set_INTEN_reg(const void *const hw, hri_ramecc_intenset_reg_t mask)
+{
+ ((Ramecc *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_ramecc_intenset_reg_t hri_ramecc_get_INTEN_reg(const void *const hw, hri_ramecc_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Ramecc *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_ramecc_intenset_reg_t hri_ramecc_read_INTEN_reg(const void *const hw)
+{
+ return ((Ramecc *)hw)->INTENSET.reg;
+}
+
+static inline void hri_ramecc_write_INTEN_reg(const void *const hw, hri_ramecc_intenset_reg_t data)
+{
+ ((Ramecc *)hw)->INTENSET.reg = data;
+ ((Ramecc *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_ramecc_clear_INTEN_reg(const void *const hw, hri_ramecc_intenset_reg_t mask)
+{
+ ((Ramecc *)hw)->INTENCLR.reg = mask;
+}
+
+static inline bool hri_ramecc_get_STATUS_ECCDIS_bit(const void *const hw)
+{
+ return (((Ramecc *)hw)->STATUS.reg & RAMECC_STATUS_ECCDIS) >> RAMECC_STATUS_ECCDIS_Pos;
+}
+
+static inline hri_ramecc_status_reg_t hri_ramecc_get_STATUS_reg(const void *const hw, hri_ramecc_status_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Ramecc *)hw)->STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_ramecc_status_reg_t hri_ramecc_read_STATUS_reg(const void *const hw)
+{
+ return ((Ramecc *)hw)->STATUS.reg;
+}
+
+static inline hri_ramecc_erraddr_reg_t hri_ramecc_get_ERRADDR_ERRADDR_bf(const void *const hw,
+ hri_ramecc_erraddr_reg_t mask)
+{
+ return (((Ramecc *)hw)->ERRADDR.reg & RAMECC_ERRADDR_ERRADDR(mask)) >> RAMECC_ERRADDR_ERRADDR_Pos;
+}
+
+static inline hri_ramecc_erraddr_reg_t hri_ramecc_read_ERRADDR_ERRADDR_bf(const void *const hw)
+{
+ return (((Ramecc *)hw)->ERRADDR.reg & RAMECC_ERRADDR_ERRADDR_Msk) >> RAMECC_ERRADDR_ERRADDR_Pos;
+}
+
+static inline hri_ramecc_erraddr_reg_t hri_ramecc_get_ERRADDR_reg(const void *const hw, hri_ramecc_erraddr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Ramecc *)hw)->ERRADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_ramecc_erraddr_reg_t hri_ramecc_read_ERRADDR_reg(const void *const hw)
+{
+ return ((Ramecc *)hw)->ERRADDR.reg;
+}
+
+static inline void hri_ramecc_set_DBGCTRL_ECCDIS_bit(const void *const hw)
+{
+ RAMECC_CRITICAL_SECTION_ENTER();
+ ((Ramecc *)hw)->DBGCTRL.reg |= RAMECC_DBGCTRL_ECCDIS;
+ RAMECC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ramecc_get_DBGCTRL_ECCDIS_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Ramecc *)hw)->DBGCTRL.reg;
+ tmp = (tmp & RAMECC_DBGCTRL_ECCDIS) >> RAMECC_DBGCTRL_ECCDIS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ramecc_write_DBGCTRL_ECCDIS_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ RAMECC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ramecc *)hw)->DBGCTRL.reg;
+ tmp &= ~RAMECC_DBGCTRL_ECCDIS;
+ tmp |= value << RAMECC_DBGCTRL_ECCDIS_Pos;
+ ((Ramecc *)hw)->DBGCTRL.reg = tmp;
+ RAMECC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ramecc_clear_DBGCTRL_ECCDIS_bit(const void *const hw)
+{
+ RAMECC_CRITICAL_SECTION_ENTER();
+ ((Ramecc *)hw)->DBGCTRL.reg &= ~RAMECC_DBGCTRL_ECCDIS;
+ RAMECC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ramecc_toggle_DBGCTRL_ECCDIS_bit(const void *const hw)
+{
+ RAMECC_CRITICAL_SECTION_ENTER();
+ ((Ramecc *)hw)->DBGCTRL.reg ^= RAMECC_DBGCTRL_ECCDIS;
+ RAMECC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ramecc_set_DBGCTRL_ECCELOG_bit(const void *const hw)
+{
+ RAMECC_CRITICAL_SECTION_ENTER();
+ ((Ramecc *)hw)->DBGCTRL.reg |= RAMECC_DBGCTRL_ECCELOG;
+ RAMECC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_ramecc_get_DBGCTRL_ECCELOG_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Ramecc *)hw)->DBGCTRL.reg;
+ tmp = (tmp & RAMECC_DBGCTRL_ECCELOG) >> RAMECC_DBGCTRL_ECCELOG_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_ramecc_write_DBGCTRL_ECCELOG_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ RAMECC_CRITICAL_SECTION_ENTER();
+ tmp = ((Ramecc *)hw)->DBGCTRL.reg;
+ tmp &= ~RAMECC_DBGCTRL_ECCELOG;
+ tmp |= value << RAMECC_DBGCTRL_ECCELOG_Pos;
+ ((Ramecc *)hw)->DBGCTRL.reg = tmp;
+ RAMECC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ramecc_clear_DBGCTRL_ECCELOG_bit(const void *const hw)
+{
+ RAMECC_CRITICAL_SECTION_ENTER();
+ ((Ramecc *)hw)->DBGCTRL.reg &= ~RAMECC_DBGCTRL_ECCELOG;
+ RAMECC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ramecc_toggle_DBGCTRL_ECCELOG_bit(const void *const hw)
+{
+ RAMECC_CRITICAL_SECTION_ENTER();
+ ((Ramecc *)hw)->DBGCTRL.reg ^= RAMECC_DBGCTRL_ECCELOG;
+ RAMECC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ramecc_set_DBGCTRL_reg(const void *const hw, hri_ramecc_dbgctrl_reg_t mask)
+{
+ RAMECC_CRITICAL_SECTION_ENTER();
+ ((Ramecc *)hw)->DBGCTRL.reg |= mask;
+ RAMECC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ramecc_dbgctrl_reg_t hri_ramecc_get_DBGCTRL_reg(const void *const hw, hri_ramecc_dbgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Ramecc *)hw)->DBGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_ramecc_write_DBGCTRL_reg(const void *const hw, hri_ramecc_dbgctrl_reg_t data)
+{
+ RAMECC_CRITICAL_SECTION_ENTER();
+ ((Ramecc *)hw)->DBGCTRL.reg = data;
+ RAMECC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ramecc_clear_DBGCTRL_reg(const void *const hw, hri_ramecc_dbgctrl_reg_t mask)
+{
+ RAMECC_CRITICAL_SECTION_ENTER();
+ ((Ramecc *)hw)->DBGCTRL.reg &= ~mask;
+ RAMECC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_ramecc_toggle_DBGCTRL_reg(const void *const hw, hri_ramecc_dbgctrl_reg_t mask)
+{
+ RAMECC_CRITICAL_SECTION_ENTER();
+ ((Ramecc *)hw)->DBGCTRL.reg ^= mask;
+ RAMECC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_ramecc_dbgctrl_reg_t hri_ramecc_read_DBGCTRL_reg(const void *const hw)
+{
+ return ((Ramecc *)hw)->DBGCTRL.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_RAMECC_E54_H_INCLUDED */
+#endif /* _SAME54_RAMECC_COMPONENT_ */
diff --git a/hri/hri_rstc_e54.h b/hri/hri_rstc_e54.h
new file mode 100644
index 0000000..bf5592a
--- /dev/null
+++ b/hri/hri_rstc_e54.h
@@ -0,0 +1,142 @@
+/**
+ * \file
+ *
+ * \brief SAM RSTC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_RSTC_COMPONENT_
+#ifndef _HRI_RSTC_E54_H_INCLUDED_
+#define _HRI_RSTC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_RSTC_CRITICAL_SECTIONS)
+#define RSTC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define RSTC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define RSTC_CRITICAL_SECTION_ENTER()
+#define RSTC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint8_t hri_rstc_bkupexit_reg_t;
+typedef uint8_t hri_rstc_rcause_reg_t;
+
+static inline bool hri_rstc_get_RCAUSE_POR_bit(const void *const hw)
+{
+ return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_POR) >> RSTC_RCAUSE_POR_Pos;
+}
+
+static inline bool hri_rstc_get_RCAUSE_BODCORE_bit(const void *const hw)
+{
+ return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_BODCORE) >> RSTC_RCAUSE_BODCORE_Pos;
+}
+
+static inline bool hri_rstc_get_RCAUSE_BODVDD_bit(const void *const hw)
+{
+ return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_BODVDD) >> RSTC_RCAUSE_BODVDD_Pos;
+}
+
+static inline bool hri_rstc_get_RCAUSE_NVM_bit(const void *const hw)
+{
+ return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_NVM) >> RSTC_RCAUSE_NVM_Pos;
+}
+
+static inline bool hri_rstc_get_RCAUSE_EXT_bit(const void *const hw)
+{
+ return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_EXT) >> RSTC_RCAUSE_EXT_Pos;
+}
+
+static inline bool hri_rstc_get_RCAUSE_WDT_bit(const void *const hw)
+{
+ return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_WDT) >> RSTC_RCAUSE_WDT_Pos;
+}
+
+static inline bool hri_rstc_get_RCAUSE_SYST_bit(const void *const hw)
+{
+ return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_SYST) >> RSTC_RCAUSE_SYST_Pos;
+}
+
+static inline bool hri_rstc_get_RCAUSE_BACKUP_bit(const void *const hw)
+{
+ return (((Rstc *)hw)->RCAUSE.reg & RSTC_RCAUSE_BACKUP) >> RSTC_RCAUSE_BACKUP_Pos;
+}
+
+static inline hri_rstc_rcause_reg_t hri_rstc_get_RCAUSE_reg(const void *const hw, hri_rstc_rcause_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Rstc *)hw)->RCAUSE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_rstc_rcause_reg_t hri_rstc_read_RCAUSE_reg(const void *const hw)
+{
+ return ((Rstc *)hw)->RCAUSE.reg;
+}
+
+static inline bool hri_rstc_get_BKUPEXIT_RTC_bit(const void *const hw)
+{
+ return (((Rstc *)hw)->BKUPEXIT.reg & RSTC_BKUPEXIT_RTC) >> RSTC_BKUPEXIT_RTC_Pos;
+}
+
+static inline bool hri_rstc_get_BKUPEXIT_BBPS_bit(const void *const hw)
+{
+ return (((Rstc *)hw)->BKUPEXIT.reg & RSTC_BKUPEXIT_BBPS) >> RSTC_BKUPEXIT_BBPS_Pos;
+}
+
+static inline bool hri_rstc_get_BKUPEXIT_HIB_bit(const void *const hw)
+{
+ return (((Rstc *)hw)->BKUPEXIT.reg & RSTC_BKUPEXIT_HIB) >> RSTC_BKUPEXIT_HIB_Pos;
+}
+
+static inline hri_rstc_bkupexit_reg_t hri_rstc_get_BKUPEXIT_reg(const void *const hw, hri_rstc_bkupexit_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Rstc *)hw)->BKUPEXIT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_rstc_bkupexit_reg_t hri_rstc_read_BKUPEXIT_reg(const void *const hw)
+{
+ return ((Rstc *)hw)->BKUPEXIT.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_RSTC_E54_H_INCLUDED */
+#endif /* _SAME54_RSTC_COMPONENT_ */
diff --git a/hri/hri_rtc_e54.h b/hri/hri_rtc_e54.h
new file mode 100644
index 0000000..2f2fa3b
--- /dev/null
+++ b/hri/hri_rtc_e54.h
@@ -0,0 +1,10139 @@
+/**
+ * \file
+ *
+ * \brief SAM RTC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_RTC_COMPONENT_
+#ifndef _HRI_RTC_E54_H_INCLUDED_
+#define _HRI_RTC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_RTC_CRITICAL_SECTIONS)
+#define RTC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define RTC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define RTC_CRITICAL_SECTION_ENTER()
+#define RTC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_rtcmode0_ctrla_reg_t;
+typedef uint16_t hri_rtcmode0_ctrlb_reg_t;
+typedef uint16_t hri_rtcmode0_intenset_reg_t;
+typedef uint16_t hri_rtcmode0_intflag_reg_t;
+typedef uint16_t hri_rtcmode1_comp_reg_t;
+typedef uint16_t hri_rtcmode1_count_reg_t;
+typedef uint16_t hri_rtcmode1_ctrla_reg_t;
+typedef uint16_t hri_rtcmode1_ctrlb_reg_t;
+typedef uint16_t hri_rtcmode1_intenset_reg_t;
+typedef uint16_t hri_rtcmode1_intflag_reg_t;
+typedef uint16_t hri_rtcmode1_per_reg_t;
+typedef uint16_t hri_rtcmode2_ctrla_reg_t;
+typedef uint16_t hri_rtcmode2_ctrlb_reg_t;
+typedef uint16_t hri_rtcmode2_intenset_reg_t;
+typedef uint16_t hri_rtcmode2_intflag_reg_t;
+typedef uint32_t hri_rtc_bkup_reg_t;
+typedef uint32_t hri_rtc_gp_reg_t;
+typedef uint32_t hri_rtc_tampctrl_reg_t;
+typedef uint32_t hri_rtc_tampid_reg_t;
+typedef uint32_t hri_rtcalarm_alarm_reg_t;
+typedef uint32_t hri_rtcmode0_comp_reg_t;
+typedef uint32_t hri_rtcmode0_count_reg_t;
+typedef uint32_t hri_rtcmode0_evctrl_reg_t;
+typedef uint32_t hri_rtcmode0_syncbusy_reg_t;
+typedef uint32_t hri_rtcmode0_timestamp_reg_t;
+typedef uint32_t hri_rtcmode1_evctrl_reg_t;
+typedef uint32_t hri_rtcmode1_syncbusy_reg_t;
+typedef uint32_t hri_rtcmode1_timestamp_reg_t;
+typedef uint32_t hri_rtcmode2_alarm_reg_t;
+typedef uint32_t hri_rtcmode2_clock_reg_t;
+typedef uint32_t hri_rtcmode2_evctrl_reg_t;
+typedef uint32_t hri_rtcmode2_syncbusy_reg_t;
+typedef uint32_t hri_rtcmode2_timestamp_reg_t;
+typedef uint8_t hri_rtc_dbgctrl_reg_t;
+typedef uint8_t hri_rtc_freqcorr_reg_t;
+typedef uint8_t hri_rtcalarm_mask_reg_t;
+typedef uint8_t hri_rtcmode2_mask_reg_t;
+
+static inline void hri_rtcmode0_wait_for_sync(const void *const hw, hri_rtcmode0_syncbusy_reg_t reg)
+{
+ while (((Rtc *)hw)->MODE0.SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_rtcmode0_is_syncing(const void *const hw, hri_rtcmode0_syncbusy_reg_t reg)
+{
+ return ((Rtc *)hw)->MODE0.SYNCBUSY.reg & reg;
+}
+
+static inline void hri_rtcmode1_wait_for_sync(const void *const hw, hri_rtcmode1_syncbusy_reg_t reg)
+{
+ while (((Rtc *)hw)->MODE1.SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_rtcmode1_is_syncing(const void *const hw, hri_rtcmode1_syncbusy_reg_t reg)
+{
+ return ((Rtc *)hw)->MODE1.SYNCBUSY.reg & reg;
+}
+
+static inline void hri_rtcmode2_wait_for_sync(const void *const hw, hri_rtcmode2_syncbusy_reg_t reg)
+{
+ while (((Rtc *)hw)->MODE2.SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_rtcmode2_is_syncing(const void *const hw, hri_rtcmode2_syncbusy_reg_t reg)
+{
+ return ((Rtc *)hw)->MODE2.SYNCBUSY.reg & reg;
+}
+
+static inline void hri_rtcalarm_set_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_SECOND(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_get_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_SECOND(mask)) >> RTC_MODE2_ALARM_SECOND_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_write_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp &= ~RTC_MODE2_ALARM_SECOND_Msk;
+ tmp |= RTC_MODE2_ALARM_SECOND(data);
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_clear_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_SECOND(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_toggle_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_SECOND(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_read_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_SECOND_Msk) >> RTC_MODE2_ALARM_SECOND_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_set_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_MINUTE(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_get_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_MINUTE(mask)) >> RTC_MODE2_ALARM_MINUTE_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_write_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp &= ~RTC_MODE2_ALARM_MINUTE_Msk;
+ tmp |= RTC_MODE2_ALARM_MINUTE(data);
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_clear_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_MINUTE(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_toggle_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_MINUTE(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_read_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_MINUTE_Msk) >> RTC_MODE2_ALARM_MINUTE_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_set_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_HOUR(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_get_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_HOUR(mask)) >> RTC_MODE2_ALARM_HOUR_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_write_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp &= ~RTC_MODE2_ALARM_HOUR_Msk;
+ tmp |= RTC_MODE2_ALARM_HOUR(data);
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_clear_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_HOUR(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_toggle_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_HOUR(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_read_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_HOUR_Msk) >> RTC_MODE2_ALARM_HOUR_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_set_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_DAY(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_get_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_DAY(mask)) >> RTC_MODE2_ALARM_DAY_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_write_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp &= ~RTC_MODE2_ALARM_DAY_Msk;
+ tmp |= RTC_MODE2_ALARM_DAY(data);
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_clear_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_DAY(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_toggle_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_DAY(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_read_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_DAY_Msk) >> RTC_MODE2_ALARM_DAY_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_set_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_MONTH(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_get_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_MONTH(mask)) >> RTC_MODE2_ALARM_MONTH_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_write_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp &= ~RTC_MODE2_ALARM_MONTH_Msk;
+ tmp |= RTC_MODE2_ALARM_MONTH(data);
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_clear_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_MONTH(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_toggle_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_MONTH(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_read_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_MONTH_Msk) >> RTC_MODE2_ALARM_MONTH_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_set_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_YEAR(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_get_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_YEAR(mask)) >> RTC_MODE2_ALARM_YEAR_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_write_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp &= ~RTC_MODE2_ALARM_YEAR_Msk;
+ tmp |= RTC_MODE2_ALARM_YEAR(data);
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_clear_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_YEAR(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_toggle_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_YEAR(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_read_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_YEAR_Msk) >> RTC_MODE2_ALARM_YEAR_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_set_ALARM_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg |= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_get_ALARM_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_write_ALARM_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg = data;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_clear_ALARM_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg &= ~mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_toggle_ALARM_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg ^= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcalarm_read_ALARM_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].ALARM.reg;
+}
+
+static inline void hri_rtcalarm_set_MASK_SEL_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg |= RTC_MODE2_MASK_SEL(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_mask_reg_t hri_rtcalarm_get_MASK_SEL_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg;
+ tmp = (tmp & RTC_MODE2_MASK_SEL(mask)) >> RTC_MODE2_MASK_SEL_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_write_MASK_SEL_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t data)
+{
+ uint8_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg;
+ tmp &= ~RTC_MODE2_MASK_SEL_Msk;
+ tmp |= RTC_MODE2_MASK_SEL(data);
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_clear_MASK_SEL_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg &= ~RTC_MODE2_MASK_SEL(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_toggle_MASK_SEL_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg ^= RTC_MODE2_MASK_SEL(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_mask_reg_t hri_rtcalarm_read_MASK_SEL_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg;
+ tmp = (tmp & RTC_MODE2_MASK_SEL_Msk) >> RTC_MODE2_MASK_SEL_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_set_MASK_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg |= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_mask_reg_t hri_rtcalarm_get_MASK_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcalarm_write_MASK_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg = data;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_clear_MASK_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg &= ~mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcalarm_toggle_MASK_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg ^= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_mask_reg_t hri_rtcalarm_read_MASK_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((RtcMode2 *)hw)->Mode2Alarm[submodule_index].MASK.reg;
+}
+
+static inline void hri_rtcmode2_set_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_SECOND(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_get_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_SECOND(mask)) >> RTC_MODE2_ALARM_SECOND_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp &= ~RTC_MODE2_ALARM_SECOND_Msk;
+ tmp |= RTC_MODE2_ALARM_SECOND(data);
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_SECOND(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_SECOND(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_read_ALARM_SECOND_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_SECOND_Msk) >> RTC_MODE2_ALARM_SECOND_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_MINUTE(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_get_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_MINUTE(mask)) >> RTC_MODE2_ALARM_MINUTE_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp &= ~RTC_MODE2_ALARM_MINUTE_Msk;
+ tmp |= RTC_MODE2_ALARM_MINUTE(data);
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_MINUTE(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_MINUTE(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_read_ALARM_MINUTE_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_MINUTE_Msk) >> RTC_MODE2_ALARM_MINUTE_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_HOUR(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_get_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_HOUR(mask)) >> RTC_MODE2_ALARM_HOUR_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp &= ~RTC_MODE2_ALARM_HOUR_Msk;
+ tmp |= RTC_MODE2_ALARM_HOUR(data);
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_HOUR(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_HOUR(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_read_ALARM_HOUR_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_HOUR_Msk) >> RTC_MODE2_ALARM_HOUR_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_DAY(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_get_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_DAY(mask)) >> RTC_MODE2_ALARM_DAY_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp &= ~RTC_MODE2_ALARM_DAY_Msk;
+ tmp |= RTC_MODE2_ALARM_DAY(data);
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_DAY(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_DAY(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_read_ALARM_DAY_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_DAY_Msk) >> RTC_MODE2_ALARM_DAY_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_MONTH(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_get_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_MONTH(mask)) >> RTC_MODE2_ALARM_MONTH_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp &= ~RTC_MODE2_ALARM_MONTH_Msk;
+ tmp |= RTC_MODE2_ALARM_MONTH(data);
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_MONTH(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_MONTH(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_read_ALARM_MONTH_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_MONTH_Msk) >> RTC_MODE2_ALARM_MONTH_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg |= RTC_MODE2_ALARM_YEAR(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_get_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_YEAR(mask)) >> RTC_MODE2_ALARM_YEAR_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp &= ~RTC_MODE2_ALARM_YEAR_Msk;
+ tmp |= RTC_MODE2_ALARM_YEAR(data);
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg &= ~RTC_MODE2_ALARM_YEAR(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg ^= RTC_MODE2_ALARM_YEAR(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_read_ALARM_YEAR_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp = (tmp & RTC_MODE2_ALARM_YEAR_Msk) >> RTC_MODE2_ALARM_YEAR_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_ALARM_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg |= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_get_ALARM_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_ALARM_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg = data;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_ALARM_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg &= ~mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_ALARM_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_alarm_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg ^= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_alarm_reg_t hri_rtcmode2_read_ALARM_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].ALARM.reg;
+}
+
+static inline void hri_rtcmode2_set_MASK_SEL_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg |= RTC_MODE2_MASK_SEL(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_mask_reg_t hri_rtcmode2_get_MASK_SEL_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg;
+ tmp = (tmp & RTC_MODE2_MASK_SEL(mask)) >> RTC_MODE2_MASK_SEL_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_MASK_SEL_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t data)
+{
+ uint8_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg;
+ tmp &= ~RTC_MODE2_MASK_SEL_Msk;
+ tmp |= RTC_MODE2_MASK_SEL(data);
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_MASK_SEL_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg &= ~RTC_MODE2_MASK_SEL(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_MASK_SEL_bf(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg ^= RTC_MODE2_MASK_SEL(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_mask_reg_t hri_rtcmode2_read_MASK_SEL_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg;
+ tmp = (tmp & RTC_MODE2_MASK_SEL_Msk) >> RTC_MODE2_MASK_SEL_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_MASK_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg |= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_mask_reg_t hri_rtcmode2_get_MASK_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_MASK_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg = data;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_MASK_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg &= ~mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_MASK_reg(const void *const hw, uint8_t submodule_index,
+ hri_rtcmode2_mask_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg ^= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_mask_reg_t hri_rtcmode2_read_MASK_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Rtc *)hw)->MODE2.Mode2Alarm[submodule_index].MASK.reg;
+}
+
+static inline bool hri_rtcmode0_get_INTFLAG_PER0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER0) >> RTC_MODE0_INTFLAG_PER0_Pos;
+}
+
+static inline void hri_rtcmode0_clear_INTFLAG_PER0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER0;
+}
+
+static inline bool hri_rtcmode0_get_INTFLAG_PER1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER1) >> RTC_MODE0_INTFLAG_PER1_Pos;
+}
+
+static inline void hri_rtcmode0_clear_INTFLAG_PER1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER1;
+}
+
+static inline bool hri_rtcmode0_get_INTFLAG_PER2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER2) >> RTC_MODE0_INTFLAG_PER2_Pos;
+}
+
+static inline void hri_rtcmode0_clear_INTFLAG_PER2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER2;
+}
+
+static inline bool hri_rtcmode0_get_INTFLAG_PER3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER3) >> RTC_MODE0_INTFLAG_PER3_Pos;
+}
+
+static inline void hri_rtcmode0_clear_INTFLAG_PER3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER3;
+}
+
+static inline bool hri_rtcmode0_get_INTFLAG_PER4_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER4) >> RTC_MODE0_INTFLAG_PER4_Pos;
+}
+
+static inline void hri_rtcmode0_clear_INTFLAG_PER4_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER4;
+}
+
+static inline bool hri_rtcmode0_get_INTFLAG_PER5_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER5) >> RTC_MODE0_INTFLAG_PER5_Pos;
+}
+
+static inline void hri_rtcmode0_clear_INTFLAG_PER5_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER5;
+}
+
+static inline bool hri_rtcmode0_get_INTFLAG_PER6_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER6) >> RTC_MODE0_INTFLAG_PER6_Pos;
+}
+
+static inline void hri_rtcmode0_clear_INTFLAG_PER6_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER6;
+}
+
+static inline bool hri_rtcmode0_get_INTFLAG_PER7_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER7) >> RTC_MODE0_INTFLAG_PER7_Pos;
+}
+
+static inline void hri_rtcmode0_clear_INTFLAG_PER7_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER7;
+}
+
+static inline bool hri_rtcmode0_get_INTFLAG_CMP0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_CMP0) >> RTC_MODE0_INTFLAG_CMP0_Pos;
+}
+
+static inline void hri_rtcmode0_clear_INTFLAG_CMP0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_CMP0;
+}
+
+static inline bool hri_rtcmode0_get_INTFLAG_CMP1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_CMP1) >> RTC_MODE0_INTFLAG_CMP1_Pos;
+}
+
+static inline void hri_rtcmode0_clear_INTFLAG_CMP1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_CMP1;
+}
+
+static inline bool hri_rtcmode0_get_INTFLAG_TAMPER_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_TAMPER) >> RTC_MODE0_INTFLAG_TAMPER_Pos;
+}
+
+static inline void hri_rtcmode0_clear_INTFLAG_TAMPER_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_TAMPER;
+}
+
+static inline bool hri_rtcmode0_get_INTFLAG_OVF_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_OVF) >> RTC_MODE0_INTFLAG_OVF_Pos;
+}
+
+static inline void hri_rtcmode0_clear_INTFLAG_OVF_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_OVF;
+}
+
+static inline bool hri_rtcmode0_get_interrupt_PER0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER0) >> RTC_MODE0_INTFLAG_PER0_Pos;
+}
+
+static inline void hri_rtcmode0_clear_interrupt_PER0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER0;
+}
+
+static inline bool hri_rtcmode0_get_interrupt_PER1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER1) >> RTC_MODE0_INTFLAG_PER1_Pos;
+}
+
+static inline void hri_rtcmode0_clear_interrupt_PER1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER1;
+}
+
+static inline bool hri_rtcmode0_get_interrupt_PER2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER2) >> RTC_MODE0_INTFLAG_PER2_Pos;
+}
+
+static inline void hri_rtcmode0_clear_interrupt_PER2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER2;
+}
+
+static inline bool hri_rtcmode0_get_interrupt_PER3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER3) >> RTC_MODE0_INTFLAG_PER3_Pos;
+}
+
+static inline void hri_rtcmode0_clear_interrupt_PER3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER3;
+}
+
+static inline bool hri_rtcmode0_get_interrupt_PER4_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER4) >> RTC_MODE0_INTFLAG_PER4_Pos;
+}
+
+static inline void hri_rtcmode0_clear_interrupt_PER4_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER4;
+}
+
+static inline bool hri_rtcmode0_get_interrupt_PER5_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER5) >> RTC_MODE0_INTFLAG_PER5_Pos;
+}
+
+static inline void hri_rtcmode0_clear_interrupt_PER5_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER5;
+}
+
+static inline bool hri_rtcmode0_get_interrupt_PER6_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER6) >> RTC_MODE0_INTFLAG_PER6_Pos;
+}
+
+static inline void hri_rtcmode0_clear_interrupt_PER6_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER6;
+}
+
+static inline bool hri_rtcmode0_get_interrupt_PER7_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_PER7) >> RTC_MODE0_INTFLAG_PER7_Pos;
+}
+
+static inline void hri_rtcmode0_clear_interrupt_PER7_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_PER7;
+}
+
+static inline bool hri_rtcmode0_get_interrupt_CMP0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_CMP0) >> RTC_MODE0_INTFLAG_CMP0_Pos;
+}
+
+static inline void hri_rtcmode0_clear_interrupt_CMP0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_CMP0;
+}
+
+static inline bool hri_rtcmode0_get_interrupt_CMP1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_CMP1) >> RTC_MODE0_INTFLAG_CMP1_Pos;
+}
+
+static inline void hri_rtcmode0_clear_interrupt_CMP1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_CMP1;
+}
+
+static inline bool hri_rtcmode0_get_interrupt_TAMPER_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_TAMPER) >> RTC_MODE0_INTFLAG_TAMPER_Pos;
+}
+
+static inline void hri_rtcmode0_clear_interrupt_TAMPER_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_TAMPER;
+}
+
+static inline bool hri_rtcmode0_get_interrupt_OVF_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_OVF) >> RTC_MODE0_INTFLAG_OVF_Pos;
+}
+
+static inline void hri_rtcmode0_clear_interrupt_OVF_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_OVF;
+}
+
+static inline hri_rtcmode0_intflag_reg_t hri_rtcmode0_get_INTFLAG_reg(const void *const hw,
+ hri_rtcmode0_intflag_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_rtcmode0_intflag_reg_t hri_rtcmode0_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE0.INTFLAG.reg;
+}
+
+static inline void hri_rtcmode0_clear_INTFLAG_reg(const void *const hw, hri_rtcmode0_intflag_reg_t mask)
+{
+ ((Rtc *)hw)->MODE0.INTFLAG.reg = mask;
+}
+
+static inline bool hri_rtcmode1_get_INTFLAG_PER0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER0) >> RTC_MODE1_INTFLAG_PER0_Pos;
+}
+
+static inline void hri_rtcmode1_clear_INTFLAG_PER0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER0;
+}
+
+static inline bool hri_rtcmode1_get_INTFLAG_PER1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER1) >> RTC_MODE1_INTFLAG_PER1_Pos;
+}
+
+static inline void hri_rtcmode1_clear_INTFLAG_PER1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER1;
+}
+
+static inline bool hri_rtcmode1_get_INTFLAG_PER2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER2) >> RTC_MODE1_INTFLAG_PER2_Pos;
+}
+
+static inline void hri_rtcmode1_clear_INTFLAG_PER2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER2;
+}
+
+static inline bool hri_rtcmode1_get_INTFLAG_PER3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER3) >> RTC_MODE1_INTFLAG_PER3_Pos;
+}
+
+static inline void hri_rtcmode1_clear_INTFLAG_PER3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER3;
+}
+
+static inline bool hri_rtcmode1_get_INTFLAG_PER4_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER4) >> RTC_MODE1_INTFLAG_PER4_Pos;
+}
+
+static inline void hri_rtcmode1_clear_INTFLAG_PER4_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER4;
+}
+
+static inline bool hri_rtcmode1_get_INTFLAG_PER5_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER5) >> RTC_MODE1_INTFLAG_PER5_Pos;
+}
+
+static inline void hri_rtcmode1_clear_INTFLAG_PER5_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER5;
+}
+
+static inline bool hri_rtcmode1_get_INTFLAG_PER6_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER6) >> RTC_MODE1_INTFLAG_PER6_Pos;
+}
+
+static inline void hri_rtcmode1_clear_INTFLAG_PER6_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER6;
+}
+
+static inline bool hri_rtcmode1_get_INTFLAG_PER7_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER7) >> RTC_MODE1_INTFLAG_PER7_Pos;
+}
+
+static inline void hri_rtcmode1_clear_INTFLAG_PER7_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER7;
+}
+
+static inline bool hri_rtcmode1_get_INTFLAG_CMP0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP0) >> RTC_MODE1_INTFLAG_CMP0_Pos;
+}
+
+static inline void hri_rtcmode1_clear_INTFLAG_CMP0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP0;
+}
+
+static inline bool hri_rtcmode1_get_INTFLAG_CMP1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP1) >> RTC_MODE1_INTFLAG_CMP1_Pos;
+}
+
+static inline void hri_rtcmode1_clear_INTFLAG_CMP1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP1;
+}
+
+static inline bool hri_rtcmode1_get_INTFLAG_CMP2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP2) >> RTC_MODE1_INTFLAG_CMP2_Pos;
+}
+
+static inline void hri_rtcmode1_clear_INTFLAG_CMP2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP2;
+}
+
+static inline bool hri_rtcmode1_get_INTFLAG_CMP3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP3) >> RTC_MODE1_INTFLAG_CMP3_Pos;
+}
+
+static inline void hri_rtcmode1_clear_INTFLAG_CMP3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP3;
+}
+
+static inline bool hri_rtcmode1_get_INTFLAG_TAMPER_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_TAMPER) >> RTC_MODE1_INTFLAG_TAMPER_Pos;
+}
+
+static inline void hri_rtcmode1_clear_INTFLAG_TAMPER_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_TAMPER;
+}
+
+static inline bool hri_rtcmode1_get_INTFLAG_OVF_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_OVF) >> RTC_MODE1_INTFLAG_OVF_Pos;
+}
+
+static inline void hri_rtcmode1_clear_INTFLAG_OVF_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_OVF;
+}
+
+static inline bool hri_rtcmode1_get_interrupt_PER0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER0) >> RTC_MODE1_INTFLAG_PER0_Pos;
+}
+
+static inline void hri_rtcmode1_clear_interrupt_PER0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER0;
+}
+
+static inline bool hri_rtcmode1_get_interrupt_PER1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER1) >> RTC_MODE1_INTFLAG_PER1_Pos;
+}
+
+static inline void hri_rtcmode1_clear_interrupt_PER1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER1;
+}
+
+static inline bool hri_rtcmode1_get_interrupt_PER2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER2) >> RTC_MODE1_INTFLAG_PER2_Pos;
+}
+
+static inline void hri_rtcmode1_clear_interrupt_PER2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER2;
+}
+
+static inline bool hri_rtcmode1_get_interrupt_PER3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER3) >> RTC_MODE1_INTFLAG_PER3_Pos;
+}
+
+static inline void hri_rtcmode1_clear_interrupt_PER3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER3;
+}
+
+static inline bool hri_rtcmode1_get_interrupt_PER4_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER4) >> RTC_MODE1_INTFLAG_PER4_Pos;
+}
+
+static inline void hri_rtcmode1_clear_interrupt_PER4_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER4;
+}
+
+static inline bool hri_rtcmode1_get_interrupt_PER5_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER5) >> RTC_MODE1_INTFLAG_PER5_Pos;
+}
+
+static inline void hri_rtcmode1_clear_interrupt_PER5_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER5;
+}
+
+static inline bool hri_rtcmode1_get_interrupt_PER6_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER6) >> RTC_MODE1_INTFLAG_PER6_Pos;
+}
+
+static inline void hri_rtcmode1_clear_interrupt_PER6_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER6;
+}
+
+static inline bool hri_rtcmode1_get_interrupt_PER7_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_PER7) >> RTC_MODE1_INTFLAG_PER7_Pos;
+}
+
+static inline void hri_rtcmode1_clear_interrupt_PER7_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_PER7;
+}
+
+static inline bool hri_rtcmode1_get_interrupt_CMP0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP0) >> RTC_MODE1_INTFLAG_CMP0_Pos;
+}
+
+static inline void hri_rtcmode1_clear_interrupt_CMP0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP0;
+}
+
+static inline bool hri_rtcmode1_get_interrupt_CMP1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP1) >> RTC_MODE1_INTFLAG_CMP1_Pos;
+}
+
+static inline void hri_rtcmode1_clear_interrupt_CMP1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP1;
+}
+
+static inline bool hri_rtcmode1_get_interrupt_CMP2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP2) >> RTC_MODE1_INTFLAG_CMP2_Pos;
+}
+
+static inline void hri_rtcmode1_clear_interrupt_CMP2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP2;
+}
+
+static inline bool hri_rtcmode1_get_interrupt_CMP3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_CMP3) >> RTC_MODE1_INTFLAG_CMP3_Pos;
+}
+
+static inline void hri_rtcmode1_clear_interrupt_CMP3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_CMP3;
+}
+
+static inline bool hri_rtcmode1_get_interrupt_TAMPER_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_TAMPER) >> RTC_MODE1_INTFLAG_TAMPER_Pos;
+}
+
+static inline void hri_rtcmode1_clear_interrupt_TAMPER_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_TAMPER;
+}
+
+static inline bool hri_rtcmode1_get_interrupt_OVF_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTFLAG.reg & RTC_MODE1_INTFLAG_OVF) >> RTC_MODE1_INTFLAG_OVF_Pos;
+}
+
+static inline void hri_rtcmode1_clear_interrupt_OVF_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = RTC_MODE1_INTFLAG_OVF;
+}
+
+static inline hri_rtcmode1_intflag_reg_t hri_rtcmode1_get_INTFLAG_reg(const void *const hw,
+ hri_rtcmode1_intflag_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_rtcmode1_intflag_reg_t hri_rtcmode1_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE1.INTFLAG.reg;
+}
+
+static inline void hri_rtcmode1_clear_INTFLAG_reg(const void *const hw, hri_rtcmode1_intflag_reg_t mask)
+{
+ ((Rtc *)hw)->MODE1.INTFLAG.reg = mask;
+}
+
+static inline bool hri_rtcmode2_get_INTFLAG_PER0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER0) >> RTC_MODE2_INTFLAG_PER0_Pos;
+}
+
+static inline void hri_rtcmode2_clear_INTFLAG_PER0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER0;
+}
+
+static inline bool hri_rtcmode2_get_INTFLAG_PER1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER1) >> RTC_MODE2_INTFLAG_PER1_Pos;
+}
+
+static inline void hri_rtcmode2_clear_INTFLAG_PER1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER1;
+}
+
+static inline bool hri_rtcmode2_get_INTFLAG_PER2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER2) >> RTC_MODE2_INTFLAG_PER2_Pos;
+}
+
+static inline void hri_rtcmode2_clear_INTFLAG_PER2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER2;
+}
+
+static inline bool hri_rtcmode2_get_INTFLAG_PER3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER3) >> RTC_MODE2_INTFLAG_PER3_Pos;
+}
+
+static inline void hri_rtcmode2_clear_INTFLAG_PER3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER3;
+}
+
+static inline bool hri_rtcmode2_get_INTFLAG_PER4_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER4) >> RTC_MODE2_INTFLAG_PER4_Pos;
+}
+
+static inline void hri_rtcmode2_clear_INTFLAG_PER4_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER4;
+}
+
+static inline bool hri_rtcmode2_get_INTFLAG_PER5_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER5) >> RTC_MODE2_INTFLAG_PER5_Pos;
+}
+
+static inline void hri_rtcmode2_clear_INTFLAG_PER5_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER5;
+}
+
+static inline bool hri_rtcmode2_get_INTFLAG_PER6_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER6) >> RTC_MODE2_INTFLAG_PER6_Pos;
+}
+
+static inline void hri_rtcmode2_clear_INTFLAG_PER6_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER6;
+}
+
+static inline bool hri_rtcmode2_get_INTFLAG_PER7_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER7) >> RTC_MODE2_INTFLAG_PER7_Pos;
+}
+
+static inline void hri_rtcmode2_clear_INTFLAG_PER7_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER7;
+}
+
+static inline bool hri_rtcmode2_get_INTFLAG_ALARM0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_ALARM0) >> RTC_MODE2_INTFLAG_ALARM0_Pos;
+}
+
+static inline void hri_rtcmode2_clear_INTFLAG_ALARM0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_ALARM0;
+}
+
+static inline bool hri_rtcmode2_get_INTFLAG_ALARM1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_ALARM1) >> RTC_MODE2_INTFLAG_ALARM1_Pos;
+}
+
+static inline void hri_rtcmode2_clear_INTFLAG_ALARM1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_ALARM1;
+}
+
+static inline bool hri_rtcmode2_get_INTFLAG_TAMPER_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_TAMPER) >> RTC_MODE2_INTFLAG_TAMPER_Pos;
+}
+
+static inline void hri_rtcmode2_clear_INTFLAG_TAMPER_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_TAMPER;
+}
+
+static inline bool hri_rtcmode2_get_INTFLAG_OVF_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_OVF) >> RTC_MODE2_INTFLAG_OVF_Pos;
+}
+
+static inline void hri_rtcmode2_clear_INTFLAG_OVF_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_OVF;
+}
+
+static inline bool hri_rtcmode2_get_interrupt_PER0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER0) >> RTC_MODE2_INTFLAG_PER0_Pos;
+}
+
+static inline void hri_rtcmode2_clear_interrupt_PER0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER0;
+}
+
+static inline bool hri_rtcmode2_get_interrupt_PER1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER1) >> RTC_MODE2_INTFLAG_PER1_Pos;
+}
+
+static inline void hri_rtcmode2_clear_interrupt_PER1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER1;
+}
+
+static inline bool hri_rtcmode2_get_interrupt_PER2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER2) >> RTC_MODE2_INTFLAG_PER2_Pos;
+}
+
+static inline void hri_rtcmode2_clear_interrupt_PER2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER2;
+}
+
+static inline bool hri_rtcmode2_get_interrupt_PER3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER3) >> RTC_MODE2_INTFLAG_PER3_Pos;
+}
+
+static inline void hri_rtcmode2_clear_interrupt_PER3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER3;
+}
+
+static inline bool hri_rtcmode2_get_interrupt_PER4_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER4) >> RTC_MODE2_INTFLAG_PER4_Pos;
+}
+
+static inline void hri_rtcmode2_clear_interrupt_PER4_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER4;
+}
+
+static inline bool hri_rtcmode2_get_interrupt_PER5_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER5) >> RTC_MODE2_INTFLAG_PER5_Pos;
+}
+
+static inline void hri_rtcmode2_clear_interrupt_PER5_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER5;
+}
+
+static inline bool hri_rtcmode2_get_interrupt_PER6_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER6) >> RTC_MODE2_INTFLAG_PER6_Pos;
+}
+
+static inline void hri_rtcmode2_clear_interrupt_PER6_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER6;
+}
+
+static inline bool hri_rtcmode2_get_interrupt_PER7_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_PER7) >> RTC_MODE2_INTFLAG_PER7_Pos;
+}
+
+static inline void hri_rtcmode2_clear_interrupt_PER7_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_PER7;
+}
+
+static inline bool hri_rtcmode2_get_interrupt_ALARM0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_ALARM0) >> RTC_MODE2_INTFLAG_ALARM0_Pos;
+}
+
+static inline void hri_rtcmode2_clear_interrupt_ALARM0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_ALARM0;
+}
+
+static inline bool hri_rtcmode2_get_interrupt_ALARM1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_ALARM1) >> RTC_MODE2_INTFLAG_ALARM1_Pos;
+}
+
+static inline void hri_rtcmode2_clear_interrupt_ALARM1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_ALARM1;
+}
+
+static inline bool hri_rtcmode2_get_interrupt_TAMPER_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_TAMPER) >> RTC_MODE2_INTFLAG_TAMPER_Pos;
+}
+
+static inline void hri_rtcmode2_clear_interrupt_TAMPER_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_TAMPER;
+}
+
+static inline bool hri_rtcmode2_get_interrupt_OVF_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTFLAG.reg & RTC_MODE2_INTFLAG_OVF) >> RTC_MODE2_INTFLAG_OVF_Pos;
+}
+
+static inline void hri_rtcmode2_clear_interrupt_OVF_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = RTC_MODE2_INTFLAG_OVF;
+}
+
+static inline hri_rtcmode2_intflag_reg_t hri_rtcmode2_get_INTFLAG_reg(const void *const hw,
+ hri_rtcmode2_intflag_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_rtcmode2_intflag_reg_t hri_rtcmode2_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE2.INTFLAG.reg;
+}
+
+static inline void hri_rtcmode2_clear_INTFLAG_reg(const void *const hw, hri_rtcmode2_intflag_reg_t mask)
+{
+ ((Rtc *)hw)->MODE2.INTFLAG.reg = mask;
+}
+
+static inline void hri_rtcmode0_set_INTEN_PER0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER0;
+}
+
+static inline bool hri_rtcmode0_get_INTEN_PER0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER0) >> RTC_MODE0_INTENSET_PER0_Pos;
+}
+
+static inline void hri_rtcmode0_write_INTEN_PER0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER0;
+ } else {
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER0;
+ }
+}
+
+static inline void hri_rtcmode0_clear_INTEN_PER0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER0;
+}
+
+static inline void hri_rtcmode0_set_INTEN_PER1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER1;
+}
+
+static inline bool hri_rtcmode0_get_INTEN_PER1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER1) >> RTC_MODE0_INTENSET_PER1_Pos;
+}
+
+static inline void hri_rtcmode0_write_INTEN_PER1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER1;
+ } else {
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER1;
+ }
+}
+
+static inline void hri_rtcmode0_clear_INTEN_PER1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER1;
+}
+
+static inline void hri_rtcmode0_set_INTEN_PER2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER2;
+}
+
+static inline bool hri_rtcmode0_get_INTEN_PER2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER2) >> RTC_MODE0_INTENSET_PER2_Pos;
+}
+
+static inline void hri_rtcmode0_write_INTEN_PER2_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER2;
+ } else {
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER2;
+ }
+}
+
+static inline void hri_rtcmode0_clear_INTEN_PER2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER2;
+}
+
+static inline void hri_rtcmode0_set_INTEN_PER3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER3;
+}
+
+static inline bool hri_rtcmode0_get_INTEN_PER3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER3) >> RTC_MODE0_INTENSET_PER3_Pos;
+}
+
+static inline void hri_rtcmode0_write_INTEN_PER3_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER3;
+ } else {
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER3;
+ }
+}
+
+static inline void hri_rtcmode0_clear_INTEN_PER3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER3;
+}
+
+static inline void hri_rtcmode0_set_INTEN_PER4_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER4;
+}
+
+static inline bool hri_rtcmode0_get_INTEN_PER4_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER4) >> RTC_MODE0_INTENSET_PER4_Pos;
+}
+
+static inline void hri_rtcmode0_write_INTEN_PER4_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER4;
+ } else {
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER4;
+ }
+}
+
+static inline void hri_rtcmode0_clear_INTEN_PER4_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER4;
+}
+
+static inline void hri_rtcmode0_set_INTEN_PER5_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER5;
+}
+
+static inline bool hri_rtcmode0_get_INTEN_PER5_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER5) >> RTC_MODE0_INTENSET_PER5_Pos;
+}
+
+static inline void hri_rtcmode0_write_INTEN_PER5_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER5;
+ } else {
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER5;
+ }
+}
+
+static inline void hri_rtcmode0_clear_INTEN_PER5_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER5;
+}
+
+static inline void hri_rtcmode0_set_INTEN_PER6_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER6;
+}
+
+static inline bool hri_rtcmode0_get_INTEN_PER6_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER6) >> RTC_MODE0_INTENSET_PER6_Pos;
+}
+
+static inline void hri_rtcmode0_write_INTEN_PER6_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER6;
+ } else {
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER6;
+ }
+}
+
+static inline void hri_rtcmode0_clear_INTEN_PER6_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER6;
+}
+
+static inline void hri_rtcmode0_set_INTEN_PER7_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER7;
+}
+
+static inline bool hri_rtcmode0_get_INTEN_PER7_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_PER7) >> RTC_MODE0_INTENSET_PER7_Pos;
+}
+
+static inline void hri_rtcmode0_write_INTEN_PER7_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER7;
+ } else {
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER7;
+ }
+}
+
+static inline void hri_rtcmode0_clear_INTEN_PER7_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_PER7;
+}
+
+static inline void hri_rtcmode0_set_INTEN_CMP0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_CMP0;
+}
+
+static inline bool hri_rtcmode0_get_INTEN_CMP0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_CMP0) >> RTC_MODE0_INTENSET_CMP0_Pos;
+}
+
+static inline void hri_rtcmode0_write_INTEN_CMP0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_CMP0;
+ } else {
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_CMP0;
+ }
+}
+
+static inline void hri_rtcmode0_clear_INTEN_CMP0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_CMP0;
+}
+
+static inline void hri_rtcmode0_set_INTEN_CMP1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_CMP1;
+}
+
+static inline bool hri_rtcmode0_get_INTEN_CMP1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_CMP1) >> RTC_MODE0_INTENSET_CMP1_Pos;
+}
+
+static inline void hri_rtcmode0_write_INTEN_CMP1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_CMP1;
+ } else {
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_CMP1;
+ }
+}
+
+static inline void hri_rtcmode0_clear_INTEN_CMP1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_CMP1;
+}
+
+static inline void hri_rtcmode0_set_INTEN_TAMPER_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_TAMPER;
+}
+
+static inline bool hri_rtcmode0_get_INTEN_TAMPER_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_TAMPER) >> RTC_MODE0_INTENSET_TAMPER_Pos;
+}
+
+static inline void hri_rtcmode0_write_INTEN_TAMPER_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_TAMPER;
+ } else {
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_TAMPER;
+ }
+}
+
+static inline void hri_rtcmode0_clear_INTEN_TAMPER_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_TAMPER;
+}
+
+static inline void hri_rtcmode0_set_INTEN_OVF_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_OVF;
+}
+
+static inline bool hri_rtcmode0_get_INTEN_OVF_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.INTENSET.reg & RTC_MODE0_INTENSET_OVF) >> RTC_MODE0_INTENSET_OVF_Pos;
+}
+
+static inline void hri_rtcmode0_write_INTEN_OVF_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_OVF;
+ } else {
+ ((Rtc *)hw)->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_OVF;
+ }
+}
+
+static inline void hri_rtcmode0_clear_INTEN_OVF_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = RTC_MODE0_INTENSET_OVF;
+}
+
+static inline void hri_rtcmode0_set_INTEN_reg(const void *const hw, hri_rtcmode0_intenset_reg_t mask)
+{
+ ((Rtc *)hw)->MODE0.INTENSET.reg = mask;
+}
+
+static inline hri_rtcmode0_intenset_reg_t hri_rtcmode0_get_INTEN_reg(const void *const hw,
+ hri_rtcmode0_intenset_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_rtcmode0_intenset_reg_t hri_rtcmode0_read_INTEN_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE0.INTENSET.reg;
+}
+
+static inline void hri_rtcmode0_write_INTEN_reg(const void *const hw, hri_rtcmode0_intenset_reg_t data)
+{
+ ((Rtc *)hw)->MODE0.INTENSET.reg = data;
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = ~data;
+}
+
+static inline void hri_rtcmode0_clear_INTEN_reg(const void *const hw, hri_rtcmode0_intenset_reg_t mask)
+{
+ ((Rtc *)hw)->MODE0.INTENCLR.reg = mask;
+}
+
+static inline void hri_rtcmode1_set_INTEN_PER0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER0;
+}
+
+static inline bool hri_rtcmode1_get_INTEN_PER0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER0) >> RTC_MODE1_INTENSET_PER0_Pos;
+}
+
+static inline void hri_rtcmode1_write_INTEN_PER0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER0;
+ } else {
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER0;
+ }
+}
+
+static inline void hri_rtcmode1_clear_INTEN_PER0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER0;
+}
+
+static inline void hri_rtcmode1_set_INTEN_PER1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER1;
+}
+
+static inline bool hri_rtcmode1_get_INTEN_PER1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER1) >> RTC_MODE1_INTENSET_PER1_Pos;
+}
+
+static inline void hri_rtcmode1_write_INTEN_PER1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER1;
+ } else {
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER1;
+ }
+}
+
+static inline void hri_rtcmode1_clear_INTEN_PER1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER1;
+}
+
+static inline void hri_rtcmode1_set_INTEN_PER2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER2;
+}
+
+static inline bool hri_rtcmode1_get_INTEN_PER2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER2) >> RTC_MODE1_INTENSET_PER2_Pos;
+}
+
+static inline void hri_rtcmode1_write_INTEN_PER2_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER2;
+ } else {
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER2;
+ }
+}
+
+static inline void hri_rtcmode1_clear_INTEN_PER2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER2;
+}
+
+static inline void hri_rtcmode1_set_INTEN_PER3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER3;
+}
+
+static inline bool hri_rtcmode1_get_INTEN_PER3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER3) >> RTC_MODE1_INTENSET_PER3_Pos;
+}
+
+static inline void hri_rtcmode1_write_INTEN_PER3_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER3;
+ } else {
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER3;
+ }
+}
+
+static inline void hri_rtcmode1_clear_INTEN_PER3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER3;
+}
+
+static inline void hri_rtcmode1_set_INTEN_PER4_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER4;
+}
+
+static inline bool hri_rtcmode1_get_INTEN_PER4_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER4) >> RTC_MODE1_INTENSET_PER4_Pos;
+}
+
+static inline void hri_rtcmode1_write_INTEN_PER4_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER4;
+ } else {
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER4;
+ }
+}
+
+static inline void hri_rtcmode1_clear_INTEN_PER4_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER4;
+}
+
+static inline void hri_rtcmode1_set_INTEN_PER5_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER5;
+}
+
+static inline bool hri_rtcmode1_get_INTEN_PER5_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER5) >> RTC_MODE1_INTENSET_PER5_Pos;
+}
+
+static inline void hri_rtcmode1_write_INTEN_PER5_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER5;
+ } else {
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER5;
+ }
+}
+
+static inline void hri_rtcmode1_clear_INTEN_PER5_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER5;
+}
+
+static inline void hri_rtcmode1_set_INTEN_PER6_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER6;
+}
+
+static inline bool hri_rtcmode1_get_INTEN_PER6_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER6) >> RTC_MODE1_INTENSET_PER6_Pos;
+}
+
+static inline void hri_rtcmode1_write_INTEN_PER6_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER6;
+ } else {
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER6;
+ }
+}
+
+static inline void hri_rtcmode1_clear_INTEN_PER6_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER6;
+}
+
+static inline void hri_rtcmode1_set_INTEN_PER7_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER7;
+}
+
+static inline bool hri_rtcmode1_get_INTEN_PER7_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_PER7) >> RTC_MODE1_INTENSET_PER7_Pos;
+}
+
+static inline void hri_rtcmode1_write_INTEN_PER7_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER7;
+ } else {
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_PER7;
+ }
+}
+
+static inline void hri_rtcmode1_clear_INTEN_PER7_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_PER7;
+}
+
+static inline void hri_rtcmode1_set_INTEN_CMP0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP0;
+}
+
+static inline bool hri_rtcmode1_get_INTEN_CMP0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_CMP0) >> RTC_MODE1_INTENSET_CMP0_Pos;
+}
+
+static inline void hri_rtcmode1_write_INTEN_CMP0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP0;
+ } else {
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP0;
+ }
+}
+
+static inline void hri_rtcmode1_clear_INTEN_CMP0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP0;
+}
+
+static inline void hri_rtcmode1_set_INTEN_CMP1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP1;
+}
+
+static inline bool hri_rtcmode1_get_INTEN_CMP1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_CMP1) >> RTC_MODE1_INTENSET_CMP1_Pos;
+}
+
+static inline void hri_rtcmode1_write_INTEN_CMP1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP1;
+ } else {
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP1;
+ }
+}
+
+static inline void hri_rtcmode1_clear_INTEN_CMP1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP1;
+}
+
+static inline void hri_rtcmode1_set_INTEN_CMP2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP2;
+}
+
+static inline bool hri_rtcmode1_get_INTEN_CMP2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_CMP2) >> RTC_MODE1_INTENSET_CMP2_Pos;
+}
+
+static inline void hri_rtcmode1_write_INTEN_CMP2_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP2;
+ } else {
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP2;
+ }
+}
+
+static inline void hri_rtcmode1_clear_INTEN_CMP2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP2;
+}
+
+static inline void hri_rtcmode1_set_INTEN_CMP3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP3;
+}
+
+static inline bool hri_rtcmode1_get_INTEN_CMP3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_CMP3) >> RTC_MODE1_INTENSET_CMP3_Pos;
+}
+
+static inline void hri_rtcmode1_write_INTEN_CMP3_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP3;
+ } else {
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_CMP3;
+ }
+}
+
+static inline void hri_rtcmode1_clear_INTEN_CMP3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_CMP3;
+}
+
+static inline void hri_rtcmode1_set_INTEN_TAMPER_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_TAMPER;
+}
+
+static inline bool hri_rtcmode1_get_INTEN_TAMPER_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_TAMPER) >> RTC_MODE1_INTENSET_TAMPER_Pos;
+}
+
+static inline void hri_rtcmode1_write_INTEN_TAMPER_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_TAMPER;
+ } else {
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_TAMPER;
+ }
+}
+
+static inline void hri_rtcmode1_clear_INTEN_TAMPER_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_TAMPER;
+}
+
+static inline void hri_rtcmode1_set_INTEN_OVF_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_OVF;
+}
+
+static inline bool hri_rtcmode1_get_INTEN_OVF_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.INTENSET.reg & RTC_MODE1_INTENSET_OVF) >> RTC_MODE1_INTENSET_OVF_Pos;
+}
+
+static inline void hri_rtcmode1_write_INTEN_OVF_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_OVF;
+ } else {
+ ((Rtc *)hw)->MODE1.INTENSET.reg = RTC_MODE1_INTENSET_OVF;
+ }
+}
+
+static inline void hri_rtcmode1_clear_INTEN_OVF_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = RTC_MODE1_INTENSET_OVF;
+}
+
+static inline void hri_rtcmode1_set_INTEN_reg(const void *const hw, hri_rtcmode1_intenset_reg_t mask)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = mask;
+}
+
+static inline hri_rtcmode1_intenset_reg_t hri_rtcmode1_get_INTEN_reg(const void *const hw,
+ hri_rtcmode1_intenset_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_rtcmode1_intenset_reg_t hri_rtcmode1_read_INTEN_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE1.INTENSET.reg;
+}
+
+static inline void hri_rtcmode1_write_INTEN_reg(const void *const hw, hri_rtcmode1_intenset_reg_t data)
+{
+ ((Rtc *)hw)->MODE1.INTENSET.reg = data;
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = ~data;
+}
+
+static inline void hri_rtcmode1_clear_INTEN_reg(const void *const hw, hri_rtcmode1_intenset_reg_t mask)
+{
+ ((Rtc *)hw)->MODE1.INTENCLR.reg = mask;
+}
+
+static inline void hri_rtcmode2_set_INTEN_PER0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER0;
+}
+
+static inline bool hri_rtcmode2_get_INTEN_PER0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER0) >> RTC_MODE2_INTENSET_PER0_Pos;
+}
+
+static inline void hri_rtcmode2_write_INTEN_PER0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER0;
+ } else {
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER0;
+ }
+}
+
+static inline void hri_rtcmode2_clear_INTEN_PER0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER0;
+}
+
+static inline void hri_rtcmode2_set_INTEN_PER1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER1;
+}
+
+static inline bool hri_rtcmode2_get_INTEN_PER1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER1) >> RTC_MODE2_INTENSET_PER1_Pos;
+}
+
+static inline void hri_rtcmode2_write_INTEN_PER1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER1;
+ } else {
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER1;
+ }
+}
+
+static inline void hri_rtcmode2_clear_INTEN_PER1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER1;
+}
+
+static inline void hri_rtcmode2_set_INTEN_PER2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER2;
+}
+
+static inline bool hri_rtcmode2_get_INTEN_PER2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER2) >> RTC_MODE2_INTENSET_PER2_Pos;
+}
+
+static inline void hri_rtcmode2_write_INTEN_PER2_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER2;
+ } else {
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER2;
+ }
+}
+
+static inline void hri_rtcmode2_clear_INTEN_PER2_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER2;
+}
+
+static inline void hri_rtcmode2_set_INTEN_PER3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER3;
+}
+
+static inline bool hri_rtcmode2_get_INTEN_PER3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER3) >> RTC_MODE2_INTENSET_PER3_Pos;
+}
+
+static inline void hri_rtcmode2_write_INTEN_PER3_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER3;
+ } else {
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER3;
+ }
+}
+
+static inline void hri_rtcmode2_clear_INTEN_PER3_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER3;
+}
+
+static inline void hri_rtcmode2_set_INTEN_PER4_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER4;
+}
+
+static inline bool hri_rtcmode2_get_INTEN_PER4_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER4) >> RTC_MODE2_INTENSET_PER4_Pos;
+}
+
+static inline void hri_rtcmode2_write_INTEN_PER4_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER4;
+ } else {
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER4;
+ }
+}
+
+static inline void hri_rtcmode2_clear_INTEN_PER4_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER4;
+}
+
+static inline void hri_rtcmode2_set_INTEN_PER5_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER5;
+}
+
+static inline bool hri_rtcmode2_get_INTEN_PER5_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER5) >> RTC_MODE2_INTENSET_PER5_Pos;
+}
+
+static inline void hri_rtcmode2_write_INTEN_PER5_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER5;
+ } else {
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER5;
+ }
+}
+
+static inline void hri_rtcmode2_clear_INTEN_PER5_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER5;
+}
+
+static inline void hri_rtcmode2_set_INTEN_PER6_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER6;
+}
+
+static inline bool hri_rtcmode2_get_INTEN_PER6_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER6) >> RTC_MODE2_INTENSET_PER6_Pos;
+}
+
+static inline void hri_rtcmode2_write_INTEN_PER6_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER6;
+ } else {
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER6;
+ }
+}
+
+static inline void hri_rtcmode2_clear_INTEN_PER6_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER6;
+}
+
+static inline void hri_rtcmode2_set_INTEN_PER7_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER7;
+}
+
+static inline bool hri_rtcmode2_get_INTEN_PER7_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_PER7) >> RTC_MODE2_INTENSET_PER7_Pos;
+}
+
+static inline void hri_rtcmode2_write_INTEN_PER7_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER7;
+ } else {
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_PER7;
+ }
+}
+
+static inline void hri_rtcmode2_clear_INTEN_PER7_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_PER7;
+}
+
+static inline void hri_rtcmode2_set_INTEN_ALARM0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_ALARM0;
+}
+
+static inline bool hri_rtcmode2_get_INTEN_ALARM0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_ALARM0) >> RTC_MODE2_INTENSET_ALARM0_Pos;
+}
+
+static inline void hri_rtcmode2_write_INTEN_ALARM0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_ALARM0;
+ } else {
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_ALARM0;
+ }
+}
+
+static inline void hri_rtcmode2_clear_INTEN_ALARM0_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_ALARM0;
+}
+
+static inline void hri_rtcmode2_set_INTEN_ALARM1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_ALARM1;
+}
+
+static inline bool hri_rtcmode2_get_INTEN_ALARM1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_ALARM1) >> RTC_MODE2_INTENSET_ALARM1_Pos;
+}
+
+static inline void hri_rtcmode2_write_INTEN_ALARM1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_ALARM1;
+ } else {
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_ALARM1;
+ }
+}
+
+static inline void hri_rtcmode2_clear_INTEN_ALARM1_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_ALARM1;
+}
+
+static inline void hri_rtcmode2_set_INTEN_TAMPER_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_TAMPER;
+}
+
+static inline bool hri_rtcmode2_get_INTEN_TAMPER_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_TAMPER) >> RTC_MODE2_INTENSET_TAMPER_Pos;
+}
+
+static inline void hri_rtcmode2_write_INTEN_TAMPER_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_TAMPER;
+ } else {
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_TAMPER;
+ }
+}
+
+static inline void hri_rtcmode2_clear_INTEN_TAMPER_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_TAMPER;
+}
+
+static inline void hri_rtcmode2_set_INTEN_OVF_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_OVF;
+}
+
+static inline bool hri_rtcmode2_get_INTEN_OVF_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.INTENSET.reg & RTC_MODE2_INTENSET_OVF) >> RTC_MODE2_INTENSET_OVF_Pos;
+}
+
+static inline void hri_rtcmode2_write_INTEN_OVF_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_OVF;
+ } else {
+ ((Rtc *)hw)->MODE2.INTENSET.reg = RTC_MODE2_INTENSET_OVF;
+ }
+}
+
+static inline void hri_rtcmode2_clear_INTEN_OVF_bit(const void *const hw)
+{
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = RTC_MODE2_INTENSET_OVF;
+}
+
+static inline void hri_rtcmode2_set_INTEN_reg(const void *const hw, hri_rtcmode2_intenset_reg_t mask)
+{
+ ((Rtc *)hw)->MODE2.INTENSET.reg = mask;
+}
+
+static inline hri_rtcmode2_intenset_reg_t hri_rtcmode2_get_INTEN_reg(const void *const hw,
+ hri_rtcmode2_intenset_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_rtcmode2_intenset_reg_t hri_rtcmode2_read_INTEN_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE2.INTENSET.reg;
+}
+
+static inline void hri_rtcmode2_write_INTEN_reg(const void *const hw, hri_rtcmode2_intenset_reg_t data)
+{
+ ((Rtc *)hw)->MODE2.INTENSET.reg = data;
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = ~data;
+}
+
+static inline void hri_rtcmode2_clear_INTEN_reg(const void *const hw, hri_rtcmode2_intenset_reg_t mask)
+{
+ ((Rtc *)hw)->MODE2.INTENCLR.reg = mask;
+}
+
+static inline bool hri_rtcmode0_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_SWRST) >> RTC_MODE0_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_rtcmode0_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_ENABLE) >> RTC_MODE0_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_rtcmode0_get_SYNCBUSY_FREQCORR_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_FREQCORR) >> RTC_MODE0_SYNCBUSY_FREQCORR_Pos;
+}
+
+static inline bool hri_rtcmode0_get_SYNCBUSY_COUNT_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_COUNT) >> RTC_MODE0_SYNCBUSY_COUNT_Pos;
+}
+
+static inline bool hri_rtcmode0_get_SYNCBUSY_COMP0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_COMP0) >> RTC_MODE0_SYNCBUSY_COMP0_Pos;
+}
+
+static inline bool hri_rtcmode0_get_SYNCBUSY_COMP1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_COMP1) >> RTC_MODE0_SYNCBUSY_COMP1_Pos;
+}
+
+static inline bool hri_rtcmode0_get_SYNCBUSY_COUNTSYNC_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_COUNTSYNC) >> RTC_MODE0_SYNCBUSY_COUNTSYNC_Pos;
+}
+
+static inline bool hri_rtcmode0_get_SYNCBUSY_GP0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_GP0) >> RTC_MODE0_SYNCBUSY_GP0_Pos;
+}
+
+static inline bool hri_rtcmode0_get_SYNCBUSY_GP1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_GP1) >> RTC_MODE0_SYNCBUSY_GP1_Pos;
+}
+
+static inline bool hri_rtcmode0_get_SYNCBUSY_GP2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_GP2) >> RTC_MODE0_SYNCBUSY_GP2_Pos;
+}
+
+static inline bool hri_rtcmode0_get_SYNCBUSY_GP3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE0.SYNCBUSY.reg & RTC_MODE0_SYNCBUSY_GP3) >> RTC_MODE0_SYNCBUSY_GP3_Pos;
+}
+
+static inline hri_rtcmode0_syncbusy_reg_t hri_rtcmode0_get_SYNCBUSY_reg(const void *const hw,
+ hri_rtcmode0_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_rtcmode0_syncbusy_reg_t hri_rtcmode0_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE0.SYNCBUSY.reg;
+}
+
+static inline bool hri_rtcmode1_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_SWRST) >> RTC_MODE1_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_rtcmode1_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_ENABLE) >> RTC_MODE1_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_rtcmode1_get_SYNCBUSY_FREQCORR_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_FREQCORR) >> RTC_MODE1_SYNCBUSY_FREQCORR_Pos;
+}
+
+static inline bool hri_rtcmode1_get_SYNCBUSY_COUNT_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_COUNT) >> RTC_MODE1_SYNCBUSY_COUNT_Pos;
+}
+
+static inline bool hri_rtcmode1_get_SYNCBUSY_PER_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_PER) >> RTC_MODE1_SYNCBUSY_PER_Pos;
+}
+
+static inline bool hri_rtcmode1_get_SYNCBUSY_COMP0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_COMP0) >> RTC_MODE1_SYNCBUSY_COMP0_Pos;
+}
+
+static inline bool hri_rtcmode1_get_SYNCBUSY_COMP1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_COMP1) >> RTC_MODE1_SYNCBUSY_COMP1_Pos;
+}
+
+static inline bool hri_rtcmode1_get_SYNCBUSY_COMP2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_COMP2) >> RTC_MODE1_SYNCBUSY_COMP2_Pos;
+}
+
+static inline bool hri_rtcmode1_get_SYNCBUSY_COMP3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_COMP3) >> RTC_MODE1_SYNCBUSY_COMP3_Pos;
+}
+
+static inline bool hri_rtcmode1_get_SYNCBUSY_COUNTSYNC_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_COUNTSYNC) >> RTC_MODE1_SYNCBUSY_COUNTSYNC_Pos;
+}
+
+static inline bool hri_rtcmode1_get_SYNCBUSY_GP0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_GP0) >> RTC_MODE1_SYNCBUSY_GP0_Pos;
+}
+
+static inline bool hri_rtcmode1_get_SYNCBUSY_GP1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_GP1) >> RTC_MODE1_SYNCBUSY_GP1_Pos;
+}
+
+static inline bool hri_rtcmode1_get_SYNCBUSY_GP2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_GP2) >> RTC_MODE1_SYNCBUSY_GP2_Pos;
+}
+
+static inline bool hri_rtcmode1_get_SYNCBUSY_GP3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE1.SYNCBUSY.reg & RTC_MODE1_SYNCBUSY_GP3) >> RTC_MODE1_SYNCBUSY_GP3_Pos;
+}
+
+static inline hri_rtcmode1_syncbusy_reg_t hri_rtcmode1_get_SYNCBUSY_reg(const void *const hw,
+ hri_rtcmode1_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_rtcmode1_syncbusy_reg_t hri_rtcmode1_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE1.SYNCBUSY.reg;
+}
+
+static inline bool hri_rtcmode2_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_SWRST) >> RTC_MODE2_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_rtcmode2_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_ENABLE) >> RTC_MODE2_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_rtcmode2_get_SYNCBUSY_FREQCORR_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_FREQCORR) >> RTC_MODE2_SYNCBUSY_FREQCORR_Pos;
+}
+
+static inline bool hri_rtcmode2_get_SYNCBUSY_CLOCK_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_CLOCK) >> RTC_MODE2_SYNCBUSY_CLOCK_Pos;
+}
+
+static inline bool hri_rtcmode2_get_SYNCBUSY_ALARM0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_ALARM0) >> RTC_MODE2_SYNCBUSY_ALARM0_Pos;
+}
+
+static inline bool hri_rtcmode2_get_SYNCBUSY_ALARM1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_ALARM1) >> RTC_MODE2_SYNCBUSY_ALARM1_Pos;
+}
+
+static inline bool hri_rtcmode2_get_SYNCBUSY_MASK0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_MASK0) >> RTC_MODE2_SYNCBUSY_MASK0_Pos;
+}
+
+static inline bool hri_rtcmode2_get_SYNCBUSY_MASK1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_MASK1) >> RTC_MODE2_SYNCBUSY_MASK1_Pos;
+}
+
+static inline bool hri_rtcmode2_get_SYNCBUSY_CLOCKSYNC_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_CLOCKSYNC) >> RTC_MODE2_SYNCBUSY_CLOCKSYNC_Pos;
+}
+
+static inline bool hri_rtcmode2_get_SYNCBUSY_GP0_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_GP0) >> RTC_MODE2_SYNCBUSY_GP0_Pos;
+}
+
+static inline bool hri_rtcmode2_get_SYNCBUSY_GP1_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_GP1) >> RTC_MODE2_SYNCBUSY_GP1_Pos;
+}
+
+static inline bool hri_rtcmode2_get_SYNCBUSY_GP2_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_GP2) >> RTC_MODE2_SYNCBUSY_GP2_Pos;
+}
+
+static inline bool hri_rtcmode2_get_SYNCBUSY_GP3_bit(const void *const hw)
+{
+ return (((Rtc *)hw)->MODE2.SYNCBUSY.reg & RTC_MODE2_SYNCBUSY_GP3) >> RTC_MODE2_SYNCBUSY_GP3_Pos;
+}
+
+static inline hri_rtcmode2_syncbusy_reg_t hri_rtcmode2_get_SYNCBUSY_reg(const void *const hw,
+ hri_rtcmode2_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_rtcmode2_syncbusy_reg_t hri_rtcmode2_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE2.SYNCBUSY.reg;
+}
+
+static inline hri_rtcmode0_timestamp_reg_t hri_rtcmode0_get_TIMESTAMP_COUNT_bf(const void *const hw,
+ hri_rtcmode0_timestamp_reg_t mask)
+{
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ return (((Rtc *)hw)->MODE0.TIMESTAMP.reg & RTC_MODE0_TIMESTAMP_COUNT(mask)) >> RTC_MODE0_TIMESTAMP_COUNT_Pos;
+}
+
+static inline hri_rtcmode0_timestamp_reg_t hri_rtcmode0_read_TIMESTAMP_COUNT_bf(const void *const hw)
+{
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ return (((Rtc *)hw)->MODE0.TIMESTAMP.reg & RTC_MODE0_TIMESTAMP_COUNT_Msk) >> RTC_MODE0_TIMESTAMP_COUNT_Pos;
+}
+
+static inline hri_rtcmode0_timestamp_reg_t hri_rtcmode0_get_TIMESTAMP_reg(const void *const hw,
+ hri_rtcmode0_timestamp_reg_t mask)
+{
+ uint32_t tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ tmp = ((Rtc *)hw)->MODE0.TIMESTAMP.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_rtcmode0_timestamp_reg_t hri_rtcmode0_read_TIMESTAMP_reg(const void *const hw)
+{
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ return ((Rtc *)hw)->MODE0.TIMESTAMP.reg;
+}
+
+static inline hri_rtcmode1_timestamp_reg_t hri_rtcmode1_get_TIMESTAMP_COUNT_bf(const void *const hw,
+ hri_rtcmode1_timestamp_reg_t mask)
+{
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ return (((Rtc *)hw)->MODE1.TIMESTAMP.reg & RTC_MODE1_TIMESTAMP_COUNT(mask)) >> RTC_MODE1_TIMESTAMP_COUNT_Pos;
+}
+
+static inline hri_rtcmode1_timestamp_reg_t hri_rtcmode1_read_TIMESTAMP_COUNT_bf(const void *const hw)
+{
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ return (((Rtc *)hw)->MODE1.TIMESTAMP.reg & RTC_MODE1_TIMESTAMP_COUNT_Msk) >> RTC_MODE1_TIMESTAMP_COUNT_Pos;
+}
+
+static inline hri_rtcmode1_timestamp_reg_t hri_rtcmode1_get_TIMESTAMP_reg(const void *const hw,
+ hri_rtcmode1_timestamp_reg_t mask)
+{
+ uint32_t tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ tmp = ((Rtc *)hw)->MODE1.TIMESTAMP.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_rtcmode1_timestamp_reg_t hri_rtcmode1_read_TIMESTAMP_reg(const void *const hw)
+{
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ return ((Rtc *)hw)->MODE1.TIMESTAMP.reg;
+}
+
+static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_get_TIMESTAMP_SECOND_bf(const void *const hw,
+ hri_rtcmode2_timestamp_reg_t mask)
+{
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_SECOND(mask)) >> RTC_MODE2_TIMESTAMP_SECOND_Pos;
+}
+
+static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_read_TIMESTAMP_SECOND_bf(const void *const hw)
+{
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_SECOND_Msk) >> RTC_MODE2_TIMESTAMP_SECOND_Pos;
+}
+
+static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_get_TIMESTAMP_MINUTE_bf(const void *const hw,
+ hri_rtcmode2_timestamp_reg_t mask)
+{
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_MINUTE(mask)) >> RTC_MODE2_TIMESTAMP_MINUTE_Pos;
+}
+
+static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_read_TIMESTAMP_MINUTE_bf(const void *const hw)
+{
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_MINUTE_Msk) >> RTC_MODE2_TIMESTAMP_MINUTE_Pos;
+}
+
+static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_get_TIMESTAMP_HOUR_bf(const void *const hw,
+ hri_rtcmode2_timestamp_reg_t mask)
+{
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_HOUR(mask)) >> RTC_MODE2_TIMESTAMP_HOUR_Pos;
+}
+
+static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_read_TIMESTAMP_HOUR_bf(const void *const hw)
+{
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_HOUR_Msk) >> RTC_MODE2_TIMESTAMP_HOUR_Pos;
+}
+
+static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_get_TIMESTAMP_DAY_bf(const void *const hw,
+ hri_rtcmode2_timestamp_reg_t mask)
+{
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_DAY(mask)) >> RTC_MODE2_TIMESTAMP_DAY_Pos;
+}
+
+static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_read_TIMESTAMP_DAY_bf(const void *const hw)
+{
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_DAY_Msk) >> RTC_MODE2_TIMESTAMP_DAY_Pos;
+}
+
+static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_get_TIMESTAMP_MONTH_bf(const void *const hw,
+ hri_rtcmode2_timestamp_reg_t mask)
+{
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_MONTH(mask)) >> RTC_MODE2_TIMESTAMP_MONTH_Pos;
+}
+
+static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_read_TIMESTAMP_MONTH_bf(const void *const hw)
+{
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_MONTH_Msk) >> RTC_MODE2_TIMESTAMP_MONTH_Pos;
+}
+
+static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_get_TIMESTAMP_YEAR_bf(const void *const hw,
+ hri_rtcmode2_timestamp_reg_t mask)
+{
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_YEAR(mask)) >> RTC_MODE2_TIMESTAMP_YEAR_Pos;
+}
+
+static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_read_TIMESTAMP_YEAR_bf(const void *const hw)
+{
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ return (((Rtc *)hw)->MODE2.TIMESTAMP.reg & RTC_MODE2_TIMESTAMP_YEAR_Msk) >> RTC_MODE2_TIMESTAMP_YEAR_Pos;
+}
+
+static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_get_TIMESTAMP_reg(const void *const hw,
+ hri_rtcmode2_timestamp_reg_t mask)
+{
+ uint32_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ tmp = ((Rtc *)hw)->MODE2.TIMESTAMP.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_rtcmode2_timestamp_reg_t hri_rtcmode2_read_TIMESTAMP_reg(const void *const hw)
+{
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ return ((Rtc *)hw)->MODE2.TIMESTAMP.reg;
+}
+
+static inline void hri_rtcmode0_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_SWRST;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint16_t tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST);
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp = (tmp & RTC_MODE0_CTRLA_SWRST) >> RTC_MODE0_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_ENABLE;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint16_t tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp = (tmp & RTC_MODE0_CTRLA_ENABLE) >> RTC_MODE0_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp &= ~RTC_MODE0_CTRLA_ENABLE;
+ tmp |= value << RTC_MODE0_CTRLA_ENABLE_Pos;
+ ((Rtc *)hw)->MODE0.CTRLA.reg = tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg &= ~RTC_MODE0_CTRLA_ENABLE;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg ^= RTC_MODE0_CTRLA_ENABLE;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_CTRLA_MATCHCLR_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_MATCHCLR;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_CTRLA_MATCHCLR_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp = (tmp & RTC_MODE0_CTRLA_MATCHCLR) >> RTC_MODE0_CTRLA_MATCHCLR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLA_MATCHCLR_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp &= ~RTC_MODE0_CTRLA_MATCHCLR;
+ tmp |= value << RTC_MODE0_CTRLA_MATCHCLR_Pos;
+ ((Rtc *)hw)->MODE0.CTRLA.reg = tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLA_MATCHCLR_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg &= ~RTC_MODE0_CTRLA_MATCHCLR;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLA_MATCHCLR_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg ^= RTC_MODE0_CTRLA_MATCHCLR;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_CTRLA_BKTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_BKTRST;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_CTRLA_BKTRST_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp = (tmp & RTC_MODE0_CTRLA_BKTRST) >> RTC_MODE0_CTRLA_BKTRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLA_BKTRST_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp &= ~RTC_MODE0_CTRLA_BKTRST;
+ tmp |= value << RTC_MODE0_CTRLA_BKTRST_Pos;
+ ((Rtc *)hw)->MODE0.CTRLA.reg = tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLA_BKTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg &= ~RTC_MODE0_CTRLA_BKTRST;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLA_BKTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg ^= RTC_MODE0_CTRLA_BKTRST;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_CTRLA_GPTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_GPTRST;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_CTRLA_GPTRST_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp = (tmp & RTC_MODE0_CTRLA_GPTRST) >> RTC_MODE0_CTRLA_GPTRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLA_GPTRST_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp &= ~RTC_MODE0_CTRLA_GPTRST;
+ tmp |= value << RTC_MODE0_CTRLA_GPTRST_Pos;
+ ((Rtc *)hw)->MODE0.CTRLA.reg = tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLA_GPTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg &= ~RTC_MODE0_CTRLA_GPTRST;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLA_GPTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg ^= RTC_MODE0_CTRLA_GPTRST;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_CTRLA_COUNTSYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_COUNTSYNC;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_CTRLA_COUNTSYNC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp = (tmp & RTC_MODE0_CTRLA_COUNTSYNC) >> RTC_MODE0_CTRLA_COUNTSYNC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLA_COUNTSYNC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp &= ~RTC_MODE0_CTRLA_COUNTSYNC;
+ tmp |= value << RTC_MODE0_CTRLA_COUNTSYNC_Pos;
+ ((Rtc *)hw)->MODE0.CTRLA.reg = tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLA_COUNTSYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg &= ~RTC_MODE0_CTRLA_COUNTSYNC;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLA_COUNTSYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg ^= RTC_MODE0_CTRLA_COUNTSYNC;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_CTRLA_MODE_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_MODE(mask);
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_ctrla_reg_t hri_rtcmode0_get_CTRLA_MODE_bf(const void *const hw,
+ hri_rtcmode0_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp = (tmp & RTC_MODE0_CTRLA_MODE(mask)) >> RTC_MODE0_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLA_MODE_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t data)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp &= ~RTC_MODE0_CTRLA_MODE_Msk;
+ tmp |= RTC_MODE0_CTRLA_MODE(data);
+ ((Rtc *)hw)->MODE0.CTRLA.reg = tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLA_MODE_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg &= ~RTC_MODE0_CTRLA_MODE(mask);
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLA_MODE_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg ^= RTC_MODE0_CTRLA_MODE(mask);
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_ctrla_reg_t hri_rtcmode0_read_CTRLA_MODE_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp = (tmp & RTC_MODE0_CTRLA_MODE_Msk) >> RTC_MODE0_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_set_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg |= RTC_MODE0_CTRLA_PRESCALER(mask);
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_ctrla_reg_t hri_rtcmode0_get_CTRLA_PRESCALER_bf(const void *const hw,
+ hri_rtcmode0_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp = (tmp & RTC_MODE0_CTRLA_PRESCALER(mask)) >> RTC_MODE0_CTRLA_PRESCALER_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t data)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp &= ~RTC_MODE0_CTRLA_PRESCALER_Msk;
+ tmp |= RTC_MODE0_CTRLA_PRESCALER(data);
+ ((Rtc *)hw)->MODE0.CTRLA.reg = tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg &= ~RTC_MODE0_CTRLA_PRESCALER(mask);
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode0_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg ^= RTC_MODE0_CTRLA_PRESCALER(mask);
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_ctrla_reg_t hri_rtcmode0_read_CTRLA_PRESCALER_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp = (tmp & RTC_MODE0_CTRLA_PRESCALER_Msk) >> RTC_MODE0_CTRLA_PRESCALER_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_set_CTRLA_reg(const void *const hw, hri_rtcmode0_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg |= mask;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_ctrla_reg_t hri_rtcmode0_get_CTRLA_reg(const void *const hw, hri_rtcmode0_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ tmp = ((Rtc *)hw)->MODE0.CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLA_reg(const void *const hw, hri_rtcmode0_ctrla_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg = data;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLA_reg(const void *const hw, hri_rtcmode0_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg &= ~mask;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLA_reg(const void *const hw, hri_rtcmode0_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLA.reg ^= mask;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_ctrla_reg_t hri_rtcmode0_read_CTRLA_reg(const void *const hw)
+{
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_SWRST | RTC_MODE0_SYNCBUSY_ENABLE | RTC_MODE0_SYNCBUSY_COUNTSYNC);
+ return ((Rtc *)hw)->MODE0.CTRLA.reg;
+}
+
+static inline void hri_rtcmode1_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg |= RTC_MODE1_CTRLA_SWRST;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint16_t tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST);
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp = (tmp & RTC_MODE1_CTRLA_SWRST) >> RTC_MODE1_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg |= RTC_MODE1_CTRLA_ENABLE;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint16_t tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp = (tmp & RTC_MODE1_CTRLA_ENABLE) >> RTC_MODE1_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp &= ~RTC_MODE1_CTRLA_ENABLE;
+ tmp |= value << RTC_MODE1_CTRLA_ENABLE_Pos;
+ ((Rtc *)hw)->MODE1.CTRLA.reg = tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg &= ~RTC_MODE1_CTRLA_ENABLE;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg ^= RTC_MODE1_CTRLA_ENABLE;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_CTRLA_BKTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg |= RTC_MODE1_CTRLA_BKTRST;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_CTRLA_BKTRST_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp = (tmp & RTC_MODE1_CTRLA_BKTRST) >> RTC_MODE1_CTRLA_BKTRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLA_BKTRST_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp &= ~RTC_MODE1_CTRLA_BKTRST;
+ tmp |= value << RTC_MODE1_CTRLA_BKTRST_Pos;
+ ((Rtc *)hw)->MODE1.CTRLA.reg = tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLA_BKTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg &= ~RTC_MODE1_CTRLA_BKTRST;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLA_BKTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg ^= RTC_MODE1_CTRLA_BKTRST;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_CTRLA_GPTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg |= RTC_MODE1_CTRLA_GPTRST;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_CTRLA_GPTRST_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp = (tmp & RTC_MODE1_CTRLA_GPTRST) >> RTC_MODE1_CTRLA_GPTRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLA_GPTRST_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp &= ~RTC_MODE1_CTRLA_GPTRST;
+ tmp |= value << RTC_MODE1_CTRLA_GPTRST_Pos;
+ ((Rtc *)hw)->MODE1.CTRLA.reg = tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLA_GPTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg &= ~RTC_MODE1_CTRLA_GPTRST;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLA_GPTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg ^= RTC_MODE1_CTRLA_GPTRST;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_CTRLA_COUNTSYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg |= RTC_MODE1_CTRLA_COUNTSYNC;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_CTRLA_COUNTSYNC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp = (tmp & RTC_MODE1_CTRLA_COUNTSYNC) >> RTC_MODE1_CTRLA_COUNTSYNC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLA_COUNTSYNC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp &= ~RTC_MODE1_CTRLA_COUNTSYNC;
+ tmp |= value << RTC_MODE1_CTRLA_COUNTSYNC_Pos;
+ ((Rtc *)hw)->MODE1.CTRLA.reg = tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLA_COUNTSYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg &= ~RTC_MODE1_CTRLA_COUNTSYNC;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLA_COUNTSYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg ^= RTC_MODE1_CTRLA_COUNTSYNC;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_CTRLA_MODE_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg |= RTC_MODE1_CTRLA_MODE(mask);
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_ctrla_reg_t hri_rtcmode1_get_CTRLA_MODE_bf(const void *const hw,
+ hri_rtcmode1_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp = (tmp & RTC_MODE1_CTRLA_MODE(mask)) >> RTC_MODE1_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLA_MODE_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t data)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp &= ~RTC_MODE1_CTRLA_MODE_Msk;
+ tmp |= RTC_MODE1_CTRLA_MODE(data);
+ ((Rtc *)hw)->MODE1.CTRLA.reg = tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLA_MODE_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg &= ~RTC_MODE1_CTRLA_MODE(mask);
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLA_MODE_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg ^= RTC_MODE1_CTRLA_MODE(mask);
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_ctrla_reg_t hri_rtcmode1_read_CTRLA_MODE_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp = (tmp & RTC_MODE1_CTRLA_MODE_Msk) >> RTC_MODE1_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_set_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg |= RTC_MODE1_CTRLA_PRESCALER(mask);
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_ctrla_reg_t hri_rtcmode1_get_CTRLA_PRESCALER_bf(const void *const hw,
+ hri_rtcmode1_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp = (tmp & RTC_MODE1_CTRLA_PRESCALER(mask)) >> RTC_MODE1_CTRLA_PRESCALER_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t data)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp &= ~RTC_MODE1_CTRLA_PRESCALER_Msk;
+ tmp |= RTC_MODE1_CTRLA_PRESCALER(data);
+ ((Rtc *)hw)->MODE1.CTRLA.reg = tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg &= ~RTC_MODE1_CTRLA_PRESCALER(mask);
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode1_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg ^= RTC_MODE1_CTRLA_PRESCALER(mask);
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_ctrla_reg_t hri_rtcmode1_read_CTRLA_PRESCALER_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp = (tmp & RTC_MODE1_CTRLA_PRESCALER_Msk) >> RTC_MODE1_CTRLA_PRESCALER_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_set_CTRLA_reg(const void *const hw, hri_rtcmode1_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg |= mask;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_ctrla_reg_t hri_rtcmode1_get_CTRLA_reg(const void *const hw, hri_rtcmode1_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ tmp = ((Rtc *)hw)->MODE1.CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLA_reg(const void *const hw, hri_rtcmode1_ctrla_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg = data;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLA_reg(const void *const hw, hri_rtcmode1_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg &= ~mask;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLA_reg(const void *const hw, hri_rtcmode1_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLA.reg ^= mask;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_ctrla_reg_t hri_rtcmode1_read_CTRLA_reg(const void *const hw)
+{
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_SWRST | RTC_MODE1_SYNCBUSY_ENABLE | RTC_MODE1_SYNCBUSY_COUNTSYNC);
+ return ((Rtc *)hw)->MODE1.CTRLA.reg;
+}
+
+static inline void hri_rtcmode2_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_SWRST;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint16_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST);
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp = (tmp & RTC_MODE2_CTRLA_SWRST) >> RTC_MODE2_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_ENABLE;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint16_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp = (tmp & RTC_MODE2_CTRLA_ENABLE) >> RTC_MODE2_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp &= ~RTC_MODE2_CTRLA_ENABLE;
+ tmp |= value << RTC_MODE2_CTRLA_ENABLE_Pos;
+ ((Rtc *)hw)->MODE2.CTRLA.reg = tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_ENABLE;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_ENABLE;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_CTRLA_CLKREP_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_CLKREP;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_CTRLA_CLKREP_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp = (tmp & RTC_MODE2_CTRLA_CLKREP) >> RTC_MODE2_CTRLA_CLKREP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLA_CLKREP_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp &= ~RTC_MODE2_CTRLA_CLKREP;
+ tmp |= value << RTC_MODE2_CTRLA_CLKREP_Pos;
+ ((Rtc *)hw)->MODE2.CTRLA.reg = tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLA_CLKREP_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_CLKREP;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLA_CLKREP_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_CLKREP;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_CTRLA_MATCHCLR_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_MATCHCLR;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_CTRLA_MATCHCLR_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp = (tmp & RTC_MODE2_CTRLA_MATCHCLR) >> RTC_MODE2_CTRLA_MATCHCLR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLA_MATCHCLR_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp &= ~RTC_MODE2_CTRLA_MATCHCLR;
+ tmp |= value << RTC_MODE2_CTRLA_MATCHCLR_Pos;
+ ((Rtc *)hw)->MODE2.CTRLA.reg = tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLA_MATCHCLR_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_MATCHCLR;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLA_MATCHCLR_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_MATCHCLR;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_CTRLA_BKTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_BKTRST;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_CTRLA_BKTRST_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp = (tmp & RTC_MODE2_CTRLA_BKTRST) >> RTC_MODE2_CTRLA_BKTRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLA_BKTRST_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp &= ~RTC_MODE2_CTRLA_BKTRST;
+ tmp |= value << RTC_MODE2_CTRLA_BKTRST_Pos;
+ ((Rtc *)hw)->MODE2.CTRLA.reg = tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLA_BKTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_BKTRST;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLA_BKTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_BKTRST;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_CTRLA_GPTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_GPTRST;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_CTRLA_GPTRST_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp = (tmp & RTC_MODE2_CTRLA_GPTRST) >> RTC_MODE2_CTRLA_GPTRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLA_GPTRST_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp &= ~RTC_MODE2_CTRLA_GPTRST;
+ tmp |= value << RTC_MODE2_CTRLA_GPTRST_Pos;
+ ((Rtc *)hw)->MODE2.CTRLA.reg = tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLA_GPTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_GPTRST;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLA_GPTRST_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_GPTRST;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_CTRLA_CLOCKSYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_CLOCKSYNC;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_CTRLA_CLOCKSYNC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp = (tmp & RTC_MODE2_CTRLA_CLOCKSYNC) >> RTC_MODE2_CTRLA_CLOCKSYNC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLA_CLOCKSYNC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp &= ~RTC_MODE2_CTRLA_CLOCKSYNC;
+ tmp |= value << RTC_MODE2_CTRLA_CLOCKSYNC_Pos;
+ ((Rtc *)hw)->MODE2.CTRLA.reg = tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLA_CLOCKSYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_CLOCKSYNC;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLA_CLOCKSYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_CLOCKSYNC;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_CTRLA_MODE_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_MODE(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_ctrla_reg_t hri_rtcmode2_get_CTRLA_MODE_bf(const void *const hw,
+ hri_rtcmode2_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp = (tmp & RTC_MODE2_CTRLA_MODE(mask)) >> RTC_MODE2_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLA_MODE_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t data)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp &= ~RTC_MODE2_CTRLA_MODE_Msk;
+ tmp |= RTC_MODE2_CTRLA_MODE(data);
+ ((Rtc *)hw)->MODE2.CTRLA.reg = tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLA_MODE_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_MODE(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLA_MODE_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_MODE(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_ctrla_reg_t hri_rtcmode2_read_CTRLA_MODE_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp = (tmp & RTC_MODE2_CTRLA_MODE_Msk) >> RTC_MODE2_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg |= RTC_MODE2_CTRLA_PRESCALER(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_ctrla_reg_t hri_rtcmode2_get_CTRLA_PRESCALER_bf(const void *const hw,
+ hri_rtcmode2_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp = (tmp & RTC_MODE2_CTRLA_PRESCALER(mask)) >> RTC_MODE2_CTRLA_PRESCALER_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t data)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp &= ~RTC_MODE2_CTRLA_PRESCALER_Msk;
+ tmp |= RTC_MODE2_CTRLA_PRESCALER(data);
+ ((Rtc *)hw)->MODE2.CTRLA.reg = tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg &= ~RTC_MODE2_CTRLA_PRESCALER(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLA_PRESCALER_bf(const void *const hw, hri_rtcmode2_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg ^= RTC_MODE2_CTRLA_PRESCALER(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_ctrla_reg_t hri_rtcmode2_read_CTRLA_PRESCALER_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp = (tmp & RTC_MODE2_CTRLA_PRESCALER_Msk) >> RTC_MODE2_CTRLA_PRESCALER_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_CTRLA_reg(const void *const hw, hri_rtcmode2_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg |= mask;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_ctrla_reg_t hri_rtcmode2_get_CTRLA_reg(const void *const hw, hri_rtcmode2_ctrla_reg_t mask)
+{
+ uint16_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ tmp = ((Rtc *)hw)->MODE2.CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLA_reg(const void *const hw, hri_rtcmode2_ctrla_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg = data;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLA_reg(const void *const hw, hri_rtcmode2_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg &= ~mask;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLA_reg(const void *const hw, hri_rtcmode2_ctrla_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLA.reg ^= mask;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_ctrla_reg_t hri_rtcmode2_read_CTRLA_reg(const void *const hw)
+{
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_SWRST | RTC_MODE2_SYNCBUSY_ENABLE | RTC_MODE2_SYNCBUSY_CLOCKSYNC);
+ return ((Rtc *)hw)->MODE2.CTRLA.reg;
+}
+
+static inline void hri_rtcmode0_set_CTRLB_GP0EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_GP0EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_CTRLB_GP0EN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp = (tmp & RTC_MODE0_CTRLB_GP0EN) >> RTC_MODE0_CTRLB_GP0EN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLB_GP0EN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp &= ~RTC_MODE0_CTRLB_GP0EN;
+ tmp |= value << RTC_MODE0_CTRLB_GP0EN_Pos;
+ ((Rtc *)hw)->MODE0.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLB_GP0EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_GP0EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLB_GP0EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_GP0EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_CTRLB_GP2EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_GP2EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_CTRLB_GP2EN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp = (tmp & RTC_MODE0_CTRLB_GP2EN) >> RTC_MODE0_CTRLB_GP2EN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLB_GP2EN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp &= ~RTC_MODE0_CTRLB_GP2EN;
+ tmp |= value << RTC_MODE0_CTRLB_GP2EN_Pos;
+ ((Rtc *)hw)->MODE0.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLB_GP2EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_GP2EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLB_GP2EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_GP2EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_CTRLB_DEBMAJ_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_DEBMAJ;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_CTRLB_DEBMAJ_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp = (tmp & RTC_MODE0_CTRLB_DEBMAJ) >> RTC_MODE0_CTRLB_DEBMAJ_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLB_DEBMAJ_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp &= ~RTC_MODE0_CTRLB_DEBMAJ;
+ tmp |= value << RTC_MODE0_CTRLB_DEBMAJ_Pos;
+ ((Rtc *)hw)->MODE0.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLB_DEBMAJ_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_DEBMAJ;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLB_DEBMAJ_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_DEBMAJ;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_CTRLB_DEBASYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_DEBASYNC;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_CTRLB_DEBASYNC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp = (tmp & RTC_MODE0_CTRLB_DEBASYNC) >> RTC_MODE0_CTRLB_DEBASYNC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLB_DEBASYNC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp &= ~RTC_MODE0_CTRLB_DEBASYNC;
+ tmp |= value << RTC_MODE0_CTRLB_DEBASYNC_Pos;
+ ((Rtc *)hw)->MODE0.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLB_DEBASYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_DEBASYNC;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLB_DEBASYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_DEBASYNC;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_CTRLB_RTCOUT_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_RTCOUT;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_CTRLB_RTCOUT_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp = (tmp & RTC_MODE0_CTRLB_RTCOUT) >> RTC_MODE0_CTRLB_RTCOUT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLB_RTCOUT_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp &= ~RTC_MODE0_CTRLB_RTCOUT;
+ tmp |= value << RTC_MODE0_CTRLB_RTCOUT_Pos;
+ ((Rtc *)hw)->MODE0.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLB_RTCOUT_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_RTCOUT;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLB_RTCOUT_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_RTCOUT;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_CTRLB_DMAEN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_DMAEN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_CTRLB_DMAEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp = (tmp & RTC_MODE0_CTRLB_DMAEN) >> RTC_MODE0_CTRLB_DMAEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLB_DMAEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp &= ~RTC_MODE0_CTRLB_DMAEN;
+ tmp |= value << RTC_MODE0_CTRLB_DMAEN_Pos;
+ ((Rtc *)hw)->MODE0.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLB_DMAEN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_DMAEN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLB_DMAEN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_DMAEN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_DEBF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_ctrlb_reg_t hri_rtcmode0_get_CTRLB_DEBF_bf(const void *const hw,
+ hri_rtcmode0_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp = (tmp & RTC_MODE0_CTRLB_DEBF(mask)) >> RTC_MODE0_CTRLB_DEBF_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t data)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp &= ~RTC_MODE0_CTRLB_DEBF_Msk;
+ tmp |= RTC_MODE0_CTRLB_DEBF(data);
+ ((Rtc *)hw)->MODE0.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_DEBF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_DEBF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_ctrlb_reg_t hri_rtcmode0_read_CTRLB_DEBF_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp = (tmp & RTC_MODE0_CTRLB_DEBF_Msk) >> RTC_MODE0_CTRLB_DEBF_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_set_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg |= RTC_MODE0_CTRLB_ACTF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_ctrlb_reg_t hri_rtcmode0_get_CTRLB_ACTF_bf(const void *const hw,
+ hri_rtcmode0_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp = (tmp & RTC_MODE0_CTRLB_ACTF(mask)) >> RTC_MODE0_CTRLB_ACTF_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t data)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp &= ~RTC_MODE0_CTRLB_ACTF_Msk;
+ tmp |= RTC_MODE0_CTRLB_ACTF(data);
+ ((Rtc *)hw)->MODE0.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg &= ~RTC_MODE0_CTRLB_ACTF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg ^= RTC_MODE0_CTRLB_ACTF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_ctrlb_reg_t hri_rtcmode0_read_CTRLB_ACTF_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp = (tmp & RTC_MODE0_CTRLB_ACTF_Msk) >> RTC_MODE0_CTRLB_ACTF_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_set_CTRLB_reg(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg |= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_ctrlb_reg_t hri_rtcmode0_get_CTRLB_reg(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.CTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_write_CTRLB_reg(const void *const hw, hri_rtcmode0_ctrlb_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg = data;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_CTRLB_reg(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg &= ~mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_CTRLB_reg(const void *const hw, hri_rtcmode0_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.CTRLB.reg ^= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_ctrlb_reg_t hri_rtcmode0_read_CTRLB_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE0.CTRLB.reg;
+}
+
+static inline void hri_rtcmode1_set_CTRLB_GP0EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_GP0EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_CTRLB_GP0EN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp = (tmp & RTC_MODE1_CTRLB_GP0EN) >> RTC_MODE1_CTRLB_GP0EN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLB_GP0EN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp &= ~RTC_MODE1_CTRLB_GP0EN;
+ tmp |= value << RTC_MODE1_CTRLB_GP0EN_Pos;
+ ((Rtc *)hw)->MODE1.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLB_GP0EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_GP0EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLB_GP0EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_GP0EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_CTRLB_GP2EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_GP2EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_CTRLB_GP2EN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp = (tmp & RTC_MODE1_CTRLB_GP2EN) >> RTC_MODE1_CTRLB_GP2EN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLB_GP2EN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp &= ~RTC_MODE1_CTRLB_GP2EN;
+ tmp |= value << RTC_MODE1_CTRLB_GP2EN_Pos;
+ ((Rtc *)hw)->MODE1.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLB_GP2EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_GP2EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLB_GP2EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_GP2EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_CTRLB_DEBMAJ_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_DEBMAJ;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_CTRLB_DEBMAJ_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp = (tmp & RTC_MODE1_CTRLB_DEBMAJ) >> RTC_MODE1_CTRLB_DEBMAJ_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLB_DEBMAJ_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp &= ~RTC_MODE1_CTRLB_DEBMAJ;
+ tmp |= value << RTC_MODE1_CTRLB_DEBMAJ_Pos;
+ ((Rtc *)hw)->MODE1.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLB_DEBMAJ_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_DEBMAJ;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLB_DEBMAJ_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_DEBMAJ;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_CTRLB_DEBASYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_DEBASYNC;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_CTRLB_DEBASYNC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp = (tmp & RTC_MODE1_CTRLB_DEBASYNC) >> RTC_MODE1_CTRLB_DEBASYNC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLB_DEBASYNC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp &= ~RTC_MODE1_CTRLB_DEBASYNC;
+ tmp |= value << RTC_MODE1_CTRLB_DEBASYNC_Pos;
+ ((Rtc *)hw)->MODE1.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLB_DEBASYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_DEBASYNC;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLB_DEBASYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_DEBASYNC;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_CTRLB_RTCOUT_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_RTCOUT;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_CTRLB_RTCOUT_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp = (tmp & RTC_MODE1_CTRLB_RTCOUT) >> RTC_MODE1_CTRLB_RTCOUT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLB_RTCOUT_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp &= ~RTC_MODE1_CTRLB_RTCOUT;
+ tmp |= value << RTC_MODE1_CTRLB_RTCOUT_Pos;
+ ((Rtc *)hw)->MODE1.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLB_RTCOUT_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_RTCOUT;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLB_RTCOUT_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_RTCOUT;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_CTRLB_DMAEN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_DMAEN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_CTRLB_DMAEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp = (tmp & RTC_MODE1_CTRLB_DMAEN) >> RTC_MODE1_CTRLB_DMAEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLB_DMAEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp &= ~RTC_MODE1_CTRLB_DMAEN;
+ tmp |= value << RTC_MODE1_CTRLB_DMAEN_Pos;
+ ((Rtc *)hw)->MODE1.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLB_DMAEN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_DMAEN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLB_DMAEN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_DMAEN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_DEBF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_ctrlb_reg_t hri_rtcmode1_get_CTRLB_DEBF_bf(const void *const hw,
+ hri_rtcmode1_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp = (tmp & RTC_MODE1_CTRLB_DEBF(mask)) >> RTC_MODE1_CTRLB_DEBF_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t data)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp &= ~RTC_MODE1_CTRLB_DEBF_Msk;
+ tmp |= RTC_MODE1_CTRLB_DEBF(data);
+ ((Rtc *)hw)->MODE1.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_DEBF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_DEBF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_ctrlb_reg_t hri_rtcmode1_read_CTRLB_DEBF_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp = (tmp & RTC_MODE1_CTRLB_DEBF_Msk) >> RTC_MODE1_CTRLB_DEBF_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_set_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg |= RTC_MODE1_CTRLB_ACTF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_ctrlb_reg_t hri_rtcmode1_get_CTRLB_ACTF_bf(const void *const hw,
+ hri_rtcmode1_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp = (tmp & RTC_MODE1_CTRLB_ACTF(mask)) >> RTC_MODE1_CTRLB_ACTF_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t data)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp &= ~RTC_MODE1_CTRLB_ACTF_Msk;
+ tmp |= RTC_MODE1_CTRLB_ACTF(data);
+ ((Rtc *)hw)->MODE1.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg &= ~RTC_MODE1_CTRLB_ACTF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg ^= RTC_MODE1_CTRLB_ACTF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_ctrlb_reg_t hri_rtcmode1_read_CTRLB_ACTF_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp = (tmp & RTC_MODE1_CTRLB_ACTF_Msk) >> RTC_MODE1_CTRLB_ACTF_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_set_CTRLB_reg(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg |= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_ctrlb_reg_t hri_rtcmode1_get_CTRLB_reg(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.CTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_write_CTRLB_reg(const void *const hw, hri_rtcmode1_ctrlb_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg = data;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_CTRLB_reg(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg &= ~mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_CTRLB_reg(const void *const hw, hri_rtcmode1_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.CTRLB.reg ^= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_ctrlb_reg_t hri_rtcmode1_read_CTRLB_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE1.CTRLB.reg;
+}
+
+static inline void hri_rtcmode2_set_CTRLB_GP0EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_GP0EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_CTRLB_GP0EN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp = (tmp & RTC_MODE2_CTRLB_GP0EN) >> RTC_MODE2_CTRLB_GP0EN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLB_GP0EN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp &= ~RTC_MODE2_CTRLB_GP0EN;
+ tmp |= value << RTC_MODE2_CTRLB_GP0EN_Pos;
+ ((Rtc *)hw)->MODE2.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLB_GP0EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_GP0EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLB_GP0EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_GP0EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_CTRLB_GP2EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_GP2EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_CTRLB_GP2EN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp = (tmp & RTC_MODE2_CTRLB_GP2EN) >> RTC_MODE2_CTRLB_GP2EN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLB_GP2EN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp &= ~RTC_MODE2_CTRLB_GP2EN;
+ tmp |= value << RTC_MODE2_CTRLB_GP2EN_Pos;
+ ((Rtc *)hw)->MODE2.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLB_GP2EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_GP2EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLB_GP2EN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_GP2EN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_CTRLB_DEBMAJ_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_DEBMAJ;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_CTRLB_DEBMAJ_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp = (tmp & RTC_MODE2_CTRLB_DEBMAJ) >> RTC_MODE2_CTRLB_DEBMAJ_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLB_DEBMAJ_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp &= ~RTC_MODE2_CTRLB_DEBMAJ;
+ tmp |= value << RTC_MODE2_CTRLB_DEBMAJ_Pos;
+ ((Rtc *)hw)->MODE2.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLB_DEBMAJ_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_DEBMAJ;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLB_DEBMAJ_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_DEBMAJ;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_CTRLB_DEBASYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_DEBASYNC;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_CTRLB_DEBASYNC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp = (tmp & RTC_MODE2_CTRLB_DEBASYNC) >> RTC_MODE2_CTRLB_DEBASYNC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLB_DEBASYNC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp &= ~RTC_MODE2_CTRLB_DEBASYNC;
+ tmp |= value << RTC_MODE2_CTRLB_DEBASYNC_Pos;
+ ((Rtc *)hw)->MODE2.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLB_DEBASYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_DEBASYNC;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLB_DEBASYNC_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_DEBASYNC;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_CTRLB_RTCOUT_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_RTCOUT;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_CTRLB_RTCOUT_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp = (tmp & RTC_MODE2_CTRLB_RTCOUT) >> RTC_MODE2_CTRLB_RTCOUT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLB_RTCOUT_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp &= ~RTC_MODE2_CTRLB_RTCOUT;
+ tmp |= value << RTC_MODE2_CTRLB_RTCOUT_Pos;
+ ((Rtc *)hw)->MODE2.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLB_RTCOUT_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_RTCOUT;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLB_RTCOUT_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_RTCOUT;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_CTRLB_DMAEN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_DMAEN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_CTRLB_DMAEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp = (tmp & RTC_MODE2_CTRLB_DMAEN) >> RTC_MODE2_CTRLB_DMAEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLB_DMAEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp &= ~RTC_MODE2_CTRLB_DMAEN;
+ tmp |= value << RTC_MODE2_CTRLB_DMAEN_Pos;
+ ((Rtc *)hw)->MODE2.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLB_DMAEN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_DMAEN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLB_DMAEN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_DMAEN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_DEBF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_ctrlb_reg_t hri_rtcmode2_get_CTRLB_DEBF_bf(const void *const hw,
+ hri_rtcmode2_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp = (tmp & RTC_MODE2_CTRLB_DEBF(mask)) >> RTC_MODE2_CTRLB_DEBF_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t data)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp &= ~RTC_MODE2_CTRLB_DEBF_Msk;
+ tmp |= RTC_MODE2_CTRLB_DEBF(data);
+ ((Rtc *)hw)->MODE2.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_DEBF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLB_DEBF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_DEBF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_ctrlb_reg_t hri_rtcmode2_read_CTRLB_DEBF_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp = (tmp & RTC_MODE2_CTRLB_DEBF_Msk) >> RTC_MODE2_CTRLB_DEBF_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg |= RTC_MODE2_CTRLB_ACTF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_ctrlb_reg_t hri_rtcmode2_get_CTRLB_ACTF_bf(const void *const hw,
+ hri_rtcmode2_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp = (tmp & RTC_MODE2_CTRLB_ACTF(mask)) >> RTC_MODE2_CTRLB_ACTF_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t data)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp &= ~RTC_MODE2_CTRLB_ACTF_Msk;
+ tmp |= RTC_MODE2_CTRLB_ACTF(data);
+ ((Rtc *)hw)->MODE2.CTRLB.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg &= ~RTC_MODE2_CTRLB_ACTF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLB_ACTF_bf(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg ^= RTC_MODE2_CTRLB_ACTF(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_ctrlb_reg_t hri_rtcmode2_read_CTRLB_ACTF_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp = (tmp & RTC_MODE2_CTRLB_ACTF_Msk) >> RTC_MODE2_CTRLB_ACTF_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_CTRLB_reg(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg |= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_ctrlb_reg_t hri_rtcmode2_get_CTRLB_reg(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.CTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_CTRLB_reg(const void *const hw, hri_rtcmode2_ctrlb_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg = data;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CTRLB_reg(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg &= ~mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CTRLB_reg(const void *const hw, hri_rtcmode2_ctrlb_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CTRLB.reg ^= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_ctrlb_reg_t hri_rtcmode2_read_CTRLB_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE2.CTRLB.reg;
+}
+
+static inline void hri_rtcmode0_set_EVCTRL_PEREO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_EVCTRL_PEREO0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE0_EVCTRL_PEREO0) >> RTC_MODE0_EVCTRL_PEREO0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_EVCTRL_PEREO0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp &= ~RTC_MODE0_EVCTRL_PEREO0;
+ tmp |= value << RTC_MODE0_EVCTRL_PEREO0_Pos;
+ ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_EVCTRL_PEREO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_EVCTRL_PEREO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_EVCTRL_PEREO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_EVCTRL_PEREO1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE0_EVCTRL_PEREO1) >> RTC_MODE0_EVCTRL_PEREO1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_EVCTRL_PEREO1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp &= ~RTC_MODE0_EVCTRL_PEREO1;
+ tmp |= value << RTC_MODE0_EVCTRL_PEREO1_Pos;
+ ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_EVCTRL_PEREO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_EVCTRL_PEREO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_EVCTRL_PEREO2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_EVCTRL_PEREO2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE0_EVCTRL_PEREO2) >> RTC_MODE0_EVCTRL_PEREO2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_EVCTRL_PEREO2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp &= ~RTC_MODE0_EVCTRL_PEREO2;
+ tmp |= value << RTC_MODE0_EVCTRL_PEREO2_Pos;
+ ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_EVCTRL_PEREO2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_EVCTRL_PEREO2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_EVCTRL_PEREO3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_EVCTRL_PEREO3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE0_EVCTRL_PEREO3) >> RTC_MODE0_EVCTRL_PEREO3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_EVCTRL_PEREO3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp &= ~RTC_MODE0_EVCTRL_PEREO3;
+ tmp |= value << RTC_MODE0_EVCTRL_PEREO3_Pos;
+ ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_EVCTRL_PEREO3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_EVCTRL_PEREO3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_EVCTRL_PEREO4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_EVCTRL_PEREO4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE0_EVCTRL_PEREO4) >> RTC_MODE0_EVCTRL_PEREO4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_EVCTRL_PEREO4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp &= ~RTC_MODE0_EVCTRL_PEREO4;
+ tmp |= value << RTC_MODE0_EVCTRL_PEREO4_Pos;
+ ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_EVCTRL_PEREO4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_EVCTRL_PEREO4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_EVCTRL_PEREO5_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO5;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_EVCTRL_PEREO5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE0_EVCTRL_PEREO5) >> RTC_MODE0_EVCTRL_PEREO5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_EVCTRL_PEREO5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp &= ~RTC_MODE0_EVCTRL_PEREO5;
+ tmp |= value << RTC_MODE0_EVCTRL_PEREO5_Pos;
+ ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_EVCTRL_PEREO5_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO5;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_EVCTRL_PEREO5_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO5;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_EVCTRL_PEREO6_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO6;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_EVCTRL_PEREO6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE0_EVCTRL_PEREO6) >> RTC_MODE0_EVCTRL_PEREO6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_EVCTRL_PEREO6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp &= ~RTC_MODE0_EVCTRL_PEREO6;
+ tmp |= value << RTC_MODE0_EVCTRL_PEREO6_Pos;
+ ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_EVCTRL_PEREO6_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO6;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_EVCTRL_PEREO6_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO6;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_EVCTRL_PEREO7_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_PEREO7;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_EVCTRL_PEREO7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE0_EVCTRL_PEREO7) >> RTC_MODE0_EVCTRL_PEREO7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_EVCTRL_PEREO7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp &= ~RTC_MODE0_EVCTRL_PEREO7;
+ tmp |= value << RTC_MODE0_EVCTRL_PEREO7_Pos;
+ ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_EVCTRL_PEREO7_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_PEREO7;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_EVCTRL_PEREO7_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_PEREO7;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_EVCTRL_CMPEO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_CMPEO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_EVCTRL_CMPEO0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE0_EVCTRL_CMPEO0) >> RTC_MODE0_EVCTRL_CMPEO0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_EVCTRL_CMPEO0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp &= ~RTC_MODE0_EVCTRL_CMPEO0;
+ tmp |= value << RTC_MODE0_EVCTRL_CMPEO0_Pos;
+ ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_EVCTRL_CMPEO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_CMPEO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_EVCTRL_CMPEO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_CMPEO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_EVCTRL_CMPEO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_CMPEO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_EVCTRL_CMPEO1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE0_EVCTRL_CMPEO1) >> RTC_MODE0_EVCTRL_CMPEO1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_EVCTRL_CMPEO1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp &= ~RTC_MODE0_EVCTRL_CMPEO1;
+ tmp |= value << RTC_MODE0_EVCTRL_CMPEO1_Pos;
+ ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_EVCTRL_CMPEO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_CMPEO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_EVCTRL_CMPEO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_CMPEO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_EVCTRL_TAMPEREO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_TAMPEREO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_EVCTRL_TAMPEREO_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE0_EVCTRL_TAMPEREO) >> RTC_MODE0_EVCTRL_TAMPEREO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_EVCTRL_TAMPEREO_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp &= ~RTC_MODE0_EVCTRL_TAMPEREO;
+ tmp |= value << RTC_MODE0_EVCTRL_TAMPEREO_Pos;
+ ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_EVCTRL_TAMPEREO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_TAMPEREO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_EVCTRL_TAMPEREO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_TAMPEREO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_OVFEO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE0_EVCTRL_OVFEO) >> RTC_MODE0_EVCTRL_OVFEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_EVCTRL_OVFEO_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp &= ~RTC_MODE0_EVCTRL_OVFEO;
+ tmp |= value << RTC_MODE0_EVCTRL_OVFEO_Pos;
+ ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_OVFEO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_OVFEO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_EVCTRL_TAMPEVEI_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg |= RTC_MODE0_EVCTRL_TAMPEVEI;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode0_get_EVCTRL_TAMPEVEI_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE0_EVCTRL_TAMPEVEI) >> RTC_MODE0_EVCTRL_TAMPEVEI_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode0_write_EVCTRL_TAMPEVEI_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp &= ~RTC_MODE0_EVCTRL_TAMPEVEI;
+ tmp |= value << RTC_MODE0_EVCTRL_TAMPEVEI_Pos;
+ ((Rtc *)hw)->MODE0.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_EVCTRL_TAMPEVEI_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~RTC_MODE0_EVCTRL_TAMPEVEI;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_EVCTRL_TAMPEVEI_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg ^= RTC_MODE0_EVCTRL_TAMPEVEI;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_set_EVCTRL_reg(const void *const hw, hri_rtcmode0_evctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg |= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_evctrl_reg_t hri_rtcmode0_get_EVCTRL_reg(const void *const hw,
+ hri_rtcmode0_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_write_EVCTRL_reg(const void *const hw, hri_rtcmode0_evctrl_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg = data;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_EVCTRL_reg(const void *const hw, hri_rtcmode0_evctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg &= ~mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_EVCTRL_reg(const void *const hw, hri_rtcmode0_evctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.EVCTRL.reg ^= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_evctrl_reg_t hri_rtcmode0_read_EVCTRL_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE0.EVCTRL.reg;
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_PEREO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_EVCTRL_PEREO0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE1_EVCTRL_PEREO0) >> RTC_MODE1_EVCTRL_PEREO0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_PEREO0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= ~RTC_MODE1_EVCTRL_PEREO0;
+ tmp |= value << RTC_MODE1_EVCTRL_PEREO0_Pos;
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_PEREO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_PEREO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_PEREO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_EVCTRL_PEREO1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE1_EVCTRL_PEREO1) >> RTC_MODE1_EVCTRL_PEREO1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_PEREO1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= ~RTC_MODE1_EVCTRL_PEREO1;
+ tmp |= value << RTC_MODE1_EVCTRL_PEREO1_Pos;
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_PEREO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_PEREO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_PEREO2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_EVCTRL_PEREO2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE1_EVCTRL_PEREO2) >> RTC_MODE1_EVCTRL_PEREO2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_PEREO2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= ~RTC_MODE1_EVCTRL_PEREO2;
+ tmp |= value << RTC_MODE1_EVCTRL_PEREO2_Pos;
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_PEREO2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_PEREO2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_PEREO3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_EVCTRL_PEREO3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE1_EVCTRL_PEREO3) >> RTC_MODE1_EVCTRL_PEREO3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_PEREO3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= ~RTC_MODE1_EVCTRL_PEREO3;
+ tmp |= value << RTC_MODE1_EVCTRL_PEREO3_Pos;
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_PEREO3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_PEREO3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_PEREO4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_EVCTRL_PEREO4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE1_EVCTRL_PEREO4) >> RTC_MODE1_EVCTRL_PEREO4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_PEREO4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= ~RTC_MODE1_EVCTRL_PEREO4;
+ tmp |= value << RTC_MODE1_EVCTRL_PEREO4_Pos;
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_PEREO4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_PEREO4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_PEREO5_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO5;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_EVCTRL_PEREO5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE1_EVCTRL_PEREO5) >> RTC_MODE1_EVCTRL_PEREO5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_PEREO5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= ~RTC_MODE1_EVCTRL_PEREO5;
+ tmp |= value << RTC_MODE1_EVCTRL_PEREO5_Pos;
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_PEREO5_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO5;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_PEREO5_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO5;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_PEREO6_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO6;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_EVCTRL_PEREO6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE1_EVCTRL_PEREO6) >> RTC_MODE1_EVCTRL_PEREO6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_PEREO6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= ~RTC_MODE1_EVCTRL_PEREO6;
+ tmp |= value << RTC_MODE1_EVCTRL_PEREO6_Pos;
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_PEREO6_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO6;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_PEREO6_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO6;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_PEREO7_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_PEREO7;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_EVCTRL_PEREO7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE1_EVCTRL_PEREO7) >> RTC_MODE1_EVCTRL_PEREO7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_PEREO7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= ~RTC_MODE1_EVCTRL_PEREO7;
+ tmp |= value << RTC_MODE1_EVCTRL_PEREO7_Pos;
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_PEREO7_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_PEREO7;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_PEREO7_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_PEREO7;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_CMPEO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_CMPEO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_EVCTRL_CMPEO0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE1_EVCTRL_CMPEO0) >> RTC_MODE1_EVCTRL_CMPEO0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_CMPEO0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= ~RTC_MODE1_EVCTRL_CMPEO0;
+ tmp |= value << RTC_MODE1_EVCTRL_CMPEO0_Pos;
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_CMPEO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_CMPEO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_CMPEO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_CMPEO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_CMPEO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_CMPEO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_EVCTRL_CMPEO1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE1_EVCTRL_CMPEO1) >> RTC_MODE1_EVCTRL_CMPEO1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_CMPEO1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= ~RTC_MODE1_EVCTRL_CMPEO1;
+ tmp |= value << RTC_MODE1_EVCTRL_CMPEO1_Pos;
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_CMPEO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_CMPEO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_CMPEO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_CMPEO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_CMPEO2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_CMPEO2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_EVCTRL_CMPEO2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE1_EVCTRL_CMPEO2) >> RTC_MODE1_EVCTRL_CMPEO2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_CMPEO2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= ~RTC_MODE1_EVCTRL_CMPEO2;
+ tmp |= value << RTC_MODE1_EVCTRL_CMPEO2_Pos;
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_CMPEO2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_CMPEO2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_CMPEO2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_CMPEO2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_CMPEO3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_CMPEO3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_EVCTRL_CMPEO3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE1_EVCTRL_CMPEO3) >> RTC_MODE1_EVCTRL_CMPEO3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_CMPEO3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= ~RTC_MODE1_EVCTRL_CMPEO3;
+ tmp |= value << RTC_MODE1_EVCTRL_CMPEO3_Pos;
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_CMPEO3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_CMPEO3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_CMPEO3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_CMPEO3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_TAMPEREO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_TAMPEREO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_EVCTRL_TAMPEREO_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE1_EVCTRL_TAMPEREO) >> RTC_MODE1_EVCTRL_TAMPEREO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_TAMPEREO_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= ~RTC_MODE1_EVCTRL_TAMPEREO;
+ tmp |= value << RTC_MODE1_EVCTRL_TAMPEREO_Pos;
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_TAMPEREO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_TAMPEREO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_TAMPEREO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_TAMPEREO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_OVFEO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE1_EVCTRL_OVFEO) >> RTC_MODE1_EVCTRL_OVFEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_OVFEO_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= ~RTC_MODE1_EVCTRL_OVFEO;
+ tmp |= value << RTC_MODE1_EVCTRL_OVFEO_Pos;
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_OVFEO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_OVFEO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_TAMPEVEI_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= RTC_MODE1_EVCTRL_TAMPEVEI;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode1_get_EVCTRL_TAMPEVEI_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE1_EVCTRL_TAMPEVEI) >> RTC_MODE1_EVCTRL_TAMPEVEI_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_TAMPEVEI_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= ~RTC_MODE1_EVCTRL_TAMPEVEI;
+ tmp |= value << RTC_MODE1_EVCTRL_TAMPEVEI_Pos;
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_TAMPEVEI_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~RTC_MODE1_EVCTRL_TAMPEVEI;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_TAMPEVEI_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= RTC_MODE1_EVCTRL_TAMPEVEI;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_set_EVCTRL_reg(const void *const hw, hri_rtcmode1_evctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg |= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_evctrl_reg_t hri_rtcmode1_get_EVCTRL_reg(const void *const hw,
+ hri_rtcmode1_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_write_EVCTRL_reg(const void *const hw, hri_rtcmode1_evctrl_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg = data;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_EVCTRL_reg(const void *const hw, hri_rtcmode1_evctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg &= ~mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_EVCTRL_reg(const void *const hw, hri_rtcmode1_evctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.EVCTRL.reg ^= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_evctrl_reg_t hri_rtcmode1_read_EVCTRL_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE1.EVCTRL.reg;
+}
+
+static inline void hri_rtcmode2_set_EVCTRL_PEREO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_EVCTRL_PEREO0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE2_EVCTRL_PEREO0) >> RTC_MODE2_EVCTRL_PEREO0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_EVCTRL_PEREO0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp &= ~RTC_MODE2_EVCTRL_PEREO0;
+ tmp |= value << RTC_MODE2_EVCTRL_PEREO0_Pos;
+ ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_EVCTRL_PEREO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_EVCTRL_PEREO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_EVCTRL_PEREO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_EVCTRL_PEREO1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE2_EVCTRL_PEREO1) >> RTC_MODE2_EVCTRL_PEREO1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_EVCTRL_PEREO1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp &= ~RTC_MODE2_EVCTRL_PEREO1;
+ tmp |= value << RTC_MODE2_EVCTRL_PEREO1_Pos;
+ ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_EVCTRL_PEREO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_EVCTRL_PEREO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_EVCTRL_PEREO2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_EVCTRL_PEREO2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE2_EVCTRL_PEREO2) >> RTC_MODE2_EVCTRL_PEREO2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_EVCTRL_PEREO2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp &= ~RTC_MODE2_EVCTRL_PEREO2;
+ tmp |= value << RTC_MODE2_EVCTRL_PEREO2_Pos;
+ ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_EVCTRL_PEREO2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_EVCTRL_PEREO2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_EVCTRL_PEREO3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_EVCTRL_PEREO3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE2_EVCTRL_PEREO3) >> RTC_MODE2_EVCTRL_PEREO3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_EVCTRL_PEREO3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp &= ~RTC_MODE2_EVCTRL_PEREO3;
+ tmp |= value << RTC_MODE2_EVCTRL_PEREO3_Pos;
+ ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_EVCTRL_PEREO3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_EVCTRL_PEREO3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_EVCTRL_PEREO4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_EVCTRL_PEREO4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE2_EVCTRL_PEREO4) >> RTC_MODE2_EVCTRL_PEREO4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_EVCTRL_PEREO4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp &= ~RTC_MODE2_EVCTRL_PEREO4;
+ tmp |= value << RTC_MODE2_EVCTRL_PEREO4_Pos;
+ ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_EVCTRL_PEREO4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_EVCTRL_PEREO4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_EVCTRL_PEREO5_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO5;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_EVCTRL_PEREO5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE2_EVCTRL_PEREO5) >> RTC_MODE2_EVCTRL_PEREO5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_EVCTRL_PEREO5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp &= ~RTC_MODE2_EVCTRL_PEREO5;
+ tmp |= value << RTC_MODE2_EVCTRL_PEREO5_Pos;
+ ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_EVCTRL_PEREO5_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO5;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_EVCTRL_PEREO5_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO5;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_EVCTRL_PEREO6_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO6;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_EVCTRL_PEREO6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE2_EVCTRL_PEREO6) >> RTC_MODE2_EVCTRL_PEREO6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_EVCTRL_PEREO6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp &= ~RTC_MODE2_EVCTRL_PEREO6;
+ tmp |= value << RTC_MODE2_EVCTRL_PEREO6_Pos;
+ ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_EVCTRL_PEREO6_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO6;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_EVCTRL_PEREO6_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO6;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_EVCTRL_PEREO7_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_PEREO7;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_EVCTRL_PEREO7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE2_EVCTRL_PEREO7) >> RTC_MODE2_EVCTRL_PEREO7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_EVCTRL_PEREO7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp &= ~RTC_MODE2_EVCTRL_PEREO7;
+ tmp |= value << RTC_MODE2_EVCTRL_PEREO7_Pos;
+ ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_EVCTRL_PEREO7_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_PEREO7;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_EVCTRL_PEREO7_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_PEREO7;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_EVCTRL_ALARMEO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_ALARMEO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_EVCTRL_ALARMEO0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE2_EVCTRL_ALARMEO0) >> RTC_MODE2_EVCTRL_ALARMEO0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_EVCTRL_ALARMEO0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp &= ~RTC_MODE2_EVCTRL_ALARMEO0;
+ tmp |= value << RTC_MODE2_EVCTRL_ALARMEO0_Pos;
+ ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_EVCTRL_ALARMEO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_ALARMEO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_EVCTRL_ALARMEO0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_ALARMEO0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_EVCTRL_ALARMEO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_ALARMEO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_EVCTRL_ALARMEO1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE2_EVCTRL_ALARMEO1) >> RTC_MODE2_EVCTRL_ALARMEO1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_EVCTRL_ALARMEO1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp &= ~RTC_MODE2_EVCTRL_ALARMEO1;
+ tmp |= value << RTC_MODE2_EVCTRL_ALARMEO1_Pos;
+ ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_EVCTRL_ALARMEO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_ALARMEO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_EVCTRL_ALARMEO1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_ALARMEO1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_EVCTRL_TAMPEREO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_TAMPEREO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_EVCTRL_TAMPEREO_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE2_EVCTRL_TAMPEREO) >> RTC_MODE2_EVCTRL_TAMPEREO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_EVCTRL_TAMPEREO_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp &= ~RTC_MODE2_EVCTRL_TAMPEREO;
+ tmp |= value << RTC_MODE2_EVCTRL_TAMPEREO_Pos;
+ ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_EVCTRL_TAMPEREO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_TAMPEREO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_EVCTRL_TAMPEREO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_TAMPEREO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_OVFEO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE2_EVCTRL_OVFEO) >> RTC_MODE2_EVCTRL_OVFEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_EVCTRL_OVFEO_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp &= ~RTC_MODE2_EVCTRL_OVFEO;
+ tmp |= value << RTC_MODE2_EVCTRL_OVFEO_Pos;
+ ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_OVFEO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_OVFEO;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_EVCTRL_TAMPEVEI_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg |= RTC_MODE2_EVCTRL_TAMPEVEI;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtcmode2_get_EVCTRL_TAMPEVEI_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp = (tmp & RTC_MODE2_EVCTRL_TAMPEVEI) >> RTC_MODE2_EVCTRL_TAMPEVEI_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtcmode2_write_EVCTRL_TAMPEVEI_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp &= ~RTC_MODE2_EVCTRL_TAMPEVEI;
+ tmp |= value << RTC_MODE2_EVCTRL_TAMPEVEI_Pos;
+ ((Rtc *)hw)->MODE2.EVCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_EVCTRL_TAMPEVEI_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~RTC_MODE2_EVCTRL_TAMPEVEI;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_EVCTRL_TAMPEVEI_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg ^= RTC_MODE2_EVCTRL_TAMPEVEI;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_set_EVCTRL_reg(const void *const hw, hri_rtcmode2_evctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg |= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_evctrl_reg_t hri_rtcmode2_get_EVCTRL_reg(const void *const hw,
+ hri_rtcmode2_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE2.EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_EVCTRL_reg(const void *const hw, hri_rtcmode2_evctrl_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg = data;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_EVCTRL_reg(const void *const hw, hri_rtcmode2_evctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg &= ~mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_EVCTRL_reg(const void *const hw, hri_rtcmode2_evctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.EVCTRL.reg ^= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_evctrl_reg_t hri_rtcmode2_read_EVCTRL_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE2.EVCTRL.reg;
+}
+
+static inline void hri_rtc_set_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.DBGCTRL.reg |= RTC_DBGCTRL_DBGRUN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.DBGCTRL.reg;
+ tmp = (tmp & RTC_DBGCTRL_DBGRUN) >> RTC_DBGCTRL_DBGRUN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.DBGCTRL.reg;
+ tmp &= ~RTC_DBGCTRL_DBGRUN;
+ tmp |= value << RTC_DBGCTRL_DBGRUN_Pos;
+ ((Rtc *)hw)->MODE0.DBGCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.DBGCTRL.reg &= ~RTC_DBGCTRL_DBGRUN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.DBGCTRL.reg ^= RTC_DBGCTRL_DBGRUN;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_DBGCTRL_reg(const void *const hw, hri_rtc_dbgctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.DBGCTRL.reg |= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_dbgctrl_reg_t hri_rtc_get_DBGCTRL_reg(const void *const hw, hri_rtc_dbgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.DBGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtc_write_DBGCTRL_reg(const void *const hw, hri_rtc_dbgctrl_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.DBGCTRL.reg = data;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_DBGCTRL_reg(const void *const hw, hri_rtc_dbgctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.DBGCTRL.reg &= ~mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_DBGCTRL_reg(const void *const hw, hri_rtc_dbgctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.DBGCTRL.reg ^= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_dbgctrl_reg_t hri_rtc_read_DBGCTRL_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE0.DBGCTRL.reg;
+}
+
+static inline void hri_rtc_set_FREQCORR_SIGN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.FREQCORR.reg |= RTC_FREQCORR_SIGN;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_FREQCORR_SIGN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.FREQCORR.reg;
+ tmp = (tmp & RTC_FREQCORR_SIGN) >> RTC_FREQCORR_SIGN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_FREQCORR_SIGN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.FREQCORR.reg;
+ tmp &= ~RTC_FREQCORR_SIGN;
+ tmp |= value << RTC_FREQCORR_SIGN_Pos;
+ ((Rtc *)hw)->MODE0.FREQCORR.reg = tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_FREQCORR_SIGN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.FREQCORR.reg &= ~RTC_FREQCORR_SIGN;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_FREQCORR_SIGN_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.FREQCORR.reg ^= RTC_FREQCORR_SIGN;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_FREQCORR_VALUE_bf(const void *const hw, hri_rtc_freqcorr_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.FREQCORR.reg |= RTC_FREQCORR_VALUE(mask);
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_freqcorr_reg_t hri_rtc_get_FREQCORR_VALUE_bf(const void *const hw, hri_rtc_freqcorr_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.FREQCORR.reg;
+ tmp = (tmp & RTC_FREQCORR_VALUE(mask)) >> RTC_FREQCORR_VALUE_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_write_FREQCORR_VALUE_bf(const void *const hw, hri_rtc_freqcorr_reg_t data)
+{
+ uint8_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.FREQCORR.reg;
+ tmp &= ~RTC_FREQCORR_VALUE_Msk;
+ tmp |= RTC_FREQCORR_VALUE(data);
+ ((Rtc *)hw)->MODE0.FREQCORR.reg = tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_FREQCORR_VALUE_bf(const void *const hw, hri_rtc_freqcorr_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.FREQCORR.reg &= ~RTC_FREQCORR_VALUE(mask);
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_FREQCORR_VALUE_bf(const void *const hw, hri_rtc_freqcorr_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.FREQCORR.reg ^= RTC_FREQCORR_VALUE(mask);
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_freqcorr_reg_t hri_rtc_read_FREQCORR_VALUE_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.FREQCORR.reg;
+ tmp = (tmp & RTC_FREQCORR_VALUE_Msk) >> RTC_FREQCORR_VALUE_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_set_FREQCORR_reg(const void *const hw, hri_rtc_freqcorr_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.FREQCORR.reg |= mask;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_freqcorr_reg_t hri_rtc_get_FREQCORR_reg(const void *const hw, hri_rtc_freqcorr_reg_t mask)
+{
+ uint8_t tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ tmp = ((Rtc *)hw)->MODE0.FREQCORR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtc_write_FREQCORR_reg(const void *const hw, hri_rtc_freqcorr_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.FREQCORR.reg = data;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_FREQCORR_reg(const void *const hw, hri_rtc_freqcorr_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.FREQCORR.reg &= ~mask;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_FREQCORR_reg(const void *const hw, hri_rtc_freqcorr_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.FREQCORR.reg ^= mask;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_freqcorr_reg_t hri_rtc_read_FREQCORR_reg(const void *const hw)
+{
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_MASK);
+ return ((Rtc *)hw)->MODE0.FREQCORR.reg;
+}
+
+static inline void hri_rtcmode0_set_COUNT_COUNT_bf(const void *const hw, hri_rtcmode0_count_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.COUNT.reg |= RTC_MODE0_COUNT_COUNT(mask);
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_count_reg_t hri_rtcmode0_get_COUNT_COUNT_bf(const void *const hw,
+ hri_rtcmode0_count_reg_t mask)
+{
+ uint32_t tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ tmp = ((Rtc *)hw)->MODE0.COUNT.reg;
+ tmp = (tmp & RTC_MODE0_COUNT_COUNT(mask)) >> RTC_MODE0_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_write_COUNT_COUNT_bf(const void *const hw, hri_rtcmode0_count_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.COUNT.reg;
+ tmp &= ~RTC_MODE0_COUNT_COUNT_Msk;
+ tmp |= RTC_MODE0_COUNT_COUNT(data);
+ ((Rtc *)hw)->MODE0.COUNT.reg = tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_COUNT_COUNT_bf(const void *const hw, hri_rtcmode0_count_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.COUNT.reg &= ~RTC_MODE0_COUNT_COUNT(mask);
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_COUNT_COUNT_bf(const void *const hw, hri_rtcmode0_count_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.COUNT.reg ^= RTC_MODE0_COUNT_COUNT(mask);
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_count_reg_t hri_rtcmode0_read_COUNT_COUNT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ tmp = ((Rtc *)hw)->MODE0.COUNT.reg;
+ tmp = (tmp & RTC_MODE0_COUNT_COUNT_Msk) >> RTC_MODE0_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_set_COUNT_reg(const void *const hw, hri_rtcmode0_count_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.COUNT.reg |= mask;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_count_reg_t hri_rtcmode0_get_COUNT_reg(const void *const hw, hri_rtcmode0_count_reg_t mask)
+{
+ uint32_t tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ tmp = ((Rtc *)hw)->MODE0.COUNT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_write_COUNT_reg(const void *const hw, hri_rtcmode0_count_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.COUNT.reg = data;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_COUNT_reg(const void *const hw, hri_rtcmode0_count_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.COUNT.reg &= ~mask;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_COUNT_reg(const void *const hw, hri_rtcmode0_count_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.COUNT.reg ^= mask;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_count_reg_t hri_rtcmode0_read_COUNT_reg(const void *const hw)
+{
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COUNT);
+ return ((Rtc *)hw)->MODE0.COUNT.reg;
+}
+
+static inline void hri_rtcmode1_set_COUNT_COUNT_bf(const void *const hw, hri_rtcmode1_count_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.COUNT.reg |= RTC_MODE1_COUNT_COUNT(mask);
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_count_reg_t hri_rtcmode1_get_COUNT_COUNT_bf(const void *const hw,
+ hri_rtcmode1_count_reg_t mask)
+{
+ uint16_t tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ tmp = ((Rtc *)hw)->MODE1.COUNT.reg;
+ tmp = (tmp & RTC_MODE1_COUNT_COUNT(mask)) >> RTC_MODE1_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_write_COUNT_COUNT_bf(const void *const hw, hri_rtcmode1_count_reg_t data)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.COUNT.reg;
+ tmp &= ~RTC_MODE1_COUNT_COUNT_Msk;
+ tmp |= RTC_MODE1_COUNT_COUNT(data);
+ ((Rtc *)hw)->MODE1.COUNT.reg = tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_COUNT_COUNT_bf(const void *const hw, hri_rtcmode1_count_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.COUNT.reg &= ~RTC_MODE1_COUNT_COUNT(mask);
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_COUNT_COUNT_bf(const void *const hw, hri_rtcmode1_count_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.COUNT.reg ^= RTC_MODE1_COUNT_COUNT(mask);
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_count_reg_t hri_rtcmode1_read_COUNT_COUNT_bf(const void *const hw)
+{
+ uint16_t tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ tmp = ((Rtc *)hw)->MODE1.COUNT.reg;
+ tmp = (tmp & RTC_MODE1_COUNT_COUNT_Msk) >> RTC_MODE1_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_set_COUNT_reg(const void *const hw, hri_rtcmode1_count_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.COUNT.reg |= mask;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_count_reg_t hri_rtcmode1_get_COUNT_reg(const void *const hw, hri_rtcmode1_count_reg_t mask)
+{
+ uint16_t tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ tmp = ((Rtc *)hw)->MODE1.COUNT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_write_COUNT_reg(const void *const hw, hri_rtcmode1_count_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.COUNT.reg = data;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_COUNT_reg(const void *const hw, hri_rtcmode1_count_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.COUNT.reg &= ~mask;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_COUNT_reg(const void *const hw, hri_rtcmode1_count_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.COUNT.reg ^= mask;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_count_reg_t hri_rtcmode1_read_COUNT_reg(const void *const hw)
+{
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_COUNT);
+ return ((Rtc *)hw)->MODE1.COUNT.reg;
+}
+
+static inline void hri_rtcmode2_set_CLOCK_SECOND_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg |= RTC_MODE2_CLOCK_SECOND(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_get_CLOCK_SECOND_bf(const void *const hw,
+ hri_rtcmode2_clock_reg_t mask)
+{
+ uint32_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp = (tmp & RTC_MODE2_CLOCK_SECOND(mask)) >> RTC_MODE2_CLOCK_SECOND_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_CLOCK_SECOND_bf(const void *const hw, hri_rtcmode2_clock_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp &= ~RTC_MODE2_CLOCK_SECOND_Msk;
+ tmp |= RTC_MODE2_CLOCK_SECOND(data);
+ ((Rtc *)hw)->MODE2.CLOCK.reg = tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CLOCK_SECOND_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg &= ~RTC_MODE2_CLOCK_SECOND(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CLOCK_SECOND_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg ^= RTC_MODE2_CLOCK_SECOND(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_read_CLOCK_SECOND_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp = (tmp & RTC_MODE2_CLOCK_SECOND_Msk) >> RTC_MODE2_CLOCK_SECOND_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_CLOCK_MINUTE_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg |= RTC_MODE2_CLOCK_MINUTE(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_get_CLOCK_MINUTE_bf(const void *const hw,
+ hri_rtcmode2_clock_reg_t mask)
+{
+ uint32_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp = (tmp & RTC_MODE2_CLOCK_MINUTE(mask)) >> RTC_MODE2_CLOCK_MINUTE_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_CLOCK_MINUTE_bf(const void *const hw, hri_rtcmode2_clock_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp &= ~RTC_MODE2_CLOCK_MINUTE_Msk;
+ tmp |= RTC_MODE2_CLOCK_MINUTE(data);
+ ((Rtc *)hw)->MODE2.CLOCK.reg = tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CLOCK_MINUTE_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg &= ~RTC_MODE2_CLOCK_MINUTE(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CLOCK_MINUTE_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg ^= RTC_MODE2_CLOCK_MINUTE(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_read_CLOCK_MINUTE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp = (tmp & RTC_MODE2_CLOCK_MINUTE_Msk) >> RTC_MODE2_CLOCK_MINUTE_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_CLOCK_HOUR_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg |= RTC_MODE2_CLOCK_HOUR(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_get_CLOCK_HOUR_bf(const void *const hw,
+ hri_rtcmode2_clock_reg_t mask)
+{
+ uint32_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp = (tmp & RTC_MODE2_CLOCK_HOUR(mask)) >> RTC_MODE2_CLOCK_HOUR_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_CLOCK_HOUR_bf(const void *const hw, hri_rtcmode2_clock_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp &= ~RTC_MODE2_CLOCK_HOUR_Msk;
+ tmp |= RTC_MODE2_CLOCK_HOUR(data);
+ ((Rtc *)hw)->MODE2.CLOCK.reg = tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CLOCK_HOUR_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg &= ~RTC_MODE2_CLOCK_HOUR(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CLOCK_HOUR_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg ^= RTC_MODE2_CLOCK_HOUR(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_read_CLOCK_HOUR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp = (tmp & RTC_MODE2_CLOCK_HOUR_Msk) >> RTC_MODE2_CLOCK_HOUR_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_CLOCK_DAY_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg |= RTC_MODE2_CLOCK_DAY(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_get_CLOCK_DAY_bf(const void *const hw,
+ hri_rtcmode2_clock_reg_t mask)
+{
+ uint32_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp = (tmp & RTC_MODE2_CLOCK_DAY(mask)) >> RTC_MODE2_CLOCK_DAY_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_CLOCK_DAY_bf(const void *const hw, hri_rtcmode2_clock_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp &= ~RTC_MODE2_CLOCK_DAY_Msk;
+ tmp |= RTC_MODE2_CLOCK_DAY(data);
+ ((Rtc *)hw)->MODE2.CLOCK.reg = tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CLOCK_DAY_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg &= ~RTC_MODE2_CLOCK_DAY(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CLOCK_DAY_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg ^= RTC_MODE2_CLOCK_DAY(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_read_CLOCK_DAY_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp = (tmp & RTC_MODE2_CLOCK_DAY_Msk) >> RTC_MODE2_CLOCK_DAY_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_CLOCK_MONTH_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg |= RTC_MODE2_CLOCK_MONTH(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_get_CLOCK_MONTH_bf(const void *const hw,
+ hri_rtcmode2_clock_reg_t mask)
+{
+ uint32_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp = (tmp & RTC_MODE2_CLOCK_MONTH(mask)) >> RTC_MODE2_CLOCK_MONTH_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_CLOCK_MONTH_bf(const void *const hw, hri_rtcmode2_clock_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp &= ~RTC_MODE2_CLOCK_MONTH_Msk;
+ tmp |= RTC_MODE2_CLOCK_MONTH(data);
+ ((Rtc *)hw)->MODE2.CLOCK.reg = tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CLOCK_MONTH_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg &= ~RTC_MODE2_CLOCK_MONTH(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CLOCK_MONTH_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg ^= RTC_MODE2_CLOCK_MONTH(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_read_CLOCK_MONTH_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp = (tmp & RTC_MODE2_CLOCK_MONTH_Msk) >> RTC_MODE2_CLOCK_MONTH_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_CLOCK_YEAR_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg |= RTC_MODE2_CLOCK_YEAR(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_get_CLOCK_YEAR_bf(const void *const hw,
+ hri_rtcmode2_clock_reg_t mask)
+{
+ uint32_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp = (tmp & RTC_MODE2_CLOCK_YEAR(mask)) >> RTC_MODE2_CLOCK_YEAR_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_CLOCK_YEAR_bf(const void *const hw, hri_rtcmode2_clock_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp &= ~RTC_MODE2_CLOCK_YEAR_Msk;
+ tmp |= RTC_MODE2_CLOCK_YEAR(data);
+ ((Rtc *)hw)->MODE2.CLOCK.reg = tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CLOCK_YEAR_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg &= ~RTC_MODE2_CLOCK_YEAR(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CLOCK_YEAR_bf(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg ^= RTC_MODE2_CLOCK_YEAR(mask);
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_read_CLOCK_YEAR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp = (tmp & RTC_MODE2_CLOCK_YEAR_Msk) >> RTC_MODE2_CLOCK_YEAR_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_set_CLOCK_reg(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg |= mask;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_get_CLOCK_reg(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ uint32_t tmp;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ tmp = ((Rtc *)hw)->MODE2.CLOCK.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode2_write_CLOCK_reg(const void *const hw, hri_rtcmode2_clock_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg = data;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_clear_CLOCK_reg(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg &= ~mask;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode2_toggle_CLOCK_reg(const void *const hw, hri_rtcmode2_clock_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE2.CLOCK.reg ^= mask;
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode2_clock_reg_t hri_rtcmode2_read_CLOCK_reg(const void *const hw)
+{
+ hri_rtcmode2_wait_for_sync(hw, RTC_MODE2_SYNCBUSY_MASK_);
+ return ((Rtc *)hw)->MODE2.CLOCK.reg;
+}
+
+static inline void hri_rtcmode1_set_PER_PER_bf(const void *const hw, hri_rtcmode1_per_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.PER.reg |= RTC_MODE1_PER_PER(mask);
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_per_reg_t hri_rtcmode1_get_PER_PER_bf(const void *const hw, hri_rtcmode1_per_reg_t mask)
+{
+ uint16_t tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER);
+ tmp = ((Rtc *)hw)->MODE1.PER.reg;
+ tmp = (tmp & RTC_MODE1_PER_PER(mask)) >> RTC_MODE1_PER_PER_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_write_PER_PER_bf(const void *const hw, hri_rtcmode1_per_reg_t data)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.PER.reg;
+ tmp &= ~RTC_MODE1_PER_PER_Msk;
+ tmp |= RTC_MODE1_PER_PER(data);
+ ((Rtc *)hw)->MODE1.PER.reg = tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_PER_PER_bf(const void *const hw, hri_rtcmode1_per_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.PER.reg &= ~RTC_MODE1_PER_PER(mask);
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_PER_PER_bf(const void *const hw, hri_rtcmode1_per_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.PER.reg ^= RTC_MODE1_PER_PER(mask);
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_per_reg_t hri_rtcmode1_read_PER_PER_bf(const void *const hw)
+{
+ uint16_t tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER);
+ tmp = ((Rtc *)hw)->MODE1.PER.reg;
+ tmp = (tmp & RTC_MODE1_PER_PER_Msk) >> RTC_MODE1_PER_PER_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_set_PER_reg(const void *const hw, hri_rtcmode1_per_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.PER.reg |= mask;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_per_reg_t hri_rtcmode1_get_PER_reg(const void *const hw, hri_rtcmode1_per_reg_t mask)
+{
+ uint16_t tmp;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER);
+ tmp = ((Rtc *)hw)->MODE1.PER.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_write_PER_reg(const void *const hw, hri_rtcmode1_per_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.PER.reg = data;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_PER_reg(const void *const hw, hri_rtcmode1_per_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.PER.reg &= ~mask;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_PER_reg(const void *const hw, hri_rtcmode1_per_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.PER.reg ^= mask;
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_per_reg_t hri_rtcmode1_read_PER_reg(const void *const hw)
+{
+ hri_rtcmode1_wait_for_sync(hw, RTC_MODE1_SYNCBUSY_PER);
+ return ((Rtc *)hw)->MODE1.PER.reg;
+}
+
+static inline void hri_rtcmode0_set_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.COMP[index].reg |= RTC_MODE0_COMP_COMP(mask);
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_comp_reg_t hri_rtcmode0_get_COMP_COMP_bf(const void *const hw, uint8_t index,
+ hri_rtcmode0_comp_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.COMP[index].reg;
+ tmp = (tmp & RTC_MODE0_COMP_COMP(mask)) >> RTC_MODE0_COMP_COMP_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_write_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.COMP[index].reg;
+ tmp &= ~RTC_MODE0_COMP_COMP_Msk;
+ tmp |= RTC_MODE0_COMP_COMP(data);
+ ((Rtc *)hw)->MODE0.COMP[index].reg = tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.COMP[index].reg &= ~RTC_MODE0_COMP_COMP(mask);
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.COMP[index].reg ^= RTC_MODE0_COMP_COMP(mask);
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_comp_reg_t hri_rtcmode0_read_COMP_COMP_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.COMP[index].reg;
+ tmp = (tmp & RTC_MODE0_COMP_COMP_Msk) >> RTC_MODE0_COMP_COMP_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_set_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.COMP[index].reg |= mask;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_comp_reg_t hri_rtcmode0_get_COMP_reg(const void *const hw, uint8_t index,
+ hri_rtcmode0_comp_reg_t mask)
+{
+ uint32_t tmp;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1);
+ tmp = ((Rtc *)hw)->MODE0.COMP[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode0_write_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.COMP[index].reg = data;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_clear_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.COMP[index].reg &= ~mask;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode0_toggle_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode0_comp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.COMP[index].reg ^= mask;
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode0_comp_reg_t hri_rtcmode0_read_COMP_reg(const void *const hw, uint8_t index)
+{
+ hri_rtcmode0_wait_for_sync(hw, RTC_MODE0_SYNCBUSY_COMP0 | RTC_MODE0_SYNCBUSY_COMP1);
+ return ((Rtc *)hw)->MODE0.COMP[index].reg;
+}
+
+static inline void hri_rtcmode1_set_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.COMP[index].reg |= RTC_MODE1_COMP_COMP(mask);
+ hri_rtcmode1_wait_for_sync(
+ hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_comp_reg_t hri_rtcmode1_get_COMP_COMP_bf(const void *const hw, uint8_t index,
+ hri_rtcmode1_comp_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.COMP[index].reg;
+ tmp = (tmp & RTC_MODE1_COMP_COMP(mask)) >> RTC_MODE1_COMP_COMP_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_write_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t data)
+{
+ uint16_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE1.COMP[index].reg;
+ tmp &= ~RTC_MODE1_COMP_COMP_Msk;
+ tmp |= RTC_MODE1_COMP_COMP(data);
+ ((Rtc *)hw)->MODE1.COMP[index].reg = tmp;
+ hri_rtcmode1_wait_for_sync(
+ hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.COMP[index].reg &= ~RTC_MODE1_COMP_COMP(mask);
+ hri_rtcmode1_wait_for_sync(
+ hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_COMP_COMP_bf(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.COMP[index].reg ^= RTC_MODE1_COMP_COMP(mask);
+ hri_rtcmode1_wait_for_sync(
+ hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_comp_reg_t hri_rtcmode1_read_COMP_COMP_bf(const void *const hw, uint8_t index)
+{
+ uint16_t tmp;
+ tmp = ((Rtc *)hw)->MODE1.COMP[index].reg;
+ tmp = (tmp & RTC_MODE1_COMP_COMP_Msk) >> RTC_MODE1_COMP_COMP_Pos;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_set_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.COMP[index].reg |= mask;
+ hri_rtcmode1_wait_for_sync(
+ hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_comp_reg_t hri_rtcmode1_get_COMP_reg(const void *const hw, uint8_t index,
+ hri_rtcmode1_comp_reg_t mask)
+{
+ uint16_t tmp;
+ hri_rtcmode1_wait_for_sync(
+ hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3);
+ tmp = ((Rtc *)hw)->MODE1.COMP[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtcmode1_write_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.COMP[index].reg = data;
+ hri_rtcmode1_wait_for_sync(
+ hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_clear_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.COMP[index].reg &= ~mask;
+ hri_rtcmode1_wait_for_sync(
+ hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtcmode1_toggle_COMP_reg(const void *const hw, uint8_t index, hri_rtcmode1_comp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE1.COMP[index].reg ^= mask;
+ hri_rtcmode1_wait_for_sync(
+ hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtcmode1_comp_reg_t hri_rtcmode1_read_COMP_reg(const void *const hw, uint8_t index)
+{
+ hri_rtcmode1_wait_for_sync(
+ hw, RTC_MODE1_SYNCBUSY_COMP0 | RTC_MODE1_SYNCBUSY_COMP1 | RTC_MODE1_SYNCBUSY_COMP2 | RTC_MODE1_SYNCBUSY_COMP3);
+ return ((Rtc *)hw)->MODE1.COMP[index].reg;
+}
+
+static inline void hri_rtc_set_GP_GP_bf(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.GP[index].reg |= RTC_GP_GP(mask);
+ hri_rtcmode0_wait_for_sync(
+ hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_gp_reg_t hri_rtc_get_GP_GP_bf(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.GP[index].reg;
+ tmp = (tmp & RTC_GP_GP(mask)) >> RTC_GP_GP_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_write_GP_GP_bf(const void *const hw, uint8_t index, hri_rtc_gp_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.GP[index].reg;
+ tmp &= ~RTC_GP_GP_Msk;
+ tmp |= RTC_GP_GP(data);
+ ((Rtc *)hw)->MODE0.GP[index].reg = tmp;
+ hri_rtcmode0_wait_for_sync(
+ hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_GP_GP_bf(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.GP[index].reg &= ~RTC_GP_GP(mask);
+ hri_rtcmode0_wait_for_sync(
+ hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_GP_GP_bf(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.GP[index].reg ^= RTC_GP_GP(mask);
+ hri_rtcmode0_wait_for_sync(
+ hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_gp_reg_t hri_rtc_read_GP_GP_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.GP[index].reg;
+ tmp = (tmp & RTC_GP_GP_Msk) >> RTC_GP_GP_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_set_GP_reg(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.GP[index].reg |= mask;
+ hri_rtcmode0_wait_for_sync(
+ hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_gp_reg_t hri_rtc_get_GP_reg(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask)
+{
+ uint32_t tmp;
+ hri_rtcmode0_wait_for_sync(
+ hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3);
+ tmp = ((Rtc *)hw)->MODE0.GP[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtc_write_GP_reg(const void *const hw, uint8_t index, hri_rtc_gp_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.GP[index].reg = data;
+ hri_rtcmode0_wait_for_sync(
+ hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_GP_reg(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.GP[index].reg &= ~mask;
+ hri_rtcmode0_wait_for_sync(
+ hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_GP_reg(const void *const hw, uint8_t index, hri_rtc_gp_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.GP[index].reg ^= mask;
+ hri_rtcmode0_wait_for_sync(
+ hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_gp_reg_t hri_rtc_read_GP_reg(const void *const hw, uint8_t index)
+{
+ hri_rtcmode0_wait_for_sync(
+ hw, RTC_MODE0_SYNCBUSY_GP0 | RTC_MODE0_SYNCBUSY_GP1 | RTC_MODE0_SYNCBUSY_GP2 | RTC_MODE0_SYNCBUSY_GP3);
+ return ((Rtc *)hw)->MODE0.GP[index].reg;
+}
+
+static inline void hri_rtc_set_TAMPCTRL_TAMLVL0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_TAMLVL0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPCTRL_TAMLVL0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_TAMLVL0) >> RTC_TAMPCTRL_TAMLVL0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_TAMLVL0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= ~RTC_TAMPCTRL_TAMLVL0;
+ tmp |= value << RTC_TAMPCTRL_TAMLVL0_Pos;
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_TAMLVL0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_TAMLVL0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_TAMLVL0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_TAMLVL0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPCTRL_TAMLVL1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_TAMLVL1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPCTRL_TAMLVL1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_TAMLVL1) >> RTC_TAMPCTRL_TAMLVL1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_TAMLVL1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= ~RTC_TAMPCTRL_TAMLVL1;
+ tmp |= value << RTC_TAMPCTRL_TAMLVL1_Pos;
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_TAMLVL1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_TAMLVL1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_TAMLVL1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_TAMLVL1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPCTRL_TAMLVL2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_TAMLVL2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPCTRL_TAMLVL2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_TAMLVL2) >> RTC_TAMPCTRL_TAMLVL2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_TAMLVL2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= ~RTC_TAMPCTRL_TAMLVL2;
+ tmp |= value << RTC_TAMPCTRL_TAMLVL2_Pos;
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_TAMLVL2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_TAMLVL2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_TAMLVL2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_TAMLVL2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPCTRL_TAMLVL3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_TAMLVL3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPCTRL_TAMLVL3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_TAMLVL3) >> RTC_TAMPCTRL_TAMLVL3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_TAMLVL3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= ~RTC_TAMPCTRL_TAMLVL3;
+ tmp |= value << RTC_TAMPCTRL_TAMLVL3_Pos;
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_TAMLVL3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_TAMLVL3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_TAMLVL3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_TAMLVL3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPCTRL_TAMLVL4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_TAMLVL4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPCTRL_TAMLVL4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_TAMLVL4) >> RTC_TAMPCTRL_TAMLVL4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_TAMLVL4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= ~RTC_TAMPCTRL_TAMLVL4;
+ tmp |= value << RTC_TAMPCTRL_TAMLVL4_Pos;
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_TAMLVL4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_TAMLVL4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_TAMLVL4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_TAMLVL4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPCTRL_DEBNC0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_DEBNC0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPCTRL_DEBNC0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_DEBNC0) >> RTC_TAMPCTRL_DEBNC0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_DEBNC0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= ~RTC_TAMPCTRL_DEBNC0;
+ tmp |= value << RTC_TAMPCTRL_DEBNC0_Pos;
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_DEBNC0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_DEBNC0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_DEBNC0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_DEBNC0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPCTRL_DEBNC1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_DEBNC1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPCTRL_DEBNC1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_DEBNC1) >> RTC_TAMPCTRL_DEBNC1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_DEBNC1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= ~RTC_TAMPCTRL_DEBNC1;
+ tmp |= value << RTC_TAMPCTRL_DEBNC1_Pos;
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_DEBNC1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_DEBNC1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_DEBNC1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_DEBNC1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPCTRL_DEBNC2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_DEBNC2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPCTRL_DEBNC2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_DEBNC2) >> RTC_TAMPCTRL_DEBNC2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_DEBNC2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= ~RTC_TAMPCTRL_DEBNC2;
+ tmp |= value << RTC_TAMPCTRL_DEBNC2_Pos;
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_DEBNC2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_DEBNC2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_DEBNC2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_DEBNC2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPCTRL_DEBNC3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_DEBNC3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPCTRL_DEBNC3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_DEBNC3) >> RTC_TAMPCTRL_DEBNC3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_DEBNC3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= ~RTC_TAMPCTRL_DEBNC3;
+ tmp |= value << RTC_TAMPCTRL_DEBNC3_Pos;
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_DEBNC3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_DEBNC3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_DEBNC3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_DEBNC3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPCTRL_DEBNC4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_DEBNC4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPCTRL_DEBNC4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_DEBNC4) >> RTC_TAMPCTRL_DEBNC4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_DEBNC4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= ~RTC_TAMPCTRL_DEBNC4;
+ tmp |= value << RTC_TAMPCTRL_DEBNC4_Pos;
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_DEBNC4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_DEBNC4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_DEBNC4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_DEBNC4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPCTRL_IN0ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_IN0ACT(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_tampctrl_reg_t hri_rtc_get_TAMPCTRL_IN0ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_IN0ACT(mask)) >> RTC_TAMPCTRL_IN0ACT_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_IN0ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= ~RTC_TAMPCTRL_IN0ACT_Msk;
+ tmp |= RTC_TAMPCTRL_IN0ACT(data);
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_IN0ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_IN0ACT(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_IN0ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_IN0ACT(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_tampctrl_reg_t hri_rtc_read_TAMPCTRL_IN0ACT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_IN0ACT_Msk) >> RTC_TAMPCTRL_IN0ACT_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_set_TAMPCTRL_IN1ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_IN1ACT(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_tampctrl_reg_t hri_rtc_get_TAMPCTRL_IN1ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_IN1ACT(mask)) >> RTC_TAMPCTRL_IN1ACT_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_IN1ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= ~RTC_TAMPCTRL_IN1ACT_Msk;
+ tmp |= RTC_TAMPCTRL_IN1ACT(data);
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_IN1ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_IN1ACT(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_IN1ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_IN1ACT(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_tampctrl_reg_t hri_rtc_read_TAMPCTRL_IN1ACT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_IN1ACT_Msk) >> RTC_TAMPCTRL_IN1ACT_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_set_TAMPCTRL_IN2ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_IN2ACT(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_tampctrl_reg_t hri_rtc_get_TAMPCTRL_IN2ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_IN2ACT(mask)) >> RTC_TAMPCTRL_IN2ACT_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_IN2ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= ~RTC_TAMPCTRL_IN2ACT_Msk;
+ tmp |= RTC_TAMPCTRL_IN2ACT(data);
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_IN2ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_IN2ACT(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_IN2ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_IN2ACT(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_tampctrl_reg_t hri_rtc_read_TAMPCTRL_IN2ACT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_IN2ACT_Msk) >> RTC_TAMPCTRL_IN2ACT_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_set_TAMPCTRL_IN3ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_IN3ACT(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_tampctrl_reg_t hri_rtc_get_TAMPCTRL_IN3ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_IN3ACT(mask)) >> RTC_TAMPCTRL_IN3ACT_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_IN3ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= ~RTC_TAMPCTRL_IN3ACT_Msk;
+ tmp |= RTC_TAMPCTRL_IN3ACT(data);
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_IN3ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_IN3ACT(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_IN3ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_IN3ACT(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_tampctrl_reg_t hri_rtc_read_TAMPCTRL_IN3ACT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_IN3ACT_Msk) >> RTC_TAMPCTRL_IN3ACT_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_set_TAMPCTRL_IN4ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= RTC_TAMPCTRL_IN4ACT(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_tampctrl_reg_t hri_rtc_get_TAMPCTRL_IN4ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_IN4ACT(mask)) >> RTC_TAMPCTRL_IN4ACT_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_IN4ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= ~RTC_TAMPCTRL_IN4ACT_Msk;
+ tmp |= RTC_TAMPCTRL_IN4ACT(data);
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_IN4ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~RTC_TAMPCTRL_IN4ACT(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_IN4ACT_bf(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= RTC_TAMPCTRL_IN4ACT(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_tampctrl_reg_t hri_rtc_read_TAMPCTRL_IN4ACT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp = (tmp & RTC_TAMPCTRL_IN4ACT_Msk) >> RTC_TAMPCTRL_IN4ACT_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_set_TAMPCTRL_reg(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg |= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_tampctrl_reg_t hri_rtc_get_TAMPCTRL_reg(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtc_write_TAMPCTRL_reg(const void *const hw, hri_rtc_tampctrl_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg = data;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPCTRL_reg(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg &= ~mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPCTRL_reg(const void *const hw, hri_rtc_tampctrl_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPCTRL.reg ^= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_tampctrl_reg_t hri_rtc_read_TAMPCTRL_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE0.TAMPCTRL.reg;
+}
+
+static inline void hri_rtc_set_TAMPID_TAMPID0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg |= RTC_TAMPID_TAMPID0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPID_TAMPID0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPID.reg;
+ tmp = (tmp & RTC_TAMPID_TAMPID0) >> RTC_TAMPID_TAMPID0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPID_TAMPID0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPID.reg;
+ tmp &= ~RTC_TAMPID_TAMPID0;
+ tmp |= value << RTC_TAMPID_TAMPID0_Pos;
+ ((Rtc *)hw)->MODE0.TAMPID.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPID_TAMPID0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg &= ~RTC_TAMPID_TAMPID0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPID_TAMPID0_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg ^= RTC_TAMPID_TAMPID0;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPID_TAMPID1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg |= RTC_TAMPID_TAMPID1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPID_TAMPID1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPID.reg;
+ tmp = (tmp & RTC_TAMPID_TAMPID1) >> RTC_TAMPID_TAMPID1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPID_TAMPID1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPID.reg;
+ tmp &= ~RTC_TAMPID_TAMPID1;
+ tmp |= value << RTC_TAMPID_TAMPID1_Pos;
+ ((Rtc *)hw)->MODE0.TAMPID.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPID_TAMPID1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg &= ~RTC_TAMPID_TAMPID1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPID_TAMPID1_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg ^= RTC_TAMPID_TAMPID1;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPID_TAMPID2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg |= RTC_TAMPID_TAMPID2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPID_TAMPID2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPID.reg;
+ tmp = (tmp & RTC_TAMPID_TAMPID2) >> RTC_TAMPID_TAMPID2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPID_TAMPID2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPID.reg;
+ tmp &= ~RTC_TAMPID_TAMPID2;
+ tmp |= value << RTC_TAMPID_TAMPID2_Pos;
+ ((Rtc *)hw)->MODE0.TAMPID.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPID_TAMPID2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg &= ~RTC_TAMPID_TAMPID2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPID_TAMPID2_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg ^= RTC_TAMPID_TAMPID2;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPID_TAMPID3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg |= RTC_TAMPID_TAMPID3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPID_TAMPID3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPID.reg;
+ tmp = (tmp & RTC_TAMPID_TAMPID3) >> RTC_TAMPID_TAMPID3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPID_TAMPID3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPID.reg;
+ tmp &= ~RTC_TAMPID_TAMPID3;
+ tmp |= value << RTC_TAMPID_TAMPID3_Pos;
+ ((Rtc *)hw)->MODE0.TAMPID.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPID_TAMPID3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg &= ~RTC_TAMPID_TAMPID3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPID_TAMPID3_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg ^= RTC_TAMPID_TAMPID3;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPID_TAMPID4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg |= RTC_TAMPID_TAMPID4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPID_TAMPID4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPID.reg;
+ tmp = (tmp & RTC_TAMPID_TAMPID4) >> RTC_TAMPID_TAMPID4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPID_TAMPID4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPID.reg;
+ tmp &= ~RTC_TAMPID_TAMPID4;
+ tmp |= value << RTC_TAMPID_TAMPID4_Pos;
+ ((Rtc *)hw)->MODE0.TAMPID.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPID_TAMPID4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg &= ~RTC_TAMPID_TAMPID4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPID_TAMPID4_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg ^= RTC_TAMPID_TAMPID4;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPID_TAMPEVT_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg |= RTC_TAMPID_TAMPEVT;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_rtc_get_TAMPID_TAMPEVT_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPID.reg;
+ tmp = (tmp & RTC_TAMPID_TAMPEVT) >> RTC_TAMPID_TAMPEVT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_rtc_write_TAMPID_TAMPEVT_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.TAMPID.reg;
+ tmp &= ~RTC_TAMPID_TAMPEVT;
+ tmp |= value << RTC_TAMPID_TAMPEVT_Pos;
+ ((Rtc *)hw)->MODE0.TAMPID.reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPID_TAMPEVT_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg &= ~RTC_TAMPID_TAMPEVT;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPID_TAMPEVT_bit(const void *const hw)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg ^= RTC_TAMPID_TAMPEVT;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_set_TAMPID_reg(const void *const hw, hri_rtc_tampid_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg |= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_tampid_reg_t hri_rtc_get_TAMPID_reg(const void *const hw, hri_rtc_tampid_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.TAMPID.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtc_write_TAMPID_reg(const void *const hw, hri_rtc_tampid_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg = data;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_TAMPID_reg(const void *const hw, hri_rtc_tampid_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg &= ~mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_TAMPID_reg(const void *const hw, hri_rtc_tampid_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.TAMPID.reg ^= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_tampid_reg_t hri_rtc_read_TAMPID_reg(const void *const hw)
+{
+ return ((Rtc *)hw)->MODE0.TAMPID.reg;
+}
+
+static inline void hri_rtc_set_BKUP_BKUP_bf(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.BKUP[index].reg |= RTC_BKUP_BKUP(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_bkup_reg_t hri_rtc_get_BKUP_BKUP_bf(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.BKUP[index].reg;
+ tmp = (tmp & RTC_BKUP_BKUP(mask)) >> RTC_BKUP_BKUP_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_write_BKUP_BKUP_bf(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t data)
+{
+ uint32_t tmp;
+ RTC_CRITICAL_SECTION_ENTER();
+ tmp = ((Rtc *)hw)->MODE0.BKUP[index].reg;
+ tmp &= ~RTC_BKUP_BKUP_Msk;
+ tmp |= RTC_BKUP_BKUP(data);
+ ((Rtc *)hw)->MODE0.BKUP[index].reg = tmp;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_BKUP_BKUP_bf(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.BKUP[index].reg &= ~RTC_BKUP_BKUP(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_BKUP_BKUP_bf(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.BKUP[index].reg ^= RTC_BKUP_BKUP(mask);
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_bkup_reg_t hri_rtc_read_BKUP_BKUP_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.BKUP[index].reg;
+ tmp = (tmp & RTC_BKUP_BKUP_Msk) >> RTC_BKUP_BKUP_Pos;
+ return tmp;
+}
+
+static inline void hri_rtc_set_BKUP_reg(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.BKUP[index].reg |= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_bkup_reg_t hri_rtc_get_BKUP_reg(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Rtc *)hw)->MODE0.BKUP[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_rtc_write_BKUP_reg(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t data)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.BKUP[index].reg = data;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_clear_BKUP_reg(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.BKUP[index].reg &= ~mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_rtc_toggle_BKUP_reg(const void *const hw, uint8_t index, hri_rtc_bkup_reg_t mask)
+{
+ RTC_CRITICAL_SECTION_ENTER();
+ ((Rtc *)hw)->MODE0.BKUP[index].reg ^= mask;
+ RTC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_rtc_bkup_reg_t hri_rtc_read_BKUP_reg(const void *const hw, uint8_t index)
+{
+ return ((Rtc *)hw)->MODE0.BKUP[index].reg;
+}
+
+/* Below section is for legacy hri apis name, not recommended to use below left side apis in application */
+#define hri_rtcmode2_set_DBGCTRL_DBGRUN_bit(a) hri_rtc_set_DBGCTRL_DBGRUN_bit(a)
+#define hri_rtcmode2_get_DBGCTRL_DBGRUN_bit(a) hri_rtc_get_DBGCTRL_DBGRUN_bit(a)
+#define hri_rtcmode2_write_DBGCTRL_DBGRUN_bit(a, b) hri_rtc_write_DBGCTRL_DBGRUN_bit(a, b)
+#define hri_rtcmode2_clear_DBGCTRL_DBGRUN_bit(a) hri_rtc_clear_DBGCTRL_DBGRUN_bit(a)
+#define hri_rtcmode2_toggle_DBGCTRL_DBGRUN_bit(a) hri_rtc_toggle_DBGCTRL_DBGRUN_bit(a)
+#define hri_rtcmode2_set_DBGCTRL_reg(a, b) hri_rtc_set_DBGCTRL_reg(a, b)
+#define hri_rtcmode2_get_DBGCTRL_reg(a, b) hri_rtc_get_DBGCTRL_reg(a, b)
+#define hri_rtcmode2_write_DBGCTRL_reg(a, b) hri_rtc_write_DBGCTRL_reg(a, b)
+#define hri_rtcmode2_clear_DBGCTRL_reg(a, b) hri_rtc_clear_DBGCTRL_reg(a, b)
+#define hri_rtcmode2_toggle_DBGCTRL_reg(a, b) hri_rtc_toggle_DBGCTRL_reg(a, b)
+#define hri_rtcmode2_read_DBGCTRL_reg(a) hri_rtc_read_DBGCTRL_reg(a)
+#define hri_rtcmode2_set_FREQCORR_SIGN_bit(a) hri_rtc_set_FREQCORR_SIGN_bit(a)
+#define hri_rtcmode2_get_FREQCORR_SIGN_bit(a) hri_rtc_get_FREQCORR_SIGN_bit(a)
+#define hri_rtcmode2_write_FREQCORR_SIGN_bit(a, b) hri_rtc_write_FREQCORR_SIGN_bit(a, b)
+#define hri_rtcmode2_clear_FREQCORR_SIGN_bit(a) hri_rtc_clear_FREQCORR_SIGN_bit(a)
+#define hri_rtcmode2_toggle_FREQCORR_SIGN_bit(a) hri_rtc_toggle_FREQCORR_SIGN_bit(a)
+#define hri_rtcmode2_set_FREQCORR_VALUE_bf(a, b) hri_rtc_set_FREQCORR_VALUE_bf(a, b)
+#define hri_rtcmode2_get_FREQCORR_VALUE_bf(a, b) hri_rtc_get_FREQCORR_VALUE_bf(a, b)
+#define hri_rtcmode2_write_FREQCORR_VALUE_bf(a, b) hri_rtc_write_FREQCORR_VALUE_bf(a, b)
+#define hri_rtcmode2_clear_FREQCORR_VALUE_bf(a, b) hri_rtc_clear_FREQCORR_VALUE_bf(a, b)
+#define hri_rtcmode2_toggle_FREQCORR_VALUE_bf(a, b) hri_rtc_toggle_FREQCORR_VALUE_bf(a, b)
+#define hri_rtcmode2_read_FREQCORR_VALUE_bf(a) hri_rtc_read_FREQCORR_VALUE_bf(a)
+#define hri_rtcmode2_set_FREQCORR_reg(a, b) hri_rtc_set_FREQCORR_reg(a, b)
+#define hri_rtcmode2_get_FREQCORR_reg(a, b) hri_rtc_get_FREQCORR_reg(a, b)
+#define hri_rtcmode2_write_FREQCORR_reg(a, b) hri_rtc_write_FREQCORR_reg(a, b)
+#define hri_rtcmode2_clear_FREQCORR_reg(a, b) hri_rtc_clear_FREQCORR_reg(a, b)
+#define hri_rtcmode2_toggle_FREQCORR_reg(a, b) hri_rtc_toggle_FREQCORR_reg(a, b)
+#define hri_rtcmode2_read_FREQCORR_reg(a) hri_rtc_read_FREQCORR_reg(a)
+#define hri_rtcmode2_set_GP_GP_bf(a, b, c) hri_rtc_set_GP_GP_bf(a, b, c)
+#define hri_rtcmode2_get_GP_GP_bf(a, b, c) hri_rtc_get_GP_GP_bf(a, b, c)
+#define hri_rtcmode2_write_GP_GP_bf(a, b, c) hri_rtc_write_GP_GP_bf(a, b, c)
+#define hri_rtcmode2_clear_GP_GP_bf(a, b, c) hri_rtc_clear_GP_GP_bf(a, b, c)
+#define hri_rtcmode2_toggle_GP_GP_bf(a, b, c) hri_rtc_toggle_GP_GP_bf(a, b, c)
+#define hri_rtcmode2_read_GP_GP_bf(a, b) hri_rtc_read_GP_GP_bf(a, b)
+#define hri_rtcmode2_set_GP_reg(a, b, c) hri_rtc_set_GP_reg(a, b, c)
+#define hri_rtcmode2_get_GP_reg(a, b, c) hri_rtc_get_GP_reg(a, b, c)
+#define hri_rtcmode2_write_GP_reg(a, b, c) hri_rtc_write_GP_reg(a, b, c)
+#define hri_rtcmode2_clear_GP_reg(a, b, c) hri_rtc_clear_GP_reg(a, b, c)
+#define hri_rtcmode2_toggle_GP_reg(a, b, c) hri_rtc_toggle_GP_reg(a, b, c)
+#define hri_rtcmode2_read_GP_reg(a, b) hri_rtc_read_GP_reg(a, b)
+#define hri_rtcmode2_set_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL0_bit(a)
+#define hri_rtcmode2_get_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL0_bit(a)
+#define hri_rtcmode2_write_TAMPCTRL_TAMLVL0_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL0_bit(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL0_bit(a)
+#define hri_rtcmode2_toggle_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL0_bit(a)
+#define hri_rtcmode2_set_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL1_bit(a)
+#define hri_rtcmode2_get_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL1_bit(a)
+#define hri_rtcmode2_write_TAMPCTRL_TAMLVL1_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL1_bit(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL1_bit(a)
+#define hri_rtcmode2_toggle_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL1_bit(a)
+#define hri_rtcmode2_set_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL2_bit(a)
+#define hri_rtcmode2_get_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL2_bit(a)
+#define hri_rtcmode2_write_TAMPCTRL_TAMLVL2_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL2_bit(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL2_bit(a)
+#define hri_rtcmode2_toggle_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL2_bit(a)
+#define hri_rtcmode2_set_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL3_bit(a)
+#define hri_rtcmode2_get_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL3_bit(a)
+#define hri_rtcmode2_write_TAMPCTRL_TAMLVL3_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL3_bit(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL3_bit(a)
+#define hri_rtcmode2_toggle_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL3_bit(a)
+#define hri_rtcmode2_set_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL4_bit(a)
+#define hri_rtcmode2_get_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL4_bit(a)
+#define hri_rtcmode2_write_TAMPCTRL_TAMLVL4_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL4_bit(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL4_bit(a)
+#define hri_rtcmode2_toggle_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL4_bit(a)
+#define hri_rtcmode2_set_TAMPCTRL_DEBNC0_bit(a) hri_rtc_set_TAMPCTRL_DEBNC0_bit(a)
+#define hri_rtcmode2_get_TAMPCTRL_DEBNC0_bit(a) hri_rtc_get_TAMPCTRL_DEBNC0_bit(a)
+#define hri_rtcmode2_write_TAMPCTRL_DEBNC0_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC0_bit(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_DEBNC0_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC0_bit(a)
+#define hri_rtcmode2_toggle_TAMPCTRL_DEBNC0_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC0_bit(a)
+#define hri_rtcmode2_set_TAMPCTRL_DEBNC1_bit(a) hri_rtc_set_TAMPCTRL_DEBNC1_bit(a)
+#define hri_rtcmode2_get_TAMPCTRL_DEBNC1_bit(a) hri_rtc_get_TAMPCTRL_DEBNC1_bit(a)
+#define hri_rtcmode2_write_TAMPCTRL_DEBNC1_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC1_bit(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_DEBNC1_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC1_bit(a)
+#define hri_rtcmode2_toggle_TAMPCTRL_DEBNC1_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC1_bit(a)
+#define hri_rtcmode2_set_TAMPCTRL_DEBNC2_bit(a) hri_rtc_set_TAMPCTRL_DEBNC2_bit(a)
+#define hri_rtcmode2_get_TAMPCTRL_DEBNC2_bit(a) hri_rtc_get_TAMPCTRL_DEBNC2_bit(a)
+#define hri_rtcmode2_write_TAMPCTRL_DEBNC2_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC2_bit(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_DEBNC2_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC2_bit(a)
+#define hri_rtcmode2_toggle_TAMPCTRL_DEBNC2_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC2_bit(a)
+#define hri_rtcmode2_set_TAMPCTRL_DEBNC3_bit(a) hri_rtc_set_TAMPCTRL_DEBNC3_bit(a)
+#define hri_rtcmode2_get_TAMPCTRL_DEBNC3_bit(a) hri_rtc_get_TAMPCTRL_DEBNC3_bit(a)
+#define hri_rtcmode2_write_TAMPCTRL_DEBNC3_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC3_bit(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_DEBNC3_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC3_bit(a)
+#define hri_rtcmode2_toggle_TAMPCTRL_DEBNC3_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC3_bit(a)
+#define hri_rtcmode2_set_TAMPCTRL_DEBNC4_bit(a) hri_rtc_set_TAMPCTRL_DEBNC4_bit(a)
+#define hri_rtcmode2_get_TAMPCTRL_DEBNC4_bit(a) hri_rtc_get_TAMPCTRL_DEBNC4_bit(a)
+#define hri_rtcmode2_write_TAMPCTRL_DEBNC4_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC4_bit(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_DEBNC4_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC4_bit(a)
+#define hri_rtcmode2_toggle_TAMPCTRL_DEBNC4_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC4_bit(a)
+#define hri_rtcmode2_set_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN0ACT_bf(a, b)
+#define hri_rtcmode2_get_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN0ACT_bf(a, b)
+#define hri_rtcmode2_write_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN0ACT_bf(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN0ACT_bf(a, b)
+#define hri_rtcmode2_toggle_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN0ACT_bf(a, b)
+#define hri_rtcmode2_read_TAMPCTRL_IN0ACT_bf(a) hri_rtc_read_TAMPCTRL_IN0ACT_bf(a)
+#define hri_rtcmode2_set_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN1ACT_bf(a, b)
+#define hri_rtcmode2_get_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN1ACT_bf(a, b)
+#define hri_rtcmode2_write_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN1ACT_bf(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN1ACT_bf(a, b)
+#define hri_rtcmode2_toggle_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN1ACT_bf(a, b)
+#define hri_rtcmode2_read_TAMPCTRL_IN1ACT_bf(a) hri_rtc_read_TAMPCTRL_IN1ACT_bf(a)
+#define hri_rtcmode2_set_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN2ACT_bf(a, b)
+#define hri_rtcmode2_get_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN2ACT_bf(a, b)
+#define hri_rtcmode2_write_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN2ACT_bf(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN2ACT_bf(a, b)
+#define hri_rtcmode2_toggle_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN2ACT_bf(a, b)
+#define hri_rtcmode2_read_TAMPCTRL_IN2ACT_bf(a) hri_rtc_read_TAMPCTRL_IN2ACT_bf(a)
+#define hri_rtcmode2_set_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN3ACT_bf(a, b)
+#define hri_rtcmode2_get_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN3ACT_bf(a, b)
+#define hri_rtcmode2_write_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN3ACT_bf(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN3ACT_bf(a, b)
+#define hri_rtcmode2_toggle_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN3ACT_bf(a, b)
+#define hri_rtcmode2_read_TAMPCTRL_IN3ACT_bf(a) hri_rtc_read_TAMPCTRL_IN3ACT_bf(a)
+#define hri_rtcmode2_set_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN4ACT_bf(a, b)
+#define hri_rtcmode2_get_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN4ACT_bf(a, b)
+#define hri_rtcmode2_write_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN4ACT_bf(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN4ACT_bf(a, b)
+#define hri_rtcmode2_toggle_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN4ACT_bf(a, b)
+#define hri_rtcmode2_read_TAMPCTRL_IN4ACT_bf(a) hri_rtc_read_TAMPCTRL_IN4ACT_bf(a)
+#define hri_rtcmode2_set_TAMPCTRL_reg(a, b) hri_rtc_set_TAMPCTRL_reg(a, b)
+#define hri_rtcmode2_get_TAMPCTRL_reg(a, b) hri_rtc_get_TAMPCTRL_reg(a, b)
+#define hri_rtcmode2_write_TAMPCTRL_reg(a, b) hri_rtc_write_TAMPCTRL_reg(a, b)
+#define hri_rtcmode2_clear_TAMPCTRL_reg(a, b) hri_rtc_clear_TAMPCTRL_reg(a, b)
+#define hri_rtcmode2_toggle_TAMPCTRL_reg(a, b) hri_rtc_toggle_TAMPCTRL_reg(a, b)
+#define hri_rtcmode2_read_TAMPCTRL_reg(a) hri_rtc_read_TAMPCTRL_reg(a)
+#define hri_rtcmode2_set_TAMPID_TAMPID0_bit(a) hri_rtc_set_TAMPID_TAMPID0_bit(a)
+#define hri_rtcmode2_get_TAMPID_TAMPID0_bit(a) hri_rtc_get_TAMPID_TAMPID0_bit(a)
+#define hri_rtcmode2_write_TAMPID_TAMPID0_bit(a, b) hri_rtc_write_TAMPID_TAMPID0_bit(a, b)
+#define hri_rtcmode2_clear_TAMPID_TAMPID0_bit(a) hri_rtc_clear_TAMPID_TAMPID0_bit(a)
+#define hri_rtcmode2_toggle_TAMPID_TAMPID0_bit(a) hri_rtc_toggle_TAMPID_TAMPID0_bit(a)
+#define hri_rtcmode2_set_TAMPID_TAMPID1_bit(a) hri_rtc_set_TAMPID_TAMPID1_bit(a)
+#define hri_rtcmode2_get_TAMPID_TAMPID1_bit(a) hri_rtc_get_TAMPID_TAMPID1_bit(a)
+#define hri_rtcmode2_write_TAMPID_TAMPID1_bit(a, b) hri_rtc_write_TAMPID_TAMPID1_bit(a, b)
+#define hri_rtcmode2_clear_TAMPID_TAMPID1_bit(a) hri_rtc_clear_TAMPID_TAMPID1_bit(a)
+#define hri_rtcmode2_toggle_TAMPID_TAMPID1_bit(a) hri_rtc_toggle_TAMPID_TAMPID1_bit(a)
+#define hri_rtcmode2_set_TAMPID_TAMPID2_bit(a) hri_rtc_set_TAMPID_TAMPID2_bit(a)
+#define hri_rtcmode2_get_TAMPID_TAMPID2_bit(a) hri_rtc_get_TAMPID_TAMPID2_bit(a)
+#define hri_rtcmode2_write_TAMPID_TAMPID2_bit(a, b) hri_rtc_write_TAMPID_TAMPID2_bit(a, b)
+#define hri_rtcmode2_clear_TAMPID_TAMPID2_bit(a) hri_rtc_clear_TAMPID_TAMPID2_bit(a)
+#define hri_rtcmode2_toggle_TAMPID_TAMPID2_bit(a) hri_rtc_toggle_TAMPID_TAMPID2_bit(a)
+#define hri_rtcmode2_set_TAMPID_TAMPID3_bit(a) hri_rtc_set_TAMPID_TAMPID3_bit(a)
+#define hri_rtcmode2_get_TAMPID_TAMPID3_bit(a) hri_rtc_get_TAMPID_TAMPID3_bit(a)
+#define hri_rtcmode2_write_TAMPID_TAMPID3_bit(a, b) hri_rtc_write_TAMPID_TAMPID3_bit(a, b)
+#define hri_rtcmode2_clear_TAMPID_TAMPID3_bit(a) hri_rtc_clear_TAMPID_TAMPID3_bit(a)
+#define hri_rtcmode2_toggle_TAMPID_TAMPID3_bit(a) hri_rtc_toggle_TAMPID_TAMPID3_bit(a)
+#define hri_rtcmode2_set_TAMPID_TAMPID4_bit(a) hri_rtc_set_TAMPID_TAMPID4_bit(a)
+#define hri_rtcmode2_get_TAMPID_TAMPID4_bit(a) hri_rtc_get_TAMPID_TAMPID4_bit(a)
+#define hri_rtcmode2_write_TAMPID_TAMPID4_bit(a, b) hri_rtc_write_TAMPID_TAMPID4_bit(a, b)
+#define hri_rtcmode2_clear_TAMPID_TAMPID4_bit(a) hri_rtc_clear_TAMPID_TAMPID4_bit(a)
+#define hri_rtcmode2_toggle_TAMPID_TAMPID4_bit(a) hri_rtc_toggle_TAMPID_TAMPID4_bit(a)
+#define hri_rtcmode2_set_TAMPID_TAMPEVT_bit(a) hri_rtc_set_TAMPID_TAMPEVT_bit(a)
+#define hri_rtcmode2_get_TAMPID_TAMPEVT_bit(a) hri_rtc_get_TAMPID_TAMPEVT_bit(a)
+#define hri_rtcmode2_write_TAMPID_TAMPEVT_bit(a, b) hri_rtc_write_TAMPID_TAMPEVT_bit(a, b)
+#define hri_rtcmode2_clear_TAMPID_TAMPEVT_bit(a) hri_rtc_clear_TAMPID_TAMPEVT_bit(a)
+#define hri_rtcmode2_toggle_TAMPID_TAMPEVT_bit(a) hri_rtc_toggle_TAMPID_TAMPEVT_bit(a)
+#define hri_rtcmode2_set_TAMPID_reg(a, b) hri_rtc_set_TAMPID_reg(a, b)
+#define hri_rtcmode2_get_TAMPID_reg(a, b) hri_rtc_get_TAMPID_reg(a, b)
+#define hri_rtcmode2_write_TAMPID_reg(a, b) hri_rtc_write_TAMPID_reg(a, b)
+#define hri_rtcmode2_clear_TAMPID_reg(a, b) hri_rtc_clear_TAMPID_reg(a, b)
+#define hri_rtcmode2_toggle_TAMPID_reg(a, b) hri_rtc_toggle_TAMPID_reg(a, b)
+#define hri_rtcmode2_read_TAMPID_reg(a) hri_rtc_read_TAMPID_reg(a)
+#define hri_rtcmode2_set_BKUP_BKUP_bf(a, b, c) hri_rtc_set_BKUP_BKUP_bf(a, b, c)
+#define hri_rtcmode2_get_BKUP_BKUP_bf(a, b, c) hri_rtc_get_BKUP_BKUP_bf(a, b, c)
+#define hri_rtcmode2_write_BKUP_BKUP_bf(a, b, c) hri_rtc_write_BKUP_BKUP_bf(a, b, c)
+#define hri_rtcmode2_clear_BKUP_BKUP_bf(a, b, c) hri_rtc_clear_BKUP_BKUP_bf(a, b, c)
+#define hri_rtcmode2_toggle_BKUP_BKUP_bf(a, b, c) hri_rtc_toggle_BKUP_BKUP_bf(a, b, c)
+#define hri_rtcmode2_read_BKUP_BKUP_bf(a, b) hri_rtc_read_BKUP_BKUP_bf(a, b)
+#define hri_rtcmode2_set_BKUP_reg(a, b, c) hri_rtc_set_BKUP_reg(a, b, c)
+#define hri_rtcmode2_get_BKUP_reg(a, b, c) hri_rtc_get_BKUP_reg(a, b, c)
+#define hri_rtcmode2_write_BKUP_reg(a, b, c) hri_rtc_write_BKUP_reg(a, b, c)
+#define hri_rtcmode2_clear_BKUP_reg(a, b, c) hri_rtc_clear_BKUP_reg(a, b, c)
+#define hri_rtcmode2_toggle_BKUP_reg(a, b, c) hri_rtc_toggle_BKUP_reg(a, b, c)
+#define hri_rtcmode2_read_BKUP_reg(a, b) hri_rtc_read_BKUP_reg(a, b)
+#define hri_rtcmode0_set_DBGCTRL_DBGRUN_bit(a) hri_rtc_set_DBGCTRL_DBGRUN_bit(a)
+#define hri_rtcmode0_get_DBGCTRL_DBGRUN_bit(a) hri_rtc_get_DBGCTRL_DBGRUN_bit(a)
+#define hri_rtcmode0_write_DBGCTRL_DBGRUN_bit(a, b) hri_rtc_write_DBGCTRL_DBGRUN_bit(a, b)
+#define hri_rtcmode0_clear_DBGCTRL_DBGRUN_bit(a) hri_rtc_clear_DBGCTRL_DBGRUN_bit(a)
+#define hri_rtcmode0_toggle_DBGCTRL_DBGRUN_bit(a) hri_rtc_toggle_DBGCTRL_DBGRUN_bit(a)
+#define hri_rtcmode0_set_DBGCTRL_reg(a, b) hri_rtc_set_DBGCTRL_reg(a, b)
+#define hri_rtcmode0_get_DBGCTRL_reg(a, b) hri_rtc_get_DBGCTRL_reg(a, b)
+#define hri_rtcmode0_write_DBGCTRL_reg(a, b) hri_rtc_write_DBGCTRL_reg(a, b)
+#define hri_rtcmode0_clear_DBGCTRL_reg(a, b) hri_rtc_clear_DBGCTRL_reg(a, b)
+#define hri_rtcmode0_toggle_DBGCTRL_reg(a, b) hri_rtc_toggle_DBGCTRL_reg(a, b)
+#define hri_rtcmode0_read_DBGCTRL_reg(a) hri_rtc_read_DBGCTRL_reg(a)
+#define hri_rtcmode0_set_FREQCORR_SIGN_bit(a) hri_rtc_set_FREQCORR_SIGN_bit(a)
+#define hri_rtcmode0_get_FREQCORR_SIGN_bit(a) hri_rtc_get_FREQCORR_SIGN_bit(a)
+#define hri_rtcmode0_write_FREQCORR_SIGN_bit(a, b) hri_rtc_write_FREQCORR_SIGN_bit(a, b)
+#define hri_rtcmode0_clear_FREQCORR_SIGN_bit(a) hri_rtc_clear_FREQCORR_SIGN_bit(a)
+#define hri_rtcmode0_toggle_FREQCORR_SIGN_bit(a) hri_rtc_toggle_FREQCORR_SIGN_bit(a)
+#define hri_rtcmode0_set_FREQCORR_VALUE_bf(a, b) hri_rtc_set_FREQCORR_VALUE_bf(a, b)
+#define hri_rtcmode0_get_FREQCORR_VALUE_bf(a, b) hri_rtc_get_FREQCORR_VALUE_bf(a, b)
+#define hri_rtcmode0_write_FREQCORR_VALUE_bf(a, b) hri_rtc_write_FREQCORR_VALUE_bf(a, b)
+#define hri_rtcmode0_clear_FREQCORR_VALUE_bf(a, b) hri_rtc_clear_FREQCORR_VALUE_bf(a, b)
+#define hri_rtcmode0_toggle_FREQCORR_VALUE_bf(a, b) hri_rtc_toggle_FREQCORR_VALUE_bf(a, b)
+#define hri_rtcmode0_read_FREQCORR_VALUE_bf(a) hri_rtc_read_FREQCORR_VALUE_bf(a)
+#define hri_rtcmode0_set_FREQCORR_reg(a, b) hri_rtc_set_FREQCORR_reg(a, b)
+#define hri_rtcmode0_get_FREQCORR_reg(a, b) hri_rtc_get_FREQCORR_reg(a, b)
+#define hri_rtcmode0_write_FREQCORR_reg(a, b) hri_rtc_write_FREQCORR_reg(a, b)
+#define hri_rtcmode0_clear_FREQCORR_reg(a, b) hri_rtc_clear_FREQCORR_reg(a, b)
+#define hri_rtcmode0_toggle_FREQCORR_reg(a, b) hri_rtc_toggle_FREQCORR_reg(a, b)
+#define hri_rtcmode0_read_FREQCORR_reg(a) hri_rtc_read_FREQCORR_reg(a)
+#define hri_rtcmode0_set_GP_GP_bf(a, b, c) hri_rtc_set_GP_GP_bf(a, b, c)
+#define hri_rtcmode0_get_GP_GP_bf(a, b, c) hri_rtc_get_GP_GP_bf(a, b, c)
+#define hri_rtcmode0_write_GP_GP_bf(a, b, c) hri_rtc_write_GP_GP_bf(a, b, c)
+#define hri_rtcmode0_clear_GP_GP_bf(a, b, c) hri_rtc_clear_GP_GP_bf(a, b, c)
+#define hri_rtcmode0_toggle_GP_GP_bf(a, b, c) hri_rtc_toggle_GP_GP_bf(a, b, c)
+#define hri_rtcmode0_read_GP_GP_bf(a, b) hri_rtc_read_GP_GP_bf(a, b)
+#define hri_rtcmode0_set_GP_reg(a, b, c) hri_rtc_set_GP_reg(a, b, c)
+#define hri_rtcmode0_get_GP_reg(a, b, c) hri_rtc_get_GP_reg(a, b, c)
+#define hri_rtcmode0_write_GP_reg(a, b, c) hri_rtc_write_GP_reg(a, b, c)
+#define hri_rtcmode0_clear_GP_reg(a, b, c) hri_rtc_clear_GP_reg(a, b, c)
+#define hri_rtcmode0_toggle_GP_reg(a, b, c) hri_rtc_toggle_GP_reg(a, b, c)
+#define hri_rtcmode0_read_GP_reg(a, b) hri_rtc_read_GP_reg(a, b)
+#define hri_rtcmode0_set_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL0_bit(a)
+#define hri_rtcmode0_get_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL0_bit(a)
+#define hri_rtcmode0_write_TAMPCTRL_TAMLVL0_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL0_bit(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL0_bit(a)
+#define hri_rtcmode0_toggle_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL0_bit(a)
+#define hri_rtcmode0_set_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL1_bit(a)
+#define hri_rtcmode0_get_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL1_bit(a)
+#define hri_rtcmode0_write_TAMPCTRL_TAMLVL1_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL1_bit(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL1_bit(a)
+#define hri_rtcmode0_toggle_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL1_bit(a)
+#define hri_rtcmode0_set_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL2_bit(a)
+#define hri_rtcmode0_get_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL2_bit(a)
+#define hri_rtcmode0_write_TAMPCTRL_TAMLVL2_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL2_bit(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL2_bit(a)
+#define hri_rtcmode0_toggle_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL2_bit(a)
+#define hri_rtcmode0_set_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL3_bit(a)
+#define hri_rtcmode0_get_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL3_bit(a)
+#define hri_rtcmode0_write_TAMPCTRL_TAMLVL3_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL3_bit(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL3_bit(a)
+#define hri_rtcmode0_toggle_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL3_bit(a)
+#define hri_rtcmode0_set_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL4_bit(a)
+#define hri_rtcmode0_get_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL4_bit(a)
+#define hri_rtcmode0_write_TAMPCTRL_TAMLVL4_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL4_bit(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL4_bit(a)
+#define hri_rtcmode0_toggle_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL4_bit(a)
+#define hri_rtcmode0_set_TAMPCTRL_DEBNC0_bit(a) hri_rtc_set_TAMPCTRL_DEBNC0_bit(a)
+#define hri_rtcmode0_get_TAMPCTRL_DEBNC0_bit(a) hri_rtc_get_TAMPCTRL_DEBNC0_bit(a)
+#define hri_rtcmode0_write_TAMPCTRL_DEBNC0_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC0_bit(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_DEBNC0_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC0_bit(a)
+#define hri_rtcmode0_toggle_TAMPCTRL_DEBNC0_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC0_bit(a)
+#define hri_rtcmode0_set_TAMPCTRL_DEBNC1_bit(a) hri_rtc_set_TAMPCTRL_DEBNC1_bit(a)
+#define hri_rtcmode0_get_TAMPCTRL_DEBNC1_bit(a) hri_rtc_get_TAMPCTRL_DEBNC1_bit(a)
+#define hri_rtcmode0_write_TAMPCTRL_DEBNC1_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC1_bit(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_DEBNC1_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC1_bit(a)
+#define hri_rtcmode0_toggle_TAMPCTRL_DEBNC1_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC1_bit(a)
+#define hri_rtcmode0_set_TAMPCTRL_DEBNC2_bit(a) hri_rtc_set_TAMPCTRL_DEBNC2_bit(a)
+#define hri_rtcmode0_get_TAMPCTRL_DEBNC2_bit(a) hri_rtc_get_TAMPCTRL_DEBNC2_bit(a)
+#define hri_rtcmode0_write_TAMPCTRL_DEBNC2_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC2_bit(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_DEBNC2_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC2_bit(a)
+#define hri_rtcmode0_toggle_TAMPCTRL_DEBNC2_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC2_bit(a)
+#define hri_rtcmode0_set_TAMPCTRL_DEBNC3_bit(a) hri_rtc_set_TAMPCTRL_DEBNC3_bit(a)
+#define hri_rtcmode0_get_TAMPCTRL_DEBNC3_bit(a) hri_rtc_get_TAMPCTRL_DEBNC3_bit(a)
+#define hri_rtcmode0_write_TAMPCTRL_DEBNC3_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC3_bit(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_DEBNC3_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC3_bit(a)
+#define hri_rtcmode0_toggle_TAMPCTRL_DEBNC3_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC3_bit(a)
+#define hri_rtcmode0_set_TAMPCTRL_DEBNC4_bit(a) hri_rtc_set_TAMPCTRL_DEBNC4_bit(a)
+#define hri_rtcmode0_get_TAMPCTRL_DEBNC4_bit(a) hri_rtc_get_TAMPCTRL_DEBNC4_bit(a)
+#define hri_rtcmode0_write_TAMPCTRL_DEBNC4_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC4_bit(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_DEBNC4_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC4_bit(a)
+#define hri_rtcmode0_toggle_TAMPCTRL_DEBNC4_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC4_bit(a)
+#define hri_rtcmode0_set_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN0ACT_bf(a, b)
+#define hri_rtcmode0_get_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN0ACT_bf(a, b)
+#define hri_rtcmode0_write_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN0ACT_bf(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN0ACT_bf(a, b)
+#define hri_rtcmode0_toggle_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN0ACT_bf(a, b)
+#define hri_rtcmode0_read_TAMPCTRL_IN0ACT_bf(a) hri_rtc_read_TAMPCTRL_IN0ACT_bf(a)
+#define hri_rtcmode0_set_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN1ACT_bf(a, b)
+#define hri_rtcmode0_get_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN1ACT_bf(a, b)
+#define hri_rtcmode0_write_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN1ACT_bf(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN1ACT_bf(a, b)
+#define hri_rtcmode0_toggle_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN1ACT_bf(a, b)
+#define hri_rtcmode0_read_TAMPCTRL_IN1ACT_bf(a) hri_rtc_read_TAMPCTRL_IN1ACT_bf(a)
+#define hri_rtcmode0_set_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN2ACT_bf(a, b)
+#define hri_rtcmode0_get_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN2ACT_bf(a, b)
+#define hri_rtcmode0_write_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN2ACT_bf(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN2ACT_bf(a, b)
+#define hri_rtcmode0_toggle_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN2ACT_bf(a, b)
+#define hri_rtcmode0_read_TAMPCTRL_IN2ACT_bf(a) hri_rtc_read_TAMPCTRL_IN2ACT_bf(a)
+#define hri_rtcmode0_set_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN3ACT_bf(a, b)
+#define hri_rtcmode0_get_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN3ACT_bf(a, b)
+#define hri_rtcmode0_write_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN3ACT_bf(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN3ACT_bf(a, b)
+#define hri_rtcmode0_toggle_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN3ACT_bf(a, b)
+#define hri_rtcmode0_read_TAMPCTRL_IN3ACT_bf(a) hri_rtc_read_TAMPCTRL_IN3ACT_bf(a)
+#define hri_rtcmode0_set_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN4ACT_bf(a, b)
+#define hri_rtcmode0_get_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN4ACT_bf(a, b)
+#define hri_rtcmode0_write_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN4ACT_bf(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN4ACT_bf(a, b)
+#define hri_rtcmode0_toggle_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN4ACT_bf(a, b)
+#define hri_rtcmode0_read_TAMPCTRL_IN4ACT_bf(a) hri_rtc_read_TAMPCTRL_IN4ACT_bf(a)
+#define hri_rtcmode0_set_TAMPCTRL_reg(a, b) hri_rtc_set_TAMPCTRL_reg(a, b)
+#define hri_rtcmode0_get_TAMPCTRL_reg(a, b) hri_rtc_get_TAMPCTRL_reg(a, b)
+#define hri_rtcmode0_write_TAMPCTRL_reg(a, b) hri_rtc_write_TAMPCTRL_reg(a, b)
+#define hri_rtcmode0_clear_TAMPCTRL_reg(a, b) hri_rtc_clear_TAMPCTRL_reg(a, b)
+#define hri_rtcmode0_toggle_TAMPCTRL_reg(a, b) hri_rtc_toggle_TAMPCTRL_reg(a, b)
+#define hri_rtcmode0_read_TAMPCTRL_reg(a) hri_rtc_read_TAMPCTRL_reg(a)
+#define hri_rtcmode0_set_TAMPID_TAMPID0_bit(a) hri_rtc_set_TAMPID_TAMPID0_bit(a)
+#define hri_rtcmode0_get_TAMPID_TAMPID0_bit(a) hri_rtc_get_TAMPID_TAMPID0_bit(a)
+#define hri_rtcmode0_write_TAMPID_TAMPID0_bit(a, b) hri_rtc_write_TAMPID_TAMPID0_bit(a, b)
+#define hri_rtcmode0_clear_TAMPID_TAMPID0_bit(a) hri_rtc_clear_TAMPID_TAMPID0_bit(a)
+#define hri_rtcmode0_toggle_TAMPID_TAMPID0_bit(a) hri_rtc_toggle_TAMPID_TAMPID0_bit(a)
+#define hri_rtcmode0_set_TAMPID_TAMPID1_bit(a) hri_rtc_set_TAMPID_TAMPID1_bit(a)
+#define hri_rtcmode0_get_TAMPID_TAMPID1_bit(a) hri_rtc_get_TAMPID_TAMPID1_bit(a)
+#define hri_rtcmode0_write_TAMPID_TAMPID1_bit(a, b) hri_rtc_write_TAMPID_TAMPID1_bit(a, b)
+#define hri_rtcmode0_clear_TAMPID_TAMPID1_bit(a) hri_rtc_clear_TAMPID_TAMPID1_bit(a)
+#define hri_rtcmode0_toggle_TAMPID_TAMPID1_bit(a) hri_rtc_toggle_TAMPID_TAMPID1_bit(a)
+#define hri_rtcmode0_set_TAMPID_TAMPID2_bit(a) hri_rtc_set_TAMPID_TAMPID2_bit(a)
+#define hri_rtcmode0_get_TAMPID_TAMPID2_bit(a) hri_rtc_get_TAMPID_TAMPID2_bit(a)
+#define hri_rtcmode0_write_TAMPID_TAMPID2_bit(a, b) hri_rtc_write_TAMPID_TAMPID2_bit(a, b)
+#define hri_rtcmode0_clear_TAMPID_TAMPID2_bit(a) hri_rtc_clear_TAMPID_TAMPID2_bit(a)
+#define hri_rtcmode0_toggle_TAMPID_TAMPID2_bit(a) hri_rtc_toggle_TAMPID_TAMPID2_bit(a)
+#define hri_rtcmode0_set_TAMPID_TAMPID3_bit(a) hri_rtc_set_TAMPID_TAMPID3_bit(a)
+#define hri_rtcmode0_get_TAMPID_TAMPID3_bit(a) hri_rtc_get_TAMPID_TAMPID3_bit(a)
+#define hri_rtcmode0_write_TAMPID_TAMPID3_bit(a, b) hri_rtc_write_TAMPID_TAMPID3_bit(a, b)
+#define hri_rtcmode0_clear_TAMPID_TAMPID3_bit(a) hri_rtc_clear_TAMPID_TAMPID3_bit(a)
+#define hri_rtcmode0_toggle_TAMPID_TAMPID3_bit(a) hri_rtc_toggle_TAMPID_TAMPID3_bit(a)
+#define hri_rtcmode0_set_TAMPID_TAMPID4_bit(a) hri_rtc_set_TAMPID_TAMPID4_bit(a)
+#define hri_rtcmode0_get_TAMPID_TAMPID4_bit(a) hri_rtc_get_TAMPID_TAMPID4_bit(a)
+#define hri_rtcmode0_write_TAMPID_TAMPID4_bit(a, b) hri_rtc_write_TAMPID_TAMPID4_bit(a, b)
+#define hri_rtcmode0_clear_TAMPID_TAMPID4_bit(a) hri_rtc_clear_TAMPID_TAMPID4_bit(a)
+#define hri_rtcmode0_toggle_TAMPID_TAMPID4_bit(a) hri_rtc_toggle_TAMPID_TAMPID4_bit(a)
+#define hri_rtcmode0_set_TAMPID_TAMPEVT_bit(a) hri_rtc_set_TAMPID_TAMPEVT_bit(a)
+#define hri_rtcmode0_get_TAMPID_TAMPEVT_bit(a) hri_rtc_get_TAMPID_TAMPEVT_bit(a)
+#define hri_rtcmode0_write_TAMPID_TAMPEVT_bit(a, b) hri_rtc_write_TAMPID_TAMPEVT_bit(a, b)
+#define hri_rtcmode0_clear_TAMPID_TAMPEVT_bit(a) hri_rtc_clear_TAMPID_TAMPEVT_bit(a)
+#define hri_rtcmode0_toggle_TAMPID_TAMPEVT_bit(a) hri_rtc_toggle_TAMPID_TAMPEVT_bit(a)
+#define hri_rtcmode0_set_TAMPID_reg(a, b) hri_rtc_set_TAMPID_reg(a, b)
+#define hri_rtcmode0_get_TAMPID_reg(a, b) hri_rtc_get_TAMPID_reg(a, b)
+#define hri_rtcmode0_write_TAMPID_reg(a, b) hri_rtc_write_TAMPID_reg(a, b)
+#define hri_rtcmode0_clear_TAMPID_reg(a, b) hri_rtc_clear_TAMPID_reg(a, b)
+#define hri_rtcmode0_toggle_TAMPID_reg(a, b) hri_rtc_toggle_TAMPID_reg(a, b)
+#define hri_rtcmode0_read_TAMPID_reg(a) hri_rtc_read_TAMPID_reg(a)
+#define hri_rtcmode0_set_BKUP_BKUP_bf(a, b, c) hri_rtc_set_BKUP_BKUP_bf(a, b, c)
+#define hri_rtcmode0_get_BKUP_BKUP_bf(a, b, c) hri_rtc_get_BKUP_BKUP_bf(a, b, c)
+#define hri_rtcmode0_write_BKUP_BKUP_bf(a, b, c) hri_rtc_write_BKUP_BKUP_bf(a, b, c)
+#define hri_rtcmode0_clear_BKUP_BKUP_bf(a, b, c) hri_rtc_clear_BKUP_BKUP_bf(a, b, c)
+#define hri_rtcmode0_toggle_BKUP_BKUP_bf(a, b, c) hri_rtc_toggle_BKUP_BKUP_bf(a, b, c)
+#define hri_rtcmode0_read_BKUP_BKUP_bf(a, b) hri_rtc_read_BKUP_BKUP_bf(a, b)
+#define hri_rtcmode0_set_BKUP_reg(a, b, c) hri_rtc_set_BKUP_reg(a, b, c)
+#define hri_rtcmode0_get_BKUP_reg(a, b, c) hri_rtc_get_BKUP_reg(a, b, c)
+#define hri_rtcmode0_write_BKUP_reg(a, b, c) hri_rtc_write_BKUP_reg(a, b, c)
+#define hri_rtcmode0_clear_BKUP_reg(a, b, c) hri_rtc_clear_BKUP_reg(a, b, c)
+#define hri_rtcmode0_toggle_BKUP_reg(a, b, c) hri_rtc_toggle_BKUP_reg(a, b, c)
+#define hri_rtcmode0_read_BKUP_reg(a, b) hri_rtc_read_BKUP_reg(a, b)
+#define hri_rtcmode1_set_DBGCTRL_DBGRUN_bit(a) hri_rtc_set_DBGCTRL_DBGRUN_bit(a)
+#define hri_rtcmode1_get_DBGCTRL_DBGRUN_bit(a) hri_rtc_get_DBGCTRL_DBGRUN_bit(a)
+#define hri_rtcmode1_write_DBGCTRL_DBGRUN_bit(a, b) hri_rtc_write_DBGCTRL_DBGRUN_bit(a, b)
+#define hri_rtcmode1_clear_DBGCTRL_DBGRUN_bit(a) hri_rtc_clear_DBGCTRL_DBGRUN_bit(a)
+#define hri_rtcmode1_toggle_DBGCTRL_DBGRUN_bit(a) hri_rtc_toggle_DBGCTRL_DBGRUN_bit(a)
+#define hri_rtcmode1_set_DBGCTRL_reg(a, b) hri_rtc_set_DBGCTRL_reg(a, b)
+#define hri_rtcmode1_get_DBGCTRL_reg(a, b) hri_rtc_get_DBGCTRL_reg(a, b)
+#define hri_rtcmode1_write_DBGCTRL_reg(a, b) hri_rtc_write_DBGCTRL_reg(a, b)
+#define hri_rtcmode1_clear_DBGCTRL_reg(a, b) hri_rtc_clear_DBGCTRL_reg(a, b)
+#define hri_rtcmode1_toggle_DBGCTRL_reg(a, b) hri_rtc_toggle_DBGCTRL_reg(a, b)
+#define hri_rtcmode1_read_DBGCTRL_reg(a) hri_rtc_read_DBGCTRL_reg(a)
+#define hri_rtcmode1_set_FREQCORR_SIGN_bit(a) hri_rtc_set_FREQCORR_SIGN_bit(a)
+#define hri_rtcmode1_get_FREQCORR_SIGN_bit(a) hri_rtc_get_FREQCORR_SIGN_bit(a)
+#define hri_rtcmode1_write_FREQCORR_SIGN_bit(a, b) hri_rtc_write_FREQCORR_SIGN_bit(a, b)
+#define hri_rtcmode1_clear_FREQCORR_SIGN_bit(a) hri_rtc_clear_FREQCORR_SIGN_bit(a)
+#define hri_rtcmode1_toggle_FREQCORR_SIGN_bit(a) hri_rtc_toggle_FREQCORR_SIGN_bit(a)
+#define hri_rtcmode1_set_FREQCORR_VALUE_bf(a, b) hri_rtc_set_FREQCORR_VALUE_bf(a, b)
+#define hri_rtcmode1_get_FREQCORR_VALUE_bf(a, b) hri_rtc_get_FREQCORR_VALUE_bf(a, b)
+#define hri_rtcmode1_write_FREQCORR_VALUE_bf(a, b) hri_rtc_write_FREQCORR_VALUE_bf(a, b)
+#define hri_rtcmode1_clear_FREQCORR_VALUE_bf(a, b) hri_rtc_clear_FREQCORR_VALUE_bf(a, b)
+#define hri_rtcmode1_toggle_FREQCORR_VALUE_bf(a, b) hri_rtc_toggle_FREQCORR_VALUE_bf(a, b)
+#define hri_rtcmode1_read_FREQCORR_VALUE_bf(a) hri_rtc_read_FREQCORR_VALUE_bf(a)
+#define hri_rtcmode1_set_FREQCORR_reg(a, b) hri_rtc_set_FREQCORR_reg(a, b)
+#define hri_rtcmode1_get_FREQCORR_reg(a, b) hri_rtc_get_FREQCORR_reg(a, b)
+#define hri_rtcmode1_write_FREQCORR_reg(a, b) hri_rtc_write_FREQCORR_reg(a, b)
+#define hri_rtcmode1_clear_FREQCORR_reg(a, b) hri_rtc_clear_FREQCORR_reg(a, b)
+#define hri_rtcmode1_toggle_FREQCORR_reg(a, b) hri_rtc_toggle_FREQCORR_reg(a, b)
+#define hri_rtcmode1_read_FREQCORR_reg(a) hri_rtc_read_FREQCORR_reg(a)
+#define hri_rtcmode1_set_GP_GP_bf(a, b, c) hri_rtc_set_GP_GP_bf(a, b, c)
+#define hri_rtcmode1_get_GP_GP_bf(a, b, c) hri_rtc_get_GP_GP_bf(a, b, c)
+#define hri_rtcmode1_write_GP_GP_bf(a, b, c) hri_rtc_write_GP_GP_bf(a, b, c)
+#define hri_rtcmode1_clear_GP_GP_bf(a, b, c) hri_rtc_clear_GP_GP_bf(a, b, c)
+#define hri_rtcmode1_toggle_GP_GP_bf(a, b, c) hri_rtc_toggle_GP_GP_bf(a, b, c)
+#define hri_rtcmode1_read_GP_GP_bf(a, b) hri_rtc_read_GP_GP_bf(a, b)
+#define hri_rtcmode1_set_GP_reg(a, b, c) hri_rtc_set_GP_reg(a, b, c)
+#define hri_rtcmode1_get_GP_reg(a, b, c) hri_rtc_get_GP_reg(a, b, c)
+#define hri_rtcmode1_write_GP_reg(a, b, c) hri_rtc_write_GP_reg(a, b, c)
+#define hri_rtcmode1_clear_GP_reg(a, b, c) hri_rtc_clear_GP_reg(a, b, c)
+#define hri_rtcmode1_toggle_GP_reg(a, b, c) hri_rtc_toggle_GP_reg(a, b, c)
+#define hri_rtcmode1_read_GP_reg(a, b) hri_rtc_read_GP_reg(a, b)
+#define hri_rtcmode1_set_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL0_bit(a)
+#define hri_rtcmode1_get_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL0_bit(a)
+#define hri_rtcmode1_write_TAMPCTRL_TAMLVL0_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL0_bit(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL0_bit(a)
+#define hri_rtcmode1_toggle_TAMPCTRL_TAMLVL0_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL0_bit(a)
+#define hri_rtcmode1_set_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL1_bit(a)
+#define hri_rtcmode1_get_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL1_bit(a)
+#define hri_rtcmode1_write_TAMPCTRL_TAMLVL1_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL1_bit(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL1_bit(a)
+#define hri_rtcmode1_toggle_TAMPCTRL_TAMLVL1_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL1_bit(a)
+#define hri_rtcmode1_set_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL2_bit(a)
+#define hri_rtcmode1_get_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL2_bit(a)
+#define hri_rtcmode1_write_TAMPCTRL_TAMLVL2_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL2_bit(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL2_bit(a)
+#define hri_rtcmode1_toggle_TAMPCTRL_TAMLVL2_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL2_bit(a)
+#define hri_rtcmode1_set_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL3_bit(a)
+#define hri_rtcmode1_get_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL3_bit(a)
+#define hri_rtcmode1_write_TAMPCTRL_TAMLVL3_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL3_bit(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL3_bit(a)
+#define hri_rtcmode1_toggle_TAMPCTRL_TAMLVL3_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL3_bit(a)
+#define hri_rtcmode1_set_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_set_TAMPCTRL_TAMLVL4_bit(a)
+#define hri_rtcmode1_get_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_get_TAMPCTRL_TAMLVL4_bit(a)
+#define hri_rtcmode1_write_TAMPCTRL_TAMLVL4_bit(a, b) hri_rtc_write_TAMPCTRL_TAMLVL4_bit(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_clear_TAMPCTRL_TAMLVL4_bit(a)
+#define hri_rtcmode1_toggle_TAMPCTRL_TAMLVL4_bit(a) hri_rtc_toggle_TAMPCTRL_TAMLVL4_bit(a)
+#define hri_rtcmode1_set_TAMPCTRL_DEBNC0_bit(a) hri_rtc_set_TAMPCTRL_DEBNC0_bit(a)
+#define hri_rtcmode1_get_TAMPCTRL_DEBNC0_bit(a) hri_rtc_get_TAMPCTRL_DEBNC0_bit(a)
+#define hri_rtcmode1_write_TAMPCTRL_DEBNC0_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC0_bit(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_DEBNC0_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC0_bit(a)
+#define hri_rtcmode1_toggle_TAMPCTRL_DEBNC0_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC0_bit(a)
+#define hri_rtcmode1_set_TAMPCTRL_DEBNC1_bit(a) hri_rtc_set_TAMPCTRL_DEBNC1_bit(a)
+#define hri_rtcmode1_get_TAMPCTRL_DEBNC1_bit(a) hri_rtc_get_TAMPCTRL_DEBNC1_bit(a)
+#define hri_rtcmode1_write_TAMPCTRL_DEBNC1_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC1_bit(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_DEBNC1_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC1_bit(a)
+#define hri_rtcmode1_toggle_TAMPCTRL_DEBNC1_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC1_bit(a)
+#define hri_rtcmode1_set_TAMPCTRL_DEBNC2_bit(a) hri_rtc_set_TAMPCTRL_DEBNC2_bit(a)
+#define hri_rtcmode1_get_TAMPCTRL_DEBNC2_bit(a) hri_rtc_get_TAMPCTRL_DEBNC2_bit(a)
+#define hri_rtcmode1_write_TAMPCTRL_DEBNC2_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC2_bit(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_DEBNC2_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC2_bit(a)
+#define hri_rtcmode1_toggle_TAMPCTRL_DEBNC2_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC2_bit(a)
+#define hri_rtcmode1_set_TAMPCTRL_DEBNC3_bit(a) hri_rtc_set_TAMPCTRL_DEBNC3_bit(a)
+#define hri_rtcmode1_get_TAMPCTRL_DEBNC3_bit(a) hri_rtc_get_TAMPCTRL_DEBNC3_bit(a)
+#define hri_rtcmode1_write_TAMPCTRL_DEBNC3_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC3_bit(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_DEBNC3_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC3_bit(a)
+#define hri_rtcmode1_toggle_TAMPCTRL_DEBNC3_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC3_bit(a)
+#define hri_rtcmode1_set_TAMPCTRL_DEBNC4_bit(a) hri_rtc_set_TAMPCTRL_DEBNC4_bit(a)
+#define hri_rtcmode1_get_TAMPCTRL_DEBNC4_bit(a) hri_rtc_get_TAMPCTRL_DEBNC4_bit(a)
+#define hri_rtcmode1_write_TAMPCTRL_DEBNC4_bit(a, b) hri_rtc_write_TAMPCTRL_DEBNC4_bit(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_DEBNC4_bit(a) hri_rtc_clear_TAMPCTRL_DEBNC4_bit(a)
+#define hri_rtcmode1_toggle_TAMPCTRL_DEBNC4_bit(a) hri_rtc_toggle_TAMPCTRL_DEBNC4_bit(a)
+#define hri_rtcmode1_set_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN0ACT_bf(a, b)
+#define hri_rtcmode1_get_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN0ACT_bf(a, b)
+#define hri_rtcmode1_write_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN0ACT_bf(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN0ACT_bf(a, b)
+#define hri_rtcmode1_toggle_TAMPCTRL_IN0ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN0ACT_bf(a, b)
+#define hri_rtcmode1_read_TAMPCTRL_IN0ACT_bf(a) hri_rtc_read_TAMPCTRL_IN0ACT_bf(a)
+#define hri_rtcmode1_set_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN1ACT_bf(a, b)
+#define hri_rtcmode1_get_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN1ACT_bf(a, b)
+#define hri_rtcmode1_write_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN1ACT_bf(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN1ACT_bf(a, b)
+#define hri_rtcmode1_toggle_TAMPCTRL_IN1ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN1ACT_bf(a, b)
+#define hri_rtcmode1_read_TAMPCTRL_IN1ACT_bf(a) hri_rtc_read_TAMPCTRL_IN1ACT_bf(a)
+#define hri_rtcmode1_set_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN2ACT_bf(a, b)
+#define hri_rtcmode1_get_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN2ACT_bf(a, b)
+#define hri_rtcmode1_write_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN2ACT_bf(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN2ACT_bf(a, b)
+#define hri_rtcmode1_toggle_TAMPCTRL_IN2ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN2ACT_bf(a, b)
+#define hri_rtcmode1_read_TAMPCTRL_IN2ACT_bf(a) hri_rtc_read_TAMPCTRL_IN2ACT_bf(a)
+#define hri_rtcmode1_set_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN3ACT_bf(a, b)
+#define hri_rtcmode1_get_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN3ACT_bf(a, b)
+#define hri_rtcmode1_write_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN3ACT_bf(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN3ACT_bf(a, b)
+#define hri_rtcmode1_toggle_TAMPCTRL_IN3ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN3ACT_bf(a, b)
+#define hri_rtcmode1_read_TAMPCTRL_IN3ACT_bf(a) hri_rtc_read_TAMPCTRL_IN3ACT_bf(a)
+#define hri_rtcmode1_set_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_set_TAMPCTRL_IN4ACT_bf(a, b)
+#define hri_rtcmode1_get_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_get_TAMPCTRL_IN4ACT_bf(a, b)
+#define hri_rtcmode1_write_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_write_TAMPCTRL_IN4ACT_bf(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_clear_TAMPCTRL_IN4ACT_bf(a, b)
+#define hri_rtcmode1_toggle_TAMPCTRL_IN4ACT_bf(a, b) hri_rtc_toggle_TAMPCTRL_IN4ACT_bf(a, b)
+#define hri_rtcmode1_read_TAMPCTRL_IN4ACT_bf(a) hri_rtc_read_TAMPCTRL_IN4ACT_bf(a)
+#define hri_rtcmode1_set_TAMPCTRL_reg(a, b) hri_rtc_set_TAMPCTRL_reg(a, b)
+#define hri_rtcmode1_get_TAMPCTRL_reg(a, b) hri_rtc_get_TAMPCTRL_reg(a, b)
+#define hri_rtcmode1_write_TAMPCTRL_reg(a, b) hri_rtc_write_TAMPCTRL_reg(a, b)
+#define hri_rtcmode1_clear_TAMPCTRL_reg(a, b) hri_rtc_clear_TAMPCTRL_reg(a, b)
+#define hri_rtcmode1_toggle_TAMPCTRL_reg(a, b) hri_rtc_toggle_TAMPCTRL_reg(a, b)
+#define hri_rtcmode1_read_TAMPCTRL_reg(a) hri_rtc_read_TAMPCTRL_reg(a)
+#define hri_rtcmode1_set_TAMPID_TAMPID0_bit(a) hri_rtc_set_TAMPID_TAMPID0_bit(a)
+#define hri_rtcmode1_get_TAMPID_TAMPID0_bit(a) hri_rtc_get_TAMPID_TAMPID0_bit(a)
+#define hri_rtcmode1_write_TAMPID_TAMPID0_bit(a, b) hri_rtc_write_TAMPID_TAMPID0_bit(a, b)
+#define hri_rtcmode1_clear_TAMPID_TAMPID0_bit(a) hri_rtc_clear_TAMPID_TAMPID0_bit(a)
+#define hri_rtcmode1_toggle_TAMPID_TAMPID0_bit(a) hri_rtc_toggle_TAMPID_TAMPID0_bit(a)
+#define hri_rtcmode1_set_TAMPID_TAMPID1_bit(a) hri_rtc_set_TAMPID_TAMPID1_bit(a)
+#define hri_rtcmode1_get_TAMPID_TAMPID1_bit(a) hri_rtc_get_TAMPID_TAMPID1_bit(a)
+#define hri_rtcmode1_write_TAMPID_TAMPID1_bit(a, b) hri_rtc_write_TAMPID_TAMPID1_bit(a, b)
+#define hri_rtcmode1_clear_TAMPID_TAMPID1_bit(a) hri_rtc_clear_TAMPID_TAMPID1_bit(a)
+#define hri_rtcmode1_toggle_TAMPID_TAMPID1_bit(a) hri_rtc_toggle_TAMPID_TAMPID1_bit(a)
+#define hri_rtcmode1_set_TAMPID_TAMPID2_bit(a) hri_rtc_set_TAMPID_TAMPID2_bit(a)
+#define hri_rtcmode1_get_TAMPID_TAMPID2_bit(a) hri_rtc_get_TAMPID_TAMPID2_bit(a)
+#define hri_rtcmode1_write_TAMPID_TAMPID2_bit(a, b) hri_rtc_write_TAMPID_TAMPID2_bit(a, b)
+#define hri_rtcmode1_clear_TAMPID_TAMPID2_bit(a) hri_rtc_clear_TAMPID_TAMPID2_bit(a)
+#define hri_rtcmode1_toggle_TAMPID_TAMPID2_bit(a) hri_rtc_toggle_TAMPID_TAMPID2_bit(a)
+#define hri_rtcmode1_set_TAMPID_TAMPID3_bit(a) hri_rtc_set_TAMPID_TAMPID3_bit(a)
+#define hri_rtcmode1_get_TAMPID_TAMPID3_bit(a) hri_rtc_get_TAMPID_TAMPID3_bit(a)
+#define hri_rtcmode1_write_TAMPID_TAMPID3_bit(a, b) hri_rtc_write_TAMPID_TAMPID3_bit(a, b)
+#define hri_rtcmode1_clear_TAMPID_TAMPID3_bit(a) hri_rtc_clear_TAMPID_TAMPID3_bit(a)
+#define hri_rtcmode1_toggle_TAMPID_TAMPID3_bit(a) hri_rtc_toggle_TAMPID_TAMPID3_bit(a)
+#define hri_rtcmode1_set_TAMPID_TAMPID4_bit(a) hri_rtc_set_TAMPID_TAMPID4_bit(a)
+#define hri_rtcmode1_get_TAMPID_TAMPID4_bit(a) hri_rtc_get_TAMPID_TAMPID4_bit(a)
+#define hri_rtcmode1_write_TAMPID_TAMPID4_bit(a, b) hri_rtc_write_TAMPID_TAMPID4_bit(a, b)
+#define hri_rtcmode1_clear_TAMPID_TAMPID4_bit(a) hri_rtc_clear_TAMPID_TAMPID4_bit(a)
+#define hri_rtcmode1_toggle_TAMPID_TAMPID4_bit(a) hri_rtc_toggle_TAMPID_TAMPID4_bit(a)
+#define hri_rtcmode1_set_TAMPID_TAMPEVT_bit(a) hri_rtc_set_TAMPID_TAMPEVT_bit(a)
+#define hri_rtcmode1_get_TAMPID_TAMPEVT_bit(a) hri_rtc_get_TAMPID_TAMPEVT_bit(a)
+#define hri_rtcmode1_write_TAMPID_TAMPEVT_bit(a, b) hri_rtc_write_TAMPID_TAMPEVT_bit(a, b)
+#define hri_rtcmode1_clear_TAMPID_TAMPEVT_bit(a) hri_rtc_clear_TAMPID_TAMPEVT_bit(a)
+#define hri_rtcmode1_toggle_TAMPID_TAMPEVT_bit(a) hri_rtc_toggle_TAMPID_TAMPEVT_bit(a)
+#define hri_rtcmode1_set_TAMPID_reg(a, b) hri_rtc_set_TAMPID_reg(a, b)
+#define hri_rtcmode1_get_TAMPID_reg(a, b) hri_rtc_get_TAMPID_reg(a, b)
+#define hri_rtcmode1_write_TAMPID_reg(a, b) hri_rtc_write_TAMPID_reg(a, b)
+#define hri_rtcmode1_clear_TAMPID_reg(a, b) hri_rtc_clear_TAMPID_reg(a, b)
+#define hri_rtcmode1_toggle_TAMPID_reg(a, b) hri_rtc_toggle_TAMPID_reg(a, b)
+#define hri_rtcmode1_read_TAMPID_reg(a) hri_rtc_read_TAMPID_reg(a)
+#define hri_rtcmode1_set_BKUP_BKUP_bf(a, b, c) hri_rtc_set_BKUP_BKUP_bf(a, b, c)
+#define hri_rtcmode1_get_BKUP_BKUP_bf(a, b, c) hri_rtc_get_BKUP_BKUP_bf(a, b, c)
+#define hri_rtcmode1_write_BKUP_BKUP_bf(a, b, c) hri_rtc_write_BKUP_BKUP_bf(a, b, c)
+#define hri_rtcmode1_clear_BKUP_BKUP_bf(a, b, c) hri_rtc_clear_BKUP_BKUP_bf(a, b, c)
+#define hri_rtcmode1_toggle_BKUP_BKUP_bf(a, b, c) hri_rtc_toggle_BKUP_BKUP_bf(a, b, c)
+#define hri_rtcmode1_read_BKUP_BKUP_bf(a, b) hri_rtc_read_BKUP_BKUP_bf(a, b)
+#define hri_rtcmode1_set_BKUP_reg(a, b, c) hri_rtc_set_BKUP_reg(a, b, c)
+#define hri_rtcmode1_get_BKUP_reg(a, b, c) hri_rtc_get_BKUP_reg(a, b, c)
+#define hri_rtcmode1_write_BKUP_reg(a, b, c) hri_rtc_write_BKUP_reg(a, b, c)
+#define hri_rtcmode1_clear_BKUP_reg(a, b, c) hri_rtc_clear_BKUP_reg(a, b, c)
+#define hri_rtcmode1_toggle_BKUP_reg(a, b, c) hri_rtc_toggle_BKUP_reg(a, b, c)
+#define hri_rtcmode1_read_BKUP_reg(a, b) hri_rtc_read_BKUP_reg(a, b)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_RTC_E54_H_INCLUDED */
+#endif /* _SAME54_RTC_COMPONENT_ */
diff --git a/hri/hri_sdhc_e54.h b/hri/hri_sdhc_e54.h
new file mode 100644
index 0000000..0b7f609
--- /dev/null
+++ b/hri/hri_sdhc_e54.h
@@ -0,0 +1,7477 @@
+/**
+ * \file
+ *
+ * \brief SAM SDHC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_SDHC_COMPONENT_
+#ifndef _HRI_SDHC_E54_H_INCLUDED_
+#define _HRI_SDHC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_SDHC_CRITICAL_SECTIONS)
+#define SDHC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define SDHC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define SDHC_CRITICAL_SECTION_ENTER()
+#define SDHC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_sdhc_acesr_reg_t;
+typedef uint16_t hri_sdhc_bcr_reg_t;
+typedef uint16_t hri_sdhc_bsr_reg_t;
+typedef uint16_t hri_sdhc_ccr_reg_t;
+typedef uint16_t hri_sdhc_cr_reg_t;
+typedef uint16_t hri_sdhc_eisier_reg_t;
+typedef uint16_t hri_sdhc_eister_reg_t;
+typedef uint16_t hri_sdhc_eistr_reg_t;
+typedef uint16_t hri_sdhc_feraces_reg_t;
+typedef uint16_t hri_sdhc_fereis_reg_t;
+typedef uint16_t hri_sdhc_hc2r_reg_t;
+typedef uint16_t hri_sdhc_hcvr_reg_t;
+typedef uint16_t hri_sdhc_nisier_reg_t;
+typedef uint16_t hri_sdhc_nister_reg_t;
+typedef uint16_t hri_sdhc_nistr_reg_t;
+typedef uint16_t hri_sdhc_pvr_reg_t;
+typedef uint16_t hri_sdhc_sisr_reg_t;
+typedef uint16_t hri_sdhc_tmr_reg_t;
+typedef uint32_t hri_sdhc_acr_reg_t;
+typedef uint32_t hri_sdhc_arg1r_reg_t;
+typedef uint32_t hri_sdhc_asar_reg_t;
+typedef uint32_t hri_sdhc_bdpr_reg_t;
+typedef uint32_t hri_sdhc_ca0r_reg_t;
+typedef uint32_t hri_sdhc_ca1r_reg_t;
+typedef uint32_t hri_sdhc_cacr_reg_t;
+typedef uint32_t hri_sdhc_cc2r_reg_t;
+typedef uint32_t hri_sdhc_mccar_reg_t;
+typedef uint32_t hri_sdhc_psr_reg_t;
+typedef uint32_t hri_sdhc_rr_reg_t;
+typedef uint32_t hri_sdhc_ssar_reg_t;
+typedef uint8_t hri_sdhc_aesr_reg_t;
+typedef uint8_t hri_sdhc_bgcr_reg_t;
+typedef uint8_t hri_sdhc_dbgr_reg_t;
+typedef uint8_t hri_sdhc_hc1r_reg_t;
+typedef uint8_t hri_sdhc_mc1r_reg_t;
+typedef uint8_t hri_sdhc_mc2r_reg_t;
+typedef uint8_t hri_sdhc_pcr_reg_t;
+typedef uint8_t hri_sdhc_srr_reg_t;
+typedef uint8_t hri_sdhc_tcr_reg_t;
+typedef uint8_t hri_sdhc_wcr_reg_t;
+
+static inline hri_sdhc_rr_reg_t hri_sdhc_get_RR_CMDRESP_bf(const void *const hw, uint8_t index, hri_sdhc_rr_reg_t mask)
+{
+ return (((Sdhc *)hw)->RR[index].reg & SDHC_RR_CMDRESP(mask)) >> SDHC_RR_CMDRESP_Pos;
+}
+
+static inline hri_sdhc_rr_reg_t hri_sdhc_read_RR_CMDRESP_bf(const void *const hw, uint8_t index)
+{
+ return (((Sdhc *)hw)->RR[index].reg & SDHC_RR_CMDRESP_Msk) >> SDHC_RR_CMDRESP_Pos;
+}
+
+static inline hri_sdhc_rr_reg_t hri_sdhc_get_RR_reg(const void *const hw, uint8_t index, hri_sdhc_rr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->RR[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sdhc_rr_reg_t hri_sdhc_read_RR_reg(const void *const hw, uint8_t index)
+{
+ return ((Sdhc *)hw)->RR[index].reg;
+}
+
+static inline bool hri_sdhc_get_PSR_CMDINHC_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_CMDINHC) >> SDHC_PSR_CMDINHC_Pos;
+}
+
+static inline bool hri_sdhc_get_PSR_CMDINHD_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_CMDINHD) >> SDHC_PSR_CMDINHD_Pos;
+}
+
+static inline bool hri_sdhc_get_PSR_DLACT_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_DLACT) >> SDHC_PSR_DLACT_Pos;
+}
+
+static inline bool hri_sdhc_get_PSR_RTREQ_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_RTREQ) >> SDHC_PSR_RTREQ_Pos;
+}
+
+static inline bool hri_sdhc_get_PSR_WTACT_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_WTACT) >> SDHC_PSR_WTACT_Pos;
+}
+
+static inline bool hri_sdhc_get_PSR_RTACT_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_RTACT) >> SDHC_PSR_RTACT_Pos;
+}
+
+static inline bool hri_sdhc_get_PSR_BUFWREN_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_BUFWREN) >> SDHC_PSR_BUFWREN_Pos;
+}
+
+static inline bool hri_sdhc_get_PSR_BUFRDEN_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_BUFRDEN) >> SDHC_PSR_BUFRDEN_Pos;
+}
+
+static inline bool hri_sdhc_get_PSR_CARDINS_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_CARDINS) >> SDHC_PSR_CARDINS_Pos;
+}
+
+static inline bool hri_sdhc_get_PSR_CARDSS_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_CARDSS) >> SDHC_PSR_CARDSS_Pos;
+}
+
+static inline bool hri_sdhc_get_PSR_CARDDPL_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_CARDDPL) >> SDHC_PSR_CARDDPL_Pos;
+}
+
+static inline bool hri_sdhc_get_PSR_WRPPL_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_WRPPL) >> SDHC_PSR_WRPPL_Pos;
+}
+
+static inline bool hri_sdhc_get_PSR_CMDLL_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_CMDLL) >> SDHC_PSR_CMDLL_Pos;
+}
+
+static inline hri_sdhc_psr_reg_t hri_sdhc_get_PSR_DATLL_bf(const void *const hw, hri_sdhc_psr_reg_t mask)
+{
+ return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_DATLL(mask)) >> SDHC_PSR_DATLL_Pos;
+}
+
+static inline hri_sdhc_psr_reg_t hri_sdhc_read_PSR_DATLL_bf(const void *const hw)
+{
+ return (((Sdhc *)hw)->PSR.reg & SDHC_PSR_DATLL_Msk) >> SDHC_PSR_DATLL_Pos;
+}
+
+static inline hri_sdhc_psr_reg_t hri_sdhc_get_PSR_reg(const void *const hw, hri_sdhc_psr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->PSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sdhc_psr_reg_t hri_sdhc_read_PSR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->PSR.reg;
+}
+
+static inline bool hri_sdhc_get_ACESR_ACMD12NE_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->ACESR.reg & SDHC_ACESR_ACMD12NE) >> SDHC_ACESR_ACMD12NE_Pos;
+}
+
+static inline bool hri_sdhc_get_ACESR_ACMDTEO_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->ACESR.reg & SDHC_ACESR_ACMDTEO) >> SDHC_ACESR_ACMDTEO_Pos;
+}
+
+static inline bool hri_sdhc_get_ACESR_ACMDCRC_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->ACESR.reg & SDHC_ACESR_ACMDCRC) >> SDHC_ACESR_ACMDCRC_Pos;
+}
+
+static inline bool hri_sdhc_get_ACESR_ACMDEND_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->ACESR.reg & SDHC_ACESR_ACMDEND) >> SDHC_ACESR_ACMDEND_Pos;
+}
+
+static inline bool hri_sdhc_get_ACESR_ACMDIDX_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->ACESR.reg & SDHC_ACESR_ACMDIDX) >> SDHC_ACESR_ACMDIDX_Pos;
+}
+
+static inline bool hri_sdhc_get_ACESR_CMDNI_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->ACESR.reg & SDHC_ACESR_CMDNI) >> SDHC_ACESR_CMDNI_Pos;
+}
+
+static inline hri_sdhc_acesr_reg_t hri_sdhc_get_ACESR_reg(const void *const hw, hri_sdhc_acesr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->ACESR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sdhc_acesr_reg_t hri_sdhc_read_ACESR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->ACESR.reg;
+}
+
+static inline bool hri_sdhc_get_CA0R_TEOCLKU_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_TEOCLKU) >> SDHC_CA0R_TEOCLKU_Pos;
+}
+
+static inline bool hri_sdhc_get_CA0R_ED8SUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_ED8SUP) >> SDHC_CA0R_ED8SUP_Pos;
+}
+
+static inline bool hri_sdhc_get_CA0R_ADMA2SUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_ADMA2SUP) >> SDHC_CA0R_ADMA2SUP_Pos;
+}
+
+static inline bool hri_sdhc_get_CA0R_HSSUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_HSSUP) >> SDHC_CA0R_HSSUP_Pos;
+}
+
+static inline bool hri_sdhc_get_CA0R_SDMASUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_SDMASUP) >> SDHC_CA0R_SDMASUP_Pos;
+}
+
+static inline bool hri_sdhc_get_CA0R_SRSUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_SRSUP) >> SDHC_CA0R_SRSUP_Pos;
+}
+
+static inline bool hri_sdhc_get_CA0R_V33VSUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_V33VSUP) >> SDHC_CA0R_V33VSUP_Pos;
+}
+
+static inline bool hri_sdhc_get_CA0R_V30VSUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_V30VSUP) >> SDHC_CA0R_V30VSUP_Pos;
+}
+
+static inline bool hri_sdhc_get_CA0R_V18VSUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_V18VSUP) >> SDHC_CA0R_V18VSUP_Pos;
+}
+
+static inline bool hri_sdhc_get_CA0R_SB64SUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_SB64SUP) >> SDHC_CA0R_SB64SUP_Pos;
+}
+
+static inline bool hri_sdhc_get_CA0R_ASINTSUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_ASINTSUP) >> SDHC_CA0R_ASINTSUP_Pos;
+}
+
+static inline hri_sdhc_ca0r_reg_t hri_sdhc_get_CA0R_TEOCLKF_bf(const void *const hw, hri_sdhc_ca0r_reg_t mask)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_TEOCLKF(mask)) >> SDHC_CA0R_TEOCLKF_Pos;
+}
+
+static inline hri_sdhc_ca0r_reg_t hri_sdhc_read_CA0R_TEOCLKF_bf(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_TEOCLKF_Msk) >> SDHC_CA0R_TEOCLKF_Pos;
+}
+
+static inline hri_sdhc_ca0r_reg_t hri_sdhc_get_CA0R_BASECLKF_bf(const void *const hw, hri_sdhc_ca0r_reg_t mask)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_BASECLKF(mask)) >> SDHC_CA0R_BASECLKF_Pos;
+}
+
+static inline hri_sdhc_ca0r_reg_t hri_sdhc_read_CA0R_BASECLKF_bf(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_BASECLKF_Msk) >> SDHC_CA0R_BASECLKF_Pos;
+}
+
+static inline hri_sdhc_ca0r_reg_t hri_sdhc_get_CA0R_MAXBLKL_bf(const void *const hw, hri_sdhc_ca0r_reg_t mask)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_MAXBLKL(mask)) >> SDHC_CA0R_MAXBLKL_Pos;
+}
+
+static inline hri_sdhc_ca0r_reg_t hri_sdhc_read_CA0R_MAXBLKL_bf(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_MAXBLKL_Msk) >> SDHC_CA0R_MAXBLKL_Pos;
+}
+
+static inline hri_sdhc_ca0r_reg_t hri_sdhc_get_CA0R_SLTYPE_bf(const void *const hw, hri_sdhc_ca0r_reg_t mask)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_SLTYPE(mask)) >> SDHC_CA0R_SLTYPE_Pos;
+}
+
+static inline hri_sdhc_ca0r_reg_t hri_sdhc_read_CA0R_SLTYPE_bf(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA0R.reg & SDHC_CA0R_SLTYPE_Msk) >> SDHC_CA0R_SLTYPE_Pos;
+}
+
+static inline hri_sdhc_ca0r_reg_t hri_sdhc_get_CA0R_reg(const void *const hw, hri_sdhc_ca0r_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->CA0R.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sdhc_ca0r_reg_t hri_sdhc_read_CA0R_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->CA0R.reg;
+}
+
+static inline bool hri_sdhc_get_CA1R_SDR50SUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_SDR50SUP) >> SDHC_CA1R_SDR50SUP_Pos;
+}
+
+static inline bool hri_sdhc_get_CA1R_SDR104SUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_SDR104SUP) >> SDHC_CA1R_SDR104SUP_Pos;
+}
+
+static inline bool hri_sdhc_get_CA1R_DDR50SUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_DDR50SUP) >> SDHC_CA1R_DDR50SUP_Pos;
+}
+
+static inline bool hri_sdhc_get_CA1R_DRVASUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_DRVASUP) >> SDHC_CA1R_DRVASUP_Pos;
+}
+
+static inline bool hri_sdhc_get_CA1R_DRVCSUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_DRVCSUP) >> SDHC_CA1R_DRVCSUP_Pos;
+}
+
+static inline bool hri_sdhc_get_CA1R_DRVDSUP_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_DRVDSUP) >> SDHC_CA1R_DRVDSUP_Pos;
+}
+
+static inline bool hri_sdhc_get_CA1R_TSDR50_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_TSDR50) >> SDHC_CA1R_TSDR50_Pos;
+}
+
+static inline hri_sdhc_ca1r_reg_t hri_sdhc_get_CA1R_TCNTRT_bf(const void *const hw, hri_sdhc_ca1r_reg_t mask)
+{
+ return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_TCNTRT(mask)) >> SDHC_CA1R_TCNTRT_Pos;
+}
+
+static inline hri_sdhc_ca1r_reg_t hri_sdhc_read_CA1R_TCNTRT_bf(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_TCNTRT_Msk) >> SDHC_CA1R_TCNTRT_Pos;
+}
+
+static inline hri_sdhc_ca1r_reg_t hri_sdhc_get_CA1R_CLKMULT_bf(const void *const hw, hri_sdhc_ca1r_reg_t mask)
+{
+ return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_CLKMULT(mask)) >> SDHC_CA1R_CLKMULT_Pos;
+}
+
+static inline hri_sdhc_ca1r_reg_t hri_sdhc_read_CA1R_CLKMULT_bf(const void *const hw)
+{
+ return (((Sdhc *)hw)->CA1R.reg & SDHC_CA1R_CLKMULT_Msk) >> SDHC_CA1R_CLKMULT_Pos;
+}
+
+static inline hri_sdhc_ca1r_reg_t hri_sdhc_get_CA1R_reg(const void *const hw, hri_sdhc_ca1r_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->CA1R.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sdhc_ca1r_reg_t hri_sdhc_read_CA1R_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->CA1R.reg;
+}
+
+static inline hri_sdhc_mccar_reg_t hri_sdhc_get_MCCAR_MAXCUR33V_bf(const void *const hw, hri_sdhc_mccar_reg_t mask)
+{
+ return (((Sdhc *)hw)->MCCAR.reg & SDHC_MCCAR_MAXCUR33V(mask)) >> SDHC_MCCAR_MAXCUR33V_Pos;
+}
+
+static inline hri_sdhc_mccar_reg_t hri_sdhc_read_MCCAR_MAXCUR33V_bf(const void *const hw)
+{
+ return (((Sdhc *)hw)->MCCAR.reg & SDHC_MCCAR_MAXCUR33V_Msk) >> SDHC_MCCAR_MAXCUR33V_Pos;
+}
+
+static inline hri_sdhc_mccar_reg_t hri_sdhc_get_MCCAR_MAXCUR30V_bf(const void *const hw, hri_sdhc_mccar_reg_t mask)
+{
+ return (((Sdhc *)hw)->MCCAR.reg & SDHC_MCCAR_MAXCUR30V(mask)) >> SDHC_MCCAR_MAXCUR30V_Pos;
+}
+
+static inline hri_sdhc_mccar_reg_t hri_sdhc_read_MCCAR_MAXCUR30V_bf(const void *const hw)
+{
+ return (((Sdhc *)hw)->MCCAR.reg & SDHC_MCCAR_MAXCUR30V_Msk) >> SDHC_MCCAR_MAXCUR30V_Pos;
+}
+
+static inline hri_sdhc_mccar_reg_t hri_sdhc_get_MCCAR_MAXCUR18V_bf(const void *const hw, hri_sdhc_mccar_reg_t mask)
+{
+ return (((Sdhc *)hw)->MCCAR.reg & SDHC_MCCAR_MAXCUR18V(mask)) >> SDHC_MCCAR_MAXCUR18V_Pos;
+}
+
+static inline hri_sdhc_mccar_reg_t hri_sdhc_read_MCCAR_MAXCUR18V_bf(const void *const hw)
+{
+ return (((Sdhc *)hw)->MCCAR.reg & SDHC_MCCAR_MAXCUR18V_Msk) >> SDHC_MCCAR_MAXCUR18V_Pos;
+}
+
+static inline hri_sdhc_mccar_reg_t hri_sdhc_get_MCCAR_reg(const void *const hw, hri_sdhc_mccar_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->MCCAR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sdhc_mccar_reg_t hri_sdhc_read_MCCAR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->MCCAR.reg;
+}
+
+static inline bool hri_sdhc_get_AESR_LMIS_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->AESR.reg & SDHC_AESR_LMIS) >> SDHC_AESR_LMIS_Pos;
+}
+
+static inline hri_sdhc_aesr_reg_t hri_sdhc_get_AESR_ERRST_bf(const void *const hw, hri_sdhc_aesr_reg_t mask)
+{
+ return (((Sdhc *)hw)->AESR.reg & SDHC_AESR_ERRST(mask)) >> SDHC_AESR_ERRST_Pos;
+}
+
+static inline hri_sdhc_aesr_reg_t hri_sdhc_read_AESR_ERRST_bf(const void *const hw)
+{
+ return (((Sdhc *)hw)->AESR.reg & SDHC_AESR_ERRST_Msk) >> SDHC_AESR_ERRST_Pos;
+}
+
+static inline hri_sdhc_aesr_reg_t hri_sdhc_get_AESR_reg(const void *const hw, hri_sdhc_aesr_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->AESR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sdhc_aesr_reg_t hri_sdhc_read_AESR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->AESR.reg;
+}
+
+static inline bool hri_sdhc_get_SISR_INTSSL_bit(const void *const hw)
+{
+ return (((Sdhc *)hw)->SISR.reg & SDHC_SISR_INTSSL_Msk) >> SDHC_SISR_INTSSL_Pos;
+}
+
+static inline hri_sdhc_sisr_reg_t hri_sdhc_get_SISR_reg(const void *const hw, hri_sdhc_sisr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->SISR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sdhc_sisr_reg_t hri_sdhc_read_SISR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->SISR.reg;
+}
+
+static inline hri_sdhc_hcvr_reg_t hri_sdhc_get_HCVR_SVER_bf(const void *const hw, hri_sdhc_hcvr_reg_t mask)
+{
+ return (((Sdhc *)hw)->HCVR.reg & SDHC_HCVR_SVER(mask)) >> SDHC_HCVR_SVER_Pos;
+}
+
+static inline hri_sdhc_hcvr_reg_t hri_sdhc_read_HCVR_SVER_bf(const void *const hw)
+{
+ return (((Sdhc *)hw)->HCVR.reg & SDHC_HCVR_SVER_Msk) >> SDHC_HCVR_SVER_Pos;
+}
+
+static inline hri_sdhc_hcvr_reg_t hri_sdhc_get_HCVR_VVER_bf(const void *const hw, hri_sdhc_hcvr_reg_t mask)
+{
+ return (((Sdhc *)hw)->HCVR.reg & SDHC_HCVR_VVER(mask)) >> SDHC_HCVR_VVER_Pos;
+}
+
+static inline hri_sdhc_hcvr_reg_t hri_sdhc_read_HCVR_VVER_bf(const void *const hw)
+{
+ return (((Sdhc *)hw)->HCVR.reg & SDHC_HCVR_VVER_Msk) >> SDHC_HCVR_VVER_Pos;
+}
+
+static inline hri_sdhc_hcvr_reg_t hri_sdhc_get_HCVR_reg(const void *const hw, hri_sdhc_hcvr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->HCVR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sdhc_hcvr_reg_t hri_sdhc_read_HCVR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->HCVR.reg;
+}
+
+static inline void hri_sdhc_set_SSAR_ADDR_bf(const void *const hw, hri_sdhc_ssar_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SSAR.reg |= SDHC_SSAR_ADDR(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_ssar_reg_t hri_sdhc_get_SSAR_ADDR_bf(const void *const hw, hri_sdhc_ssar_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->SSAR.reg;
+ tmp = (tmp & SDHC_SSAR_ADDR(mask)) >> SDHC_SSAR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_SSAR_ADDR_bf(const void *const hw, hri_sdhc_ssar_reg_t data)
+{
+ uint32_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->SSAR.reg;
+ tmp &= ~SDHC_SSAR_ADDR_Msk;
+ tmp |= SDHC_SSAR_ADDR(data);
+ ((Sdhc *)hw)->SSAR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_SSAR_ADDR_bf(const void *const hw, hri_sdhc_ssar_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SSAR.reg &= ~SDHC_SSAR_ADDR(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_SSAR_ADDR_bf(const void *const hw, hri_sdhc_ssar_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SSAR.reg ^= SDHC_SSAR_ADDR(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_ssar_reg_t hri_sdhc_read_SSAR_ADDR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->SSAR.reg;
+ tmp = (tmp & SDHC_SSAR_ADDR_Msk) >> SDHC_SSAR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_SSAR_CMD23_ARG2_bf(const void *const hw, hri_sdhc_ssar_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SSAR.reg |= SDHC_SSAR_CMD23_ARG2(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_ssar_reg_t hri_sdhc_get_SSAR_CMD23_ARG2_bf(const void *const hw, hri_sdhc_ssar_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->SSAR.reg;
+ tmp = (tmp & SDHC_SSAR_CMD23_ARG2(mask)) >> SDHC_SSAR_CMD23_ARG2_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_SSAR_CMD23_ARG2_bf(const void *const hw, hri_sdhc_ssar_reg_t data)
+{
+ uint32_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->SSAR.reg;
+ tmp &= ~SDHC_SSAR_CMD23_ARG2_Msk;
+ tmp |= SDHC_SSAR_CMD23_ARG2(data);
+ ((Sdhc *)hw)->SSAR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_SSAR_CMD23_ARG2_bf(const void *const hw, hri_sdhc_ssar_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SSAR.reg &= ~SDHC_SSAR_CMD23_ARG2(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_SSAR_CMD23_ARG2_bf(const void *const hw, hri_sdhc_ssar_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SSAR.reg ^= SDHC_SSAR_CMD23_ARG2(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_ssar_reg_t hri_sdhc_read_SSAR_CMD23_ARG2_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->SSAR.reg;
+ tmp = (tmp & SDHC_SSAR_CMD23_ARG2_Msk) >> SDHC_SSAR_CMD23_ARG2_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_SSAR_reg(const void *const hw, hri_sdhc_ssar_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SSAR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_ssar_reg_t hri_sdhc_get_SSAR_reg(const void *const hw, hri_sdhc_ssar_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->SSAR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_SSAR_reg(const void *const hw, hri_sdhc_ssar_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SSAR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_SSAR_reg(const void *const hw, hri_sdhc_ssar_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SSAR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_SSAR_reg(const void *const hw, hri_sdhc_ssar_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SSAR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_ssar_reg_t hri_sdhc_read_SSAR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->SSAR.reg;
+}
+
+static inline void hri_sdhc_set_BSR_BLOCKSIZE_bf(const void *const hw, hri_sdhc_bsr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BSR.reg |= SDHC_BSR_BLOCKSIZE(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bsr_reg_t hri_sdhc_get_BSR_BLOCKSIZE_bf(const void *const hw, hri_sdhc_bsr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->BSR.reg;
+ tmp = (tmp & SDHC_BSR_BLOCKSIZE(mask)) >> SDHC_BSR_BLOCKSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_BSR_BLOCKSIZE_bf(const void *const hw, hri_sdhc_bsr_reg_t data)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->BSR.reg;
+ tmp &= ~SDHC_BSR_BLOCKSIZE_Msk;
+ tmp |= SDHC_BSR_BLOCKSIZE(data);
+ ((Sdhc *)hw)->BSR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_BSR_BLOCKSIZE_bf(const void *const hw, hri_sdhc_bsr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BSR.reg &= ~SDHC_BSR_BLOCKSIZE(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_BSR_BLOCKSIZE_bf(const void *const hw, hri_sdhc_bsr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BSR.reg ^= SDHC_BSR_BLOCKSIZE(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bsr_reg_t hri_sdhc_read_BSR_BLOCKSIZE_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->BSR.reg;
+ tmp = (tmp & SDHC_BSR_BLOCKSIZE_Msk) >> SDHC_BSR_BLOCKSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_BSR_BOUNDARY_bf(const void *const hw, hri_sdhc_bsr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BSR.reg |= SDHC_BSR_BOUNDARY(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bsr_reg_t hri_sdhc_get_BSR_BOUNDARY_bf(const void *const hw, hri_sdhc_bsr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->BSR.reg;
+ tmp = (tmp & SDHC_BSR_BOUNDARY(mask)) >> SDHC_BSR_BOUNDARY_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_BSR_BOUNDARY_bf(const void *const hw, hri_sdhc_bsr_reg_t data)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->BSR.reg;
+ tmp &= ~SDHC_BSR_BOUNDARY_Msk;
+ tmp |= SDHC_BSR_BOUNDARY(data);
+ ((Sdhc *)hw)->BSR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_BSR_BOUNDARY_bf(const void *const hw, hri_sdhc_bsr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BSR.reg &= ~SDHC_BSR_BOUNDARY(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_BSR_BOUNDARY_bf(const void *const hw, hri_sdhc_bsr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BSR.reg ^= SDHC_BSR_BOUNDARY(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bsr_reg_t hri_sdhc_read_BSR_BOUNDARY_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->BSR.reg;
+ tmp = (tmp & SDHC_BSR_BOUNDARY_Msk) >> SDHC_BSR_BOUNDARY_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_BSR_reg(const void *const hw, hri_sdhc_bsr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BSR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bsr_reg_t hri_sdhc_get_BSR_reg(const void *const hw, hri_sdhc_bsr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->BSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_BSR_reg(const void *const hw, hri_sdhc_bsr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BSR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_BSR_reg(const void *const hw, hri_sdhc_bsr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BSR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_BSR_reg(const void *const hw, hri_sdhc_bsr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BSR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bsr_reg_t hri_sdhc_read_BSR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->BSR.reg;
+}
+
+static inline void hri_sdhc_set_BCR_BCNT_bf(const void *const hw, hri_sdhc_bcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BCR.reg |= SDHC_BCR_BCNT(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bcr_reg_t hri_sdhc_get_BCR_BCNT_bf(const void *const hw, hri_sdhc_bcr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->BCR.reg;
+ tmp = (tmp & SDHC_BCR_BCNT(mask)) >> SDHC_BCR_BCNT_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_BCR_BCNT_bf(const void *const hw, hri_sdhc_bcr_reg_t data)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->BCR.reg;
+ tmp &= ~SDHC_BCR_BCNT_Msk;
+ tmp |= SDHC_BCR_BCNT(data);
+ ((Sdhc *)hw)->BCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_BCR_BCNT_bf(const void *const hw, hri_sdhc_bcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BCR.reg &= ~SDHC_BCR_BCNT(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_BCR_BCNT_bf(const void *const hw, hri_sdhc_bcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BCR.reg ^= SDHC_BCR_BCNT(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bcr_reg_t hri_sdhc_read_BCR_BCNT_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->BCR.reg;
+ tmp = (tmp & SDHC_BCR_BCNT_Msk) >> SDHC_BCR_BCNT_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_BCR_reg(const void *const hw, hri_sdhc_bcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BCR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bcr_reg_t hri_sdhc_get_BCR_reg(const void *const hw, hri_sdhc_bcr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->BCR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_BCR_reg(const void *const hw, hri_sdhc_bcr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BCR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_BCR_reg(const void *const hw, hri_sdhc_bcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BCR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_BCR_reg(const void *const hw, hri_sdhc_bcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BCR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bcr_reg_t hri_sdhc_read_BCR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->BCR.reg;
+}
+
+static inline void hri_sdhc_set_ARG1R_ARG_bf(const void *const hw, hri_sdhc_arg1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ARG1R.reg |= SDHC_ARG1R_ARG(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_arg1r_reg_t hri_sdhc_get_ARG1R_ARG_bf(const void *const hw, hri_sdhc_arg1r_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->ARG1R.reg;
+ tmp = (tmp & SDHC_ARG1R_ARG(mask)) >> SDHC_ARG1R_ARG_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_ARG1R_ARG_bf(const void *const hw, hri_sdhc_arg1r_reg_t data)
+{
+ uint32_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->ARG1R.reg;
+ tmp &= ~SDHC_ARG1R_ARG_Msk;
+ tmp |= SDHC_ARG1R_ARG(data);
+ ((Sdhc *)hw)->ARG1R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_ARG1R_ARG_bf(const void *const hw, hri_sdhc_arg1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ARG1R.reg &= ~SDHC_ARG1R_ARG(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_ARG1R_ARG_bf(const void *const hw, hri_sdhc_arg1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ARG1R.reg ^= SDHC_ARG1R_ARG(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_arg1r_reg_t hri_sdhc_read_ARG1R_ARG_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->ARG1R.reg;
+ tmp = (tmp & SDHC_ARG1R_ARG_Msk) >> SDHC_ARG1R_ARG_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_ARG1R_reg(const void *const hw, hri_sdhc_arg1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ARG1R.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_arg1r_reg_t hri_sdhc_get_ARG1R_reg(const void *const hw, hri_sdhc_arg1r_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->ARG1R.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_ARG1R_reg(const void *const hw, hri_sdhc_arg1r_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ARG1R.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_ARG1R_reg(const void *const hw, hri_sdhc_arg1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ARG1R.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_ARG1R_reg(const void *const hw, hri_sdhc_arg1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ARG1R.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_arg1r_reg_t hri_sdhc_read_ARG1R_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->ARG1R.reg;
+}
+
+static inline void hri_sdhc_set_TMR_DMAEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg |= SDHC_TMR_DMAEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_TMR_DMAEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->TMR.reg;
+ tmp = (tmp & SDHC_TMR_DMAEN) >> SDHC_TMR_DMAEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_TMR_DMAEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->TMR.reg;
+ tmp &= ~SDHC_TMR_DMAEN;
+ tmp |= value << SDHC_TMR_DMAEN_Pos;
+ ((Sdhc *)hw)->TMR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_TMR_DMAEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg &= ~SDHC_TMR_DMAEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_TMR_DMAEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg ^= SDHC_TMR_DMAEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_TMR_BCEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg |= SDHC_TMR_BCEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_TMR_BCEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->TMR.reg;
+ tmp = (tmp & SDHC_TMR_BCEN) >> SDHC_TMR_BCEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_TMR_BCEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->TMR.reg;
+ tmp &= ~SDHC_TMR_BCEN;
+ tmp |= value << SDHC_TMR_BCEN_Pos;
+ ((Sdhc *)hw)->TMR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_TMR_BCEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg &= ~SDHC_TMR_BCEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_TMR_BCEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg ^= SDHC_TMR_BCEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_TMR_DTDSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg |= SDHC_TMR_DTDSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_TMR_DTDSEL_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->TMR.reg;
+ tmp = (tmp & SDHC_TMR_DTDSEL) >> SDHC_TMR_DTDSEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_TMR_DTDSEL_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->TMR.reg;
+ tmp &= ~SDHC_TMR_DTDSEL;
+ tmp |= value << SDHC_TMR_DTDSEL_Pos;
+ ((Sdhc *)hw)->TMR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_TMR_DTDSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg &= ~SDHC_TMR_DTDSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_TMR_DTDSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg ^= SDHC_TMR_DTDSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_TMR_MSBSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg |= SDHC_TMR_MSBSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_TMR_MSBSEL_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->TMR.reg;
+ tmp = (tmp & SDHC_TMR_MSBSEL) >> SDHC_TMR_MSBSEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_TMR_MSBSEL_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->TMR.reg;
+ tmp &= ~SDHC_TMR_MSBSEL;
+ tmp |= value << SDHC_TMR_MSBSEL_Pos;
+ ((Sdhc *)hw)->TMR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_TMR_MSBSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg &= ~SDHC_TMR_MSBSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_TMR_MSBSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg ^= SDHC_TMR_MSBSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_TMR_ACMDEN_bf(const void *const hw, hri_sdhc_tmr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg |= SDHC_TMR_ACMDEN(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_tmr_reg_t hri_sdhc_get_TMR_ACMDEN_bf(const void *const hw, hri_sdhc_tmr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->TMR.reg;
+ tmp = (tmp & SDHC_TMR_ACMDEN(mask)) >> SDHC_TMR_ACMDEN_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_TMR_ACMDEN_bf(const void *const hw, hri_sdhc_tmr_reg_t data)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->TMR.reg;
+ tmp &= ~SDHC_TMR_ACMDEN_Msk;
+ tmp |= SDHC_TMR_ACMDEN(data);
+ ((Sdhc *)hw)->TMR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_TMR_ACMDEN_bf(const void *const hw, hri_sdhc_tmr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg &= ~SDHC_TMR_ACMDEN(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_TMR_ACMDEN_bf(const void *const hw, hri_sdhc_tmr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg ^= SDHC_TMR_ACMDEN(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_tmr_reg_t hri_sdhc_read_TMR_ACMDEN_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->TMR.reg;
+ tmp = (tmp & SDHC_TMR_ACMDEN_Msk) >> SDHC_TMR_ACMDEN_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_TMR_reg(const void *const hw, hri_sdhc_tmr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_tmr_reg_t hri_sdhc_get_TMR_reg(const void *const hw, hri_sdhc_tmr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->TMR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_TMR_reg(const void *const hw, hri_sdhc_tmr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_TMR_reg(const void *const hw, hri_sdhc_tmr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_TMR_reg(const void *const hw, hri_sdhc_tmr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TMR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_tmr_reg_t hri_sdhc_read_TMR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->TMR.reg;
+}
+
+static inline void hri_sdhc_set_CR_CMDCCEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg |= SDHC_CR_CMDCCEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_CR_CMDCCEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp = (tmp & SDHC_CR_CMDCCEN) >> SDHC_CR_CMDCCEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_CR_CMDCCEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp &= ~SDHC_CR_CMDCCEN;
+ tmp |= value << SDHC_CR_CMDCCEN_Pos;
+ ((Sdhc *)hw)->CR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CR_CMDCCEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg &= ~SDHC_CR_CMDCCEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CR_CMDCCEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg ^= SDHC_CR_CMDCCEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_CR_CMDICEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg |= SDHC_CR_CMDICEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_CR_CMDICEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp = (tmp & SDHC_CR_CMDICEN) >> SDHC_CR_CMDICEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_CR_CMDICEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp &= ~SDHC_CR_CMDICEN;
+ tmp |= value << SDHC_CR_CMDICEN_Pos;
+ ((Sdhc *)hw)->CR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CR_CMDICEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg &= ~SDHC_CR_CMDICEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CR_CMDICEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg ^= SDHC_CR_CMDICEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_CR_DPSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg |= SDHC_CR_DPSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_CR_DPSEL_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp = (tmp & SDHC_CR_DPSEL) >> SDHC_CR_DPSEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_CR_DPSEL_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp &= ~SDHC_CR_DPSEL;
+ tmp |= value << SDHC_CR_DPSEL_Pos;
+ ((Sdhc *)hw)->CR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CR_DPSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg &= ~SDHC_CR_DPSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CR_DPSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg ^= SDHC_CR_DPSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_CR_RESPTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg |= SDHC_CR_RESPTYP(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_cr_reg_t hri_sdhc_get_CR_RESPTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp = (tmp & SDHC_CR_RESPTYP(mask)) >> SDHC_CR_RESPTYP_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_CR_RESPTYP_bf(const void *const hw, hri_sdhc_cr_reg_t data)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp &= ~SDHC_CR_RESPTYP_Msk;
+ tmp |= SDHC_CR_RESPTYP(data);
+ ((Sdhc *)hw)->CR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CR_RESPTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg &= ~SDHC_CR_RESPTYP(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CR_RESPTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg ^= SDHC_CR_RESPTYP(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_cr_reg_t hri_sdhc_read_CR_RESPTYP_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp = (tmp & SDHC_CR_RESPTYP_Msk) >> SDHC_CR_RESPTYP_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_CR_CMDTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg |= SDHC_CR_CMDTYP(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_cr_reg_t hri_sdhc_get_CR_CMDTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp = (tmp & SDHC_CR_CMDTYP(mask)) >> SDHC_CR_CMDTYP_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_CR_CMDTYP_bf(const void *const hw, hri_sdhc_cr_reg_t data)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp &= ~SDHC_CR_CMDTYP_Msk;
+ tmp |= SDHC_CR_CMDTYP(data);
+ ((Sdhc *)hw)->CR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CR_CMDTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg &= ~SDHC_CR_CMDTYP(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CR_CMDTYP_bf(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg ^= SDHC_CR_CMDTYP(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_cr_reg_t hri_sdhc_read_CR_CMDTYP_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp = (tmp & SDHC_CR_CMDTYP_Msk) >> SDHC_CR_CMDTYP_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_CR_CMDIDX_bf(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg |= SDHC_CR_CMDIDX(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_cr_reg_t hri_sdhc_get_CR_CMDIDX_bf(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp = (tmp & SDHC_CR_CMDIDX(mask)) >> SDHC_CR_CMDIDX_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_CR_CMDIDX_bf(const void *const hw, hri_sdhc_cr_reg_t data)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp &= ~SDHC_CR_CMDIDX_Msk;
+ tmp |= SDHC_CR_CMDIDX(data);
+ ((Sdhc *)hw)->CR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CR_CMDIDX_bf(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg &= ~SDHC_CR_CMDIDX(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CR_CMDIDX_bf(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg ^= SDHC_CR_CMDIDX(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_cr_reg_t hri_sdhc_read_CR_CMDIDX_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp = (tmp & SDHC_CR_CMDIDX_Msk) >> SDHC_CR_CMDIDX_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_CR_reg(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_cr_reg_t hri_sdhc_get_CR_reg(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_CR_reg(const void *const hw, hri_sdhc_cr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CR_reg(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CR_reg(const void *const hw, hri_sdhc_cr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_cr_reg_t hri_sdhc_read_CR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->CR.reg;
+}
+
+static inline void hri_sdhc_set_BDPR_BUFDATA_bf(const void *const hw, hri_sdhc_bdpr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BDPR.reg |= SDHC_BDPR_BUFDATA(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bdpr_reg_t hri_sdhc_get_BDPR_BUFDATA_bf(const void *const hw, hri_sdhc_bdpr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->BDPR.reg;
+ tmp = (tmp & SDHC_BDPR_BUFDATA(mask)) >> SDHC_BDPR_BUFDATA_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_BDPR_BUFDATA_bf(const void *const hw, hri_sdhc_bdpr_reg_t data)
+{
+ uint32_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->BDPR.reg;
+ tmp &= ~SDHC_BDPR_BUFDATA_Msk;
+ tmp |= SDHC_BDPR_BUFDATA(data);
+ ((Sdhc *)hw)->BDPR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_BDPR_BUFDATA_bf(const void *const hw, hri_sdhc_bdpr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BDPR.reg &= ~SDHC_BDPR_BUFDATA(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_BDPR_BUFDATA_bf(const void *const hw, hri_sdhc_bdpr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BDPR.reg ^= SDHC_BDPR_BUFDATA(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bdpr_reg_t hri_sdhc_read_BDPR_BUFDATA_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->BDPR.reg;
+ tmp = (tmp & SDHC_BDPR_BUFDATA_Msk) >> SDHC_BDPR_BUFDATA_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_BDPR_reg(const void *const hw, hri_sdhc_bdpr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BDPR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bdpr_reg_t hri_sdhc_get_BDPR_reg(const void *const hw, hri_sdhc_bdpr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->BDPR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_BDPR_reg(const void *const hw, hri_sdhc_bdpr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BDPR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_BDPR_reg(const void *const hw, hri_sdhc_bdpr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BDPR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_BDPR_reg(const void *const hw, hri_sdhc_bdpr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BDPR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bdpr_reg_t hri_sdhc_read_BDPR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->BDPR.reg;
+}
+
+static inline void hri_sdhc_set_HC1R_LEDCTRL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg |= SDHC_HC1R_LEDCTRL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_HC1R_LEDCTRL_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->HC1R.reg;
+ tmp = (tmp & SDHC_HC1R_LEDCTRL) >> SDHC_HC1R_LEDCTRL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_HC1R_LEDCTRL_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->HC1R.reg;
+ tmp &= ~SDHC_HC1R_LEDCTRL;
+ tmp |= value << SDHC_HC1R_LEDCTRL_Pos;
+ ((Sdhc *)hw)->HC1R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC1R_LEDCTRL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg &= ~SDHC_HC1R_LEDCTRL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC1R_LEDCTRL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg ^= SDHC_HC1R_LEDCTRL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_HC1R_DW_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg |= SDHC_HC1R_DW;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_HC1R_DW_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->HC1R.reg;
+ tmp = (tmp & SDHC_HC1R_DW) >> SDHC_HC1R_DW_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_HC1R_DW_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->HC1R.reg;
+ tmp &= ~SDHC_HC1R_DW;
+ tmp |= value << SDHC_HC1R_DW_Pos;
+ ((Sdhc *)hw)->HC1R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC1R_DW_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg &= ~SDHC_HC1R_DW;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC1R_DW_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg ^= SDHC_HC1R_DW;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_HC1R_HSEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg |= SDHC_HC1R_HSEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_HC1R_HSEN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->HC1R.reg;
+ tmp = (tmp & SDHC_HC1R_HSEN) >> SDHC_HC1R_HSEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_HC1R_HSEN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->HC1R.reg;
+ tmp &= ~SDHC_HC1R_HSEN;
+ tmp |= value << SDHC_HC1R_HSEN_Pos;
+ ((Sdhc *)hw)->HC1R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC1R_HSEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg &= ~SDHC_HC1R_HSEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC1R_HSEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg ^= SDHC_HC1R_HSEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_HC1R_CARDDTL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg |= SDHC_HC1R_CARDDTL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_HC1R_CARDDTL_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->HC1R.reg;
+ tmp = (tmp & SDHC_HC1R_CARDDTL) >> SDHC_HC1R_CARDDTL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_HC1R_CARDDTL_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->HC1R.reg;
+ tmp &= ~SDHC_HC1R_CARDDTL;
+ tmp |= value << SDHC_HC1R_CARDDTL_Pos;
+ ((Sdhc *)hw)->HC1R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC1R_CARDDTL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg &= ~SDHC_HC1R_CARDDTL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC1R_CARDDTL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg ^= SDHC_HC1R_CARDDTL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_HC1R_CARDDSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg |= SDHC_HC1R_CARDDSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_HC1R_CARDDSEL_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->HC1R.reg;
+ tmp = (tmp & SDHC_HC1R_CARDDSEL) >> SDHC_HC1R_CARDDSEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_HC1R_CARDDSEL_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->HC1R.reg;
+ tmp &= ~SDHC_HC1R_CARDDSEL;
+ tmp |= value << SDHC_HC1R_CARDDSEL_Pos;
+ ((Sdhc *)hw)->HC1R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC1R_CARDDSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg &= ~SDHC_HC1R_CARDDSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC1R_CARDDSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg ^= SDHC_HC1R_CARDDSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_HC1R_DMASEL_bf(const void *const hw, hri_sdhc_hc1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg |= SDHC_HC1R_DMASEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_hc1r_reg_t hri_sdhc_get_HC1R_DMASEL_bf(const void *const hw, hri_sdhc_hc1r_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->HC1R.reg;
+ tmp = (tmp & SDHC_HC1R_DMASEL(mask)) >> SDHC_HC1R_DMASEL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_HC1R_DMASEL_bf(const void *const hw, hri_sdhc_hc1r_reg_t data)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->HC1R.reg;
+ tmp &= ~SDHC_HC1R_DMASEL_Msk;
+ tmp |= SDHC_HC1R_DMASEL(data);
+ ((Sdhc *)hw)->HC1R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC1R_DMASEL_bf(const void *const hw, hri_sdhc_hc1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg &= ~SDHC_HC1R_DMASEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC1R_DMASEL_bf(const void *const hw, hri_sdhc_hc1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg ^= SDHC_HC1R_DMASEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_hc1r_reg_t hri_sdhc_read_HC1R_DMASEL_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->HC1R.reg;
+ tmp = (tmp & SDHC_HC1R_DMASEL_Msk) >> SDHC_HC1R_DMASEL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_HC1R_reg(const void *const hw, hri_sdhc_hc1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_hc1r_reg_t hri_sdhc_get_HC1R_reg(const void *const hw, hri_sdhc_hc1r_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->HC1R.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_HC1R_reg(const void *const hw, hri_sdhc_hc1r_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC1R_reg(const void *const hw, hri_sdhc_hc1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC1R_reg(const void *const hw, hri_sdhc_hc1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC1R.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_hc1r_reg_t hri_sdhc_read_HC1R_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->HC1R.reg;
+}
+
+static inline void hri_sdhc_set_PCR_SDBPWR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PCR.reg |= SDHC_PCR_SDBPWR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_PCR_SDBPWR_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->PCR.reg;
+ tmp = (tmp & SDHC_PCR_SDBPWR) >> SDHC_PCR_SDBPWR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_PCR_SDBPWR_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->PCR.reg;
+ tmp &= ~SDHC_PCR_SDBPWR;
+ tmp |= value << SDHC_PCR_SDBPWR_Pos;
+ ((Sdhc *)hw)->PCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_PCR_SDBPWR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PCR.reg &= ~SDHC_PCR_SDBPWR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_PCR_SDBPWR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PCR.reg ^= SDHC_PCR_SDBPWR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_PCR_SDBVSEL_bf(const void *const hw, hri_sdhc_pcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PCR.reg |= SDHC_PCR_SDBVSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_pcr_reg_t hri_sdhc_get_PCR_SDBVSEL_bf(const void *const hw, hri_sdhc_pcr_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->PCR.reg;
+ tmp = (tmp & SDHC_PCR_SDBVSEL(mask)) >> SDHC_PCR_SDBVSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_PCR_SDBVSEL_bf(const void *const hw, hri_sdhc_pcr_reg_t data)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->PCR.reg;
+ tmp &= ~SDHC_PCR_SDBVSEL_Msk;
+ tmp |= SDHC_PCR_SDBVSEL(data);
+ ((Sdhc *)hw)->PCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_PCR_SDBVSEL_bf(const void *const hw, hri_sdhc_pcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PCR.reg &= ~SDHC_PCR_SDBVSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_PCR_SDBVSEL_bf(const void *const hw, hri_sdhc_pcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PCR.reg ^= SDHC_PCR_SDBVSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_pcr_reg_t hri_sdhc_read_PCR_SDBVSEL_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->PCR.reg;
+ tmp = (tmp & SDHC_PCR_SDBVSEL_Msk) >> SDHC_PCR_SDBVSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_PCR_reg(const void *const hw, hri_sdhc_pcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PCR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_pcr_reg_t hri_sdhc_get_PCR_reg(const void *const hw, hri_sdhc_pcr_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->PCR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_PCR_reg(const void *const hw, hri_sdhc_pcr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PCR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_PCR_reg(const void *const hw, hri_sdhc_pcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PCR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_PCR_reg(const void *const hw, hri_sdhc_pcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PCR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_pcr_reg_t hri_sdhc_read_PCR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->PCR.reg;
+}
+
+static inline void hri_sdhc_set_BGCR_STPBGR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg |= SDHC_BGCR_STPBGR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_BGCR_STPBGR_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->BGCR.reg;
+ tmp = (tmp & SDHC_BGCR_STPBGR) >> SDHC_BGCR_STPBGR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_BGCR_STPBGR_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->BGCR.reg;
+ tmp &= ~SDHC_BGCR_STPBGR;
+ tmp |= value << SDHC_BGCR_STPBGR_Pos;
+ ((Sdhc *)hw)->BGCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_BGCR_STPBGR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg &= ~SDHC_BGCR_STPBGR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_BGCR_STPBGR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg ^= SDHC_BGCR_STPBGR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_BGCR_CONTR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg |= SDHC_BGCR_CONTR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_BGCR_CONTR_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->BGCR.reg;
+ tmp = (tmp & SDHC_BGCR_CONTR) >> SDHC_BGCR_CONTR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_BGCR_CONTR_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->BGCR.reg;
+ tmp &= ~SDHC_BGCR_CONTR;
+ tmp |= value << SDHC_BGCR_CONTR_Pos;
+ ((Sdhc *)hw)->BGCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_BGCR_CONTR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg &= ~SDHC_BGCR_CONTR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_BGCR_CONTR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg ^= SDHC_BGCR_CONTR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_BGCR_RWCTRL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg |= SDHC_BGCR_RWCTRL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_BGCR_RWCTRL_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->BGCR.reg;
+ tmp = (tmp & SDHC_BGCR_RWCTRL) >> SDHC_BGCR_RWCTRL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_BGCR_RWCTRL_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->BGCR.reg;
+ tmp &= ~SDHC_BGCR_RWCTRL;
+ tmp |= value << SDHC_BGCR_RWCTRL_Pos;
+ ((Sdhc *)hw)->BGCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_BGCR_RWCTRL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg &= ~SDHC_BGCR_RWCTRL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_BGCR_RWCTRL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg ^= SDHC_BGCR_RWCTRL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_BGCR_INTBG_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg |= SDHC_BGCR_INTBG;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_BGCR_INTBG_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->BGCR.reg;
+ tmp = (tmp & SDHC_BGCR_INTBG) >> SDHC_BGCR_INTBG_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_BGCR_INTBG_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->BGCR.reg;
+ tmp &= ~SDHC_BGCR_INTBG;
+ tmp |= value << SDHC_BGCR_INTBG_Pos;
+ ((Sdhc *)hw)->BGCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_BGCR_INTBG_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg &= ~SDHC_BGCR_INTBG;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_BGCR_INTBG_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg ^= SDHC_BGCR_INTBG;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_BGCR_reg(const void *const hw, hri_sdhc_bgcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bgcr_reg_t hri_sdhc_get_BGCR_reg(const void *const hw, hri_sdhc_bgcr_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->BGCR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_BGCR_reg(const void *const hw, hri_sdhc_bgcr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_BGCR_reg(const void *const hw, hri_sdhc_bgcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_BGCR_reg(const void *const hw, hri_sdhc_bgcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->BGCR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_bgcr_reg_t hri_sdhc_read_BGCR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->BGCR.reg;
+}
+
+static inline void hri_sdhc_set_WCR_WKENCINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->WCR.reg |= SDHC_WCR_WKENCINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_WCR_WKENCINT_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->WCR.reg;
+ tmp = (tmp & SDHC_WCR_WKENCINT) >> SDHC_WCR_WKENCINT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_WCR_WKENCINT_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->WCR.reg;
+ tmp &= ~SDHC_WCR_WKENCINT;
+ tmp |= value << SDHC_WCR_WKENCINT_Pos;
+ ((Sdhc *)hw)->WCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_WCR_WKENCINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->WCR.reg &= ~SDHC_WCR_WKENCINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_WCR_WKENCINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->WCR.reg ^= SDHC_WCR_WKENCINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_WCR_WKENCINS_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->WCR.reg |= SDHC_WCR_WKENCINS;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_WCR_WKENCINS_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->WCR.reg;
+ tmp = (tmp & SDHC_WCR_WKENCINS) >> SDHC_WCR_WKENCINS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_WCR_WKENCINS_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->WCR.reg;
+ tmp &= ~SDHC_WCR_WKENCINS;
+ tmp |= value << SDHC_WCR_WKENCINS_Pos;
+ ((Sdhc *)hw)->WCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_WCR_WKENCINS_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->WCR.reg &= ~SDHC_WCR_WKENCINS;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_WCR_WKENCINS_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->WCR.reg ^= SDHC_WCR_WKENCINS;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_WCR_WKENCREM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->WCR.reg |= SDHC_WCR_WKENCREM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_WCR_WKENCREM_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->WCR.reg;
+ tmp = (tmp & SDHC_WCR_WKENCREM) >> SDHC_WCR_WKENCREM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_WCR_WKENCREM_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->WCR.reg;
+ tmp &= ~SDHC_WCR_WKENCREM;
+ tmp |= value << SDHC_WCR_WKENCREM_Pos;
+ ((Sdhc *)hw)->WCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_WCR_WKENCREM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->WCR.reg &= ~SDHC_WCR_WKENCREM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_WCR_WKENCREM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->WCR.reg ^= SDHC_WCR_WKENCREM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_WCR_reg(const void *const hw, hri_sdhc_wcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->WCR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_wcr_reg_t hri_sdhc_get_WCR_reg(const void *const hw, hri_sdhc_wcr_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->WCR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_WCR_reg(const void *const hw, hri_sdhc_wcr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->WCR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_WCR_reg(const void *const hw, hri_sdhc_wcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->WCR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_WCR_reg(const void *const hw, hri_sdhc_wcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->WCR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_wcr_reg_t hri_sdhc_read_WCR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->WCR.reg;
+}
+
+static inline void hri_sdhc_set_CCR_INTCLKEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg |= SDHC_CCR_INTCLKEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_CCR_INTCLKEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CCR.reg;
+ tmp = (tmp & SDHC_CCR_INTCLKEN) >> SDHC_CCR_INTCLKEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_CCR_INTCLKEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->CCR.reg;
+ tmp &= ~SDHC_CCR_INTCLKEN;
+ tmp |= value << SDHC_CCR_INTCLKEN_Pos;
+ ((Sdhc *)hw)->CCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CCR_INTCLKEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg &= ~SDHC_CCR_INTCLKEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CCR_INTCLKEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg ^= SDHC_CCR_INTCLKEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_CCR_INTCLKS_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg |= SDHC_CCR_INTCLKS;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_CCR_INTCLKS_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CCR.reg;
+ tmp = (tmp & SDHC_CCR_INTCLKS) >> SDHC_CCR_INTCLKS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_CCR_INTCLKS_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->CCR.reg;
+ tmp &= ~SDHC_CCR_INTCLKS;
+ tmp |= value << SDHC_CCR_INTCLKS_Pos;
+ ((Sdhc *)hw)->CCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CCR_INTCLKS_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg &= ~SDHC_CCR_INTCLKS;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CCR_INTCLKS_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg ^= SDHC_CCR_INTCLKS;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_CCR_SDCLKEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg |= SDHC_CCR_SDCLKEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_CCR_SDCLKEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CCR.reg;
+ tmp = (tmp & SDHC_CCR_SDCLKEN) >> SDHC_CCR_SDCLKEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_CCR_SDCLKEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->CCR.reg;
+ tmp &= ~SDHC_CCR_SDCLKEN;
+ tmp |= value << SDHC_CCR_SDCLKEN_Pos;
+ ((Sdhc *)hw)->CCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CCR_SDCLKEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg &= ~SDHC_CCR_SDCLKEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CCR_SDCLKEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg ^= SDHC_CCR_SDCLKEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_CCR_CLKGSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg |= SDHC_CCR_CLKGSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_CCR_CLKGSEL_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CCR.reg;
+ tmp = (tmp & SDHC_CCR_CLKGSEL) >> SDHC_CCR_CLKGSEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_CCR_CLKGSEL_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->CCR.reg;
+ tmp &= ~SDHC_CCR_CLKGSEL;
+ tmp |= value << SDHC_CCR_CLKGSEL_Pos;
+ ((Sdhc *)hw)->CCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CCR_CLKGSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg &= ~SDHC_CCR_CLKGSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CCR_CLKGSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg ^= SDHC_CCR_CLKGSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_CCR_USDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg |= SDHC_CCR_USDCLKFSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_ccr_reg_t hri_sdhc_get_CCR_USDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CCR.reg;
+ tmp = (tmp & SDHC_CCR_USDCLKFSEL(mask)) >> SDHC_CCR_USDCLKFSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_CCR_USDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t data)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->CCR.reg;
+ tmp &= ~SDHC_CCR_USDCLKFSEL_Msk;
+ tmp |= SDHC_CCR_USDCLKFSEL(data);
+ ((Sdhc *)hw)->CCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CCR_USDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg &= ~SDHC_CCR_USDCLKFSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CCR_USDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg ^= SDHC_CCR_USDCLKFSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_ccr_reg_t hri_sdhc_read_CCR_USDCLKFSEL_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CCR.reg;
+ tmp = (tmp & SDHC_CCR_USDCLKFSEL_Msk) >> SDHC_CCR_USDCLKFSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_CCR_SDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg |= SDHC_CCR_SDCLKFSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_ccr_reg_t hri_sdhc_get_CCR_SDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CCR.reg;
+ tmp = (tmp & SDHC_CCR_SDCLKFSEL(mask)) >> SDHC_CCR_SDCLKFSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_CCR_SDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t data)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->CCR.reg;
+ tmp &= ~SDHC_CCR_SDCLKFSEL_Msk;
+ tmp |= SDHC_CCR_SDCLKFSEL(data);
+ ((Sdhc *)hw)->CCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CCR_SDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg &= ~SDHC_CCR_SDCLKFSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CCR_SDCLKFSEL_bf(const void *const hw, hri_sdhc_ccr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg ^= SDHC_CCR_SDCLKFSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_ccr_reg_t hri_sdhc_read_CCR_SDCLKFSEL_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CCR.reg;
+ tmp = (tmp & SDHC_CCR_SDCLKFSEL_Msk) >> SDHC_CCR_SDCLKFSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_CCR_reg(const void *const hw, hri_sdhc_ccr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_ccr_reg_t hri_sdhc_get_CCR_reg(const void *const hw, hri_sdhc_ccr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->CCR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_CCR_reg(const void *const hw, hri_sdhc_ccr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CCR_reg(const void *const hw, hri_sdhc_ccr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CCR_reg(const void *const hw, hri_sdhc_ccr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CCR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_ccr_reg_t hri_sdhc_read_CCR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->CCR.reg;
+}
+
+static inline void hri_sdhc_set_TCR_DTCVAL_bf(const void *const hw, hri_sdhc_tcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TCR.reg |= SDHC_TCR_DTCVAL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_tcr_reg_t hri_sdhc_get_TCR_DTCVAL_bf(const void *const hw, hri_sdhc_tcr_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->TCR.reg;
+ tmp = (tmp & SDHC_TCR_DTCVAL(mask)) >> SDHC_TCR_DTCVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_TCR_DTCVAL_bf(const void *const hw, hri_sdhc_tcr_reg_t data)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->TCR.reg;
+ tmp &= ~SDHC_TCR_DTCVAL_Msk;
+ tmp |= SDHC_TCR_DTCVAL(data);
+ ((Sdhc *)hw)->TCR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_TCR_DTCVAL_bf(const void *const hw, hri_sdhc_tcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TCR.reg &= ~SDHC_TCR_DTCVAL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_TCR_DTCVAL_bf(const void *const hw, hri_sdhc_tcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TCR.reg ^= SDHC_TCR_DTCVAL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_tcr_reg_t hri_sdhc_read_TCR_DTCVAL_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->TCR.reg;
+ tmp = (tmp & SDHC_TCR_DTCVAL_Msk) >> SDHC_TCR_DTCVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_TCR_reg(const void *const hw, hri_sdhc_tcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TCR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_tcr_reg_t hri_sdhc_get_TCR_reg(const void *const hw, hri_sdhc_tcr_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->TCR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_TCR_reg(const void *const hw, hri_sdhc_tcr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TCR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_TCR_reg(const void *const hw, hri_sdhc_tcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TCR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_TCR_reg(const void *const hw, hri_sdhc_tcr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->TCR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_tcr_reg_t hri_sdhc_read_TCR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->TCR.reg;
+}
+
+static inline void hri_sdhc_set_SRR_SWRSTALL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SRR.reg |= SDHC_SRR_SWRSTALL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_SRR_SWRSTALL_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->SRR.reg;
+ tmp = (tmp & SDHC_SRR_SWRSTALL) >> SDHC_SRR_SWRSTALL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_SRR_SWRSTALL_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->SRR.reg;
+ tmp &= ~SDHC_SRR_SWRSTALL;
+ tmp |= value << SDHC_SRR_SWRSTALL_Pos;
+ ((Sdhc *)hw)->SRR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_SRR_SWRSTALL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SRR.reg &= ~SDHC_SRR_SWRSTALL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_SRR_SWRSTALL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SRR.reg ^= SDHC_SRR_SWRSTALL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_SRR_SWRSTCMD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SRR.reg |= SDHC_SRR_SWRSTCMD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_SRR_SWRSTCMD_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->SRR.reg;
+ tmp = (tmp & SDHC_SRR_SWRSTCMD) >> SDHC_SRR_SWRSTCMD_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_SRR_SWRSTCMD_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->SRR.reg;
+ tmp &= ~SDHC_SRR_SWRSTCMD;
+ tmp |= value << SDHC_SRR_SWRSTCMD_Pos;
+ ((Sdhc *)hw)->SRR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_SRR_SWRSTCMD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SRR.reg &= ~SDHC_SRR_SWRSTCMD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_SRR_SWRSTCMD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SRR.reg ^= SDHC_SRR_SWRSTCMD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_SRR_SWRSTDAT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SRR.reg |= SDHC_SRR_SWRSTDAT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_SRR_SWRSTDAT_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->SRR.reg;
+ tmp = (tmp & SDHC_SRR_SWRSTDAT) >> SDHC_SRR_SWRSTDAT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_SRR_SWRSTDAT_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->SRR.reg;
+ tmp &= ~SDHC_SRR_SWRSTDAT;
+ tmp |= value << SDHC_SRR_SWRSTDAT_Pos;
+ ((Sdhc *)hw)->SRR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_SRR_SWRSTDAT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SRR.reg &= ~SDHC_SRR_SWRSTDAT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_SRR_SWRSTDAT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SRR.reg ^= SDHC_SRR_SWRSTDAT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_SRR_reg(const void *const hw, hri_sdhc_srr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SRR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_srr_reg_t hri_sdhc_get_SRR_reg(const void *const hw, hri_sdhc_srr_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->SRR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_SRR_reg(const void *const hw, hri_sdhc_srr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SRR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_SRR_reg(const void *const hw, hri_sdhc_srr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SRR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_SRR_reg(const void *const hw, hri_sdhc_srr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->SRR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_srr_reg_t hri_sdhc_read_SRR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->SRR.reg;
+}
+
+static inline void hri_sdhc_set_NISTR_CMDC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_CMDC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTR_CMDC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp = (tmp & SDHC_NISTR_CMDC) >> SDHC_NISTR_CMDC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTR_CMDC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp &= ~SDHC_NISTR_CMDC;
+ tmp |= value << SDHC_NISTR_CMDC_Pos;
+ ((Sdhc *)hw)->NISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTR_CMDC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_CMDC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTR_CMDC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_CMDC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTR_TRFC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_TRFC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTR_TRFC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp = (tmp & SDHC_NISTR_TRFC) >> SDHC_NISTR_TRFC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTR_TRFC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp &= ~SDHC_NISTR_TRFC;
+ tmp |= value << SDHC_NISTR_TRFC_Pos;
+ ((Sdhc *)hw)->NISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTR_TRFC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_TRFC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTR_TRFC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_TRFC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTR_BLKGE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_BLKGE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTR_BLKGE_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp = (tmp & SDHC_NISTR_BLKGE) >> SDHC_NISTR_BLKGE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTR_BLKGE_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp &= ~SDHC_NISTR_BLKGE;
+ tmp |= value << SDHC_NISTR_BLKGE_Pos;
+ ((Sdhc *)hw)->NISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTR_BLKGE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_BLKGE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTR_BLKGE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_BLKGE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTR_DMAINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_DMAINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTR_DMAINT_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp = (tmp & SDHC_NISTR_DMAINT) >> SDHC_NISTR_DMAINT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTR_DMAINT_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp &= ~SDHC_NISTR_DMAINT;
+ tmp |= value << SDHC_NISTR_DMAINT_Pos;
+ ((Sdhc *)hw)->NISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTR_DMAINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_DMAINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTR_DMAINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_DMAINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTR_BWRRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_BWRRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTR_BWRRDY_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp = (tmp & SDHC_NISTR_BWRRDY) >> SDHC_NISTR_BWRRDY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTR_BWRRDY_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp &= ~SDHC_NISTR_BWRRDY;
+ tmp |= value << SDHC_NISTR_BWRRDY_Pos;
+ ((Sdhc *)hw)->NISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTR_BWRRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_BWRRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTR_BWRRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_BWRRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTR_BRDRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_BRDRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTR_BRDRDY_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp = (tmp & SDHC_NISTR_BRDRDY) >> SDHC_NISTR_BRDRDY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTR_BRDRDY_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp &= ~SDHC_NISTR_BRDRDY;
+ tmp |= value << SDHC_NISTR_BRDRDY_Pos;
+ ((Sdhc *)hw)->NISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTR_BRDRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_BRDRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTR_BRDRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_BRDRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTR_CINS_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_CINS;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTR_CINS_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp = (tmp & SDHC_NISTR_CINS) >> SDHC_NISTR_CINS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTR_CINS_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp &= ~SDHC_NISTR_CINS;
+ tmp |= value << SDHC_NISTR_CINS_Pos;
+ ((Sdhc *)hw)->NISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTR_CINS_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_CINS;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTR_CINS_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_CINS;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTR_CREM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_CREM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTR_CREM_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp = (tmp & SDHC_NISTR_CREM) >> SDHC_NISTR_CREM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTR_CREM_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp &= ~SDHC_NISTR_CREM;
+ tmp |= value << SDHC_NISTR_CREM_Pos;
+ ((Sdhc *)hw)->NISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTR_CREM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_CREM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTR_CREM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_CREM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTR_CINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_CINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTR_CINT_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp = (tmp & SDHC_NISTR_CINT) >> SDHC_NISTR_CINT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTR_CINT_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp &= ~SDHC_NISTR_CINT;
+ tmp |= value << SDHC_NISTR_CINT_Pos;
+ ((Sdhc *)hw)->NISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTR_CINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_CINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTR_CINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_CINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTR_EMMC_BOOTAR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_EMMC_BOOTAR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTR_EMMC_BOOTAR_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp = (tmp & SDHC_NISTR_EMMC_BOOTAR) >> SDHC_NISTR_EMMC_BOOTAR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTR_EMMC_BOOTAR_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp &= ~SDHC_NISTR_EMMC_BOOTAR;
+ tmp |= value << SDHC_NISTR_EMMC_BOOTAR_Pos;
+ ((Sdhc *)hw)->NISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTR_EMMC_BOOTAR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_EMMC_BOOTAR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTR_EMMC_BOOTAR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_EMMC_BOOTAR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTR_ERRINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg |= SDHC_NISTR_ERRINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTR_ERRINT_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp = (tmp & SDHC_NISTR_ERRINT) >> SDHC_NISTR_ERRINT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTR_ERRINT_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp &= ~SDHC_NISTR_ERRINT;
+ tmp |= value << SDHC_NISTR_ERRINT_Pos;
+ ((Sdhc *)hw)->NISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTR_ERRINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg &= ~SDHC_NISTR_ERRINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTR_ERRINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg ^= SDHC_NISTR_ERRINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTR_reg(const void *const hw, hri_sdhc_nistr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_nistr_reg_t hri_sdhc_get_NISTR_reg(const void *const hw, hri_sdhc_nistr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_NISTR_reg(const void *const hw, hri_sdhc_nistr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTR_reg(const void *const hw, hri_sdhc_nistr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTR_reg(const void *const hw, hri_sdhc_nistr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_nistr_reg_t hri_sdhc_read_NISTR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->NISTR.reg;
+}
+
+static inline void hri_sdhc_set_EISTR_CMDTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_CMDTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTR_CMDTEO_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp = (tmp & SDHC_EISTR_CMDTEO) >> SDHC_EISTR_CMDTEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTR_CMDTEO_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp &= ~SDHC_EISTR_CMDTEO;
+ tmp |= value << SDHC_EISTR_CMDTEO_Pos;
+ ((Sdhc *)hw)->EISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTR_CMDTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_CMDTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTR_CMDTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_CMDTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTR_CMDCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_CMDCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTR_CMDCRC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp = (tmp & SDHC_EISTR_CMDCRC) >> SDHC_EISTR_CMDCRC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTR_CMDCRC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp &= ~SDHC_EISTR_CMDCRC;
+ tmp |= value << SDHC_EISTR_CMDCRC_Pos;
+ ((Sdhc *)hw)->EISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTR_CMDCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_CMDCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTR_CMDCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_CMDCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTR_CMDEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_CMDEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTR_CMDEND_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp = (tmp & SDHC_EISTR_CMDEND) >> SDHC_EISTR_CMDEND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTR_CMDEND_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp &= ~SDHC_EISTR_CMDEND;
+ tmp |= value << SDHC_EISTR_CMDEND_Pos;
+ ((Sdhc *)hw)->EISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTR_CMDEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_CMDEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTR_CMDEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_CMDEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTR_CMDIDX_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_CMDIDX;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTR_CMDIDX_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp = (tmp & SDHC_EISTR_CMDIDX) >> SDHC_EISTR_CMDIDX_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTR_CMDIDX_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp &= ~SDHC_EISTR_CMDIDX;
+ tmp |= value << SDHC_EISTR_CMDIDX_Pos;
+ ((Sdhc *)hw)->EISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTR_CMDIDX_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_CMDIDX;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTR_CMDIDX_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_CMDIDX;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTR_DATTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_DATTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTR_DATTEO_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp = (tmp & SDHC_EISTR_DATTEO) >> SDHC_EISTR_DATTEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTR_DATTEO_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp &= ~SDHC_EISTR_DATTEO;
+ tmp |= value << SDHC_EISTR_DATTEO_Pos;
+ ((Sdhc *)hw)->EISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTR_DATTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_DATTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTR_DATTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_DATTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTR_DATCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_DATCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTR_DATCRC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp = (tmp & SDHC_EISTR_DATCRC) >> SDHC_EISTR_DATCRC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTR_DATCRC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp &= ~SDHC_EISTR_DATCRC;
+ tmp |= value << SDHC_EISTR_DATCRC_Pos;
+ ((Sdhc *)hw)->EISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTR_DATCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_DATCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTR_DATCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_DATCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTR_DATEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_DATEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTR_DATEND_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp = (tmp & SDHC_EISTR_DATEND) >> SDHC_EISTR_DATEND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTR_DATEND_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp &= ~SDHC_EISTR_DATEND;
+ tmp |= value << SDHC_EISTR_DATEND_Pos;
+ ((Sdhc *)hw)->EISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTR_DATEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_DATEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTR_DATEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_DATEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTR_CURLIM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_CURLIM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTR_CURLIM_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp = (tmp & SDHC_EISTR_CURLIM) >> SDHC_EISTR_CURLIM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTR_CURLIM_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp &= ~SDHC_EISTR_CURLIM;
+ tmp |= value << SDHC_EISTR_CURLIM_Pos;
+ ((Sdhc *)hw)->EISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTR_CURLIM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_CURLIM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTR_CURLIM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_CURLIM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTR_ACMD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_ACMD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTR_ACMD_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp = (tmp & SDHC_EISTR_ACMD) >> SDHC_EISTR_ACMD_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTR_ACMD_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp &= ~SDHC_EISTR_ACMD;
+ tmp |= value << SDHC_EISTR_ACMD_Pos;
+ ((Sdhc *)hw)->EISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTR_ACMD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_ACMD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTR_ACMD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_ACMD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTR_ADMA_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_ADMA;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTR_ADMA_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp = (tmp & SDHC_EISTR_ADMA) >> SDHC_EISTR_ADMA_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTR_ADMA_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp &= ~SDHC_EISTR_ADMA;
+ tmp |= value << SDHC_EISTR_ADMA_Pos;
+ ((Sdhc *)hw)->EISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTR_ADMA_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_ADMA;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTR_ADMA_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_ADMA;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTR_EMMC_BOOTAE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg |= SDHC_EISTR_EMMC_BOOTAE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTR_EMMC_BOOTAE_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp = (tmp & SDHC_EISTR_EMMC_BOOTAE) >> SDHC_EISTR_EMMC_BOOTAE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTR_EMMC_BOOTAE_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp &= ~SDHC_EISTR_EMMC_BOOTAE;
+ tmp |= value << SDHC_EISTR_EMMC_BOOTAE_Pos;
+ ((Sdhc *)hw)->EISTR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTR_EMMC_BOOTAE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg &= ~SDHC_EISTR_EMMC_BOOTAE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTR_EMMC_BOOTAE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg ^= SDHC_EISTR_EMMC_BOOTAE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTR_reg(const void *const hw, hri_sdhc_eistr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_eistr_reg_t hri_sdhc_get_EISTR_reg(const void *const hw, hri_sdhc_eistr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_EISTR_reg(const void *const hw, hri_sdhc_eistr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTR_reg(const void *const hw, hri_sdhc_eistr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTR_reg(const void *const hw, hri_sdhc_eistr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_eistr_reg_t hri_sdhc_read_EISTR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->EISTR.reg;
+}
+
+static inline void hri_sdhc_set_NISTER_CMDC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_CMDC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTER_CMDC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp = (tmp & SDHC_NISTER_CMDC) >> SDHC_NISTER_CMDC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTER_CMDC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp &= ~SDHC_NISTER_CMDC;
+ tmp |= value << SDHC_NISTER_CMDC_Pos;
+ ((Sdhc *)hw)->NISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTER_CMDC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_CMDC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTER_CMDC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_CMDC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTER_TRFC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_TRFC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTER_TRFC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp = (tmp & SDHC_NISTER_TRFC) >> SDHC_NISTER_TRFC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTER_TRFC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp &= ~SDHC_NISTER_TRFC;
+ tmp |= value << SDHC_NISTER_TRFC_Pos;
+ ((Sdhc *)hw)->NISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTER_TRFC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_TRFC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTER_TRFC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_TRFC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTER_BLKGE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_BLKGE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTER_BLKGE_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp = (tmp & SDHC_NISTER_BLKGE) >> SDHC_NISTER_BLKGE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTER_BLKGE_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp &= ~SDHC_NISTER_BLKGE;
+ tmp |= value << SDHC_NISTER_BLKGE_Pos;
+ ((Sdhc *)hw)->NISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTER_BLKGE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_BLKGE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTER_BLKGE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_BLKGE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTER_DMAINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_DMAINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTER_DMAINT_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp = (tmp & SDHC_NISTER_DMAINT) >> SDHC_NISTER_DMAINT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTER_DMAINT_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp &= ~SDHC_NISTER_DMAINT;
+ tmp |= value << SDHC_NISTER_DMAINT_Pos;
+ ((Sdhc *)hw)->NISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTER_DMAINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_DMAINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTER_DMAINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_DMAINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTER_BWRRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_BWRRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTER_BWRRDY_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp = (tmp & SDHC_NISTER_BWRRDY) >> SDHC_NISTER_BWRRDY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTER_BWRRDY_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp &= ~SDHC_NISTER_BWRRDY;
+ tmp |= value << SDHC_NISTER_BWRRDY_Pos;
+ ((Sdhc *)hw)->NISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTER_BWRRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_BWRRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTER_BWRRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_BWRRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTER_BRDRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_BRDRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTER_BRDRDY_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp = (tmp & SDHC_NISTER_BRDRDY) >> SDHC_NISTER_BRDRDY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTER_BRDRDY_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp &= ~SDHC_NISTER_BRDRDY;
+ tmp |= value << SDHC_NISTER_BRDRDY_Pos;
+ ((Sdhc *)hw)->NISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTER_BRDRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_BRDRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTER_BRDRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_BRDRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTER_CINS_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_CINS;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTER_CINS_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp = (tmp & SDHC_NISTER_CINS) >> SDHC_NISTER_CINS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTER_CINS_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp &= ~SDHC_NISTER_CINS;
+ tmp |= value << SDHC_NISTER_CINS_Pos;
+ ((Sdhc *)hw)->NISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTER_CINS_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_CINS;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTER_CINS_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_CINS;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTER_CREM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_CREM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTER_CREM_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp = (tmp & SDHC_NISTER_CREM) >> SDHC_NISTER_CREM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTER_CREM_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp &= ~SDHC_NISTER_CREM;
+ tmp |= value << SDHC_NISTER_CREM_Pos;
+ ((Sdhc *)hw)->NISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTER_CREM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_CREM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTER_CREM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_CREM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTER_CINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_CINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTER_CINT_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp = (tmp & SDHC_NISTER_CINT) >> SDHC_NISTER_CINT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTER_CINT_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp &= ~SDHC_NISTER_CINT;
+ tmp |= value << SDHC_NISTER_CINT_Pos;
+ ((Sdhc *)hw)->NISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTER_CINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_CINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTER_CINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_CINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTER_EMMC_BOOTAR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg |= SDHC_NISTER_EMMC_BOOTAR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISTER_EMMC_BOOTAR_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp = (tmp & SDHC_NISTER_EMMC_BOOTAR) >> SDHC_NISTER_EMMC_BOOTAR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISTER_EMMC_BOOTAR_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp &= ~SDHC_NISTER_EMMC_BOOTAR;
+ tmp |= value << SDHC_NISTER_EMMC_BOOTAR_Pos;
+ ((Sdhc *)hw)->NISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTER_EMMC_BOOTAR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg &= ~SDHC_NISTER_EMMC_BOOTAR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTER_EMMC_BOOTAR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg ^= SDHC_NISTER_EMMC_BOOTAR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISTER_reg(const void *const hw, hri_sdhc_nister_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_nister_reg_t hri_sdhc_get_NISTER_reg(const void *const hw, hri_sdhc_nister_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISTER.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_NISTER_reg(const void *const hw, hri_sdhc_nister_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISTER_reg(const void *const hw, hri_sdhc_nister_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISTER_reg(const void *const hw, hri_sdhc_nister_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISTER.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_nister_reg_t hri_sdhc_read_NISTER_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->NISTER.reg;
+}
+
+static inline void hri_sdhc_set_EISTER_CMDTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_CMDTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTER_CMDTEO_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp = (tmp & SDHC_EISTER_CMDTEO) >> SDHC_EISTER_CMDTEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTER_CMDTEO_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp &= ~SDHC_EISTER_CMDTEO;
+ tmp |= value << SDHC_EISTER_CMDTEO_Pos;
+ ((Sdhc *)hw)->EISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTER_CMDTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_CMDTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTER_CMDTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_CMDTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTER_CMDCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_CMDCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTER_CMDCRC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp = (tmp & SDHC_EISTER_CMDCRC) >> SDHC_EISTER_CMDCRC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTER_CMDCRC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp &= ~SDHC_EISTER_CMDCRC;
+ tmp |= value << SDHC_EISTER_CMDCRC_Pos;
+ ((Sdhc *)hw)->EISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTER_CMDCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_CMDCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTER_CMDCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_CMDCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTER_CMDEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_CMDEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTER_CMDEND_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp = (tmp & SDHC_EISTER_CMDEND) >> SDHC_EISTER_CMDEND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTER_CMDEND_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp &= ~SDHC_EISTER_CMDEND;
+ tmp |= value << SDHC_EISTER_CMDEND_Pos;
+ ((Sdhc *)hw)->EISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTER_CMDEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_CMDEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTER_CMDEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_CMDEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTER_CMDIDX_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_CMDIDX;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTER_CMDIDX_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp = (tmp & SDHC_EISTER_CMDIDX) >> SDHC_EISTER_CMDIDX_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTER_CMDIDX_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp &= ~SDHC_EISTER_CMDIDX;
+ tmp |= value << SDHC_EISTER_CMDIDX_Pos;
+ ((Sdhc *)hw)->EISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTER_CMDIDX_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_CMDIDX;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTER_CMDIDX_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_CMDIDX;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTER_DATTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_DATTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTER_DATTEO_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp = (tmp & SDHC_EISTER_DATTEO) >> SDHC_EISTER_DATTEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTER_DATTEO_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp &= ~SDHC_EISTER_DATTEO;
+ tmp |= value << SDHC_EISTER_DATTEO_Pos;
+ ((Sdhc *)hw)->EISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTER_DATTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_DATTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTER_DATTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_DATTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTER_DATCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_DATCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTER_DATCRC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp = (tmp & SDHC_EISTER_DATCRC) >> SDHC_EISTER_DATCRC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTER_DATCRC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp &= ~SDHC_EISTER_DATCRC;
+ tmp |= value << SDHC_EISTER_DATCRC_Pos;
+ ((Sdhc *)hw)->EISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTER_DATCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_DATCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTER_DATCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_DATCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTER_DATEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_DATEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTER_DATEND_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp = (tmp & SDHC_EISTER_DATEND) >> SDHC_EISTER_DATEND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTER_DATEND_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp &= ~SDHC_EISTER_DATEND;
+ tmp |= value << SDHC_EISTER_DATEND_Pos;
+ ((Sdhc *)hw)->EISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTER_DATEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_DATEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTER_DATEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_DATEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTER_CURLIM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_CURLIM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTER_CURLIM_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp = (tmp & SDHC_EISTER_CURLIM) >> SDHC_EISTER_CURLIM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTER_CURLIM_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp &= ~SDHC_EISTER_CURLIM;
+ tmp |= value << SDHC_EISTER_CURLIM_Pos;
+ ((Sdhc *)hw)->EISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTER_CURLIM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_CURLIM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTER_CURLIM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_CURLIM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTER_ACMD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_ACMD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTER_ACMD_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp = (tmp & SDHC_EISTER_ACMD) >> SDHC_EISTER_ACMD_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTER_ACMD_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp &= ~SDHC_EISTER_ACMD;
+ tmp |= value << SDHC_EISTER_ACMD_Pos;
+ ((Sdhc *)hw)->EISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTER_ACMD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_ACMD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTER_ACMD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_ACMD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTER_ADMA_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_ADMA;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTER_ADMA_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp = (tmp & SDHC_EISTER_ADMA) >> SDHC_EISTER_ADMA_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTER_ADMA_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp &= ~SDHC_EISTER_ADMA;
+ tmp |= value << SDHC_EISTER_ADMA_Pos;
+ ((Sdhc *)hw)->EISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTER_ADMA_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_ADMA;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTER_ADMA_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_ADMA;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTER_EMMC_BOOTAE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg |= SDHC_EISTER_EMMC_BOOTAE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISTER_EMMC_BOOTAE_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp = (tmp & SDHC_EISTER_EMMC_BOOTAE) >> SDHC_EISTER_EMMC_BOOTAE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISTER_EMMC_BOOTAE_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp &= ~SDHC_EISTER_EMMC_BOOTAE;
+ tmp |= value << SDHC_EISTER_EMMC_BOOTAE_Pos;
+ ((Sdhc *)hw)->EISTER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTER_EMMC_BOOTAE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg &= ~SDHC_EISTER_EMMC_BOOTAE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTER_EMMC_BOOTAE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg ^= SDHC_EISTER_EMMC_BOOTAE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISTER_reg(const void *const hw, hri_sdhc_eister_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_eister_reg_t hri_sdhc_get_EISTER_reg(const void *const hw, hri_sdhc_eister_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISTER.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_EISTER_reg(const void *const hw, hri_sdhc_eister_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISTER_reg(const void *const hw, hri_sdhc_eister_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISTER_reg(const void *const hw, hri_sdhc_eister_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISTER.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_eister_reg_t hri_sdhc_read_EISTER_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->EISTER.reg;
+}
+
+static inline void hri_sdhc_set_NISIER_CMDC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_CMDC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISIER_CMDC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp = (tmp & SDHC_NISIER_CMDC) >> SDHC_NISIER_CMDC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISIER_CMDC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp &= ~SDHC_NISIER_CMDC;
+ tmp |= value << SDHC_NISIER_CMDC_Pos;
+ ((Sdhc *)hw)->NISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISIER_CMDC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_CMDC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISIER_CMDC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_CMDC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISIER_TRFC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_TRFC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISIER_TRFC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp = (tmp & SDHC_NISIER_TRFC) >> SDHC_NISIER_TRFC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISIER_TRFC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp &= ~SDHC_NISIER_TRFC;
+ tmp |= value << SDHC_NISIER_TRFC_Pos;
+ ((Sdhc *)hw)->NISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISIER_TRFC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_TRFC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISIER_TRFC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_TRFC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISIER_BLKGE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_BLKGE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISIER_BLKGE_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp = (tmp & SDHC_NISIER_BLKGE) >> SDHC_NISIER_BLKGE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISIER_BLKGE_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp &= ~SDHC_NISIER_BLKGE;
+ tmp |= value << SDHC_NISIER_BLKGE_Pos;
+ ((Sdhc *)hw)->NISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISIER_BLKGE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_BLKGE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISIER_BLKGE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_BLKGE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISIER_DMAINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_DMAINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISIER_DMAINT_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp = (tmp & SDHC_NISIER_DMAINT) >> SDHC_NISIER_DMAINT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISIER_DMAINT_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp &= ~SDHC_NISIER_DMAINT;
+ tmp |= value << SDHC_NISIER_DMAINT_Pos;
+ ((Sdhc *)hw)->NISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISIER_DMAINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_DMAINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISIER_DMAINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_DMAINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISIER_BWRRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_BWRRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISIER_BWRRDY_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp = (tmp & SDHC_NISIER_BWRRDY) >> SDHC_NISIER_BWRRDY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISIER_BWRRDY_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp &= ~SDHC_NISIER_BWRRDY;
+ tmp |= value << SDHC_NISIER_BWRRDY_Pos;
+ ((Sdhc *)hw)->NISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISIER_BWRRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_BWRRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISIER_BWRRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_BWRRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISIER_BRDRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_BRDRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISIER_BRDRDY_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp = (tmp & SDHC_NISIER_BRDRDY) >> SDHC_NISIER_BRDRDY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISIER_BRDRDY_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp &= ~SDHC_NISIER_BRDRDY;
+ tmp |= value << SDHC_NISIER_BRDRDY_Pos;
+ ((Sdhc *)hw)->NISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISIER_BRDRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_BRDRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISIER_BRDRDY_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_BRDRDY;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISIER_CINS_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_CINS;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISIER_CINS_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp = (tmp & SDHC_NISIER_CINS) >> SDHC_NISIER_CINS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISIER_CINS_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp &= ~SDHC_NISIER_CINS;
+ tmp |= value << SDHC_NISIER_CINS_Pos;
+ ((Sdhc *)hw)->NISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISIER_CINS_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_CINS;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISIER_CINS_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_CINS;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISIER_CREM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_CREM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISIER_CREM_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp = (tmp & SDHC_NISIER_CREM) >> SDHC_NISIER_CREM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISIER_CREM_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp &= ~SDHC_NISIER_CREM;
+ tmp |= value << SDHC_NISIER_CREM_Pos;
+ ((Sdhc *)hw)->NISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISIER_CREM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_CREM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISIER_CREM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_CREM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISIER_CINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_CINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISIER_CINT_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp = (tmp & SDHC_NISIER_CINT) >> SDHC_NISIER_CINT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISIER_CINT_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp &= ~SDHC_NISIER_CINT;
+ tmp |= value << SDHC_NISIER_CINT_Pos;
+ ((Sdhc *)hw)->NISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISIER_CINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_CINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISIER_CINT_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_CINT;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISIER_EMMC_BOOTAR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg |= SDHC_NISIER_EMMC_BOOTAR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_NISIER_EMMC_BOOTAR_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp = (tmp & SDHC_NISIER_EMMC_BOOTAR) >> SDHC_NISIER_EMMC_BOOTAR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_NISIER_EMMC_BOOTAR_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp &= ~SDHC_NISIER_EMMC_BOOTAR;
+ tmp |= value << SDHC_NISIER_EMMC_BOOTAR_Pos;
+ ((Sdhc *)hw)->NISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISIER_EMMC_BOOTAR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg &= ~SDHC_NISIER_EMMC_BOOTAR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISIER_EMMC_BOOTAR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg ^= SDHC_NISIER_EMMC_BOOTAR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_NISIER_reg(const void *const hw, hri_sdhc_nisier_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_nisier_reg_t hri_sdhc_get_NISIER_reg(const void *const hw, hri_sdhc_nisier_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->NISIER.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_NISIER_reg(const void *const hw, hri_sdhc_nisier_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_NISIER_reg(const void *const hw, hri_sdhc_nisier_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_NISIER_reg(const void *const hw, hri_sdhc_nisier_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->NISIER.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_nisier_reg_t hri_sdhc_read_NISIER_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->NISIER.reg;
+}
+
+static inline void hri_sdhc_set_EISIER_CMDTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_CMDTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISIER_CMDTEO_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp = (tmp & SDHC_EISIER_CMDTEO) >> SDHC_EISIER_CMDTEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISIER_CMDTEO_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp &= ~SDHC_EISIER_CMDTEO;
+ tmp |= value << SDHC_EISIER_CMDTEO_Pos;
+ ((Sdhc *)hw)->EISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISIER_CMDTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_CMDTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISIER_CMDTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_CMDTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISIER_CMDCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_CMDCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISIER_CMDCRC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp = (tmp & SDHC_EISIER_CMDCRC) >> SDHC_EISIER_CMDCRC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISIER_CMDCRC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp &= ~SDHC_EISIER_CMDCRC;
+ tmp |= value << SDHC_EISIER_CMDCRC_Pos;
+ ((Sdhc *)hw)->EISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISIER_CMDCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_CMDCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISIER_CMDCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_CMDCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISIER_CMDEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_CMDEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISIER_CMDEND_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp = (tmp & SDHC_EISIER_CMDEND) >> SDHC_EISIER_CMDEND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISIER_CMDEND_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp &= ~SDHC_EISIER_CMDEND;
+ tmp |= value << SDHC_EISIER_CMDEND_Pos;
+ ((Sdhc *)hw)->EISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISIER_CMDEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_CMDEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISIER_CMDEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_CMDEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISIER_CMDIDX_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_CMDIDX;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISIER_CMDIDX_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp = (tmp & SDHC_EISIER_CMDIDX) >> SDHC_EISIER_CMDIDX_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISIER_CMDIDX_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp &= ~SDHC_EISIER_CMDIDX;
+ tmp |= value << SDHC_EISIER_CMDIDX_Pos;
+ ((Sdhc *)hw)->EISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISIER_CMDIDX_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_CMDIDX;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISIER_CMDIDX_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_CMDIDX;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISIER_DATTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_DATTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISIER_DATTEO_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp = (tmp & SDHC_EISIER_DATTEO) >> SDHC_EISIER_DATTEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISIER_DATTEO_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp &= ~SDHC_EISIER_DATTEO;
+ tmp |= value << SDHC_EISIER_DATTEO_Pos;
+ ((Sdhc *)hw)->EISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISIER_DATTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_DATTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISIER_DATTEO_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_DATTEO;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISIER_DATCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_DATCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISIER_DATCRC_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp = (tmp & SDHC_EISIER_DATCRC) >> SDHC_EISIER_DATCRC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISIER_DATCRC_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp &= ~SDHC_EISIER_DATCRC;
+ tmp |= value << SDHC_EISIER_DATCRC_Pos;
+ ((Sdhc *)hw)->EISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISIER_DATCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_DATCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISIER_DATCRC_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_DATCRC;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISIER_DATEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_DATEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISIER_DATEND_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp = (tmp & SDHC_EISIER_DATEND) >> SDHC_EISIER_DATEND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISIER_DATEND_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp &= ~SDHC_EISIER_DATEND;
+ tmp |= value << SDHC_EISIER_DATEND_Pos;
+ ((Sdhc *)hw)->EISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISIER_DATEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_DATEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISIER_DATEND_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_DATEND;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISIER_CURLIM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_CURLIM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISIER_CURLIM_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp = (tmp & SDHC_EISIER_CURLIM) >> SDHC_EISIER_CURLIM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISIER_CURLIM_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp &= ~SDHC_EISIER_CURLIM;
+ tmp |= value << SDHC_EISIER_CURLIM_Pos;
+ ((Sdhc *)hw)->EISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISIER_CURLIM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_CURLIM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISIER_CURLIM_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_CURLIM;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISIER_ACMD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_ACMD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISIER_ACMD_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp = (tmp & SDHC_EISIER_ACMD) >> SDHC_EISIER_ACMD_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISIER_ACMD_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp &= ~SDHC_EISIER_ACMD;
+ tmp |= value << SDHC_EISIER_ACMD_Pos;
+ ((Sdhc *)hw)->EISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISIER_ACMD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_ACMD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISIER_ACMD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_ACMD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISIER_ADMA_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_ADMA;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISIER_ADMA_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp = (tmp & SDHC_EISIER_ADMA) >> SDHC_EISIER_ADMA_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISIER_ADMA_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp &= ~SDHC_EISIER_ADMA;
+ tmp |= value << SDHC_EISIER_ADMA_Pos;
+ ((Sdhc *)hw)->EISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISIER_ADMA_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_ADMA;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISIER_ADMA_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_ADMA;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISIER_EMMC_BOOTAE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg |= SDHC_EISIER_EMMC_BOOTAE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_EISIER_EMMC_BOOTAE_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp = (tmp & SDHC_EISIER_EMMC_BOOTAE) >> SDHC_EISIER_EMMC_BOOTAE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_EISIER_EMMC_BOOTAE_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp &= ~SDHC_EISIER_EMMC_BOOTAE;
+ tmp |= value << SDHC_EISIER_EMMC_BOOTAE_Pos;
+ ((Sdhc *)hw)->EISIER.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISIER_EMMC_BOOTAE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg &= ~SDHC_EISIER_EMMC_BOOTAE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISIER_EMMC_BOOTAE_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg ^= SDHC_EISIER_EMMC_BOOTAE;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_EISIER_reg(const void *const hw, hri_sdhc_eisier_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_eisier_reg_t hri_sdhc_get_EISIER_reg(const void *const hw, hri_sdhc_eisier_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->EISIER.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_EISIER_reg(const void *const hw, hri_sdhc_eisier_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_EISIER_reg(const void *const hw, hri_sdhc_eisier_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_EISIER_reg(const void *const hw, hri_sdhc_eisier_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->EISIER.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_eisier_reg_t hri_sdhc_read_EISIER_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->EISIER.reg;
+}
+
+static inline void hri_sdhc_set_HC2R_VS18EN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_VS18EN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_HC2R_VS18EN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp = (tmp & SDHC_HC2R_VS18EN) >> SDHC_HC2R_VS18EN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_HC2R_VS18EN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp &= ~SDHC_HC2R_VS18EN;
+ tmp |= value << SDHC_HC2R_VS18EN_Pos;
+ ((Sdhc *)hw)->HC2R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC2R_VS18EN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_VS18EN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC2R_VS18EN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_VS18EN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_HC2R_EXTUN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_EXTUN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_HC2R_EXTUN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp = (tmp & SDHC_HC2R_EXTUN) >> SDHC_HC2R_EXTUN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_HC2R_EXTUN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp &= ~SDHC_HC2R_EXTUN;
+ tmp |= value << SDHC_HC2R_EXTUN_Pos;
+ ((Sdhc *)hw)->HC2R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC2R_EXTUN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_EXTUN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC2R_EXTUN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_EXTUN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_HC2R_SLCKSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_SLCKSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_HC2R_SLCKSEL_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp = (tmp & SDHC_HC2R_SLCKSEL) >> SDHC_HC2R_SLCKSEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_HC2R_SLCKSEL_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp &= ~SDHC_HC2R_SLCKSEL;
+ tmp |= value << SDHC_HC2R_SLCKSEL_Pos;
+ ((Sdhc *)hw)->HC2R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC2R_SLCKSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_SLCKSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC2R_SLCKSEL_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_SLCKSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_HC2R_ASINTEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_ASINTEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_HC2R_ASINTEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp = (tmp & SDHC_HC2R_ASINTEN) >> SDHC_HC2R_ASINTEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_HC2R_ASINTEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp &= ~SDHC_HC2R_ASINTEN;
+ tmp |= value << SDHC_HC2R_ASINTEN_Pos;
+ ((Sdhc *)hw)->HC2R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC2R_ASINTEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_ASINTEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC2R_ASINTEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_ASINTEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_HC2R_PVALEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_PVALEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_HC2R_PVALEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp = (tmp & SDHC_HC2R_PVALEN) >> SDHC_HC2R_PVALEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_HC2R_PVALEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp &= ~SDHC_HC2R_PVALEN;
+ tmp |= value << SDHC_HC2R_PVALEN_Pos;
+ ((Sdhc *)hw)->HC2R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC2R_PVALEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_PVALEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC2R_PVALEN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_PVALEN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_HC2R_UHSMS_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_UHSMS(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_hc2r_reg_t hri_sdhc_get_HC2R_UHSMS_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp = (tmp & SDHC_HC2R_UHSMS(mask)) >> SDHC_HC2R_UHSMS_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_HC2R_UHSMS_bf(const void *const hw, hri_sdhc_hc2r_reg_t data)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp &= ~SDHC_HC2R_UHSMS_Msk;
+ tmp |= SDHC_HC2R_UHSMS(data);
+ ((Sdhc *)hw)->HC2R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC2R_UHSMS_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_UHSMS(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC2R_UHSMS_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_UHSMS(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_hc2r_reg_t hri_sdhc_read_HC2R_UHSMS_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp = (tmp & SDHC_HC2R_UHSMS_Msk) >> SDHC_HC2R_UHSMS_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_HC2R_EMMC_HS200EN_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_EMMC_HS200EN(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_hc2r_reg_t hri_sdhc_get_HC2R_EMMC_HS200EN_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp = (tmp & SDHC_HC2R_EMMC_HS200EN(mask)) >> SDHC_HC2R_EMMC_HS200EN_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_HC2R_EMMC_HS200EN_bf(const void *const hw, hri_sdhc_hc2r_reg_t data)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp &= ~SDHC_HC2R_EMMC_HS200EN_Msk;
+ tmp |= SDHC_HC2R_EMMC_HS200EN(data);
+ ((Sdhc *)hw)->HC2R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC2R_EMMC_HS200EN_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_EMMC_HS200EN(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC2R_EMMC_HS200EN_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_EMMC_HS200EN(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_hc2r_reg_t hri_sdhc_read_HC2R_EMMC_HS200EN_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp = (tmp & SDHC_HC2R_EMMC_HS200EN_Msk) >> SDHC_HC2R_EMMC_HS200EN_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_HC2R_DRVSEL_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg |= SDHC_HC2R_DRVSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_hc2r_reg_t hri_sdhc_get_HC2R_DRVSEL_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp = (tmp & SDHC_HC2R_DRVSEL(mask)) >> SDHC_HC2R_DRVSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_HC2R_DRVSEL_bf(const void *const hw, hri_sdhc_hc2r_reg_t data)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp &= ~SDHC_HC2R_DRVSEL_Msk;
+ tmp |= SDHC_HC2R_DRVSEL(data);
+ ((Sdhc *)hw)->HC2R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC2R_DRVSEL_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg &= ~SDHC_HC2R_DRVSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC2R_DRVSEL_bf(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg ^= SDHC_HC2R_DRVSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_hc2r_reg_t hri_sdhc_read_HC2R_DRVSEL_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp = (tmp & SDHC_HC2R_DRVSEL_Msk) >> SDHC_HC2R_DRVSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_HC2R_reg(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_hc2r_reg_t hri_sdhc_get_HC2R_reg(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->HC2R.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_HC2R_reg(const void *const hw, hri_sdhc_hc2r_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_HC2R_reg(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_HC2R_reg(const void *const hw, hri_sdhc_hc2r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->HC2R.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_hc2r_reg_t hri_sdhc_read_HC2R_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->HC2R.reg;
+}
+
+static inline void hri_sdhc_set_ASAR_ADMASA_bf(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ASAR[index].reg |= SDHC_ASAR_ADMASA(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_asar_reg_t hri_sdhc_get_ASAR_ADMASA_bf(const void *const hw, uint8_t index,
+ hri_sdhc_asar_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->ASAR[index].reg;
+ tmp = (tmp & SDHC_ASAR_ADMASA(mask)) >> SDHC_ASAR_ADMASA_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_ASAR_ADMASA_bf(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t data)
+{
+ uint32_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->ASAR[index].reg;
+ tmp &= ~SDHC_ASAR_ADMASA_Msk;
+ tmp |= SDHC_ASAR_ADMASA(data);
+ ((Sdhc *)hw)->ASAR[index].reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_ASAR_ADMASA_bf(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ASAR[index].reg &= ~SDHC_ASAR_ADMASA(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_ASAR_ADMASA_bf(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ASAR[index].reg ^= SDHC_ASAR_ADMASA(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_asar_reg_t hri_sdhc_read_ASAR_ADMASA_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->ASAR[index].reg;
+ tmp = (tmp & SDHC_ASAR_ADMASA_Msk) >> SDHC_ASAR_ADMASA_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_ASAR_reg(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ASAR[index].reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_asar_reg_t hri_sdhc_get_ASAR_reg(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->ASAR[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_ASAR_reg(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ASAR[index].reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_ASAR_reg(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ASAR[index].reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_ASAR_reg(const void *const hw, uint8_t index, hri_sdhc_asar_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ASAR[index].reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_asar_reg_t hri_sdhc_read_ASAR_reg(const void *const hw, uint8_t index)
+{
+ return ((Sdhc *)hw)->ASAR[index].reg;
+}
+
+static inline void hri_sdhc_set_PVR_CLKGSEL_bit(const void *const hw, uint8_t index)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PVR[index].reg |= SDHC_PVR_CLKGSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_PVR_CLKGSEL_bit(const void *const hw, uint8_t index)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->PVR[index].reg;
+ tmp = (tmp & SDHC_PVR_CLKGSEL) >> SDHC_PVR_CLKGSEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_PVR_CLKGSEL_bit(const void *const hw, uint8_t index, bool value)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->PVR[index].reg;
+ tmp &= ~SDHC_PVR_CLKGSEL;
+ tmp |= value << SDHC_PVR_CLKGSEL_Pos;
+ ((Sdhc *)hw)->PVR[index].reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_PVR_CLKGSEL_bit(const void *const hw, uint8_t index)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PVR[index].reg &= ~SDHC_PVR_CLKGSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_PVR_CLKGSEL_bit(const void *const hw, uint8_t index)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PVR[index].reg ^= SDHC_PVR_CLKGSEL;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_PVR_SDCLKFSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PVR[index].reg |= SDHC_PVR_SDCLKFSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_pvr_reg_t hri_sdhc_get_PVR_SDCLKFSEL_bf(const void *const hw, uint8_t index,
+ hri_sdhc_pvr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->PVR[index].reg;
+ tmp = (tmp & SDHC_PVR_SDCLKFSEL(mask)) >> SDHC_PVR_SDCLKFSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_PVR_SDCLKFSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t data)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->PVR[index].reg;
+ tmp &= ~SDHC_PVR_SDCLKFSEL_Msk;
+ tmp |= SDHC_PVR_SDCLKFSEL(data);
+ ((Sdhc *)hw)->PVR[index].reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_PVR_SDCLKFSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PVR[index].reg &= ~SDHC_PVR_SDCLKFSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_PVR_SDCLKFSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PVR[index].reg ^= SDHC_PVR_SDCLKFSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_pvr_reg_t hri_sdhc_read_PVR_SDCLKFSEL_bf(const void *const hw, uint8_t index)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->PVR[index].reg;
+ tmp = (tmp & SDHC_PVR_SDCLKFSEL_Msk) >> SDHC_PVR_SDCLKFSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_PVR_DRVSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PVR[index].reg |= SDHC_PVR_DRVSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_pvr_reg_t hri_sdhc_get_PVR_DRVSEL_bf(const void *const hw, uint8_t index,
+ hri_sdhc_pvr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->PVR[index].reg;
+ tmp = (tmp & SDHC_PVR_DRVSEL(mask)) >> SDHC_PVR_DRVSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_PVR_DRVSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t data)
+{
+ uint16_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->PVR[index].reg;
+ tmp &= ~SDHC_PVR_DRVSEL_Msk;
+ tmp |= SDHC_PVR_DRVSEL(data);
+ ((Sdhc *)hw)->PVR[index].reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_PVR_DRVSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PVR[index].reg &= ~SDHC_PVR_DRVSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_PVR_DRVSEL_bf(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PVR[index].reg ^= SDHC_PVR_DRVSEL(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_pvr_reg_t hri_sdhc_read_PVR_DRVSEL_bf(const void *const hw, uint8_t index)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->PVR[index].reg;
+ tmp = (tmp & SDHC_PVR_DRVSEL_Msk) >> SDHC_PVR_DRVSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_PVR_reg(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PVR[index].reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_pvr_reg_t hri_sdhc_get_PVR_reg(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sdhc *)hw)->PVR[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_PVR_reg(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PVR[index].reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_PVR_reg(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PVR[index].reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_PVR_reg(const void *const hw, uint8_t index, hri_sdhc_pvr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->PVR[index].reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_pvr_reg_t hri_sdhc_read_PVR_reg(const void *const hw, uint8_t index)
+{
+ return ((Sdhc *)hw)->PVR[index].reg;
+}
+
+static inline void hri_sdhc_set_MC1R_DDR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg |= SDHC_MC1R_DDR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_MC1R_DDR_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->MC1R.reg;
+ tmp = (tmp & SDHC_MC1R_DDR) >> SDHC_MC1R_DDR_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_MC1R_DDR_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->MC1R.reg;
+ tmp &= ~SDHC_MC1R_DDR;
+ tmp |= value << SDHC_MC1R_DDR_Pos;
+ ((Sdhc *)hw)->MC1R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_MC1R_DDR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg &= ~SDHC_MC1R_DDR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_MC1R_DDR_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg ^= SDHC_MC1R_DDR;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_MC1R_OPD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg |= SDHC_MC1R_OPD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_MC1R_OPD_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->MC1R.reg;
+ tmp = (tmp & SDHC_MC1R_OPD) >> SDHC_MC1R_OPD_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_MC1R_OPD_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->MC1R.reg;
+ tmp &= ~SDHC_MC1R_OPD;
+ tmp |= value << SDHC_MC1R_OPD_Pos;
+ ((Sdhc *)hw)->MC1R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_MC1R_OPD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg &= ~SDHC_MC1R_OPD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_MC1R_OPD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg ^= SDHC_MC1R_OPD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_MC1R_BOOTA_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg |= SDHC_MC1R_BOOTA;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_MC1R_BOOTA_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->MC1R.reg;
+ tmp = (tmp & SDHC_MC1R_BOOTA) >> SDHC_MC1R_BOOTA_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_MC1R_BOOTA_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->MC1R.reg;
+ tmp &= ~SDHC_MC1R_BOOTA;
+ tmp |= value << SDHC_MC1R_BOOTA_Pos;
+ ((Sdhc *)hw)->MC1R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_MC1R_BOOTA_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg &= ~SDHC_MC1R_BOOTA;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_MC1R_BOOTA_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg ^= SDHC_MC1R_BOOTA;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_MC1R_RSTN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg |= SDHC_MC1R_RSTN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_MC1R_RSTN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->MC1R.reg;
+ tmp = (tmp & SDHC_MC1R_RSTN) >> SDHC_MC1R_RSTN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_MC1R_RSTN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->MC1R.reg;
+ tmp &= ~SDHC_MC1R_RSTN;
+ tmp |= value << SDHC_MC1R_RSTN_Pos;
+ ((Sdhc *)hw)->MC1R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_MC1R_RSTN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg &= ~SDHC_MC1R_RSTN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_MC1R_RSTN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg ^= SDHC_MC1R_RSTN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_MC1R_FCD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg |= SDHC_MC1R_FCD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_MC1R_FCD_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->MC1R.reg;
+ tmp = (tmp & SDHC_MC1R_FCD) >> SDHC_MC1R_FCD_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_MC1R_FCD_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->MC1R.reg;
+ tmp &= ~SDHC_MC1R_FCD;
+ tmp |= value << SDHC_MC1R_FCD_Pos;
+ ((Sdhc *)hw)->MC1R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_MC1R_FCD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg &= ~SDHC_MC1R_FCD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_MC1R_FCD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg ^= SDHC_MC1R_FCD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_MC1R_CMDTYP_bf(const void *const hw, hri_sdhc_mc1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg |= SDHC_MC1R_CMDTYP(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_mc1r_reg_t hri_sdhc_get_MC1R_CMDTYP_bf(const void *const hw, hri_sdhc_mc1r_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->MC1R.reg;
+ tmp = (tmp & SDHC_MC1R_CMDTYP(mask)) >> SDHC_MC1R_CMDTYP_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_MC1R_CMDTYP_bf(const void *const hw, hri_sdhc_mc1r_reg_t data)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->MC1R.reg;
+ tmp &= ~SDHC_MC1R_CMDTYP_Msk;
+ tmp |= SDHC_MC1R_CMDTYP(data);
+ ((Sdhc *)hw)->MC1R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_MC1R_CMDTYP_bf(const void *const hw, hri_sdhc_mc1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg &= ~SDHC_MC1R_CMDTYP(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_MC1R_CMDTYP_bf(const void *const hw, hri_sdhc_mc1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg ^= SDHC_MC1R_CMDTYP(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_mc1r_reg_t hri_sdhc_read_MC1R_CMDTYP_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->MC1R.reg;
+ tmp = (tmp & SDHC_MC1R_CMDTYP_Msk) >> SDHC_MC1R_CMDTYP_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_MC1R_reg(const void *const hw, hri_sdhc_mc1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_mc1r_reg_t hri_sdhc_get_MC1R_reg(const void *const hw, hri_sdhc_mc1r_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->MC1R.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_MC1R_reg(const void *const hw, hri_sdhc_mc1r_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_MC1R_reg(const void *const hw, hri_sdhc_mc1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_MC1R_reg(const void *const hw, hri_sdhc_mc1r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC1R.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_mc1r_reg_t hri_sdhc_read_MC1R_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->MC1R.reg;
+}
+
+static inline void hri_sdhc_set_ACR_BMAX_bf(const void *const hw, hri_sdhc_acr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ACR.reg |= SDHC_ACR_BMAX(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_acr_reg_t hri_sdhc_get_ACR_BMAX_bf(const void *const hw, hri_sdhc_acr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->ACR.reg;
+ tmp = (tmp & SDHC_ACR_BMAX(mask)) >> SDHC_ACR_BMAX_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_ACR_BMAX_bf(const void *const hw, hri_sdhc_acr_reg_t data)
+{
+ uint32_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->ACR.reg;
+ tmp &= ~SDHC_ACR_BMAX_Msk;
+ tmp |= SDHC_ACR_BMAX(data);
+ ((Sdhc *)hw)->ACR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_ACR_BMAX_bf(const void *const hw, hri_sdhc_acr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ACR.reg &= ~SDHC_ACR_BMAX(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_ACR_BMAX_bf(const void *const hw, hri_sdhc_acr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ACR.reg ^= SDHC_ACR_BMAX(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_acr_reg_t hri_sdhc_read_ACR_BMAX_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->ACR.reg;
+ tmp = (tmp & SDHC_ACR_BMAX_Msk) >> SDHC_ACR_BMAX_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_ACR_reg(const void *const hw, hri_sdhc_acr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ACR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_acr_reg_t hri_sdhc_get_ACR_reg(const void *const hw, hri_sdhc_acr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->ACR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_ACR_reg(const void *const hw, hri_sdhc_acr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ACR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_ACR_reg(const void *const hw, hri_sdhc_acr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ACR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_ACR_reg(const void *const hw, hri_sdhc_acr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->ACR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_acr_reg_t hri_sdhc_read_ACR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->ACR.reg;
+}
+
+static inline void hri_sdhc_set_CC2R_FSDCLKD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CC2R.reg |= SDHC_CC2R_FSDCLKD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_CC2R_FSDCLKD_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->CC2R.reg;
+ tmp = (tmp & SDHC_CC2R_FSDCLKD) >> SDHC_CC2R_FSDCLKD_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_CC2R_FSDCLKD_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->CC2R.reg;
+ tmp &= ~SDHC_CC2R_FSDCLKD;
+ tmp |= value << SDHC_CC2R_FSDCLKD_Pos;
+ ((Sdhc *)hw)->CC2R.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CC2R_FSDCLKD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CC2R.reg &= ~SDHC_CC2R_FSDCLKD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CC2R_FSDCLKD_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CC2R.reg ^= SDHC_CC2R_FSDCLKD;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_CC2R_reg(const void *const hw, hri_sdhc_cc2r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CC2R.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_cc2r_reg_t hri_sdhc_get_CC2R_reg(const void *const hw, hri_sdhc_cc2r_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->CC2R.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_CC2R_reg(const void *const hw, hri_sdhc_cc2r_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CC2R.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CC2R_reg(const void *const hw, hri_sdhc_cc2r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CC2R.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CC2R_reg(const void *const hw, hri_sdhc_cc2r_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CC2R.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_cc2r_reg_t hri_sdhc_read_CC2R_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->CC2R.reg;
+}
+
+static inline void hri_sdhc_set_CACR_CAPWREN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CACR.reg |= SDHC_CACR_CAPWREN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_CACR_CAPWREN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->CACR.reg;
+ tmp = (tmp & SDHC_CACR_CAPWREN) >> SDHC_CACR_CAPWREN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_CACR_CAPWREN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->CACR.reg;
+ tmp &= ~SDHC_CACR_CAPWREN;
+ tmp |= value << SDHC_CACR_CAPWREN_Pos;
+ ((Sdhc *)hw)->CACR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CACR_CAPWREN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CACR.reg &= ~SDHC_CACR_CAPWREN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CACR_CAPWREN_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CACR.reg ^= SDHC_CACR_CAPWREN;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_CACR_KEY_bf(const void *const hw, hri_sdhc_cacr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CACR.reg |= SDHC_CACR_KEY(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_cacr_reg_t hri_sdhc_get_CACR_KEY_bf(const void *const hw, hri_sdhc_cacr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->CACR.reg;
+ tmp = (tmp & SDHC_CACR_KEY(mask)) >> SDHC_CACR_KEY_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_CACR_KEY_bf(const void *const hw, hri_sdhc_cacr_reg_t data)
+{
+ uint32_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->CACR.reg;
+ tmp &= ~SDHC_CACR_KEY_Msk;
+ tmp |= SDHC_CACR_KEY(data);
+ ((Sdhc *)hw)->CACR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CACR_KEY_bf(const void *const hw, hri_sdhc_cacr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CACR.reg &= ~SDHC_CACR_KEY(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CACR_KEY_bf(const void *const hw, hri_sdhc_cacr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CACR.reg ^= SDHC_CACR_KEY(mask);
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_cacr_reg_t hri_sdhc_read_CACR_KEY_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->CACR.reg;
+ tmp = (tmp & SDHC_CACR_KEY_Msk) >> SDHC_CACR_KEY_Pos;
+ return tmp;
+}
+
+static inline void hri_sdhc_set_CACR_reg(const void *const hw, hri_sdhc_cacr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CACR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_cacr_reg_t hri_sdhc_get_CACR_reg(const void *const hw, hri_sdhc_cacr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sdhc *)hw)->CACR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_CACR_reg(const void *const hw, hri_sdhc_cacr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CACR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_CACR_reg(const void *const hw, hri_sdhc_cacr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CACR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_CACR_reg(const void *const hw, hri_sdhc_cacr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->CACR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_cacr_reg_t hri_sdhc_read_CACR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->CACR.reg;
+}
+
+static inline void hri_sdhc_set_DBGR_NIDBG_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->DBGR.reg |= SDHC_DBGR_NIDBG;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sdhc_get_DBGR_NIDBG_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->DBGR.reg;
+ tmp = (tmp & SDHC_DBGR_NIDBG) >> SDHC_DBGR_NIDBG_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sdhc_write_DBGR_NIDBG_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SDHC_CRITICAL_SECTION_ENTER();
+ tmp = ((Sdhc *)hw)->DBGR.reg;
+ tmp &= ~SDHC_DBGR_NIDBG;
+ tmp |= value << SDHC_DBGR_NIDBG_Pos;
+ ((Sdhc *)hw)->DBGR.reg = tmp;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_DBGR_NIDBG_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->DBGR.reg &= ~SDHC_DBGR_NIDBG;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_DBGR_NIDBG_bit(const void *const hw)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->DBGR.reg ^= SDHC_DBGR_NIDBG;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_set_DBGR_reg(const void *const hw, hri_sdhc_dbgr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->DBGR.reg |= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_dbgr_reg_t hri_sdhc_get_DBGR_reg(const void *const hw, hri_sdhc_dbgr_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sdhc *)hw)->DBGR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sdhc_write_DBGR_reg(const void *const hw, hri_sdhc_dbgr_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->DBGR.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_clear_DBGR_reg(const void *const hw, hri_sdhc_dbgr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->DBGR.reg &= ~mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_toggle_DBGR_reg(const void *const hw, hri_sdhc_dbgr_reg_t mask)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->DBGR.reg ^= mask;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sdhc_dbgr_reg_t hri_sdhc_read_DBGR_reg(const void *const hw)
+{
+ return ((Sdhc *)hw)->DBGR.reg;
+}
+
+static inline void hri_sdhc_write_FERACES_reg(const void *const hw, hri_sdhc_feraces_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->FERACES.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_write_FEREIS_reg(const void *const hw, hri_sdhc_fereis_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->FEREIS.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sdhc_write_MC2R_reg(const void *const hw, hri_sdhc_mc2r_reg_t data)
+{
+ SDHC_CRITICAL_SECTION_ENTER();
+ ((Sdhc *)hw)->MC2R.reg = data;
+ SDHC_CRITICAL_SECTION_LEAVE();
+}
+
+/* Below section is for legacy hri apis name, not recommended to use below left side apis in application */
+#define hri_sdhc_set_SSAR_CMD23_reg(a, b) hri_sdhc_set_SSAR_reg(a, b)
+#define hri_sdhc_get_SSAR_CMD23_reg(a, b) hri_sdhc_get_SSAR_reg(a, b)
+#define hri_sdhc_write_SSAR_CMD23_reg(a, b) hri_sdhc_write_SSAR_reg(a, b)
+#define hri_sdhc_clear_SSAR_CMD23_reg(a, b) hri_sdhc_clear_SSAR_reg(a, b)
+#define hri_sdhc_toggle_SSAR_CMD23_reg(a, b) hri_sdhc_toggle_SSAR_reg(a, b)
+#define hri_sdhc_read_SSAR_CMD23_reg(a) hri_sdhc_read_SSAR_reg(a)
+#define hri_sdhc_set_HC1R_EMMC_DW_bit(a) hri_sdhc_set_HC1R_DW_bit(a)
+#define hri_sdhc_get_HC1R_EMMC_DW_bit(a) hri_sdhc_get_HC1R_DW_bit(a)
+#define hri_sdhc_write_HC1R_EMMC_DW_bit(a, b) hri_sdhc_write_HC1R_DW_bit(a, b)
+#define hri_sdhc_clear_HC1R_EMMC_DW_bit(a) hri_sdhc_clear_HC1R_DW_bit(a)
+#define hri_sdhc_toggle_HC1R_EMMC_DW_bit(a) hri_sdhc_toggle_HC1R_DW_bit(a)
+#define hri_sdhc_set_HC1R_EMMC_HSEN_bit(a) hri_sdhc_set_HC1R_HSEN_bit(a)
+#define hri_sdhc_get_HC1R_EMMC_HSEN_bit(a) hri_sdhc_get_HC1R_HSEN_bit(a)
+#define hri_sdhc_write_HC1R_EMMC_HSEN_bit(a, b) hri_sdhc_write_HC1R_HSEN_bit(a, b)
+#define hri_sdhc_clear_HC1R_EMMC_HSEN_bit(a) hri_sdhc_clear_HC1R_HSEN_bit(a)
+#define hri_sdhc_toggle_HC1R_EMMC_HSEN_bit(a) hri_sdhc_toggle_HC1R_HSEN_bit(a)
+#define hri_sdhc_set_HC1R_EMMC_DMASEL_bf(a, b) hri_sdhc_set_HC1R_DMASEL_bf(a, b)
+#define hri_sdhc_get_HC1R_EMMC_DMASEL_bf(a, b) hri_sdhc_get_HC1R_DMASEL_bf(a, b)
+#define hri_sdhc_write_HC1R_EMMC_DMASEL_bf(a, b) hri_sdhc_write_HC1R_DMASEL_bf(a, b)
+#define hri_sdhc_clear_HC1R_EMMC_DMASEL_bf(a, b) hri_sdhc_clear_HC1R_DMASEL_bf(a, b)
+#define hri_sdhc_toggle_HC1R_EMMC_DMASEL_bf(a, b) hri_sdhc_toggle_HC1R_DMASEL_bf(a, b)
+#define hri_sdhc_read_HC1R_EMMC_DMASEL_bf(a) hri_sdhc_read_HC1R_DMASEL_bf(a)
+#define hri_sdhc_set_HC1R_EMMC_reg(a, b) hri_sdhc_set_HC1R_reg(a, b)
+#define hri_sdhc_get_HC1R_EMMC_reg(a, b) hri_sdhc_get_HC1R_reg(a, b)
+#define hri_sdhc_write_HC1R_EMMC_reg(a, b) hri_sdhc_write_HC1R_reg(a, b)
+#define hri_sdhc_clear_HC1R_EMMC_reg(a, b) hri_sdhc_clear_HC1R_reg(a, b)
+#define hri_sdhc_toggle_HC1R_EMMC_reg(a, b) hri_sdhc_toggle_HC1R_reg(a, b)
+#define hri_sdhc_read_HC1R_EMMC_reg(a) hri_sdhc_read_HC1R_reg(a)
+#define hri_sdhc_set_BGCR_EMMC_STPBGR_bit(a) hri_sdhc_set_BGCR_STPBGR_bit(a)
+#define hri_sdhc_get_BGCR_EMMC_STPBGR_bit(a) hri_sdhc_get_BGCR_STPBGR_bit(a)
+#define hri_sdhc_write_BGCR_EMMC_STPBGR_bit(a, b) hri_sdhc_write_BGCR_STPBGR_bit(a, b)
+#define hri_sdhc_clear_BGCR_EMMC_STPBGR_bit(a) hri_sdhc_clear_BGCR_STPBGR_bit(a)
+#define hri_sdhc_toggle_BGCR_EMMC_STPBGR_bit(a) hri_sdhc_toggle_BGCR_STPBGR_bit(a)
+#define hri_sdhc_set_BGCR_EMMC_CONTR_bit(a) hri_sdhc_set_BGCR_CONTR_bit(a)
+#define hri_sdhc_get_BGCR_EMMC_CONTR_bit(a) hri_sdhc_get_BGCR_CONTR_bit(a)
+#define hri_sdhc_write_BGCR_EMMC_CONTR_bit(a, b) hri_sdhc_write_BGCR_CONTR_bit(a, b)
+#define hri_sdhc_clear_BGCR_EMMC_CONTR_bit(a) hri_sdhc_clear_BGCR_CONTR_bit(a)
+#define hri_sdhc_toggle_BGCR_EMMC_CONTR_bit(a) hri_sdhc_toggle_BGCR_CONTR_bit(a)
+#define hri_sdhc_set_BGCR_EMMC_reg(a, b) hri_sdhc_set_BGCR_reg(a, b)
+#define hri_sdhc_get_BGCR_EMMC_reg(a, b) hri_sdhc_get_BGCR_reg(a, b)
+#define hri_sdhc_write_BGCR_EMMC_reg(a, b) hri_sdhc_write_BGCR_reg(a, b)
+#define hri_sdhc_clear_BGCR_EMMC_reg(a, b) hri_sdhc_clear_BGCR_reg(a, b)
+#define hri_sdhc_toggle_BGCR_EMMC_reg(a, b) hri_sdhc_toggle_BGCR_reg(a, b)
+#define hri_sdhc_read_BGCR_EMMC_reg(a) hri_sdhc_read_BGCR_reg(a)
+#define hri_sdhc_set_NISTR_EMMC_CMDC_bit(a) hri_sdhc_set_NISTR_CMDC_bit(a)
+#define hri_sdhc_get_NISTR_EMMC_CMDC_bit(a) hri_sdhc_get_NISTR_CMDC_bit(a)
+#define hri_sdhc_write_NISTR_EMMC_CMDC_bit(a, b) hri_sdhc_write_NISTR_CMDC_bit(a, b)
+#define hri_sdhc_clear_NISTR_EMMC_CMDC_bit(a) hri_sdhc_clear_NISTR_CMDC_bit(a)
+#define hri_sdhc_toggle_NISTR_EMMC_CMDC_bit(a) hri_sdhc_toggle_NISTR_CMDC_bit(a)
+#define hri_sdhc_set_NISTR_EMMC_TRFC_bit(a) hri_sdhc_set_NISTR_TRFC_bit(a)
+#define hri_sdhc_get_NISTR_EMMC_TRFC_bit(a) hri_sdhc_get_NISTR_TRFC_bit(a)
+#define hri_sdhc_write_NISTR_EMMC_TRFC_bit(a, b) hri_sdhc_write_NISTR_TRFC_bit(a, b)
+#define hri_sdhc_clear_NISTR_EMMC_TRFC_bit(a) hri_sdhc_clear_NISTR_TRFC_bit(a)
+#define hri_sdhc_toggle_NISTR_EMMC_TRFC_bit(a) hri_sdhc_toggle_NISTR_TRFC_bit(a)
+#define hri_sdhc_set_NISTR_EMMC_BLKGE_bit(a) hri_sdhc_set_NISTR_BLKGE_bit(a)
+#define hri_sdhc_get_NISTR_EMMC_BLKGE_bit(a) hri_sdhc_get_NISTR_BLKGE_bit(a)
+#define hri_sdhc_write_NISTR_EMMC_BLKGE_bit(a, b) hri_sdhc_write_NISTR_BLKGE_bit(a, b)
+#define hri_sdhc_clear_NISTR_EMMC_BLKGE_bit(a) hri_sdhc_clear_NISTR_BLKGE_bit(a)
+#define hri_sdhc_toggle_NISTR_EMMC_BLKGE_bit(a) hri_sdhc_toggle_NISTR_BLKGE_bit(a)
+#define hri_sdhc_set_NISTR_EMMC_DMAINT_bit(a) hri_sdhc_set_NISTR_DMAINT_bit(a)
+#define hri_sdhc_get_NISTR_EMMC_DMAINT_bit(a) hri_sdhc_get_NISTR_DMAINT_bit(a)
+#define hri_sdhc_write_NISTR_EMMC_DMAINT_bit(a, b) hri_sdhc_write_NISTR_DMAINT_bit(a, b)
+#define hri_sdhc_clear_NISTR_EMMC_DMAINT_bit(a) hri_sdhc_clear_NISTR_DMAINT_bit(a)
+#define hri_sdhc_toggle_NISTR_EMMC_DMAINT_bit(a) hri_sdhc_toggle_NISTR_DMAINT_bit(a)
+#define hri_sdhc_set_NISTR_EMMC_BWRRDY_bit(a) hri_sdhc_set_NISTR_BWRRDY_bit(a)
+#define hri_sdhc_get_NISTR_EMMC_BWRRDY_bit(a) hri_sdhc_get_NISTR_BWRRDY_bit(a)
+#define hri_sdhc_write_NISTR_EMMC_BWRRDY_bit(a, b) hri_sdhc_write_NISTR_BWRRDY_bit(a, b)
+#define hri_sdhc_clear_NISTR_EMMC_BWRRDY_bit(a) hri_sdhc_clear_NISTR_BWRRDY_bit(a)
+#define hri_sdhc_toggle_NISTR_EMMC_BWRRDY_bit(a) hri_sdhc_toggle_NISTR_BWRRDY_bit(a)
+#define hri_sdhc_set_NISTR_EMMC_BRDRDY_bit(a) hri_sdhc_set_NISTR_BRDRDY_bit(a)
+#define hri_sdhc_get_NISTR_EMMC_BRDRDY_bit(a) hri_sdhc_get_NISTR_BRDRDY_bit(a)
+#define hri_sdhc_write_NISTR_EMMC_BRDRDY_bit(a, b) hri_sdhc_write_NISTR_BRDRDY_bit(a, b)
+#define hri_sdhc_clear_NISTR_EMMC_BRDRDY_bit(a) hri_sdhc_clear_NISTR_BRDRDY_bit(a)
+#define hri_sdhc_toggle_NISTR_EMMC_BRDRDY_bit(a) hri_sdhc_toggle_NISTR_BRDRDY_bit(a)
+#define hri_sdhc_set_NISTR_EMMC_ERRINT_bit(a) hri_sdhc_set_NISTR_ERRINT_bit(a)
+#define hri_sdhc_get_NISTR_EMMC_ERRINT_bit(a) hri_sdhc_get_NISTR_ERRINT_bit(a)
+#define hri_sdhc_write_NISTR_EMMC_ERRINT_bit(a, b) hri_sdhc_write_NISTR_ERRINT_bit(a, b)
+#define hri_sdhc_clear_NISTR_EMMC_ERRINT_bit(a) hri_sdhc_clear_NISTR_ERRINT_bit(a)
+#define hri_sdhc_toggle_NISTR_EMMC_ERRINT_bit(a) hri_sdhc_toggle_NISTR_ERRINT_bit(a)
+#define hri_sdhc_set_NISTR_EMMC_reg(a, b) hri_sdhc_set_NISTR_reg(a, b)
+#define hri_sdhc_get_NISTR_EMMC_reg(a, b) hri_sdhc_get_NISTR_reg(a, b)
+#define hri_sdhc_write_NISTR_EMMC_reg(a, b) hri_sdhc_write_NISTR_reg(a, b)
+#define hri_sdhc_clear_NISTR_EMMC_reg(a, b) hri_sdhc_clear_NISTR_reg(a, b)
+#define hri_sdhc_toggle_NISTR_EMMC_reg(a, b) hri_sdhc_toggle_NISTR_reg(a, b)
+#define hri_sdhc_read_NISTR_EMMC_reg(a) hri_sdhc_read_NISTR_reg(a)
+#define hri_sdhc_set_EISTR_EMMC_CMDTEO_bit(a) hri_sdhc_set_EISTR_CMDTEO_bit(a)
+#define hri_sdhc_get_EISTR_EMMC_CMDTEO_bit(a) hri_sdhc_get_EISTR_CMDTEO_bit(a)
+#define hri_sdhc_write_EISTR_EMMC_CMDTEO_bit(a, b) hri_sdhc_write_EISTR_CMDTEO_bit(a, b)
+#define hri_sdhc_clear_EISTR_EMMC_CMDTEO_bit(a) hri_sdhc_clear_EISTR_CMDTEO_bit(a)
+#define hri_sdhc_toggle_EISTR_EMMC_CMDTEO_bit(a) hri_sdhc_toggle_EISTR_CMDTEO_bit(a)
+#define hri_sdhc_set_EISTR_EMMC_CMDCRC_bit(a) hri_sdhc_set_EISTR_CMDCRC_bit(a)
+#define hri_sdhc_get_EISTR_EMMC_CMDCRC_bit(a) hri_sdhc_get_EISTR_CMDCRC_bit(a)
+#define hri_sdhc_write_EISTR_EMMC_CMDCRC_bit(a, b) hri_sdhc_write_EISTR_CMDCRC_bit(a, b)
+#define hri_sdhc_clear_EISTR_EMMC_CMDCRC_bit(a) hri_sdhc_clear_EISTR_CMDCRC_bit(a)
+#define hri_sdhc_toggle_EISTR_EMMC_CMDCRC_bit(a) hri_sdhc_toggle_EISTR_CMDCRC_bit(a)
+#define hri_sdhc_set_EISTR_EMMC_CMDEND_bit(a) hri_sdhc_set_EISTR_CMDEND_bit(a)
+#define hri_sdhc_get_EISTR_EMMC_CMDEND_bit(a) hri_sdhc_get_EISTR_CMDEND_bit(a)
+#define hri_sdhc_write_EISTR_EMMC_CMDEND_bit(a, b) hri_sdhc_write_EISTR_CMDEND_bit(a, b)
+#define hri_sdhc_clear_EISTR_EMMC_CMDEND_bit(a) hri_sdhc_clear_EISTR_CMDEND_bit(a)
+#define hri_sdhc_toggle_EISTR_EMMC_CMDEND_bit(a) hri_sdhc_toggle_EISTR_CMDEND_bit(a)
+#define hri_sdhc_set_EISTR_EMMC_CMDIDX_bit(a) hri_sdhc_set_EISTR_CMDIDX_bit(a)
+#define hri_sdhc_get_EISTR_EMMC_CMDIDX_bit(a) hri_sdhc_get_EISTR_CMDIDX_bit(a)
+#define hri_sdhc_write_EISTR_EMMC_CMDIDX_bit(a, b) hri_sdhc_write_EISTR_CMDIDX_bit(a, b)
+#define hri_sdhc_clear_EISTR_EMMC_CMDIDX_bit(a) hri_sdhc_clear_EISTR_CMDIDX_bit(a)
+#define hri_sdhc_toggle_EISTR_EMMC_CMDIDX_bit(a) hri_sdhc_toggle_EISTR_CMDIDX_bit(a)
+#define hri_sdhc_set_EISTR_EMMC_DATTEO_bit(a) hri_sdhc_set_EISTR_DATTEO_bit(a)
+#define hri_sdhc_get_EISTR_EMMC_DATTEO_bit(a) hri_sdhc_get_EISTR_DATTEO_bit(a)
+#define hri_sdhc_write_EISTR_EMMC_DATTEO_bit(a, b) hri_sdhc_write_EISTR_DATTEO_bit(a, b)
+#define hri_sdhc_clear_EISTR_EMMC_DATTEO_bit(a) hri_sdhc_clear_EISTR_DATTEO_bit(a)
+#define hri_sdhc_toggle_EISTR_EMMC_DATTEO_bit(a) hri_sdhc_toggle_EISTR_DATTEO_bit(a)
+#define hri_sdhc_set_EISTR_EMMC_DATCRC_bit(a) hri_sdhc_set_EISTR_DATCRC_bit(a)
+#define hri_sdhc_get_EISTR_EMMC_DATCRC_bit(a) hri_sdhc_get_EISTR_DATCRC_bit(a)
+#define hri_sdhc_write_EISTR_EMMC_DATCRC_bit(a, b) hri_sdhc_write_EISTR_DATCRC_bit(a, b)
+#define hri_sdhc_clear_EISTR_EMMC_DATCRC_bit(a) hri_sdhc_clear_EISTR_DATCRC_bit(a)
+#define hri_sdhc_toggle_EISTR_EMMC_DATCRC_bit(a) hri_sdhc_toggle_EISTR_DATCRC_bit(a)
+#define hri_sdhc_set_EISTR_EMMC_DATEND_bit(a) hri_sdhc_set_EISTR_DATEND_bit(a)
+#define hri_sdhc_get_EISTR_EMMC_DATEND_bit(a) hri_sdhc_get_EISTR_DATEND_bit(a)
+#define hri_sdhc_write_EISTR_EMMC_DATEND_bit(a, b) hri_sdhc_write_EISTR_DATEND_bit(a, b)
+#define hri_sdhc_clear_EISTR_EMMC_DATEND_bit(a) hri_sdhc_clear_EISTR_DATEND_bit(a)
+#define hri_sdhc_toggle_EISTR_EMMC_DATEND_bit(a) hri_sdhc_toggle_EISTR_DATEND_bit(a)
+#define hri_sdhc_set_EISTR_EMMC_CURLIM_bit(a) hri_sdhc_set_EISTR_CURLIM_bit(a)
+#define hri_sdhc_get_EISTR_EMMC_CURLIM_bit(a) hri_sdhc_get_EISTR_CURLIM_bit(a)
+#define hri_sdhc_write_EISTR_EMMC_CURLIM_bit(a, b) hri_sdhc_write_EISTR_CURLIM_bit(a, b)
+#define hri_sdhc_clear_EISTR_EMMC_CURLIM_bit(a) hri_sdhc_clear_EISTR_CURLIM_bit(a)
+#define hri_sdhc_toggle_EISTR_EMMC_CURLIM_bit(a) hri_sdhc_toggle_EISTR_CURLIM_bit(a)
+#define hri_sdhc_set_EISTR_EMMC_ACMD_bit(a) hri_sdhc_set_EISTR_ACMD_bit(a)
+#define hri_sdhc_get_EISTR_EMMC_ACMD_bit(a) hri_sdhc_get_EISTR_ACMD_bit(a)
+#define hri_sdhc_write_EISTR_EMMC_ACMD_bit(a, b) hri_sdhc_write_EISTR_ACMD_bit(a, b)
+#define hri_sdhc_clear_EISTR_EMMC_ACMD_bit(a) hri_sdhc_clear_EISTR_ACMD_bit(a)
+#define hri_sdhc_toggle_EISTR_EMMC_ACMD_bit(a) hri_sdhc_toggle_EISTR_ACMD_bit(a)
+#define hri_sdhc_set_EISTR_EMMC_ADMA_bit(a) hri_sdhc_set_EISTR_ADMA_bit(a)
+#define hri_sdhc_get_EISTR_EMMC_ADMA_bit(a) hri_sdhc_get_EISTR_ADMA_bit(a)
+#define hri_sdhc_write_EISTR_EMMC_ADMA_bit(a, b) hri_sdhc_write_EISTR_ADMA_bit(a, b)
+#define hri_sdhc_clear_EISTR_EMMC_ADMA_bit(a) hri_sdhc_clear_EISTR_ADMA_bit(a)
+#define hri_sdhc_toggle_EISTR_EMMC_ADMA_bit(a) hri_sdhc_toggle_EISTR_ADMA_bit(a)
+#define hri_sdhc_set_EISTR_EMMC_reg(a, b) hri_sdhc_set_EISTR_reg(a, b)
+#define hri_sdhc_get_EISTR_EMMC_reg(a, b) hri_sdhc_get_EISTR_reg(a, b)
+#define hri_sdhc_write_EISTR_EMMC_reg(a, b) hri_sdhc_write_EISTR_reg(a, b)
+#define hri_sdhc_clear_EISTR_EMMC_reg(a, b) hri_sdhc_clear_EISTR_reg(a, b)
+#define hri_sdhc_toggle_EISTR_EMMC_reg(a, b) hri_sdhc_toggle_EISTR_reg(a, b)
+#define hri_sdhc_read_EISTR_EMMC_reg(a) hri_sdhc_read_EISTR_reg(a)
+#define hri_sdhc_set_NISTER_EMMC_CMDC_bit(a) hri_sdhc_set_NISTER_CMDC_bit(a)
+#define hri_sdhc_get_NISTER_EMMC_CMDC_bit(a) hri_sdhc_get_NISTER_CMDC_bit(a)
+#define hri_sdhc_write_NISTER_EMMC_CMDC_bit(a, b) hri_sdhc_write_NISTER_CMDC_bit(a, b)
+#define hri_sdhc_clear_NISTER_EMMC_CMDC_bit(a) hri_sdhc_clear_NISTER_CMDC_bit(a)
+#define hri_sdhc_toggle_NISTER_EMMC_CMDC_bit(a) hri_sdhc_toggle_NISTER_CMDC_bit(a)
+#define hri_sdhc_set_NISTER_EMMC_TRFC_bit(a) hri_sdhc_set_NISTER_TRFC_bit(a)
+#define hri_sdhc_get_NISTER_EMMC_TRFC_bit(a) hri_sdhc_get_NISTER_TRFC_bit(a)
+#define hri_sdhc_write_NISTER_EMMC_TRFC_bit(a, b) hri_sdhc_write_NISTER_TRFC_bit(a, b)
+#define hri_sdhc_clear_NISTER_EMMC_TRFC_bit(a) hri_sdhc_clear_NISTER_TRFC_bit(a)
+#define hri_sdhc_toggle_NISTER_EMMC_TRFC_bit(a) hri_sdhc_toggle_NISTER_TRFC_bit(a)
+#define hri_sdhc_set_NISTER_EMMC_BLKGE_bit(a) hri_sdhc_set_NISTER_BLKGE_bit(a)
+#define hri_sdhc_get_NISTER_EMMC_BLKGE_bit(a) hri_sdhc_get_NISTER_BLKGE_bit(a)
+#define hri_sdhc_write_NISTER_EMMC_BLKGE_bit(a, b) hri_sdhc_write_NISTER_BLKGE_bit(a, b)
+#define hri_sdhc_clear_NISTER_EMMC_BLKGE_bit(a) hri_sdhc_clear_NISTER_BLKGE_bit(a)
+#define hri_sdhc_toggle_NISTER_EMMC_BLKGE_bit(a) hri_sdhc_toggle_NISTER_BLKGE_bit(a)
+#define hri_sdhc_set_NISTER_EMMC_DMAINT_bit(a) hri_sdhc_set_NISTER_DMAINT_bit(a)
+#define hri_sdhc_get_NISTER_EMMC_DMAINT_bit(a) hri_sdhc_get_NISTER_DMAINT_bit(a)
+#define hri_sdhc_write_NISTER_EMMC_DMAINT_bit(a, b) hri_sdhc_write_NISTER_DMAINT_bit(a, b)
+#define hri_sdhc_clear_NISTER_EMMC_DMAINT_bit(a) hri_sdhc_clear_NISTER_DMAINT_bit(a)
+#define hri_sdhc_toggle_NISTER_EMMC_DMAINT_bit(a) hri_sdhc_toggle_NISTER_DMAINT_bit(a)
+#define hri_sdhc_set_NISTER_EMMC_BWRRDY_bit(a) hri_sdhc_set_NISTER_BWRRDY_bit(a)
+#define hri_sdhc_get_NISTER_EMMC_BWRRDY_bit(a) hri_sdhc_get_NISTER_BWRRDY_bit(a)
+#define hri_sdhc_write_NISTER_EMMC_BWRRDY_bit(a, b) hri_sdhc_write_NISTER_BWRRDY_bit(a, b)
+#define hri_sdhc_clear_NISTER_EMMC_BWRRDY_bit(a) hri_sdhc_clear_NISTER_BWRRDY_bit(a)
+#define hri_sdhc_toggle_NISTER_EMMC_BWRRDY_bit(a) hri_sdhc_toggle_NISTER_BWRRDY_bit(a)
+#define hri_sdhc_set_NISTER_EMMC_BRDRDY_bit(a) hri_sdhc_set_NISTER_BRDRDY_bit(a)
+#define hri_sdhc_get_NISTER_EMMC_BRDRDY_bit(a) hri_sdhc_get_NISTER_BRDRDY_bit(a)
+#define hri_sdhc_write_NISTER_EMMC_BRDRDY_bit(a, b) hri_sdhc_write_NISTER_BRDRDY_bit(a, b)
+#define hri_sdhc_clear_NISTER_EMMC_BRDRDY_bit(a) hri_sdhc_clear_NISTER_BRDRDY_bit(a)
+#define hri_sdhc_toggle_NISTER_EMMC_BRDRDY_bit(a) hri_sdhc_toggle_NISTER_BRDRDY_bit(a)
+#define hri_sdhc_set_NISTER_EMMC_reg(a, b) hri_sdhc_set_NISTER_reg(a, b)
+#define hri_sdhc_get_NISTER_EMMC_reg(a, b) hri_sdhc_get_NISTER_reg(a, b)
+#define hri_sdhc_write_NISTER_EMMC_reg(a, b) hri_sdhc_write_NISTER_reg(a, b)
+#define hri_sdhc_clear_NISTER_EMMC_reg(a, b) hri_sdhc_clear_NISTER_reg(a, b)
+#define hri_sdhc_toggle_NISTER_EMMC_reg(a, b) hri_sdhc_toggle_NISTER_reg(a, b)
+#define hri_sdhc_read_NISTER_EMMC_reg(a) hri_sdhc_read_NISTER_reg(a)
+#define hri_sdhc_set_EISTER_EMMC_CMDTEO_bit(a) hri_sdhc_set_EISTER_CMDTEO_bit(a)
+#define hri_sdhc_get_EISTER_EMMC_CMDTEO_bit(a) hri_sdhc_get_EISTER_CMDTEO_bit(a)
+#define hri_sdhc_write_EISTER_EMMC_CMDTEO_bit(a, b) hri_sdhc_write_EISTER_CMDTEO_bit(a, b)
+#define hri_sdhc_clear_EISTER_EMMC_CMDTEO_bit(a) hri_sdhc_clear_EISTER_CMDTEO_bit(a)
+#define hri_sdhc_toggle_EISTER_EMMC_CMDTEO_bit(a) hri_sdhc_toggle_EISTER_CMDTEO_bit(a)
+#define hri_sdhc_set_EISTER_EMMC_CMDCRC_bit(a) hri_sdhc_set_EISTER_CMDCRC_bit(a)
+#define hri_sdhc_get_EISTER_EMMC_CMDCRC_bit(a) hri_sdhc_get_EISTER_CMDCRC_bit(a)
+#define hri_sdhc_write_EISTER_EMMC_CMDCRC_bit(a, b) hri_sdhc_write_EISTER_CMDCRC_bit(a, b)
+#define hri_sdhc_clear_EISTER_EMMC_CMDCRC_bit(a) hri_sdhc_clear_EISTER_CMDCRC_bit(a)
+#define hri_sdhc_toggle_EISTER_EMMC_CMDCRC_bit(a) hri_sdhc_toggle_EISTER_CMDCRC_bit(a)
+#define hri_sdhc_set_EISTER_EMMC_CMDEND_bit(a) hri_sdhc_set_EISTER_CMDEND_bit(a)
+#define hri_sdhc_get_EISTER_EMMC_CMDEND_bit(a) hri_sdhc_get_EISTER_CMDEND_bit(a)
+#define hri_sdhc_write_EISTER_EMMC_CMDEND_bit(a, b) hri_sdhc_write_EISTER_CMDEND_bit(a, b)
+#define hri_sdhc_clear_EISTER_EMMC_CMDEND_bit(a) hri_sdhc_clear_EISTER_CMDEND_bit(a)
+#define hri_sdhc_toggle_EISTER_EMMC_CMDEND_bit(a) hri_sdhc_toggle_EISTER_CMDEND_bit(a)
+#define hri_sdhc_set_EISTER_EMMC_CMDIDX_bit(a) hri_sdhc_set_EISTER_CMDIDX_bit(a)
+#define hri_sdhc_get_EISTER_EMMC_CMDIDX_bit(a) hri_sdhc_get_EISTER_CMDIDX_bit(a)
+#define hri_sdhc_write_EISTER_EMMC_CMDIDX_bit(a, b) hri_sdhc_write_EISTER_CMDIDX_bit(a, b)
+#define hri_sdhc_clear_EISTER_EMMC_CMDIDX_bit(a) hri_sdhc_clear_EISTER_CMDIDX_bit(a)
+#define hri_sdhc_toggle_EISTER_EMMC_CMDIDX_bit(a) hri_sdhc_toggle_EISTER_CMDIDX_bit(a)
+#define hri_sdhc_set_EISTER_EMMC_DATTEO_bit(a) hri_sdhc_set_EISTER_DATTEO_bit(a)
+#define hri_sdhc_get_EISTER_EMMC_DATTEO_bit(a) hri_sdhc_get_EISTER_DATTEO_bit(a)
+#define hri_sdhc_write_EISTER_EMMC_DATTEO_bit(a, b) hri_sdhc_write_EISTER_DATTEO_bit(a, b)
+#define hri_sdhc_clear_EISTER_EMMC_DATTEO_bit(a) hri_sdhc_clear_EISTER_DATTEO_bit(a)
+#define hri_sdhc_toggle_EISTER_EMMC_DATTEO_bit(a) hri_sdhc_toggle_EISTER_DATTEO_bit(a)
+#define hri_sdhc_set_EISTER_EMMC_DATCRC_bit(a) hri_sdhc_set_EISTER_DATCRC_bit(a)
+#define hri_sdhc_get_EISTER_EMMC_DATCRC_bit(a) hri_sdhc_get_EISTER_DATCRC_bit(a)
+#define hri_sdhc_write_EISTER_EMMC_DATCRC_bit(a, b) hri_sdhc_write_EISTER_DATCRC_bit(a, b)
+#define hri_sdhc_clear_EISTER_EMMC_DATCRC_bit(a) hri_sdhc_clear_EISTER_DATCRC_bit(a)
+#define hri_sdhc_toggle_EISTER_EMMC_DATCRC_bit(a) hri_sdhc_toggle_EISTER_DATCRC_bit(a)
+#define hri_sdhc_set_EISTER_EMMC_DATEND_bit(a) hri_sdhc_set_EISTER_DATEND_bit(a)
+#define hri_sdhc_get_EISTER_EMMC_DATEND_bit(a) hri_sdhc_get_EISTER_DATEND_bit(a)
+#define hri_sdhc_write_EISTER_EMMC_DATEND_bit(a, b) hri_sdhc_write_EISTER_DATEND_bit(a, b)
+#define hri_sdhc_clear_EISTER_EMMC_DATEND_bit(a) hri_sdhc_clear_EISTER_DATEND_bit(a)
+#define hri_sdhc_toggle_EISTER_EMMC_DATEND_bit(a) hri_sdhc_toggle_EISTER_DATEND_bit(a)
+#define hri_sdhc_set_EISTER_EMMC_CURLIM_bit(a) hri_sdhc_set_EISTER_CURLIM_bit(a)
+#define hri_sdhc_get_EISTER_EMMC_CURLIM_bit(a) hri_sdhc_get_EISTER_CURLIM_bit(a)
+#define hri_sdhc_write_EISTER_EMMC_CURLIM_bit(a, b) hri_sdhc_write_EISTER_CURLIM_bit(a, b)
+#define hri_sdhc_clear_EISTER_EMMC_CURLIM_bit(a) hri_sdhc_clear_EISTER_CURLIM_bit(a)
+#define hri_sdhc_toggle_EISTER_EMMC_CURLIM_bit(a) hri_sdhc_toggle_EISTER_CURLIM_bit(a)
+#define hri_sdhc_set_EISTER_EMMC_ACMD_bit(a) hri_sdhc_set_EISTER_ACMD_bit(a)
+#define hri_sdhc_get_EISTER_EMMC_ACMD_bit(a) hri_sdhc_get_EISTER_ACMD_bit(a)
+#define hri_sdhc_write_EISTER_EMMC_ACMD_bit(a, b) hri_sdhc_write_EISTER_ACMD_bit(a, b)
+#define hri_sdhc_clear_EISTER_EMMC_ACMD_bit(a) hri_sdhc_clear_EISTER_ACMD_bit(a)
+#define hri_sdhc_toggle_EISTER_EMMC_ACMD_bit(a) hri_sdhc_toggle_EISTER_ACMD_bit(a)
+#define hri_sdhc_set_EISTER_EMMC_ADMA_bit(a) hri_sdhc_set_EISTER_ADMA_bit(a)
+#define hri_sdhc_get_EISTER_EMMC_ADMA_bit(a) hri_sdhc_get_EISTER_ADMA_bit(a)
+#define hri_sdhc_write_EISTER_EMMC_ADMA_bit(a, b) hri_sdhc_write_EISTER_ADMA_bit(a, b)
+#define hri_sdhc_clear_EISTER_EMMC_ADMA_bit(a) hri_sdhc_clear_EISTER_ADMA_bit(a)
+#define hri_sdhc_toggle_EISTER_EMMC_ADMA_bit(a) hri_sdhc_toggle_EISTER_ADMA_bit(a)
+#define hri_sdhc_set_EISTER_EMMC_reg(a, b) hri_sdhc_set_EISTER_reg(a, b)
+#define hri_sdhc_get_EISTER_EMMC_reg(a, b) hri_sdhc_get_EISTER_reg(a, b)
+#define hri_sdhc_write_EISTER_EMMC_reg(a, b) hri_sdhc_write_EISTER_reg(a, b)
+#define hri_sdhc_clear_EISTER_EMMC_reg(a, b) hri_sdhc_clear_EISTER_reg(a, b)
+#define hri_sdhc_toggle_EISTER_EMMC_reg(a, b) hri_sdhc_toggle_EISTER_reg(a, b)
+#define hri_sdhc_read_EISTER_EMMC_reg(a) hri_sdhc_read_EISTER_reg(a)
+#define hri_sdhc_set_NISIER_EMMC_CMDC_bit(a) hri_sdhc_set_NISIER_CMDC_bit(a)
+#define hri_sdhc_get_NISIER_EMMC_CMDC_bit(a) hri_sdhc_get_NISIER_CMDC_bit(a)
+#define hri_sdhc_write_NISIER_EMMC_CMDC_bit(a, b) hri_sdhc_write_NISIER_CMDC_bit(a, b)
+#define hri_sdhc_clear_NISIER_EMMC_CMDC_bit(a) hri_sdhc_clear_NISIER_CMDC_bit(a)
+#define hri_sdhc_toggle_NISIER_EMMC_CMDC_bit(a) hri_sdhc_toggle_NISIER_CMDC_bit(a)
+#define hri_sdhc_set_NISIER_EMMC_TRFC_bit(a) hri_sdhc_set_NISIER_TRFC_bit(a)
+#define hri_sdhc_get_NISIER_EMMC_TRFC_bit(a) hri_sdhc_get_NISIER_TRFC_bit(a)
+#define hri_sdhc_write_NISIER_EMMC_TRFC_bit(a, b) hri_sdhc_write_NISIER_TRFC_bit(a, b)
+#define hri_sdhc_clear_NISIER_EMMC_TRFC_bit(a) hri_sdhc_clear_NISIER_TRFC_bit(a)
+#define hri_sdhc_toggle_NISIER_EMMC_TRFC_bit(a) hri_sdhc_toggle_NISIER_TRFC_bit(a)
+#define hri_sdhc_set_NISIER_EMMC_BLKGE_bit(a) hri_sdhc_set_NISIER_BLKGE_bit(a)
+#define hri_sdhc_get_NISIER_EMMC_BLKGE_bit(a) hri_sdhc_get_NISIER_BLKGE_bit(a)
+#define hri_sdhc_write_NISIER_EMMC_BLKGE_bit(a, b) hri_sdhc_write_NISIER_BLKGE_bit(a, b)
+#define hri_sdhc_clear_NISIER_EMMC_BLKGE_bit(a) hri_sdhc_clear_NISIER_BLKGE_bit(a)
+#define hri_sdhc_toggle_NISIER_EMMC_BLKGE_bit(a) hri_sdhc_toggle_NISIER_BLKGE_bit(a)
+#define hri_sdhc_set_NISIER_EMMC_DMAINT_bit(a) hri_sdhc_set_NISIER_DMAINT_bit(a)
+#define hri_sdhc_get_NISIER_EMMC_DMAINT_bit(a) hri_sdhc_get_NISIER_DMAINT_bit(a)
+#define hri_sdhc_write_NISIER_EMMC_DMAINT_bit(a, b) hri_sdhc_write_NISIER_DMAINT_bit(a, b)
+#define hri_sdhc_clear_NISIER_EMMC_DMAINT_bit(a) hri_sdhc_clear_NISIER_DMAINT_bit(a)
+#define hri_sdhc_toggle_NISIER_EMMC_DMAINT_bit(a) hri_sdhc_toggle_NISIER_DMAINT_bit(a)
+#define hri_sdhc_set_NISIER_EMMC_BWRRDY_bit(a) hri_sdhc_set_NISIER_BWRRDY_bit(a)
+#define hri_sdhc_get_NISIER_EMMC_BWRRDY_bit(a) hri_sdhc_get_NISIER_BWRRDY_bit(a)
+#define hri_sdhc_write_NISIER_EMMC_BWRRDY_bit(a, b) hri_sdhc_write_NISIER_BWRRDY_bit(a, b)
+#define hri_sdhc_clear_NISIER_EMMC_BWRRDY_bit(a) hri_sdhc_clear_NISIER_BWRRDY_bit(a)
+#define hri_sdhc_toggle_NISIER_EMMC_BWRRDY_bit(a) hri_sdhc_toggle_NISIER_BWRRDY_bit(a)
+#define hri_sdhc_set_NISIER_EMMC_BRDRDY_bit(a) hri_sdhc_set_NISIER_BRDRDY_bit(a)
+#define hri_sdhc_get_NISIER_EMMC_BRDRDY_bit(a) hri_sdhc_get_NISIER_BRDRDY_bit(a)
+#define hri_sdhc_write_NISIER_EMMC_BRDRDY_bit(a, b) hri_sdhc_write_NISIER_BRDRDY_bit(a, b)
+#define hri_sdhc_clear_NISIER_EMMC_BRDRDY_bit(a) hri_sdhc_clear_NISIER_BRDRDY_bit(a)
+#define hri_sdhc_toggle_NISIER_EMMC_BRDRDY_bit(a) hri_sdhc_toggle_NISIER_BRDRDY_bit(a)
+#define hri_sdhc_set_NISIER_EMMC_reg(a, b) hri_sdhc_set_NISIER_reg(a, b)
+#define hri_sdhc_get_NISIER_EMMC_reg(a, b) hri_sdhc_get_NISIER_reg(a, b)
+#define hri_sdhc_write_NISIER_EMMC_reg(a, b) hri_sdhc_write_NISIER_reg(a, b)
+#define hri_sdhc_clear_NISIER_EMMC_reg(a, b) hri_sdhc_clear_NISIER_reg(a, b)
+#define hri_sdhc_toggle_NISIER_EMMC_reg(a, b) hri_sdhc_toggle_NISIER_reg(a, b)
+#define hri_sdhc_read_NISIER_EMMC_reg(a) hri_sdhc_read_NISIER_reg(a)
+#define hri_sdhc_set_EISIER_EMMC_CMDTEO_bit(a) hri_sdhc_set_EISIER_CMDTEO_bit(a)
+#define hri_sdhc_get_EISIER_EMMC_CMDTEO_bit(a) hri_sdhc_get_EISIER_CMDTEO_bit(a)
+#define hri_sdhc_write_EISIER_EMMC_CMDTEO_bit(a, b) hri_sdhc_write_EISIER_CMDTEO_bit(a, b)
+#define hri_sdhc_clear_EISIER_EMMC_CMDTEO_bit(a) hri_sdhc_clear_EISIER_CMDTEO_bit(a)
+#define hri_sdhc_toggle_EISIER_EMMC_CMDTEO_bit(a) hri_sdhc_toggle_EISIER_CMDTEO_bit(a)
+#define hri_sdhc_set_EISIER_EMMC_CMDCRC_bit(a) hri_sdhc_set_EISIER_CMDCRC_bit(a)
+#define hri_sdhc_get_EISIER_EMMC_CMDCRC_bit(a) hri_sdhc_get_EISIER_CMDCRC_bit(a)
+#define hri_sdhc_write_EISIER_EMMC_CMDCRC_bit(a, b) hri_sdhc_write_EISIER_CMDCRC_bit(a, b)
+#define hri_sdhc_clear_EISIER_EMMC_CMDCRC_bit(a) hri_sdhc_clear_EISIER_CMDCRC_bit(a)
+#define hri_sdhc_toggle_EISIER_EMMC_CMDCRC_bit(a) hri_sdhc_toggle_EISIER_CMDCRC_bit(a)
+#define hri_sdhc_set_EISIER_EMMC_CMDEND_bit(a) hri_sdhc_set_EISIER_CMDEND_bit(a)
+#define hri_sdhc_get_EISIER_EMMC_CMDEND_bit(a) hri_sdhc_get_EISIER_CMDEND_bit(a)
+#define hri_sdhc_write_EISIER_EMMC_CMDEND_bit(a, b) hri_sdhc_write_EISIER_CMDEND_bit(a, b)
+#define hri_sdhc_clear_EISIER_EMMC_CMDEND_bit(a) hri_sdhc_clear_EISIER_CMDEND_bit(a)
+#define hri_sdhc_toggle_EISIER_EMMC_CMDEND_bit(a) hri_sdhc_toggle_EISIER_CMDEND_bit(a)
+#define hri_sdhc_set_EISIER_EMMC_CMDIDX_bit(a) hri_sdhc_set_EISIER_CMDIDX_bit(a)
+#define hri_sdhc_get_EISIER_EMMC_CMDIDX_bit(a) hri_sdhc_get_EISIER_CMDIDX_bit(a)
+#define hri_sdhc_write_EISIER_EMMC_CMDIDX_bit(a, b) hri_sdhc_write_EISIER_CMDIDX_bit(a, b)
+#define hri_sdhc_clear_EISIER_EMMC_CMDIDX_bit(a) hri_sdhc_clear_EISIER_CMDIDX_bit(a)
+#define hri_sdhc_toggle_EISIER_EMMC_CMDIDX_bit(a) hri_sdhc_toggle_EISIER_CMDIDX_bit(a)
+#define hri_sdhc_set_EISIER_EMMC_DATTEO_bit(a) hri_sdhc_set_EISIER_DATTEO_bit(a)
+#define hri_sdhc_get_EISIER_EMMC_DATTEO_bit(a) hri_sdhc_get_EISIER_DATTEO_bit(a)
+#define hri_sdhc_write_EISIER_EMMC_DATTEO_bit(a, b) hri_sdhc_write_EISIER_DATTEO_bit(a, b)
+#define hri_sdhc_clear_EISIER_EMMC_DATTEO_bit(a) hri_sdhc_clear_EISIER_DATTEO_bit(a)
+#define hri_sdhc_toggle_EISIER_EMMC_DATTEO_bit(a) hri_sdhc_toggle_EISIER_DATTEO_bit(a)
+#define hri_sdhc_set_EISIER_EMMC_DATCRC_bit(a) hri_sdhc_set_EISIER_DATCRC_bit(a)
+#define hri_sdhc_get_EISIER_EMMC_DATCRC_bit(a) hri_sdhc_get_EISIER_DATCRC_bit(a)
+#define hri_sdhc_write_EISIER_EMMC_DATCRC_bit(a, b) hri_sdhc_write_EISIER_DATCRC_bit(a, b)
+#define hri_sdhc_clear_EISIER_EMMC_DATCRC_bit(a) hri_sdhc_clear_EISIER_DATCRC_bit(a)
+#define hri_sdhc_toggle_EISIER_EMMC_DATCRC_bit(a) hri_sdhc_toggle_EISIER_DATCRC_bit(a)
+#define hri_sdhc_set_EISIER_EMMC_DATEND_bit(a) hri_sdhc_set_EISIER_DATEND_bit(a)
+#define hri_sdhc_get_EISIER_EMMC_DATEND_bit(a) hri_sdhc_get_EISIER_DATEND_bit(a)
+#define hri_sdhc_write_EISIER_EMMC_DATEND_bit(a, b) hri_sdhc_write_EISIER_DATEND_bit(a, b)
+#define hri_sdhc_clear_EISIER_EMMC_DATEND_bit(a) hri_sdhc_clear_EISIER_DATEND_bit(a)
+#define hri_sdhc_toggle_EISIER_EMMC_DATEND_bit(a) hri_sdhc_toggle_EISIER_DATEND_bit(a)
+#define hri_sdhc_set_EISIER_EMMC_CURLIM_bit(a) hri_sdhc_set_EISIER_CURLIM_bit(a)
+#define hri_sdhc_get_EISIER_EMMC_CURLIM_bit(a) hri_sdhc_get_EISIER_CURLIM_bit(a)
+#define hri_sdhc_write_EISIER_EMMC_CURLIM_bit(a, b) hri_sdhc_write_EISIER_CURLIM_bit(a, b)
+#define hri_sdhc_clear_EISIER_EMMC_CURLIM_bit(a) hri_sdhc_clear_EISIER_CURLIM_bit(a)
+#define hri_sdhc_toggle_EISIER_EMMC_CURLIM_bit(a) hri_sdhc_toggle_EISIER_CURLIM_bit(a)
+#define hri_sdhc_set_EISIER_EMMC_ACMD_bit(a) hri_sdhc_set_EISIER_ACMD_bit(a)
+#define hri_sdhc_get_EISIER_EMMC_ACMD_bit(a) hri_sdhc_get_EISIER_ACMD_bit(a)
+#define hri_sdhc_write_EISIER_EMMC_ACMD_bit(a, b) hri_sdhc_write_EISIER_ACMD_bit(a, b)
+#define hri_sdhc_clear_EISIER_EMMC_ACMD_bit(a) hri_sdhc_clear_EISIER_ACMD_bit(a)
+#define hri_sdhc_toggle_EISIER_EMMC_ACMD_bit(a) hri_sdhc_toggle_EISIER_ACMD_bit(a)
+#define hri_sdhc_set_EISIER_EMMC_ADMA_bit(a) hri_sdhc_set_EISIER_ADMA_bit(a)
+#define hri_sdhc_get_EISIER_EMMC_ADMA_bit(a) hri_sdhc_get_EISIER_ADMA_bit(a)
+#define hri_sdhc_write_EISIER_EMMC_ADMA_bit(a, b) hri_sdhc_write_EISIER_ADMA_bit(a, b)
+#define hri_sdhc_clear_EISIER_EMMC_ADMA_bit(a) hri_sdhc_clear_EISIER_ADMA_bit(a)
+#define hri_sdhc_toggle_EISIER_EMMC_ADMA_bit(a) hri_sdhc_toggle_EISIER_ADMA_bit(a)
+#define hri_sdhc_set_EISIER_EMMC_reg(a, b) hri_sdhc_set_EISIER_reg(a, b)
+#define hri_sdhc_get_EISIER_EMMC_reg(a, b) hri_sdhc_get_EISIER_reg(a, b)
+#define hri_sdhc_write_EISIER_EMMC_reg(a, b) hri_sdhc_write_EISIER_reg(a, b)
+#define hri_sdhc_clear_EISIER_EMMC_reg(a, b) hri_sdhc_clear_EISIER_reg(a, b)
+#define hri_sdhc_toggle_EISIER_EMMC_reg(a, b) hri_sdhc_toggle_EISIER_reg(a, b)
+#define hri_sdhc_read_EISIER_EMMC_reg(a) hri_sdhc_read_EISIER_reg(a)
+#define hri_sdhc_set_HC2R_EMMC_EXTUN_bit(a) hri_sdhc_set_HC2R_EXTUN_bit(a)
+#define hri_sdhc_get_HC2R_EMMC_EXTUN_bit(a) hri_sdhc_get_HC2R_EXTUN_bit(a)
+#define hri_sdhc_write_HC2R_EMMC_EXTUN_bit(a, b) hri_sdhc_write_HC2R_EXTUN_bit(a, b)
+#define hri_sdhc_clear_HC2R_EMMC_EXTUN_bit(a) hri_sdhc_clear_HC2R_EXTUN_bit(a)
+#define hri_sdhc_toggle_HC2R_EMMC_EXTUN_bit(a) hri_sdhc_toggle_HC2R_EXTUN_bit(a)
+#define hri_sdhc_set_HC2R_EMMC_SLCKSEL_bit(a) hri_sdhc_set_HC2R_SLCKSEL_bit(a)
+#define hri_sdhc_get_HC2R_EMMC_SLCKSEL_bit(a) hri_sdhc_get_HC2R_SLCKSEL_bit(a)
+#define hri_sdhc_write_HC2R_EMMC_SLCKSEL_bit(a, b) hri_sdhc_write_HC2R_SLCKSEL_bit(a, b)
+#define hri_sdhc_clear_HC2R_EMMC_SLCKSEL_bit(a) hri_sdhc_clear_HC2R_SLCKSEL_bit(a)
+#define hri_sdhc_toggle_HC2R_EMMC_SLCKSEL_bit(a) hri_sdhc_toggle_HC2R_SLCKSEL_bit(a)
+#define hri_sdhc_set_HC2R_EMMC_PVALEN_bit(a) hri_sdhc_set_HC2R_PVALEN_bit(a)
+#define hri_sdhc_get_HC2R_EMMC_PVALEN_bit(a) hri_sdhc_get_HC2R_PVALEN_bit(a)
+#define hri_sdhc_write_HC2R_EMMC_PVALEN_bit(a, b) hri_sdhc_write_HC2R_PVALEN_bit(a, b)
+#define hri_sdhc_clear_HC2R_EMMC_PVALEN_bit(a) hri_sdhc_clear_HC2R_PVALEN_bit(a)
+#define hri_sdhc_toggle_HC2R_EMMC_PVALEN_bit(a) hri_sdhc_toggle_HC2R_PVALEN_bit(a)
+#define hri_sdhc_set_HC2R_EMMC_DRVSEL_bf(a, b) hri_sdhc_set_HC2R_DRVSEL_bf(a, b)
+#define hri_sdhc_get_HC2R_EMMC_DRVSEL_bf(a, b) hri_sdhc_get_HC2R_DRVSEL_bf(a, b)
+#define hri_sdhc_write_HC2R_EMMC_DRVSEL_bf(a, b) hri_sdhc_write_HC2R_DRVSEL_bf(a, b)
+#define hri_sdhc_clear_HC2R_EMMC_DRVSEL_bf(a, b) hri_sdhc_clear_HC2R_DRVSEL_bf(a, b)
+#define hri_sdhc_toggle_HC2R_EMMC_DRVSEL_bf(a, b) hri_sdhc_toggle_HC2R_DRVSEL_bf(a, b)
+#define hri_sdhc_read_HC2R_EMMC_DRVSEL_bf(a) hri_sdhc_read_HC2R_DRVSEL_bf(a)
+#define hri_sdhc_set_HC2R_EMMC_reg(a, b) hri_sdhc_set_HC2R_reg(a, b)
+#define hri_sdhc_get_HC2R_EMMC_reg(a, b) hri_sdhc_get_HC2R_reg(a, b)
+#define hri_sdhc_write_HC2R_EMMC_reg(a, b) hri_sdhc_write_HC2R_reg(a, b)
+#define hri_sdhc_clear_HC2R_EMMC_reg(a, b) hri_sdhc_clear_HC2R_reg(a, b)
+#define hri_sdhc_toggle_HC2R_EMMC_reg(a, b) hri_sdhc_toggle_HC2R_reg(a, b)
+#define hri_sdhc_read_HC2R_EMMC_reg(a) hri_sdhc_read_HC2R_reg(a)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_SDHC_E54_H_INCLUDED */
+#endif /* _SAME54_SDHC_COMPONENT_ */
diff --git a/hri/hri_sercom_e54.h b/hri/hri_sercom_e54.h
new file mode 100644
index 0000000..f5a52b0
--- /dev/null
+++ b/hri/hri_sercom_e54.h
@@ -0,0 +1,8892 @@
+/**
+ * \file
+ *
+ * \brief SAM SERCOM
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_SERCOM_COMPONENT_
+#ifndef _HRI_SERCOM_E54_H_INCLUDED_
+#define _HRI_SERCOM_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_SERCOM_CRITICAL_SECTIONS)
+#define SERCOM_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define SERCOM_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define SERCOM_CRITICAL_SECTION_ENTER()
+#define SERCOM_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_sercomi2cm_status_reg_t;
+typedef uint16_t hri_sercomi2cs_length_reg_t;
+typedef uint16_t hri_sercomi2cs_status_reg_t;
+typedef uint16_t hri_sercomspi_length_reg_t;
+typedef uint16_t hri_sercomspi_status_reg_t;
+typedef uint16_t hri_sercomusart_baud_reg_t;
+typedef uint16_t hri_sercomusart_length_reg_t;
+typedef uint16_t hri_sercomusart_status_reg_t;
+typedef uint32_t hri_sercomi2cm_addr_reg_t;
+typedef uint32_t hri_sercomi2cm_baud_reg_t;
+typedef uint32_t hri_sercomi2cm_ctrla_reg_t;
+typedef uint32_t hri_sercomi2cm_ctrlb_reg_t;
+typedef uint32_t hri_sercomi2cm_ctrlc_reg_t;
+typedef uint32_t hri_sercomi2cm_data_reg_t;
+typedef uint32_t hri_sercomi2cm_syncbusy_reg_t;
+typedef uint32_t hri_sercomi2cs_addr_reg_t;
+typedef uint32_t hri_sercomi2cs_ctrla_reg_t;
+typedef uint32_t hri_sercomi2cs_ctrlb_reg_t;
+typedef uint32_t hri_sercomi2cs_ctrlc_reg_t;
+typedef uint32_t hri_sercomi2cs_data_reg_t;
+typedef uint32_t hri_sercomi2cs_syncbusy_reg_t;
+typedef uint32_t hri_sercomspi_addr_reg_t;
+typedef uint32_t hri_sercomspi_ctrla_reg_t;
+typedef uint32_t hri_sercomspi_ctrlb_reg_t;
+typedef uint32_t hri_sercomspi_ctrlc_reg_t;
+typedef uint32_t hri_sercomspi_data_reg_t;
+typedef uint32_t hri_sercomspi_syncbusy_reg_t;
+typedef uint32_t hri_sercomusart_ctrla_reg_t;
+typedef uint32_t hri_sercomusart_ctrlb_reg_t;
+typedef uint32_t hri_sercomusart_ctrlc_reg_t;
+typedef uint32_t hri_sercomusart_data_reg_t;
+typedef uint32_t hri_sercomusart_syncbusy_reg_t;
+typedef uint8_t hri_sercomi2cm_dbgctrl_reg_t;
+typedef uint8_t hri_sercomi2cm_intenset_reg_t;
+typedef uint8_t hri_sercomi2cm_intflag_reg_t;
+typedef uint8_t hri_sercomi2cs_intenset_reg_t;
+typedef uint8_t hri_sercomi2cs_intflag_reg_t;
+typedef uint8_t hri_sercomspi_baud_reg_t;
+typedef uint8_t hri_sercomspi_dbgctrl_reg_t;
+typedef uint8_t hri_sercomspi_intenset_reg_t;
+typedef uint8_t hri_sercomspi_intflag_reg_t;
+typedef uint8_t hri_sercomusart_dbgctrl_reg_t;
+typedef uint8_t hri_sercomusart_intenset_reg_t;
+typedef uint8_t hri_sercomusart_intflag_reg_t;
+typedef uint8_t hri_sercomusart_rxerrcnt_reg_t;
+typedef uint8_t hri_sercomusart_rxpl_reg_t;
+
+static inline void hri_sercomi2cm_wait_for_sync(const void *const hw, hri_sercomi2cm_syncbusy_reg_t reg)
+{
+ while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_sercomi2cm_is_syncing(const void *const hw, hri_sercomi2cm_syncbusy_reg_t reg)
+{
+ return ((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg;
+}
+
+static inline void hri_sercomi2cs_wait_for_sync(const void *const hw, hri_sercomi2cs_syncbusy_reg_t reg)
+{
+ while (((Sercom *)hw)->I2CS.SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_sercomi2cs_is_syncing(const void *const hw, hri_sercomi2cs_syncbusy_reg_t reg)
+{
+ return ((Sercom *)hw)->I2CS.SYNCBUSY.reg & reg;
+}
+
+static inline void hri_sercomspi_wait_for_sync(const void *const hw, hri_sercomspi_syncbusy_reg_t reg)
+{
+ while (((Sercom *)hw)->SPI.SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_sercomspi_is_syncing(const void *const hw, hri_sercomspi_syncbusy_reg_t reg)
+{
+ return ((Sercom *)hw)->SPI.SYNCBUSY.reg & reg;
+}
+
+static inline void hri_sercomusart_wait_for_sync(const void *const hw, hri_sercomusart_syncbusy_reg_t reg)
+{
+ while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_sercomusart_is_syncing(const void *const hw, hri_sercomusart_syncbusy_reg_t reg)
+{
+ return ((Sercom *)hw)->USART.SYNCBUSY.reg & reg;
+}
+
+static inline bool hri_sercomi2cm_get_INTFLAG_MB_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.INTFLAG.reg & SERCOM_I2CM_INTFLAG_MB) >> SERCOM_I2CM_INTFLAG_MB_Pos;
+}
+
+static inline void hri_sercomi2cm_clear_INTFLAG_MB_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_MB;
+}
+
+static inline bool hri_sercomi2cm_get_INTFLAG_SB_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.INTFLAG.reg & SERCOM_I2CM_INTFLAG_SB) >> SERCOM_I2CM_INTFLAG_SB_Pos;
+}
+
+static inline void hri_sercomi2cm_clear_INTFLAG_SB_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_SB;
+}
+
+static inline bool hri_sercomi2cm_get_INTFLAG_ERROR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.INTFLAG.reg & SERCOM_I2CM_INTFLAG_ERROR) >> SERCOM_I2CM_INTFLAG_ERROR_Pos;
+}
+
+static inline void hri_sercomi2cm_clear_INTFLAG_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_ERROR;
+}
+
+static inline bool hri_sercomi2cm_get_interrupt_MB_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.INTFLAG.reg & SERCOM_I2CM_INTFLAG_MB) >> SERCOM_I2CM_INTFLAG_MB_Pos;
+}
+
+static inline void hri_sercomi2cm_clear_interrupt_MB_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_MB;
+}
+
+static inline bool hri_sercomi2cm_get_interrupt_SB_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.INTFLAG.reg & SERCOM_I2CM_INTFLAG_SB) >> SERCOM_I2CM_INTFLAG_SB_Pos;
+}
+
+static inline void hri_sercomi2cm_clear_interrupt_SB_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_SB;
+}
+
+static inline bool hri_sercomi2cm_get_interrupt_ERROR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.INTFLAG.reg & SERCOM_I2CM_INTFLAG_ERROR) >> SERCOM_I2CM_INTFLAG_ERROR_Pos;
+}
+
+static inline void hri_sercomi2cm_clear_interrupt_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_ERROR;
+}
+
+static inline hri_sercomi2cm_intflag_reg_t hri_sercomi2cm_get_INTFLAG_reg(const void *const hw,
+ hri_sercomi2cm_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sercomi2cm_intflag_reg_t hri_sercomi2cm_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->I2CM.INTFLAG.reg;
+}
+
+static inline void hri_sercomi2cm_clear_INTFLAG_reg(const void *const hw, hri_sercomi2cm_intflag_reg_t mask)
+{
+ ((Sercom *)hw)->I2CM.INTFLAG.reg = mask;
+}
+
+static inline bool hri_sercomi2cs_get_INTFLAG_PREC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_PREC) >> SERCOM_I2CS_INTFLAG_PREC_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_INTFLAG_PREC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_PREC;
+}
+
+static inline bool hri_sercomi2cs_get_INTFLAG_AMATCH_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_AMATCH) >> SERCOM_I2CS_INTFLAG_AMATCH_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_INTFLAG_AMATCH_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_AMATCH;
+}
+
+static inline bool hri_sercomi2cs_get_INTFLAG_DRDY_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_DRDY) >> SERCOM_I2CS_INTFLAG_DRDY_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_INTFLAG_DRDY_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_DRDY;
+}
+
+static inline bool hri_sercomi2cs_get_INTFLAG_ERROR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_ERROR) >> SERCOM_I2CS_INTFLAG_ERROR_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_INTFLAG_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_ERROR;
+}
+
+static inline bool hri_sercomi2cs_get_interrupt_PREC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_PREC) >> SERCOM_I2CS_INTFLAG_PREC_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_interrupt_PREC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_PREC;
+}
+
+static inline bool hri_sercomi2cs_get_interrupt_AMATCH_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_AMATCH) >> SERCOM_I2CS_INTFLAG_AMATCH_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_interrupt_AMATCH_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_AMATCH;
+}
+
+static inline bool hri_sercomi2cs_get_interrupt_DRDY_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_DRDY) >> SERCOM_I2CS_INTFLAG_DRDY_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_interrupt_DRDY_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_DRDY;
+}
+
+static inline bool hri_sercomi2cs_get_interrupt_ERROR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.INTFLAG.reg & SERCOM_I2CS_INTFLAG_ERROR) >> SERCOM_I2CS_INTFLAG_ERROR_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_interrupt_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTFLAG.reg = SERCOM_I2CS_INTFLAG_ERROR;
+}
+
+static inline hri_sercomi2cs_intflag_reg_t hri_sercomi2cs_get_INTFLAG_reg(const void *const hw,
+ hri_sercomi2cs_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sercomi2cs_intflag_reg_t hri_sercomi2cs_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->I2CS.INTFLAG.reg;
+}
+
+static inline void hri_sercomi2cs_clear_INTFLAG_reg(const void *const hw, hri_sercomi2cs_intflag_reg_t mask)
+{
+ ((Sercom *)hw)->I2CS.INTFLAG.reg = mask;
+}
+
+static inline bool hri_sercomspi_get_INTFLAG_DRE_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_DRE) >> SERCOM_SPI_INTFLAG_DRE_Pos;
+}
+
+static inline void hri_sercomspi_clear_INTFLAG_DRE_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_DRE;
+}
+
+static inline bool hri_sercomspi_get_INTFLAG_TXC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_TXC) >> SERCOM_SPI_INTFLAG_TXC_Pos;
+}
+
+static inline void hri_sercomspi_clear_INTFLAG_TXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_TXC;
+}
+
+static inline bool hri_sercomspi_get_INTFLAG_RXC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_RXC) >> SERCOM_SPI_INTFLAG_RXC_Pos;
+}
+
+static inline void hri_sercomspi_clear_INTFLAG_RXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_RXC;
+}
+
+static inline bool hri_sercomspi_get_INTFLAG_SSL_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_SSL) >> SERCOM_SPI_INTFLAG_SSL_Pos;
+}
+
+static inline void hri_sercomspi_clear_INTFLAG_SSL_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_SSL;
+}
+
+static inline bool hri_sercomspi_get_INTFLAG_ERROR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_ERROR) >> SERCOM_SPI_INTFLAG_ERROR_Pos;
+}
+
+static inline void hri_sercomspi_clear_INTFLAG_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_ERROR;
+}
+
+static inline bool hri_sercomspi_get_interrupt_DRE_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_DRE) >> SERCOM_SPI_INTFLAG_DRE_Pos;
+}
+
+static inline void hri_sercomspi_clear_interrupt_DRE_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_DRE;
+}
+
+static inline bool hri_sercomspi_get_interrupt_TXC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_TXC) >> SERCOM_SPI_INTFLAG_TXC_Pos;
+}
+
+static inline void hri_sercomspi_clear_interrupt_TXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_TXC;
+}
+
+static inline bool hri_sercomspi_get_interrupt_RXC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_RXC) >> SERCOM_SPI_INTFLAG_RXC_Pos;
+}
+
+static inline void hri_sercomspi_clear_interrupt_RXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_RXC;
+}
+
+static inline bool hri_sercomspi_get_interrupt_SSL_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_SSL) >> SERCOM_SPI_INTFLAG_SSL_Pos;
+}
+
+static inline void hri_sercomspi_clear_interrupt_SSL_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_SSL;
+}
+
+static inline bool hri_sercomspi_get_interrupt_ERROR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.INTFLAG.reg & SERCOM_SPI_INTFLAG_ERROR) >> SERCOM_SPI_INTFLAG_ERROR_Pos;
+}
+
+static inline void hri_sercomspi_clear_interrupt_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTFLAG.reg = SERCOM_SPI_INTFLAG_ERROR;
+}
+
+static inline hri_sercomspi_intflag_reg_t hri_sercomspi_get_INTFLAG_reg(const void *const hw,
+ hri_sercomspi_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->SPI.INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sercomspi_intflag_reg_t hri_sercomspi_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->SPI.INTFLAG.reg;
+}
+
+static inline void hri_sercomspi_clear_INTFLAG_reg(const void *const hw, hri_sercomspi_intflag_reg_t mask)
+{
+ ((Sercom *)hw)->SPI.INTFLAG.reg = mask;
+}
+
+static inline bool hri_sercomusart_get_INTFLAG_DRE_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_DRE) >> SERCOM_USART_INTFLAG_DRE_Pos;
+}
+
+static inline void hri_sercomusart_clear_INTFLAG_DRE_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_DRE;
+}
+
+static inline bool hri_sercomusart_get_INTFLAG_TXC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_TXC) >> SERCOM_USART_INTFLAG_TXC_Pos;
+}
+
+static inline void hri_sercomusart_clear_INTFLAG_TXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_TXC;
+}
+
+static inline bool hri_sercomusart_get_INTFLAG_RXC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXC) >> SERCOM_USART_INTFLAG_RXC_Pos;
+}
+
+static inline void hri_sercomusart_clear_INTFLAG_RXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_RXC;
+}
+
+static inline bool hri_sercomusart_get_INTFLAG_RXS_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXS) >> SERCOM_USART_INTFLAG_RXS_Pos;
+}
+
+static inline void hri_sercomusart_clear_INTFLAG_RXS_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_RXS;
+}
+
+static inline bool hri_sercomusart_get_INTFLAG_CTSIC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_CTSIC) >> SERCOM_USART_INTFLAG_CTSIC_Pos;
+}
+
+static inline void hri_sercomusart_clear_INTFLAG_CTSIC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_CTSIC;
+}
+
+static inline bool hri_sercomusart_get_INTFLAG_RXBRK_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXBRK) >> SERCOM_USART_INTFLAG_RXBRK_Pos;
+}
+
+static inline void hri_sercomusart_clear_INTFLAG_RXBRK_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_RXBRK;
+}
+
+static inline bool hri_sercomusart_get_INTFLAG_ERROR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_ERROR) >> SERCOM_USART_INTFLAG_ERROR_Pos;
+}
+
+static inline void hri_sercomusart_clear_INTFLAG_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_ERROR;
+}
+
+static inline bool hri_sercomusart_get_interrupt_DRE_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_DRE) >> SERCOM_USART_INTFLAG_DRE_Pos;
+}
+
+static inline void hri_sercomusart_clear_interrupt_DRE_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_DRE;
+}
+
+static inline bool hri_sercomusart_get_interrupt_TXC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_TXC) >> SERCOM_USART_INTFLAG_TXC_Pos;
+}
+
+static inline void hri_sercomusart_clear_interrupt_TXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_TXC;
+}
+
+static inline bool hri_sercomusart_get_interrupt_RXC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXC) >> SERCOM_USART_INTFLAG_RXC_Pos;
+}
+
+static inline void hri_sercomusart_clear_interrupt_RXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_RXC;
+}
+
+static inline bool hri_sercomusart_get_interrupt_RXS_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXS) >> SERCOM_USART_INTFLAG_RXS_Pos;
+}
+
+static inline void hri_sercomusart_clear_interrupt_RXS_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_RXS;
+}
+
+static inline bool hri_sercomusart_get_interrupt_CTSIC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_CTSIC) >> SERCOM_USART_INTFLAG_CTSIC_Pos;
+}
+
+static inline void hri_sercomusart_clear_interrupt_CTSIC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_CTSIC;
+}
+
+static inline bool hri_sercomusart_get_interrupt_RXBRK_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXBRK) >> SERCOM_USART_INTFLAG_RXBRK_Pos;
+}
+
+static inline void hri_sercomusart_clear_interrupt_RXBRK_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_RXBRK;
+}
+
+static inline bool hri_sercomusart_get_interrupt_ERROR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_ERROR) >> SERCOM_USART_INTFLAG_ERROR_Pos;
+}
+
+static inline void hri_sercomusart_clear_interrupt_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_ERROR;
+}
+
+static inline hri_sercomusart_intflag_reg_t hri_sercomusart_get_INTFLAG_reg(const void *const hw,
+ hri_sercomusart_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->USART.INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sercomusart_intflag_reg_t hri_sercomusart_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->USART.INTFLAG.reg;
+}
+
+static inline void hri_sercomusart_clear_INTFLAG_reg(const void *const hw, hri_sercomusart_intflag_reg_t mask)
+{
+ ((Sercom *)hw)->USART.INTFLAG.reg = mask;
+}
+
+static inline void hri_sercomi2cm_set_INTEN_MB_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CM.INTENSET.reg = SERCOM_I2CM_INTENSET_MB;
+}
+
+static inline bool hri_sercomi2cm_get_INTEN_MB_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.INTENSET.reg & SERCOM_I2CM_INTENSET_MB) >> SERCOM_I2CM_INTENSET_MB_Pos;
+}
+
+static inline void hri_sercomi2cm_write_INTEN_MB_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->I2CM.INTENCLR.reg = SERCOM_I2CM_INTENSET_MB;
+ } else {
+ ((Sercom *)hw)->I2CM.INTENSET.reg = SERCOM_I2CM_INTENSET_MB;
+ }
+}
+
+static inline void hri_sercomi2cm_clear_INTEN_MB_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CM.INTENCLR.reg = SERCOM_I2CM_INTENSET_MB;
+}
+
+static inline void hri_sercomi2cm_set_INTEN_SB_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CM.INTENSET.reg = SERCOM_I2CM_INTENSET_SB;
+}
+
+static inline bool hri_sercomi2cm_get_INTEN_SB_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.INTENSET.reg & SERCOM_I2CM_INTENSET_SB) >> SERCOM_I2CM_INTENSET_SB_Pos;
+}
+
+static inline void hri_sercomi2cm_write_INTEN_SB_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->I2CM.INTENCLR.reg = SERCOM_I2CM_INTENSET_SB;
+ } else {
+ ((Sercom *)hw)->I2CM.INTENSET.reg = SERCOM_I2CM_INTENSET_SB;
+ }
+}
+
+static inline void hri_sercomi2cm_clear_INTEN_SB_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CM.INTENCLR.reg = SERCOM_I2CM_INTENSET_SB;
+}
+
+static inline void hri_sercomi2cm_set_INTEN_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CM.INTENSET.reg = SERCOM_I2CM_INTENSET_ERROR;
+}
+
+static inline bool hri_sercomi2cm_get_INTEN_ERROR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.INTENSET.reg & SERCOM_I2CM_INTENSET_ERROR) >> SERCOM_I2CM_INTENSET_ERROR_Pos;
+}
+
+static inline void hri_sercomi2cm_write_INTEN_ERROR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->I2CM.INTENCLR.reg = SERCOM_I2CM_INTENSET_ERROR;
+ } else {
+ ((Sercom *)hw)->I2CM.INTENSET.reg = SERCOM_I2CM_INTENSET_ERROR;
+ }
+}
+
+static inline void hri_sercomi2cm_clear_INTEN_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CM.INTENCLR.reg = SERCOM_I2CM_INTENSET_ERROR;
+}
+
+static inline void hri_sercomi2cm_set_INTEN_reg(const void *const hw, hri_sercomi2cm_intenset_reg_t mask)
+{
+ ((Sercom *)hw)->I2CM.INTENSET.reg = mask;
+}
+
+static inline hri_sercomi2cm_intenset_reg_t hri_sercomi2cm_get_INTEN_reg(const void *const hw,
+ hri_sercomi2cm_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sercomi2cm_intenset_reg_t hri_sercomi2cm_read_INTEN_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->I2CM.INTENSET.reg;
+}
+
+static inline void hri_sercomi2cm_write_INTEN_reg(const void *const hw, hri_sercomi2cm_intenset_reg_t data)
+{
+ ((Sercom *)hw)->I2CM.INTENSET.reg = data;
+ ((Sercom *)hw)->I2CM.INTENCLR.reg = ~data;
+}
+
+static inline void hri_sercomi2cm_clear_INTEN_reg(const void *const hw, hri_sercomi2cm_intenset_reg_t mask)
+{
+ ((Sercom *)hw)->I2CM.INTENCLR.reg = mask;
+}
+
+static inline void hri_sercomi2cs_set_INTEN_PREC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_PREC;
+}
+
+static inline bool hri_sercomi2cs_get_INTEN_PREC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.INTENSET.reg & SERCOM_I2CS_INTENSET_PREC) >> SERCOM_I2CS_INTENSET_PREC_Pos;
+}
+
+static inline void hri_sercomi2cs_write_INTEN_PREC_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_PREC;
+ } else {
+ ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_PREC;
+ }
+}
+
+static inline void hri_sercomi2cs_clear_INTEN_PREC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_PREC;
+}
+
+static inline void hri_sercomi2cs_set_INTEN_AMATCH_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_AMATCH;
+}
+
+static inline bool hri_sercomi2cs_get_INTEN_AMATCH_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.INTENSET.reg & SERCOM_I2CS_INTENSET_AMATCH) >> SERCOM_I2CS_INTENSET_AMATCH_Pos;
+}
+
+static inline void hri_sercomi2cs_write_INTEN_AMATCH_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_AMATCH;
+ } else {
+ ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_AMATCH;
+ }
+}
+
+static inline void hri_sercomi2cs_clear_INTEN_AMATCH_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_AMATCH;
+}
+
+static inline void hri_sercomi2cs_set_INTEN_DRDY_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_DRDY;
+}
+
+static inline bool hri_sercomi2cs_get_INTEN_DRDY_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.INTENSET.reg & SERCOM_I2CS_INTENSET_DRDY) >> SERCOM_I2CS_INTENSET_DRDY_Pos;
+}
+
+static inline void hri_sercomi2cs_write_INTEN_DRDY_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_DRDY;
+ } else {
+ ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_DRDY;
+ }
+}
+
+static inline void hri_sercomi2cs_clear_INTEN_DRDY_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_DRDY;
+}
+
+static inline void hri_sercomi2cs_set_INTEN_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_ERROR;
+}
+
+static inline bool hri_sercomi2cs_get_INTEN_ERROR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.INTENSET.reg & SERCOM_I2CS_INTENSET_ERROR) >> SERCOM_I2CS_INTENSET_ERROR_Pos;
+}
+
+static inline void hri_sercomi2cs_write_INTEN_ERROR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_ERROR;
+ } else {
+ ((Sercom *)hw)->I2CS.INTENSET.reg = SERCOM_I2CS_INTENSET_ERROR;
+ }
+}
+
+static inline void hri_sercomi2cs_clear_INTEN_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->I2CS.INTENCLR.reg = SERCOM_I2CS_INTENSET_ERROR;
+}
+
+static inline void hri_sercomi2cs_set_INTEN_reg(const void *const hw, hri_sercomi2cs_intenset_reg_t mask)
+{
+ ((Sercom *)hw)->I2CS.INTENSET.reg = mask;
+}
+
+static inline hri_sercomi2cs_intenset_reg_t hri_sercomi2cs_get_INTEN_reg(const void *const hw,
+ hri_sercomi2cs_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sercomi2cs_intenset_reg_t hri_sercomi2cs_read_INTEN_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->I2CS.INTENSET.reg;
+}
+
+static inline void hri_sercomi2cs_write_INTEN_reg(const void *const hw, hri_sercomi2cs_intenset_reg_t data)
+{
+ ((Sercom *)hw)->I2CS.INTENSET.reg = data;
+ ((Sercom *)hw)->I2CS.INTENCLR.reg = ~data;
+}
+
+static inline void hri_sercomi2cs_clear_INTEN_reg(const void *const hw, hri_sercomi2cs_intenset_reg_t mask)
+{
+ ((Sercom *)hw)->I2CS.INTENCLR.reg = mask;
+}
+
+static inline void hri_sercomspi_set_INTEN_DRE_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_DRE;
+}
+
+static inline bool hri_sercomspi_get_INTEN_DRE_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.INTENSET.reg & SERCOM_SPI_INTENSET_DRE) >> SERCOM_SPI_INTENSET_DRE_Pos;
+}
+
+static inline void hri_sercomspi_write_INTEN_DRE_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_DRE;
+ } else {
+ ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_DRE;
+ }
+}
+
+static inline void hri_sercomspi_clear_INTEN_DRE_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_DRE;
+}
+
+static inline void hri_sercomspi_set_INTEN_TXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_TXC;
+}
+
+static inline bool hri_sercomspi_get_INTEN_TXC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.INTENSET.reg & SERCOM_SPI_INTENSET_TXC) >> SERCOM_SPI_INTENSET_TXC_Pos;
+}
+
+static inline void hri_sercomspi_write_INTEN_TXC_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_TXC;
+ } else {
+ ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_TXC;
+ }
+}
+
+static inline void hri_sercomspi_clear_INTEN_TXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_TXC;
+}
+
+static inline void hri_sercomspi_set_INTEN_RXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_RXC;
+}
+
+static inline bool hri_sercomspi_get_INTEN_RXC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.INTENSET.reg & SERCOM_SPI_INTENSET_RXC) >> SERCOM_SPI_INTENSET_RXC_Pos;
+}
+
+static inline void hri_sercomspi_write_INTEN_RXC_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_RXC;
+ } else {
+ ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_RXC;
+ }
+}
+
+static inline void hri_sercomspi_clear_INTEN_RXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_RXC;
+}
+
+static inline void hri_sercomspi_set_INTEN_SSL_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_SSL;
+}
+
+static inline bool hri_sercomspi_get_INTEN_SSL_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.INTENSET.reg & SERCOM_SPI_INTENSET_SSL) >> SERCOM_SPI_INTENSET_SSL_Pos;
+}
+
+static inline void hri_sercomspi_write_INTEN_SSL_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_SSL;
+ } else {
+ ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_SSL;
+ }
+}
+
+static inline void hri_sercomspi_clear_INTEN_SSL_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_SSL;
+}
+
+static inline void hri_sercomspi_set_INTEN_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_ERROR;
+}
+
+static inline bool hri_sercomspi_get_INTEN_ERROR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.INTENSET.reg & SERCOM_SPI_INTENSET_ERROR) >> SERCOM_SPI_INTENSET_ERROR_Pos;
+}
+
+static inline void hri_sercomspi_write_INTEN_ERROR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_ERROR;
+ } else {
+ ((Sercom *)hw)->SPI.INTENSET.reg = SERCOM_SPI_INTENSET_ERROR;
+ }
+}
+
+static inline void hri_sercomspi_clear_INTEN_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->SPI.INTENCLR.reg = SERCOM_SPI_INTENSET_ERROR;
+}
+
+static inline void hri_sercomspi_set_INTEN_reg(const void *const hw, hri_sercomspi_intenset_reg_t mask)
+{
+ ((Sercom *)hw)->SPI.INTENSET.reg = mask;
+}
+
+static inline hri_sercomspi_intenset_reg_t hri_sercomspi_get_INTEN_reg(const void *const hw,
+ hri_sercomspi_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->SPI.INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sercomspi_intenset_reg_t hri_sercomspi_read_INTEN_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->SPI.INTENSET.reg;
+}
+
+static inline void hri_sercomspi_write_INTEN_reg(const void *const hw, hri_sercomspi_intenset_reg_t data)
+{
+ ((Sercom *)hw)->SPI.INTENSET.reg = data;
+ ((Sercom *)hw)->SPI.INTENCLR.reg = ~data;
+}
+
+static inline void hri_sercomspi_clear_INTEN_reg(const void *const hw, hri_sercomspi_intenset_reg_t mask)
+{
+ ((Sercom *)hw)->SPI.INTENCLR.reg = mask;
+}
+
+static inline void hri_sercomusart_set_INTEN_DRE_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_DRE;
+}
+
+static inline bool hri_sercomusart_get_INTEN_DRE_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_DRE) >> SERCOM_USART_INTENSET_DRE_Pos;
+}
+
+static inline void hri_sercomusart_write_INTEN_DRE_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_DRE;
+ } else {
+ ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_DRE;
+ }
+}
+
+static inline void hri_sercomusart_clear_INTEN_DRE_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_DRE;
+}
+
+static inline void hri_sercomusart_set_INTEN_TXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_TXC;
+}
+
+static inline bool hri_sercomusart_get_INTEN_TXC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_TXC) >> SERCOM_USART_INTENSET_TXC_Pos;
+}
+
+static inline void hri_sercomusart_write_INTEN_TXC_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_TXC;
+ } else {
+ ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_TXC;
+ }
+}
+
+static inline void hri_sercomusart_clear_INTEN_TXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_TXC;
+}
+
+static inline void hri_sercomusart_set_INTEN_RXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_RXC;
+}
+
+static inline bool hri_sercomusart_get_INTEN_RXC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_RXC) >> SERCOM_USART_INTENSET_RXC_Pos;
+}
+
+static inline void hri_sercomusart_write_INTEN_RXC_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_RXC;
+ } else {
+ ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_RXC;
+ }
+}
+
+static inline void hri_sercomusart_clear_INTEN_RXC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_RXC;
+}
+
+static inline void hri_sercomusart_set_INTEN_RXS_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_RXS;
+}
+
+static inline bool hri_sercomusart_get_INTEN_RXS_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_RXS) >> SERCOM_USART_INTENSET_RXS_Pos;
+}
+
+static inline void hri_sercomusart_write_INTEN_RXS_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_RXS;
+ } else {
+ ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_RXS;
+ }
+}
+
+static inline void hri_sercomusart_clear_INTEN_RXS_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_RXS;
+}
+
+static inline void hri_sercomusart_set_INTEN_CTSIC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_CTSIC;
+}
+
+static inline bool hri_sercomusart_get_INTEN_CTSIC_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_CTSIC) >> SERCOM_USART_INTENSET_CTSIC_Pos;
+}
+
+static inline void hri_sercomusart_write_INTEN_CTSIC_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_CTSIC;
+ } else {
+ ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_CTSIC;
+ }
+}
+
+static inline void hri_sercomusart_clear_INTEN_CTSIC_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_CTSIC;
+}
+
+static inline void hri_sercomusart_set_INTEN_RXBRK_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_RXBRK;
+}
+
+static inline bool hri_sercomusart_get_INTEN_RXBRK_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_RXBRK) >> SERCOM_USART_INTENSET_RXBRK_Pos;
+}
+
+static inline void hri_sercomusart_write_INTEN_RXBRK_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_RXBRK;
+ } else {
+ ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_RXBRK;
+ }
+}
+
+static inline void hri_sercomusart_clear_INTEN_RXBRK_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_RXBRK;
+}
+
+static inline void hri_sercomusart_set_INTEN_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_ERROR;
+}
+
+static inline bool hri_sercomusart_get_INTEN_ERROR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_ERROR) >> SERCOM_USART_INTENSET_ERROR_Pos;
+}
+
+static inline void hri_sercomusart_write_INTEN_ERROR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_ERROR;
+ } else {
+ ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_ERROR;
+ }
+}
+
+static inline void hri_sercomusart_clear_INTEN_ERROR_bit(const void *const hw)
+{
+ ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_ERROR;
+}
+
+static inline void hri_sercomusart_set_INTEN_reg(const void *const hw, hri_sercomusart_intenset_reg_t mask)
+{
+ ((Sercom *)hw)->USART.INTENSET.reg = mask;
+}
+
+static inline hri_sercomusart_intenset_reg_t hri_sercomusart_get_INTEN_reg(const void *const hw,
+ hri_sercomusart_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->USART.INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sercomusart_intenset_reg_t hri_sercomusart_read_INTEN_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->USART.INTENSET.reg;
+}
+
+static inline void hri_sercomusart_write_INTEN_reg(const void *const hw, hri_sercomusart_intenset_reg_t data)
+{
+ ((Sercom *)hw)->USART.INTENSET.reg = data;
+ ((Sercom *)hw)->USART.INTENCLR.reg = ~data;
+}
+
+static inline void hri_sercomusart_clear_INTEN_reg(const void *const hw, hri_sercomusart_intenset_reg_t mask)
+{
+ ((Sercom *)hw)->USART.INTENCLR.reg = mask;
+}
+
+static inline bool hri_sercomi2cm_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.SYNCBUSY.reg & SERCOM_I2CM_SYNCBUSY_SWRST) >> SERCOM_I2CM_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_sercomi2cm_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.SYNCBUSY.reg & SERCOM_I2CM_SYNCBUSY_ENABLE) >> SERCOM_I2CM_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_sercomi2cm_get_SYNCBUSY_SYSOP_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.SYNCBUSY.reg & SERCOM_I2CM_SYNCBUSY_SYSOP) >> SERCOM_I2CM_SYNCBUSY_SYSOP_Pos;
+}
+
+static inline bool hri_sercomi2cm_get_SYNCBUSY_LENGTH_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.SYNCBUSY.reg & SERCOM_I2CM_SYNCBUSY_LENGTH) >> SERCOM_I2CM_SYNCBUSY_LENGTH_Pos;
+}
+
+static inline hri_sercomi2cm_syncbusy_reg_t hri_sercomi2cm_get_SYNCBUSY_reg(const void *const hw,
+ hri_sercomi2cm_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sercomi2cm_syncbusy_reg_t hri_sercomi2cm_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->I2CM.SYNCBUSY.reg;
+}
+
+static inline bool hri_sercomi2cs_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.SYNCBUSY.reg & SERCOM_I2CS_SYNCBUSY_SWRST) >> SERCOM_I2CS_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_sercomi2cs_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.SYNCBUSY.reg & SERCOM_I2CS_SYNCBUSY_ENABLE) >> SERCOM_I2CS_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_sercomi2cs_get_SYNCBUSY_LENGTH_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.SYNCBUSY.reg & SERCOM_I2CS_SYNCBUSY_LENGTH) >> SERCOM_I2CS_SYNCBUSY_LENGTH_Pos;
+}
+
+static inline hri_sercomi2cs_syncbusy_reg_t hri_sercomi2cs_get_SYNCBUSY_reg(const void *const hw,
+ hri_sercomi2cs_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sercomi2cs_syncbusy_reg_t hri_sercomi2cs_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->I2CS.SYNCBUSY.reg;
+}
+
+static inline bool hri_sercomspi_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.SYNCBUSY.reg & SERCOM_SPI_SYNCBUSY_SWRST) >> SERCOM_SPI_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_sercomspi_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.SYNCBUSY.reg & SERCOM_SPI_SYNCBUSY_ENABLE) >> SERCOM_SPI_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_sercomspi_get_SYNCBUSY_CTRLB_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.SYNCBUSY.reg & SERCOM_SPI_SYNCBUSY_CTRLB) >> SERCOM_SPI_SYNCBUSY_CTRLB_Pos;
+}
+
+static inline bool hri_sercomspi_get_SYNCBUSY_LENGTH_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.SYNCBUSY.reg & SERCOM_SPI_SYNCBUSY_LENGTH) >> SERCOM_SPI_SYNCBUSY_LENGTH_Pos;
+}
+
+static inline hri_sercomspi_syncbusy_reg_t hri_sercomspi_get_SYNCBUSY_reg(const void *const hw,
+ hri_sercomspi_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sercomspi_syncbusy_reg_t hri_sercomspi_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->SPI.SYNCBUSY.reg;
+}
+
+static inline bool hri_sercomusart_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.SYNCBUSY.reg & SERCOM_USART_SYNCBUSY_SWRST) >> SERCOM_USART_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_sercomusart_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.SYNCBUSY.reg & SERCOM_USART_SYNCBUSY_ENABLE) >> SERCOM_USART_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_sercomusart_get_SYNCBUSY_CTRLB_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.SYNCBUSY.reg & SERCOM_USART_SYNCBUSY_CTRLB) >> SERCOM_USART_SYNCBUSY_CTRLB_Pos;
+}
+
+static inline bool hri_sercomusart_get_SYNCBUSY_RXERRCNT_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.SYNCBUSY.reg & SERCOM_USART_SYNCBUSY_RXERRCNT) >> SERCOM_USART_SYNCBUSY_RXERRCNT_Pos;
+}
+
+static inline bool hri_sercomusart_get_SYNCBUSY_LENGTH_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.SYNCBUSY.reg & SERCOM_USART_SYNCBUSY_LENGTH) >> SERCOM_USART_SYNCBUSY_LENGTH_Pos;
+}
+
+static inline hri_sercomusart_syncbusy_reg_t hri_sercomusart_get_SYNCBUSY_reg(const void *const hw,
+ hri_sercomusart_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sercomusart_syncbusy_reg_t hri_sercomusart_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->USART.SYNCBUSY.reg;
+}
+
+static inline hri_sercomusart_rxerrcnt_reg_t hri_sercomusart_get_RXERRCNT_reg(const void *const hw,
+ hri_sercomusart_rxerrcnt_reg_t mask)
+{
+ uint8_t tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ tmp = ((Sercom *)hw)->USART.RXERRCNT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_sercomusart_rxerrcnt_reg_t hri_sercomusart_read_RXERRCNT_reg(const void *const hw)
+{
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ return ((Sercom *)hw)->USART.RXERRCNT.reg;
+}
+
+static inline void hri_sercomi2cm_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_SWRST;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST);
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_SWRST) >> SERCOM_I2CM_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_ENABLE;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE);
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_ENABLE) >> SERCOM_I2CM_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp &= ~SERCOM_I2CM_CTRLA_ENABLE;
+ tmp |= value << SERCOM_I2CM_CTRLA_ENABLE_Pos;
+ ((Sercom *)hw)->I2CM.CTRLA.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_ENABLE;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_ENABLE;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_RUNSTDBY;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_RUNSTDBY) >> SERCOM_I2CM_CTRLA_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp &= ~SERCOM_I2CM_CTRLA_RUNSTDBY;
+ tmp |= value << SERCOM_I2CM_CTRLA_RUNSTDBY_Pos;
+ ((Sercom *)hw)->I2CM.CTRLA.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_RUNSTDBY;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_RUNSTDBY;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_CTRLA_PINOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_PINOUT;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_CTRLA_PINOUT_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_PINOUT) >> SERCOM_I2CM_CTRLA_PINOUT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLA_PINOUT_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp &= ~SERCOM_I2CM_CTRLA_PINOUT;
+ tmp |= value << SERCOM_I2CM_CTRLA_PINOUT_Pos;
+ ((Sercom *)hw)->I2CM.CTRLA.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLA_PINOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_PINOUT;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLA_PINOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_PINOUT;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_CTRLA_MEXTTOEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_MEXTTOEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_CTRLA_MEXTTOEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_MEXTTOEN) >> SERCOM_I2CM_CTRLA_MEXTTOEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLA_MEXTTOEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp &= ~SERCOM_I2CM_CTRLA_MEXTTOEN;
+ tmp |= value << SERCOM_I2CM_CTRLA_MEXTTOEN_Pos;
+ ((Sercom *)hw)->I2CM.CTRLA.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLA_MEXTTOEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_MEXTTOEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLA_MEXTTOEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_MEXTTOEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_CTRLA_SEXTTOEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_SEXTTOEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_CTRLA_SEXTTOEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_SEXTTOEN) >> SERCOM_I2CM_CTRLA_SEXTTOEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLA_SEXTTOEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp &= ~SERCOM_I2CM_CTRLA_SEXTTOEN;
+ tmp |= value << SERCOM_I2CM_CTRLA_SEXTTOEN_Pos;
+ ((Sercom *)hw)->I2CM.CTRLA.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLA_SEXTTOEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_SEXTTOEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLA_SEXTTOEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_SEXTTOEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_CTRLA_SCLSM_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_SCLSM;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_CTRLA_SCLSM_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_SCLSM) >> SERCOM_I2CM_CTRLA_SCLSM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLA_SCLSM_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp &= ~SERCOM_I2CM_CTRLA_SCLSM;
+ tmp |= value << SERCOM_I2CM_CTRLA_SCLSM_Pos;
+ ((Sercom *)hw)->I2CM.CTRLA.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLA_SCLSM_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_SCLSM;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLA_SCLSM_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_SCLSM;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_CTRLA_LOWTOUTEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_LOWTOUTEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_CTRLA_LOWTOUTEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_LOWTOUTEN) >> SERCOM_I2CM_CTRLA_LOWTOUTEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLA_LOWTOUTEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp &= ~SERCOM_I2CM_CTRLA_LOWTOUTEN;
+ tmp |= value << SERCOM_I2CM_CTRLA_LOWTOUTEN_Pos;
+ ((Sercom *)hw)->I2CM.CTRLA.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLA_LOWTOUTEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_LOWTOUTEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLA_LOWTOUTEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_LOWTOUTEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_MODE(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_get_CTRLA_MODE_bf(const void *const hw,
+ hri_sercomi2cm_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_MODE(mask)) >> SERCOM_I2CM_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp &= ~SERCOM_I2CM_CTRLA_MODE_Msk;
+ tmp |= SERCOM_I2CM_CTRLA_MODE(data);
+ ((Sercom *)hw)->I2CM.CTRLA.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_MODE(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_MODE(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_read_CTRLA_MODE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_MODE_Msk) >> SERCOM_I2CM_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_set_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_SDAHOLD(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_get_CTRLA_SDAHOLD_bf(const void *const hw,
+ hri_sercomi2cm_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_SDAHOLD(mask)) >> SERCOM_I2CM_CTRLA_SDAHOLD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp &= ~SERCOM_I2CM_CTRLA_SDAHOLD_Msk;
+ tmp |= SERCOM_I2CM_CTRLA_SDAHOLD(data);
+ ((Sercom *)hw)->I2CM.CTRLA.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_SDAHOLD(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_SDAHOLD(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_read_CTRLA_SDAHOLD_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_SDAHOLD_Msk) >> SERCOM_I2CM_CTRLA_SDAHOLD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_set_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_SPEED(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_get_CTRLA_SPEED_bf(const void *const hw,
+ hri_sercomi2cm_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_SPEED(mask)) >> SERCOM_I2CM_CTRLA_SPEED_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp &= ~SERCOM_I2CM_CTRLA_SPEED_Msk;
+ tmp |= SERCOM_I2CM_CTRLA_SPEED(data);
+ ((Sercom *)hw)->I2CM.CTRLA.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_SPEED(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_SPEED(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_read_CTRLA_SPEED_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_SPEED_Msk) >> SERCOM_I2CM_CTRLA_SPEED_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_set_CTRLA_INACTOUT_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg |= SERCOM_I2CM_CTRLA_INACTOUT(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_get_CTRLA_INACTOUT_bf(const void *const hw,
+ hri_sercomi2cm_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_INACTOUT(mask)) >> SERCOM_I2CM_CTRLA_INACTOUT_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLA_INACTOUT_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp &= ~SERCOM_I2CM_CTRLA_INACTOUT_Msk;
+ tmp |= SERCOM_I2CM_CTRLA_INACTOUT(data);
+ ((Sercom *)hw)->I2CM.CTRLA.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLA_INACTOUT_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_INACTOUT(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLA_INACTOUT_bf(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg ^= SERCOM_I2CM_CTRLA_INACTOUT(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_read_CTRLA_INACTOUT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLA_INACTOUT_Msk) >> SERCOM_I2CM_CTRLA_INACTOUT_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_set_CTRLA_reg(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg |= mask;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_get_CTRLA_reg(const void *const hw,
+ hri_sercomi2cm_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE);
+ tmp = ((Sercom *)hw)->I2CM.CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLA_reg(const void *const hw, hri_sercomi2cm_ctrla_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg = data;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLA_reg(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg &= ~mask;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLA_reg(const void *const hw, hri_sercomi2cm_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLA.reg ^= mask;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrla_reg_t hri_sercomi2cm_read_CTRLA_reg(const void *const hw)
+{
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST | SERCOM_I2CM_SYNCBUSY_ENABLE);
+ return ((Sercom *)hw)->I2CM.CTRLA.reg;
+}
+
+static inline void hri_sercomi2cs_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_SWRST;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST);
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLA_SWRST) >> SERCOM_I2CS_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cs_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_ENABLE;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE);
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLA_ENABLE) >> SERCOM_I2CS_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp &= ~SERCOM_I2CS_CTRLA_ENABLE;
+ tmp |= value << SERCOM_I2CS_CTRLA_ENABLE_Pos;
+ ((Sercom *)hw)->I2CS.CTRLA.reg = tmp;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_ENABLE;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_ENABLE;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_set_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_RUNSTDBY;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLA_RUNSTDBY) >> SERCOM_I2CS_CTRLA_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp &= ~SERCOM_I2CS_CTRLA_RUNSTDBY;
+ tmp |= value << SERCOM_I2CS_CTRLA_RUNSTDBY_Pos;
+ ((Sercom *)hw)->I2CS.CTRLA.reg = tmp;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_RUNSTDBY;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_RUNSTDBY;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_set_CTRLA_PINOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_PINOUT;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_CTRLA_PINOUT_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLA_PINOUT) >> SERCOM_I2CS_CTRLA_PINOUT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLA_PINOUT_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp &= ~SERCOM_I2CS_CTRLA_PINOUT;
+ tmp |= value << SERCOM_I2CS_CTRLA_PINOUT_Pos;
+ ((Sercom *)hw)->I2CS.CTRLA.reg = tmp;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLA_PINOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_PINOUT;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLA_PINOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_PINOUT;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_set_CTRLA_SEXTTOEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_SEXTTOEN;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_CTRLA_SEXTTOEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLA_SEXTTOEN) >> SERCOM_I2CS_CTRLA_SEXTTOEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLA_SEXTTOEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp &= ~SERCOM_I2CS_CTRLA_SEXTTOEN;
+ tmp |= value << SERCOM_I2CS_CTRLA_SEXTTOEN_Pos;
+ ((Sercom *)hw)->I2CS.CTRLA.reg = tmp;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLA_SEXTTOEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_SEXTTOEN;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLA_SEXTTOEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_SEXTTOEN;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_set_CTRLA_SCLSM_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_SCLSM;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_CTRLA_SCLSM_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLA_SCLSM) >> SERCOM_I2CS_CTRLA_SCLSM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLA_SCLSM_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp &= ~SERCOM_I2CS_CTRLA_SCLSM;
+ tmp |= value << SERCOM_I2CS_CTRLA_SCLSM_Pos;
+ ((Sercom *)hw)->I2CS.CTRLA.reg = tmp;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLA_SCLSM_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_SCLSM;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLA_SCLSM_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_SCLSM;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_set_CTRLA_LOWTOUTEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_LOWTOUTEN;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_CTRLA_LOWTOUTEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLA_LOWTOUTEN) >> SERCOM_I2CS_CTRLA_LOWTOUTEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLA_LOWTOUTEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp &= ~SERCOM_I2CS_CTRLA_LOWTOUTEN;
+ tmp |= value << SERCOM_I2CS_CTRLA_LOWTOUTEN_Pos;
+ ((Sercom *)hw)->I2CS.CTRLA.reg = tmp;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLA_LOWTOUTEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_LOWTOUTEN;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLA_LOWTOUTEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_LOWTOUTEN;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_set_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_MODE(mask);
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_get_CTRLA_MODE_bf(const void *const hw,
+ hri_sercomi2cs_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLA_MODE(mask)) >> SERCOM_I2CS_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp &= ~SERCOM_I2CS_CTRLA_MODE_Msk;
+ tmp |= SERCOM_I2CS_CTRLA_MODE(data);
+ ((Sercom *)hw)->I2CS.CTRLA.reg = tmp;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_MODE(mask);
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLA_MODE_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_MODE(mask);
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_read_CTRLA_MODE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLA_MODE_Msk) >> SERCOM_I2CS_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_set_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_SDAHOLD(mask);
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_get_CTRLA_SDAHOLD_bf(const void *const hw,
+ hri_sercomi2cs_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLA_SDAHOLD(mask)) >> SERCOM_I2CS_CTRLA_SDAHOLD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp &= ~SERCOM_I2CS_CTRLA_SDAHOLD_Msk;
+ tmp |= SERCOM_I2CS_CTRLA_SDAHOLD(data);
+ ((Sercom *)hw)->I2CS.CTRLA.reg = tmp;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_SDAHOLD(mask);
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLA_SDAHOLD_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_SDAHOLD(mask);
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_read_CTRLA_SDAHOLD_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLA_SDAHOLD_Msk) >> SERCOM_I2CS_CTRLA_SDAHOLD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_set_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg |= SERCOM_I2CS_CTRLA_SPEED(mask);
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_get_CTRLA_SPEED_bf(const void *const hw,
+ hri_sercomi2cs_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLA_SPEED(mask)) >> SERCOM_I2CS_CTRLA_SPEED_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp &= ~SERCOM_I2CS_CTRLA_SPEED_Msk;
+ tmp |= SERCOM_I2CS_CTRLA_SPEED(data);
+ ((Sercom *)hw)->I2CS.CTRLA.reg = tmp;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg &= ~SERCOM_I2CS_CTRLA_SPEED(mask);
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLA_SPEED_bf(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg ^= SERCOM_I2CS_CTRLA_SPEED(mask);
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_read_CTRLA_SPEED_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLA_SPEED_Msk) >> SERCOM_I2CS_CTRLA_SPEED_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_set_CTRLA_reg(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg |= mask;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_get_CTRLA_reg(const void *const hw,
+ hri_sercomi2cs_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE);
+ tmp = ((Sercom *)hw)->I2CS.CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLA_reg(const void *const hw, hri_sercomi2cs_ctrla_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg = data;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLA_reg(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg &= ~mask;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLA_reg(const void *const hw, hri_sercomi2cs_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLA.reg ^= mask;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrla_reg_t hri_sercomi2cs_read_CTRLA_reg(const void *const hw)
+{
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_SWRST | SERCOM_I2CS_SYNCBUSY_ENABLE);
+ return ((Sercom *)hw)->I2CS.CTRLA.reg;
+}
+
+static inline void hri_sercomspi_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_SWRST;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomspi_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST);
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLA_SWRST) >> SERCOM_SPI_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomspi_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_ENABLE;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomspi_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE);
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLA_ENABLE) >> SERCOM_SPI_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp &= ~SERCOM_SPI_CTRLA_ENABLE;
+ tmp |= value << SERCOM_SPI_CTRLA_ENABLE_Pos;
+ ((Sercom *)hw)->SPI.CTRLA.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_ENABLE;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_ENABLE;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_set_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_RUNSTDBY;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomspi_get_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLA_RUNSTDBY) >> SERCOM_SPI_CTRLA_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp &= ~SERCOM_SPI_CTRLA_RUNSTDBY;
+ tmp |= value << SERCOM_SPI_CTRLA_RUNSTDBY_Pos;
+ ((Sercom *)hw)->SPI.CTRLA.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_RUNSTDBY;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_RUNSTDBY;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_set_CTRLA_IBON_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_IBON;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomspi_get_CTRLA_IBON_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLA_IBON) >> SERCOM_SPI_CTRLA_IBON_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLA_IBON_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp &= ~SERCOM_SPI_CTRLA_IBON;
+ tmp |= value << SERCOM_SPI_CTRLA_IBON_Pos;
+ ((Sercom *)hw)->SPI.CTRLA.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLA_IBON_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_IBON;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLA_IBON_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_IBON;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_set_CTRLA_CPHA_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_CPHA;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomspi_get_CTRLA_CPHA_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLA_CPHA) >> SERCOM_SPI_CTRLA_CPHA_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLA_CPHA_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp &= ~SERCOM_SPI_CTRLA_CPHA;
+ tmp |= value << SERCOM_SPI_CTRLA_CPHA_Pos;
+ ((Sercom *)hw)->SPI.CTRLA.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLA_CPHA_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_CPHA;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLA_CPHA_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_CPHA;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_set_CTRLA_CPOL_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_CPOL;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomspi_get_CTRLA_CPOL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLA_CPOL) >> SERCOM_SPI_CTRLA_CPOL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLA_CPOL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp &= ~SERCOM_SPI_CTRLA_CPOL;
+ tmp |= value << SERCOM_SPI_CTRLA_CPOL_Pos;
+ ((Sercom *)hw)->SPI.CTRLA.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLA_CPOL_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_CPOL;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLA_CPOL_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_CPOL;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_set_CTRLA_DORD_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_DORD;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomspi_get_CTRLA_DORD_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLA_DORD) >> SERCOM_SPI_CTRLA_DORD_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLA_DORD_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp &= ~SERCOM_SPI_CTRLA_DORD;
+ tmp |= value << SERCOM_SPI_CTRLA_DORD_Pos;
+ ((Sercom *)hw)->SPI.CTRLA.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLA_DORD_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_DORD;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLA_DORD_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_DORD;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_set_CTRLA_MODE_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_MODE(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_get_CTRLA_MODE_bf(const void *const hw,
+ hri_sercomspi_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLA_MODE(mask)) >> SERCOM_SPI_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLA_MODE_bf(const void *const hw, hri_sercomspi_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp &= ~SERCOM_SPI_CTRLA_MODE_Msk;
+ tmp |= SERCOM_SPI_CTRLA_MODE(data);
+ ((Sercom *)hw)->SPI.CTRLA.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLA_MODE_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_MODE(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLA_MODE_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_MODE(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_read_CTRLA_MODE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLA_MODE_Msk) >> SERCOM_SPI_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_set_CTRLA_DOPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_DOPO(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_get_CTRLA_DOPO_bf(const void *const hw,
+ hri_sercomspi_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLA_DOPO(mask)) >> SERCOM_SPI_CTRLA_DOPO_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLA_DOPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp &= ~SERCOM_SPI_CTRLA_DOPO_Msk;
+ tmp |= SERCOM_SPI_CTRLA_DOPO(data);
+ ((Sercom *)hw)->SPI.CTRLA.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLA_DOPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_DOPO(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLA_DOPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_DOPO(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_read_CTRLA_DOPO_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLA_DOPO_Msk) >> SERCOM_SPI_CTRLA_DOPO_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_set_CTRLA_DIPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_DIPO(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_get_CTRLA_DIPO_bf(const void *const hw,
+ hri_sercomspi_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLA_DIPO(mask)) >> SERCOM_SPI_CTRLA_DIPO_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLA_DIPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp &= ~SERCOM_SPI_CTRLA_DIPO_Msk;
+ tmp |= SERCOM_SPI_CTRLA_DIPO(data);
+ ((Sercom *)hw)->SPI.CTRLA.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLA_DIPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_DIPO(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLA_DIPO_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_DIPO(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_read_CTRLA_DIPO_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLA_DIPO_Msk) >> SERCOM_SPI_CTRLA_DIPO_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_set_CTRLA_FORM_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg |= SERCOM_SPI_CTRLA_FORM(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_get_CTRLA_FORM_bf(const void *const hw,
+ hri_sercomspi_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLA_FORM(mask)) >> SERCOM_SPI_CTRLA_FORM_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLA_FORM_bf(const void *const hw, hri_sercomspi_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp &= ~SERCOM_SPI_CTRLA_FORM_Msk;
+ tmp |= SERCOM_SPI_CTRLA_FORM(data);
+ ((Sercom *)hw)->SPI.CTRLA.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLA_FORM_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg &= ~SERCOM_SPI_CTRLA_FORM(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLA_FORM_bf(const void *const hw, hri_sercomspi_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg ^= SERCOM_SPI_CTRLA_FORM(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_read_CTRLA_FORM_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLA_FORM_Msk) >> SERCOM_SPI_CTRLA_FORM_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_set_CTRLA_reg(const void *const hw, hri_sercomspi_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg |= mask;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_get_CTRLA_reg(const void *const hw,
+ hri_sercomspi_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE);
+ tmp = ((Sercom *)hw)->SPI.CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLA_reg(const void *const hw, hri_sercomspi_ctrla_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg = data;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLA_reg(const void *const hw, hri_sercomspi_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg &= ~mask;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLA_reg(const void *const hw, hri_sercomspi_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLA.reg ^= mask;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrla_reg_t hri_sercomspi_read_CTRLA_reg(const void *const hw)
+{
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_SWRST | SERCOM_SPI_SYNCBUSY_ENABLE);
+ return ((Sercom *)hw)->SPI.CTRLA.reg;
+}
+
+static inline void hri_sercomusart_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_SWRST;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST);
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_SWRST) >> SERCOM_USART_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_ENABLE;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE);
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_ENABLE) >> SERCOM_USART_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp &= ~SERCOM_USART_CTRLA_ENABLE;
+ tmp |= value << SERCOM_USART_CTRLA_ENABLE_Pos;
+ ((Sercom *)hw)->USART.CTRLA.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_ENABLE;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_ENABLE;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_RUNSTDBY;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_RUNSTDBY) >> SERCOM_USART_CTRLA_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp &= ~SERCOM_USART_CTRLA_RUNSTDBY;
+ tmp |= value << SERCOM_USART_CTRLA_RUNSTDBY_Pos;
+ ((Sercom *)hw)->USART.CTRLA.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_RUNSTDBY;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_RUNSTDBY;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLA_IBON_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_IBON;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLA_IBON_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_IBON) >> SERCOM_USART_CTRLA_IBON_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLA_IBON_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp &= ~SERCOM_USART_CTRLA_IBON;
+ tmp |= value << SERCOM_USART_CTRLA_IBON_Pos;
+ ((Sercom *)hw)->USART.CTRLA.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLA_IBON_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_IBON;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLA_IBON_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_IBON;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLA_TXINV_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_TXINV;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLA_TXINV_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_TXINV) >> SERCOM_USART_CTRLA_TXINV_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLA_TXINV_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp &= ~SERCOM_USART_CTRLA_TXINV;
+ tmp |= value << SERCOM_USART_CTRLA_TXINV_Pos;
+ ((Sercom *)hw)->USART.CTRLA.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLA_TXINV_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_TXINV;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLA_TXINV_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_TXINV;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLA_RXINV_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_RXINV;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLA_RXINV_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_RXINV) >> SERCOM_USART_CTRLA_RXINV_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLA_RXINV_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp &= ~SERCOM_USART_CTRLA_RXINV;
+ tmp |= value << SERCOM_USART_CTRLA_RXINV_Pos;
+ ((Sercom *)hw)->USART.CTRLA.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLA_RXINV_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_RXINV;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLA_RXINV_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_RXINV;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLA_CMODE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_CMODE;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLA_CMODE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_CMODE) >> SERCOM_USART_CTRLA_CMODE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLA_CMODE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp &= ~SERCOM_USART_CTRLA_CMODE;
+ tmp |= value << SERCOM_USART_CTRLA_CMODE_Pos;
+ ((Sercom *)hw)->USART.CTRLA.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLA_CMODE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_CMODE;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLA_CMODE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_CMODE;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLA_CPOL_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_CPOL;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLA_CPOL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_CPOL) >> SERCOM_USART_CTRLA_CPOL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLA_CPOL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp &= ~SERCOM_USART_CTRLA_CPOL;
+ tmp |= value << SERCOM_USART_CTRLA_CPOL_Pos;
+ ((Sercom *)hw)->USART.CTRLA.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLA_CPOL_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_CPOL;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLA_CPOL_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_CPOL;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLA_DORD_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_DORD;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLA_DORD_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_DORD) >> SERCOM_USART_CTRLA_DORD_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLA_DORD_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp &= ~SERCOM_USART_CTRLA_DORD;
+ tmp |= value << SERCOM_USART_CTRLA_DORD_Pos;
+ ((Sercom *)hw)->USART.CTRLA.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLA_DORD_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_DORD;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLA_DORD_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_DORD;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLA_MODE_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_MODE(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_get_CTRLA_MODE_bf(const void *const hw,
+ hri_sercomusart_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_MODE(mask)) >> SERCOM_USART_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLA_MODE_bf(const void *const hw, hri_sercomusart_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp &= ~SERCOM_USART_CTRLA_MODE_Msk;
+ tmp |= SERCOM_USART_CTRLA_MODE(data);
+ ((Sercom *)hw)->USART.CTRLA.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLA_MODE_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_MODE(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLA_MODE_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_MODE(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_read_CTRLA_MODE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_MODE_Msk) >> SERCOM_USART_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_CTRLA_SAMPR_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_SAMPR(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_get_CTRLA_SAMPR_bf(const void *const hw,
+ hri_sercomusart_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_SAMPR(mask)) >> SERCOM_USART_CTRLA_SAMPR_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLA_SAMPR_bf(const void *const hw, hri_sercomusart_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp &= ~SERCOM_USART_CTRLA_SAMPR_Msk;
+ tmp |= SERCOM_USART_CTRLA_SAMPR(data);
+ ((Sercom *)hw)->USART.CTRLA.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLA_SAMPR_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_SAMPR(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLA_SAMPR_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_SAMPR(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_read_CTRLA_SAMPR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_SAMPR_Msk) >> SERCOM_USART_CTRLA_SAMPR_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_CTRLA_TXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_TXPO(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_get_CTRLA_TXPO_bf(const void *const hw,
+ hri_sercomusart_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_TXPO(mask)) >> SERCOM_USART_CTRLA_TXPO_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLA_TXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp &= ~SERCOM_USART_CTRLA_TXPO_Msk;
+ tmp |= SERCOM_USART_CTRLA_TXPO(data);
+ ((Sercom *)hw)->USART.CTRLA.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLA_TXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_TXPO(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLA_TXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_TXPO(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_read_CTRLA_TXPO_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_TXPO_Msk) >> SERCOM_USART_CTRLA_TXPO_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_CTRLA_RXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_RXPO(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_get_CTRLA_RXPO_bf(const void *const hw,
+ hri_sercomusart_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_RXPO(mask)) >> SERCOM_USART_CTRLA_RXPO_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLA_RXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp &= ~SERCOM_USART_CTRLA_RXPO_Msk;
+ tmp |= SERCOM_USART_CTRLA_RXPO(data);
+ ((Sercom *)hw)->USART.CTRLA.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLA_RXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_RXPO(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLA_RXPO_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_RXPO(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_read_CTRLA_RXPO_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_RXPO_Msk) >> SERCOM_USART_CTRLA_RXPO_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_CTRLA_SAMPA_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_SAMPA(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_get_CTRLA_SAMPA_bf(const void *const hw,
+ hri_sercomusart_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_SAMPA(mask)) >> SERCOM_USART_CTRLA_SAMPA_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLA_SAMPA_bf(const void *const hw, hri_sercomusart_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp &= ~SERCOM_USART_CTRLA_SAMPA_Msk;
+ tmp |= SERCOM_USART_CTRLA_SAMPA(data);
+ ((Sercom *)hw)->USART.CTRLA.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLA_SAMPA_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_SAMPA(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLA_SAMPA_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_SAMPA(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_read_CTRLA_SAMPA_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_SAMPA_Msk) >> SERCOM_USART_CTRLA_SAMPA_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_CTRLA_FORM_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_FORM(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_get_CTRLA_FORM_bf(const void *const hw,
+ hri_sercomusart_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_FORM(mask)) >> SERCOM_USART_CTRLA_FORM_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLA_FORM_bf(const void *const hw, hri_sercomusart_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp &= ~SERCOM_USART_CTRLA_FORM_Msk;
+ tmp |= SERCOM_USART_CTRLA_FORM(data);
+ ((Sercom *)hw)->USART.CTRLA.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLA_FORM_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_FORM(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLA_FORM_bf(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg ^= SERCOM_USART_CTRLA_FORM(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_read_CTRLA_FORM_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp = (tmp & SERCOM_USART_CTRLA_FORM_Msk) >> SERCOM_USART_CTRLA_FORM_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_CTRLA_reg(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg |= mask;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_get_CTRLA_reg(const void *const hw,
+ hri_sercomusart_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE);
+ tmp = ((Sercom *)hw)->USART.CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLA_reg(const void *const hw, hri_sercomusart_ctrla_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg = data;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLA_reg(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg &= ~mask;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLA_reg(const void *const hw, hri_sercomusart_ctrla_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLA.reg ^= mask;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrla_reg_t hri_sercomusart_read_CTRLA_reg(const void *const hw)
+{
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_SWRST | SERCOM_USART_SYNCBUSY_ENABLE);
+ return ((Sercom *)hw)->USART.CTRLA.reg;
+}
+
+static inline void hri_sercomi2cm_set_CTRLB_SMEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_SMEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_CTRLB_SMEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLB.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLB_SMEN) >> SERCOM_I2CM_CTRLB_SMEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLB_SMEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLB.reg;
+ tmp &= ~SERCOM_I2CM_CTRLB_SMEN;
+ tmp |= value << SERCOM_I2CM_CTRLB_SMEN_Pos;
+ ((Sercom *)hw)->I2CM.CTRLB.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLB_SMEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_SMEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLB_SMEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg ^= SERCOM_I2CM_CTRLB_SMEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_CTRLB_QCEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_QCEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_CTRLB_QCEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLB.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLB_QCEN) >> SERCOM_I2CM_CTRLB_QCEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLB_QCEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLB.reg;
+ tmp &= ~SERCOM_I2CM_CTRLB_QCEN;
+ tmp |= value << SERCOM_I2CM_CTRLB_QCEN_Pos;
+ ((Sercom *)hw)->I2CM.CTRLB.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLB_QCEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_QCEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLB_QCEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg ^= SERCOM_I2CM_CTRLB_QCEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_CTRLB_ACKACT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_ACKACT;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_CTRLB_ACKACT_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLB.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLB_ACKACT) >> SERCOM_I2CM_CTRLB_ACKACT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLB_ACKACT_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLB.reg;
+ tmp &= ~SERCOM_I2CM_CTRLB_ACKACT;
+ tmp |= value << SERCOM_I2CM_CTRLB_ACKACT_Pos;
+ ((Sercom *)hw)->I2CM.CTRLB.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLB_ACKACT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_ACKACT;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLB_ACKACT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg ^= SERCOM_I2CM_CTRLB_ACKACT;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cm_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_CMD(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrlb_reg_t hri_sercomi2cm_get_CTRLB_CMD_bf(const void *const hw,
+ hri_sercomi2cm_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLB.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLB_CMD(mask)) >> SERCOM_I2CM_CTRLB_CMD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cm_ctrlb_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLB.reg;
+ tmp &= ~SERCOM_I2CM_CTRLB_CMD_Msk;
+ tmp |= SERCOM_I2CM_CTRLB_CMD(data);
+ ((Sercom *)hw)->I2CM.CTRLB.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cm_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_CMD(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cm_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg ^= SERCOM_I2CM_CTRLB_CMD(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrlb_reg_t hri_sercomi2cm_read_CTRLB_CMD_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLB.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLB_CMD_Msk) >> SERCOM_I2CM_CTRLB_CMD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_set_CTRLB_reg(const void *const hw, hri_sercomi2cm_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg |= mask;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrlb_reg_t hri_sercomi2cm_get_CTRLB_reg(const void *const hw,
+ hri_sercomi2cm_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ tmp = ((Sercom *)hw)->I2CM.CTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLB_reg(const void *const hw, hri_sercomi2cm_ctrlb_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg = data;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLB_reg(const void *const hw, hri_sercomi2cm_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg &= ~mask;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLB_reg(const void *const hw, hri_sercomi2cm_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLB.reg ^= mask;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrlb_reg_t hri_sercomi2cm_read_CTRLB_reg(const void *const hw)
+{
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK);
+ return ((Sercom *)hw)->I2CM.CTRLB.reg;
+}
+
+static inline void hri_sercomi2cs_set_CTRLB_SMEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg |= SERCOM_I2CS_CTRLB_SMEN;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_CTRLB_SMEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLB.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLB_SMEN) >> SERCOM_I2CS_CTRLB_SMEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLB_SMEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLB.reg;
+ tmp &= ~SERCOM_I2CS_CTRLB_SMEN;
+ tmp |= value << SERCOM_I2CS_CTRLB_SMEN_Pos;
+ ((Sercom *)hw)->I2CS.CTRLB.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLB_SMEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg &= ~SERCOM_I2CS_CTRLB_SMEN;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLB_SMEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg ^= SERCOM_I2CS_CTRLB_SMEN;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_set_CTRLB_GCMD_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg |= SERCOM_I2CS_CTRLB_GCMD;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_CTRLB_GCMD_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLB.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLB_GCMD) >> SERCOM_I2CS_CTRLB_GCMD_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLB_GCMD_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLB.reg;
+ tmp &= ~SERCOM_I2CS_CTRLB_GCMD;
+ tmp |= value << SERCOM_I2CS_CTRLB_GCMD_Pos;
+ ((Sercom *)hw)->I2CS.CTRLB.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLB_GCMD_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg &= ~SERCOM_I2CS_CTRLB_GCMD;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLB_GCMD_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg ^= SERCOM_I2CS_CTRLB_GCMD;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_set_CTRLB_AACKEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg |= SERCOM_I2CS_CTRLB_AACKEN;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_CTRLB_AACKEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLB.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLB_AACKEN) >> SERCOM_I2CS_CTRLB_AACKEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLB_AACKEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLB.reg;
+ tmp &= ~SERCOM_I2CS_CTRLB_AACKEN;
+ tmp |= value << SERCOM_I2CS_CTRLB_AACKEN_Pos;
+ ((Sercom *)hw)->I2CS.CTRLB.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLB_AACKEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg &= ~SERCOM_I2CS_CTRLB_AACKEN;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLB_AACKEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg ^= SERCOM_I2CS_CTRLB_AACKEN;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_set_CTRLB_ACKACT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg |= SERCOM_I2CS_CTRLB_ACKACT;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_CTRLB_ACKACT_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLB.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLB_ACKACT) >> SERCOM_I2CS_CTRLB_ACKACT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLB_ACKACT_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLB.reg;
+ tmp &= ~SERCOM_I2CS_CTRLB_ACKACT;
+ tmp |= value << SERCOM_I2CS_CTRLB_ACKACT_Pos;
+ ((Sercom *)hw)->I2CS.CTRLB.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLB_ACKACT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg &= ~SERCOM_I2CS_CTRLB_ACKACT;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLB_ACKACT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg ^= SERCOM_I2CS_CTRLB_ACKACT;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_set_CTRLB_AMODE_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg |= SERCOM_I2CS_CTRLB_AMODE(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrlb_reg_t hri_sercomi2cs_get_CTRLB_AMODE_bf(const void *const hw,
+ hri_sercomi2cs_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLB.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLB_AMODE(mask)) >> SERCOM_I2CS_CTRLB_AMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLB_AMODE_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLB.reg;
+ tmp &= ~SERCOM_I2CS_CTRLB_AMODE_Msk;
+ tmp |= SERCOM_I2CS_CTRLB_AMODE(data);
+ ((Sercom *)hw)->I2CS.CTRLB.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLB_AMODE_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg &= ~SERCOM_I2CS_CTRLB_AMODE(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLB_AMODE_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg ^= SERCOM_I2CS_CTRLB_AMODE(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrlb_reg_t hri_sercomi2cs_read_CTRLB_AMODE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLB.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLB_AMODE_Msk) >> SERCOM_I2CS_CTRLB_AMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_set_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg |= SERCOM_I2CS_CTRLB_CMD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrlb_reg_t hri_sercomi2cs_get_CTRLB_CMD_bf(const void *const hw,
+ hri_sercomi2cs_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLB.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLB_CMD(mask)) >> SERCOM_I2CS_CTRLB_CMD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLB.reg;
+ tmp &= ~SERCOM_I2CS_CTRLB_CMD_Msk;
+ tmp |= SERCOM_I2CS_CTRLB_CMD(data);
+ ((Sercom *)hw)->I2CS.CTRLB.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg &= ~SERCOM_I2CS_CTRLB_CMD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLB_CMD_bf(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg ^= SERCOM_I2CS_CTRLB_CMD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrlb_reg_t hri_sercomi2cs_read_CTRLB_CMD_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLB.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLB_CMD_Msk) >> SERCOM_I2CS_CTRLB_CMD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_set_CTRLB_reg(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrlb_reg_t hri_sercomi2cs_get_CTRLB_reg(const void *const hw,
+ hri_sercomi2cs_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLB_reg(const void *const hw, hri_sercomi2cs_ctrlb_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLB_reg(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLB_reg(const void *const hw, hri_sercomi2cs_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLB.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrlb_reg_t hri_sercomi2cs_read_CTRLB_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->I2CS.CTRLB.reg;
+}
+
+static inline void hri_sercomspi_set_CTRLB_PLOADEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg |= SERCOM_SPI_CTRLB_PLOADEN;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomspi_get_CTRLB_PLOADEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLB.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLB_PLOADEN) >> SERCOM_SPI_CTRLB_PLOADEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLB_PLOADEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLB.reg;
+ tmp &= ~SERCOM_SPI_CTRLB_PLOADEN;
+ tmp |= value << SERCOM_SPI_CTRLB_PLOADEN_Pos;
+ ((Sercom *)hw)->SPI.CTRLB.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLB_PLOADEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg &= ~SERCOM_SPI_CTRLB_PLOADEN;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLB_PLOADEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg ^= SERCOM_SPI_CTRLB_PLOADEN;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_set_CTRLB_SSDE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg |= SERCOM_SPI_CTRLB_SSDE;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomspi_get_CTRLB_SSDE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLB.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLB_SSDE) >> SERCOM_SPI_CTRLB_SSDE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLB_SSDE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLB.reg;
+ tmp &= ~SERCOM_SPI_CTRLB_SSDE;
+ tmp |= value << SERCOM_SPI_CTRLB_SSDE_Pos;
+ ((Sercom *)hw)->SPI.CTRLB.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLB_SSDE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg &= ~SERCOM_SPI_CTRLB_SSDE;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLB_SSDE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg ^= SERCOM_SPI_CTRLB_SSDE;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_set_CTRLB_MSSEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg |= SERCOM_SPI_CTRLB_MSSEN;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomspi_get_CTRLB_MSSEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLB.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLB_MSSEN) >> SERCOM_SPI_CTRLB_MSSEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLB_MSSEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLB.reg;
+ tmp &= ~SERCOM_SPI_CTRLB_MSSEN;
+ tmp |= value << SERCOM_SPI_CTRLB_MSSEN_Pos;
+ ((Sercom *)hw)->SPI.CTRLB.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLB_MSSEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg &= ~SERCOM_SPI_CTRLB_MSSEN;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLB_MSSEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg ^= SERCOM_SPI_CTRLB_MSSEN;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_set_CTRLB_RXEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg |= SERCOM_SPI_CTRLB_RXEN;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomspi_get_CTRLB_RXEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLB.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLB_RXEN) >> SERCOM_SPI_CTRLB_RXEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLB_RXEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLB.reg;
+ tmp &= ~SERCOM_SPI_CTRLB_RXEN;
+ tmp |= value << SERCOM_SPI_CTRLB_RXEN_Pos;
+ ((Sercom *)hw)->SPI.CTRLB.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLB_RXEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg &= ~SERCOM_SPI_CTRLB_RXEN;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLB_RXEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg ^= SERCOM_SPI_CTRLB_RXEN;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_set_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg |= SERCOM_SPI_CTRLB_CHSIZE(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrlb_reg_t hri_sercomspi_get_CTRLB_CHSIZE_bf(const void *const hw,
+ hri_sercomspi_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLB.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLB_CHSIZE(mask)) >> SERCOM_SPI_CTRLB_CHSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLB.reg;
+ tmp &= ~SERCOM_SPI_CTRLB_CHSIZE_Msk;
+ tmp |= SERCOM_SPI_CTRLB_CHSIZE(data);
+ ((Sercom *)hw)->SPI.CTRLB.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg &= ~SERCOM_SPI_CTRLB_CHSIZE(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg ^= SERCOM_SPI_CTRLB_CHSIZE(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrlb_reg_t hri_sercomspi_read_CTRLB_CHSIZE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLB.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLB_CHSIZE_Msk) >> SERCOM_SPI_CTRLB_CHSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_set_CTRLB_AMODE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg |= SERCOM_SPI_CTRLB_AMODE(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrlb_reg_t hri_sercomspi_get_CTRLB_AMODE_bf(const void *const hw,
+ hri_sercomspi_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLB.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLB_AMODE(mask)) >> SERCOM_SPI_CTRLB_AMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLB_AMODE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLB.reg;
+ tmp &= ~SERCOM_SPI_CTRLB_AMODE_Msk;
+ tmp |= SERCOM_SPI_CTRLB_AMODE(data);
+ ((Sercom *)hw)->SPI.CTRLB.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLB_AMODE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg &= ~SERCOM_SPI_CTRLB_AMODE(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLB_AMODE_bf(const void *const hw, hri_sercomspi_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg ^= SERCOM_SPI_CTRLB_AMODE(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrlb_reg_t hri_sercomspi_read_CTRLB_AMODE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLB.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLB_AMODE_Msk) >> SERCOM_SPI_CTRLB_AMODE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_set_CTRLB_reg(const void *const hw, hri_sercomspi_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg |= mask;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrlb_reg_t hri_sercomspi_get_CTRLB_reg(const void *const hw,
+ hri_sercomspi_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ tmp = ((Sercom *)hw)->SPI.CTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLB_reg(const void *const hw, hri_sercomspi_ctrlb_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg = data;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLB_reg(const void *const hw, hri_sercomspi_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg &= ~mask;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLB_reg(const void *const hw, hri_sercomspi_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLB.reg ^= mask;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrlb_reg_t hri_sercomspi_read_CTRLB_reg(const void *const hw)
+{
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ return ((Sercom *)hw)->SPI.CTRLB.reg;
+}
+
+static inline void hri_sercomusart_set_CTRLB_SBMODE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_SBMODE;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLB_SBMODE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp = (tmp & SERCOM_USART_CTRLB_SBMODE) >> SERCOM_USART_CTRLB_SBMODE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLB_SBMODE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp &= ~SERCOM_USART_CTRLB_SBMODE;
+ tmp |= value << SERCOM_USART_CTRLB_SBMODE_Pos;
+ ((Sercom *)hw)->USART.CTRLB.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLB_SBMODE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_SBMODE;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLB_SBMODE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_SBMODE;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLB_COLDEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_COLDEN;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLB_COLDEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp = (tmp & SERCOM_USART_CTRLB_COLDEN) >> SERCOM_USART_CTRLB_COLDEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLB_COLDEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp &= ~SERCOM_USART_CTRLB_COLDEN;
+ tmp |= value << SERCOM_USART_CTRLB_COLDEN_Pos;
+ ((Sercom *)hw)->USART.CTRLB.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLB_COLDEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_COLDEN;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLB_COLDEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_COLDEN;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLB_SFDE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_SFDE;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLB_SFDE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp = (tmp & SERCOM_USART_CTRLB_SFDE) >> SERCOM_USART_CTRLB_SFDE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLB_SFDE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp &= ~SERCOM_USART_CTRLB_SFDE;
+ tmp |= value << SERCOM_USART_CTRLB_SFDE_Pos;
+ ((Sercom *)hw)->USART.CTRLB.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLB_SFDE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_SFDE;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLB_SFDE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_SFDE;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLB_ENC_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_ENC;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLB_ENC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp = (tmp & SERCOM_USART_CTRLB_ENC) >> SERCOM_USART_CTRLB_ENC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLB_ENC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp &= ~SERCOM_USART_CTRLB_ENC;
+ tmp |= value << SERCOM_USART_CTRLB_ENC_Pos;
+ ((Sercom *)hw)->USART.CTRLB.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLB_ENC_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_ENC;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLB_ENC_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_ENC;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLB_PMODE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_PMODE;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLB_PMODE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp = (tmp & SERCOM_USART_CTRLB_PMODE) >> SERCOM_USART_CTRLB_PMODE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLB_PMODE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp &= ~SERCOM_USART_CTRLB_PMODE;
+ tmp |= value << SERCOM_USART_CTRLB_PMODE_Pos;
+ ((Sercom *)hw)->USART.CTRLB.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLB_PMODE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_PMODE;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLB_PMODE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_PMODE;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLB_TXEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_TXEN;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLB_TXEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp = (tmp & SERCOM_USART_CTRLB_TXEN) >> SERCOM_USART_CTRLB_TXEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLB_TXEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp &= ~SERCOM_USART_CTRLB_TXEN;
+ tmp |= value << SERCOM_USART_CTRLB_TXEN_Pos;
+ ((Sercom *)hw)->USART.CTRLB.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLB_TXEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_TXEN;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLB_TXEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_TXEN;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLB_RXEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_RXEN;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLB_RXEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp = (tmp & SERCOM_USART_CTRLB_RXEN) >> SERCOM_USART_CTRLB_RXEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLB_RXEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp &= ~SERCOM_USART_CTRLB_RXEN;
+ tmp |= value << SERCOM_USART_CTRLB_RXEN_Pos;
+ ((Sercom *)hw)->USART.CTRLB.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLB_RXEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_RXEN;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLB_RXEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_RXEN;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_CHSIZE(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlb_reg_t hri_sercomusart_get_CTRLB_CHSIZE_bf(const void *const hw,
+ hri_sercomusart_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp = (tmp & SERCOM_USART_CTRLB_CHSIZE(mask)) >> SERCOM_USART_CTRLB_CHSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp &= ~SERCOM_USART_CTRLB_CHSIZE_Msk;
+ tmp |= SERCOM_USART_CTRLB_CHSIZE(data);
+ ((Sercom *)hw)->USART.CTRLB.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_CHSIZE(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLB_CHSIZE_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_CHSIZE(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlb_reg_t hri_sercomusart_read_CTRLB_CHSIZE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp = (tmp & SERCOM_USART_CTRLB_CHSIZE_Msk) >> SERCOM_USART_CTRLB_CHSIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_CTRLB_LINCMD_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg |= SERCOM_USART_CTRLB_LINCMD(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlb_reg_t hri_sercomusart_get_CTRLB_LINCMD_bf(const void *const hw,
+ hri_sercomusart_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp = (tmp & SERCOM_USART_CTRLB_LINCMD(mask)) >> SERCOM_USART_CTRLB_LINCMD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLB_LINCMD_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp &= ~SERCOM_USART_CTRLB_LINCMD_Msk;
+ tmp |= SERCOM_USART_CTRLB_LINCMD(data);
+ ((Sercom *)hw)->USART.CTRLB.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLB_LINCMD_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg &= ~SERCOM_USART_CTRLB_LINCMD(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLB_LINCMD_bf(const void *const hw, hri_sercomusart_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg ^= SERCOM_USART_CTRLB_LINCMD(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlb_reg_t hri_sercomusart_read_CTRLB_LINCMD_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp = (tmp & SERCOM_USART_CTRLB_LINCMD_Msk) >> SERCOM_USART_CTRLB_LINCMD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_CTRLB_reg(const void *const hw, hri_sercomusart_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg |= mask;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlb_reg_t hri_sercomusart_get_CTRLB_reg(const void *const hw,
+ hri_sercomusart_ctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ tmp = ((Sercom *)hw)->USART.CTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLB_reg(const void *const hw, hri_sercomusart_ctrlb_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg = data;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLB_reg(const void *const hw, hri_sercomusart_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg &= ~mask;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLB_reg(const void *const hw, hri_sercomusart_ctrlb_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLB.reg ^= mask;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlb_reg_t hri_sercomusart_read_CTRLB_reg(const void *const hw)
+{
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ return ((Sercom *)hw)->USART.CTRLB.reg;
+}
+
+static inline void hri_sercomi2cm_set_CTRLC_DATA32B_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLC.reg |= SERCOM_I2CM_CTRLC_DATA32B;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_CTRLC_DATA32B_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLC.reg;
+ tmp = (tmp & SERCOM_I2CM_CTRLC_DATA32B) >> SERCOM_I2CM_CTRLC_DATA32B_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLC_DATA32B_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.CTRLC.reg;
+ tmp &= ~SERCOM_I2CM_CTRLC_DATA32B;
+ tmp |= value << SERCOM_I2CM_CTRLC_DATA32B_Pos;
+ ((Sercom *)hw)->I2CM.CTRLC.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLC_DATA32B_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLC.reg &= ~SERCOM_I2CM_CTRLC_DATA32B;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLC_DATA32B_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLC.reg ^= SERCOM_I2CM_CTRLC_DATA32B;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_CTRLC_reg(const void *const hw, hri_sercomi2cm_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLC.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrlc_reg_t hri_sercomi2cm_get_CTRLC_reg(const void *const hw,
+ hri_sercomi2cm_ctrlc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.CTRLC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_CTRLC_reg(const void *const hw, hri_sercomi2cm_ctrlc_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLC.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_CTRLC_reg(const void *const hw, hri_sercomi2cm_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLC.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_CTRLC_reg(const void *const hw, hri_sercomi2cm_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.CTRLC.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_ctrlc_reg_t hri_sercomi2cm_read_CTRLC_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->I2CM.CTRLC.reg;
+}
+
+static inline void hri_sercomi2cs_set_CTRLC_DATA32B_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLC.reg |= SERCOM_I2CS_CTRLC_DATA32B;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_CTRLC_DATA32B_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLC.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLC_DATA32B) >> SERCOM_I2CS_CTRLC_DATA32B_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLC_DATA32B_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLC.reg;
+ tmp &= ~SERCOM_I2CS_CTRLC_DATA32B;
+ tmp |= value << SERCOM_I2CS_CTRLC_DATA32B_Pos;
+ ((Sercom *)hw)->I2CS.CTRLC.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLC_DATA32B_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLC.reg &= ~SERCOM_I2CS_CTRLC_DATA32B;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLC_DATA32B_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLC.reg ^= SERCOM_I2CS_CTRLC_DATA32B;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_set_CTRLC_SDASETUP_bf(const void *const hw, hri_sercomi2cs_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLC.reg |= SERCOM_I2CS_CTRLC_SDASETUP(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrlc_reg_t hri_sercomi2cs_get_CTRLC_SDASETUP_bf(const void *const hw,
+ hri_sercomi2cs_ctrlc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLC.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLC_SDASETUP(mask)) >> SERCOM_I2CS_CTRLC_SDASETUP_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLC_SDASETUP_bf(const void *const hw, hri_sercomi2cs_ctrlc_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.CTRLC.reg;
+ tmp &= ~SERCOM_I2CS_CTRLC_SDASETUP_Msk;
+ tmp |= SERCOM_I2CS_CTRLC_SDASETUP(data);
+ ((Sercom *)hw)->I2CS.CTRLC.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLC_SDASETUP_bf(const void *const hw, hri_sercomi2cs_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLC.reg &= ~SERCOM_I2CS_CTRLC_SDASETUP(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLC_SDASETUP_bf(const void *const hw, hri_sercomi2cs_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLC.reg ^= SERCOM_I2CS_CTRLC_SDASETUP(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrlc_reg_t hri_sercomi2cs_read_CTRLC_SDASETUP_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLC.reg;
+ tmp = (tmp & SERCOM_I2CS_CTRLC_SDASETUP_Msk) >> SERCOM_I2CS_CTRLC_SDASETUP_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_set_CTRLC_reg(const void *const hw, hri_sercomi2cs_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLC.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrlc_reg_t hri_sercomi2cs_get_CTRLC_reg(const void *const hw,
+ hri_sercomi2cs_ctrlc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.CTRLC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_CTRLC_reg(const void *const hw, hri_sercomi2cs_ctrlc_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLC.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_CTRLC_reg(const void *const hw, hri_sercomi2cs_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLC.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_CTRLC_reg(const void *const hw, hri_sercomi2cs_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.CTRLC.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_ctrlc_reg_t hri_sercomi2cs_read_CTRLC_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->I2CS.CTRLC.reg;
+}
+
+static inline void hri_sercomspi_set_CTRLC_DATA32B_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLC.reg |= SERCOM_SPI_CTRLC_DATA32B;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomspi_get_CTRLC_DATA32B_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLC.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLC_DATA32B) >> SERCOM_SPI_CTRLC_DATA32B_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLC_DATA32B_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLC.reg;
+ tmp &= ~SERCOM_SPI_CTRLC_DATA32B;
+ tmp |= value << SERCOM_SPI_CTRLC_DATA32B_Pos;
+ ((Sercom *)hw)->SPI.CTRLC.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLC_DATA32B_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLC.reg &= ~SERCOM_SPI_CTRLC_DATA32B;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLC_DATA32B_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLC.reg ^= SERCOM_SPI_CTRLC_DATA32B;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_set_CTRLC_ICSPACE_bf(const void *const hw, hri_sercomspi_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLC.reg |= SERCOM_SPI_CTRLC_ICSPACE(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrlc_reg_t hri_sercomspi_get_CTRLC_ICSPACE_bf(const void *const hw,
+ hri_sercomspi_ctrlc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLC.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLC_ICSPACE(mask)) >> SERCOM_SPI_CTRLC_ICSPACE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLC_ICSPACE_bf(const void *const hw, hri_sercomspi_ctrlc_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.CTRLC.reg;
+ tmp &= ~SERCOM_SPI_CTRLC_ICSPACE_Msk;
+ tmp |= SERCOM_SPI_CTRLC_ICSPACE(data);
+ ((Sercom *)hw)->SPI.CTRLC.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLC_ICSPACE_bf(const void *const hw, hri_sercomspi_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLC.reg &= ~SERCOM_SPI_CTRLC_ICSPACE(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLC_ICSPACE_bf(const void *const hw, hri_sercomspi_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLC.reg ^= SERCOM_SPI_CTRLC_ICSPACE(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrlc_reg_t hri_sercomspi_read_CTRLC_ICSPACE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLC.reg;
+ tmp = (tmp & SERCOM_SPI_CTRLC_ICSPACE_Msk) >> SERCOM_SPI_CTRLC_ICSPACE_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_set_CTRLC_reg(const void *const hw, hri_sercomspi_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLC.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrlc_reg_t hri_sercomspi_get_CTRLC_reg(const void *const hw,
+ hri_sercomspi_ctrlc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.CTRLC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_CTRLC_reg(const void *const hw, hri_sercomspi_ctrlc_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLC.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_CTRLC_reg(const void *const hw, hri_sercomspi_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLC.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_CTRLC_reg(const void *const hw, hri_sercomspi_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.CTRLC.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_ctrlc_reg_t hri_sercomspi_read_CTRLC_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->SPI.CTRLC.reg;
+}
+
+static inline void hri_sercomusart_set_CTRLC_INACK_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg |= SERCOM_USART_CTRLC_INACK;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLC_INACK_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp = (tmp & SERCOM_USART_CTRLC_INACK) >> SERCOM_USART_CTRLC_INACK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLC_INACK_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp &= ~SERCOM_USART_CTRLC_INACK;
+ tmp |= value << SERCOM_USART_CTRLC_INACK_Pos;
+ ((Sercom *)hw)->USART.CTRLC.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLC_INACK_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg &= ~SERCOM_USART_CTRLC_INACK;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLC_INACK_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg ^= SERCOM_USART_CTRLC_INACK;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLC_DSNACK_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg |= SERCOM_USART_CTRLC_DSNACK;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_CTRLC_DSNACK_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp = (tmp & SERCOM_USART_CTRLC_DSNACK) >> SERCOM_USART_CTRLC_DSNACK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLC_DSNACK_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp &= ~SERCOM_USART_CTRLC_DSNACK;
+ tmp |= value << SERCOM_USART_CTRLC_DSNACK_Pos;
+ ((Sercom *)hw)->USART.CTRLC.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLC_DSNACK_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg &= ~SERCOM_USART_CTRLC_DSNACK;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLC_DSNACK_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg ^= SERCOM_USART_CTRLC_DSNACK;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_CTRLC_GTIME_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg |= SERCOM_USART_CTRLC_GTIME(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_get_CTRLC_GTIME_bf(const void *const hw,
+ hri_sercomusart_ctrlc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp = (tmp & SERCOM_USART_CTRLC_GTIME(mask)) >> SERCOM_USART_CTRLC_GTIME_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLC_GTIME_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp &= ~SERCOM_USART_CTRLC_GTIME_Msk;
+ tmp |= SERCOM_USART_CTRLC_GTIME(data);
+ ((Sercom *)hw)->USART.CTRLC.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLC_GTIME_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg &= ~SERCOM_USART_CTRLC_GTIME(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLC_GTIME_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg ^= SERCOM_USART_CTRLC_GTIME(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_read_CTRLC_GTIME_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp = (tmp & SERCOM_USART_CTRLC_GTIME_Msk) >> SERCOM_USART_CTRLC_GTIME_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_CTRLC_BRKLEN_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg |= SERCOM_USART_CTRLC_BRKLEN(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_get_CTRLC_BRKLEN_bf(const void *const hw,
+ hri_sercomusart_ctrlc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp = (tmp & SERCOM_USART_CTRLC_BRKLEN(mask)) >> SERCOM_USART_CTRLC_BRKLEN_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLC_BRKLEN_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp &= ~SERCOM_USART_CTRLC_BRKLEN_Msk;
+ tmp |= SERCOM_USART_CTRLC_BRKLEN(data);
+ ((Sercom *)hw)->USART.CTRLC.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLC_BRKLEN_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg &= ~SERCOM_USART_CTRLC_BRKLEN(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLC_BRKLEN_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg ^= SERCOM_USART_CTRLC_BRKLEN(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_read_CTRLC_BRKLEN_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp = (tmp & SERCOM_USART_CTRLC_BRKLEN_Msk) >> SERCOM_USART_CTRLC_BRKLEN_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_CTRLC_HDRDLY_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg |= SERCOM_USART_CTRLC_HDRDLY(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_get_CTRLC_HDRDLY_bf(const void *const hw,
+ hri_sercomusart_ctrlc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp = (tmp & SERCOM_USART_CTRLC_HDRDLY(mask)) >> SERCOM_USART_CTRLC_HDRDLY_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLC_HDRDLY_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp &= ~SERCOM_USART_CTRLC_HDRDLY_Msk;
+ tmp |= SERCOM_USART_CTRLC_HDRDLY(data);
+ ((Sercom *)hw)->USART.CTRLC.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLC_HDRDLY_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg &= ~SERCOM_USART_CTRLC_HDRDLY(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLC_HDRDLY_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg ^= SERCOM_USART_CTRLC_HDRDLY(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_read_CTRLC_HDRDLY_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp = (tmp & SERCOM_USART_CTRLC_HDRDLY_Msk) >> SERCOM_USART_CTRLC_HDRDLY_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_CTRLC_MAXITER_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg |= SERCOM_USART_CTRLC_MAXITER(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_get_CTRLC_MAXITER_bf(const void *const hw,
+ hri_sercomusart_ctrlc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp = (tmp & SERCOM_USART_CTRLC_MAXITER(mask)) >> SERCOM_USART_CTRLC_MAXITER_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLC_MAXITER_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp &= ~SERCOM_USART_CTRLC_MAXITER_Msk;
+ tmp |= SERCOM_USART_CTRLC_MAXITER(data);
+ ((Sercom *)hw)->USART.CTRLC.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLC_MAXITER_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg &= ~SERCOM_USART_CTRLC_MAXITER(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLC_MAXITER_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg ^= SERCOM_USART_CTRLC_MAXITER(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_read_CTRLC_MAXITER_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp = (tmp & SERCOM_USART_CTRLC_MAXITER_Msk) >> SERCOM_USART_CTRLC_MAXITER_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_CTRLC_DATA32B_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg |= SERCOM_USART_CTRLC_DATA32B(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_get_CTRLC_DATA32B_bf(const void *const hw,
+ hri_sercomusart_ctrlc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp = (tmp & SERCOM_USART_CTRLC_DATA32B(mask)) >> SERCOM_USART_CTRLC_DATA32B_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLC_DATA32B_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp &= ~SERCOM_USART_CTRLC_DATA32B_Msk;
+ tmp |= SERCOM_USART_CTRLC_DATA32B(data);
+ ((Sercom *)hw)->USART.CTRLC.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLC_DATA32B_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg &= ~SERCOM_USART_CTRLC_DATA32B(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLC_DATA32B_bf(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg ^= SERCOM_USART_CTRLC_DATA32B(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_read_CTRLC_DATA32B_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp = (tmp & SERCOM_USART_CTRLC_DATA32B_Msk) >> SERCOM_USART_CTRLC_DATA32B_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_CTRLC_reg(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_get_CTRLC_reg(const void *const hw,
+ hri_sercomusart_ctrlc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.CTRLC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_CTRLC_reg(const void *const hw, hri_sercomusart_ctrlc_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_CTRLC_reg(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_CTRLC_reg(const void *const hw, hri_sercomusart_ctrlc_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.CTRLC.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_ctrlc_reg_t hri_sercomusart_read_CTRLC_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->USART.CTRLC.reg;
+}
+
+static inline void hri_sercomi2cm_set_BAUD_BAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg |= SERCOM_I2CM_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_get_BAUD_BAUD_bf(const void *const hw,
+ hri_sercomi2cm_baud_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.BAUD.reg;
+ tmp = (tmp & SERCOM_I2CM_BAUD_BAUD(mask)) >> SERCOM_I2CM_BAUD_BAUD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_BAUD_BAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.BAUD.reg;
+ tmp &= ~SERCOM_I2CM_BAUD_BAUD_Msk;
+ tmp |= SERCOM_I2CM_BAUD_BAUD(data);
+ ((Sercom *)hw)->I2CM.BAUD.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_BAUD_BAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg &= ~SERCOM_I2CM_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_BAUD_BAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg ^= SERCOM_I2CM_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_read_BAUD_BAUD_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.BAUD.reg;
+ tmp = (tmp & SERCOM_I2CM_BAUD_BAUD_Msk) >> SERCOM_I2CM_BAUD_BAUD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_set_BAUD_BAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg |= SERCOM_I2CM_BAUD_BAUDLOW(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_get_BAUD_BAUDLOW_bf(const void *const hw,
+ hri_sercomi2cm_baud_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.BAUD.reg;
+ tmp = (tmp & SERCOM_I2CM_BAUD_BAUDLOW(mask)) >> SERCOM_I2CM_BAUD_BAUDLOW_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_BAUD_BAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.BAUD.reg;
+ tmp &= ~SERCOM_I2CM_BAUD_BAUDLOW_Msk;
+ tmp |= SERCOM_I2CM_BAUD_BAUDLOW(data);
+ ((Sercom *)hw)->I2CM.BAUD.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_BAUD_BAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg &= ~SERCOM_I2CM_BAUD_BAUDLOW(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_BAUD_BAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg ^= SERCOM_I2CM_BAUD_BAUDLOW(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_read_BAUD_BAUDLOW_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.BAUD.reg;
+ tmp = (tmp & SERCOM_I2CM_BAUD_BAUDLOW_Msk) >> SERCOM_I2CM_BAUD_BAUDLOW_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_set_BAUD_HSBAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg |= SERCOM_I2CM_BAUD_HSBAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_get_BAUD_HSBAUD_bf(const void *const hw,
+ hri_sercomi2cm_baud_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.BAUD.reg;
+ tmp = (tmp & SERCOM_I2CM_BAUD_HSBAUD(mask)) >> SERCOM_I2CM_BAUD_HSBAUD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_BAUD_HSBAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.BAUD.reg;
+ tmp &= ~SERCOM_I2CM_BAUD_HSBAUD_Msk;
+ tmp |= SERCOM_I2CM_BAUD_HSBAUD(data);
+ ((Sercom *)hw)->I2CM.BAUD.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_BAUD_HSBAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg &= ~SERCOM_I2CM_BAUD_HSBAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_BAUD_HSBAUD_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg ^= SERCOM_I2CM_BAUD_HSBAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_read_BAUD_HSBAUD_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.BAUD.reg;
+ tmp = (tmp & SERCOM_I2CM_BAUD_HSBAUD_Msk) >> SERCOM_I2CM_BAUD_HSBAUD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_set_BAUD_HSBAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg |= SERCOM_I2CM_BAUD_HSBAUDLOW(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_get_BAUD_HSBAUDLOW_bf(const void *const hw,
+ hri_sercomi2cm_baud_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.BAUD.reg;
+ tmp = (tmp & SERCOM_I2CM_BAUD_HSBAUDLOW(mask)) >> SERCOM_I2CM_BAUD_HSBAUDLOW_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_BAUD_HSBAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.BAUD.reg;
+ tmp &= ~SERCOM_I2CM_BAUD_HSBAUDLOW_Msk;
+ tmp |= SERCOM_I2CM_BAUD_HSBAUDLOW(data);
+ ((Sercom *)hw)->I2CM.BAUD.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_BAUD_HSBAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg &= ~SERCOM_I2CM_BAUD_HSBAUDLOW(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_BAUD_HSBAUDLOW_bf(const void *const hw, hri_sercomi2cm_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg ^= SERCOM_I2CM_BAUD_HSBAUDLOW(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_read_BAUD_HSBAUDLOW_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.BAUD.reg;
+ tmp = (tmp & SERCOM_I2CM_BAUD_HSBAUDLOW_Msk) >> SERCOM_I2CM_BAUD_HSBAUDLOW_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_set_BAUD_reg(const void *const hw, hri_sercomi2cm_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_get_BAUD_reg(const void *const hw,
+ hri_sercomi2cm_baud_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.BAUD.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_BAUD_reg(const void *const hw, hri_sercomi2cm_baud_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_BAUD_reg(const void *const hw, hri_sercomi2cm_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_BAUD_reg(const void *const hw, hri_sercomi2cm_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.BAUD.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_baud_reg_t hri_sercomi2cm_read_BAUD_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->I2CM.BAUD.reg;
+}
+
+static inline void hri_sercomspi_set_BAUD_BAUD_bf(const void *const hw, hri_sercomspi_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.BAUD.reg |= SERCOM_SPI_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_baud_reg_t hri_sercomspi_get_BAUD_BAUD_bf(const void *const hw,
+ hri_sercomspi_baud_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->SPI.BAUD.reg;
+ tmp = (tmp & SERCOM_SPI_BAUD_BAUD(mask)) >> SERCOM_SPI_BAUD_BAUD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_BAUD_BAUD_bf(const void *const hw, hri_sercomspi_baud_reg_t data)
+{
+ uint8_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.BAUD.reg;
+ tmp &= ~SERCOM_SPI_BAUD_BAUD_Msk;
+ tmp |= SERCOM_SPI_BAUD_BAUD(data);
+ ((Sercom *)hw)->SPI.BAUD.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_BAUD_BAUD_bf(const void *const hw, hri_sercomspi_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.BAUD.reg &= ~SERCOM_SPI_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_BAUD_BAUD_bf(const void *const hw, hri_sercomspi_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.BAUD.reg ^= SERCOM_SPI_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_baud_reg_t hri_sercomspi_read_BAUD_BAUD_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->SPI.BAUD.reg;
+ tmp = (tmp & SERCOM_SPI_BAUD_BAUD_Msk) >> SERCOM_SPI_BAUD_BAUD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_set_BAUD_reg(const void *const hw, hri_sercomspi_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.BAUD.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_baud_reg_t hri_sercomspi_get_BAUD_reg(const void *const hw, hri_sercomspi_baud_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->SPI.BAUD.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_BAUD_reg(const void *const hw, hri_sercomspi_baud_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.BAUD.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_BAUD_reg(const void *const hw, hri_sercomspi_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.BAUD.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_BAUD_reg(const void *const hw, hri_sercomspi_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.BAUD.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_baud_reg_t hri_sercomspi_read_BAUD_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->SPI.BAUD.reg;
+}
+
+static inline void hri_sercomusart_set_BAUD_FRAC_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg |= SERCOM_USART_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_BAUD_FRACFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg |= SERCOM_USART_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_baud_reg_t hri_sercomusart_get_BAUD_FRAC_BAUD_bf(const void *const hw,
+ hri_sercomusart_baud_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp = (tmp & SERCOM_USART_BAUD_BAUD(mask)) >> SERCOM_USART_BAUD_BAUD_Pos;
+ return tmp;
+}
+
+static inline hri_sercomusart_baud_reg_t hri_sercomusart_get_BAUD_FRACFP_BAUD_bf(const void *const hw,
+ hri_sercomusart_baud_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp = (tmp & SERCOM_USART_BAUD_BAUD(mask)) >> SERCOM_USART_BAUD_BAUD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_BAUD_FRAC_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t data)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp &= ~SERCOM_USART_BAUD_BAUD_Msk;
+ tmp |= SERCOM_USART_BAUD_BAUD(data);
+ ((Sercom *)hw)->USART.BAUD.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_write_BAUD_FRACFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t data)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp &= ~SERCOM_USART_BAUD_BAUD_Msk;
+ tmp |= SERCOM_USART_BAUD_BAUD(data);
+ ((Sercom *)hw)->USART.BAUD.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_BAUD_FRAC_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg &= ~SERCOM_USART_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_BAUD_FRACFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg &= ~SERCOM_USART_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_BAUD_FRAC_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg ^= SERCOM_USART_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_BAUD_FRACFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg ^= SERCOM_USART_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_baud_reg_t hri_sercomusart_read_BAUD_FRAC_BAUD_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp = (tmp & SERCOM_USART_BAUD_BAUD_Msk) >> SERCOM_USART_BAUD_BAUD_Pos;
+ return tmp;
+}
+
+static inline hri_sercomusart_baud_reg_t hri_sercomusart_read_BAUD_FRACFP_BAUD_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp = (tmp & SERCOM_USART_BAUD_BAUD_Msk) >> SERCOM_USART_BAUD_BAUD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_BAUD_FRAC_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg |= SERCOM_USART_BAUD_FRAC_FP(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_BAUD_FRACFP_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg |= SERCOM_USART_BAUD_FRACFP_FP(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_baud_reg_t hri_sercomusart_get_BAUD_FRAC_FP_bf(const void *const hw,
+ hri_sercomusart_baud_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp = (tmp & SERCOM_USART_BAUD_FRAC_FP(mask)) >> SERCOM_USART_BAUD_FRAC_FP_Pos;
+ return tmp;
+}
+
+static inline hri_sercomusart_baud_reg_t hri_sercomusart_get_BAUD_FRACFP_FP_bf(const void *const hw,
+ hri_sercomusart_baud_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp = (tmp & SERCOM_USART_BAUD_FRACFP_FP(mask)) >> SERCOM_USART_BAUD_FRACFP_FP_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_BAUD_FRAC_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t data)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp &= ~SERCOM_USART_BAUD_FRAC_FP_Msk;
+ tmp |= SERCOM_USART_BAUD_FRAC_FP(data);
+ ((Sercom *)hw)->USART.BAUD.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_write_BAUD_FRACFP_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t data)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp &= ~SERCOM_USART_BAUD_FRACFP_FP_Msk;
+ tmp |= SERCOM_USART_BAUD_FRACFP_FP(data);
+ ((Sercom *)hw)->USART.BAUD.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_BAUD_FRAC_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg &= ~SERCOM_USART_BAUD_FRAC_FP(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_BAUD_FRACFP_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg &= ~SERCOM_USART_BAUD_FRACFP_FP(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_BAUD_FRAC_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg ^= SERCOM_USART_BAUD_FRAC_FP(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_BAUD_FRACFP_FP_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg ^= SERCOM_USART_BAUD_FRACFP_FP(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_baud_reg_t hri_sercomusart_read_BAUD_FRAC_FP_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp = (tmp & SERCOM_USART_BAUD_FRAC_FP_Msk) >> SERCOM_USART_BAUD_FRAC_FP_Pos;
+ return tmp;
+}
+
+static inline hri_sercomusart_baud_reg_t hri_sercomusart_read_BAUD_FRACFP_FP_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp = (tmp & SERCOM_USART_BAUD_FRACFP_FP_Msk) >> SERCOM_USART_BAUD_FRACFP_FP_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_BAUD_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg |= SERCOM_USART_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_BAUD_USARTFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg |= SERCOM_USART_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_baud_reg_t hri_sercomusart_get_BAUD_BAUD_bf(const void *const hw,
+ hri_sercomusart_baud_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp = (tmp & SERCOM_USART_BAUD_BAUD(mask)) >> SERCOM_USART_BAUD_BAUD_Pos;
+ return tmp;
+}
+
+static inline hri_sercomusart_baud_reg_t hri_sercomusart_get_BAUD_USARTFP_BAUD_bf(const void *const hw,
+ hri_sercomusart_baud_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp = (tmp & SERCOM_USART_BAUD_BAUD(mask)) >> SERCOM_USART_BAUD_BAUD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_BAUD_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t data)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp &= ~SERCOM_USART_BAUD_BAUD_Msk;
+ tmp |= SERCOM_USART_BAUD_BAUD(data);
+ ((Sercom *)hw)->USART.BAUD.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_write_BAUD_USARTFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t data)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp &= ~SERCOM_USART_BAUD_BAUD_Msk;
+ tmp |= SERCOM_USART_BAUD_BAUD(data);
+ ((Sercom *)hw)->USART.BAUD.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_BAUD_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg &= ~SERCOM_USART_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_BAUD_USARTFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg &= ~SERCOM_USART_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_BAUD_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg ^= SERCOM_USART_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_BAUD_USARTFP_BAUD_bf(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg ^= SERCOM_USART_BAUD_BAUD(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_baud_reg_t hri_sercomusart_read_BAUD_BAUD_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp = (tmp & SERCOM_USART_BAUD_BAUD_Msk) >> SERCOM_USART_BAUD_BAUD_Pos;
+ return tmp;
+}
+
+static inline hri_sercomusart_baud_reg_t hri_sercomusart_read_BAUD_USARTFP_BAUD_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp = (tmp & SERCOM_USART_BAUD_BAUD_Msk) >> SERCOM_USART_BAUD_BAUD_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_BAUD_reg(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_baud_reg_t hri_sercomusart_get_BAUD_reg(const void *const hw,
+ hri_sercomusart_baud_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.BAUD.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_BAUD_reg(const void *const hw, hri_sercomusart_baud_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_BAUD_reg(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_BAUD_reg(const void *const hw, hri_sercomusart_baud_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.BAUD.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_baud_reg_t hri_sercomusart_read_BAUD_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->USART.BAUD.reg;
+}
+
+static inline void hri_sercomusart_set_RXPL_RXPL_bf(const void *const hw, hri_sercomusart_rxpl_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.RXPL.reg |= SERCOM_USART_RXPL_RXPL(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_rxpl_reg_t hri_sercomusart_get_RXPL_RXPL_bf(const void *const hw,
+ hri_sercomusart_rxpl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->USART.RXPL.reg;
+ tmp = (tmp & SERCOM_USART_RXPL_RXPL(mask)) >> SERCOM_USART_RXPL_RXPL_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_RXPL_RXPL_bf(const void *const hw, hri_sercomusart_rxpl_reg_t data)
+{
+ uint8_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.RXPL.reg;
+ tmp &= ~SERCOM_USART_RXPL_RXPL_Msk;
+ tmp |= SERCOM_USART_RXPL_RXPL(data);
+ ((Sercom *)hw)->USART.RXPL.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_RXPL_RXPL_bf(const void *const hw, hri_sercomusart_rxpl_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.RXPL.reg &= ~SERCOM_USART_RXPL_RXPL(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_RXPL_RXPL_bf(const void *const hw, hri_sercomusart_rxpl_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.RXPL.reg ^= SERCOM_USART_RXPL_RXPL(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_rxpl_reg_t hri_sercomusart_read_RXPL_RXPL_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->USART.RXPL.reg;
+ tmp = (tmp & SERCOM_USART_RXPL_RXPL_Msk) >> SERCOM_USART_RXPL_RXPL_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_RXPL_reg(const void *const hw, hri_sercomusart_rxpl_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.RXPL.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_rxpl_reg_t hri_sercomusart_get_RXPL_reg(const void *const hw,
+ hri_sercomusart_rxpl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->USART.RXPL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_RXPL_reg(const void *const hw, hri_sercomusart_rxpl_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.RXPL.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_RXPL_reg(const void *const hw, hri_sercomusart_rxpl_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.RXPL.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_RXPL_reg(const void *const hw, hri_sercomusart_rxpl_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.RXPL.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_rxpl_reg_t hri_sercomusart_read_RXPL_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->USART.RXPL.reg;
+}
+
+static inline void hri_sercomi2cs_set_LENGTH_LENEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.LENGTH.reg |= SERCOM_I2CS_LENGTH_LENEN;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_LENGTH_LENEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.LENGTH.reg;
+ tmp = (tmp & SERCOM_I2CS_LENGTH_LENEN) >> SERCOM_I2CS_LENGTH_LENEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cs_write_LENGTH_LENEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.LENGTH.reg;
+ tmp &= ~SERCOM_I2CS_LENGTH_LENEN;
+ tmp |= value << SERCOM_I2CS_LENGTH_LENEN_Pos;
+ ((Sercom *)hw)->I2CS.LENGTH.reg = tmp;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_LENGTH_LENEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.LENGTH.reg &= ~SERCOM_I2CS_LENGTH_LENEN;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_LENGTH_LENEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.LENGTH.reg ^= SERCOM_I2CS_LENGTH_LENEN;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_set_LENGTH_LEN_bf(const void *const hw, hri_sercomi2cs_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.LENGTH.reg |= SERCOM_I2CS_LENGTH_LEN(mask);
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_length_reg_t hri_sercomi2cs_get_LENGTH_LEN_bf(const void *const hw,
+ hri_sercomi2cs_length_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.LENGTH.reg;
+ tmp = (tmp & SERCOM_I2CS_LENGTH_LEN(mask)) >> SERCOM_I2CS_LENGTH_LEN_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_LENGTH_LEN_bf(const void *const hw, hri_sercomi2cs_length_reg_t data)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.LENGTH.reg;
+ tmp &= ~SERCOM_I2CS_LENGTH_LEN_Msk;
+ tmp |= SERCOM_I2CS_LENGTH_LEN(data);
+ ((Sercom *)hw)->I2CS.LENGTH.reg = tmp;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_LENGTH_LEN_bf(const void *const hw, hri_sercomi2cs_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.LENGTH.reg &= ~SERCOM_I2CS_LENGTH_LEN(mask);
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_LENGTH_LEN_bf(const void *const hw, hri_sercomi2cs_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.LENGTH.reg ^= SERCOM_I2CS_LENGTH_LEN(mask);
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_length_reg_t hri_sercomi2cs_read_LENGTH_LEN_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.LENGTH.reg;
+ tmp = (tmp & SERCOM_I2CS_LENGTH_LEN_Msk) >> SERCOM_I2CS_LENGTH_LEN_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_set_LENGTH_reg(const void *const hw, hri_sercomi2cs_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.LENGTH.reg |= mask;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_length_reg_t hri_sercomi2cs_get_LENGTH_reg(const void *const hw,
+ hri_sercomi2cs_length_reg_t mask)
+{
+ uint16_t tmp;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ tmp = ((Sercom *)hw)->I2CS.LENGTH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_LENGTH_reg(const void *const hw, hri_sercomi2cs_length_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.LENGTH.reg = data;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_LENGTH_reg(const void *const hw, hri_sercomi2cs_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.LENGTH.reg &= ~mask;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_LENGTH_reg(const void *const hw, hri_sercomi2cs_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.LENGTH.reg ^= mask;
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_length_reg_t hri_sercomi2cs_read_LENGTH_reg(const void *const hw)
+{
+ hri_sercomi2cs_wait_for_sync(hw, SERCOM_I2CS_SYNCBUSY_MASK);
+ return ((Sercom *)hw)->I2CS.LENGTH.reg;
+}
+
+static inline void hri_sercomspi_set_LENGTH_LENEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.LENGTH.reg |= SERCOM_SPI_LENGTH_LENEN;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomspi_get_LENGTH_LENEN_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->SPI.LENGTH.reg;
+ tmp = (tmp & SERCOM_SPI_LENGTH_LENEN) >> SERCOM_SPI_LENGTH_LENEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomspi_write_LENGTH_LENEN_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.LENGTH.reg;
+ tmp &= ~SERCOM_SPI_LENGTH_LENEN;
+ tmp |= value << SERCOM_SPI_LENGTH_LENEN_Pos;
+ ((Sercom *)hw)->SPI.LENGTH.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_LENGTH_LENEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.LENGTH.reg &= ~SERCOM_SPI_LENGTH_LENEN;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_LENGTH_LENEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.LENGTH.reg ^= SERCOM_SPI_LENGTH_LENEN;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_set_LENGTH_LEN_bf(const void *const hw, hri_sercomspi_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.LENGTH.reg |= SERCOM_SPI_LENGTH_LEN(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_length_reg_t hri_sercomspi_get_LENGTH_LEN_bf(const void *const hw,
+ hri_sercomspi_length_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->SPI.LENGTH.reg;
+ tmp = (tmp & SERCOM_SPI_LENGTH_LEN(mask)) >> SERCOM_SPI_LENGTH_LEN_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_LENGTH_LEN_bf(const void *const hw, hri_sercomspi_length_reg_t data)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.LENGTH.reg;
+ tmp &= ~SERCOM_SPI_LENGTH_LEN_Msk;
+ tmp |= SERCOM_SPI_LENGTH_LEN(data);
+ ((Sercom *)hw)->SPI.LENGTH.reg = tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_LENGTH_LEN_bf(const void *const hw, hri_sercomspi_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.LENGTH.reg &= ~SERCOM_SPI_LENGTH_LEN(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_LENGTH_LEN_bf(const void *const hw, hri_sercomspi_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.LENGTH.reg ^= SERCOM_SPI_LENGTH_LEN(mask);
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_length_reg_t hri_sercomspi_read_LENGTH_LEN_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->SPI.LENGTH.reg;
+ tmp = (tmp & SERCOM_SPI_LENGTH_LEN_Msk) >> SERCOM_SPI_LENGTH_LEN_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_set_LENGTH_reg(const void *const hw, hri_sercomspi_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.LENGTH.reg |= mask;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_length_reg_t hri_sercomspi_get_LENGTH_reg(const void *const hw,
+ hri_sercomspi_length_reg_t mask)
+{
+ uint16_t tmp;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ tmp = ((Sercom *)hw)->SPI.LENGTH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_LENGTH_reg(const void *const hw, hri_sercomspi_length_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.LENGTH.reg = data;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_LENGTH_reg(const void *const hw, hri_sercomspi_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.LENGTH.reg &= ~mask;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_LENGTH_reg(const void *const hw, hri_sercomspi_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.LENGTH.reg ^= mask;
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_length_reg_t hri_sercomspi_read_LENGTH_reg(const void *const hw)
+{
+ hri_sercomspi_wait_for_sync(hw, SERCOM_SPI_SYNCBUSY_MASK);
+ return ((Sercom *)hw)->SPI.LENGTH.reg;
+}
+
+static inline void hri_sercomusart_set_LENGTH_LEN_bf(const void *const hw, hri_sercomusart_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.LENGTH.reg |= SERCOM_USART_LENGTH_LEN(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_length_reg_t hri_sercomusart_get_LENGTH_LEN_bf(const void *const hw,
+ hri_sercomusart_length_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.LENGTH.reg;
+ tmp = (tmp & SERCOM_USART_LENGTH_LEN(mask)) >> SERCOM_USART_LENGTH_LEN_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_LENGTH_LEN_bf(const void *const hw, hri_sercomusart_length_reg_t data)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.LENGTH.reg;
+ tmp &= ~SERCOM_USART_LENGTH_LEN_Msk;
+ tmp |= SERCOM_USART_LENGTH_LEN(data);
+ ((Sercom *)hw)->USART.LENGTH.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_LENGTH_LEN_bf(const void *const hw, hri_sercomusart_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.LENGTH.reg &= ~SERCOM_USART_LENGTH_LEN(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_LENGTH_LEN_bf(const void *const hw, hri_sercomusart_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.LENGTH.reg ^= SERCOM_USART_LENGTH_LEN(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_length_reg_t hri_sercomusart_read_LENGTH_LEN_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.LENGTH.reg;
+ tmp = (tmp & SERCOM_USART_LENGTH_LEN_Msk) >> SERCOM_USART_LENGTH_LEN_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_LENGTH_LENEN_bf(const void *const hw, hri_sercomusart_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.LENGTH.reg |= SERCOM_USART_LENGTH_LENEN(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_length_reg_t hri_sercomusart_get_LENGTH_LENEN_bf(const void *const hw,
+ hri_sercomusart_length_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.LENGTH.reg;
+ tmp = (tmp & SERCOM_USART_LENGTH_LENEN(mask)) >> SERCOM_USART_LENGTH_LENEN_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_LENGTH_LENEN_bf(const void *const hw, hri_sercomusart_length_reg_t data)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.LENGTH.reg;
+ tmp &= ~SERCOM_USART_LENGTH_LENEN_Msk;
+ tmp |= SERCOM_USART_LENGTH_LENEN(data);
+ ((Sercom *)hw)->USART.LENGTH.reg = tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_LENGTH_LENEN_bf(const void *const hw, hri_sercomusart_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.LENGTH.reg &= ~SERCOM_USART_LENGTH_LENEN(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_LENGTH_LENEN_bf(const void *const hw, hri_sercomusart_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.LENGTH.reg ^= SERCOM_USART_LENGTH_LENEN(mask);
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_length_reg_t hri_sercomusart_read_LENGTH_LENEN_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.LENGTH.reg;
+ tmp = (tmp & SERCOM_USART_LENGTH_LENEN_Msk) >> SERCOM_USART_LENGTH_LENEN_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_LENGTH_reg(const void *const hw, hri_sercomusart_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.LENGTH.reg |= mask;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_length_reg_t hri_sercomusart_get_LENGTH_reg(const void *const hw,
+ hri_sercomusart_length_reg_t mask)
+{
+ uint16_t tmp;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ tmp = ((Sercom *)hw)->USART.LENGTH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_LENGTH_reg(const void *const hw, hri_sercomusart_length_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.LENGTH.reg = data;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_LENGTH_reg(const void *const hw, hri_sercomusart_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.LENGTH.reg &= ~mask;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_LENGTH_reg(const void *const hw, hri_sercomusart_length_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.LENGTH.reg ^= mask;
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_length_reg_t hri_sercomusart_read_LENGTH_reg(const void *const hw)
+{
+ hri_sercomusart_wait_for_sync(hw, SERCOM_USART_SYNCBUSY_MASK);
+ return ((Sercom *)hw)->USART.LENGTH.reg;
+}
+
+static inline void hri_sercomi2cm_set_ADDR_LENEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg |= SERCOM_I2CM_ADDR_LENEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_ADDR_LENEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.ADDR.reg;
+ tmp = (tmp & SERCOM_I2CM_ADDR_LENEN) >> SERCOM_I2CM_ADDR_LENEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_write_ADDR_LENEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.ADDR.reg;
+ tmp &= ~SERCOM_I2CM_ADDR_LENEN;
+ tmp |= value << SERCOM_I2CM_ADDR_LENEN_Pos;
+ ((Sercom *)hw)->I2CM.ADDR.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_ADDR_LENEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg &= ~SERCOM_I2CM_ADDR_LENEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_ADDR_LENEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg ^= SERCOM_I2CM_ADDR_LENEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_ADDR_HS_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg |= SERCOM_I2CM_ADDR_HS;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_ADDR_HS_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.ADDR.reg;
+ tmp = (tmp & SERCOM_I2CM_ADDR_HS) >> SERCOM_I2CM_ADDR_HS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_write_ADDR_HS_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.ADDR.reg;
+ tmp &= ~SERCOM_I2CM_ADDR_HS;
+ tmp |= value << SERCOM_I2CM_ADDR_HS_Pos;
+ ((Sercom *)hw)->I2CM.ADDR.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_ADDR_HS_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg &= ~SERCOM_I2CM_ADDR_HS;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_ADDR_HS_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg ^= SERCOM_I2CM_ADDR_HS;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_ADDR_TENBITEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg |= SERCOM_I2CM_ADDR_TENBITEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_ADDR_TENBITEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.ADDR.reg;
+ tmp = (tmp & SERCOM_I2CM_ADDR_TENBITEN) >> SERCOM_I2CM_ADDR_TENBITEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_write_ADDR_TENBITEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.ADDR.reg;
+ tmp &= ~SERCOM_I2CM_ADDR_TENBITEN;
+ tmp |= value << SERCOM_I2CM_ADDR_TENBITEN_Pos;
+ ((Sercom *)hw)->I2CM.ADDR.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_ADDR_TENBITEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg &= ~SERCOM_I2CM_ADDR_TENBITEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_ADDR_TENBITEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg ^= SERCOM_I2CM_ADDR_TENBITEN;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cm_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg |= SERCOM_I2CM_ADDR_ADDR(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_addr_reg_t hri_sercomi2cm_get_ADDR_ADDR_bf(const void *const hw,
+ hri_sercomi2cm_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.ADDR.reg;
+ tmp = (tmp & SERCOM_I2CM_ADDR_ADDR(mask)) >> SERCOM_I2CM_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cm_addr_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.ADDR.reg;
+ tmp &= ~SERCOM_I2CM_ADDR_ADDR_Msk;
+ tmp |= SERCOM_I2CM_ADDR_ADDR(data);
+ ((Sercom *)hw)->I2CM.ADDR.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cm_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg &= ~SERCOM_I2CM_ADDR_ADDR(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cm_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg ^= SERCOM_I2CM_ADDR_ADDR(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_addr_reg_t hri_sercomi2cm_read_ADDR_ADDR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.ADDR.reg;
+ tmp = (tmp & SERCOM_I2CM_ADDR_ADDR_Msk) >> SERCOM_I2CM_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_set_ADDR_LEN_bf(const void *const hw, hri_sercomi2cm_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg |= SERCOM_I2CM_ADDR_LEN(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_addr_reg_t hri_sercomi2cm_get_ADDR_LEN_bf(const void *const hw,
+ hri_sercomi2cm_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.ADDR.reg;
+ tmp = (tmp & SERCOM_I2CM_ADDR_LEN(mask)) >> SERCOM_I2CM_ADDR_LEN_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_ADDR_LEN_bf(const void *const hw, hri_sercomi2cm_addr_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.ADDR.reg;
+ tmp &= ~SERCOM_I2CM_ADDR_LEN_Msk;
+ tmp |= SERCOM_I2CM_ADDR_LEN(data);
+ ((Sercom *)hw)->I2CM.ADDR.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_ADDR_LEN_bf(const void *const hw, hri_sercomi2cm_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg &= ~SERCOM_I2CM_ADDR_LEN(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_ADDR_LEN_bf(const void *const hw, hri_sercomi2cm_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg ^= SERCOM_I2CM_ADDR_LEN(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_addr_reg_t hri_sercomi2cm_read_ADDR_LEN_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.ADDR.reg;
+ tmp = (tmp & SERCOM_I2CM_ADDR_LEN_Msk) >> SERCOM_I2CM_ADDR_LEN_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_set_ADDR_reg(const void *const hw, hri_sercomi2cm_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg |= mask;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_addr_reg_t hri_sercomi2cm_get_ADDR_reg(const void *const hw,
+ hri_sercomi2cm_addr_reg_t mask)
+{
+ uint32_t tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ tmp = ((Sercom *)hw)->I2CM.ADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_ADDR_reg(const void *const hw, hri_sercomi2cm_addr_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg = data;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_ADDR_reg(const void *const hw, hri_sercomi2cm_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg &= ~mask;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_ADDR_reg(const void *const hw, hri_sercomi2cm_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.ADDR.reg ^= mask;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_addr_reg_t hri_sercomi2cm_read_ADDR_reg(const void *const hw)
+{
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ return ((Sercom *)hw)->I2CM.ADDR.reg;
+}
+
+static inline void hri_sercomi2cs_set_ADDR_GENCEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg |= SERCOM_I2CS_ADDR_GENCEN;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_ADDR_GENCEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.ADDR.reg;
+ tmp = (tmp & SERCOM_I2CS_ADDR_GENCEN) >> SERCOM_I2CS_ADDR_GENCEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cs_write_ADDR_GENCEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.ADDR.reg;
+ tmp &= ~SERCOM_I2CS_ADDR_GENCEN;
+ tmp |= value << SERCOM_I2CS_ADDR_GENCEN_Pos;
+ ((Sercom *)hw)->I2CS.ADDR.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_ADDR_GENCEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg &= ~SERCOM_I2CS_ADDR_GENCEN;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_ADDR_GENCEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg ^= SERCOM_I2CS_ADDR_GENCEN;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_set_ADDR_TENBITEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg |= SERCOM_I2CS_ADDR_TENBITEN;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_ADDR_TENBITEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.ADDR.reg;
+ tmp = (tmp & SERCOM_I2CS_ADDR_TENBITEN) >> SERCOM_I2CS_ADDR_TENBITEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cs_write_ADDR_TENBITEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.ADDR.reg;
+ tmp &= ~SERCOM_I2CS_ADDR_TENBITEN;
+ tmp |= value << SERCOM_I2CS_ADDR_TENBITEN_Pos;
+ ((Sercom *)hw)->I2CS.ADDR.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_ADDR_TENBITEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg &= ~SERCOM_I2CS_ADDR_TENBITEN;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_ADDR_TENBITEN_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg ^= SERCOM_I2CS_ADDR_TENBITEN;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_set_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cs_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg |= SERCOM_I2CS_ADDR_ADDR(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_addr_reg_t hri_sercomi2cs_get_ADDR_ADDR_bf(const void *const hw,
+ hri_sercomi2cs_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.ADDR.reg;
+ tmp = (tmp & SERCOM_I2CS_ADDR_ADDR(mask)) >> SERCOM_I2CS_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cs_addr_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.ADDR.reg;
+ tmp &= ~SERCOM_I2CS_ADDR_ADDR_Msk;
+ tmp |= SERCOM_I2CS_ADDR_ADDR(data);
+ ((Sercom *)hw)->I2CS.ADDR.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cs_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg &= ~SERCOM_I2CS_ADDR_ADDR(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_ADDR_ADDR_bf(const void *const hw, hri_sercomi2cs_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg ^= SERCOM_I2CS_ADDR_ADDR(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_addr_reg_t hri_sercomi2cs_read_ADDR_ADDR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.ADDR.reg;
+ tmp = (tmp & SERCOM_I2CS_ADDR_ADDR_Msk) >> SERCOM_I2CS_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_set_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomi2cs_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg |= SERCOM_I2CS_ADDR_ADDRMASK(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_addr_reg_t hri_sercomi2cs_get_ADDR_ADDRMASK_bf(const void *const hw,
+ hri_sercomi2cs_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.ADDR.reg;
+ tmp = (tmp & SERCOM_I2CS_ADDR_ADDRMASK(mask)) >> SERCOM_I2CS_ADDR_ADDRMASK_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomi2cs_addr_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.ADDR.reg;
+ tmp &= ~SERCOM_I2CS_ADDR_ADDRMASK_Msk;
+ tmp |= SERCOM_I2CS_ADDR_ADDRMASK(data);
+ ((Sercom *)hw)->I2CS.ADDR.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomi2cs_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg &= ~SERCOM_I2CS_ADDR_ADDRMASK(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomi2cs_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg ^= SERCOM_I2CS_ADDR_ADDRMASK(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_addr_reg_t hri_sercomi2cs_read_ADDR_ADDRMASK_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.ADDR.reg;
+ tmp = (tmp & SERCOM_I2CS_ADDR_ADDRMASK_Msk) >> SERCOM_I2CS_ADDR_ADDRMASK_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_set_ADDR_reg(const void *const hw, hri_sercomi2cs_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_addr_reg_t hri_sercomi2cs_get_ADDR_reg(const void *const hw,
+ hri_sercomi2cs_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.ADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_ADDR_reg(const void *const hw, hri_sercomi2cs_addr_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_ADDR_reg(const void *const hw, hri_sercomi2cs_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_ADDR_reg(const void *const hw, hri_sercomi2cs_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.ADDR.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_addr_reg_t hri_sercomi2cs_read_ADDR_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->I2CS.ADDR.reg;
+}
+
+static inline void hri_sercomspi_set_ADDR_ADDR_bf(const void *const hw, hri_sercomspi_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.ADDR.reg |= SERCOM_SPI_ADDR_ADDR(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_addr_reg_t hri_sercomspi_get_ADDR_ADDR_bf(const void *const hw,
+ hri_sercomspi_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.ADDR.reg;
+ tmp = (tmp & SERCOM_SPI_ADDR_ADDR(mask)) >> SERCOM_SPI_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_ADDR_ADDR_bf(const void *const hw, hri_sercomspi_addr_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.ADDR.reg;
+ tmp &= ~SERCOM_SPI_ADDR_ADDR_Msk;
+ tmp |= SERCOM_SPI_ADDR_ADDR(data);
+ ((Sercom *)hw)->SPI.ADDR.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_ADDR_ADDR_bf(const void *const hw, hri_sercomspi_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.ADDR.reg &= ~SERCOM_SPI_ADDR_ADDR(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_ADDR_ADDR_bf(const void *const hw, hri_sercomspi_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.ADDR.reg ^= SERCOM_SPI_ADDR_ADDR(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_addr_reg_t hri_sercomspi_read_ADDR_ADDR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.ADDR.reg;
+ tmp = (tmp & SERCOM_SPI_ADDR_ADDR_Msk) >> SERCOM_SPI_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_set_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomspi_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.ADDR.reg |= SERCOM_SPI_ADDR_ADDRMASK(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_addr_reg_t hri_sercomspi_get_ADDR_ADDRMASK_bf(const void *const hw,
+ hri_sercomspi_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.ADDR.reg;
+ tmp = (tmp & SERCOM_SPI_ADDR_ADDRMASK(mask)) >> SERCOM_SPI_ADDR_ADDRMASK_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomspi_addr_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.ADDR.reg;
+ tmp &= ~SERCOM_SPI_ADDR_ADDRMASK_Msk;
+ tmp |= SERCOM_SPI_ADDR_ADDRMASK(data);
+ ((Sercom *)hw)->SPI.ADDR.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomspi_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.ADDR.reg &= ~SERCOM_SPI_ADDR_ADDRMASK(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_ADDR_ADDRMASK_bf(const void *const hw, hri_sercomspi_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.ADDR.reg ^= SERCOM_SPI_ADDR_ADDRMASK(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_addr_reg_t hri_sercomspi_read_ADDR_ADDRMASK_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.ADDR.reg;
+ tmp = (tmp & SERCOM_SPI_ADDR_ADDRMASK_Msk) >> SERCOM_SPI_ADDR_ADDRMASK_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_set_ADDR_reg(const void *const hw, hri_sercomspi_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.ADDR.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_addr_reg_t hri_sercomspi_get_ADDR_reg(const void *const hw, hri_sercomspi_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.ADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_ADDR_reg(const void *const hw, hri_sercomspi_addr_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.ADDR.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_ADDR_reg(const void *const hw, hri_sercomspi_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.ADDR.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_ADDR_reg(const void *const hw, hri_sercomspi_addr_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.ADDR.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_addr_reg_t hri_sercomspi_read_ADDR_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->SPI.ADDR.reg;
+}
+
+static inline void hri_sercomi2cm_set_DATA_DATA_bf(const void *const hw, hri_sercomi2cm_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.DATA.reg |= SERCOM_I2CM_DATA_DATA(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_data_reg_t hri_sercomi2cm_get_DATA_DATA_bf(const void *const hw,
+ hri_sercomi2cm_data_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.DATA.reg;
+ tmp = (tmp & SERCOM_I2CM_DATA_DATA(mask)) >> SERCOM_I2CM_DATA_DATA_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_DATA_DATA_bf(const void *const hw, hri_sercomi2cm_data_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.DATA.reg;
+ tmp &= ~SERCOM_I2CM_DATA_DATA_Msk;
+ tmp |= SERCOM_I2CM_DATA_DATA(data);
+ ((Sercom *)hw)->I2CM.DATA.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_DATA_DATA_bf(const void *const hw, hri_sercomi2cm_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.DATA.reg &= ~SERCOM_I2CM_DATA_DATA(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_DATA_DATA_bf(const void *const hw, hri_sercomi2cm_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.DATA.reg ^= SERCOM_I2CM_DATA_DATA(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_data_reg_t hri_sercomi2cm_read_DATA_DATA_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.DATA.reg;
+ tmp = (tmp & SERCOM_I2CM_DATA_DATA_Msk) >> SERCOM_I2CM_DATA_DATA_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_set_DATA_reg(const void *const hw, hri_sercomi2cm_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.DATA.reg |= mask;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_data_reg_t hri_sercomi2cm_get_DATA_reg(const void *const hw,
+ hri_sercomi2cm_data_reg_t mask)
+{
+ uint32_t tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ tmp = ((Sercom *)hw)->I2CM.DATA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_DATA_reg(const void *const hw, hri_sercomi2cm_data_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.DATA.reg = data;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_DATA_reg(const void *const hw, hri_sercomi2cm_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.DATA.reg &= ~mask;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_DATA_reg(const void *const hw, hri_sercomi2cm_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.DATA.reg ^= mask;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_data_reg_t hri_sercomi2cm_read_DATA_reg(const void *const hw)
+{
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ return ((Sercom *)hw)->I2CM.DATA.reg;
+}
+
+static inline void hri_sercomi2cs_set_DATA_DATA_bf(const void *const hw, hri_sercomi2cs_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.DATA.reg |= SERCOM_I2CS_DATA_DATA(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_data_reg_t hri_sercomi2cs_get_DATA_DATA_bf(const void *const hw,
+ hri_sercomi2cs_data_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.DATA.reg;
+ tmp = (tmp & SERCOM_I2CS_DATA_DATA(mask)) >> SERCOM_I2CS_DATA_DATA_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_DATA_DATA_bf(const void *const hw, hri_sercomi2cs_data_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CS.DATA.reg;
+ tmp &= ~SERCOM_I2CS_DATA_DATA_Msk;
+ tmp |= SERCOM_I2CS_DATA_DATA(data);
+ ((Sercom *)hw)->I2CS.DATA.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_DATA_DATA_bf(const void *const hw, hri_sercomi2cs_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.DATA.reg &= ~SERCOM_I2CS_DATA_DATA(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_DATA_DATA_bf(const void *const hw, hri_sercomi2cs_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.DATA.reg ^= SERCOM_I2CS_DATA_DATA(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_data_reg_t hri_sercomi2cs_read_DATA_DATA_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.DATA.reg;
+ tmp = (tmp & SERCOM_I2CS_DATA_DATA_Msk) >> SERCOM_I2CS_DATA_DATA_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_set_DATA_reg(const void *const hw, hri_sercomi2cs_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.DATA.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_data_reg_t hri_sercomi2cs_get_DATA_reg(const void *const hw,
+ hri_sercomi2cs_data_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.DATA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_write_DATA_reg(const void *const hw, hri_sercomi2cs_data_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.DATA.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_clear_DATA_reg(const void *const hw, hri_sercomi2cs_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.DATA.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cs_toggle_DATA_reg(const void *const hw, hri_sercomi2cs_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.DATA.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_data_reg_t hri_sercomi2cs_read_DATA_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->I2CS.DATA.reg;
+}
+
+static inline void hri_sercomspi_set_DATA_DATA_bf(const void *const hw, hri_sercomspi_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.DATA.reg |= SERCOM_SPI_DATA_DATA(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_data_reg_t hri_sercomspi_get_DATA_DATA_bf(const void *const hw,
+ hri_sercomspi_data_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.DATA.reg;
+ tmp = (tmp & SERCOM_SPI_DATA_DATA(mask)) >> SERCOM_SPI_DATA_DATA_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_DATA_DATA_bf(const void *const hw, hri_sercomspi_data_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.DATA.reg;
+ tmp &= ~SERCOM_SPI_DATA_DATA_Msk;
+ tmp |= SERCOM_SPI_DATA_DATA(data);
+ ((Sercom *)hw)->SPI.DATA.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_DATA_DATA_bf(const void *const hw, hri_sercomspi_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.DATA.reg &= ~SERCOM_SPI_DATA_DATA(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_DATA_DATA_bf(const void *const hw, hri_sercomspi_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.DATA.reg ^= SERCOM_SPI_DATA_DATA(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_data_reg_t hri_sercomspi_read_DATA_DATA_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.DATA.reg;
+ tmp = (tmp & SERCOM_SPI_DATA_DATA_Msk) >> SERCOM_SPI_DATA_DATA_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomspi_set_DATA_reg(const void *const hw, hri_sercomspi_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.DATA.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_data_reg_t hri_sercomspi_get_DATA_reg(const void *const hw, hri_sercomspi_data_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->SPI.DATA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_DATA_reg(const void *const hw, hri_sercomspi_data_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.DATA.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_DATA_reg(const void *const hw, hri_sercomspi_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.DATA.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_DATA_reg(const void *const hw, hri_sercomspi_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.DATA.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_data_reg_t hri_sercomspi_read_DATA_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->SPI.DATA.reg;
+}
+
+static inline void hri_sercomusart_set_DATA_DATA_bf(const void *const hw, hri_sercomusart_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.DATA.reg |= SERCOM_USART_DATA_DATA(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_data_reg_t hri_sercomusart_get_DATA_DATA_bf(const void *const hw,
+ hri_sercomusart_data_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.DATA.reg;
+ tmp = (tmp & SERCOM_USART_DATA_DATA(mask)) >> SERCOM_USART_DATA_DATA_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_DATA_DATA_bf(const void *const hw, hri_sercomusart_data_reg_t data)
+{
+ uint32_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.DATA.reg;
+ tmp &= ~SERCOM_USART_DATA_DATA_Msk;
+ tmp |= SERCOM_USART_DATA_DATA(data);
+ ((Sercom *)hw)->USART.DATA.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_DATA_DATA_bf(const void *const hw, hri_sercomusart_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.DATA.reg &= ~SERCOM_USART_DATA_DATA(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_DATA_DATA_bf(const void *const hw, hri_sercomusart_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.DATA.reg ^= SERCOM_USART_DATA_DATA(mask);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_data_reg_t hri_sercomusart_read_DATA_DATA_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.DATA.reg;
+ tmp = (tmp & SERCOM_USART_DATA_DATA_Msk) >> SERCOM_USART_DATA_DATA_Pos;
+ return tmp;
+}
+
+static inline void hri_sercomusart_set_DATA_reg(const void *const hw, hri_sercomusart_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.DATA.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_data_reg_t hri_sercomusart_get_DATA_reg(const void *const hw,
+ hri_sercomusart_data_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Sercom *)hw)->USART.DATA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_DATA_reg(const void *const hw, hri_sercomusart_data_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.DATA.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_DATA_reg(const void *const hw, hri_sercomusart_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.DATA.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_DATA_reg(const void *const hw, hri_sercomusart_data_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.DATA.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_data_reg_t hri_sercomusart_read_DATA_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->USART.DATA.reg;
+}
+
+static inline void hri_sercomi2cm_set_DBGCTRL_DBGSTOP_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.DBGCTRL.reg |= SERCOM_I2CM_DBGCTRL_DBGSTOP;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_DBGCTRL_DBGSTOP_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.DBGCTRL.reg;
+ tmp = (tmp & SERCOM_I2CM_DBGCTRL_DBGSTOP) >> SERCOM_I2CM_DBGCTRL_DBGSTOP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomi2cm_write_DBGCTRL_DBGSTOP_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.DBGCTRL.reg;
+ tmp &= ~SERCOM_I2CM_DBGCTRL_DBGSTOP;
+ tmp |= value << SERCOM_I2CM_DBGCTRL_DBGSTOP_Pos;
+ ((Sercom *)hw)->I2CM.DBGCTRL.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_DBGCTRL_DBGSTOP_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.DBGCTRL.reg &= ~SERCOM_I2CM_DBGCTRL_DBGSTOP;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_DBGCTRL_DBGSTOP_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.DBGCTRL.reg ^= SERCOM_I2CM_DBGCTRL_DBGSTOP;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_DBGCTRL_reg(const void *const hw, hri_sercomi2cm_dbgctrl_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.DBGCTRL.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_dbgctrl_reg_t hri_sercomi2cm_get_DBGCTRL_reg(const void *const hw,
+ hri_sercomi2cm_dbgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->I2CM.DBGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_write_DBGCTRL_reg(const void *const hw, hri_sercomi2cm_dbgctrl_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.DBGCTRL.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_DBGCTRL_reg(const void *const hw, hri_sercomi2cm_dbgctrl_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.DBGCTRL.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_DBGCTRL_reg(const void *const hw, hri_sercomi2cm_dbgctrl_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.DBGCTRL.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_dbgctrl_reg_t hri_sercomi2cm_read_DBGCTRL_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->I2CM.DBGCTRL.reg;
+}
+
+static inline void hri_sercomspi_set_DBGCTRL_DBGSTOP_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.DBGCTRL.reg |= SERCOM_SPI_DBGCTRL_DBGSTOP;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomspi_get_DBGCTRL_DBGSTOP_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->SPI.DBGCTRL.reg;
+ tmp = (tmp & SERCOM_SPI_DBGCTRL_DBGSTOP) >> SERCOM_SPI_DBGCTRL_DBGSTOP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomspi_write_DBGCTRL_DBGSTOP_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->SPI.DBGCTRL.reg;
+ tmp &= ~SERCOM_SPI_DBGCTRL_DBGSTOP;
+ tmp |= value << SERCOM_SPI_DBGCTRL_DBGSTOP_Pos;
+ ((Sercom *)hw)->SPI.DBGCTRL.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_DBGCTRL_DBGSTOP_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.DBGCTRL.reg &= ~SERCOM_SPI_DBGCTRL_DBGSTOP;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_DBGCTRL_DBGSTOP_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.DBGCTRL.reg ^= SERCOM_SPI_DBGCTRL_DBGSTOP;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_set_DBGCTRL_reg(const void *const hw, hri_sercomspi_dbgctrl_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.DBGCTRL.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_dbgctrl_reg_t hri_sercomspi_get_DBGCTRL_reg(const void *const hw,
+ hri_sercomspi_dbgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->SPI.DBGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomspi_write_DBGCTRL_reg(const void *const hw, hri_sercomspi_dbgctrl_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.DBGCTRL.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_clear_DBGCTRL_reg(const void *const hw, hri_sercomspi_dbgctrl_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.DBGCTRL.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomspi_toggle_DBGCTRL_reg(const void *const hw, hri_sercomspi_dbgctrl_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.DBGCTRL.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_dbgctrl_reg_t hri_sercomspi_read_DBGCTRL_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->SPI.DBGCTRL.reg;
+}
+
+static inline void hri_sercomusart_set_DBGCTRL_DBGSTOP_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.DBGCTRL.reg |= SERCOM_USART_DBGCTRL_DBGSTOP;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_DBGCTRL_DBGSTOP_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->USART.DBGCTRL.reg;
+ tmp = (tmp & SERCOM_USART_DBGCTRL_DBGSTOP) >> SERCOM_USART_DBGCTRL_DBGSTOP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_sercomusart_write_DBGCTRL_DBGSTOP_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->USART.DBGCTRL.reg;
+ tmp &= ~SERCOM_USART_DBGCTRL_DBGSTOP;
+ tmp |= value << SERCOM_USART_DBGCTRL_DBGSTOP_Pos;
+ ((Sercom *)hw)->USART.DBGCTRL.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_DBGCTRL_DBGSTOP_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.DBGCTRL.reg &= ~SERCOM_USART_DBGCTRL_DBGSTOP;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_DBGCTRL_DBGSTOP_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.DBGCTRL.reg ^= SERCOM_USART_DBGCTRL_DBGSTOP;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_set_DBGCTRL_reg(const void *const hw, hri_sercomusart_dbgctrl_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.DBGCTRL.reg |= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_dbgctrl_reg_t hri_sercomusart_get_DBGCTRL_reg(const void *const hw,
+ hri_sercomusart_dbgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Sercom *)hw)->USART.DBGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomusart_write_DBGCTRL_reg(const void *const hw, hri_sercomusart_dbgctrl_reg_t data)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.DBGCTRL.reg = data;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_clear_DBGCTRL_reg(const void *const hw, hri_sercomusart_dbgctrl_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.DBGCTRL.reg &= ~mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomusart_toggle_DBGCTRL_reg(const void *const hw, hri_sercomusart_dbgctrl_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.DBGCTRL.reg ^= mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_dbgctrl_reg_t hri_sercomusart_read_DBGCTRL_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->USART.DBGCTRL.reg;
+}
+
+static inline bool hri_sercomi2cs_get_STATUS_BUSERR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_BUSERR) >> SERCOM_I2CS_STATUS_BUSERR_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_STATUS_BUSERR_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_BUSERR;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_STATUS_COLL_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_COLL) >> SERCOM_I2CS_STATUS_COLL_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_STATUS_COLL_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_COLL;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_STATUS_RXNACK_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_RXNACK) >> SERCOM_I2CS_STATUS_RXNACK_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_STATUS_RXNACK_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_RXNACK;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_STATUS_DIR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_DIR) >> SERCOM_I2CS_STATUS_DIR_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_STATUS_DIR_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_DIR;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_STATUS_SR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_SR) >> SERCOM_I2CS_STATUS_SR_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_STATUS_SR_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_SR;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_STATUS_LOWTOUT_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_LOWTOUT) >> SERCOM_I2CS_STATUS_LOWTOUT_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_STATUS_LOWTOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_LOWTOUT;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_STATUS_CLKHOLD_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_CLKHOLD) >> SERCOM_I2CS_STATUS_CLKHOLD_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_STATUS_CLKHOLD_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_CLKHOLD;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_STATUS_SEXTTOUT_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_SEXTTOUT) >> SERCOM_I2CS_STATUS_SEXTTOUT_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_STATUS_SEXTTOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_SEXTTOUT;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_STATUS_HS_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_HS) >> SERCOM_I2CS_STATUS_HS_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_STATUS_HS_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_HS;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cs_get_STATUS_LENERR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CS.STATUS.reg & SERCOM_I2CS_STATUS_LENERR) >> SERCOM_I2CS_STATUS_LENERR_Pos;
+}
+
+static inline void hri_sercomi2cs_clear_STATUS_LENERR_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.STATUS.reg = SERCOM_I2CS_STATUS_LENERR;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_status_reg_t hri_sercomi2cs_get_STATUS_reg(const void *const hw,
+ hri_sercomi2cs_status_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->I2CS.STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomi2cs_clear_STATUS_reg(const void *const hw, hri_sercomi2cs_status_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CS.STATUS.reg = mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cs_status_reg_t hri_sercomi2cs_read_STATUS_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->I2CS.STATUS.reg;
+}
+
+static inline bool hri_sercomspi_get_STATUS_BUFOVF_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.STATUS.reg & SERCOM_SPI_STATUS_BUFOVF) >> SERCOM_SPI_STATUS_BUFOVF_Pos;
+}
+
+static inline void hri_sercomspi_clear_STATUS_BUFOVF_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.STATUS.reg = SERCOM_SPI_STATUS_BUFOVF;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomspi_get_STATUS_LENERR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->SPI.STATUS.reg & SERCOM_SPI_STATUS_LENERR) >> SERCOM_SPI_STATUS_LENERR_Pos;
+}
+
+static inline void hri_sercomspi_clear_STATUS_LENERR_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.STATUS.reg = SERCOM_SPI_STATUS_LENERR;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_status_reg_t hri_sercomspi_get_STATUS_reg(const void *const hw,
+ hri_sercomspi_status_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->SPI.STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomspi_clear_STATUS_reg(const void *const hw, hri_sercomspi_status_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->SPI.STATUS.reg = mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomspi_status_reg_t hri_sercomspi_read_STATUS_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->SPI.STATUS.reg;
+}
+
+static inline bool hri_sercomusart_get_STATUS_PERR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_PERR) >> SERCOM_USART_STATUS_PERR_Pos;
+}
+
+static inline void hri_sercomusart_clear_STATUS_PERR_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_PERR;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_STATUS_FERR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_FERR) >> SERCOM_USART_STATUS_FERR_Pos;
+}
+
+static inline void hri_sercomusart_clear_STATUS_FERR_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_FERR;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_STATUS_BUFOVF_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_BUFOVF) >> SERCOM_USART_STATUS_BUFOVF_Pos;
+}
+
+static inline void hri_sercomusart_clear_STATUS_BUFOVF_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_BUFOVF;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_STATUS_CTS_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_CTS) >> SERCOM_USART_STATUS_CTS_Pos;
+}
+
+static inline void hri_sercomusart_clear_STATUS_CTS_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_CTS;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_STATUS_ISF_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_ISF) >> SERCOM_USART_STATUS_ISF_Pos;
+}
+
+static inline void hri_sercomusart_clear_STATUS_ISF_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_ISF;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_STATUS_COLL_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_COLL) >> SERCOM_USART_STATUS_COLL_Pos;
+}
+
+static inline void hri_sercomusart_clear_STATUS_COLL_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_COLL;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_STATUS_TXE_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_TXE) >> SERCOM_USART_STATUS_TXE_Pos;
+}
+
+static inline void hri_sercomusart_clear_STATUS_TXE_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_TXE;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomusart_get_STATUS_ITER_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->USART.STATUS.reg & SERCOM_USART_STATUS_ITER) >> SERCOM_USART_STATUS_ITER_Pos;
+}
+
+static inline void hri_sercomusart_clear_STATUS_ITER_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.STATUS.reg = SERCOM_USART_STATUS_ITER;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_status_reg_t hri_sercomusart_get_STATUS_reg(const void *const hw,
+ hri_sercomusart_status_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Sercom *)hw)->USART.STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomusart_clear_STATUS_reg(const void *const hw, hri_sercomusart_status_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->USART.STATUS.reg = mask;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomusart_status_reg_t hri_sercomusart_read_STATUS_reg(const void *const hw)
+{
+ return ((Sercom *)hw)->USART.STATUS.reg;
+}
+
+static inline void hri_sercomi2cm_set_STATUS_BUSERR_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_BUSERR;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_STATUS_BUSERR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_BUSERR) >> SERCOM_I2CM_STATUS_BUSERR_Pos;
+}
+
+static inline void hri_sercomi2cm_write_STATUS_BUSERR_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.STATUS.reg;
+ tmp &= ~SERCOM_I2CM_STATUS_BUSERR;
+ tmp |= value << SERCOM_I2CM_STATUS_BUSERR_Pos;
+ ((Sercom *)hw)->I2CM.STATUS.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_STATUS_BUSERR_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_BUSERR;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_STATUS_BUSERR_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_BUSERR;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_STATUS_ARBLOST_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_ARBLOST;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_STATUS_ARBLOST_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_ARBLOST) >> SERCOM_I2CM_STATUS_ARBLOST_Pos;
+}
+
+static inline void hri_sercomi2cm_write_STATUS_ARBLOST_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.STATUS.reg;
+ tmp &= ~SERCOM_I2CM_STATUS_ARBLOST;
+ tmp |= value << SERCOM_I2CM_STATUS_ARBLOST_Pos;
+ ((Sercom *)hw)->I2CM.STATUS.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_STATUS_ARBLOST_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_ARBLOST;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_STATUS_ARBLOST_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_ARBLOST;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_STATUS_RXNACK_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_RXNACK;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_STATUS_RXNACK_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_RXNACK) >> SERCOM_I2CM_STATUS_RXNACK_Pos;
+}
+
+static inline void hri_sercomi2cm_write_STATUS_RXNACK_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.STATUS.reg;
+ tmp &= ~SERCOM_I2CM_STATUS_RXNACK;
+ tmp |= value << SERCOM_I2CM_STATUS_RXNACK_Pos;
+ ((Sercom *)hw)->I2CM.STATUS.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_STATUS_RXNACK_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_RXNACK;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_STATUS_RXNACK_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_RXNACK;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_STATUS_LOWTOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_LOWTOUT;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_STATUS_LOWTOUT_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_LOWTOUT) >> SERCOM_I2CM_STATUS_LOWTOUT_Pos;
+}
+
+static inline void hri_sercomi2cm_write_STATUS_LOWTOUT_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.STATUS.reg;
+ tmp &= ~SERCOM_I2CM_STATUS_LOWTOUT;
+ tmp |= value << SERCOM_I2CM_STATUS_LOWTOUT_Pos;
+ ((Sercom *)hw)->I2CM.STATUS.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_STATUS_LOWTOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_LOWTOUT;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_STATUS_LOWTOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_LOWTOUT;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_STATUS_CLKHOLD_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_CLKHOLD;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_STATUS_CLKHOLD_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_CLKHOLD) >> SERCOM_I2CM_STATUS_CLKHOLD_Pos;
+}
+
+static inline void hri_sercomi2cm_write_STATUS_CLKHOLD_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.STATUS.reg;
+ tmp &= ~SERCOM_I2CM_STATUS_CLKHOLD;
+ tmp |= value << SERCOM_I2CM_STATUS_CLKHOLD_Pos;
+ ((Sercom *)hw)->I2CM.STATUS.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_STATUS_CLKHOLD_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_CLKHOLD;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_STATUS_CLKHOLD_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_CLKHOLD;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_STATUS_MEXTTOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_MEXTTOUT;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_STATUS_MEXTTOUT_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_MEXTTOUT) >> SERCOM_I2CM_STATUS_MEXTTOUT_Pos;
+}
+
+static inline void hri_sercomi2cm_write_STATUS_MEXTTOUT_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.STATUS.reg;
+ tmp &= ~SERCOM_I2CM_STATUS_MEXTTOUT;
+ tmp |= value << SERCOM_I2CM_STATUS_MEXTTOUT_Pos;
+ ((Sercom *)hw)->I2CM.STATUS.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_STATUS_MEXTTOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_MEXTTOUT;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_STATUS_MEXTTOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_MEXTTOUT;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_STATUS_SEXTTOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_SEXTTOUT;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_STATUS_SEXTTOUT_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_SEXTTOUT) >> SERCOM_I2CM_STATUS_SEXTTOUT_Pos;
+}
+
+static inline void hri_sercomi2cm_write_STATUS_SEXTTOUT_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.STATUS.reg;
+ tmp &= ~SERCOM_I2CM_STATUS_SEXTTOUT;
+ tmp |= value << SERCOM_I2CM_STATUS_SEXTTOUT_Pos;
+ ((Sercom *)hw)->I2CM.STATUS.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_STATUS_SEXTTOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_SEXTTOUT;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_STATUS_SEXTTOUT_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_SEXTTOUT;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_set_STATUS_LENERR_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_LENERR;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_sercomi2cm_get_STATUS_LENERR_bit(const void *const hw)
+{
+ return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_LENERR) >> SERCOM_I2CM_STATUS_LENERR_Pos;
+}
+
+static inline void hri_sercomi2cm_write_STATUS_LENERR_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.STATUS.reg;
+ tmp &= ~SERCOM_I2CM_STATUS_LENERR;
+ tmp |= value << SERCOM_I2CM_STATUS_LENERR_Pos;
+ ((Sercom *)hw)->I2CM.STATUS.reg = tmp;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_STATUS_LENERR_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_LENERR;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_STATUS_LENERR_bit(const void *const hw)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_LENERR;
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_status_reg_t hri_sercomi2cm_get_STATUS_BUSSTATE_bf(const void *const hw,
+ hri_sercomi2cm_status_reg_t mask)
+{
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_BUSSTATE(mask)) >> SERCOM_I2CM_STATUS_BUSSTATE_Pos;
+}
+
+static inline void hri_sercomi2cm_set_STATUS_BUSSTATE_bf(const void *const hw, hri_sercomi2cm_status_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg |= SERCOM_I2CM_STATUS_BUSSTATE(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_status_reg_t hri_sercomi2cm_read_STATUS_BUSSTATE_bf(const void *const hw)
+{
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ return (((Sercom *)hw)->I2CM.STATUS.reg & SERCOM_I2CM_STATUS_BUSSTATE_Msk) >> SERCOM_I2CM_STATUS_BUSSTATE_Pos;
+}
+
+static inline void hri_sercomi2cm_write_STATUS_BUSSTATE_bf(const void *const hw, hri_sercomi2cm_status_reg_t data)
+{
+ uint16_t tmp;
+ SERCOM_CRITICAL_SECTION_ENTER();
+ tmp = ((Sercom *)hw)->I2CM.STATUS.reg;
+ tmp &= ~SERCOM_I2CM_STATUS_BUSSTATE_Msk;
+ tmp |= SERCOM_I2CM_STATUS_BUSSTATE(data);
+ ((Sercom *)hw)->I2CM.STATUS.reg = tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_toggle_STATUS_BUSSTATE_bf(const void *const hw, hri_sercomi2cm_status_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg ^= SERCOM_I2CM_STATUS_BUSSTATE(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_sercomi2cm_clear_STATUS_BUSSTATE_bf(const void *const hw, hri_sercomi2cm_status_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg = SERCOM_I2CM_STATUS_BUSSTATE(mask);
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_sercomi2cm_status_reg_t hri_sercomi2cm_get_STATUS_reg(const void *const hw,
+ hri_sercomi2cm_status_reg_t mask)
+{
+ uint16_t tmp;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ tmp = ((Sercom *)hw)->I2CM.STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_sercomi2cm_set_STATUS_reg(const void *const hw, hri_sercomi2cm_status_reg_t mask)
+{
+ ((Sercom *)hw)->I2CM.STATUS.reg |= mask;
+}
+
+static inline hri_sercomi2cm_status_reg_t hri_sercomi2cm_read_STATUS_reg(const void *const hw)
+{
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ return ((Sercom *)hw)->I2CM.STATUS.reg;
+}
+
+static inline void hri_sercomi2cm_write_STATUS_reg(const void *const hw, hri_sercomi2cm_status_reg_t data)
+{
+ ((Sercom *)hw)->I2CM.STATUS.reg = data;
+}
+
+static inline void hri_sercomi2cm_toggle_STATUS_reg(const void *const hw, hri_sercomi2cm_status_reg_t mask)
+{
+ ((Sercom *)hw)->I2CM.STATUS.reg ^= mask;
+}
+
+static inline void hri_sercomi2cm_clear_STATUS_reg(const void *const hw, hri_sercomi2cm_status_reg_t mask)
+{
+ SERCOM_CRITICAL_SECTION_ENTER();
+ ((Sercom *)hw)->I2CM.STATUS.reg = mask;
+ hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP);
+ SERCOM_CRITICAL_SECTION_LEAVE();
+}
+
+/* Below section is for legacy hri apis name, not recommended to use below left side apis in application */
+#define hri_sercomusart_set_BAUD_FRAC_reg(a, b) hri_sercomusart_set_BAUD_reg(a, b)
+#define hri_sercomusart_get_BAUD_FRAC_reg(a, b) hri_sercomusart_get_BAUD_reg(a, b)
+#define hri_sercomusart_write_BAUD_FRAC_reg(a, b) hri_sercomusart_write_BAUD_reg(a, b)
+#define hri_sercomusart_clear_BAUD_FRAC_reg(a, b) hri_sercomusart_clear_BAUD_reg(a, b)
+#define hri_sercomusart_toggle_BAUD_FRAC_reg(a, b) hri_sercomusart_toggle_BAUD_reg(a, b)
+#define hri_sercomusart_read_BAUD_FRAC_reg(a) hri_sercomusart_read_BAUD_reg(a)
+#define hri_sercomusart_set_BAUD_FRACFP_reg(a, b) hri_sercomusart_set_BAUD_reg(a, b)
+#define hri_sercomusart_get_BAUD_FRACFP_reg(a, b) hri_sercomusart_get_BAUD_reg(a, b)
+#define hri_sercomusart_write_BAUD_FRACFP_reg(a, b) hri_sercomusart_write_BAUD_reg(a, b)
+#define hri_sercomusart_clear_BAUD_FRACFP_reg(a, b) hri_sercomusart_clear_BAUD_reg(a, b)
+#define hri_sercomusart_toggle_BAUD_FRACFP_reg(a, b) hri_sercomusart_toggle_BAUD_reg(a, b)
+#define hri_sercomusart_read_BAUD_FRACFP_reg(a) hri_sercomusart_read_BAUD_reg(a)
+#define hri_sercomusart_set_BAUD_USARTFP_reg(a, b) hri_sercomusart_set_BAUD_reg(a, b)
+#define hri_sercomusart_get_BAUD_USARTFP_reg(a, b) hri_sercomusart_get_BAUD_reg(a, b)
+#define hri_sercomusart_write_BAUD_USARTFP_reg(a, b) hri_sercomusart_write_BAUD_reg(a, b)
+#define hri_sercomusart_clear_BAUD_USARTFP_reg(a, b) hri_sercomusart_clear_BAUD_reg(a, b)
+#define hri_sercomusart_toggle_BAUD_USARTFP_reg(a, b) hri_sercomusart_toggle_BAUD_reg(a, b)
+#define hri_sercomusart_read_BAUD_USARTFP_reg(a) hri_sercomusart_read_BAUD_reg(a)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_SERCOM_E54_H_INCLUDED */
+#endif /* _SAME54_SERCOM_COMPONENT_ */
diff --git a/hri/hri_supc_e54.h b/hri/hri_supc_e54.h
new file mode 100644
index 0000000..3f38d15
--- /dev/null
+++ b/hri/hri_supc_e54.h
@@ -0,0 +1,2302 @@
+/**
+ * \file
+ *
+ * \brief SAM SUPC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_SUPC_COMPONENT_
+#ifndef _HRI_SUPC_E54_H_INCLUDED_
+#define _HRI_SUPC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_SUPC_CRITICAL_SECTIONS)
+#define SUPC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define SUPC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define SUPC_CRITICAL_SECTION_ENTER()
+#define SUPC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_supc_bbps_reg_t;
+typedef uint32_t hri_supc_bkin_reg_t;
+typedef uint32_t hri_supc_bkout_reg_t;
+typedef uint32_t hri_supc_bod12_reg_t;
+typedef uint32_t hri_supc_bod33_reg_t;
+typedef uint32_t hri_supc_intenset_reg_t;
+typedef uint32_t hri_supc_intflag_reg_t;
+typedef uint32_t hri_supc_status_reg_t;
+typedef uint32_t hri_supc_vref_reg_t;
+typedef uint32_t hri_supc_vreg_reg_t;
+
+static inline bool hri_supc_get_INTFLAG_BOD33RDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_BOD33RDY) >> SUPC_INTFLAG_BOD33RDY_Pos;
+}
+
+static inline void hri_supc_clear_INTFLAG_BOD33RDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_BOD33RDY;
+}
+
+static inline bool hri_supc_get_INTFLAG_BOD33DET_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_BOD33DET) >> SUPC_INTFLAG_BOD33DET_Pos;
+}
+
+static inline void hri_supc_clear_INTFLAG_BOD33DET_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_BOD33DET;
+}
+
+static inline bool hri_supc_get_INTFLAG_B33SRDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_B33SRDY) >> SUPC_INTFLAG_B33SRDY_Pos;
+}
+
+static inline void hri_supc_clear_INTFLAG_B33SRDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_B33SRDY;
+}
+
+static inline bool hri_supc_get_INTFLAG_BOD12RDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_BOD12RDY) >> SUPC_INTFLAG_BOD12RDY_Pos;
+}
+
+static inline void hri_supc_clear_INTFLAG_BOD12RDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_BOD12RDY;
+}
+
+static inline bool hri_supc_get_INTFLAG_BOD12DET_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_BOD12DET) >> SUPC_INTFLAG_BOD12DET_Pos;
+}
+
+static inline void hri_supc_clear_INTFLAG_BOD12DET_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_BOD12DET;
+}
+
+static inline bool hri_supc_get_INTFLAG_B12SRDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_B12SRDY) >> SUPC_INTFLAG_B12SRDY_Pos;
+}
+
+static inline void hri_supc_clear_INTFLAG_B12SRDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_B12SRDY;
+}
+
+static inline bool hri_supc_get_INTFLAG_VREGRDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_VREGRDY) >> SUPC_INTFLAG_VREGRDY_Pos;
+}
+
+static inline void hri_supc_clear_INTFLAG_VREGRDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_VREGRDY;
+}
+
+static inline bool hri_supc_get_INTFLAG_VCORERDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_VCORERDY) >> SUPC_INTFLAG_VCORERDY_Pos;
+}
+
+static inline void hri_supc_clear_INTFLAG_VCORERDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_VCORERDY;
+}
+
+static inline bool hri_supc_get_interrupt_BOD33RDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_BOD33RDY) >> SUPC_INTFLAG_BOD33RDY_Pos;
+}
+
+static inline void hri_supc_clear_interrupt_BOD33RDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_BOD33RDY;
+}
+
+static inline bool hri_supc_get_interrupt_BOD33DET_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_BOD33DET) >> SUPC_INTFLAG_BOD33DET_Pos;
+}
+
+static inline void hri_supc_clear_interrupt_BOD33DET_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_BOD33DET;
+}
+
+static inline bool hri_supc_get_interrupt_B33SRDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_B33SRDY) >> SUPC_INTFLAG_B33SRDY_Pos;
+}
+
+static inline void hri_supc_clear_interrupt_B33SRDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_B33SRDY;
+}
+
+static inline bool hri_supc_get_interrupt_BOD12RDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_BOD12RDY) >> SUPC_INTFLAG_BOD12RDY_Pos;
+}
+
+static inline void hri_supc_clear_interrupt_BOD12RDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_BOD12RDY;
+}
+
+static inline bool hri_supc_get_interrupt_BOD12DET_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_BOD12DET) >> SUPC_INTFLAG_BOD12DET_Pos;
+}
+
+static inline void hri_supc_clear_interrupt_BOD12DET_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_BOD12DET;
+}
+
+static inline bool hri_supc_get_interrupt_B12SRDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_B12SRDY) >> SUPC_INTFLAG_B12SRDY_Pos;
+}
+
+static inline void hri_supc_clear_interrupt_B12SRDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_B12SRDY;
+}
+
+static inline bool hri_supc_get_interrupt_VREGRDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_VREGRDY) >> SUPC_INTFLAG_VREGRDY_Pos;
+}
+
+static inline void hri_supc_clear_interrupt_VREGRDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_VREGRDY;
+}
+
+static inline bool hri_supc_get_interrupt_VCORERDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTFLAG.reg & SUPC_INTFLAG_VCORERDY) >> SUPC_INTFLAG_VCORERDY_Pos;
+}
+
+static inline void hri_supc_clear_interrupt_VCORERDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTFLAG.reg = SUPC_INTFLAG_VCORERDY;
+}
+
+static inline hri_supc_intflag_reg_t hri_supc_get_INTFLAG_reg(const void *const hw, hri_supc_intflag_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_supc_intflag_reg_t hri_supc_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Supc *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_supc_clear_INTFLAG_reg(const void *const hw, hri_supc_intflag_reg_t mask)
+{
+ ((Supc *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_supc_set_INTEN_BOD33RDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_BOD33RDY;
+}
+
+static inline bool hri_supc_get_INTEN_BOD33RDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTENSET.reg & SUPC_INTENSET_BOD33RDY) >> SUPC_INTENSET_BOD33RDY_Pos;
+}
+
+static inline void hri_supc_write_INTEN_BOD33RDY_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_BOD33RDY;
+ } else {
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_BOD33RDY;
+ }
+}
+
+static inline void hri_supc_clear_INTEN_BOD33RDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_BOD33RDY;
+}
+
+static inline void hri_supc_set_INTEN_BOD33DET_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_BOD33DET;
+}
+
+static inline bool hri_supc_get_INTEN_BOD33DET_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTENSET.reg & SUPC_INTENSET_BOD33DET) >> SUPC_INTENSET_BOD33DET_Pos;
+}
+
+static inline void hri_supc_write_INTEN_BOD33DET_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_BOD33DET;
+ } else {
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_BOD33DET;
+ }
+}
+
+static inline void hri_supc_clear_INTEN_BOD33DET_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_BOD33DET;
+}
+
+static inline void hri_supc_set_INTEN_B33SRDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_B33SRDY;
+}
+
+static inline bool hri_supc_get_INTEN_B33SRDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTENSET.reg & SUPC_INTENSET_B33SRDY) >> SUPC_INTENSET_B33SRDY_Pos;
+}
+
+static inline void hri_supc_write_INTEN_B33SRDY_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_B33SRDY;
+ } else {
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_B33SRDY;
+ }
+}
+
+static inline void hri_supc_clear_INTEN_B33SRDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_B33SRDY;
+}
+
+static inline void hri_supc_set_INTEN_BOD12RDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_BOD12RDY;
+}
+
+static inline bool hri_supc_get_INTEN_BOD12RDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTENSET.reg & SUPC_INTENSET_BOD12RDY) >> SUPC_INTENSET_BOD12RDY_Pos;
+}
+
+static inline void hri_supc_write_INTEN_BOD12RDY_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_BOD12RDY;
+ } else {
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_BOD12RDY;
+ }
+}
+
+static inline void hri_supc_clear_INTEN_BOD12RDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_BOD12RDY;
+}
+
+static inline void hri_supc_set_INTEN_BOD12DET_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_BOD12DET;
+}
+
+static inline bool hri_supc_get_INTEN_BOD12DET_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTENSET.reg & SUPC_INTENSET_BOD12DET) >> SUPC_INTENSET_BOD12DET_Pos;
+}
+
+static inline void hri_supc_write_INTEN_BOD12DET_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_BOD12DET;
+ } else {
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_BOD12DET;
+ }
+}
+
+static inline void hri_supc_clear_INTEN_BOD12DET_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_BOD12DET;
+}
+
+static inline void hri_supc_set_INTEN_B12SRDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_B12SRDY;
+}
+
+static inline bool hri_supc_get_INTEN_B12SRDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTENSET.reg & SUPC_INTENSET_B12SRDY) >> SUPC_INTENSET_B12SRDY_Pos;
+}
+
+static inline void hri_supc_write_INTEN_B12SRDY_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_B12SRDY;
+ } else {
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_B12SRDY;
+ }
+}
+
+static inline void hri_supc_clear_INTEN_B12SRDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_B12SRDY;
+}
+
+static inline void hri_supc_set_INTEN_VREGRDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_VREGRDY;
+}
+
+static inline bool hri_supc_get_INTEN_VREGRDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTENSET.reg & SUPC_INTENSET_VREGRDY) >> SUPC_INTENSET_VREGRDY_Pos;
+}
+
+static inline void hri_supc_write_INTEN_VREGRDY_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_VREGRDY;
+ } else {
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_VREGRDY;
+ }
+}
+
+static inline void hri_supc_clear_INTEN_VREGRDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_VREGRDY;
+}
+
+static inline void hri_supc_set_INTEN_VCORERDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_VCORERDY;
+}
+
+static inline bool hri_supc_get_INTEN_VCORERDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->INTENSET.reg & SUPC_INTENSET_VCORERDY) >> SUPC_INTENSET_VCORERDY_Pos;
+}
+
+static inline void hri_supc_write_INTEN_VCORERDY_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_VCORERDY;
+ } else {
+ ((Supc *)hw)->INTENSET.reg = SUPC_INTENSET_VCORERDY;
+ }
+}
+
+static inline void hri_supc_clear_INTEN_VCORERDY_bit(const void *const hw)
+{
+ ((Supc *)hw)->INTENCLR.reg = SUPC_INTENSET_VCORERDY;
+}
+
+static inline void hri_supc_set_INTEN_reg(const void *const hw, hri_supc_intenset_reg_t mask)
+{
+ ((Supc *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_supc_intenset_reg_t hri_supc_get_INTEN_reg(const void *const hw, hri_supc_intenset_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_supc_intenset_reg_t hri_supc_read_INTEN_reg(const void *const hw)
+{
+ return ((Supc *)hw)->INTENSET.reg;
+}
+
+static inline void hri_supc_write_INTEN_reg(const void *const hw, hri_supc_intenset_reg_t data)
+{
+ ((Supc *)hw)->INTENSET.reg = data;
+ ((Supc *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_supc_clear_INTEN_reg(const void *const hw, hri_supc_intenset_reg_t mask)
+{
+ ((Supc *)hw)->INTENCLR.reg = mask;
+}
+
+static inline bool hri_supc_get_STATUS_BOD33RDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->STATUS.reg & SUPC_STATUS_BOD33RDY) >> SUPC_STATUS_BOD33RDY_Pos;
+}
+
+static inline bool hri_supc_get_STATUS_BOD33DET_bit(const void *const hw)
+{
+ return (((Supc *)hw)->STATUS.reg & SUPC_STATUS_BOD33DET) >> SUPC_STATUS_BOD33DET_Pos;
+}
+
+static inline bool hri_supc_get_STATUS_B33SRDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->STATUS.reg & SUPC_STATUS_B33SRDY) >> SUPC_STATUS_B33SRDY_Pos;
+}
+
+static inline bool hri_supc_get_STATUS_BOD12RDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->STATUS.reg & SUPC_STATUS_BOD12RDY) >> SUPC_STATUS_BOD12RDY_Pos;
+}
+
+static inline bool hri_supc_get_STATUS_BOD12DET_bit(const void *const hw)
+{
+ return (((Supc *)hw)->STATUS.reg & SUPC_STATUS_BOD12DET) >> SUPC_STATUS_BOD12DET_Pos;
+}
+
+static inline bool hri_supc_get_STATUS_B12SRDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->STATUS.reg & SUPC_STATUS_B12SRDY) >> SUPC_STATUS_B12SRDY_Pos;
+}
+
+static inline bool hri_supc_get_STATUS_VREGRDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->STATUS.reg & SUPC_STATUS_VREGRDY) >> SUPC_STATUS_VREGRDY_Pos;
+}
+
+static inline bool hri_supc_get_STATUS_VCORERDY_bit(const void *const hw)
+{
+ return (((Supc *)hw)->STATUS.reg & SUPC_STATUS_VCORERDY) >> SUPC_STATUS_VCORERDY_Pos;
+}
+
+static inline hri_supc_status_reg_t hri_supc_get_STATUS_reg(const void *const hw, hri_supc_status_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_supc_status_reg_t hri_supc_read_STATUS_reg(const void *const hw)
+{
+ return ((Supc *)hw)->STATUS.reg;
+}
+
+static inline hri_supc_bkin_reg_t hri_supc_get_BKIN_BKIN_bf(const void *const hw, hri_supc_bkin_reg_t mask)
+{
+ return (((Supc *)hw)->BKIN.reg & SUPC_BKIN_BKIN(mask)) >> SUPC_BKIN_BKIN_Pos;
+}
+
+static inline hri_supc_bkin_reg_t hri_supc_read_BKIN_BKIN_bf(const void *const hw)
+{
+ return (((Supc *)hw)->BKIN.reg & SUPC_BKIN_BKIN_Msk) >> SUPC_BKIN_BKIN_Pos;
+}
+
+static inline hri_supc_bkin_reg_t hri_supc_get_BKIN_reg(const void *const hw, hri_supc_bkin_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BKIN.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_supc_bkin_reg_t hri_supc_read_BKIN_reg(const void *const hw)
+{
+ return ((Supc *)hw)->BKIN.reg;
+}
+
+static inline void hri_supc_set_BOD33_ENABLE_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_ENABLE;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_BOD33_ENABLE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp = (tmp & SUPC_BOD33_ENABLE) >> SUPC_BOD33_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_BOD33_ENABLE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp &= ~SUPC_BOD33_ENABLE;
+ tmp |= value << SUPC_BOD33_ENABLE_Pos;
+ ((Supc *)hw)->BOD33.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD33_ENABLE_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_ENABLE;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD33_ENABLE_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_ENABLE;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_BOD33_STDBYCFG_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_STDBYCFG;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_BOD33_STDBYCFG_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp = (tmp & SUPC_BOD33_STDBYCFG) >> SUPC_BOD33_STDBYCFG_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_BOD33_STDBYCFG_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp &= ~SUPC_BOD33_STDBYCFG;
+ tmp |= value << SUPC_BOD33_STDBYCFG_Pos;
+ ((Supc *)hw)->BOD33.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD33_STDBYCFG_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_STDBYCFG;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD33_STDBYCFG_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_STDBYCFG;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_BOD33_RUNSTDBY_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_RUNSTDBY;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_BOD33_RUNSTDBY_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp = (tmp & SUPC_BOD33_RUNSTDBY) >> SUPC_BOD33_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_BOD33_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp &= ~SUPC_BOD33_RUNSTDBY;
+ tmp |= value << SUPC_BOD33_RUNSTDBY_Pos;
+ ((Supc *)hw)->BOD33.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD33_RUNSTDBY_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_RUNSTDBY;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD33_RUNSTDBY_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_RUNSTDBY;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_BOD33_RUNHIB_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_RUNHIB;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_BOD33_RUNHIB_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp = (tmp & SUPC_BOD33_RUNHIB) >> SUPC_BOD33_RUNHIB_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_BOD33_RUNHIB_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp &= ~SUPC_BOD33_RUNHIB;
+ tmp |= value << SUPC_BOD33_RUNHIB_Pos;
+ ((Supc *)hw)->BOD33.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD33_RUNHIB_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_RUNHIB;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD33_RUNHIB_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_RUNHIB;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_BOD33_RUNBKUP_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_RUNBKUP;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_BOD33_RUNBKUP_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp = (tmp & SUPC_BOD33_RUNBKUP) >> SUPC_BOD33_RUNBKUP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_BOD33_RUNBKUP_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp &= ~SUPC_BOD33_RUNBKUP;
+ tmp |= value << SUPC_BOD33_RUNBKUP_Pos;
+ ((Supc *)hw)->BOD33.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD33_RUNBKUP_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_RUNBKUP;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD33_RUNBKUP_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_RUNBKUP;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_BOD33_ACTION_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_ACTION(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod33_reg_t hri_supc_get_BOD33_ACTION_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp = (tmp & SUPC_BOD33_ACTION(mask)) >> SUPC_BOD33_ACTION_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_write_BOD33_ACTION_bf(const void *const hw, hri_supc_bod33_reg_t data)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp &= ~SUPC_BOD33_ACTION_Msk;
+ tmp |= SUPC_BOD33_ACTION(data);
+ ((Supc *)hw)->BOD33.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD33_ACTION_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_ACTION(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD33_ACTION_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_ACTION(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod33_reg_t hri_supc_read_BOD33_ACTION_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp = (tmp & SUPC_BOD33_ACTION_Msk) >> SUPC_BOD33_ACTION_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_set_BOD33_HYST_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_HYST(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod33_reg_t hri_supc_get_BOD33_HYST_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp = (tmp & SUPC_BOD33_HYST(mask)) >> SUPC_BOD33_HYST_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_write_BOD33_HYST_bf(const void *const hw, hri_supc_bod33_reg_t data)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp &= ~SUPC_BOD33_HYST_Msk;
+ tmp |= SUPC_BOD33_HYST(data);
+ ((Supc *)hw)->BOD33.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD33_HYST_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_HYST(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD33_HYST_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_HYST(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod33_reg_t hri_supc_read_BOD33_HYST_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp = (tmp & SUPC_BOD33_HYST_Msk) >> SUPC_BOD33_HYST_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_set_BOD33_PSEL_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_PSEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod33_reg_t hri_supc_get_BOD33_PSEL_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp = (tmp & SUPC_BOD33_PSEL(mask)) >> SUPC_BOD33_PSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_write_BOD33_PSEL_bf(const void *const hw, hri_supc_bod33_reg_t data)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp &= ~SUPC_BOD33_PSEL_Msk;
+ tmp |= SUPC_BOD33_PSEL(data);
+ ((Supc *)hw)->BOD33.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD33_PSEL_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_PSEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD33_PSEL_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_PSEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod33_reg_t hri_supc_read_BOD33_PSEL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp = (tmp & SUPC_BOD33_PSEL_Msk) >> SUPC_BOD33_PSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_set_BOD33_LEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_LEVEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod33_reg_t hri_supc_get_BOD33_LEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp = (tmp & SUPC_BOD33_LEVEL(mask)) >> SUPC_BOD33_LEVEL_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_write_BOD33_LEVEL_bf(const void *const hw, hri_supc_bod33_reg_t data)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp &= ~SUPC_BOD33_LEVEL_Msk;
+ tmp |= SUPC_BOD33_LEVEL(data);
+ ((Supc *)hw)->BOD33.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD33_LEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_LEVEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD33_LEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_LEVEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod33_reg_t hri_supc_read_BOD33_LEVEL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp = (tmp & SUPC_BOD33_LEVEL_Msk) >> SUPC_BOD33_LEVEL_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_set_BOD33_VBATLEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg |= SUPC_BOD33_VBATLEVEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod33_reg_t hri_supc_get_BOD33_VBATLEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp = (tmp & SUPC_BOD33_VBATLEVEL(mask)) >> SUPC_BOD33_VBATLEVEL_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_write_BOD33_VBATLEVEL_bf(const void *const hw, hri_supc_bod33_reg_t data)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp &= ~SUPC_BOD33_VBATLEVEL_Msk;
+ tmp |= SUPC_BOD33_VBATLEVEL(data);
+ ((Supc *)hw)->BOD33.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD33_VBATLEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg &= ~SUPC_BOD33_VBATLEVEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD33_VBATLEVEL_bf(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg ^= SUPC_BOD33_VBATLEVEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod33_reg_t hri_supc_read_BOD33_VBATLEVEL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp = (tmp & SUPC_BOD33_VBATLEVEL_Msk) >> SUPC_BOD33_VBATLEVEL_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_set_BOD33_reg(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg |= mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod33_reg_t hri_supc_get_BOD33_reg(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD33.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_supc_write_BOD33_reg(const void *const hw, hri_supc_bod33_reg_t data)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg = data;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD33_reg(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg &= ~mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD33_reg(const void *const hw, hri_supc_bod33_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD33.reg ^= mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod33_reg_t hri_supc_read_BOD33_reg(const void *const hw)
+{
+ return ((Supc *)hw)->BOD33.reg;
+}
+
+static inline void hri_supc_set_BOD12_ENABLE_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg |= SUPC_BOD12_ENABLE;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_BOD12_ENABLE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp = (tmp & SUPC_BOD12_ENABLE) >> SUPC_BOD12_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_BOD12_ENABLE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp &= ~SUPC_BOD12_ENABLE;
+ tmp |= value << SUPC_BOD12_ENABLE_Pos;
+ ((Supc *)hw)->BOD12.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD12_ENABLE_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg &= ~SUPC_BOD12_ENABLE;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD12_ENABLE_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg ^= SUPC_BOD12_ENABLE;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_BOD12_HYST_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg |= SUPC_BOD12_HYST;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_BOD12_HYST_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp = (tmp & SUPC_BOD12_HYST) >> SUPC_BOD12_HYST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_BOD12_HYST_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp &= ~SUPC_BOD12_HYST;
+ tmp |= value << SUPC_BOD12_HYST_Pos;
+ ((Supc *)hw)->BOD12.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD12_HYST_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg &= ~SUPC_BOD12_HYST;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD12_HYST_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg ^= SUPC_BOD12_HYST;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_BOD12_STDBYCFG_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg |= SUPC_BOD12_STDBYCFG;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_BOD12_STDBYCFG_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp = (tmp & SUPC_BOD12_STDBYCFG) >> SUPC_BOD12_STDBYCFG_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_BOD12_STDBYCFG_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp &= ~SUPC_BOD12_STDBYCFG;
+ tmp |= value << SUPC_BOD12_STDBYCFG_Pos;
+ ((Supc *)hw)->BOD12.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD12_STDBYCFG_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg &= ~SUPC_BOD12_STDBYCFG;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD12_STDBYCFG_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg ^= SUPC_BOD12_STDBYCFG;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_BOD12_RUNSTDBY_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg |= SUPC_BOD12_RUNSTDBY;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_BOD12_RUNSTDBY_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp = (tmp & SUPC_BOD12_RUNSTDBY) >> SUPC_BOD12_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_BOD12_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp &= ~SUPC_BOD12_RUNSTDBY;
+ tmp |= value << SUPC_BOD12_RUNSTDBY_Pos;
+ ((Supc *)hw)->BOD12.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD12_RUNSTDBY_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg &= ~SUPC_BOD12_RUNSTDBY;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD12_RUNSTDBY_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg ^= SUPC_BOD12_RUNSTDBY;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_BOD12_ACTCFG_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg |= SUPC_BOD12_ACTCFG;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_BOD12_ACTCFG_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp = (tmp & SUPC_BOD12_ACTCFG) >> SUPC_BOD12_ACTCFG_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_BOD12_ACTCFG_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp &= ~SUPC_BOD12_ACTCFG;
+ tmp |= value << SUPC_BOD12_ACTCFG_Pos;
+ ((Supc *)hw)->BOD12.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD12_ACTCFG_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg &= ~SUPC_BOD12_ACTCFG;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD12_ACTCFG_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg ^= SUPC_BOD12_ACTCFG;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_BOD12_ACTION_bf(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg |= SUPC_BOD12_ACTION(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod12_reg_t hri_supc_get_BOD12_ACTION_bf(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp = (tmp & SUPC_BOD12_ACTION(mask)) >> SUPC_BOD12_ACTION_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_write_BOD12_ACTION_bf(const void *const hw, hri_supc_bod12_reg_t data)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp &= ~SUPC_BOD12_ACTION_Msk;
+ tmp |= SUPC_BOD12_ACTION(data);
+ ((Supc *)hw)->BOD12.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD12_ACTION_bf(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg &= ~SUPC_BOD12_ACTION(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD12_ACTION_bf(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg ^= SUPC_BOD12_ACTION(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod12_reg_t hri_supc_read_BOD12_ACTION_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp = (tmp & SUPC_BOD12_ACTION_Msk) >> SUPC_BOD12_ACTION_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_set_BOD12_PSEL_bf(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg |= SUPC_BOD12_PSEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod12_reg_t hri_supc_get_BOD12_PSEL_bf(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp = (tmp & SUPC_BOD12_PSEL(mask)) >> SUPC_BOD12_PSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_write_BOD12_PSEL_bf(const void *const hw, hri_supc_bod12_reg_t data)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp &= ~SUPC_BOD12_PSEL_Msk;
+ tmp |= SUPC_BOD12_PSEL(data);
+ ((Supc *)hw)->BOD12.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD12_PSEL_bf(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg &= ~SUPC_BOD12_PSEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD12_PSEL_bf(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg ^= SUPC_BOD12_PSEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod12_reg_t hri_supc_read_BOD12_PSEL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp = (tmp & SUPC_BOD12_PSEL_Msk) >> SUPC_BOD12_PSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_set_BOD12_LEVEL_bf(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg |= SUPC_BOD12_LEVEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod12_reg_t hri_supc_get_BOD12_LEVEL_bf(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp = (tmp & SUPC_BOD12_LEVEL(mask)) >> SUPC_BOD12_LEVEL_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_write_BOD12_LEVEL_bf(const void *const hw, hri_supc_bod12_reg_t data)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp &= ~SUPC_BOD12_LEVEL_Msk;
+ tmp |= SUPC_BOD12_LEVEL(data);
+ ((Supc *)hw)->BOD12.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD12_LEVEL_bf(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg &= ~SUPC_BOD12_LEVEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD12_LEVEL_bf(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg ^= SUPC_BOD12_LEVEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod12_reg_t hri_supc_read_BOD12_LEVEL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp = (tmp & SUPC_BOD12_LEVEL_Msk) >> SUPC_BOD12_LEVEL_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_set_BOD12_reg(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg |= mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod12_reg_t hri_supc_get_BOD12_reg(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BOD12.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_supc_write_BOD12_reg(const void *const hw, hri_supc_bod12_reg_t data)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg = data;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BOD12_reg(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg &= ~mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BOD12_reg(const void *const hw, hri_supc_bod12_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BOD12.reg ^= mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bod12_reg_t hri_supc_read_BOD12_reg(const void *const hw)
+{
+ return ((Supc *)hw)->BOD12.reg;
+}
+
+static inline void hri_supc_set_VREG_ENABLE_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg |= SUPC_VREG_ENABLE;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_VREG_ENABLE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->VREG.reg;
+ tmp = (tmp & SUPC_VREG_ENABLE) >> SUPC_VREG_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_VREG_ENABLE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->VREG.reg;
+ tmp &= ~SUPC_VREG_ENABLE;
+ tmp |= value << SUPC_VREG_ENABLE_Pos;
+ ((Supc *)hw)->VREG.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_VREG_ENABLE_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg &= ~SUPC_VREG_ENABLE;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_VREG_ENABLE_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg ^= SUPC_VREG_ENABLE;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_VREG_SEL_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg |= SUPC_VREG_SEL;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_VREG_SEL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->VREG.reg;
+ tmp = (tmp & SUPC_VREG_SEL) >> SUPC_VREG_SEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_VREG_SEL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->VREG.reg;
+ tmp &= ~SUPC_VREG_SEL;
+ tmp |= value << SUPC_VREG_SEL_Pos;
+ ((Supc *)hw)->VREG.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_VREG_SEL_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg &= ~SUPC_VREG_SEL;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_VREG_SEL_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg ^= SUPC_VREG_SEL;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_VREG_RUNBKUP_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg |= SUPC_VREG_RUNBKUP;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_VREG_RUNBKUP_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->VREG.reg;
+ tmp = (tmp & SUPC_VREG_RUNBKUP) >> SUPC_VREG_RUNBKUP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_VREG_RUNBKUP_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->VREG.reg;
+ tmp &= ~SUPC_VREG_RUNBKUP;
+ tmp |= value << SUPC_VREG_RUNBKUP_Pos;
+ ((Supc *)hw)->VREG.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_VREG_RUNBKUP_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg &= ~SUPC_VREG_RUNBKUP;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_VREG_RUNBKUP_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg ^= SUPC_VREG_RUNBKUP;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_VREG_VSEN_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg |= SUPC_VREG_VSEN;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_VREG_VSEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->VREG.reg;
+ tmp = (tmp & SUPC_VREG_VSEN) >> SUPC_VREG_VSEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_VREG_VSEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->VREG.reg;
+ tmp &= ~SUPC_VREG_VSEN;
+ tmp |= value << SUPC_VREG_VSEN_Pos;
+ ((Supc *)hw)->VREG.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_VREG_VSEN_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg &= ~SUPC_VREG_VSEN;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_VREG_VSEN_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg ^= SUPC_VREG_VSEN;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_VREG_VSPER_bf(const void *const hw, hri_supc_vreg_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg |= SUPC_VREG_VSPER(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_vreg_reg_t hri_supc_get_VREG_VSPER_bf(const void *const hw, hri_supc_vreg_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->VREG.reg;
+ tmp = (tmp & SUPC_VREG_VSPER(mask)) >> SUPC_VREG_VSPER_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_write_VREG_VSPER_bf(const void *const hw, hri_supc_vreg_reg_t data)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->VREG.reg;
+ tmp &= ~SUPC_VREG_VSPER_Msk;
+ tmp |= SUPC_VREG_VSPER(data);
+ ((Supc *)hw)->VREG.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_VREG_VSPER_bf(const void *const hw, hri_supc_vreg_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg &= ~SUPC_VREG_VSPER(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_VREG_VSPER_bf(const void *const hw, hri_supc_vreg_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg ^= SUPC_VREG_VSPER(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_vreg_reg_t hri_supc_read_VREG_VSPER_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->VREG.reg;
+ tmp = (tmp & SUPC_VREG_VSPER_Msk) >> SUPC_VREG_VSPER_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_set_VREG_reg(const void *const hw, hri_supc_vreg_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg |= mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_vreg_reg_t hri_supc_get_VREG_reg(const void *const hw, hri_supc_vreg_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->VREG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_supc_write_VREG_reg(const void *const hw, hri_supc_vreg_reg_t data)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg = data;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_VREG_reg(const void *const hw, hri_supc_vreg_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg &= ~mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_VREG_reg(const void *const hw, hri_supc_vreg_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREG.reg ^= mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_vreg_reg_t hri_supc_read_VREG_reg(const void *const hw)
+{
+ return ((Supc *)hw)->VREG.reg;
+}
+
+static inline void hri_supc_set_VREF_TSEN_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg |= SUPC_VREF_TSEN;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_VREF_TSEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->VREF.reg;
+ tmp = (tmp & SUPC_VREF_TSEN) >> SUPC_VREF_TSEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_VREF_TSEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->VREF.reg;
+ tmp &= ~SUPC_VREF_TSEN;
+ tmp |= value << SUPC_VREF_TSEN_Pos;
+ ((Supc *)hw)->VREF.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_VREF_TSEN_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg &= ~SUPC_VREF_TSEN;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_VREF_TSEN_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg ^= SUPC_VREF_TSEN;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_VREF_VREFOE_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg |= SUPC_VREF_VREFOE;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_VREF_VREFOE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->VREF.reg;
+ tmp = (tmp & SUPC_VREF_VREFOE) >> SUPC_VREF_VREFOE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_VREF_VREFOE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->VREF.reg;
+ tmp &= ~SUPC_VREF_VREFOE;
+ tmp |= value << SUPC_VREF_VREFOE_Pos;
+ ((Supc *)hw)->VREF.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_VREF_VREFOE_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg &= ~SUPC_VREF_VREFOE;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_VREF_VREFOE_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg ^= SUPC_VREF_VREFOE;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_VREF_TSSEL_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg |= SUPC_VREF_TSSEL;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_VREF_TSSEL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->VREF.reg;
+ tmp = (tmp & SUPC_VREF_TSSEL) >> SUPC_VREF_TSSEL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_VREF_TSSEL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->VREF.reg;
+ tmp &= ~SUPC_VREF_TSSEL;
+ tmp |= value << SUPC_VREF_TSSEL_Pos;
+ ((Supc *)hw)->VREF.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_VREF_TSSEL_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg &= ~SUPC_VREF_TSSEL;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_VREF_TSSEL_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg ^= SUPC_VREF_TSSEL;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_VREF_RUNSTDBY_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg |= SUPC_VREF_RUNSTDBY;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_VREF_RUNSTDBY_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->VREF.reg;
+ tmp = (tmp & SUPC_VREF_RUNSTDBY) >> SUPC_VREF_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_VREF_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->VREF.reg;
+ tmp &= ~SUPC_VREF_RUNSTDBY;
+ tmp |= value << SUPC_VREF_RUNSTDBY_Pos;
+ ((Supc *)hw)->VREF.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_VREF_RUNSTDBY_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg &= ~SUPC_VREF_RUNSTDBY;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_VREF_RUNSTDBY_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg ^= SUPC_VREF_RUNSTDBY;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_VREF_ONDEMAND_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg |= SUPC_VREF_ONDEMAND;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_VREF_ONDEMAND_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->VREF.reg;
+ tmp = (tmp & SUPC_VREF_ONDEMAND) >> SUPC_VREF_ONDEMAND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_VREF_ONDEMAND_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->VREF.reg;
+ tmp &= ~SUPC_VREF_ONDEMAND;
+ tmp |= value << SUPC_VREF_ONDEMAND_Pos;
+ ((Supc *)hw)->VREF.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_VREF_ONDEMAND_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg &= ~SUPC_VREF_ONDEMAND;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_VREF_ONDEMAND_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg ^= SUPC_VREF_ONDEMAND;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_VREF_SEL_bf(const void *const hw, hri_supc_vref_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg |= SUPC_VREF_SEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_vref_reg_t hri_supc_get_VREF_SEL_bf(const void *const hw, hri_supc_vref_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->VREF.reg;
+ tmp = (tmp & SUPC_VREF_SEL(mask)) >> SUPC_VREF_SEL_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_write_VREF_SEL_bf(const void *const hw, hri_supc_vref_reg_t data)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->VREF.reg;
+ tmp &= ~SUPC_VREF_SEL_Msk;
+ tmp |= SUPC_VREF_SEL(data);
+ ((Supc *)hw)->VREF.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_VREF_SEL_bf(const void *const hw, hri_supc_vref_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg &= ~SUPC_VREF_SEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_VREF_SEL_bf(const void *const hw, hri_supc_vref_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg ^= SUPC_VREF_SEL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_vref_reg_t hri_supc_read_VREF_SEL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->VREF.reg;
+ tmp = (tmp & SUPC_VREF_SEL_Msk) >> SUPC_VREF_SEL_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_set_VREF_reg(const void *const hw, hri_supc_vref_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg |= mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_vref_reg_t hri_supc_get_VREF_reg(const void *const hw, hri_supc_vref_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->VREF.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_supc_write_VREF_reg(const void *const hw, hri_supc_vref_reg_t data)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg = data;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_VREF_reg(const void *const hw, hri_supc_vref_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg &= ~mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_VREF_reg(const void *const hw, hri_supc_vref_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->VREF.reg ^= mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_vref_reg_t hri_supc_read_VREF_reg(const void *const hw)
+{
+ return ((Supc *)hw)->VREF.reg;
+}
+
+static inline void hri_supc_set_BBPS_CONF_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BBPS.reg |= SUPC_BBPS_CONF;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_BBPS_CONF_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BBPS.reg;
+ tmp = (tmp & SUPC_BBPS_CONF) >> SUPC_BBPS_CONF_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_BBPS_CONF_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BBPS.reg;
+ tmp &= ~SUPC_BBPS_CONF;
+ tmp |= value << SUPC_BBPS_CONF_Pos;
+ ((Supc *)hw)->BBPS.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BBPS_CONF_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BBPS.reg &= ~SUPC_BBPS_CONF;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BBPS_CONF_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BBPS.reg ^= SUPC_BBPS_CONF;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_BBPS_WAKEEN_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BBPS.reg |= SUPC_BBPS_WAKEEN;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_supc_get_BBPS_WAKEEN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BBPS.reg;
+ tmp = (tmp & SUPC_BBPS_WAKEEN) >> SUPC_BBPS_WAKEEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_supc_write_BBPS_WAKEEN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BBPS.reg;
+ tmp &= ~SUPC_BBPS_WAKEEN;
+ tmp |= value << SUPC_BBPS_WAKEEN_Pos;
+ ((Supc *)hw)->BBPS.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BBPS_WAKEEN_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BBPS.reg &= ~SUPC_BBPS_WAKEEN;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BBPS_WAKEEN_bit(const void *const hw)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BBPS.reg ^= SUPC_BBPS_WAKEEN;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_set_BBPS_reg(const void *const hw, hri_supc_bbps_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BBPS.reg |= mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bbps_reg_t hri_supc_get_BBPS_reg(const void *const hw, hri_supc_bbps_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BBPS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_supc_write_BBPS_reg(const void *const hw, hri_supc_bbps_reg_t data)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BBPS.reg = data;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BBPS_reg(const void *const hw, hri_supc_bbps_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BBPS.reg &= ~mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BBPS_reg(const void *const hw, hri_supc_bbps_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BBPS.reg ^= mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bbps_reg_t hri_supc_read_BBPS_reg(const void *const hw)
+{
+ return ((Supc *)hw)->BBPS.reg;
+}
+
+static inline void hri_supc_set_BKOUT_EN_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg |= SUPC_BKOUT_EN(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bkout_reg_t hri_supc_get_BKOUT_EN_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BKOUT.reg;
+ tmp = (tmp & SUPC_BKOUT_EN(mask)) >> SUPC_BKOUT_EN_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_write_BKOUT_EN_bf(const void *const hw, hri_supc_bkout_reg_t data)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BKOUT.reg;
+ tmp &= ~SUPC_BKOUT_EN_Msk;
+ tmp |= SUPC_BKOUT_EN(data);
+ ((Supc *)hw)->BKOUT.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BKOUT_EN_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg &= ~SUPC_BKOUT_EN(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BKOUT_EN_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg ^= SUPC_BKOUT_EN(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bkout_reg_t hri_supc_read_BKOUT_EN_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BKOUT.reg;
+ tmp = (tmp & SUPC_BKOUT_EN_Msk) >> SUPC_BKOUT_EN_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_set_BKOUT_CLR_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg |= SUPC_BKOUT_CLR(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bkout_reg_t hri_supc_get_BKOUT_CLR_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BKOUT.reg;
+ tmp = (tmp & SUPC_BKOUT_CLR(mask)) >> SUPC_BKOUT_CLR_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_write_BKOUT_CLR_bf(const void *const hw, hri_supc_bkout_reg_t data)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BKOUT.reg;
+ tmp &= ~SUPC_BKOUT_CLR_Msk;
+ tmp |= SUPC_BKOUT_CLR(data);
+ ((Supc *)hw)->BKOUT.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BKOUT_CLR_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg &= ~SUPC_BKOUT_CLR(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BKOUT_CLR_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg ^= SUPC_BKOUT_CLR(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bkout_reg_t hri_supc_read_BKOUT_CLR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BKOUT.reg;
+ tmp = (tmp & SUPC_BKOUT_CLR_Msk) >> SUPC_BKOUT_CLR_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_set_BKOUT_SET_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg |= SUPC_BKOUT_SET(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bkout_reg_t hri_supc_get_BKOUT_SET_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BKOUT.reg;
+ tmp = (tmp & SUPC_BKOUT_SET(mask)) >> SUPC_BKOUT_SET_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_write_BKOUT_SET_bf(const void *const hw, hri_supc_bkout_reg_t data)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BKOUT.reg;
+ tmp &= ~SUPC_BKOUT_SET_Msk;
+ tmp |= SUPC_BKOUT_SET(data);
+ ((Supc *)hw)->BKOUT.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BKOUT_SET_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg &= ~SUPC_BKOUT_SET(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BKOUT_SET_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg ^= SUPC_BKOUT_SET(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bkout_reg_t hri_supc_read_BKOUT_SET_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BKOUT.reg;
+ tmp = (tmp & SUPC_BKOUT_SET_Msk) >> SUPC_BKOUT_SET_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_set_BKOUT_RTCTGL_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg |= SUPC_BKOUT_RTCTGL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bkout_reg_t hri_supc_get_BKOUT_RTCTGL_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BKOUT.reg;
+ tmp = (tmp & SUPC_BKOUT_RTCTGL(mask)) >> SUPC_BKOUT_RTCTGL_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_write_BKOUT_RTCTGL_bf(const void *const hw, hri_supc_bkout_reg_t data)
+{
+ uint32_t tmp;
+ SUPC_CRITICAL_SECTION_ENTER();
+ tmp = ((Supc *)hw)->BKOUT.reg;
+ tmp &= ~SUPC_BKOUT_RTCTGL_Msk;
+ tmp |= SUPC_BKOUT_RTCTGL(data);
+ ((Supc *)hw)->BKOUT.reg = tmp;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BKOUT_RTCTGL_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg &= ~SUPC_BKOUT_RTCTGL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BKOUT_RTCTGL_bf(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg ^= SUPC_BKOUT_RTCTGL(mask);
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bkout_reg_t hri_supc_read_BKOUT_RTCTGL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BKOUT.reg;
+ tmp = (tmp & SUPC_BKOUT_RTCTGL_Msk) >> SUPC_BKOUT_RTCTGL_Pos;
+ return tmp;
+}
+
+static inline void hri_supc_set_BKOUT_reg(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg |= mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bkout_reg_t hri_supc_get_BKOUT_reg(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Supc *)hw)->BKOUT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_supc_write_BKOUT_reg(const void *const hw, hri_supc_bkout_reg_t data)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg = data;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_clear_BKOUT_reg(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg &= ~mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_supc_toggle_BKOUT_reg(const void *const hw, hri_supc_bkout_reg_t mask)
+{
+ SUPC_CRITICAL_SECTION_ENTER();
+ ((Supc *)hw)->BKOUT.reg ^= mask;
+ SUPC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_supc_bkout_reg_t hri_supc_read_BKOUT_reg(const void *const hw)
+{
+ return ((Supc *)hw)->BKOUT.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_SUPC_E54_H_INCLUDED */
+#endif /* _SAME54_SUPC_COMPONENT_ */
diff --git a/hri/hri_systemcontrol_e54.h b/hri/hri_systemcontrol_e54.h
new file mode 100644
index 0000000..000ef90
--- /dev/null
+++ b/hri/hri_systemcontrol_e54.h
@@ -0,0 +1,992 @@
+/**
+ * \file
+ *
+ * \brief SAM SystemControl
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_SystemControl_COMPONENT_
+#ifndef _HRI_SystemControl_E54_H_INCLUDED_
+#define _HRI_SystemControl_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_SystemControl_CRITICAL_SECTIONS)
+#define SystemControl_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define SystemControl_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define SystemControl_CRITICAL_SECTION_ENTER()
+#define SystemControl_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_systemcontrol_actlr_reg_t;
+typedef uint32_t hri_systemcontrol_adr_reg_t;
+typedef uint32_t hri_systemcontrol_afsr_reg_t;
+typedef uint32_t hri_systemcontrol_aircr_reg_t;
+typedef uint32_t hri_systemcontrol_bfar_reg_t;
+typedef uint32_t hri_systemcontrol_ccr_reg_t;
+typedef uint32_t hri_systemcontrol_cfsr_reg_t;
+typedef uint32_t hri_systemcontrol_cpacr_reg_t;
+typedef uint32_t hri_systemcontrol_cpuid_reg_t;
+typedef uint32_t hri_systemcontrol_dfr_reg_t;
+typedef uint32_t hri_systemcontrol_dfsr_reg_t;
+typedef uint32_t hri_systemcontrol_hfsr_reg_t;
+typedef uint32_t hri_systemcontrol_icsr_reg_t;
+typedef uint32_t hri_systemcontrol_ictr_reg_t;
+typedef uint32_t hri_systemcontrol_isar_reg_t;
+typedef uint32_t hri_systemcontrol_mmfar_reg_t;
+typedef uint32_t hri_systemcontrol_mmfr_reg_t;
+typedef uint32_t hri_systemcontrol_pfr_reg_t;
+typedef uint32_t hri_systemcontrol_scr_reg_t;
+typedef uint32_t hri_systemcontrol_shcsr_reg_t;
+typedef uint32_t hri_systemcontrol_shpr1_reg_t;
+typedef uint32_t hri_systemcontrol_shpr2_reg_t;
+typedef uint32_t hri_systemcontrol_shpr3_reg_t;
+typedef uint32_t hri_systemcontrol_vtor_reg_t;
+
+static inline hri_systemcontrol_ictr_reg_t hri_systemcontrol_get_ICTR_INTLINESNUM_bf(const void *const hw,
+ hri_systemcontrol_ictr_reg_t mask)
+{
+ return (((Systemcontrol *)hw)->ICTR.reg & SystemControl_ICTR_INTLINESNUM(mask)) >> 0;
+}
+
+static inline hri_systemcontrol_ictr_reg_t hri_systemcontrol_read_ICTR_INTLINESNUM_bf(const void *const hw)
+{
+ return (((Systemcontrol *)hw)->ICTR.reg & SystemControl_ICTR_INTLINESNUM_Msk) >> 0;
+}
+
+static inline hri_systemcontrol_ictr_reg_t hri_systemcontrol_get_ICTR_reg(const void *const hw,
+ hri_systemcontrol_ictr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->ICTR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_systemcontrol_ictr_reg_t hri_systemcontrol_read_ICTR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->ICTR.reg;
+}
+
+static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_get_CPUID_REVISION_bf(const void *const hw,
+ hri_systemcontrol_cpuid_reg_t mask)
+{
+ return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_REVISION(mask)) >> 0;
+}
+
+static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_REVISION_bf(const void *const hw)
+{
+ return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_REVISION_Msk) >> 0;
+}
+
+static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_get_CPUID_PARTNO_bf(const void *const hw,
+ hri_systemcontrol_cpuid_reg_t mask)
+{
+ return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_PARTNO(mask)) >> 4;
+}
+
+static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_PARTNO_bf(const void *const hw)
+{
+ return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_PARTNO_Msk) >> 4;
+}
+
+static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_get_CPUID_CONSTANT_bf(const void *const hw,
+ hri_systemcontrol_cpuid_reg_t mask)
+{
+ return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_CONSTANT(mask)) >> 16;
+}
+
+static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_CONSTANT_bf(const void *const hw)
+{
+ return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_CONSTANT_Msk) >> 16;
+}
+
+static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_get_CPUID_VARIANT_bf(const void *const hw,
+ hri_systemcontrol_cpuid_reg_t mask)
+{
+ return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_VARIANT(mask)) >> 20;
+}
+
+static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_VARIANT_bf(const void *const hw)
+{
+ return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_VARIANT_Msk) >> 20;
+}
+
+static inline hri_systemcontrol_cpuid_reg_t
+hri_systemcontrol_get_CPUID_IMPLEMENTER_bf(const void *const hw, hri_systemcontrol_cpuid_reg_t mask)
+{
+ return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_IMPLEMENTER(mask)) >> 24;
+}
+
+static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_IMPLEMENTER_bf(const void *const hw)
+{
+ return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_IMPLEMENTER_Msk) >> 24;
+}
+
+static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_get_CPUID_reg(const void *const hw,
+ hri_systemcontrol_cpuid_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->CPUID.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->CPUID.reg;
+}
+
+static inline hri_systemcontrol_dfr_reg_t hri_systemcontrol_get_DFR_reg(const void *const hw,
+ hri_systemcontrol_dfr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->DFR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_systemcontrol_dfr_reg_t hri_systemcontrol_read_DFR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->DFR.reg;
+}
+
+static inline hri_systemcontrol_adr_reg_t hri_systemcontrol_get_ADR_reg(const void *const hw,
+ hri_systemcontrol_adr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->ADR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_systemcontrol_adr_reg_t hri_systemcontrol_read_ADR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->ADR.reg;
+}
+
+static inline hri_systemcontrol_mmfr_reg_t hri_systemcontrol_get_MMFR_reg(const void *const hw, uint8_t index,
+ hri_systemcontrol_mmfr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->MMFR[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_systemcontrol_mmfr_reg_t hri_systemcontrol_read_MMFR_reg(const void *const hw, uint8_t index)
+{
+ return ((Systemcontrol *)hw)->MMFR[index].reg;
+}
+
+static inline hri_systemcontrol_isar_reg_t hri_systemcontrol_get_ISAR_reg(const void *const hw, uint8_t index,
+ hri_systemcontrol_isar_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->ISAR[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_systemcontrol_isar_reg_t hri_systemcontrol_read_ISAR_reg(const void *const hw, uint8_t index)
+{
+ return ((Systemcontrol *)hw)->ISAR[index].reg;
+}
+
+static inline void hri_systemcontrol_set_ACTLR_reg(const void *const hw, hri_systemcontrol_actlr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->ACTLR.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_actlr_reg_t hri_systemcontrol_get_ACTLR_reg(const void *const hw,
+ hri_systemcontrol_actlr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->ACTLR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_ACTLR_reg(const void *const hw, hri_systemcontrol_actlr_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->ACTLR.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_ACTLR_reg(const void *const hw, hri_systemcontrol_actlr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->ACTLR.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_ACTLR_reg(const void *const hw, hri_systemcontrol_actlr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->ACTLR.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_actlr_reg_t hri_systemcontrol_read_ACTLR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->ACTLR.reg;
+}
+
+static inline void hri_systemcontrol_set_ICSR_reg(const void *const hw, hri_systemcontrol_icsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->ICSR.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_icsr_reg_t hri_systemcontrol_get_ICSR_reg(const void *const hw,
+ hri_systemcontrol_icsr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->ICSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_ICSR_reg(const void *const hw, hri_systemcontrol_icsr_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->ICSR.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_ICSR_reg(const void *const hw, hri_systemcontrol_icsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->ICSR.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_ICSR_reg(const void *const hw, hri_systemcontrol_icsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->ICSR.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_icsr_reg_t hri_systemcontrol_read_ICSR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->ICSR.reg;
+}
+
+static inline void hri_systemcontrol_set_VTOR_reg(const void *const hw, hri_systemcontrol_vtor_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->VTOR.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_vtor_reg_t hri_systemcontrol_get_VTOR_reg(const void *const hw,
+ hri_systemcontrol_vtor_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->VTOR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_VTOR_reg(const void *const hw, hri_systemcontrol_vtor_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->VTOR.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_VTOR_reg(const void *const hw, hri_systemcontrol_vtor_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->VTOR.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_VTOR_reg(const void *const hw, hri_systemcontrol_vtor_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->VTOR.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_vtor_reg_t hri_systemcontrol_read_VTOR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->VTOR.reg;
+}
+
+static inline void hri_systemcontrol_set_AIRCR_reg(const void *const hw, hri_systemcontrol_aircr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->AIRCR.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_aircr_reg_t hri_systemcontrol_get_AIRCR_reg(const void *const hw,
+ hri_systemcontrol_aircr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->AIRCR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_AIRCR_reg(const void *const hw, hri_systemcontrol_aircr_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->AIRCR.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_AIRCR_reg(const void *const hw, hri_systemcontrol_aircr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->AIRCR.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_AIRCR_reg(const void *const hw, hri_systemcontrol_aircr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->AIRCR.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_aircr_reg_t hri_systemcontrol_read_AIRCR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->AIRCR.reg;
+}
+
+static inline void hri_systemcontrol_set_SCR_reg(const void *const hw, hri_systemcontrol_scr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SCR.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_scr_reg_t hri_systemcontrol_get_SCR_reg(const void *const hw,
+ hri_systemcontrol_scr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->SCR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_SCR_reg(const void *const hw, hri_systemcontrol_scr_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SCR.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_SCR_reg(const void *const hw, hri_systemcontrol_scr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SCR.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_SCR_reg(const void *const hw, hri_systemcontrol_scr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SCR.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_scr_reg_t hri_systemcontrol_read_SCR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->SCR.reg;
+}
+
+static inline void hri_systemcontrol_set_CCR_reg(const void *const hw, hri_systemcontrol_ccr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->CCR.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_ccr_reg_t hri_systemcontrol_get_CCR_reg(const void *const hw,
+ hri_systemcontrol_ccr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->CCR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_CCR_reg(const void *const hw, hri_systemcontrol_ccr_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->CCR.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_CCR_reg(const void *const hw, hri_systemcontrol_ccr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->CCR.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_CCR_reg(const void *const hw, hri_systemcontrol_ccr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->CCR.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_ccr_reg_t hri_systemcontrol_read_CCR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->CCR.reg;
+}
+
+static inline void hri_systemcontrol_set_SHPR1_reg(const void *const hw, hri_systemcontrol_shpr1_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHPR1.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_shpr1_reg_t hri_systemcontrol_get_SHPR1_reg(const void *const hw,
+ hri_systemcontrol_shpr1_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->SHPR1.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_SHPR1_reg(const void *const hw, hri_systemcontrol_shpr1_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHPR1.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_SHPR1_reg(const void *const hw, hri_systemcontrol_shpr1_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHPR1.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_SHPR1_reg(const void *const hw, hri_systemcontrol_shpr1_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHPR1.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_shpr1_reg_t hri_systemcontrol_read_SHPR1_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->SHPR1.reg;
+}
+
+static inline void hri_systemcontrol_set_SHPR2_reg(const void *const hw, hri_systemcontrol_shpr2_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHPR2.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_shpr2_reg_t hri_systemcontrol_get_SHPR2_reg(const void *const hw,
+ hri_systemcontrol_shpr2_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->SHPR2.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_SHPR2_reg(const void *const hw, hri_systemcontrol_shpr2_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHPR2.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_SHPR2_reg(const void *const hw, hri_systemcontrol_shpr2_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHPR2.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_SHPR2_reg(const void *const hw, hri_systemcontrol_shpr2_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHPR2.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_shpr2_reg_t hri_systemcontrol_read_SHPR2_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->SHPR2.reg;
+}
+
+static inline void hri_systemcontrol_set_SHPR3_reg(const void *const hw, hri_systemcontrol_shpr3_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHPR3.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_shpr3_reg_t hri_systemcontrol_get_SHPR3_reg(const void *const hw,
+ hri_systemcontrol_shpr3_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->SHPR3.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_SHPR3_reg(const void *const hw, hri_systemcontrol_shpr3_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHPR3.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_SHPR3_reg(const void *const hw, hri_systemcontrol_shpr3_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHPR3.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_SHPR3_reg(const void *const hw, hri_systemcontrol_shpr3_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHPR3.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_shpr3_reg_t hri_systemcontrol_read_SHPR3_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->SHPR3.reg;
+}
+
+static inline void hri_systemcontrol_set_SHCSR_reg(const void *const hw, hri_systemcontrol_shcsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHCSR.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_shcsr_reg_t hri_systemcontrol_get_SHCSR_reg(const void *const hw,
+ hri_systemcontrol_shcsr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->SHCSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_SHCSR_reg(const void *const hw, hri_systemcontrol_shcsr_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHCSR.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_SHCSR_reg(const void *const hw, hri_systemcontrol_shcsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHCSR.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_SHCSR_reg(const void *const hw, hri_systemcontrol_shcsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->SHCSR.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_shcsr_reg_t hri_systemcontrol_read_SHCSR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->SHCSR.reg;
+}
+
+static inline void hri_systemcontrol_set_CFSR_reg(const void *const hw, hri_systemcontrol_cfsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->CFSR.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_cfsr_reg_t hri_systemcontrol_get_CFSR_reg(const void *const hw,
+ hri_systemcontrol_cfsr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->CFSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_CFSR_reg(const void *const hw, hri_systemcontrol_cfsr_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->CFSR.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_CFSR_reg(const void *const hw, hri_systemcontrol_cfsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->CFSR.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_CFSR_reg(const void *const hw, hri_systemcontrol_cfsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->CFSR.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_cfsr_reg_t hri_systemcontrol_read_CFSR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->CFSR.reg;
+}
+
+static inline void hri_systemcontrol_set_HFSR_reg(const void *const hw, hri_systemcontrol_hfsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->HFSR.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_hfsr_reg_t hri_systemcontrol_get_HFSR_reg(const void *const hw,
+ hri_systemcontrol_hfsr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->HFSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_HFSR_reg(const void *const hw, hri_systemcontrol_hfsr_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->HFSR.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_HFSR_reg(const void *const hw, hri_systemcontrol_hfsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->HFSR.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_HFSR_reg(const void *const hw, hri_systemcontrol_hfsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->HFSR.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_hfsr_reg_t hri_systemcontrol_read_HFSR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->HFSR.reg;
+}
+
+static inline void hri_systemcontrol_set_DFSR_reg(const void *const hw, hri_systemcontrol_dfsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->DFSR.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_dfsr_reg_t hri_systemcontrol_get_DFSR_reg(const void *const hw,
+ hri_systemcontrol_dfsr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->DFSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_DFSR_reg(const void *const hw, hri_systemcontrol_dfsr_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->DFSR.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_DFSR_reg(const void *const hw, hri_systemcontrol_dfsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->DFSR.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_DFSR_reg(const void *const hw, hri_systemcontrol_dfsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->DFSR.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_dfsr_reg_t hri_systemcontrol_read_DFSR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->DFSR.reg;
+}
+
+static inline void hri_systemcontrol_set_MMFAR_reg(const void *const hw, hri_systemcontrol_mmfar_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->MMFAR.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_mmfar_reg_t hri_systemcontrol_get_MMFAR_reg(const void *const hw,
+ hri_systemcontrol_mmfar_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->MMFAR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_MMFAR_reg(const void *const hw, hri_systemcontrol_mmfar_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->MMFAR.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_MMFAR_reg(const void *const hw, hri_systemcontrol_mmfar_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->MMFAR.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_MMFAR_reg(const void *const hw, hri_systemcontrol_mmfar_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->MMFAR.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_mmfar_reg_t hri_systemcontrol_read_MMFAR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->MMFAR.reg;
+}
+
+static inline void hri_systemcontrol_set_BFAR_reg(const void *const hw, hri_systemcontrol_bfar_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->BFAR.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_bfar_reg_t hri_systemcontrol_get_BFAR_reg(const void *const hw,
+ hri_systemcontrol_bfar_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->BFAR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_BFAR_reg(const void *const hw, hri_systemcontrol_bfar_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->BFAR.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_BFAR_reg(const void *const hw, hri_systemcontrol_bfar_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->BFAR.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_BFAR_reg(const void *const hw, hri_systemcontrol_bfar_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->BFAR.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_bfar_reg_t hri_systemcontrol_read_BFAR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->BFAR.reg;
+}
+
+static inline void hri_systemcontrol_set_AFSR_reg(const void *const hw, hri_systemcontrol_afsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->AFSR.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_afsr_reg_t hri_systemcontrol_get_AFSR_reg(const void *const hw,
+ hri_systemcontrol_afsr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->AFSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_AFSR_reg(const void *const hw, hri_systemcontrol_afsr_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->AFSR.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_AFSR_reg(const void *const hw, hri_systemcontrol_afsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->AFSR.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_AFSR_reg(const void *const hw, hri_systemcontrol_afsr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->AFSR.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_afsr_reg_t hri_systemcontrol_read_AFSR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->AFSR.reg;
+}
+
+static inline void hri_systemcontrol_set_PFR_reg(const void *const hw, uint8_t index, hri_systemcontrol_pfr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->PFR[index].reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_pfr_reg_t hri_systemcontrol_get_PFR_reg(const void *const hw, uint8_t index,
+ hri_systemcontrol_pfr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->PFR[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_PFR_reg(const void *const hw, uint8_t index,
+ hri_systemcontrol_pfr_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->PFR[index].reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_PFR_reg(const void *const hw, uint8_t index,
+ hri_systemcontrol_pfr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->PFR[index].reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_PFR_reg(const void *const hw, uint8_t index,
+ hri_systemcontrol_pfr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->PFR[index].reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_pfr_reg_t hri_systemcontrol_read_PFR_reg(const void *const hw, uint8_t index)
+{
+ return ((Systemcontrol *)hw)->PFR[index].reg;
+}
+
+static inline void hri_systemcontrol_set_CPACR_reg(const void *const hw, hri_systemcontrol_cpacr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->CPACR.reg |= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_cpacr_reg_t hri_systemcontrol_get_CPACR_reg(const void *const hw,
+ hri_systemcontrol_cpacr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systemcontrol *)hw)->CPACR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systemcontrol_write_CPACR_reg(const void *const hw, hri_systemcontrol_cpacr_reg_t data)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->CPACR.reg = data;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_clear_CPACR_reg(const void *const hw, hri_systemcontrol_cpacr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->CPACR.reg &= ~mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systemcontrol_toggle_CPACR_reg(const void *const hw, hri_systemcontrol_cpacr_reg_t mask)
+{
+ SystemControl_CRITICAL_SECTION_ENTER();
+ ((Systemcontrol *)hw)->CPACR.reg ^= mask;
+ SystemControl_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systemcontrol_cpacr_reg_t hri_systemcontrol_read_CPACR_reg(const void *const hw)
+{
+ return ((Systemcontrol *)hw)->CPACR.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_SystemControl_E54_H_INCLUDED */
+#endif /* _SAME54_SystemControl_COMPONENT_ */
diff --git a/hri/hri_systick_e54.h b/hri/hri_systick_e54.h
new file mode 100644
index 0000000..11a9224
--- /dev/null
+++ b/hri/hri_systick_e54.h
@@ -0,0 +1,219 @@
+/**
+ * \file
+ *
+ * \brief SAM SysTick
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_SysTick_COMPONENT_
+#ifndef _HRI_SysTick_E54_H_INCLUDED_
+#define _HRI_SysTick_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_SysTick_CRITICAL_SECTIONS)
+#define SysTick_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define SysTick_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define SysTick_CRITICAL_SECTION_ENTER()
+#define SysTick_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_systick_calib_reg_t;
+typedef uint32_t hri_systick_csr_reg_t;
+typedef uint32_t hri_systick_cvr_reg_t;
+typedef uint32_t hri_systick_rvr_reg_t;
+
+static inline bool hri_systick_get_CALIB_SKEW_bit(const void *const hw)
+{
+ return (((Systick *)hw)->CALIB.reg & SysTick_CALIB_SKEW) >> 30;
+}
+
+static inline bool hri_systick_get_CALIB_NOREF_bit(const void *const hw)
+{
+ return (((Systick *)hw)->CALIB.reg & SysTick_CALIB_NOREF) >> 31;
+}
+
+static inline hri_systick_calib_reg_t hri_systick_get_CALIB_TENMS_bf(const void *const hw, hri_systick_calib_reg_t mask)
+{
+ return (((Systick *)hw)->CALIB.reg & SysTick_CALIB_TENMS(mask)) >> 0;
+}
+
+static inline hri_systick_calib_reg_t hri_systick_read_CALIB_TENMS_bf(const void *const hw)
+{
+ return (((Systick *)hw)->CALIB.reg & SysTick_CALIB_TENMS_Msk) >> 0;
+}
+
+static inline hri_systick_calib_reg_t hri_systick_get_CALIB_reg(const void *const hw, hri_systick_calib_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systick *)hw)->CALIB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_systick_calib_reg_t hri_systick_read_CALIB_reg(const void *const hw)
+{
+ return ((Systick *)hw)->CALIB.reg;
+}
+
+static inline void hri_systick_set_CSR_reg(const void *const hw, hri_systick_csr_reg_t mask)
+{
+ SysTick_CRITICAL_SECTION_ENTER();
+ ((Systick *)hw)->CSR.reg |= mask;
+ SysTick_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systick_csr_reg_t hri_systick_get_CSR_reg(const void *const hw, hri_systick_csr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systick *)hw)->CSR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systick_write_CSR_reg(const void *const hw, hri_systick_csr_reg_t data)
+{
+ SysTick_CRITICAL_SECTION_ENTER();
+ ((Systick *)hw)->CSR.reg = data;
+ SysTick_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systick_clear_CSR_reg(const void *const hw, hri_systick_csr_reg_t mask)
+{
+ SysTick_CRITICAL_SECTION_ENTER();
+ ((Systick *)hw)->CSR.reg &= ~mask;
+ SysTick_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systick_toggle_CSR_reg(const void *const hw, hri_systick_csr_reg_t mask)
+{
+ SysTick_CRITICAL_SECTION_ENTER();
+ ((Systick *)hw)->CSR.reg ^= mask;
+ SysTick_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systick_csr_reg_t hri_systick_read_CSR_reg(const void *const hw)
+{
+ return ((Systick *)hw)->CSR.reg;
+}
+
+static inline void hri_systick_set_RVR_reg(const void *const hw, hri_systick_rvr_reg_t mask)
+{
+ SysTick_CRITICAL_SECTION_ENTER();
+ ((Systick *)hw)->RVR.reg |= mask;
+ SysTick_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systick_rvr_reg_t hri_systick_get_RVR_reg(const void *const hw, hri_systick_rvr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systick *)hw)->RVR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systick_write_RVR_reg(const void *const hw, hri_systick_rvr_reg_t data)
+{
+ SysTick_CRITICAL_SECTION_ENTER();
+ ((Systick *)hw)->RVR.reg = data;
+ SysTick_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systick_clear_RVR_reg(const void *const hw, hri_systick_rvr_reg_t mask)
+{
+ SysTick_CRITICAL_SECTION_ENTER();
+ ((Systick *)hw)->RVR.reg &= ~mask;
+ SysTick_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systick_toggle_RVR_reg(const void *const hw, hri_systick_rvr_reg_t mask)
+{
+ SysTick_CRITICAL_SECTION_ENTER();
+ ((Systick *)hw)->RVR.reg ^= mask;
+ SysTick_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systick_rvr_reg_t hri_systick_read_RVR_reg(const void *const hw)
+{
+ return ((Systick *)hw)->RVR.reg;
+}
+
+static inline void hri_systick_set_CVR_reg(const void *const hw, hri_systick_cvr_reg_t mask)
+{
+ SysTick_CRITICAL_SECTION_ENTER();
+ ((Systick *)hw)->CVR.reg |= mask;
+ SysTick_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systick_cvr_reg_t hri_systick_get_CVR_reg(const void *const hw, hri_systick_cvr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Systick *)hw)->CVR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_systick_write_CVR_reg(const void *const hw, hri_systick_cvr_reg_t data)
+{
+ SysTick_CRITICAL_SECTION_ENTER();
+ ((Systick *)hw)->CVR.reg = data;
+ SysTick_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systick_clear_CVR_reg(const void *const hw, hri_systick_cvr_reg_t mask)
+{
+ SysTick_CRITICAL_SECTION_ENTER();
+ ((Systick *)hw)->CVR.reg &= ~mask;
+ SysTick_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_systick_toggle_CVR_reg(const void *const hw, hri_systick_cvr_reg_t mask)
+{
+ SysTick_CRITICAL_SECTION_ENTER();
+ ((Systick *)hw)->CVR.reg ^= mask;
+ SysTick_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_systick_cvr_reg_t hri_systick_read_CVR_reg(const void *const hw)
+{
+ return ((Systick *)hw)->CVR.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_SysTick_E54_H_INCLUDED */
+#endif /* _SAME54_SysTick_COMPONENT_ */
diff --git a/hri/hri_tc_e54.h b/hri/hri_tc_e54.h
new file mode 100644
index 0000000..a31cb2c
--- /dev/null
+++ b/hri/hri_tc_e54.h
@@ -0,0 +1,3003 @@
+/**
+ * \file
+ *
+ * \brief SAM TC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_TC_COMPONENT_
+#ifndef _HRI_TC_E54_H_INCLUDED_
+#define _HRI_TC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_TC_CRITICAL_SECTIONS)
+#define TC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define TC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define TC_CRITICAL_SECTION_ENTER()
+#define TC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_tc_evctrl_reg_t;
+typedef uint16_t hri_tccount16_cc_reg_t;
+typedef uint16_t hri_tccount16_ccbuf_reg_t;
+typedef uint16_t hri_tccount16_count_reg_t;
+typedef uint32_t hri_tc_ctrla_reg_t;
+typedef uint32_t hri_tc_syncbusy_reg_t;
+typedef uint32_t hri_tccount32_cc_reg_t;
+typedef uint32_t hri_tccount32_ccbuf_reg_t;
+typedef uint32_t hri_tccount32_count_reg_t;
+typedef uint8_t hri_tc_ctrlbset_reg_t;
+typedef uint8_t hri_tc_dbgctrl_reg_t;
+typedef uint8_t hri_tc_drvctrl_reg_t;
+typedef uint8_t hri_tc_intenset_reg_t;
+typedef uint8_t hri_tc_intflag_reg_t;
+typedef uint8_t hri_tc_status_reg_t;
+typedef uint8_t hri_tc_wave_reg_t;
+typedef uint8_t hri_tccount8_cc_reg_t;
+typedef uint8_t hri_tccount8_ccbuf_reg_t;
+typedef uint8_t hri_tccount8_count_reg_t;
+typedef uint8_t hri_tccount8_per_reg_t;
+typedef uint8_t hri_tccount8_perbuf_reg_t;
+
+static inline void hri_tc_wait_for_sync(const void *const hw, hri_tc_syncbusy_reg_t reg)
+{
+ while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_tc_is_syncing(const void *const hw, hri_tc_syncbusy_reg_t reg)
+{
+ return ((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg;
+}
+
+static inline bool hri_tc_get_INTFLAG_OVF_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_OVF) >> TC_INTFLAG_OVF_Pos;
+}
+
+static inline void hri_tc_clear_INTFLAG_OVF_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_OVF;
+}
+
+static inline bool hri_tc_get_INTFLAG_ERR_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_ERR) >> TC_INTFLAG_ERR_Pos;
+}
+
+static inline void hri_tc_clear_INTFLAG_ERR_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_ERR;
+}
+
+static inline bool hri_tc_get_INTFLAG_MC0_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_MC0) >> TC_INTFLAG_MC0_Pos;
+}
+
+static inline void hri_tc_clear_INTFLAG_MC0_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_MC0;
+}
+
+static inline bool hri_tc_get_INTFLAG_MC1_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_MC1) >> TC_INTFLAG_MC1_Pos;
+}
+
+static inline void hri_tc_clear_INTFLAG_MC1_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_MC1;
+}
+
+static inline bool hri_tc_get_interrupt_OVF_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_OVF) >> TC_INTFLAG_OVF_Pos;
+}
+
+static inline void hri_tc_clear_interrupt_OVF_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_OVF;
+}
+
+static inline bool hri_tc_get_interrupt_ERR_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_ERR) >> TC_INTFLAG_ERR_Pos;
+}
+
+static inline void hri_tc_clear_interrupt_ERR_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_ERR;
+}
+
+static inline bool hri_tc_get_interrupt_MC0_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_MC0) >> TC_INTFLAG_MC0_Pos;
+}
+
+static inline void hri_tc_clear_interrupt_MC0_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_MC0;
+}
+
+static inline bool hri_tc_get_interrupt_MC1_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_MC1) >> TC_INTFLAG_MC1_Pos;
+}
+
+static inline void hri_tc_clear_interrupt_MC1_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_MC1;
+}
+
+static inline hri_tc_intflag_reg_t hri_tc_get_INTFLAG_reg(const void *const hw, hri_tc_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_tc_intflag_reg_t hri_tc_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Tc *)hw)->COUNT16.INTFLAG.reg;
+}
+
+static inline void hri_tc_clear_INTFLAG_reg(const void *const hw, hri_tc_intflag_reg_t mask)
+{
+ ((Tc *)hw)->COUNT16.INTFLAG.reg = mask;
+}
+
+static inline void hri_tc_set_CTRLB_DIR_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_DIR;
+}
+
+static inline bool hri_tc_get_CTRLB_DIR_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.CTRLBSET.reg & TC_CTRLBSET_DIR) >> TC_CTRLBSET_DIR_Pos;
+}
+
+static inline void hri_tc_write_CTRLB_DIR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tc *)hw)->COUNT16.CTRLBCLR.reg = TC_CTRLBSET_DIR;
+ } else {
+ ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_DIR;
+ }
+}
+
+static inline void hri_tc_clear_CTRLB_DIR_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.CTRLBCLR.reg = TC_CTRLBSET_DIR;
+}
+
+static inline void hri_tc_set_CTRLB_LUPD_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_LUPD;
+}
+
+static inline bool hri_tc_get_CTRLB_LUPD_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.CTRLBSET.reg & TC_CTRLBSET_LUPD) >> TC_CTRLBSET_LUPD_Pos;
+}
+
+static inline void hri_tc_write_CTRLB_LUPD_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tc *)hw)->COUNT16.CTRLBCLR.reg = TC_CTRLBSET_LUPD;
+ } else {
+ ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_LUPD;
+ }
+}
+
+static inline void hri_tc_clear_CTRLB_LUPD_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.CTRLBCLR.reg = TC_CTRLBSET_LUPD;
+}
+
+static inline void hri_tc_set_CTRLB_ONESHOT_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_ONESHOT;
+}
+
+static inline bool hri_tc_get_CTRLB_ONESHOT_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.CTRLBSET.reg & TC_CTRLBSET_ONESHOT) >> TC_CTRLBSET_ONESHOT_Pos;
+}
+
+static inline void hri_tc_write_CTRLB_ONESHOT_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tc *)hw)->COUNT16.CTRLBCLR.reg = TC_CTRLBSET_ONESHOT;
+ } else {
+ ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_ONESHOT;
+ }
+}
+
+static inline void hri_tc_clear_CTRLB_ONESHOT_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.CTRLBCLR.reg = TC_CTRLBSET_ONESHOT;
+}
+
+static inline void hri_tc_set_CTRLB_CMD_bf(const void *const hw, hri_tc_ctrlbset_reg_t mask)
+{
+ ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_CMD(mask);
+}
+
+static inline hri_tc_ctrlbset_reg_t hri_tc_get_CTRLB_CMD_bf(const void *const hw, hri_tc_ctrlbset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLBSET.reg;
+ tmp = (tmp & TC_CTRLBSET_CMD(mask)) >> TC_CTRLBSET_CMD_Pos;
+ return tmp;
+}
+
+static inline hri_tc_ctrlbset_reg_t hri_tc_read_CTRLB_CMD_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLBSET.reg;
+ tmp = (tmp & TC_CTRLBSET_CMD_Msk) >> TC_CTRLBSET_CMD_Pos;
+ return tmp;
+}
+
+static inline void hri_tc_write_CTRLB_CMD_bf(const void *const hw, hri_tc_ctrlbset_reg_t data)
+{
+ ((Tc *)hw)->COUNT16.CTRLBSET.reg = TC_CTRLBSET_CMD(data);
+ ((Tc *)hw)->COUNT16.CTRLBCLR.reg = ~TC_CTRLBSET_CMD(data);
+}
+
+static inline void hri_tc_clear_CTRLB_CMD_bf(const void *const hw, hri_tc_ctrlbset_reg_t mask)
+{
+ ((Tc *)hw)->COUNT16.CTRLBCLR.reg = TC_CTRLBSET_CMD(mask);
+}
+
+static inline void hri_tc_set_CTRLB_reg(const void *const hw, hri_tc_ctrlbset_reg_t mask)
+{
+ ((Tc *)hw)->COUNT16.CTRLBSET.reg = mask;
+}
+
+static inline hri_tc_ctrlbset_reg_t hri_tc_get_CTRLB_reg(const void *const hw, hri_tc_ctrlbset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLBSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_tc_ctrlbset_reg_t hri_tc_read_CTRLB_reg(const void *const hw)
+{
+ return ((Tc *)hw)->COUNT16.CTRLBSET.reg;
+}
+
+static inline void hri_tc_write_CTRLB_reg(const void *const hw, hri_tc_ctrlbset_reg_t data)
+{
+ ((Tc *)hw)->COUNT16.CTRLBSET.reg = data;
+ ((Tc *)hw)->COUNT16.CTRLBCLR.reg = ~data;
+}
+
+static inline void hri_tc_clear_CTRLB_reg(const void *const hw, hri_tc_ctrlbset_reg_t mask)
+{
+ ((Tc *)hw)->COUNT16.CTRLBCLR.reg = mask;
+}
+
+static inline void hri_tc_set_INTEN_OVF_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_OVF;
+}
+
+static inline bool hri_tc_get_INTEN_OVF_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.INTENSET.reg & TC_INTENSET_OVF) >> TC_INTENSET_OVF_Pos;
+}
+
+static inline void hri_tc_write_INTEN_OVF_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_OVF;
+ } else {
+ ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_OVF;
+ }
+}
+
+static inline void hri_tc_clear_INTEN_OVF_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_OVF;
+}
+
+static inline void hri_tc_set_INTEN_ERR_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_ERR;
+}
+
+static inline bool hri_tc_get_INTEN_ERR_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.INTENSET.reg & TC_INTENSET_ERR) >> TC_INTENSET_ERR_Pos;
+}
+
+static inline void hri_tc_write_INTEN_ERR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_ERR;
+ } else {
+ ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_ERR;
+ }
+}
+
+static inline void hri_tc_clear_INTEN_ERR_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_ERR;
+}
+
+static inline void hri_tc_set_INTEN_MC0_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_MC0;
+}
+
+static inline bool hri_tc_get_INTEN_MC0_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.INTENSET.reg & TC_INTENSET_MC0) >> TC_INTENSET_MC0_Pos;
+}
+
+static inline void hri_tc_write_INTEN_MC0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_MC0;
+ } else {
+ ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_MC0;
+ }
+}
+
+static inline void hri_tc_clear_INTEN_MC0_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_MC0;
+}
+
+static inline void hri_tc_set_INTEN_MC1_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_MC1;
+}
+
+static inline bool hri_tc_get_INTEN_MC1_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.INTENSET.reg & TC_INTENSET_MC1) >> TC_INTENSET_MC1_Pos;
+}
+
+static inline void hri_tc_write_INTEN_MC1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_MC1;
+ } else {
+ ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_MC1;
+ }
+}
+
+static inline void hri_tc_clear_INTEN_MC1_bit(const void *const hw)
+{
+ ((Tc *)hw)->COUNT16.INTENCLR.reg = TC_INTENSET_MC1;
+}
+
+static inline void hri_tc_set_INTEN_reg(const void *const hw, hri_tc_intenset_reg_t mask)
+{
+ ((Tc *)hw)->COUNT16.INTENSET.reg = mask;
+}
+
+static inline hri_tc_intenset_reg_t hri_tc_get_INTEN_reg(const void *const hw, hri_tc_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_tc_intenset_reg_t hri_tc_read_INTEN_reg(const void *const hw)
+{
+ return ((Tc *)hw)->COUNT16.INTENSET.reg;
+}
+
+static inline void hri_tc_write_INTEN_reg(const void *const hw, hri_tc_intenset_reg_t data)
+{
+ ((Tc *)hw)->COUNT16.INTENSET.reg = data;
+ ((Tc *)hw)->COUNT16.INTENCLR.reg = ~data;
+}
+
+static inline void hri_tc_clear_INTEN_reg(const void *const hw, hri_tc_intenset_reg_t mask)
+{
+ ((Tc *)hw)->COUNT16.INTENCLR.reg = mask;
+}
+
+static inline bool hri_tc_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_SWRST) >> TC_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_tc_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_ENABLE) >> TC_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_tc_get_SYNCBUSY_CTRLB_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_CTRLB) >> TC_SYNCBUSY_CTRLB_Pos;
+}
+
+static inline bool hri_tc_get_SYNCBUSY_STATUS_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_STATUS) >> TC_SYNCBUSY_STATUS_Pos;
+}
+
+static inline bool hri_tc_get_SYNCBUSY_COUNT_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_COUNT) >> TC_SYNCBUSY_COUNT_Pos;
+}
+
+static inline bool hri_tc_get_SYNCBUSY_PER_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_PER) >> TC_SYNCBUSY_PER_Pos;
+}
+
+static inline bool hri_tc_get_SYNCBUSY_CC0_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_CC0) >> TC_SYNCBUSY_CC0_Pos;
+}
+
+static inline bool hri_tc_get_SYNCBUSY_CC1_bit(const void *const hw)
+{
+ return (((Tc *)hw)->COUNT16.SYNCBUSY.reg & TC_SYNCBUSY_CC1) >> TC_SYNCBUSY_CC1_Pos;
+}
+
+static inline hri_tc_syncbusy_reg_t hri_tc_get_SYNCBUSY_reg(const void *const hw, hri_tc_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_tc_syncbusy_reg_t hri_tc_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Tc *)hw)->COUNT16.SYNCBUSY.reg;
+}
+
+static inline void hri_tc_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_SWRST;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST);
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_SWRST) >> TC_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_ENABLE;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE);
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_ENABLE) >> TC_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp &= ~TC_CTRLA_ENABLE;
+ tmp |= value << TC_CTRLA_ENABLE_Pos;
+ ((Tc *)hw)->COUNT16.CTRLA.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_ENABLE;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_ENABLE;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_RUNSTDBY;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_RUNSTDBY) >> TC_CTRLA_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp &= ~TC_CTRLA_RUNSTDBY;
+ tmp |= value << TC_CTRLA_RUNSTDBY_Pos;
+ ((Tc *)hw)->COUNT16.CTRLA.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_RUNSTDBY;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_RUNSTDBY;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_CTRLA_ONDEMAND_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_ONDEMAND;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_CTRLA_ONDEMAND_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_ONDEMAND) >> TC_CTRLA_ONDEMAND_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_CTRLA_ONDEMAND_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp &= ~TC_CTRLA_ONDEMAND;
+ tmp |= value << TC_CTRLA_ONDEMAND_Pos;
+ ((Tc *)hw)->COUNT16.CTRLA.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_CTRLA_ONDEMAND_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_ONDEMAND;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_CTRLA_ONDEMAND_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_ONDEMAND;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_CTRLA_ALOCK_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_ALOCK;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_CTRLA_ALOCK_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_ALOCK) >> TC_CTRLA_ALOCK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_CTRLA_ALOCK_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp &= ~TC_CTRLA_ALOCK;
+ tmp |= value << TC_CTRLA_ALOCK_Pos;
+ ((Tc *)hw)->COUNT16.CTRLA.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_CTRLA_ALOCK_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_ALOCK;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_CTRLA_ALOCK_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_ALOCK;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_CTRLA_CAPTEN0_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_CAPTEN0;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_CTRLA_CAPTEN0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_CAPTEN0) >> TC_CTRLA_CAPTEN0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_CTRLA_CAPTEN0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp &= ~TC_CTRLA_CAPTEN0;
+ tmp |= value << TC_CTRLA_CAPTEN0_Pos;
+ ((Tc *)hw)->COUNT16.CTRLA.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_CTRLA_CAPTEN0_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_CAPTEN0;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_CTRLA_CAPTEN0_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_CAPTEN0;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_CTRLA_CAPTEN1_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_CAPTEN1;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_CTRLA_CAPTEN1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_CAPTEN1) >> TC_CTRLA_CAPTEN1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_CTRLA_CAPTEN1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp &= ~TC_CTRLA_CAPTEN1;
+ tmp |= value << TC_CTRLA_CAPTEN1_Pos;
+ ((Tc *)hw)->COUNT16.CTRLA.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_CTRLA_CAPTEN1_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_CAPTEN1;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_CTRLA_CAPTEN1_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_CAPTEN1;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_CTRLA_COPEN0_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_COPEN0;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_CTRLA_COPEN0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_COPEN0) >> TC_CTRLA_COPEN0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_CTRLA_COPEN0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp &= ~TC_CTRLA_COPEN0;
+ tmp |= value << TC_CTRLA_COPEN0_Pos;
+ ((Tc *)hw)->COUNT16.CTRLA.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_CTRLA_COPEN0_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_COPEN0;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_CTRLA_COPEN0_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_COPEN0;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_CTRLA_COPEN1_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_COPEN1;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_CTRLA_COPEN1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_COPEN1) >> TC_CTRLA_COPEN1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_CTRLA_COPEN1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp &= ~TC_CTRLA_COPEN1;
+ tmp |= value << TC_CTRLA_COPEN1_Pos;
+ ((Tc *)hw)->COUNT16.CTRLA.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_CTRLA_COPEN1_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_COPEN1;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_CTRLA_COPEN1_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_COPEN1;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_CTRLA_MODE_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_MODE(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_ctrla_reg_t hri_tc_get_CTRLA_MODE_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_MODE(mask)) >> TC_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_tc_write_CTRLA_MODE_bf(const void *const hw, hri_tc_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp &= ~TC_CTRLA_MODE_Msk;
+ tmp |= TC_CTRLA_MODE(data);
+ ((Tc *)hw)->COUNT16.CTRLA.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_CTRLA_MODE_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_MODE(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_CTRLA_MODE_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_MODE(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_ctrla_reg_t hri_tc_read_CTRLA_MODE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_MODE_Msk) >> TC_CTRLA_MODE_Pos;
+ return tmp;
+}
+
+static inline void hri_tc_set_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_PRESCSYNC(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_ctrla_reg_t hri_tc_get_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_PRESCSYNC(mask)) >> TC_CTRLA_PRESCSYNC_Pos;
+ return tmp;
+}
+
+static inline void hri_tc_write_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tc_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp &= ~TC_CTRLA_PRESCSYNC_Msk;
+ tmp |= TC_CTRLA_PRESCSYNC(data);
+ ((Tc *)hw)->COUNT16.CTRLA.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_PRESCSYNC(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_PRESCSYNC(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_ctrla_reg_t hri_tc_read_CTRLA_PRESCSYNC_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_PRESCSYNC_Msk) >> TC_CTRLA_PRESCSYNC_Pos;
+ return tmp;
+}
+
+static inline void hri_tc_set_CTRLA_PRESCALER_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_PRESCALER(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_ctrla_reg_t hri_tc_get_CTRLA_PRESCALER_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_PRESCALER(mask)) >> TC_CTRLA_PRESCALER_Pos;
+ return tmp;
+}
+
+static inline void hri_tc_write_CTRLA_PRESCALER_bf(const void *const hw, hri_tc_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp &= ~TC_CTRLA_PRESCALER_Msk;
+ tmp |= TC_CTRLA_PRESCALER(data);
+ ((Tc *)hw)->COUNT16.CTRLA.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_CTRLA_PRESCALER_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_PRESCALER(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_CTRLA_PRESCALER_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_PRESCALER(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_ctrla_reg_t hri_tc_read_CTRLA_PRESCALER_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_PRESCALER_Msk) >> TC_CTRLA_PRESCALER_Pos;
+ return tmp;
+}
+
+static inline void hri_tc_set_CTRLA_CAPTMODE0_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_CAPTMODE0(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_ctrla_reg_t hri_tc_get_CTRLA_CAPTMODE0_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_CAPTMODE0(mask)) >> TC_CTRLA_CAPTMODE0_Pos;
+ return tmp;
+}
+
+static inline void hri_tc_write_CTRLA_CAPTMODE0_bf(const void *const hw, hri_tc_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp &= ~TC_CTRLA_CAPTMODE0_Msk;
+ tmp |= TC_CTRLA_CAPTMODE0(data);
+ ((Tc *)hw)->COUNT16.CTRLA.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_CTRLA_CAPTMODE0_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_CAPTMODE0(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_CTRLA_CAPTMODE0_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_CAPTMODE0(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_ctrla_reg_t hri_tc_read_CTRLA_CAPTMODE0_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_CAPTMODE0_Msk) >> TC_CTRLA_CAPTMODE0_Pos;
+ return tmp;
+}
+
+static inline void hri_tc_set_CTRLA_CAPTMODE1_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_CAPTMODE1(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_ctrla_reg_t hri_tc_get_CTRLA_CAPTMODE1_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_CAPTMODE1(mask)) >> TC_CTRLA_CAPTMODE1_Pos;
+ return tmp;
+}
+
+static inline void hri_tc_write_CTRLA_CAPTMODE1_bf(const void *const hw, hri_tc_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp &= ~TC_CTRLA_CAPTMODE1_Msk;
+ tmp |= TC_CTRLA_CAPTMODE1(data);
+ ((Tc *)hw)->COUNT16.CTRLA.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_CTRLA_CAPTMODE1_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_CAPTMODE1(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_CTRLA_CAPTMODE1_bf(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg ^= TC_CTRLA_CAPTMODE1(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_ctrla_reg_t hri_tc_read_CTRLA_CAPTMODE1_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp = (tmp & TC_CTRLA_CAPTMODE1_Msk) >> TC_CTRLA_CAPTMODE1_Pos;
+ return tmp;
+}
+
+static inline void hri_tc_set_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg |= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_ctrla_reg_t hri_tc_get_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE);
+ tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tc_write_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg = data;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg &= ~mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CTRLA.reg ^= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_ctrla_reg_t hri_tc_read_CTRLA_reg(const void *const hw)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE);
+ return ((Tc *)hw)->COUNT16.CTRLA.reg;
+}
+
+static inline void hri_tc_set_EVCTRL_TCINV_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg |= TC_EVCTRL_TCINV;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_EVCTRL_TCINV_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg;
+ tmp = (tmp & TC_EVCTRL_TCINV) >> TC_EVCTRL_TCINV_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_EVCTRL_TCINV_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg;
+ tmp &= ~TC_EVCTRL_TCINV;
+ tmp |= value << TC_EVCTRL_TCINV_Pos;
+ ((Tc *)hw)->COUNT16.EVCTRL.reg = tmp;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_EVCTRL_TCINV_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg &= ~TC_EVCTRL_TCINV;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_EVCTRL_TCINV_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg ^= TC_EVCTRL_TCINV;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_EVCTRL_TCEI_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg |= TC_EVCTRL_TCEI;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_EVCTRL_TCEI_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg;
+ tmp = (tmp & TC_EVCTRL_TCEI) >> TC_EVCTRL_TCEI_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_EVCTRL_TCEI_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg;
+ tmp &= ~TC_EVCTRL_TCEI;
+ tmp |= value << TC_EVCTRL_TCEI_Pos;
+ ((Tc *)hw)->COUNT16.EVCTRL.reg = tmp;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_EVCTRL_TCEI_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg &= ~TC_EVCTRL_TCEI;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_EVCTRL_TCEI_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg ^= TC_EVCTRL_TCEI;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg |= TC_EVCTRL_OVFEO;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg;
+ tmp = (tmp & TC_EVCTRL_OVFEO) >> TC_EVCTRL_OVFEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_EVCTRL_OVFEO_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg;
+ tmp &= ~TC_EVCTRL_OVFEO;
+ tmp |= value << TC_EVCTRL_OVFEO_Pos;
+ ((Tc *)hw)->COUNT16.EVCTRL.reg = tmp;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg &= ~TC_EVCTRL_OVFEO;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg ^= TC_EVCTRL_OVFEO;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_EVCTRL_MCEO0_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg |= TC_EVCTRL_MCEO0;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_EVCTRL_MCEO0_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg;
+ tmp = (tmp & TC_EVCTRL_MCEO0) >> TC_EVCTRL_MCEO0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_EVCTRL_MCEO0_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg;
+ tmp &= ~TC_EVCTRL_MCEO0;
+ tmp |= value << TC_EVCTRL_MCEO0_Pos;
+ ((Tc *)hw)->COUNT16.EVCTRL.reg = tmp;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_EVCTRL_MCEO0_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg &= ~TC_EVCTRL_MCEO0;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_EVCTRL_MCEO0_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg ^= TC_EVCTRL_MCEO0;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_EVCTRL_MCEO1_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg |= TC_EVCTRL_MCEO1;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_EVCTRL_MCEO1_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg;
+ tmp = (tmp & TC_EVCTRL_MCEO1) >> TC_EVCTRL_MCEO1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_EVCTRL_MCEO1_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg;
+ tmp &= ~TC_EVCTRL_MCEO1;
+ tmp |= value << TC_EVCTRL_MCEO1_Pos;
+ ((Tc *)hw)->COUNT16.EVCTRL.reg = tmp;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_EVCTRL_MCEO1_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg &= ~TC_EVCTRL_MCEO1;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_EVCTRL_MCEO1_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg ^= TC_EVCTRL_MCEO1;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_EVCTRL_EVACT_bf(const void *const hw, hri_tc_evctrl_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg |= TC_EVCTRL_EVACT(mask);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_evctrl_reg_t hri_tc_get_EVCTRL_EVACT_bf(const void *const hw, hri_tc_evctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg;
+ tmp = (tmp & TC_EVCTRL_EVACT(mask)) >> TC_EVCTRL_EVACT_Pos;
+ return tmp;
+}
+
+static inline void hri_tc_write_EVCTRL_EVACT_bf(const void *const hw, hri_tc_evctrl_reg_t data)
+{
+ uint16_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg;
+ tmp &= ~TC_EVCTRL_EVACT_Msk;
+ tmp |= TC_EVCTRL_EVACT(data);
+ ((Tc *)hw)->COUNT16.EVCTRL.reg = tmp;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_EVCTRL_EVACT_bf(const void *const hw, hri_tc_evctrl_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg &= ~TC_EVCTRL_EVACT(mask);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_EVCTRL_EVACT_bf(const void *const hw, hri_tc_evctrl_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg ^= TC_EVCTRL_EVACT(mask);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_evctrl_reg_t hri_tc_read_EVCTRL_EVACT_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg;
+ tmp = (tmp & TC_EVCTRL_EVACT_Msk) >> TC_EVCTRL_EVACT_Pos;
+ return tmp;
+}
+
+static inline void hri_tc_set_EVCTRL_reg(const void *const hw, hri_tc_evctrl_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg |= mask;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_evctrl_reg_t hri_tc_get_EVCTRL_reg(const void *const hw, hri_tc_evctrl_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tc_write_EVCTRL_reg(const void *const hw, hri_tc_evctrl_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg = data;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_EVCTRL_reg(const void *const hw, hri_tc_evctrl_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg &= ~mask;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_EVCTRL_reg(const void *const hw, hri_tc_evctrl_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.EVCTRL.reg ^= mask;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_evctrl_reg_t hri_tc_read_EVCTRL_reg(const void *const hw)
+{
+ return ((Tc *)hw)->COUNT16.EVCTRL.reg;
+}
+
+static inline void hri_tc_set_WAVE_WAVEGEN_bf(const void *const hw, hri_tc_wave_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.WAVE.reg |= TC_WAVE_WAVEGEN(mask);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_wave_reg_t hri_tc_get_WAVE_WAVEGEN_bf(const void *const hw, hri_tc_wave_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.WAVE.reg;
+ tmp = (tmp & TC_WAVE_WAVEGEN(mask)) >> TC_WAVE_WAVEGEN_Pos;
+ return tmp;
+}
+
+static inline void hri_tc_write_WAVE_WAVEGEN_bf(const void *const hw, hri_tc_wave_reg_t data)
+{
+ uint8_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.WAVE.reg;
+ tmp &= ~TC_WAVE_WAVEGEN_Msk;
+ tmp |= TC_WAVE_WAVEGEN(data);
+ ((Tc *)hw)->COUNT16.WAVE.reg = tmp;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_WAVE_WAVEGEN_bf(const void *const hw, hri_tc_wave_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.WAVE.reg &= ~TC_WAVE_WAVEGEN(mask);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_WAVE_WAVEGEN_bf(const void *const hw, hri_tc_wave_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.WAVE.reg ^= TC_WAVE_WAVEGEN(mask);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_wave_reg_t hri_tc_read_WAVE_WAVEGEN_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.WAVE.reg;
+ tmp = (tmp & TC_WAVE_WAVEGEN_Msk) >> TC_WAVE_WAVEGEN_Pos;
+ return tmp;
+}
+
+static inline void hri_tc_set_WAVE_reg(const void *const hw, hri_tc_wave_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.WAVE.reg |= mask;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_wave_reg_t hri_tc_get_WAVE_reg(const void *const hw, hri_tc_wave_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.WAVE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tc_write_WAVE_reg(const void *const hw, hri_tc_wave_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.WAVE.reg = data;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_WAVE_reg(const void *const hw, hri_tc_wave_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.WAVE.reg &= ~mask;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_WAVE_reg(const void *const hw, hri_tc_wave_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.WAVE.reg ^= mask;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_wave_reg_t hri_tc_read_WAVE_reg(const void *const hw)
+{
+ return ((Tc *)hw)->COUNT16.WAVE.reg;
+}
+
+static inline void hri_tc_set_DRVCTRL_INVEN0_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DRVCTRL.reg |= TC_DRVCTRL_INVEN0;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_DRVCTRL_INVEN0_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.DRVCTRL.reg;
+ tmp = (tmp & TC_DRVCTRL_INVEN0) >> TC_DRVCTRL_INVEN0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_DRVCTRL_INVEN0_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.DRVCTRL.reg;
+ tmp &= ~TC_DRVCTRL_INVEN0;
+ tmp |= value << TC_DRVCTRL_INVEN0_Pos;
+ ((Tc *)hw)->COUNT16.DRVCTRL.reg = tmp;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_DRVCTRL_INVEN0_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DRVCTRL.reg &= ~TC_DRVCTRL_INVEN0;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_DRVCTRL_INVEN0_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DRVCTRL.reg ^= TC_DRVCTRL_INVEN0;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_DRVCTRL_INVEN1_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DRVCTRL.reg |= TC_DRVCTRL_INVEN1;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_DRVCTRL_INVEN1_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.DRVCTRL.reg;
+ tmp = (tmp & TC_DRVCTRL_INVEN1) >> TC_DRVCTRL_INVEN1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_DRVCTRL_INVEN1_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.DRVCTRL.reg;
+ tmp &= ~TC_DRVCTRL_INVEN1;
+ tmp |= value << TC_DRVCTRL_INVEN1_Pos;
+ ((Tc *)hw)->COUNT16.DRVCTRL.reg = tmp;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_DRVCTRL_INVEN1_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DRVCTRL.reg &= ~TC_DRVCTRL_INVEN1;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_DRVCTRL_INVEN1_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DRVCTRL.reg ^= TC_DRVCTRL_INVEN1;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_DRVCTRL_reg(const void *const hw, hri_tc_drvctrl_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DRVCTRL.reg |= mask;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_drvctrl_reg_t hri_tc_get_DRVCTRL_reg(const void *const hw, hri_tc_drvctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.DRVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tc_write_DRVCTRL_reg(const void *const hw, hri_tc_drvctrl_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DRVCTRL.reg = data;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_DRVCTRL_reg(const void *const hw, hri_tc_drvctrl_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DRVCTRL.reg &= ~mask;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_DRVCTRL_reg(const void *const hw, hri_tc_drvctrl_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DRVCTRL.reg ^= mask;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_drvctrl_reg_t hri_tc_read_DRVCTRL_reg(const void *const hw)
+{
+ return ((Tc *)hw)->COUNT16.DRVCTRL.reg;
+}
+
+static inline void hri_tc_set_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DBGCTRL.reg |= TC_DBGCTRL_DBGRUN;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.DBGCTRL.reg;
+ tmp = (tmp & TC_DBGCTRL_DBGRUN) >> TC_DBGCTRL_DBGRUN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tc_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.DBGCTRL.reg;
+ tmp &= ~TC_DBGCTRL_DBGRUN;
+ tmp |= value << TC_DBGCTRL_DBGRUN_Pos;
+ ((Tc *)hw)->COUNT16.DBGCTRL.reg = tmp;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DBGCTRL.reg &= ~TC_DBGCTRL_DBGRUN;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DBGCTRL.reg ^= TC_DBGCTRL_DBGRUN;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_set_DBGCTRL_reg(const void *const hw, hri_tc_dbgctrl_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DBGCTRL.reg |= mask;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_dbgctrl_reg_t hri_tc_get_DBGCTRL_reg(const void *const hw, hri_tc_dbgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.DBGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tc_write_DBGCTRL_reg(const void *const hw, hri_tc_dbgctrl_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DBGCTRL.reg = data;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_clear_DBGCTRL_reg(const void *const hw, hri_tc_dbgctrl_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DBGCTRL.reg &= ~mask;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tc_toggle_DBGCTRL_reg(const void *const hw, hri_tc_dbgctrl_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.DBGCTRL.reg ^= mask;
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_dbgctrl_reg_t hri_tc_read_DBGCTRL_reg(const void *const hw)
+{
+ return ((Tc *)hw)->COUNT16.DBGCTRL.reg;
+}
+
+static inline void hri_tccount8_set_COUNT_COUNT_bf(const void *const hw, hri_tccount8_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.COUNT.reg |= TC_COUNT8_COUNT_COUNT(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_count_reg_t hri_tccount8_get_COUNT_COUNT_bf(const void *const hw,
+ hri_tccount8_count_reg_t mask)
+{
+ uint8_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ tmp = ((Tc *)hw)->COUNT8.COUNT.reg;
+ tmp = (tmp & TC_COUNT8_COUNT_COUNT(mask)) >> TC_COUNT8_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount8_write_COUNT_COUNT_bf(const void *const hw, hri_tccount8_count_reg_t data)
+{
+ uint8_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT8.COUNT.reg;
+ tmp &= ~TC_COUNT8_COUNT_COUNT_Msk;
+ tmp |= TC_COUNT8_COUNT_COUNT(data);
+ ((Tc *)hw)->COUNT8.COUNT.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_clear_COUNT_COUNT_bf(const void *const hw, hri_tccount8_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.COUNT.reg &= ~TC_COUNT8_COUNT_COUNT(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_toggle_COUNT_COUNT_bf(const void *const hw, hri_tccount8_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.COUNT.reg ^= TC_COUNT8_COUNT_COUNT(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_count_reg_t hri_tccount8_read_COUNT_COUNT_bf(const void *const hw)
+{
+ uint8_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ tmp = ((Tc *)hw)->COUNT8.COUNT.reg;
+ tmp = (tmp & TC_COUNT8_COUNT_COUNT_Msk) >> TC_COUNT8_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount8_set_COUNT_reg(const void *const hw, hri_tccount8_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.COUNT.reg |= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_count_reg_t hri_tccount8_get_COUNT_reg(const void *const hw, hri_tccount8_count_reg_t mask)
+{
+ uint8_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ tmp = ((Tc *)hw)->COUNT8.COUNT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tccount8_write_COUNT_reg(const void *const hw, hri_tccount8_count_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.COUNT.reg = data;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_clear_COUNT_reg(const void *const hw, hri_tccount8_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.COUNT.reg &= ~mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_toggle_COUNT_reg(const void *const hw, hri_tccount8_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.COUNT.reg ^= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_count_reg_t hri_tccount8_read_COUNT_reg(const void *const hw)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ return ((Tc *)hw)->COUNT8.COUNT.reg;
+}
+
+static inline void hri_tccount16_set_COUNT_COUNT_bf(const void *const hw, hri_tccount16_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.COUNT.reg |= TC_COUNT16_COUNT_COUNT(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount16_count_reg_t hri_tccount16_get_COUNT_COUNT_bf(const void *const hw,
+ hri_tccount16_count_reg_t mask)
+{
+ uint16_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ tmp = ((Tc *)hw)->COUNT16.COUNT.reg;
+ tmp = (tmp & TC_COUNT16_COUNT_COUNT(mask)) >> TC_COUNT16_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount16_write_COUNT_COUNT_bf(const void *const hw, hri_tccount16_count_reg_t data)
+{
+ uint16_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.COUNT.reg;
+ tmp &= ~TC_COUNT16_COUNT_COUNT_Msk;
+ tmp |= TC_COUNT16_COUNT_COUNT(data);
+ ((Tc *)hw)->COUNT16.COUNT.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount16_clear_COUNT_COUNT_bf(const void *const hw, hri_tccount16_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.COUNT.reg &= ~TC_COUNT16_COUNT_COUNT(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount16_toggle_COUNT_COUNT_bf(const void *const hw, hri_tccount16_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.COUNT.reg ^= TC_COUNT16_COUNT_COUNT(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount16_count_reg_t hri_tccount16_read_COUNT_COUNT_bf(const void *const hw)
+{
+ uint16_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ tmp = ((Tc *)hw)->COUNT16.COUNT.reg;
+ tmp = (tmp & TC_COUNT16_COUNT_COUNT_Msk) >> TC_COUNT16_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount16_set_COUNT_reg(const void *const hw, hri_tccount16_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.COUNT.reg |= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount16_count_reg_t hri_tccount16_get_COUNT_reg(const void *const hw,
+ hri_tccount16_count_reg_t mask)
+{
+ uint16_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ tmp = ((Tc *)hw)->COUNT16.COUNT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tccount16_write_COUNT_reg(const void *const hw, hri_tccount16_count_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.COUNT.reg = data;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount16_clear_COUNT_reg(const void *const hw, hri_tccount16_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.COUNT.reg &= ~mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount16_toggle_COUNT_reg(const void *const hw, hri_tccount16_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.COUNT.reg ^= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount16_count_reg_t hri_tccount16_read_COUNT_reg(const void *const hw)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ return ((Tc *)hw)->COUNT16.COUNT.reg;
+}
+
+static inline void hri_tccount32_set_COUNT_COUNT_bf(const void *const hw, hri_tccount32_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.COUNT.reg |= TC_COUNT32_COUNT_COUNT(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount32_count_reg_t hri_tccount32_get_COUNT_COUNT_bf(const void *const hw,
+ hri_tccount32_count_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ tmp = ((Tc *)hw)->COUNT32.COUNT.reg;
+ tmp = (tmp & TC_COUNT32_COUNT_COUNT(mask)) >> TC_COUNT32_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount32_write_COUNT_COUNT_bf(const void *const hw, hri_tccount32_count_reg_t data)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT32.COUNT.reg;
+ tmp &= ~TC_COUNT32_COUNT_COUNT_Msk;
+ tmp |= TC_COUNT32_COUNT_COUNT(data);
+ ((Tc *)hw)->COUNT32.COUNT.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount32_clear_COUNT_COUNT_bf(const void *const hw, hri_tccount32_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.COUNT.reg &= ~TC_COUNT32_COUNT_COUNT(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount32_toggle_COUNT_COUNT_bf(const void *const hw, hri_tccount32_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.COUNT.reg ^= TC_COUNT32_COUNT_COUNT(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount32_count_reg_t hri_tccount32_read_COUNT_COUNT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ tmp = ((Tc *)hw)->COUNT32.COUNT.reg;
+ tmp = (tmp & TC_COUNT32_COUNT_COUNT_Msk) >> TC_COUNT32_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount32_set_COUNT_reg(const void *const hw, hri_tccount32_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.COUNT.reg |= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount32_count_reg_t hri_tccount32_get_COUNT_reg(const void *const hw,
+ hri_tccount32_count_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ tmp = ((Tc *)hw)->COUNT32.COUNT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tccount32_write_COUNT_reg(const void *const hw, hri_tccount32_count_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.COUNT.reg = data;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount32_clear_COUNT_reg(const void *const hw, hri_tccount32_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.COUNT.reg &= ~mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount32_toggle_COUNT_reg(const void *const hw, hri_tccount32_count_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.COUNT.reg ^= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount32_count_reg_t hri_tccount32_read_COUNT_reg(const void *const hw)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_COUNT);
+ return ((Tc *)hw)->COUNT32.COUNT.reg;
+}
+
+static inline void hri_tccount8_set_PER_PER_bf(const void *const hw, hri_tccount8_per_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.PER.reg |= TC_COUNT8_PER_PER(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_per_reg_t hri_tccount8_get_PER_PER_bf(const void *const hw, hri_tccount8_per_reg_t mask)
+{
+ uint8_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER);
+ tmp = ((Tc *)hw)->COUNT8.PER.reg;
+ tmp = (tmp & TC_COUNT8_PER_PER(mask)) >> TC_COUNT8_PER_PER_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount8_write_PER_PER_bf(const void *const hw, hri_tccount8_per_reg_t data)
+{
+ uint8_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT8.PER.reg;
+ tmp &= ~TC_COUNT8_PER_PER_Msk;
+ tmp |= TC_COUNT8_PER_PER(data);
+ ((Tc *)hw)->COUNT8.PER.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_clear_PER_PER_bf(const void *const hw, hri_tccount8_per_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.PER.reg &= ~TC_COUNT8_PER_PER(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_toggle_PER_PER_bf(const void *const hw, hri_tccount8_per_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.PER.reg ^= TC_COUNT8_PER_PER(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_per_reg_t hri_tccount8_read_PER_PER_bf(const void *const hw)
+{
+ uint8_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER);
+ tmp = ((Tc *)hw)->COUNT8.PER.reg;
+ tmp = (tmp & TC_COUNT8_PER_PER_Msk) >> TC_COUNT8_PER_PER_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount8_set_PER_reg(const void *const hw, hri_tccount8_per_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.PER.reg |= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_per_reg_t hri_tccount8_get_PER_reg(const void *const hw, hri_tccount8_per_reg_t mask)
+{
+ uint8_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER);
+ tmp = ((Tc *)hw)->COUNT8.PER.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tccount8_write_PER_reg(const void *const hw, hri_tccount8_per_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.PER.reg = data;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_clear_PER_reg(const void *const hw, hri_tccount8_per_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.PER.reg &= ~mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_toggle_PER_reg(const void *const hw, hri_tccount8_per_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.PER.reg ^= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_per_reg_t hri_tccount8_read_PER_reg(const void *const hw)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_PER);
+ return ((Tc *)hw)->COUNT8.PER.reg;
+}
+
+static inline void hri_tccount8_set_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.CC[index].reg |= TC_COUNT8_CC_CC(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_cc_reg_t hri_tccount8_get_CC_CC_bf(const void *const hw, uint8_t index,
+ hri_tccount8_cc_reg_t mask)
+{
+ uint8_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ tmp = ((Tc *)hw)->COUNT8.CC[index].reg;
+ tmp = (tmp & TC_COUNT8_CC_CC(mask)) >> TC_COUNT8_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount8_write_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t data)
+{
+ uint8_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT8.CC[index].reg;
+ tmp &= ~TC_COUNT8_CC_CC_Msk;
+ tmp |= TC_COUNT8_CC_CC(data);
+ ((Tc *)hw)->COUNT8.CC[index].reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_clear_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.CC[index].reg &= ~TC_COUNT8_CC_CC(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_toggle_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.CC[index].reg ^= TC_COUNT8_CC_CC(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_cc_reg_t hri_tccount8_read_CC_CC_bf(const void *const hw, uint8_t index)
+{
+ uint8_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ tmp = ((Tc *)hw)->COUNT8.CC[index].reg;
+ tmp = (tmp & TC_COUNT8_CC_CC_Msk) >> TC_COUNT8_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount8_set_CC_reg(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.CC[index].reg |= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_cc_reg_t hri_tccount8_get_CC_reg(const void *const hw, uint8_t index,
+ hri_tccount8_cc_reg_t mask)
+{
+ uint8_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ tmp = ((Tc *)hw)->COUNT8.CC[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tccount8_write_CC_reg(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.CC[index].reg = data;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_clear_CC_reg(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.CC[index].reg &= ~mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_toggle_CC_reg(const void *const hw, uint8_t index, hri_tccount8_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.CC[index].reg ^= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_cc_reg_t hri_tccount8_read_CC_reg(const void *const hw, uint8_t index)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ return ((Tc *)hw)->COUNT8.CC[index].reg;
+}
+
+static inline void hri_tccount16_set_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CC[index].reg |= TC_COUNT16_CC_CC(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount16_cc_reg_t hri_tccount16_get_CC_CC_bf(const void *const hw, uint8_t index,
+ hri_tccount16_cc_reg_t mask)
+{
+ uint16_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ tmp = ((Tc *)hw)->COUNT16.CC[index].reg;
+ tmp = (tmp & TC_COUNT16_CC_CC(mask)) >> TC_COUNT16_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount16_write_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t data)
+{
+ uint16_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.CC[index].reg;
+ tmp &= ~TC_COUNT16_CC_CC_Msk;
+ tmp |= TC_COUNT16_CC_CC(data);
+ ((Tc *)hw)->COUNT16.CC[index].reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount16_clear_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CC[index].reg &= ~TC_COUNT16_CC_CC(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount16_toggle_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CC[index].reg ^= TC_COUNT16_CC_CC(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount16_cc_reg_t hri_tccount16_read_CC_CC_bf(const void *const hw, uint8_t index)
+{
+ uint16_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ tmp = ((Tc *)hw)->COUNT16.CC[index].reg;
+ tmp = (tmp & TC_COUNT16_CC_CC_Msk) >> TC_COUNT16_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount16_set_CC_reg(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CC[index].reg |= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount16_cc_reg_t hri_tccount16_get_CC_reg(const void *const hw, uint8_t index,
+ hri_tccount16_cc_reg_t mask)
+{
+ uint16_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ tmp = ((Tc *)hw)->COUNT16.CC[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tccount16_write_CC_reg(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CC[index].reg = data;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount16_clear_CC_reg(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CC[index].reg &= ~mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount16_toggle_CC_reg(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CC[index].reg ^= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount16_cc_reg_t hri_tccount16_read_CC_reg(const void *const hw, uint8_t index)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ return ((Tc *)hw)->COUNT16.CC[index].reg;
+}
+
+static inline void hri_tccount32_set_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.CC[index].reg |= TC_COUNT32_CC_CC(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount32_cc_reg_t hri_tccount32_get_CC_CC_bf(const void *const hw, uint8_t index,
+ hri_tccount32_cc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT32.CC[index].reg;
+ tmp = (tmp & TC_COUNT32_CC_CC(mask)) >> TC_COUNT32_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount32_write_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t data)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT32.CC[index].reg;
+ tmp &= ~TC_COUNT32_CC_CC_Msk;
+ tmp |= TC_COUNT32_CC_CC(data);
+ ((Tc *)hw)->COUNT32.CC[index].reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount32_clear_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.CC[index].reg &= ~TC_COUNT32_CC_CC(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount32_toggle_CC_CC_bf(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.CC[index].reg ^= TC_COUNT32_CC_CC(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount32_cc_reg_t hri_tccount32_read_CC_CC_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT32.CC[index].reg;
+ tmp = (tmp & TC_COUNT32_CC_CC_Msk) >> TC_COUNT32_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount32_set_CC_reg(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.CC[index].reg |= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount32_cc_reg_t hri_tccount32_get_CC_reg(const void *const hw, uint8_t index,
+ hri_tccount32_cc_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ tmp = ((Tc *)hw)->COUNT32.CC[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tccount32_write_CC_reg(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.CC[index].reg = data;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount32_clear_CC_reg(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.CC[index].reg &= ~mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount32_toggle_CC_reg(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.CC[index].reg ^= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount32_cc_reg_t hri_tccount32_read_CC_reg(const void *const hw, uint8_t index)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_CC0 | TC_SYNCBUSY_CC1);
+ return ((Tc *)hw)->COUNT32.CC[index].reg;
+}
+
+static inline void hri_tccount8_set_PERBUF_PERBUF_bf(const void *const hw, hri_tccount8_perbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.PERBUF.reg |= TC_COUNT8_PERBUF_PERBUF(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_perbuf_reg_t hri_tccount8_get_PERBUF_PERBUF_bf(const void *const hw,
+ hri_tccount8_perbuf_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT8.PERBUF.reg;
+ tmp = (tmp & TC_COUNT8_PERBUF_PERBUF(mask)) >> TC_COUNT8_PERBUF_PERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount8_write_PERBUF_PERBUF_bf(const void *const hw, hri_tccount8_perbuf_reg_t data)
+{
+ uint8_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT8.PERBUF.reg;
+ tmp &= ~TC_COUNT8_PERBUF_PERBUF_Msk;
+ tmp |= TC_COUNT8_PERBUF_PERBUF(data);
+ ((Tc *)hw)->COUNT8.PERBUF.reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_clear_PERBUF_PERBUF_bf(const void *const hw, hri_tccount8_perbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.PERBUF.reg &= ~TC_COUNT8_PERBUF_PERBUF(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_toggle_PERBUF_PERBUF_bf(const void *const hw, hri_tccount8_perbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.PERBUF.reg ^= TC_COUNT8_PERBUF_PERBUF(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_perbuf_reg_t hri_tccount8_read_PERBUF_PERBUF_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT8.PERBUF.reg;
+ tmp = (tmp & TC_COUNT8_PERBUF_PERBUF_Msk) >> TC_COUNT8_PERBUF_PERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount8_set_PERBUF_reg(const void *const hw, hri_tccount8_perbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.PERBUF.reg |= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_perbuf_reg_t hri_tccount8_get_PERBUF_reg(const void *const hw,
+ hri_tccount8_perbuf_reg_t mask)
+{
+ uint8_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ tmp = ((Tc *)hw)->COUNT8.PERBUF.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tccount8_write_PERBUF_reg(const void *const hw, hri_tccount8_perbuf_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.PERBUF.reg = data;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_clear_PERBUF_reg(const void *const hw, hri_tccount8_perbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.PERBUF.reg &= ~mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_toggle_PERBUF_reg(const void *const hw, hri_tccount8_perbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.PERBUF.reg ^= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_perbuf_reg_t hri_tccount8_read_PERBUF_reg(const void *const hw)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ return ((Tc *)hw)->COUNT8.PERBUF.reg;
+}
+
+static inline void hri_tccount8_set_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tccount8_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.CCBUF[index].reg |= TC_COUNT8_CCBUF_CCBUF(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_ccbuf_reg_t hri_tccount8_get_CCBUF_CCBUF_bf(const void *const hw, uint8_t index,
+ hri_tccount8_ccbuf_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT8.CCBUF[index].reg;
+ tmp = (tmp & TC_COUNT8_CCBUF_CCBUF(mask)) >> TC_COUNT8_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount8_write_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tccount8_ccbuf_reg_t data)
+{
+ uint8_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT8.CCBUF[index].reg;
+ tmp &= ~TC_COUNT8_CCBUF_CCBUF_Msk;
+ tmp |= TC_COUNT8_CCBUF_CCBUF(data);
+ ((Tc *)hw)->COUNT8.CCBUF[index].reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_clear_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tccount8_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.CCBUF[index].reg &= ~TC_COUNT8_CCBUF_CCBUF(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_toggle_CCBUF_CCBUF_bf(const void *const hw, uint8_t index,
+ hri_tccount8_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.CCBUF[index].reg ^= TC_COUNT8_CCBUF_CCBUF(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_ccbuf_reg_t hri_tccount8_read_CCBUF_CCBUF_bf(const void *const hw, uint8_t index)
+{
+ uint8_t tmp;
+ tmp = ((Tc *)hw)->COUNT8.CCBUF[index].reg;
+ tmp = (tmp & TC_COUNT8_CCBUF_CCBUF_Msk) >> TC_COUNT8_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount8_set_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount8_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.CCBUF[index].reg |= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_ccbuf_reg_t hri_tccount8_get_CCBUF_reg(const void *const hw, uint8_t index,
+ hri_tccount8_ccbuf_reg_t mask)
+{
+ uint8_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ tmp = ((Tc *)hw)->COUNT8.CCBUF[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tccount8_write_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount8_ccbuf_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.CCBUF[index].reg = data;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_clear_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount8_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.CCBUF[index].reg &= ~mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount8_toggle_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount8_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT8.CCBUF[index].reg ^= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount8_ccbuf_reg_t hri_tccount8_read_CCBUF_reg(const void *const hw, uint8_t index)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ return ((Tc *)hw)->COUNT8.CCBUF[index].reg;
+}
+
+static inline void hri_tccount16_set_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tccount16_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CCBUF[index].reg |= TC_COUNT16_CCBUF_CCBUF(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount16_ccbuf_reg_t hri_tccount16_get_CCBUF_CCBUF_bf(const void *const hw, uint8_t index,
+ hri_tccount16_ccbuf_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CCBUF[index].reg;
+ tmp = (tmp & TC_COUNT16_CCBUF_CCBUF(mask)) >> TC_COUNT16_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount16_write_CCBUF_CCBUF_bf(const void *const hw, uint8_t index,
+ hri_tccount16_ccbuf_reg_t data)
+{
+ uint16_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT16.CCBUF[index].reg;
+ tmp &= ~TC_COUNT16_CCBUF_CCBUF_Msk;
+ tmp |= TC_COUNT16_CCBUF_CCBUF(data);
+ ((Tc *)hw)->COUNT16.CCBUF[index].reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount16_clear_CCBUF_CCBUF_bf(const void *const hw, uint8_t index,
+ hri_tccount16_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CCBUF[index].reg &= ~TC_COUNT16_CCBUF_CCBUF(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount16_toggle_CCBUF_CCBUF_bf(const void *const hw, uint8_t index,
+ hri_tccount16_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CCBUF[index].reg ^= TC_COUNT16_CCBUF_CCBUF(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount16_ccbuf_reg_t hri_tccount16_read_CCBUF_CCBUF_bf(const void *const hw, uint8_t index)
+{
+ uint16_t tmp;
+ tmp = ((Tc *)hw)->COUNT16.CCBUF[index].reg;
+ tmp = (tmp & TC_COUNT16_CCBUF_CCBUF_Msk) >> TC_COUNT16_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount16_set_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount16_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CCBUF[index].reg |= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount16_ccbuf_reg_t hri_tccount16_get_CCBUF_reg(const void *const hw, uint8_t index,
+ hri_tccount16_ccbuf_reg_t mask)
+{
+ uint16_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ tmp = ((Tc *)hw)->COUNT16.CCBUF[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tccount16_write_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount16_ccbuf_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CCBUF[index].reg = data;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount16_clear_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount16_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CCBUF[index].reg &= ~mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount16_toggle_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount16_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.CCBUF[index].reg ^= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount16_ccbuf_reg_t hri_tccount16_read_CCBUF_reg(const void *const hw, uint8_t index)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ return ((Tc *)hw)->COUNT16.CCBUF[index].reg;
+}
+
+static inline void hri_tccount32_set_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tccount32_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.CCBUF[index].reg |= TC_COUNT32_CCBUF_CCBUF(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount32_ccbuf_reg_t hri_tccount32_get_CCBUF_CCBUF_bf(const void *const hw, uint8_t index,
+ hri_tccount32_ccbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT32.CCBUF[index].reg;
+ tmp = (tmp & TC_COUNT32_CCBUF_CCBUF(mask)) >> TC_COUNT32_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount32_write_CCBUF_CCBUF_bf(const void *const hw, uint8_t index,
+ hri_tccount32_ccbuf_reg_t data)
+{
+ uint32_t tmp;
+ TC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tc *)hw)->COUNT32.CCBUF[index].reg;
+ tmp &= ~TC_COUNT32_CCBUF_CCBUF_Msk;
+ tmp |= TC_COUNT32_CCBUF_CCBUF(data);
+ ((Tc *)hw)->COUNT32.CCBUF[index].reg = tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount32_clear_CCBUF_CCBUF_bf(const void *const hw, uint8_t index,
+ hri_tccount32_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.CCBUF[index].reg &= ~TC_COUNT32_CCBUF_CCBUF(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount32_toggle_CCBUF_CCBUF_bf(const void *const hw, uint8_t index,
+ hri_tccount32_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.CCBUF[index].reg ^= TC_COUNT32_CCBUF_CCBUF(mask);
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount32_ccbuf_reg_t hri_tccount32_read_CCBUF_CCBUF_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tc *)hw)->COUNT32.CCBUF[index].reg;
+ tmp = (tmp & TC_COUNT32_CCBUF_CCBUF_Msk) >> TC_COUNT32_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tccount32_set_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount32_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.CCBUF[index].reg |= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount32_ccbuf_reg_t hri_tccount32_get_CCBUF_reg(const void *const hw, uint8_t index,
+ hri_tccount32_ccbuf_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ tmp = ((Tc *)hw)->COUNT32.CCBUF[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tccount32_write_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount32_ccbuf_reg_t data)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.CCBUF[index].reg = data;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount32_clear_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount32_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.CCBUF[index].reg &= ~mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tccount32_toggle_CCBUF_reg(const void *const hw, uint8_t index, hri_tccount32_ccbuf_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT32.CCBUF[index].reg ^= mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tccount32_ccbuf_reg_t hri_tccount32_read_CCBUF_reg(const void *const hw, uint8_t index)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ return ((Tc *)hw)->COUNT32.CCBUF[index].reg;
+}
+
+static inline bool hri_tc_get_STATUS_STOP_bit(const void *const hw)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ return (((Tc *)hw)->COUNT16.STATUS.reg & TC_STATUS_STOP) >> TC_STATUS_STOP_Pos;
+}
+
+static inline void hri_tc_clear_STATUS_STOP_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.STATUS.reg = TC_STATUS_STOP;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_STATUS_SLAVE_bit(const void *const hw)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ return (((Tc *)hw)->COUNT16.STATUS.reg & TC_STATUS_SLAVE) >> TC_STATUS_SLAVE_Pos;
+}
+
+static inline void hri_tc_clear_STATUS_SLAVE_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.STATUS.reg = TC_STATUS_SLAVE;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_STATUS_PERBUFV_bit(const void *const hw)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ return (((Tc *)hw)->COUNT16.STATUS.reg & TC_STATUS_PERBUFV) >> TC_STATUS_PERBUFV_Pos;
+}
+
+static inline void hri_tc_clear_STATUS_PERBUFV_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.STATUS.reg = TC_STATUS_PERBUFV;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_STATUS_CCBUFV0_bit(const void *const hw)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ return (((Tc *)hw)->COUNT16.STATUS.reg & TC_STATUS_CCBUFV0) >> TC_STATUS_CCBUFV0_Pos;
+}
+
+static inline void hri_tc_clear_STATUS_CCBUFV0_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.STATUS.reg = TC_STATUS_CCBUFV0;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tc_get_STATUS_CCBUFV1_bit(const void *const hw)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ return (((Tc *)hw)->COUNT16.STATUS.reg & TC_STATUS_CCBUFV1) >> TC_STATUS_CCBUFV1_Pos;
+}
+
+static inline void hri_tc_clear_STATUS_CCBUFV1_bit(const void *const hw)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.STATUS.reg = TC_STATUS_CCBUFV1;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_status_reg_t hri_tc_get_STATUS_reg(const void *const hw, hri_tc_status_reg_t mask)
+{
+ uint8_t tmp;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ tmp = ((Tc *)hw)->COUNT16.STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tc_clear_STATUS_reg(const void *const hw, hri_tc_status_reg_t mask)
+{
+ TC_CRITICAL_SECTION_ENTER();
+ ((Tc *)hw)->COUNT16.STATUS.reg = mask;
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ TC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tc_status_reg_t hri_tc_read_STATUS_reg(const void *const hw)
+{
+ hri_tc_wait_for_sync(hw, TC_SYNCBUSY_MASK);
+ return ((Tc *)hw)->COUNT16.STATUS.reg;
+}
+
+/* Below section is for legacy hri apis name, not recommended to use below left side apis in application */
+#define hri_tc_set_PER_PER_bf(a, b) hri_tccount8_set_PER_PER_bf(a, b)
+#define hri_tc_get_PER_PER_bf(a, b) hri_tccount8_get_PER_PER_bf(a, b)
+#define hri_tc_write_PER_PER_bf(a, b) hri_tccount8_write_PER_PER_bf(a, b)
+#define hri_tc_clear_PER_PER_bf(a, b) hri_tccount8_clear_PER_PER_bf(a, b)
+#define hri_tc_toggle_PER_PER_bf(a, b) hri_tccount8_toggle_PER_PER_bf(a, b)
+#define hri_tc_read_PER_PER_bf(a) hri_tccount8_read_PER_PER_bf(a)
+#define hri_tc_set_PER_reg(a, b) hri_tccount8_set_PER_reg(a, b)
+#define hri_tc_get_PER_reg(a, b) hri_tccount8_get_PER_reg(a, b)
+#define hri_tc_write_PER_reg(a, b) hri_tccount8_write_PER_reg(a, b)
+#define hri_tc_clear_PER_reg(a, b) hri_tccount8_clear_PER_reg(a, b)
+#define hri_tc_toggle_PER_reg(a, b) hri_tccount8_toggle_PER_reg(a, b)
+#define hri_tc_read_PER_reg(a) hri_tccount8_read_PER_reg(a)
+#define hri_tc_set_PERBUF_PERBUF_bf(a, b) hri_tccount8_set_PERBUF_PERBUF_bf(a, b)
+#define hri_tc_get_PERBUF_PERBUF_bf(a, b) hri_tccount8_get_PERBUF_PERBUF_bf(a, b)
+#define hri_tc_write_PERBUF_PERBUF_bf(a, b) hri_tccount8_write_PERBUF_PERBUF_bf(a, b)
+#define hri_tc_clear_PERBUF_PERBUF_bf(a, b) hri_tccount8_clear_PERBUF_PERBUF_bf(a, b)
+#define hri_tc_toggle_PERBUF_PERBUF_bf(a, b) hri_tccount8_toggle_PERBUF_PERBUF_bf(a, b)
+#define hri_tc_read_PERBUF_PERBUF_bf(a) hri_tccount8_read_PERBUF_PERBUF_bf(a)
+#define hri_tc_set_PERBUF_reg(a, b) hri_tccount8_set_PERBUF_reg(a, b)
+#define hri_tc_get_PERBUF_reg(a, b) hri_tccount8_get_PERBUF_reg(a, b)
+#define hri_tc_write_PERBUF_reg(a, b) hri_tccount8_write_PERBUF_reg(a, b)
+#define hri_tc_clear_PERBUF_reg(a, b) hri_tccount8_clear_PERBUF_reg(a, b)
+#define hri_tc_toggle_PERBUF_reg(a, b) hri_tccount8_toggle_PERBUF_reg(a, b)
+#define hri_tc_read_PERBUF_reg(a) hri_tccount8_read_PERBUF_reg(a)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_TC_E54_H_INCLUDED */
+#endif /* _SAME54_TC_COMPONENT_ */
diff --git a/hri/hri_tcc_e54.h b/hri/hri_tcc_e54.h
new file mode 100644
index 0000000..55f46bd
--- /dev/null
+++ b/hri/hri_tcc_e54.h
@@ -0,0 +1,9992 @@
+/**
+ * \file
+ *
+ * \brief SAM TCC
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_TCC_COMPONENT_
+#ifndef _HRI_TCC_E54_H_INCLUDED_
+#define _HRI_TCC_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_TCC_CRITICAL_SECTIONS)
+#define TCC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define TCC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define TCC_CRITICAL_SECTION_ENTER()
+#define TCC_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_tcc_patt_reg_t;
+typedef uint16_t hri_tcc_pattbuf_reg_t;
+typedef uint32_t hri_tcc_cc_reg_t;
+typedef uint32_t hri_tcc_ccbuf_reg_t;
+typedef uint32_t hri_tcc_count_reg_t;
+typedef uint32_t hri_tcc_ctrla_reg_t;
+typedef uint32_t hri_tcc_drvctrl_reg_t;
+typedef uint32_t hri_tcc_evctrl_reg_t;
+typedef uint32_t hri_tcc_fctrla_reg_t;
+typedef uint32_t hri_tcc_fctrlb_reg_t;
+typedef uint32_t hri_tcc_intenset_reg_t;
+typedef uint32_t hri_tcc_intflag_reg_t;
+typedef uint32_t hri_tcc_per_reg_t;
+typedef uint32_t hri_tcc_perbuf_reg_t;
+typedef uint32_t hri_tcc_status_reg_t;
+typedef uint32_t hri_tcc_syncbusy_reg_t;
+typedef uint32_t hri_tcc_wave_reg_t;
+typedef uint32_t hri_tcc_wexctrl_reg_t;
+typedef uint8_t hri_tcc_ctrlbset_reg_t;
+typedef uint8_t hri_tcc_dbgctrl_reg_t;
+
+static inline void hri_tcc_wait_for_sync(const void *const hw, hri_tcc_syncbusy_reg_t reg)
+{
+ while (((Tcc *)hw)->SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_tcc_is_syncing(const void *const hw, hri_tcc_syncbusy_reg_t reg)
+{
+ return ((Tcc *)hw)->SYNCBUSY.reg & reg;
+}
+
+static inline bool hri_tcc_get_INTFLAG_OVF_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_OVF) >> TCC_INTFLAG_OVF_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_OVF_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_OVF;
+}
+
+static inline bool hri_tcc_get_INTFLAG_TRG_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_TRG) >> TCC_INTFLAG_TRG_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_TRG_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_TRG;
+}
+
+static inline bool hri_tcc_get_INTFLAG_CNT_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_CNT) >> TCC_INTFLAG_CNT_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_CNT_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_CNT;
+}
+
+static inline bool hri_tcc_get_INTFLAG_ERR_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_ERR) >> TCC_INTFLAG_ERR_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_ERR_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_ERR;
+}
+
+static inline bool hri_tcc_get_INTFLAG_UFS_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_UFS) >> TCC_INTFLAG_UFS_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_UFS_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_UFS;
+}
+
+static inline bool hri_tcc_get_INTFLAG_DFS_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_DFS) >> TCC_INTFLAG_DFS_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_DFS_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_DFS;
+}
+
+static inline bool hri_tcc_get_INTFLAG_FAULTA_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULTA) >> TCC_INTFLAG_FAULTA_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_FAULTA_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULTA;
+}
+
+static inline bool hri_tcc_get_INTFLAG_FAULTB_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULTB) >> TCC_INTFLAG_FAULTB_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_FAULTB_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULTB;
+}
+
+static inline bool hri_tcc_get_INTFLAG_FAULT0_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULT0) >> TCC_INTFLAG_FAULT0_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_FAULT0_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULT0;
+}
+
+static inline bool hri_tcc_get_INTFLAG_FAULT1_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULT1) >> TCC_INTFLAG_FAULT1_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_FAULT1_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULT1;
+}
+
+static inline bool hri_tcc_get_INTFLAG_MC0_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC0) >> TCC_INTFLAG_MC0_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_MC0_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC0;
+}
+
+static inline bool hri_tcc_get_INTFLAG_MC1_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC1) >> TCC_INTFLAG_MC1_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_MC1_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC1;
+}
+
+static inline bool hri_tcc_get_INTFLAG_MC2_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC2) >> TCC_INTFLAG_MC2_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_MC2_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC2;
+}
+
+static inline bool hri_tcc_get_INTFLAG_MC3_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC3) >> TCC_INTFLAG_MC3_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_MC3_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC3;
+}
+
+static inline bool hri_tcc_get_INTFLAG_MC4_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC4) >> TCC_INTFLAG_MC4_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_MC4_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC4;
+}
+
+static inline bool hri_tcc_get_INTFLAG_MC5_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC5) >> TCC_INTFLAG_MC5_Pos;
+}
+
+static inline void hri_tcc_clear_INTFLAG_MC5_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC5;
+}
+
+static inline bool hri_tcc_get_interrupt_OVF_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_OVF) >> TCC_INTFLAG_OVF_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_OVF_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_OVF;
+}
+
+static inline bool hri_tcc_get_interrupt_TRG_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_TRG) >> TCC_INTFLAG_TRG_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_TRG_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_TRG;
+}
+
+static inline bool hri_tcc_get_interrupt_CNT_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_CNT) >> TCC_INTFLAG_CNT_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_CNT_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_CNT;
+}
+
+static inline bool hri_tcc_get_interrupt_ERR_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_ERR) >> TCC_INTFLAG_ERR_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_ERR_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_ERR;
+}
+
+static inline bool hri_tcc_get_interrupt_UFS_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_UFS) >> TCC_INTFLAG_UFS_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_UFS_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_UFS;
+}
+
+static inline bool hri_tcc_get_interrupt_DFS_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_DFS) >> TCC_INTFLAG_DFS_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_DFS_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_DFS;
+}
+
+static inline bool hri_tcc_get_interrupt_FAULTA_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULTA) >> TCC_INTFLAG_FAULTA_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_FAULTA_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULTA;
+}
+
+static inline bool hri_tcc_get_interrupt_FAULTB_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULTB) >> TCC_INTFLAG_FAULTB_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_FAULTB_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULTB;
+}
+
+static inline bool hri_tcc_get_interrupt_FAULT0_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULT0) >> TCC_INTFLAG_FAULT0_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_FAULT0_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULT0;
+}
+
+static inline bool hri_tcc_get_interrupt_FAULT1_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_FAULT1) >> TCC_INTFLAG_FAULT1_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_FAULT1_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_FAULT1;
+}
+
+static inline bool hri_tcc_get_interrupt_MC0_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC0) >> TCC_INTFLAG_MC0_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_MC0_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC0;
+}
+
+static inline bool hri_tcc_get_interrupt_MC1_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC1) >> TCC_INTFLAG_MC1_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_MC1_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC1;
+}
+
+static inline bool hri_tcc_get_interrupt_MC2_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC2) >> TCC_INTFLAG_MC2_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_MC2_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC2;
+}
+
+static inline bool hri_tcc_get_interrupt_MC3_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC3) >> TCC_INTFLAG_MC3_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_MC3_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC3;
+}
+
+static inline bool hri_tcc_get_interrupt_MC4_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC4) >> TCC_INTFLAG_MC4_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_MC4_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC4;
+}
+
+static inline bool hri_tcc_get_interrupt_MC5_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTFLAG.reg & TCC_INTFLAG_MC5) >> TCC_INTFLAG_MC5_Pos;
+}
+
+static inline void hri_tcc_clear_interrupt_MC5_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTFLAG.reg = TCC_INTFLAG_MC5;
+}
+
+static inline hri_tcc_intflag_reg_t hri_tcc_get_INTFLAG_reg(const void *const hw, hri_tcc_intflag_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_tcc_intflag_reg_t hri_tcc_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Tcc *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_tcc_clear_INTFLAG_reg(const void *const hw, hri_tcc_intflag_reg_t mask)
+{
+ ((Tcc *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_tcc_set_CTRLB_DIR_bit(const void *const hw)
+{
+ ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_DIR;
+}
+
+static inline bool hri_tcc_get_CTRLB_DIR_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->CTRLBSET.reg & TCC_CTRLBSET_DIR) >> TCC_CTRLBSET_DIR_Pos;
+}
+
+static inline void hri_tcc_write_CTRLB_DIR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_DIR;
+ } else {
+ ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_DIR;
+ }
+}
+
+static inline void hri_tcc_clear_CTRLB_DIR_bit(const void *const hw)
+{
+ ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_DIR;
+}
+
+static inline void hri_tcc_set_CTRLB_LUPD_bit(const void *const hw)
+{
+ ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_LUPD;
+}
+
+static inline bool hri_tcc_get_CTRLB_LUPD_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->CTRLBSET.reg & TCC_CTRLBSET_LUPD) >> TCC_CTRLBSET_LUPD_Pos;
+}
+
+static inline void hri_tcc_write_CTRLB_LUPD_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_LUPD;
+ } else {
+ ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_LUPD;
+ }
+}
+
+static inline void hri_tcc_clear_CTRLB_LUPD_bit(const void *const hw)
+{
+ ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_LUPD;
+}
+
+static inline void hri_tcc_set_CTRLB_ONESHOT_bit(const void *const hw)
+{
+ ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_ONESHOT;
+}
+
+static inline bool hri_tcc_get_CTRLB_ONESHOT_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->CTRLBSET.reg & TCC_CTRLBSET_ONESHOT) >> TCC_CTRLBSET_ONESHOT_Pos;
+}
+
+static inline void hri_tcc_write_CTRLB_ONESHOT_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_ONESHOT;
+ } else {
+ ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_ONESHOT;
+ }
+}
+
+static inline void hri_tcc_clear_CTRLB_ONESHOT_bit(const void *const hw)
+{
+ ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_ONESHOT;
+}
+
+static inline void hri_tcc_set_CTRLB_IDXCMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t mask)
+{
+ ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_IDXCMD(mask);
+}
+
+static inline hri_tcc_ctrlbset_reg_t hri_tcc_get_CTRLB_IDXCMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Tcc *)hw)->CTRLBSET.reg;
+ tmp = (tmp & TCC_CTRLBSET_IDXCMD(mask)) >> TCC_CTRLBSET_IDXCMD_Pos;
+ return tmp;
+}
+
+static inline hri_tcc_ctrlbset_reg_t hri_tcc_read_CTRLB_IDXCMD_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Tcc *)hw)->CTRLBSET.reg;
+ tmp = (tmp & TCC_CTRLBSET_IDXCMD_Msk) >> TCC_CTRLBSET_IDXCMD_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CTRLB_IDXCMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t data)
+{
+ ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_IDXCMD(data);
+ ((Tcc *)hw)->CTRLBCLR.reg = ~TCC_CTRLBSET_IDXCMD(data);
+}
+
+static inline void hri_tcc_clear_CTRLB_IDXCMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t mask)
+{
+ ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_IDXCMD(mask);
+}
+
+static inline void hri_tcc_set_CTRLB_CMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t mask)
+{
+ ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_CMD(mask);
+}
+
+static inline hri_tcc_ctrlbset_reg_t hri_tcc_get_CTRLB_CMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Tcc *)hw)->CTRLBSET.reg;
+ tmp = (tmp & TCC_CTRLBSET_CMD(mask)) >> TCC_CTRLBSET_CMD_Pos;
+ return tmp;
+}
+
+static inline hri_tcc_ctrlbset_reg_t hri_tcc_read_CTRLB_CMD_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Tcc *)hw)->CTRLBSET.reg;
+ tmp = (tmp & TCC_CTRLBSET_CMD_Msk) >> TCC_CTRLBSET_CMD_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CTRLB_CMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t data)
+{
+ ((Tcc *)hw)->CTRLBSET.reg = TCC_CTRLBSET_CMD(data);
+ ((Tcc *)hw)->CTRLBCLR.reg = ~TCC_CTRLBSET_CMD(data);
+}
+
+static inline void hri_tcc_clear_CTRLB_CMD_bf(const void *const hw, hri_tcc_ctrlbset_reg_t mask)
+{
+ ((Tcc *)hw)->CTRLBCLR.reg = TCC_CTRLBSET_CMD(mask);
+}
+
+static inline void hri_tcc_set_CTRLB_reg(const void *const hw, hri_tcc_ctrlbset_reg_t mask)
+{
+ ((Tcc *)hw)->CTRLBSET.reg = mask;
+}
+
+static inline hri_tcc_ctrlbset_reg_t hri_tcc_get_CTRLB_reg(const void *const hw, hri_tcc_ctrlbset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Tcc *)hw)->CTRLBSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_tcc_ctrlbset_reg_t hri_tcc_read_CTRLB_reg(const void *const hw)
+{
+ return ((Tcc *)hw)->CTRLBSET.reg;
+}
+
+static inline void hri_tcc_write_CTRLB_reg(const void *const hw, hri_tcc_ctrlbset_reg_t data)
+{
+ ((Tcc *)hw)->CTRLBSET.reg = data;
+ ((Tcc *)hw)->CTRLBCLR.reg = ~data;
+}
+
+static inline void hri_tcc_clear_CTRLB_reg(const void *const hw, hri_tcc_ctrlbset_reg_t mask)
+{
+ ((Tcc *)hw)->CTRLBCLR.reg = mask;
+}
+
+static inline void hri_tcc_set_INTEN_OVF_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_OVF;
+}
+
+static inline bool hri_tcc_get_INTEN_OVF_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_OVF) >> TCC_INTENSET_OVF_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_OVF_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_OVF;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_OVF;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_OVF_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_OVF;
+}
+
+static inline void hri_tcc_set_INTEN_TRG_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_TRG;
+}
+
+static inline bool hri_tcc_get_INTEN_TRG_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_TRG) >> TCC_INTENSET_TRG_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_TRG_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_TRG;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_TRG;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_TRG_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_TRG;
+}
+
+static inline void hri_tcc_set_INTEN_CNT_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_CNT;
+}
+
+static inline bool hri_tcc_get_INTEN_CNT_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_CNT) >> TCC_INTENSET_CNT_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_CNT_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_CNT;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_CNT;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_CNT_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_CNT;
+}
+
+static inline void hri_tcc_set_INTEN_ERR_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_ERR;
+}
+
+static inline bool hri_tcc_get_INTEN_ERR_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_ERR) >> TCC_INTENSET_ERR_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_ERR_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_ERR;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_ERR;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_ERR_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_ERR;
+}
+
+static inline void hri_tcc_set_INTEN_UFS_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_UFS;
+}
+
+static inline bool hri_tcc_get_INTEN_UFS_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_UFS) >> TCC_INTENSET_UFS_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_UFS_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_UFS;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_UFS;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_UFS_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_UFS;
+}
+
+static inline void hri_tcc_set_INTEN_DFS_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_DFS;
+}
+
+static inline bool hri_tcc_get_INTEN_DFS_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_DFS) >> TCC_INTENSET_DFS_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_DFS_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_DFS;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_DFS;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_DFS_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_DFS;
+}
+
+static inline void hri_tcc_set_INTEN_FAULTA_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULTA;
+}
+
+static inline bool hri_tcc_get_INTEN_FAULTA_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_FAULTA) >> TCC_INTENSET_FAULTA_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_FAULTA_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULTA;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULTA;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_FAULTA_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULTA;
+}
+
+static inline void hri_tcc_set_INTEN_FAULTB_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULTB;
+}
+
+static inline bool hri_tcc_get_INTEN_FAULTB_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_FAULTB) >> TCC_INTENSET_FAULTB_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_FAULTB_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULTB;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULTB;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_FAULTB_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULTB;
+}
+
+static inline void hri_tcc_set_INTEN_FAULT0_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULT0;
+}
+
+static inline bool hri_tcc_get_INTEN_FAULT0_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_FAULT0) >> TCC_INTENSET_FAULT0_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_FAULT0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULT0;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULT0;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_FAULT0_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULT0;
+}
+
+static inline void hri_tcc_set_INTEN_FAULT1_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULT1;
+}
+
+static inline bool hri_tcc_get_INTEN_FAULT1_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_FAULT1) >> TCC_INTENSET_FAULT1_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_FAULT1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULT1;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_FAULT1;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_FAULT1_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_FAULT1;
+}
+
+static inline void hri_tcc_set_INTEN_MC0_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC0;
+}
+
+static inline bool hri_tcc_get_INTEN_MC0_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_MC0) >> TCC_INTENSET_MC0_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_MC0_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC0;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC0;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_MC0_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC0;
+}
+
+static inline void hri_tcc_set_INTEN_MC1_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC1;
+}
+
+static inline bool hri_tcc_get_INTEN_MC1_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_MC1) >> TCC_INTENSET_MC1_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_MC1_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC1;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC1;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_MC1_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC1;
+}
+
+static inline void hri_tcc_set_INTEN_MC2_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC2;
+}
+
+static inline bool hri_tcc_get_INTEN_MC2_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_MC2) >> TCC_INTENSET_MC2_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_MC2_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC2;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC2;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_MC2_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC2;
+}
+
+static inline void hri_tcc_set_INTEN_MC3_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC3;
+}
+
+static inline bool hri_tcc_get_INTEN_MC3_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_MC3) >> TCC_INTENSET_MC3_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_MC3_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC3;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC3;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_MC3_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC3;
+}
+
+static inline void hri_tcc_set_INTEN_MC4_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC4;
+}
+
+static inline bool hri_tcc_get_INTEN_MC4_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_MC4) >> TCC_INTENSET_MC4_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_MC4_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC4;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC4;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_MC4_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC4;
+}
+
+static inline void hri_tcc_set_INTEN_MC5_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC5;
+}
+
+static inline bool hri_tcc_get_INTEN_MC5_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->INTENSET.reg & TCC_INTENSET_MC5) >> TCC_INTENSET_MC5_Pos;
+}
+
+static inline void hri_tcc_write_INTEN_MC5_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC5;
+ } else {
+ ((Tcc *)hw)->INTENSET.reg = TCC_INTENSET_MC5;
+ }
+}
+
+static inline void hri_tcc_clear_INTEN_MC5_bit(const void *const hw)
+{
+ ((Tcc *)hw)->INTENCLR.reg = TCC_INTENSET_MC5;
+}
+
+static inline void hri_tcc_set_INTEN_reg(const void *const hw, hri_tcc_intenset_reg_t mask)
+{
+ ((Tcc *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_tcc_intenset_reg_t hri_tcc_get_INTEN_reg(const void *const hw, hri_tcc_intenset_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_tcc_intenset_reg_t hri_tcc_read_INTEN_reg(const void *const hw)
+{
+ return ((Tcc *)hw)->INTENSET.reg;
+}
+
+static inline void hri_tcc_write_INTEN_reg(const void *const hw, hri_tcc_intenset_reg_t data)
+{
+ ((Tcc *)hw)->INTENSET.reg = data;
+ ((Tcc *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_tcc_clear_INTEN_reg(const void *const hw, hri_tcc_intenset_reg_t mask)
+{
+ ((Tcc *)hw)->INTENCLR.reg = mask;
+}
+
+static inline bool hri_tcc_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_SWRST) >> TCC_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_tcc_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_ENABLE) >> TCC_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_tcc_get_SYNCBUSY_CTRLB_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_CTRLB) >> TCC_SYNCBUSY_CTRLB_Pos;
+}
+
+static inline bool hri_tcc_get_SYNCBUSY_STATUS_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_STATUS) >> TCC_SYNCBUSY_STATUS_Pos;
+}
+
+static inline bool hri_tcc_get_SYNCBUSY_COUNT_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_COUNT) >> TCC_SYNCBUSY_COUNT_Pos;
+}
+
+static inline bool hri_tcc_get_SYNCBUSY_PATT_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_PATT) >> TCC_SYNCBUSY_PATT_Pos;
+}
+
+static inline bool hri_tcc_get_SYNCBUSY_WAVE_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_WAVE) >> TCC_SYNCBUSY_WAVE_Pos;
+}
+
+static inline bool hri_tcc_get_SYNCBUSY_PER_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_PER) >> TCC_SYNCBUSY_PER_Pos;
+}
+
+static inline bool hri_tcc_get_SYNCBUSY_CC0_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_CC0) >> TCC_SYNCBUSY_CC0_Pos;
+}
+
+static inline bool hri_tcc_get_SYNCBUSY_CC1_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_CC1) >> TCC_SYNCBUSY_CC1_Pos;
+}
+
+static inline bool hri_tcc_get_SYNCBUSY_CC2_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_CC2) >> TCC_SYNCBUSY_CC2_Pos;
+}
+
+static inline bool hri_tcc_get_SYNCBUSY_CC3_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_CC3) >> TCC_SYNCBUSY_CC3_Pos;
+}
+
+static inline bool hri_tcc_get_SYNCBUSY_CC4_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_CC4) >> TCC_SYNCBUSY_CC4_Pos;
+}
+
+static inline bool hri_tcc_get_SYNCBUSY_CC5_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->SYNCBUSY.reg & TCC_SYNCBUSY_CC5) >> TCC_SYNCBUSY_CC5_Pos;
+}
+
+static inline hri_tcc_syncbusy_reg_t hri_tcc_get_SYNCBUSY_reg(const void *const hw, hri_tcc_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_tcc_syncbusy_reg_t hri_tcc_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Tcc *)hw)->SYNCBUSY.reg;
+}
+
+static inline void hri_tcc_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_SWRST;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST);
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_SWRST) >> TCC_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_ENABLE;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE);
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_ENABLE) >> TCC_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp &= ~TCC_CTRLA_ENABLE;
+ tmp |= value << TCC_CTRLA_ENABLE_Pos;
+ ((Tcc *)hw)->CTRLA.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_ENABLE;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_ENABLE;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_RUNSTDBY;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_RUNSTDBY) >> TCC_CTRLA_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp &= ~TCC_CTRLA_RUNSTDBY;
+ tmp |= value << TCC_CTRLA_RUNSTDBY_Pos;
+ ((Tcc *)hw)->CTRLA.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_RUNSTDBY;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_RUNSTDBY;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_CTRLA_ALOCK_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_ALOCK;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_CTRLA_ALOCK_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_ALOCK) >> TCC_CTRLA_ALOCK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_CTRLA_ALOCK_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp &= ~TCC_CTRLA_ALOCK;
+ tmp |= value << TCC_CTRLA_ALOCK_Pos;
+ ((Tcc *)hw)->CTRLA.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CTRLA_ALOCK_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_ALOCK;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CTRLA_ALOCK_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_ALOCK;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_CTRLA_MSYNC_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_MSYNC;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_CTRLA_MSYNC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_MSYNC) >> TCC_CTRLA_MSYNC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_CTRLA_MSYNC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp &= ~TCC_CTRLA_MSYNC;
+ tmp |= value << TCC_CTRLA_MSYNC_Pos;
+ ((Tcc *)hw)->CTRLA.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CTRLA_MSYNC_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_MSYNC;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CTRLA_MSYNC_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_MSYNC;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_CTRLA_DMAOS_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_DMAOS;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_CTRLA_DMAOS_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_DMAOS) >> TCC_CTRLA_DMAOS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_CTRLA_DMAOS_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp &= ~TCC_CTRLA_DMAOS;
+ tmp |= value << TCC_CTRLA_DMAOS_Pos;
+ ((Tcc *)hw)->CTRLA.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CTRLA_DMAOS_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_DMAOS;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CTRLA_DMAOS_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_DMAOS;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_CTRLA_CPTEN0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_CPTEN0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_CTRLA_CPTEN0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_CPTEN0) >> TCC_CTRLA_CPTEN0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_CTRLA_CPTEN0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp &= ~TCC_CTRLA_CPTEN0;
+ tmp |= value << TCC_CTRLA_CPTEN0_Pos;
+ ((Tcc *)hw)->CTRLA.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CTRLA_CPTEN0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_CPTEN0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CTRLA_CPTEN0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_CPTEN0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_CTRLA_CPTEN1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_CPTEN1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_CTRLA_CPTEN1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_CPTEN1) >> TCC_CTRLA_CPTEN1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_CTRLA_CPTEN1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp &= ~TCC_CTRLA_CPTEN1;
+ tmp |= value << TCC_CTRLA_CPTEN1_Pos;
+ ((Tcc *)hw)->CTRLA.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CTRLA_CPTEN1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_CPTEN1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CTRLA_CPTEN1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_CPTEN1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_CTRLA_CPTEN2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_CPTEN2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_CTRLA_CPTEN2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_CPTEN2) >> TCC_CTRLA_CPTEN2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_CTRLA_CPTEN2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp &= ~TCC_CTRLA_CPTEN2;
+ tmp |= value << TCC_CTRLA_CPTEN2_Pos;
+ ((Tcc *)hw)->CTRLA.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CTRLA_CPTEN2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_CPTEN2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CTRLA_CPTEN2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_CPTEN2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_CTRLA_CPTEN3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_CPTEN3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_CTRLA_CPTEN3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_CPTEN3) >> TCC_CTRLA_CPTEN3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_CTRLA_CPTEN3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp &= ~TCC_CTRLA_CPTEN3;
+ tmp |= value << TCC_CTRLA_CPTEN3_Pos;
+ ((Tcc *)hw)->CTRLA.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CTRLA_CPTEN3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_CPTEN3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CTRLA_CPTEN3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_CPTEN3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_CTRLA_CPTEN4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_CPTEN4;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_CTRLA_CPTEN4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_CPTEN4) >> TCC_CTRLA_CPTEN4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_CTRLA_CPTEN4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp &= ~TCC_CTRLA_CPTEN4;
+ tmp |= value << TCC_CTRLA_CPTEN4_Pos;
+ ((Tcc *)hw)->CTRLA.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CTRLA_CPTEN4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_CPTEN4;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CTRLA_CPTEN4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_CPTEN4;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_CTRLA_CPTEN5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_CPTEN5;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_CTRLA_CPTEN5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_CPTEN5) >> TCC_CTRLA_CPTEN5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_CTRLA_CPTEN5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp &= ~TCC_CTRLA_CPTEN5;
+ tmp |= value << TCC_CTRLA_CPTEN5_Pos;
+ ((Tcc *)hw)->CTRLA.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CTRLA_CPTEN5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_CPTEN5;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CTRLA_CPTEN5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_CPTEN5;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_CTRLA_RESOLUTION_bf(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_RESOLUTION(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ctrla_reg_t hri_tcc_get_CTRLA_RESOLUTION_bf(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_RESOLUTION(mask)) >> TCC_CTRLA_RESOLUTION_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CTRLA_RESOLUTION_bf(const void *const hw, hri_tcc_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp &= ~TCC_CTRLA_RESOLUTION_Msk;
+ tmp |= TCC_CTRLA_RESOLUTION(data);
+ ((Tcc *)hw)->CTRLA.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CTRLA_RESOLUTION_bf(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_RESOLUTION(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CTRLA_RESOLUTION_bf(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_RESOLUTION(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ctrla_reg_t hri_tcc_read_CTRLA_RESOLUTION_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_RESOLUTION_Msk) >> TCC_CTRLA_RESOLUTION_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CTRLA_PRESCALER_bf(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_PRESCALER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ctrla_reg_t hri_tcc_get_CTRLA_PRESCALER_bf(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_PRESCALER(mask)) >> TCC_CTRLA_PRESCALER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CTRLA_PRESCALER_bf(const void *const hw, hri_tcc_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp &= ~TCC_CTRLA_PRESCALER_Msk;
+ tmp |= TCC_CTRLA_PRESCALER(data);
+ ((Tcc *)hw)->CTRLA.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CTRLA_PRESCALER_bf(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_PRESCALER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CTRLA_PRESCALER_bf(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_PRESCALER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ctrla_reg_t hri_tcc_read_CTRLA_PRESCALER_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_PRESCALER_Msk) >> TCC_CTRLA_PRESCALER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= TCC_CTRLA_PRESCSYNC(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ctrla_reg_t hri_tcc_get_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_PRESCSYNC(mask)) >> TCC_CTRLA_PRESCSYNC_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tcc_ctrla_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp &= ~TCC_CTRLA_PRESCSYNC_Msk;
+ tmp |= TCC_CTRLA_PRESCSYNC(data);
+ ((Tcc *)hw)->CTRLA.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg &= ~TCC_CTRLA_PRESCSYNC(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CTRLA_PRESCSYNC_bf(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg ^= TCC_CTRLA_PRESCSYNC(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ctrla_reg_t hri_tcc_read_CTRLA_PRESCSYNC_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp = (tmp & TCC_CTRLA_PRESCSYNC_Msk) >> TCC_CTRLA_PRESCSYNC_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CTRLA_reg(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg |= mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ctrla_reg_t hri_tcc_get_CTRLA_reg(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE);
+ tmp = ((Tcc *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CTRLA_reg(const void *const hw, hri_tcc_ctrla_reg_t data)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg = data;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CTRLA_reg(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg &= ~mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CTRLA_reg(const void *const hw, hri_tcc_ctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CTRLA.reg ^= mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ctrla_reg_t hri_tcc_read_CTRLA_reg(const void *const hw)
+{
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_SWRST | TCC_SYNCBUSY_ENABLE);
+ return ((Tcc *)hw)->CTRLA.reg;
+}
+
+static inline void hri_tcc_set_FCTRLA_KEEP_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_KEEP;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_FCTRLA_KEEP_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_KEEP) >> TCC_FCTRLA_KEEP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_FCTRLA_KEEP_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp &= ~TCC_FCTRLA_KEEP;
+ tmp |= value << TCC_FCTRLA_KEEP_Pos;
+ ((Tcc *)hw)->FCTRLA.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLA_KEEP_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_KEEP;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLA_KEEP_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_KEEP;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_FCTRLA_QUAL_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_QUAL;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_FCTRLA_QUAL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_QUAL) >> TCC_FCTRLA_QUAL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_FCTRLA_QUAL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp &= ~TCC_FCTRLA_QUAL;
+ tmp |= value << TCC_FCTRLA_QUAL_Pos;
+ ((Tcc *)hw)->FCTRLA.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLA_QUAL_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_QUAL;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLA_QUAL_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_QUAL;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_FCTRLA_RESTART_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_RESTART;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_FCTRLA_RESTART_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_RESTART) >> TCC_FCTRLA_RESTART_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_FCTRLA_RESTART_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp &= ~TCC_FCTRLA_RESTART;
+ tmp |= value << TCC_FCTRLA_RESTART_Pos;
+ ((Tcc *)hw)->FCTRLA.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLA_RESTART_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_RESTART;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLA_RESTART_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_RESTART;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_FCTRLA_BLANKPRESC_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_BLANKPRESC;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_FCTRLA_BLANKPRESC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_BLANKPRESC) >> TCC_FCTRLA_BLANKPRESC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_FCTRLA_BLANKPRESC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp &= ~TCC_FCTRLA_BLANKPRESC;
+ tmp |= value << TCC_FCTRLA_BLANKPRESC_Pos;
+ ((Tcc *)hw)->FCTRLA.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLA_BLANKPRESC_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_BLANKPRESC;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLA_BLANKPRESC_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_BLANKPRESC;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_FCTRLA_SRC_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_SRC(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_SRC_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_SRC(mask)) >> TCC_FCTRLA_SRC_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLA_SRC_bf(const void *const hw, hri_tcc_fctrla_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp &= ~TCC_FCTRLA_SRC_Msk;
+ tmp |= TCC_FCTRLA_SRC(data);
+ ((Tcc *)hw)->FCTRLA.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLA_SRC_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_SRC(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLA_SRC_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_SRC(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_SRC_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_SRC_Msk) >> TCC_FCTRLA_SRC_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_FCTRLA_BLANK_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_BLANK(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_BLANK_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_BLANK(mask)) >> TCC_FCTRLA_BLANK_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLA_BLANK_bf(const void *const hw, hri_tcc_fctrla_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp &= ~TCC_FCTRLA_BLANK_Msk;
+ tmp |= TCC_FCTRLA_BLANK(data);
+ ((Tcc *)hw)->FCTRLA.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLA_BLANK_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_BLANK(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLA_BLANK_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_BLANK(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_BLANK_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_BLANK_Msk) >> TCC_FCTRLA_BLANK_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_FCTRLA_HALT_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_HALT(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_HALT_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_HALT(mask)) >> TCC_FCTRLA_HALT_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLA_HALT_bf(const void *const hw, hri_tcc_fctrla_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp &= ~TCC_FCTRLA_HALT_Msk;
+ tmp |= TCC_FCTRLA_HALT(data);
+ ((Tcc *)hw)->FCTRLA.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLA_HALT_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_HALT(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLA_HALT_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_HALT(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_HALT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_HALT_Msk) >> TCC_FCTRLA_HALT_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_FCTRLA_CHSEL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_CHSEL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_CHSEL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_CHSEL(mask)) >> TCC_FCTRLA_CHSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLA_CHSEL_bf(const void *const hw, hri_tcc_fctrla_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp &= ~TCC_FCTRLA_CHSEL_Msk;
+ tmp |= TCC_FCTRLA_CHSEL(data);
+ ((Tcc *)hw)->FCTRLA.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLA_CHSEL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_CHSEL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLA_CHSEL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_CHSEL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_CHSEL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_CHSEL_Msk) >> TCC_FCTRLA_CHSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_FCTRLA_CAPTURE_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_CAPTURE(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_CAPTURE_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_CAPTURE(mask)) >> TCC_FCTRLA_CAPTURE_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLA_CAPTURE_bf(const void *const hw, hri_tcc_fctrla_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp &= ~TCC_FCTRLA_CAPTURE_Msk;
+ tmp |= TCC_FCTRLA_CAPTURE(data);
+ ((Tcc *)hw)->FCTRLA.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLA_CAPTURE_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_CAPTURE(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLA_CAPTURE_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_CAPTURE(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_CAPTURE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_CAPTURE_Msk) >> TCC_FCTRLA_CAPTURE_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_FCTRLA_BLANKVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_BLANKVAL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_BLANKVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_BLANKVAL(mask)) >> TCC_FCTRLA_BLANKVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLA_BLANKVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp &= ~TCC_FCTRLA_BLANKVAL_Msk;
+ tmp |= TCC_FCTRLA_BLANKVAL(data);
+ ((Tcc *)hw)->FCTRLA.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLA_BLANKVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_BLANKVAL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLA_BLANKVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_BLANKVAL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_BLANKVAL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_BLANKVAL_Msk) >> TCC_FCTRLA_BLANKVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_FCTRLA_FILTERVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg |= TCC_FCTRLA_FILTERVAL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_FILTERVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_FILTERVAL(mask)) >> TCC_FCTRLA_FILTERVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLA_FILTERVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp &= ~TCC_FCTRLA_FILTERVAL_Msk;
+ tmp |= TCC_FCTRLA_FILTERVAL(data);
+ ((Tcc *)hw)->FCTRLA.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLA_FILTERVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg &= ~TCC_FCTRLA_FILTERVAL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLA_FILTERVAL_bf(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg ^= TCC_FCTRLA_FILTERVAL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_FILTERVAL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp = (tmp & TCC_FCTRLA_FILTERVAL_Msk) >> TCC_FCTRLA_FILTERVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_FCTRLA_reg(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg |= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_get_FCTRLA_reg(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLA_reg(const void *const hw, hri_tcc_fctrla_reg_t data)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg = data;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLA_reg(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg &= ~mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLA_reg(const void *const hw, hri_tcc_fctrla_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLA.reg ^= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrla_reg_t hri_tcc_read_FCTRLA_reg(const void *const hw)
+{
+ return ((Tcc *)hw)->FCTRLA.reg;
+}
+
+static inline void hri_tcc_set_FCTRLB_KEEP_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_KEEP;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_FCTRLB_KEEP_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_KEEP) >> TCC_FCTRLB_KEEP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_FCTRLB_KEEP_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp &= ~TCC_FCTRLB_KEEP;
+ tmp |= value << TCC_FCTRLB_KEEP_Pos;
+ ((Tcc *)hw)->FCTRLB.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLB_KEEP_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_KEEP;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLB_KEEP_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_KEEP;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_FCTRLB_QUAL_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_QUAL;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_FCTRLB_QUAL_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_QUAL) >> TCC_FCTRLB_QUAL_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_FCTRLB_QUAL_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp &= ~TCC_FCTRLB_QUAL;
+ tmp |= value << TCC_FCTRLB_QUAL_Pos;
+ ((Tcc *)hw)->FCTRLB.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLB_QUAL_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_QUAL;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLB_QUAL_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_QUAL;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_FCTRLB_RESTART_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_RESTART;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_FCTRLB_RESTART_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_RESTART) >> TCC_FCTRLB_RESTART_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_FCTRLB_RESTART_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp &= ~TCC_FCTRLB_RESTART;
+ tmp |= value << TCC_FCTRLB_RESTART_Pos;
+ ((Tcc *)hw)->FCTRLB.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLB_RESTART_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_RESTART;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLB_RESTART_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_RESTART;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_FCTRLB_BLANKPRESC_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_BLANKPRESC;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_FCTRLB_BLANKPRESC_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_BLANKPRESC) >> TCC_FCTRLB_BLANKPRESC_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_FCTRLB_BLANKPRESC_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp &= ~TCC_FCTRLB_BLANKPRESC;
+ tmp |= value << TCC_FCTRLB_BLANKPRESC_Pos;
+ ((Tcc *)hw)->FCTRLB.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLB_BLANKPRESC_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_BLANKPRESC;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLB_BLANKPRESC_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_BLANKPRESC;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_FCTRLB_SRC_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_SRC(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_SRC_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_SRC(mask)) >> TCC_FCTRLB_SRC_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLB_SRC_bf(const void *const hw, hri_tcc_fctrlb_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp &= ~TCC_FCTRLB_SRC_Msk;
+ tmp |= TCC_FCTRLB_SRC(data);
+ ((Tcc *)hw)->FCTRLB.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLB_SRC_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_SRC(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLB_SRC_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_SRC(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_SRC_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_SRC_Msk) >> TCC_FCTRLB_SRC_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_FCTRLB_BLANK_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_BLANK(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_BLANK_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_BLANK(mask)) >> TCC_FCTRLB_BLANK_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLB_BLANK_bf(const void *const hw, hri_tcc_fctrlb_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp &= ~TCC_FCTRLB_BLANK_Msk;
+ tmp |= TCC_FCTRLB_BLANK(data);
+ ((Tcc *)hw)->FCTRLB.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLB_BLANK_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_BLANK(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLB_BLANK_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_BLANK(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_BLANK_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_BLANK_Msk) >> TCC_FCTRLB_BLANK_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_FCTRLB_HALT_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_HALT(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_HALT_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_HALT(mask)) >> TCC_FCTRLB_HALT_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLB_HALT_bf(const void *const hw, hri_tcc_fctrlb_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp &= ~TCC_FCTRLB_HALT_Msk;
+ tmp |= TCC_FCTRLB_HALT(data);
+ ((Tcc *)hw)->FCTRLB.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLB_HALT_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_HALT(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLB_HALT_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_HALT(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_HALT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_HALT_Msk) >> TCC_FCTRLB_HALT_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_FCTRLB_CHSEL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_CHSEL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_CHSEL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_CHSEL(mask)) >> TCC_FCTRLB_CHSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLB_CHSEL_bf(const void *const hw, hri_tcc_fctrlb_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp &= ~TCC_FCTRLB_CHSEL_Msk;
+ tmp |= TCC_FCTRLB_CHSEL(data);
+ ((Tcc *)hw)->FCTRLB.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLB_CHSEL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_CHSEL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLB_CHSEL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_CHSEL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_CHSEL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_CHSEL_Msk) >> TCC_FCTRLB_CHSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_FCTRLB_CAPTURE_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_CAPTURE(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_CAPTURE_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_CAPTURE(mask)) >> TCC_FCTRLB_CAPTURE_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLB_CAPTURE_bf(const void *const hw, hri_tcc_fctrlb_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp &= ~TCC_FCTRLB_CAPTURE_Msk;
+ tmp |= TCC_FCTRLB_CAPTURE(data);
+ ((Tcc *)hw)->FCTRLB.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLB_CAPTURE_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_CAPTURE(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLB_CAPTURE_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_CAPTURE(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_CAPTURE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_CAPTURE_Msk) >> TCC_FCTRLB_CAPTURE_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_FCTRLB_BLANKVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_BLANKVAL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_BLANKVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_BLANKVAL(mask)) >> TCC_FCTRLB_BLANKVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLB_BLANKVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp &= ~TCC_FCTRLB_BLANKVAL_Msk;
+ tmp |= TCC_FCTRLB_BLANKVAL(data);
+ ((Tcc *)hw)->FCTRLB.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLB_BLANKVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_BLANKVAL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLB_BLANKVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_BLANKVAL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_BLANKVAL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_BLANKVAL_Msk) >> TCC_FCTRLB_BLANKVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_FCTRLB_FILTERVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg |= TCC_FCTRLB_FILTERVAL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_FILTERVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_FILTERVAL(mask)) >> TCC_FCTRLB_FILTERVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLB_FILTERVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp &= ~TCC_FCTRLB_FILTERVAL_Msk;
+ tmp |= TCC_FCTRLB_FILTERVAL(data);
+ ((Tcc *)hw)->FCTRLB.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLB_FILTERVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg &= ~TCC_FCTRLB_FILTERVAL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLB_FILTERVAL_bf(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg ^= TCC_FCTRLB_FILTERVAL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_FILTERVAL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp = (tmp & TCC_FCTRLB_FILTERVAL_Msk) >> TCC_FCTRLB_FILTERVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_FCTRLB_reg(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg |= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_get_FCTRLB_reg(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->FCTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_write_FCTRLB_reg(const void *const hw, hri_tcc_fctrlb_reg_t data)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg = data;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_FCTRLB_reg(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg &= ~mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_FCTRLB_reg(const void *const hw, hri_tcc_fctrlb_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->FCTRLB.reg ^= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_fctrlb_reg_t hri_tcc_read_FCTRLB_reg(const void *const hw)
+{
+ return ((Tcc *)hw)->FCTRLB.reg;
+}
+
+static inline void hri_tcc_set_WEXCTRL_DTIEN0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg |= TCC_WEXCTRL_DTIEN0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WEXCTRL_DTIEN0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp = (tmp & TCC_WEXCTRL_DTIEN0) >> TCC_WEXCTRL_DTIEN0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WEXCTRL_DTIEN0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp &= ~TCC_WEXCTRL_DTIEN0;
+ tmp |= value << TCC_WEXCTRL_DTIEN0_Pos;
+ ((Tcc *)hw)->WEXCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WEXCTRL_DTIEN0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg &= ~TCC_WEXCTRL_DTIEN0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WEXCTRL_DTIEN0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg ^= TCC_WEXCTRL_DTIEN0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WEXCTRL_DTIEN1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg |= TCC_WEXCTRL_DTIEN1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WEXCTRL_DTIEN1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp = (tmp & TCC_WEXCTRL_DTIEN1) >> TCC_WEXCTRL_DTIEN1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WEXCTRL_DTIEN1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp &= ~TCC_WEXCTRL_DTIEN1;
+ tmp |= value << TCC_WEXCTRL_DTIEN1_Pos;
+ ((Tcc *)hw)->WEXCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WEXCTRL_DTIEN1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg &= ~TCC_WEXCTRL_DTIEN1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WEXCTRL_DTIEN1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg ^= TCC_WEXCTRL_DTIEN1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WEXCTRL_DTIEN2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg |= TCC_WEXCTRL_DTIEN2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WEXCTRL_DTIEN2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp = (tmp & TCC_WEXCTRL_DTIEN2) >> TCC_WEXCTRL_DTIEN2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WEXCTRL_DTIEN2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp &= ~TCC_WEXCTRL_DTIEN2;
+ tmp |= value << TCC_WEXCTRL_DTIEN2_Pos;
+ ((Tcc *)hw)->WEXCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WEXCTRL_DTIEN2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg &= ~TCC_WEXCTRL_DTIEN2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WEXCTRL_DTIEN2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg ^= TCC_WEXCTRL_DTIEN2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WEXCTRL_DTIEN3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg |= TCC_WEXCTRL_DTIEN3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WEXCTRL_DTIEN3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp = (tmp & TCC_WEXCTRL_DTIEN3) >> TCC_WEXCTRL_DTIEN3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WEXCTRL_DTIEN3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp &= ~TCC_WEXCTRL_DTIEN3;
+ tmp |= value << TCC_WEXCTRL_DTIEN3_Pos;
+ ((Tcc *)hw)->WEXCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WEXCTRL_DTIEN3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg &= ~TCC_WEXCTRL_DTIEN3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WEXCTRL_DTIEN3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg ^= TCC_WEXCTRL_DTIEN3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WEXCTRL_OTMX_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg |= TCC_WEXCTRL_OTMX(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_wexctrl_reg_t hri_tcc_get_WEXCTRL_OTMX_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp = (tmp & TCC_WEXCTRL_OTMX(mask)) >> TCC_WEXCTRL_OTMX_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_WEXCTRL_OTMX_bf(const void *const hw, hri_tcc_wexctrl_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp &= ~TCC_WEXCTRL_OTMX_Msk;
+ tmp |= TCC_WEXCTRL_OTMX(data);
+ ((Tcc *)hw)->WEXCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WEXCTRL_OTMX_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg &= ~TCC_WEXCTRL_OTMX(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WEXCTRL_OTMX_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg ^= TCC_WEXCTRL_OTMX(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_wexctrl_reg_t hri_tcc_read_WEXCTRL_OTMX_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp = (tmp & TCC_WEXCTRL_OTMX_Msk) >> TCC_WEXCTRL_OTMX_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_WEXCTRL_DTLS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg |= TCC_WEXCTRL_DTLS(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_wexctrl_reg_t hri_tcc_get_WEXCTRL_DTLS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp = (tmp & TCC_WEXCTRL_DTLS(mask)) >> TCC_WEXCTRL_DTLS_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_WEXCTRL_DTLS_bf(const void *const hw, hri_tcc_wexctrl_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp &= ~TCC_WEXCTRL_DTLS_Msk;
+ tmp |= TCC_WEXCTRL_DTLS(data);
+ ((Tcc *)hw)->WEXCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WEXCTRL_DTLS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg &= ~TCC_WEXCTRL_DTLS(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WEXCTRL_DTLS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg ^= TCC_WEXCTRL_DTLS(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_wexctrl_reg_t hri_tcc_read_WEXCTRL_DTLS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp = (tmp & TCC_WEXCTRL_DTLS_Msk) >> TCC_WEXCTRL_DTLS_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_WEXCTRL_DTHS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg |= TCC_WEXCTRL_DTHS(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_wexctrl_reg_t hri_tcc_get_WEXCTRL_DTHS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp = (tmp & TCC_WEXCTRL_DTHS(mask)) >> TCC_WEXCTRL_DTHS_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_WEXCTRL_DTHS_bf(const void *const hw, hri_tcc_wexctrl_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp &= ~TCC_WEXCTRL_DTHS_Msk;
+ tmp |= TCC_WEXCTRL_DTHS(data);
+ ((Tcc *)hw)->WEXCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WEXCTRL_DTHS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg &= ~TCC_WEXCTRL_DTHS(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WEXCTRL_DTHS_bf(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg ^= TCC_WEXCTRL_DTHS(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_wexctrl_reg_t hri_tcc_read_WEXCTRL_DTHS_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp = (tmp & TCC_WEXCTRL_DTHS_Msk) >> TCC_WEXCTRL_DTHS_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_WEXCTRL_reg(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg |= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_wexctrl_reg_t hri_tcc_get_WEXCTRL_reg(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WEXCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_write_WEXCTRL_reg(const void *const hw, hri_tcc_wexctrl_reg_t data)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg = data;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WEXCTRL_reg(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg &= ~mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WEXCTRL_reg(const void *const hw, hri_tcc_wexctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WEXCTRL.reg ^= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_wexctrl_reg_t hri_tcc_read_WEXCTRL_reg(const void *const hw)
+{
+ return ((Tcc *)hw)->WEXCTRL.reg;
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRE0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRE0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRE0) >> TCC_DRVCTRL_NRE0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRE0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRE0;
+ tmp |= value << TCC_DRVCTRL_NRE0_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRE0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRE0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRE1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRE1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRE1) >> TCC_DRVCTRL_NRE1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRE1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRE1;
+ tmp |= value << TCC_DRVCTRL_NRE1_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRE1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRE1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRE2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRE2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRE2) >> TCC_DRVCTRL_NRE2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRE2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRE2;
+ tmp |= value << TCC_DRVCTRL_NRE2_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRE2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRE2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRE3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRE3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRE3) >> TCC_DRVCTRL_NRE3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRE3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRE3;
+ tmp |= value << TCC_DRVCTRL_NRE3_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRE3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRE3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRE4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRE4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRE4) >> TCC_DRVCTRL_NRE4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRE4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRE4;
+ tmp |= value << TCC_DRVCTRL_NRE4_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRE4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRE4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRE5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRE5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRE5) >> TCC_DRVCTRL_NRE5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRE5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRE5;
+ tmp |= value << TCC_DRVCTRL_NRE5_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRE5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRE5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRE6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE6;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRE6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRE6) >> TCC_DRVCTRL_NRE6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRE6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRE6;
+ tmp |= value << TCC_DRVCTRL_NRE6_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRE6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE6;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRE6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE6;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRE7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRE7;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRE7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRE7) >> TCC_DRVCTRL_NRE7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRE7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRE7;
+ tmp |= value << TCC_DRVCTRL_NRE7_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRE7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRE7;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRE7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRE7;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRV0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRV0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRV0) >> TCC_DRVCTRL_NRV0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRV0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRV0;
+ tmp |= value << TCC_DRVCTRL_NRV0_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRV0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRV0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRV1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRV1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRV1) >> TCC_DRVCTRL_NRV1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRV1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRV1;
+ tmp |= value << TCC_DRVCTRL_NRV1_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRV1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRV1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRV2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRV2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRV2) >> TCC_DRVCTRL_NRV2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRV2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRV2;
+ tmp |= value << TCC_DRVCTRL_NRV2_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRV2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRV2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRV3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRV3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRV3) >> TCC_DRVCTRL_NRV3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRV3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRV3;
+ tmp |= value << TCC_DRVCTRL_NRV3_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRV3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRV3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRV4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRV4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRV4) >> TCC_DRVCTRL_NRV4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRV4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRV4;
+ tmp |= value << TCC_DRVCTRL_NRV4_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRV4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRV4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRV5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRV5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRV5) >> TCC_DRVCTRL_NRV5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRV5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRV5;
+ tmp |= value << TCC_DRVCTRL_NRV5_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRV5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRV5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRV6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV6;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRV6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRV6) >> TCC_DRVCTRL_NRV6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRV6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRV6;
+ tmp |= value << TCC_DRVCTRL_NRV6_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRV6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV6;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRV6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV6;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_NRV7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_NRV7;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_NRV7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_NRV7) >> TCC_DRVCTRL_NRV7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_NRV7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_NRV7;
+ tmp |= value << TCC_DRVCTRL_NRV7_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_NRV7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_NRV7;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_NRV7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_NRV7;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_INVEN0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_INVEN0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_INVEN0) >> TCC_DRVCTRL_INVEN0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_INVEN0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_INVEN0;
+ tmp |= value << TCC_DRVCTRL_INVEN0_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_INVEN0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_INVEN0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_INVEN1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_INVEN1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_INVEN1) >> TCC_DRVCTRL_INVEN1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_INVEN1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_INVEN1;
+ tmp |= value << TCC_DRVCTRL_INVEN1_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_INVEN1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_INVEN1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_INVEN2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_INVEN2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_INVEN2) >> TCC_DRVCTRL_INVEN2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_INVEN2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_INVEN2;
+ tmp |= value << TCC_DRVCTRL_INVEN2_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_INVEN2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_INVEN2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_INVEN3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_INVEN3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_INVEN3) >> TCC_DRVCTRL_INVEN3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_INVEN3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_INVEN3;
+ tmp |= value << TCC_DRVCTRL_INVEN3_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_INVEN3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_INVEN3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_INVEN4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_INVEN4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_INVEN4) >> TCC_DRVCTRL_INVEN4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_INVEN4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_INVEN4;
+ tmp |= value << TCC_DRVCTRL_INVEN4_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_INVEN4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_INVEN4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_INVEN5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_INVEN5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_INVEN5) >> TCC_DRVCTRL_INVEN5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_INVEN5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_INVEN5;
+ tmp |= value << TCC_DRVCTRL_INVEN5_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_INVEN5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_INVEN5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_INVEN6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN6;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_INVEN6_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_INVEN6) >> TCC_DRVCTRL_INVEN6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_INVEN6_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_INVEN6;
+ tmp |= value << TCC_DRVCTRL_INVEN6_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_INVEN6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN6;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_INVEN6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN6;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_INVEN7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_INVEN7;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DRVCTRL_INVEN7_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_INVEN7) >> TCC_DRVCTRL_INVEN7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_INVEN7_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_INVEN7;
+ tmp |= value << TCC_DRVCTRL_INVEN7_Pos;
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_INVEN7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_INVEN7;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_INVEN7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_INVEN7;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DRVCTRL_FILTERVAL0_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_FILTERVAL0(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_drvctrl_reg_t hri_tcc_get_DRVCTRL_FILTERVAL0_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_FILTERVAL0(mask)) >> TCC_DRVCTRL_FILTERVAL0_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_FILTERVAL0_bf(const void *const hw, hri_tcc_drvctrl_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_FILTERVAL0_Msk;
+ tmp |= TCC_DRVCTRL_FILTERVAL0(data);
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_FILTERVAL0_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_FILTERVAL0(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_FILTERVAL0_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_FILTERVAL0(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_drvctrl_reg_t hri_tcc_read_DRVCTRL_FILTERVAL0_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_FILTERVAL0_Msk) >> TCC_DRVCTRL_FILTERVAL0_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_DRVCTRL_FILTERVAL1_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= TCC_DRVCTRL_FILTERVAL1(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_drvctrl_reg_t hri_tcc_get_DRVCTRL_FILTERVAL1_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_FILTERVAL1(mask)) >> TCC_DRVCTRL_FILTERVAL1_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_FILTERVAL1_bf(const void *const hw, hri_tcc_drvctrl_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= ~TCC_DRVCTRL_FILTERVAL1_Msk;
+ tmp |= TCC_DRVCTRL_FILTERVAL1(data);
+ ((Tcc *)hw)->DRVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_FILTERVAL1_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~TCC_DRVCTRL_FILTERVAL1(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_FILTERVAL1_bf(const void *const hw, hri_tcc_drvctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= TCC_DRVCTRL_FILTERVAL1(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_drvctrl_reg_t hri_tcc_read_DRVCTRL_FILTERVAL1_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp = (tmp & TCC_DRVCTRL_FILTERVAL1_Msk) >> TCC_DRVCTRL_FILTERVAL1_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_DRVCTRL_reg(const void *const hw, hri_tcc_drvctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg |= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_drvctrl_reg_t hri_tcc_get_DRVCTRL_reg(const void *const hw, hri_tcc_drvctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->DRVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_write_DRVCTRL_reg(const void *const hw, hri_tcc_drvctrl_reg_t data)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg = data;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DRVCTRL_reg(const void *const hw, hri_tcc_drvctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg &= ~mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DRVCTRL_reg(const void *const hw, hri_tcc_drvctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DRVCTRL.reg ^= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_drvctrl_reg_t hri_tcc_read_DRVCTRL_reg(const void *const hw)
+{
+ return ((Tcc *)hw)->DRVCTRL.reg;
+}
+
+static inline void hri_tcc_set_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DBGCTRL.reg |= TCC_DBGCTRL_DBGRUN;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Tcc *)hw)->DBGCTRL.reg;
+ tmp = (tmp & TCC_DBGCTRL_DBGRUN) >> TCC_DBGCTRL_DBGRUN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DBGCTRL_DBGRUN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DBGCTRL.reg;
+ tmp &= ~TCC_DBGCTRL_DBGRUN;
+ tmp |= value << TCC_DBGCTRL_DBGRUN_Pos;
+ ((Tcc *)hw)->DBGCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DBGCTRL.reg &= ~TCC_DBGCTRL_DBGRUN;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DBGCTRL_DBGRUN_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DBGCTRL.reg ^= TCC_DBGCTRL_DBGRUN;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DBGCTRL_FDDBD_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DBGCTRL.reg |= TCC_DBGCTRL_FDDBD;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_DBGCTRL_FDDBD_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Tcc *)hw)->DBGCTRL.reg;
+ tmp = (tmp & TCC_DBGCTRL_FDDBD) >> TCC_DBGCTRL_FDDBD_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_DBGCTRL_FDDBD_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->DBGCTRL.reg;
+ tmp &= ~TCC_DBGCTRL_FDDBD;
+ tmp |= value << TCC_DBGCTRL_FDDBD_Pos;
+ ((Tcc *)hw)->DBGCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DBGCTRL_FDDBD_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DBGCTRL.reg &= ~TCC_DBGCTRL_FDDBD;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DBGCTRL_FDDBD_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DBGCTRL.reg ^= TCC_DBGCTRL_FDDBD;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_DBGCTRL_reg(const void *const hw, hri_tcc_dbgctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DBGCTRL.reg |= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_dbgctrl_reg_t hri_tcc_get_DBGCTRL_reg(const void *const hw, hri_tcc_dbgctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Tcc *)hw)->DBGCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_write_DBGCTRL_reg(const void *const hw, hri_tcc_dbgctrl_reg_t data)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DBGCTRL.reg = data;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_DBGCTRL_reg(const void *const hw, hri_tcc_dbgctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DBGCTRL.reg &= ~mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_DBGCTRL_reg(const void *const hw, hri_tcc_dbgctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->DBGCTRL.reg ^= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_dbgctrl_reg_t hri_tcc_read_DBGCTRL_reg(const void *const hw)
+{
+ return ((Tcc *)hw)->DBGCTRL.reg;
+}
+
+static inline void hri_tcc_set_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_OVFEO;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_OVFEO) >> TCC_EVCTRL_OVFEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_OVFEO_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_OVFEO;
+ tmp |= value << TCC_EVCTRL_OVFEO_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_OVFEO;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_OVFEO_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_OVFEO;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_TRGEO_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_TRGEO;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_TRGEO_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_TRGEO) >> TCC_EVCTRL_TRGEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_TRGEO_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_TRGEO;
+ tmp |= value << TCC_EVCTRL_TRGEO_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_TRGEO_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_TRGEO;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_TRGEO_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_TRGEO;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_CNTEO_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_CNTEO;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_CNTEO_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_CNTEO) >> TCC_EVCTRL_CNTEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_CNTEO_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_CNTEO;
+ tmp |= value << TCC_EVCTRL_CNTEO_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_CNTEO_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_CNTEO;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_CNTEO_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_CNTEO;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_TCINV0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_TCINV0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_TCINV0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_TCINV0) >> TCC_EVCTRL_TCINV0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_TCINV0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_TCINV0;
+ tmp |= value << TCC_EVCTRL_TCINV0_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_TCINV0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_TCINV0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_TCINV0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_TCINV0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_TCINV1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_TCINV1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_TCINV1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_TCINV1) >> TCC_EVCTRL_TCINV1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_TCINV1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_TCINV1;
+ tmp |= value << TCC_EVCTRL_TCINV1_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_TCINV1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_TCINV1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_TCINV1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_TCINV1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_TCEI0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_TCEI0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_TCEI0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_TCEI0) >> TCC_EVCTRL_TCEI0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_TCEI0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_TCEI0;
+ tmp |= value << TCC_EVCTRL_TCEI0_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_TCEI0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_TCEI0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_TCEI0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_TCEI0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_TCEI1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_TCEI1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_TCEI1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_TCEI1) >> TCC_EVCTRL_TCEI1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_TCEI1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_TCEI1;
+ tmp |= value << TCC_EVCTRL_TCEI1_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_TCEI1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_TCEI1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_TCEI1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_TCEI1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_MCEI0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEI0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_MCEI0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_MCEI0) >> TCC_EVCTRL_MCEI0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_MCEI0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_MCEI0;
+ tmp |= value << TCC_EVCTRL_MCEI0_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_MCEI0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEI0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_MCEI0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEI0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_MCEI1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEI1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_MCEI1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_MCEI1) >> TCC_EVCTRL_MCEI1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_MCEI1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_MCEI1;
+ tmp |= value << TCC_EVCTRL_MCEI1_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_MCEI1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEI1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_MCEI1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEI1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_MCEI2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEI2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_MCEI2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_MCEI2) >> TCC_EVCTRL_MCEI2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_MCEI2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_MCEI2;
+ tmp |= value << TCC_EVCTRL_MCEI2_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_MCEI2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEI2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_MCEI2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEI2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_MCEI3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEI3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_MCEI3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_MCEI3) >> TCC_EVCTRL_MCEI3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_MCEI3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_MCEI3;
+ tmp |= value << TCC_EVCTRL_MCEI3_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_MCEI3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEI3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_MCEI3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEI3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_MCEI4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEI4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_MCEI4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_MCEI4) >> TCC_EVCTRL_MCEI4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_MCEI4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_MCEI4;
+ tmp |= value << TCC_EVCTRL_MCEI4_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_MCEI4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEI4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_MCEI4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEI4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_MCEI5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEI5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_MCEI5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_MCEI5) >> TCC_EVCTRL_MCEI5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_MCEI5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_MCEI5;
+ tmp |= value << TCC_EVCTRL_MCEI5_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_MCEI5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEI5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_MCEI5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEI5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_MCEO0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEO0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_MCEO0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_MCEO0) >> TCC_EVCTRL_MCEO0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_MCEO0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_MCEO0;
+ tmp |= value << TCC_EVCTRL_MCEO0_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_MCEO0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEO0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_MCEO0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEO0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_MCEO1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEO1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_MCEO1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_MCEO1) >> TCC_EVCTRL_MCEO1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_MCEO1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_MCEO1;
+ tmp |= value << TCC_EVCTRL_MCEO1_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_MCEO1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEO1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_MCEO1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEO1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_MCEO2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEO2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_MCEO2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_MCEO2) >> TCC_EVCTRL_MCEO2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_MCEO2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_MCEO2;
+ tmp |= value << TCC_EVCTRL_MCEO2_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_MCEO2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEO2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_MCEO2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEO2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_MCEO3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEO3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_MCEO3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_MCEO3) >> TCC_EVCTRL_MCEO3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_MCEO3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_MCEO3;
+ tmp |= value << TCC_EVCTRL_MCEO3_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_MCEO3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEO3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_MCEO3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEO3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_MCEO4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEO4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_MCEO4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_MCEO4) >> TCC_EVCTRL_MCEO4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_MCEO4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_MCEO4;
+ tmp |= value << TCC_EVCTRL_MCEO4_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_MCEO4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEO4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_MCEO4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEO4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_MCEO5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_MCEO5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_EVCTRL_MCEO5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_MCEO5) >> TCC_EVCTRL_MCEO5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_MCEO5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_MCEO5;
+ tmp |= value << TCC_EVCTRL_MCEO5_Pos;
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_MCEO5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_MCEO5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_MCEO5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_MCEO5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_EVCTRL_EVACT0_bf(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_EVACT0(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_evctrl_reg_t hri_tcc_get_EVCTRL_EVACT0_bf(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_EVACT0(mask)) >> TCC_EVCTRL_EVACT0_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_EVACT0_bf(const void *const hw, hri_tcc_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_EVACT0_Msk;
+ tmp |= TCC_EVCTRL_EVACT0(data);
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_EVACT0_bf(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_EVACT0(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_EVACT0_bf(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_EVACT0(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_evctrl_reg_t hri_tcc_read_EVCTRL_EVACT0_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_EVACT0_Msk) >> TCC_EVCTRL_EVACT0_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_EVCTRL_EVACT1_bf(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_EVACT1(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_evctrl_reg_t hri_tcc_get_EVCTRL_EVACT1_bf(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_EVACT1(mask)) >> TCC_EVCTRL_EVACT1_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_EVACT1_bf(const void *const hw, hri_tcc_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_EVACT1_Msk;
+ tmp |= TCC_EVCTRL_EVACT1(data);
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_EVACT1_bf(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_EVACT1(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_EVACT1_bf(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_EVACT1(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_evctrl_reg_t hri_tcc_read_EVCTRL_EVACT1_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_EVACT1_Msk) >> TCC_EVCTRL_EVACT1_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_EVCTRL_CNTSEL_bf(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= TCC_EVCTRL_CNTSEL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_evctrl_reg_t hri_tcc_get_EVCTRL_CNTSEL_bf(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_CNTSEL(mask)) >> TCC_EVCTRL_CNTSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_CNTSEL_bf(const void *const hw, hri_tcc_evctrl_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= ~TCC_EVCTRL_CNTSEL_Msk;
+ tmp |= TCC_EVCTRL_CNTSEL(data);
+ ((Tcc *)hw)->EVCTRL.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_CNTSEL_bf(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~TCC_EVCTRL_CNTSEL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_CNTSEL_bf(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= TCC_EVCTRL_CNTSEL(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_evctrl_reg_t hri_tcc_read_EVCTRL_CNTSEL_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp = (tmp & TCC_EVCTRL_CNTSEL_Msk) >> TCC_EVCTRL_CNTSEL_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_EVCTRL_reg(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg |= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_evctrl_reg_t hri_tcc_get_EVCTRL_reg(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_write_EVCTRL_reg(const void *const hw, hri_tcc_evctrl_reg_t data)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg = data;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_EVCTRL_reg(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg &= ~mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_EVCTRL_reg(const void *const hw, hri_tcc_evctrl_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->EVCTRL.reg ^= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_evctrl_reg_t hri_tcc_read_EVCTRL_reg(const void *const hw)
+{
+ return ((Tcc *)hw)->EVCTRL.reg;
+}
+
+static inline void hri_tcc_set_COUNT_DITH6_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg |= TCC_COUNT_COUNT(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_count_reg_t hri_tcc_get_COUNT_DITH6_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ tmp = ((Tcc *)hw)->COUNT.reg;
+ tmp = (tmp & TCC_COUNT_COUNT(mask)) >> TCC_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_COUNT_DITH6_COUNT_bf(const void *const hw, hri_tcc_count_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->COUNT.reg;
+ tmp &= ~TCC_COUNT_COUNT_Msk;
+ tmp |= TCC_COUNT_COUNT(data);
+ ((Tcc *)hw)->COUNT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_COUNT_DITH6_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg &= ~TCC_COUNT_COUNT(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_COUNT_DITH6_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg ^= TCC_COUNT_COUNT(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_count_reg_t hri_tcc_read_COUNT_DITH6_COUNT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ tmp = ((Tcc *)hw)->COUNT.reg;
+ tmp = (tmp & TCC_COUNT_COUNT_Msk) >> TCC_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_COUNT_DITH5_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg |= TCC_COUNT_COUNT(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_count_reg_t hri_tcc_get_COUNT_DITH5_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ tmp = ((Tcc *)hw)->COUNT.reg;
+ tmp = (tmp & TCC_COUNT_COUNT(mask)) >> TCC_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_COUNT_DITH5_COUNT_bf(const void *const hw, hri_tcc_count_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->COUNT.reg;
+ tmp &= ~TCC_COUNT_COUNT_Msk;
+ tmp |= TCC_COUNT_COUNT(data);
+ ((Tcc *)hw)->COUNT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_COUNT_DITH5_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg &= ~TCC_COUNT_COUNT(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_COUNT_DITH5_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg ^= TCC_COUNT_COUNT(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_count_reg_t hri_tcc_read_COUNT_DITH5_COUNT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ tmp = ((Tcc *)hw)->COUNT.reg;
+ tmp = (tmp & TCC_COUNT_COUNT_Msk) >> TCC_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_COUNT_DITH4_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg |= TCC_COUNT_COUNT(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_count_reg_t hri_tcc_get_COUNT_DITH4_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ tmp = ((Tcc *)hw)->COUNT.reg;
+ tmp = (tmp & TCC_COUNT_COUNT(mask)) >> TCC_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_COUNT_DITH4_COUNT_bf(const void *const hw, hri_tcc_count_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->COUNT.reg;
+ tmp &= ~TCC_COUNT_COUNT_Msk;
+ tmp |= TCC_COUNT_COUNT(data);
+ ((Tcc *)hw)->COUNT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_COUNT_DITH4_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg &= ~TCC_COUNT_COUNT(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_COUNT_DITH4_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg ^= TCC_COUNT_COUNT(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_count_reg_t hri_tcc_read_COUNT_DITH4_COUNT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ tmp = ((Tcc *)hw)->COUNT.reg;
+ tmp = (tmp & TCC_COUNT_COUNT_Msk) >> TCC_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_COUNT_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg |= TCC_COUNT_COUNT(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_count_reg_t hri_tcc_get_COUNT_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ tmp = ((Tcc *)hw)->COUNT.reg;
+ tmp = (tmp & TCC_COUNT_COUNT(mask)) >> TCC_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_COUNT_COUNT_bf(const void *const hw, hri_tcc_count_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->COUNT.reg;
+ tmp &= ~TCC_COUNT_COUNT_Msk;
+ tmp |= TCC_COUNT_COUNT(data);
+ ((Tcc *)hw)->COUNT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_COUNT_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg &= ~TCC_COUNT_COUNT(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_COUNT_COUNT_bf(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg ^= TCC_COUNT_COUNT(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_count_reg_t hri_tcc_read_COUNT_COUNT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ tmp = ((Tcc *)hw)->COUNT.reg;
+ tmp = (tmp & TCC_COUNT_COUNT_Msk) >> TCC_COUNT_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_COUNT_reg(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg |= mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_count_reg_t hri_tcc_get_COUNT_reg(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ tmp = ((Tcc *)hw)->COUNT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_write_COUNT_reg(const void *const hw, hri_tcc_count_reg_t data)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg = data;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_COUNT_reg(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg &= ~mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_COUNT_reg(const void *const hw, hri_tcc_count_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->COUNT.reg ^= mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_count_reg_t hri_tcc_read_COUNT_reg(const void *const hw)
+{
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_COUNT);
+ return ((Tcc *)hw)->COUNT.reg;
+}
+
+static inline void hri_tcc_set_PATT_PGE0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGE0_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGE0) >> TCC_PATT_PGE0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGE0_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGE0;
+ tmp |= value << TCC_PATT_PGE0_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGE0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGE0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_PGE1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGE1_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGE1) >> TCC_PATT_PGE1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGE1_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGE1;
+ tmp |= value << TCC_PATT_PGE1_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGE1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGE1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_PGE2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGE2_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGE2) >> TCC_PATT_PGE2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGE2_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGE2;
+ tmp |= value << TCC_PATT_PGE2_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGE2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGE2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_PGE3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGE3_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGE3) >> TCC_PATT_PGE3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGE3_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGE3;
+ tmp |= value << TCC_PATT_PGE3_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGE3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGE3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_PGE4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE4;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGE4_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGE4) >> TCC_PATT_PGE4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGE4_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGE4;
+ tmp |= value << TCC_PATT_PGE4_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGE4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE4;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGE4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE4;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_PGE5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE5;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGE5_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGE5) >> TCC_PATT_PGE5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGE5_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGE5;
+ tmp |= value << TCC_PATT_PGE5_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGE5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE5;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGE5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE5;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_PGE6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE6;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGE6_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGE6) >> TCC_PATT_PGE6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGE6_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGE6;
+ tmp |= value << TCC_PATT_PGE6_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGE6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE6;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGE6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE6;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_PGE7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGE7;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGE7_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGE7) >> TCC_PATT_PGE7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGE7_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGE7;
+ tmp |= value << TCC_PATT_PGE7_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGE7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGE7;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGE7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGE7;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_PGV0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGV0_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGV0) >> TCC_PATT_PGV0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGV0_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGV0;
+ tmp |= value << TCC_PATT_PGV0_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGV0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGV0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_PGV1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGV1_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGV1) >> TCC_PATT_PGV1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGV1_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGV1;
+ tmp |= value << TCC_PATT_PGV1_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGV1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGV1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_PGV2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGV2_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGV2) >> TCC_PATT_PGV2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGV2_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGV2;
+ tmp |= value << TCC_PATT_PGV2_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGV2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGV2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_PGV3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGV3_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGV3) >> TCC_PATT_PGV3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGV3_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGV3;
+ tmp |= value << TCC_PATT_PGV3_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGV3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGV3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_PGV4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV4;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGV4_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGV4) >> TCC_PATT_PGV4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGV4_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGV4;
+ tmp |= value << TCC_PATT_PGV4_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGV4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV4;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGV4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV4;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_PGV5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV5;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGV5_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGV5) >> TCC_PATT_PGV5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGV5_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGV5;
+ tmp |= value << TCC_PATT_PGV5_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGV5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV5;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGV5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV5;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_PGV6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV6;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGV6_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGV6) >> TCC_PATT_PGV6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGV6_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGV6;
+ tmp |= value << TCC_PATT_PGV6_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGV6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV6;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGV6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV6;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_PGV7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= TCC_PATT_PGV7;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATT_PGV7_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp = (tmp & TCC_PATT_PGV7) >> TCC_PATT_PGV7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATT_PGV7_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= ~TCC_PATT_PGV7;
+ tmp |= value << TCC_PATT_PGV7_Pos;
+ ((Tcc *)hw)->PATT.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_PGV7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~TCC_PATT_PGV7;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_PGV7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= TCC_PATT_PGV7;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATT_reg(const void *const hw, hri_tcc_patt_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg |= mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_patt_reg_t hri_tcc_get_PATT_reg(const void *const hw, hri_tcc_patt_reg_t mask)
+{
+ uint16_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ tmp = ((Tcc *)hw)->PATT.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PATT_reg(const void *const hw, hri_tcc_patt_reg_t data)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg = data;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATT_reg(const void *const hw, hri_tcc_patt_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg &= ~mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATT_reg(const void *const hw, hri_tcc_patt_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATT.reg ^= mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_patt_reg_t hri_tcc_read_PATT_reg(const void *const hw)
+{
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ return ((Tcc *)hw)->PATT.reg;
+}
+
+static inline void hri_tcc_set_WAVE_CIPEREN_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_CIPEREN;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WAVE_CIPEREN_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_CIPEREN) >> TCC_WAVE_CIPEREN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WAVE_CIPEREN_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_CIPEREN;
+ tmp |= value << TCC_WAVE_CIPEREN_Pos;
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_CIPEREN_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_CIPEREN;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_CIPEREN_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_CIPEREN;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WAVE_CICCEN0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_CICCEN0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WAVE_CICCEN0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_CICCEN0) >> TCC_WAVE_CICCEN0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WAVE_CICCEN0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_CICCEN0;
+ tmp |= value << TCC_WAVE_CICCEN0_Pos;
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_CICCEN0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_CICCEN0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_CICCEN0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_CICCEN0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WAVE_CICCEN1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_CICCEN1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WAVE_CICCEN1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_CICCEN1) >> TCC_WAVE_CICCEN1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WAVE_CICCEN1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_CICCEN1;
+ tmp |= value << TCC_WAVE_CICCEN1_Pos;
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_CICCEN1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_CICCEN1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_CICCEN1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_CICCEN1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WAVE_CICCEN2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_CICCEN2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WAVE_CICCEN2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_CICCEN2) >> TCC_WAVE_CICCEN2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WAVE_CICCEN2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_CICCEN2;
+ tmp |= value << TCC_WAVE_CICCEN2_Pos;
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_CICCEN2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_CICCEN2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_CICCEN2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_CICCEN2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WAVE_CICCEN3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_CICCEN3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WAVE_CICCEN3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_CICCEN3) >> TCC_WAVE_CICCEN3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WAVE_CICCEN3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_CICCEN3;
+ tmp |= value << TCC_WAVE_CICCEN3_Pos;
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_CICCEN3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_CICCEN3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_CICCEN3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_CICCEN3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WAVE_POL0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_POL0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WAVE_POL0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_POL0) >> TCC_WAVE_POL0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WAVE_POL0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_POL0;
+ tmp |= value << TCC_WAVE_POL0_Pos;
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_POL0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_POL0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_POL0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_POL0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WAVE_POL1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_POL1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WAVE_POL1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_POL1) >> TCC_WAVE_POL1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WAVE_POL1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_POL1;
+ tmp |= value << TCC_WAVE_POL1_Pos;
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_POL1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_POL1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_POL1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_POL1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WAVE_POL2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_POL2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WAVE_POL2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_POL2) >> TCC_WAVE_POL2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WAVE_POL2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_POL2;
+ tmp |= value << TCC_WAVE_POL2_Pos;
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_POL2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_POL2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_POL2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_POL2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WAVE_POL3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_POL3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WAVE_POL3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_POL3) >> TCC_WAVE_POL3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WAVE_POL3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_POL3;
+ tmp |= value << TCC_WAVE_POL3_Pos;
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_POL3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_POL3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_POL3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_POL3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WAVE_POL4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_POL4;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WAVE_POL4_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_POL4) >> TCC_WAVE_POL4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WAVE_POL4_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_POL4;
+ tmp |= value << TCC_WAVE_POL4_Pos;
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_POL4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_POL4;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_POL4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_POL4;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WAVE_POL5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_POL5;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WAVE_POL5_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_POL5) >> TCC_WAVE_POL5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WAVE_POL5_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_POL5;
+ tmp |= value << TCC_WAVE_POL5_Pos;
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_POL5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_POL5;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_POL5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_POL5;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WAVE_SWAP0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_SWAP0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WAVE_SWAP0_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_SWAP0) >> TCC_WAVE_SWAP0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WAVE_SWAP0_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_SWAP0;
+ tmp |= value << TCC_WAVE_SWAP0_Pos;
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_SWAP0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_SWAP0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_SWAP0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_SWAP0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WAVE_SWAP1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_SWAP1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WAVE_SWAP1_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_SWAP1) >> TCC_WAVE_SWAP1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WAVE_SWAP1_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_SWAP1;
+ tmp |= value << TCC_WAVE_SWAP1_Pos;
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_SWAP1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_SWAP1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_SWAP1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_SWAP1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WAVE_SWAP2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_SWAP2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WAVE_SWAP2_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_SWAP2) >> TCC_WAVE_SWAP2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WAVE_SWAP2_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_SWAP2;
+ tmp |= value << TCC_WAVE_SWAP2_Pos;
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_SWAP2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_SWAP2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_SWAP2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_SWAP2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WAVE_SWAP3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_SWAP3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_WAVE_SWAP3_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_SWAP3) >> TCC_WAVE_SWAP3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_WAVE_SWAP3_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_SWAP3;
+ tmp |= value << TCC_WAVE_SWAP3_Pos;
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_SWAP3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_SWAP3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_SWAP3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_SWAP3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_WAVE_WAVEGEN_bf(const void *const hw, hri_tcc_wave_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_WAVEGEN(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_wave_reg_t hri_tcc_get_WAVE_WAVEGEN_bf(const void *const hw, hri_tcc_wave_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_WAVEGEN(mask)) >> TCC_WAVE_WAVEGEN_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_WAVE_WAVEGEN_bf(const void *const hw, hri_tcc_wave_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_WAVEGEN_Msk;
+ tmp |= TCC_WAVE_WAVEGEN(data);
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_WAVEGEN_bf(const void *const hw, hri_tcc_wave_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_WAVEGEN(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_WAVEGEN_bf(const void *const hw, hri_tcc_wave_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_WAVEGEN(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_wave_reg_t hri_tcc_read_WAVE_WAVEGEN_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_WAVEGEN_Msk) >> TCC_WAVE_WAVEGEN_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_WAVE_RAMP_bf(const void *const hw, hri_tcc_wave_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= TCC_WAVE_RAMP(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_wave_reg_t hri_tcc_get_WAVE_RAMP_bf(const void *const hw, hri_tcc_wave_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_RAMP(mask)) >> TCC_WAVE_RAMP_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_WAVE_RAMP_bf(const void *const hw, hri_tcc_wave_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= ~TCC_WAVE_RAMP_Msk;
+ tmp |= TCC_WAVE_RAMP(data);
+ ((Tcc *)hw)->WAVE.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_RAMP_bf(const void *const hw, hri_tcc_wave_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~TCC_WAVE_RAMP(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_RAMP_bf(const void *const hw, hri_tcc_wave_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= TCC_WAVE_RAMP(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_wave_reg_t hri_tcc_read_WAVE_RAMP_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp = (tmp & TCC_WAVE_RAMP_Msk) >> TCC_WAVE_RAMP_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_WAVE_reg(const void *const hw, hri_tcc_wave_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg |= mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_wave_reg_t hri_tcc_get_WAVE_reg(const void *const hw, hri_tcc_wave_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ tmp = ((Tcc *)hw)->WAVE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_write_WAVE_reg(const void *const hw, hri_tcc_wave_reg_t data)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg = data;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_WAVE_reg(const void *const hw, hri_tcc_wave_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg &= ~mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_WAVE_reg(const void *const hw, hri_tcc_wave_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->WAVE.reg ^= mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_wave_reg_t hri_tcc_read_WAVE_reg(const void *const hw)
+{
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ return ((Tcc *)hw)->WAVE.reg;
+}
+
+static inline void hri_tcc_set_PER_DITH4_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg |= TCC_PER_DITH4_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_get_PER_DITH4_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp = (tmp & TCC_PER_DITH4_DITHER(mask)) >> TCC_PER_DITH4_DITHER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PER_DITH4_DITHER_bf(const void *const hw, hri_tcc_per_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp &= ~TCC_PER_DITH4_DITHER_Msk;
+ tmp |= TCC_PER_DITH4_DITHER(data);
+ ((Tcc *)hw)->PER.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PER_DITH4_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg &= ~TCC_PER_DITH4_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PER_DITH4_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg ^= TCC_PER_DITH4_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_read_PER_DITH4_DITHER_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp = (tmp & TCC_PER_DITH4_DITHER_Msk) >> TCC_PER_DITH4_DITHER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_PER_DITH5_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg |= TCC_PER_DITH5_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_get_PER_DITH5_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp = (tmp & TCC_PER_DITH5_DITHER(mask)) >> TCC_PER_DITH5_DITHER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PER_DITH5_DITHER_bf(const void *const hw, hri_tcc_per_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp &= ~TCC_PER_DITH5_DITHER_Msk;
+ tmp |= TCC_PER_DITH5_DITHER(data);
+ ((Tcc *)hw)->PER.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PER_DITH5_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg &= ~TCC_PER_DITH5_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PER_DITH5_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg ^= TCC_PER_DITH5_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_read_PER_DITH5_DITHER_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp = (tmp & TCC_PER_DITH5_DITHER_Msk) >> TCC_PER_DITH5_DITHER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_PER_DITH6_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg |= TCC_PER_DITH6_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_get_PER_DITH6_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp = (tmp & TCC_PER_DITH6_DITHER(mask)) >> TCC_PER_DITH6_DITHER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PER_DITH6_DITHER_bf(const void *const hw, hri_tcc_per_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp &= ~TCC_PER_DITH6_DITHER_Msk;
+ tmp |= TCC_PER_DITH6_DITHER(data);
+ ((Tcc *)hw)->PER.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PER_DITH6_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg &= ~TCC_PER_DITH6_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PER_DITH6_DITHER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg ^= TCC_PER_DITH6_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_read_PER_DITH6_DITHER_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp = (tmp & TCC_PER_DITH6_DITHER_Msk) >> TCC_PER_DITH6_DITHER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_PER_DITH6_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg |= TCC_PER_PER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_get_PER_DITH6_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp = (tmp & TCC_PER_PER(mask)) >> TCC_PER_PER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PER_DITH6_PER_bf(const void *const hw, hri_tcc_per_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp &= ~TCC_PER_PER_Msk;
+ tmp |= TCC_PER_PER(data);
+ ((Tcc *)hw)->PER.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PER_DITH6_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg &= ~TCC_PER_PER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PER_DITH6_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg ^= TCC_PER_PER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_read_PER_DITH6_PER_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp = (tmp & TCC_PER_PER_Msk) >> TCC_PER_PER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_PER_DITH5_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg |= TCC_PER_PER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_get_PER_DITH5_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp = (tmp & TCC_PER_PER(mask)) >> TCC_PER_PER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PER_DITH5_PER_bf(const void *const hw, hri_tcc_per_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp &= ~TCC_PER_PER_Msk;
+ tmp |= TCC_PER_PER(data);
+ ((Tcc *)hw)->PER.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PER_DITH5_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg &= ~TCC_PER_PER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PER_DITH5_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg ^= TCC_PER_PER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_read_PER_DITH5_PER_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp = (tmp & TCC_PER_PER_Msk) >> TCC_PER_PER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_PER_DITH4_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg |= TCC_PER_PER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_get_PER_DITH4_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp = (tmp & TCC_PER_PER(mask)) >> TCC_PER_PER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PER_DITH4_PER_bf(const void *const hw, hri_tcc_per_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp &= ~TCC_PER_PER_Msk;
+ tmp |= TCC_PER_PER(data);
+ ((Tcc *)hw)->PER.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PER_DITH4_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg &= ~TCC_PER_PER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PER_DITH4_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg ^= TCC_PER_PER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_read_PER_DITH4_PER_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp = (tmp & TCC_PER_PER_Msk) >> TCC_PER_PER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_PER_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg |= TCC_PER_PER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_get_PER_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp = (tmp & TCC_PER_PER(mask)) >> TCC_PER_PER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PER_PER_bf(const void *const hw, hri_tcc_per_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp &= ~TCC_PER_PER_Msk;
+ tmp |= TCC_PER_PER(data);
+ ((Tcc *)hw)->PER.reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PER_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg &= ~TCC_PER_PER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PER_PER_bf(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg ^= TCC_PER_PER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_read_PER_PER_bf(const void *const hw)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp = (tmp & TCC_PER_PER_Msk) >> TCC_PER_PER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_PER_reg(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg |= mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_get_PER_reg(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ tmp = ((Tcc *)hw)->PER.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PER_reg(const void *const hw, hri_tcc_per_reg_t data)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg = data;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PER_reg(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg &= ~mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PER_reg(const void *const hw, hri_tcc_per_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PER.reg ^= mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_per_reg_t hri_tcc_read_PER_reg(const void *const hw)
+{
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_PER);
+ return ((Tcc *)hw)->PER.reg;
+}
+
+static inline void hri_tcc_set_CC_DITH4_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg |= TCC_CC_DITH4_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_get_CC_DITH4_DITHER_bf(const void *const hw, uint8_t index,
+ hri_tcc_cc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp = (tmp & TCC_CC_DITH4_DITHER(mask)) >> TCC_CC_DITH4_DITHER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CC_DITH4_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp &= ~TCC_CC_DITH4_DITHER_Msk;
+ tmp |= TCC_CC_DITH4_DITHER(data);
+ ((Tcc *)hw)->CC[index].reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CC_DITH4_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg &= ~TCC_CC_DITH4_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CC_DITH4_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg ^= TCC_CC_DITH4_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_read_CC_DITH4_DITHER_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp = (tmp & TCC_CC_DITH4_DITHER_Msk) >> TCC_CC_DITH4_DITHER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CC_DITH5_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg |= TCC_CC_DITH5_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_get_CC_DITH5_DITHER_bf(const void *const hw, uint8_t index,
+ hri_tcc_cc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp = (tmp & TCC_CC_DITH5_DITHER(mask)) >> TCC_CC_DITH5_DITHER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CC_DITH5_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp &= ~TCC_CC_DITH5_DITHER_Msk;
+ tmp |= TCC_CC_DITH5_DITHER(data);
+ ((Tcc *)hw)->CC[index].reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CC_DITH5_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg &= ~TCC_CC_DITH5_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CC_DITH5_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg ^= TCC_CC_DITH5_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_read_CC_DITH5_DITHER_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp = (tmp & TCC_CC_DITH5_DITHER_Msk) >> TCC_CC_DITH5_DITHER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CC_DITH6_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg |= TCC_CC_DITH6_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_get_CC_DITH6_DITHER_bf(const void *const hw, uint8_t index,
+ hri_tcc_cc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp = (tmp & TCC_CC_DITH6_DITHER(mask)) >> TCC_CC_DITH6_DITHER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CC_DITH6_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp &= ~TCC_CC_DITH6_DITHER_Msk;
+ tmp |= TCC_CC_DITH6_DITHER(data);
+ ((Tcc *)hw)->CC[index].reg = tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CC_DITH6_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg &= ~TCC_CC_DITH6_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CC_DITH6_DITHER_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg ^= TCC_CC_DITH6_DITHER(mask);
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_read_CC_DITH6_DITHER_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp = (tmp & TCC_CC_DITH6_DITHER_Msk) >> TCC_CC_DITH6_DITHER_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CC_DITH6_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg |= TCC_CC_CC(mask);
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_get_CC_DITH6_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp = (tmp & TCC_CC_CC(mask)) >> TCC_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CC_DITH6_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp &= ~TCC_CC_CC_Msk;
+ tmp |= TCC_CC_CC(data);
+ ((Tcc *)hw)->CC[index].reg = tmp;
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CC_DITH6_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg &= ~TCC_CC_CC(mask);
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CC_DITH6_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg ^= TCC_CC_CC(mask);
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_read_CC_DITH6_CC_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp = (tmp & TCC_CC_CC_Msk) >> TCC_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CC_DITH5_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg |= TCC_CC_CC(mask);
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_get_CC_DITH5_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp = (tmp & TCC_CC_CC(mask)) >> TCC_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CC_DITH5_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp &= ~TCC_CC_CC_Msk;
+ tmp |= TCC_CC_CC(data);
+ ((Tcc *)hw)->CC[index].reg = tmp;
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CC_DITH5_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg &= ~TCC_CC_CC(mask);
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CC_DITH5_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg ^= TCC_CC_CC(mask);
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_read_CC_DITH5_CC_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp = (tmp & TCC_CC_CC_Msk) >> TCC_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CC_DITH4_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg |= TCC_CC_CC(mask);
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_get_CC_DITH4_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp = (tmp & TCC_CC_CC(mask)) >> TCC_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CC_DITH4_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp &= ~TCC_CC_CC_Msk;
+ tmp |= TCC_CC_CC(data);
+ ((Tcc *)hw)->CC[index].reg = tmp;
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CC_DITH4_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg &= ~TCC_CC_CC(mask);
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CC_DITH4_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg ^= TCC_CC_CC(mask);
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_read_CC_DITH4_CC_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp = (tmp & TCC_CC_CC_Msk) >> TCC_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CC_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg |= TCC_CC_CC(mask);
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_get_CC_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp = (tmp & TCC_CC_CC(mask)) >> TCC_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CC_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp &= ~TCC_CC_CC_Msk;
+ tmp |= TCC_CC_CC(data);
+ ((Tcc *)hw)->CC[index].reg = tmp;
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CC_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg &= ~TCC_CC_CC(mask);
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CC_CC_bf(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg ^= TCC_CC_CC(mask);
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_read_CC_CC_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp = (tmp & TCC_CC_CC_Msk) >> TCC_CC_CC_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CC_reg(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg |= mask;
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_get_CC_reg(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ tmp = ((Tcc *)hw)->CC[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CC_reg(const void *const hw, uint8_t index, hri_tcc_cc_reg_t data)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg = data;
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CC_reg(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg &= ~mask;
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CC_reg(const void *const hw, uint8_t index, hri_tcc_cc_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CC[index].reg ^= mask;
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_cc_reg_t hri_tcc_read_CC_reg(const void *const hw, uint8_t index)
+{
+ hri_tcc_wait_for_sync(hw,
+ TCC_SYNCBUSY_CC0 | TCC_SYNCBUSY_CC1 | TCC_SYNCBUSY_CC2 | TCC_SYNCBUSY_CC3 | TCC_SYNCBUSY_CC4
+ | TCC_SYNCBUSY_CC5);
+ return ((Tcc *)hw)->CC[index].reg;
+}
+
+static inline void hri_tcc_set_PATTBUF_PGEB0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGEB0_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGEB0) >> TCC_PATTBUF_PGEB0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGEB0_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGEB0;
+ tmp |= value << TCC_PATTBUF_PGEB0_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGEB0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGEB0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_PGEB1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGEB1_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGEB1) >> TCC_PATTBUF_PGEB1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGEB1_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGEB1;
+ tmp |= value << TCC_PATTBUF_PGEB1_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGEB1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGEB1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_PGEB2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGEB2_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGEB2) >> TCC_PATTBUF_PGEB2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGEB2_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGEB2;
+ tmp |= value << TCC_PATTBUF_PGEB2_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGEB2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGEB2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_PGEB3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGEB3_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGEB3) >> TCC_PATTBUF_PGEB3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGEB3_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGEB3;
+ tmp |= value << TCC_PATTBUF_PGEB3_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGEB3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGEB3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_PGEB4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGEB4_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGEB4) >> TCC_PATTBUF_PGEB4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGEB4_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGEB4;
+ tmp |= value << TCC_PATTBUF_PGEB4_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGEB4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGEB4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_PGEB5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGEB5_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGEB5) >> TCC_PATTBUF_PGEB5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGEB5_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGEB5;
+ tmp |= value << TCC_PATTBUF_PGEB5_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGEB5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGEB5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_PGEB6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB6;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGEB6_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGEB6) >> TCC_PATTBUF_PGEB6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGEB6_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGEB6;
+ tmp |= value << TCC_PATTBUF_PGEB6_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGEB6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB6;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGEB6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB6;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_PGEB7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGEB7;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGEB7_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGEB7) >> TCC_PATTBUF_PGEB7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGEB7_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGEB7;
+ tmp |= value << TCC_PATTBUF_PGEB7_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGEB7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGEB7;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGEB7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGEB7;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_PGVB0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGVB0_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGVB0) >> TCC_PATTBUF_PGVB0_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGVB0_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGVB0;
+ tmp |= value << TCC_PATTBUF_PGVB0_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGVB0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGVB0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB0;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_PGVB1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGVB1_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGVB1) >> TCC_PATTBUF_PGVB1_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGVB1_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGVB1;
+ tmp |= value << TCC_PATTBUF_PGVB1_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGVB1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGVB1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB1;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_PGVB2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGVB2_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGVB2) >> TCC_PATTBUF_PGVB2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGVB2_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGVB2;
+ tmp |= value << TCC_PATTBUF_PGVB2_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGVB2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGVB2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB2;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_PGVB3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGVB3_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGVB3) >> TCC_PATTBUF_PGVB3_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGVB3_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGVB3;
+ tmp |= value << TCC_PATTBUF_PGVB3_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGVB3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGVB3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB3;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_PGVB4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGVB4_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGVB4) >> TCC_PATTBUF_PGVB4_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGVB4_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGVB4;
+ tmp |= value << TCC_PATTBUF_PGVB4_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGVB4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGVB4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB4;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_PGVB5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGVB5_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGVB5) >> TCC_PATTBUF_PGVB5_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGVB5_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGVB5;
+ tmp |= value << TCC_PATTBUF_PGVB5_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGVB5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGVB5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB5;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_PGVB6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB6;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGVB6_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGVB6) >> TCC_PATTBUF_PGVB6_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGVB6_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGVB6;
+ tmp |= value << TCC_PATTBUF_PGVB6_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGVB6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB6;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGVB6_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB6;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_PGVB7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= TCC_PATTBUF_PGVB7;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_PATTBUF_PGVB7_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp = (tmp & TCC_PATTBUF_PGVB7) >> TCC_PATTBUF_PGVB7_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_PGVB7_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= ~TCC_PATTBUF_PGVB7;
+ tmp |= value << TCC_PATTBUF_PGVB7_Pos;
+ ((Tcc *)hw)->PATTBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_PGVB7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~TCC_PATTBUF_PGVB7;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_PGVB7_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= TCC_PATTBUF_PGVB7;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_set_PATTBUF_reg(const void *const hw, hri_tcc_pattbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg |= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_pattbuf_reg_t hri_tcc_get_PATTBUF_reg(const void *const hw, hri_tcc_pattbuf_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Tcc *)hw)->PATTBUF.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PATTBUF_reg(const void *const hw, hri_tcc_pattbuf_reg_t data)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg = data;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PATTBUF_reg(const void *const hw, hri_tcc_pattbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg &= ~mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PATTBUF_reg(const void *const hw, hri_tcc_pattbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PATTBUF.reg ^= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_pattbuf_reg_t hri_tcc_read_PATTBUF_reg(const void *const hw)
+{
+ return ((Tcc *)hw)->PATTBUF.reg;
+}
+
+static inline void hri_tcc_set_PERBUF_DITH4_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg |= TCC_PERBUF_DITH4_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_DITH4_DITHERBUF_bf(const void *const hw,
+ hri_tcc_perbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp = (tmp & TCC_PERBUF_DITH4_DITHERBUF(mask)) >> TCC_PERBUF_DITH4_DITHERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PERBUF_DITH4_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp &= ~TCC_PERBUF_DITH4_DITHERBUF_Msk;
+ tmp |= TCC_PERBUF_DITH4_DITHERBUF(data);
+ ((Tcc *)hw)->PERBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PERBUF_DITH4_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg &= ~TCC_PERBUF_DITH4_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PERBUF_DITH4_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg ^= TCC_PERBUF_DITH4_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_DITH4_DITHERBUF_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp = (tmp & TCC_PERBUF_DITH4_DITHERBUF_Msk) >> TCC_PERBUF_DITH4_DITHERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_PERBUF_DITH5_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg |= TCC_PERBUF_DITH5_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_DITH5_DITHERBUF_bf(const void *const hw,
+ hri_tcc_perbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp = (tmp & TCC_PERBUF_DITH5_DITHERBUF(mask)) >> TCC_PERBUF_DITH5_DITHERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PERBUF_DITH5_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp &= ~TCC_PERBUF_DITH5_DITHERBUF_Msk;
+ tmp |= TCC_PERBUF_DITH5_DITHERBUF(data);
+ ((Tcc *)hw)->PERBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PERBUF_DITH5_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg &= ~TCC_PERBUF_DITH5_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PERBUF_DITH5_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg ^= TCC_PERBUF_DITH5_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_DITH5_DITHERBUF_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp = (tmp & TCC_PERBUF_DITH5_DITHERBUF_Msk) >> TCC_PERBUF_DITH5_DITHERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_PERBUF_DITH6_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg |= TCC_PERBUF_DITH6_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_DITH6_DITHERBUF_bf(const void *const hw,
+ hri_tcc_perbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp = (tmp & TCC_PERBUF_DITH6_DITHERBUF(mask)) >> TCC_PERBUF_DITH6_DITHERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PERBUF_DITH6_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp &= ~TCC_PERBUF_DITH6_DITHERBUF_Msk;
+ tmp |= TCC_PERBUF_DITH6_DITHERBUF(data);
+ ((Tcc *)hw)->PERBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PERBUF_DITH6_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg &= ~TCC_PERBUF_DITH6_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PERBUF_DITH6_DITHERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg ^= TCC_PERBUF_DITH6_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_DITH6_DITHERBUF_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp = (tmp & TCC_PERBUF_DITH6_DITHERBUF_Msk) >> TCC_PERBUF_DITH6_DITHERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_PERBUF_DITH6_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg |= TCC_PERBUF_PERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_DITH6_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp = (tmp & TCC_PERBUF_PERBUF(mask)) >> TCC_PERBUF_PERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PERBUF_DITH6_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp &= ~TCC_PERBUF_PERBUF_Msk;
+ tmp |= TCC_PERBUF_PERBUF(data);
+ ((Tcc *)hw)->PERBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PERBUF_DITH6_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg &= ~TCC_PERBUF_PERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PERBUF_DITH6_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg ^= TCC_PERBUF_PERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_DITH6_PERBUF_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp = (tmp & TCC_PERBUF_PERBUF_Msk) >> TCC_PERBUF_PERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_PERBUF_DITH5_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg |= TCC_PERBUF_PERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_DITH5_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp = (tmp & TCC_PERBUF_PERBUF(mask)) >> TCC_PERBUF_PERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PERBUF_DITH5_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp &= ~TCC_PERBUF_PERBUF_Msk;
+ tmp |= TCC_PERBUF_PERBUF(data);
+ ((Tcc *)hw)->PERBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PERBUF_DITH5_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg &= ~TCC_PERBUF_PERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PERBUF_DITH5_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg ^= TCC_PERBUF_PERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_DITH5_PERBUF_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp = (tmp & TCC_PERBUF_PERBUF_Msk) >> TCC_PERBUF_PERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_PERBUF_DITH4_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg |= TCC_PERBUF_PERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_DITH4_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp = (tmp & TCC_PERBUF_PERBUF(mask)) >> TCC_PERBUF_PERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PERBUF_DITH4_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp &= ~TCC_PERBUF_PERBUF_Msk;
+ tmp |= TCC_PERBUF_PERBUF(data);
+ ((Tcc *)hw)->PERBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PERBUF_DITH4_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg &= ~TCC_PERBUF_PERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PERBUF_DITH4_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg ^= TCC_PERBUF_PERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_DITH4_PERBUF_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp = (tmp & TCC_PERBUF_PERBUF_Msk) >> TCC_PERBUF_PERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_PERBUF_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg |= TCC_PERBUF_PERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp = (tmp & TCC_PERBUF_PERBUF(mask)) >> TCC_PERBUF_PERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PERBUF_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp &= ~TCC_PERBUF_PERBUF_Msk;
+ tmp |= TCC_PERBUF_PERBUF(data);
+ ((Tcc *)hw)->PERBUF.reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PERBUF_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg &= ~TCC_PERBUF_PERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PERBUF_PERBUF_bf(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg ^= TCC_PERBUF_PERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_PERBUF_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp = (tmp & TCC_PERBUF_PERBUF_Msk) >> TCC_PERBUF_PERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_PERBUF_reg(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg |= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_get_PERBUF_reg(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->PERBUF.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_write_PERBUF_reg(const void *const hw, hri_tcc_perbuf_reg_t data)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg = data;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_PERBUF_reg(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg &= ~mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_PERBUF_reg(const void *const hw, hri_tcc_perbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->PERBUF.reg ^= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_perbuf_reg_t hri_tcc_read_PERBUF_reg(const void *const hw)
+{
+ return ((Tcc *)hw)->PERBUF.reg;
+}
+
+static inline void hri_tcc_set_CCBUF_DITH4_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg |= TCC_CCBUF_CCBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_DITH4_CCBUF_bf(const void *const hw, uint8_t index,
+ hri_tcc_ccbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp = (tmp & TCC_CCBUF_CCBUF(mask)) >> TCC_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CCBUF_DITH4_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp &= ~TCC_CCBUF_CCBUF_Msk;
+ tmp |= TCC_CCBUF_CCBUF(data);
+ ((Tcc *)hw)->CCBUF[index].reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CCBUF_DITH4_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg &= ~TCC_CCBUF_CCBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CCBUF_DITH4_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg ^= TCC_CCBUF_CCBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_DITH4_CCBUF_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp = (tmp & TCC_CCBUF_CCBUF_Msk) >> TCC_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CCBUF_DITH5_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg |= TCC_CCBUF_DITH5_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_DITH5_DITHERBUF_bf(const void *const hw, uint8_t index,
+ hri_tcc_ccbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp = (tmp & TCC_CCBUF_DITH5_DITHERBUF(mask)) >> TCC_CCBUF_DITH5_DITHERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CCBUF_DITH5_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp &= ~TCC_CCBUF_DITH5_DITHERBUF_Msk;
+ tmp |= TCC_CCBUF_DITH5_DITHERBUF(data);
+ ((Tcc *)hw)->CCBUF[index].reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CCBUF_DITH5_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg &= ~TCC_CCBUF_DITH5_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CCBUF_DITH5_DITHERBUF_bf(const void *const hw, uint8_t index,
+ hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg ^= TCC_CCBUF_DITH5_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_DITH5_DITHERBUF_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp = (tmp & TCC_CCBUF_DITH5_DITHERBUF_Msk) >> TCC_CCBUF_DITH5_DITHERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CCBUF_DITH6_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg |= TCC_CCBUF_DITH6_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_DITH6_DITHERBUF_bf(const void *const hw, uint8_t index,
+ hri_tcc_ccbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp = (tmp & TCC_CCBUF_DITH6_DITHERBUF(mask)) >> TCC_CCBUF_DITH6_DITHERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CCBUF_DITH6_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp &= ~TCC_CCBUF_DITH6_DITHERBUF_Msk;
+ tmp |= TCC_CCBUF_DITH6_DITHERBUF(data);
+ ((Tcc *)hw)->CCBUF[index].reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CCBUF_DITH6_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg &= ~TCC_CCBUF_DITH6_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CCBUF_DITH6_DITHERBUF_bf(const void *const hw, uint8_t index,
+ hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg ^= TCC_CCBUF_DITH6_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_DITH6_DITHERBUF_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp = (tmp & TCC_CCBUF_DITH6_DITHERBUF_Msk) >> TCC_CCBUF_DITH6_DITHERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CCBUF_DITH6_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg |= TCC_CCBUF_CCBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_DITH6_CCBUF_bf(const void *const hw, uint8_t index,
+ hri_tcc_ccbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp = (tmp & TCC_CCBUF_CCBUF(mask)) >> TCC_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CCBUF_DITH6_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp &= ~TCC_CCBUF_CCBUF_Msk;
+ tmp |= TCC_CCBUF_CCBUF(data);
+ ((Tcc *)hw)->CCBUF[index].reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CCBUF_DITH6_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg &= ~TCC_CCBUF_CCBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CCBUF_DITH6_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg ^= TCC_CCBUF_CCBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_DITH6_CCBUF_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp = (tmp & TCC_CCBUF_CCBUF_Msk) >> TCC_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CCBUF_DITH5_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg |= TCC_CCBUF_CCBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_DITH5_CCBUF_bf(const void *const hw, uint8_t index,
+ hri_tcc_ccbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp = (tmp & TCC_CCBUF_CCBUF(mask)) >> TCC_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CCBUF_DITH5_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp &= ~TCC_CCBUF_CCBUF_Msk;
+ tmp |= TCC_CCBUF_CCBUF(data);
+ ((Tcc *)hw)->CCBUF[index].reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CCBUF_DITH5_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg &= ~TCC_CCBUF_CCBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CCBUF_DITH5_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg ^= TCC_CCBUF_CCBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_DITH5_CCBUF_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp = (tmp & TCC_CCBUF_CCBUF_Msk) >> TCC_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CCBUF_DITH4_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg |= TCC_CCBUF_DITH4_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_DITH4_DITHERBUF_bf(const void *const hw, uint8_t index,
+ hri_tcc_ccbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp = (tmp & TCC_CCBUF_DITH4_DITHERBUF(mask)) >> TCC_CCBUF_DITH4_DITHERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CCBUF_DITH4_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp &= ~TCC_CCBUF_DITH4_DITHERBUF_Msk;
+ tmp |= TCC_CCBUF_DITH4_DITHERBUF(data);
+ ((Tcc *)hw)->CCBUF[index].reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CCBUF_DITH4_DITHERBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg &= ~TCC_CCBUF_DITH4_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CCBUF_DITH4_DITHERBUF_bf(const void *const hw, uint8_t index,
+ hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg ^= TCC_CCBUF_DITH4_DITHERBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_DITH4_DITHERBUF_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp = (tmp & TCC_CCBUF_DITH4_DITHERBUF_Msk) >> TCC_CCBUF_DITH4_DITHERBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg |= TCC_CCBUF_CCBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_CCBUF_bf(const void *const hw, uint8_t index,
+ hri_tcc_ccbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp = (tmp & TCC_CCBUF_CCBUF(mask)) >> TCC_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data)
+{
+ uint32_t tmp;
+ TCC_CRITICAL_SECTION_ENTER();
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp &= ~TCC_CCBUF_CCBUF_Msk;
+ tmp |= TCC_CCBUF_CCBUF(data);
+ ((Tcc *)hw)->CCBUF[index].reg = tmp;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg &= ~TCC_CCBUF_CCBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CCBUF_CCBUF_bf(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg ^= TCC_CCBUF_CCBUF(mask);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_CCBUF_bf(const void *const hw, uint8_t index)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp = (tmp & TCC_CCBUF_CCBUF_Msk) >> TCC_CCBUF_CCBUF_Pos;
+ return tmp;
+}
+
+static inline void hri_tcc_set_CCBUF_reg(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg |= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_get_CCBUF_reg(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Tcc *)hw)->CCBUF[index].reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_write_CCBUF_reg(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t data)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg = data;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_clear_CCBUF_reg(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg &= ~mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_tcc_toggle_CCBUF_reg(const void *const hw, uint8_t index, hri_tcc_ccbuf_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->CCBUF[index].reg ^= mask;
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_ccbuf_reg_t hri_tcc_read_CCBUF_reg(const void *const hw, uint8_t index)
+{
+ return ((Tcc *)hw)->CCBUF[index].reg;
+}
+
+static inline bool hri_tcc_get_STATUS_STOP_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_STOP) >> TCC_STATUS_STOP_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_STOP_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_STOP;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_IDX_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_IDX) >> TCC_STATUS_IDX_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_IDX_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_IDX;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_UFS_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_UFS) >> TCC_STATUS_UFS_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_UFS_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_UFS;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_DFS_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_DFS) >> TCC_STATUS_DFS_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_DFS_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_DFS;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_SLAVE_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_SLAVE) >> TCC_STATUS_SLAVE_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_SLAVE_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_SLAVE;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_PATTBUFV_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_PATTBUFV) >> TCC_STATUS_PATTBUFV_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_PATTBUFV_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_PATTBUFV;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_PERBUFV_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_PERBUFV) >> TCC_STATUS_PERBUFV_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_PERBUFV_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_PERBUFV;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_FAULTAIN_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULTAIN) >> TCC_STATUS_FAULTAIN_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_FAULTAIN_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULTAIN;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_FAULTBIN_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULTBIN) >> TCC_STATUS_FAULTBIN_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_FAULTBIN_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULTBIN;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_FAULT0IN_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULT0IN) >> TCC_STATUS_FAULT0IN_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_FAULT0IN_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULT0IN;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_FAULT1IN_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULT1IN) >> TCC_STATUS_FAULT1IN_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_FAULT1IN_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULT1IN;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_FAULTA_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULTA) >> TCC_STATUS_FAULTA_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_FAULTA_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULTA;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_FAULTB_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULTB) >> TCC_STATUS_FAULTB_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_FAULTB_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULTB;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_FAULT0_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULT0) >> TCC_STATUS_FAULT0_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_FAULT0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULT0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_FAULT1_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_FAULT1) >> TCC_STATUS_FAULT1_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_FAULT1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_FAULT1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_CCBUFV0_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CCBUFV0) >> TCC_STATUS_CCBUFV0_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_CCBUFV0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CCBUFV0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_CCBUFV1_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CCBUFV1) >> TCC_STATUS_CCBUFV1_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_CCBUFV1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CCBUFV1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_CCBUFV2_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CCBUFV2) >> TCC_STATUS_CCBUFV2_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_CCBUFV2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CCBUFV2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_CCBUFV3_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CCBUFV3) >> TCC_STATUS_CCBUFV3_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_CCBUFV3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CCBUFV3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_CCBUFV4_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CCBUFV4) >> TCC_STATUS_CCBUFV4_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_CCBUFV4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CCBUFV4;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_CCBUFV5_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CCBUFV5) >> TCC_STATUS_CCBUFV5_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_CCBUFV5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CCBUFV5;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_CMP0_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CMP0) >> TCC_STATUS_CMP0_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_CMP0_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CMP0;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_CMP1_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CMP1) >> TCC_STATUS_CMP1_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_CMP1_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CMP1;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_CMP2_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CMP2) >> TCC_STATUS_CMP2_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_CMP2_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CMP2;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_CMP3_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CMP3) >> TCC_STATUS_CMP3_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_CMP3_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CMP3;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_CMP4_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CMP4) >> TCC_STATUS_CMP4_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_CMP4_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CMP4;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_tcc_get_STATUS_CMP5_bit(const void *const hw)
+{
+ return (((Tcc *)hw)->STATUS.reg & TCC_STATUS_CMP5) >> TCC_STATUS_CMP5_Pos;
+}
+
+static inline void hri_tcc_clear_STATUS_CMP5_bit(const void *const hw)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = TCC_STATUS_CMP5;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_status_reg_t hri_tcc_get_STATUS_reg(const void *const hw, hri_tcc_status_reg_t mask)
+{
+ uint32_t tmp;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ tmp = ((Tcc *)hw)->STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_tcc_clear_STATUS_reg(const void *const hw, hri_tcc_status_reg_t mask)
+{
+ TCC_CRITICAL_SECTION_ENTER();
+ ((Tcc *)hw)->STATUS.reg = mask;
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ TCC_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_tcc_status_reg_t hri_tcc_read_STATUS_reg(const void *const hw)
+{
+ hri_tcc_wait_for_sync(hw, TCC_SYNCBUSY_MASK);
+ return ((Tcc *)hw)->STATUS.reg;
+}
+
+/* Below section is for legacy hri apis name, not recommended to use below left side apis in application */
+#define hri_tcc_set_COUNT_DITH4_reg(a, b) hri_tcc_set_COUNT_reg(a, b)
+#define hri_tcc_get_COUNT_DITH4_reg(a, b) hri_tcc_get_COUNT_reg(a, b)
+#define hri_tcc_write_COUNT_DITH4_reg(a, b) hri_tcc_write_COUNT_reg(a, b)
+#define hri_tcc_clear_COUNT_DITH4_reg(a, b) hri_tcc_clear_COUNT_reg(a, b)
+#define hri_tcc_toggle_COUNT_DITH4_reg(a, b) hri_tcc_toggle_COUNT_reg(a, b)
+#define hri_tcc_read_COUNT_DITH4_reg(a) hri_tcc_read_COUNT_reg(a)
+#define hri_tcc_set_COUNT_DITH5_reg(a, b) hri_tcc_set_COUNT_reg(a, b)
+#define hri_tcc_get_COUNT_DITH5_reg(a, b) hri_tcc_get_COUNT_reg(a, b)
+#define hri_tcc_write_COUNT_DITH5_reg(a, b) hri_tcc_write_COUNT_reg(a, b)
+#define hri_tcc_clear_COUNT_DITH5_reg(a, b) hri_tcc_clear_COUNT_reg(a, b)
+#define hri_tcc_toggle_COUNT_DITH5_reg(a, b) hri_tcc_toggle_COUNT_reg(a, b)
+#define hri_tcc_read_COUNT_DITH5_reg(a) hri_tcc_read_COUNT_reg(a)
+#define hri_tcc_set_COUNT_DITH6_reg(a, b) hri_tcc_set_COUNT_reg(a, b)
+#define hri_tcc_get_COUNT_DITH6_reg(a, b) hri_tcc_get_COUNT_reg(a, b)
+#define hri_tcc_write_COUNT_DITH6_reg(a, b) hri_tcc_write_COUNT_reg(a, b)
+#define hri_tcc_clear_COUNT_DITH6_reg(a, b) hri_tcc_clear_COUNT_reg(a, b)
+#define hri_tcc_toggle_COUNT_DITH6_reg(a, b) hri_tcc_toggle_COUNT_reg(a, b)
+#define hri_tcc_read_COUNT_DITH6_reg(a) hri_tcc_read_COUNT_reg(a)
+#define hri_tcc_set_PER_DITH4_reg(a, b) hri_tcc_set_PER_reg(a, b)
+#define hri_tcc_get_PER_DITH4_reg(a, b) hri_tcc_get_PER_reg(a, b)
+#define hri_tcc_write_PER_DITH4_reg(a, b) hri_tcc_write_PER_reg(a, b)
+#define hri_tcc_clear_PER_DITH4_reg(a, b) hri_tcc_clear_PER_reg(a, b)
+#define hri_tcc_toggle_PER_DITH4_reg(a, b) hri_tcc_toggle_PER_reg(a, b)
+#define hri_tcc_read_PER_DITH4_reg(a) hri_tcc_read_PER_reg(a)
+#define hri_tcc_set_PER_DITH5_reg(a, b) hri_tcc_set_PER_reg(a, b)
+#define hri_tcc_get_PER_DITH5_reg(a, b) hri_tcc_get_PER_reg(a, b)
+#define hri_tcc_write_PER_DITH5_reg(a, b) hri_tcc_write_PER_reg(a, b)
+#define hri_tcc_clear_PER_DITH5_reg(a, b) hri_tcc_clear_PER_reg(a, b)
+#define hri_tcc_toggle_PER_DITH5_reg(a, b) hri_tcc_toggle_PER_reg(a, b)
+#define hri_tcc_read_PER_DITH5_reg(a) hri_tcc_read_PER_reg(a)
+#define hri_tcc_set_PER_DITH6_reg(a, b) hri_tcc_set_PER_reg(a, b)
+#define hri_tcc_get_PER_DITH6_reg(a, b) hri_tcc_get_PER_reg(a, b)
+#define hri_tcc_write_PER_DITH6_reg(a, b) hri_tcc_write_PER_reg(a, b)
+#define hri_tcc_clear_PER_DITH6_reg(a, b) hri_tcc_clear_PER_reg(a, b)
+#define hri_tcc_toggle_PER_DITH6_reg(a, b) hri_tcc_toggle_PER_reg(a, b)
+#define hri_tcc_read_PER_DITH6_reg(a) hri_tcc_read_PER_reg(a)
+#define hri_tcc_set_CC_DITH4_reg(a, b, c) hri_tcc_set_CC_reg(a, b, c)
+#define hri_tcc_get_CC_DITH4_reg(a, b, c) hri_tcc_get_CC_reg(a, b, c)
+#define hri_tcc_write_CC_DITH4_reg(a, b, c) hri_tcc_write_CC_reg(a, b, c)
+#define hri_tcc_clear_CC_DITH4_reg(a, b, c) hri_tcc_clear_CC_reg(a, b, c)
+#define hri_tcc_toggle_CC_DITH4_reg(a, b, c) hri_tcc_toggle_CC_reg(a, b, c)
+#define hri_tcc_read_CC_DITH4_reg(a, b) hri_tcc_read_CC_reg(a, b)
+#define hri_tcc_set_CC_DITH5_reg(a, b, c) hri_tcc_set_CC_reg(a, b, c)
+#define hri_tcc_get_CC_DITH5_reg(a, b, c) hri_tcc_get_CC_reg(a, b, c)
+#define hri_tcc_write_CC_DITH5_reg(a, b, c) hri_tcc_write_CC_reg(a, b, c)
+#define hri_tcc_clear_CC_DITH5_reg(a, b, c) hri_tcc_clear_CC_reg(a, b, c)
+#define hri_tcc_toggle_CC_DITH5_reg(a, b, c) hri_tcc_toggle_CC_reg(a, b, c)
+#define hri_tcc_read_CC_DITH5_reg(a, b) hri_tcc_read_CC_reg(a, b)
+#define hri_tcc_set_CC_DITH6_reg(a, b, c) hri_tcc_set_CC_reg(a, b, c)
+#define hri_tcc_get_CC_DITH6_reg(a, b, c) hri_tcc_get_CC_reg(a, b, c)
+#define hri_tcc_write_CC_DITH6_reg(a, b, c) hri_tcc_write_CC_reg(a, b, c)
+#define hri_tcc_clear_CC_DITH6_reg(a, b, c) hri_tcc_clear_CC_reg(a, b, c)
+#define hri_tcc_toggle_CC_DITH6_reg(a, b, c) hri_tcc_toggle_CC_reg(a, b, c)
+#define hri_tcc_read_CC_DITH6_reg(a, b) hri_tcc_read_CC_reg(a, b)
+#define hri_tcc_set_PERBUF_DITH4_reg(a, b) hri_tcc_set_PERBUF_reg(a, b)
+#define hri_tcc_get_PERBUF_DITH4_reg(a, b) hri_tcc_get_PERBUF_reg(a, b)
+#define hri_tcc_write_PERBUF_DITH4_reg(a, b) hri_tcc_write_PERBUF_reg(a, b)
+#define hri_tcc_clear_PERBUF_DITH4_reg(a, b) hri_tcc_clear_PERBUF_reg(a, b)
+#define hri_tcc_toggle_PERBUF_DITH4_reg(a, b) hri_tcc_toggle_PERBUF_reg(a, b)
+#define hri_tcc_read_PERBUF_DITH4_reg(a) hri_tcc_read_PERBUF_reg(a)
+#define hri_tcc_set_PERBUF_DITH5_reg(a, b) hri_tcc_set_PERBUF_reg(a, b)
+#define hri_tcc_get_PERBUF_DITH5_reg(a, b) hri_tcc_get_PERBUF_reg(a, b)
+#define hri_tcc_write_PERBUF_DITH5_reg(a, b) hri_tcc_write_PERBUF_reg(a, b)
+#define hri_tcc_clear_PERBUF_DITH5_reg(a, b) hri_tcc_clear_PERBUF_reg(a, b)
+#define hri_tcc_toggle_PERBUF_DITH5_reg(a, b) hri_tcc_toggle_PERBUF_reg(a, b)
+#define hri_tcc_read_PERBUF_DITH5_reg(a) hri_tcc_read_PERBUF_reg(a)
+#define hri_tcc_set_PERBUF_DITH6_reg(a, b) hri_tcc_set_PERBUF_reg(a, b)
+#define hri_tcc_get_PERBUF_DITH6_reg(a, b) hri_tcc_get_PERBUF_reg(a, b)
+#define hri_tcc_write_PERBUF_DITH6_reg(a, b) hri_tcc_write_PERBUF_reg(a, b)
+#define hri_tcc_clear_PERBUF_DITH6_reg(a, b) hri_tcc_clear_PERBUF_reg(a, b)
+#define hri_tcc_toggle_PERBUF_DITH6_reg(a, b) hri_tcc_toggle_PERBUF_reg(a, b)
+#define hri_tcc_read_PERBUF_DITH6_reg(a) hri_tcc_read_PERBUF_reg(a)
+#define hri_tcc_set_CCBUF_DITH4_reg(a, b, c) hri_tcc_set_CCBUF_reg(a, b, c)
+#define hri_tcc_get_CCBUF_DITH4_reg(a, b, c) hri_tcc_get_CCBUF_reg(a, b, c)
+#define hri_tcc_write_CCBUF_DITH4_reg(a, b, c) hri_tcc_write_CCBUF_reg(a, b, c)
+#define hri_tcc_clear_CCBUF_DITH4_reg(a, b, c) hri_tcc_clear_CCBUF_reg(a, b, c)
+#define hri_tcc_toggle_CCBUF_DITH4_reg(a, b, c) hri_tcc_toggle_CCBUF_reg(a, b, c)
+#define hri_tcc_read_CCBUF_DITH4_reg(a, b) hri_tcc_read_CCBUF_reg(a, b)
+#define hri_tcc_set_CCBUF_DITH5_reg(a, b, c) hri_tcc_set_CCBUF_reg(a, b, c)
+#define hri_tcc_get_CCBUF_DITH5_reg(a, b, c) hri_tcc_get_CCBUF_reg(a, b, c)
+#define hri_tcc_write_CCBUF_DITH5_reg(a, b, c) hri_tcc_write_CCBUF_reg(a, b, c)
+#define hri_tcc_clear_CCBUF_DITH5_reg(a, b, c) hri_tcc_clear_CCBUF_reg(a, b, c)
+#define hri_tcc_toggle_CCBUF_DITH5_reg(a, b, c) hri_tcc_toggle_CCBUF_reg(a, b, c)
+#define hri_tcc_read_CCBUF_DITH5_reg(a, b) hri_tcc_read_CCBUF_reg(a, b)
+#define hri_tcc_set_CCBUF_DITH6_reg(a, b, c) hri_tcc_set_CCBUF_reg(a, b, c)
+#define hri_tcc_get_CCBUF_DITH6_reg(a, b, c) hri_tcc_get_CCBUF_reg(a, b, c)
+#define hri_tcc_write_CCBUF_DITH6_reg(a, b, c) hri_tcc_write_CCBUF_reg(a, b, c)
+#define hri_tcc_clear_CCBUF_DITH6_reg(a, b, c) hri_tcc_clear_CCBUF_reg(a, b, c)
+#define hri_tcc_toggle_CCBUF_DITH6_reg(a, b, c) hri_tcc_toggle_CCBUF_reg(a, b, c)
+#define hri_tcc_read_CCBUF_DITH6_reg(a, b) hri_tcc_read_CCBUF_reg(a, b)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_TCC_E54_H_INCLUDED */
+#endif /* _SAME54_TCC_COMPONENT_ */
diff --git a/hri/hri_trng_e54.h b/hri/hri_trng_e54.h
new file mode 100644
index 0000000..e42caab
--- /dev/null
+++ b/hri/hri_trng_e54.h
@@ -0,0 +1,380 @@
+/**
+ * \file
+ *
+ * \brief SAM TRNG
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_TRNG_COMPONENT_
+#ifndef _HRI_TRNG_E54_H_INCLUDED_
+#define _HRI_TRNG_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_TRNG_CRITICAL_SECTIONS)
+#define TRNG_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define TRNG_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define TRNG_CRITICAL_SECTION_ENTER()
+#define TRNG_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_trng_data_reg_t;
+typedef uint8_t hri_trng_ctrla_reg_t;
+typedef uint8_t hri_trng_evctrl_reg_t;
+typedef uint8_t hri_trng_intenset_reg_t;
+typedef uint8_t hri_trng_intflag_reg_t;
+
+static inline bool hri_trng_get_INTFLAG_DATARDY_bit(const void *const hw)
+{
+ return (((Trng *)hw)->INTFLAG.reg & TRNG_INTFLAG_DATARDY) >> TRNG_INTFLAG_DATARDY_Pos;
+}
+
+static inline void hri_trng_clear_INTFLAG_DATARDY_bit(const void *const hw)
+{
+ ((Trng *)hw)->INTFLAG.reg = TRNG_INTFLAG_DATARDY;
+}
+
+static inline bool hri_trng_get_interrupt_DATARDY_bit(const void *const hw)
+{
+ return (((Trng *)hw)->INTFLAG.reg & TRNG_INTFLAG_DATARDY) >> TRNG_INTFLAG_DATARDY_Pos;
+}
+
+static inline void hri_trng_clear_interrupt_DATARDY_bit(const void *const hw)
+{
+ ((Trng *)hw)->INTFLAG.reg = TRNG_INTFLAG_DATARDY;
+}
+
+static inline hri_trng_intflag_reg_t hri_trng_get_INTFLAG_reg(const void *const hw, hri_trng_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Trng *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_trng_intflag_reg_t hri_trng_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Trng *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_trng_clear_INTFLAG_reg(const void *const hw, hri_trng_intflag_reg_t mask)
+{
+ ((Trng *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_trng_set_INTEN_DATARDY_bit(const void *const hw)
+{
+ ((Trng *)hw)->INTENSET.reg = TRNG_INTENSET_DATARDY;
+}
+
+static inline bool hri_trng_get_INTEN_DATARDY_bit(const void *const hw)
+{
+ return (((Trng *)hw)->INTENSET.reg & TRNG_INTENSET_DATARDY) >> TRNG_INTENSET_DATARDY_Pos;
+}
+
+static inline void hri_trng_write_INTEN_DATARDY_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Trng *)hw)->INTENCLR.reg = TRNG_INTENSET_DATARDY;
+ } else {
+ ((Trng *)hw)->INTENSET.reg = TRNG_INTENSET_DATARDY;
+ }
+}
+
+static inline void hri_trng_clear_INTEN_DATARDY_bit(const void *const hw)
+{
+ ((Trng *)hw)->INTENCLR.reg = TRNG_INTENSET_DATARDY;
+}
+
+static inline void hri_trng_set_INTEN_reg(const void *const hw, hri_trng_intenset_reg_t mask)
+{
+ ((Trng *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_trng_intenset_reg_t hri_trng_get_INTEN_reg(const void *const hw, hri_trng_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Trng *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_trng_intenset_reg_t hri_trng_read_INTEN_reg(const void *const hw)
+{
+ return ((Trng *)hw)->INTENSET.reg;
+}
+
+static inline void hri_trng_write_INTEN_reg(const void *const hw, hri_trng_intenset_reg_t data)
+{
+ ((Trng *)hw)->INTENSET.reg = data;
+ ((Trng *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_trng_clear_INTEN_reg(const void *const hw, hri_trng_intenset_reg_t mask)
+{
+ ((Trng *)hw)->INTENCLR.reg = mask;
+}
+
+static inline hri_trng_data_reg_t hri_trng_get_DATA_DATA_bf(const void *const hw, hri_trng_data_reg_t mask)
+{
+ return (((Trng *)hw)->DATA.reg & TRNG_DATA_DATA(mask)) >> TRNG_DATA_DATA_Pos;
+}
+
+static inline hri_trng_data_reg_t hri_trng_read_DATA_DATA_bf(const void *const hw)
+{
+ return (((Trng *)hw)->DATA.reg & TRNG_DATA_DATA_Msk) >> TRNG_DATA_DATA_Pos;
+}
+
+static inline hri_trng_data_reg_t hri_trng_get_DATA_reg(const void *const hw, hri_trng_data_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Trng *)hw)->DATA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_trng_data_reg_t hri_trng_read_DATA_reg(const void *const hw)
+{
+ return ((Trng *)hw)->DATA.reg;
+}
+
+static inline void hri_trng_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->CTRLA.reg |= TRNG_CTRLA_ENABLE;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_trng_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Trng *)hw)->CTRLA.reg;
+ tmp = (tmp & TRNG_CTRLA_ENABLE) >> TRNG_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_trng_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ TRNG_CRITICAL_SECTION_ENTER();
+ tmp = ((Trng *)hw)->CTRLA.reg;
+ tmp &= ~TRNG_CTRLA_ENABLE;
+ tmp |= value << TRNG_CTRLA_ENABLE_Pos;
+ ((Trng *)hw)->CTRLA.reg = tmp;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_trng_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->CTRLA.reg &= ~TRNG_CTRLA_ENABLE;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_trng_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->CTRLA.reg ^= TRNG_CTRLA_ENABLE;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_trng_set_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->CTRLA.reg |= TRNG_CTRLA_RUNSTDBY;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_trng_get_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Trng *)hw)->CTRLA.reg;
+ tmp = (tmp & TRNG_CTRLA_RUNSTDBY) >> TRNG_CTRLA_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_trng_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ TRNG_CRITICAL_SECTION_ENTER();
+ tmp = ((Trng *)hw)->CTRLA.reg;
+ tmp &= ~TRNG_CTRLA_RUNSTDBY;
+ tmp |= value << TRNG_CTRLA_RUNSTDBY_Pos;
+ ((Trng *)hw)->CTRLA.reg = tmp;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_trng_clear_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->CTRLA.reg &= ~TRNG_CTRLA_RUNSTDBY;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_trng_toggle_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->CTRLA.reg ^= TRNG_CTRLA_RUNSTDBY;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_trng_set_CTRLA_reg(const void *const hw, hri_trng_ctrla_reg_t mask)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->CTRLA.reg |= mask;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_trng_ctrla_reg_t hri_trng_get_CTRLA_reg(const void *const hw, hri_trng_ctrla_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Trng *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_trng_write_CTRLA_reg(const void *const hw, hri_trng_ctrla_reg_t data)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->CTRLA.reg = data;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_trng_clear_CTRLA_reg(const void *const hw, hri_trng_ctrla_reg_t mask)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->CTRLA.reg &= ~mask;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_trng_toggle_CTRLA_reg(const void *const hw, hri_trng_ctrla_reg_t mask)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->CTRLA.reg ^= mask;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_trng_ctrla_reg_t hri_trng_read_CTRLA_reg(const void *const hw)
+{
+ return ((Trng *)hw)->CTRLA.reg;
+}
+
+static inline void hri_trng_set_EVCTRL_DATARDYEO_bit(const void *const hw)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->EVCTRL.reg |= TRNG_EVCTRL_DATARDYEO;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_trng_get_EVCTRL_DATARDYEO_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Trng *)hw)->EVCTRL.reg;
+ tmp = (tmp & TRNG_EVCTRL_DATARDYEO) >> TRNG_EVCTRL_DATARDYEO_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_trng_write_EVCTRL_DATARDYEO_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ TRNG_CRITICAL_SECTION_ENTER();
+ tmp = ((Trng *)hw)->EVCTRL.reg;
+ tmp &= ~TRNG_EVCTRL_DATARDYEO;
+ tmp |= value << TRNG_EVCTRL_DATARDYEO_Pos;
+ ((Trng *)hw)->EVCTRL.reg = tmp;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_trng_clear_EVCTRL_DATARDYEO_bit(const void *const hw)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->EVCTRL.reg &= ~TRNG_EVCTRL_DATARDYEO;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_trng_toggle_EVCTRL_DATARDYEO_bit(const void *const hw)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->EVCTRL.reg ^= TRNG_EVCTRL_DATARDYEO;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_trng_set_EVCTRL_reg(const void *const hw, hri_trng_evctrl_reg_t mask)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->EVCTRL.reg |= mask;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_trng_evctrl_reg_t hri_trng_get_EVCTRL_reg(const void *const hw, hri_trng_evctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Trng *)hw)->EVCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_trng_write_EVCTRL_reg(const void *const hw, hri_trng_evctrl_reg_t data)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->EVCTRL.reg = data;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_trng_clear_EVCTRL_reg(const void *const hw, hri_trng_evctrl_reg_t mask)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->EVCTRL.reg &= ~mask;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_trng_toggle_EVCTRL_reg(const void *const hw, hri_trng_evctrl_reg_t mask)
+{
+ TRNG_CRITICAL_SECTION_ENTER();
+ ((Trng *)hw)->EVCTRL.reg ^= mask;
+ TRNG_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_trng_evctrl_reg_t hri_trng_read_EVCTRL_reg(const void *const hw)
+{
+ return ((Trng *)hw)->EVCTRL.reg;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_TRNG_E54_H_INCLUDED */
+#endif /* _SAME54_TRNG_COMPONENT_ */
diff --git a/hri/hri_usb_e54.h b/hri/hri_usb_e54.h
new file mode 100644
index 0000000..34b5e02
--- /dev/null
+++ b/hri/hri_usb_e54.h
@@ -0,0 +1,9335 @@
+/**
+ * \file
+ *
+ * \brief SAM USB
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_USB_COMPONENT_
+#ifndef _HRI_USB_E54_H_INCLUDED_
+#define _HRI_USB_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_USB_CRITICAL_SECTIONS)
+#define USB_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define USB_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define USB_CRITICAL_SECTION_ENTER()
+#define USB_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint16_t hri_usb_padcal_reg_t;
+typedef uint16_t hri_usbdesc_bank_ctrl_pipe_reg_t;
+typedef uint16_t hri_usbdesc_bank_extreg_reg_t;
+typedef uint16_t hri_usbdesc_bank_status_pipe_reg_t;
+typedef uint16_t hri_usbdescriptordevice_extreg_reg_t;
+typedef uint16_t hri_usbdescriptorhost_ctrl_pipe_reg_t;
+typedef uint16_t hri_usbdescriptorhost_extreg_reg_t;
+typedef uint16_t hri_usbdescriptorhost_status_pipe_reg_t;
+typedef uint16_t hri_usbdevice_ctrlb_reg_t;
+typedef uint16_t hri_usbdevice_epintsmry_reg_t;
+typedef uint16_t hri_usbdevice_fnum_reg_t;
+typedef uint16_t hri_usbdevice_intenset_reg_t;
+typedef uint16_t hri_usbdevice_intflag_reg_t;
+typedef uint16_t hri_usbhost_ctrlb_reg_t;
+typedef uint16_t hri_usbhost_fnum_reg_t;
+typedef uint16_t hri_usbhost_intenset_reg_t;
+typedef uint16_t hri_usbhost_intflag_reg_t;
+typedef uint16_t hri_usbhost_pintsmry_reg_t;
+typedef uint32_t hri_usb_descadd_reg_t;
+typedef uint32_t hri_usbdesc_bank_addr_reg_t;
+typedef uint32_t hri_usbdesc_bank_pcksize_reg_t;
+typedef uint32_t hri_usbdescriptordevice_addr_reg_t;
+typedef uint32_t hri_usbdescriptordevice_pcksize_reg_t;
+typedef uint32_t hri_usbdescriptorhost_addr_reg_t;
+typedef uint32_t hri_usbdescriptorhost_pcksize_reg_t;
+typedef uint8_t hri_usb_ctrla_reg_t;
+typedef uint8_t hri_usb_fsmstatus_reg_t;
+typedef uint8_t hri_usb_qosctrl_reg_t;
+typedef uint8_t hri_usb_syncbusy_reg_t;
+typedef uint8_t hri_usbdesc_bank_status_bk_reg_t;
+typedef uint8_t hri_usbdescriptordevice_status_bk_reg_t;
+typedef uint8_t hri_usbdescriptorhost_status_bk_reg_t;
+typedef uint8_t hri_usbdevice_dadd_reg_t;
+typedef uint8_t hri_usbdevice_epcfg_reg_t;
+typedef uint8_t hri_usbdevice_epintenset_reg_t;
+typedef uint8_t hri_usbdevice_epintflag_reg_t;
+typedef uint8_t hri_usbdevice_epstatus_reg_t;
+typedef uint8_t hri_usbdevice_status_reg_t;
+typedef uint8_t hri_usbendpoint_epcfg_reg_t;
+typedef uint8_t hri_usbendpoint_epintenset_reg_t;
+typedef uint8_t hri_usbendpoint_epintflag_reg_t;
+typedef uint8_t hri_usbendpoint_epstatus_reg_t;
+typedef uint8_t hri_usbhost_binterval_reg_t;
+typedef uint8_t hri_usbhost_flenhigh_reg_t;
+typedef uint8_t hri_usbhost_hsofc_reg_t;
+typedef uint8_t hri_usbhost_pcfg_reg_t;
+typedef uint8_t hri_usbhost_pintenset_reg_t;
+typedef uint8_t hri_usbhost_pintflag_reg_t;
+typedef uint8_t hri_usbhost_pstatus_reg_t;
+typedef uint8_t hri_usbhost_status_reg_t;
+typedef uint8_t hri_usbpipe_binterval_reg_t;
+typedef uint8_t hri_usbpipe_pcfg_reg_t;
+typedef uint8_t hri_usbpipe_pintenset_reg_t;
+typedef uint8_t hri_usbpipe_pintflag_reg_t;
+typedef uint8_t hri_usbpipe_pstatus_reg_t;
+
+static inline void hri_usb_wait_for_sync(const void *const hw, hri_usb_syncbusy_reg_t reg)
+{
+ while (((Usb *)hw)->DEVICE.SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_usb_is_syncing(const void *const hw, hri_usb_syncbusy_reg_t reg)
+{
+ return ((Usb *)hw)->DEVICE.SYNCBUSY.reg & reg;
+}
+
+static inline bool hri_usbpipe_get_PINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT0)
+ >> USB_HOST_PINTFLAG_TRCPT0_Pos;
+}
+
+static inline void hri_usbpipe_clear_PINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT0;
+}
+
+static inline bool hri_usbpipe_get_PINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT1)
+ >> USB_HOST_PINTFLAG_TRCPT1_Pos;
+}
+
+static inline void hri_usbpipe_clear_PINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT1;
+}
+
+static inline bool hri_usbpipe_get_PINTFLAG_TRFAIL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRFAIL)
+ >> USB_HOST_PINTFLAG_TRFAIL_Pos;
+}
+
+static inline void hri_usbpipe_clear_PINTFLAG_TRFAIL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRFAIL;
+}
+
+static inline bool hri_usbpipe_get_PINTFLAG_PERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_PERR)
+ >> USB_HOST_PINTFLAG_PERR_Pos;
+}
+
+static inline void hri_usbpipe_clear_PINTFLAG_PERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_PERR;
+}
+
+static inline bool hri_usbpipe_get_PINTFLAG_TXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TXSTP)
+ >> USB_HOST_PINTFLAG_TXSTP_Pos;
+}
+
+static inline void hri_usbpipe_clear_PINTFLAG_TXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TXSTP;
+}
+
+static inline bool hri_usbpipe_get_PINTFLAG_STALL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_STALL)
+ >> USB_HOST_PINTFLAG_STALL_Pos;
+}
+
+static inline void hri_usbpipe_clear_PINTFLAG_STALL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_STALL;
+}
+
+static inline bool hri_usbpipe_get_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT0)
+ >> USB_HOST_PINTFLAG_TRCPT0_Pos;
+}
+
+static inline void hri_usbpipe_clear_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT0;
+}
+
+static inline bool hri_usbpipe_get_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT1)
+ >> USB_HOST_PINTFLAG_TRCPT1_Pos;
+}
+
+static inline void hri_usbpipe_clear_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT1;
+}
+
+static inline bool hri_usbpipe_get_interrupt_TRFAIL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRFAIL)
+ >> USB_HOST_PINTFLAG_TRFAIL_Pos;
+}
+
+static inline void hri_usbpipe_clear_interrupt_TRFAIL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRFAIL;
+}
+
+static inline bool hri_usbpipe_get_interrupt_PERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_PERR)
+ >> USB_HOST_PINTFLAG_PERR_Pos;
+}
+
+static inline void hri_usbpipe_clear_interrupt_PERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_PERR;
+}
+
+static inline bool hri_usbpipe_get_interrupt_TXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TXSTP)
+ >> USB_HOST_PINTFLAG_TXSTP_Pos;
+}
+
+static inline void hri_usbpipe_clear_interrupt_TXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TXSTP;
+}
+
+static inline bool hri_usbpipe_get_interrupt_STALL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_STALL)
+ >> USB_HOST_PINTFLAG_STALL_Pos;
+}
+
+static inline void hri_usbpipe_clear_interrupt_STALL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_STALL;
+}
+
+static inline hri_usbpipe_pintflag_reg_t hri_usbpipe_get_PINTFLAG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pintflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbpipe_pintflag_reg_t hri_usbpipe_read_PINTFLAG_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg;
+}
+
+static inline void hri_usbpipe_clear_PINTFLAG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pintflag_reg_t mask)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTFLAG.reg = mask;
+}
+
+static inline void hri_usbpipe_set_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_DTGL;
+}
+
+static inline bool hri_usbpipe_get_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_DTGL)
+ >> USB_HOST_PSTATUS_DTGL_Pos;
+}
+
+static inline void hri_usbpipe_write_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_DTGL;
+ } else {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_DTGL;
+ }
+}
+
+static inline void hri_usbpipe_clear_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_DTGL;
+}
+
+static inline void hri_usbpipe_set_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_CURBK;
+}
+
+static inline bool hri_usbpipe_get_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_CURBK)
+ >> USB_HOST_PSTATUS_CURBK_Pos;
+}
+
+static inline void hri_usbpipe_write_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_CURBK;
+ } else {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_CURBK;
+ }
+}
+
+static inline void hri_usbpipe_clear_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_CURBK;
+}
+
+static inline void hri_usbpipe_set_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_PFREEZE;
+}
+
+static inline bool hri_usbpipe_get_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_PFREEZE)
+ >> USB_HOST_PSTATUS_PFREEZE_Pos;
+}
+
+static inline void hri_usbpipe_write_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_PFREEZE;
+ } else {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_PFREEZE;
+ }
+}
+
+static inline void hri_usbpipe_clear_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_PFREEZE;
+}
+
+static inline void hri_usbpipe_set_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK0RDY;
+}
+
+static inline bool hri_usbpipe_get_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_BK0RDY)
+ >> USB_HOST_PSTATUS_BK0RDY_Pos;
+}
+
+static inline void hri_usbpipe_write_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK0RDY;
+ } else {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK0RDY;
+ }
+}
+
+static inline void hri_usbpipe_clear_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK0RDY;
+}
+
+static inline void hri_usbpipe_set_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK1RDY;
+}
+
+static inline bool hri_usbpipe_get_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_BK1RDY)
+ >> USB_HOST_PSTATUS_BK1RDY_Pos;
+}
+
+static inline void hri_usbpipe_write_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK1RDY;
+ } else {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK1RDY;
+ }
+}
+
+static inline void hri_usbpipe_clear_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK1RDY;
+}
+
+static inline void hri_usbpipe_set_PSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pstatus_reg_t mask)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = mask;
+}
+
+static inline hri_usbpipe_pstatus_reg_t hri_usbpipe_get_PSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pstatus_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbpipe_pstatus_reg_t hri_usbpipe_read_PSTATUS_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUS.reg;
+}
+
+static inline void hri_usbpipe_write_PSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pstatus_reg_t data)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSSET.reg = data;
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = ~data;
+}
+
+static inline void hri_usbpipe_clear_PSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pstatus_reg_t mask)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PSTATUSCLR.reg = mask;
+}
+
+static inline void hri_usbpipe_set_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT0;
+}
+
+static inline bool hri_usbpipe_get_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TRCPT0)
+ >> USB_HOST_PINTENSET_TRCPT0_Pos;
+}
+
+static inline void hri_usbpipe_write_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT0;
+ } else {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT0;
+ }
+}
+
+static inline void hri_usbpipe_clear_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT0;
+}
+
+static inline void hri_usbpipe_set_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT1;
+}
+
+static inline bool hri_usbpipe_get_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TRCPT1)
+ >> USB_HOST_PINTENSET_TRCPT1_Pos;
+}
+
+static inline void hri_usbpipe_write_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT1;
+ } else {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT1;
+ }
+}
+
+static inline void hri_usbpipe_clear_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT1;
+}
+
+static inline void hri_usbpipe_set_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRFAIL;
+}
+
+static inline bool hri_usbpipe_get_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TRFAIL)
+ >> USB_HOST_PINTENSET_TRFAIL_Pos;
+}
+
+static inline void hri_usbpipe_write_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRFAIL;
+ } else {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRFAIL;
+ }
+}
+
+static inline void hri_usbpipe_clear_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRFAIL;
+}
+
+static inline void hri_usbpipe_set_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_PERR;
+}
+
+static inline bool hri_usbpipe_get_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_PERR)
+ >> USB_HOST_PINTENSET_PERR_Pos;
+}
+
+static inline void hri_usbpipe_write_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_PERR;
+ } else {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_PERR;
+ }
+}
+
+static inline void hri_usbpipe_clear_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_PERR;
+}
+
+static inline void hri_usbpipe_set_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TXSTP;
+}
+
+static inline bool hri_usbpipe_get_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TXSTP)
+ >> USB_HOST_PINTENSET_TXSTP_Pos;
+}
+
+static inline void hri_usbpipe_write_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TXSTP;
+ } else {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TXSTP;
+ }
+}
+
+static inline void hri_usbpipe_clear_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TXSTP;
+}
+
+static inline void hri_usbpipe_set_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_STALL;
+}
+
+static inline bool hri_usbpipe_get_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_STALL)
+ >> USB_HOST_PINTENSET_STALL_Pos;
+}
+
+static inline void hri_usbpipe_write_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_STALL;
+ } else {
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_STALL;
+ }
+}
+
+static inline void hri_usbpipe_clear_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_STALL;
+}
+
+static inline void hri_usbpipe_set_PINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pintenset_reg_t mask)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = mask;
+}
+
+static inline hri_usbpipe_pintenset_reg_t hri_usbpipe_get_PINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pintenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbpipe_pintenset_reg_t hri_usbpipe_read_PINTEN_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg;
+}
+
+static inline void hri_usbpipe_write_PINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pintenset_reg_t data)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENSET.reg = data;
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = ~data;
+}
+
+static inline void hri_usbpipe_clear_PINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pintenset_reg_t mask)
+{
+ ((UsbHost *)hw)->HostPipe[submodule_index].PINTENCLR.reg = mask;
+}
+
+static inline void hri_usbpipe_set_PCFG_BK_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg |= USB_HOST_PCFG_BK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbpipe_get_PCFG_BK_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg;
+ tmp = (tmp & USB_HOST_PCFG_BK) >> USB_HOST_PCFG_BK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbpipe_write_PCFG_BK_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg;
+ tmp &= ~USB_HOST_PCFG_BK;
+ tmp |= value << USB_HOST_PCFG_BK_Pos;
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbpipe_clear_PCFG_BK_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg &= ~USB_HOST_PCFG_BK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbpipe_toggle_PCFG_BK_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg ^= USB_HOST_PCFG_BK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbpipe_set_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg |= USB_HOST_PCFG_PTOKEN(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbpipe_pcfg_reg_t hri_usbpipe_get_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg;
+ tmp = (tmp & USB_HOST_PCFG_PTOKEN(mask)) >> USB_HOST_PCFG_PTOKEN_Pos;
+ return tmp;
+}
+
+static inline void hri_usbpipe_write_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pcfg_reg_t data)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg;
+ tmp &= ~USB_HOST_PCFG_PTOKEN_Msk;
+ tmp |= USB_HOST_PCFG_PTOKEN(data);
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbpipe_clear_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg &= ~USB_HOST_PCFG_PTOKEN(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbpipe_toggle_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg ^= USB_HOST_PCFG_PTOKEN(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbpipe_pcfg_reg_t hri_usbpipe_read_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg;
+ tmp = (tmp & USB_HOST_PCFG_PTOKEN_Msk) >> USB_HOST_PCFG_PTOKEN_Pos;
+ return tmp;
+}
+
+static inline void hri_usbpipe_set_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg |= USB_HOST_PCFG_PTYPE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbpipe_pcfg_reg_t hri_usbpipe_get_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg;
+ tmp = (tmp & USB_HOST_PCFG_PTYPE(mask)) >> USB_HOST_PCFG_PTYPE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbpipe_write_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pcfg_reg_t data)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg;
+ tmp &= ~USB_HOST_PCFG_PTYPE_Msk;
+ tmp |= USB_HOST_PCFG_PTYPE(data);
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbpipe_clear_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg &= ~USB_HOST_PCFG_PTYPE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbpipe_toggle_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg ^= USB_HOST_PCFG_PTYPE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbpipe_pcfg_reg_t hri_usbpipe_read_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg;
+ tmp = (tmp & USB_HOST_PCFG_PTYPE_Msk) >> USB_HOST_PCFG_PTYPE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbpipe_set_PCFG_reg(const void *const hw, uint8_t submodule_index, hri_usbpipe_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbpipe_pcfg_reg_t hri_usbpipe_get_PCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbpipe_write_PCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pcfg_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbpipe_clear_PCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbpipe_toggle_PCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbpipe_pcfg_reg_t hri_usbpipe_read_PCFG_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((UsbHost *)hw)->HostPipe[submodule_index].PCFG.reg;
+}
+
+static inline void hri_usbpipe_set_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_binterval_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg |= USB_HOST_BINTERVAL_BITINTERVAL(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbpipe_binterval_reg_t hri_usbpipe_get_BINTERVAL_BITINTERVAL_bf(const void *const hw,
+ uint8_t submodule_index,
+ hri_usbpipe_binterval_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg;
+ tmp = (tmp & USB_HOST_BINTERVAL_BITINTERVAL(mask)) >> USB_HOST_BINTERVAL_BITINTERVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_usbpipe_write_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_binterval_reg_t data)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg;
+ tmp &= ~USB_HOST_BINTERVAL_BITINTERVAL_Msk;
+ tmp |= USB_HOST_BINTERVAL_BITINTERVAL(data);
+ ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbpipe_clear_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_binterval_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg &= ~USB_HOST_BINTERVAL_BITINTERVAL(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbpipe_toggle_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_binterval_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg ^= USB_HOST_BINTERVAL_BITINTERVAL(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbpipe_binterval_reg_t hri_usbpipe_read_BINTERVAL_BITINTERVAL_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg;
+ tmp = (tmp & USB_HOST_BINTERVAL_BITINTERVAL_Msk) >> USB_HOST_BINTERVAL_BITINTERVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_usbpipe_set_BINTERVAL_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_binterval_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbpipe_binterval_reg_t hri_usbpipe_get_BINTERVAL_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_binterval_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbpipe_write_BINTERVAL_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_binterval_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbpipe_clear_BINTERVAL_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_binterval_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbpipe_toggle_BINTERVAL_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbpipe_binterval_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbpipe_binterval_reg_t hri_usbpipe_read_BINTERVAL_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((UsbHost *)hw)->HostPipe[submodule_index].BINTERVAL.reg;
+}
+
+static inline bool hri_usbhost_get_PINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT0)
+ >> USB_HOST_PINTFLAG_TRCPT0_Pos;
+}
+
+static inline void hri_usbhost_clear_PINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT0;
+}
+
+static inline bool hri_usbhost_get_PINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT1)
+ >> USB_HOST_PINTFLAG_TRCPT1_Pos;
+}
+
+static inline void hri_usbhost_clear_PINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT1;
+}
+
+static inline bool hri_usbhost_get_PINTFLAG_TRFAIL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRFAIL)
+ >> USB_HOST_PINTFLAG_TRFAIL_Pos;
+}
+
+static inline void hri_usbhost_clear_PINTFLAG_TRFAIL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRFAIL;
+}
+
+static inline bool hri_usbhost_get_PINTFLAG_PERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_PERR)
+ >> USB_HOST_PINTFLAG_PERR_Pos;
+}
+
+static inline void hri_usbhost_clear_PINTFLAG_PERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_PERR;
+}
+
+static inline bool hri_usbhost_get_PINTFLAG_TXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TXSTP)
+ >> USB_HOST_PINTFLAG_TXSTP_Pos;
+}
+
+static inline void hri_usbhost_clear_PINTFLAG_TXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TXSTP;
+}
+
+static inline bool hri_usbhost_get_PINTFLAG_STALL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_STALL)
+ >> USB_HOST_PINTFLAG_STALL_Pos;
+}
+
+static inline void hri_usbhost_clear_PINTFLAG_STALL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_STALL;
+}
+
+static inline bool hri_usbhost_get_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT0)
+ >> USB_HOST_PINTFLAG_TRCPT0_Pos;
+}
+
+static inline void hri_usbhost_clear_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT0;
+}
+
+static inline bool hri_usbhost_get_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRCPT1)
+ >> USB_HOST_PINTFLAG_TRCPT1_Pos;
+}
+
+static inline void hri_usbhost_clear_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRCPT1;
+}
+
+static inline bool hri_usbhost_get_interrupt_TRFAIL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TRFAIL)
+ >> USB_HOST_PINTFLAG_TRFAIL_Pos;
+}
+
+static inline void hri_usbhost_clear_interrupt_TRFAIL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TRFAIL;
+}
+
+static inline bool hri_usbhost_get_interrupt_PERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_PERR)
+ >> USB_HOST_PINTFLAG_PERR_Pos;
+}
+
+static inline void hri_usbhost_clear_interrupt_PERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_PERR;
+}
+
+static inline bool hri_usbhost_get_interrupt_TXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_TXSTP)
+ >> USB_HOST_PINTFLAG_TXSTP_Pos;
+}
+
+static inline void hri_usbhost_clear_interrupt_TXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_TXSTP;
+}
+
+static inline bool hri_usbhost_get_interrupt_STALL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg & USB_HOST_PINTFLAG_STALL)
+ >> USB_HOST_PINTFLAG_STALL_Pos;
+}
+
+static inline void hri_usbhost_clear_interrupt_STALL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = USB_HOST_PINTFLAG_STALL;
+}
+
+static inline hri_usbhost_pintflag_reg_t hri_usbhost_get_PINTFLAG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pintflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbhost_pintflag_reg_t hri_usbhost_read_PINTFLAG_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg;
+}
+
+static inline void hri_usbhost_clear_PINTFLAG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pintflag_reg_t mask)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTFLAG.reg = mask;
+}
+
+static inline void hri_usbhost_set_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_DTGL;
+}
+
+static inline bool hri_usbhost_get_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_DTGL)
+ >> USB_HOST_PSTATUS_DTGL_Pos;
+}
+
+static inline void hri_usbhost_write_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_DTGL;
+ } else {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_DTGL;
+ }
+}
+
+static inline void hri_usbhost_clear_PSTATUS_DTGL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_DTGL;
+}
+
+static inline void hri_usbhost_set_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_CURBK;
+}
+
+static inline bool hri_usbhost_get_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_CURBK)
+ >> USB_HOST_PSTATUS_CURBK_Pos;
+}
+
+static inline void hri_usbhost_write_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_CURBK;
+ } else {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_CURBK;
+ }
+}
+
+static inline void hri_usbhost_clear_PSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_CURBK;
+}
+
+static inline void hri_usbhost_set_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_PFREEZE;
+}
+
+static inline bool hri_usbhost_get_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_PFREEZE)
+ >> USB_HOST_PSTATUS_PFREEZE_Pos;
+}
+
+static inline void hri_usbhost_write_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_PFREEZE;
+ } else {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_PFREEZE;
+ }
+}
+
+static inline void hri_usbhost_clear_PSTATUS_PFREEZE_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_PFREEZE;
+}
+
+static inline void hri_usbhost_set_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK0RDY;
+}
+
+static inline bool hri_usbhost_get_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_BK0RDY)
+ >> USB_HOST_PSTATUS_BK0RDY_Pos;
+}
+
+static inline void hri_usbhost_write_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK0RDY;
+ } else {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK0RDY;
+ }
+}
+
+static inline void hri_usbhost_clear_PSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK0RDY;
+}
+
+static inline void hri_usbhost_set_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK1RDY;
+}
+
+static inline bool hri_usbhost_get_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUS.reg & USB_HOST_PSTATUS_BK1RDY)
+ >> USB_HOST_PSTATUS_BK1RDY_Pos;
+}
+
+static inline void hri_usbhost_write_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK1RDY;
+ } else {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = USB_HOST_PSTATUS_BK1RDY;
+ }
+}
+
+static inline void hri_usbhost_clear_PSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = USB_HOST_PSTATUS_BK1RDY;
+}
+
+static inline void hri_usbhost_set_PSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pstatus_reg_t mask)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = mask;
+}
+
+static inline hri_usbhost_pstatus_reg_t hri_usbhost_get_PSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pstatus_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbhost_pstatus_reg_t hri_usbhost_read_PSTATUS_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUS.reg;
+}
+
+static inline void hri_usbhost_write_PSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pstatus_reg_t data)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSSET.reg = data;
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = ~data;
+}
+
+static inline void hri_usbhost_clear_PSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pstatus_reg_t mask)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PSTATUSCLR.reg = mask;
+}
+
+static inline void hri_usbhost_set_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT0;
+}
+
+static inline bool hri_usbhost_get_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TRCPT0)
+ >> USB_HOST_PINTENSET_TRCPT0_Pos;
+}
+
+static inline void hri_usbhost_write_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT0;
+ } else {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT0;
+ }
+}
+
+static inline void hri_usbhost_clear_PINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT0;
+}
+
+static inline void hri_usbhost_set_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT1;
+}
+
+static inline bool hri_usbhost_get_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TRCPT1)
+ >> USB_HOST_PINTENSET_TRCPT1_Pos;
+}
+
+static inline void hri_usbhost_write_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT1;
+ } else {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRCPT1;
+ }
+}
+
+static inline void hri_usbhost_clear_PINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRCPT1;
+}
+
+static inline void hri_usbhost_set_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRFAIL;
+}
+
+static inline bool hri_usbhost_get_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TRFAIL)
+ >> USB_HOST_PINTENSET_TRFAIL_Pos;
+}
+
+static inline void hri_usbhost_write_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRFAIL;
+ } else {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TRFAIL;
+ }
+}
+
+static inline void hri_usbhost_clear_PINTEN_TRFAIL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TRFAIL;
+}
+
+static inline void hri_usbhost_set_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_PERR;
+}
+
+static inline bool hri_usbhost_get_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_PERR)
+ >> USB_HOST_PINTENSET_PERR_Pos;
+}
+
+static inline void hri_usbhost_write_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_PERR;
+ } else {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_PERR;
+ }
+}
+
+static inline void hri_usbhost_clear_PINTEN_PERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_PERR;
+}
+
+static inline void hri_usbhost_set_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TXSTP;
+}
+
+static inline bool hri_usbhost_get_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_TXSTP)
+ >> USB_HOST_PINTENSET_TXSTP_Pos;
+}
+
+static inline void hri_usbhost_write_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TXSTP;
+ } else {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_TXSTP;
+ }
+}
+
+static inline void hri_usbhost_clear_PINTEN_TXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_TXSTP;
+}
+
+static inline void hri_usbhost_set_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_STALL;
+}
+
+static inline bool hri_usbhost_get_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg & USB_HOST_PINTENSET_STALL)
+ >> USB_HOST_PINTENSET_STALL_Pos;
+}
+
+static inline void hri_usbhost_write_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_STALL;
+ } else {
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = USB_HOST_PINTENSET_STALL;
+ }
+}
+
+static inline void hri_usbhost_clear_PINTEN_STALL_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = USB_HOST_PINTENSET_STALL;
+}
+
+static inline void hri_usbhost_set_PINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pintenset_reg_t mask)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = mask;
+}
+
+static inline hri_usbhost_pintenset_reg_t hri_usbhost_get_PINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pintenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbhost_pintenset_reg_t hri_usbhost_read_PINTEN_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg;
+}
+
+static inline void hri_usbhost_write_PINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pintenset_reg_t data)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENSET.reg = data;
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = ~data;
+}
+
+static inline void hri_usbhost_clear_PINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pintenset_reg_t mask)
+{
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PINTENCLR.reg = mask;
+}
+
+static inline void hri_usbhost_set_PCFG_BK_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg |= USB_HOST_PCFG_BK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhost_get_PCFG_BK_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg;
+ tmp = (tmp & USB_HOST_PCFG_BK) >> USB_HOST_PCFG_BK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbhost_write_PCFG_BK_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg;
+ tmp &= ~USB_HOST_PCFG_BK;
+ tmp |= value << USB_HOST_PCFG_BK_Pos;
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_PCFG_BK_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg &= ~USB_HOST_PCFG_BK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_PCFG_BK_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg ^= USB_HOST_PCFG_BK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_set_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg |= USB_HOST_PCFG_PTOKEN(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_pcfg_reg_t hri_usbhost_get_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg;
+ tmp = (tmp & USB_HOST_PCFG_PTOKEN(mask)) >> USB_HOST_PCFG_PTOKEN_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhost_write_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pcfg_reg_t data)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg;
+ tmp &= ~USB_HOST_PCFG_PTOKEN_Msk;
+ tmp |= USB_HOST_PCFG_PTOKEN(data);
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg &= ~USB_HOST_PCFG_PTOKEN(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg ^= USB_HOST_PCFG_PTOKEN(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_pcfg_reg_t hri_usbhost_read_PCFG_PTOKEN_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg;
+ tmp = (tmp & USB_HOST_PCFG_PTOKEN_Msk) >> USB_HOST_PCFG_PTOKEN_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhost_set_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg |= USB_HOST_PCFG_PTYPE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_pcfg_reg_t hri_usbhost_get_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg;
+ tmp = (tmp & USB_HOST_PCFG_PTYPE(mask)) >> USB_HOST_PCFG_PTYPE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhost_write_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pcfg_reg_t data)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg;
+ tmp &= ~USB_HOST_PCFG_PTYPE_Msk;
+ tmp |= USB_HOST_PCFG_PTYPE(data);
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg &= ~USB_HOST_PCFG_PTYPE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg ^= USB_HOST_PCFG_PTYPE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_pcfg_reg_t hri_usbhost_read_PCFG_PTYPE_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg;
+ tmp = (tmp & USB_HOST_PCFG_PTYPE_Msk) >> USB_HOST_PCFG_PTYPE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhost_set_PCFG_reg(const void *const hw, uint8_t submodule_index, hri_usbhost_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_pcfg_reg_t hri_usbhost_get_PCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhost_write_PCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pcfg_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_PCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_PCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_pcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_pcfg_reg_t hri_usbhost_read_PCFG_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Usb *)hw)->HOST.HostPipe[submodule_index].PCFG.reg;
+}
+
+static inline void hri_usbhost_set_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_binterval_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg |= USB_HOST_BINTERVAL_BITINTERVAL(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_binterval_reg_t hri_usbhost_get_BINTERVAL_BITINTERVAL_bf(const void *const hw,
+ uint8_t submodule_index,
+ hri_usbhost_binterval_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg;
+ tmp = (tmp & USB_HOST_BINTERVAL_BITINTERVAL(mask)) >> USB_HOST_BINTERVAL_BITINTERVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhost_write_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_binterval_reg_t data)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg;
+ tmp &= ~USB_HOST_BINTERVAL_BITINTERVAL_Msk;
+ tmp |= USB_HOST_BINTERVAL_BITINTERVAL(data);
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_binterval_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg &= ~USB_HOST_BINTERVAL_BITINTERVAL(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_BINTERVAL_BITINTERVAL_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_binterval_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg ^= USB_HOST_BINTERVAL_BITINTERVAL(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_binterval_reg_t hri_usbhost_read_BINTERVAL_BITINTERVAL_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg;
+ tmp = (tmp & USB_HOST_BINTERVAL_BITINTERVAL_Msk) >> USB_HOST_BINTERVAL_BITINTERVAL_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhost_set_BINTERVAL_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_binterval_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_binterval_reg_t hri_usbhost_get_BINTERVAL_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_binterval_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhost_write_BINTERVAL_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_binterval_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_BINTERVAL_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_binterval_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_BINTERVAL_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbhost_binterval_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_binterval_reg_t hri_usbhost_read_BINTERVAL_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Usb *)hw)->HOST.HostPipe[submodule_index].BINTERVAL.reg;
+}
+
+static inline void hri_usbhostdescbank_set_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->ADDR.reg |= USB_HOST_ADDR_ADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_addr_reg_t hri_usbhostdescbank_get_ADDR_ADDR_bf(const void *const hw,
+ hri_usbdesc_bank_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->ADDR.reg;
+ tmp = (tmp & USB_HOST_ADDR_ADDR(mask)) >> USB_HOST_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_write_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescBank *)hw)->ADDR.reg;
+ tmp &= ~USB_HOST_ADDR_ADDR_Msk;
+ tmp |= USB_HOST_ADDR_ADDR(data);
+ ((UsbHostDescBank *)hw)->ADDR.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_clear_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->ADDR.reg &= ~USB_HOST_ADDR_ADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_toggle_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->ADDR.reg ^= USB_HOST_ADDR_ADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_addr_reg_t hri_usbhostdescbank_read_ADDR_ADDR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->ADDR.reg;
+ tmp = (tmp & USB_HOST_ADDR_ADDR_Msk) >> USB_HOST_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_set_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->ADDR.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_addr_reg_t hri_usbhostdescbank_get_ADDR_reg(const void *const hw,
+ hri_usbdesc_bank_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->ADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_write_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->ADDR.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_clear_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->ADDR.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_toggle_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->ADDR.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_addr_reg_t hri_usbhostdescbank_read_ADDR_reg(const void *const hw)
+{
+ return ((UsbHostDescBank *)hw)->ADDR.reg;
+}
+
+static inline void hri_usbhostdescbank_set_PCKSIZE_AUTO_ZLP_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg |= USB_HOST_PCKSIZE_AUTO_ZLP;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhostdescbank_get_PCKSIZE_AUTO_ZLP_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg;
+ tmp = (tmp & USB_HOST_PCKSIZE_AUTO_ZLP) >> USB_HOST_PCKSIZE_AUTO_ZLP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbhostdescbank_write_PCKSIZE_AUTO_ZLP_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg;
+ tmp &= ~USB_HOST_PCKSIZE_AUTO_ZLP;
+ tmp |= value << USB_HOST_PCKSIZE_AUTO_ZLP_Pos;
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_clear_PCKSIZE_AUTO_ZLP_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg &= ~USB_HOST_PCKSIZE_AUTO_ZLP;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_toggle_PCKSIZE_AUTO_ZLP_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg ^= USB_HOST_PCKSIZE_AUTO_ZLP;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_set_PCKSIZE_BYTE_COUNT_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg |= USB_HOST_PCKSIZE_BYTE_COUNT(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t
+hri_usbhostdescbank_get_PCKSIZE_BYTE_COUNT_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg;
+ tmp = (tmp & USB_HOST_PCKSIZE_BYTE_COUNT(mask)) >> USB_HOST_PCKSIZE_BYTE_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_write_PCKSIZE_BYTE_COUNT_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg;
+ tmp &= ~USB_HOST_PCKSIZE_BYTE_COUNT_Msk;
+ tmp |= USB_HOST_PCKSIZE_BYTE_COUNT(data);
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_clear_PCKSIZE_BYTE_COUNT_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg &= ~USB_HOST_PCKSIZE_BYTE_COUNT(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_toggle_PCKSIZE_BYTE_COUNT_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg ^= USB_HOST_PCKSIZE_BYTE_COUNT(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t hri_usbhostdescbank_read_PCKSIZE_BYTE_COUNT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg;
+ tmp = (tmp & USB_HOST_PCKSIZE_BYTE_COUNT_Msk) >> USB_HOST_PCKSIZE_BYTE_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_set_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg |= USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t
+hri_usbhostdescbank_get_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg;
+ tmp = (tmp & USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask)) >> USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_write_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg;
+ tmp &= ~USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Msk;
+ tmp |= USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(data);
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_clear_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg &= ~USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_toggle_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg ^= USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t hri_usbhostdescbank_read_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg;
+ tmp = (tmp & USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Msk) >> USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_set_PCKSIZE_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg |= USB_HOST_PCKSIZE_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t
+hri_usbhostdescbank_get_PCKSIZE_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg;
+ tmp = (tmp & USB_HOST_PCKSIZE_SIZE(mask)) >> USB_HOST_PCKSIZE_SIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_write_PCKSIZE_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg;
+ tmp &= ~USB_HOST_PCKSIZE_SIZE_Msk;
+ tmp |= USB_HOST_PCKSIZE_SIZE(data);
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_clear_PCKSIZE_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg &= ~USB_HOST_PCKSIZE_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_toggle_PCKSIZE_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg ^= USB_HOST_PCKSIZE_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t hri_usbhostdescbank_read_PCKSIZE_SIZE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg;
+ tmp = (tmp & USB_HOST_PCKSIZE_SIZE_Msk) >> USB_HOST_PCKSIZE_SIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_set_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t hri_usbhostdescbank_get_PCKSIZE_reg(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->PCKSIZE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_write_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_clear_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_toggle_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->PCKSIZE.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t hri_usbhostdescbank_read_PCKSIZE_reg(const void *const hw)
+{
+ return ((UsbHostDescBank *)hw)->PCKSIZE.reg;
+}
+
+static inline void hri_usbhostdescbank_set_EXTREG_SUBPID_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->EXTREG.reg |= USB_HOST_EXTREG_SUBPID(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_extreg_reg_t hri_usbhostdescbank_get_EXTREG_SUBPID_bf(const void *const hw,
+ hri_usbdesc_bank_extreg_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->EXTREG.reg;
+ tmp = (tmp & USB_HOST_EXTREG_SUBPID(mask)) >> USB_HOST_EXTREG_SUBPID_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_write_EXTREG_SUBPID_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescBank *)hw)->EXTREG.reg;
+ tmp &= ~USB_HOST_EXTREG_SUBPID_Msk;
+ tmp |= USB_HOST_EXTREG_SUBPID(data);
+ ((UsbHostDescBank *)hw)->EXTREG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_clear_EXTREG_SUBPID_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->EXTREG.reg &= ~USB_HOST_EXTREG_SUBPID(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_toggle_EXTREG_SUBPID_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->EXTREG.reg ^= USB_HOST_EXTREG_SUBPID(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_extreg_reg_t hri_usbhostdescbank_read_EXTREG_SUBPID_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->EXTREG.reg;
+ tmp = (tmp & USB_HOST_EXTREG_SUBPID_Msk) >> USB_HOST_EXTREG_SUBPID_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_set_EXTREG_VARIABLE_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->EXTREG.reg |= USB_HOST_EXTREG_VARIABLE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_extreg_reg_t
+hri_usbhostdescbank_get_EXTREG_VARIABLE_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->EXTREG.reg;
+ tmp = (tmp & USB_HOST_EXTREG_VARIABLE(mask)) >> USB_HOST_EXTREG_VARIABLE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_write_EXTREG_VARIABLE_bf(const void *const hw,
+ hri_usbdesc_bank_extreg_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescBank *)hw)->EXTREG.reg;
+ tmp &= ~USB_HOST_EXTREG_VARIABLE_Msk;
+ tmp |= USB_HOST_EXTREG_VARIABLE(data);
+ ((UsbHostDescBank *)hw)->EXTREG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_clear_EXTREG_VARIABLE_bf(const void *const hw,
+ hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->EXTREG.reg &= ~USB_HOST_EXTREG_VARIABLE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_toggle_EXTREG_VARIABLE_bf(const void *const hw,
+ hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->EXTREG.reg ^= USB_HOST_EXTREG_VARIABLE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_extreg_reg_t hri_usbhostdescbank_read_EXTREG_VARIABLE_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->EXTREG.reg;
+ tmp = (tmp & USB_HOST_EXTREG_VARIABLE_Msk) >> USB_HOST_EXTREG_VARIABLE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_set_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->EXTREG.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_extreg_reg_t hri_usbhostdescbank_get_EXTREG_reg(const void *const hw,
+ hri_usbdesc_bank_extreg_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->EXTREG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_write_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->EXTREG.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_clear_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->EXTREG.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_toggle_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->EXTREG.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_extreg_reg_t hri_usbhostdescbank_read_EXTREG_reg(const void *const hw)
+{
+ return ((UsbHostDescBank *)hw)->EXTREG.reg;
+}
+
+static inline void hri_usbhostdescbank_set_CTRL_PIPE_PDADDR_bf(const void *const hw,
+ hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg |= USB_HOST_CTRL_PIPE_PDADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_ctrl_pipe_reg_t
+hri_usbhostdescbank_get_CTRL_PIPE_PDADDR_bf(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg;
+ tmp = (tmp & USB_HOST_CTRL_PIPE_PDADDR(mask)) >> USB_HOST_CTRL_PIPE_PDADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_write_CTRL_PIPE_PDADDR_bf(const void *const hw,
+ hri_usbdesc_bank_ctrl_pipe_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg;
+ tmp &= ~USB_HOST_CTRL_PIPE_PDADDR_Msk;
+ tmp |= USB_HOST_CTRL_PIPE_PDADDR(data);
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_clear_CTRL_PIPE_PDADDR_bf(const void *const hw,
+ hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg &= ~USB_HOST_CTRL_PIPE_PDADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_toggle_CTRL_PIPE_PDADDR_bf(const void *const hw,
+ hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg ^= USB_HOST_CTRL_PIPE_PDADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_ctrl_pipe_reg_t hri_usbhostdescbank_read_CTRL_PIPE_PDADDR_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg;
+ tmp = (tmp & USB_HOST_CTRL_PIPE_PDADDR_Msk) >> USB_HOST_CTRL_PIPE_PDADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_set_CTRL_PIPE_PEPNUM_bf(const void *const hw,
+ hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg |= USB_HOST_CTRL_PIPE_PEPNUM(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_ctrl_pipe_reg_t
+hri_usbhostdescbank_get_CTRL_PIPE_PEPNUM_bf(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg;
+ tmp = (tmp & USB_HOST_CTRL_PIPE_PEPNUM(mask)) >> USB_HOST_CTRL_PIPE_PEPNUM_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_write_CTRL_PIPE_PEPNUM_bf(const void *const hw,
+ hri_usbdesc_bank_ctrl_pipe_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg;
+ tmp &= ~USB_HOST_CTRL_PIPE_PEPNUM_Msk;
+ tmp |= USB_HOST_CTRL_PIPE_PEPNUM(data);
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_clear_CTRL_PIPE_PEPNUM_bf(const void *const hw,
+ hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg &= ~USB_HOST_CTRL_PIPE_PEPNUM(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_toggle_CTRL_PIPE_PEPNUM_bf(const void *const hw,
+ hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg ^= USB_HOST_CTRL_PIPE_PEPNUM(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_ctrl_pipe_reg_t hri_usbhostdescbank_read_CTRL_PIPE_PEPNUM_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg;
+ tmp = (tmp & USB_HOST_CTRL_PIPE_PEPNUM_Msk) >> USB_HOST_CTRL_PIPE_PEPNUM_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_set_CTRL_PIPE_PERMAX_bf(const void *const hw,
+ hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg |= USB_HOST_CTRL_PIPE_PERMAX(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_ctrl_pipe_reg_t
+hri_usbhostdescbank_get_CTRL_PIPE_PERMAX_bf(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg;
+ tmp = (tmp & USB_HOST_CTRL_PIPE_PERMAX(mask)) >> USB_HOST_CTRL_PIPE_PERMAX_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_write_CTRL_PIPE_PERMAX_bf(const void *const hw,
+ hri_usbdesc_bank_ctrl_pipe_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg;
+ tmp &= ~USB_HOST_CTRL_PIPE_PERMAX_Msk;
+ tmp |= USB_HOST_CTRL_PIPE_PERMAX(data);
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_clear_CTRL_PIPE_PERMAX_bf(const void *const hw,
+ hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg &= ~USB_HOST_CTRL_PIPE_PERMAX(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_toggle_CTRL_PIPE_PERMAX_bf(const void *const hw,
+ hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg ^= USB_HOST_CTRL_PIPE_PERMAX(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_ctrl_pipe_reg_t hri_usbhostdescbank_read_CTRL_PIPE_PERMAX_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg;
+ tmp = (tmp & USB_HOST_CTRL_PIPE_PERMAX_Msk) >> USB_HOST_CTRL_PIPE_PERMAX_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_set_CTRL_PIPE_reg(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_ctrl_pipe_reg_t
+hri_usbhostdescbank_get_CTRL_PIPE_reg(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->CTRL_PIPE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_write_CTRL_PIPE_reg(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_clear_CTRL_PIPE_reg(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescbank_toggle_CTRL_PIPE_reg(const void *const hw, hri_usbdesc_bank_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->CTRL_PIPE.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_ctrl_pipe_reg_t hri_usbhostdescbank_read_CTRL_PIPE_reg(const void *const hw)
+{
+ return ((UsbHostDescBank *)hw)->CTRL_PIPE.reg;
+}
+
+static inline bool hri_usbhostdescbank_get_STATUS_BK_CRCERR_bit(const void *const hw)
+{
+ return (((UsbHostDescBank *)hw)->STATUS_BK.reg & USB_HOST_STATUS_BK_CRCERR) >> USB_HOST_STATUS_BK_CRCERR_Pos;
+}
+
+static inline void hri_usbhostdescbank_clear_STATUS_BK_CRCERR_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->STATUS_BK.reg = USB_HOST_STATUS_BK_CRCERR;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhostdescbank_get_STATUS_BK_ERRORFLOW_bit(const void *const hw)
+{
+ return (((UsbHostDescBank *)hw)->STATUS_BK.reg & USB_HOST_STATUS_BK_ERRORFLOW) >> USB_HOST_STATUS_BK_ERRORFLOW_Pos;
+}
+
+static inline void hri_usbhostdescbank_clear_STATUS_BK_ERRORFLOW_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->STATUS_BK.reg = USB_HOST_STATUS_BK_ERRORFLOW;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_status_bk_reg_t
+hri_usbhostdescbank_get_STATUS_BK_reg(const void *const hw, hri_usbdesc_bank_status_bk_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->STATUS_BK.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_clear_STATUS_BK_reg(const void *const hw, hri_usbdesc_bank_status_bk_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->STATUS_BK.reg = mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_status_bk_reg_t hri_usbhostdescbank_read_STATUS_BK_reg(const void *const hw)
+{
+ return ((UsbHostDescBank *)hw)->STATUS_BK.reg;
+}
+
+static inline bool hri_usbhostdescbank_get_STATUS_PIPE_DTGLER_bit(const void *const hw)
+{
+ return (((UsbHostDescBank *)hw)->STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_DTGLER) >> USB_HOST_STATUS_PIPE_DTGLER_Pos;
+}
+
+static inline void hri_usbhostdescbank_clear_STATUS_PIPE_DTGLER_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_DTGLER;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhostdescbank_get_STATUS_PIPE_DAPIDER_bit(const void *const hw)
+{
+ return (((UsbHostDescBank *)hw)->STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_DAPIDER)
+ >> USB_HOST_STATUS_PIPE_DAPIDER_Pos;
+}
+
+static inline void hri_usbhostdescbank_clear_STATUS_PIPE_DAPIDER_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_DAPIDER;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhostdescbank_get_STATUS_PIPE_PIDER_bit(const void *const hw)
+{
+ return (((UsbHostDescBank *)hw)->STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_PIDER) >> USB_HOST_STATUS_PIPE_PIDER_Pos;
+}
+
+static inline void hri_usbhostdescbank_clear_STATUS_PIPE_PIDER_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_PIDER;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhostdescbank_get_STATUS_PIPE_TOUTER_bit(const void *const hw)
+{
+ return (((UsbHostDescBank *)hw)->STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_TOUTER) >> USB_HOST_STATUS_PIPE_TOUTER_Pos;
+}
+
+static inline void hri_usbhostdescbank_clear_STATUS_PIPE_TOUTER_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_TOUTER;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhostdescbank_get_STATUS_PIPE_CRC16ER_bit(const void *const hw)
+{
+ return (((UsbHostDescBank *)hw)->STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_CRC16ER)
+ >> USB_HOST_STATUS_PIPE_CRC16ER_Pos;
+}
+
+static inline void hri_usbhostdescbank_clear_STATUS_PIPE_CRC16ER_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_CRC16ER;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_status_pipe_reg_t
+hri_usbhostdescbank_get_STATUS_PIPE_ERCNT_bf(const void *const hw, hri_usbdesc_bank_status_pipe_reg_t mask)
+{
+ return (((UsbHostDescBank *)hw)->STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_ERCNT(mask))
+ >> USB_HOST_STATUS_PIPE_ERCNT_Pos;
+}
+
+static inline void hri_usbhostdescbank_clear_STATUS_PIPE_ERCNT_bf(const void *const hw,
+ hri_usbdesc_bank_status_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_ERCNT(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_status_pipe_reg_t hri_usbhostdescbank_read_STATUS_PIPE_ERCNT_bf(const void *const hw)
+{
+ return (((UsbHostDescBank *)hw)->STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_ERCNT_Msk)
+ >> USB_HOST_STATUS_PIPE_ERCNT_Pos;
+}
+
+static inline hri_usbdesc_bank_status_pipe_reg_t
+hri_usbhostdescbank_get_STATUS_PIPE_reg(const void *const hw, hri_usbdesc_bank_status_pipe_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescBank *)hw)->STATUS_PIPE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhostdescbank_clear_STATUS_PIPE_reg(const void *const hw,
+ hri_usbdesc_bank_status_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescBank *)hw)->STATUS_PIPE.reg = mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_status_pipe_reg_t hri_usbhostdescbank_read_STATUS_PIPE_reg(const void *const hw)
+{
+ return ((UsbHostDescBank *)hw)->STATUS_PIPE.reg;
+}
+
+static inline void hri_usbhostdescriptor_set_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg |= USB_HOST_ADDR_ADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_addr_reg_t
+hri_usbhostdescriptor_get_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg;
+ tmp = (tmp & USB_HOST_ADDR_ADDR(mask)) >> USB_HOST_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_write_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_addr_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg;
+ tmp &= ~USB_HOST_ADDR_ADDR_Msk;
+ tmp |= USB_HOST_ADDR_ADDR(data);
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_clear_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg &= ~USB_HOST_ADDR_ADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_toggle_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg ^= USB_HOST_ADDR_ADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_addr_reg_t hri_usbhostdescriptor_read_ADDR_ADDR_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg;
+ tmp = (tmp & USB_HOST_ADDR_ADDR_Msk) >> USB_HOST_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_set_ADDR_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_addr_reg_t
+hri_usbhostdescriptor_get_ADDR_reg(const void *const hw, uint8_t submodule_index, hri_usbdescriptorhost_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_write_ADDR_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_addr_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_clear_ADDR_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_toggle_ADDR_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_addr_reg_t hri_usbhostdescriptor_read_ADDR_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].ADDR.reg;
+}
+
+static inline void hri_usbhostdescriptor_set_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg |= USB_HOST_PCKSIZE_AUTO_ZLP;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhostdescriptor_get_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg;
+ tmp = (tmp & USB_HOST_PCKSIZE_AUTO_ZLP) >> USB_HOST_PCKSIZE_AUTO_ZLP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbhostdescriptor_write_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index,
+ bool value)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg;
+ tmp &= ~USB_HOST_PCKSIZE_AUTO_ZLP;
+ tmp |= value << USB_HOST_PCKSIZE_AUTO_ZLP_Pos;
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_clear_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg &= ~USB_HOST_PCKSIZE_AUTO_ZLP;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_toggle_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg ^= USB_HOST_PCKSIZE_AUTO_ZLP;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_set_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg |= USB_HOST_PCKSIZE_BYTE_COUNT(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_pcksize_reg_t
+hri_usbhostdescriptor_get_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg;
+ tmp = (tmp & USB_HOST_PCKSIZE_BYTE_COUNT(mask)) >> USB_HOST_PCKSIZE_BYTE_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_write_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg;
+ tmp &= ~USB_HOST_PCKSIZE_BYTE_COUNT_Msk;
+ tmp |= USB_HOST_PCKSIZE_BYTE_COUNT(data);
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_clear_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg &= ~USB_HOST_PCKSIZE_BYTE_COUNT(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_toggle_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg ^= USB_HOST_PCKSIZE_BYTE_COUNT(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_pcksize_reg_t
+hri_usbhostdescriptor_read_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg;
+ tmp = (tmp & USB_HOST_PCKSIZE_BYTE_COUNT_Msk) >> USB_HOST_PCKSIZE_BYTE_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_set_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg |= USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_pcksize_reg_t
+hri_usbhostdescriptor_get_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg;
+ tmp = (tmp & USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask)) >> USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_write_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw,
+ uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg;
+ tmp &= ~USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Msk;
+ tmp |= USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(data);
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_clear_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw,
+ uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg &= ~USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_toggle_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw,
+ uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg ^= USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_pcksize_reg_t
+hri_usbhostdescriptor_read_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg;
+ tmp = (tmp & USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Msk) >> USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_set_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg |= USB_HOST_PCKSIZE_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_pcksize_reg_t
+hri_usbhostdescriptor_get_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg;
+ tmp = (tmp & USB_HOST_PCKSIZE_SIZE(mask)) >> USB_HOST_PCKSIZE_SIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_write_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg;
+ tmp &= ~USB_HOST_PCKSIZE_SIZE_Msk;
+ tmp |= USB_HOST_PCKSIZE_SIZE(data);
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_clear_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg &= ~USB_HOST_PCKSIZE_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_toggle_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg ^= USB_HOST_PCKSIZE_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_pcksize_reg_t hri_usbhostdescriptor_read_PCKSIZE_SIZE_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg;
+ tmp = (tmp & USB_HOST_PCKSIZE_SIZE_Msk) >> USB_HOST_PCKSIZE_SIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_set_PCKSIZE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_pcksize_reg_t
+hri_usbhostdescriptor_get_PCKSIZE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_write_PCKSIZE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_clear_PCKSIZE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_toggle_PCKSIZE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_pcksize_reg_t hri_usbhostdescriptor_read_PCKSIZE_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].PCKSIZE.reg;
+}
+
+static inline void hri_usbhostdescriptor_set_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg |= USB_HOST_EXTREG_SUBPID(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_extreg_reg_t
+hri_usbhostdescriptor_get_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_extreg_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg;
+ tmp = (tmp & USB_HOST_EXTREG_SUBPID(mask)) >> USB_HOST_EXTREG_SUBPID_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_write_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_extreg_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg;
+ tmp &= ~USB_HOST_EXTREG_SUBPID_Msk;
+ tmp |= USB_HOST_EXTREG_SUBPID(data);
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_clear_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg &= ~USB_HOST_EXTREG_SUBPID(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_toggle_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg ^= USB_HOST_EXTREG_SUBPID(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_extreg_reg_t hri_usbhostdescriptor_read_EXTREG_SUBPID_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg;
+ tmp = (tmp & USB_HOST_EXTREG_SUBPID_Msk) >> USB_HOST_EXTREG_SUBPID_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_set_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg |= USB_HOST_EXTREG_VARIABLE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_extreg_reg_t
+hri_usbhostdescriptor_get_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_extreg_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg;
+ tmp = (tmp & USB_HOST_EXTREG_VARIABLE(mask)) >> USB_HOST_EXTREG_VARIABLE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_write_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_extreg_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg;
+ tmp &= ~USB_HOST_EXTREG_VARIABLE_Msk;
+ tmp |= USB_HOST_EXTREG_VARIABLE(data);
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_clear_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg &= ~USB_HOST_EXTREG_VARIABLE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_toggle_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg ^= USB_HOST_EXTREG_VARIABLE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_extreg_reg_t hri_usbhostdescriptor_read_EXTREG_VARIABLE_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg;
+ tmp = (tmp & USB_HOST_EXTREG_VARIABLE_Msk) >> USB_HOST_EXTREG_VARIABLE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_set_EXTREG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_extreg_reg_t
+hri_usbhostdescriptor_get_EXTREG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_extreg_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_write_EXTREG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_extreg_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_clear_EXTREG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_toggle_EXTREG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_extreg_reg_t hri_usbhostdescriptor_read_EXTREG_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].EXTREG.reg;
+}
+
+static inline void hri_usbhostdescriptor_set_CTRL_PIPE_PDADDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg |= USB_HOST_CTRL_PIPE_PDADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_ctrl_pipe_reg_t
+hri_usbhostdescriptor_get_CTRL_PIPE_PDADDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg;
+ tmp = (tmp & USB_HOST_CTRL_PIPE_PDADDR(mask)) >> USB_HOST_CTRL_PIPE_PDADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_write_CTRL_PIPE_PDADDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg;
+ tmp &= ~USB_HOST_CTRL_PIPE_PDADDR_Msk;
+ tmp |= USB_HOST_CTRL_PIPE_PDADDR(data);
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_clear_CTRL_PIPE_PDADDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg &= ~USB_HOST_CTRL_PIPE_PDADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_toggle_CTRL_PIPE_PDADDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg ^= USB_HOST_CTRL_PIPE_PDADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_ctrl_pipe_reg_t
+hri_usbhostdescriptor_read_CTRL_PIPE_PDADDR_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg;
+ tmp = (tmp & USB_HOST_CTRL_PIPE_PDADDR_Msk) >> USB_HOST_CTRL_PIPE_PDADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_set_CTRL_PIPE_PEPNUM_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg |= USB_HOST_CTRL_PIPE_PEPNUM(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_ctrl_pipe_reg_t
+hri_usbhostdescriptor_get_CTRL_PIPE_PEPNUM_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg;
+ tmp = (tmp & USB_HOST_CTRL_PIPE_PEPNUM(mask)) >> USB_HOST_CTRL_PIPE_PEPNUM_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_write_CTRL_PIPE_PEPNUM_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg;
+ tmp &= ~USB_HOST_CTRL_PIPE_PEPNUM_Msk;
+ tmp |= USB_HOST_CTRL_PIPE_PEPNUM(data);
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_clear_CTRL_PIPE_PEPNUM_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg &= ~USB_HOST_CTRL_PIPE_PEPNUM(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_toggle_CTRL_PIPE_PEPNUM_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg ^= USB_HOST_CTRL_PIPE_PEPNUM(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_ctrl_pipe_reg_t
+hri_usbhostdescriptor_read_CTRL_PIPE_PEPNUM_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg;
+ tmp = (tmp & USB_HOST_CTRL_PIPE_PEPNUM_Msk) >> USB_HOST_CTRL_PIPE_PEPNUM_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_set_CTRL_PIPE_PERMAX_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg |= USB_HOST_CTRL_PIPE_PERMAX(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_ctrl_pipe_reg_t
+hri_usbhostdescriptor_get_CTRL_PIPE_PERMAX_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg;
+ tmp = (tmp & USB_HOST_CTRL_PIPE_PERMAX(mask)) >> USB_HOST_CTRL_PIPE_PERMAX_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_write_CTRL_PIPE_PERMAX_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg;
+ tmp &= ~USB_HOST_CTRL_PIPE_PERMAX_Msk;
+ tmp |= USB_HOST_CTRL_PIPE_PERMAX(data);
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_clear_CTRL_PIPE_PERMAX_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg &= ~USB_HOST_CTRL_PIPE_PERMAX(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_toggle_CTRL_PIPE_PERMAX_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg ^= USB_HOST_CTRL_PIPE_PERMAX(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_ctrl_pipe_reg_t
+hri_usbhostdescriptor_read_CTRL_PIPE_PERMAX_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg;
+ tmp = (tmp & USB_HOST_CTRL_PIPE_PERMAX_Msk) >> USB_HOST_CTRL_PIPE_PERMAX_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_set_CTRL_PIPE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_ctrl_pipe_reg_t
+hri_usbhostdescriptor_get_CTRL_PIPE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_write_CTRL_PIPE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_clear_CTRL_PIPE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhostdescriptor_toggle_CTRL_PIPE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_ctrl_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_ctrl_pipe_reg_t hri_usbhostdescriptor_read_CTRL_PIPE_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].CTRL_PIPE.reg;
+}
+
+static inline bool hri_usbhostdescriptor_get_STATUS_BK_CRCERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_BK.reg & USB_HOST_STATUS_BK_CRCERR)
+ >> USB_HOST_STATUS_BK_CRCERR_Pos;
+}
+
+static inline void hri_usbhostdescriptor_clear_STATUS_BK_CRCERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_BK.reg = USB_HOST_STATUS_BK_CRCERR;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhostdescriptor_get_STATUS_BK_ERRORFLOW_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_BK.reg & USB_HOST_STATUS_BK_ERRORFLOW)
+ >> USB_HOST_STATUS_BK_ERRORFLOW_Pos;
+}
+
+static inline void hri_usbhostdescriptor_clear_STATUS_BK_ERRORFLOW_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_BK.reg = USB_HOST_STATUS_BK_ERRORFLOW;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_status_bk_reg_t
+hri_usbhostdescriptor_get_STATUS_BK_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_status_bk_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_BK.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_clear_STATUS_BK_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_status_bk_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_BK.reg = mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_status_bk_reg_t hri_usbhostdescriptor_read_STATUS_BK_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_BK.reg;
+}
+
+static inline bool hri_usbhostdescriptor_get_STATUS_PIPE_DTGLER_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_DTGLER)
+ >> USB_HOST_STATUS_PIPE_DTGLER_Pos;
+}
+
+static inline void hri_usbhostdescriptor_clear_STATUS_PIPE_DTGLER_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_DTGLER;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhostdescriptor_get_STATUS_PIPE_DAPIDER_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_DAPIDER)
+ >> USB_HOST_STATUS_PIPE_DAPIDER_Pos;
+}
+
+static inline void hri_usbhostdescriptor_clear_STATUS_PIPE_DAPIDER_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_DAPIDER;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhostdescriptor_get_STATUS_PIPE_PIDER_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_PIDER)
+ >> USB_HOST_STATUS_PIPE_PIDER_Pos;
+}
+
+static inline void hri_usbhostdescriptor_clear_STATUS_PIPE_PIDER_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_PIDER;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhostdescriptor_get_STATUS_PIPE_TOUTER_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_TOUTER)
+ >> USB_HOST_STATUS_PIPE_TOUTER_Pos;
+}
+
+static inline void hri_usbhostdescriptor_clear_STATUS_PIPE_TOUTER_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_TOUTER;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhostdescriptor_get_STATUS_PIPE_CRC16ER_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_CRC16ER)
+ >> USB_HOST_STATUS_PIPE_CRC16ER_Pos;
+}
+
+static inline void hri_usbhostdescriptor_clear_STATUS_PIPE_CRC16ER_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_CRC16ER;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_status_pipe_reg_t
+hri_usbhostdescriptor_get_STATUS_PIPE_ERCNT_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_status_pipe_reg_t mask)
+{
+ return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_ERCNT(mask))
+ >> USB_HOST_STATUS_PIPE_ERCNT_Pos;
+}
+
+static inline void hri_usbhostdescriptor_clear_STATUS_PIPE_ERCNT_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_status_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg = USB_HOST_STATUS_PIPE_ERCNT(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_status_pipe_reg_t
+hri_usbhostdescriptor_read_STATUS_PIPE_ERCNT_bf(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg & USB_HOST_STATUS_PIPE_ERCNT_Msk)
+ >> USB_HOST_STATUS_PIPE_ERCNT_Pos;
+}
+
+static inline hri_usbdescriptorhost_status_pipe_reg_t
+hri_usbhostdescriptor_get_STATUS_PIPE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_status_pipe_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhostdescriptor_clear_STATUS_PIPE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptorhost_status_pipe_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg = mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptorhost_status_pipe_reg_t
+hri_usbhostdescriptor_read_STATUS_PIPE_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((UsbHostDescriptor *)hw)->HostDescBank[submodule_index].STATUS_PIPE.reg;
+}
+
+static inline bool hri_usbendpoint_get_EPINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT0)
+ >> USB_DEVICE_EPINTFLAG_TRCPT0_Pos;
+}
+
+static inline void hri_usbendpoint_clear_EPINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT0;
+}
+
+static inline bool hri_usbendpoint_get_EPINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT1)
+ >> USB_DEVICE_EPINTFLAG_TRCPT1_Pos;
+}
+
+static inline void hri_usbendpoint_clear_EPINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT1;
+}
+
+static inline bool hri_usbendpoint_get_EPINTFLAG_TRFAIL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL0)
+ >> USB_DEVICE_EPINTFLAG_TRFAIL0_Pos;
+}
+
+static inline void hri_usbendpoint_clear_EPINTFLAG_TRFAIL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL0;
+}
+
+static inline bool hri_usbendpoint_get_EPINTFLAG_TRFAIL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL1)
+ >> USB_DEVICE_EPINTFLAG_TRFAIL1_Pos;
+}
+
+static inline void hri_usbendpoint_clear_EPINTFLAG_TRFAIL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL1;
+}
+
+static inline bool hri_usbendpoint_get_EPINTFLAG_RXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_RXSTP)
+ >> USB_DEVICE_EPINTFLAG_RXSTP_Pos;
+}
+
+static inline void hri_usbendpoint_clear_EPINTFLAG_RXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_RXSTP;
+}
+
+static inline bool hri_usbendpoint_get_EPINTFLAG_STALL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL0)
+ >> USB_DEVICE_EPINTFLAG_STALL0_Pos;
+}
+
+static inline void hri_usbendpoint_clear_EPINTFLAG_STALL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL0;
+}
+
+static inline bool hri_usbendpoint_get_EPINTFLAG_STALL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL1)
+ >> USB_DEVICE_EPINTFLAG_STALL1_Pos;
+}
+
+static inline void hri_usbendpoint_clear_EPINTFLAG_STALL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL1;
+}
+
+static inline bool hri_usbendpoint_get_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT0)
+ >> USB_DEVICE_EPINTFLAG_TRCPT0_Pos;
+}
+
+static inline void hri_usbendpoint_clear_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT0;
+}
+
+static inline bool hri_usbendpoint_get_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT1)
+ >> USB_DEVICE_EPINTFLAG_TRCPT1_Pos;
+}
+
+static inline void hri_usbendpoint_clear_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT1;
+}
+
+static inline bool hri_usbendpoint_get_interrupt_TRFAIL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL0)
+ >> USB_DEVICE_EPINTFLAG_TRFAIL0_Pos;
+}
+
+static inline void hri_usbendpoint_clear_interrupt_TRFAIL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL0;
+}
+
+static inline bool hri_usbendpoint_get_interrupt_TRFAIL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL1)
+ >> USB_DEVICE_EPINTFLAG_TRFAIL1_Pos;
+}
+
+static inline void hri_usbendpoint_clear_interrupt_TRFAIL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL1;
+}
+
+static inline bool hri_usbendpoint_get_interrupt_RXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_RXSTP)
+ >> USB_DEVICE_EPINTFLAG_RXSTP_Pos;
+}
+
+static inline void hri_usbendpoint_clear_interrupt_RXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_RXSTP;
+}
+
+static inline bool hri_usbendpoint_get_interrupt_STALL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL0)
+ >> USB_DEVICE_EPINTFLAG_STALL0_Pos;
+}
+
+static inline void hri_usbendpoint_clear_interrupt_STALL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL0;
+}
+
+static inline bool hri_usbendpoint_get_interrupt_STALL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL1)
+ >> USB_DEVICE_EPINTFLAG_STALL1_Pos;
+}
+
+static inline void hri_usbendpoint_clear_interrupt_STALL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL1;
+}
+
+static inline hri_usbendpoint_epintflag_reg_t
+hri_usbendpoint_get_EPINTFLAG_reg(const void *const hw, uint8_t submodule_index, hri_usbendpoint_epintflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbendpoint_epintflag_reg_t hri_usbendpoint_read_EPINTFLAG_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg;
+}
+
+static inline void hri_usbendpoint_clear_EPINTFLAG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epintflag_reg_t mask)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTFLAG.reg = mask;
+}
+
+static inline void hri_usbendpoint_set_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLOUT;
+}
+
+static inline bool hri_usbendpoint_get_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_DTGLOUT)
+ >> USB_DEVICE_EPSTATUS_DTGLOUT_Pos;
+}
+
+static inline void hri_usbendpoint_write_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLOUT;
+ } else {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLOUT;
+ }
+}
+
+static inline void hri_usbendpoint_clear_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLOUT;
+}
+
+static inline void hri_usbendpoint_set_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLIN;
+}
+
+static inline bool hri_usbendpoint_get_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_DTGLIN)
+ >> USB_DEVICE_EPSTATUS_DTGLIN_Pos;
+}
+
+static inline void hri_usbendpoint_write_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLIN;
+ } else {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLIN;
+ }
+}
+
+static inline void hri_usbendpoint_clear_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLIN;
+}
+
+static inline void hri_usbendpoint_set_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_CURBK;
+}
+
+static inline bool hri_usbendpoint_get_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_CURBK)
+ >> USB_DEVICE_EPSTATUS_CURBK_Pos;
+}
+
+static inline void hri_usbendpoint_write_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_CURBK;
+ } else {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_CURBK;
+ }
+}
+
+static inline void hri_usbendpoint_clear_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_CURBK;
+}
+
+static inline void hri_usbendpoint_set_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ0;
+}
+
+static inline bool hri_usbendpoint_get_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_STALLRQ0)
+ >> USB_DEVICE_EPSTATUS_STALLRQ0_Pos;
+}
+
+static inline void hri_usbendpoint_write_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index,
+ bool value)
+{
+ if (value == 0x0) {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ0;
+ } else {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ0;
+ }
+}
+
+static inline void hri_usbendpoint_clear_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ0;
+}
+
+static inline void hri_usbendpoint_set_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ1;
+}
+
+static inline bool hri_usbendpoint_get_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_STALLRQ1)
+ >> USB_DEVICE_EPSTATUS_STALLRQ1_Pos;
+}
+
+static inline void hri_usbendpoint_write_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index,
+ bool value)
+{
+ if (value == 0x0) {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ1;
+ } else {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ1;
+ }
+}
+
+static inline void hri_usbendpoint_clear_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ1;
+}
+
+static inline void hri_usbendpoint_set_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK0RDY;
+}
+
+static inline bool hri_usbendpoint_get_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_BK0RDY)
+ >> USB_DEVICE_EPSTATUS_BK0RDY_Pos;
+}
+
+static inline void hri_usbendpoint_write_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK0RDY;
+ } else {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK0RDY;
+ }
+}
+
+static inline void hri_usbendpoint_clear_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK0RDY;
+}
+
+static inline void hri_usbendpoint_set_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK1RDY;
+}
+
+static inline bool hri_usbendpoint_get_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_BK1RDY)
+ >> USB_DEVICE_EPSTATUS_BK1RDY_Pos;
+}
+
+static inline void hri_usbendpoint_write_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK1RDY;
+ } else {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK1RDY;
+ }
+}
+
+static inline void hri_usbendpoint_clear_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK1RDY;
+}
+
+static inline void hri_usbendpoint_set_EPSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epstatus_reg_t mask)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = mask;
+}
+
+static inline hri_usbendpoint_epstatus_reg_t
+hri_usbendpoint_get_EPSTATUS_reg(const void *const hw, uint8_t submodule_index, hri_usbendpoint_epstatus_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbendpoint_epstatus_reg_t hri_usbendpoint_read_EPSTATUS_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUS.reg;
+}
+
+static inline void hri_usbendpoint_write_EPSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epstatus_reg_t data)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSSET.reg = data;
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = ~data;
+}
+
+static inline void hri_usbendpoint_clear_EPSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epstatus_reg_t mask)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = mask;
+}
+
+static inline void hri_usbendpoint_set_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT0;
+}
+
+static inline bool hri_usbendpoint_get_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRCPT0)
+ >> USB_DEVICE_EPINTENSET_TRCPT0_Pos;
+}
+
+static inline void hri_usbendpoint_write_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT0;
+ } else {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT0;
+ }
+}
+
+static inline void hri_usbendpoint_clear_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT0;
+}
+
+static inline void hri_usbendpoint_set_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT1;
+}
+
+static inline bool hri_usbendpoint_get_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRCPT1)
+ >> USB_DEVICE_EPINTENSET_TRCPT1_Pos;
+}
+
+static inline void hri_usbendpoint_write_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT1;
+ } else {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT1;
+ }
+}
+
+static inline void hri_usbendpoint_clear_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT1;
+}
+
+static inline void hri_usbendpoint_set_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL0;
+}
+
+static inline bool hri_usbendpoint_get_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRFAIL0)
+ >> USB_DEVICE_EPINTENSET_TRFAIL0_Pos;
+}
+
+static inline void hri_usbendpoint_write_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL0;
+ } else {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL0;
+ }
+}
+
+static inline void hri_usbendpoint_clear_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL0;
+}
+
+static inline void hri_usbendpoint_set_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL1;
+}
+
+static inline bool hri_usbendpoint_get_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRFAIL1)
+ >> USB_DEVICE_EPINTENSET_TRFAIL1_Pos;
+}
+
+static inline void hri_usbendpoint_write_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL1;
+ } else {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL1;
+ }
+}
+
+static inline void hri_usbendpoint_clear_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL1;
+}
+
+static inline void hri_usbendpoint_set_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_RXSTP;
+}
+
+static inline bool hri_usbendpoint_get_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_RXSTP)
+ >> USB_DEVICE_EPINTENSET_RXSTP_Pos;
+}
+
+static inline void hri_usbendpoint_write_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_RXSTP;
+ } else {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_RXSTP;
+ }
+}
+
+static inline void hri_usbendpoint_clear_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_RXSTP;
+}
+
+static inline void hri_usbendpoint_set_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL0;
+}
+
+static inline bool hri_usbendpoint_get_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_STALL0)
+ >> USB_DEVICE_EPINTENSET_STALL0_Pos;
+}
+
+static inline void hri_usbendpoint_write_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL0;
+ } else {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL0;
+ }
+}
+
+static inline void hri_usbendpoint_clear_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL0;
+}
+
+static inline void hri_usbendpoint_set_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL1;
+}
+
+static inline bool hri_usbendpoint_get_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_STALL1)
+ >> USB_DEVICE_EPINTENSET_STALL1_Pos;
+}
+
+static inline void hri_usbendpoint_write_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL1;
+ } else {
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL1;
+ }
+}
+
+static inline void hri_usbendpoint_clear_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL1;
+}
+
+static inline void hri_usbendpoint_set_EPINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epintenset_reg_t mask)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = mask;
+}
+
+static inline hri_usbendpoint_epintenset_reg_t
+hri_usbendpoint_get_EPINTEN_reg(const void *const hw, uint8_t submodule_index, hri_usbendpoint_epintenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbendpoint_epintenset_reg_t hri_usbendpoint_read_EPINTEN_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg;
+}
+
+static inline void hri_usbendpoint_write_EPINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epintenset_reg_t data)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENSET.reg = data;
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = ~data;
+}
+
+static inline void hri_usbendpoint_clear_EPINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epintenset_reg_t mask)
+{
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPINTENCLR.reg = mask;
+}
+
+static inline void hri_usbendpoint_set_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg |= USB_DEVICE_EPCFG_NYETDIS;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbendpoint_get_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp = (tmp & USB_DEVICE_EPCFG_NYETDIS) >> USB_DEVICE_EPCFG_NYETDIS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbendpoint_write_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp &= ~USB_DEVICE_EPCFG_NYETDIS;
+ tmp |= value << USB_DEVICE_EPCFG_NYETDIS_Pos;
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbendpoint_clear_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg &= ~USB_DEVICE_EPCFG_NYETDIS;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbendpoint_toggle_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg ^= USB_DEVICE_EPCFG_NYETDIS;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbendpoint_set_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg |= USB_DEVICE_EPCFG_EPTYPE0(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbendpoint_epcfg_reg_t
+hri_usbendpoint_get_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index, hri_usbendpoint_epcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE0(mask)) >> USB_DEVICE_EPCFG_EPTYPE0_Pos;
+ return tmp;
+}
+
+static inline void hri_usbendpoint_write_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epcfg_reg_t data)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp &= ~USB_DEVICE_EPCFG_EPTYPE0_Msk;
+ tmp |= USB_DEVICE_EPCFG_EPTYPE0(data);
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbendpoint_clear_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg &= ~USB_DEVICE_EPCFG_EPTYPE0(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbendpoint_toggle_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg ^= USB_DEVICE_EPCFG_EPTYPE0(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbendpoint_epcfg_reg_t hri_usbendpoint_read_EPCFG_EPTYPE0_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE0_Msk) >> USB_DEVICE_EPCFG_EPTYPE0_Pos;
+ return tmp;
+}
+
+static inline void hri_usbendpoint_set_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg |= USB_DEVICE_EPCFG_EPTYPE1(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbendpoint_epcfg_reg_t
+hri_usbendpoint_get_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index, hri_usbendpoint_epcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE1(mask)) >> USB_DEVICE_EPCFG_EPTYPE1_Pos;
+ return tmp;
+}
+
+static inline void hri_usbendpoint_write_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epcfg_reg_t data)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp &= ~USB_DEVICE_EPCFG_EPTYPE1_Msk;
+ tmp |= USB_DEVICE_EPCFG_EPTYPE1(data);
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbendpoint_clear_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg &= ~USB_DEVICE_EPCFG_EPTYPE1(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbendpoint_toggle_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg ^= USB_DEVICE_EPCFG_EPTYPE1(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbendpoint_epcfg_reg_t hri_usbendpoint_read_EPCFG_EPTYPE1_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE1_Msk) >> USB_DEVICE_EPCFG_EPTYPE1_Pos;
+ return tmp;
+}
+
+static inline void hri_usbendpoint_set_EPCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbendpoint_epcfg_reg_t hri_usbendpoint_get_EPCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbendpoint_write_EPCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epcfg_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbendpoint_clear_EPCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbendpoint_toggle_EPCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbendpoint_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbendpoint_epcfg_reg_t hri_usbendpoint_read_EPCFG_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((UsbDevice *)hw)->DeviceEndpoint[submodule_index].EPCFG.reg;
+}
+
+static inline bool hri_usbdevice_get_EPINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT0)
+ >> USB_DEVICE_EPINTFLAG_TRCPT0_Pos;
+}
+
+static inline void hri_usbdevice_clear_EPINTFLAG_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT0;
+}
+
+static inline bool hri_usbdevice_get_EPINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT1)
+ >> USB_DEVICE_EPINTFLAG_TRCPT1_Pos;
+}
+
+static inline void hri_usbdevice_clear_EPINTFLAG_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT1;
+}
+
+static inline bool hri_usbdevice_get_EPINTFLAG_TRFAIL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL0)
+ >> USB_DEVICE_EPINTFLAG_TRFAIL0_Pos;
+}
+
+static inline void hri_usbdevice_clear_EPINTFLAG_TRFAIL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL0;
+}
+
+static inline bool hri_usbdevice_get_EPINTFLAG_TRFAIL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL1)
+ >> USB_DEVICE_EPINTFLAG_TRFAIL1_Pos;
+}
+
+static inline void hri_usbdevice_clear_EPINTFLAG_TRFAIL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL1;
+}
+
+static inline bool hri_usbdevice_get_EPINTFLAG_RXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_RXSTP)
+ >> USB_DEVICE_EPINTFLAG_RXSTP_Pos;
+}
+
+static inline void hri_usbdevice_clear_EPINTFLAG_RXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_RXSTP;
+}
+
+static inline bool hri_usbdevice_get_EPINTFLAG_STALL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL0)
+ >> USB_DEVICE_EPINTFLAG_STALL0_Pos;
+}
+
+static inline void hri_usbdevice_clear_EPINTFLAG_STALL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL0;
+}
+
+static inline bool hri_usbdevice_get_EPINTFLAG_STALL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL1)
+ >> USB_DEVICE_EPINTFLAG_STALL1_Pos;
+}
+
+static inline void hri_usbdevice_clear_EPINTFLAG_STALL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL1;
+}
+
+static inline bool hri_usbdevice_get_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT0)
+ >> USB_DEVICE_EPINTFLAG_TRCPT0_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT0;
+}
+
+static inline bool hri_usbdevice_get_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRCPT1)
+ >> USB_DEVICE_EPINTFLAG_TRCPT1_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT1;
+}
+
+static inline bool hri_usbdevice_get_interrupt_TRFAIL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL0)
+ >> USB_DEVICE_EPINTFLAG_TRFAIL0_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_TRFAIL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL0;
+}
+
+static inline bool hri_usbdevice_get_interrupt_TRFAIL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_TRFAIL1)
+ >> USB_DEVICE_EPINTFLAG_TRFAIL1_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_TRFAIL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRFAIL1;
+}
+
+static inline bool hri_usbdevice_get_interrupt_RXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_RXSTP)
+ >> USB_DEVICE_EPINTFLAG_RXSTP_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_RXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_RXSTP;
+}
+
+static inline bool hri_usbdevice_get_interrupt_STALL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL0)
+ >> USB_DEVICE_EPINTFLAG_STALL0_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_STALL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL0;
+}
+
+static inline bool hri_usbdevice_get_interrupt_STALL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_STALL1)
+ >> USB_DEVICE_EPINTFLAG_STALL1_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_STALL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL1;
+}
+
+static inline hri_usbdevice_epintflag_reg_t
+hri_usbdevice_get_EPINTFLAG_reg(const void *const hw, uint8_t submodule_index, hri_usbdevice_epintflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbdevice_epintflag_reg_t hri_usbdevice_read_EPINTFLAG_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg;
+}
+
+static inline void hri_usbdevice_clear_EPINTFLAG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epintflag_reg_t mask)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTFLAG.reg = mask;
+}
+
+static inline void hri_usbdevice_set_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLOUT;
+}
+
+static inline bool hri_usbdevice_get_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_DTGLOUT)
+ >> USB_DEVICE_EPSTATUS_DTGLOUT_Pos;
+}
+
+static inline void hri_usbdevice_write_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLOUT;
+ } else {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLOUT;
+ }
+}
+
+static inline void hri_usbdevice_clear_EPSTATUS_DTGLOUT_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLOUT;
+}
+
+static inline void hri_usbdevice_set_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLIN;
+}
+
+static inline bool hri_usbdevice_get_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_DTGLIN)
+ >> USB_DEVICE_EPSTATUS_DTGLIN_Pos;
+}
+
+static inline void hri_usbdevice_write_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLIN;
+ } else {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_DTGLIN;
+ }
+}
+
+static inline void hri_usbdevice_clear_EPSTATUS_DTGLIN_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_DTGLIN;
+}
+
+static inline void hri_usbdevice_set_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_CURBK;
+}
+
+static inline bool hri_usbdevice_get_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_CURBK)
+ >> USB_DEVICE_EPSTATUS_CURBK_Pos;
+}
+
+static inline void hri_usbdevice_write_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_CURBK;
+ } else {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_CURBK;
+ }
+}
+
+static inline void hri_usbdevice_clear_EPSTATUS_CURBK_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_CURBK;
+}
+
+static inline void hri_usbdevice_set_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ0;
+}
+
+static inline bool hri_usbdevice_get_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_STALLRQ0)
+ >> USB_DEVICE_EPSTATUS_STALLRQ0_Pos;
+}
+
+static inline void hri_usbdevice_write_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ0;
+ } else {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ0;
+ }
+}
+
+static inline void hri_usbdevice_clear_EPSTATUS_STALLRQ0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ0;
+}
+
+static inline void hri_usbdevice_set_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ1;
+}
+
+static inline bool hri_usbdevice_get_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_STALLRQ1)
+ >> USB_DEVICE_EPSTATUS_STALLRQ1_Pos;
+}
+
+static inline void hri_usbdevice_write_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ1;
+ } else {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_STALLRQ1;
+ }
+}
+
+static inline void hri_usbdevice_clear_EPSTATUS_STALLRQ1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_STALLRQ1;
+}
+
+static inline void hri_usbdevice_set_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK0RDY;
+}
+
+static inline bool hri_usbdevice_get_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_BK0RDY)
+ >> USB_DEVICE_EPSTATUS_BK0RDY_Pos;
+}
+
+static inline void hri_usbdevice_write_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK0RDY;
+ } else {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK0RDY;
+ }
+}
+
+static inline void hri_usbdevice_clear_EPSTATUS_BK0RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK0RDY;
+}
+
+static inline void hri_usbdevice_set_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK1RDY;
+}
+
+static inline bool hri_usbdevice_get_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg & USB_DEVICE_EPSTATUS_BK1RDY)
+ >> USB_DEVICE_EPSTATUS_BK1RDY_Pos;
+}
+
+static inline void hri_usbdevice_write_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK1RDY;
+ } else {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = USB_DEVICE_EPSTATUS_BK1RDY;
+ }
+}
+
+static inline void hri_usbdevice_clear_EPSTATUS_BK1RDY_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUS_BK1RDY;
+}
+
+static inline void hri_usbdevice_set_EPSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epstatus_reg_t mask)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = mask;
+}
+
+static inline hri_usbdevice_epstatus_reg_t hri_usbdevice_get_EPSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epstatus_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbdevice_epstatus_reg_t hri_usbdevice_read_EPSTATUS_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUS.reg;
+}
+
+static inline void hri_usbdevice_write_EPSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epstatus_reg_t data)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSSET.reg = data;
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = ~data;
+}
+
+static inline void hri_usbdevice_clear_EPSTATUS_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epstatus_reg_t mask)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPSTATUSCLR.reg = mask;
+}
+
+static inline void hri_usbdevice_set_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT0;
+}
+
+static inline bool hri_usbdevice_get_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRCPT0)
+ >> USB_DEVICE_EPINTENSET_TRCPT0_Pos;
+}
+
+static inline void hri_usbdevice_write_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT0;
+ } else {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT0;
+ }
+}
+
+static inline void hri_usbdevice_clear_EPINTEN_TRCPT0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT0;
+}
+
+static inline void hri_usbdevice_set_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT1;
+}
+
+static inline bool hri_usbdevice_get_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRCPT1)
+ >> USB_DEVICE_EPINTENSET_TRCPT1_Pos;
+}
+
+static inline void hri_usbdevice_write_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT1;
+ } else {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRCPT1;
+ }
+}
+
+static inline void hri_usbdevice_clear_EPINTEN_TRCPT1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRCPT1;
+}
+
+static inline void hri_usbdevice_set_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL0;
+}
+
+static inline bool hri_usbdevice_get_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRFAIL0)
+ >> USB_DEVICE_EPINTENSET_TRFAIL0_Pos;
+}
+
+static inline void hri_usbdevice_write_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL0;
+ } else {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL0;
+ }
+}
+
+static inline void hri_usbdevice_clear_EPINTEN_TRFAIL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL0;
+}
+
+static inline void hri_usbdevice_set_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL1;
+}
+
+static inline bool hri_usbdevice_get_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_TRFAIL1)
+ >> USB_DEVICE_EPINTENSET_TRFAIL1_Pos;
+}
+
+static inline void hri_usbdevice_write_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL1;
+ } else {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_TRFAIL1;
+ }
+}
+
+static inline void hri_usbdevice_clear_EPINTEN_TRFAIL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_TRFAIL1;
+}
+
+static inline void hri_usbdevice_set_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_RXSTP;
+}
+
+static inline bool hri_usbdevice_get_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_RXSTP)
+ >> USB_DEVICE_EPINTENSET_RXSTP_Pos;
+}
+
+static inline void hri_usbdevice_write_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_RXSTP;
+ } else {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_RXSTP;
+ }
+}
+
+static inline void hri_usbdevice_clear_EPINTEN_RXSTP_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_RXSTP;
+}
+
+static inline void hri_usbdevice_set_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL0;
+}
+
+static inline bool hri_usbdevice_get_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_STALL0)
+ >> USB_DEVICE_EPINTENSET_STALL0_Pos;
+}
+
+static inline void hri_usbdevice_write_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL0;
+ } else {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL0;
+ }
+}
+
+static inline void hri_usbdevice_clear_EPINTEN_STALL0_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL0;
+}
+
+static inline void hri_usbdevice_set_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL1;
+}
+
+static inline bool hri_usbdevice_get_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg & USB_DEVICE_EPINTENSET_STALL1)
+ >> USB_DEVICE_EPINTENSET_STALL1_Pos;
+}
+
+static inline void hri_usbdevice_write_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL1;
+ } else {
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = USB_DEVICE_EPINTENSET_STALL1;
+ }
+}
+
+static inline void hri_usbdevice_clear_EPINTEN_STALL1_bit(const void *const hw, uint8_t submodule_index)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = USB_DEVICE_EPINTENSET_STALL1;
+}
+
+static inline void hri_usbdevice_set_EPINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epintenset_reg_t mask)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = mask;
+}
+
+static inline hri_usbdevice_epintenset_reg_t
+hri_usbdevice_get_EPINTEN_reg(const void *const hw, uint8_t submodule_index, hri_usbdevice_epintenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbdevice_epintenset_reg_t hri_usbdevice_read_EPINTEN_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg;
+}
+
+static inline void hri_usbdevice_write_EPINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epintenset_reg_t data)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENSET.reg = data;
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = ~data;
+}
+
+static inline void hri_usbdevice_clear_EPINTEN_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epintenset_reg_t mask)
+{
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPINTENCLR.reg = mask;
+}
+
+static inline void hri_usbdevice_set_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg |= USB_DEVICE_EPCFG_NYETDIS;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbdevice_get_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp = (tmp & USB_DEVICE_EPCFG_NYETDIS) >> USB_DEVICE_EPCFG_NYETDIS_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbdevice_write_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index, bool value)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp &= ~USB_DEVICE_EPCFG_NYETDIS;
+ tmp |= value << USB_DEVICE_EPCFG_NYETDIS_Pos;
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg &= ~USB_DEVICE_EPCFG_NYETDIS;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_EPCFG_NYETDIS_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg ^= USB_DEVICE_EPCFG_NYETDIS;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_set_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg |= USB_DEVICE_EPCFG_EPTYPE0(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_epcfg_reg_t
+hri_usbdevice_get_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index, hri_usbdevice_epcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE0(mask)) >> USB_DEVICE_EPCFG_EPTYPE0_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevice_write_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epcfg_reg_t data)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp &= ~USB_DEVICE_EPCFG_EPTYPE0_Msk;
+ tmp |= USB_DEVICE_EPCFG_EPTYPE0(data);
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg &= ~USB_DEVICE_EPCFG_EPTYPE0(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_EPCFG_EPTYPE0_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg ^= USB_DEVICE_EPCFG_EPTYPE0(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_epcfg_reg_t hri_usbdevice_read_EPCFG_EPTYPE0_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE0_Msk) >> USB_DEVICE_EPCFG_EPTYPE0_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevice_set_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg |= USB_DEVICE_EPCFG_EPTYPE1(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_epcfg_reg_t
+hri_usbdevice_get_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index, hri_usbdevice_epcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE1(mask)) >> USB_DEVICE_EPCFG_EPTYPE1_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevice_write_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epcfg_reg_t data)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp &= ~USB_DEVICE_EPCFG_EPTYPE1_Msk;
+ tmp |= USB_DEVICE_EPCFG_EPTYPE1(data);
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg &= ~USB_DEVICE_EPCFG_EPTYPE1(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_EPCFG_EPTYPE1_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg ^= USB_DEVICE_EPCFG_EPTYPE1(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_epcfg_reg_t hri_usbdevice_read_EPCFG_EPTYPE1_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp = (tmp & USB_DEVICE_EPCFG_EPTYPE1_Msk) >> USB_DEVICE_EPCFG_EPTYPE1_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevice_set_EPCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_epcfg_reg_t hri_usbdevice_get_EPCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epcfg_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbdevice_write_EPCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epcfg_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_EPCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_EPCFG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdevice_epcfg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_epcfg_reg_t hri_usbdevice_read_EPCFG_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((Usb *)hw)->DEVICE.DeviceEndpoint[submodule_index].EPCFG.reg;
+}
+
+static inline bool hri_usbdevice_get_INTFLAG_SUSPEND_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_SUSPEND) >> USB_DEVICE_INTFLAG_SUSPEND_Pos;
+}
+
+static inline void hri_usbdevice_clear_INTFLAG_SUSPEND_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_SUSPEND;
+}
+
+static inline bool hri_usbdevice_get_INTFLAG_MSOF_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_MSOF) >> USB_DEVICE_INTFLAG_MSOF_Pos;
+}
+
+static inline void hri_usbdevice_clear_INTFLAG_MSOF_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_MSOF;
+}
+
+static inline bool hri_usbdevice_get_INTFLAG_SOF_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_SOF) >> USB_DEVICE_INTFLAG_SOF_Pos;
+}
+
+static inline void hri_usbdevice_clear_INTFLAG_SOF_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_SOF;
+}
+
+static inline bool hri_usbdevice_get_INTFLAG_EORST_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_EORST) >> USB_DEVICE_INTFLAG_EORST_Pos;
+}
+
+static inline void hri_usbdevice_clear_INTFLAG_EORST_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_EORST;
+}
+
+static inline bool hri_usbdevice_get_INTFLAG_WAKEUP_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_WAKEUP) >> USB_DEVICE_INTFLAG_WAKEUP_Pos;
+}
+
+static inline void hri_usbdevice_clear_INTFLAG_WAKEUP_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_WAKEUP;
+}
+
+static inline bool hri_usbdevice_get_INTFLAG_EORSM_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_EORSM) >> USB_DEVICE_INTFLAG_EORSM_Pos;
+}
+
+static inline void hri_usbdevice_clear_INTFLAG_EORSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_EORSM;
+}
+
+static inline bool hri_usbdevice_get_INTFLAG_UPRSM_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_UPRSM) >> USB_DEVICE_INTFLAG_UPRSM_Pos;
+}
+
+static inline void hri_usbdevice_clear_INTFLAG_UPRSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_UPRSM;
+}
+
+static inline bool hri_usbdevice_get_INTFLAG_RAMACER_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_RAMACER) >> USB_DEVICE_INTFLAG_RAMACER_Pos;
+}
+
+static inline void hri_usbdevice_clear_INTFLAG_RAMACER_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_RAMACER;
+}
+
+static inline bool hri_usbdevice_get_INTFLAG_LPMNYET_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_LPMNYET) >> USB_DEVICE_INTFLAG_LPMNYET_Pos;
+}
+
+static inline void hri_usbdevice_clear_INTFLAG_LPMNYET_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_LPMNYET;
+}
+
+static inline bool hri_usbdevice_get_INTFLAG_LPMSUSP_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_LPMSUSP) >> USB_DEVICE_INTFLAG_LPMSUSP_Pos;
+}
+
+static inline void hri_usbdevice_clear_INTFLAG_LPMSUSP_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_LPMSUSP;
+}
+
+static inline bool hri_usbdevice_get_interrupt_SUSPEND_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_SUSPEND) >> USB_DEVICE_INTFLAG_SUSPEND_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_SUSPEND_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_SUSPEND;
+}
+
+static inline bool hri_usbdevice_get_interrupt_MSOF_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_MSOF) >> USB_DEVICE_INTFLAG_MSOF_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_MSOF_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_MSOF;
+}
+
+static inline bool hri_usbdevice_get_interrupt_SOF_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_SOF) >> USB_DEVICE_INTFLAG_SOF_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_SOF_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_SOF;
+}
+
+static inline bool hri_usbdevice_get_interrupt_EORST_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_EORST) >> USB_DEVICE_INTFLAG_EORST_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_EORST_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_EORST;
+}
+
+static inline bool hri_usbdevice_get_interrupt_WAKEUP_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_WAKEUP) >> USB_DEVICE_INTFLAG_WAKEUP_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_WAKEUP_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_WAKEUP;
+}
+
+static inline bool hri_usbdevice_get_interrupt_EORSM_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_EORSM) >> USB_DEVICE_INTFLAG_EORSM_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_EORSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_EORSM;
+}
+
+static inline bool hri_usbdevice_get_interrupt_UPRSM_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_UPRSM) >> USB_DEVICE_INTFLAG_UPRSM_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_UPRSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_UPRSM;
+}
+
+static inline bool hri_usbdevice_get_interrupt_RAMACER_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_RAMACER) >> USB_DEVICE_INTFLAG_RAMACER_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_RAMACER_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_RAMACER;
+}
+
+static inline bool hri_usbdevice_get_interrupt_LPMNYET_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_LPMNYET) >> USB_DEVICE_INTFLAG_LPMNYET_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_LPMNYET_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_LPMNYET;
+}
+
+static inline bool hri_usbdevice_get_interrupt_LPMSUSP_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_LPMSUSP) >> USB_DEVICE_INTFLAG_LPMSUSP_Pos;
+}
+
+static inline void hri_usbdevice_clear_interrupt_LPMSUSP_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_LPMSUSP;
+}
+
+static inline hri_usbdevice_intflag_reg_t hri_usbdevice_get_INTFLAG_reg(const void *const hw,
+ hri_usbdevice_intflag_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbdevice_intflag_reg_t hri_usbdevice_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Usb *)hw)->DEVICE.INTFLAG.reg;
+}
+
+static inline void hri_usbdevice_clear_INTFLAG_reg(const void *const hw, hri_usbdevice_intflag_reg_t mask)
+{
+ ((Usb *)hw)->DEVICE.INTFLAG.reg = mask;
+}
+
+static inline bool hri_usbhost_get_INTFLAG_HSOF_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_HSOF) >> USB_HOST_INTFLAG_HSOF_Pos;
+}
+
+static inline void hri_usbhost_clear_INTFLAG_HSOF_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_HSOF;
+}
+
+static inline bool hri_usbhost_get_INTFLAG_RST_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_RST) >> USB_HOST_INTFLAG_RST_Pos;
+}
+
+static inline void hri_usbhost_clear_INTFLAG_RST_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_RST;
+}
+
+static inline bool hri_usbhost_get_INTFLAG_WAKEUP_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_WAKEUP) >> USB_HOST_INTFLAG_WAKEUP_Pos;
+}
+
+static inline void hri_usbhost_clear_INTFLAG_WAKEUP_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_WAKEUP;
+}
+
+static inline bool hri_usbhost_get_INTFLAG_DNRSM_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_DNRSM) >> USB_HOST_INTFLAG_DNRSM_Pos;
+}
+
+static inline void hri_usbhost_clear_INTFLAG_DNRSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_DNRSM;
+}
+
+static inline bool hri_usbhost_get_INTFLAG_UPRSM_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_UPRSM) >> USB_HOST_INTFLAG_UPRSM_Pos;
+}
+
+static inline void hri_usbhost_clear_INTFLAG_UPRSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_UPRSM;
+}
+
+static inline bool hri_usbhost_get_INTFLAG_RAMACER_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_RAMACER) >> USB_HOST_INTFLAG_RAMACER_Pos;
+}
+
+static inline void hri_usbhost_clear_INTFLAG_RAMACER_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_RAMACER;
+}
+
+static inline bool hri_usbhost_get_INTFLAG_DCONN_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_DCONN) >> USB_HOST_INTFLAG_DCONN_Pos;
+}
+
+static inline void hri_usbhost_clear_INTFLAG_DCONN_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_DCONN;
+}
+
+static inline bool hri_usbhost_get_INTFLAG_DDISC_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_DDISC) >> USB_HOST_INTFLAG_DDISC_Pos;
+}
+
+static inline void hri_usbhost_clear_INTFLAG_DDISC_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_DDISC;
+}
+
+static inline bool hri_usbhost_get_interrupt_HSOF_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_HSOF) >> USB_HOST_INTFLAG_HSOF_Pos;
+}
+
+static inline void hri_usbhost_clear_interrupt_HSOF_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_HSOF;
+}
+
+static inline bool hri_usbhost_get_interrupt_RST_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_RST) >> USB_HOST_INTFLAG_RST_Pos;
+}
+
+static inline void hri_usbhost_clear_interrupt_RST_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_RST;
+}
+
+static inline bool hri_usbhost_get_interrupt_WAKEUP_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_WAKEUP) >> USB_HOST_INTFLAG_WAKEUP_Pos;
+}
+
+static inline void hri_usbhost_clear_interrupt_WAKEUP_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_WAKEUP;
+}
+
+static inline bool hri_usbhost_get_interrupt_DNRSM_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_DNRSM) >> USB_HOST_INTFLAG_DNRSM_Pos;
+}
+
+static inline void hri_usbhost_clear_interrupt_DNRSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_DNRSM;
+}
+
+static inline bool hri_usbhost_get_interrupt_UPRSM_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_UPRSM) >> USB_HOST_INTFLAG_UPRSM_Pos;
+}
+
+static inline void hri_usbhost_clear_interrupt_UPRSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_UPRSM;
+}
+
+static inline bool hri_usbhost_get_interrupt_RAMACER_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_RAMACER) >> USB_HOST_INTFLAG_RAMACER_Pos;
+}
+
+static inline void hri_usbhost_clear_interrupt_RAMACER_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_RAMACER;
+}
+
+static inline bool hri_usbhost_get_interrupt_DCONN_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_DCONN) >> USB_HOST_INTFLAG_DCONN_Pos;
+}
+
+static inline void hri_usbhost_clear_interrupt_DCONN_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_DCONN;
+}
+
+static inline bool hri_usbhost_get_interrupt_DDISC_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTFLAG.reg & USB_HOST_INTFLAG_DDISC) >> USB_HOST_INTFLAG_DDISC_Pos;
+}
+
+static inline void hri_usbhost_clear_interrupt_DDISC_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = USB_HOST_INTFLAG_DDISC;
+}
+
+static inline hri_usbhost_intflag_reg_t hri_usbhost_get_INTFLAG_reg(const void *const hw,
+ hri_usbhost_intflag_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbhost_intflag_reg_t hri_usbhost_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Usb *)hw)->HOST.INTFLAG.reg;
+}
+
+static inline void hri_usbhost_clear_INTFLAG_reg(const void *const hw, hri_usbhost_intflag_reg_t mask)
+{
+ ((Usb *)hw)->HOST.INTFLAG.reg = mask;
+}
+
+static inline void hri_usbdevice_set_INTEN_SUSPEND_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_SUSPEND;
+}
+
+static inline bool hri_usbdevice_get_INTEN_SUSPEND_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_SUSPEND) >> USB_DEVICE_INTENSET_SUSPEND_Pos;
+}
+
+static inline void hri_usbdevice_write_INTEN_SUSPEND_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_SUSPEND;
+ } else {
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_SUSPEND;
+ }
+}
+
+static inline void hri_usbdevice_clear_INTEN_SUSPEND_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_SUSPEND;
+}
+
+static inline void hri_usbdevice_set_INTEN_MSOF_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_MSOF;
+}
+
+static inline bool hri_usbdevice_get_INTEN_MSOF_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_MSOF) >> USB_DEVICE_INTENSET_MSOF_Pos;
+}
+
+static inline void hri_usbdevice_write_INTEN_MSOF_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_MSOF;
+ } else {
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_MSOF;
+ }
+}
+
+static inline void hri_usbdevice_clear_INTEN_MSOF_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_MSOF;
+}
+
+static inline void hri_usbdevice_set_INTEN_SOF_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_SOF;
+}
+
+static inline bool hri_usbdevice_get_INTEN_SOF_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_SOF) >> USB_DEVICE_INTENSET_SOF_Pos;
+}
+
+static inline void hri_usbdevice_write_INTEN_SOF_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_SOF;
+ } else {
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_SOF;
+ }
+}
+
+static inline void hri_usbdevice_clear_INTEN_SOF_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_SOF;
+}
+
+static inline void hri_usbdevice_set_INTEN_EORST_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_EORST;
+}
+
+static inline bool hri_usbdevice_get_INTEN_EORST_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_EORST) >> USB_DEVICE_INTENSET_EORST_Pos;
+}
+
+static inline void hri_usbdevice_write_INTEN_EORST_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_EORST;
+ } else {
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_EORST;
+ }
+}
+
+static inline void hri_usbdevice_clear_INTEN_EORST_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_EORST;
+}
+
+static inline void hri_usbdevice_set_INTEN_WAKEUP_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_WAKEUP;
+}
+
+static inline bool hri_usbdevice_get_INTEN_WAKEUP_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_WAKEUP) >> USB_DEVICE_INTENSET_WAKEUP_Pos;
+}
+
+static inline void hri_usbdevice_write_INTEN_WAKEUP_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_WAKEUP;
+ } else {
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_WAKEUP;
+ }
+}
+
+static inline void hri_usbdevice_clear_INTEN_WAKEUP_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_WAKEUP;
+}
+
+static inline void hri_usbdevice_set_INTEN_EORSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_EORSM;
+}
+
+static inline bool hri_usbdevice_get_INTEN_EORSM_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_EORSM) >> USB_DEVICE_INTENSET_EORSM_Pos;
+}
+
+static inline void hri_usbdevice_write_INTEN_EORSM_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_EORSM;
+ } else {
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_EORSM;
+ }
+}
+
+static inline void hri_usbdevice_clear_INTEN_EORSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_EORSM;
+}
+
+static inline void hri_usbdevice_set_INTEN_UPRSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_UPRSM;
+}
+
+static inline bool hri_usbdevice_get_INTEN_UPRSM_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_UPRSM) >> USB_DEVICE_INTENSET_UPRSM_Pos;
+}
+
+static inline void hri_usbdevice_write_INTEN_UPRSM_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_UPRSM;
+ } else {
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_UPRSM;
+ }
+}
+
+static inline void hri_usbdevice_clear_INTEN_UPRSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_UPRSM;
+}
+
+static inline void hri_usbdevice_set_INTEN_RAMACER_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_RAMACER;
+}
+
+static inline bool hri_usbdevice_get_INTEN_RAMACER_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_RAMACER) >> USB_DEVICE_INTENSET_RAMACER_Pos;
+}
+
+static inline void hri_usbdevice_write_INTEN_RAMACER_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_RAMACER;
+ } else {
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_RAMACER;
+ }
+}
+
+static inline void hri_usbdevice_clear_INTEN_RAMACER_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_RAMACER;
+}
+
+static inline void hri_usbdevice_set_INTEN_LPMNYET_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_LPMNYET;
+}
+
+static inline bool hri_usbdevice_get_INTEN_LPMNYET_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_LPMNYET) >> USB_DEVICE_INTENSET_LPMNYET_Pos;
+}
+
+static inline void hri_usbdevice_write_INTEN_LPMNYET_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_LPMNYET;
+ } else {
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_LPMNYET;
+ }
+}
+
+static inline void hri_usbdevice_clear_INTEN_LPMNYET_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_LPMNYET;
+}
+
+static inline void hri_usbdevice_set_INTEN_LPMSUSP_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_LPMSUSP;
+}
+
+static inline bool hri_usbdevice_get_INTEN_LPMSUSP_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.INTENSET.reg & USB_DEVICE_INTENSET_LPMSUSP) >> USB_DEVICE_INTENSET_LPMSUSP_Pos;
+}
+
+static inline void hri_usbdevice_write_INTEN_LPMSUSP_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_LPMSUSP;
+ } else {
+ ((Usb *)hw)->DEVICE.INTENSET.reg = USB_DEVICE_INTENSET_LPMSUSP;
+ }
+}
+
+static inline void hri_usbdevice_clear_INTEN_LPMSUSP_bit(const void *const hw)
+{
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = USB_DEVICE_INTENSET_LPMSUSP;
+}
+
+static inline void hri_usbdevice_set_INTEN_reg(const void *const hw, hri_usbdevice_intenset_reg_t mask)
+{
+ ((Usb *)hw)->DEVICE.INTENSET.reg = mask;
+}
+
+static inline hri_usbdevice_intenset_reg_t hri_usbdevice_get_INTEN_reg(const void *const hw,
+ hri_usbdevice_intenset_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbdevice_intenset_reg_t hri_usbdevice_read_INTEN_reg(const void *const hw)
+{
+ return ((Usb *)hw)->DEVICE.INTENSET.reg;
+}
+
+static inline void hri_usbdevice_write_INTEN_reg(const void *const hw, hri_usbdevice_intenset_reg_t data)
+{
+ ((Usb *)hw)->DEVICE.INTENSET.reg = data;
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = ~data;
+}
+
+static inline void hri_usbdevice_clear_INTEN_reg(const void *const hw, hri_usbdevice_intenset_reg_t mask)
+{
+ ((Usb *)hw)->DEVICE.INTENCLR.reg = mask;
+}
+
+static inline void hri_usbhost_set_INTEN_HSOF_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_HSOF;
+}
+
+static inline bool hri_usbhost_get_INTEN_HSOF_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_HSOF) >> USB_HOST_INTENSET_HSOF_Pos;
+}
+
+static inline void hri_usbhost_write_INTEN_HSOF_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_HSOF;
+ } else {
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_HSOF;
+ }
+}
+
+static inline void hri_usbhost_clear_INTEN_HSOF_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_HSOF;
+}
+
+static inline void hri_usbhost_set_INTEN_RST_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_RST;
+}
+
+static inline bool hri_usbhost_get_INTEN_RST_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_RST) >> USB_HOST_INTENSET_RST_Pos;
+}
+
+static inline void hri_usbhost_write_INTEN_RST_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_RST;
+ } else {
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_RST;
+ }
+}
+
+static inline void hri_usbhost_clear_INTEN_RST_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_RST;
+}
+
+static inline void hri_usbhost_set_INTEN_WAKEUP_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_WAKEUP;
+}
+
+static inline bool hri_usbhost_get_INTEN_WAKEUP_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_WAKEUP) >> USB_HOST_INTENSET_WAKEUP_Pos;
+}
+
+static inline void hri_usbhost_write_INTEN_WAKEUP_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_WAKEUP;
+ } else {
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_WAKEUP;
+ }
+}
+
+static inline void hri_usbhost_clear_INTEN_WAKEUP_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_WAKEUP;
+}
+
+static inline void hri_usbhost_set_INTEN_DNRSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_DNRSM;
+}
+
+static inline bool hri_usbhost_get_INTEN_DNRSM_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_DNRSM) >> USB_HOST_INTENSET_DNRSM_Pos;
+}
+
+static inline void hri_usbhost_write_INTEN_DNRSM_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_DNRSM;
+ } else {
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_DNRSM;
+ }
+}
+
+static inline void hri_usbhost_clear_INTEN_DNRSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_DNRSM;
+}
+
+static inline void hri_usbhost_set_INTEN_UPRSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_UPRSM;
+}
+
+static inline bool hri_usbhost_get_INTEN_UPRSM_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_UPRSM) >> USB_HOST_INTENSET_UPRSM_Pos;
+}
+
+static inline void hri_usbhost_write_INTEN_UPRSM_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_UPRSM;
+ } else {
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_UPRSM;
+ }
+}
+
+static inline void hri_usbhost_clear_INTEN_UPRSM_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_UPRSM;
+}
+
+static inline void hri_usbhost_set_INTEN_RAMACER_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_RAMACER;
+}
+
+static inline bool hri_usbhost_get_INTEN_RAMACER_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_RAMACER) >> USB_HOST_INTENSET_RAMACER_Pos;
+}
+
+static inline void hri_usbhost_write_INTEN_RAMACER_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_RAMACER;
+ } else {
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_RAMACER;
+ }
+}
+
+static inline void hri_usbhost_clear_INTEN_RAMACER_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_RAMACER;
+}
+
+static inline void hri_usbhost_set_INTEN_DCONN_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_DCONN;
+}
+
+static inline bool hri_usbhost_get_INTEN_DCONN_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_DCONN) >> USB_HOST_INTENSET_DCONN_Pos;
+}
+
+static inline void hri_usbhost_write_INTEN_DCONN_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_DCONN;
+ } else {
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_DCONN;
+ }
+}
+
+static inline void hri_usbhost_clear_INTEN_DCONN_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_DCONN;
+}
+
+static inline void hri_usbhost_set_INTEN_DDISC_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_DDISC;
+}
+
+static inline bool hri_usbhost_get_INTEN_DDISC_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.INTENSET.reg & USB_HOST_INTENSET_DDISC) >> USB_HOST_INTENSET_DDISC_Pos;
+}
+
+static inline void hri_usbhost_write_INTEN_DDISC_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_DDISC;
+ } else {
+ ((Usb *)hw)->HOST.INTENSET.reg = USB_HOST_INTENSET_DDISC;
+ }
+}
+
+static inline void hri_usbhost_clear_INTEN_DDISC_bit(const void *const hw)
+{
+ ((Usb *)hw)->HOST.INTENCLR.reg = USB_HOST_INTENSET_DDISC;
+}
+
+static inline void hri_usbhost_set_INTEN_reg(const void *const hw, hri_usbhost_intenset_reg_t mask)
+{
+ ((Usb *)hw)->HOST.INTENSET.reg = mask;
+}
+
+static inline hri_usbhost_intenset_reg_t hri_usbhost_get_INTEN_reg(const void *const hw,
+ hri_usbhost_intenset_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbhost_intenset_reg_t hri_usbhost_read_INTEN_reg(const void *const hw)
+{
+ return ((Usb *)hw)->HOST.INTENSET.reg;
+}
+
+static inline void hri_usbhost_write_INTEN_reg(const void *const hw, hri_usbhost_intenset_reg_t data)
+{
+ ((Usb *)hw)->HOST.INTENSET.reg = data;
+ ((Usb *)hw)->HOST.INTENCLR.reg = ~data;
+}
+
+static inline void hri_usbhost_clear_INTEN_reg(const void *const hw, hri_usbhost_intenset_reg_t mask)
+{
+ ((Usb *)hw)->HOST.INTENCLR.reg = mask;
+}
+
+static inline bool hri_usb_get_SYNCBUSY_SWRST_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.SYNCBUSY.reg & USB_SYNCBUSY_SWRST) >> USB_SYNCBUSY_SWRST_Pos;
+}
+
+static inline bool hri_usb_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.SYNCBUSY.reg & USB_SYNCBUSY_ENABLE) >> USB_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline hri_usb_syncbusy_reg_t hri_usb_get_SYNCBUSY_reg(const void *const hw, hri_usb_syncbusy_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usb_syncbusy_reg_t hri_usb_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Usb *)hw)->HOST.SYNCBUSY.reg;
+}
+
+static inline hri_usbdevice_status_reg_t hri_usbdevice_get_STATUS_SPEED_bf(const void *const hw,
+ hri_usbdevice_status_reg_t mask)
+{
+ return (((Usb *)hw)->DEVICE.STATUS.reg & USB_DEVICE_STATUS_SPEED(mask)) >> USB_DEVICE_STATUS_SPEED_Pos;
+}
+
+static inline hri_usbdevice_status_reg_t hri_usbdevice_read_STATUS_SPEED_bf(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.STATUS.reg & USB_DEVICE_STATUS_SPEED_Msk) >> USB_DEVICE_STATUS_SPEED_Pos;
+}
+
+static inline hri_usbdevice_status_reg_t hri_usbdevice_get_STATUS_LINESTATE_bf(const void *const hw,
+ hri_usbdevice_status_reg_t mask)
+{
+ return (((Usb *)hw)->DEVICE.STATUS.reg & USB_DEVICE_STATUS_LINESTATE(mask)) >> USB_DEVICE_STATUS_LINESTATE_Pos;
+}
+
+static inline hri_usbdevice_status_reg_t hri_usbdevice_read_STATUS_LINESTATE_bf(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.STATUS.reg & USB_DEVICE_STATUS_LINESTATE_Msk) >> USB_DEVICE_STATUS_LINESTATE_Pos;
+}
+
+static inline hri_usbdevice_status_reg_t hri_usbdevice_get_STATUS_reg(const void *const hw,
+ hri_usbdevice_status_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbdevice_status_reg_t hri_usbdevice_read_STATUS_reg(const void *const hw)
+{
+ return ((Usb *)hw)->DEVICE.STATUS.reg;
+}
+
+static inline hri_usb_fsmstatus_reg_t hri_usb_get_FSMSTATUS_FSMSTATE_bf(const void *const hw,
+ hri_usb_fsmstatus_reg_t mask)
+{
+ return (((Usb *)hw)->HOST.FSMSTATUS.reg & USB_FSMSTATUS_FSMSTATE(mask)) >> USB_FSMSTATUS_FSMSTATE_Pos;
+}
+
+static inline hri_usb_fsmstatus_reg_t hri_usb_read_FSMSTATUS_FSMSTATE_bf(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.FSMSTATUS.reg & USB_FSMSTATUS_FSMSTATE_Msk) >> USB_FSMSTATUS_FSMSTATE_Pos;
+}
+
+static inline hri_usb_fsmstatus_reg_t hri_usb_get_FSMSTATUS_reg(const void *const hw, hri_usb_fsmstatus_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.FSMSTATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usb_fsmstatus_reg_t hri_usb_read_FSMSTATUS_reg(const void *const hw)
+{
+ return ((Usb *)hw)->HOST.FSMSTATUS.reg;
+}
+
+static inline bool hri_usbdevice_get_FNUM_FNCERR_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.FNUM.reg & USB_DEVICE_FNUM_FNCERR) >> USB_DEVICE_FNUM_FNCERR_Pos;
+}
+
+static inline hri_usbdevice_fnum_reg_t hri_usbdevice_get_FNUM_MFNUM_bf(const void *const hw,
+ hri_usbdevice_fnum_reg_t mask)
+{
+ return (((Usb *)hw)->DEVICE.FNUM.reg & USB_DEVICE_FNUM_MFNUM(mask)) >> USB_DEVICE_FNUM_MFNUM_Pos;
+}
+
+static inline hri_usbdevice_fnum_reg_t hri_usbdevice_read_FNUM_MFNUM_bf(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.FNUM.reg & USB_DEVICE_FNUM_MFNUM_Msk) >> USB_DEVICE_FNUM_MFNUM_Pos;
+}
+
+static inline hri_usbdevice_fnum_reg_t hri_usbdevice_get_FNUM_FNUM_bf(const void *const hw,
+ hri_usbdevice_fnum_reg_t mask)
+{
+ return (((Usb *)hw)->DEVICE.FNUM.reg & USB_DEVICE_FNUM_FNUM(mask)) >> USB_DEVICE_FNUM_FNUM_Pos;
+}
+
+static inline hri_usbdevice_fnum_reg_t hri_usbdevice_read_FNUM_FNUM_bf(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.FNUM.reg & USB_DEVICE_FNUM_FNUM_Msk) >> USB_DEVICE_FNUM_FNUM_Pos;
+}
+
+static inline hri_usbdevice_fnum_reg_t hri_usbdevice_get_FNUM_reg(const void *const hw, hri_usbdevice_fnum_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.FNUM.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbdevice_fnum_reg_t hri_usbdevice_read_FNUM_reg(const void *const hw)
+{
+ return ((Usb *)hw)->DEVICE.FNUM.reg;
+}
+
+static inline hri_usbhost_flenhigh_reg_t hri_usbhost_get_FLENHIGH_FLENHIGH_bf(const void *const hw,
+ hri_usbhost_flenhigh_reg_t mask)
+{
+ return (((Usb *)hw)->HOST.FLENHIGH.reg & USB_HOST_FLENHIGH_FLENHIGH(mask)) >> USB_HOST_FLENHIGH_FLENHIGH_Pos;
+}
+
+static inline hri_usbhost_flenhigh_reg_t hri_usbhost_read_FLENHIGH_FLENHIGH_bf(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.FLENHIGH.reg & USB_HOST_FLENHIGH_FLENHIGH_Msk) >> USB_HOST_FLENHIGH_FLENHIGH_Pos;
+}
+
+static inline hri_usbhost_flenhigh_reg_t hri_usbhost_get_FLENHIGH_reg(const void *const hw,
+ hri_usbhost_flenhigh_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.FLENHIGH.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbhost_flenhigh_reg_t hri_usbhost_read_FLENHIGH_reg(const void *const hw)
+{
+ return ((Usb *)hw)->HOST.FLENHIGH.reg;
+}
+
+static inline bool hri_usbdevice_get_EPINTSMRY_EPINT0_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT0) >> USB_DEVICE_EPINTSMRY_EPINT0_Pos;
+}
+
+static inline bool hri_usbdevice_get_EPINTSMRY_EPINT1_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT1) >> USB_DEVICE_EPINTSMRY_EPINT1_Pos;
+}
+
+static inline bool hri_usbdevice_get_EPINTSMRY_EPINT2_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT2) >> USB_DEVICE_EPINTSMRY_EPINT2_Pos;
+}
+
+static inline bool hri_usbdevice_get_EPINTSMRY_EPINT3_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT3) >> USB_DEVICE_EPINTSMRY_EPINT3_Pos;
+}
+
+static inline bool hri_usbdevice_get_EPINTSMRY_EPINT4_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT4) >> USB_DEVICE_EPINTSMRY_EPINT4_Pos;
+}
+
+static inline bool hri_usbdevice_get_EPINTSMRY_EPINT5_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT5) >> USB_DEVICE_EPINTSMRY_EPINT5_Pos;
+}
+
+static inline bool hri_usbdevice_get_EPINTSMRY_EPINT6_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT6) >> USB_DEVICE_EPINTSMRY_EPINT6_Pos;
+}
+
+static inline bool hri_usbdevice_get_EPINTSMRY_EPINT7_bit(const void *const hw)
+{
+ return (((Usb *)hw)->DEVICE.EPINTSMRY.reg & USB_DEVICE_EPINTSMRY_EPINT7) >> USB_DEVICE_EPINTSMRY_EPINT7_Pos;
+}
+
+static inline hri_usbdevice_epintsmry_reg_t hri_usbdevice_get_EPINTSMRY_reg(const void *const hw,
+ hri_usbdevice_epintsmry_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.EPINTSMRY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbdevice_epintsmry_reg_t hri_usbdevice_read_EPINTSMRY_reg(const void *const hw)
+{
+ return ((Usb *)hw)->DEVICE.EPINTSMRY.reg;
+}
+
+static inline bool hri_usbhost_get_PINTSMRY_EPINT0_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT0) >> USB_HOST_PINTSMRY_EPINT0_Pos;
+}
+
+static inline bool hri_usbhost_get_PINTSMRY_EPINT1_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT1) >> USB_HOST_PINTSMRY_EPINT1_Pos;
+}
+
+static inline bool hri_usbhost_get_PINTSMRY_EPINT2_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT2) >> USB_HOST_PINTSMRY_EPINT2_Pos;
+}
+
+static inline bool hri_usbhost_get_PINTSMRY_EPINT3_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT3) >> USB_HOST_PINTSMRY_EPINT3_Pos;
+}
+
+static inline bool hri_usbhost_get_PINTSMRY_EPINT4_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT4) >> USB_HOST_PINTSMRY_EPINT4_Pos;
+}
+
+static inline bool hri_usbhost_get_PINTSMRY_EPINT5_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT5) >> USB_HOST_PINTSMRY_EPINT5_Pos;
+}
+
+static inline bool hri_usbhost_get_PINTSMRY_EPINT6_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT6) >> USB_HOST_PINTSMRY_EPINT6_Pos;
+}
+
+static inline bool hri_usbhost_get_PINTSMRY_EPINT7_bit(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.PINTSMRY.reg & USB_HOST_PINTSMRY_EPINT7) >> USB_HOST_PINTSMRY_EPINT7_Pos;
+}
+
+static inline hri_usbhost_pintsmry_reg_t hri_usbhost_get_PINTSMRY_reg(const void *const hw,
+ hri_usbhost_pintsmry_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.PINTSMRY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_usbhost_pintsmry_reg_t hri_usbhost_read_PINTSMRY_reg(const void *const hw)
+{
+ return ((Usb *)hw)->HOST.PINTSMRY.reg;
+}
+
+static inline void hri_usb_set_CTRLA_SWRST_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLA.reg |= USB_CTRLA_SWRST;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_SWRST);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usb_get_CTRLA_SWRST_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_SWRST);
+ tmp = ((Usb *)hw)->HOST.CTRLA.reg;
+ tmp = (tmp & USB_CTRLA_SWRST) >> USB_CTRLA_SWRST_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usb_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLA.reg |= USB_CTRLA_ENABLE;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_SWRST | USB_SYNCBUSY_ENABLE);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usb_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_SWRST | USB_SYNCBUSY_ENABLE);
+ tmp = ((Usb *)hw)->HOST.CTRLA.reg;
+ tmp = (tmp & USB_CTRLA_ENABLE) >> USB_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usb_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.CTRLA.reg;
+ tmp &= ~USB_CTRLA_ENABLE;
+ tmp |= value << USB_CTRLA_ENABLE_Pos;
+ ((Usb *)hw)->HOST.CTRLA.reg = tmp;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_SWRST | USB_SYNCBUSY_ENABLE);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLA.reg &= ~USB_CTRLA_ENABLE;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_SWRST | USB_SYNCBUSY_ENABLE);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLA.reg ^= USB_CTRLA_ENABLE;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_SWRST | USB_SYNCBUSY_ENABLE);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_set_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLA.reg |= USB_CTRLA_RUNSTDBY;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usb_get_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.CTRLA.reg;
+ tmp = (tmp & USB_CTRLA_RUNSTDBY) >> USB_CTRLA_RUNSTDBY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usb_write_CTRLA_RUNSTDBY_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.CTRLA.reg;
+ tmp &= ~USB_CTRLA_RUNSTDBY;
+ tmp |= value << USB_CTRLA_RUNSTDBY_Pos;
+ ((Usb *)hw)->HOST.CTRLA.reg = tmp;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_clear_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLA.reg &= ~USB_CTRLA_RUNSTDBY;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_toggle_CTRLA_RUNSTDBY_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLA.reg ^= USB_CTRLA_RUNSTDBY;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_set_CTRLA_MODE_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLA.reg |= USB_CTRLA_MODE;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usb_get_CTRLA_MODE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.CTRLA.reg;
+ tmp = (tmp & USB_CTRLA_MODE) >> USB_CTRLA_MODE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usb_write_CTRLA_MODE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.CTRLA.reg;
+ tmp &= ~USB_CTRLA_MODE;
+ tmp |= value << USB_CTRLA_MODE_Pos;
+ ((Usb *)hw)->HOST.CTRLA.reg = tmp;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_clear_CTRLA_MODE_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLA.reg &= ~USB_CTRLA_MODE;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_toggle_CTRLA_MODE_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLA.reg ^= USB_CTRLA_MODE;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_set_CTRLA_reg(const void *const hw, hri_usb_ctrla_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLA.reg |= mask;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_ctrla_reg_t hri_usb_get_CTRLA_reg(const void *const hw, hri_usb_ctrla_reg_t mask)
+{
+ uint8_t tmp;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK);
+ tmp = ((Usb *)hw)->HOST.CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usb_write_CTRLA_reg(const void *const hw, hri_usb_ctrla_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLA.reg = data;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_clear_CTRLA_reg(const void *const hw, hri_usb_ctrla_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLA.reg &= ~mask;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_toggle_CTRLA_reg(const void *const hw, hri_usb_ctrla_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLA.reg ^= mask;
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_ctrla_reg_t hri_usb_read_CTRLA_reg(const void *const hw)
+{
+ hri_usb_wait_for_sync(hw, USB_SYNCBUSY_MASK);
+ return ((Usb *)hw)->HOST.CTRLA.reg;
+}
+
+static inline void hri_usb_set_QOSCTRL_CQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.QOSCTRL.reg |= USB_QOSCTRL_CQOS(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_qosctrl_reg_t hri_usb_get_QOSCTRL_CQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.QOSCTRL.reg;
+ tmp = (tmp & USB_QOSCTRL_CQOS(mask)) >> USB_QOSCTRL_CQOS_Pos;
+ return tmp;
+}
+
+static inline void hri_usb_write_QOSCTRL_CQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t data)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.QOSCTRL.reg;
+ tmp &= ~USB_QOSCTRL_CQOS_Msk;
+ tmp |= USB_QOSCTRL_CQOS(data);
+ ((Usb *)hw)->HOST.QOSCTRL.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_clear_QOSCTRL_CQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.QOSCTRL.reg &= ~USB_QOSCTRL_CQOS(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_toggle_QOSCTRL_CQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.QOSCTRL.reg ^= USB_QOSCTRL_CQOS(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_qosctrl_reg_t hri_usb_read_QOSCTRL_CQOS_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.QOSCTRL.reg;
+ tmp = (tmp & USB_QOSCTRL_CQOS_Msk) >> USB_QOSCTRL_CQOS_Pos;
+ return tmp;
+}
+
+static inline void hri_usb_set_QOSCTRL_DQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.QOSCTRL.reg |= USB_QOSCTRL_DQOS(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_qosctrl_reg_t hri_usb_get_QOSCTRL_DQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.QOSCTRL.reg;
+ tmp = (tmp & USB_QOSCTRL_DQOS(mask)) >> USB_QOSCTRL_DQOS_Pos;
+ return tmp;
+}
+
+static inline void hri_usb_write_QOSCTRL_DQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t data)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.QOSCTRL.reg;
+ tmp &= ~USB_QOSCTRL_DQOS_Msk;
+ tmp |= USB_QOSCTRL_DQOS(data);
+ ((Usb *)hw)->HOST.QOSCTRL.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_clear_QOSCTRL_DQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.QOSCTRL.reg &= ~USB_QOSCTRL_DQOS(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_toggle_QOSCTRL_DQOS_bf(const void *const hw, hri_usb_qosctrl_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.QOSCTRL.reg ^= USB_QOSCTRL_DQOS(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_qosctrl_reg_t hri_usb_read_QOSCTRL_DQOS_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.QOSCTRL.reg;
+ tmp = (tmp & USB_QOSCTRL_DQOS_Msk) >> USB_QOSCTRL_DQOS_Pos;
+ return tmp;
+}
+
+static inline void hri_usb_set_QOSCTRL_reg(const void *const hw, hri_usb_qosctrl_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.QOSCTRL.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_qosctrl_reg_t hri_usb_get_QOSCTRL_reg(const void *const hw, hri_usb_qosctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.QOSCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usb_write_QOSCTRL_reg(const void *const hw, hri_usb_qosctrl_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.QOSCTRL.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_clear_QOSCTRL_reg(const void *const hw, hri_usb_qosctrl_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.QOSCTRL.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_toggle_QOSCTRL_reg(const void *const hw, hri_usb_qosctrl_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.QOSCTRL.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_qosctrl_reg_t hri_usb_read_QOSCTRL_reg(const void *const hw)
+{
+ return ((Usb *)hw)->HOST.QOSCTRL.reg;
+}
+
+static inline void hri_usbdevice_set_CTRLB_DETACH_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_DETACH;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbdevice_get_CTRLB_DETACH_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp = (tmp & USB_DEVICE_CTRLB_DETACH) >> USB_DEVICE_CTRLB_DETACH_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbdevice_write_CTRLB_DETACH_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp &= ~USB_DEVICE_CTRLB_DETACH;
+ tmp |= value << USB_DEVICE_CTRLB_DETACH_Pos;
+ ((Usb *)hw)->DEVICE.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_CTRLB_DETACH_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_DETACH;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_CTRLB_DETACH_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_DETACH;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_set_CTRLB_UPRSM_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_UPRSM;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbdevice_get_CTRLB_UPRSM_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp = (tmp & USB_DEVICE_CTRLB_UPRSM) >> USB_DEVICE_CTRLB_UPRSM_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbdevice_write_CTRLB_UPRSM_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp &= ~USB_DEVICE_CTRLB_UPRSM;
+ tmp |= value << USB_DEVICE_CTRLB_UPRSM_Pos;
+ ((Usb *)hw)->DEVICE.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_CTRLB_UPRSM_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_UPRSM;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_CTRLB_UPRSM_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_UPRSM;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_set_CTRLB_NREPLY_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_NREPLY;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbdevice_get_CTRLB_NREPLY_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp = (tmp & USB_DEVICE_CTRLB_NREPLY) >> USB_DEVICE_CTRLB_NREPLY_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbdevice_write_CTRLB_NREPLY_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp &= ~USB_DEVICE_CTRLB_NREPLY;
+ tmp |= value << USB_DEVICE_CTRLB_NREPLY_Pos;
+ ((Usb *)hw)->DEVICE.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_CTRLB_NREPLY_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_NREPLY;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_CTRLB_NREPLY_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_NREPLY;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_set_CTRLB_TSTJ_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_TSTJ;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbdevice_get_CTRLB_TSTJ_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp = (tmp & USB_DEVICE_CTRLB_TSTJ) >> USB_DEVICE_CTRLB_TSTJ_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbdevice_write_CTRLB_TSTJ_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp &= ~USB_DEVICE_CTRLB_TSTJ;
+ tmp |= value << USB_DEVICE_CTRLB_TSTJ_Pos;
+ ((Usb *)hw)->DEVICE.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_CTRLB_TSTJ_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_TSTJ;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_CTRLB_TSTJ_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_TSTJ;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_set_CTRLB_TSTK_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_TSTK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbdevice_get_CTRLB_TSTK_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp = (tmp & USB_DEVICE_CTRLB_TSTK) >> USB_DEVICE_CTRLB_TSTK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbdevice_write_CTRLB_TSTK_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp &= ~USB_DEVICE_CTRLB_TSTK;
+ tmp |= value << USB_DEVICE_CTRLB_TSTK_Pos;
+ ((Usb *)hw)->DEVICE.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_CTRLB_TSTK_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_TSTK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_CTRLB_TSTK_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_TSTK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_set_CTRLB_TSTPCKT_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_TSTPCKT;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbdevice_get_CTRLB_TSTPCKT_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp = (tmp & USB_DEVICE_CTRLB_TSTPCKT) >> USB_DEVICE_CTRLB_TSTPCKT_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbdevice_write_CTRLB_TSTPCKT_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp &= ~USB_DEVICE_CTRLB_TSTPCKT;
+ tmp |= value << USB_DEVICE_CTRLB_TSTPCKT_Pos;
+ ((Usb *)hw)->DEVICE.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_CTRLB_TSTPCKT_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_TSTPCKT;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_CTRLB_TSTPCKT_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_TSTPCKT;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_set_CTRLB_OPMODE2_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_OPMODE2;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbdevice_get_CTRLB_OPMODE2_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp = (tmp & USB_DEVICE_CTRLB_OPMODE2) >> USB_DEVICE_CTRLB_OPMODE2_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbdevice_write_CTRLB_OPMODE2_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp &= ~USB_DEVICE_CTRLB_OPMODE2;
+ tmp |= value << USB_DEVICE_CTRLB_OPMODE2_Pos;
+ ((Usb *)hw)->DEVICE.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_CTRLB_OPMODE2_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_OPMODE2;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_CTRLB_OPMODE2_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_OPMODE2;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_set_CTRLB_GNAK_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_GNAK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbdevice_get_CTRLB_GNAK_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp = (tmp & USB_DEVICE_CTRLB_GNAK) >> USB_DEVICE_CTRLB_GNAK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbdevice_write_CTRLB_GNAK_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp &= ~USB_DEVICE_CTRLB_GNAK;
+ tmp |= value << USB_DEVICE_CTRLB_GNAK_Pos;
+ ((Usb *)hw)->DEVICE.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_CTRLB_GNAK_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_GNAK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_CTRLB_GNAK_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_GNAK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_set_CTRLB_SPDCONF_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_SPDCONF(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_ctrlb_reg_t hri_usbdevice_get_CTRLB_SPDCONF_bf(const void *const hw,
+ hri_usbdevice_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp = (tmp & USB_DEVICE_CTRLB_SPDCONF(mask)) >> USB_DEVICE_CTRLB_SPDCONF_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevice_write_CTRLB_SPDCONF_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp &= ~USB_DEVICE_CTRLB_SPDCONF_Msk;
+ tmp |= USB_DEVICE_CTRLB_SPDCONF(data);
+ ((Usb *)hw)->DEVICE.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_CTRLB_SPDCONF_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_SPDCONF(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_CTRLB_SPDCONF_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_SPDCONF(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_ctrlb_reg_t hri_usbdevice_read_CTRLB_SPDCONF_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp = (tmp & USB_DEVICE_CTRLB_SPDCONF_Msk) >> USB_DEVICE_CTRLB_SPDCONF_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevice_set_CTRLB_LPMHDSK_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg |= USB_DEVICE_CTRLB_LPMHDSK(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_ctrlb_reg_t hri_usbdevice_get_CTRLB_LPMHDSK_bf(const void *const hw,
+ hri_usbdevice_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp = (tmp & USB_DEVICE_CTRLB_LPMHDSK(mask)) >> USB_DEVICE_CTRLB_LPMHDSK_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevice_write_CTRLB_LPMHDSK_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp &= ~USB_DEVICE_CTRLB_LPMHDSK_Msk;
+ tmp |= USB_DEVICE_CTRLB_LPMHDSK(data);
+ ((Usb *)hw)->DEVICE.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_CTRLB_LPMHDSK_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_LPMHDSK(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_CTRLB_LPMHDSK_bf(const void *const hw, hri_usbdevice_ctrlb_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg ^= USB_DEVICE_CTRLB_LPMHDSK(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_ctrlb_reg_t hri_usbdevice_read_CTRLB_LPMHDSK_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp = (tmp & USB_DEVICE_CTRLB_LPMHDSK_Msk) >> USB_DEVICE_CTRLB_LPMHDSK_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevice_set_CTRLB_reg(const void *const hw, hri_usbdevice_ctrlb_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_ctrlb_reg_t hri_usbdevice_get_CTRLB_reg(const void *const hw,
+ hri_usbdevice_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.CTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbdevice_write_CTRLB_reg(const void *const hw, hri_usbdevice_ctrlb_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_CTRLB_reg(const void *const hw, hri_usbdevice_ctrlb_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_CTRLB_reg(const void *const hw, hri_usbdevice_ctrlb_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.CTRLB.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_ctrlb_reg_t hri_usbdevice_read_CTRLB_reg(const void *const hw)
+{
+ return ((Usb *)hw)->DEVICE.CTRLB.reg;
+}
+
+static inline void hri_usbhost_set_CTRLB_RESUME_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_RESUME;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhost_get_CTRLB_RESUME_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp = (tmp & USB_HOST_CTRLB_RESUME) >> USB_HOST_CTRLB_RESUME_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbhost_write_CTRLB_RESUME_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp &= ~USB_HOST_CTRLB_RESUME;
+ tmp |= value << USB_HOST_CTRLB_RESUME_Pos;
+ ((Usb *)hw)->HOST.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_CTRLB_RESUME_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_RESUME;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_CTRLB_RESUME_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_RESUME;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_set_CTRLB_AUTORESUME_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_AUTORESUME;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhost_get_CTRLB_AUTORESUME_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp = (tmp & USB_HOST_CTRLB_AUTORESUME) >> USB_HOST_CTRLB_AUTORESUME_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbhost_write_CTRLB_AUTORESUME_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp &= ~USB_HOST_CTRLB_AUTORESUME;
+ tmp |= value << USB_HOST_CTRLB_AUTORESUME_Pos;
+ ((Usb *)hw)->HOST.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_CTRLB_AUTORESUME_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_AUTORESUME;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_CTRLB_AUTORESUME_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_AUTORESUME;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_set_CTRLB_TSTJ_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_TSTJ;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhost_get_CTRLB_TSTJ_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp = (tmp & USB_HOST_CTRLB_TSTJ) >> USB_HOST_CTRLB_TSTJ_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbhost_write_CTRLB_TSTJ_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp &= ~USB_HOST_CTRLB_TSTJ;
+ tmp |= value << USB_HOST_CTRLB_TSTJ_Pos;
+ ((Usb *)hw)->HOST.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_CTRLB_TSTJ_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_TSTJ;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_CTRLB_TSTJ_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_TSTJ;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_set_CTRLB_TSTK_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_TSTK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhost_get_CTRLB_TSTK_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp = (tmp & USB_HOST_CTRLB_TSTK) >> USB_HOST_CTRLB_TSTK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbhost_write_CTRLB_TSTK_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp &= ~USB_HOST_CTRLB_TSTK;
+ tmp |= value << USB_HOST_CTRLB_TSTK_Pos;
+ ((Usb *)hw)->HOST.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_CTRLB_TSTK_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_TSTK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_CTRLB_TSTK_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_TSTK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_set_CTRLB_SOFE_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_SOFE;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhost_get_CTRLB_SOFE_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp = (tmp & USB_HOST_CTRLB_SOFE) >> USB_HOST_CTRLB_SOFE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbhost_write_CTRLB_SOFE_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp &= ~USB_HOST_CTRLB_SOFE;
+ tmp |= value << USB_HOST_CTRLB_SOFE_Pos;
+ ((Usb *)hw)->HOST.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_CTRLB_SOFE_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_SOFE;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_CTRLB_SOFE_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_SOFE;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_set_CTRLB_BUSRESET_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_BUSRESET;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhost_get_CTRLB_BUSRESET_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp = (tmp & USB_HOST_CTRLB_BUSRESET) >> USB_HOST_CTRLB_BUSRESET_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbhost_write_CTRLB_BUSRESET_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp &= ~USB_HOST_CTRLB_BUSRESET;
+ tmp |= value << USB_HOST_CTRLB_BUSRESET_Pos;
+ ((Usb *)hw)->HOST.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_CTRLB_BUSRESET_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_BUSRESET;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_CTRLB_BUSRESET_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_BUSRESET;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_set_CTRLB_VBUSOK_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_VBUSOK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhost_get_CTRLB_VBUSOK_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp = (tmp & USB_HOST_CTRLB_VBUSOK) >> USB_HOST_CTRLB_VBUSOK_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbhost_write_CTRLB_VBUSOK_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp &= ~USB_HOST_CTRLB_VBUSOK;
+ tmp |= value << USB_HOST_CTRLB_VBUSOK_Pos;
+ ((Usb *)hw)->HOST.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_CTRLB_VBUSOK_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_VBUSOK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_CTRLB_VBUSOK_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_VBUSOK;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_set_CTRLB_L1RESUME_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_L1RESUME;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhost_get_CTRLB_L1RESUME_bit(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp = (tmp & USB_HOST_CTRLB_L1RESUME) >> USB_HOST_CTRLB_L1RESUME_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbhost_write_CTRLB_L1RESUME_bit(const void *const hw, bool value)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp &= ~USB_HOST_CTRLB_L1RESUME;
+ tmp |= value << USB_HOST_CTRLB_L1RESUME_Pos;
+ ((Usb *)hw)->HOST.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_CTRLB_L1RESUME_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_L1RESUME;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_CTRLB_L1RESUME_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_L1RESUME;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_set_CTRLB_SPDCONF_bf(const void *const hw, hri_usbhost_ctrlb_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg |= USB_HOST_CTRLB_SPDCONF(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_ctrlb_reg_t hri_usbhost_get_CTRLB_SPDCONF_bf(const void *const hw,
+ hri_usbhost_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp = (tmp & USB_HOST_CTRLB_SPDCONF(mask)) >> USB_HOST_CTRLB_SPDCONF_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhost_write_CTRLB_SPDCONF_bf(const void *const hw, hri_usbhost_ctrlb_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp &= ~USB_HOST_CTRLB_SPDCONF_Msk;
+ tmp |= USB_HOST_CTRLB_SPDCONF(data);
+ ((Usb *)hw)->HOST.CTRLB.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_CTRLB_SPDCONF_bf(const void *const hw, hri_usbhost_ctrlb_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg &= ~USB_HOST_CTRLB_SPDCONF(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_CTRLB_SPDCONF_bf(const void *const hw, hri_usbhost_ctrlb_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg ^= USB_HOST_CTRLB_SPDCONF(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_ctrlb_reg_t hri_usbhost_read_CTRLB_SPDCONF_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp = (tmp & USB_HOST_CTRLB_SPDCONF_Msk) >> USB_HOST_CTRLB_SPDCONF_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhost_set_CTRLB_reg(const void *const hw, hri_usbhost_ctrlb_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_ctrlb_reg_t hri_usbhost_get_CTRLB_reg(const void *const hw, hri_usbhost_ctrlb_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.CTRLB.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhost_write_CTRLB_reg(const void *const hw, hri_usbhost_ctrlb_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_CTRLB_reg(const void *const hw, hri_usbhost_ctrlb_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_CTRLB_reg(const void *const hw, hri_usbhost_ctrlb_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.CTRLB.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_ctrlb_reg_t hri_usbhost_read_CTRLB_reg(const void *const hw)
+{
+ return ((Usb *)hw)->HOST.CTRLB.reg;
+}
+
+static inline void hri_usbdevice_set_DADD_ADDEN_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DADD.reg |= USB_DEVICE_DADD_ADDEN;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbdevice_get_DADD_ADDEN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.DADD.reg;
+ tmp = (tmp & USB_DEVICE_DADD_ADDEN) >> USB_DEVICE_DADD_ADDEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbdevice_write_DADD_ADDEN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->DEVICE.DADD.reg;
+ tmp &= ~USB_DEVICE_DADD_ADDEN;
+ tmp |= value << USB_DEVICE_DADD_ADDEN_Pos;
+ ((Usb *)hw)->DEVICE.DADD.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_DADD_ADDEN_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DADD.reg &= ~USB_DEVICE_DADD_ADDEN;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_DADD_ADDEN_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DADD.reg ^= USB_DEVICE_DADD_ADDEN;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_set_DADD_DADD_bf(const void *const hw, hri_usbdevice_dadd_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DADD.reg |= USB_DEVICE_DADD_DADD(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_dadd_reg_t hri_usbdevice_get_DADD_DADD_bf(const void *const hw,
+ hri_usbdevice_dadd_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.DADD.reg;
+ tmp = (tmp & USB_DEVICE_DADD_DADD(mask)) >> USB_DEVICE_DADD_DADD_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevice_write_DADD_DADD_bf(const void *const hw, hri_usbdevice_dadd_reg_t data)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->DEVICE.DADD.reg;
+ tmp &= ~USB_DEVICE_DADD_DADD_Msk;
+ tmp |= USB_DEVICE_DADD_DADD(data);
+ ((Usb *)hw)->DEVICE.DADD.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_DADD_DADD_bf(const void *const hw, hri_usbdevice_dadd_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DADD.reg &= ~USB_DEVICE_DADD_DADD(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_DADD_DADD_bf(const void *const hw, hri_usbdevice_dadd_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DADD.reg ^= USB_DEVICE_DADD_DADD(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_dadd_reg_t hri_usbdevice_read_DADD_DADD_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.DADD.reg;
+ tmp = (tmp & USB_DEVICE_DADD_DADD_Msk) >> USB_DEVICE_DADD_DADD_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevice_set_DADD_reg(const void *const hw, hri_usbdevice_dadd_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DADD.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_dadd_reg_t hri_usbdevice_get_DADD_reg(const void *const hw, hri_usbdevice_dadd_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->DEVICE.DADD.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbdevice_write_DADD_reg(const void *const hw, hri_usbdevice_dadd_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DADD.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_clear_DADD_reg(const void *const hw, hri_usbdevice_dadd_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DADD.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevice_toggle_DADD_reg(const void *const hw, hri_usbdevice_dadd_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->DEVICE.DADD.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdevice_dadd_reg_t hri_usbdevice_read_DADD_reg(const void *const hw)
+{
+ return ((Usb *)hw)->DEVICE.DADD.reg;
+}
+
+static inline void hri_usbhost_set_HSOFC_FLENCE_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HSOFC.reg |= USB_HOST_HSOFC_FLENCE;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbhost_get_HSOFC_FLENCE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HSOFC.reg;
+ tmp = (tmp & USB_HOST_HSOFC_FLENCE) >> USB_HOST_HSOFC_FLENCE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbhost_write_HSOFC_FLENCE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.HSOFC.reg;
+ tmp &= ~USB_HOST_HSOFC_FLENCE;
+ tmp |= value << USB_HOST_HSOFC_FLENCE_Pos;
+ ((Usb *)hw)->HOST.HSOFC.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_HSOFC_FLENCE_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HSOFC.reg &= ~USB_HOST_HSOFC_FLENCE;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_HSOFC_FLENCE_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HSOFC.reg ^= USB_HOST_HSOFC_FLENCE;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_set_HSOFC_FLENC_bf(const void *const hw, hri_usbhost_hsofc_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HSOFC.reg |= USB_HOST_HSOFC_FLENC(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_hsofc_reg_t hri_usbhost_get_HSOFC_FLENC_bf(const void *const hw, hri_usbhost_hsofc_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HSOFC.reg;
+ tmp = (tmp & USB_HOST_HSOFC_FLENC(mask)) >> USB_HOST_HSOFC_FLENC_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhost_write_HSOFC_FLENC_bf(const void *const hw, hri_usbhost_hsofc_reg_t data)
+{
+ uint8_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.HSOFC.reg;
+ tmp &= ~USB_HOST_HSOFC_FLENC_Msk;
+ tmp |= USB_HOST_HSOFC_FLENC(data);
+ ((Usb *)hw)->HOST.HSOFC.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_HSOFC_FLENC_bf(const void *const hw, hri_usbhost_hsofc_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HSOFC.reg &= ~USB_HOST_HSOFC_FLENC(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_HSOFC_FLENC_bf(const void *const hw, hri_usbhost_hsofc_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HSOFC.reg ^= USB_HOST_HSOFC_FLENC(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_hsofc_reg_t hri_usbhost_read_HSOFC_FLENC_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HSOFC.reg;
+ tmp = (tmp & USB_HOST_HSOFC_FLENC_Msk) >> USB_HOST_HSOFC_FLENC_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhost_set_HSOFC_reg(const void *const hw, hri_usbhost_hsofc_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HSOFC.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_hsofc_reg_t hri_usbhost_get_HSOFC_reg(const void *const hw, hri_usbhost_hsofc_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.HSOFC.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhost_write_HSOFC_reg(const void *const hw, hri_usbhost_hsofc_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HSOFC.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_HSOFC_reg(const void *const hw, hri_usbhost_hsofc_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HSOFC.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_HSOFC_reg(const void *const hw, hri_usbhost_hsofc_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.HSOFC.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_hsofc_reg_t hri_usbhost_read_HSOFC_reg(const void *const hw)
+{
+ return ((Usb *)hw)->HOST.HSOFC.reg;
+}
+
+static inline void hri_usbhost_set_FNUM_MFNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.FNUM.reg |= USB_HOST_FNUM_MFNUM(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_fnum_reg_t hri_usbhost_get_FNUM_MFNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.FNUM.reg;
+ tmp = (tmp & USB_HOST_FNUM_MFNUM(mask)) >> USB_HOST_FNUM_MFNUM_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhost_write_FNUM_MFNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.FNUM.reg;
+ tmp &= ~USB_HOST_FNUM_MFNUM_Msk;
+ tmp |= USB_HOST_FNUM_MFNUM(data);
+ ((Usb *)hw)->HOST.FNUM.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_FNUM_MFNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.FNUM.reg &= ~USB_HOST_FNUM_MFNUM(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_FNUM_MFNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.FNUM.reg ^= USB_HOST_FNUM_MFNUM(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_fnum_reg_t hri_usbhost_read_FNUM_MFNUM_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.FNUM.reg;
+ tmp = (tmp & USB_HOST_FNUM_MFNUM_Msk) >> USB_HOST_FNUM_MFNUM_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhost_set_FNUM_FNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.FNUM.reg |= USB_HOST_FNUM_FNUM(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_fnum_reg_t hri_usbhost_get_FNUM_FNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.FNUM.reg;
+ tmp = (tmp & USB_HOST_FNUM_FNUM(mask)) >> USB_HOST_FNUM_FNUM_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhost_write_FNUM_FNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.FNUM.reg;
+ tmp &= ~USB_HOST_FNUM_FNUM_Msk;
+ tmp |= USB_HOST_FNUM_FNUM(data);
+ ((Usb *)hw)->HOST.FNUM.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_FNUM_FNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.FNUM.reg &= ~USB_HOST_FNUM_FNUM(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_FNUM_FNUM_bf(const void *const hw, hri_usbhost_fnum_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.FNUM.reg ^= USB_HOST_FNUM_FNUM(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_fnum_reg_t hri_usbhost_read_FNUM_FNUM_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.FNUM.reg;
+ tmp = (tmp & USB_HOST_FNUM_FNUM_Msk) >> USB_HOST_FNUM_FNUM_Pos;
+ return tmp;
+}
+
+static inline void hri_usbhost_set_FNUM_reg(const void *const hw, hri_usbhost_fnum_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.FNUM.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_fnum_reg_t hri_usbhost_get_FNUM_reg(const void *const hw, hri_usbhost_fnum_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.FNUM.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhost_write_FNUM_reg(const void *const hw, hri_usbhost_fnum_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.FNUM.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_clear_FNUM_reg(const void *const hw, hri_usbhost_fnum_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.FNUM.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbhost_toggle_FNUM_reg(const void *const hw, hri_usbhost_fnum_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.FNUM.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_fnum_reg_t hri_usbhost_read_FNUM_reg(const void *const hw)
+{
+ return ((Usb *)hw)->HOST.FNUM.reg;
+}
+
+static inline void hri_usb_set_DESCADD_DESCADD_bf(const void *const hw, hri_usb_descadd_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.DESCADD.reg |= USB_DESCADD_DESCADD(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_descadd_reg_t hri_usb_get_DESCADD_DESCADD_bf(const void *const hw, hri_usb_descadd_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Usb *)hw)->HOST.DESCADD.reg;
+ tmp = (tmp & USB_DESCADD_DESCADD(mask)) >> USB_DESCADD_DESCADD_Pos;
+ return tmp;
+}
+
+static inline void hri_usb_write_DESCADD_DESCADD_bf(const void *const hw, hri_usb_descadd_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.DESCADD.reg;
+ tmp &= ~USB_DESCADD_DESCADD_Msk;
+ tmp |= USB_DESCADD_DESCADD(data);
+ ((Usb *)hw)->HOST.DESCADD.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_clear_DESCADD_DESCADD_bf(const void *const hw, hri_usb_descadd_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.DESCADD.reg &= ~USB_DESCADD_DESCADD(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_toggle_DESCADD_DESCADD_bf(const void *const hw, hri_usb_descadd_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.DESCADD.reg ^= USB_DESCADD_DESCADD(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_descadd_reg_t hri_usb_read_DESCADD_DESCADD_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((Usb *)hw)->HOST.DESCADD.reg;
+ tmp = (tmp & USB_DESCADD_DESCADD_Msk) >> USB_DESCADD_DESCADD_Pos;
+ return tmp;
+}
+
+static inline void hri_usb_set_DESCADD_reg(const void *const hw, hri_usb_descadd_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.DESCADD.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_descadd_reg_t hri_usb_get_DESCADD_reg(const void *const hw, hri_usb_descadd_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Usb *)hw)->HOST.DESCADD.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usb_write_DESCADD_reg(const void *const hw, hri_usb_descadd_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.DESCADD.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_clear_DESCADD_reg(const void *const hw, hri_usb_descadd_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.DESCADD.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_toggle_DESCADD_reg(const void *const hw, hri_usb_descadd_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.DESCADD.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_descadd_reg_t hri_usb_read_DESCADD_reg(const void *const hw)
+{
+ return ((Usb *)hw)->HOST.DESCADD.reg;
+}
+
+static inline void hri_usb_set_PADCAL_TRANSP_bf(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.PADCAL.reg |= USB_PADCAL_TRANSP(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_padcal_reg_t hri_usb_get_PADCAL_TRANSP_bf(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.PADCAL.reg;
+ tmp = (tmp & USB_PADCAL_TRANSP(mask)) >> USB_PADCAL_TRANSP_Pos;
+ return tmp;
+}
+
+static inline void hri_usb_write_PADCAL_TRANSP_bf(const void *const hw, hri_usb_padcal_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.PADCAL.reg;
+ tmp &= ~USB_PADCAL_TRANSP_Msk;
+ tmp |= USB_PADCAL_TRANSP(data);
+ ((Usb *)hw)->HOST.PADCAL.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_clear_PADCAL_TRANSP_bf(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.PADCAL.reg &= ~USB_PADCAL_TRANSP(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_toggle_PADCAL_TRANSP_bf(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.PADCAL.reg ^= USB_PADCAL_TRANSP(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_padcal_reg_t hri_usb_read_PADCAL_TRANSP_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.PADCAL.reg;
+ tmp = (tmp & USB_PADCAL_TRANSP_Msk) >> USB_PADCAL_TRANSP_Pos;
+ return tmp;
+}
+
+static inline void hri_usb_set_PADCAL_TRANSN_bf(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.PADCAL.reg |= USB_PADCAL_TRANSN(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_padcal_reg_t hri_usb_get_PADCAL_TRANSN_bf(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.PADCAL.reg;
+ tmp = (tmp & USB_PADCAL_TRANSN(mask)) >> USB_PADCAL_TRANSN_Pos;
+ return tmp;
+}
+
+static inline void hri_usb_write_PADCAL_TRANSN_bf(const void *const hw, hri_usb_padcal_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.PADCAL.reg;
+ tmp &= ~USB_PADCAL_TRANSN_Msk;
+ tmp |= USB_PADCAL_TRANSN(data);
+ ((Usb *)hw)->HOST.PADCAL.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_clear_PADCAL_TRANSN_bf(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.PADCAL.reg &= ~USB_PADCAL_TRANSN(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_toggle_PADCAL_TRANSN_bf(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.PADCAL.reg ^= USB_PADCAL_TRANSN(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_padcal_reg_t hri_usb_read_PADCAL_TRANSN_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.PADCAL.reg;
+ tmp = (tmp & USB_PADCAL_TRANSN_Msk) >> USB_PADCAL_TRANSN_Pos;
+ return tmp;
+}
+
+static inline void hri_usb_set_PADCAL_TRIM_bf(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.PADCAL.reg |= USB_PADCAL_TRIM(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_padcal_reg_t hri_usb_get_PADCAL_TRIM_bf(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.PADCAL.reg;
+ tmp = (tmp & USB_PADCAL_TRIM(mask)) >> USB_PADCAL_TRIM_Pos;
+ return tmp;
+}
+
+static inline void hri_usb_write_PADCAL_TRIM_bf(const void *const hw, hri_usb_padcal_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((Usb *)hw)->HOST.PADCAL.reg;
+ tmp &= ~USB_PADCAL_TRIM_Msk;
+ tmp |= USB_PADCAL_TRIM(data);
+ ((Usb *)hw)->HOST.PADCAL.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_clear_PADCAL_TRIM_bf(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.PADCAL.reg &= ~USB_PADCAL_TRIM(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_toggle_PADCAL_TRIM_bf(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.PADCAL.reg ^= USB_PADCAL_TRIM(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_padcal_reg_t hri_usb_read_PADCAL_TRIM_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.PADCAL.reg;
+ tmp = (tmp & USB_PADCAL_TRIM_Msk) >> USB_PADCAL_TRIM_Pos;
+ return tmp;
+}
+
+static inline void hri_usb_set_PADCAL_reg(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.PADCAL.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_padcal_reg_t hri_usb_get_PADCAL_reg(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((Usb *)hw)->HOST.PADCAL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usb_write_PADCAL_reg(const void *const hw, hri_usb_padcal_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.PADCAL.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_clear_PADCAL_reg(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.PADCAL.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usb_toggle_PADCAL_reg(const void *const hw, hri_usb_padcal_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.PADCAL.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usb_padcal_reg_t hri_usb_read_PADCAL_reg(const void *const hw)
+{
+ return ((Usb *)hw)->HOST.PADCAL.reg;
+}
+
+static inline hri_usbhost_status_reg_t hri_usbhost_get_STATUS_SPEED_bf(const void *const hw,
+ hri_usbhost_status_reg_t mask)
+{
+ return (((Usb *)hw)->HOST.STATUS.reg & USB_HOST_STATUS_SPEED(mask)) >> USB_HOST_STATUS_SPEED_Pos;
+}
+
+static inline void hri_usbhost_clear_STATUS_SPEED_bf(const void *const hw, hri_usbhost_status_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.STATUS.reg = USB_HOST_STATUS_SPEED(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_status_reg_t hri_usbhost_read_STATUS_SPEED_bf(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.STATUS.reg & USB_HOST_STATUS_SPEED_Msk) >> USB_HOST_STATUS_SPEED_Pos;
+}
+
+static inline hri_usbhost_status_reg_t hri_usbhost_get_STATUS_LINESTATE_bf(const void *const hw,
+ hri_usbhost_status_reg_t mask)
+{
+ return (((Usb *)hw)->HOST.STATUS.reg & USB_HOST_STATUS_LINESTATE(mask)) >> USB_HOST_STATUS_LINESTATE_Pos;
+}
+
+static inline void hri_usbhost_clear_STATUS_LINESTATE_bf(const void *const hw, hri_usbhost_status_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.STATUS.reg = USB_HOST_STATUS_LINESTATE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_status_reg_t hri_usbhost_read_STATUS_LINESTATE_bf(const void *const hw)
+{
+ return (((Usb *)hw)->HOST.STATUS.reg & USB_HOST_STATUS_LINESTATE_Msk) >> USB_HOST_STATUS_LINESTATE_Pos;
+}
+
+static inline hri_usbhost_status_reg_t hri_usbhost_get_STATUS_reg(const void *const hw, hri_usbhost_status_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Usb *)hw)->HOST.STATUS.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbhost_clear_STATUS_reg(const void *const hw, hri_usbhost_status_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((Usb *)hw)->HOST.STATUS.reg = mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbhost_status_reg_t hri_usbhost_read_STATUS_reg(const void *const hw)
+{
+ return ((Usb *)hw)->HOST.STATUS.reg;
+}
+
+static inline void hri_usbdevicedescbank_set_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->ADDR.reg |= USB_DEVICE_ADDR_ADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_addr_reg_t hri_usbdevicedescbank_get_ADDR_ADDR_bf(const void *const hw,
+ hri_usbdesc_bank_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->ADDR.reg;
+ tmp = (tmp & USB_DEVICE_ADDR_ADDR(mask)) >> USB_DEVICE_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_write_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDeviceDescBank *)hw)->ADDR.reg;
+ tmp &= ~USB_DEVICE_ADDR_ADDR_Msk;
+ tmp |= USB_DEVICE_ADDR_ADDR(data);
+ ((UsbDeviceDescBank *)hw)->ADDR.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_clear_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->ADDR.reg &= ~USB_DEVICE_ADDR_ADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_toggle_ADDR_ADDR_bf(const void *const hw, hri_usbdesc_bank_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->ADDR.reg ^= USB_DEVICE_ADDR_ADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_addr_reg_t hri_usbdevicedescbank_read_ADDR_ADDR_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->ADDR.reg;
+ tmp = (tmp & USB_DEVICE_ADDR_ADDR_Msk) >> USB_DEVICE_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_set_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->ADDR.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_addr_reg_t hri_usbdevicedescbank_get_ADDR_reg(const void *const hw,
+ hri_usbdesc_bank_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->ADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_write_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->ADDR.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_clear_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->ADDR.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_toggle_ADDR_reg(const void *const hw, hri_usbdesc_bank_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->ADDR.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_addr_reg_t hri_usbdevicedescbank_read_ADDR_reg(const void *const hw)
+{
+ return ((UsbDeviceDescBank *)hw)->ADDR.reg;
+}
+
+static inline void hri_usbdevicedescbank_set_PCKSIZE_AUTO_ZLP_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg |= USB_DEVICE_PCKSIZE_AUTO_ZLP;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbdevicedescbank_get_PCKSIZE_AUTO_ZLP_bit(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg;
+ tmp = (tmp & USB_DEVICE_PCKSIZE_AUTO_ZLP) >> USB_DEVICE_PCKSIZE_AUTO_ZLP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbdevicedescbank_write_PCKSIZE_AUTO_ZLP_bit(const void *const hw, bool value)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg;
+ tmp &= ~USB_DEVICE_PCKSIZE_AUTO_ZLP;
+ tmp |= value << USB_DEVICE_PCKSIZE_AUTO_ZLP_Pos;
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_clear_PCKSIZE_AUTO_ZLP_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg &= ~USB_DEVICE_PCKSIZE_AUTO_ZLP;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_toggle_PCKSIZE_AUTO_ZLP_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg ^= USB_DEVICE_PCKSIZE_AUTO_ZLP;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_set_PCKSIZE_BYTE_COUNT_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg |= USB_DEVICE_PCKSIZE_BYTE_COUNT(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t
+hri_usbdevicedescbank_get_PCKSIZE_BYTE_COUNT_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg;
+ tmp = (tmp & USB_DEVICE_PCKSIZE_BYTE_COUNT(mask)) >> USB_DEVICE_PCKSIZE_BYTE_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_write_PCKSIZE_BYTE_COUNT_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg;
+ tmp &= ~USB_DEVICE_PCKSIZE_BYTE_COUNT_Msk;
+ tmp |= USB_DEVICE_PCKSIZE_BYTE_COUNT(data);
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_clear_PCKSIZE_BYTE_COUNT_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg &= ~USB_DEVICE_PCKSIZE_BYTE_COUNT(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_toggle_PCKSIZE_BYTE_COUNT_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg ^= USB_DEVICE_PCKSIZE_BYTE_COUNT(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t hri_usbdevicedescbank_read_PCKSIZE_BYTE_COUNT_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg;
+ tmp = (tmp & USB_DEVICE_PCKSIZE_BYTE_COUNT_Msk) >> USB_DEVICE_PCKSIZE_BYTE_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_set_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg |= USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t
+hri_usbdevicedescbank_get_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg;
+ tmp = (tmp & USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask)) >> USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_write_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg;
+ tmp &= ~USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Msk;
+ tmp |= USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(data);
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_clear_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg &= ~USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_toggle_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg ^= USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t
+hri_usbdevicedescbank_read_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg;
+ tmp = (tmp & USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Msk) >> USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_set_PCKSIZE_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg |= USB_DEVICE_PCKSIZE_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t
+hri_usbdevicedescbank_get_PCKSIZE_SIZE_bf(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg;
+ tmp = (tmp & USB_DEVICE_PCKSIZE_SIZE(mask)) >> USB_DEVICE_PCKSIZE_SIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_write_PCKSIZE_SIZE_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg;
+ tmp &= ~USB_DEVICE_PCKSIZE_SIZE_Msk;
+ tmp |= USB_DEVICE_PCKSIZE_SIZE(data);
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_clear_PCKSIZE_SIZE_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg &= ~USB_DEVICE_PCKSIZE_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_toggle_PCKSIZE_SIZE_bf(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg ^= USB_DEVICE_PCKSIZE_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t hri_usbdevicedescbank_read_PCKSIZE_SIZE_bf(const void *const hw)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg;
+ tmp = (tmp & USB_DEVICE_PCKSIZE_SIZE_Msk) >> USB_DEVICE_PCKSIZE_SIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_set_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t hri_usbdevicedescbank_get_PCKSIZE_reg(const void *const hw,
+ hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->PCKSIZE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_write_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_clear_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_toggle_PCKSIZE_reg(const void *const hw, hri_usbdesc_bank_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->PCKSIZE.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_pcksize_reg_t hri_usbdevicedescbank_read_PCKSIZE_reg(const void *const hw)
+{
+ return ((UsbDeviceDescBank *)hw)->PCKSIZE.reg;
+}
+
+static inline void hri_usbdevicedescbank_set_EXTREG_SUBPID_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->EXTREG.reg |= USB_DEVICE_EXTREG_SUBPID(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_extreg_reg_t
+hri_usbdevicedescbank_get_EXTREG_SUBPID_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->EXTREG.reg;
+ tmp = (tmp & USB_DEVICE_EXTREG_SUBPID(mask)) >> USB_DEVICE_EXTREG_SUBPID_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_write_EXTREG_SUBPID_bf(const void *const hw,
+ hri_usbdesc_bank_extreg_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDeviceDescBank *)hw)->EXTREG.reg;
+ tmp &= ~USB_DEVICE_EXTREG_SUBPID_Msk;
+ tmp |= USB_DEVICE_EXTREG_SUBPID(data);
+ ((UsbDeviceDescBank *)hw)->EXTREG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_clear_EXTREG_SUBPID_bf(const void *const hw,
+ hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->EXTREG.reg &= ~USB_DEVICE_EXTREG_SUBPID(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_toggle_EXTREG_SUBPID_bf(const void *const hw,
+ hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->EXTREG.reg ^= USB_DEVICE_EXTREG_SUBPID(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_extreg_reg_t hri_usbdevicedescbank_read_EXTREG_SUBPID_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->EXTREG.reg;
+ tmp = (tmp & USB_DEVICE_EXTREG_SUBPID_Msk) >> USB_DEVICE_EXTREG_SUBPID_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_set_EXTREG_VARIABLE_bf(const void *const hw,
+ hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->EXTREG.reg |= USB_DEVICE_EXTREG_VARIABLE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_extreg_reg_t
+hri_usbdevicedescbank_get_EXTREG_VARIABLE_bf(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->EXTREG.reg;
+ tmp = (tmp & USB_DEVICE_EXTREG_VARIABLE(mask)) >> USB_DEVICE_EXTREG_VARIABLE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_write_EXTREG_VARIABLE_bf(const void *const hw,
+ hri_usbdesc_bank_extreg_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDeviceDescBank *)hw)->EXTREG.reg;
+ tmp &= ~USB_DEVICE_EXTREG_VARIABLE_Msk;
+ tmp |= USB_DEVICE_EXTREG_VARIABLE(data);
+ ((UsbDeviceDescBank *)hw)->EXTREG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_clear_EXTREG_VARIABLE_bf(const void *const hw,
+ hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->EXTREG.reg &= ~USB_DEVICE_EXTREG_VARIABLE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_toggle_EXTREG_VARIABLE_bf(const void *const hw,
+ hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->EXTREG.reg ^= USB_DEVICE_EXTREG_VARIABLE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_extreg_reg_t hri_usbdevicedescbank_read_EXTREG_VARIABLE_bf(const void *const hw)
+{
+ uint16_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->EXTREG.reg;
+ tmp = (tmp & USB_DEVICE_EXTREG_VARIABLE_Msk) >> USB_DEVICE_EXTREG_VARIABLE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_set_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->EXTREG.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_extreg_reg_t hri_usbdevicedescbank_get_EXTREG_reg(const void *const hw,
+ hri_usbdesc_bank_extreg_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->EXTREG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_write_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->EXTREG.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_clear_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->EXTREG.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescbank_toggle_EXTREG_reg(const void *const hw, hri_usbdesc_bank_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->EXTREG.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_extreg_reg_t hri_usbdevicedescbank_read_EXTREG_reg(const void *const hw)
+{
+ return ((UsbDeviceDescBank *)hw)->EXTREG.reg;
+}
+
+static inline bool hri_usbdevicedescbank_get_STATUS_BK_CRCERR_bit(const void *const hw)
+{
+ return (((UsbDeviceDescBank *)hw)->STATUS_BK.reg & USB_DEVICE_STATUS_BK_CRCERR) >> USB_DEVICE_STATUS_BK_CRCERR_Pos;
+}
+
+static inline void hri_usbdevicedescbank_clear_STATUS_BK_CRCERR_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->STATUS_BK.reg = USB_DEVICE_STATUS_BK_CRCERR;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbdevicedescbank_get_STATUS_BK_ERRORFLOW_bit(const void *const hw)
+{
+ return (((UsbDeviceDescBank *)hw)->STATUS_BK.reg & USB_DEVICE_STATUS_BK_ERRORFLOW)
+ >> USB_DEVICE_STATUS_BK_ERRORFLOW_Pos;
+}
+
+static inline void hri_usbdevicedescbank_clear_STATUS_BK_ERRORFLOW_bit(const void *const hw)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->STATUS_BK.reg = USB_DEVICE_STATUS_BK_ERRORFLOW;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_status_bk_reg_t
+hri_usbdevicedescbank_get_STATUS_BK_reg(const void *const hw, hri_usbdesc_bank_status_bk_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbDeviceDescBank *)hw)->STATUS_BK.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescbank_clear_STATUS_BK_reg(const void *const hw,
+ hri_usbdesc_bank_status_bk_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescBank *)hw)->STATUS_BK.reg = mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdesc_bank_status_bk_reg_t hri_usbdevicedescbank_read_STATUS_BK_reg(const void *const hw)
+{
+ return ((UsbDeviceDescBank *)hw)->STATUS_BK.reg;
+}
+
+static inline void hri_usbdevicedescriptor_set_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg |= USB_DEVICE_ADDR_ADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_addr_reg_t
+hri_usbdevicedescriptor_get_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg;
+ tmp = (tmp & USB_DEVICE_ADDR_ADDR(mask)) >> USB_DEVICE_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescriptor_write_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_addr_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg;
+ tmp &= ~USB_DEVICE_ADDR_ADDR_Msk;
+ tmp |= USB_DEVICE_ADDR_ADDR(data);
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_clear_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg &= ~USB_DEVICE_ADDR_ADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_toggle_ADDR_ADDR_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg ^= USB_DEVICE_ADDR_ADDR(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_addr_reg_t hri_usbdevicedescriptor_read_ADDR_ADDR_bf(const void *const hw,
+ uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg;
+ tmp = (tmp & USB_DEVICE_ADDR_ADDR_Msk) >> USB_DEVICE_ADDR_ADDR_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescriptor_set_ADDR_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_addr_reg_t
+hri_usbdevicedescriptor_get_ADDR_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_addr_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescriptor_write_ADDR_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_addr_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_clear_ADDR_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_toggle_ADDR_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_addr_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_addr_reg_t hri_usbdevicedescriptor_read_ADDR_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].ADDR.reg;
+}
+
+static inline void hri_usbdevicedescriptor_set_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg |= USB_DEVICE_PCKSIZE_AUTO_ZLP;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbdevicedescriptor_get_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg;
+ tmp = (tmp & USB_DEVICE_PCKSIZE_AUTO_ZLP) >> USB_DEVICE_PCKSIZE_AUTO_ZLP_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_usbdevicedescriptor_write_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index,
+ bool value)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg;
+ tmp &= ~USB_DEVICE_PCKSIZE_AUTO_ZLP;
+ tmp |= value << USB_DEVICE_PCKSIZE_AUTO_ZLP_Pos;
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_clear_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg &= ~USB_DEVICE_PCKSIZE_AUTO_ZLP;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_toggle_PCKSIZE_AUTO_ZLP_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg ^= USB_DEVICE_PCKSIZE_AUTO_ZLP;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_set_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg |= USB_DEVICE_PCKSIZE_BYTE_COUNT(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_pcksize_reg_t
+hri_usbdevicedescriptor_get_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg;
+ tmp = (tmp & USB_DEVICE_PCKSIZE_BYTE_COUNT(mask)) >> USB_DEVICE_PCKSIZE_BYTE_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescriptor_write_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg;
+ tmp &= ~USB_DEVICE_PCKSIZE_BYTE_COUNT_Msk;
+ tmp |= USB_DEVICE_PCKSIZE_BYTE_COUNT(data);
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_clear_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg &= ~USB_DEVICE_PCKSIZE_BYTE_COUNT(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_toggle_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg ^= USB_DEVICE_PCKSIZE_BYTE_COUNT(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_pcksize_reg_t
+hri_usbdevicedescriptor_read_PCKSIZE_BYTE_COUNT_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg;
+ tmp = (tmp & USB_DEVICE_PCKSIZE_BYTE_COUNT_Msk) >> USB_DEVICE_PCKSIZE_BYTE_COUNT_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescriptor_set_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw,
+ uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg
+ |= USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_pcksize_reg_t
+hri_usbdevicedescriptor_get_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg;
+ tmp = (tmp & USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask)) >> USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Pos;
+ return tmp;
+}
+
+static inline void
+hri_usbdevicedescriptor_write_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg;
+ tmp &= ~USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Msk;
+ tmp |= USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(data);
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void
+hri_usbdevicedescriptor_clear_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg
+ &= ~USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void
+hri_usbdevicedescriptor_toggle_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg
+ ^= USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_pcksize_reg_t
+hri_usbdevicedescriptor_read_PCKSIZE_MULTI_PACKET_SIZE_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg;
+ tmp = (tmp & USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Msk) >> USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescriptor_set_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg |= USB_DEVICE_PCKSIZE_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_pcksize_reg_t
+hri_usbdevicedescriptor_get_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg;
+ tmp = (tmp & USB_DEVICE_PCKSIZE_SIZE(mask)) >> USB_DEVICE_PCKSIZE_SIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescriptor_write_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t data)
+{
+ uint32_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg;
+ tmp &= ~USB_DEVICE_PCKSIZE_SIZE_Msk;
+ tmp |= USB_DEVICE_PCKSIZE_SIZE(data);
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_clear_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg &= ~USB_DEVICE_PCKSIZE_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_toggle_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg ^= USB_DEVICE_PCKSIZE_SIZE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_pcksize_reg_t
+hri_usbdevicedescriptor_read_PCKSIZE_SIZE_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg;
+ tmp = (tmp & USB_DEVICE_PCKSIZE_SIZE_Msk) >> USB_DEVICE_PCKSIZE_SIZE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescriptor_set_PCKSIZE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_pcksize_reg_t
+hri_usbdevicedescriptor_get_PCKSIZE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescriptor_write_PCKSIZE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_clear_PCKSIZE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_toggle_PCKSIZE_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_pcksize_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_pcksize_reg_t hri_usbdevicedescriptor_read_PCKSIZE_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].PCKSIZE.reg;
+}
+
+static inline void hri_usbdevicedescriptor_set_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg |= USB_DEVICE_EXTREG_SUBPID(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_extreg_reg_t
+hri_usbdevicedescriptor_get_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_extreg_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg;
+ tmp = (tmp & USB_DEVICE_EXTREG_SUBPID(mask)) >> USB_DEVICE_EXTREG_SUBPID_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescriptor_write_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_extreg_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg;
+ tmp &= ~USB_DEVICE_EXTREG_SUBPID_Msk;
+ tmp |= USB_DEVICE_EXTREG_SUBPID(data);
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_clear_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg &= ~USB_DEVICE_EXTREG_SUBPID(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_toggle_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg ^= USB_DEVICE_EXTREG_SUBPID(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_extreg_reg_t
+hri_usbdevicedescriptor_read_EXTREG_SUBPID_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint16_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg;
+ tmp = (tmp & USB_DEVICE_EXTREG_SUBPID_Msk) >> USB_DEVICE_EXTREG_SUBPID_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescriptor_set_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg |= USB_DEVICE_EXTREG_VARIABLE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_extreg_reg_t
+hri_usbdevicedescriptor_get_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_extreg_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg;
+ tmp = (tmp & USB_DEVICE_EXTREG_VARIABLE(mask)) >> USB_DEVICE_EXTREG_VARIABLE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescriptor_write_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_extreg_reg_t data)
+{
+ uint16_t tmp;
+ USB_CRITICAL_SECTION_ENTER();
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg;
+ tmp &= ~USB_DEVICE_EXTREG_VARIABLE_Msk;
+ tmp |= USB_DEVICE_EXTREG_VARIABLE(data);
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg = tmp;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_clear_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg &= ~USB_DEVICE_EXTREG_VARIABLE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_toggle_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg ^= USB_DEVICE_EXTREG_VARIABLE(mask);
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_extreg_reg_t
+hri_usbdevicedescriptor_read_EXTREG_VARIABLE_bf(const void *const hw, uint8_t submodule_index)
+{
+ uint16_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg;
+ tmp = (tmp & USB_DEVICE_EXTREG_VARIABLE_Msk) >> USB_DEVICE_EXTREG_VARIABLE_Pos;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescriptor_set_EXTREG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg |= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_extreg_reg_t
+hri_usbdevicedescriptor_get_EXTREG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_extreg_reg_t mask)
+{
+ uint16_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescriptor_write_EXTREG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_extreg_reg_t data)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg = data;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_clear_EXTREG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg &= ~mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_usbdevicedescriptor_toggle_EXTREG_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_extreg_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg ^= mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_extreg_reg_t hri_usbdevicedescriptor_read_EXTREG_reg(const void *const hw,
+ uint8_t submodule_index)
+{
+ return ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].EXTREG.reg;
+}
+
+static inline bool hri_usbdevicedescriptor_get_STATUS_BK_CRCERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].STATUS_BK.reg & USB_DEVICE_STATUS_BK_CRCERR)
+ >> USB_DEVICE_STATUS_BK_CRCERR_Pos;
+}
+
+static inline void hri_usbdevicedescriptor_clear_STATUS_BK_CRCERR_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].STATUS_BK.reg = USB_DEVICE_STATUS_BK_CRCERR;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_usbdevicedescriptor_get_STATUS_BK_ERRORFLOW_bit(const void *const hw, uint8_t submodule_index)
+{
+ return (((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].STATUS_BK.reg & USB_DEVICE_STATUS_BK_ERRORFLOW)
+ >> USB_DEVICE_STATUS_BK_ERRORFLOW_Pos;
+}
+
+static inline void hri_usbdevicedescriptor_clear_STATUS_BK_ERRORFLOW_bit(const void *const hw, uint8_t submodule_index)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].STATUS_BK.reg = USB_DEVICE_STATUS_BK_ERRORFLOW;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_status_bk_reg_t
+hri_usbdevicedescriptor_get_STATUS_BK_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_status_bk_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].STATUS_BK.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_usbdevicedescriptor_clear_STATUS_BK_reg(const void *const hw, uint8_t submodule_index,
+ hri_usbdescriptordevice_status_bk_reg_t mask)
+{
+ USB_CRITICAL_SECTION_ENTER();
+ ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].STATUS_BK.reg = mask;
+ USB_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_usbdescriptordevice_status_bk_reg_t
+hri_usbdevicedescriptor_read_STATUS_BK_reg(const void *const hw, uint8_t submodule_index)
+{
+ return ((UsbDeviceDescriptor *)hw)->DeviceDescBank[submodule_index].STATUS_BK.reg;
+}
+
+/* Below section is for legacy hri apis name, not recommended to use below left side apis in application */
+#define hri_usbdevice_wait_for_sync(a, b) hri_usb_wait_for_sync(a, b)
+#define hri_usbdevice_is_syncing(a, b) hri_usb_is_syncing(a, b)
+#define hri_usbhost_wait_for_sync(a, b) hri_usb_wait_for_sync(a, b)
+#define hri_usbhost_is_syncing(a, b) hri_usb_is_syncing(a, b)
+#define hri_usbhost_set_CTRLA_SWRST_bit(a) hri_usb_set_CTRLA_SWRST_bit(a)
+#define hri_usbhost_get_CTRLA_SWRST_bit(a) hri_usb_get_CTRLA_SWRST_bit(a)
+#define hri_usbhost_set_CTRLA_ENABLE_bit(a) hri_usb_set_CTRLA_ENABLE_bit(a)
+#define hri_usbhost_get_CTRLA_ENABLE_bit(a) hri_usb_get_CTRLA_ENABLE_bit(a)
+#define hri_usbhost_write_CTRLA_ENABLE_bit(a, b) hri_usb_write_CTRLA_ENABLE_bit(a, b)
+#define hri_usbhost_clear_CTRLA_ENABLE_bit(a) hri_usb_clear_CTRLA_ENABLE_bit(a)
+#define hri_usbhost_toggle_CTRLA_ENABLE_bit(a) hri_usb_toggle_CTRLA_ENABLE_bit(a)
+#define hri_usbhost_set_CTRLA_RUNSTDBY_bit(a) hri_usb_set_CTRLA_RUNSTDBY_bit(a)
+#define hri_usbhost_get_CTRLA_RUNSTDBY_bit(a) hri_usb_get_CTRLA_RUNSTDBY_bit(a)
+#define hri_usbhost_write_CTRLA_RUNSTDBY_bit(a, b) hri_usb_write_CTRLA_RUNSTDBY_bit(a, b)
+#define hri_usbhost_clear_CTRLA_RUNSTDBY_bit(a) hri_usb_clear_CTRLA_RUNSTDBY_bit(a)
+#define hri_usbhost_toggle_CTRLA_RUNSTDBY_bit(a) hri_usb_toggle_CTRLA_RUNSTDBY_bit(a)
+#define hri_usbhost_set_CTRLA_MODE_bit(a) hri_usb_set_CTRLA_MODE_bit(a)
+#define hri_usbhost_get_CTRLA_MODE_bit(a) hri_usb_get_CTRLA_MODE_bit(a)
+#define hri_usbhost_write_CTRLA_MODE_bit(a, b) hri_usb_write_CTRLA_MODE_bit(a, b)
+#define hri_usbhost_clear_CTRLA_MODE_bit(a) hri_usb_clear_CTRLA_MODE_bit(a)
+#define hri_usbhost_toggle_CTRLA_MODE_bit(a) hri_usb_toggle_CTRLA_MODE_bit(a)
+#define hri_usbhost_set_CTRLA_reg(a, b) hri_usb_set_CTRLA_reg(a, b)
+#define hri_usbhost_get_CTRLA_reg(a, b) hri_usb_get_CTRLA_reg(a, b)
+#define hri_usbhost_write_CTRLA_reg(a, b) hri_usb_write_CTRLA_reg(a, b)
+#define hri_usbhost_clear_CTRLA_reg(a, b) hri_usb_clear_CTRLA_reg(a, b)
+#define hri_usbhost_toggle_CTRLA_reg(a, b) hri_usb_toggle_CTRLA_reg(a, b)
+#define hri_usbhost_read_CTRLA_reg(a) hri_usb_read_CTRLA_reg(a)
+#define hri_usbhost_set_QOSCTRL_CQOS_bf(a, b) hri_usb_set_QOSCTRL_CQOS_bf(a, b)
+#define hri_usbhost_get_QOSCTRL_CQOS_bf(a, b) hri_usb_get_QOSCTRL_CQOS_bf(a, b)
+#define hri_usbhost_write_QOSCTRL_CQOS_bf(a, b) hri_usb_write_QOSCTRL_CQOS_bf(a, b)
+#define hri_usbhost_clear_QOSCTRL_CQOS_bf(a, b) hri_usb_clear_QOSCTRL_CQOS_bf(a, b)
+#define hri_usbhost_toggle_QOSCTRL_CQOS_bf(a, b) hri_usb_toggle_QOSCTRL_CQOS_bf(a, b)
+#define hri_usbhost_read_QOSCTRL_CQOS_bf(a) hri_usb_read_QOSCTRL_CQOS_bf(a)
+#define hri_usbhost_set_QOSCTRL_DQOS_bf(a, b) hri_usb_set_QOSCTRL_DQOS_bf(a, b)
+#define hri_usbhost_get_QOSCTRL_DQOS_bf(a, b) hri_usb_get_QOSCTRL_DQOS_bf(a, b)
+#define hri_usbhost_write_QOSCTRL_DQOS_bf(a, b) hri_usb_write_QOSCTRL_DQOS_bf(a, b)
+#define hri_usbhost_clear_QOSCTRL_DQOS_bf(a, b) hri_usb_clear_QOSCTRL_DQOS_bf(a, b)
+#define hri_usbhost_toggle_QOSCTRL_DQOS_bf(a, b) hri_usb_toggle_QOSCTRL_DQOS_bf(a, b)
+#define hri_usbhost_read_QOSCTRL_DQOS_bf(a) hri_usb_read_QOSCTRL_DQOS_bf(a)
+#define hri_usbhost_set_QOSCTRL_reg(a, b) hri_usb_set_QOSCTRL_reg(a, b)
+#define hri_usbhost_get_QOSCTRL_reg(a, b) hri_usb_get_QOSCTRL_reg(a, b)
+#define hri_usbhost_write_QOSCTRL_reg(a, b) hri_usb_write_QOSCTRL_reg(a, b)
+#define hri_usbhost_clear_QOSCTRL_reg(a, b) hri_usb_clear_QOSCTRL_reg(a, b)
+#define hri_usbhost_toggle_QOSCTRL_reg(a, b) hri_usb_toggle_QOSCTRL_reg(a, b)
+#define hri_usbhost_read_QOSCTRL_reg(a) hri_usb_read_QOSCTRL_reg(a)
+#define hri_usbhost_set_DESCADD_DESCADD_bf(a, b) hri_usb_set_DESCADD_DESCADD_bf(a, b)
+#define hri_usbhost_get_DESCADD_DESCADD_bf(a, b) hri_usb_get_DESCADD_DESCADD_bf(a, b)
+#define hri_usbhost_write_DESCADD_DESCADD_bf(a, b) hri_usb_write_DESCADD_DESCADD_bf(a, b)
+#define hri_usbhost_clear_DESCADD_DESCADD_bf(a, b) hri_usb_clear_DESCADD_DESCADD_bf(a, b)
+#define hri_usbhost_toggle_DESCADD_DESCADD_bf(a, b) hri_usb_toggle_DESCADD_DESCADD_bf(a, b)
+#define hri_usbhost_read_DESCADD_DESCADD_bf(a) hri_usb_read_DESCADD_DESCADD_bf(a)
+#define hri_usbhost_set_DESCADD_reg(a, b) hri_usb_set_DESCADD_reg(a, b)
+#define hri_usbhost_get_DESCADD_reg(a, b) hri_usb_get_DESCADD_reg(a, b)
+#define hri_usbhost_write_DESCADD_reg(a, b) hri_usb_write_DESCADD_reg(a, b)
+#define hri_usbhost_clear_DESCADD_reg(a, b) hri_usb_clear_DESCADD_reg(a, b)
+#define hri_usbhost_toggle_DESCADD_reg(a, b) hri_usb_toggle_DESCADD_reg(a, b)
+#define hri_usbhost_read_DESCADD_reg(a) hri_usb_read_DESCADD_reg(a)
+#define hri_usbhost_set_PADCAL_TRANSP_bf(a, b) hri_usb_set_PADCAL_TRANSP_bf(a, b)
+#define hri_usbhost_get_PADCAL_TRANSP_bf(a, b) hri_usb_get_PADCAL_TRANSP_bf(a, b)
+#define hri_usbhost_write_PADCAL_TRANSP_bf(a, b) hri_usb_write_PADCAL_TRANSP_bf(a, b)
+#define hri_usbhost_clear_PADCAL_TRANSP_bf(a, b) hri_usb_clear_PADCAL_TRANSP_bf(a, b)
+#define hri_usbhost_toggle_PADCAL_TRANSP_bf(a, b) hri_usb_toggle_PADCAL_TRANSP_bf(a, b)
+#define hri_usbhost_read_PADCAL_TRANSP_bf(a) hri_usb_read_PADCAL_TRANSP_bf(a)
+#define hri_usbhost_set_PADCAL_TRANSN_bf(a, b) hri_usb_set_PADCAL_TRANSN_bf(a, b)
+#define hri_usbhost_get_PADCAL_TRANSN_bf(a, b) hri_usb_get_PADCAL_TRANSN_bf(a, b)
+#define hri_usbhost_write_PADCAL_TRANSN_bf(a, b) hri_usb_write_PADCAL_TRANSN_bf(a, b)
+#define hri_usbhost_clear_PADCAL_TRANSN_bf(a, b) hri_usb_clear_PADCAL_TRANSN_bf(a, b)
+#define hri_usbhost_toggle_PADCAL_TRANSN_bf(a, b) hri_usb_toggle_PADCAL_TRANSN_bf(a, b)
+#define hri_usbhost_read_PADCAL_TRANSN_bf(a) hri_usb_read_PADCAL_TRANSN_bf(a)
+#define hri_usbhost_set_PADCAL_TRIM_bf(a, b) hri_usb_set_PADCAL_TRIM_bf(a, b)
+#define hri_usbhost_get_PADCAL_TRIM_bf(a, b) hri_usb_get_PADCAL_TRIM_bf(a, b)
+#define hri_usbhost_write_PADCAL_TRIM_bf(a, b) hri_usb_write_PADCAL_TRIM_bf(a, b)
+#define hri_usbhost_clear_PADCAL_TRIM_bf(a, b) hri_usb_clear_PADCAL_TRIM_bf(a, b)
+#define hri_usbhost_toggle_PADCAL_TRIM_bf(a, b) hri_usb_toggle_PADCAL_TRIM_bf(a, b)
+#define hri_usbhost_read_PADCAL_TRIM_bf(a) hri_usb_read_PADCAL_TRIM_bf(a)
+#define hri_usbhost_set_PADCAL_reg(a, b) hri_usb_set_PADCAL_reg(a, b)
+#define hri_usbhost_get_PADCAL_reg(a, b) hri_usb_get_PADCAL_reg(a, b)
+#define hri_usbhost_write_PADCAL_reg(a, b) hri_usb_write_PADCAL_reg(a, b)
+#define hri_usbhost_clear_PADCAL_reg(a, b) hri_usb_clear_PADCAL_reg(a, b)
+#define hri_usbhost_toggle_PADCAL_reg(a, b) hri_usb_toggle_PADCAL_reg(a, b)
+#define hri_usbhost_read_PADCAL_reg(a) hri_usb_read_PADCAL_reg(a)
+#define hri_usbhost_get_SYNCBUSY_SWRST_bit(a) hri_usb_get_SYNCBUSY_SWRST_bit(a)
+#define hri_usbhost_get_SYNCBUSY_ENABLE_bit(a) hri_usb_get_SYNCBUSY_ENABLE_bit(a)
+#define hri_usbhost_get_SYNCBUSY_reg(a, b) hri_usb_get_SYNCBUSY_reg(a, b)
+#define hri_usbhost_read_SYNCBUSY_reg(a) hri_usb_read_SYNCBUSY_reg(a)
+#define hri_usbhost_get_FSMSTATUS_FSMSTATE_bf(a, b) hri_usb_get_FSMSTATUS_FSMSTATE_bf(a, b)
+#define hri_usbhost_read_FSMSTATUS_FSMSTATE_bf(a) hri_usb_read_FSMSTATUS_FSMSTATE_bf(a)
+#define hri_usbhost_get_FSMSTATUS_reg(a, b) hri_usb_get_FSMSTATUS_reg(a, b)
+#define hri_usbhost_read_FSMSTATUS_reg(a) hri_usb_read_FSMSTATUS_reg(a)
+#define hri_usbdevice_set_CTRLA_SWRST_bit(a) hri_usb_set_CTRLA_SWRST_bit(a)
+#define hri_usbdevice_get_CTRLA_SWRST_bit(a) hri_usb_get_CTRLA_SWRST_bit(a)
+#define hri_usbdevice_set_CTRLA_ENABLE_bit(a) hri_usb_set_CTRLA_ENABLE_bit(a)
+#define hri_usbdevice_get_CTRLA_ENABLE_bit(a) hri_usb_get_CTRLA_ENABLE_bit(a)
+#define hri_usbdevice_write_CTRLA_ENABLE_bit(a, b) hri_usb_write_CTRLA_ENABLE_bit(a, b)
+#define hri_usbdevice_clear_CTRLA_ENABLE_bit(a) hri_usb_clear_CTRLA_ENABLE_bit(a)
+#define hri_usbdevice_toggle_CTRLA_ENABLE_bit(a) hri_usb_toggle_CTRLA_ENABLE_bit(a)
+#define hri_usbdevice_set_CTRLA_RUNSTDBY_bit(a) hri_usb_set_CTRLA_RUNSTDBY_bit(a)
+#define hri_usbdevice_get_CTRLA_RUNSTDBY_bit(a) hri_usb_get_CTRLA_RUNSTDBY_bit(a)
+#define hri_usbdevice_write_CTRLA_RUNSTDBY_bit(a, b) hri_usb_write_CTRLA_RUNSTDBY_bit(a, b)
+#define hri_usbdevice_clear_CTRLA_RUNSTDBY_bit(a) hri_usb_clear_CTRLA_RUNSTDBY_bit(a)
+#define hri_usbdevice_toggle_CTRLA_RUNSTDBY_bit(a) hri_usb_toggle_CTRLA_RUNSTDBY_bit(a)
+#define hri_usbdevice_set_CTRLA_MODE_bit(a) hri_usb_set_CTRLA_MODE_bit(a)
+#define hri_usbdevice_get_CTRLA_MODE_bit(a) hri_usb_get_CTRLA_MODE_bit(a)
+#define hri_usbdevice_write_CTRLA_MODE_bit(a, b) hri_usb_write_CTRLA_MODE_bit(a, b)
+#define hri_usbdevice_clear_CTRLA_MODE_bit(a) hri_usb_clear_CTRLA_MODE_bit(a)
+#define hri_usbdevice_toggle_CTRLA_MODE_bit(a) hri_usb_toggle_CTRLA_MODE_bit(a)
+#define hri_usbdevice_set_CTRLA_reg(a, b) hri_usb_set_CTRLA_reg(a, b)
+#define hri_usbdevice_get_CTRLA_reg(a, b) hri_usb_get_CTRLA_reg(a, b)
+#define hri_usbdevice_write_CTRLA_reg(a, b) hri_usb_write_CTRLA_reg(a, b)
+#define hri_usbdevice_clear_CTRLA_reg(a, b) hri_usb_clear_CTRLA_reg(a, b)
+#define hri_usbdevice_toggle_CTRLA_reg(a, b) hri_usb_toggle_CTRLA_reg(a, b)
+#define hri_usbdevice_read_CTRLA_reg(a) hri_usb_read_CTRLA_reg(a)
+#define hri_usbdevice_set_QOSCTRL_CQOS_bf(a, b) hri_usb_set_QOSCTRL_CQOS_bf(a, b)
+#define hri_usbdevice_get_QOSCTRL_CQOS_bf(a, b) hri_usb_get_QOSCTRL_CQOS_bf(a, b)
+#define hri_usbdevice_write_QOSCTRL_CQOS_bf(a, b) hri_usb_write_QOSCTRL_CQOS_bf(a, b)
+#define hri_usbdevice_clear_QOSCTRL_CQOS_bf(a, b) hri_usb_clear_QOSCTRL_CQOS_bf(a, b)
+#define hri_usbdevice_toggle_QOSCTRL_CQOS_bf(a, b) hri_usb_toggle_QOSCTRL_CQOS_bf(a, b)
+#define hri_usbdevice_read_QOSCTRL_CQOS_bf(a) hri_usb_read_QOSCTRL_CQOS_bf(a)
+#define hri_usbdevice_set_QOSCTRL_DQOS_bf(a, b) hri_usb_set_QOSCTRL_DQOS_bf(a, b)
+#define hri_usbdevice_get_QOSCTRL_DQOS_bf(a, b) hri_usb_get_QOSCTRL_DQOS_bf(a, b)
+#define hri_usbdevice_write_QOSCTRL_DQOS_bf(a, b) hri_usb_write_QOSCTRL_DQOS_bf(a, b)
+#define hri_usbdevice_clear_QOSCTRL_DQOS_bf(a, b) hri_usb_clear_QOSCTRL_DQOS_bf(a, b)
+#define hri_usbdevice_toggle_QOSCTRL_DQOS_bf(a, b) hri_usb_toggle_QOSCTRL_DQOS_bf(a, b)
+#define hri_usbdevice_read_QOSCTRL_DQOS_bf(a) hri_usb_read_QOSCTRL_DQOS_bf(a)
+#define hri_usbdevice_set_QOSCTRL_reg(a, b) hri_usb_set_QOSCTRL_reg(a, b)
+#define hri_usbdevice_get_QOSCTRL_reg(a, b) hri_usb_get_QOSCTRL_reg(a, b)
+#define hri_usbdevice_write_QOSCTRL_reg(a, b) hri_usb_write_QOSCTRL_reg(a, b)
+#define hri_usbdevice_clear_QOSCTRL_reg(a, b) hri_usb_clear_QOSCTRL_reg(a, b)
+#define hri_usbdevice_toggle_QOSCTRL_reg(a, b) hri_usb_toggle_QOSCTRL_reg(a, b)
+#define hri_usbdevice_read_QOSCTRL_reg(a) hri_usb_read_QOSCTRL_reg(a)
+#define hri_usbdevice_set_DESCADD_DESCADD_bf(a, b) hri_usb_set_DESCADD_DESCADD_bf(a, b)
+#define hri_usbdevice_get_DESCADD_DESCADD_bf(a, b) hri_usb_get_DESCADD_DESCADD_bf(a, b)
+#define hri_usbdevice_write_DESCADD_DESCADD_bf(a, b) hri_usb_write_DESCADD_DESCADD_bf(a, b)
+#define hri_usbdevice_clear_DESCADD_DESCADD_bf(a, b) hri_usb_clear_DESCADD_DESCADD_bf(a, b)
+#define hri_usbdevice_toggle_DESCADD_DESCADD_bf(a, b) hri_usb_toggle_DESCADD_DESCADD_bf(a, b)
+#define hri_usbdevice_read_DESCADD_DESCADD_bf(a) hri_usb_read_DESCADD_DESCADD_bf(a)
+#define hri_usbdevice_set_DESCADD_reg(a, b) hri_usb_set_DESCADD_reg(a, b)
+#define hri_usbdevice_get_DESCADD_reg(a, b) hri_usb_get_DESCADD_reg(a, b)
+#define hri_usbdevice_write_DESCADD_reg(a, b) hri_usb_write_DESCADD_reg(a, b)
+#define hri_usbdevice_clear_DESCADD_reg(a, b) hri_usb_clear_DESCADD_reg(a, b)
+#define hri_usbdevice_toggle_DESCADD_reg(a, b) hri_usb_toggle_DESCADD_reg(a, b)
+#define hri_usbdevice_read_DESCADD_reg(a) hri_usb_read_DESCADD_reg(a)
+#define hri_usbdevice_set_PADCAL_TRANSP_bf(a, b) hri_usb_set_PADCAL_TRANSP_bf(a, b)
+#define hri_usbdevice_get_PADCAL_TRANSP_bf(a, b) hri_usb_get_PADCAL_TRANSP_bf(a, b)
+#define hri_usbdevice_write_PADCAL_TRANSP_bf(a, b) hri_usb_write_PADCAL_TRANSP_bf(a, b)
+#define hri_usbdevice_clear_PADCAL_TRANSP_bf(a, b) hri_usb_clear_PADCAL_TRANSP_bf(a, b)
+#define hri_usbdevice_toggle_PADCAL_TRANSP_bf(a, b) hri_usb_toggle_PADCAL_TRANSP_bf(a, b)
+#define hri_usbdevice_read_PADCAL_TRANSP_bf(a) hri_usb_read_PADCAL_TRANSP_bf(a)
+#define hri_usbdevice_set_PADCAL_TRANSN_bf(a, b) hri_usb_set_PADCAL_TRANSN_bf(a, b)
+#define hri_usbdevice_get_PADCAL_TRANSN_bf(a, b) hri_usb_get_PADCAL_TRANSN_bf(a, b)
+#define hri_usbdevice_write_PADCAL_TRANSN_bf(a, b) hri_usb_write_PADCAL_TRANSN_bf(a, b)
+#define hri_usbdevice_clear_PADCAL_TRANSN_bf(a, b) hri_usb_clear_PADCAL_TRANSN_bf(a, b)
+#define hri_usbdevice_toggle_PADCAL_TRANSN_bf(a, b) hri_usb_toggle_PADCAL_TRANSN_bf(a, b)
+#define hri_usbdevice_read_PADCAL_TRANSN_bf(a) hri_usb_read_PADCAL_TRANSN_bf(a)
+#define hri_usbdevice_set_PADCAL_TRIM_bf(a, b) hri_usb_set_PADCAL_TRIM_bf(a, b)
+#define hri_usbdevice_get_PADCAL_TRIM_bf(a, b) hri_usb_get_PADCAL_TRIM_bf(a, b)
+#define hri_usbdevice_write_PADCAL_TRIM_bf(a, b) hri_usb_write_PADCAL_TRIM_bf(a, b)
+#define hri_usbdevice_clear_PADCAL_TRIM_bf(a, b) hri_usb_clear_PADCAL_TRIM_bf(a, b)
+#define hri_usbdevice_toggle_PADCAL_TRIM_bf(a, b) hri_usb_toggle_PADCAL_TRIM_bf(a, b)
+#define hri_usbdevice_read_PADCAL_TRIM_bf(a) hri_usb_read_PADCAL_TRIM_bf(a)
+#define hri_usbdevice_set_PADCAL_reg(a, b) hri_usb_set_PADCAL_reg(a, b)
+#define hri_usbdevice_get_PADCAL_reg(a, b) hri_usb_get_PADCAL_reg(a, b)
+#define hri_usbdevice_write_PADCAL_reg(a, b) hri_usb_write_PADCAL_reg(a, b)
+#define hri_usbdevice_clear_PADCAL_reg(a, b) hri_usb_clear_PADCAL_reg(a, b)
+#define hri_usbdevice_toggle_PADCAL_reg(a, b) hri_usb_toggle_PADCAL_reg(a, b)
+#define hri_usbdevice_read_PADCAL_reg(a) hri_usb_read_PADCAL_reg(a)
+#define hri_usbdevice_get_SYNCBUSY_SWRST_bit(a) hri_usb_get_SYNCBUSY_SWRST_bit(a)
+#define hri_usbdevice_get_SYNCBUSY_ENABLE_bit(a) hri_usb_get_SYNCBUSY_ENABLE_bit(a)
+#define hri_usbdevice_get_SYNCBUSY_reg(a, b) hri_usb_get_SYNCBUSY_reg(a, b)
+#define hri_usbdevice_read_SYNCBUSY_reg(a) hri_usb_read_SYNCBUSY_reg(a)
+#define hri_usbdevice_get_FSMSTATUS_FSMSTATE_bf(a, b) hri_usb_get_FSMSTATUS_FSMSTATE_bf(a, b)
+#define hri_usbdevice_read_FSMSTATUS_FSMSTATE_bf(a) hri_usb_read_FSMSTATUS_FSMSTATE_bf(a)
+#define hri_usbdevice_get_FSMSTATUS_reg(a, b) hri_usb_get_FSMSTATUS_reg(a, b)
+#define hri_usbdevice_read_FSMSTATUS_reg(a) hri_usb_read_FSMSTATUS_reg(a)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_USB_E54_H_INCLUDED */
+#endif /* _SAME54_USB_COMPONENT_ */
diff --git a/hri/hri_wdt_e54.h b/hri/hri_wdt_e54.h
new file mode 100644
index 0000000..3549e2f
--- /dev/null
+++ b/hri/hri_wdt_e54.h
@@ -0,0 +1,617 @@
+/**
+ * \file
+ *
+ * \brief SAM WDT
+ *
+ * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
+ *
+ * \asf_license_start
+ *
+ * \page License
+ *
+ * Subject to your compliance with these terms, you may use Microchip
+ * software and any derivatives exclusively with Microchip products.
+ * It is your responsibility to comply with third party license terms applicable
+ * to your use of third party software (including open source software) that
+ * may accompany Microchip software.
+ *
+ * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
+ * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
+ * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
+ * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
+ * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
+ * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
+ * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
+ * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
+ * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
+ * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
+ * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+ *
+ * \asf_license_stop
+ *
+ */
+
+#ifdef _SAME54_WDT_COMPONENT_
+#ifndef _HRI_WDT_E54_H_INCLUDED_
+#define _HRI_WDT_E54_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <hal_atomic.h>
+
+#if defined(ENABLE_WDT_CRITICAL_SECTIONS)
+#define WDT_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER()
+#define WDT_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE()
+#else
+#define WDT_CRITICAL_SECTION_ENTER()
+#define WDT_CRITICAL_SECTION_LEAVE()
+#endif
+
+typedef uint32_t hri_wdt_syncbusy_reg_t;
+typedef uint8_t hri_wdt_clear_reg_t;
+typedef uint8_t hri_wdt_config_reg_t;
+typedef uint8_t hri_wdt_ctrla_reg_t;
+typedef uint8_t hri_wdt_ewctrl_reg_t;
+typedef uint8_t hri_wdt_intenset_reg_t;
+typedef uint8_t hri_wdt_intflag_reg_t;
+
+static inline void hri_wdt_wait_for_sync(const void *const hw, hri_wdt_syncbusy_reg_t reg)
+{
+ while (((Wdt *)hw)->SYNCBUSY.reg & reg) {
+ };
+}
+
+static inline bool hri_wdt_is_syncing(const void *const hw, hri_wdt_syncbusy_reg_t reg)
+{
+ return ((Wdt *)hw)->SYNCBUSY.reg & reg;
+}
+
+static inline bool hri_wdt_get_INTFLAG_EW_bit(const void *const hw)
+{
+ return (((Wdt *)hw)->INTFLAG.reg & WDT_INTFLAG_EW) >> WDT_INTFLAG_EW_Pos;
+}
+
+static inline void hri_wdt_clear_INTFLAG_EW_bit(const void *const hw)
+{
+ ((Wdt *)hw)->INTFLAG.reg = WDT_INTFLAG_EW;
+}
+
+static inline bool hri_wdt_get_interrupt_EW_bit(const void *const hw)
+{
+ return (((Wdt *)hw)->INTFLAG.reg & WDT_INTFLAG_EW) >> WDT_INTFLAG_EW_Pos;
+}
+
+static inline void hri_wdt_clear_interrupt_EW_bit(const void *const hw)
+{
+ ((Wdt *)hw)->INTFLAG.reg = WDT_INTFLAG_EW;
+}
+
+static inline hri_wdt_intflag_reg_t hri_wdt_get_INTFLAG_reg(const void *const hw, hri_wdt_intflag_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Wdt *)hw)->INTFLAG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_wdt_intflag_reg_t hri_wdt_read_INTFLAG_reg(const void *const hw)
+{
+ return ((Wdt *)hw)->INTFLAG.reg;
+}
+
+static inline void hri_wdt_clear_INTFLAG_reg(const void *const hw, hri_wdt_intflag_reg_t mask)
+{
+ ((Wdt *)hw)->INTFLAG.reg = mask;
+}
+
+static inline void hri_wdt_set_INTEN_EW_bit(const void *const hw)
+{
+ ((Wdt *)hw)->INTENSET.reg = WDT_INTENSET_EW;
+}
+
+static inline bool hri_wdt_get_INTEN_EW_bit(const void *const hw)
+{
+ return (((Wdt *)hw)->INTENSET.reg & WDT_INTENSET_EW) >> WDT_INTENSET_EW_Pos;
+}
+
+static inline void hri_wdt_write_INTEN_EW_bit(const void *const hw, bool value)
+{
+ if (value == 0x0) {
+ ((Wdt *)hw)->INTENCLR.reg = WDT_INTENSET_EW;
+ } else {
+ ((Wdt *)hw)->INTENSET.reg = WDT_INTENSET_EW;
+ }
+}
+
+static inline void hri_wdt_clear_INTEN_EW_bit(const void *const hw)
+{
+ ((Wdt *)hw)->INTENCLR.reg = WDT_INTENSET_EW;
+}
+
+static inline void hri_wdt_set_INTEN_reg(const void *const hw, hri_wdt_intenset_reg_t mask)
+{
+ ((Wdt *)hw)->INTENSET.reg = mask;
+}
+
+static inline hri_wdt_intenset_reg_t hri_wdt_get_INTEN_reg(const void *const hw, hri_wdt_intenset_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Wdt *)hw)->INTENSET.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_wdt_intenset_reg_t hri_wdt_read_INTEN_reg(const void *const hw)
+{
+ return ((Wdt *)hw)->INTENSET.reg;
+}
+
+static inline void hri_wdt_write_INTEN_reg(const void *const hw, hri_wdt_intenset_reg_t data)
+{
+ ((Wdt *)hw)->INTENSET.reg = data;
+ ((Wdt *)hw)->INTENCLR.reg = ~data;
+}
+
+static inline void hri_wdt_clear_INTEN_reg(const void *const hw, hri_wdt_intenset_reg_t mask)
+{
+ ((Wdt *)hw)->INTENCLR.reg = mask;
+}
+
+static inline bool hri_wdt_get_SYNCBUSY_ENABLE_bit(const void *const hw)
+{
+ return (((Wdt *)hw)->SYNCBUSY.reg & WDT_SYNCBUSY_ENABLE) >> WDT_SYNCBUSY_ENABLE_Pos;
+}
+
+static inline bool hri_wdt_get_SYNCBUSY_WEN_bit(const void *const hw)
+{
+ return (((Wdt *)hw)->SYNCBUSY.reg & WDT_SYNCBUSY_WEN) >> WDT_SYNCBUSY_WEN_Pos;
+}
+
+static inline bool hri_wdt_get_SYNCBUSY_ALWAYSON_bit(const void *const hw)
+{
+ return (((Wdt *)hw)->SYNCBUSY.reg & WDT_SYNCBUSY_ALWAYSON) >> WDT_SYNCBUSY_ALWAYSON_Pos;
+}
+
+static inline bool hri_wdt_get_SYNCBUSY_CLEAR_bit(const void *const hw)
+{
+ return (((Wdt *)hw)->SYNCBUSY.reg & WDT_SYNCBUSY_CLEAR) >> WDT_SYNCBUSY_CLEAR_Pos;
+}
+
+static inline hri_wdt_syncbusy_reg_t hri_wdt_get_SYNCBUSY_reg(const void *const hw, hri_wdt_syncbusy_reg_t mask)
+{
+ uint32_t tmp;
+ tmp = ((Wdt *)hw)->SYNCBUSY.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline hri_wdt_syncbusy_reg_t hri_wdt_read_SYNCBUSY_reg(const void *const hw)
+{
+ return ((Wdt *)hw)->SYNCBUSY.reg;
+}
+
+static inline void hri_wdt_set_CTRLA_ENABLE_bit(const void *const hw)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CTRLA.reg |= WDT_CTRLA_ENABLE;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_wdt_get_CTRLA_ENABLE_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ tmp = ((Wdt *)hw)->CTRLA.reg;
+ tmp = (tmp & WDT_CTRLA_ENABLE) >> WDT_CTRLA_ENABLE_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_wdt_write_CTRLA_ENABLE_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ WDT_CRITICAL_SECTION_ENTER();
+ tmp = ((Wdt *)hw)->CTRLA.reg;
+ tmp &= ~WDT_CTRLA_ENABLE;
+ tmp |= value << WDT_CTRLA_ENABLE_Pos;
+ ((Wdt *)hw)->CTRLA.reg = tmp;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_clear_CTRLA_ENABLE_bit(const void *const hw)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CTRLA.reg &= ~WDT_CTRLA_ENABLE;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_toggle_CTRLA_ENABLE_bit(const void *const hw)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CTRLA.reg ^= WDT_CTRLA_ENABLE;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_set_CTRLA_WEN_bit(const void *const hw)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CTRLA.reg |= WDT_CTRLA_WEN;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_wdt_get_CTRLA_WEN_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ tmp = ((Wdt *)hw)->CTRLA.reg;
+ tmp = (tmp & WDT_CTRLA_WEN) >> WDT_CTRLA_WEN_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_wdt_write_CTRLA_WEN_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ WDT_CRITICAL_SECTION_ENTER();
+ tmp = ((Wdt *)hw)->CTRLA.reg;
+ tmp &= ~WDT_CTRLA_WEN;
+ tmp |= value << WDT_CTRLA_WEN_Pos;
+ ((Wdt *)hw)->CTRLA.reg = tmp;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_clear_CTRLA_WEN_bit(const void *const hw)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CTRLA.reg &= ~WDT_CTRLA_WEN;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_toggle_CTRLA_WEN_bit(const void *const hw)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CTRLA.reg ^= WDT_CTRLA_WEN;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_set_CTRLA_ALWAYSON_bit(const void *const hw)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CTRLA.reg |= WDT_CTRLA_ALWAYSON;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline bool hri_wdt_get_CTRLA_ALWAYSON_bit(const void *const hw)
+{
+ uint8_t tmp;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ tmp = ((Wdt *)hw)->CTRLA.reg;
+ tmp = (tmp & WDT_CTRLA_ALWAYSON) >> WDT_CTRLA_ALWAYSON_Pos;
+ return (bool)tmp;
+}
+
+static inline void hri_wdt_write_CTRLA_ALWAYSON_bit(const void *const hw, bool value)
+{
+ uint8_t tmp;
+ WDT_CRITICAL_SECTION_ENTER();
+ tmp = ((Wdt *)hw)->CTRLA.reg;
+ tmp &= ~WDT_CTRLA_ALWAYSON;
+ tmp |= value << WDT_CTRLA_ALWAYSON_Pos;
+ ((Wdt *)hw)->CTRLA.reg = tmp;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_clear_CTRLA_ALWAYSON_bit(const void *const hw)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CTRLA.reg &= ~WDT_CTRLA_ALWAYSON;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_toggle_CTRLA_ALWAYSON_bit(const void *const hw)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CTRLA.reg ^= WDT_CTRLA_ALWAYSON;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_set_CTRLA_reg(const void *const hw, hri_wdt_ctrla_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CTRLA.reg |= mask;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_wdt_ctrla_reg_t hri_wdt_get_CTRLA_reg(const void *const hw, hri_wdt_ctrla_reg_t mask)
+{
+ uint8_t tmp;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ tmp = ((Wdt *)hw)->CTRLA.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_wdt_write_CTRLA_reg(const void *const hw, hri_wdt_ctrla_reg_t data)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CTRLA.reg = data;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_clear_CTRLA_reg(const void *const hw, hri_wdt_ctrla_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CTRLA.reg &= ~mask;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_toggle_CTRLA_reg(const void *const hw, hri_wdt_ctrla_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CTRLA.reg ^= mask;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_wdt_ctrla_reg_t hri_wdt_read_CTRLA_reg(const void *const hw)
+{
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_ENABLE | WDT_SYNCBUSY_WEN | WDT_SYNCBUSY_ALWAYSON);
+ return ((Wdt *)hw)->CTRLA.reg;
+}
+
+static inline void hri_wdt_set_CONFIG_PER_bf(const void *const hw, hri_wdt_config_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CONFIG.reg |= WDT_CONFIG_PER(mask);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_wdt_config_reg_t hri_wdt_get_CONFIG_PER_bf(const void *const hw, hri_wdt_config_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Wdt *)hw)->CONFIG.reg;
+ tmp = (tmp & WDT_CONFIG_PER(mask)) >> WDT_CONFIG_PER_Pos;
+ return tmp;
+}
+
+static inline void hri_wdt_write_CONFIG_PER_bf(const void *const hw, hri_wdt_config_reg_t data)
+{
+ uint8_t tmp;
+ WDT_CRITICAL_SECTION_ENTER();
+ tmp = ((Wdt *)hw)->CONFIG.reg;
+ tmp &= ~WDT_CONFIG_PER_Msk;
+ tmp |= WDT_CONFIG_PER(data);
+ ((Wdt *)hw)->CONFIG.reg = tmp;
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_clear_CONFIG_PER_bf(const void *const hw, hri_wdt_config_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CONFIG.reg &= ~WDT_CONFIG_PER(mask);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_toggle_CONFIG_PER_bf(const void *const hw, hri_wdt_config_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CONFIG.reg ^= WDT_CONFIG_PER(mask);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_wdt_config_reg_t hri_wdt_read_CONFIG_PER_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Wdt *)hw)->CONFIG.reg;
+ tmp = (tmp & WDT_CONFIG_PER_Msk) >> WDT_CONFIG_PER_Pos;
+ return tmp;
+}
+
+static inline void hri_wdt_set_CONFIG_WINDOW_bf(const void *const hw, hri_wdt_config_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CONFIG.reg |= WDT_CONFIG_WINDOW(mask);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_wdt_config_reg_t hri_wdt_get_CONFIG_WINDOW_bf(const void *const hw, hri_wdt_config_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Wdt *)hw)->CONFIG.reg;
+ tmp = (tmp & WDT_CONFIG_WINDOW(mask)) >> WDT_CONFIG_WINDOW_Pos;
+ return tmp;
+}
+
+static inline void hri_wdt_write_CONFIG_WINDOW_bf(const void *const hw, hri_wdt_config_reg_t data)
+{
+ uint8_t tmp;
+ WDT_CRITICAL_SECTION_ENTER();
+ tmp = ((Wdt *)hw)->CONFIG.reg;
+ tmp &= ~WDT_CONFIG_WINDOW_Msk;
+ tmp |= WDT_CONFIG_WINDOW(data);
+ ((Wdt *)hw)->CONFIG.reg = tmp;
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_clear_CONFIG_WINDOW_bf(const void *const hw, hri_wdt_config_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CONFIG.reg &= ~WDT_CONFIG_WINDOW(mask);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_toggle_CONFIG_WINDOW_bf(const void *const hw, hri_wdt_config_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CONFIG.reg ^= WDT_CONFIG_WINDOW(mask);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_wdt_config_reg_t hri_wdt_read_CONFIG_WINDOW_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Wdt *)hw)->CONFIG.reg;
+ tmp = (tmp & WDT_CONFIG_WINDOW_Msk) >> WDT_CONFIG_WINDOW_Pos;
+ return tmp;
+}
+
+static inline void hri_wdt_set_CONFIG_reg(const void *const hw, hri_wdt_config_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CONFIG.reg |= mask;
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_wdt_config_reg_t hri_wdt_get_CONFIG_reg(const void *const hw, hri_wdt_config_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Wdt *)hw)->CONFIG.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_wdt_write_CONFIG_reg(const void *const hw, hri_wdt_config_reg_t data)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CONFIG.reg = data;
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_clear_CONFIG_reg(const void *const hw, hri_wdt_config_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CONFIG.reg &= ~mask;
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_toggle_CONFIG_reg(const void *const hw, hri_wdt_config_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CONFIG.reg ^= mask;
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_wdt_config_reg_t hri_wdt_read_CONFIG_reg(const void *const hw)
+{
+ return ((Wdt *)hw)->CONFIG.reg;
+}
+
+static inline void hri_wdt_set_EWCTRL_EWOFFSET_bf(const void *const hw, hri_wdt_ewctrl_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->EWCTRL.reg |= WDT_EWCTRL_EWOFFSET(mask);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_wdt_ewctrl_reg_t hri_wdt_get_EWCTRL_EWOFFSET_bf(const void *const hw, hri_wdt_ewctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Wdt *)hw)->EWCTRL.reg;
+ tmp = (tmp & WDT_EWCTRL_EWOFFSET(mask)) >> WDT_EWCTRL_EWOFFSET_Pos;
+ return tmp;
+}
+
+static inline void hri_wdt_write_EWCTRL_EWOFFSET_bf(const void *const hw, hri_wdt_ewctrl_reg_t data)
+{
+ uint8_t tmp;
+ WDT_CRITICAL_SECTION_ENTER();
+ tmp = ((Wdt *)hw)->EWCTRL.reg;
+ tmp &= ~WDT_EWCTRL_EWOFFSET_Msk;
+ tmp |= WDT_EWCTRL_EWOFFSET(data);
+ ((Wdt *)hw)->EWCTRL.reg = tmp;
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_clear_EWCTRL_EWOFFSET_bf(const void *const hw, hri_wdt_ewctrl_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->EWCTRL.reg &= ~WDT_EWCTRL_EWOFFSET(mask);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_toggle_EWCTRL_EWOFFSET_bf(const void *const hw, hri_wdt_ewctrl_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->EWCTRL.reg ^= WDT_EWCTRL_EWOFFSET(mask);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_wdt_ewctrl_reg_t hri_wdt_read_EWCTRL_EWOFFSET_bf(const void *const hw)
+{
+ uint8_t tmp;
+ tmp = ((Wdt *)hw)->EWCTRL.reg;
+ tmp = (tmp & WDT_EWCTRL_EWOFFSET_Msk) >> WDT_EWCTRL_EWOFFSET_Pos;
+ return tmp;
+}
+
+static inline void hri_wdt_set_EWCTRL_reg(const void *const hw, hri_wdt_ewctrl_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->EWCTRL.reg |= mask;
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_wdt_ewctrl_reg_t hri_wdt_get_EWCTRL_reg(const void *const hw, hri_wdt_ewctrl_reg_t mask)
+{
+ uint8_t tmp;
+ tmp = ((Wdt *)hw)->EWCTRL.reg;
+ tmp &= mask;
+ return tmp;
+}
+
+static inline void hri_wdt_write_EWCTRL_reg(const void *const hw, hri_wdt_ewctrl_reg_t data)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->EWCTRL.reg = data;
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_clear_EWCTRL_reg(const void *const hw, hri_wdt_ewctrl_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->EWCTRL.reg &= ~mask;
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline void hri_wdt_toggle_EWCTRL_reg(const void *const hw, hri_wdt_ewctrl_reg_t mask)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->EWCTRL.reg ^= mask;
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+static inline hri_wdt_ewctrl_reg_t hri_wdt_read_EWCTRL_reg(const void *const hw)
+{
+ return ((Wdt *)hw)->EWCTRL.reg;
+}
+
+static inline void hri_wdt_write_CLEAR_reg(const void *const hw, hri_wdt_clear_reg_t data)
+{
+ WDT_CRITICAL_SECTION_ENTER();
+ ((Wdt *)hw)->CLEAR.reg = data;
+ hri_wdt_wait_for_sync(hw, WDT_SYNCBUSY_CLEAR);
+ WDT_CRITICAL_SECTION_LEAVE();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _HRI_WDT_E54_H_INCLUDED */
+#endif /* _SAME54_WDT_COMPONENT_ */