1 /**
2  * \file
3  *
4  * \brief Component description for PM
5  *
6  * Copyright (c) 2016 Atmel Corporation,
7  *                    a wholly owned subsidiary of Microchip Technology Inc.
8  *
9  * \asf_license_start
10  *
11  * \page License
12  *
13  * Licensed under the Apache License, Version 2.0 (the "License");
14  * you may not use this file except in compliance with the License.
15  * You may obtain a copy of the Licence at
16  *
17  *     http://www.apache.org/licenses/LICENSE-2.0
18  *
19  * Unless required by applicable law or agreed to in writing, software
20  * distributed under the License is distributed on an "AS IS" BASIS,
21  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22  * See the License for the specific language governing permissions and
23  * limitations under the License.
24  *
25  * \asf_license_stop
26  *
27  */
28 
29 #ifndef _SAML21_PM_COMPONENT_
30 #define _SAML21_PM_COMPONENT_
31 
32 /* ========================================================================== */
33 /**  SOFTWARE API DEFINITION FOR PM */
34 /* ========================================================================== */
35 /** \addtogroup SAML21_PM Power Manager */
36 /*@{*/
37 
38 #define PM_U2240
39 #define REV_PM                      0x102
40 
41 /* -------- PM_CTRLA : (PM Offset: 0x00) (R/W  8) Control A -------- */
42 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
43 typedef union {
44   struct {
45     uint8_t  :2;               /*!< bit:  0.. 1  Reserved                           */
46     uint8_t  IORET:1;          /*!< bit:      2  I/O Retention                      */
47     uint8_t  :5;               /*!< bit:  3.. 7  Reserved                           */
48   } bit;                       /*!< Structure used for bit  access                  */
49   uint8_t reg;                 /*!< Type      used for register access              */
50 } PM_CTRLA_Type;
51 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
52 
53 #define PM_CTRLA_OFFSET             0x00         /**< \brief (PM_CTRLA offset) Control A */
54 #define PM_CTRLA_RESETVALUE         _U(0x00)     /**< \brief (PM_CTRLA reset_value) Control A */
55 
56 #define PM_CTRLA_IORET_Pos          2            /**< \brief (PM_CTRLA) I/O Retention */
57 #define PM_CTRLA_IORET              (_U(0x1) << PM_CTRLA_IORET_Pos)
58 #define PM_CTRLA_MASK               _U(0x04)     /**< \brief (PM_CTRLA) MASK Register */
59 
60 /* -------- PM_SLEEPCFG : (PM Offset: 0x01) (R/W  8) Sleep Configuration -------- */
61 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
62 typedef union {
63   struct {
64     uint8_t  SLEEPMODE:3;      /*!< bit:  0.. 2  Sleep Mode                         */
65     uint8_t  :5;               /*!< bit:  3.. 7  Reserved                           */
66   } bit;                       /*!< Structure used for bit  access                  */
67   uint8_t reg;                 /*!< Type      used for register access              */
68 } PM_SLEEPCFG_Type;
69 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
70 
71 #define PM_SLEEPCFG_OFFSET          0x01         /**< \brief (PM_SLEEPCFG offset) Sleep Configuration */
72 #define PM_SLEEPCFG_RESETVALUE      _U(0x02)     /**< \brief (PM_SLEEPCFG reset_value) Sleep Configuration */
73 
74 #define PM_SLEEPCFG_SLEEPMODE_Pos   0            /**< \brief (PM_SLEEPCFG) Sleep Mode */
75 #define PM_SLEEPCFG_SLEEPMODE_Msk   (_U(0x7) << PM_SLEEPCFG_SLEEPMODE_Pos)
76 #define PM_SLEEPCFG_SLEEPMODE(value) (PM_SLEEPCFG_SLEEPMODE_Msk & ((value) << PM_SLEEPCFG_SLEEPMODE_Pos))
77 #define   PM_SLEEPCFG_SLEEPMODE_IDLE_Val  _U(0x2)   /**< \brief (PM_SLEEPCFG) CPU, AHBx, and APBx clocks are OFF */
78 #define   PM_SLEEPCFG_SLEEPMODE_STANDBY_Val _U(0x4)   /**< \brief (PM_SLEEPCFG) All Clocks are OFF */
79 #define   PM_SLEEPCFG_SLEEPMODE_BACKUP_Val _U(0x5)   /**< \brief (PM_SLEEPCFG) Only Backup domain is powered ON */
80 #define   PM_SLEEPCFG_SLEEPMODE_OFF_Val   _U(0x6)   /**< \brief (PM_SLEEPCFG) All power domains are powered OFF */
81 #define PM_SLEEPCFG_SLEEPMODE_IDLE  (PM_SLEEPCFG_SLEEPMODE_IDLE_Val << PM_SLEEPCFG_SLEEPMODE_Pos)
82 #define PM_SLEEPCFG_SLEEPMODE_STANDBY (PM_SLEEPCFG_SLEEPMODE_STANDBY_Val << PM_SLEEPCFG_SLEEPMODE_Pos)
83 #define PM_SLEEPCFG_SLEEPMODE_BACKUP (PM_SLEEPCFG_SLEEPMODE_BACKUP_Val << PM_SLEEPCFG_SLEEPMODE_Pos)
84 #define PM_SLEEPCFG_SLEEPMODE_OFF   (PM_SLEEPCFG_SLEEPMODE_OFF_Val << PM_SLEEPCFG_SLEEPMODE_Pos)
85 #define PM_SLEEPCFG_MASK            _U(0x07)     /**< \brief (PM_SLEEPCFG) MASK Register */
86 
87 /* -------- PM_PLCFG : (PM Offset: 0x02) (R/W  8) Performance Level Configuration -------- */
88 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
89 typedef union {
90   struct {
91     uint8_t  PLSEL:2;          /*!< bit:  0.. 1  Performance Level Select           */
92     uint8_t  :5;               /*!< bit:  2.. 6  Reserved                           */
93     uint8_t  PLDIS:1;          /*!< bit:      7  Performance Level Disable          */
94   } bit;                       /*!< Structure used for bit  access                  */
95   uint8_t reg;                 /*!< Type      used for register access              */
96 } PM_PLCFG_Type;
97 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
98 
99 #define PM_PLCFG_OFFSET             0x02         /**< \brief (PM_PLCFG offset) Performance Level Configuration */
100 #define PM_PLCFG_RESETVALUE         _U(0x00)     /**< \brief (PM_PLCFG reset_value) Performance Level Configuration */
101 
102 #define PM_PLCFG_PLSEL_Pos          0            /**< \brief (PM_PLCFG) Performance Level Select */
103 #define PM_PLCFG_PLSEL_Msk          (_U(0x3) << PM_PLCFG_PLSEL_Pos)
104 #define PM_PLCFG_PLSEL(value)       (PM_PLCFG_PLSEL_Msk & ((value) << PM_PLCFG_PLSEL_Pos))
105 #define   PM_PLCFG_PLSEL_PL0_Val          _U(0x0)   /**< \brief (PM_PLCFG) Performance Level 0 */
106 #define   PM_PLCFG_PLSEL_PL1_Val          _U(0x1)   /**< \brief (PM_PLCFG) Performance Level 1 */
107 #define   PM_PLCFG_PLSEL_PL2_Val          _U(0x2)   /**< \brief (PM_PLCFG) Performance Level 2 */
108 #define PM_PLCFG_PLSEL_PL0          (PM_PLCFG_PLSEL_PL0_Val        << PM_PLCFG_PLSEL_Pos)
109 #define PM_PLCFG_PLSEL_PL1          (PM_PLCFG_PLSEL_PL1_Val        << PM_PLCFG_PLSEL_Pos)
110 #define PM_PLCFG_PLSEL_PL2          (PM_PLCFG_PLSEL_PL2_Val        << PM_PLCFG_PLSEL_Pos)
111 #define PM_PLCFG_PLDIS_Pos          7            /**< \brief (PM_PLCFG) Performance Level Disable */
112 #define PM_PLCFG_PLDIS              (_U(0x1) << PM_PLCFG_PLDIS_Pos)
113 #define PM_PLCFG_MASK               _U(0x83)     /**< \brief (PM_PLCFG) MASK Register */
114 
115 /* -------- PM_INTENCLR : (PM Offset: 0x04) (R/W  8) Interrupt Enable Clear -------- */
116 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
117 typedef union {
118   struct {
119     uint8_t  PLRDY:1;          /*!< bit:      0  Performance Level Interrupt Enable */
120     uint8_t  :7;               /*!< bit:  1.. 7  Reserved                           */
121   } bit;                       /*!< Structure used for bit  access                  */
122   uint8_t reg;                 /*!< Type      used for register access              */
123 } PM_INTENCLR_Type;
124 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
125 
126 #define PM_INTENCLR_OFFSET          0x04         /**< \brief (PM_INTENCLR offset) Interrupt Enable Clear */
127 #define PM_INTENCLR_RESETVALUE      _U(0x00)     /**< \brief (PM_INTENCLR reset_value) Interrupt Enable Clear */
128 
129 #define PM_INTENCLR_PLRDY_Pos       0            /**< \brief (PM_INTENCLR) Performance Level Interrupt Enable */
130 #define PM_INTENCLR_PLRDY           (_U(0x1) << PM_INTENCLR_PLRDY_Pos)
131 #define PM_INTENCLR_MASK            _U(0x01)     /**< \brief (PM_INTENCLR) MASK Register */
132 
133 /* -------- PM_INTENSET : (PM Offset: 0x05) (R/W  8) Interrupt Enable Set -------- */
134 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
135 typedef union {
136   struct {
137     uint8_t  PLRDY:1;          /*!< bit:      0  Performance Level Ready interrupt Enable */
138     uint8_t  :7;               /*!< bit:  1.. 7  Reserved                           */
139   } bit;                       /*!< Structure used for bit  access                  */
140   uint8_t reg;                 /*!< Type      used for register access              */
141 } PM_INTENSET_Type;
142 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
143 
144 #define PM_INTENSET_OFFSET          0x05         /**< \brief (PM_INTENSET offset) Interrupt Enable Set */
145 #define PM_INTENSET_RESETVALUE      _U(0x00)     /**< \brief (PM_INTENSET reset_value) Interrupt Enable Set */
146 
147 #define PM_INTENSET_PLRDY_Pos       0            /**< \brief (PM_INTENSET) Performance Level Ready interrupt Enable */
148 #define PM_INTENSET_PLRDY           (_U(0x1) << PM_INTENSET_PLRDY_Pos)
149 #define PM_INTENSET_MASK            _U(0x01)     /**< \brief (PM_INTENSET) MASK Register */
150 
151 /* -------- PM_INTFLAG : (PM Offset: 0x06) (R/W  8) Interrupt Flag Status and Clear -------- */
152 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
153 typedef union { // __I to avoid read-modify-write on write-to-clear register
154   struct {
155     __I uint8_t  PLRDY:1;          /*!< bit:      0  Performance Level Ready            */
156     __I uint8_t  :7;               /*!< bit:  1.. 7  Reserved                           */
157   } bit;                       /*!< Structure used for bit  access                  */
158   uint8_t reg;                 /*!< Type      used for register access              */
159 } PM_INTFLAG_Type;
160 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
161 
162 #define PM_INTFLAG_OFFSET           0x06         /**< \brief (PM_INTFLAG offset) Interrupt Flag Status and Clear */
163 #define PM_INTFLAG_RESETVALUE       _U(0x00)     /**< \brief (PM_INTFLAG reset_value) Interrupt Flag Status and Clear */
164 
165 #define PM_INTFLAG_PLRDY_Pos        0            /**< \brief (PM_INTFLAG) Performance Level Ready */
166 #define PM_INTFLAG_PLRDY            (_U(0x1) << PM_INTFLAG_PLRDY_Pos)
167 #define PM_INTFLAG_MASK             _U(0x01)     /**< \brief (PM_INTFLAG) MASK Register */
168 
169 /* -------- PM_STDBYCFG : (PM Offset: 0x08) (R/W 16) Standby Configuration -------- */
170 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
171 typedef union {
172   struct {
173     uint16_t PDCFG:2;          /*!< bit:  0.. 1  Power Domain Configuration         */
174     uint16_t :2;               /*!< bit:  2.. 3  Reserved                           */
175     uint16_t DPGPD0:1;         /*!< bit:      4  Dynamic Power Gating for PD0       */
176     uint16_t DPGPD1:1;         /*!< bit:      5  Dynamic Power Gating for PD1       */
177     uint16_t VREGSMOD:2;       /*!< bit:  6.. 7  Voltage Regulator Standby mode     */
178     uint16_t LINKPD:2;         /*!< bit:  8.. 9  Linked Power Domain                */
179     uint16_t BBIASHS:2;        /*!< bit: 10..11  Back Bias for HMCRAMCHS            */
180     uint16_t BBIASLP:2;        /*!< bit: 12..13  Back Bias for HMCRAMCLP            */
181     uint16_t BBIASPP:2;        /*!< bit: 14..15  Back Bias for PicoPram             */
182   } bit;                       /*!< Structure used for bit  access                  */
183   uint16_t reg;                /*!< Type      used for register access              */
184 } PM_STDBYCFG_Type;
185 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
186 
187 #define PM_STDBYCFG_OFFSET          0x08         /**< \brief (PM_STDBYCFG offset) Standby Configuration */
188 #define PM_STDBYCFG_RESETVALUE      _U(0x0000)   /**< \brief (PM_STDBYCFG reset_value) Standby Configuration */
189 
190 #define PM_STDBYCFG_PDCFG_Pos       0            /**< \brief (PM_STDBYCFG) Power Domain Configuration */
191 #define PM_STDBYCFG_PDCFG_Msk       (_U(0x3) << PM_STDBYCFG_PDCFG_Pos)
192 #define PM_STDBYCFG_PDCFG(value)    (PM_STDBYCFG_PDCFG_Msk & ((value) << PM_STDBYCFG_PDCFG_Pos))
193 #define   PM_STDBYCFG_PDCFG_DEFAULT_Val   _U(0x0)   /**< \brief (PM_STDBYCFG) All power domains switching is handled by hardware. */
194 #define   PM_STDBYCFG_PDCFG_PD0_Val       _U(0x1)   /**< \brief (PM_STDBYCFG) PD0 is forced ACTIVE. PD1 and PD2 power domains switching is handled by hardware. */
195 #define   PM_STDBYCFG_PDCFG_PD01_Val      _U(0x2)   /**< \brief (PM_STDBYCFG) PD0 and PD1 are forced ACTIVE. PD2 power domain switching is handled by hardware. */
196 #define   PM_STDBYCFG_PDCFG_PD012_Val     _U(0x3)   /**< \brief (PM_STDBYCFG) All power domains are forced ACTIVE. */
197 #define PM_STDBYCFG_PDCFG_DEFAULT   (PM_STDBYCFG_PDCFG_DEFAULT_Val << PM_STDBYCFG_PDCFG_Pos)
198 #define PM_STDBYCFG_PDCFG_PD0       (PM_STDBYCFG_PDCFG_PD0_Val     << PM_STDBYCFG_PDCFG_Pos)
199 #define PM_STDBYCFG_PDCFG_PD01      (PM_STDBYCFG_PDCFG_PD01_Val    << PM_STDBYCFG_PDCFG_Pos)
200 #define PM_STDBYCFG_PDCFG_PD012     (PM_STDBYCFG_PDCFG_PD012_Val   << PM_STDBYCFG_PDCFG_Pos)
201 #define PM_STDBYCFG_DPGPD0_Pos      4            /**< \brief (PM_STDBYCFG) Dynamic Power Gating for PD0 */
202 #define PM_STDBYCFG_DPGPD0          (_U(0x1) << PM_STDBYCFG_DPGPD0_Pos)
203 #define PM_STDBYCFG_DPGPD1_Pos      5            /**< \brief (PM_STDBYCFG) Dynamic Power Gating for PD1 */
204 #define PM_STDBYCFG_DPGPD1          (_U(0x1) << PM_STDBYCFG_DPGPD1_Pos)
205 #define PM_STDBYCFG_VREGSMOD_Pos    6            /**< \brief (PM_STDBYCFG) Voltage Regulator Standby mode */
206 #define PM_STDBYCFG_VREGSMOD_Msk    (_U(0x3) << PM_STDBYCFG_VREGSMOD_Pos)
207 #define PM_STDBYCFG_VREGSMOD(value) (PM_STDBYCFG_VREGSMOD_Msk & ((value) << PM_STDBYCFG_VREGSMOD_Pos))
208 #define   PM_STDBYCFG_VREGSMOD_AUTO_Val   _U(0x0)   /**< \brief (PM_STDBYCFG) Automatic mode */
209 #define   PM_STDBYCFG_VREGSMOD_PERFORMANCE_Val _U(0x1)   /**< \brief (PM_STDBYCFG) Performance oriented */
210 #define   PM_STDBYCFG_VREGSMOD_LP_Val     _U(0x2)   /**< \brief (PM_STDBYCFG) Low Power oriented */
211 #define PM_STDBYCFG_VREGSMOD_AUTO   (PM_STDBYCFG_VREGSMOD_AUTO_Val << PM_STDBYCFG_VREGSMOD_Pos)
212 #define PM_STDBYCFG_VREGSMOD_PERFORMANCE (PM_STDBYCFG_VREGSMOD_PERFORMANCE_Val << PM_STDBYCFG_VREGSMOD_Pos)
213 #define PM_STDBYCFG_VREGSMOD_LP     (PM_STDBYCFG_VREGSMOD_LP_Val   << PM_STDBYCFG_VREGSMOD_Pos)
214 #define PM_STDBYCFG_LINKPD_Pos      8            /**< \brief (PM_STDBYCFG) Linked Power Domain */
215 #define PM_STDBYCFG_LINKPD_Msk      (_U(0x3) << PM_STDBYCFG_LINKPD_Pos)
216 #define PM_STDBYCFG_LINKPD(value)   (PM_STDBYCFG_LINKPD_Msk & ((value) << PM_STDBYCFG_LINKPD_Pos))
217 #define   PM_STDBYCFG_LINKPD_DEFAULT_Val  _U(0x0)   /**< \brief (PM_STDBYCFG) Power domains are not linked */
218 #define   PM_STDBYCFG_LINKPD_PD01_Val     _U(0x1)   /**< \brief (PM_STDBYCFG) PD0 and PD1 power domains are linked */
219 #define   PM_STDBYCFG_LINKPD_PD12_Val     _U(0x2)   /**< \brief (PM_STDBYCFG) PD1 and PD2 power domains are linked */
220 #define   PM_STDBYCFG_LINKPD_PD012_Val    _U(0x3)   /**< \brief (PM_STDBYCFG) All power domains are linked */
221 #define PM_STDBYCFG_LINKPD_DEFAULT  (PM_STDBYCFG_LINKPD_DEFAULT_Val << PM_STDBYCFG_LINKPD_Pos)
222 #define PM_STDBYCFG_LINKPD_PD01     (PM_STDBYCFG_LINKPD_PD01_Val   << PM_STDBYCFG_LINKPD_Pos)
223 #define PM_STDBYCFG_LINKPD_PD12     (PM_STDBYCFG_LINKPD_PD12_Val   << PM_STDBYCFG_LINKPD_Pos)
224 #define PM_STDBYCFG_LINKPD_PD012    (PM_STDBYCFG_LINKPD_PD012_Val  << PM_STDBYCFG_LINKPD_Pos)
225 #define PM_STDBYCFG_BBIASHS_Pos     10           /**< \brief (PM_STDBYCFG) Back Bias for HMCRAMCHS */
226 #define PM_STDBYCFG_BBIASHS_Msk     (_U(0x3) << PM_STDBYCFG_BBIASHS_Pos)
227 #define PM_STDBYCFG_BBIASHS(value)  (PM_STDBYCFG_BBIASHS_Msk & ((value) << PM_STDBYCFG_BBIASHS_Pos))
228 #define PM_STDBYCFG_BBIASLP_Pos     12           /**< \brief (PM_STDBYCFG) Back Bias for HMCRAMCLP */
229 #define PM_STDBYCFG_BBIASLP_Msk     (_U(0x3) << PM_STDBYCFG_BBIASLP_Pos)
230 #define PM_STDBYCFG_BBIASLP(value)  (PM_STDBYCFG_BBIASLP_Msk & ((value) << PM_STDBYCFG_BBIASLP_Pos))
231 #define PM_STDBYCFG_BBIASPP_Pos     14           /**< \brief (PM_STDBYCFG) Back Bias for PicoPram */
232 #define PM_STDBYCFG_BBIASPP_Msk     (_U(0x3) << PM_STDBYCFG_BBIASPP_Pos)
233 #define PM_STDBYCFG_BBIASPP(value)  (PM_STDBYCFG_BBIASPP_Msk & ((value) << PM_STDBYCFG_BBIASPP_Pos))
234 #define PM_STDBYCFG_MASK            _U(0xFFF3)   /**< \brief (PM_STDBYCFG) MASK Register */
235 
236 /* -------- PM_PWSAKDLY : (PM Offset: 0x0C) (R/W  8) Power Switch Acknowledge Delay -------- */
237 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
238 typedef union {
239   struct {
240     uint8_t  DLYVAL:7;         /*!< bit:  0.. 6  Delay Value                        */
241     uint8_t  IGNACK:1;         /*!< bit:      7  Ignore Acknowledge                 */
242   } bit;                       /*!< Structure used for bit  access                  */
243   uint8_t reg;                 /*!< Type      used for register access              */
244 } PM_PWSAKDLY_Type;
245 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
246 
247 #define PM_PWSAKDLY_OFFSET          0x0C         /**< \brief (PM_PWSAKDLY offset) Power Switch Acknowledge Delay */
248 #define PM_PWSAKDLY_RESETVALUE      _U(0x00)     /**< \brief (PM_PWSAKDLY reset_value) Power Switch Acknowledge Delay */
249 
250 #define PM_PWSAKDLY_DLYVAL_Pos      0            /**< \brief (PM_PWSAKDLY) Delay Value */
251 #define PM_PWSAKDLY_DLYVAL_Msk      (_U(0x7F) << PM_PWSAKDLY_DLYVAL_Pos)
252 #define PM_PWSAKDLY_DLYVAL(value)   (PM_PWSAKDLY_DLYVAL_Msk & ((value) << PM_PWSAKDLY_DLYVAL_Pos))
253 #define PM_PWSAKDLY_IGNACK_Pos      7            /**< \brief (PM_PWSAKDLY) Ignore Acknowledge */
254 #define PM_PWSAKDLY_IGNACK          (_U(0x1) << PM_PWSAKDLY_IGNACK_Pos)
255 #define PM_PWSAKDLY_MASK            _U(0xFF)     /**< \brief (PM_PWSAKDLY) MASK Register */
256 
257 /** \brief PM hardware registers */
258 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
259 typedef struct {
260   __IO PM_CTRLA_Type             CTRLA;       /**< \brief Offset: 0x00 (R/W  8) Control A */
261   __IO PM_SLEEPCFG_Type          SLEEPCFG;    /**< \brief Offset: 0x01 (R/W  8) Sleep Configuration */
262   __IO PM_PLCFG_Type             PLCFG;       /**< \brief Offset: 0x02 (R/W  8) Performance Level Configuration */
263        RoReg8                    Reserved1[0x1];
264   __IO PM_INTENCLR_Type          INTENCLR;    /**< \brief Offset: 0x04 (R/W  8) Interrupt Enable Clear */
265   __IO PM_INTENSET_Type          INTENSET;    /**< \brief Offset: 0x05 (R/W  8) Interrupt Enable Set */
266   __IO PM_INTFLAG_Type           INTFLAG;     /**< \brief Offset: 0x06 (R/W  8) Interrupt Flag Status and Clear */
267        RoReg8                    Reserved2[0x1];
268   __IO PM_STDBYCFG_Type          STDBYCFG;    /**< \brief Offset: 0x08 (R/W 16) Standby Configuration */
269        RoReg8                    Reserved3[0x2];
270   __IO PM_PWSAKDLY_Type          PWSAKDLY;    /**< \brief Offset: 0x0C (R/W  8) Power Switch Acknowledge Delay */
271 } Pm;
272 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
273 
274 /*@}*/
275 
276 #endif /* _SAML21_PM_COMPONENT_ */
277