release/EM_CMSIS_P1_4.0.0/Device/SiliconLabs/EFM32G/Include/efm32g_pcnt.h

Go to the documentation of this file.
00001 /**************************************************************************/
00032 /**************************************************************************/
00037 typedef struct
00038 {
00039   __IO uint32_t CTRL;     
00040   __IO uint32_t CMD;      
00041   __I uint32_t  STATUS;   
00042   __I uint32_t  CNT;      
00043   __I uint32_t  TOP;      
00044   __IO uint32_t TOPB;     
00045   __I uint32_t  IF;       
00046   __IO uint32_t IFS;      
00047   __IO uint32_t IFC;      
00048   __IO uint32_t IEN;      
00049   __IO uint32_t ROUTE;    
00051   __IO uint32_t FREEZE;   
00052   __I uint32_t  SYNCBUSY; 
00053 } PCNT_TypeDef;           
00055 /**************************************************************************/
00060 /* Bit fields for PCNT CTRL */
00061 #define _PCNT_CTRL_RESETVALUE             0x00000000UL                        
00062 #define _PCNT_CTRL_MASK                   0x0000003FUL                        
00063 #define _PCNT_CTRL_MODE_SHIFT             0                                   
00064 #define _PCNT_CTRL_MODE_MASK              0x3UL                               
00065 #define _PCNT_CTRL_MODE_DEFAULT           0x00000000UL                        
00066 #define _PCNT_CTRL_MODE_DISABLE           0x00000000UL                        
00067 #define _PCNT_CTRL_MODE_OVSSINGLE         0x00000001UL                        
00068 #define _PCNT_CTRL_MODE_EXTCLKSINGLE      0x00000002UL                        
00069 #define _PCNT_CTRL_MODE_EXTCLKQUAD        0x00000003UL                        
00070 #define PCNT_CTRL_MODE_DEFAULT            (_PCNT_CTRL_MODE_DEFAULT << 0)      
00071 #define PCNT_CTRL_MODE_DISABLE            (_PCNT_CTRL_MODE_DISABLE << 0)      
00072 #define PCNT_CTRL_MODE_OVSSINGLE          (_PCNT_CTRL_MODE_OVSSINGLE << 0)    
00073 #define PCNT_CTRL_MODE_EXTCLKSINGLE       (_PCNT_CTRL_MODE_EXTCLKSINGLE << 0) 
00074 #define PCNT_CTRL_MODE_EXTCLKQUAD         (_PCNT_CTRL_MODE_EXTCLKQUAD << 0)   
00075 #define PCNT_CTRL_CNTDIR                  (0x1UL << 2)                        
00076 #define _PCNT_CTRL_CNTDIR_SHIFT           2                                   
00077 #define _PCNT_CTRL_CNTDIR_MASK            0x4UL                               
00078 #define _PCNT_CTRL_CNTDIR_DEFAULT         0x00000000UL                        
00079 #define _PCNT_CTRL_CNTDIR_UP              0x00000000UL                        
00080 #define _PCNT_CTRL_CNTDIR_DOWN            0x00000001UL                        
00081 #define PCNT_CTRL_CNTDIR_DEFAULT          (_PCNT_CTRL_CNTDIR_DEFAULT << 2)    
00082 #define PCNT_CTRL_CNTDIR_UP               (_PCNT_CTRL_CNTDIR_UP << 2)         
00083 #define PCNT_CTRL_CNTDIR_DOWN             (_PCNT_CTRL_CNTDIR_DOWN << 2)       
00084 #define PCNT_CTRL_EDGE                    (0x1UL << 3)                        
00085 #define _PCNT_CTRL_EDGE_SHIFT             3                                   
00086 #define _PCNT_CTRL_EDGE_MASK              0x8UL                               
00087 #define _PCNT_CTRL_EDGE_DEFAULT           0x00000000UL                        
00088 #define _PCNT_CTRL_EDGE_POS               0x00000000UL                        
00089 #define _PCNT_CTRL_EDGE_NEG               0x00000001UL                        
00090 #define PCNT_CTRL_EDGE_DEFAULT            (_PCNT_CTRL_EDGE_DEFAULT << 3)      
00091 #define PCNT_CTRL_EDGE_POS                (_PCNT_CTRL_EDGE_POS << 3)          
00092 #define PCNT_CTRL_EDGE_NEG                (_PCNT_CTRL_EDGE_NEG << 3)          
00093 #define PCNT_CTRL_FILT                    (0x1UL << 4)                        
00094 #define _PCNT_CTRL_FILT_SHIFT             4                                   
00095 #define _PCNT_CTRL_FILT_MASK              0x10UL                              
00096 #define _PCNT_CTRL_FILT_DEFAULT           0x00000000UL                        
00097 #define PCNT_CTRL_FILT_DEFAULT            (_PCNT_CTRL_FILT_DEFAULT << 4)      
00098 #define PCNT_CTRL_RSTEN                   (0x1UL << 5)                        
00099 #define _PCNT_CTRL_RSTEN_SHIFT            5                                   
00100 #define _PCNT_CTRL_RSTEN_MASK             0x20UL                              
00101 #define _PCNT_CTRL_RSTEN_DEFAULT          0x00000000UL                        
00102 #define PCNT_CTRL_RSTEN_DEFAULT           (_PCNT_CTRL_RSTEN_DEFAULT << 5)     
00104 /* Bit fields for PCNT CMD */
00105 #define _PCNT_CMD_RESETVALUE              0x00000000UL                     
00106 #define _PCNT_CMD_MASK                    0x00000003UL                     
00107 #define PCNT_CMD_LCNTIM                   (0x1UL << 0)                     
00108 #define _PCNT_CMD_LCNTIM_SHIFT            0                                
00109 #define _PCNT_CMD_LCNTIM_MASK             0x1UL                            
00110 #define _PCNT_CMD_LCNTIM_DEFAULT          0x00000000UL                     
00111 #define PCNT_CMD_LCNTIM_DEFAULT           (_PCNT_CMD_LCNTIM_DEFAULT << 0)  
00112 #define PCNT_CMD_LTOPBIM                  (0x1UL << 1)                     
00113 #define _PCNT_CMD_LTOPBIM_SHIFT           1                                
00114 #define _PCNT_CMD_LTOPBIM_MASK            0x2UL                            
00115 #define _PCNT_CMD_LTOPBIM_DEFAULT         0x00000000UL                     
00116 #define PCNT_CMD_LTOPBIM_DEFAULT          (_PCNT_CMD_LTOPBIM_DEFAULT << 1) 
00118 /* Bit fields for PCNT STATUS */
00119 #define _PCNT_STATUS_RESETVALUE           0x00000000UL                    
00120 #define _PCNT_STATUS_MASK                 0x00000001UL                    
00121 #define PCNT_STATUS_DIR                   (0x1UL << 0)                    
00122 #define _PCNT_STATUS_DIR_SHIFT            0                               
00123 #define _PCNT_STATUS_DIR_MASK             0x1UL                           
00124 #define _PCNT_STATUS_DIR_DEFAULT          0x00000000UL                    
00125 #define _PCNT_STATUS_DIR_UP               0x00000000UL                    
00126 #define _PCNT_STATUS_DIR_DOWN             0x00000001UL                    
00127 #define PCNT_STATUS_DIR_DEFAULT           (_PCNT_STATUS_DIR_DEFAULT << 0) 
00128 #define PCNT_STATUS_DIR_UP                (_PCNT_STATUS_DIR_UP << 0)      
00129 #define PCNT_STATUS_DIR_DOWN              (_PCNT_STATUS_DIR_DOWN << 0)    
00131 /* Bit fields for PCNT CNT */
00132 #define _PCNT_CNT_RESETVALUE              0x00000000UL                 
00133 #define _PCNT_CNT_MASK                    0x0000FFFFUL                 
00134 #define _PCNT_CNT_CNT_SHIFT               0                            
00135 #define _PCNT_CNT_CNT_MASK                0xFFFFUL                     
00136 #define _PCNT_CNT_CNT_DEFAULT             0x00000000UL                 
00137 #define PCNT_CNT_CNT_DEFAULT              (_PCNT_CNT_CNT_DEFAULT << 0) 
00139 /* Bit fields for PCNT TOP */
00140 #define _PCNT_TOP_RESETVALUE              0x000000FFUL                 
00141 #define _PCNT_TOP_MASK                    0x0000FFFFUL                 
00142 #define _PCNT_TOP_TOP_SHIFT               0                            
00143 #define _PCNT_TOP_TOP_MASK                0xFFFFUL                     
00144 #define _PCNT_TOP_TOP_DEFAULT             0x000000FFUL                 
00145 #define PCNT_TOP_TOP_DEFAULT              (_PCNT_TOP_TOP_DEFAULT << 0) 
00147 /* Bit fields for PCNT TOPB */
00148 #define _PCNT_TOPB_RESETVALUE             0x000000FFUL                   
00149 #define _PCNT_TOPB_MASK                   0x0000FFFFUL                   
00150 #define _PCNT_TOPB_TOPB_SHIFT             0                              
00151 #define _PCNT_TOPB_TOPB_MASK              0xFFFFUL                       
00152 #define _PCNT_TOPB_TOPB_DEFAULT           0x000000FFUL                   
00153 #define PCNT_TOPB_TOPB_DEFAULT            (_PCNT_TOPB_TOPB_DEFAULT << 0) 
00155 /* Bit fields for PCNT IF */
00156 #define _PCNT_IF_RESETVALUE               0x00000000UL                   
00157 #define _PCNT_IF_MASK                     0x00000007UL                   
00158 #define PCNT_IF_UF                        (0x1UL << 0)                   
00159 #define _PCNT_IF_UF_SHIFT                 0                              
00160 #define _PCNT_IF_UF_MASK                  0x1UL                          
00161 #define _PCNT_IF_UF_DEFAULT               0x00000000UL                   
00162 #define PCNT_IF_UF_DEFAULT                (_PCNT_IF_UF_DEFAULT << 0)     
00163 #define PCNT_IF_OF                        (0x1UL << 1)                   
00164 #define _PCNT_IF_OF_SHIFT                 1                              
00165 #define _PCNT_IF_OF_MASK                  0x2UL                          
00166 #define _PCNT_IF_OF_DEFAULT               0x00000000UL                   
00167 #define PCNT_IF_OF_DEFAULT                (_PCNT_IF_OF_DEFAULT << 1)     
00168 #define PCNT_IF_DIRCNG                    (0x1UL << 2)                   
00169 #define _PCNT_IF_DIRCNG_SHIFT             2                              
00170 #define _PCNT_IF_DIRCNG_MASK              0x4UL                          
00171 #define _PCNT_IF_DIRCNG_DEFAULT           0x00000000UL                   
00172 #define PCNT_IF_DIRCNG_DEFAULT            (_PCNT_IF_DIRCNG_DEFAULT << 2) 
00174 /* Bit fields for PCNT IFS */
00175 #define _PCNT_IFS_RESETVALUE              0x00000000UL                    
00176 #define _PCNT_IFS_MASK                    0x00000007UL                    
00177 #define PCNT_IFS_UF                       (0x1UL << 0)                    
00178 #define _PCNT_IFS_UF_SHIFT                0                               
00179 #define _PCNT_IFS_UF_MASK                 0x1UL                           
00180 #define _PCNT_IFS_UF_DEFAULT              0x00000000UL                    
00181 #define PCNT_IFS_UF_DEFAULT               (_PCNT_IFS_UF_DEFAULT << 0)     
00182 #define PCNT_IFS_OF                       (0x1UL << 1)                    
00183 #define _PCNT_IFS_OF_SHIFT                1                               
00184 #define _PCNT_IFS_OF_MASK                 0x2UL                           
00185 #define _PCNT_IFS_OF_DEFAULT              0x00000000UL                    
00186 #define PCNT_IFS_OF_DEFAULT               (_PCNT_IFS_OF_DEFAULT << 1)     
00187 #define PCNT_IFS_DIRCNG                   (0x1UL << 2)                    
00188 #define _PCNT_IFS_DIRCNG_SHIFT            2                               
00189 #define _PCNT_IFS_DIRCNG_MASK             0x4UL                           
00190 #define _PCNT_IFS_DIRCNG_DEFAULT          0x00000000UL                    
00191 #define PCNT_IFS_DIRCNG_DEFAULT           (_PCNT_IFS_DIRCNG_DEFAULT << 2) 
00193 /* Bit fields for PCNT IFC */
00194 #define _PCNT_IFC_RESETVALUE              0x00000000UL                    
00195 #define _PCNT_IFC_MASK                    0x00000007UL                    
00196 #define PCNT_IFC_UF                       (0x1UL << 0)                    
00197 #define _PCNT_IFC_UF_SHIFT                0                               
00198 #define _PCNT_IFC_UF_MASK                 0x1UL                           
00199 #define _PCNT_IFC_UF_DEFAULT              0x00000000UL                    
00200 #define PCNT_IFC_UF_DEFAULT               (_PCNT_IFC_UF_DEFAULT << 0)     
00201 #define PCNT_IFC_OF                       (0x1UL << 1)                    
00202 #define _PCNT_IFC_OF_SHIFT                1                               
00203 #define _PCNT_IFC_OF_MASK                 0x2UL                           
00204 #define _PCNT_IFC_OF_DEFAULT              0x00000000UL                    
00205 #define PCNT_IFC_OF_DEFAULT               (_PCNT_IFC_OF_DEFAULT << 1)     
00206 #define PCNT_IFC_DIRCNG                   (0x1UL << 2)                    
00207 #define _PCNT_IFC_DIRCNG_SHIFT            2                               
00208 #define _PCNT_IFC_DIRCNG_MASK             0x4UL                           
00209 #define _PCNT_IFC_DIRCNG_DEFAULT          0x00000000UL                    
00210 #define PCNT_IFC_DIRCNG_DEFAULT           (_PCNT_IFC_DIRCNG_DEFAULT << 2) 
00212 /* Bit fields for PCNT IEN */
00213 #define _PCNT_IEN_RESETVALUE              0x00000000UL                    
00214 #define _PCNT_IEN_MASK                    0x00000007UL                    
00215 #define PCNT_IEN_UF                       (0x1UL << 0)                    
00216 #define _PCNT_IEN_UF_SHIFT                0                               
00217 #define _PCNT_IEN_UF_MASK                 0x1UL                           
00218 #define _PCNT_IEN_UF_DEFAULT              0x00000000UL                    
00219 #define PCNT_IEN_UF_DEFAULT               (_PCNT_IEN_UF_DEFAULT << 0)     
00220 #define PCNT_IEN_OF                       (0x1UL << 1)                    
00221 #define _PCNT_IEN_OF_SHIFT                1                               
00222 #define _PCNT_IEN_OF_MASK                 0x2UL                           
00223 #define _PCNT_IEN_OF_DEFAULT              0x00000000UL                    
00224 #define PCNT_IEN_OF_DEFAULT               (_PCNT_IEN_OF_DEFAULT << 1)     
00225 #define PCNT_IEN_DIRCNG                   (0x1UL << 2)                    
00226 #define _PCNT_IEN_DIRCNG_SHIFT            2                               
00227 #define _PCNT_IEN_DIRCNG_MASK             0x4UL                           
00228 #define _PCNT_IEN_DIRCNG_DEFAULT          0x00000000UL                    
00229 #define PCNT_IEN_DIRCNG_DEFAULT           (_PCNT_IEN_DIRCNG_DEFAULT << 2) 
00231 /* Bit fields for PCNT ROUTE */
00232 #define _PCNT_ROUTE_RESETVALUE            0x00000000UL                        
00233 #define _PCNT_ROUTE_MASK                  0x00000300UL                        
00234 #define _PCNT_ROUTE_LOCATION_SHIFT        8                                   
00235 #define _PCNT_ROUTE_LOCATION_MASK         0x300UL                             
00236 #define _PCNT_ROUTE_LOCATION_LOC0         0x00000000UL                        
00237 #define _PCNT_ROUTE_LOCATION_DEFAULT      0x00000000UL                        
00238 #define _PCNT_ROUTE_LOCATION_LOC1         0x00000001UL                        
00239 #define _PCNT_ROUTE_LOCATION_LOC2         0x00000002UL                        
00240 #define PCNT_ROUTE_LOCATION_LOC0          (_PCNT_ROUTE_LOCATION_LOC0 << 8)    
00241 #define PCNT_ROUTE_LOCATION_DEFAULT       (_PCNT_ROUTE_LOCATION_DEFAULT << 8) 
00242 #define PCNT_ROUTE_LOCATION_LOC1          (_PCNT_ROUTE_LOCATION_LOC1 << 8)    
00243 #define PCNT_ROUTE_LOCATION_LOC2          (_PCNT_ROUTE_LOCATION_LOC2 << 8)    
00245 /* Bit fields for PCNT FREEZE */
00246 #define _PCNT_FREEZE_RESETVALUE           0x00000000UL                          
00247 #define _PCNT_FREEZE_MASK                 0x00000001UL                          
00248 #define PCNT_FREEZE_REGFREEZE             (0x1UL << 0)                          
00249 #define _PCNT_FREEZE_REGFREEZE_SHIFT      0                                     
00250 #define _PCNT_FREEZE_REGFREEZE_MASK       0x1UL                                 
00251 #define _PCNT_FREEZE_REGFREEZE_DEFAULT    0x00000000UL                          
00252 #define _PCNT_FREEZE_REGFREEZE_UPDATE     0x00000000UL                          
00253 #define _PCNT_FREEZE_REGFREEZE_FREEZE     0x00000001UL                          
00254 #define PCNT_FREEZE_REGFREEZE_DEFAULT     (_PCNT_FREEZE_REGFREEZE_DEFAULT << 0) 
00255 #define PCNT_FREEZE_REGFREEZE_UPDATE      (_PCNT_FREEZE_REGFREEZE_UPDATE << 0)  
00256 #define PCNT_FREEZE_REGFREEZE_FREEZE      (_PCNT_FREEZE_REGFREEZE_FREEZE << 0)  
00258 /* Bit fields for PCNT SYNCBUSY */
00259 #define _PCNT_SYNCBUSY_RESETVALUE         0x00000000UL                       
00260 #define _PCNT_SYNCBUSY_MASK               0x00000007UL                       
00261 #define PCNT_SYNCBUSY_CTRL                (0x1UL << 0)                       
00262 #define _PCNT_SYNCBUSY_CTRL_SHIFT         0                                  
00263 #define _PCNT_SYNCBUSY_CTRL_MASK          0x1UL                              
00264 #define _PCNT_SYNCBUSY_CTRL_DEFAULT       0x00000000UL                       
00265 #define PCNT_SYNCBUSY_CTRL_DEFAULT        (_PCNT_SYNCBUSY_CTRL_DEFAULT << 0) 
00266 #define PCNT_SYNCBUSY_CMD                 (0x1UL << 1)                       
00267 #define _PCNT_SYNCBUSY_CMD_SHIFT          1                                  
00268 #define _PCNT_SYNCBUSY_CMD_MASK           0x2UL                              
00269 #define _PCNT_SYNCBUSY_CMD_DEFAULT        0x00000000UL                       
00270 #define PCNT_SYNCBUSY_CMD_DEFAULT         (_PCNT_SYNCBUSY_CMD_DEFAULT << 1)  
00271 #define PCNT_SYNCBUSY_TOPB                (0x1UL << 2)                       
00272 #define _PCNT_SYNCBUSY_TOPB_SHIFT         2                                  
00273 #define _PCNT_SYNCBUSY_TOPB_MASK          0x4UL                              
00274 #define _PCNT_SYNCBUSY_TOPB_DEFAULT       0x00000000UL                       
00275 #define PCNT_SYNCBUSY_TOPB_DEFAULT        (_PCNT_SYNCBUSY_TOPB_DEFAULT << 2)