1 /** 2 * \file 3 * 4 * \brief Component description for PAC 5 * 6 * Copyright (c) 2016 Atmel Corporation, 7 * a wholly owned subsidiary of Microchip Technology Inc. 8 * 9 * \asf_license_start 10 * 11 * \page License 12 * 13 * Licensed under the Apache License, Version 2.0 (the "License"); 14 * you may not use this file except in compliance with the License. 15 * You may obtain a copy of the Licence at 16 * 17 * http://www.apache.org/licenses/LICENSE-2.0 18 * 19 * Unless required by applicable law or agreed to in writing, software 20 * distributed under the License is distributed on an "AS IS" BASIS, 21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 * See the License for the specific language governing permissions and 23 * limitations under the License. 24 * 25 * \asf_license_stop 26 * 27 */ 28 29 #ifndef _SAML21_PAC_COMPONENT_ 30 #define _SAML21_PAC_COMPONENT_ 31 32 /* ========================================================================== */ 33 /** SOFTWARE API DEFINITION FOR PAC */ 34 /* ========================================================================== */ 35 /** \addtogroup SAML21_PAC Peripheral Access Controller */ 36 /*@{*/ 37 38 #define PAC_U2120 39 #define REV_PAC 0x110 40 41 /* -------- PAC_WRCTRL : (PAC Offset: 0x00) (R/W 32) Write control -------- */ 42 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 43 typedef union { 44 struct { 45 uint32_t PERID:16; /*!< bit: 0..15 Peripheral identifier */ 46 uint32_t KEY:8; /*!< bit: 16..23 Peripheral access control key */ 47 uint32_t :8; /*!< bit: 24..31 Reserved */ 48 } bit; /*!< Structure used for bit access */ 49 uint32_t reg; /*!< Type used for register access */ 50 } PAC_WRCTRL_Type; 51 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 52 53 #define PAC_WRCTRL_OFFSET 0x00 /**< \brief (PAC_WRCTRL offset) Write control */ 54 #define PAC_WRCTRL_RESETVALUE _U(0x00000000) /**< \brief (PAC_WRCTRL reset_value) Write control */ 55 56 #define PAC_WRCTRL_PERID_Pos 0 /**< \brief (PAC_WRCTRL) Peripheral identifier */ 57 #define PAC_WRCTRL_PERID_Msk (_U(0xFFFF) << PAC_WRCTRL_PERID_Pos) 58 #define PAC_WRCTRL_PERID(value) (PAC_WRCTRL_PERID_Msk & ((value) << PAC_WRCTRL_PERID_Pos)) 59 #define PAC_WRCTRL_KEY_Pos 16 /**< \brief (PAC_WRCTRL) Peripheral access control key */ 60 #define PAC_WRCTRL_KEY_Msk (_U(0xFF) << PAC_WRCTRL_KEY_Pos) 61 #define PAC_WRCTRL_KEY(value) (PAC_WRCTRL_KEY_Msk & ((value) << PAC_WRCTRL_KEY_Pos)) 62 #define PAC_WRCTRL_KEY_OFF_Val _U(0x0) /**< \brief (PAC_WRCTRL) No action */ 63 #define PAC_WRCTRL_KEY_CLR_Val _U(0x1) /**< \brief (PAC_WRCTRL) Clear protection */ 64 #define PAC_WRCTRL_KEY_SET_Val _U(0x2) /**< \brief (PAC_WRCTRL) Set protection */ 65 #define PAC_WRCTRL_KEY_SETLCK_Val _U(0x3) /**< \brief (PAC_WRCTRL) Set and lock protection */ 66 #define PAC_WRCTRL_KEY_OFF (PAC_WRCTRL_KEY_OFF_Val << PAC_WRCTRL_KEY_Pos) 67 #define PAC_WRCTRL_KEY_CLR (PAC_WRCTRL_KEY_CLR_Val << PAC_WRCTRL_KEY_Pos) 68 #define PAC_WRCTRL_KEY_SET (PAC_WRCTRL_KEY_SET_Val << PAC_WRCTRL_KEY_Pos) 69 #define PAC_WRCTRL_KEY_SETLCK (PAC_WRCTRL_KEY_SETLCK_Val << PAC_WRCTRL_KEY_Pos) 70 #define PAC_WRCTRL_MASK _U(0x00FFFFFF) /**< \brief (PAC_WRCTRL) MASK Register */ 71 72 /* -------- PAC_EVCTRL : (PAC Offset: 0x04) (R/W 8) Event control -------- */ 73 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 74 typedef union { 75 struct { 76 uint8_t ERREO:1; /*!< bit: 0 Peripheral acess error event output */ 77 uint8_t :7; /*!< bit: 1.. 7 Reserved */ 78 } bit; /*!< Structure used for bit access */ 79 uint8_t reg; /*!< Type used for register access */ 80 } PAC_EVCTRL_Type; 81 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 82 83 #define PAC_EVCTRL_OFFSET 0x04 /**< \brief (PAC_EVCTRL offset) Event control */ 84 #define PAC_EVCTRL_RESETVALUE _U(0x00) /**< \brief (PAC_EVCTRL reset_value) Event control */ 85 86 #define PAC_EVCTRL_ERREO_Pos 0 /**< \brief (PAC_EVCTRL) Peripheral acess error event output */ 87 #define PAC_EVCTRL_ERREO (_U(0x1) << PAC_EVCTRL_ERREO_Pos) 88 #define PAC_EVCTRL_MASK _U(0x01) /**< \brief (PAC_EVCTRL) MASK Register */ 89 90 /* -------- PAC_INTENCLR : (PAC Offset: 0x08) (R/W 8) Interrupt enable clear -------- */ 91 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 92 typedef union { 93 struct { 94 uint8_t ERR:1; /*!< bit: 0 Peripheral access error interrupt disable */ 95 uint8_t :7; /*!< bit: 1.. 7 Reserved */ 96 } bit; /*!< Structure used for bit access */ 97 uint8_t reg; /*!< Type used for register access */ 98 } PAC_INTENCLR_Type; 99 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 100 101 #define PAC_INTENCLR_OFFSET 0x08 /**< \brief (PAC_INTENCLR offset) Interrupt enable clear */ 102 #define PAC_INTENCLR_RESETVALUE _U(0x00) /**< \brief (PAC_INTENCLR reset_value) Interrupt enable clear */ 103 104 #define PAC_INTENCLR_ERR_Pos 0 /**< \brief (PAC_INTENCLR) Peripheral access error interrupt disable */ 105 #define PAC_INTENCLR_ERR (_U(0x1) << PAC_INTENCLR_ERR_Pos) 106 #define PAC_INTENCLR_MASK _U(0x01) /**< \brief (PAC_INTENCLR) MASK Register */ 107 108 /* -------- PAC_INTENSET : (PAC Offset: 0x09) (R/W 8) Interrupt enable set -------- */ 109 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 110 typedef union { 111 struct { 112 uint8_t ERR:1; /*!< bit: 0 Peripheral access error interrupt enable */ 113 uint8_t :7; /*!< bit: 1.. 7 Reserved */ 114 } bit; /*!< Structure used for bit access */ 115 uint8_t reg; /*!< Type used for register access */ 116 } PAC_INTENSET_Type; 117 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 118 119 #define PAC_INTENSET_OFFSET 0x09 /**< \brief (PAC_INTENSET offset) Interrupt enable set */ 120 #define PAC_INTENSET_RESETVALUE _U(0x00) /**< \brief (PAC_INTENSET reset_value) Interrupt enable set */ 121 122 #define PAC_INTENSET_ERR_Pos 0 /**< \brief (PAC_INTENSET) Peripheral access error interrupt enable */ 123 #define PAC_INTENSET_ERR (_U(0x1) << PAC_INTENSET_ERR_Pos) 124 #define PAC_INTENSET_MASK _U(0x01) /**< \brief (PAC_INTENSET) MASK Register */ 125 126 /* -------- PAC_INTFLAGAHB : (PAC Offset: 0x10) (R/W 32) Bridge interrupt flag status -------- */ 127 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 128 typedef union { // __I to avoid read-modify-write on write-to-clear register 129 struct { 130 __I uint32_t FLASH_:1; /*!< bit: 0 FLASH */ 131 __I uint32_t HSRAMCM0P_:1; /*!< bit: 1 HSRAMCM0P */ 132 __I uint32_t HSRAMDSU_:1; /*!< bit: 2 HSRAMDSU */ 133 __I uint32_t HPB1_:1; /*!< bit: 3 HPB1 */ 134 __I uint32_t H2LBRIDGES_:1; /*!< bit: 4 H2LBRIDGES */ 135 __I uint32_t :11; /*!< bit: 5..15 Reserved */ 136 __I uint32_t HPB0_:1; /*!< bit: 16 HPB0 */ 137 __I uint32_t HPB2_:1; /*!< bit: 17 HPB2 */ 138 __I uint32_t HPB3_:1; /*!< bit: 18 HPB3 */ 139 __I uint32_t HPB4_:1; /*!< bit: 19 HPB4 */ 140 __I uint32_t :1; /*!< bit: 20 Reserved */ 141 __I uint32_t LPRAMHS_:1; /*!< bit: 21 LPRAMHS */ 142 __I uint32_t LPRAMPICOP_:1; /*!< bit: 22 LPRAMPICOP */ 143 __I uint32_t LPRAMDMAC_:1; /*!< bit: 23 LPRAMDMAC */ 144 __I uint32_t L2HBRIDGES_:1; /*!< bit: 24 L2HBRIDGES */ 145 __I uint32_t HSRAMLP_:1; /*!< bit: 25 HSRAMLP */ 146 __I uint32_t :6; /*!< bit: 26..31 Reserved */ 147 } bit; /*!< Structure used for bit access */ 148 uint32_t reg; /*!< Type used for register access */ 149 } PAC_INTFLAGAHB_Type; 150 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 151 152 #define PAC_INTFLAGAHB_OFFSET 0x10 /**< \brief (PAC_INTFLAGAHB offset) Bridge interrupt flag status */ 153 #define PAC_INTFLAGAHB_RESETVALUE _U(0x00000000) /**< \brief (PAC_INTFLAGAHB reset_value) Bridge interrupt flag status */ 154 155 #define PAC_INTFLAGAHB_FLASH_Pos 0 /**< \brief (PAC_INTFLAGAHB) FLASH */ 156 #define PAC_INTFLAGAHB_FLASH (_U(0x1) << PAC_INTFLAGAHB_FLASH_Pos) 157 #define PAC_INTFLAGAHB_HSRAMCM0P_Pos 1 /**< \brief (PAC_INTFLAGAHB) HSRAMCM0P */ 158 #define PAC_INTFLAGAHB_HSRAMCM0P (_U(0x1) << PAC_INTFLAGAHB_HSRAMCM0P_Pos) 159 #define PAC_INTFLAGAHB_HSRAMDSU_Pos 2 /**< \brief (PAC_INTFLAGAHB) HSRAMDSU */ 160 #define PAC_INTFLAGAHB_HSRAMDSU (_U(0x1) << PAC_INTFLAGAHB_HSRAMDSU_Pos) 161 #define PAC_INTFLAGAHB_HPB1_Pos 3 /**< \brief (PAC_INTFLAGAHB) HPB1 */ 162 #define PAC_INTFLAGAHB_HPB1 (_U(0x1) << PAC_INTFLAGAHB_HPB1_Pos) 163 #define PAC_INTFLAGAHB_H2LBRIDGES_Pos 4 /**< \brief (PAC_INTFLAGAHB) H2LBRIDGES */ 164 #define PAC_INTFLAGAHB_H2LBRIDGES (_U(0x1) << PAC_INTFLAGAHB_H2LBRIDGES_Pos) 165 #define PAC_INTFLAGAHB_HPB0_Pos 16 /**< \brief (PAC_INTFLAGAHB) HPB0 */ 166 #define PAC_INTFLAGAHB_HPB0 (_U(0x1) << PAC_INTFLAGAHB_HPB0_Pos) 167 #define PAC_INTFLAGAHB_HPB2_Pos 17 /**< \brief (PAC_INTFLAGAHB) HPB2 */ 168 #define PAC_INTFLAGAHB_HPB2 (_U(0x1) << PAC_INTFLAGAHB_HPB2_Pos) 169 #define PAC_INTFLAGAHB_HPB3_Pos 18 /**< \brief (PAC_INTFLAGAHB) HPB3 */ 170 #define PAC_INTFLAGAHB_HPB3 (_U(0x1) << PAC_INTFLAGAHB_HPB3_Pos) 171 #define PAC_INTFLAGAHB_HPB4_Pos 19 /**< \brief (PAC_INTFLAGAHB) HPB4 */ 172 #define PAC_INTFLAGAHB_HPB4 (_U(0x1) << PAC_INTFLAGAHB_HPB4_Pos) 173 #define PAC_INTFLAGAHB_LPRAMHS_Pos 21 /**< \brief (PAC_INTFLAGAHB) LPRAMHS */ 174 #define PAC_INTFLAGAHB_LPRAMHS (_U(0x1) << PAC_INTFLAGAHB_LPRAMHS_Pos) 175 #define PAC_INTFLAGAHB_LPRAMPICOP_Pos 22 /**< \brief (PAC_INTFLAGAHB) LPRAMPICOP */ 176 #define PAC_INTFLAGAHB_LPRAMPICOP (_U(0x1) << PAC_INTFLAGAHB_LPRAMPICOP_Pos) 177 #define PAC_INTFLAGAHB_LPRAMDMAC_Pos 23 /**< \brief (PAC_INTFLAGAHB) LPRAMDMAC */ 178 #define PAC_INTFLAGAHB_LPRAMDMAC (_U(0x1) << PAC_INTFLAGAHB_LPRAMDMAC_Pos) 179 #define PAC_INTFLAGAHB_L2HBRIDGES_Pos 24 /**< \brief (PAC_INTFLAGAHB) L2HBRIDGES */ 180 #define PAC_INTFLAGAHB_L2HBRIDGES (_U(0x1) << PAC_INTFLAGAHB_L2HBRIDGES_Pos) 181 #define PAC_INTFLAGAHB_HSRAMLP_Pos 25 /**< \brief (PAC_INTFLAGAHB) HSRAMLP */ 182 #define PAC_INTFLAGAHB_HSRAMLP (_U(0x1) << PAC_INTFLAGAHB_HSRAMLP_Pos) 183 #define PAC_INTFLAGAHB_MASK _U(0x03EF001F) /**< \brief (PAC_INTFLAGAHB) MASK Register */ 184 185 /* -------- PAC_INTFLAGA : (PAC Offset: 0x14) (R/W 32) Peripheral interrupt flag status - Bridge A -------- */ 186 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 187 typedef union { // __I to avoid read-modify-write on write-to-clear register 188 struct { 189 __I uint32_t PM_:1; /*!< bit: 0 PM */ 190 __I uint32_t MCLK_:1; /*!< bit: 1 MCLK */ 191 __I uint32_t RSTC_:1; /*!< bit: 2 RSTC */ 192 __I uint32_t OSCCTRL_:1; /*!< bit: 3 OSCCTRL */ 193 __I uint32_t OSC32KCTRL_:1; /*!< bit: 4 OSC32KCTRL */ 194 __I uint32_t SUPC_:1; /*!< bit: 5 SUPC */ 195 __I uint32_t GCLK_:1; /*!< bit: 6 GCLK */ 196 __I uint32_t WDT_:1; /*!< bit: 7 WDT */ 197 __I uint32_t RTC_:1; /*!< bit: 8 RTC */ 198 __I uint32_t EIC_:1; /*!< bit: 9 EIC */ 199 __I uint32_t PORT_:1; /*!< bit: 10 PORT */ 200 __I uint32_t TAL_:1; /*!< bit: 11 TAL */ 201 __I uint32_t :20; /*!< bit: 12..31 Reserved */ 202 } bit; /*!< Structure used for bit access */ 203 uint32_t reg; /*!< Type used for register access */ 204 } PAC_INTFLAGA_Type; 205 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 206 207 #define PAC_INTFLAGA_OFFSET 0x14 /**< \brief (PAC_INTFLAGA offset) Peripheral interrupt flag status - Bridge A */ 208 #define PAC_INTFLAGA_RESETVALUE _U(0x00000000) /**< \brief (PAC_INTFLAGA reset_value) Peripheral interrupt flag status - Bridge A */ 209 210 #define PAC_INTFLAGA_PM_Pos 0 /**< \brief (PAC_INTFLAGA) PM */ 211 #define PAC_INTFLAGA_PM (_U(0x1) << PAC_INTFLAGA_PM_Pos) 212 #define PAC_INTFLAGA_MCLK_Pos 1 /**< \brief (PAC_INTFLAGA) MCLK */ 213 #define PAC_INTFLAGA_MCLK (_U(0x1) << PAC_INTFLAGA_MCLK_Pos) 214 #define PAC_INTFLAGA_RSTC_Pos 2 /**< \brief (PAC_INTFLAGA) RSTC */ 215 #define PAC_INTFLAGA_RSTC (_U(0x1) << PAC_INTFLAGA_RSTC_Pos) 216 #define PAC_INTFLAGA_OSCCTRL_Pos 3 /**< \brief (PAC_INTFLAGA) OSCCTRL */ 217 #define PAC_INTFLAGA_OSCCTRL (_U(0x1) << PAC_INTFLAGA_OSCCTRL_Pos) 218 #define PAC_INTFLAGA_OSC32KCTRL_Pos 4 /**< \brief (PAC_INTFLAGA) OSC32KCTRL */ 219 #define PAC_INTFLAGA_OSC32KCTRL (_U(0x1) << PAC_INTFLAGA_OSC32KCTRL_Pos) 220 #define PAC_INTFLAGA_SUPC_Pos 5 /**< \brief (PAC_INTFLAGA) SUPC */ 221 #define PAC_INTFLAGA_SUPC (_U(0x1) << PAC_INTFLAGA_SUPC_Pos) 222 #define PAC_INTFLAGA_GCLK_Pos 6 /**< \brief (PAC_INTFLAGA) GCLK */ 223 #define PAC_INTFLAGA_GCLK (_U(0x1) << PAC_INTFLAGA_GCLK_Pos) 224 #define PAC_INTFLAGA_WDT_Pos 7 /**< \brief (PAC_INTFLAGA) WDT */ 225 #define PAC_INTFLAGA_WDT (_U(0x1) << PAC_INTFLAGA_WDT_Pos) 226 #define PAC_INTFLAGA_RTC_Pos 8 /**< \brief (PAC_INTFLAGA) RTC */ 227 #define PAC_INTFLAGA_RTC (_U(0x1) << PAC_INTFLAGA_RTC_Pos) 228 #define PAC_INTFLAGA_EIC_Pos 9 /**< \brief (PAC_INTFLAGA) EIC */ 229 #define PAC_INTFLAGA_EIC (_U(0x1) << PAC_INTFLAGA_EIC_Pos) 230 #define PAC_INTFLAGA_PORT_Pos 10 /**< \brief (PAC_INTFLAGA) PORT */ 231 #define PAC_INTFLAGA_PORT (_U(0x1) << PAC_INTFLAGA_PORT_Pos) 232 #define PAC_INTFLAGA_TAL_Pos 11 /**< \brief (PAC_INTFLAGA) TAL */ 233 #define PAC_INTFLAGA_TAL (_U(0x1) << PAC_INTFLAGA_TAL_Pos) 234 #define PAC_INTFLAGA_MASK _U(0x00000FFF) /**< \brief (PAC_INTFLAGA) MASK Register */ 235 236 /* -------- PAC_INTFLAGB : (PAC Offset: 0x18) (R/W 32) Peripheral interrupt flag status - Bridge B -------- */ 237 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 238 typedef union { // __I to avoid read-modify-write on write-to-clear register 239 struct { 240 __I uint32_t USB_:1; /*!< bit: 0 USB */ 241 __I uint32_t DSU_:1; /*!< bit: 1 DSU */ 242 __I uint32_t NVMCTRL_:1; /*!< bit: 2 NVMCTRL */ 243 __I uint32_t MTB_:1; /*!< bit: 3 MTB */ 244 __I uint32_t :28; /*!< bit: 4..31 Reserved */ 245 } bit; /*!< Structure used for bit access */ 246 uint32_t reg; /*!< Type used for register access */ 247 } PAC_INTFLAGB_Type; 248 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 249 250 #define PAC_INTFLAGB_OFFSET 0x18 /**< \brief (PAC_INTFLAGB offset) Peripheral interrupt flag status - Bridge B */ 251 #define PAC_INTFLAGB_RESETVALUE _U(0x00000000) /**< \brief (PAC_INTFLAGB reset_value) Peripheral interrupt flag status - Bridge B */ 252 253 #define PAC_INTFLAGB_USB_Pos 0 /**< \brief (PAC_INTFLAGB) USB */ 254 #define PAC_INTFLAGB_USB (_U(0x1) << PAC_INTFLAGB_USB_Pos) 255 #define PAC_INTFLAGB_DSU_Pos 1 /**< \brief (PAC_INTFLAGB) DSU */ 256 #define PAC_INTFLAGB_DSU (_U(0x1) << PAC_INTFLAGB_DSU_Pos) 257 #define PAC_INTFLAGB_NVMCTRL_Pos 2 /**< \brief (PAC_INTFLAGB) NVMCTRL */ 258 #define PAC_INTFLAGB_NVMCTRL (_U(0x1) << PAC_INTFLAGB_NVMCTRL_Pos) 259 #define PAC_INTFLAGB_MTB_Pos 3 /**< \brief (PAC_INTFLAGB) MTB */ 260 #define PAC_INTFLAGB_MTB (_U(0x1) << PAC_INTFLAGB_MTB_Pos) 261 #define PAC_INTFLAGB_MASK _U(0x0000000F) /**< \brief (PAC_INTFLAGB) MASK Register */ 262 263 /* -------- PAC_INTFLAGC : (PAC Offset: 0x1C) (R/W 32) Peripheral interrupt flag status - Bridge C -------- */ 264 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 265 typedef union { // __I to avoid read-modify-write on write-to-clear register 266 struct { 267 __I uint32_t SERCOM0_:1; /*!< bit: 0 SERCOM0 */ 268 __I uint32_t SERCOM1_:1; /*!< bit: 1 SERCOM1 */ 269 __I uint32_t SERCOM2_:1; /*!< bit: 2 SERCOM2 */ 270 __I uint32_t SERCOM3_:1; /*!< bit: 3 SERCOM3 */ 271 __I uint32_t SERCOM4_:1; /*!< bit: 4 SERCOM4 */ 272 __I uint32_t TCC0_:1; /*!< bit: 5 TCC0 */ 273 __I uint32_t TCC1_:1; /*!< bit: 6 TCC1 */ 274 __I uint32_t TCC2_:1; /*!< bit: 7 TCC2 */ 275 __I uint32_t TC0_:1; /*!< bit: 8 TC0 */ 276 __I uint32_t TC1_:1; /*!< bit: 9 TC1 */ 277 __I uint32_t TC2_:1; /*!< bit: 10 TC2 */ 278 __I uint32_t TC3_:1; /*!< bit: 11 TC3 */ 279 __I uint32_t DAC_:1; /*!< bit: 12 DAC */ 280 __I uint32_t AES_:1; /*!< bit: 13 AES */ 281 __I uint32_t TRNG_:1; /*!< bit: 14 TRNG */ 282 __I uint32_t :17; /*!< bit: 15..31 Reserved */ 283 } bit; /*!< Structure used for bit access */ 284 uint32_t reg; /*!< Type used for register access */ 285 } PAC_INTFLAGC_Type; 286 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 287 288 #define PAC_INTFLAGC_OFFSET 0x1C /**< \brief (PAC_INTFLAGC offset) Peripheral interrupt flag status - Bridge C */ 289 #define PAC_INTFLAGC_RESETVALUE _U(0x00000000) /**< \brief (PAC_INTFLAGC reset_value) Peripheral interrupt flag status - Bridge C */ 290 291 #define PAC_INTFLAGC_SERCOM0_Pos 0 /**< \brief (PAC_INTFLAGC) SERCOM0 */ 292 #define PAC_INTFLAGC_SERCOM0 (_U(0x1) << PAC_INTFLAGC_SERCOM0_Pos) 293 #define PAC_INTFLAGC_SERCOM1_Pos 1 /**< \brief (PAC_INTFLAGC) SERCOM1 */ 294 #define PAC_INTFLAGC_SERCOM1 (_U(0x1) << PAC_INTFLAGC_SERCOM1_Pos) 295 #define PAC_INTFLAGC_SERCOM2_Pos 2 /**< \brief (PAC_INTFLAGC) SERCOM2 */ 296 #define PAC_INTFLAGC_SERCOM2 (_U(0x1) << PAC_INTFLAGC_SERCOM2_Pos) 297 #define PAC_INTFLAGC_SERCOM3_Pos 3 /**< \brief (PAC_INTFLAGC) SERCOM3 */ 298 #define PAC_INTFLAGC_SERCOM3 (_U(0x1) << PAC_INTFLAGC_SERCOM3_Pos) 299 #define PAC_INTFLAGC_SERCOM4_Pos 4 /**< \brief (PAC_INTFLAGC) SERCOM4 */ 300 #define PAC_INTFLAGC_SERCOM4 (_U(0x1) << PAC_INTFLAGC_SERCOM4_Pos) 301 #define PAC_INTFLAGC_TCC0_Pos 5 /**< \brief (PAC_INTFLAGC) TCC0 */ 302 #define PAC_INTFLAGC_TCC0 (_U(0x1) << PAC_INTFLAGC_TCC0_Pos) 303 #define PAC_INTFLAGC_TCC1_Pos 6 /**< \brief (PAC_INTFLAGC) TCC1 */ 304 #define PAC_INTFLAGC_TCC1 (_U(0x1) << PAC_INTFLAGC_TCC1_Pos) 305 #define PAC_INTFLAGC_TCC2_Pos 7 /**< \brief (PAC_INTFLAGC) TCC2 */ 306 #define PAC_INTFLAGC_TCC2 (_U(0x1) << PAC_INTFLAGC_TCC2_Pos) 307 #define PAC_INTFLAGC_TC0_Pos 8 /**< \brief (PAC_INTFLAGC) TC0 */ 308 #define PAC_INTFLAGC_TC0 (_U(0x1) << PAC_INTFLAGC_TC0_Pos) 309 #define PAC_INTFLAGC_TC1_Pos 9 /**< \brief (PAC_INTFLAGC) TC1 */ 310 #define PAC_INTFLAGC_TC1 (_U(0x1) << PAC_INTFLAGC_TC1_Pos) 311 #define PAC_INTFLAGC_TC2_Pos 10 /**< \brief (PAC_INTFLAGC) TC2 */ 312 #define PAC_INTFLAGC_TC2 (_U(0x1) << PAC_INTFLAGC_TC2_Pos) 313 #define PAC_INTFLAGC_TC3_Pos 11 /**< \brief (PAC_INTFLAGC) TC3 */ 314 #define PAC_INTFLAGC_TC3 (_U(0x1) << PAC_INTFLAGC_TC3_Pos) 315 #define PAC_INTFLAGC_DAC_Pos 12 /**< \brief (PAC_INTFLAGC) DAC */ 316 #define PAC_INTFLAGC_DAC (_U(0x1) << PAC_INTFLAGC_DAC_Pos) 317 #define PAC_INTFLAGC_AES_Pos 13 /**< \brief (PAC_INTFLAGC) AES */ 318 #define PAC_INTFLAGC_AES (_U(0x1) << PAC_INTFLAGC_AES_Pos) 319 #define PAC_INTFLAGC_TRNG_Pos 14 /**< \brief (PAC_INTFLAGC) TRNG */ 320 #define PAC_INTFLAGC_TRNG (_U(0x1) << PAC_INTFLAGC_TRNG_Pos) 321 #define PAC_INTFLAGC_MASK _U(0x00007FFF) /**< \brief (PAC_INTFLAGC) MASK Register */ 322 323 /* -------- PAC_INTFLAGD : (PAC Offset: 0x20) (R/W 32) Peripheral interrupt flag status - Bridge D -------- */ 324 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 325 typedef union { // __I to avoid read-modify-write on write-to-clear register 326 struct { 327 __I uint32_t EVSYS_:1; /*!< bit: 0 EVSYS */ 328 __I uint32_t SERCOM5_:1; /*!< bit: 1 SERCOM5 */ 329 __I uint32_t TC4_:1; /*!< bit: 2 TC4 */ 330 __I uint32_t ADC_:1; /*!< bit: 3 ADC */ 331 __I uint32_t AC_:1; /*!< bit: 4 AC */ 332 __I uint32_t PTC_:1; /*!< bit: 5 PTC */ 333 __I uint32_t OPAMP_:1; /*!< bit: 6 OPAMP */ 334 __I uint32_t CCL_:1; /*!< bit: 7 CCL */ 335 __I uint32_t :24; /*!< bit: 8..31 Reserved */ 336 } bit; /*!< Structure used for bit access */ 337 uint32_t reg; /*!< Type used for register access */ 338 } PAC_INTFLAGD_Type; 339 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 340 341 #define PAC_INTFLAGD_OFFSET 0x20 /**< \brief (PAC_INTFLAGD offset) Peripheral interrupt flag status - Bridge D */ 342 #define PAC_INTFLAGD_RESETVALUE _U(0x00000000) /**< \brief (PAC_INTFLAGD reset_value) Peripheral interrupt flag status - Bridge D */ 343 344 #define PAC_INTFLAGD_EVSYS_Pos 0 /**< \brief (PAC_INTFLAGD) EVSYS */ 345 #define PAC_INTFLAGD_EVSYS (_U(0x1) << PAC_INTFLAGD_EVSYS_Pos) 346 #define PAC_INTFLAGD_SERCOM5_Pos 1 /**< \brief (PAC_INTFLAGD) SERCOM5 */ 347 #define PAC_INTFLAGD_SERCOM5 (_U(0x1) << PAC_INTFLAGD_SERCOM5_Pos) 348 #define PAC_INTFLAGD_TC4_Pos 2 /**< \brief (PAC_INTFLAGD) TC4 */ 349 #define PAC_INTFLAGD_TC4 (_U(0x1) << PAC_INTFLAGD_TC4_Pos) 350 #define PAC_INTFLAGD_ADC_Pos 3 /**< \brief (PAC_INTFLAGD) ADC */ 351 #define PAC_INTFLAGD_ADC (_U(0x1) << PAC_INTFLAGD_ADC_Pos) 352 #define PAC_INTFLAGD_AC_Pos 4 /**< \brief (PAC_INTFLAGD) AC */ 353 #define PAC_INTFLAGD_AC (_U(0x1) << PAC_INTFLAGD_AC_Pos) 354 #define PAC_INTFLAGD_PTC_Pos 5 /**< \brief (PAC_INTFLAGD) PTC */ 355 #define PAC_INTFLAGD_PTC (_U(0x1) << PAC_INTFLAGD_PTC_Pos) 356 #define PAC_INTFLAGD_OPAMP_Pos 6 /**< \brief (PAC_INTFLAGD) OPAMP */ 357 #define PAC_INTFLAGD_OPAMP (_U(0x1) << PAC_INTFLAGD_OPAMP_Pos) 358 #define PAC_INTFLAGD_CCL_Pos 7 /**< \brief (PAC_INTFLAGD) CCL */ 359 #define PAC_INTFLAGD_CCL (_U(0x1) << PAC_INTFLAGD_CCL_Pos) 360 #define PAC_INTFLAGD_MASK _U(0x000000FF) /**< \brief (PAC_INTFLAGD) MASK Register */ 361 362 /* -------- PAC_INTFLAGE : (PAC Offset: 0x24) (R/W 32) Peripheral interrupt flag status - Bridge E -------- */ 363 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 364 typedef union { // __I to avoid read-modify-write on write-to-clear register 365 struct { 366 __I uint32_t PAC_:1; /*!< bit: 0 PAC */ 367 __I uint32_t DMAC_:1; /*!< bit: 1 DMAC */ 368 __I uint32_t :30; /*!< bit: 2..31 Reserved */ 369 } bit; /*!< Structure used for bit access */ 370 uint32_t reg; /*!< Type used for register access */ 371 } PAC_INTFLAGE_Type; 372 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 373 374 #define PAC_INTFLAGE_OFFSET 0x24 /**< \brief (PAC_INTFLAGE offset) Peripheral interrupt flag status - Bridge E */ 375 #define PAC_INTFLAGE_RESETVALUE _U(0x00000000) /**< \brief (PAC_INTFLAGE reset_value) Peripheral interrupt flag status - Bridge E */ 376 377 #define PAC_INTFLAGE_PAC_Pos 0 /**< \brief (PAC_INTFLAGE) PAC */ 378 #define PAC_INTFLAGE_PAC (_U(0x1) << PAC_INTFLAGE_PAC_Pos) 379 #define PAC_INTFLAGE_DMAC_Pos 1 /**< \brief (PAC_INTFLAGE) DMAC */ 380 #define PAC_INTFLAGE_DMAC (_U(0x1) << PAC_INTFLAGE_DMAC_Pos) 381 #define PAC_INTFLAGE_MASK _U(0x00000003) /**< \brief (PAC_INTFLAGE) MASK Register */ 382 383 /* -------- PAC_STATUSA : (PAC Offset: 0x34) (R/ 32) Peripheral write protection status - Bridge A -------- */ 384 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 385 typedef union { 386 struct { 387 uint32_t PM_:1; /*!< bit: 0 PM APB Protect Enable */ 388 uint32_t MCLK_:1; /*!< bit: 1 MCLK APB Protect Enable */ 389 uint32_t RSTC_:1; /*!< bit: 2 RSTC APB Protect Enable */ 390 uint32_t OSCCTRL_:1; /*!< bit: 3 OSCCTRL APB Protect Enable */ 391 uint32_t OSC32KCTRL_:1; /*!< bit: 4 OSC32KCTRL APB Protect Enable */ 392 uint32_t SUPC_:1; /*!< bit: 5 SUPC APB Protect Enable */ 393 uint32_t GCLK_:1; /*!< bit: 6 GCLK APB Protect Enable */ 394 uint32_t WDT_:1; /*!< bit: 7 WDT APB Protect Enable */ 395 uint32_t RTC_:1; /*!< bit: 8 RTC APB Protect Enable */ 396 uint32_t EIC_:1; /*!< bit: 9 EIC APB Protect Enable */ 397 uint32_t PORT_:1; /*!< bit: 10 PORT APB Protect Enable */ 398 uint32_t TAL_:1; /*!< bit: 11 TAL APB Protect Enable */ 399 uint32_t :20; /*!< bit: 12..31 Reserved */ 400 } bit; /*!< Structure used for bit access */ 401 uint32_t reg; /*!< Type used for register access */ 402 } PAC_STATUSA_Type; 403 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 404 405 #define PAC_STATUSA_OFFSET 0x34 /**< \brief (PAC_STATUSA offset) Peripheral write protection status - Bridge A */ 406 #define PAC_STATUSA_RESETVALUE _U(0x00003000) /**< \brief (PAC_STATUSA reset_value) Peripheral write protection status - Bridge A */ 407 408 #define PAC_STATUSA_PM_Pos 0 /**< \brief (PAC_STATUSA) PM APB Protect Enable */ 409 #define PAC_STATUSA_PM (_U(0x1) << PAC_STATUSA_PM_Pos) 410 #define PAC_STATUSA_MCLK_Pos 1 /**< \brief (PAC_STATUSA) MCLK APB Protect Enable */ 411 #define PAC_STATUSA_MCLK (_U(0x1) << PAC_STATUSA_MCLK_Pos) 412 #define PAC_STATUSA_RSTC_Pos 2 /**< \brief (PAC_STATUSA) RSTC APB Protect Enable */ 413 #define PAC_STATUSA_RSTC (_U(0x1) << PAC_STATUSA_RSTC_Pos) 414 #define PAC_STATUSA_OSCCTRL_Pos 3 /**< \brief (PAC_STATUSA) OSCCTRL APB Protect Enable */ 415 #define PAC_STATUSA_OSCCTRL (_U(0x1) << PAC_STATUSA_OSCCTRL_Pos) 416 #define PAC_STATUSA_OSC32KCTRL_Pos 4 /**< \brief (PAC_STATUSA) OSC32KCTRL APB Protect Enable */ 417 #define PAC_STATUSA_OSC32KCTRL (_U(0x1) << PAC_STATUSA_OSC32KCTRL_Pos) 418 #define PAC_STATUSA_SUPC_Pos 5 /**< \brief (PAC_STATUSA) SUPC APB Protect Enable */ 419 #define PAC_STATUSA_SUPC (_U(0x1) << PAC_STATUSA_SUPC_Pos) 420 #define PAC_STATUSA_GCLK_Pos 6 /**< \brief (PAC_STATUSA) GCLK APB Protect Enable */ 421 #define PAC_STATUSA_GCLK (_U(0x1) << PAC_STATUSA_GCLK_Pos) 422 #define PAC_STATUSA_WDT_Pos 7 /**< \brief (PAC_STATUSA) WDT APB Protect Enable */ 423 #define PAC_STATUSA_WDT (_U(0x1) << PAC_STATUSA_WDT_Pos) 424 #define PAC_STATUSA_RTC_Pos 8 /**< \brief (PAC_STATUSA) RTC APB Protect Enable */ 425 #define PAC_STATUSA_RTC (_U(0x1) << PAC_STATUSA_RTC_Pos) 426 #define PAC_STATUSA_EIC_Pos 9 /**< \brief (PAC_STATUSA) EIC APB Protect Enable */ 427 #define PAC_STATUSA_EIC (_U(0x1) << PAC_STATUSA_EIC_Pos) 428 #define PAC_STATUSA_PORT_Pos 10 /**< \brief (PAC_STATUSA) PORT APB Protect Enable */ 429 #define PAC_STATUSA_PORT (_U(0x1) << PAC_STATUSA_PORT_Pos) 430 #define PAC_STATUSA_TAL_Pos 11 /**< \brief (PAC_STATUSA) TAL APB Protect Enable */ 431 #define PAC_STATUSA_TAL (_U(0x1) << PAC_STATUSA_TAL_Pos) 432 #define PAC_STATUSA_MASK _U(0x00000FFF) /**< \brief (PAC_STATUSA) MASK Register */ 433 434 /* -------- PAC_STATUSB : (PAC Offset: 0x38) (R/ 32) Peripheral write protection status - Bridge B -------- */ 435 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 436 typedef union { 437 struct { 438 uint32_t USB_:1; /*!< bit: 0 USB APB Protect Enable */ 439 uint32_t DSU_:1; /*!< bit: 1 DSU APB Protect Enable */ 440 uint32_t NVMCTRL_:1; /*!< bit: 2 NVMCTRL APB Protect Enable */ 441 uint32_t MTB_:1; /*!< bit: 3 MTB APB Protect Enable */ 442 uint32_t :28; /*!< bit: 4..31 Reserved */ 443 } bit; /*!< Structure used for bit access */ 444 uint32_t reg; /*!< Type used for register access */ 445 } PAC_STATUSB_Type; 446 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 447 448 #define PAC_STATUSB_OFFSET 0x38 /**< \brief (PAC_STATUSB offset) Peripheral write protection status - Bridge B */ 449 #define PAC_STATUSB_RESETVALUE _U(0x00000002) /**< \brief (PAC_STATUSB reset_value) Peripheral write protection status - Bridge B */ 450 451 #define PAC_STATUSB_USB_Pos 0 /**< \brief (PAC_STATUSB) USB APB Protect Enable */ 452 #define PAC_STATUSB_USB (_U(0x1) << PAC_STATUSB_USB_Pos) 453 #define PAC_STATUSB_DSU_Pos 1 /**< \brief (PAC_STATUSB) DSU APB Protect Enable */ 454 #define PAC_STATUSB_DSU (_U(0x1) << PAC_STATUSB_DSU_Pos) 455 #define PAC_STATUSB_NVMCTRL_Pos 2 /**< \brief (PAC_STATUSB) NVMCTRL APB Protect Enable */ 456 #define PAC_STATUSB_NVMCTRL (_U(0x1) << PAC_STATUSB_NVMCTRL_Pos) 457 #define PAC_STATUSB_MTB_Pos 3 /**< \brief (PAC_STATUSB) MTB APB Protect Enable */ 458 #define PAC_STATUSB_MTB (_U(0x1) << PAC_STATUSB_MTB_Pos) 459 #define PAC_STATUSB_MASK _U(0x0000000F) /**< \brief (PAC_STATUSB) MASK Register */ 460 461 /* -------- PAC_STATUSC : (PAC Offset: 0x3C) (R/ 32) Peripheral write protection status - Bridge C -------- */ 462 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 463 typedef union { 464 struct { 465 uint32_t SERCOM0_:1; /*!< bit: 0 SERCOM0 APB Protect Enable */ 466 uint32_t SERCOM1_:1; /*!< bit: 1 SERCOM1 APB Protect Enable */ 467 uint32_t SERCOM2_:1; /*!< bit: 2 SERCOM2 APB Protect Enable */ 468 uint32_t SERCOM3_:1; /*!< bit: 3 SERCOM3 APB Protect Enable */ 469 uint32_t SERCOM4_:1; /*!< bit: 4 SERCOM4 APB Protect Enable */ 470 uint32_t TCC0_:1; /*!< bit: 5 TCC0 APB Protect Enable */ 471 uint32_t TCC1_:1; /*!< bit: 6 TCC1 APB Protect Enable */ 472 uint32_t TCC2_:1; /*!< bit: 7 TCC2 APB Protect Enable */ 473 uint32_t TC0_:1; /*!< bit: 8 TC0 APB Protect Enable */ 474 uint32_t TC1_:1; /*!< bit: 9 TC1 APB Protect Enable */ 475 uint32_t TC2_:1; /*!< bit: 10 TC2 APB Protect Enable */ 476 uint32_t TC3_:1; /*!< bit: 11 TC3 APB Protect Enable */ 477 uint32_t DAC_:1; /*!< bit: 12 DAC APB Protect Enable */ 478 uint32_t AES_:1; /*!< bit: 13 AES APB Protect Enable */ 479 uint32_t TRNG_:1; /*!< bit: 14 TRNG APB Protect Enable */ 480 uint32_t :17; /*!< bit: 15..31 Reserved */ 481 } bit; /*!< Structure used for bit access */ 482 uint32_t reg; /*!< Type used for register access */ 483 } PAC_STATUSC_Type; 484 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 485 486 #define PAC_STATUSC_OFFSET 0x3C /**< \brief (PAC_STATUSC offset) Peripheral write protection status - Bridge C */ 487 #define PAC_STATUSC_RESETVALUE _U(0x00000000) /**< \brief (PAC_STATUSC reset_value) Peripheral write protection status - Bridge C */ 488 489 #define PAC_STATUSC_SERCOM0_Pos 0 /**< \brief (PAC_STATUSC) SERCOM0 APB Protect Enable */ 490 #define PAC_STATUSC_SERCOM0 (_U(0x1) << PAC_STATUSC_SERCOM0_Pos) 491 #define PAC_STATUSC_SERCOM1_Pos 1 /**< \brief (PAC_STATUSC) SERCOM1 APB Protect Enable */ 492 #define PAC_STATUSC_SERCOM1 (_U(0x1) << PAC_STATUSC_SERCOM1_Pos) 493 #define PAC_STATUSC_SERCOM2_Pos 2 /**< \brief (PAC_STATUSC) SERCOM2 APB Protect Enable */ 494 #define PAC_STATUSC_SERCOM2 (_U(0x1) << PAC_STATUSC_SERCOM2_Pos) 495 #define PAC_STATUSC_SERCOM3_Pos 3 /**< \brief (PAC_STATUSC) SERCOM3 APB Protect Enable */ 496 #define PAC_STATUSC_SERCOM3 (_U(0x1) << PAC_STATUSC_SERCOM3_Pos) 497 #define PAC_STATUSC_SERCOM4_Pos 4 /**< \brief (PAC_STATUSC) SERCOM4 APB Protect Enable */ 498 #define PAC_STATUSC_SERCOM4 (_U(0x1) << PAC_STATUSC_SERCOM4_Pos) 499 #define PAC_STATUSC_TCC0_Pos 5 /**< \brief (PAC_STATUSC) TCC0 APB Protect Enable */ 500 #define PAC_STATUSC_TCC0 (_U(0x1) << PAC_STATUSC_TCC0_Pos) 501 #define PAC_STATUSC_TCC1_Pos 6 /**< \brief (PAC_STATUSC) TCC1 APB Protect Enable */ 502 #define PAC_STATUSC_TCC1 (_U(0x1) << PAC_STATUSC_TCC1_Pos) 503 #define PAC_STATUSC_TCC2_Pos 7 /**< \brief (PAC_STATUSC) TCC2 APB Protect Enable */ 504 #define PAC_STATUSC_TCC2 (_U(0x1) << PAC_STATUSC_TCC2_Pos) 505 #define PAC_STATUSC_TC0_Pos 8 /**< \brief (PAC_STATUSC) TC0 APB Protect Enable */ 506 #define PAC_STATUSC_TC0 (_U(0x1) << PAC_STATUSC_TC0_Pos) 507 #define PAC_STATUSC_TC1_Pos 9 /**< \brief (PAC_STATUSC) TC1 APB Protect Enable */ 508 #define PAC_STATUSC_TC1 (_U(0x1) << PAC_STATUSC_TC1_Pos) 509 #define PAC_STATUSC_TC2_Pos 10 /**< \brief (PAC_STATUSC) TC2 APB Protect Enable */ 510 #define PAC_STATUSC_TC2 (_U(0x1) << PAC_STATUSC_TC2_Pos) 511 #define PAC_STATUSC_TC3_Pos 11 /**< \brief (PAC_STATUSC) TC3 APB Protect Enable */ 512 #define PAC_STATUSC_TC3 (_U(0x1) << PAC_STATUSC_TC3_Pos) 513 #define PAC_STATUSC_DAC_Pos 12 /**< \brief (PAC_STATUSC) DAC APB Protect Enable */ 514 #define PAC_STATUSC_DAC (_U(0x1) << PAC_STATUSC_DAC_Pos) 515 #define PAC_STATUSC_AES_Pos 13 /**< \brief (PAC_STATUSC) AES APB Protect Enable */ 516 #define PAC_STATUSC_AES (_U(0x1) << PAC_STATUSC_AES_Pos) 517 #define PAC_STATUSC_TRNG_Pos 14 /**< \brief (PAC_STATUSC) TRNG APB Protect Enable */ 518 #define PAC_STATUSC_TRNG (_U(0x1) << PAC_STATUSC_TRNG_Pos) 519 #define PAC_STATUSC_MASK _U(0x00007FFF) /**< \brief (PAC_STATUSC) MASK Register */ 520 521 /* -------- PAC_STATUSD : (PAC Offset: 0x40) (R/ 32) Peripheral write protection status - Bridge D -------- */ 522 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 523 typedef union { 524 struct { 525 uint32_t EVSYS_:1; /*!< bit: 0 EVSYS APB Protect Enable */ 526 uint32_t SERCOM5_:1; /*!< bit: 1 SERCOM5 APB Protect Enable */ 527 uint32_t TC4_:1; /*!< bit: 2 TC4 APB Protect Enable */ 528 uint32_t ADC_:1; /*!< bit: 3 ADC APB Protect Enable */ 529 uint32_t AC_:1; /*!< bit: 4 AC APB Protect Enable */ 530 uint32_t PTC_:1; /*!< bit: 5 PTC APB Protect Enable */ 531 uint32_t OPAMP_:1; /*!< bit: 6 OPAMP APB Protect Enable */ 532 uint32_t CCL_:1; /*!< bit: 7 CCL APB Protect Enable */ 533 uint32_t :24; /*!< bit: 8..31 Reserved */ 534 } bit; /*!< Structure used for bit access */ 535 uint32_t reg; /*!< Type used for register access */ 536 } PAC_STATUSD_Type; 537 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 538 539 #define PAC_STATUSD_OFFSET 0x40 /**< \brief (PAC_STATUSD offset) Peripheral write protection status - Bridge D */ 540 #define PAC_STATUSD_RESETVALUE _U(0x00000000) /**< \brief (PAC_STATUSD reset_value) Peripheral write protection status - Bridge D */ 541 542 #define PAC_STATUSD_EVSYS_Pos 0 /**< \brief (PAC_STATUSD) EVSYS APB Protect Enable */ 543 #define PAC_STATUSD_EVSYS (_U(0x1) << PAC_STATUSD_EVSYS_Pos) 544 #define PAC_STATUSD_SERCOM5_Pos 1 /**< \brief (PAC_STATUSD) SERCOM5 APB Protect Enable */ 545 #define PAC_STATUSD_SERCOM5 (_U(0x1) << PAC_STATUSD_SERCOM5_Pos) 546 #define PAC_STATUSD_TC4_Pos 2 /**< \brief (PAC_STATUSD) TC4 APB Protect Enable */ 547 #define PAC_STATUSD_TC4 (_U(0x1) << PAC_STATUSD_TC4_Pos) 548 #define PAC_STATUSD_ADC_Pos 3 /**< \brief (PAC_STATUSD) ADC APB Protect Enable */ 549 #define PAC_STATUSD_ADC (_U(0x1) << PAC_STATUSD_ADC_Pos) 550 #define PAC_STATUSD_AC_Pos 4 /**< \brief (PAC_STATUSD) AC APB Protect Enable */ 551 #define PAC_STATUSD_AC (_U(0x1) << PAC_STATUSD_AC_Pos) 552 #define PAC_STATUSD_PTC_Pos 5 /**< \brief (PAC_STATUSD) PTC APB Protect Enable */ 553 #define PAC_STATUSD_PTC (_U(0x1) << PAC_STATUSD_PTC_Pos) 554 #define PAC_STATUSD_OPAMP_Pos 6 /**< \brief (PAC_STATUSD) OPAMP APB Protect Enable */ 555 #define PAC_STATUSD_OPAMP (_U(0x1) << PAC_STATUSD_OPAMP_Pos) 556 #define PAC_STATUSD_CCL_Pos 7 /**< \brief (PAC_STATUSD) CCL APB Protect Enable */ 557 #define PAC_STATUSD_CCL (_U(0x1) << PAC_STATUSD_CCL_Pos) 558 #define PAC_STATUSD_MASK _U(0x000000FF) /**< \brief (PAC_STATUSD) MASK Register */ 559 560 /* -------- PAC_STATUSE : (PAC Offset: 0x44) (R/ 32) Peripheral write protection status - Bridge E -------- */ 561 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 562 typedef union { 563 struct { 564 uint32_t PAC_:1; /*!< bit: 0 PAC APB Protect Enable */ 565 uint32_t DMAC_:1; /*!< bit: 1 DMAC APB Protect Enable */ 566 uint32_t :30; /*!< bit: 2..31 Reserved */ 567 } bit; /*!< Structure used for bit access */ 568 uint32_t reg; /*!< Type used for register access */ 569 } PAC_STATUSE_Type; 570 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 571 572 #define PAC_STATUSE_OFFSET 0x44 /**< \brief (PAC_STATUSE offset) Peripheral write protection status - Bridge E */ 573 #define PAC_STATUSE_RESETVALUE _U(0x00000000) /**< \brief (PAC_STATUSE reset_value) Peripheral write protection status - Bridge E */ 574 575 #define PAC_STATUSE_PAC_Pos 0 /**< \brief (PAC_STATUSE) PAC APB Protect Enable */ 576 #define PAC_STATUSE_PAC (_U(0x1) << PAC_STATUSE_PAC_Pos) 577 #define PAC_STATUSE_DMAC_Pos 1 /**< \brief (PAC_STATUSE) DMAC APB Protect Enable */ 578 #define PAC_STATUSE_DMAC (_U(0x1) << PAC_STATUSE_DMAC_Pos) 579 #define PAC_STATUSE_MASK _U(0x00000003) /**< \brief (PAC_STATUSE) MASK Register */ 580 581 /** \brief PAC hardware registers */ 582 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 583 typedef struct { 584 __IO PAC_WRCTRL_Type WRCTRL; /**< \brief Offset: 0x00 (R/W 32) Write control */ 585 __IO PAC_EVCTRL_Type EVCTRL; /**< \brief Offset: 0x04 (R/W 8) Event control */ 586 RoReg8 Reserved1[0x3]; 587 __IO PAC_INTENCLR_Type INTENCLR; /**< \brief Offset: 0x08 (R/W 8) Interrupt enable clear */ 588 __IO PAC_INTENSET_Type INTENSET; /**< \brief Offset: 0x09 (R/W 8) Interrupt enable set */ 589 RoReg8 Reserved2[0x6]; 590 __IO PAC_INTFLAGAHB_Type INTFLAGAHB; /**< \brief Offset: 0x10 (R/W 32) Bridge interrupt flag status */ 591 __IO PAC_INTFLAGA_Type INTFLAGA; /**< \brief Offset: 0x14 (R/W 32) Peripheral interrupt flag status - Bridge A */ 592 __IO PAC_INTFLAGB_Type INTFLAGB; /**< \brief Offset: 0x18 (R/W 32) Peripheral interrupt flag status - Bridge B */ 593 __IO PAC_INTFLAGC_Type INTFLAGC; /**< \brief Offset: 0x1C (R/W 32) Peripheral interrupt flag status - Bridge C */ 594 __IO PAC_INTFLAGD_Type INTFLAGD; /**< \brief Offset: 0x20 (R/W 32) Peripheral interrupt flag status - Bridge D */ 595 __IO PAC_INTFLAGE_Type INTFLAGE; /**< \brief Offset: 0x24 (R/W 32) Peripheral interrupt flag status - Bridge E */ 596 RoReg8 Reserved3[0xC]; 597 __I PAC_STATUSA_Type STATUSA; /**< \brief Offset: 0x34 (R/ 32) Peripheral write protection status - Bridge A */ 598 __I PAC_STATUSB_Type STATUSB; /**< \brief Offset: 0x38 (R/ 32) Peripheral write protection status - Bridge B */ 599 __I PAC_STATUSC_Type STATUSC; /**< \brief Offset: 0x3C (R/ 32) Peripheral write protection status - Bridge C */ 600 __I PAC_STATUSD_Type STATUSD; /**< \brief Offset: 0x40 (R/ 32) Peripheral write protection status - Bridge D */ 601 __I PAC_STATUSE_Type STATUSE; /**< \brief Offset: 0x44 (R/ 32) Peripheral write protection status - Bridge E */ 602 } Pac; 603 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 604 605 /*@}*/ 606 607 #endif /* _SAML21_PAC_COMPONENT_ */ 608