1 /**************************************************************************//**
2  * @file
3  * @brief efm32g_emu Register and Bit Field definitions
4  * @author Energy Micro AS
5  * @version 3.0.0
6  ******************************************************************************
7  * @section License
8  * <b>(C) Copyright 2012 Energy Micro AS, http://www.energymicro.com</b>
9  ******************************************************************************
10  *
11  * Permission is granted to anyone to use this software for any purpose,
12  * including commercial applications, and to alter it and redistribute it
13  * freely, subject to the following restrictions:
14  *
15  * 1. The origin of this software must not be misrepresented; you must not
16  *    claim that you wrote the original software.
17  * 2. Altered source versions must be plainly marked as such, and must not be
18  *    misrepresented as being the original software.
19  * 3. This notice may not be removed or altered from any source distribution.
20  *
21  * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Energy Micro AS has no
22  * obligation to support this Software. Energy Micro AS is providing the
23  * Software "AS IS", with no express or implied warranties of any kind,
24  * including, but not limited to, any implied warranties of merchantability
25  * or fitness for any particular purpose or warranties against infringement
26  * of any proprietary rights of a third party.
27  *
28  * Energy Micro AS will not be liable for any consequential, incidental, or
29  * special damages, or any other relief, or for any claim by any third party,
30  * arising from your use of this Software.
31  *
32  *****************************************************************************/
33 /**************************************************************************//**
34  * @defgroup EFM32G_EMU
35  * @{
36  * @brief EFM32G_EMU Register Declaration
37  *****************************************************************************/
38 typedef struct
39 {
40   __IO uint32_t CTRL;         /**< Control Register  */
41   __IO uint32_t MEMCTRL;      /**< Memory Control Register  */
42   __IO uint32_t LOCK;         /**< Configuration Lock Register  */
43 
44   uint32_t      RESERVED0[6]; /**< Reserved for future use **/
45   __IO uint32_t AUXCTRL;      /**< Auxiliary Control Register  */
46 } EMU_TypeDef;                /** @} */
47 
48 /**************************************************************************//**
49  * @defgroup EFM32G_EMU_BitFields
50  * @{
51  *****************************************************************************/
52 
53 /* Bit fields for EMU CTRL */
54 #define _EMU_CTRL_RESETVALUE              0x00000000UL                      /**< Default value for EMU_CTRL */
55 #define _EMU_CTRL_MASK                    0x0000000FUL                      /**< Mask for EMU_CTRL */
56 #define EMU_CTRL_EMVREG                   (0x1UL << 0)                      /**< Energy Mode Voltage Regulator Control */
57 #define _EMU_CTRL_EMVREG_SHIFT            0                                 /**< Shift value for EMU_EMVREG */
58 #define _EMU_CTRL_EMVREG_MASK             0x1UL                             /**< Bit mask for EMU_EMVREG */
59 #define _EMU_CTRL_EMVREG_DEFAULT          0x00000000UL                      /**< Mode DEFAULT for EMU_CTRL */
60 #define _EMU_CTRL_EMVREG_REDUCED          0x00000000UL                      /**< Mode REDUCED for EMU_CTRL */
61 #define _EMU_CTRL_EMVREG_FULL             0x00000001UL                      /**< Mode FULL for EMU_CTRL */
62 #define EMU_CTRL_EMVREG_DEFAULT           (_EMU_CTRL_EMVREG_DEFAULT << 0)   /**< Shifted mode DEFAULT for EMU_CTRL */
63 #define EMU_CTRL_EMVREG_REDUCED           (_EMU_CTRL_EMVREG_REDUCED << 0)   /**< Shifted mode REDUCED for EMU_CTRL */
64 #define EMU_CTRL_EMVREG_FULL              (_EMU_CTRL_EMVREG_FULL << 0)      /**< Shifted mode FULL for EMU_CTRL */
65 #define EMU_CTRL_EM2BLOCK                 (0x1UL << 1)                      /**< Energy Mode 2 Block */
66 #define _EMU_CTRL_EM2BLOCK_SHIFT          1                                 /**< Shift value for EMU_EM2BLOCK */
67 #define _EMU_CTRL_EM2BLOCK_MASK           0x2UL                             /**< Bit mask for EMU_EM2BLOCK */
68 #define _EMU_CTRL_EM2BLOCK_DEFAULT        0x00000000UL                      /**< Mode DEFAULT for EMU_CTRL */
69 #define EMU_CTRL_EM2BLOCK_DEFAULT         (_EMU_CTRL_EM2BLOCK_DEFAULT << 1) /**< Shifted mode DEFAULT for EMU_CTRL */
70 #define _EMU_CTRL_EM4CTRL_SHIFT           2                                 /**< Shift value for EMU_EM4CTRL */
71 #define _EMU_CTRL_EM4CTRL_MASK            0xCUL                             /**< Bit mask for EMU_EM4CTRL */
72 #define _EMU_CTRL_EM4CTRL_DEFAULT         0x00000000UL                      /**< Mode DEFAULT for EMU_CTRL */
73 #define EMU_CTRL_EM4CTRL_DEFAULT          (_EMU_CTRL_EM4CTRL_DEFAULT << 2)  /**< Shifted mode DEFAULT for EMU_CTRL */
74 
75 /* Bit fields for EMU MEMCTRL */
76 #define _EMU_MEMCTRL_RESETVALUE           0x00000000UL                          /**< Default value for EMU_MEMCTRL */
77 #define _EMU_MEMCTRL_MASK                 0x00000007UL                          /**< Mask for EMU_MEMCTRL */
78 #define _EMU_MEMCTRL_POWERDOWN_SHIFT      0                                     /**< Shift value for EMU_POWERDOWN */
79 #define _EMU_MEMCTRL_POWERDOWN_MASK       0x7UL                                 /**< Bit mask for EMU_POWERDOWN */
80 #define _EMU_MEMCTRL_POWERDOWN_DEFAULT    0x00000000UL                          /**< Mode DEFAULT for EMU_MEMCTRL */
81 #define _EMU_MEMCTRL_POWERDOWN_BLK3       0x00000004UL                          /**< Mode BLK3 for EMU_MEMCTRL */
82 #define _EMU_MEMCTRL_POWERDOWN_BLK23      0x00000006UL                          /**< Mode BLK23 for EMU_MEMCTRL */
83 #define _EMU_MEMCTRL_POWERDOWN_BLK123     0x00000007UL                          /**< Mode BLK123 for EMU_MEMCTRL */
84 #define EMU_MEMCTRL_POWERDOWN_DEFAULT     (_EMU_MEMCTRL_POWERDOWN_DEFAULT << 0) /**< Shifted mode DEFAULT for EMU_MEMCTRL */
85 #define EMU_MEMCTRL_POWERDOWN_BLK3        (_EMU_MEMCTRL_POWERDOWN_BLK3 << 0)    /**< Shifted mode BLK3 for EMU_MEMCTRL */
86 #define EMU_MEMCTRL_POWERDOWN_BLK23       (_EMU_MEMCTRL_POWERDOWN_BLK23 << 0)   /**< Shifted mode BLK23 for EMU_MEMCTRL */
87 #define EMU_MEMCTRL_POWERDOWN_BLK123      (_EMU_MEMCTRL_POWERDOWN_BLK123 << 0)  /**< Shifted mode BLK123 for EMU_MEMCTRL */
88 
89 /* Bit fields for EMU LOCK */
90 #define _EMU_LOCK_RESETVALUE              0x00000000UL                      /**< Default value for EMU_LOCK */
91 #define _EMU_LOCK_MASK                    0x0000FFFFUL                      /**< Mask for EMU_LOCK */
92 #define _EMU_LOCK_LOCKKEY_SHIFT           0                                 /**< Shift value for EMU_LOCKKEY */
93 #define _EMU_LOCK_LOCKKEY_MASK            0xFFFFUL                          /**< Bit mask for EMU_LOCKKEY */
94 #define _EMU_LOCK_LOCKKEY_DEFAULT         0x00000000UL                      /**< Mode DEFAULT for EMU_LOCK */
95 #define _EMU_LOCK_LOCKKEY_LOCK            0x00000000UL                      /**< Mode LOCK for EMU_LOCK */
96 #define _EMU_LOCK_LOCKKEY_UNLOCKED        0x00000000UL                      /**< Mode UNLOCKED for EMU_LOCK */
97 #define _EMU_LOCK_LOCKKEY_LOCKED          0x00000001UL                      /**< Mode LOCKED for EMU_LOCK */
98 #define _EMU_LOCK_LOCKKEY_UNLOCK          0x0000ADE8UL                      /**< Mode UNLOCK for EMU_LOCK */
99 #define EMU_LOCK_LOCKKEY_DEFAULT          (_EMU_LOCK_LOCKKEY_DEFAULT << 0)  /**< Shifted mode DEFAULT for EMU_LOCK */
100 #define EMU_LOCK_LOCKKEY_LOCK             (_EMU_LOCK_LOCKKEY_LOCK << 0)     /**< Shifted mode LOCK for EMU_LOCK */
101 #define EMU_LOCK_LOCKKEY_UNLOCKED         (_EMU_LOCK_LOCKKEY_UNLOCKED << 0) /**< Shifted mode UNLOCKED for EMU_LOCK */
102 #define EMU_LOCK_LOCKKEY_LOCKED           (_EMU_LOCK_LOCKKEY_LOCKED << 0)   /**< Shifted mode LOCKED for EMU_LOCK */
103 #define EMU_LOCK_LOCKKEY_UNLOCK           (_EMU_LOCK_LOCKKEY_UNLOCK << 0)   /**< Shifted mode UNLOCK for EMU_LOCK */
104 
105 /* Bit fields for EMU AUXCTRL */
106 #define _EMU_AUXCTRL_RESETVALUE           0x00000000UL                       /**< Default value for EMU_AUXCTRL */
107 #define _EMU_AUXCTRL_MASK                 0x00000001UL                       /**< Mask for EMU_AUXCTRL */
108 #define EMU_AUXCTRL_HRCCLR                (0x1UL << 0)                       /**< Hard Reset Cause Clear */
109 #define _EMU_AUXCTRL_HRCCLR_SHIFT         0                                  /**< Shift value for EMU_HRCCLR */
110 #define _EMU_AUXCTRL_HRCCLR_MASK          0x1UL                              /**< Bit mask for EMU_HRCCLR */
111 #define _EMU_AUXCTRL_HRCCLR_DEFAULT       0x00000000UL                       /**< Mode DEFAULT for EMU_AUXCTRL */
112 #define EMU_AUXCTRL_HRCCLR_DEFAULT        (_EMU_AUXCTRL_HRCCLR_DEFAULT << 0) /**< Shifted mode DEFAULT for EMU_AUXCTRL */
113 
114 /** @} End of group EFM32G_EMU */
115 
116 
117