1 /**
2  * \file
3  *
4  * \brief Component description for PEVC
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 _SAM4L_PEVC_COMPONENT_
30 #define _SAM4L_PEVC_COMPONENT_
31 
32 /* ========================================================================== */
33 /**  SOFTWARE API DEFINITION FOR PEVC */
34 /* ========================================================================== */
35 /** \addtogroup SAM4L_PEVC Peripheral Event Controller */
36 /*@{*/
37 
38 #define PEVC_I7533
39 #define REV_PEVC                    0x200
40 
41 /* -------- PEVC_CHSR : (PEVC Offset: 0x000) (R/  32) Channel Status Register -------- */
42 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
43 typedef union {
44   struct {
45     uint32_t CHS:32;           /*!< bit:  0..31  Channel Status                     */
46   } bit;                       /*!< Structure used for bit  access                  */
47   uint32_t reg;                /*!< Type      used for register access              */
48 } PEVC_CHSR_Type;
49 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
50 
51 #define PEVC_CHSR_OFFSET            0x000        /**< \brief (PEVC_CHSR offset) Channel Status Register */
52 #define PEVC_CHSR_RESETVALUE        _U_(0x00000000); /**< \brief (PEVC_CHSR reset_value) Channel Status Register */
53 
54 #define PEVC_CHSR_CHS_Pos           0            /**< \brief (PEVC_CHSR) Channel Status */
55 #define PEVC_CHSR_CHS_Msk           (_U_(0xFFFFFFFF) << PEVC_CHSR_CHS_Pos)
56 #define PEVC_CHSR_CHS(value)        (PEVC_CHSR_CHS_Msk & ((value) << PEVC_CHSR_CHS_Pos))
57 #define   PEVC_CHSR_CHS_0_Val             _U_(0x0)   /**< \brief (PEVC_CHSR) Channel j Disabled */
58 #define   PEVC_CHSR_CHS_1_Val             _U_(0x1)   /**< \brief (PEVC_CHSR) Channel j Enabled */
59 #define PEVC_CHSR_CHS_0             (PEVC_CHSR_CHS_0_Val           << PEVC_CHSR_CHS_Pos)
60 #define PEVC_CHSR_CHS_1             (PEVC_CHSR_CHS_1_Val           << PEVC_CHSR_CHS_Pos)
61 #define PEVC_CHSR_MASK              _U_(0xFFFFFFFF) /**< \brief (PEVC_CHSR) MASK Register */
62 
63 /* -------- PEVC_CHER : (PEVC Offset: 0x004) ( /W 32) Channel Enable Register -------- */
64 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
65 typedef union {
66   struct {
67     uint32_t CHE:32;           /*!< bit:  0..31  Channel Enable                     */
68   } bit;                       /*!< Structure used for bit  access                  */
69   uint32_t reg;                /*!< Type      used for register access              */
70 } PEVC_CHER_Type;
71 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
72 
73 #define PEVC_CHER_OFFSET            0x004        /**< \brief (PEVC_CHER offset) Channel Enable Register */
74 #define PEVC_CHER_RESETVALUE        _U_(0x00000000); /**< \brief (PEVC_CHER reset_value) Channel Enable Register */
75 
76 #define PEVC_CHER_CHE_Pos           0            /**< \brief (PEVC_CHER) Channel Enable */
77 #define PEVC_CHER_CHE_Msk           (_U_(0xFFFFFFFF) << PEVC_CHER_CHE_Pos)
78 #define PEVC_CHER_CHE(value)        (PEVC_CHER_CHE_Msk & ((value) << PEVC_CHER_CHE_Pos))
79 #define   PEVC_CHER_CHE_0_Val             _U_(0x0)   /**< \brief (PEVC_CHER) No Action */
80 #define   PEVC_CHER_CHE_1_Val             _U_(0x1)   /**< \brief (PEVC_CHER) Enable Channel j */
81 #define PEVC_CHER_CHE_0             (PEVC_CHER_CHE_0_Val           << PEVC_CHER_CHE_Pos)
82 #define PEVC_CHER_CHE_1             (PEVC_CHER_CHE_1_Val           << PEVC_CHER_CHE_Pos)
83 #define PEVC_CHER_MASK              _U_(0xFFFFFFFF) /**< \brief (PEVC_CHER) MASK Register */
84 
85 /* -------- PEVC_CHDR : (PEVC Offset: 0x008) ( /W 32) Channel Disable Register -------- */
86 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
87 typedef union {
88   struct {
89     uint32_t CHD:32;           /*!< bit:  0..31  Channel Disable                    */
90   } bit;                       /*!< Structure used for bit  access                  */
91   uint32_t reg;                /*!< Type      used for register access              */
92 } PEVC_CHDR_Type;
93 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
94 
95 #define PEVC_CHDR_OFFSET            0x008        /**< \brief (PEVC_CHDR offset) Channel Disable Register */
96 #define PEVC_CHDR_RESETVALUE        _U_(0x00000000); /**< \brief (PEVC_CHDR reset_value) Channel Disable Register */
97 
98 #define PEVC_CHDR_CHD_Pos           0            /**< \brief (PEVC_CHDR) Channel Disable */
99 #define PEVC_CHDR_CHD_Msk           (_U_(0xFFFFFFFF) << PEVC_CHDR_CHD_Pos)
100 #define PEVC_CHDR_CHD(value)        (PEVC_CHDR_CHD_Msk & ((value) << PEVC_CHDR_CHD_Pos))
101 #define   PEVC_CHDR_CHD_0_Val             _U_(0x0)   /**< \brief (PEVC_CHDR) No Action */
102 #define   PEVC_CHDR_CHD_1_Val             _U_(0x1)   /**< \brief (PEVC_CHDR) Disable Channel j */
103 #define PEVC_CHDR_CHD_0             (PEVC_CHDR_CHD_0_Val           << PEVC_CHDR_CHD_Pos)
104 #define PEVC_CHDR_CHD_1             (PEVC_CHDR_CHD_1_Val           << PEVC_CHDR_CHD_Pos)
105 #define PEVC_CHDR_MASK              _U_(0xFFFFFFFF) /**< \brief (PEVC_CHDR) MASK Register */
106 
107 /* -------- PEVC_SEV : (PEVC Offset: 0x010) ( /W 32) Software Event -------- */
108 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
109 typedef union {
110   struct {
111     uint32_t SEV:32;           /*!< bit:  0..31  Software Event                     */
112   } bit;                       /*!< Structure used for bit  access                  */
113   uint32_t reg;                /*!< Type      used for register access              */
114 } PEVC_SEV_Type;
115 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
116 
117 #define PEVC_SEV_OFFSET             0x010        /**< \brief (PEVC_SEV offset) Software Event */
118 #define PEVC_SEV_RESETVALUE         _U_(0x00000000); /**< \brief (PEVC_SEV reset_value) Software Event */
119 
120 #define PEVC_SEV_SEV_Pos            0            /**< \brief (PEVC_SEV) Software Event */
121 #define PEVC_SEV_SEV_Msk            (_U_(0xFFFFFFFF) << PEVC_SEV_SEV_Pos)
122 #define PEVC_SEV_SEV(value)         (PEVC_SEV_SEV_Msk & ((value) << PEVC_SEV_SEV_Pos))
123 #define   PEVC_SEV_SEV_0_Val              _U_(0x0)   /**< \brief (PEVC_SEV) No Action */
124 #define   PEVC_SEV_SEV_1_Val              _U_(0x1)   /**< \brief (PEVC_SEV) CPU forces software event to channel j */
125 #define PEVC_SEV_SEV_0              (PEVC_SEV_SEV_0_Val            << PEVC_SEV_SEV_Pos)
126 #define PEVC_SEV_SEV_1              (PEVC_SEV_SEV_1_Val            << PEVC_SEV_SEV_Pos)
127 #define PEVC_SEV_MASK               _U_(0xFFFFFFFF) /**< \brief (PEVC_SEV) MASK Register */
128 
129 /* -------- PEVC_BUSY : (PEVC Offset: 0x014) (R/  32) Channel / User Busy -------- */
130 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
131 typedef union {
132   struct {
133     uint32_t BUSY:32;          /*!< bit:  0..31  Channel Status                     */
134   } bit;                       /*!< Structure used for bit  access                  */
135   uint32_t reg;                /*!< Type      used for register access              */
136 } PEVC_BUSY_Type;
137 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
138 
139 #define PEVC_BUSY_OFFSET            0x014        /**< \brief (PEVC_BUSY offset) Channel / User Busy */
140 #define PEVC_BUSY_RESETVALUE        _U_(0x00000000); /**< \brief (PEVC_BUSY reset_value) Channel / User Busy */
141 
142 #define PEVC_BUSY_BUSY_Pos          0            /**< \brief (PEVC_BUSY) Channel Status */
143 #define PEVC_BUSY_BUSY_Msk          (_U_(0xFFFFFFFF) << PEVC_BUSY_BUSY_Pos)
144 #define PEVC_BUSY_BUSY(value)       (PEVC_BUSY_BUSY_Msk & ((value) << PEVC_BUSY_BUSY_Pos))
145 #define   PEVC_BUSY_BUSY_0_Val            _U_(0x0)   /**< \brief (PEVC_BUSY) No Action */
146 #define   PEVC_BUSY_BUSY_1_Val            _U_(0x1)   /**< \brief (PEVC_BUSY) Channel j or User j is Busy */
147 #define PEVC_BUSY_BUSY_0            (PEVC_BUSY_BUSY_0_Val          << PEVC_BUSY_BUSY_Pos)
148 #define PEVC_BUSY_BUSY_1            (PEVC_BUSY_BUSY_1_Val          << PEVC_BUSY_BUSY_Pos)
149 #define PEVC_BUSY_MASK              _U_(0xFFFFFFFF) /**< \brief (PEVC_BUSY) MASK Register */
150 
151 /* -------- PEVC_TRIER : (PEVC Offset: 0x020) ( /W 32) Trigger Interrupt Mask Enable Register -------- */
152 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
153 typedef union {
154   struct {
155     uint32_t TRIE:32;          /*!< bit:  0..31  Trigger Interrupt Enable           */
156   } bit;                       /*!< Structure used for bit  access                  */
157   uint32_t reg;                /*!< Type      used for register access              */
158 } PEVC_TRIER_Type;
159 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
160 
161 #define PEVC_TRIER_OFFSET           0x020        /**< \brief (PEVC_TRIER offset) Trigger Interrupt Mask Enable Register */
162 #define PEVC_TRIER_RESETVALUE       _U_(0x00000000); /**< \brief (PEVC_TRIER reset_value) Trigger Interrupt Mask Enable Register */
163 
164 #define PEVC_TRIER_TRIE_Pos         0            /**< \brief (PEVC_TRIER) Trigger Interrupt Enable */
165 #define PEVC_TRIER_TRIE_Msk         (_U_(0xFFFFFFFF) << PEVC_TRIER_TRIE_Pos)
166 #define PEVC_TRIER_TRIE(value)      (PEVC_TRIER_TRIE_Msk & ((value) << PEVC_TRIER_TRIE_Pos))
167 #define   PEVC_TRIER_TRIE_0_Val           _U_(0x0)   /**< \brief (PEVC_TRIER) No Action */
168 #define   PEVC_TRIER_TRIE_1_Val           _U_(0x1)   /**< \brief (PEVC_TRIER) Enable Trigger j Interrupt */
169 #define PEVC_TRIER_TRIE_0           (PEVC_TRIER_TRIE_0_Val         << PEVC_TRIER_TRIE_Pos)
170 #define PEVC_TRIER_TRIE_1           (PEVC_TRIER_TRIE_1_Val         << PEVC_TRIER_TRIE_Pos)
171 #define PEVC_TRIER_MASK             _U_(0xFFFFFFFF) /**< \brief (PEVC_TRIER) MASK Register */
172 
173 /* -------- PEVC_TRIDR : (PEVC Offset: 0x024) ( /W 32) Trigger Interrupt Mask Disable Register -------- */
174 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
175 typedef union {
176   struct {
177     uint32_t TRID:32;          /*!< bit:  0..31  Trigger Interrupt Disable          */
178   } bit;                       /*!< Structure used for bit  access                  */
179   uint32_t reg;                /*!< Type      used for register access              */
180 } PEVC_TRIDR_Type;
181 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
182 
183 #define PEVC_TRIDR_OFFSET           0x024        /**< \brief (PEVC_TRIDR offset) Trigger Interrupt Mask Disable Register */
184 #define PEVC_TRIDR_RESETVALUE       _U_(0x00000000); /**< \brief (PEVC_TRIDR reset_value) Trigger Interrupt Mask Disable Register */
185 
186 #define PEVC_TRIDR_TRID_Pos         0            /**< \brief (PEVC_TRIDR) Trigger Interrupt Disable */
187 #define PEVC_TRIDR_TRID_Msk         (_U_(0xFFFFFFFF) << PEVC_TRIDR_TRID_Pos)
188 #define PEVC_TRIDR_TRID(value)      (PEVC_TRIDR_TRID_Msk & ((value) << PEVC_TRIDR_TRID_Pos))
189 #define   PEVC_TRIDR_TRID_0_Val           _U_(0x0)   /**< \brief (PEVC_TRIDR) No Action */
190 #define   PEVC_TRIDR_TRID_1_Val           _U_(0x1)   /**< \brief (PEVC_TRIDR) Disable Trigger j Interrupt */
191 #define PEVC_TRIDR_TRID_0           (PEVC_TRIDR_TRID_0_Val         << PEVC_TRIDR_TRID_Pos)
192 #define PEVC_TRIDR_TRID_1           (PEVC_TRIDR_TRID_1_Val         << PEVC_TRIDR_TRID_Pos)
193 #define PEVC_TRIDR_MASK             _U_(0xFFFFFFFF) /**< \brief (PEVC_TRIDR) MASK Register */
194 
195 /* -------- PEVC_TRIMR : (PEVC Offset: 0x028) (R/  32) Trigger Interrupt Mask Register -------- */
196 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
197 typedef union {
198   struct {
199     uint32_t TRIM:32;          /*!< bit:  0..31  Trigger Interrupt Mask             */
200   } bit;                       /*!< Structure used for bit  access                  */
201   uint32_t reg;                /*!< Type      used for register access              */
202 } PEVC_TRIMR_Type;
203 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
204 
205 #define PEVC_TRIMR_OFFSET           0x028        /**< \brief (PEVC_TRIMR offset) Trigger Interrupt Mask Register */
206 #define PEVC_TRIMR_RESETVALUE       _U_(0x00000000); /**< \brief (PEVC_TRIMR reset_value) Trigger Interrupt Mask Register */
207 
208 #define PEVC_TRIMR_TRIM_Pos         0            /**< \brief (PEVC_TRIMR) Trigger Interrupt Mask */
209 #define PEVC_TRIMR_TRIM_Msk         (_U_(0xFFFFFFFF) << PEVC_TRIMR_TRIM_Pos)
210 #define PEVC_TRIMR_TRIM(value)      (PEVC_TRIMR_TRIM_Msk & ((value) << PEVC_TRIMR_TRIM_Pos))
211 #define   PEVC_TRIMR_TRIM_0_Val           _U_(0x0)   /**< \brief (PEVC_TRIMR) Trigger j Interrupt Disabled */
212 #define   PEVC_TRIMR_TRIM_1_Val           _U_(0x1)   /**< \brief (PEVC_TRIMR) Trigger j Interrupt Enabled */
213 #define PEVC_TRIMR_TRIM_0           (PEVC_TRIMR_TRIM_0_Val         << PEVC_TRIMR_TRIM_Pos)
214 #define PEVC_TRIMR_TRIM_1           (PEVC_TRIMR_TRIM_1_Val         << PEVC_TRIMR_TRIM_Pos)
215 #define PEVC_TRIMR_MASK             _U_(0xFFFFFFFF) /**< \brief (PEVC_TRIMR) MASK Register */
216 
217 /* -------- PEVC_TRSR : (PEVC Offset: 0x030) (R/  32) Trigger Status Register -------- */
218 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
219 typedef union {
220   struct {
221     uint32_t TRS:32;           /*!< bit:  0..31  Trigger Interrupt Status           */
222   } bit;                       /*!< Structure used for bit  access                  */
223   uint32_t reg;                /*!< Type      used for register access              */
224 } PEVC_TRSR_Type;
225 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
226 
227 #define PEVC_TRSR_OFFSET            0x030        /**< \brief (PEVC_TRSR offset) Trigger Status Register */
228 #define PEVC_TRSR_RESETVALUE        _U_(0x00000000); /**< \brief (PEVC_TRSR reset_value) Trigger Status Register */
229 
230 #define PEVC_TRSR_TRS_Pos           0            /**< \brief (PEVC_TRSR) Trigger Interrupt Status */
231 #define PEVC_TRSR_TRS_Msk           (_U_(0xFFFFFFFF) << PEVC_TRSR_TRS_Pos)
232 #define PEVC_TRSR_TRS(value)        (PEVC_TRSR_TRS_Msk & ((value) << PEVC_TRSR_TRS_Pos))
233 #define   PEVC_TRSR_TRS_0_Val             _U_(0x0)   /**< \brief (PEVC_TRSR) Channel j did not send out an Event in the past */
234 #define   PEVC_TRSR_TRS_1_Val             _U_(0x1)   /**< \brief (PEVC_TRSR) Channel j did send out an Event in the past */
235 #define PEVC_TRSR_TRS_0             (PEVC_TRSR_TRS_0_Val           << PEVC_TRSR_TRS_Pos)
236 #define PEVC_TRSR_TRS_1             (PEVC_TRSR_TRS_1_Val           << PEVC_TRSR_TRS_Pos)
237 #define PEVC_TRSR_MASK              _U_(0xFFFFFFFF) /**< \brief (PEVC_TRSR) MASK Register */
238 
239 /* -------- PEVC_TRSCR : (PEVC Offset: 0x034) ( /W 32) Trigger Status Clear Register -------- */
240 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
241 typedef union {
242   struct {
243     uint32_t TRSC:32;          /*!< bit:  0..31  Trigger Interrupt Status Clear     */
244   } bit;                       /*!< Structure used for bit  access                  */
245   uint32_t reg;                /*!< Type      used for register access              */
246 } PEVC_TRSCR_Type;
247 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
248 
249 #define PEVC_TRSCR_OFFSET           0x034        /**< \brief (PEVC_TRSCR offset) Trigger Status Clear Register */
250 #define PEVC_TRSCR_RESETVALUE       _U_(0x00000000); /**< \brief (PEVC_TRSCR reset_value) Trigger Status Clear Register */
251 
252 #define PEVC_TRSCR_TRSC_Pos         0            /**< \brief (PEVC_TRSCR) Trigger Interrupt Status Clear */
253 #define PEVC_TRSCR_TRSC_Msk         (_U_(0xFFFFFFFF) << PEVC_TRSCR_TRSC_Pos)
254 #define PEVC_TRSCR_TRSC(value)      (PEVC_TRSCR_TRSC_Msk & ((value) << PEVC_TRSCR_TRSC_Pos))
255 #define   PEVC_TRSCR_TRSC_0_Val           _U_(0x0)   /**< \brief (PEVC_TRSCR) No Action */
256 #define   PEVC_TRSCR_TRSC_1_Val           _U_(0x1)   /**< \brief (PEVC_TRSCR) Clear TRSR[j] */
257 #define PEVC_TRSCR_TRSC_0           (PEVC_TRSCR_TRSC_0_Val         << PEVC_TRSCR_TRSC_Pos)
258 #define PEVC_TRSCR_TRSC_1           (PEVC_TRSCR_TRSC_1_Val         << PEVC_TRSCR_TRSC_Pos)
259 #define PEVC_TRSCR_MASK             _U_(0xFFFFFFFF) /**< \brief (PEVC_TRSCR) MASK Register */
260 
261 /* -------- PEVC_OVIER : (PEVC Offset: 0x040) ( /W 32) Overrun Interrupt Mask Enable Register -------- */
262 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
263 typedef union {
264   struct {
265     uint32_t OVIE:32;          /*!< bit:  0..31  Overrun Interrupt Enable           */
266   } bit;                       /*!< Structure used for bit  access                  */
267   uint32_t reg;                /*!< Type      used for register access              */
268 } PEVC_OVIER_Type;
269 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
270 
271 #define PEVC_OVIER_OFFSET           0x040        /**< \brief (PEVC_OVIER offset) Overrun Interrupt Mask Enable Register */
272 #define PEVC_OVIER_RESETVALUE       _U_(0x00000000); /**< \brief (PEVC_OVIER reset_value) Overrun Interrupt Mask Enable Register */
273 
274 #define PEVC_OVIER_OVIE_Pos         0            /**< \brief (PEVC_OVIER) Overrun Interrupt Enable */
275 #define PEVC_OVIER_OVIE_Msk         (_U_(0xFFFFFFFF) << PEVC_OVIER_OVIE_Pos)
276 #define PEVC_OVIER_OVIE(value)      (PEVC_OVIER_OVIE_Msk & ((value) << PEVC_OVIER_OVIE_Pos))
277 #define   PEVC_OVIER_OVIE_0_Val           _U_(0x0)   /**< \brief (PEVC_OVIER) No Action */
278 #define   PEVC_OVIER_OVIE_1_Val           _U_(0x1)   /**< \brief (PEVC_OVIER) Enable Overrun Interrupt for Channel j */
279 #define PEVC_OVIER_OVIE_0           (PEVC_OVIER_OVIE_0_Val         << PEVC_OVIER_OVIE_Pos)
280 #define PEVC_OVIER_OVIE_1           (PEVC_OVIER_OVIE_1_Val         << PEVC_OVIER_OVIE_Pos)
281 #define PEVC_OVIER_MASK             _U_(0xFFFFFFFF) /**< \brief (PEVC_OVIER) MASK Register */
282 
283 /* -------- PEVC_OVIDR : (PEVC Offset: 0x044) ( /W 32) Overrun Interrupt Mask Disable Register -------- */
284 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
285 typedef union {
286   struct {
287     uint32_t OVID:32;          /*!< bit:  0..31  Overrun Interrupt Disable          */
288   } bit;                       /*!< Structure used for bit  access                  */
289   uint32_t reg;                /*!< Type      used for register access              */
290 } PEVC_OVIDR_Type;
291 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
292 
293 #define PEVC_OVIDR_OFFSET           0x044        /**< \brief (PEVC_OVIDR offset) Overrun Interrupt Mask Disable Register */
294 #define PEVC_OVIDR_RESETVALUE       _U_(0x00000000); /**< \brief (PEVC_OVIDR reset_value) Overrun Interrupt Mask Disable Register */
295 
296 #define PEVC_OVIDR_OVID_Pos         0            /**< \brief (PEVC_OVIDR) Overrun Interrupt Disable */
297 #define PEVC_OVIDR_OVID_Msk         (_U_(0xFFFFFFFF) << PEVC_OVIDR_OVID_Pos)
298 #define PEVC_OVIDR_OVID(value)      (PEVC_OVIDR_OVID_Msk & ((value) << PEVC_OVIDR_OVID_Pos))
299 #define   PEVC_OVIDR_OVID_0_Val           _U_(0x0)   /**< \brief (PEVC_OVIDR) No Action */
300 #define   PEVC_OVIDR_OVID_1_Val           _U_(0x1)   /**< \brief (PEVC_OVIDR) Enable Overrun Interrupt for Channel j */
301 #define PEVC_OVIDR_OVID_0           (PEVC_OVIDR_OVID_0_Val         << PEVC_OVIDR_OVID_Pos)
302 #define PEVC_OVIDR_OVID_1           (PEVC_OVIDR_OVID_1_Val         << PEVC_OVIDR_OVID_Pos)
303 #define PEVC_OVIDR_MASK             _U_(0xFFFFFFFF) /**< \brief (PEVC_OVIDR) MASK Register */
304 
305 /* -------- PEVC_OVIMR : (PEVC Offset: 0x048) (R/  32) Overrun Interrupt Mask Register -------- */
306 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
307 typedef union {
308   struct {
309     uint32_t OVIM:32;          /*!< bit:  0..31  Overrun Interrupt Mask             */
310   } bit;                       /*!< Structure used for bit  access                  */
311   uint32_t reg;                /*!< Type      used for register access              */
312 } PEVC_OVIMR_Type;
313 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
314 
315 #define PEVC_OVIMR_OFFSET           0x048        /**< \brief (PEVC_OVIMR offset) Overrun Interrupt Mask Register */
316 #define PEVC_OVIMR_RESETVALUE       _U_(0x00000000); /**< \brief (PEVC_OVIMR reset_value) Overrun Interrupt Mask Register */
317 
318 #define PEVC_OVIMR_OVIM_Pos         0            /**< \brief (PEVC_OVIMR) Overrun Interrupt Mask */
319 #define PEVC_OVIMR_OVIM_Msk         (_U_(0xFFFFFFFF) << PEVC_OVIMR_OVIM_Pos)
320 #define PEVC_OVIMR_OVIM(value)      (PEVC_OVIMR_OVIM_Msk & ((value) << PEVC_OVIMR_OVIM_Pos))
321 #define   PEVC_OVIMR_OVIM_0_Val           _U_(0x0)   /**< \brief (PEVC_OVIMR) Overrun Interrupt for Channel j Disabled */
322 #define   PEVC_OVIMR_OVIM_1_Val           _U_(0x1)   /**< \brief (PEVC_OVIMR) Overrun Interrupt for Channel j Enabled */
323 #define PEVC_OVIMR_OVIM_0           (PEVC_OVIMR_OVIM_0_Val         << PEVC_OVIMR_OVIM_Pos)
324 #define PEVC_OVIMR_OVIM_1           (PEVC_OVIMR_OVIM_1_Val         << PEVC_OVIMR_OVIM_Pos)
325 #define PEVC_OVIMR_MASK             _U_(0xFFFFFFFF) /**< \brief (PEVC_OVIMR) MASK Register */
326 
327 /* -------- PEVC_OVSR : (PEVC Offset: 0x050) (R/  32) Overrun Status Register -------- */
328 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
329 typedef union {
330   struct {
331     uint32_t OVS:32;           /*!< bit:  0..31  Overrun Interrupt Status           */
332   } bit;                       /*!< Structure used for bit  access                  */
333   uint32_t reg;                /*!< Type      used for register access              */
334 } PEVC_OVSR_Type;
335 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
336 
337 #define PEVC_OVSR_OFFSET            0x050        /**< \brief (PEVC_OVSR offset) Overrun Status Register */
338 #define PEVC_OVSR_RESETVALUE        _U_(0x00000000); /**< \brief (PEVC_OVSR reset_value) Overrun Status Register */
339 
340 #define PEVC_OVSR_OVS_Pos           0            /**< \brief (PEVC_OVSR) Overrun Interrupt Status */
341 #define PEVC_OVSR_OVS_Msk           (_U_(0xFFFFFFFF) << PEVC_OVSR_OVS_Pos)
342 #define PEVC_OVSR_OVS(value)        (PEVC_OVSR_OVS_Msk & ((value) << PEVC_OVSR_OVS_Pos))
343 #define   PEVC_OVSR_OVS_0_Val             _U_(0x0)   /**< \brief (PEVC_OVSR) No Overrun occured on Channel j */
344 #define   PEVC_OVSR_OVS_1_Val             _U_(0x1)   /**< \brief (PEVC_OVSR) Overrun occured on Channel j */
345 #define PEVC_OVSR_OVS_0             (PEVC_OVSR_OVS_0_Val           << PEVC_OVSR_OVS_Pos)
346 #define PEVC_OVSR_OVS_1             (PEVC_OVSR_OVS_1_Val           << PEVC_OVSR_OVS_Pos)
347 #define PEVC_OVSR_MASK              _U_(0xFFFFFFFF) /**< \brief (PEVC_OVSR) MASK Register */
348 
349 /* -------- PEVC_OVSCR : (PEVC Offset: 0x054) ( /W 32) Overrun Status Clear Register -------- */
350 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
351 typedef union {
352   struct {
353     uint32_t OVSC:32;          /*!< bit:  0..31  Overrun Interrupt Status Clear     */
354   } bit;                       /*!< Structure used for bit  access                  */
355   uint32_t reg;                /*!< Type      used for register access              */
356 } PEVC_OVSCR_Type;
357 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
358 
359 #define PEVC_OVSCR_OFFSET           0x054        /**< \brief (PEVC_OVSCR offset) Overrun Status Clear Register */
360 #define PEVC_OVSCR_RESETVALUE       _U_(0x00000000); /**< \brief (PEVC_OVSCR reset_value) Overrun Status Clear Register */
361 
362 #define PEVC_OVSCR_OVSC_Pos         0            /**< \brief (PEVC_OVSCR) Overrun Interrupt Status Clear */
363 #define PEVC_OVSCR_OVSC_Msk         (_U_(0xFFFFFFFF) << PEVC_OVSCR_OVSC_Pos)
364 #define PEVC_OVSCR_OVSC(value)      (PEVC_OVSCR_OVSC_Msk & ((value) << PEVC_OVSCR_OVSC_Pos))
365 #define   PEVC_OVSCR_OVSC_0_Val           _U_(0x0)   /**< \brief (PEVC_OVSCR) No Action */
366 #define   PEVC_OVSCR_OVSC_1_Val           _U_(0x1)   /**< \brief (PEVC_OVSCR) Clear Overrun Status Bit j */
367 #define PEVC_OVSCR_OVSC_0           (PEVC_OVSCR_OVSC_0_Val         << PEVC_OVSCR_OVSC_Pos)
368 #define PEVC_OVSCR_OVSC_1           (PEVC_OVSCR_OVSC_1_Val         << PEVC_OVSCR_OVSC_Pos)
369 #define PEVC_OVSCR_MASK             _U_(0xFFFFFFFF) /**< \brief (PEVC_OVSCR) MASK Register */
370 
371 /* -------- PEVC_CHMX : (PEVC Offset: 0x100) (R/W 32) CHMX Channel Multiplexer -------- */
372 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
373 typedef union {
374   struct {
375     uint32_t EVMX:6;           /*!< bit:  0.. 5  Event Multiplexer                  */
376     uint32_t :2;               /*!< bit:  6.. 7  Reserved                           */
377     uint32_t SMX:1;            /*!< bit:      8  Software Event Multiplexer         */
378     uint32_t :23;              /*!< bit:  9..31  Reserved                           */
379   } bit;                       /*!< Structure used for bit  access                  */
380   uint32_t reg;                /*!< Type      used for register access              */
381 } PEVC_CHMX_Type;
382 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
383 
384 #define PEVC_CHMX_OFFSET            0x100        /**< \brief (PEVC_CHMX offset) Channel Multiplexer */
385 #define PEVC_CHMX_RESETVALUE        _U_(0x00000000); /**< \brief (PEVC_CHMX reset_value) Channel Multiplexer */
386 
387 #define PEVC_CHMX_EVMX_Pos          0            /**< \brief (PEVC_CHMX) Event Multiplexer */
388 #define PEVC_CHMX_EVMX_Msk          (_U_(0x3F) << PEVC_CHMX_EVMX_Pos)
389 #define PEVC_CHMX_EVMX(value)       (PEVC_CHMX_EVMX_Msk & ((value) << PEVC_CHMX_EVMX_Pos))
390 #define   PEVC_CHMX_EVMX_0_Val            _U_(0x0)   /**< \brief (PEVC_CHMX) Event 0 */
391 #define   PEVC_CHMX_EVMX_1_Val            _U_(0x1)   /**< \brief (PEVC_CHMX) Event 1 */
392 #define PEVC_CHMX_EVMX_0            (PEVC_CHMX_EVMX_0_Val          << PEVC_CHMX_EVMX_Pos)
393 #define PEVC_CHMX_EVMX_1            (PEVC_CHMX_EVMX_1_Val          << PEVC_CHMX_EVMX_Pos)
394 #define PEVC_CHMX_SMX_Pos           8            /**< \brief (PEVC_CHMX) Software Event Multiplexer */
395 #define PEVC_CHMX_SMX               (_U_(0x1) << PEVC_CHMX_SMX_Pos)
396 #define   PEVC_CHMX_SMX_0_Val             _U_(0x0)   /**< \brief (PEVC_CHMX) Hardware events */
397 #define   PEVC_CHMX_SMX_1_Val             _U_(0x1)   /**< \brief (PEVC_CHMX) Software event */
398 #define PEVC_CHMX_SMX_0             (PEVC_CHMX_SMX_0_Val           << PEVC_CHMX_SMX_Pos)
399 #define PEVC_CHMX_SMX_1             (PEVC_CHMX_SMX_1_Val           << PEVC_CHMX_SMX_Pos)
400 #define PEVC_CHMX_MASK              _U_(0x0000013F) /**< \brief (PEVC_CHMX) MASK Register */
401 
402 /* -------- PEVC_EVS : (PEVC Offset: 0x200) (R/W 32) EVS Event Shaper -------- */
403 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
404 typedef union {
405   struct {
406     uint32_t EN:1;             /*!< bit:      0  Event Shaper Enable                */
407     uint32_t :15;              /*!< bit:  1..15  Reserved                           */
408     uint32_t IGFR:1;           /*!< bit:     16  Input Glitch Filter Rise           */
409     uint32_t IGFF:1;           /*!< bit:     17  Input Glitch Filter Fall           */
410     uint32_t IGFON:1;          /*!< bit:     18  Input Glitch Filter Status         */
411     uint32_t :13;              /*!< bit: 19..31  Reserved                           */
412   } bit;                       /*!< Structure used for bit  access                  */
413   uint32_t reg;                /*!< Type      used for register access              */
414 } PEVC_EVS_Type;
415 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
416 
417 #define PEVC_EVS_OFFSET             0x200        /**< \brief (PEVC_EVS offset) Event Shaper */
418 #define PEVC_EVS_RESETVALUE         _U_(0x00000000); /**< \brief (PEVC_EVS reset_value) Event Shaper */
419 
420 #define PEVC_EVS_EN_Pos             0            /**< \brief (PEVC_EVS) Event Shaper Enable */
421 #define PEVC_EVS_EN                 (_U_(0x1) << PEVC_EVS_EN_Pos)
422 #define   PEVC_EVS_EN_0_Val               _U_(0x0)   /**< \brief (PEVC_EVS) No Action */
423 #define   PEVC_EVS_EN_1_Val               _U_(0x1)   /**< \brief (PEVC_EVS) Event Shaper enable */
424 #define PEVC_EVS_EN_0               (PEVC_EVS_EN_0_Val             << PEVC_EVS_EN_Pos)
425 #define PEVC_EVS_EN_1               (PEVC_EVS_EN_1_Val             << PEVC_EVS_EN_Pos)
426 #define PEVC_EVS_IGFR_Pos           16           /**< \brief (PEVC_EVS) Input Glitch Filter Rise */
427 #define PEVC_EVS_IGFR               (_U_(0x1) << PEVC_EVS_IGFR_Pos)
428 #define   PEVC_EVS_IGFR_0_Val             _U_(0x0)   /**< \brief (PEVC_EVS) No Action */
429 #define   PEVC_EVS_IGFR_1_Val             _U_(0x1)   /**< \brief (PEVC_EVS) Input Glitch Filter : a rising edge on event input will raise trigger output */
430 #define PEVC_EVS_IGFR_0             (PEVC_EVS_IGFR_0_Val           << PEVC_EVS_IGFR_Pos)
431 #define PEVC_EVS_IGFR_1             (PEVC_EVS_IGFR_1_Val           << PEVC_EVS_IGFR_Pos)
432 #define PEVC_EVS_IGFF_Pos           17           /**< \brief (PEVC_EVS) Input Glitch Filter Fall */
433 #define PEVC_EVS_IGFF               (_U_(0x1) << PEVC_EVS_IGFF_Pos)
434 #define   PEVC_EVS_IGFF_0_Val             _U_(0x0)   /**< \brief (PEVC_EVS) No Action */
435 #define   PEVC_EVS_IGFF_1_Val             _U_(0x1)   /**< \brief (PEVC_EVS) Input Glitch Filter : a falling edge on event input will raise trigger output */
436 #define PEVC_EVS_IGFF_0             (PEVC_EVS_IGFF_0_Val           << PEVC_EVS_IGFF_Pos)
437 #define PEVC_EVS_IGFF_1             (PEVC_EVS_IGFF_1_Val           << PEVC_EVS_IGFF_Pos)
438 #define PEVC_EVS_IGFON_Pos          18           /**< \brief (PEVC_EVS) Input Glitch Filter Status */
439 #define PEVC_EVS_IGFON              (_U_(0x1) << PEVC_EVS_IGFON_Pos)
440 #define PEVC_EVS_MASK               _U_(0x00070001) /**< \brief (PEVC_EVS) MASK Register */
441 
442 /* -------- PEVC_IGFDR : (PEVC Offset: 0x300) (R/W 32) Input Glitch Filter Divider Register -------- */
443 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
444 typedef union {
445   struct {
446     uint32_t IGFDR:4;          /*!< bit:  0.. 3  Input Glitch Filter Divider Register */
447     uint32_t :28;              /*!< bit:  4..31  Reserved                           */
448   } bit;                       /*!< Structure used for bit  access                  */
449   uint32_t reg;                /*!< Type      used for register access              */
450 } PEVC_IGFDR_Type;
451 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
452 
453 #define PEVC_IGFDR_OFFSET           0x300        /**< \brief (PEVC_IGFDR offset) Input Glitch Filter Divider Register */
454 #define PEVC_IGFDR_RESETVALUE       _U_(0x00000000); /**< \brief (PEVC_IGFDR reset_value) Input Glitch Filter Divider Register */
455 
456 #define PEVC_IGFDR_IGFDR_Pos        0            /**< \brief (PEVC_IGFDR) Input Glitch Filter Divider Register */
457 #define PEVC_IGFDR_IGFDR_Msk        (_U_(0xF) << PEVC_IGFDR_IGFDR_Pos)
458 #define PEVC_IGFDR_IGFDR(value)     (PEVC_IGFDR_IGFDR_Msk & ((value) << PEVC_IGFDR_IGFDR_Pos))
459 #define PEVC_IGFDR_MASK             _U_(0x0000000F) /**< \brief (PEVC_IGFDR) MASK Register */
460 
461 /* -------- PEVC_PARAMETER : (PEVC Offset: 0x3F8) (R/  32) Parameter -------- */
462 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
463 typedef union {
464   struct {
465     uint32_t IGF_COUNT:8;      /*!< bit:  0.. 7  Number of Input Glitch Filters     */
466     uint32_t EVS_COUNT:8;      /*!< bit:  8..15  Number of Event Shapers            */
467     uint32_t EVIN:8;           /*!< bit: 16..23  Number of Event Inputs / Generators */
468     uint32_t TRIGOUT:8;        /*!< bit: 24..31  Number of Trigger Outputs / Channels / Users */
469   } bit;                       /*!< Structure used for bit  access                  */
470   uint32_t reg;                /*!< Type      used for register access              */
471 } PEVC_PARAMETER_Type;
472 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
473 
474 #define PEVC_PARAMETER_OFFSET       0x3F8        /**< \brief (PEVC_PARAMETER offset) Parameter */
475 #define PEVC_PARAMETER_RESETVALUE   _U_(0x14061824); /**< \brief (PEVC_PARAMETER reset_value) Parameter */
476 
477 #define PEVC_PARAMETER_IGF_COUNT_Pos 0            /**< \brief (PEVC_PARAMETER) Number of Input Glitch Filters */
478 #define PEVC_PARAMETER_IGF_COUNT_Msk (_U_(0xFF) << PEVC_PARAMETER_IGF_COUNT_Pos)
479 #define PEVC_PARAMETER_IGF_COUNT(value) (PEVC_PARAMETER_IGF_COUNT_Msk & ((value) << PEVC_PARAMETER_IGF_COUNT_Pos))
480 #define PEVC_PARAMETER_EVS_COUNT_Pos 8            /**< \brief (PEVC_PARAMETER) Number of Event Shapers */
481 #define PEVC_PARAMETER_EVS_COUNT_Msk (_U_(0xFF) << PEVC_PARAMETER_EVS_COUNT_Pos)
482 #define PEVC_PARAMETER_EVS_COUNT(value) (PEVC_PARAMETER_EVS_COUNT_Msk & ((value) << PEVC_PARAMETER_EVS_COUNT_Pos))
483 #define PEVC_PARAMETER_EVIN_Pos     16           /**< \brief (PEVC_PARAMETER) Number of Event Inputs / Generators */
484 #define PEVC_PARAMETER_EVIN_Msk     (_U_(0xFF) << PEVC_PARAMETER_EVIN_Pos)
485 #define PEVC_PARAMETER_EVIN(value)  (PEVC_PARAMETER_EVIN_Msk & ((value) << PEVC_PARAMETER_EVIN_Pos))
486 #define PEVC_PARAMETER_TRIGOUT_Pos  24           /**< \brief (PEVC_PARAMETER) Number of Trigger Outputs / Channels / Users */
487 #define PEVC_PARAMETER_TRIGOUT_Msk  (_U_(0xFF) << PEVC_PARAMETER_TRIGOUT_Pos)
488 #define PEVC_PARAMETER_TRIGOUT(value) (PEVC_PARAMETER_TRIGOUT_Msk & ((value) << PEVC_PARAMETER_TRIGOUT_Pos))
489 #define PEVC_PARAMETER_MASK         _U_(0xFFFFFFFF) /**< \brief (PEVC_PARAMETER) MASK Register */
490 
491 /* -------- PEVC_VERSION : (PEVC Offset: 0x3FC) (R/  32) Version -------- */
492 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
493 typedef union {
494   struct {
495     uint32_t VERSION:12;       /*!< bit:  0..11  Version Number                     */
496     uint32_t :4;               /*!< bit: 12..15  Reserved                           */
497     uint32_t VARIANT:4;        /*!< bit: 16..19  Variant Number                     */
498     uint32_t :12;              /*!< bit: 20..31  Reserved                           */
499   } bit;                       /*!< Structure used for bit  access                  */
500   uint32_t reg;                /*!< Type      used for register access              */
501 } PEVC_VERSION_Type;
502 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
503 
504 #define PEVC_VERSION_OFFSET         0x3FC        /**< \brief (PEVC_VERSION offset) Version */
505 #define PEVC_VERSION_RESETVALUE     _U_(0x00000200); /**< \brief (PEVC_VERSION reset_value) Version */
506 
507 #define PEVC_VERSION_VERSION_Pos    0            /**< \brief (PEVC_VERSION) Version Number */
508 #define PEVC_VERSION_VERSION_Msk    (_U_(0xFFF) << PEVC_VERSION_VERSION_Pos)
509 #define PEVC_VERSION_VERSION(value) (PEVC_VERSION_VERSION_Msk & ((value) << PEVC_VERSION_VERSION_Pos))
510 #define PEVC_VERSION_VARIANT_Pos    16           /**< \brief (PEVC_VERSION) Variant Number */
511 #define PEVC_VERSION_VARIANT_Msk    (_U_(0xF) << PEVC_VERSION_VARIANT_Pos)
512 #define PEVC_VERSION_VARIANT(value) (PEVC_VERSION_VARIANT_Msk & ((value) << PEVC_VERSION_VARIANT_Pos))
513 #define PEVC_VERSION_MASK           _U_(0x000F0FFF) /**< \brief (PEVC_VERSION) MASK Register */
514 
515 /** \brief PevcChmx hardware registers */
516 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
517 typedef union {
518  struct {
519   __IO PEVC_CHMX_Type            CHMX;        /**< \brief Offset: 0x000 (R/W 32) Channel Multiplexer */
520  } bf;
521  struct {
522   RwReg   PEVC_CHMX;          /**< \brief (PEVC Offset: 0x000) Channel Multiplexer */
523  } reg;
524 } PevcChmx;
525 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
526 
527 /** \brief PevcEvs hardware registers */
528 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
529 typedef union {
530  struct {
531   __IO PEVC_EVS_Type             EVS;         /**< \brief Offset: 0x000 (R/W 32) Event Shaper */
532  } bf;
533  struct {
534   RwReg   PEVC_EVS;           /**< \brief (PEVC Offset: 0x000) Event Shaper */
535  } reg;
536 } PevcEvs;
537 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
538 
539 /** \brief PEVC hardware registers */
540 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
541 typedef struct {
542   __I  uint32_t CHSR;        /**< \brief Offset: 0x000 (R/  32) Channel Status Register */
543   __O  uint32_t CHER;        /**< \brief Offset: 0x004 ( /W 32) Channel Enable Register */
544   __O  uint32_t CHDR;        /**< \brief Offset: 0x008 ( /W 32) Channel Disable Register */
545        RoReg8   Reserved1[0x4];
546   __O  uint32_t SEV;         /**< \brief Offset: 0x010 ( /W 32) Software Event */
547   __I  uint32_t BUSY;        /**< \brief Offset: 0x014 (R/  32) Channel / User Busy */
548        RoReg8   Reserved2[0x8];
549   __O  uint32_t TRIER;       /**< \brief Offset: 0x020 ( /W 32) Trigger Interrupt Mask Enable Register */
550   __O  uint32_t TRIDR;       /**< \brief Offset: 0x024 ( /W 32) Trigger Interrupt Mask Disable Register */
551   __I  uint32_t TRIMR;       /**< \brief Offset: 0x028 (R/  32) Trigger Interrupt Mask Register */
552        RoReg8   Reserved3[0x4];
553   __I  uint32_t TRSR;        /**< \brief Offset: 0x030 (R/  32) Trigger Status Register */
554   __O  uint32_t TRSCR;       /**< \brief Offset: 0x034 ( /W 32) Trigger Status Clear Register */
555        RoReg8   Reserved4[0x8];
556   __O  uint32_t OVIER;       /**< \brief Offset: 0x040 ( /W 32) Overrun Interrupt Mask Enable Register */
557   __O  uint32_t OVIDR;       /**< \brief Offset: 0x044 ( /W 32) Overrun Interrupt Mask Disable Register */
558   __I  uint32_t OVIMR;       /**< \brief Offset: 0x048 (R/  32) Overrun Interrupt Mask Register */
559        RoReg8   Reserved5[0x4];
560   __I  uint32_t OVSR;        /**< \brief Offset: 0x050 (R/  32) Overrun Status Register */
561   __O  uint32_t OVSCR;       /**< \brief Offset: 0x054 ( /W 32) Overrun Status Clear Register */
562        RoReg8   Reserved6[0xA8];
563   __IO uint32_t Chmx[19];    /**< \brief Offset: 0x100 PevcChmx groups [TRIGOUT_BITS] */
564        RoReg8   Reserved7[0xB4];
565   __IO uint32_t Evs[31];     /**< \brief Offset: 0x200 PevcEvs groups [EVIN_BITS] */
566        RoReg8   Reserved8[0x84];
567   __IO uint32_t IGFDR;       /**< \brief Offset: 0x300 (R/W 32) Input Glitch Filter Divider Register */
568        RoReg8   Reserved9[0xF4];
569   __I  uint32_t PARAMETER;   /**< \brief Offset: 0x3F8 (R/  32) Parameter */
570   __I  uint32_t VERSION;     /**< \brief Offset: 0x3FC (R/  32) Version */
571 } Pevc;
572 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
573 
574 /*@}*/
575 
576 #endif /* _SAM4L_PEVC_COMPONENT_ */
577