1 /**
2  * \file
3  *
4  * \brief Component description for CATB
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_CATB_COMPONENT_
30 #define _SAM4L_CATB_COMPONENT_
31 
32 /* ========================================================================== */
33 /**  SOFTWARE API DEFINITION FOR CATB */
34 /* ========================================================================== */
35 /** \addtogroup SAM4L_CATB Capacitive Touch Module B */
36 /*@{*/
37 
38 #define CATB_I7567
39 #define REV_CATB                    0x100
40 
41 /* -------- CATB_CR : (CATB Offset: 0x00) (R/W 32) Control Register -------- */
42 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
43 typedef union {
44   struct {
45     uint32_t EN:1;             /*!< bit:      0  Module Enable                      */
46     uint32_t RUN:1;            /*!< bit:      1  Start Operation                    */
47     uint32_t IIDLE:1;          /*!< bit:      2  Initialize Idle Value              */
48     uint32_t ETRIG:1;          /*!< bit:      3  Event Triggered Operation          */
49     uint32_t INTRES:1;         /*!< bit:      4  Internal Resistors                 */
50     uint32_t CKSEL:1;          /*!< bit:      5  Clock Select                       */
51     uint32_t DIFF:1;           /*!< bit:      6  Differential Mode                  */
52     uint32_t DMAEN:1;          /*!< bit:      7  DMA Enable                         */
53     uint32_t ESAMPLES:7;       /*!< bit:  8..14  Number of Event Samples            */
54     uint32_t :1;               /*!< bit:     15  Reserved                           */
55     uint32_t CHARGET:4;        /*!< bit: 16..19  Charge Time                        */
56     uint32_t :11;              /*!< bit: 20..30  Reserved                           */
57     uint32_t SWRST:1;          /*!< bit:     31  Software Reset                     */
58   } bit;                       /*!< Structure used for bit  access                  */
59   uint32_t reg;                /*!< Type      used for register access              */
60 } CATB_CR_Type;
61 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
62 
63 #define CATB_CR_OFFSET              0x00         /**< \brief (CATB_CR offset) Control Register */
64 #define CATB_CR_RESETVALUE          _U_(0x00000000); /**< \brief (CATB_CR reset_value) Control Register */
65 
66 #define CATB_CR_EN_Pos              0            /**< \brief (CATB_CR) Module Enable */
67 #define CATB_CR_EN                  (_U_(0x1) << CATB_CR_EN_Pos)
68 #define CATB_CR_RUN_Pos             1            /**< \brief (CATB_CR) Start Operation */
69 #define CATB_CR_RUN                 (_U_(0x1) << CATB_CR_RUN_Pos)
70 #define CATB_CR_IIDLE_Pos           2            /**< \brief (CATB_CR) Initialize Idle Value */
71 #define CATB_CR_IIDLE               (_U_(0x1) << CATB_CR_IIDLE_Pos)
72 #define CATB_CR_ETRIG_Pos           3            /**< \brief (CATB_CR) Event Triggered Operation */
73 #define CATB_CR_ETRIG               (_U_(0x1) << CATB_CR_ETRIG_Pos)
74 #define CATB_CR_INTRES_Pos          4            /**< \brief (CATB_CR) Internal Resistors */
75 #define CATB_CR_INTRES              (_U_(0x1) << CATB_CR_INTRES_Pos)
76 #define CATB_CR_CKSEL_Pos           5            /**< \brief (CATB_CR) Clock Select */
77 #define CATB_CR_CKSEL               (_U_(0x1) << CATB_CR_CKSEL_Pos)
78 #define CATB_CR_DIFF_Pos            6            /**< \brief (CATB_CR) Differential Mode */
79 #define CATB_CR_DIFF                (_U_(0x1) << CATB_CR_DIFF_Pos)
80 #define CATB_CR_DMAEN_Pos           7            /**< \brief (CATB_CR) DMA Enable */
81 #define CATB_CR_DMAEN               (_U_(0x1) << CATB_CR_DMAEN_Pos)
82 #define CATB_CR_ESAMPLES_Pos        8            /**< \brief (CATB_CR) Number of Event Samples */
83 #define CATB_CR_ESAMPLES_Msk        (_U_(0x7F) << CATB_CR_ESAMPLES_Pos)
84 #define CATB_CR_ESAMPLES(value)     (CATB_CR_ESAMPLES_Msk & ((value) << CATB_CR_ESAMPLES_Pos))
85 #define CATB_CR_CHARGET_Pos         16           /**< \brief (CATB_CR) Charge Time */
86 #define CATB_CR_CHARGET_Msk         (_U_(0xF) << CATB_CR_CHARGET_Pos)
87 #define CATB_CR_CHARGET(value)      (CATB_CR_CHARGET_Msk & ((value) << CATB_CR_CHARGET_Pos))
88 #define CATB_CR_SWRST_Pos           31           /**< \brief (CATB_CR) Software Reset */
89 #define CATB_CR_SWRST               (_U_(0x1) << CATB_CR_SWRST_Pos)
90 #define CATB_CR_MASK                _U_(0x800F7FFF) /**< \brief (CATB_CR) MASK Register */
91 
92 /* -------- CATB_CNTCR : (CATB Offset: 0x04) (R/W 32) Counter Control Register -------- */
93 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
94 typedef union {
95   struct {
96     uint32_t TOP:24;           /*!< bit:  0..23  Counter Top Value                  */
97     uint32_t SPREAD:4;         /*!< bit: 24..27  Spread Spectrum                    */
98     uint32_t REPEAT:3;         /*!< bit: 28..30  Repeat Measurements                */
99     uint32_t :1;               /*!< bit:     31  Reserved                           */
100   } bit;                       /*!< Structure used for bit  access                  */
101   uint32_t reg;                /*!< Type      used for register access              */
102 } CATB_CNTCR_Type;
103 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
104 
105 #define CATB_CNTCR_OFFSET           0x04         /**< \brief (CATB_CNTCR offset) Counter Control Register */
106 #define CATB_CNTCR_RESETVALUE       _U_(0x00000000); /**< \brief (CATB_CNTCR reset_value) Counter Control Register */
107 
108 #define CATB_CNTCR_TOP_Pos          0            /**< \brief (CATB_CNTCR) Counter Top Value */
109 #define CATB_CNTCR_TOP_Msk          (_U_(0xFFFFFF) << CATB_CNTCR_TOP_Pos)
110 #define CATB_CNTCR_TOP(value)       (CATB_CNTCR_TOP_Msk & ((value) << CATB_CNTCR_TOP_Pos))
111 #define CATB_CNTCR_SPREAD_Pos       24           /**< \brief (CATB_CNTCR) Spread Spectrum */
112 #define CATB_CNTCR_SPREAD_Msk       (_U_(0xF) << CATB_CNTCR_SPREAD_Pos)
113 #define CATB_CNTCR_SPREAD(value)    (CATB_CNTCR_SPREAD_Msk & ((value) << CATB_CNTCR_SPREAD_Pos))
114 #define CATB_CNTCR_REPEAT_Pos       28           /**< \brief (CATB_CNTCR) Repeat Measurements */
115 #define CATB_CNTCR_REPEAT_Msk       (_U_(0x7) << CATB_CNTCR_REPEAT_Pos)
116 #define CATB_CNTCR_REPEAT(value)    (CATB_CNTCR_REPEAT_Msk & ((value) << CATB_CNTCR_REPEAT_Pos))
117 #define CATB_CNTCR_MASK             _U_(0x7FFFFFFF) /**< \brief (CATB_CNTCR) MASK Register */
118 
119 /* -------- CATB_IDLE : (CATB Offset: 0x08) (R/W 32) Sensor Idle Level -------- */
120 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
121 typedef union {
122   struct {
123     uint32_t FIDLE:12;         /*!< bit:  0..11  Fractional Sensor Idle             */
124     uint32_t RIDLE:16;         /*!< bit: 12..27  Integer Sensor Idle                */
125     uint32_t :4;               /*!< bit: 28..31  Reserved                           */
126   } bit;                       /*!< Structure used for bit  access                  */
127   uint32_t reg;                /*!< Type      used for register access              */
128 } CATB_IDLE_Type;
129 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
130 
131 #define CATB_IDLE_OFFSET            0x08         /**< \brief (CATB_IDLE offset) Sensor Idle Level */
132 #define CATB_IDLE_RESETVALUE        _U_(0x00000000); /**< \brief (CATB_IDLE reset_value) Sensor Idle Level */
133 
134 #define CATB_IDLE_FIDLE_Pos         0            /**< \brief (CATB_IDLE) Fractional Sensor Idle */
135 #define CATB_IDLE_FIDLE_Msk         (_U_(0xFFF) << CATB_IDLE_FIDLE_Pos)
136 #define CATB_IDLE_FIDLE(value)      (CATB_IDLE_FIDLE_Msk & ((value) << CATB_IDLE_FIDLE_Pos))
137 #define CATB_IDLE_RIDLE_Pos         12           /**< \brief (CATB_IDLE) Integer Sensor Idle */
138 #define CATB_IDLE_RIDLE_Msk         (_U_(0xFFFF) << CATB_IDLE_RIDLE_Pos)
139 #define CATB_IDLE_RIDLE(value)      (CATB_IDLE_RIDLE_Msk & ((value) << CATB_IDLE_RIDLE_Pos))
140 #define CATB_IDLE_MASK              _U_(0x0FFFFFFF) /**< \brief (CATB_IDLE) MASK Register */
141 
142 /* -------- CATB_LEVEL : (CATB Offset: 0x0C) (R/  32) Sensor Relative Level -------- */
143 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
144 typedef union {
145   struct {
146     uint32_t FLEVEL:12;        /*!< bit:  0..11  Fractional Sensor Level            */
147     uint32_t RLEVEL:8;         /*!< bit: 12..19  Integer Sensor Level               */
148     uint32_t :12;              /*!< bit: 20..31  Reserved                           */
149   } bit;                       /*!< Structure used for bit  access                  */
150   uint32_t reg;                /*!< Type      used for register access              */
151 } CATB_LEVEL_Type;
152 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
153 
154 #define CATB_LEVEL_OFFSET           0x0C         /**< \brief (CATB_LEVEL offset) Sensor Relative Level */
155 #define CATB_LEVEL_RESETVALUE       _U_(0x00000000); /**< \brief (CATB_LEVEL reset_value) Sensor Relative Level */
156 
157 #define CATB_LEVEL_FLEVEL_Pos       0            /**< \brief (CATB_LEVEL) Fractional Sensor Level */
158 #define CATB_LEVEL_FLEVEL_Msk       (_U_(0xFFF) << CATB_LEVEL_FLEVEL_Pos)
159 #define CATB_LEVEL_FLEVEL(value)    (CATB_LEVEL_FLEVEL_Msk & ((value) << CATB_LEVEL_FLEVEL_Pos))
160 #define CATB_LEVEL_RLEVEL_Pos       12           /**< \brief (CATB_LEVEL) Integer Sensor Level */
161 #define CATB_LEVEL_RLEVEL_Msk       (_U_(0xFF) << CATB_LEVEL_RLEVEL_Pos)
162 #define CATB_LEVEL_RLEVEL(value)    (CATB_LEVEL_RLEVEL_Msk & ((value) << CATB_LEVEL_RLEVEL_Pos))
163 #define CATB_LEVEL_MASK             _U_(0x000FFFFF) /**< \brief (CATB_LEVEL) MASK Register */
164 
165 /* -------- CATB_RAW : (CATB Offset: 0x10) (R/  32) Sensor Raw Value -------- */
166 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
167 typedef union {
168   struct {
169     uint32_t :16;              /*!< bit:  0..15  Reserved                           */
170     uint32_t RAWA:8;           /*!< bit: 16..23  Current Sensor Raw Value           */
171     uint32_t RAWB:8;           /*!< bit: 24..31  Last Sensor Raw Value              */
172   } bit;                       /*!< Structure used for bit  access                  */
173   uint32_t reg;                /*!< Type      used for register access              */
174 } CATB_RAW_Type;
175 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
176 
177 #define CATB_RAW_OFFSET             0x10         /**< \brief (CATB_RAW offset) Sensor Raw Value */
178 #define CATB_RAW_RESETVALUE         _U_(0x00000000); /**< \brief (CATB_RAW reset_value) Sensor Raw Value */
179 
180 #define CATB_RAW_RAWA_Pos           16           /**< \brief (CATB_RAW) Current Sensor Raw Value */
181 #define CATB_RAW_RAWA_Msk           (_U_(0xFF) << CATB_RAW_RAWA_Pos)
182 #define CATB_RAW_RAWA(value)        (CATB_RAW_RAWA_Msk & ((value) << CATB_RAW_RAWA_Pos))
183 #define CATB_RAW_RAWB_Pos           24           /**< \brief (CATB_RAW) Last Sensor Raw Value */
184 #define CATB_RAW_RAWB_Msk           (_U_(0xFF) << CATB_RAW_RAWB_Pos)
185 #define CATB_RAW_RAWB(value)        (CATB_RAW_RAWB_Msk & ((value) << CATB_RAW_RAWB_Pos))
186 #define CATB_RAW_MASK               _U_(0xFFFF0000) /**< \brief (CATB_RAW) MASK Register */
187 
188 /* -------- CATB_TIMING : (CATB Offset: 0x14) (R/W 32) Filter Timing Register -------- */
189 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
190 typedef union {
191   struct {
192     uint32_t TLEVEL:12;        /*!< bit:  0..11  Relative Level Smoothing           */
193     uint32_t :4;               /*!< bit: 12..15  Reserved                           */
194     uint32_t TIDLE:12;         /*!< bit: 16..27  Idle Smoothening                   */
195     uint32_t :4;               /*!< bit: 28..31  Reserved                           */
196   } bit;                       /*!< Structure used for bit  access                  */
197   uint32_t reg;                /*!< Type      used for register access              */
198 } CATB_TIMING_Type;
199 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
200 
201 #define CATB_TIMING_OFFSET          0x14         /**< \brief (CATB_TIMING offset) Filter Timing Register */
202 #define CATB_TIMING_RESETVALUE      _U_(0x00000000); /**< \brief (CATB_TIMING reset_value) Filter Timing Register */
203 
204 #define CATB_TIMING_TLEVEL_Pos      0            /**< \brief (CATB_TIMING) Relative Level Smoothing */
205 #define CATB_TIMING_TLEVEL_Msk      (_U_(0xFFF) << CATB_TIMING_TLEVEL_Pos)
206 #define CATB_TIMING_TLEVEL(value)   (CATB_TIMING_TLEVEL_Msk & ((value) << CATB_TIMING_TLEVEL_Pos))
207 #define CATB_TIMING_TIDLE_Pos       16           /**< \brief (CATB_TIMING) Idle Smoothening */
208 #define CATB_TIMING_TIDLE_Msk       (_U_(0xFFF) << CATB_TIMING_TIDLE_Pos)
209 #define CATB_TIMING_TIDLE(value)    (CATB_TIMING_TIDLE_Msk & ((value) << CATB_TIMING_TIDLE_Pos))
210 #define CATB_TIMING_MASK            _U_(0x0FFF0FFF) /**< \brief (CATB_TIMING) MASK Register */
211 
212 /* -------- CATB_THRESH : (CATB Offset: 0x18) (R/W 32) Threshold Register -------- */
213 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
214 typedef union {
215   struct {
216     uint32_t FTHRESH:12;       /*!< bit:  0..11  Fractional part of Threshold Value */
217     uint32_t RTHRESH:8;        /*!< bit: 12..19  Rational part of Threshold Value   */
218     uint32_t :3;               /*!< bit: 20..22  Reserved                           */
219     uint32_t DIR:1;            /*!< bit:     23  Threshold Direction                */
220     uint32_t LENGTH:5;         /*!< bit: 24..28  Threshold Length                   */
221     uint32_t :3;               /*!< bit: 29..31  Reserved                           */
222   } bit;                       /*!< Structure used for bit  access                  */
223   uint32_t reg;                /*!< Type      used for register access              */
224 } CATB_THRESH_Type;
225 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
226 
227 #define CATB_THRESH_OFFSET          0x18         /**< \brief (CATB_THRESH offset) Threshold Register */
228 #define CATB_THRESH_RESETVALUE      _U_(0x00000000); /**< \brief (CATB_THRESH reset_value) Threshold Register */
229 
230 #define CATB_THRESH_FTHRESH_Pos     0            /**< \brief (CATB_THRESH) Fractional part of Threshold Value */
231 #define CATB_THRESH_FTHRESH_Msk     (_U_(0xFFF) << CATB_THRESH_FTHRESH_Pos)
232 #define CATB_THRESH_FTHRESH(value)  (CATB_THRESH_FTHRESH_Msk & ((value) << CATB_THRESH_FTHRESH_Pos))
233 #define CATB_THRESH_RTHRESH_Pos     12           /**< \brief (CATB_THRESH) Rational part of Threshold Value */
234 #define CATB_THRESH_RTHRESH_Msk     (_U_(0xFF) << CATB_THRESH_RTHRESH_Pos)
235 #define CATB_THRESH_RTHRESH(value)  (CATB_THRESH_RTHRESH_Msk & ((value) << CATB_THRESH_RTHRESH_Pos))
236 #define CATB_THRESH_DIR_Pos         23           /**< \brief (CATB_THRESH) Threshold Direction */
237 #define CATB_THRESH_DIR             (_U_(0x1) << CATB_THRESH_DIR_Pos)
238 #define CATB_THRESH_LENGTH_Pos      24           /**< \brief (CATB_THRESH) Threshold Length */
239 #define CATB_THRESH_LENGTH_Msk      (_U_(0x1F) << CATB_THRESH_LENGTH_Pos)
240 #define CATB_THRESH_LENGTH(value)   (CATB_THRESH_LENGTH_Msk & ((value) << CATB_THRESH_LENGTH_Pos))
241 #define CATB_THRESH_MASK            _U_(0x1F8FFFFF) /**< \brief (CATB_THRESH) MASK Register */
242 
243 /* -------- CATB_PINSEL : (CATB Offset: 0x1C) (R/W 32) Pin Selection Register -------- */
244 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
245 typedef union {
246   struct {
247     uint32_t PINSEL:8;         /*!< bit:  0.. 7  Pin Select                         */
248     uint32_t :24;              /*!< bit:  8..31  Reserved                           */
249   } bit;                       /*!< Structure used for bit  access                  */
250   uint32_t reg;                /*!< Type      used for register access              */
251 } CATB_PINSEL_Type;
252 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
253 
254 #define CATB_PINSEL_OFFSET          0x1C         /**< \brief (CATB_PINSEL offset) Pin Selection Register */
255 #define CATB_PINSEL_RESETVALUE      _U_(0x00000000); /**< \brief (CATB_PINSEL reset_value) Pin Selection Register */
256 
257 #define CATB_PINSEL_PINSEL_Pos      0            /**< \brief (CATB_PINSEL) Pin Select */
258 #define CATB_PINSEL_PINSEL_Msk      (_U_(0xFF) << CATB_PINSEL_PINSEL_Pos)
259 #define CATB_PINSEL_PINSEL(value)   (CATB_PINSEL_PINSEL_Msk & ((value) << CATB_PINSEL_PINSEL_Pos))
260 #define CATB_PINSEL_MASK            _U_(0x000000FF) /**< \brief (CATB_PINSEL) MASK Register */
261 
262 /* -------- CATB_DMA : (CATB Offset: 0x20) (R/W 32) Direct Memory Access Register -------- */
263 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
264 typedef union {
265   struct {
266     uint32_t DMA:32;           /*!< bit:  0..31  Direct Memory Access               */
267   } bit;                       /*!< Structure used for bit  access                  */
268   uint32_t reg;                /*!< Type      used for register access              */
269 } CATB_DMA_Type;
270 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
271 
272 #define CATB_DMA_OFFSET             0x20         /**< \brief (CATB_DMA offset) Direct Memory Access Register */
273 #define CATB_DMA_RESETVALUE         _U_(0x00000000); /**< \brief (CATB_DMA reset_value) Direct Memory Access Register */
274 
275 #define CATB_DMA_DMA_Pos            0            /**< \brief (CATB_DMA) Direct Memory Access */
276 #define CATB_DMA_DMA_Msk            (_U_(0xFFFFFFFF) << CATB_DMA_DMA_Pos)
277 #define CATB_DMA_DMA(value)         (CATB_DMA_DMA_Msk & ((value) << CATB_DMA_DMA_Pos))
278 #define CATB_DMA_MASK               _U_(0xFFFFFFFF) /**< \brief (CATB_DMA) MASK Register */
279 
280 /* -------- CATB_ISR : (CATB Offset: 0x24) (R/  32) Interrupt Status Register -------- */
281 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
282 typedef union {
283   struct {
284     uint32_t SAMPLE:1;         /*!< bit:      0  Sample Ready Interrupt Status      */
285     uint32_t INTCH:1;          /*!< bit:      1  In-touch Interrupt Status          */
286     uint32_t OUTTCH:1;         /*!< bit:      2  Out-of-Touch Interrupt Status      */
287     uint32_t :29;              /*!< bit:  3..31  Reserved                           */
288   } bit;                       /*!< Structure used for bit  access                  */
289   uint32_t reg;                /*!< Type      used for register access              */
290 } CATB_ISR_Type;
291 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
292 
293 #define CATB_ISR_OFFSET             0x24         /**< \brief (CATB_ISR offset) Interrupt Status Register */
294 #define CATB_ISR_RESETVALUE         _U_(0x00000000); /**< \brief (CATB_ISR reset_value) Interrupt Status Register */
295 
296 #define CATB_ISR_SAMPLE_Pos         0            /**< \brief (CATB_ISR) Sample Ready Interrupt Status */
297 #define CATB_ISR_SAMPLE             (_U_(0x1) << CATB_ISR_SAMPLE_Pos)
298 #define CATB_ISR_INTCH_Pos          1            /**< \brief (CATB_ISR) In-touch Interrupt Status */
299 #define CATB_ISR_INTCH              (_U_(0x1) << CATB_ISR_INTCH_Pos)
300 #define CATB_ISR_OUTTCH_Pos         2            /**< \brief (CATB_ISR) Out-of-Touch Interrupt Status */
301 #define CATB_ISR_OUTTCH             (_U_(0x1) << CATB_ISR_OUTTCH_Pos)
302 #define CATB_ISR_MASK               _U_(0x00000007) /**< \brief (CATB_ISR) MASK Register */
303 
304 /* -------- CATB_IER : (CATB Offset: 0x28) ( /W 32) Interrupt Enable Register -------- */
305 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
306 typedef union {
307   struct {
308     uint32_t SAMPLE:1;         /*!< bit:      0  Sample Ready Interrupt Enable      */
309     uint32_t INTCH:1;          /*!< bit:      1  In-touch Interrupt Enable          */
310     uint32_t OUTTCH:1;         /*!< bit:      2  Out-of-Touch Interrupt Enable      */
311     uint32_t :29;              /*!< bit:  3..31  Reserved                           */
312   } bit;                       /*!< Structure used for bit  access                  */
313   uint32_t reg;                /*!< Type      used for register access              */
314 } CATB_IER_Type;
315 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
316 
317 #define CATB_IER_OFFSET             0x28         /**< \brief (CATB_IER offset) Interrupt Enable Register */
318 #define CATB_IER_RESETVALUE         _U_(0x00000000); /**< \brief (CATB_IER reset_value) Interrupt Enable Register */
319 
320 #define CATB_IER_SAMPLE_Pos         0            /**< \brief (CATB_IER) Sample Ready Interrupt Enable */
321 #define CATB_IER_SAMPLE             (_U_(0x1) << CATB_IER_SAMPLE_Pos)
322 #define CATB_IER_INTCH_Pos          1            /**< \brief (CATB_IER) In-touch Interrupt Enable */
323 #define CATB_IER_INTCH              (_U_(0x1) << CATB_IER_INTCH_Pos)
324 #define CATB_IER_OUTTCH_Pos         2            /**< \brief (CATB_IER) Out-of-Touch Interrupt Enable */
325 #define CATB_IER_OUTTCH             (_U_(0x1) << CATB_IER_OUTTCH_Pos)
326 #define CATB_IER_MASK               _U_(0x00000007) /**< \brief (CATB_IER) MASK Register */
327 
328 /* -------- CATB_IDR : (CATB Offset: 0x2C) ( /W 32) Interrupt Disable Register -------- */
329 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
330 typedef union {
331   struct {
332     uint32_t SAMPLE:1;         /*!< bit:      0  Sample Ready Interrupt Disable     */
333     uint32_t INTCH:1;          /*!< bit:      1  In-touch Interrupt Disable         */
334     uint32_t OUTTCH:1;         /*!< bit:      2  Out-of-Touch Interrupt Disable     */
335     uint32_t :29;              /*!< bit:  3..31  Reserved                           */
336   } bit;                       /*!< Structure used for bit  access                  */
337   uint32_t reg;                /*!< Type      used for register access              */
338 } CATB_IDR_Type;
339 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
340 
341 #define CATB_IDR_OFFSET             0x2C         /**< \brief (CATB_IDR offset) Interrupt Disable Register */
342 #define CATB_IDR_RESETVALUE         _U_(0x00000000); /**< \brief (CATB_IDR reset_value) Interrupt Disable Register */
343 
344 #define CATB_IDR_SAMPLE_Pos         0            /**< \brief (CATB_IDR) Sample Ready Interrupt Disable */
345 #define CATB_IDR_SAMPLE             (_U_(0x1) << CATB_IDR_SAMPLE_Pos)
346 #define CATB_IDR_INTCH_Pos          1            /**< \brief (CATB_IDR) In-touch Interrupt Disable */
347 #define CATB_IDR_INTCH              (_U_(0x1) << CATB_IDR_INTCH_Pos)
348 #define CATB_IDR_OUTTCH_Pos         2            /**< \brief (CATB_IDR) Out-of-Touch Interrupt Disable */
349 #define CATB_IDR_OUTTCH             (_U_(0x1) << CATB_IDR_OUTTCH_Pos)
350 #define CATB_IDR_MASK               _U_(0x00000007) /**< \brief (CATB_IDR) MASK Register */
351 
352 /* -------- CATB_IMR : (CATB Offset: 0x30) (R/  32) Interrupt Mask Register -------- */
353 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
354 typedef union {
355   struct {
356     uint32_t SAMPLE:1;         /*!< bit:      0  Sample Ready Interrupt Mask        */
357     uint32_t INTCH:1;          /*!< bit:      1  In-touch Interrupt Mask            */
358     uint32_t OUTTCH:1;         /*!< bit:      2  Out-of-Touch Interrupt Mask        */
359     uint32_t :29;              /*!< bit:  3..31  Reserved                           */
360   } bit;                       /*!< Structure used for bit  access                  */
361   uint32_t reg;                /*!< Type      used for register access              */
362 } CATB_IMR_Type;
363 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
364 
365 #define CATB_IMR_OFFSET             0x30         /**< \brief (CATB_IMR offset) Interrupt Mask Register */
366 #define CATB_IMR_RESETVALUE         _U_(0x00000000); /**< \brief (CATB_IMR reset_value) Interrupt Mask Register */
367 
368 #define CATB_IMR_SAMPLE_Pos         0            /**< \brief (CATB_IMR) Sample Ready Interrupt Mask */
369 #define CATB_IMR_SAMPLE             (_U_(0x1) << CATB_IMR_SAMPLE_Pos)
370 #define CATB_IMR_INTCH_Pos          1            /**< \brief (CATB_IMR) In-touch Interrupt Mask */
371 #define CATB_IMR_INTCH              (_U_(0x1) << CATB_IMR_INTCH_Pos)
372 #define CATB_IMR_OUTTCH_Pos         2            /**< \brief (CATB_IMR) Out-of-Touch Interrupt Mask */
373 #define CATB_IMR_OUTTCH             (_U_(0x1) << CATB_IMR_OUTTCH_Pos)
374 #define CATB_IMR_MASK               _U_(0x00000007) /**< \brief (CATB_IMR) MASK Register */
375 
376 /* -------- CATB_SCR : (CATB Offset: 0x34) ( /W 32) Status Clear Register -------- */
377 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
378 typedef union {
379   struct {
380     uint32_t SAMPLE:1;         /*!< bit:      0  Sample Ready                       */
381     uint32_t INTCH:1;          /*!< bit:      1  In-touch                           */
382     uint32_t OUTTCH:1;         /*!< bit:      2  Out-of-Touch                       */
383     uint32_t :29;              /*!< bit:  3..31  Reserved                           */
384   } bit;                       /*!< Structure used for bit  access                  */
385   uint32_t reg;                /*!< Type      used for register access              */
386 } CATB_SCR_Type;
387 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
388 
389 #define CATB_SCR_OFFSET             0x34         /**< \brief (CATB_SCR offset) Status Clear Register */
390 #define CATB_SCR_RESETVALUE         _U_(0x00000000); /**< \brief (CATB_SCR reset_value) Status Clear Register */
391 
392 #define CATB_SCR_SAMPLE_Pos         0            /**< \brief (CATB_SCR) Sample Ready */
393 #define CATB_SCR_SAMPLE             (_U_(0x1) << CATB_SCR_SAMPLE_Pos)
394 #define CATB_SCR_INTCH_Pos          1            /**< \brief (CATB_SCR) In-touch */
395 #define CATB_SCR_INTCH              (_U_(0x1) << CATB_SCR_INTCH_Pos)
396 #define CATB_SCR_OUTTCH_Pos         2            /**< \brief (CATB_SCR) Out-of-Touch */
397 #define CATB_SCR_OUTTCH             (_U_(0x1) << CATB_SCR_OUTTCH_Pos)
398 #define CATB_SCR_MASK               _U_(0x00000007) /**< \brief (CATB_SCR) MASK Register */
399 
400 /* -------- CATB_INTCH : (CATB Offset: 0x40) (R/  32) INTCH In-Touch Status Register -------- */
401 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
402 typedef union {
403   struct {
404     uint32_t INTCH:32;         /*!< bit:  0..31  In-Touch                           */
405   } bit;                       /*!< Structure used for bit  access                  */
406   uint32_t reg;                /*!< Type      used for register access              */
407 } CATB_INTCH_Type;
408 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
409 
410 #define CATB_INTCH_OFFSET           0x40         /**< \brief (CATB_INTCH offset) In-Touch Status Register */
411 #define CATB_INTCH_RESETVALUE       _U_(0x00000000); /**< \brief (CATB_INTCH reset_value) In-Touch Status Register */
412 
413 #define CATB_INTCH_INTCH_Pos        0            /**< \brief (CATB_INTCH) In-Touch */
414 #define CATB_INTCH_INTCH_Msk        (_U_(0xFFFFFFFF) << CATB_INTCH_INTCH_Pos)
415 #define CATB_INTCH_INTCH(value)     (CATB_INTCH_INTCH_Msk & ((value) << CATB_INTCH_INTCH_Pos))
416 #define CATB_INTCH_MASK             _U_(0xFFFFFFFF) /**< \brief (CATB_INTCH) MASK Register */
417 
418 /* -------- CATB_INTCHCLR : (CATB Offset: 0x50) ( /W 32) INTCHCLR In-Touch Status Clear Register -------- */
419 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
420 typedef union {
421   struct {
422     uint32_t INTCHCLR:32;      /*!< bit:  0..31  In-Touch Clear                     */
423   } bit;                       /*!< Structure used for bit  access                  */
424   uint32_t reg;                /*!< Type      used for register access              */
425 } CATB_INTCHCLR_Type;
426 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
427 
428 #define CATB_INTCHCLR_OFFSET        0x50         /**< \brief (CATB_INTCHCLR offset) In-Touch Status Clear Register */
429 #define CATB_INTCHCLR_RESETVALUE    _U_(0x00000000); /**< \brief (CATB_INTCHCLR reset_value) In-Touch Status Clear Register */
430 
431 #define CATB_INTCHCLR_INTCHCLR_Pos  0            /**< \brief (CATB_INTCHCLR) In-Touch Clear */
432 #define CATB_INTCHCLR_INTCHCLR_Msk  (_U_(0xFFFFFFFF) << CATB_INTCHCLR_INTCHCLR_Pos)
433 #define CATB_INTCHCLR_INTCHCLR(value) (CATB_INTCHCLR_INTCHCLR_Msk & ((value) << CATB_INTCHCLR_INTCHCLR_Pos))
434 #define CATB_INTCHCLR_MASK          _U_(0xFFFFFFFF) /**< \brief (CATB_INTCHCLR) MASK Register */
435 
436 /* -------- CATB_OUTTCH : (CATB Offset: 0x60) (R/  32) OUTTCH Out-of-Touch Status Register -------- */
437 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
438 typedef union {
439   struct {
440     uint32_t OUTTCH:32;        /*!< bit:  0..31  Out-of-Touch                       */
441   } bit;                       /*!< Structure used for bit  access                  */
442   uint32_t reg;                /*!< Type      used for register access              */
443 } CATB_OUTTCH_Type;
444 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
445 
446 #define CATB_OUTTCH_OFFSET          0x60         /**< \brief (CATB_OUTTCH offset) Out-of-Touch Status Register */
447 #define CATB_OUTTCH_RESETVALUE      _U_(0x00000000); /**< \brief (CATB_OUTTCH reset_value) Out-of-Touch Status Register */
448 
449 #define CATB_OUTTCH_OUTTCH_Pos      0            /**< \brief (CATB_OUTTCH) Out-of-Touch */
450 #define CATB_OUTTCH_OUTTCH_Msk      (_U_(0xFFFFFFFF) << CATB_OUTTCH_OUTTCH_Pos)
451 #define CATB_OUTTCH_OUTTCH(value)   (CATB_OUTTCH_OUTTCH_Msk & ((value) << CATB_OUTTCH_OUTTCH_Pos))
452 #define CATB_OUTTCH_MASK            _U_(0xFFFFFFFF) /**< \brief (CATB_OUTTCH) MASK Register */
453 
454 /* -------- CATB_OUTTCHCLR : (CATB Offset: 0x70) ( /W 32) OUTTCHCLR Out-of-Touch Status Clear Register -------- */
455 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
456 typedef union {
457   struct {
458     uint32_t OUTTCHCLR:32;     /*!< bit:  0..31  Out of Touch                       */
459   } bit;                       /*!< Structure used for bit  access                  */
460   uint32_t reg;                /*!< Type      used for register access              */
461 } CATB_OUTTCHCLR_Type;
462 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
463 
464 #define CATB_OUTTCHCLR_OFFSET       0x70         /**< \brief (CATB_OUTTCHCLR offset) Out-of-Touch Status Clear Register */
465 #define CATB_OUTTCHCLR_RESETVALUE   _U_(0x00000000); /**< \brief (CATB_OUTTCHCLR reset_value) Out-of-Touch Status Clear Register */
466 
467 #define CATB_OUTTCHCLR_OUTTCHCLR_Pos 0            /**< \brief (CATB_OUTTCHCLR) Out of Touch */
468 #define CATB_OUTTCHCLR_OUTTCHCLR_Msk (_U_(0xFFFFFFFF) << CATB_OUTTCHCLR_OUTTCHCLR_Pos)
469 #define CATB_OUTTCHCLR_OUTTCHCLR(value) (CATB_OUTTCHCLR_OUTTCHCLR_Msk & ((value) << CATB_OUTTCHCLR_OUTTCHCLR_Pos))
470 #define CATB_OUTTCHCLR_MASK         _U_(0xFFFFFFFF) /**< \brief (CATB_OUTTCHCLR) MASK Register */
471 
472 /* -------- CATB_PARAMETER : (CATB Offset: 0xF8) (R/  32) Parameter Register -------- */
473 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
474 typedef union {
475   struct {
476     uint32_t NPINS:8;          /*!< bit:  0.. 7  Number of Pins                     */
477     uint32_t NSTATUS:8;        /*!< bit:  8..15  Number of Status bits              */
478     uint32_t FRACTIONAL:4;     /*!< bit: 16..19  Number of Fractional bits          */
479     uint32_t :12;              /*!< bit: 20..31  Reserved                           */
480   } bit;                       /*!< Structure used for bit  access                  */
481   uint32_t reg;                /*!< Type      used for register access              */
482 } CATB_PARAMETER_Type;
483 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
484 
485 #define CATB_PARAMETER_OFFSET       0xF8         /**< \brief (CATB_PARAMETER offset) Parameter Register */
486 
487 #define CATB_PARAMETER_NPINS_Pos    0            /**< \brief (CATB_PARAMETER) Number of Pins */
488 #define CATB_PARAMETER_NPINS_Msk    (_U_(0xFF) << CATB_PARAMETER_NPINS_Pos)
489 #define CATB_PARAMETER_NPINS(value) (CATB_PARAMETER_NPINS_Msk & ((value) << CATB_PARAMETER_NPINS_Pos))
490 #define CATB_PARAMETER_NSTATUS_Pos  8            /**< \brief (CATB_PARAMETER) Number of Status bits */
491 #define CATB_PARAMETER_NSTATUS_Msk  (_U_(0xFF) << CATB_PARAMETER_NSTATUS_Pos)
492 #define CATB_PARAMETER_NSTATUS(value) (CATB_PARAMETER_NSTATUS_Msk & ((value) << CATB_PARAMETER_NSTATUS_Pos))
493 #define CATB_PARAMETER_FRACTIONAL_Pos 16           /**< \brief (CATB_PARAMETER) Number of Fractional bits */
494 #define CATB_PARAMETER_FRACTIONAL_Msk (_U_(0xF) << CATB_PARAMETER_FRACTIONAL_Pos)
495 #define CATB_PARAMETER_FRACTIONAL(value) (CATB_PARAMETER_FRACTIONAL_Msk & ((value) << CATB_PARAMETER_FRACTIONAL_Pos))
496 #define CATB_PARAMETER_MASK         _U_(0x000FFFFF) /**< \brief (CATB_PARAMETER) MASK Register */
497 
498 /* -------- CATB_VERSION : (CATB Offset: 0xFC) (R/  32) Version Register -------- */
499 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
500 typedef union {
501   struct {
502     uint32_t VERSION:12;       /*!< bit:  0..11  Version number                     */
503     uint32_t :4;               /*!< bit: 12..15  Reserved                           */
504     uint32_t VARIANT:4;        /*!< bit: 16..19  Variant number                     */
505     uint32_t :12;              /*!< bit: 20..31  Reserved                           */
506   } bit;                       /*!< Structure used for bit  access                  */
507   uint32_t reg;                /*!< Type      used for register access              */
508 } CATB_VERSION_Type;
509 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
510 
511 #define CATB_VERSION_OFFSET         0xFC         /**< \brief (CATB_VERSION offset) Version Register */
512 #define CATB_VERSION_RESETVALUE     _U_(0x00000100); /**< \brief (CATB_VERSION reset_value) Version Register */
513 
514 #define CATB_VERSION_VERSION_Pos    0            /**< \brief (CATB_VERSION) Version number */
515 #define CATB_VERSION_VERSION_Msk    (_U_(0xFFF) << CATB_VERSION_VERSION_Pos)
516 #define CATB_VERSION_VERSION(value) (CATB_VERSION_VERSION_Msk & ((value) << CATB_VERSION_VERSION_Pos))
517 #define CATB_VERSION_VARIANT_Pos    16           /**< \brief (CATB_VERSION) Variant number */
518 #define CATB_VERSION_VARIANT_Msk    (_U_(0xF) << CATB_VERSION_VARIANT_Pos)
519 #define CATB_VERSION_VARIANT(value) (CATB_VERSION_VARIANT_Msk & ((value) << CATB_VERSION_VARIANT_Pos))
520 #define CATB_VERSION_MASK           _U_(0x000F0FFF) /**< \brief (CATB_VERSION) MASK Register */
521 
522 /** \brief CatbIntch hardware registers */
523 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
524 typedef union {
525  struct {
526   __I  CATB_INTCH_Type           INTCH;       /**< \brief Offset: 0x00 (R/  32) In-Touch Status Register */
527  } bf;
528  struct {
529   RoReg   CATB_INTCH;         /**< \brief (CATB Offset: 0x00) In-Touch Status Register */
530  } reg;
531 } CatbIntch;
532 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
533 
534 /** \brief CatbIntchclr hardware registers */
535 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
536 typedef union {
537  struct {
538   __O  CATB_INTCHCLR_Type        INTCHCLR;    /**< \brief Offset: 0x00 ( /W 32) In-Touch Status Clear Register */
539  } bf;
540  struct {
541   WoReg   CATB_INTCHCLR;      /**< \brief (CATB Offset: 0x00) In-Touch Status Clear Register */
542  } reg;
543 } CatbIntchclr;
544 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
545 
546 /** \brief CatbOuttch hardware registers */
547 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
548 typedef union {
549  struct {
550   __I  CATB_OUTTCH_Type          OUTTCH;      /**< \brief Offset: 0x00 (R/  32) Out-of-Touch Status Register */
551  } bf;
552  struct {
553   RoReg   CATB_OUTTCH;        /**< \brief (CATB Offset: 0x00) Out-of-Touch Status Register */
554  } reg;
555 } CatbOuttch;
556 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
557 
558 /** \brief CatbOuttchclr hardware registers */
559 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
560 typedef union {
561  struct {
562   __O  CATB_OUTTCHCLR_Type       OUTTCHCLR;   /**< \brief Offset: 0x00 ( /W 32) Out-of-Touch Status Clear Register */
563  } bf;
564  struct {
565   WoReg   CATB_OUTTCHCLR;     /**< \brief (CATB Offset: 0x00) Out-of-Touch Status Clear Register */
566  } reg;
567 } CatbOuttchclr;
568 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
569 
570 /** \brief CATB hardware registers */
571 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
572 typedef struct {
573   __IO uint32_t CR;          /**< \brief Offset: 0x00 (R/W 32) Control Register */
574   __IO uint32_t CNTCR;       /**< \brief Offset: 0x04 (R/W 32) Counter Control Register */
575   __IO uint32_t IDLE;        /**< \brief Offset: 0x08 (R/W 32) Sensor Idle Level */
576   __I  uint32_t LEVEL;       /**< \brief Offset: 0x0C (R/  32) Sensor Relative Level */
577   __I  uint32_t RAW;         /**< \brief Offset: 0x10 (R/  32) Sensor Raw Value */
578   __IO uint32_t TIMING;      /**< \brief Offset: 0x14 (R/W 32) Filter Timing Register */
579   __IO uint32_t THRESH;      /**< \brief Offset: 0x18 (R/W 32) Threshold Register */
580   __IO uint32_t PINSEL;      /**< \brief Offset: 0x1C (R/W 32) Pin Selection Register */
581   __IO uint32_t DMA;         /**< \brief Offset: 0x20 (R/W 32) Direct Memory Access Register */
582   __I  uint32_t ISR;         /**< \brief Offset: 0x24 (R/  32) Interrupt Status Register */
583   __O  uint32_t IER;         /**< \brief Offset: 0x28 ( /W 32) Interrupt Enable Register */
584   __O  uint32_t IDR;         /**< \brief Offset: 0x2C ( /W 32) Interrupt Disable Register */
585   __I  uint32_t IMR;         /**< \brief Offset: 0x30 (R/  32) Interrupt Mask Register */
586   __O  uint32_t SCR;         /**< \brief Offset: 0x34 ( /W 32) Status Clear Register */
587        RoReg8   Reserved1[0x8];
588   __I  uint32_t Intch[1];    /**< \brief Offset: 0x40 CatbIntch groups [STATUS_REG_NUMBER] */
589        RoReg8   Reserved2[0xC];
590   __O  uint32_t Intchclr[1]; /**< \brief Offset: 0x50 CatbIntchclr groups [STATUS_REG_NUMBER] */
591        RoReg8   Reserved3[0xC];
592   __I  uint32_t Outtch[1];   /**< \brief Offset: 0x60 CatbOuttch groups [STATUS_REG_NUMBER] */
593        RoReg8   Reserved4[0xC];
594   __O  uint32_t Outtchclr[1]; /**< \brief Offset: 0x70 CatbOuttchclr groups [STATUS_REG_NUMBER] */
595        RoReg8   Reserved5[0x84];
596   __I  uint32_t PARAMETER;   /**< \brief Offset: 0xF8 (R/  32) Parameter Register */
597   __I  uint32_t VERSION;     /**< \brief Offset: 0xFC (R/  32) Version Register */
598 } Catb;
599 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
600 
601 /*@}*/
602 
603 #endif /* _SAM4L_CATB_COMPONENT_ */
604