1 /**
2  * \file
3  *
4  * \brief Component description for BSCIF
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_BSCIF_COMPONENT_
30 #define _SAM4L_BSCIF_COMPONENT_
31 
32 /* ========================================================================== */
33 /**  SOFTWARE API DEFINITION FOR BSCIF */
34 /* ========================================================================== */
35 /** \addtogroup SAM4L_BSCIF Backup System Control Interface */
36 /*@{*/
37 
38 #define BSCIF_
39 #define REV_BSCIF                   0x100
40 
41 /* -------- BSCIF_IER : (BSCIF Offset: 0x000) ( /W 32) Interrupt Enable Register -------- */
42 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
43 typedef union {
44   struct {
45     uint32_t OSC32RDY:1;       /*!< bit:      0  32kHz Oscillator Ready             */
46     uint32_t RC32KRDY:1;       /*!< bit:      1  32kHz RC Oscillator Ready          */
47     uint32_t RC32KLOCK:1;      /*!< bit:      2  32kHz RC Oscillator Lock           */
48     uint32_t RC32KREFE:1;      /*!< bit:      3  32kHz RC Oscillator Reference Error */
49     uint32_t RC32KSAT:1;       /*!< bit:      4  32kHz RC Oscillator Saturation     */
50     uint32_t BOD33DET:1;       /*!< bit:      5  BOD33 Detected                     */
51     uint32_t BOD18DET:1;       /*!< bit:      6  BOD18 Detected                     */
52     uint32_t BOD33SYNRDY:1;    /*!< bit:      7  BOD33 Synchronization Ready        */
53     uint32_t BOD18SYNRDY:1;    /*!< bit:      8  BOD18 Synchronization Ready        */
54     uint32_t SSWRDY:1;         /*!< bit:      9  VREG Stop Switching Ready          */
55     uint32_t VREGOK:1;         /*!< bit:     10  Main VREG OK                       */
56     uint32_t :1;               /*!< bit:     11  Reserved                           */
57     uint32_t LPBGRDY:1;        /*!< bit:     12  Low Power Bandgap Voltage Reference Ready */
58     uint32_t :18;              /*!< bit: 13..30  Reserved                           */
59     uint32_t AE:1;             /*!< bit:     31  Access Error                       */
60   } bit;                       /*!< Structure used for bit  access                  */
61   uint32_t reg;                /*!< Type      used for register access              */
62 } BSCIF_IER_Type;
63 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
64 
65 #define BSCIF_IER_OFFSET            0x000        /**< \brief (BSCIF_IER offset) Interrupt Enable Register */
66 #define BSCIF_IER_RESETVALUE        _U_(0x00000000); /**< \brief (BSCIF_IER reset_value) Interrupt Enable Register */
67 
68 #define BSCIF_IER_OSC32RDY_Pos      0            /**< \brief (BSCIF_IER) 32kHz Oscillator Ready */
69 #define BSCIF_IER_OSC32RDY          (_U_(0x1) << BSCIF_IER_OSC32RDY_Pos)
70 #define BSCIF_IER_RC32KRDY_Pos      1            /**< \brief (BSCIF_IER) 32kHz RC Oscillator Ready */
71 #define BSCIF_IER_RC32KRDY          (_U_(0x1) << BSCIF_IER_RC32KRDY_Pos)
72 #define BSCIF_IER_RC32KLOCK_Pos     2            /**< \brief (BSCIF_IER) 32kHz RC Oscillator Lock */
73 #define BSCIF_IER_RC32KLOCK         (_U_(0x1) << BSCIF_IER_RC32KLOCK_Pos)
74 #define BSCIF_IER_RC32KREFE_Pos     3            /**< \brief (BSCIF_IER) 32kHz RC Oscillator Reference Error */
75 #define BSCIF_IER_RC32KREFE         (_U_(0x1) << BSCIF_IER_RC32KREFE_Pos)
76 #define BSCIF_IER_RC32KSAT_Pos      4            /**< \brief (BSCIF_IER) 32kHz RC Oscillator Saturation */
77 #define BSCIF_IER_RC32KSAT          (_U_(0x1) << BSCIF_IER_RC32KSAT_Pos)
78 #define BSCIF_IER_BOD33DET_Pos      5            /**< \brief (BSCIF_IER) BOD33 Detected */
79 #define BSCIF_IER_BOD33DET          (_U_(0x1) << BSCIF_IER_BOD33DET_Pos)
80 #define BSCIF_IER_BOD18DET_Pos      6            /**< \brief (BSCIF_IER) BOD18 Detected */
81 #define BSCIF_IER_BOD18DET          (_U_(0x1) << BSCIF_IER_BOD18DET_Pos)
82 #define BSCIF_IER_BOD33SYNRDY_Pos   7            /**< \brief (BSCIF_IER) BOD33 Synchronization Ready */
83 #define BSCIF_IER_BOD33SYNRDY       (_U_(0x1) << BSCIF_IER_BOD33SYNRDY_Pos)
84 #define BSCIF_IER_BOD18SYNRDY_Pos   8            /**< \brief (BSCIF_IER) BOD18 Synchronization Ready */
85 #define BSCIF_IER_BOD18SYNRDY       (_U_(0x1) << BSCIF_IER_BOD18SYNRDY_Pos)
86 #define BSCIF_IER_SSWRDY_Pos        9            /**< \brief (BSCIF_IER) VREG Stop Switching Ready */
87 #define BSCIF_IER_SSWRDY            (_U_(0x1) << BSCIF_IER_SSWRDY_Pos)
88 #define BSCIF_IER_VREGOK_Pos        10           /**< \brief (BSCIF_IER) Main VREG OK */
89 #define BSCIF_IER_VREGOK            (_U_(0x1) << BSCIF_IER_VREGOK_Pos)
90 #define BSCIF_IER_LPBGRDY_Pos       12           /**< \brief (BSCIF_IER) Low Power Bandgap Voltage Reference Ready */
91 #define BSCIF_IER_LPBGRDY           (_U_(0x1) << BSCIF_IER_LPBGRDY_Pos)
92 #define BSCIF_IER_AE_Pos            31           /**< \brief (BSCIF_IER) Access Error */
93 #define BSCIF_IER_AE                (_U_(0x1) << BSCIF_IER_AE_Pos)
94 #define BSCIF_IER_MASK              _U_(0x800017FF) /**< \brief (BSCIF_IER) MASK Register */
95 
96 /* -------- BSCIF_IDR : (BSCIF Offset: 0x004) ( /W 32) Interrupt Disable Register -------- */
97 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
98 typedef union {
99   struct {
100     uint32_t OSC32RDY:1;       /*!< bit:      0  32kHz Oscillator Ready             */
101     uint32_t RC32KRDY:1;       /*!< bit:      1  32kHz RC Oscillator Ready          */
102     uint32_t RC32KLOCK:1;      /*!< bit:      2  32kHz RC Oscillator Lock           */
103     uint32_t RC32KREFE:1;      /*!< bit:      3  32kHz RC Oscillator Reference Error */
104     uint32_t RC32KSAT:1;       /*!< bit:      4  32kHz RC Oscillator Saturation     */
105     uint32_t BOD33DET:1;       /*!< bit:      5  BOD33 Detected                     */
106     uint32_t BOD18DET:1;       /*!< bit:      6  BOD18 Detected                     */
107     uint32_t BOD33SYNRDY:1;    /*!< bit:      7  BOD33 Synchronization Ready        */
108     uint32_t BOD18SYNRDY:1;    /*!< bit:      8  BOD18 Synchronization Ready        */
109     uint32_t SSWRDY:1;         /*!< bit:      9  VREG Stop Switching Ready          */
110     uint32_t VREGOK:1;         /*!< bit:     10  Mai n VREG OK                      */
111     uint32_t :1;               /*!< bit:     11  Reserved                           */
112     uint32_t LPBGRDY:1;        /*!< bit:     12  Low Power Bandgap Voltage Reference Ready */
113     uint32_t :18;              /*!< bit: 13..30  Reserved                           */
114     uint32_t AE:1;             /*!< bit:     31  Access Error                       */
115   } bit;                       /*!< Structure used for bit  access                  */
116   uint32_t reg;                /*!< Type      used for register access              */
117 } BSCIF_IDR_Type;
118 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
119 
120 #define BSCIF_IDR_OFFSET            0x004        /**< \brief (BSCIF_IDR offset) Interrupt Disable Register */
121 #define BSCIF_IDR_RESETVALUE        _U_(0x00000000); /**< \brief (BSCIF_IDR reset_value) Interrupt Disable Register */
122 
123 #define BSCIF_IDR_OSC32RDY_Pos      0            /**< \brief (BSCIF_IDR) 32kHz Oscillator Ready */
124 #define BSCIF_IDR_OSC32RDY          (_U_(0x1) << BSCIF_IDR_OSC32RDY_Pos)
125 #define BSCIF_IDR_RC32KRDY_Pos      1            /**< \brief (BSCIF_IDR) 32kHz RC Oscillator Ready */
126 #define BSCIF_IDR_RC32KRDY          (_U_(0x1) << BSCIF_IDR_RC32KRDY_Pos)
127 #define BSCIF_IDR_RC32KLOCK_Pos     2            /**< \brief (BSCIF_IDR) 32kHz RC Oscillator Lock */
128 #define BSCIF_IDR_RC32KLOCK         (_U_(0x1) << BSCIF_IDR_RC32KLOCK_Pos)
129 #define BSCIF_IDR_RC32KREFE_Pos     3            /**< \brief (BSCIF_IDR) 32kHz RC Oscillator Reference Error */
130 #define BSCIF_IDR_RC32KREFE         (_U_(0x1) << BSCIF_IDR_RC32KREFE_Pos)
131 #define BSCIF_IDR_RC32KSAT_Pos      4            /**< \brief (BSCIF_IDR) 32kHz RC Oscillator Saturation */
132 #define BSCIF_IDR_RC32KSAT          (_U_(0x1) << BSCIF_IDR_RC32KSAT_Pos)
133 #define BSCIF_IDR_BOD33DET_Pos      5            /**< \brief (BSCIF_IDR) BOD33 Detected */
134 #define BSCIF_IDR_BOD33DET          (_U_(0x1) << BSCIF_IDR_BOD33DET_Pos)
135 #define BSCIF_IDR_BOD18DET_Pos      6            /**< \brief (BSCIF_IDR) BOD18 Detected */
136 #define BSCIF_IDR_BOD18DET          (_U_(0x1) << BSCIF_IDR_BOD18DET_Pos)
137 #define BSCIF_IDR_BOD33SYNRDY_Pos   7            /**< \brief (BSCIF_IDR) BOD33 Synchronization Ready */
138 #define BSCIF_IDR_BOD33SYNRDY       (_U_(0x1) << BSCIF_IDR_BOD33SYNRDY_Pos)
139 #define BSCIF_IDR_BOD18SYNRDY_Pos   8            /**< \brief (BSCIF_IDR) BOD18 Synchronization Ready */
140 #define BSCIF_IDR_BOD18SYNRDY       (_U_(0x1) << BSCIF_IDR_BOD18SYNRDY_Pos)
141 #define BSCIF_IDR_SSWRDY_Pos        9            /**< \brief (BSCIF_IDR) VREG Stop Switching Ready */
142 #define BSCIF_IDR_SSWRDY            (_U_(0x1) << BSCIF_IDR_SSWRDY_Pos)
143 #define BSCIF_IDR_VREGOK_Pos        10           /**< \brief (BSCIF_IDR) Mai n VREG OK */
144 #define BSCIF_IDR_VREGOK            (_U_(0x1) << BSCIF_IDR_VREGOK_Pos)
145 #define BSCIF_IDR_LPBGRDY_Pos       12           /**< \brief (BSCIF_IDR) Low Power Bandgap Voltage Reference Ready */
146 #define BSCIF_IDR_LPBGRDY           (_U_(0x1) << BSCIF_IDR_LPBGRDY_Pos)
147 #define BSCIF_IDR_AE_Pos            31           /**< \brief (BSCIF_IDR) Access Error */
148 #define BSCIF_IDR_AE                (_U_(0x1) << BSCIF_IDR_AE_Pos)
149 #define BSCIF_IDR_MASK              _U_(0x800017FF) /**< \brief (BSCIF_IDR) MASK Register */
150 
151 /* -------- BSCIF_IMR : (BSCIF Offset: 0x008) (R/  32) Interrupt Mask Register -------- */
152 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
153 typedef union {
154   struct {
155     uint32_t OSC32RDY:1;       /*!< bit:      0  32kHz Oscillator Ready             */
156     uint32_t RC32KRDY:1;       /*!< bit:      1  32kHz RC Oscillator Ready          */
157     uint32_t RC32KLOCK:1;      /*!< bit:      2  32kHz RC Oscillator Lock           */
158     uint32_t RC32KREFE:1;      /*!< bit:      3  32kHz RC Oscillator Reference Error */
159     uint32_t RC32KSAT:1;       /*!< bit:      4  32kHz RC Oscillator Saturation     */
160     uint32_t BOD33DET:1;       /*!< bit:      5  BOD33 Detected                     */
161     uint32_t BOD18DET:1;       /*!< bit:      6  BOD18 Detected                     */
162     uint32_t BOD33SYNRDY:1;    /*!< bit:      7  BOD33 Synchronization Ready        */
163     uint32_t BOD18SYNRDY:1;    /*!< bit:      8  BOD18 Synchronization Ready        */
164     uint32_t SSWRDY:1;         /*!< bit:      9  VREG Stop Switching Ready          */
165     uint32_t VREGOK:1;         /*!< bit:     10  Main VREG OK                       */
166     uint32_t :1;               /*!< bit:     11  Reserved                           */
167     uint32_t LPBGRDY:1;        /*!< bit:     12  Low Power Bandgap Voltage Reference Ready */
168     uint32_t :18;              /*!< bit: 13..30  Reserved                           */
169     uint32_t AE:1;             /*!< bit:     31  Access Error                       */
170   } bit;                       /*!< Structure used for bit  access                  */
171   uint32_t reg;                /*!< Type      used for register access              */
172 } BSCIF_IMR_Type;
173 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
174 
175 #define BSCIF_IMR_OFFSET            0x008        /**< \brief (BSCIF_IMR offset) Interrupt Mask Register */
176 #define BSCIF_IMR_RESETVALUE        _U_(0x00000000); /**< \brief (BSCIF_IMR reset_value) Interrupt Mask Register */
177 
178 #define BSCIF_IMR_OSC32RDY_Pos      0            /**< \brief (BSCIF_IMR) 32kHz Oscillator Ready */
179 #define BSCIF_IMR_OSC32RDY          (_U_(0x1) << BSCIF_IMR_OSC32RDY_Pos)
180 #define BSCIF_IMR_RC32KRDY_Pos      1            /**< \brief (BSCIF_IMR) 32kHz RC Oscillator Ready */
181 #define BSCIF_IMR_RC32KRDY          (_U_(0x1) << BSCIF_IMR_RC32KRDY_Pos)
182 #define BSCIF_IMR_RC32KLOCK_Pos     2            /**< \brief (BSCIF_IMR) 32kHz RC Oscillator Lock */
183 #define BSCIF_IMR_RC32KLOCK         (_U_(0x1) << BSCIF_IMR_RC32KLOCK_Pos)
184 #define BSCIF_IMR_RC32KREFE_Pos     3            /**< \brief (BSCIF_IMR) 32kHz RC Oscillator Reference Error */
185 #define BSCIF_IMR_RC32KREFE         (_U_(0x1) << BSCIF_IMR_RC32KREFE_Pos)
186 #define BSCIF_IMR_RC32KSAT_Pos      4            /**< \brief (BSCIF_IMR) 32kHz RC Oscillator Saturation */
187 #define BSCIF_IMR_RC32KSAT          (_U_(0x1) << BSCIF_IMR_RC32KSAT_Pos)
188 #define BSCIF_IMR_BOD33DET_Pos      5            /**< \brief (BSCIF_IMR) BOD33 Detected */
189 #define BSCIF_IMR_BOD33DET          (_U_(0x1) << BSCIF_IMR_BOD33DET_Pos)
190 #define BSCIF_IMR_BOD18DET_Pos      6            /**< \brief (BSCIF_IMR) BOD18 Detected */
191 #define BSCIF_IMR_BOD18DET          (_U_(0x1) << BSCIF_IMR_BOD18DET_Pos)
192 #define BSCIF_IMR_BOD33SYNRDY_Pos   7            /**< \brief (BSCIF_IMR) BOD33 Synchronization Ready */
193 #define BSCIF_IMR_BOD33SYNRDY       (_U_(0x1) << BSCIF_IMR_BOD33SYNRDY_Pos)
194 #define BSCIF_IMR_BOD18SYNRDY_Pos   8            /**< \brief (BSCIF_IMR) BOD18 Synchronization Ready */
195 #define BSCIF_IMR_BOD18SYNRDY       (_U_(0x1) << BSCIF_IMR_BOD18SYNRDY_Pos)
196 #define BSCIF_IMR_SSWRDY_Pos        9            /**< \brief (BSCIF_IMR) VREG Stop Switching Ready */
197 #define BSCIF_IMR_SSWRDY            (_U_(0x1) << BSCIF_IMR_SSWRDY_Pos)
198 #define BSCIF_IMR_VREGOK_Pos        10           /**< \brief (BSCIF_IMR) Main VREG OK */
199 #define BSCIF_IMR_VREGOK            (_U_(0x1) << BSCIF_IMR_VREGOK_Pos)
200 #define BSCIF_IMR_LPBGRDY_Pos       12           /**< \brief (BSCIF_IMR) Low Power Bandgap Voltage Reference Ready */
201 #define BSCIF_IMR_LPBGRDY           (_U_(0x1) << BSCIF_IMR_LPBGRDY_Pos)
202 #define BSCIF_IMR_AE_Pos            31           /**< \brief (BSCIF_IMR) Access Error */
203 #define BSCIF_IMR_AE                (_U_(0x1) << BSCIF_IMR_AE_Pos)
204 #define BSCIF_IMR_MASK              _U_(0x800017FF) /**< \brief (BSCIF_IMR) MASK Register */
205 
206 /* -------- BSCIF_ISR : (BSCIF Offset: 0x00C) (R/  32) Interrupt Status Register -------- */
207 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
208 typedef union {
209   struct {
210     uint32_t OSC32RDY:1;       /*!< bit:      0  32kHz Oscillator Ready             */
211     uint32_t RC32KRDY:1;       /*!< bit:      1  32kHz RC Oscillator Ready          */
212     uint32_t RC32KLOCK:1;      /*!< bit:      2  32kHz RC Oscillator Lock           */
213     uint32_t RC32KREFE:1;      /*!< bit:      3  32kHz RC Oscillator Reference Error */
214     uint32_t RC32KSAT:1;       /*!< bit:      4  32kHz RC Oscillator Saturation     */
215     uint32_t BOD33DET:1;       /*!< bit:      5  BOD33 Detected                     */
216     uint32_t BOD18DET:1;       /*!< bit:      6  BOD18 Detected                     */
217     uint32_t BOD33SYNRDY:1;    /*!< bit:      7  BOD33 Synchronization Ready        */
218     uint32_t BOD18SYNRDY:1;    /*!< bit:      8  BOD18 Synchronization Ready        */
219     uint32_t SSWRDY:1;         /*!< bit:      9  VREG Stop Switching Ready          */
220     uint32_t VREGOK:1;         /*!< bit:     10  Main VREG OK                       */
221     uint32_t :1;               /*!< bit:     11  Reserved                           */
222     uint32_t LPBGRDY:1;        /*!< bit:     12  Low Power Bandgap Voltage Reference Ready */
223     uint32_t :18;              /*!< bit: 13..30  Reserved                           */
224     uint32_t AE:1;             /*!< bit:     31  Access Error                       */
225   } bit;                       /*!< Structure used for bit  access                  */
226   uint32_t reg;                /*!< Type      used for register access              */
227 } BSCIF_ISR_Type;
228 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
229 
230 #define BSCIF_ISR_OFFSET            0x00C        /**< \brief (BSCIF_ISR offset) Interrupt Status Register */
231 #define BSCIF_ISR_RESETVALUE        _U_(0x00000000); /**< \brief (BSCIF_ISR reset_value) Interrupt Status Register */
232 
233 #define BSCIF_ISR_OSC32RDY_Pos      0            /**< \brief (BSCIF_ISR) 32kHz Oscillator Ready */
234 #define BSCIF_ISR_OSC32RDY          (_U_(0x1) << BSCIF_ISR_OSC32RDY_Pos)
235 #define BSCIF_ISR_RC32KRDY_Pos      1            /**< \brief (BSCIF_ISR) 32kHz RC Oscillator Ready */
236 #define BSCIF_ISR_RC32KRDY          (_U_(0x1) << BSCIF_ISR_RC32KRDY_Pos)
237 #define BSCIF_ISR_RC32KLOCK_Pos     2            /**< \brief (BSCIF_ISR) 32kHz RC Oscillator Lock */
238 #define BSCIF_ISR_RC32KLOCK         (_U_(0x1) << BSCIF_ISR_RC32KLOCK_Pos)
239 #define BSCIF_ISR_RC32KREFE_Pos     3            /**< \brief (BSCIF_ISR) 32kHz RC Oscillator Reference Error */
240 #define BSCIF_ISR_RC32KREFE         (_U_(0x1) << BSCIF_ISR_RC32KREFE_Pos)
241 #define BSCIF_ISR_RC32KSAT_Pos      4            /**< \brief (BSCIF_ISR) 32kHz RC Oscillator Saturation */
242 #define BSCIF_ISR_RC32KSAT          (_U_(0x1) << BSCIF_ISR_RC32KSAT_Pos)
243 #define BSCIF_ISR_BOD33DET_Pos      5            /**< \brief (BSCIF_ISR) BOD33 Detected */
244 #define BSCIF_ISR_BOD33DET          (_U_(0x1) << BSCIF_ISR_BOD33DET_Pos)
245 #define BSCIF_ISR_BOD18DET_Pos      6            /**< \brief (BSCIF_ISR) BOD18 Detected */
246 #define BSCIF_ISR_BOD18DET          (_U_(0x1) << BSCIF_ISR_BOD18DET_Pos)
247 #define BSCIF_ISR_BOD33SYNRDY_Pos   7            /**< \brief (BSCIF_ISR) BOD33 Synchronization Ready */
248 #define BSCIF_ISR_BOD33SYNRDY       (_U_(0x1) << BSCIF_ISR_BOD33SYNRDY_Pos)
249 #define BSCIF_ISR_BOD18SYNRDY_Pos   8            /**< \brief (BSCIF_ISR) BOD18 Synchronization Ready */
250 #define BSCIF_ISR_BOD18SYNRDY       (_U_(0x1) << BSCIF_ISR_BOD18SYNRDY_Pos)
251 #define BSCIF_ISR_SSWRDY_Pos        9            /**< \brief (BSCIF_ISR) VREG Stop Switching Ready */
252 #define BSCIF_ISR_SSWRDY            (_U_(0x1) << BSCIF_ISR_SSWRDY_Pos)
253 #define BSCIF_ISR_VREGOK_Pos        10           /**< \brief (BSCIF_ISR) Main VREG OK */
254 #define BSCIF_ISR_VREGOK            (_U_(0x1) << BSCIF_ISR_VREGOK_Pos)
255 #define BSCIF_ISR_LPBGRDY_Pos       12           /**< \brief (BSCIF_ISR) Low Power Bandgap Voltage Reference Ready */
256 #define BSCIF_ISR_LPBGRDY           (_U_(0x1) << BSCIF_ISR_LPBGRDY_Pos)
257 #define BSCIF_ISR_AE_Pos            31           /**< \brief (BSCIF_ISR) Access Error */
258 #define BSCIF_ISR_AE                (_U_(0x1) << BSCIF_ISR_AE_Pos)
259 #define BSCIF_ISR_MASK              _U_(0x800017FF) /**< \brief (BSCIF_ISR) MASK Register */
260 
261 /* -------- BSCIF_ICR : (BSCIF Offset: 0x010) ( /W 32) Interrupt Clear Register -------- */
262 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
263 typedef union {
264   struct {
265     uint32_t OSC32RDY:1;       /*!< bit:      0  32kHz Oscillator Ready             */
266     uint32_t RC32KRDY:1;       /*!< bit:      1  32kHz RC Oscillator Ready          */
267     uint32_t RC32KLOCK:1;      /*!< bit:      2  32kHz RC Oscillator Lock           */
268     uint32_t RC32KREFE:1;      /*!< bit:      3  32kHz RC Oscillator Reference Error */
269     uint32_t RC32KSAT:1;       /*!< bit:      4  32kHz RC Oscillator Saturation     */
270     uint32_t BOD33DET:1;       /*!< bit:      5  BOD33 Detected                     */
271     uint32_t BOD18DET:1;       /*!< bit:      6  BOD18 Detected                     */
272     uint32_t BOD33SYNRDY:1;    /*!< bit:      7  BOD33 Synchronization Ready        */
273     uint32_t BOD18SYNRDY:1;    /*!< bit:      8  BOD18 Synchronization Ready        */
274     uint32_t SSWRDY:1;         /*!< bit:      9  VREG Stop Switching Ready          */
275     uint32_t VREGOK:1;         /*!< bit:     10  Main VREG OK                       */
276     uint32_t :1;               /*!< bit:     11  Reserved                           */
277     uint32_t LPBGRDY:1;        /*!< bit:     12  Low Power Bandgap Voltage Reference Ready */
278     uint32_t :18;              /*!< bit: 13..30  Reserved                           */
279     uint32_t AE:1;             /*!< bit:     31  Access Error                       */
280   } bit;                       /*!< Structure used for bit  access                  */
281   uint32_t reg;                /*!< Type      used for register access              */
282 } BSCIF_ICR_Type;
283 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
284 
285 #define BSCIF_ICR_OFFSET            0x010        /**< \brief (BSCIF_ICR offset) Interrupt Clear Register */
286 #define BSCIF_ICR_RESETVALUE        _U_(0x00000000); /**< \brief (BSCIF_ICR reset_value) Interrupt Clear Register */
287 
288 #define BSCIF_ICR_OSC32RDY_Pos      0            /**< \brief (BSCIF_ICR) 32kHz Oscillator Ready */
289 #define BSCIF_ICR_OSC32RDY          (_U_(0x1) << BSCIF_ICR_OSC32RDY_Pos)
290 #define BSCIF_ICR_RC32KRDY_Pos      1            /**< \brief (BSCIF_ICR) 32kHz RC Oscillator Ready */
291 #define BSCIF_ICR_RC32KRDY          (_U_(0x1) << BSCIF_ICR_RC32KRDY_Pos)
292 #define BSCIF_ICR_RC32KLOCK_Pos     2            /**< \brief (BSCIF_ICR) 32kHz RC Oscillator Lock */
293 #define BSCIF_ICR_RC32KLOCK         (_U_(0x1) << BSCIF_ICR_RC32KLOCK_Pos)
294 #define BSCIF_ICR_RC32KREFE_Pos     3            /**< \brief (BSCIF_ICR) 32kHz RC Oscillator Reference Error */
295 #define BSCIF_ICR_RC32KREFE         (_U_(0x1) << BSCIF_ICR_RC32KREFE_Pos)
296 #define BSCIF_ICR_RC32KSAT_Pos      4            /**< \brief (BSCIF_ICR) 32kHz RC Oscillator Saturation */
297 #define BSCIF_ICR_RC32KSAT          (_U_(0x1) << BSCIF_ICR_RC32KSAT_Pos)
298 #define BSCIF_ICR_BOD33DET_Pos      5            /**< \brief (BSCIF_ICR) BOD33 Detected */
299 #define BSCIF_ICR_BOD33DET          (_U_(0x1) << BSCIF_ICR_BOD33DET_Pos)
300 #define BSCIF_ICR_BOD18DET_Pos      6            /**< \brief (BSCIF_ICR) BOD18 Detected */
301 #define BSCIF_ICR_BOD18DET          (_U_(0x1) << BSCIF_ICR_BOD18DET_Pos)
302 #define BSCIF_ICR_BOD33SYNRDY_Pos   7            /**< \brief (BSCIF_ICR) BOD33 Synchronization Ready */
303 #define BSCIF_ICR_BOD33SYNRDY       (_U_(0x1) << BSCIF_ICR_BOD33SYNRDY_Pos)
304 #define BSCIF_ICR_BOD18SYNRDY_Pos   8            /**< \brief (BSCIF_ICR) BOD18 Synchronization Ready */
305 #define BSCIF_ICR_BOD18SYNRDY       (_U_(0x1) << BSCIF_ICR_BOD18SYNRDY_Pos)
306 #define BSCIF_ICR_SSWRDY_Pos        9            /**< \brief (BSCIF_ICR) VREG Stop Switching Ready */
307 #define BSCIF_ICR_SSWRDY            (_U_(0x1) << BSCIF_ICR_SSWRDY_Pos)
308 #define BSCIF_ICR_VREGOK_Pos        10           /**< \brief (BSCIF_ICR) Main VREG OK */
309 #define BSCIF_ICR_VREGOK            (_U_(0x1) << BSCIF_ICR_VREGOK_Pos)
310 #define BSCIF_ICR_LPBGRDY_Pos       12           /**< \brief (BSCIF_ICR) Low Power Bandgap Voltage Reference Ready */
311 #define BSCIF_ICR_LPBGRDY           (_U_(0x1) << BSCIF_ICR_LPBGRDY_Pos)
312 #define BSCIF_ICR_AE_Pos            31           /**< \brief (BSCIF_ICR) Access Error */
313 #define BSCIF_ICR_AE                (_U_(0x1) << BSCIF_ICR_AE_Pos)
314 #define BSCIF_ICR_MASK              _U_(0x800017FF) /**< \brief (BSCIF_ICR) MASK Register */
315 
316 /* -------- BSCIF_PCLKSR : (BSCIF Offset: 0x014) (R/  32) Power and Clocks Status Register -------- */
317 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
318 typedef union {
319   struct {
320     uint32_t OSC32RDY:1;       /*!< bit:      0  32kHz Oscillator Ready             */
321     uint32_t RC32KRDY:1;       /*!< bit:      1  32kHz RC Oscillator Ready          */
322     uint32_t RC32KLOCK:1;      /*!< bit:      2  32kHz RC Oscillator Lock           */
323     uint32_t RC32KREFE:1;      /*!< bit:      3  32kHz RC Oscillator Reference Error */
324     uint32_t RC32KSAT:1;       /*!< bit:      4  32kHz RC Oscillator Saturation     */
325     uint32_t BOD33DET:1;       /*!< bit:      5  BOD33 Detected                     */
326     uint32_t BOD18DET:1;       /*!< bit:      6  BOD18 Detected                     */
327     uint32_t BOD33SYNRDY:1;    /*!< bit:      7  BOD33 Synchronization Ready        */
328     uint32_t BOD18SYNRDY:1;    /*!< bit:      8  BOD18 Synchronization Ready        */
329     uint32_t SSWRDY:1;         /*!< bit:      9  VREG Stop Switching Ready          */
330     uint32_t VREGOK:1;         /*!< bit:     10  Main VREG OK                       */
331     uint32_t RC1MRDY:1;        /*!< bit:     11  RC 1MHz Oscillator Ready           */
332     uint32_t LPBGRDY:1;        /*!< bit:     12  Low Power Bandgap Voltage Reference Ready */
333     uint32_t :19;              /*!< bit: 13..31  Reserved                           */
334   } bit;                       /*!< Structure used for bit  access                  */
335   uint32_t reg;                /*!< Type      used for register access              */
336 } BSCIF_PCLKSR_Type;
337 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
338 
339 #define BSCIF_PCLKSR_OFFSET         0x014        /**< \brief (BSCIF_PCLKSR offset) Power and Clocks Status Register */
340 #define BSCIF_PCLKSR_RESETVALUE     _U_(0x00000000); /**< \brief (BSCIF_PCLKSR reset_value) Power and Clocks Status Register */
341 
342 #define BSCIF_PCLKSR_OSC32RDY_Pos   0            /**< \brief (BSCIF_PCLKSR) 32kHz Oscillator Ready */
343 #define BSCIF_PCLKSR_OSC32RDY       (_U_(0x1) << BSCIF_PCLKSR_OSC32RDY_Pos)
344 #define BSCIF_PCLKSR_RC32KRDY_Pos   1            /**< \brief (BSCIF_PCLKSR) 32kHz RC Oscillator Ready */
345 #define BSCIF_PCLKSR_RC32KRDY       (_U_(0x1) << BSCIF_PCLKSR_RC32KRDY_Pos)
346 #define BSCIF_PCLKSR_RC32KLOCK_Pos  2            /**< \brief (BSCIF_PCLKSR) 32kHz RC Oscillator Lock */
347 #define BSCIF_PCLKSR_RC32KLOCK      (_U_(0x1) << BSCIF_PCLKSR_RC32KLOCK_Pos)
348 #define BSCIF_PCLKSR_RC32KREFE_Pos  3            /**< \brief (BSCIF_PCLKSR) 32kHz RC Oscillator Reference Error */
349 #define BSCIF_PCLKSR_RC32KREFE      (_U_(0x1) << BSCIF_PCLKSR_RC32KREFE_Pos)
350 #define BSCIF_PCLKSR_RC32KSAT_Pos   4            /**< \brief (BSCIF_PCLKSR) 32kHz RC Oscillator Saturation */
351 #define BSCIF_PCLKSR_RC32KSAT       (_U_(0x1) << BSCIF_PCLKSR_RC32KSAT_Pos)
352 #define BSCIF_PCLKSR_BOD33DET_Pos   5            /**< \brief (BSCIF_PCLKSR) BOD33 Detected */
353 #define BSCIF_PCLKSR_BOD33DET       (_U_(0x1) << BSCIF_PCLKSR_BOD33DET_Pos)
354 #define BSCIF_PCLKSR_BOD18DET_Pos   6            /**< \brief (BSCIF_PCLKSR) BOD18 Detected */
355 #define BSCIF_PCLKSR_BOD18DET       (_U_(0x1) << BSCIF_PCLKSR_BOD18DET_Pos)
356 #define BSCIF_PCLKSR_BOD33SYNRDY_Pos 7            /**< \brief (BSCIF_PCLKSR) BOD33 Synchronization Ready */
357 #define BSCIF_PCLKSR_BOD33SYNRDY    (_U_(0x1) << BSCIF_PCLKSR_BOD33SYNRDY_Pos)
358 #define BSCIF_PCLKSR_BOD18SYNRDY_Pos 8            /**< \brief (BSCIF_PCLKSR) BOD18 Synchronization Ready */
359 #define BSCIF_PCLKSR_BOD18SYNRDY    (_U_(0x1) << BSCIF_PCLKSR_BOD18SYNRDY_Pos)
360 #define BSCIF_PCLKSR_SSWRDY_Pos     9            /**< \brief (BSCIF_PCLKSR) VREG Stop Switching Ready */
361 #define BSCIF_PCLKSR_SSWRDY         (_U_(0x1) << BSCIF_PCLKSR_SSWRDY_Pos)
362 #define BSCIF_PCLKSR_VREGOK_Pos     10           /**< \brief (BSCIF_PCLKSR) Main VREG OK */
363 #define BSCIF_PCLKSR_VREGOK         (_U_(0x1) << BSCIF_PCLKSR_VREGOK_Pos)
364 #define BSCIF_PCLKSR_RC1MRDY_Pos    11           /**< \brief (BSCIF_PCLKSR) RC 1MHz Oscillator Ready */
365 #define BSCIF_PCLKSR_RC1MRDY        (_U_(0x1) << BSCIF_PCLKSR_RC1MRDY_Pos)
366 #define BSCIF_PCLKSR_LPBGRDY_Pos    12           /**< \brief (BSCIF_PCLKSR) Low Power Bandgap Voltage Reference Ready */
367 #define BSCIF_PCLKSR_LPBGRDY        (_U_(0x1) << BSCIF_PCLKSR_LPBGRDY_Pos)
368 #define BSCIF_PCLKSR_MASK           _U_(0x00001FFF) /**< \brief (BSCIF_PCLKSR) MASK Register */
369 
370 /* -------- BSCIF_UNLOCK : (BSCIF Offset: 0x018) ( /W 32) Unlock Register -------- */
371 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
372 typedef union {
373   struct {
374     uint32_t ADDR:10;          /*!< bit:  0.. 9  Unlock Address                     */
375     uint32_t :14;              /*!< bit: 10..23  Reserved                           */
376     uint32_t KEY:8;            /*!< bit: 24..31  Unlock Key                         */
377   } bit;                       /*!< Structure used for bit  access                  */
378   uint32_t reg;                /*!< Type      used for register access              */
379 } BSCIF_UNLOCK_Type;
380 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
381 
382 #define BSCIF_UNLOCK_OFFSET         0x018        /**< \brief (BSCIF_UNLOCK offset) Unlock Register */
383 #define BSCIF_UNLOCK_RESETVALUE     _U_(0x00000000); /**< \brief (BSCIF_UNLOCK reset_value) Unlock Register */
384 
385 #define BSCIF_UNLOCK_ADDR_Pos       0            /**< \brief (BSCIF_UNLOCK) Unlock Address */
386 #define BSCIF_UNLOCK_ADDR_Msk       (_U_(0x3FF) << BSCIF_UNLOCK_ADDR_Pos)
387 #define BSCIF_UNLOCK_ADDR(value)    (BSCIF_UNLOCK_ADDR_Msk & ((value) << BSCIF_UNLOCK_ADDR_Pos))
388 #define BSCIF_UNLOCK_KEY_Pos        24           /**< \brief (BSCIF_UNLOCK) Unlock Key */
389 #define BSCIF_UNLOCK_KEY_Msk        (_U_(0xFF) << BSCIF_UNLOCK_KEY_Pos)
390 #define BSCIF_UNLOCK_KEY(value)     (BSCIF_UNLOCK_KEY_Msk & ((value) << BSCIF_UNLOCK_KEY_Pos))
391 #define   BSCIF_UNLOCK_KEY_VALID_Val      _U_(0xAA)   /**< \brief (BSCIF_UNLOCK) Valid Key to Unlock register */
392 #define BSCIF_UNLOCK_KEY_VALID      (BSCIF_UNLOCK_KEY_VALID_Val    << BSCIF_UNLOCK_KEY_Pos)
393 #define BSCIF_UNLOCK_MASK           _U_(0xFF0003FF) /**< \brief (BSCIF_UNLOCK) MASK Register */
394 
395 /* -------- BSCIF_CSCR : (BSCIF Offset: 0x01C) (R/W 32) Chip Specific Configuration Register -------- */
396 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
397 typedef union {
398   uint32_t reg;                /*!< Type      used for register access              */
399 } BSCIF_CSCR_Type;
400 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
401 
402 #define BSCIF_CSCR_OFFSET           0x01C        /**< \brief (BSCIF_CSCR offset) Chip Specific Configuration Register */
403 #define BSCIF_CSCR_RESETVALUE       _U_(0x00000000); /**< \brief (BSCIF_CSCR reset_value) Chip Specific Configuration Register */
404 
405 #define BSCIF_CSCR_MASK             _U_(0x00000000) /**< \brief (BSCIF_CSCR) MASK Register */
406 
407 /* -------- BSCIF_OSCCTRL32 : (BSCIF Offset: 0x020) (R/W 32) Oscillator 32 Control Register -------- */
408 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
409 typedef union {
410   struct {
411     uint32_t OSC32EN:1;        /*!< bit:      0  32 KHz Oscillator Enable           */
412     uint32_t PINSEL:1;         /*!< bit:      1  Pins Select                        */
413     uint32_t EN32K:1;          /*!< bit:      2  32 KHz output Enable               */
414     uint32_t EN1K:1;           /*!< bit:      3  1 KHz output Enable                */
415     uint32_t :4;               /*!< bit:  4.. 7  Reserved                           */
416     uint32_t MODE:3;           /*!< bit:  8..10  Oscillator Mode                    */
417     uint32_t :1;               /*!< bit:     11  Reserved                           */
418     uint32_t SELCURR:4;        /*!< bit: 12..15  Current selection                  */
419     uint32_t STARTUP:3;        /*!< bit: 16..18  Oscillator Start-up Time           */
420     uint32_t :13;              /*!< bit: 19..31  Reserved                           */
421   } bit;                       /*!< Structure used for bit  access                  */
422   uint32_t reg;                /*!< Type      used for register access              */
423 } BSCIF_OSCCTRL32_Type;
424 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
425 
426 #define BSCIF_OSCCTRL32_OFFSET      0x020        /**< \brief (BSCIF_OSCCTRL32 offset) Oscillator 32 Control Register */
427 #define BSCIF_OSCCTRL32_RESETVALUE  _U_(0x00000004); /**< \brief (BSCIF_OSCCTRL32 reset_value) Oscillator 32 Control Register */
428 
429 #define BSCIF_OSCCTRL32_OSC32EN_Pos 0            /**< \brief (BSCIF_OSCCTRL32) 32 KHz Oscillator Enable */
430 #define BSCIF_OSCCTRL32_OSC32EN     (_U_(0x1) << BSCIF_OSCCTRL32_OSC32EN_Pos)
431 #define BSCIF_OSCCTRL32_PINSEL_Pos  1            /**< \brief (BSCIF_OSCCTRL32) Pins Select */
432 #define BSCIF_OSCCTRL32_PINSEL      (_U_(0x1) << BSCIF_OSCCTRL32_PINSEL_Pos)
433 #define BSCIF_OSCCTRL32_EN32K_Pos   2            /**< \brief (BSCIF_OSCCTRL32) 32 KHz output Enable */
434 #define BSCIF_OSCCTRL32_EN32K       (_U_(0x1) << BSCIF_OSCCTRL32_EN32K_Pos)
435 #define BSCIF_OSCCTRL32_EN1K_Pos    3            /**< \brief (BSCIF_OSCCTRL32) 1 KHz output Enable */
436 #define BSCIF_OSCCTRL32_EN1K        (_U_(0x1) << BSCIF_OSCCTRL32_EN1K_Pos)
437 #define BSCIF_OSCCTRL32_MODE_Pos    8            /**< \brief (BSCIF_OSCCTRL32) Oscillator Mode */
438 #define BSCIF_OSCCTRL32_MODE_Msk    (_U_(0x7) << BSCIF_OSCCTRL32_MODE_Pos)
439 #define BSCIF_OSCCTRL32_MODE(value) (BSCIF_OSCCTRL32_MODE_Msk & ((value) << BSCIF_OSCCTRL32_MODE_Pos))
440 #define BSCIF_OSCCTRL32_SELCURR_Pos 12           /**< \brief (BSCIF_OSCCTRL32) Current selection */
441 #define BSCIF_OSCCTRL32_SELCURR_Msk (_U_(0xF) << BSCIF_OSCCTRL32_SELCURR_Pos)
442 #define BSCIF_OSCCTRL32_SELCURR(value) (BSCIF_OSCCTRL32_SELCURR_Msk & ((value) << BSCIF_OSCCTRL32_SELCURR_Pos))
443 #define BSCIF_OSCCTRL32_STARTUP_Pos 16           /**< \brief (BSCIF_OSCCTRL32) Oscillator Start-up Time */
444 #define BSCIF_OSCCTRL32_STARTUP_Msk (_U_(0x7) << BSCIF_OSCCTRL32_STARTUP_Pos)
445 #define BSCIF_OSCCTRL32_STARTUP(value) (BSCIF_OSCCTRL32_STARTUP_Msk & ((value) << BSCIF_OSCCTRL32_STARTUP_Pos))
446 #define BSCIF_OSCCTRL32_MASK        _U_(0x0007F70F) /**< \brief (BSCIF_OSCCTRL32) MASK Register */
447 
448 /* -------- BSCIF_RC32KCR : (BSCIF Offset: 0x024) (R/W 32) 32 kHz RC Oscillator Control Register -------- */
449 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
450 typedef union {
451   struct {
452     uint32_t EN:1;             /*!< bit:      0  Enable as Generic clock source     */
453     uint32_t TCEN:1;           /*!< bit:      1  Temperature Compensation Enable    */
454     uint32_t EN32K:1;          /*!< bit:      2  Enable 32 KHz output               */
455     uint32_t EN1K:1;           /*!< bit:      3  Enable 1 kHz output                */
456     uint32_t MODE:1;           /*!< bit:      4  Mode Selection                     */
457     uint32_t REF:1;            /*!< bit:      5  Reference select                   */
458     uint32_t :1;               /*!< bit:      6  Reserved                           */
459     uint32_t FCD:1;            /*!< bit:      7  Flash calibration done             */
460     uint32_t :24;              /*!< bit:  8..31  Reserved                           */
461   } bit;                       /*!< Structure used for bit  access                  */
462   uint32_t reg;                /*!< Type      used for register access              */
463 } BSCIF_RC32KCR_Type;
464 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
465 
466 #define BSCIF_RC32KCR_OFFSET        0x024        /**< \brief (BSCIF_RC32KCR offset) 32 kHz RC Oscillator Control Register */
467 #define BSCIF_RC32KCR_RESETVALUE    _U_(0x00000000); /**< \brief (BSCIF_RC32KCR reset_value) 32 kHz RC Oscillator Control Register */
468 
469 #define BSCIF_RC32KCR_EN_Pos        0            /**< \brief (BSCIF_RC32KCR) Enable as Generic clock source */
470 #define BSCIF_RC32KCR_EN            (_U_(0x1) << BSCIF_RC32KCR_EN_Pos)
471 #define BSCIF_RC32KCR_TCEN_Pos      1            /**< \brief (BSCIF_RC32KCR) Temperature Compensation Enable */
472 #define BSCIF_RC32KCR_TCEN          (_U_(0x1) << BSCIF_RC32KCR_TCEN_Pos)
473 #define BSCIF_RC32KCR_EN32K_Pos     2            /**< \brief (BSCIF_RC32KCR) Enable 32 KHz output */
474 #define BSCIF_RC32KCR_EN32K         (_U_(0x1) << BSCIF_RC32KCR_EN32K_Pos)
475 #define BSCIF_RC32KCR_EN1K_Pos      3            /**< \brief (BSCIF_RC32KCR) Enable 1 kHz output */
476 #define BSCIF_RC32KCR_EN1K          (_U_(0x1) << BSCIF_RC32KCR_EN1K_Pos)
477 #define BSCIF_RC32KCR_MODE_Pos      4            /**< \brief (BSCIF_RC32KCR) Mode Selection */
478 #define BSCIF_RC32KCR_MODE          (_U_(0x1) << BSCIF_RC32KCR_MODE_Pos)
479 #define BSCIF_RC32KCR_REF_Pos       5            /**< \brief (BSCIF_RC32KCR) Reference select */
480 #define BSCIF_RC32KCR_REF           (_U_(0x1) << BSCIF_RC32KCR_REF_Pos)
481 #define BSCIF_RC32KCR_FCD_Pos       7            /**< \brief (BSCIF_RC32KCR) Flash calibration done */
482 #define BSCIF_RC32KCR_FCD           (_U_(0x1) << BSCIF_RC32KCR_FCD_Pos)
483 #define BSCIF_RC32KCR_MASK          _U_(0x000000BF) /**< \brief (BSCIF_RC32KCR) MASK Register */
484 
485 /* -------- BSCIF_RC32KTUNE : (BSCIF Offset: 0x028) (R/W 32) 32kHz RC Oscillator Tuning Register -------- */
486 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
487 typedef union {
488   struct {
489     uint32_t FINE:6;           /*!< bit:  0.. 5  Fine value                         */
490     uint32_t :10;              /*!< bit:  6..15  Reserved                           */
491     uint32_t COARSE:7;         /*!< bit: 16..22  Coarse Value                       */
492     uint32_t :9;               /*!< bit: 23..31  Reserved                           */
493   } bit;                       /*!< Structure used for bit  access                  */
494   uint32_t reg;                /*!< Type      used for register access              */
495 } BSCIF_RC32KTUNE_Type;
496 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
497 
498 #define BSCIF_RC32KTUNE_OFFSET      0x028        /**< \brief (BSCIF_RC32KTUNE offset) 32kHz RC Oscillator Tuning Register */
499 #define BSCIF_RC32KTUNE_RESETVALUE  _U_(0x00000000); /**< \brief (BSCIF_RC32KTUNE reset_value) 32kHz RC Oscillator Tuning Register */
500 
501 #define BSCIF_RC32KTUNE_FINE_Pos    0            /**< \brief (BSCIF_RC32KTUNE) Fine value */
502 #define BSCIF_RC32KTUNE_FINE_Msk    (_U_(0x3F) << BSCIF_RC32KTUNE_FINE_Pos)
503 #define BSCIF_RC32KTUNE_FINE(value) (BSCIF_RC32KTUNE_FINE_Msk & ((value) << BSCIF_RC32KTUNE_FINE_Pos))
504 #define BSCIF_RC32KTUNE_COARSE_Pos  16           /**< \brief (BSCIF_RC32KTUNE) Coarse Value */
505 #define BSCIF_RC32KTUNE_COARSE_Msk  (_U_(0x7F) << BSCIF_RC32KTUNE_COARSE_Pos)
506 #define BSCIF_RC32KTUNE_COARSE(value) (BSCIF_RC32KTUNE_COARSE_Msk & ((value) << BSCIF_RC32KTUNE_COARSE_Pos))
507 #define BSCIF_RC32KTUNE_MASK        _U_(0x007F003F) /**< \brief (BSCIF_RC32KTUNE) MASK Register */
508 
509 /* -------- BSCIF_BOD33CTRL : (BSCIF Offset: 0x02C) (R/W 32) BOD33 Control Register -------- */
510 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
511 typedef union {
512   struct {
513     uint32_t EN:1;             /*!< bit:      0  Enable                             */
514     uint32_t HYST:1;           /*!< bit:      1  BOD Hysteresis                     */
515     uint32_t :6;               /*!< bit:  2.. 7  Reserved                           */
516     uint32_t ACTION:2;         /*!< bit:  8.. 9  Action                             */
517     uint32_t :6;               /*!< bit: 10..15  Reserved                           */
518     uint32_t MODE:1;           /*!< bit:     16  Operation modes                    */
519     uint32_t :13;              /*!< bit: 17..29  Reserved                           */
520     uint32_t FCD:1;            /*!< bit:     30  BOD Fuse Calibration Done          */
521     uint32_t SFV:1;            /*!< bit:     31  BOD Control Register Store Final Value */
522   } bit;                       /*!< Structure used for bit  access                  */
523   uint32_t reg;                /*!< Type      used for register access              */
524 } BSCIF_BOD33CTRL_Type;
525 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
526 
527 #define BSCIF_BOD33CTRL_OFFSET      0x02C        /**< \brief (BSCIF_BOD33CTRL offset) BOD33 Control Register */
528 
529 #define BSCIF_BOD33CTRL_EN_Pos      0            /**< \brief (BSCIF_BOD33CTRL) Enable */
530 #define BSCIF_BOD33CTRL_EN          (_U_(0x1) << BSCIF_BOD33CTRL_EN_Pos)
531 #define BSCIF_BOD33CTRL_HYST_Pos    1            /**< \brief (BSCIF_BOD33CTRL) BOD Hysteresis */
532 #define BSCIF_BOD33CTRL_HYST        (_U_(0x1) << BSCIF_BOD33CTRL_HYST_Pos)
533 #define BSCIF_BOD33CTRL_ACTION_Pos  8            /**< \brief (BSCIF_BOD33CTRL) Action */
534 #define BSCIF_BOD33CTRL_ACTION_Msk  (_U_(0x3) << BSCIF_BOD33CTRL_ACTION_Pos)
535 #define BSCIF_BOD33CTRL_ACTION(value) (BSCIF_BOD33CTRL_ACTION_Msk & ((value) << BSCIF_BOD33CTRL_ACTION_Pos))
536 #define BSCIF_BOD33CTRL_MODE_Pos    16           /**< \brief (BSCIF_BOD33CTRL) Operation modes */
537 #define BSCIF_BOD33CTRL_MODE        (_U_(0x1) << BSCIF_BOD33CTRL_MODE_Pos)
538 #define BSCIF_BOD33CTRL_FCD_Pos     30           /**< \brief (BSCIF_BOD33CTRL) BOD Fuse Calibration Done */
539 #define BSCIF_BOD33CTRL_FCD         (_U_(0x1) << BSCIF_BOD33CTRL_FCD_Pos)
540 #define BSCIF_BOD33CTRL_SFV_Pos     31           /**< \brief (BSCIF_BOD33CTRL) BOD Control Register Store Final Value */
541 #define BSCIF_BOD33CTRL_SFV         (_U_(0x1) << BSCIF_BOD33CTRL_SFV_Pos)
542 #define BSCIF_BOD33CTRL_MASK        _U_(0xC0010303) /**< \brief (BSCIF_BOD33CTRL) MASK Register */
543 
544 /* -------- BSCIF_BOD33LEVEL : (BSCIF Offset: 0x030) (R/W 32) BOD33 Level Register -------- */
545 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
546 typedef union {
547   struct {
548     uint32_t VAL:6;            /*!< bit:  0.. 5  BOD Value                          */
549     uint32_t :26;              /*!< bit:  6..31  Reserved                           */
550   } bit;                       /*!< Structure used for bit  access                  */
551   uint32_t reg;                /*!< Type      used for register access              */
552 } BSCIF_BOD33LEVEL_Type;
553 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
554 
555 #define BSCIF_BOD33LEVEL_OFFSET     0x030        /**< \brief (BSCIF_BOD33LEVEL offset) BOD33 Level Register */
556 #define BSCIF_BOD33LEVEL_RESETVALUE _U_(0x00000000); /**< \brief (BSCIF_BOD33LEVEL reset_value) BOD33 Level Register */
557 
558 #define BSCIF_BOD33LEVEL_VAL_Pos    0            /**< \brief (BSCIF_BOD33LEVEL) BOD Value */
559 #define BSCIF_BOD33LEVEL_VAL_Msk    (_U_(0x3F) << BSCIF_BOD33LEVEL_VAL_Pos)
560 #define BSCIF_BOD33LEVEL_VAL(value) (BSCIF_BOD33LEVEL_VAL_Msk & ((value) << BSCIF_BOD33LEVEL_VAL_Pos))
561 #define BSCIF_BOD33LEVEL_MASK       _U_(0x0000003F) /**< \brief (BSCIF_BOD33LEVEL) MASK Register */
562 
563 /* -------- BSCIF_BOD33SAMPLING : (BSCIF Offset: 0x034) (R/W 32) BOD33 Sampling Control Register -------- */
564 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
565 typedef union {
566   struct {
567     uint32_t CEN:1;            /*!< bit:      0  Clock Enable                       */
568     uint32_t CSSEL:1;          /*!< bit:      1  Clock Source Select                */
569     uint32_t :6;               /*!< bit:  2.. 7  Reserved                           */
570     uint32_t PSEL:4;           /*!< bit:  8..11  Prescaler Select                   */
571     uint32_t :20;              /*!< bit: 12..31  Reserved                           */
572   } bit;                       /*!< Structure used for bit  access                  */
573   uint32_t reg;                /*!< Type      used for register access              */
574 } BSCIF_BOD33SAMPLING_Type;
575 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
576 
577 #define BSCIF_BOD33SAMPLING_OFFSET  0x034        /**< \brief (BSCIF_BOD33SAMPLING offset) BOD33 Sampling Control Register */
578 #define BSCIF_BOD33SAMPLING_RESETVALUE _U_(0x00000000); /**< \brief (BSCIF_BOD33SAMPLING reset_value) BOD33 Sampling Control Register */
579 
580 #define BSCIF_BOD33SAMPLING_CEN_Pos 0            /**< \brief (BSCIF_BOD33SAMPLING) Clock Enable */
581 #define BSCIF_BOD33SAMPLING_CEN     (_U_(0x1) << BSCIF_BOD33SAMPLING_CEN_Pos)
582 #define BSCIF_BOD33SAMPLING_CSSEL_Pos 1            /**< \brief (BSCIF_BOD33SAMPLING) Clock Source Select */
583 #define BSCIF_BOD33SAMPLING_CSSEL   (_U_(0x1) << BSCIF_BOD33SAMPLING_CSSEL_Pos)
584 #define BSCIF_BOD33SAMPLING_PSEL_Pos 8            /**< \brief (BSCIF_BOD33SAMPLING) Prescaler Select */
585 #define BSCIF_BOD33SAMPLING_PSEL_Msk (_U_(0xF) << BSCIF_BOD33SAMPLING_PSEL_Pos)
586 #define BSCIF_BOD33SAMPLING_PSEL(value) (BSCIF_BOD33SAMPLING_PSEL_Msk & ((value) << BSCIF_BOD33SAMPLING_PSEL_Pos))
587 #define BSCIF_BOD33SAMPLING_MASK    _U_(0x00000F03) /**< \brief (BSCIF_BOD33SAMPLING) MASK Register */
588 
589 /* -------- BSCIF_BOD18CTRL : (BSCIF Offset: 0x038) (R/W 32) BOD18 Control Register -------- */
590 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
591 typedef union {
592   struct {
593     uint32_t EN:1;             /*!< bit:      0  Enable                             */
594     uint32_t HYST:1;           /*!< bit:      1  BOD Hysteresis                     */
595     uint32_t :6;               /*!< bit:  2.. 7  Reserved                           */
596     uint32_t ACTION:2;         /*!< bit:  8.. 9  Action                             */
597     uint32_t :6;               /*!< bit: 10..15  Reserved                           */
598     uint32_t MODE:1;           /*!< bit:     16  Operation modes                    */
599     uint32_t :13;              /*!< bit: 17..29  Reserved                           */
600     uint32_t FCD:1;            /*!< bit:     30  BOD Fuse Calibration Done          */
601     uint32_t SFV:1;            /*!< bit:     31  BOD Control Register Store Final Value */
602   } bit;                       /*!< Structure used for bit  access                  */
603   uint32_t reg;                /*!< Type      used for register access              */
604 } BSCIF_BOD18CTRL_Type;
605 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
606 
607 #define BSCIF_BOD18CTRL_OFFSET      0x038        /**< \brief (BSCIF_BOD18CTRL offset) BOD18 Control Register */
608 #define BSCIF_BOD18CTRL_RESETVALUE  _U_(0x00000000); /**< \brief (BSCIF_BOD18CTRL reset_value) BOD18 Control Register */
609 
610 #define BSCIF_BOD18CTRL_EN_Pos      0            /**< \brief (BSCIF_BOD18CTRL) Enable */
611 #define BSCIF_BOD18CTRL_EN          (_U_(0x1) << BSCIF_BOD18CTRL_EN_Pos)
612 #define BSCIF_BOD18CTRL_HYST_Pos    1            /**< \brief (BSCIF_BOD18CTRL) BOD Hysteresis */
613 #define BSCIF_BOD18CTRL_HYST        (_U_(0x1) << BSCIF_BOD18CTRL_HYST_Pos)
614 #define BSCIF_BOD18CTRL_ACTION_Pos  8            /**< \brief (BSCIF_BOD18CTRL) Action */
615 #define BSCIF_BOD18CTRL_ACTION_Msk  (_U_(0x3) << BSCIF_BOD18CTRL_ACTION_Pos)
616 #define BSCIF_BOD18CTRL_ACTION(value) (BSCIF_BOD18CTRL_ACTION_Msk & ((value) << BSCIF_BOD18CTRL_ACTION_Pos))
617 #define BSCIF_BOD18CTRL_MODE_Pos    16           /**< \brief (BSCIF_BOD18CTRL) Operation modes */
618 #define BSCIF_BOD18CTRL_MODE        (_U_(0x1) << BSCIF_BOD18CTRL_MODE_Pos)
619 #define BSCIF_BOD18CTRL_FCD_Pos     30           /**< \brief (BSCIF_BOD18CTRL) BOD Fuse Calibration Done */
620 #define BSCIF_BOD18CTRL_FCD         (_U_(0x1) << BSCIF_BOD18CTRL_FCD_Pos)
621 #define BSCIF_BOD18CTRL_SFV_Pos     31           /**< \brief (BSCIF_BOD18CTRL) BOD Control Register Store Final Value */
622 #define BSCIF_BOD18CTRL_SFV         (_U_(0x1) << BSCIF_BOD18CTRL_SFV_Pos)
623 #define BSCIF_BOD18CTRL_MASK        _U_(0xC0010303) /**< \brief (BSCIF_BOD18CTRL) MASK Register */
624 
625 /* -------- BSCIF_BOD18LEVEL : (BSCIF Offset: 0x03C) (R/W 32) BOD18 Level Register -------- */
626 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
627 typedef union {
628   struct {
629     uint32_t VAL:6;            /*!< bit:  0.. 5  BOD Value                          */
630     uint32_t :25;              /*!< bit:  6..30  Reserved                           */
631     uint32_t RANGE:1;          /*!< bit:     31  BOD Threshold Range                */
632   } bit;                       /*!< Structure used for bit  access                  */
633   uint32_t reg;                /*!< Type      used for register access              */
634 } BSCIF_BOD18LEVEL_Type;
635 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
636 
637 #define BSCIF_BOD18LEVEL_OFFSET     0x03C        /**< \brief (BSCIF_BOD18LEVEL offset) BOD18 Level Register */
638 #define BSCIF_BOD18LEVEL_RESETVALUE _U_(0x00000000); /**< \brief (BSCIF_BOD18LEVEL reset_value) BOD18 Level Register */
639 
640 #define BSCIF_BOD18LEVEL_VAL_Pos    0            /**< \brief (BSCIF_BOD18LEVEL) BOD Value */
641 #define BSCIF_BOD18LEVEL_VAL_Msk    (_U_(0x3F) << BSCIF_BOD18LEVEL_VAL_Pos)
642 #define BSCIF_BOD18LEVEL_VAL(value) (BSCIF_BOD18LEVEL_VAL_Msk & ((value) << BSCIF_BOD18LEVEL_VAL_Pos))
643 #define BSCIF_BOD18LEVEL_RANGE_Pos  31           /**< \brief (BSCIF_BOD18LEVEL) BOD Threshold Range */
644 #define BSCIF_BOD18LEVEL_RANGE      (_U_(0x1) << BSCIF_BOD18LEVEL_RANGE_Pos)
645 #define BSCIF_BOD18LEVEL_MASK       _U_(0x8000003F) /**< \brief (BSCIF_BOD18LEVEL) MASK Register */
646 
647 /* -------- BSCIF_VREGCR : (BSCIF Offset: 0x044) (R/W 32) Voltage Regulator Configuration Register -------- */
648 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
649 typedef union {
650   struct {
651     uint32_t DIS:1;            /*!< bit:      0  Voltage Regulator disable          */
652     uint32_t :7;               /*!< bit:  1.. 7  Reserved                           */
653     uint32_t SSG:1;            /*!< bit:      8  Spread Spectrum Generator Enable   */
654     uint32_t SSW:1;            /*!< bit:      9  Stop Switching                     */
655     uint32_t SSWEVT:1;         /*!< bit:     10  Stop Switching On Event Enable     */
656     uint32_t :20;              /*!< bit: 11..30  Reserved                           */
657     uint32_t SFV:1;            /*!< bit:     31  Store Final Value                  */
658   } bit;                       /*!< Structure used for bit  access                  */
659   uint32_t reg;                /*!< Type      used for register access              */
660 } BSCIF_VREGCR_Type;
661 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
662 
663 #define BSCIF_VREGCR_OFFSET         0x044        /**< \brief (BSCIF_VREGCR offset) Voltage Regulator Configuration Register */
664 #define BSCIF_VREGCR_RESETVALUE     _U_(0x00000000); /**< \brief (BSCIF_VREGCR reset_value) Voltage Regulator Configuration Register */
665 
666 #define BSCIF_VREGCR_DIS_Pos        0            /**< \brief (BSCIF_VREGCR) Voltage Regulator disable */
667 #define BSCIF_VREGCR_DIS            (_U_(0x1) << BSCIF_VREGCR_DIS_Pos)
668 #define BSCIF_VREGCR_SSG_Pos        8            /**< \brief (BSCIF_VREGCR) Spread Spectrum Generator Enable */
669 #define BSCIF_VREGCR_SSG            (_U_(0x1) << BSCIF_VREGCR_SSG_Pos)
670 #define BSCIF_VREGCR_SSW_Pos        9            /**< \brief (BSCIF_VREGCR) Stop Switching */
671 #define BSCIF_VREGCR_SSW            (_U_(0x1) << BSCIF_VREGCR_SSW_Pos)
672 #define BSCIF_VREGCR_SSWEVT_Pos     10           /**< \brief (BSCIF_VREGCR) Stop Switching On Event Enable */
673 #define BSCIF_VREGCR_SSWEVT         (_U_(0x1) << BSCIF_VREGCR_SSWEVT_Pos)
674 #define BSCIF_VREGCR_SFV_Pos        31           /**< \brief (BSCIF_VREGCR) Store Final Value */
675 #define BSCIF_VREGCR_SFV            (_U_(0x1) << BSCIF_VREGCR_SFV_Pos)
676 #define BSCIF_VREGCR_MASK           _U_(0x80000701) /**< \brief (BSCIF_VREGCR) MASK Register */
677 
678 /* -------- BSCIF_VREGNCSR : (BSCIF Offset: 0x04C) (R/W 32) Normal Mode Control and Status Register -------- */
679 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
680 typedef union {
681   uint32_t reg;                /*!< Type      used for register access              */
682 } BSCIF_VREGNCSR_Type;
683 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
684 
685 #define BSCIF_VREGNCSR_OFFSET       0x04C        /**< \brief (BSCIF_VREGNCSR offset) Normal Mode Control and Status Register */
686 #define BSCIF_VREGNCSR_RESETVALUE   _U_(0x00000000); /**< \brief (BSCIF_VREGNCSR reset_value) Normal Mode Control and Status Register */
687 
688 #define BSCIF_VREGNCSR_MASK         _U_(0x00000000) /**< \brief (BSCIF_VREGNCSR) MASK Register */
689 
690 /* -------- BSCIF_VREGLPCSR : (BSCIF Offset: 0x050) (R/W 32) LP Mode Control and Status Register -------- */
691 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
692 typedef union {
693   uint32_t reg;                /*!< Type      used for register access              */
694 } BSCIF_VREGLPCSR_Type;
695 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
696 
697 #define BSCIF_VREGLPCSR_OFFSET      0x050        /**< \brief (BSCIF_VREGLPCSR offset) LP Mode Control and Status Register */
698 #define BSCIF_VREGLPCSR_RESETVALUE  _U_(0x00000000); /**< \brief (BSCIF_VREGLPCSR reset_value) LP Mode Control and Status Register */
699 
700 #define BSCIF_VREGLPCSR_MASK        _U_(0x00000000) /**< \brief (BSCIF_VREGLPCSR) MASK Register */
701 
702 /* -------- BSCIF_RC1MCR : (BSCIF Offset: 0x058) (R/W 32) 1MHz RC Clock Configuration Register -------- */
703 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
704 typedef union {
705   struct {
706     uint32_t CLKOE:1;          /*!< bit:      0  1MHz RC Osc Clock Output Enable    */
707     uint32_t :6;               /*!< bit:  1.. 6  Reserved                           */
708     uint32_t FCD:1;            /*!< bit:      7  Flash Calibration Done             */
709     uint32_t CLKCAL:5;         /*!< bit:  8..12  1MHz RC Osc Calibration            */
710     uint32_t :19;              /*!< bit: 13..31  Reserved                           */
711   } bit;                       /*!< Structure used for bit  access                  */
712   uint32_t reg;                /*!< Type      used for register access              */
713 } BSCIF_RC1MCR_Type;
714 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
715 
716 #define BSCIF_RC1MCR_OFFSET         0x058        /**< \brief (BSCIF_RC1MCR offset) 1MHz RC Clock Configuration Register */
717 #define BSCIF_RC1MCR_RESETVALUE     _U_(0x00000F00); /**< \brief (BSCIF_RC1MCR reset_value) 1MHz RC Clock Configuration Register */
718 
719 #define BSCIF_RC1MCR_CLKOE_Pos      0            /**< \brief (BSCIF_RC1MCR) 1MHz RC Osc Clock Output Enable */
720 #define BSCIF_RC1MCR_CLKOE          (_U_(0x1) << BSCIF_RC1MCR_CLKOE_Pos)
721 #define BSCIF_RC1MCR_FCD_Pos        7            /**< \brief (BSCIF_RC1MCR) Flash Calibration Done */
722 #define BSCIF_RC1MCR_FCD            (_U_(0x1) << BSCIF_RC1MCR_FCD_Pos)
723 #define BSCIF_RC1MCR_CLKCAL_Pos     8            /**< \brief (BSCIF_RC1MCR) 1MHz RC Osc Calibration */
724 #define BSCIF_RC1MCR_CLKCAL_Msk     (_U_(0x1F) << BSCIF_RC1MCR_CLKCAL_Pos)
725 #define BSCIF_RC1MCR_CLKCAL(value)  (BSCIF_RC1MCR_CLKCAL_Msk & ((value) << BSCIF_RC1MCR_CLKCAL_Pos))
726 #define BSCIF_RC1MCR_MASK           _U_(0x00001F81) /**< \brief (BSCIF_RC1MCR) MASK Register */
727 
728 /* -------- BSCIF_BGCR : (BSCIF Offset: 0x05C) (R/W 32) Bandgap Calibration Register -------- */
729 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
730 typedef union {
731   uint32_t reg;                /*!< Type      used for register access              */
732 } BSCIF_BGCR_Type;
733 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
734 
735 #define BSCIF_BGCR_OFFSET           0x05C        /**< \brief (BSCIF_BGCR offset) Bandgap Calibration Register */
736 #define BSCIF_BGCR_RESETVALUE       _U_(0x00000000); /**< \brief (BSCIF_BGCR reset_value) Bandgap Calibration Register */
737 
738 #define BSCIF_BGCR_MASK             _U_(0x00000000) /**< \brief (BSCIF_BGCR) MASK Register */
739 
740 /* -------- BSCIF_BGCTRL : (BSCIF Offset: 0x060) (R/W 32) Bandgap Control Register -------- */
741 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
742 typedef union {
743   struct {
744     uint32_t ADCISEL:2;        /*!< bit:  0.. 1  ADC Input Selection                */
745     uint32_t :6;               /*!< bit:  2.. 7  Reserved                           */
746     uint32_t TSEN:1;           /*!< bit:      8  Temperature Sensor Enable          */
747     uint32_t :23;              /*!< bit:  9..31  Reserved                           */
748   } bit;                       /*!< Structure used for bit  access                  */
749   uint32_t reg;                /*!< Type      used for register access              */
750 } BSCIF_BGCTRL_Type;
751 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
752 
753 #define BSCIF_BGCTRL_OFFSET         0x060        /**< \brief (BSCIF_BGCTRL offset) Bandgap Control Register */
754 #define BSCIF_BGCTRL_RESETVALUE     _U_(0x00000000); /**< \brief (BSCIF_BGCTRL reset_value) Bandgap Control Register */
755 
756 #define BSCIF_BGCTRL_ADCISEL_Pos    0            /**< \brief (BSCIF_BGCTRL) ADC Input Selection */
757 #define BSCIF_BGCTRL_ADCISEL_Msk    (_U_(0x3) << BSCIF_BGCTRL_ADCISEL_Pos)
758 #define BSCIF_BGCTRL_ADCISEL(value) (BSCIF_BGCTRL_ADCISEL_Msk & ((value) << BSCIF_BGCTRL_ADCISEL_Pos))
759 #define   BSCIF_BGCTRL_ADCISEL_DIS_Val    _U_(0x0)   /**< \brief (BSCIF_BGCTRL)  */
760 #define   BSCIF_BGCTRL_ADCISEL_VTEMP_Val  _U_(0x1)   /**< \brief (BSCIF_BGCTRL)  */
761 #define   BSCIF_BGCTRL_ADCISEL_VREF_Val   _U_(0x2)   /**< \brief (BSCIF_BGCTRL)  */
762 #define BSCIF_BGCTRL_ADCISEL_DIS    (BSCIF_BGCTRL_ADCISEL_DIS_Val  << BSCIF_BGCTRL_ADCISEL_Pos)
763 #define BSCIF_BGCTRL_ADCISEL_VTEMP  (BSCIF_BGCTRL_ADCISEL_VTEMP_Val << BSCIF_BGCTRL_ADCISEL_Pos)
764 #define BSCIF_BGCTRL_ADCISEL_VREF   (BSCIF_BGCTRL_ADCISEL_VREF_Val << BSCIF_BGCTRL_ADCISEL_Pos)
765 #define BSCIF_BGCTRL_TSEN_Pos       8            /**< \brief (BSCIF_BGCTRL) Temperature Sensor Enable */
766 #define BSCIF_BGCTRL_TSEN           (_U_(0x1) << BSCIF_BGCTRL_TSEN_Pos)
767 #define BSCIF_BGCTRL_MASK           _U_(0x00000103) /**< \brief (BSCIF_BGCTRL) MASK Register */
768 
769 /* -------- BSCIF_BGSR : (BSCIF Offset: 0x064) (R/  32) Bandgap Status Register -------- */
770 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
771 typedef union {
772   struct {
773     uint32_t BGBUFRDY:8;       /*!< bit:  0.. 7  Bandgap Buffer Ready               */
774     uint32_t :8;               /*!< bit:  8..15  Reserved                           */
775     uint32_t BGRDY:1;          /*!< bit:     16  Bandgap Voltage Reference Ready    */
776     uint32_t LPBGRDY:1;        /*!< bit:     17  Low Power Bandgap Voltage Reference Ready */
777     uint32_t VREF:2;           /*!< bit: 18..19  Voltage Reference Used by the System */
778     uint32_t :12;              /*!< bit: 20..31  Reserved                           */
779   } bit;                       /*!< Structure used for bit  access                  */
780   uint32_t reg;                /*!< Type      used for register access              */
781 } BSCIF_BGSR_Type;
782 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
783 
784 #define BSCIF_BGSR_OFFSET           0x064        /**< \brief (BSCIF_BGSR offset) Bandgap Status Register */
785 #define BSCIF_BGSR_RESETVALUE       _U_(0x00000000); /**< \brief (BSCIF_BGSR reset_value) Bandgap Status Register */
786 
787 #define BSCIF_BGSR_BGBUFRDY_Pos     0            /**< \brief (BSCIF_BGSR) Bandgap Buffer Ready */
788 #define BSCIF_BGSR_BGBUFRDY_Msk     (_U_(0xFF) << BSCIF_BGSR_BGBUFRDY_Pos)
789 #define BSCIF_BGSR_BGBUFRDY(value)  (BSCIF_BGSR_BGBUFRDY_Msk & ((value) << BSCIF_BGSR_BGBUFRDY_Pos))
790 #define   BSCIF_BGSR_BGBUFRDY_FLASH_Val   _U_(0x1)   /**< \brief (BSCIF_BGSR)  */
791 #define   BSCIF_BGSR_BGBUFRDY_PLL_Val     _U_(0x2)   /**< \brief (BSCIF_BGSR)  */
792 #define   BSCIF_BGSR_BGBUFRDY_VREG_Val    _U_(0x4)   /**< \brief (BSCIF_BGSR)  */
793 #define   BSCIF_BGSR_BGBUFRDY_BUFRR_Val   _U_(0x8)   /**< \brief (BSCIF_BGSR)  */
794 #define   BSCIF_BGSR_BGBUFRDY_ADC_Val     _U_(0x10)   /**< \brief (BSCIF_BGSR)  */
795 #define   BSCIF_BGSR_BGBUFRDY_LCD_Val     _U_(0x20)   /**< \brief (BSCIF_BGSR)  */
796 #define BSCIF_BGSR_BGBUFRDY_FLASH   (BSCIF_BGSR_BGBUFRDY_FLASH_Val << BSCIF_BGSR_BGBUFRDY_Pos)
797 #define BSCIF_BGSR_BGBUFRDY_PLL     (BSCIF_BGSR_BGBUFRDY_PLL_Val   << BSCIF_BGSR_BGBUFRDY_Pos)
798 #define BSCIF_BGSR_BGBUFRDY_VREG    (BSCIF_BGSR_BGBUFRDY_VREG_Val  << BSCIF_BGSR_BGBUFRDY_Pos)
799 #define BSCIF_BGSR_BGBUFRDY_BUFRR   (BSCIF_BGSR_BGBUFRDY_BUFRR_Val << BSCIF_BGSR_BGBUFRDY_Pos)
800 #define BSCIF_BGSR_BGBUFRDY_ADC     (BSCIF_BGSR_BGBUFRDY_ADC_Val   << BSCIF_BGSR_BGBUFRDY_Pos)
801 #define BSCIF_BGSR_BGBUFRDY_LCD     (BSCIF_BGSR_BGBUFRDY_LCD_Val   << BSCIF_BGSR_BGBUFRDY_Pos)
802 #define BSCIF_BGSR_BGRDY_Pos        16           /**< \brief (BSCIF_BGSR) Bandgap Voltage Reference Ready */
803 #define BSCIF_BGSR_BGRDY            (_U_(0x1) << BSCIF_BGSR_BGRDY_Pos)
804 #define BSCIF_BGSR_LPBGRDY_Pos      17           /**< \brief (BSCIF_BGSR) Low Power Bandgap Voltage Reference Ready */
805 #define BSCIF_BGSR_LPBGRDY          (_U_(0x1) << BSCIF_BGSR_LPBGRDY_Pos)
806 #define BSCIF_BGSR_VREF_Pos         18           /**< \brief (BSCIF_BGSR) Voltage Reference Used by the System */
807 #define BSCIF_BGSR_VREF_Msk         (_U_(0x3) << BSCIF_BGSR_VREF_Pos)
808 #define BSCIF_BGSR_VREF(value)      (BSCIF_BGSR_VREF_Msk & ((value) << BSCIF_BGSR_VREF_Pos))
809 #define BSCIF_BGSR_MASK             _U_(0x000F00FF) /**< \brief (BSCIF_BGSR) MASK Register */
810 
811 /* -------- BSCIF_BR : (BSCIF Offset: 0x078) (R/W 32) br Backup Register -------- */
812 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
813 typedef union {
814   uint32_t reg;                /*!< Type      used for register access              */
815 } BSCIF_BR_Type;
816 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
817 
818 #define BSCIF_BR_OFFSET             0x078        /**< \brief (BSCIF_BR offset) Backup Register */
819 #define BSCIF_BR_RESETVALUE         _U_(0x00000000); /**< \brief (BSCIF_BR reset_value) Backup Register */
820 #define BSCIF_BR_MASK               _U_(0xFFFFFFFF) /**< \brief (BSCIF_BR) MASK Register */
821 
822 /* -------- BSCIF_BRIFBVERSION : (BSCIF Offset: 0x3E4) (R/  32) Backup Register Interface Version Register -------- */
823 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
824 typedef union {
825   struct {
826     uint32_t VERSION:12;       /*!< bit:  0..11  Version Number                     */
827     uint32_t :4;               /*!< bit: 12..15  Reserved                           */
828     uint32_t VARIANT:4;        /*!< bit: 16..19  Variant Number                     */
829     uint32_t :12;              /*!< bit: 20..31  Reserved                           */
830   } bit;                       /*!< Structure used for bit  access                  */
831   uint32_t reg;                /*!< Type      used for register access              */
832 } BSCIF_BRIFBVERSION_Type;
833 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
834 
835 #define BSCIF_BRIFBVERSION_OFFSET   0x3E4        /**< \brief (BSCIF_BRIFBVERSION offset) Backup Register Interface Version Register */
836 #define BSCIF_BRIFBVERSION_RESETVALUE _U_(0x00000100); /**< \brief (BSCIF_BRIFBVERSION reset_value) Backup Register Interface Version Register */
837 
838 #define BSCIF_BRIFBVERSION_VERSION_Pos 0            /**< \brief (BSCIF_BRIFBVERSION) Version Number */
839 #define BSCIF_BRIFBVERSION_VERSION_Msk (_U_(0xFFF) << BSCIF_BRIFBVERSION_VERSION_Pos)
840 #define BSCIF_BRIFBVERSION_VERSION(value) (BSCIF_BRIFBVERSION_VERSION_Msk & ((value) << BSCIF_BRIFBVERSION_VERSION_Pos))
841 #define BSCIF_BRIFBVERSION_VARIANT_Pos 16           /**< \brief (BSCIF_BRIFBVERSION) Variant Number */
842 #define BSCIF_BRIFBVERSION_VARIANT_Msk (_U_(0xF) << BSCIF_BRIFBVERSION_VARIANT_Pos)
843 #define BSCIF_BRIFBVERSION_VARIANT(value) (BSCIF_BRIFBVERSION_VARIANT_Msk & ((value) << BSCIF_BRIFBVERSION_VARIANT_Pos))
844 #define BSCIF_BRIFBVERSION_MASK     _U_(0x000F0FFF) /**< \brief (BSCIF_BRIFBVERSION) MASK Register */
845 
846 /* -------- BSCIF_BGREFIFBVERSION : (BSCIF Offset: 0x3E8) (R/  32) BGREFIFB Version Register -------- */
847 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
848 typedef union {
849   struct {
850     uint32_t VERSION:12;       /*!< bit:  0..11  Version Number                     */
851     uint32_t :4;               /*!< bit: 12..15  Reserved                           */
852     uint32_t VARIANT:4;        /*!< bit: 16..19  Variant Number                     */
853     uint32_t :12;              /*!< bit: 20..31  Reserved                           */
854   } bit;                       /*!< Structure used for bit  access                  */
855   uint32_t reg;                /*!< Type      used for register access              */
856 } BSCIF_BGREFIFBVERSION_Type;
857 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
858 
859 #define BSCIF_BGREFIFBVERSION_OFFSET 0x3E8        /**< \brief (BSCIF_BGREFIFBVERSION offset) BGREFIFB Version Register */
860 #define BSCIF_BGREFIFBVERSION_RESETVALUE _U_(0x00000110); /**< \brief (BSCIF_BGREFIFBVERSION reset_value) BGREFIFB Version Register */
861 
862 #define BSCIF_BGREFIFBVERSION_VERSION_Pos 0            /**< \brief (BSCIF_BGREFIFBVERSION) Version Number */
863 #define BSCIF_BGREFIFBVERSION_VERSION_Msk (_U_(0xFFF) << BSCIF_BGREFIFBVERSION_VERSION_Pos)
864 #define BSCIF_BGREFIFBVERSION_VERSION(value) (BSCIF_BGREFIFBVERSION_VERSION_Msk & ((value) << BSCIF_BGREFIFBVERSION_VERSION_Pos))
865 #define BSCIF_BGREFIFBVERSION_VARIANT_Pos 16           /**< \brief (BSCIF_BGREFIFBVERSION) Variant Number */
866 #define BSCIF_BGREFIFBVERSION_VARIANT_Msk (_U_(0xF) << BSCIF_BGREFIFBVERSION_VARIANT_Pos)
867 #define BSCIF_BGREFIFBVERSION_VARIANT(value) (BSCIF_BGREFIFBVERSION_VARIANT_Msk & ((value) << BSCIF_BGREFIFBVERSION_VARIANT_Pos))
868 #define BSCIF_BGREFIFBVERSION_MASK  _U_(0x000F0FFF) /**< \brief (BSCIF_BGREFIFBVERSION) MASK Register */
869 
870 /* -------- BSCIF_VREGIFGVERSION : (BSCIF Offset: 0x3EC) (R/  32) VREGIFA Version Register -------- */
871 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
872 typedef union {
873   struct {
874     uint32_t VERSION:12;       /*!< bit:  0..11  Version Number                     */
875     uint32_t :4;               /*!< bit: 12..15  Reserved                           */
876     uint32_t VARIANT:4;        /*!< bit: 16..19  Variant Number                     */
877     uint32_t :12;              /*!< bit: 20..31  Reserved                           */
878   } bit;                       /*!< Structure used for bit  access                  */
879   uint32_t reg;                /*!< Type      used for register access              */
880 } BSCIF_VREGIFGVERSION_Type;
881 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
882 
883 #define BSCIF_VREGIFGVERSION_OFFSET 0x3EC        /**< \brief (BSCIF_VREGIFGVERSION offset) VREGIFA Version Register */
884 #define BSCIF_VREGIFGVERSION_RESETVALUE _U_(0x00000110); /**< \brief (BSCIF_VREGIFGVERSION reset_value) VREGIFA Version Register */
885 
886 #define BSCIF_VREGIFGVERSION_VERSION_Pos 0            /**< \brief (BSCIF_VREGIFGVERSION) Version Number */
887 #define BSCIF_VREGIFGVERSION_VERSION_Msk (_U_(0xFFF) << BSCIF_VREGIFGVERSION_VERSION_Pos)
888 #define BSCIF_VREGIFGVERSION_VERSION(value) (BSCIF_VREGIFGVERSION_VERSION_Msk & ((value) << BSCIF_VREGIFGVERSION_VERSION_Pos))
889 #define BSCIF_VREGIFGVERSION_VARIANT_Pos 16           /**< \brief (BSCIF_VREGIFGVERSION) Variant Number */
890 #define BSCIF_VREGIFGVERSION_VARIANT_Msk (_U_(0xF) << BSCIF_VREGIFGVERSION_VARIANT_Pos)
891 #define BSCIF_VREGIFGVERSION_VARIANT(value) (BSCIF_VREGIFGVERSION_VARIANT_Msk & ((value) << BSCIF_VREGIFGVERSION_VARIANT_Pos))
892 #define BSCIF_VREGIFGVERSION_MASK   _U_(0x000F0FFF) /**< \brief (BSCIF_VREGIFGVERSION) MASK Register */
893 
894 /* -------- BSCIF_BODIFCVERSION : (BSCIF Offset: 0x3F0) (R/  32) BODIFC Version Register -------- */
895 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
896 typedef union {
897   struct {
898     uint32_t VERSION:12;       /*!< bit:  0..11  Version Number                     */
899     uint32_t :4;               /*!< bit: 12..15  Reserved                           */
900     uint32_t VARIANT:4;        /*!< bit: 16..19  Variant Number                     */
901     uint32_t :12;              /*!< bit: 20..31  Reserved                           */
902   } bit;                       /*!< Structure used for bit  access                  */
903   uint32_t reg;                /*!< Type      used for register access              */
904 } BSCIF_BODIFCVERSION_Type;
905 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
906 
907 #define BSCIF_BODIFCVERSION_OFFSET  0x3F0        /**< \brief (BSCIF_BODIFCVERSION offset) BODIFC Version Register */
908 #define BSCIF_BODIFCVERSION_RESETVALUE _U_(0x00000110); /**< \brief (BSCIF_BODIFCVERSION reset_value) BODIFC Version Register */
909 
910 #define BSCIF_BODIFCVERSION_VERSION_Pos 0            /**< \brief (BSCIF_BODIFCVERSION) Version Number */
911 #define BSCIF_BODIFCVERSION_VERSION_Msk (_U_(0xFFF) << BSCIF_BODIFCVERSION_VERSION_Pos)
912 #define BSCIF_BODIFCVERSION_VERSION(value) (BSCIF_BODIFCVERSION_VERSION_Msk & ((value) << BSCIF_BODIFCVERSION_VERSION_Pos))
913 #define BSCIF_BODIFCVERSION_VARIANT_Pos 16           /**< \brief (BSCIF_BODIFCVERSION) Variant Number */
914 #define BSCIF_BODIFCVERSION_VARIANT_Msk (_U_(0xF) << BSCIF_BODIFCVERSION_VARIANT_Pos)
915 #define BSCIF_BODIFCVERSION_VARIANT(value) (BSCIF_BODIFCVERSION_VARIANT_Msk & ((value) << BSCIF_BODIFCVERSION_VARIANT_Pos))
916 #define BSCIF_BODIFCVERSION_MASK    _U_(0x000F0FFF) /**< \brief (BSCIF_BODIFCVERSION) MASK Register */
917 
918 /* -------- BSCIF_RC32KIFBVERSION : (BSCIF Offset: 0x3F4) (R/  32) 32 kHz RC Oscillator Version Register -------- */
919 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
920 typedef union {
921   struct {
922     uint32_t VERSION:12;       /*!< bit:  0..11  Version number                     */
923     uint32_t :4;               /*!< bit: 12..15  Reserved                           */
924     uint32_t VARIANT:4;        /*!< bit: 16..19  Variant number                     */
925     uint32_t :12;              /*!< bit: 20..31  Reserved                           */
926   } bit;                       /*!< Structure used for bit  access                  */
927   uint32_t reg;                /*!< Type      used for register access              */
928 } BSCIF_RC32KIFBVERSION_Type;
929 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
930 
931 #define BSCIF_RC32KIFBVERSION_OFFSET 0x3F4        /**< \brief (BSCIF_RC32KIFBVERSION offset) 32 kHz RC Oscillator Version Register */
932 #define BSCIF_RC32KIFBVERSION_RESETVALUE _U_(0x00000100); /**< \brief (BSCIF_RC32KIFBVERSION reset_value) 32 kHz RC Oscillator Version Register */
933 
934 #define BSCIF_RC32KIFBVERSION_VERSION_Pos 0            /**< \brief (BSCIF_RC32KIFBVERSION) Version number */
935 #define BSCIF_RC32KIFBVERSION_VERSION_Msk (_U_(0xFFF) << BSCIF_RC32KIFBVERSION_VERSION_Pos)
936 #define BSCIF_RC32KIFBVERSION_VERSION(value) (BSCIF_RC32KIFBVERSION_VERSION_Msk & ((value) << BSCIF_RC32KIFBVERSION_VERSION_Pos))
937 #define BSCIF_RC32KIFBVERSION_VARIANT_Pos 16           /**< \brief (BSCIF_RC32KIFBVERSION) Variant number */
938 #define BSCIF_RC32KIFBVERSION_VARIANT_Msk (_U_(0xF) << BSCIF_RC32KIFBVERSION_VARIANT_Pos)
939 #define BSCIF_RC32KIFBVERSION_VARIANT(value) (BSCIF_RC32KIFBVERSION_VARIANT_Msk & ((value) << BSCIF_RC32KIFBVERSION_VARIANT_Pos))
940 #define BSCIF_RC32KIFBVERSION_MASK  _U_(0x000F0FFF) /**< \brief (BSCIF_RC32KIFBVERSION) MASK Register */
941 
942 /* -------- BSCIF_OSC32IFAVERSION : (BSCIF Offset: 0x3F8) (R/  32) 32 KHz Oscillator Version Register -------- */
943 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
944 typedef union {
945   struct {
946     uint32_t VERSION:12;       /*!< bit:  0..11  Version number                     */
947     uint32_t :4;               /*!< bit: 12..15  Reserved                           */
948     uint32_t VARIANT:4;        /*!< bit: 16..19  Variant nubmer                     */
949     uint32_t :12;              /*!< bit: 20..31  Reserved                           */
950   } bit;                       /*!< Structure used for bit  access                  */
951   uint32_t reg;                /*!< Type      used for register access              */
952 } BSCIF_OSC32IFAVERSION_Type;
953 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
954 
955 #define BSCIF_OSC32IFAVERSION_OFFSET 0x3F8        /**< \brief (BSCIF_OSC32IFAVERSION offset) 32 KHz Oscillator Version Register */
956 #define BSCIF_OSC32IFAVERSION_RESETVALUE _U_(0x00000200); /**< \brief (BSCIF_OSC32IFAVERSION reset_value) 32 KHz Oscillator Version Register */
957 
958 #define BSCIF_OSC32IFAVERSION_VERSION_Pos 0            /**< \brief (BSCIF_OSC32IFAVERSION) Version number */
959 #define BSCIF_OSC32IFAVERSION_VERSION_Msk (_U_(0xFFF) << BSCIF_OSC32IFAVERSION_VERSION_Pos)
960 #define BSCIF_OSC32IFAVERSION_VERSION(value) (BSCIF_OSC32IFAVERSION_VERSION_Msk & ((value) << BSCIF_OSC32IFAVERSION_VERSION_Pos))
961 #define BSCIF_OSC32IFAVERSION_VARIANT_Pos 16           /**< \brief (BSCIF_OSC32IFAVERSION) Variant nubmer */
962 #define BSCIF_OSC32IFAVERSION_VARIANT_Msk (_U_(0xF) << BSCIF_OSC32IFAVERSION_VARIANT_Pos)
963 #define BSCIF_OSC32IFAVERSION_VARIANT(value) (BSCIF_OSC32IFAVERSION_VARIANT_Msk & ((value) << BSCIF_OSC32IFAVERSION_VARIANT_Pos))
964 #define BSCIF_OSC32IFAVERSION_MASK  _U_(0x000F0FFF) /**< \brief (BSCIF_OSC32IFAVERSION) MASK Register */
965 
966 /* -------- BSCIF_VERSION : (BSCIF Offset: 0x3FC) (R/  32) BSCIF Version Register -------- */
967 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
968 typedef union {
969   struct {
970     uint32_t VERSION:12;       /*!< bit:  0..11  Version Number                     */
971     uint32_t :4;               /*!< bit: 12..15  Reserved                           */
972     uint32_t VARIANT:4;        /*!< bit: 16..19  Variant Number                     */
973     uint32_t :12;              /*!< bit: 20..31  Reserved                           */
974   } bit;                       /*!< Structure used for bit  access                  */
975   uint32_t reg;                /*!< Type      used for register access              */
976 } BSCIF_VERSION_Type;
977 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
978 
979 #define BSCIF_VERSION_OFFSET        0x3FC        /**< \brief (BSCIF_VERSION offset) BSCIF Version Register */
980 #define BSCIF_VERSION_RESETVALUE    _U_(0x00000100); /**< \brief (BSCIF_VERSION reset_value) BSCIF Version Register */
981 
982 #define BSCIF_VERSION_VERSION_Pos   0            /**< \brief (BSCIF_VERSION) Version Number */
983 #define BSCIF_VERSION_VERSION_Msk   (_U_(0xFFF) << BSCIF_VERSION_VERSION_Pos)
984 #define BSCIF_VERSION_VERSION(value) (BSCIF_VERSION_VERSION_Msk & ((value) << BSCIF_VERSION_VERSION_Pos))
985 #define BSCIF_VERSION_VARIANT_Pos   16           /**< \brief (BSCIF_VERSION) Variant Number */
986 #define BSCIF_VERSION_VARIANT_Msk   (_U_(0xF) << BSCIF_VERSION_VARIANT_Pos)
987 #define BSCIF_VERSION_VARIANT(value) (BSCIF_VERSION_VARIANT_Msk & ((value) << BSCIF_VERSION_VARIANT_Pos))
988 #define BSCIF_VERSION_MASK          _U_(0x000F0FFF) /**< \brief (BSCIF_VERSION) MASK Register */
989 
990 /** \brief BscifBr hardware registers */
991 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
992 typedef struct {
993   __IO uint32_t BR;          /**< \brief Offset: 0x000 (R/W 32) Backup Register */
994 } BscifBr;
995 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
996 
997 /** \brief BSCIF hardware registers */
998 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
999 typedef struct {
1000   __O  uint32_t IER;             /**< \brief Offset: 0x000 ( /W 32) Interrupt Enable Register */
1001   __O  uint32_t IDR;             /**< \brief Offset: 0x004 ( /W 32) Interrupt Disable Register */
1002   __I  uint32_t IMR;             /**< \brief Offset: 0x008 (R/  32) Interrupt Mask Register */
1003   __I  uint32_t ISR;             /**< \brief Offset: 0x00C (R/  32) Interrupt Status Register */
1004   __O  uint32_t ICR;             /**< \brief Offset: 0x010 ( /W 32) Interrupt Clear Register */
1005   __I  uint32_t PCLKSR;          /**< \brief Offset: 0x014 (R/  32) Power and Clocks Status Register */
1006   __O  uint32_t UNLOCK;          /**< \brief Offset: 0x018 ( /W 32) Unlock Register */
1007   __IO uint32_t CSCR;            /**< \brief Offset: 0x01C (R/W 32) Chip Specific Configuration Register */
1008   __IO uint32_t OSCCTRL32;       /**< \brief Offset: 0x020 (R/W 32) Oscillator 32 Control Register */
1009   __IO uint32_t RC32KCR;         /**< \brief Offset: 0x024 (R/W 32) 32 kHz RC Oscillator Control Register */
1010   __IO uint32_t RC32KTUNE;       /**< \brief Offset: 0x028 (R/W 32) 32kHz RC Oscillator Tuning Register */
1011   __IO uint32_t BOD33CTRL;       /**< \brief Offset: 0x02C (R/W 32) BOD33 Control Register */
1012   __IO uint32_t BOD33LEVEL;      /**< \brief Offset: 0x030 (R/W 32) BOD33 Level Register */
1013   __IO uint32_t BOD33SAMPLING;   /**< \brief Offset: 0x034 (R/W 32) BOD33 Sampling Control Register */
1014   __IO uint32_t BOD18CTRL;       /**< \brief Offset: 0x038 (R/W 32) BOD18 Control Register */
1015   __IO uint32_t BOD18LEVEL;      /**< \brief Offset: 0x03C (R/W 32) BOD18 Level Register */
1016        RoReg8   Reserved1[0x4];
1017   __IO uint32_t VREGCR;          /**< \brief Offset: 0x044 (R/W 32) Voltage Regulator Configuration Register */
1018        RoReg8   Reserved2[0x4];
1019   __IO uint32_t VREGNCSR;        /**< \brief Offset: 0x04C (R/W 32) Normal Mode Control and Status Register */
1020   __IO uint32_t VREGLPCSR;       /**< \brief Offset: 0x050 (R/W 32) LP Mode Control and Status Register */
1021        RoReg8   Reserved3[0x4];
1022   __IO uint32_t RC1MCR;          /**< \brief Offset: 0x058 (R/W 32) 1MHz RC Clock Configuration Register */
1023   __IO uint32_t BGCR;            /**< \brief Offset: 0x05C (R/W 32) Bandgap Calibration Register */
1024   __IO uint32_t BGCTRL;          /**< \brief Offset: 0x060 (R/W 32) Bandgap Control Register */
1025   __I  uint32_t BGSR;            /**< \brief Offset: 0x064 (R/  32) Bandgap Status Register */
1026        RoReg8   Reserved4[0x10];
1027        uint32_t BR[4];           /**< \brief Offset: 0x078 BscifBr groups */
1028        RoReg8   Reserved5[0x35C];
1029   __I  uint32_t BRIFBVERSION;    /**< \brief Offset: 0x3E4 (R/  32) Backup Register Interface Version Register */
1030   __I  uint32_t BGREFIFBVERSION; /**< \brief Offset: 0x3E8 (R/  32) BGREFIFB Version Register */
1031   __I  uint32_t VREGIFGVERSION;  /**< \brief Offset: 0x3EC (R/  32) VREGIFA Version Register */
1032   __I  uint32_t BODIFCVERSION;   /**< \brief Offset: 0x3F0 (R/  32) BODIFC Version Register */
1033   __I  uint32_t RC32KIFBVERSION; /**< \brief Offset: 0x3F4 (R/  32) 32 kHz RC Oscillator Version Register */
1034   __I  uint32_t OSC32IFAVERSION; /**< \brief Offset: 0x3F8 (R/  32) 32 KHz Oscillator Version Register */
1035   __I  uint32_t VERSION;         /**< \brief Offset: 0x3FC (R/  32) BSCIF Version Register */
1036 } Bscif;
1037 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1038 
1039 /*@}*/
1040 
1041 #endif /* _SAM4L_BSCIF_COMPONENT_ */
1042