release/EM_CMSIS_P1_4.0.0/Device/SiliconLabs/EFM32ZG/Include/efm32zg_prs.h

Go to the documentation of this file.
00001 /**************************************************************************/
00032 /**************************************************************************/
00037 typedef struct
00038 {
00039   __IO uint32_t  SWPULSE;      
00040   __IO uint32_t  SWLEVEL;      
00041   __IO uint32_t  ROUTE;        
00043   uint32_t       RESERVED0[1]; 
00044   PRS_CH_TypeDef CH[4];        
00045 } PRS_TypeDef;                 
00047 /**************************************************************************/
00052 /* Bit fields for PRS SWPULSE */
00053 #define _PRS_SWPULSE_RESETVALUE              0x00000000UL                         
00054 #define _PRS_SWPULSE_MASK                    0x0000000FUL                         
00055 #define PRS_SWPULSE_CH0PULSE                 (0x1UL << 0)                         
00056 #define _PRS_SWPULSE_CH0PULSE_SHIFT          0                                    
00057 #define _PRS_SWPULSE_CH0PULSE_MASK           0x1UL                                
00058 #define _PRS_SWPULSE_CH0PULSE_DEFAULT        0x00000000UL                         
00059 #define PRS_SWPULSE_CH0PULSE_DEFAULT         (_PRS_SWPULSE_CH0PULSE_DEFAULT << 0) 
00060 #define PRS_SWPULSE_CH1PULSE                 (0x1UL << 1)                         
00061 #define _PRS_SWPULSE_CH1PULSE_SHIFT          1                                    
00062 #define _PRS_SWPULSE_CH1PULSE_MASK           0x2UL                                
00063 #define _PRS_SWPULSE_CH1PULSE_DEFAULT        0x00000000UL                         
00064 #define PRS_SWPULSE_CH1PULSE_DEFAULT         (_PRS_SWPULSE_CH1PULSE_DEFAULT << 1) 
00065 #define PRS_SWPULSE_CH2PULSE                 (0x1UL << 2)                         
00066 #define _PRS_SWPULSE_CH2PULSE_SHIFT          2                                    
00067 #define _PRS_SWPULSE_CH2PULSE_MASK           0x4UL                                
00068 #define _PRS_SWPULSE_CH2PULSE_DEFAULT        0x00000000UL                         
00069 #define PRS_SWPULSE_CH2PULSE_DEFAULT         (_PRS_SWPULSE_CH2PULSE_DEFAULT << 2) 
00070 #define PRS_SWPULSE_CH3PULSE                 (0x1UL << 3)                         
00071 #define _PRS_SWPULSE_CH3PULSE_SHIFT          3                                    
00072 #define _PRS_SWPULSE_CH3PULSE_MASK           0x8UL                                
00073 #define _PRS_SWPULSE_CH3PULSE_DEFAULT        0x00000000UL                         
00074 #define PRS_SWPULSE_CH3PULSE_DEFAULT         (_PRS_SWPULSE_CH3PULSE_DEFAULT << 3) 
00076 /* Bit fields for PRS SWLEVEL */
00077 #define _PRS_SWLEVEL_RESETVALUE              0x00000000UL                         
00078 #define _PRS_SWLEVEL_MASK                    0x0000000FUL                         
00079 #define PRS_SWLEVEL_CH0LEVEL                 (0x1UL << 0)                         
00080 #define _PRS_SWLEVEL_CH0LEVEL_SHIFT          0                                    
00081 #define _PRS_SWLEVEL_CH0LEVEL_MASK           0x1UL                                
00082 #define _PRS_SWLEVEL_CH0LEVEL_DEFAULT        0x00000000UL                         
00083 #define PRS_SWLEVEL_CH0LEVEL_DEFAULT         (_PRS_SWLEVEL_CH0LEVEL_DEFAULT << 0) 
00084 #define PRS_SWLEVEL_CH1LEVEL                 (0x1UL << 1)                         
00085 #define _PRS_SWLEVEL_CH1LEVEL_SHIFT          1                                    
00086 #define _PRS_SWLEVEL_CH1LEVEL_MASK           0x2UL                                
00087 #define _PRS_SWLEVEL_CH1LEVEL_DEFAULT        0x00000000UL                         
00088 #define PRS_SWLEVEL_CH1LEVEL_DEFAULT         (_PRS_SWLEVEL_CH1LEVEL_DEFAULT << 1) 
00089 #define PRS_SWLEVEL_CH2LEVEL                 (0x1UL << 2)                         
00090 #define _PRS_SWLEVEL_CH2LEVEL_SHIFT          2                                    
00091 #define _PRS_SWLEVEL_CH2LEVEL_MASK           0x4UL                                
00092 #define _PRS_SWLEVEL_CH2LEVEL_DEFAULT        0x00000000UL                         
00093 #define PRS_SWLEVEL_CH2LEVEL_DEFAULT         (_PRS_SWLEVEL_CH2LEVEL_DEFAULT << 2) 
00094 #define PRS_SWLEVEL_CH3LEVEL                 (0x1UL << 3)                         
00095 #define _PRS_SWLEVEL_CH3LEVEL_SHIFT          3                                    
00096 #define _PRS_SWLEVEL_CH3LEVEL_MASK           0x8UL                                
00097 #define _PRS_SWLEVEL_CH3LEVEL_DEFAULT        0x00000000UL                         
00098 #define PRS_SWLEVEL_CH3LEVEL_DEFAULT         (_PRS_SWLEVEL_CH3LEVEL_DEFAULT << 3) 
00100 /* Bit fields for PRS ROUTE */
00101 #define _PRS_ROUTE_RESETVALUE                0x00000000UL                       
00102 #define _PRS_ROUTE_MASK                      0x0000070FUL                       
00103 #define PRS_ROUTE_CH0PEN                     (0x1UL << 0)                       
00104 #define _PRS_ROUTE_CH0PEN_SHIFT              0                                  
00105 #define _PRS_ROUTE_CH0PEN_MASK               0x1UL                              
00106 #define _PRS_ROUTE_CH0PEN_DEFAULT            0x00000000UL                       
00107 #define PRS_ROUTE_CH0PEN_DEFAULT             (_PRS_ROUTE_CH0PEN_DEFAULT << 0)   
00108 #define PRS_ROUTE_CH1PEN                     (0x1UL << 1)                       
00109 #define _PRS_ROUTE_CH1PEN_SHIFT              1                                  
00110 #define _PRS_ROUTE_CH1PEN_MASK               0x2UL                              
00111 #define _PRS_ROUTE_CH1PEN_DEFAULT            0x00000000UL                       
00112 #define PRS_ROUTE_CH1PEN_DEFAULT             (_PRS_ROUTE_CH1PEN_DEFAULT << 1)   
00113 #define PRS_ROUTE_CH2PEN                     (0x1UL << 2)                       
00114 #define _PRS_ROUTE_CH2PEN_SHIFT              2                                  
00115 #define _PRS_ROUTE_CH2PEN_MASK               0x4UL                              
00116 #define _PRS_ROUTE_CH2PEN_DEFAULT            0x00000000UL                       
00117 #define PRS_ROUTE_CH2PEN_DEFAULT             (_PRS_ROUTE_CH2PEN_DEFAULT << 2)   
00118 #define PRS_ROUTE_CH3PEN                     (0x1UL << 3)                       
00119 #define _PRS_ROUTE_CH3PEN_SHIFT              3                                  
00120 #define _PRS_ROUTE_CH3PEN_MASK               0x8UL                              
00121 #define _PRS_ROUTE_CH3PEN_DEFAULT            0x00000000UL                       
00122 #define PRS_ROUTE_CH3PEN_DEFAULT             (_PRS_ROUTE_CH3PEN_DEFAULT << 3)   
00123 #define _PRS_ROUTE_LOCATION_SHIFT            8                                  
00124 #define _PRS_ROUTE_LOCATION_MASK             0x700UL                            
00125 #define _PRS_ROUTE_LOCATION_LOC0             0x00000000UL                       
00126 #define _PRS_ROUTE_LOCATION_DEFAULT          0x00000000UL                       
00127 #define _PRS_ROUTE_LOCATION_LOC1             0x00000001UL                       
00128 #define _PRS_ROUTE_LOCATION_LOC2             0x00000002UL                       
00129 #define PRS_ROUTE_LOCATION_LOC0              (_PRS_ROUTE_LOCATION_LOC0 << 8)    
00130 #define PRS_ROUTE_LOCATION_DEFAULT           (_PRS_ROUTE_LOCATION_DEFAULT << 8) 
00131 #define PRS_ROUTE_LOCATION_LOC1              (_PRS_ROUTE_LOCATION_LOC1 << 8)    
00132 #define PRS_ROUTE_LOCATION_LOC2              (_PRS_ROUTE_LOCATION_LOC2 << 8)    
00134 /* Bit fields for PRS CH_CTRL */
00135 #define _PRS_CH_CTRL_RESETVALUE              0x00000000UL                             
00136 #define _PRS_CH_CTRL_MASK                    0x133F0007UL                             
00137 #define _PRS_CH_CTRL_SIGSEL_SHIFT            0                                        
00138 #define _PRS_CH_CTRL_SIGSEL_MASK             0x7UL                                    
00139 #define _PRS_CH_CTRL_SIGSEL_VCMPOUT          0x00000000UL                             
00140 #define _PRS_CH_CTRL_SIGSEL_ACMP0OUT         0x00000000UL                             
00141 #define _PRS_CH_CTRL_SIGSEL_ADC0SINGLE       0x00000000UL                             
00142 #define _PRS_CH_CTRL_SIGSEL_USART1IRTX       0x00000000UL                             
00143 #define _PRS_CH_CTRL_SIGSEL_TIMER0UF         0x00000000UL                             
00144 #define _PRS_CH_CTRL_SIGSEL_TIMER1UF         0x00000000UL                             
00145 #define _PRS_CH_CTRL_SIGSEL_RTCOF            0x00000000UL                             
00146 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN0         0x00000000UL                             
00147 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN8         0x00000000UL                             
00148 #define _PRS_CH_CTRL_SIGSEL_PCNT0TCC         0x00000000UL                             
00149 #define _PRS_CH_CTRL_SIGSEL_ADC0SCAN         0x00000001UL                             
00150 #define _PRS_CH_CTRL_SIGSEL_USART1TXC        0x00000001UL                             
00151 #define _PRS_CH_CTRL_SIGSEL_TIMER0OF         0x00000001UL                             
00152 #define _PRS_CH_CTRL_SIGSEL_TIMER1OF         0x00000001UL                             
00153 #define _PRS_CH_CTRL_SIGSEL_RTCCOMP0         0x00000001UL                             
00154 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN1         0x00000001UL                             
00155 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN9         0x00000001UL                             
00156 #define _PRS_CH_CTRL_SIGSEL_USART1RXDATAV    0x00000002UL                             
00157 #define _PRS_CH_CTRL_SIGSEL_TIMER0CC0        0x00000002UL                             
00158 #define _PRS_CH_CTRL_SIGSEL_TIMER1CC0        0x00000002UL                             
00159 #define _PRS_CH_CTRL_SIGSEL_RTCCOMP1         0x00000002UL                             
00160 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN2         0x00000002UL                             
00161 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN10        0x00000002UL                             
00162 #define _PRS_CH_CTRL_SIGSEL_TIMER0CC1        0x00000003UL                             
00163 #define _PRS_CH_CTRL_SIGSEL_TIMER1CC1        0x00000003UL                             
00164 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN3         0x00000003UL                             
00165 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN11        0x00000003UL                             
00166 #define _PRS_CH_CTRL_SIGSEL_TIMER0CC2        0x00000004UL                             
00167 #define _PRS_CH_CTRL_SIGSEL_TIMER1CC2        0x00000004UL                             
00168 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN4         0x00000004UL                             
00169 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN12        0x00000004UL                             
00170 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN5         0x00000005UL                             
00171 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN13        0x00000005UL                             
00172 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN6         0x00000006UL                             
00173 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN14        0x00000006UL                             
00174 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN7         0x00000007UL                             
00175 #define _PRS_CH_CTRL_SIGSEL_GPIOPIN15        0x00000007UL                             
00176 #define PRS_CH_CTRL_SIGSEL_VCMPOUT           (_PRS_CH_CTRL_SIGSEL_VCMPOUT << 0)       
00177 #define PRS_CH_CTRL_SIGSEL_ACMP0OUT          (_PRS_CH_CTRL_SIGSEL_ACMP0OUT << 0)      
00178 #define PRS_CH_CTRL_SIGSEL_ADC0SINGLE        (_PRS_CH_CTRL_SIGSEL_ADC0SINGLE << 0)    
00179 #define PRS_CH_CTRL_SIGSEL_USART1IRTX        (_PRS_CH_CTRL_SIGSEL_USART1IRTX << 0)    
00180 #define PRS_CH_CTRL_SIGSEL_TIMER0UF          (_PRS_CH_CTRL_SIGSEL_TIMER0UF << 0)      
00181 #define PRS_CH_CTRL_SIGSEL_TIMER1UF          (_PRS_CH_CTRL_SIGSEL_TIMER1UF << 0)      
00182 #define PRS_CH_CTRL_SIGSEL_RTCOF             (_PRS_CH_CTRL_SIGSEL_RTCOF << 0)         
00183 #define PRS_CH_CTRL_SIGSEL_GPIOPIN0          (_PRS_CH_CTRL_SIGSEL_GPIOPIN0 << 0)      
00184 #define PRS_CH_CTRL_SIGSEL_GPIOPIN8          (_PRS_CH_CTRL_SIGSEL_GPIOPIN8 << 0)      
00185 #define PRS_CH_CTRL_SIGSEL_PCNT0TCC          (_PRS_CH_CTRL_SIGSEL_PCNT0TCC << 0)      
00186 #define PRS_CH_CTRL_SIGSEL_ADC0SCAN          (_PRS_CH_CTRL_SIGSEL_ADC0SCAN << 0)      
00187 #define PRS_CH_CTRL_SIGSEL_USART1TXC         (_PRS_CH_CTRL_SIGSEL_USART1TXC << 0)     
00188 #define PRS_CH_CTRL_SIGSEL_TIMER0OF          (_PRS_CH_CTRL_SIGSEL_TIMER0OF << 0)      
00189 #define PRS_CH_CTRL_SIGSEL_TIMER1OF          (_PRS_CH_CTRL_SIGSEL_TIMER1OF << 0)      
00190 #define PRS_CH_CTRL_SIGSEL_RTCCOMP0          (_PRS_CH_CTRL_SIGSEL_RTCCOMP0 << 0)      
00191 #define PRS_CH_CTRL_SIGSEL_GPIOPIN1          (_PRS_CH_CTRL_SIGSEL_GPIOPIN1 << 0)      
00192 #define PRS_CH_CTRL_SIGSEL_GPIOPIN9          (_PRS_CH_CTRL_SIGSEL_GPIOPIN9 << 0)      
00193 #define PRS_CH_CTRL_SIGSEL_USART1RXDATAV     (_PRS_CH_CTRL_SIGSEL_USART1RXDATAV << 0) 
00194 #define PRS_CH_CTRL_SIGSEL_TIMER0CC0         (_PRS_CH_CTRL_SIGSEL_TIMER0CC0 << 0)     
00195 #define PRS_CH_CTRL_SIGSEL_TIMER1CC0         (_PRS_CH_CTRL_SIGSEL_TIMER1CC0 << 0)     
00196 #define PRS_CH_CTRL_SIGSEL_RTCCOMP1          (_PRS_CH_CTRL_SIGSEL_RTCCOMP1 << 0)      
00197 #define PRS_CH_CTRL_SIGSEL_GPIOPIN2          (_PRS_CH_CTRL_SIGSEL_GPIOPIN2 << 0)      
00198 #define PRS_CH_CTRL_SIGSEL_GPIOPIN10         (_PRS_CH_CTRL_SIGSEL_GPIOPIN10 << 0)     
00199 #define PRS_CH_CTRL_SIGSEL_TIMER0CC1         (_PRS_CH_CTRL_SIGSEL_TIMER0CC1 << 0)     
00200 #define PRS_CH_CTRL_SIGSEL_TIMER1CC1         (_PRS_CH_CTRL_SIGSEL_TIMER1CC1 << 0)     
00201 #define PRS_CH_CTRL_SIGSEL_GPIOPIN3          (_PRS_CH_CTRL_SIGSEL_GPIOPIN3 << 0)      
00202 #define PRS_CH_CTRL_SIGSEL_GPIOPIN11         (_PRS_CH_CTRL_SIGSEL_GPIOPIN11 << 0)     
00203 #define PRS_CH_CTRL_SIGSEL_TIMER0CC2         (_PRS_CH_CTRL_SIGSEL_TIMER0CC2 << 0)     
00204 #define PRS_CH_CTRL_SIGSEL_TIMER1CC2         (_PRS_CH_CTRL_SIGSEL_TIMER1CC2 << 0)     
00205 #define PRS_CH_CTRL_SIGSEL_GPIOPIN4          (_PRS_CH_CTRL_SIGSEL_GPIOPIN4 << 0)      
00206 #define PRS_CH_CTRL_SIGSEL_GPIOPIN12         (_PRS_CH_CTRL_SIGSEL_GPIOPIN12 << 0)     
00207 #define PRS_CH_CTRL_SIGSEL_GPIOPIN5          (_PRS_CH_CTRL_SIGSEL_GPIOPIN5 << 0)      
00208 #define PRS_CH_CTRL_SIGSEL_GPIOPIN13         (_PRS_CH_CTRL_SIGSEL_GPIOPIN13 << 0)     
00209 #define PRS_CH_CTRL_SIGSEL_GPIOPIN6          (_PRS_CH_CTRL_SIGSEL_GPIOPIN6 << 0)      
00210 #define PRS_CH_CTRL_SIGSEL_GPIOPIN14         (_PRS_CH_CTRL_SIGSEL_GPIOPIN14 << 0)     
00211 #define PRS_CH_CTRL_SIGSEL_GPIOPIN7          (_PRS_CH_CTRL_SIGSEL_GPIOPIN7 << 0)      
00212 #define PRS_CH_CTRL_SIGSEL_GPIOPIN15         (_PRS_CH_CTRL_SIGSEL_GPIOPIN15 << 0)     
00213 #define _PRS_CH_CTRL_SOURCESEL_SHIFT         16                                       
00214 #define _PRS_CH_CTRL_SOURCESEL_MASK          0x3F0000UL                               
00215 #define _PRS_CH_CTRL_SOURCESEL_NONE          0x00000000UL                             
00216 #define _PRS_CH_CTRL_SOURCESEL_VCMP          0x00000001UL                             
00217 #define _PRS_CH_CTRL_SOURCESEL_ACMP0         0x00000002UL                             
00218 #define _PRS_CH_CTRL_SOURCESEL_ADC0          0x00000008UL                             
00219 #define _PRS_CH_CTRL_SOURCESEL_USART1        0x00000011UL                             
00220 #define _PRS_CH_CTRL_SOURCESEL_TIMER0        0x0000001CUL                             
00221 #define _PRS_CH_CTRL_SOURCESEL_TIMER1        0x0000001DUL                             
00222 #define _PRS_CH_CTRL_SOURCESEL_RTC           0x00000028UL                             
00223 #define _PRS_CH_CTRL_SOURCESEL_GPIOL         0x00000030UL                             
00224 #define _PRS_CH_CTRL_SOURCESEL_GPIOH         0x00000031UL                             
00225 #define _PRS_CH_CTRL_SOURCESEL_PCNT0         0x00000036UL                             
00226 #define PRS_CH_CTRL_SOURCESEL_NONE           (_PRS_CH_CTRL_SOURCESEL_NONE << 16)      
00227 #define PRS_CH_CTRL_SOURCESEL_VCMP           (_PRS_CH_CTRL_SOURCESEL_VCMP << 16)      
00228 #define PRS_CH_CTRL_SOURCESEL_ACMP0          (_PRS_CH_CTRL_SOURCESEL_ACMP0 << 16)     
00229 #define PRS_CH_CTRL_SOURCESEL_ADC0           (_PRS_CH_CTRL_SOURCESEL_ADC0 << 16)      
00230 #define PRS_CH_CTRL_SOURCESEL_USART1         (_PRS_CH_CTRL_SOURCESEL_USART1 << 16)    
00231 #define PRS_CH_CTRL_SOURCESEL_TIMER0         (_PRS_CH_CTRL_SOURCESEL_TIMER0 << 16)    
00232 #define PRS_CH_CTRL_SOURCESEL_TIMER1         (_PRS_CH_CTRL_SOURCESEL_TIMER1 << 16)    
00233 #define PRS_CH_CTRL_SOURCESEL_RTC            (_PRS_CH_CTRL_SOURCESEL_RTC << 16)       
00234 #define PRS_CH_CTRL_SOURCESEL_GPIOL          (_PRS_CH_CTRL_SOURCESEL_GPIOL << 16)     
00235 #define PRS_CH_CTRL_SOURCESEL_GPIOH          (_PRS_CH_CTRL_SOURCESEL_GPIOH << 16)     
00236 #define PRS_CH_CTRL_SOURCESEL_PCNT0          (_PRS_CH_CTRL_SOURCESEL_PCNT0 << 16)     
00237 #define _PRS_CH_CTRL_EDSEL_SHIFT             24                                       
00238 #define _PRS_CH_CTRL_EDSEL_MASK              0x3000000UL                              
00239 #define _PRS_CH_CTRL_EDSEL_DEFAULT           0x00000000UL                             
00240 #define _PRS_CH_CTRL_EDSEL_OFF               0x00000000UL                             
00241 #define _PRS_CH_CTRL_EDSEL_POSEDGE           0x00000001UL                             
00242 #define _PRS_CH_CTRL_EDSEL_NEGEDGE           0x00000002UL                             
00243 #define _PRS_CH_CTRL_EDSEL_BOTHEDGES         0x00000003UL                             
00244 #define PRS_CH_CTRL_EDSEL_DEFAULT            (_PRS_CH_CTRL_EDSEL_DEFAULT << 24)       
00245 #define PRS_CH_CTRL_EDSEL_OFF                (_PRS_CH_CTRL_EDSEL_OFF << 24)           
00246 #define PRS_CH_CTRL_EDSEL_POSEDGE            (_PRS_CH_CTRL_EDSEL_POSEDGE << 24)       
00247 #define PRS_CH_CTRL_EDSEL_NEGEDGE            (_PRS_CH_CTRL_EDSEL_NEGEDGE << 24)       
00248 #define PRS_CH_CTRL_EDSEL_BOTHEDGES          (_PRS_CH_CTRL_EDSEL_BOTHEDGES << 24)     
00249 #define PRS_CH_CTRL_ASYNC                    (0x1UL << 28)                            
00250 #define _PRS_CH_CTRL_ASYNC_SHIFT             28                                       
00251 #define _PRS_CH_CTRL_ASYNC_MASK              0x10000000UL                             
00252 #define _PRS_CH_CTRL_ASYNC_DEFAULT           0x00000000UL                             
00253 #define PRS_CH_CTRL_ASYNC_DEFAULT            (_PRS_CH_CTRL_ASYNC_DEFAULT << 28)