1 /**
2  * \file
3  *
4  * \brief Component description for GPBR
5  *
6  * Copyright (c) 2019 Microchip Technology Inc.
7  *
8  * \license_start
9  *
10  * \page License
11  *
12  * SPDX-License-Identifier: Apache-2.0
13  *
14  * Licensed under the Apache License, Version 2.0 (the "License");
15  * you may not use this file except in compliance with the License.
16  * You may obtain a copy of the License at
17  *
18  *   http://www.apache.org/licenses/LICENSE-2.0
19  *
20  * Unless required by applicable law or agreed to in writing, software
21  * distributed under the License is distributed on an "AS IS" BASIS,
22  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23  * See the License for the specific language governing permissions and
24  * limitations under the License.
25  *
26  * \license_stop
27  *
28  */
29 
30 /* file generated from device description version 2019-01-18T21:21:15Z */
31 #ifndef _SAMV71_GPBR_COMPONENT_H_
32 #define _SAMV71_GPBR_COMPONENT_H_
33 #define _SAMV71_GPBR_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
34 
35 /** \addtogroup SAMV_SAMV71 General Purpose Backup Registers
36  *  @{
37  */
38 /* ========================================================================== */
39 /**  SOFTWARE API DEFINITION FOR GPBR */
40 /* ========================================================================== */
41 #ifndef COMPONENT_TYPEDEF_STYLE
42   #define COMPONENT_TYPEDEF_STYLE 'R'  /**< Defines default style of typedefs for the component header files ('R' = RFO, 'N' = NTO)*/
43 #endif
44 
45 #define GPBR_6378                       /**< (GPBR) Module ID */
46 #define REV_GPBR J                      /**< (GPBR) Module revision */
47 
48 /* -------- GPBR_SYS_GPBR : (GPBR Offset: 0x00) (R/W 32) General Purpose Backup Register 0 -------- */
49 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
50 #if COMPONENT_TYPEDEF_STYLE == 'N'
51 typedef union {
52   struct {
53     uint32_t GPBR_VALUE:32;             /**< bit:  0..31  Value of GPBR x                          */
54   } bit;                                /**< Structure used for bit  access */
55   uint32_t reg;                         /**< Type used for register access */
56 } GPBR_SYS_GPBR_Type;
57 #endif
58 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
59 
60 #define GPBR_SYS_GPBR_OFFSET                (0x00)                                        /**<  (GPBR_SYS_GPBR) General Purpose Backup Register 0  Offset */
61 
62 #define GPBR_SYS_GPBR_GPBR_VALUE_Pos        0                                              /**< (GPBR_SYS_GPBR) Value of GPBR x Position */
63 #define GPBR_SYS_GPBR_GPBR_VALUE_Msk        (_U_(0xFFFFFFFF) << GPBR_SYS_GPBR_GPBR_VALUE_Pos)  /**< (GPBR_SYS_GPBR) Value of GPBR x Mask */
64 #define GPBR_SYS_GPBR_GPBR_VALUE(value)     (GPBR_SYS_GPBR_GPBR_VALUE_Msk & ((value) << GPBR_SYS_GPBR_GPBR_VALUE_Pos))
65 #define GPBR_SYS_GPBR_MASK                  _U_(0xFFFFFFFF)                                /**< \deprecated (GPBR_SYS_GPBR) Register MASK  (Use GPBR_SYS_GPBR_Msk instead)  */
66 #define GPBR_SYS_GPBR_Msk                   _U_(0xFFFFFFFF)                                /**< (GPBR_SYS_GPBR) Register Mask  */
67 
68 
69 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
70 #if COMPONENT_TYPEDEF_STYLE == 'R'
71 /** \brief GPBR hardware registers */
72 typedef struct {
73   __IO uint32_t SYS_GPBR[8];    /**< (GPBR Offset: 0x00) General Purpose Backup Register 0 */
74 } Gpbr;
75 
76 #elif COMPONENT_TYPEDEF_STYLE == 'N'
77 /** \brief GPBR hardware registers */
78 typedef struct {
79   __IO GPBR_SYS_GPBR_Type             SYS_GPBR[8];    /**< Offset: 0x00 (R/W  32) General Purpose Backup Register 0 */
80 } Gpbr;
81 
82 #else /* COMPONENT_TYPEDEF_STYLE */
83 #error Unknown component typedef style
84 #endif /* COMPONENT_TYPEDEF_STYLE */
85 
86 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
87 /** @}  end of General Purpose Backup Registers */
88 
89 #endif /* _SAMV71_GPBR_COMPONENT_H_ */
90