1 /*
2  * The authors hereby grant permission to use, copy, modify, distribute,
3  * and license this software and its documentation for any purpose, provided
4  * that existing copyright notices are retained in all copies and that this
5  * notice is included verbatim in any distributions. No written agreement,
6  * license, or royalty fee is required for any of the authorized uses.
7  * Modifications to this software may be copyrighted by their authors
8  * and need not follow the licensing terms described here, provided that
9  * the new terms are clearly indicated on the first page of each file where
10  * they apply.
11  */
12 
13 /*
14 ** defBF50x_base.h
15 **
16 ** This include file contains a list of macro "defines" to enable the programmer
17 ** to use symbolic names for the system MMRs common to the ADSP-BF50x parts
18 ** peripherals.
19 **
20 ** Copyright (C) 2009 Analog Devices Inc., All Rights Reserved.
21 */
22 
23 #ifndef _DEF_BF50X_H
24 #define _DEF_BF50X_H
25 
26 #ifdef _MISRA_RULES
27 #pragma diag(push)
28 #pragma diag(suppress:misra_rule_19_7:"ADI header allows function macros.")
29 #endif /* _MISRA_RULES */
30 
31 
32 /* ************************************************************************************************************** */
33 /*                           SYSTEM & MMR ADDRESS DEFINITIONS COMMON TO ALL ADSP-BF50x                            */
34 /* ************************************************************************************************************** */
35 
36 /* Clock and System Control     (0xFFC00000 - 0xFFC000FF)                                   */
37 #define PLL_CTL                 0xFFC00000  /* PLL Control Register                         */
38 #define PLL_DIV                 0xFFC00004  /* PLL Divide Register                          */
39 #define VR_CTL                  0xFFC00008  /* Voltage Regulator Control Register           */
40 #define PLL_STAT                0xFFC0000C  /* PLL Status Register                          */
41 #define PLL_LOCKCNT             0xFFC00010  /* PLL Lock Count Register                      */
42 #define CHIPID                  0xFFC00014  /* Device ID Register */
43 
44 
45 /* System Interrupt Controller  (0xFFC00100 - 0xFFC001FF)                                   */
46 #define SWRST                   0xFFC00100  /* Software Reset Register                      */
47 #define SYSCR                   0xFFC00104  /* System Configuration Register                */
48 
49 #define SIC_IMASK0              0xFFC0010C  /* Interrupt Mask Register                      */
50 /* legacy register name (below) provided for backwards code compatibility */
51 #define SIC_IMASK               (SIC_IMASK0)
52 #define SIC_IAR0                0xFFC00110  /* Interrupt Assignment Register 0              */
53 #define SIC_IAR1                0xFFC00114  /* Interrupt Assignment Register 1              */
54 #define SIC_IAR2                0xFFC00118  /* Interrupt Assignment Register 2              */
55 #define SIC_IAR3                0xFFC0011C  /* Interrupt Assignment Register 3              */
56 #define SIC_ISR0                0xFFC00120  /* Interrupt Status Register                    */
57 /* legacy register name (below) provided for backwards code compatibility */
58 #define SIC_ISR                 (SIC_ISR0)
59 #define SIC_IWR0                0xFFC00124  /* Interrupt Wakeup Register                    */
60 /* legacy register name (below) provided for backwards code compatibility */
61 #define SIC_IWR                 (SIC_IWR0)
62 
63 /* SIC Additions to ADSP-BF50x  (0xFFC0014C - 0xFFC00162)                                   */
64 #define SIC_IMASK1              0xFFC0014C  /* Interrupt Mask register of SIC2              */
65 #define SIC_IAR4                0xFFC00150  /* Interrupt Assignment register4               */
66 #define SIC_IAR5                0xFFC00154  /* Interrupt Assignment register5               */
67 #define SIC_IAR6                0xFFC00158  /* Interrupt Assignment register6               */
68 #define SIC_ISR1                0xFFC00160  /* Interrupt Statur register                    */
69 #define SIC_IWR1                0xFFC00164  /* Interrupt Wakeup register                    */
70 
71 
72 /* Watchdog Timer               (0xFFC00200 - 0xFFC002FF)                                   */
73 #define WDOG_CTL                0xFFC00200  /* Watchdog Control Register                    */
74 #define WDOG_CNT                0xFFC00204  /* Watchdog Count Register                      */
75 #define WDOG_STAT               0xFFC00208  /* Watchdog Status Register                     */
76 
77 
78 /* UART0 Controller             (0xFFC00400 - 0xFFC004FF)                                   */
79 #define UART0_DLL               0xffc00400   /* Divisor Latch Low Byte                      */
80 #define UART0_DLH               0xffc00404   /* Divisor Latch High Byte                     */
81 #define UART0_GCTL              0xffc00408   /* Global Control Register                     */
82 #define UART0_LCR               0xffc0040c   /* Line Control Register                       */
83 #define UART0_MCR               0xffc00410   /* Modem Control Register                      */
84 #define UART0_LSR               0xffc00414   /* Line Status Register                        */
85 #define UART0_MSR               0xffc00418   /* Modem Status Register                       */
86 #define UART0_SCR               0xffc0041c   /* Scratch Register                            */
87 #define UART0_IER_SET           0xffc00420   /* Interrupt Enable Register Set               */
88 #define UART0_IER_CLEAR         0xffc00424   /* Interrupt Enable Register Clear             */
89 #define UART0_THR               0xffc00428   /* Transmit Hold Register                      */
90 #define UART0_RBR               0xffc0042c   /* Receive Buffer Register                     */
91 
92 /* SPI0 Controller              (0xFFC00500 - 0xFFC005FF)                                   */
93 #define SPI0_CTL                0xFFC00500  /* SPI Control Register                         */
94 /* legacy register name (below) provided for backwards code compatibility */
95 #define SPI_CTL                 (SPI0_CTL)
96 #define SPI0_FLG                0xFFC00504  /* SPI Flag register                            */
97 /* legacy register name (below) provided for backwards code compatibility */
98 #define SPI_FLG                 (SPI0_FLG)
99 #define SPI0_STAT               0xFFC00508  /* SPI Status register                          */
100 /* legacy register name (below) provided for backwards code compatibility */
101 #define SPI_STAT                (SPI0_STAT)
102 #define SPI0_TDBR               0xFFC0050C  /* SPI Transmit Data Buffer Register            */
103 /* legacy register name (below) provided for backwards code compatibility */
104 #define SPI_TDBR                (SPI0_TDBR)
105 #define SPI0_RDBR               0xFFC00510  /* SPI Receive Data Buffer Register             */
106 /* legacy register name (below) provided for backwards code compatibility */
107 #define SPI_RDBR                (SPI0_RDBR)
108 #define SPI0_BAUD               0xFFC00514  /* SPI Baud rate Register                       */
109 /* legacy register name (below) provided for backwards code compatibility */
110 #define SPI_BAUD                (SPI0_BAUD)
111 #define SPI0_SHADOW             0xFFC00518  /* SPI_RDBR Shadow Register                     */
112 /* legacy register name (below) provided for backwards code compatibility */
113 #define SPI_SHADOW              (SPI0_SHADOW)
114 
115 
116 /* TIMER0-7 Registers           (0xFFC00600 - 0xFFC006FF)                                   */
117 #define TIMER0_CONFIG           0xFFC00600  /* Timer 0 Configuration Register               */
118 #define TIMER0_COUNTER          0xFFC00604  /* Timer 0 Counter Register                     */
119 #define TIMER0_PERIOD           0xFFC00608  /* Timer 0 Period Register                      */
120 #define TIMER0_WIDTH            0xFFC0060C  /* Timer 0 Width Register                       */
121 
122 #define TIMER1_CONFIG           0xFFC00610  /* Timer 1 Configuration Register               */
123 #define TIMER1_COUNTER          0xFFC00614  /* Timer 1 Counter Register                     */
124 #define TIMER1_PERIOD           0xFFC00618  /* Timer 1 Period Register                      */
125 #define TIMER1_WIDTH            0xFFC0061C  /* Timer 1 Width Register                       */
126 
127 #define TIMER2_CONFIG           0xFFC00620  /* Timer 2 Configuration Register               */
128 #define TIMER2_COUNTER          0xFFC00624  /* Timer 2 Counter Register                     */
129 #define TIMER2_PERIOD           0xFFC00628  /* Timer 2 Period Register                      */
130 #define TIMER2_WIDTH            0xFFC0062C  /* Timer 2 Width Register                       */
131 
132 #define TIMER3_CONFIG           0xFFC00630  /* Timer 3 Configuration Register               */
133 #define TIMER3_COUNTER          0xFFC00634  /* Timer 3 Counter Register                     */
134 #define TIMER3_PERIOD           0xFFC00638  /* Timer 3 Period Register                      */
135 #define TIMER3_WIDTH            0xFFC0063C  /* Timer 3 Width Register                       */
136 
137 #define TIMER4_CONFIG           0xFFC00640  /* Timer 4 Configuration Register               */
138 #define TIMER4_COUNTER          0xFFC00644  /* Timer 4 Counter Register                     */
139 #define TIMER4_PERIOD           0xFFC00648  /* Timer 4 Period Register                      */
140 #define TIMER4_WIDTH            0xFFC0064C  /* Timer 4 Width Register                       */
141 
142 #define TIMER5_CONFIG           0xFFC00650  /* Timer 5 Configuration Register               */
143 #define TIMER5_COUNTER          0xFFC00654  /* Timer 5 Counter Register                     */
144 #define TIMER5_PERIOD           0xFFC00658  /* Timer 5 Period Register                      */
145 #define TIMER5_WIDTH            0xFFC0065C  /* Timer 5 Width Register                       */
146 
147 #define TIMER6_CONFIG           0xFFC00660  /* Timer 6 Configuration Register               */
148 #define TIMER6_COUNTER          0xFFC00664  /* Timer 6 Counter Register                     */
149 #define TIMER6_PERIOD           0xFFC00668  /* Timer 6 Period Register                      */
150 #define TIMER6_WIDTH            0xFFC0066C  /* Timer 6 Width Register                       */
151 
152 #define TIMER7_CONFIG           0xFFC00670  /* Timer 7 Configuration Register               */
153 #define TIMER7_COUNTER          0xFFC00674  /* Timer 7 Counter Register                     */
154 #define TIMER7_PERIOD           0xFFC00678  /* Timer 7 Period Register                      */
155 #define TIMER7_WIDTH            0xFFC0067C  /* Timer 7 Width Register                       */
156 
157 #define TIMER_ENABLE            0xFFC00680  /* Timer Enable Register                        */
158 #define TIMER_DISABLE           0xFFC00684  /* Timer Disable Register                       */
159 #define TIMER_STATUS            0xFFC00688  /* Timer Status Register                        */
160 
161 
162 /* General Purpose I/O Port F   (0xFFC00700 - 0xFFC007FF)                                   */
163 #define PORTFIO                 0xFFC00700  /* Port F I/O Pin State Specify Register        */
164 #define PORTFIO_CLEAR           0xFFC00704  /* Port F I/O Peripheral Interrupt Clear Register   */
165 #define PORTFIO_SET             0xFFC00708  /* Port F I/O Peripheral Interrupt Set Register */
166 #define PORTFIO_TOGGLE          0xFFC0070C  /* Port F I/O Pin State Toggle Register         */
167 #define PORTFIO_MASKA           0xFFC00710  /* Port F I/O Mask State Specify Interrupt A Register   */
168 #define PORTFIO_MASKA_CLEAR     0xFFC00714  /* Port F I/O Mask Disable Interrupt A Register */
169 #define PORTFIO_MASKA_SET       0xFFC00718  /* Port F I/O Mask Enable Interrupt A Register  */
170 #define PORTFIO_MASKA_TOGGLE    0xFFC0071C  /* Port F I/O Mask Toggle Enable Interrupt A Register   */
171 #define PORTFIO_MASKB           0xFFC00720  /* Port F I/O Mask State Specify Interrupt B Register   */
172 #define PORTFIO_MASKB_CLEAR     0xFFC00724  /* Port F I/O Mask Disable Interrupt B Register */
173 #define PORTFIO_MASKB_SET       0xFFC00728  /* Port F I/O Mask Enable Interrupt B Register  */
174 #define PORTFIO_MASKB_TOGGLE    0xFFC0072C  /* Port F I/O Mask Toggle Enable Interrupt B Register   */
175 #define PORTFIO_DIR             0xFFC00730  /* Port F I/O Direction Register                */
176 #define PORTFIO_POLAR           0xFFC00734  /* Port F I/O Source Polarity Register          */
177 #define PORTFIO_EDGE            0xFFC00738  /* Port F I/O Source Sensitivity Register       */
178 #define PORTFIO_BOTH            0xFFC0073C  /* Port F I/O Set on BOTH Edges Register        */
179 #define PORTFIO_INEN            0xFFC00740  /* Port F I/O Input Enable Register             */
180 
181 
182 /* SPORT0 Controller            (0xFFC00800 - 0xFFC008FF)                                   */
183 #define SPORT0_TCR1             0xFFC00800  /* SPORT0 Transmit Configuration 1 Register     */
184 #define SPORT0_TCR2             0xFFC00804  /* SPORT0 Transmit Configuration 2 Register     */
185 #define SPORT0_TCLKDIV          0xFFC00808  /* SPORT0 Transmit Clock Divider                */
186 #define SPORT0_TFSDIV           0xFFC0080C  /* SPORT0 Transmit Frame Sync Divider           */
187 #define SPORT0_TX               0xFFC00810  /* SPORT0 TX Data Register                      */
188 #define SPORT0_RX               0xFFC00818  /* SPORT0 RX Data Register                      */
189 #define SPORT0_RCR1             0xFFC00820  /* SPORT0 Transmit Configuration 1 Register     */
190 #define SPORT0_RCR2             0xFFC00824  /* SPORT0 Transmit Configuration 2 Register     */
191 #define SPORT0_RCLKDIV          0xFFC00828  /* SPORT0 Receive Clock Divider                 */
192 #define SPORT0_RFSDIV           0xFFC0082C  /* SPORT0 Receive Frame Sync Divider            */
193 #define SPORT0_STAT             0xFFC00830  /* SPORT0 Status Register                       */
194 #define SPORT0_CHNL             0xFFC00834  /* SPORT0 Current Channel Register              */
195 #define SPORT0_MCMC1            0xFFC00838  /* SPORT0 Multi-Channel Configuration Register 1    */
196 #define SPORT0_MCMC2            0xFFC0083C  /* SPORT0 Multi-Channel Configuration Register 2    */
197 #define SPORT0_MTCS0            0xFFC00840  /* SPORT0 Multi-Channel Transmit Select Register 0  */
198 #define SPORT0_MTCS1            0xFFC00844  /* SPORT0 Multi-Channel Transmit Select Register 1  */
199 #define SPORT0_MTCS2            0xFFC00848  /* SPORT0 Multi-Channel Transmit Select Register 2  */
200 #define SPORT0_MTCS3            0xFFC0084C  /* SPORT0 Multi-Channel Transmit Select Register 3  */
201 #define SPORT0_MRCS0            0xFFC00850  /* SPORT0 Multi-Channel Receive Select Register 0   */
202 #define SPORT0_MRCS1            0xFFC00854  /* SPORT0 Multi-Channel Receive Select Register 1   */
203 #define SPORT0_MRCS2            0xFFC00858  /* SPORT0 Multi-Channel Receive Select Register 2   */
204 #define SPORT0_MRCS3            0xFFC0085C  /* SPORT0 Multi-Channel Receive Select Register 3   */
205 
206 
207 /* SPORT1 Controller            (0xFFC00900 - 0xFFC009FF)                                   */
208 #define SPORT1_TCR1             0xFFC00900  /* SPORT1 Transmit Configuration 1 Register     */
209 #define SPORT1_TCR2             0xFFC00904  /* SPORT1 Transmit Configuration 2 Register     */
210 #define SPORT1_TCLKDIV          0xFFC00908  /* SPORT1 Transmit Clock Divider                */
211 #define SPORT1_TFSDIV           0xFFC0090C  /* SPORT1 Transmit Frame Sync Divider           */
212 #define SPORT1_TX               0xFFC00910  /* SPORT1 TX Data Register                      */
213 #define SPORT1_RX               0xFFC00918  /* SPORT1 RX Data Register                      */
214 #define SPORT1_RCR1             0xFFC00920  /* SPORT1 Transmit Configuration 1 Register     */
215 #define SPORT1_RCR2             0xFFC00924  /* SPORT1 Transmit Configuration 2 Register     */
216 #define SPORT1_RCLKDIV          0xFFC00928  /* SPORT1 Receive Clock Divider                 */
217 #define SPORT1_RFSDIV           0xFFC0092C  /* SPORT1 Receive Frame Sync Divider            */
218 #define SPORT1_STAT             0xFFC00930  /* SPORT1 Status Register                       */
219 #define SPORT1_CHNL             0xFFC00934  /* SPORT1 Current Channel Register              */
220 #define SPORT1_MCMC1            0xFFC00938  /* SPORT1 Multi-Channel Configuration Register 1    */
221 #define SPORT1_MCMC2            0xFFC0093C  /* SPORT1 Multi-Channel Configuration Register 2    */
222 #define SPORT1_MTCS0            0xFFC00940  /* SPORT1 Multi-Channel Transmit Select Register 0  */
223 #define SPORT1_MTCS1            0xFFC00944  /* SPORT1 Multi-Channel Transmit Select Register 1  */
224 #define SPORT1_MTCS2            0xFFC00948  /* SPORT1 Multi-Channel Transmit Select Register 2  */
225 #define SPORT1_MTCS3            0xFFC0094C  /* SPORT1 Multi-Channel Transmit Select Register 3  */
226 #define SPORT1_MRCS0            0xFFC00950  /* SPORT1 Multi-Channel Receive Select Register 0   */
227 #define SPORT1_MRCS1            0xFFC00954  /* SPORT1 Multi-Channel Receive Select Register 1   */
228 #define SPORT1_MRCS2            0xFFC00958  /* SPORT1 Multi-Channel Receive Select Register 2   */
229 #define SPORT1_MRCS3            0xFFC0095C  /* SPORT1 Multi-Channel Receive Select Register 3   */
230 
231 
232 /* External Bus Interface Unit  (0xFFC00A00 - 0xFFC00AFF)                                   */
233 #define EBIU_AMGCTL             0xFFC00A00  /* Asynchronous Memory Global Control Register  */
234 #define EBIU_AMBCTL             0xFFC00A04  /* Asynchronous Memory Bank Control Register    */
235 #define EBIU_MODE               0xFFC00A20  /* Asynchronous Memory Mode Control Register    */
236 #define EBIU_FCTL               0xFFC00A24  /* Asynchronous Memory Parameter Control Register */
237 
238 #define EBIU_AMBCTL0            (EBIU_AMBCTL)/* Asynchronous Memory Bank Control Register    */
239 
240 /* DMA Traffic Control Registers    (0xFFC00B00 - 0xFFC00BFF)                               */
241 #define DMA_TC_PER              0xFFC00B0C  /* Traffic Control Periods Register             */
242 #define DMA_TC_CNT              0xFFC00B10  /* Traffic Control Current Counts Register      */
243 
244 /* Alternate deprecated register names (below) provided for backwards code compatibility    */
245 #define DMA_TCPER               0xFFC00B0C  /* Traffic Control Periods Register             */
246 #define DMA_TCCNT               0xFFC00B10  /* Traffic Control Current Counts Register      */
247 
248 /* DMA Controller               (0xFFC00C00 - 0xFFC00FFF)                                   */
249 #define DMA0_NEXT_DESC_PTR      0xFFC00C00  /* DMA Channel 0 Next Descriptor Pointer Register   */
250 #define DMA0_START_ADDR         0xFFC00C04  /* DMA Channel 0 Start Address Register         */
251 #define DMA0_CONFIG             0xFFC00C08  /* DMA Channel 0 Configuration Register         */
252 #define DMA0_X_COUNT            0xFFC00C10  /* DMA Channel 0 X Count Register               */
253 #define DMA0_X_MODIFY           0xFFC00C14  /* DMA Channel 0 X Modify Register              */
254 #define DMA0_Y_COUNT            0xFFC00C18  /* DMA Channel 0 Y Count Register               */
255 #define DMA0_Y_MODIFY           0xFFC00C1C  /* DMA Channel 0 Y Modify Register              */
256 #define DMA0_CURR_DESC_PTR      0xFFC00C20  /* DMA Channel 0 Current Descriptor Pointer Register    */
257 #define DMA0_CURR_ADDR          0xFFC00C24  /* DMA Channel 0 Current Address Register       */
258 #define DMA0_IRQ_STATUS         0xFFC00C28  /* DMA Channel 0 Interrupt/Status Register      */
259 #define DMA0_PERIPHERAL_MAP     0xFFC00C2C  /* DMA Channel 0 Peripheral Map Register        */
260 #define DMA0_CURR_X_COUNT       0xFFC00C30  /* DMA Channel 0 Current X Count Register       */
261 #define DMA0_CURR_Y_COUNT       0xFFC00C38  /* DMA Channel 0 Current Y Count Register       */
262 
263 #define DMA1_NEXT_DESC_PTR      0xFFC00C40  /* DMA Channel 1 Next Descriptor Pointer Register   */
264 #define DMA1_START_ADDR         0xFFC00C44  /* DMA Channel 1 Start Address Register         */
265 #define DMA1_CONFIG             0xFFC00C48  /* DMA Channel 1 Configuration Register         */
266 #define DMA1_X_COUNT            0xFFC00C50  /* DMA Channel 1 X Count Register               */
267 #define DMA1_X_MODIFY           0xFFC00C54  /* DMA Channel 1 X Modify Register              */
268 #define DMA1_Y_COUNT            0xFFC00C58  /* DMA Channel 1 Y Count Register               */
269 #define DMA1_Y_MODIFY           0xFFC00C5C  /* DMA Channel 1 Y Modify Register              */
270 #define DMA1_CURR_DESC_PTR      0xFFC00C60  /* DMA Channel 1 Current Descriptor Pointer Register    */
271 #define DMA1_CURR_ADDR          0xFFC00C64  /* DMA Channel 1 Current Address Register       */
272 #define DMA1_IRQ_STATUS         0xFFC00C68  /* DMA Channel 1 Interrupt/Status Register      */
273 #define DMA1_PERIPHERAL_MAP     0xFFC00C6C  /* DMA Channel 1 Peripheral Map Register        */
274 #define DMA1_CURR_X_COUNT       0xFFC00C70  /* DMA Channel 1 Current X Count Register       */
275 #define DMA1_CURR_Y_COUNT       0xFFC00C78  /* DMA Channel 1 Current Y Count Register       */
276 
277 #define DMA2_NEXT_DESC_PTR      0xFFC00C80  /* DMA Channel 2 Next Descriptor Pointer Register   */
278 #define DMA2_START_ADDR         0xFFC00C84  /* DMA Channel 2 Start Address Register         */
279 #define DMA2_CONFIG             0xFFC00C88  /* DMA Channel 2 Configuration Register         */
280 #define DMA2_X_COUNT            0xFFC00C90  /* DMA Channel 2 X Count Register               */
281 #define DMA2_X_MODIFY           0xFFC00C94  /* DMA Channel 2 X Modify Register              */
282 #define DMA2_Y_COUNT            0xFFC00C98  /* DMA Channel 2 Y Count Register               */
283 #define DMA2_Y_MODIFY           0xFFC00C9C  /* DMA Channel 2 Y Modify Register              */
284 #define DMA2_CURR_DESC_PTR      0xFFC00CA0  /* DMA Channel 2 Current Descriptor Pointer Register    */
285 #define DMA2_CURR_ADDR          0xFFC00CA4  /* DMA Channel 2 Current Address Register       */
286 #define DMA2_IRQ_STATUS         0xFFC00CA8  /* DMA Channel 2 Interrupt/Status Register      */
287 #define DMA2_PERIPHERAL_MAP     0xFFC00CAC  /* DMA Channel 2 Peripheral Map Register        */
288 #define DMA2_CURR_X_COUNT       0xFFC00CB0  /* DMA Channel 2 Current X Count Register       */
289 #define DMA2_CURR_Y_COUNT       0xFFC00CB8  /* DMA Channel 2 Current Y Count Register       */
290 
291 #define DMA3_NEXT_DESC_PTR      0xFFC00CC0  /* DMA Channel 3 Next Descriptor Pointer Register   */
292 #define DMA3_START_ADDR         0xFFC00CC4  /* DMA Channel 3 Start Address Register         */
293 #define DMA3_CONFIG             0xFFC00CC8  /* DMA Channel 3 Configuration Register         */
294 #define DMA3_X_COUNT            0xFFC00CD0  /* DMA Channel 3 X Count Register               */
295 #define DMA3_X_MODIFY           0xFFC00CD4  /* DMA Channel 3 X Modify Register              */
296 #define DMA3_Y_COUNT            0xFFC00CD8  /* DMA Channel 3 Y Count Register               */
297 #define DMA3_Y_MODIFY           0xFFC00CDC  /* DMA Channel 3 Y Modify Register              */
298 #define DMA3_CURR_DESC_PTR      0xFFC00CE0  /* DMA Channel 3 Current Descriptor Pointer Register            */
299 #define DMA3_CURR_ADDR          0xFFC00CE4  /* DMA Channel 3 Current Address Register       */
300 #define DMA3_IRQ_STATUS         0xFFC00CE8  /* DMA Channel 3 Interrupt/Status Register      */
301 #define DMA3_PERIPHERAL_MAP     0xFFC00CEC  /* DMA Channel 3 Peripheral Map Register        */
302 #define DMA3_CURR_X_COUNT       0xFFC00CF0  /* DMA Channel 3 Current X Count Register       */
303 #define DMA3_CURR_Y_COUNT       0xFFC00CF8  /* DMA Channel 3 Current Y Count Register       */
304 
305 #define DMA4_NEXT_DESC_PTR      0xFFC00D00  /* DMA Channel 4 Next Descriptor Pointer Register   */
306 #define DMA4_START_ADDR         0xFFC00D04  /* DMA Channel 4 Start Address Register         */
307 #define DMA4_CONFIG             0xFFC00D08  /* DMA Channel 4 Configuration Register         */
308 #define DMA4_X_COUNT            0xFFC00D10  /* DMA Channel 4 X Count Register               */
309 #define DMA4_X_MODIFY           0xFFC00D14  /* DMA Channel 4 X Modify Register              */
310 #define DMA4_Y_COUNT            0xFFC00D18  /* DMA Channel 4 Y Count Register               */
311 #define DMA4_Y_MODIFY           0xFFC00D1C  /* DMA Channel 4 Y Modify Register              */
312 #define DMA4_CURR_DESC_PTR      0xFFC00D20  /* DMA Channel 4 Current Descriptor Pointer Register    */
313 #define DMA4_CURR_ADDR          0xFFC00D24  /* DMA Channel 4 Current Address Register       */
314 #define DMA4_IRQ_STATUS         0xFFC00D28  /* DMA Channel 4 Interrupt/Status Register      */
315 #define DMA4_PERIPHERAL_MAP     0xFFC00D2C  /* DMA Channel 4 Peripheral Map Register        */
316 #define DMA4_CURR_X_COUNT       0xFFC00D30  /* DMA Channel 4 Current X Count Register       */
317 #define DMA4_CURR_Y_COUNT       0xFFC00D38  /* DMA Channel 4 Current Y Count Register       */
318 
319 #define DMA5_NEXT_DESC_PTR      0xFFC00D40  /* DMA Channel 5 Next Descriptor Pointer Register   */
320 #define DMA5_START_ADDR         0xFFC00D44  /* DMA Channel 5 Start Address Register         */
321 #define DMA5_CONFIG             0xFFC00D48  /* DMA Channel 5 Configuration Register         */
322 #define DMA5_X_COUNT            0xFFC00D50  /* DMA Channel 5 X Count Register               */
323 #define DMA5_X_MODIFY           0xFFC00D54  /* DMA Channel 5 X Modify Register              */
324 #define DMA5_Y_COUNT            0xFFC00D58  /* DMA Channel 5 Y Count Register               */
325 #define DMA5_Y_MODIFY           0xFFC00D5C  /* DMA Channel 5 Y Modify Register              */
326 #define DMA5_CURR_DESC_PTR      0xFFC00D60  /* DMA Channel 5 Current Descriptor Pointer Register    */
327 #define DMA5_CURR_ADDR          0xFFC00D64  /* DMA Channel 5 Current Address Register       */
328 #define DMA5_IRQ_STATUS         0xFFC00D68  /* DMA Channel 5 Interrupt/Status Register      */
329 #define DMA5_PERIPHERAL_MAP     0xFFC00D6C  /* DMA Channel 5 Peripheral Map Register        */
330 #define DMA5_CURR_X_COUNT       0xFFC00D70  /* DMA Channel 5 Current X Count Register       */
331 #define DMA5_CURR_Y_COUNT       0xFFC00D78  /* DMA Channel 5 Current Y Count Register       */
332 
333 #define DMA6_NEXT_DESC_PTR      0xFFC00D80  /* DMA Channel 6 Next Descriptor Pointer Register   */
334 #define DMA6_START_ADDR         0xFFC00D84  /* DMA Channel 6 Start Address Register         */
335 #define DMA6_CONFIG             0xFFC00D88  /* DMA Channel 6 Configuration Register         */
336 #define DMA6_X_COUNT            0xFFC00D90  /* DMA Channel 6 X Count Register               */
337 #define DMA6_X_MODIFY           0xFFC00D94  /* DMA Channel 6 X Modify Register              */
338 #define DMA6_Y_COUNT            0xFFC00D98  /* DMA Channel 6 Y Count Register               */
339 #define DMA6_Y_MODIFY           0xFFC00D9C  /* DMA Channel 6 Y Modify Register              */
340 #define DMA6_CURR_DESC_PTR      0xFFC00DA0  /* DMA Channel 6 Current Descriptor Pointer Register    */
341 #define DMA6_CURR_ADDR          0xFFC00DA4  /* DMA Channel 6 Current Address Register       */
342 #define DMA6_IRQ_STATUS         0xFFC00DA8  /* DMA Channel 6 Interrupt/Status Register      */
343 #define DMA6_PERIPHERAL_MAP     0xFFC00DAC  /* DMA Channel 6 Peripheral Map Register        */
344 #define DMA6_CURR_X_COUNT       0xFFC00DB0  /* DMA Channel 6 Current X Count Register       */
345 #define DMA6_CURR_Y_COUNT       0xFFC00DB8  /* DMA Channel 6 Current Y Count Register       */
346 
347 #define DMA7_NEXT_DESC_PTR      0xFFC00DC0  /* DMA Channel 7 Next Descriptor Pointer Register   */
348 #define DMA7_START_ADDR         0xFFC00DC4  /* DMA Channel 7 Start Address Register         */
349 #define DMA7_CONFIG             0xFFC00DC8  /* DMA Channel 7 Configuration Register         */
350 #define DMA7_X_COUNT            0xFFC00DD0  /* DMA Channel 7 X Count Register               */
351 #define DMA7_X_MODIFY           0xFFC00DD4  /* DMA Channel 7 X Modify Register              */
352 #define DMA7_Y_COUNT            0xFFC00DD8  /* DMA Channel 7 Y Count Register               */
353 #define DMA7_Y_MODIFY           0xFFC00DDC  /* DMA Channel 7 Y Modify Register              */
354 #define DMA7_CURR_DESC_PTR      0xFFC00DE0  /* DMA Channel 7 Current Descriptor Pointer Register    */
355 #define DMA7_CURR_ADDR          0xFFC00DE4  /* DMA Channel 7 Current Address Register       */
356 #define DMA7_IRQ_STATUS         0xFFC00DE8  /* DMA Channel 7 Interrupt/Status Register      */
357 #define DMA7_PERIPHERAL_MAP     0xFFC00DEC  /* DMA Channel 7 Peripheral Map Register        */
358 #define DMA7_CURR_X_COUNT       0xFFC00DF0  /* DMA Channel 7 Current X Count Register       */
359 #define DMA7_CURR_Y_COUNT       0xFFC00DF8  /* DMA Channel 7 Current Y Count Register       */
360 
361 #define DMA8_NEXT_DESC_PTR      0xFFC00E00  /* DMA Channel 8 Next Descriptor Pointer Register   */
362 #define DMA8_START_ADDR         0xFFC00E04  /* DMA Channel 8 Start Address Register         */
363 #define DMA8_CONFIG             0xFFC00E08  /* DMA Channel 8 Configuration Register         */
364 #define DMA8_X_COUNT            0xFFC00E10  /* DMA Channel 8 X Count Register               */
365 #define DMA8_X_MODIFY           0xFFC00E14  /* DMA Channel 8 X Modify Register              */
366 #define DMA8_Y_COUNT            0xFFC00E18  /* DMA Channel 8 Y Count Register               */
367 #define DMA8_Y_MODIFY           0xFFC00E1C  /* DMA Channel 8 Y Modify Register              */
368 #define DMA8_CURR_DESC_PTR      0xFFC00E20  /* DMA Channel 8 Current Descriptor Pointer Register    */
369 #define DMA8_CURR_ADDR          0xFFC00E24  /* DMA Channel 8 Current Address Register       */
370 #define DMA8_IRQ_STATUS         0xFFC00E28  /* DMA Channel 8 Interrupt/Status Register      */
371 #define DMA8_PERIPHERAL_MAP     0xFFC00E2C  /* DMA Channel 8 Peripheral Map Register        */
372 #define DMA8_CURR_X_COUNT       0xFFC00E30  /* DMA Channel 8 Current X Count Register       */
373 #define DMA8_CURR_Y_COUNT       0xFFC00E38  /* DMA Channel 8 Current Y Count Register       */
374 
375 #define DMA9_NEXT_DESC_PTR      0xFFC00E40  /* DMA Channel 9 Next Descriptor Pointer Register   */
376 #define DMA9_START_ADDR         0xFFC00E44  /* DMA Channel 9 Start Address Register         */
377 #define DMA9_CONFIG             0xFFC00E48  /* DMA Channel 9 Configuration Register         */
378 #define DMA9_X_COUNT            0xFFC00E50  /* DMA Channel 9 X Count Register               */
379 #define DMA9_X_MODIFY           0xFFC00E54  /* DMA Channel 9 X Modify Register              */
380 #define DMA9_Y_COUNT            0xFFC00E58  /* DMA Channel 9 Y Count Register               */
381 #define DMA9_Y_MODIFY           0xFFC00E5C  /* DMA Channel 9 Y Modify Register              */
382 #define DMA9_CURR_DESC_PTR      0xFFC00E60  /* DMA Channel 9 Current Descriptor Pointer Register    */
383 #define DMA9_CURR_ADDR          0xFFC00E64  /* DMA Channel 9 Current Address Register       */
384 #define DMA9_IRQ_STATUS         0xFFC00E68  /* DMA Channel 9 Interrupt/Status Register      */
385 #define DMA9_PERIPHERAL_MAP     0xFFC00E6C  /* DMA Channel 9 Peripheral Map Register        */
386 #define DMA9_CURR_X_COUNT       0xFFC00E70  /* DMA Channel 9 Current X Count Register       */
387 #define DMA9_CURR_Y_COUNT       0xFFC00E78  /* DMA Channel 9 Current Y Count Register       */
388 
389 #define DMA10_NEXT_DESC_PTR     0xFFC00E80  /* DMA Channel 10 Next Descriptor Pointer Register  */
390 #define DMA10_START_ADDR        0xFFC00E84  /* DMA Channel 10 Start Address Register        */
391 #define DMA10_CONFIG            0xFFC00E88  /* DMA Channel 10 Configuration Register        */
392 #define DMA10_X_COUNT           0xFFC00E90  /* DMA Channel 10 X Count Register              */
393 #define DMA10_X_MODIFY          0xFFC00E94  /* DMA Channel 10 X Modify Register             */
394 #define DMA10_Y_COUNT           0xFFC00E98  /* DMA Channel 10 Y Count Register              */
395 #define DMA10_Y_MODIFY          0xFFC00E9C  /* DMA Channel 10 Y Modify Register             */
396 #define DMA10_CURR_DESC_PTR     0xFFC00EA0  /* DMA Channel 10 Current Descriptor Pointer Register   */
397 #define DMA10_CURR_ADDR         0xFFC00EA4  /* DMA Channel 10 Current Address Register      */
398 #define DMA10_IRQ_STATUS        0xFFC00EA8  /* DMA Channel 10 Interrupt/Status Register     */
399 #define DMA10_PERIPHERAL_MAP    0xFFC00EAC  /* DMA Channel 10 Peripheral Map Register       */
400 #define DMA10_CURR_X_COUNT      0xFFC00EB0  /* DMA Channel 10 Current X Count Register      */
401 #define DMA10_CURR_Y_COUNT      0xFFC00EB8  /* DMA Channel 10 Current Y Count Register      */
402 
403 #define DMA11_NEXT_DESC_PTR     0xFFC00EC0  /* DMA Channel 11 Next Descriptor Pointer Register  */
404 #define DMA11_START_ADDR        0xFFC00EC4  /* DMA Channel 11 Start Address Register        */
405 #define DMA11_CONFIG            0xFFC00EC8  /* DMA Channel 11 Configuration Register        */
406 #define DMA11_X_COUNT           0xFFC00ED0  /* DMA Channel 11 X Count Register              */
407 #define DMA11_X_MODIFY          0xFFC00ED4  /* DMA Channel 11 X Modify Register             */
408 #define DMA11_Y_COUNT           0xFFC00ED8  /* DMA Channel 11 Y Count Register              */
409 #define DMA11_Y_MODIFY          0xFFC00EDC  /* DMA Channel 11 Y Modify Register             */
410 #define DMA11_CURR_DESC_PTR     0xFFC00EE0  /* DMA Channel 11 Current Descriptor Pointer Register   */
411 #define DMA11_CURR_ADDR         0xFFC00EE4  /* DMA Channel 11 Current Address Register      */
412 #define DMA11_IRQ_STATUS        0xFFC00EE8  /* DMA Channel 11 Interrupt/Status Register     */
413 #define DMA11_PERIPHERAL_MAP    0xFFC00EEC  /* DMA Channel 11 Peripheral Map Register       */
414 #define DMA11_CURR_X_COUNT      0xFFC00EF0  /* DMA Channel 11 Current X Count Register      */
415 #define DMA11_CURR_Y_COUNT      0xFFC00EF8  /* DMA Channel 11 Current Y Count Register      */
416 
417 #define MDMA_D0_NEXT_DESC_PTR   0xFFC00F00  /* MemDMA Stream 0 Destination Next Descriptor Pointer Register */
418 #define MDMA_D0_START_ADDR      0xFFC00F04  /* MemDMA Stream 0 Destination Start Address Register       */
419 #define MDMA_D0_CONFIG          0xFFC00F08  /* MemDMA Stream 0 Destination Configuration Register       */
420 #define MDMA_D0_X_COUNT         0xFFC00F10  /* MemDMA Stream 0 Destination X Count Register             */
421 #define MDMA_D0_X_MODIFY        0xFFC00F14  /* MemDMA Stream 0 Destination X Modify Register            */
422 #define MDMA_D0_Y_COUNT         0xFFC00F18  /* MemDMA Stream 0 Destination Y Count Register             */
423 #define MDMA_D0_Y_MODIFY        0xFFC00F1C  /* MemDMA Stream 0 Destination Y Modify Register            */
424 #define MDMA_D0_CURR_DESC_PTR   0xFFC00F20  /* MemDMA Stream 0 Destination Current Descriptor Pointer Register  */
425 #define MDMA_D0_CURR_ADDR       0xFFC00F24  /* MemDMA Stream 0 Destination Current Address Register     */
426 #define MDMA_D0_IRQ_STATUS      0xFFC00F28  /* MemDMA Stream 0 Destination Interrupt/Status Register    */
427 #define MDMA_D0_PERIPHERAL_MAP  0xFFC00F2C  /* MemDMA Stream 0 Destination Peripheral Map Register      */
428 #define MDMA_D0_CURR_X_COUNT    0xFFC00F30  /* MemDMA Stream 0 Destination Current X Count Register     */
429 #define MDMA_D0_CURR_Y_COUNT    0xFFC00F38  /* MemDMA Stream 0 Destination Current Y Count Register     */
430 
431 #define MDMA_S0_NEXT_DESC_PTR   0xFFC00F40  /* MemDMA Stream 0 Source Next Descriptor Pointer Register  */
432 #define MDMA_S0_START_ADDR      0xFFC00F44  /* MemDMA Stream 0 Source Start Address Register            */
433 #define MDMA_S0_CONFIG          0xFFC00F48  /* MemDMA Stream 0 Source Configuration Register            */
434 #define MDMA_S0_X_COUNT         0xFFC00F50  /* MemDMA Stream 0 Source X Count Register                  */
435 #define MDMA_S0_X_MODIFY        0xFFC00F54  /* MemDMA Stream 0 Source X Modify Register                 */
436 #define MDMA_S0_Y_COUNT         0xFFC00F58  /* MemDMA Stream 0 Source Y Count Register                  */
437 #define MDMA_S0_Y_MODIFY        0xFFC00F5C  /* MemDMA Stream 0 Source Y Modify Register                 */
438 #define MDMA_S0_CURR_DESC_PTR   0xFFC00F60  /* MemDMA Stream 0 Source Current Descriptor Pointer Register   */
439 #define MDMA_S0_CURR_ADDR       0xFFC00F64  /* MemDMA Stream 0 Source Current Address Register          */
440 #define MDMA_S0_IRQ_STATUS      0xFFC00F68  /* MemDMA Stream 0 Source Interrupt/Status Register         */
441 #define MDMA_S0_PERIPHERAL_MAP  0xFFC00F6C  /* MemDMA Stream 0 Source Peripheral Map Register           */
442 #define MDMA_S0_CURR_X_COUNT    0xFFC00F70  /* MemDMA Stream 0 Source Current X Count Register          */
443 #define MDMA_S0_CURR_Y_COUNT    0xFFC00F78  /* MemDMA Stream 0 Source Current Y Count Register          */
444 
445 #define MDMA_D1_NEXT_DESC_PTR   0xFFC00F80  /* MemDMA Stream 1 Destination Next Descriptor Pointer Register */
446 #define MDMA_D1_START_ADDR      0xFFC00F84  /* MemDMA Stream 1 Destination Start Address Register       */
447 #define MDMA_D1_CONFIG          0xFFC00F88  /* MemDMA Stream 1 Destination Configuration Register       */
448 #define MDMA_D1_X_COUNT         0xFFC00F90  /* MemDMA Stream 1 Destination X Count Register             */
449 #define MDMA_D1_X_MODIFY        0xFFC00F94  /* MemDMA Stream 1 Destination X Modify Register            */
450 #define MDMA_D1_Y_COUNT         0xFFC00F98  /* MemDMA Stream 1 Destination Y Count Register             */
451 #define MDMA_D1_Y_MODIFY        0xFFC00F9C  /* MemDMA Stream 1 Destination Y Modify Register            */
452 #define MDMA_D1_CURR_DESC_PTR   0xFFC00FA0  /* MemDMA Stream 1 Destination Current Descriptor Pointer Register  */
453 #define MDMA_D1_CURR_ADDR       0xFFC00FA4  /* MemDMA Stream 1 Destination Current Address Register     */
454 #define MDMA_D1_IRQ_STATUS      0xFFC00FA8  /* MemDMA Stream 1 Destination Interrupt/Status Register    */
455 #define MDMA_D1_PERIPHERAL_MAP  0xFFC00FAC  /* MemDMA Stream 1 Destination Peripheral Map Register      */
456 #define MDMA_D1_CURR_X_COUNT    0xFFC00FB0  /* MemDMA Stream 1 Destination Current X Count Register     */
457 #define MDMA_D1_CURR_Y_COUNT    0xFFC00FB8  /* MemDMA Stream 1 Destination Current Y Count Register     */
458 
459 #define MDMA_S1_NEXT_DESC_PTR   0xFFC00FC0  /* MemDMA Stream 1 Source Next Descriptor Pointer Register  */
460 #define MDMA_S1_START_ADDR      0xFFC00FC4  /* MemDMA Stream 1 Source Start Address Register            */
461 #define MDMA_S1_CONFIG          0xFFC00FC8  /* MemDMA Stream 1 Source Configuration Register            */
462 #define MDMA_S1_X_COUNT         0xFFC00FD0  /* MemDMA Stream 1 Source X Count Register                  */
463 #define MDMA_S1_X_MODIFY        0xFFC00FD4  /* MemDMA Stream 1 Source X Modify Register                 */
464 #define MDMA_S1_Y_COUNT         0xFFC00FD8  /* MemDMA Stream 1 Source Y Count Register                  */
465 #define MDMA_S1_Y_MODIFY        0xFFC00FDC  /* MemDMA Stream 1 Source Y Modify Register                 */
466 #define MDMA_S1_CURR_DESC_PTR   0xFFC00FE0  /* MemDMA Stream 1 Source Current Descriptor Pointer Register   */
467 #define MDMA_S1_CURR_ADDR       0xFFC00FE4  /* MemDMA Stream 1 Source Current Address Register          */
468 #define MDMA_S1_IRQ_STATUS      0xFFC00FE8  /* MemDMA Stream 1 Source Interrupt/Status Register         */
469 #define MDMA_S1_PERIPHERAL_MAP  0xFFC00FEC  /* MemDMA Stream 1 Source Peripheral Map Register           */
470 #define MDMA_S1_CURR_X_COUNT    0xFFC00FF0  /* MemDMA Stream 1 Source Current X Count Register          */
471 #define MDMA_S1_CURR_Y_COUNT    0xFFC00FF8  /* MemDMA Stream 1 Source Current Y Count Register          */
472 
473 
474 /* Parallel Peripheral Interface (0xFFC01000 - 0xFFC010FF)                                  */
475 #define PPI_CONTROL             0xFFC01000  /* PPI Control Register                         */
476 #define PPI_STATUS              0xFFC01004  /* PPI Status Register                          */
477 #define PPI_COUNT               0xFFC01008  /* PPI Transfer Count Register                  */
478 #define PPI_DELAY               0xFFC0100C  /* PPI Delay Count Register                     */
479 #define PPI_FRAME               0xFFC01010  /* PPI Frame Length Register                    */
480 
481 
482 /* Two-Wire Interface           (0xFFC01400 - 0xFFC014FF)                                   */
483 #define TWI_CLKDIV              0xFFC01400  /* Serial Clock Divider Register                */
484 #define TWI_CONTROL             0xFFC01404  /* TWI Control Register                         */
485 #define TWI_SLAVE_CTL           0xFFC01408  /* Slave Mode Control Register                  */
486 #define TWI_SLAVE_STAT          0xFFC0140C  /* Slave Mode Status Register                   */
487 #define TWI_SLAVE_ADDR          0xFFC01410  /* Slave Mode Address Register                  */
488 #define TWI_MASTER_CTL          0xFFC01414  /* Master Mode Control Register                 */
489 #define TWI_MASTER_STAT         0xFFC01418  /* Master Mode Status Register                  */
490 #define TWI_MASTER_ADDR         0xFFC0141C  /* Master Mode Address Register                 */
491 #define TWI_INT_STAT            0xFFC01420  /* TWI Interrupt Status Register                */
492 #define TWI_INT_MASK            0xFFC01424  /* TWI Master Interrupt Mask Register           */
493 #define TWI_FIFO_CTL            0xFFC01428  /* FIFO Control Register                        */
494 #define TWI_FIFO_STAT           0xFFC0142C  /* FIFO Status Register                         */
495 #define TWI_XMT_DATA8           0xFFC01480  /* FIFO Transmit Data Single Byte Register      */
496 #define TWI_XMT_DATA16          0xFFC01484  /* FIFO Transmit Data Double Byte Register      */
497 #define TWI_RCV_DATA8           0xFFC01488  /* FIFO Receive Data Single Byte Register       */
498 #define TWI_RCV_DATA16          0xFFC0148C  /* FIFO Receive Data Double Byte Register       */
499 
500 
501 /* General Purpose I/O Port G   (0xFFC01500 - 0xFFC015FF)                                   */
502 #define PORTGIO                 0xFFC01500  /* Port G I/O Pin State Specify Register        */
503 #define PORTGIO_CLEAR           0xFFC01504  /* Port G I/O Peripheral Interrupt Clear Register   */
504 #define PORTGIO_SET             0xFFC01508  /* Port G I/O Peripheral Interrupt Set Register */
505 #define PORTGIO_TOGGLE          0xFFC0150C  /* Port G I/O Pin State Toggle Register         */
506 #define PORTGIO_MASKA           0xFFC01510  /* Port G I/O Mask State Specify Interrupt A Register   */
507 #define PORTGIO_MASKA_CLEAR     0xFFC01514  /* Port G I/O Mask Disable Interrupt A Register */
508 #define PORTGIO_MASKA_SET       0xFFC01518  /* Port G I/O Mask Enable Interrupt A Register  */
509 #define PORTGIO_MASKA_TOGGLE    0xFFC0151C  /* Port G I/O Mask Toggle Enable Interrupt A Register   */
510 #define PORTGIO_MASKB           0xFFC01520  /* Port G I/O Mask State Specify Interrupt B Register   */
511 #define PORTGIO_MASKB_CLEAR     0xFFC01524  /* Port G I/O Mask Disable Interrupt B Register */
512 #define PORTGIO_MASKB_SET       0xFFC01528  /* Port G I/O Mask Enable Interrupt B Register  */
513 #define PORTGIO_MASKB_TOGGLE    0xFFC0152C  /* Port G I/O Mask Toggle Enable Interrupt B Register   */
514 #define PORTGIO_DIR             0xFFC01530  /* Port G I/O Direction Register                */
515 #define PORTGIO_POLAR           0xFFC01534  /* Port G I/O Source Polarity Register          */
516 #define PORTGIO_EDGE            0xFFC01538  /* Port G I/O Source Sensitivity Register       */
517 #define PORTGIO_BOTH            0xFFC0153C  /* Port G I/O Set on BOTH Edges Register        */
518 #define PORTGIO_INEN            0xFFC01540  /* Port G I/O Input Enable Register             */
519 
520 
521 /* General Purpose I/O Port H   (0xFFC01700 - 0xFFC017FF)                                   */
522 #define PORTHIO                 0xFFC01700  /* Port H I/O Pin State Specify Register        */
523 #define PORTHIO_CLEAR           0xFFC01704  /* Port H I/O Peripheral Interrupt Clear Register   */
524 #define PORTHIO_SET             0xFFC01708  /* Port H I/O Peripheral Interrupt Set Register */
525 #define PORTHIO_TOGGLE          0xFFC0170C  /* Port H I/O Pin State Toggle Register         */
526 #define PORTHIO_MASKA           0xFFC01710  /* Port H I/O Mask State Specify Interrupt A Register   */
527 #define PORTHIO_MASKA_CLEAR     0xFFC01714  /* Port H I/O Mask Disable Interrupt A Register */
528 #define PORTHIO_MASKA_SET       0xFFC01718  /* Port H I/O Mask Enable Interrupt A Register  */
529 #define PORTHIO_MASKA_TOGGLE    0xFFC0171C  /* Port H I/O Mask Toggle Enable Interrupt A Register   */
530 #define PORTHIO_MASKB           0xFFC01720  /* Port H I/O Mask State Specify Interrupt B Register   */
531 #define PORTHIO_MASKB_CLEAR     0xFFC01724  /* Port H I/O Mask Disable Interrupt B Register */
532 #define PORTHIO_MASKB_SET       0xFFC01728  /* Port H I/O Mask Enable Interrupt B Register  */
533 #define PORTHIO_MASKB_TOGGLE    0xFFC0172C  /* Port H I/O Mask Toggle Enable Interrupt B Register   */
534 #define PORTHIO_DIR             0xFFC01730  /* Port H I/O Direction Register                */
535 #define PORTHIO_POLAR           0xFFC01734  /* Port H I/O Source Polarity Register          */
536 #define PORTHIO_EDGE            0xFFC01738  /* Port H I/O Source Sensitivity Register       */
537 #define PORTHIO_BOTH            0xFFC0173C  /* Port H I/O Set on BOTH Edges Register        */
538 #define PORTHIO_INEN            0xFFC01740  /* Port H I/O Input Enable Register             */
539 
540 
541 /* UART1 Controller             (0xFFC02000 - 0xFFC020FF)                                   */
542 #define UART1_DLL               0xffc02000   /* Divisor Latch Low Byte                      */
543 #define UART1_DLH               0xffc02004   /* Divisor Latch High Byte                     */
544 #define UART1_GCTL              0xffc02008   /* Global Control Register                     */
545 #define UART1_LCR               0xffc0200c   /* Line Control Register                       */
546 #define UART1_MCR               0xffc02010   /* Modem Control Register                      */
547 #define UART1_LSR               0xffc02014   /* Line Status Register                        */
548 #define UART1_MSR               0xffc02018   /* Modem Status Register                       */
549 #define UART1_SCR               0xffc0201c   /* Scratch Register                            */
550 #define UART1_IER_SET           0xffc02020   /* Interrupt Enable Register Set               */
551 #define UART1_IER_CLEAR         0xffc02024   /* Interrupt Enable Register Clear             */
552 #define UART1_THR               0xffc02028   /* Transmit Hold Register                      */
553 #define UART1_RBR               0xffc0202c   /* Receive Buffer Register                     */
554 
555 
556 /* CAN Controller       (0xFFC02A00 - 0xFFC02FFF)                                           */
557 /* For Mailboxes 0-15                                                                       */
558 #define CAN_MC1             0xFFC02A00  /* Mailbox config reg 1                             */
559 #define CAN_MD1             0xFFC02A04  /* Mailbox direction reg 1                          */
560 #define CAN_TRS1            0xFFC02A08  /* Transmit Request Set reg 1                       */
561 #define CAN_TRR1            0xFFC02A0C  /* Transmit Request Reset reg 1                     */
562 #define CAN_TA1             0xFFC02A10  /* Transmit Acknowledge reg 1                       */
563 #define CAN_AA1             0xFFC02A14  /* Transmit Abort Acknowledge reg 1                 */
564 #define CAN_RMP1            0xFFC02A18  /* Receive Message Pending reg 1                    */
565 #define CAN_RML1            0xFFC02A1C  /* Receive Message Lost reg 1                       */
566 #define CAN_MBTIF1          0xFFC02A20  /* Mailbox Transmit Interrupt Flag reg 1            */
567 #define CAN_MBRIF1          0xFFC02A24  /* Mailbox Receive  Interrupt Flag reg 1            */
568 #define CAN_MBIM1           0xFFC02A28  /* Mailbox Interrupt Mask reg 1                     */
569 #define CAN_RFH1            0xFFC02A2C  /* Remote Frame Handling reg 1                      */
570 #define CAN_OPSS1           0xFFC02A30  /* Overwrite Protection Single Shot Xmission reg 1  */
571 
572 /* For Mailboxes 16-31                                                                      */
573 #define CAN_MC2             0xFFC02A40  /* Mailbox config reg 2                             */
574 #define CAN_MD2             0xFFC02A44  /* Mailbox direction reg 2                          */
575 #define CAN_TRS2            0xFFC02A48  /* Transmit Request Set reg 2                       */
576 #define CAN_TRR2            0xFFC02A4C  /* Transmit Request Reset reg 2                     */
577 #define CAN_TA2             0xFFC02A50  /* Transmit Acknowledge reg 2                       */
578 #define CAN_AA2             0xFFC02A54  /* Transmit Abort Acknowledge reg 2                 */
579 #define CAN_RMP2            0xFFC02A58  /* Receive Message Pending reg 2                    */
580 #define CAN_RML2            0xFFC02A5C  /* Receive Message Lost reg 2                       */
581 #define CAN_MBTIF2          0xFFC02A60  /* Mailbox Transmit Interrupt Flag reg 2            */
582 #define CAN_MBRIF2          0xFFC02A64  /* Mailbox Receive  Interrupt Flag reg 2            */
583 #define CAN_MBIM2           0xFFC02A68  /* Mailbox Interrupt Mask reg 2                     */
584 #define CAN_RFH2            0xFFC02A6C  /* Remote Frame Handling reg 2                      */
585 #define CAN_OPSS2           0xFFC02A70  /* Overwrite Protection Single Shot Xmission reg 2  */
586 
587 #define CAN_CLOCK           0xFFC02A80  /* Bit Timing Configuration register 0              */
588 #define CAN_TIMING          0xFFC02A84  /* Bit Timing Configuration register 1              */
589 
590 #define CAN_DEBUG           0xFFC02A88  /* Debug Register                                   */
591 /* the following is for backwards compatibility */
592 #define CAN_CNF             (CAN_DEBUG )
593 
594 #define CAN_STATUS          0xFFC02A8C  /* Global Status Register                           */
595 #define CAN_CEC             0xFFC02A90  /* Error Counter Register                           */
596 #define CAN_GIS             0xFFC02A94  /* Global Interrupt Status Register                 */
597 #define CAN_GIM             0xFFC02A98  /* Global Interrupt Mask Register                   */
598 #define CAN_GIF             0xFFC02A9C  /* Global Interrupt Flag Register                   */
599 #define CAN_CONTROL         0xFFC02AA0  /* Master Control Register                          */
600 #define CAN_INTR            0xFFC02AA4  /* Interrupt Pending Register                       */
601 #define CAN_MBTD            0xFFC02AAC  /* Mailbox Temporary Disable Feature                */
602 #define CAN_EWR             0xFFC02AB0  /* Programmable Warning Level                       */
603 #define CAN_ESR             0xFFC02AB4  /* Error Status Register                            */
604 #define CAN_UCCNT           0xFFC02AC4  /* Universal Counter                                */
605 #define CAN_UCRC            0xFFC02AC8  /* Universal Counter Reload/Capture Register    */
606 #define CAN_UCCNF           0xFFC02ACC  /* Universal Counter Configuration Register         */
607 
608 /* Mailbox Acceptance Masks                                                 */
609 #define CAN_AM00L           0xFFC02B00  /* Mailbox 0 Low Acceptance Mask    */
610 #define CAN_AM00H           0xFFC02B04  /* Mailbox 0 High Acceptance Mask   */
611 #define CAN_AM01L           0xFFC02B08  /* Mailbox 1 Low Acceptance Mask    */
612 #define CAN_AM01H           0xFFC02B0C  /* Mailbox 1 High Acceptance Mask   */
613 #define CAN_AM02L           0xFFC02B10  /* Mailbox 2 Low Acceptance Mask    */
614 #define CAN_AM02H           0xFFC02B14  /* Mailbox 2 High Acceptance Mask   */
615 #define CAN_AM03L           0xFFC02B18  /* Mailbox 3 Low Acceptance Mask    */
616 #define CAN_AM03H           0xFFC02B1C  /* Mailbox 3 High Acceptance Mask   */
617 #define CAN_AM04L           0xFFC02B20  /* Mailbox 4 Low Acceptance Mask    */
618 #define CAN_AM04H           0xFFC02B24  /* Mailbox 4 High Acceptance Mask   */
619 #define CAN_AM05L           0xFFC02B28  /* Mailbox 5 Low Acceptance Mask    */
620 #define CAN_AM05H           0xFFC02B2C  /* Mailbox 5 High Acceptance Mask   */
621 #define CAN_AM06L           0xFFC02B30  /* Mailbox 6 Low Acceptance Mask    */
622 #define CAN_AM06H           0xFFC02B34  /* Mailbox 6 High Acceptance Mask   */
623 #define CAN_AM07L           0xFFC02B38  /* Mailbox 7 Low Acceptance Mask    */
624 #define CAN_AM07H           0xFFC02B3C  /* Mailbox 7 High Acceptance Mask   */
625 #define CAN_AM08L           0xFFC02B40  /* Mailbox 8 Low Acceptance Mask    */
626 #define CAN_AM08H           0xFFC02B44  /* Mailbox 8 High Acceptance Mask   */
627 #define CAN_AM09L           0xFFC02B48  /* Mailbox 9 Low Acceptance Mask    */
628 #define CAN_AM09H           0xFFC02B4C  /* Mailbox 9 High Acceptance Mask   */
629 #define CAN_AM10L           0xFFC02B50  /* Mailbox 10 Low Acceptance Mask   */
630 #define CAN_AM10H           0xFFC02B54  /* Mailbox 10 High Acceptance Mask  */
631 #define CAN_AM11L           0xFFC02B58  /* Mailbox 11 Low Acceptance Mask   */
632 #define CAN_AM11H           0xFFC02B5C  /* Mailbox 11 High Acceptance Mask  */
633 #define CAN_AM12L           0xFFC02B60  /* Mailbox 12 Low Acceptance Mask   */
634 #define CAN_AM12H           0xFFC02B64  /* Mailbox 12 High Acceptance Mask  */
635 #define CAN_AM13L           0xFFC02B68  /* Mailbox 13 Low Acceptance Mask   */
636 #define CAN_AM13H           0xFFC02B6C  /* Mailbox 13 High Acceptance Mask  */
637 #define CAN_AM14L           0xFFC02B70  /* Mailbox 14 Low Acceptance Mask   */
638 #define CAN_AM14H           0xFFC02B74  /* Mailbox 14 High Acceptance Mask  */
639 #define CAN_AM15L           0xFFC02B78  /* Mailbox 15 Low Acceptance Mask   */
640 #define CAN_AM15H           0xFFC02B7C  /* Mailbox 15 High Acceptance Mask  */
641 
642 #define CAN_AM16L           0xFFC02B80  /* Mailbox 16 Low Acceptance Mask   */
643 #define CAN_AM16H           0xFFC02B84  /* Mailbox 16 High Acceptance Mask  */
644 #define CAN_AM17L           0xFFC02B88  /* Mailbox 17 Low Acceptance Mask   */
645 #define CAN_AM17H           0xFFC02B8C  /* Mailbox 17 High Acceptance Mask  */
646 #define CAN_AM18L           0xFFC02B90  /* Mailbox 18 Low Acceptance Mask   */
647 #define CAN_AM18H           0xFFC02B94  /* Mailbox 18 High Acceptance Mask  */
648 #define CAN_AM19L           0xFFC02B98  /* Mailbox 19 Low Acceptance Mask   */
649 #define CAN_AM19H           0xFFC02B9C  /* Mailbox 19 High Acceptance Mask  */
650 #define CAN_AM20L           0xFFC02BA0  /* Mailbox 20 Low Acceptance Mask   */
651 #define CAN_AM20H           0xFFC02BA4  /* Mailbox 20 High Acceptance Mask  */
652 #define CAN_AM21L           0xFFC02BA8  /* Mailbox 21 Low Acceptance Mask   */
653 #define CAN_AM21H           0xFFC02BAC  /* Mailbox 21 High Acceptance Mask  */
654 #define CAN_AM22L           0xFFC02BB0  /* Mailbox 22 Low Acceptance Mask   */
655 #define CAN_AM22H           0xFFC02BB4  /* Mailbox 22 High Acceptance Mask  */
656 #define CAN_AM23L           0xFFC02BB8  /* Mailbox 23 Low Acceptance Mask   */
657 #define CAN_AM23H           0xFFC02BBC  /* Mailbox 23 High Acceptance Mask  */
658 #define CAN_AM24L           0xFFC02BC0  /* Mailbox 24 Low Acceptance Mask   */
659 #define CAN_AM24H           0xFFC02BC4  /* Mailbox 24 High Acceptance Mask  */
660 #define CAN_AM25L           0xFFC02BC8  /* Mailbox 25 Low Acceptance Mask   */
661 #define CAN_AM25H           0xFFC02BCC  /* Mailbox 25 High Acceptance Mask  */
662 #define CAN_AM26L           0xFFC02BD0  /* Mailbox 26 Low Acceptance Mask   */
663 #define CAN_AM26H           0xFFC02BD4  /* Mailbox 26 High Acceptance Mask  */
664 #define CAN_AM27L           0xFFC02BD8  /* Mailbox 27 Low Acceptance Mask   */
665 #define CAN_AM27H           0xFFC02BDC  /* Mailbox 27 High Acceptance Mask  */
666 #define CAN_AM28L           0xFFC02BE0  /* Mailbox 28 Low Acceptance Mask   */
667 #define CAN_AM28H           0xFFC02BE4  /* Mailbox 28 High Acceptance Mask  */
668 #define CAN_AM29L           0xFFC02BE8  /* Mailbox 29 Low Acceptance Mask   */
669 #define CAN_AM29H           0xFFC02BEC  /* Mailbox 29 High Acceptance Mask  */
670 #define CAN_AM30L           0xFFC02BF0  /* Mailbox 30 Low Acceptance Mask   */
671 #define CAN_AM30H           0xFFC02BF4  /* Mailbox 30 High Acceptance Mask  */
672 #define CAN_AM31L           0xFFC02BF8  /* Mailbox 31 Low Acceptance Mask   */
673 #define CAN_AM31H           0xFFC02BFC  /* Mailbox 31 High Acceptance Mask  */
674 
675 /* CAN Acceptance Mask Macros               */
676 #define CAN_AM_L(x)         (CAN_AM00L+((x)*0x8))
677 #define CAN_AM_H(x)         (CAN_AM00H+((x)*0x8))
678 
679 /* Mailbox Registers                                                                */
680 #define CAN_MB00_DATA0      0xFFC02C00  /* Mailbox 0 Data Word 0 [15:0] Register    */
681 #define CAN_MB00_DATA1      0xFFC02C04  /* Mailbox 0 Data Word 1 [31:16] Register   */
682 #define CAN_MB00_DATA2      0xFFC02C08  /* Mailbox 0 Data Word 2 [47:32] Register   */
683 #define CAN_MB00_DATA3      0xFFC02C0C  /* Mailbox 0 Data Word 3 [63:48] Register   */
684 #define CAN_MB00_LENGTH     0xFFC02C10  /* Mailbox 0 Data Length Code Register      */
685 #define CAN_MB00_TIMESTAMP  0xFFC02C14  /* Mailbox 0 Time Stamp Value Register      */
686 #define CAN_MB00_ID0        0xFFC02C18  /* Mailbox 0 Identifier Low Register        */
687 #define CAN_MB00_ID1        0xFFC02C1C  /* Mailbox 0 Identifier High Register       */
688 
689 #define CAN_MB01_DATA0      0xFFC02C20  /* Mailbox 1 Data Word 0 [15:0] Register    */
690 #define CAN_MB01_DATA1      0xFFC02C24  /* Mailbox 1 Data Word 1 [31:16] Register   */
691 #define CAN_MB01_DATA2      0xFFC02C28  /* Mailbox 1 Data Word 2 [47:32] Register   */
692 #define CAN_MB01_DATA3      0xFFC02C2C  /* Mailbox 1 Data Word 3 [63:48] Register   */
693 #define CAN_MB01_LENGTH     0xFFC02C30  /* Mailbox 1 Data Length Code Register      */
694 #define CAN_MB01_TIMESTAMP  0xFFC02C34  /* Mailbox 1 Time Stamp Value Register      */
695 #define CAN_MB01_ID0        0xFFC02C38  /* Mailbox 1 Identifier Low Register        */
696 #define CAN_MB01_ID1        0xFFC02C3C  /* Mailbox 1 Identifier High Register       */
697 
698 #define CAN_MB02_DATA0      0xFFC02C40  /* Mailbox 2 Data Word 0 [15:0] Register    */
699 #define CAN_MB02_DATA1      0xFFC02C44  /* Mailbox 2 Data Word 1 [31:16] Register   */
700 #define CAN_MB02_DATA2      0xFFC02C48  /* Mailbox 2 Data Word 2 [47:32] Register   */
701 #define CAN_MB02_DATA3      0xFFC02C4C  /* Mailbox 2 Data Word 3 [63:48] Register   */
702 #define CAN_MB02_LENGTH     0xFFC02C50  /* Mailbox 2 Data Length Code Register      */
703 #define CAN_MB02_TIMESTAMP  0xFFC02C54  /* Mailbox 2 Time Stamp Value Register      */
704 #define CAN_MB02_ID0        0xFFC02C58  /* Mailbox 2 Identifier Low Register        */
705 #define CAN_MB02_ID1        0xFFC02C5C  /* Mailbox 2 Identifier High Register       */
706 
707 #define CAN_MB03_DATA0      0xFFC02C60  /* Mailbox 3 Data Word 0 [15:0] Register    */
708 #define CAN_MB03_DATA1      0xFFC02C64  /* Mailbox 3 Data Word 1 [31:16] Register   */
709 #define CAN_MB03_DATA2      0xFFC02C68  /* Mailbox 3 Data Word 2 [47:32] Register   */
710 #define CAN_MB03_DATA3      0xFFC02C6C  /* Mailbox 3 Data Word 3 [63:48] Register   */
711 #define CAN_MB03_LENGTH     0xFFC02C70  /* Mailbox 3 Data Length Code Register      */
712 #define CAN_MB03_TIMESTAMP  0xFFC02C74  /* Mailbox 3 Time Stamp Value Register      */
713 #define CAN_MB03_ID0        0xFFC02C78  /* Mailbox 3 Identifier Low Register        */
714 #define CAN_MB03_ID1        0xFFC02C7C  /* Mailbox 3 Identifier High Register       */
715 
716 #define CAN_MB04_DATA0      0xFFC02C80  /* Mailbox 4 Data Word 0 [15:0] Register    */
717 #define CAN_MB04_DATA1      0xFFC02C84  /* Mailbox 4 Data Word 1 [31:16] Register   */
718 #define CAN_MB04_DATA2      0xFFC02C88  /* Mailbox 4 Data Word 2 [47:32] Register   */
719 #define CAN_MB04_DATA3      0xFFC02C8C  /* Mailbox 4 Data Word 3 [63:48] Register   */
720 #define CAN_MB04_LENGTH     0xFFC02C90  /* Mailbox 4 Data Length Code Register      */
721 #define CAN_MB04_TIMESTAMP  0xFFC02C94  /* Mailbox 4 Time Stamp Value Register      */
722 #define CAN_MB04_ID0        0xFFC02C98  /* Mailbox 4 Identifier Low Register        */
723 #define CAN_MB04_ID1        0xFFC02C9C  /* Mailbox 4 Identifier High Register       */
724 
725 #define CAN_MB05_DATA0      0xFFC02CA0  /* Mailbox 5 Data Word 0 [15:0] Register    */
726 #define CAN_MB05_DATA1      0xFFC02CA4  /* Mailbox 5 Data Word 1 [31:16] Register   */
727 #define CAN_MB05_DATA2      0xFFC02CA8  /* Mailbox 5 Data Word 2 [47:32] Register   */
728 #define CAN_MB05_DATA3      0xFFC02CAC  /* Mailbox 5 Data Word 3 [63:48] Register   */
729 #define CAN_MB05_LENGTH     0xFFC02CB0  /* Mailbox 5 Data Length Code Register      */
730 #define CAN_MB05_TIMESTAMP  0xFFC02CB4  /* Mailbox 5 Time Stamp Value Register      */
731 #define CAN_MB05_ID0        0xFFC02CB8  /* Mailbox 5 Identifier Low Register        */
732 #define CAN_MB05_ID1        0xFFC02CBC  /* Mailbox 5 Identifier High Register       */
733 
734 #define CAN_MB06_DATA0      0xFFC02CC0  /* Mailbox 6 Data Word 0 [15:0] Register    */
735 #define CAN_MB06_DATA1      0xFFC02CC4  /* Mailbox 6 Data Word 1 [31:16] Register   */
736 #define CAN_MB06_DATA2      0xFFC02CC8  /* Mailbox 6 Data Word 2 [47:32] Register   */
737 #define CAN_MB06_DATA3      0xFFC02CCC  /* Mailbox 6 Data Word 3 [63:48] Register   */
738 #define CAN_MB06_LENGTH     0xFFC02CD0  /* Mailbox 6 Data Length Code Register      */
739 #define CAN_MB06_TIMESTAMP  0xFFC02CD4  /* Mailbox 6 Time Stamp Value Register      */
740 #define CAN_MB06_ID0        0xFFC02CD8  /* Mailbox 6 Identifier Low Register        */
741 #define CAN_MB06_ID1        0xFFC02CDC  /* Mailbox 6 Identifier High Register       */
742 
743 #define CAN_MB07_DATA0      0xFFC02CE0  /* Mailbox 7 Data Word 0 [15:0] Register    */
744 #define CAN_MB07_DATA1      0xFFC02CE4  /* Mailbox 7 Data Word 1 [31:16] Register   */
745 #define CAN_MB07_DATA2      0xFFC02CE8  /* Mailbox 7 Data Word 2 [47:32] Register   */
746 #define CAN_MB07_DATA3      0xFFC02CEC  /* Mailbox 7 Data Word 3 [63:48] Register   */
747 #define CAN_MB07_LENGTH     0xFFC02CF0  /* Mailbox 7 Data Length Code Register      */
748 #define CAN_MB07_TIMESTAMP  0xFFC02CF4  /* Mailbox 7 Time Stamp Value Register      */
749 #define CAN_MB07_ID0        0xFFC02CF8  /* Mailbox 7 Identifier Low Register        */
750 #define CAN_MB07_ID1        0xFFC02CFC  /* Mailbox 7 Identifier High Register       */
751 
752 #define CAN_MB08_DATA0      0xFFC02D00  /* Mailbox 8 Data Word 0 [15:0] Register    */
753 #define CAN_MB08_DATA1      0xFFC02D04  /* Mailbox 8 Data Word 1 [31:16] Register   */
754 #define CAN_MB08_DATA2      0xFFC02D08  /* Mailbox 8 Data Word 2 [47:32] Register   */
755 #define CAN_MB08_DATA3      0xFFC02D0C  /* Mailbox 8 Data Word 3 [63:48] Register   */
756 #define CAN_MB08_LENGTH     0xFFC02D10  /* Mailbox 8 Data Length Code Register      */
757 #define CAN_MB08_TIMESTAMP  0xFFC02D14  /* Mailbox 8 Time Stamp Value Register      */
758 #define CAN_MB08_ID0        0xFFC02D18  /* Mailbox 8 Identifier Low Register        */
759 #define CAN_MB08_ID1        0xFFC02D1C  /* Mailbox 8 Identifier High Register       */
760 
761 #define CAN_MB09_DATA0      0xFFC02D20  /* Mailbox 9 Data Word 0 [15:0] Register    */
762 #define CAN_MB09_DATA1      0xFFC02D24  /* Mailbox 9 Data Word 1 [31:16] Register   */
763 #define CAN_MB09_DATA2      0xFFC02D28  /* Mailbox 9 Data Word 2 [47:32] Register   */
764 #define CAN_MB09_DATA3      0xFFC02D2C  /* Mailbox 9 Data Word 3 [63:48] Register   */
765 #define CAN_MB09_LENGTH     0xFFC02D30  /* Mailbox 9 Data Length Code Register      */
766 #define CAN_MB09_TIMESTAMP  0xFFC02D34  /* Mailbox 9 Time Stamp Value Register      */
767 #define CAN_MB09_ID0        0xFFC02D38  /* Mailbox 9 Identifier Low Register        */
768 #define CAN_MB09_ID1        0xFFC02D3C  /* Mailbox 9 Identifier High Register       */
769 
770 #define CAN_MB10_DATA0      0xFFC02D40  /* Mailbox 10 Data Word 0 [15:0] Register   */
771 #define CAN_MB10_DATA1      0xFFC02D44  /* Mailbox 10 Data Word 1 [31:16] Register  */
772 #define CAN_MB10_DATA2      0xFFC02D48  /* Mailbox 10 Data Word 2 [47:32] Register  */
773 #define CAN_MB10_DATA3      0xFFC02D4C  /* Mailbox 10 Data Word 3 [63:48] Register  */
774 #define CAN_MB10_LENGTH     0xFFC02D50  /* Mailbox 10 Data Length Code Register     */
775 #define CAN_MB10_TIMESTAMP  0xFFC02D54  /* Mailbox 10 Time Stamp Value Register     */
776 #define CAN_MB10_ID0        0xFFC02D58  /* Mailbox 10 Identifier Low Register       */
777 #define CAN_MB10_ID1        0xFFC02D5C  /* Mailbox 10 Identifier High Register      */
778 
779 #define CAN_MB11_DATA0      0xFFC02D60  /* Mailbox 11 Data Word 0 [15:0] Register   */
780 #define CAN_MB11_DATA1      0xFFC02D64  /* Mailbox 11 Data Word 1 [31:16] Register  */
781 #define CAN_MB11_DATA2      0xFFC02D68  /* Mailbox 11 Data Word 2 [47:32] Register  */
782 #define CAN_MB11_DATA3      0xFFC02D6C  /* Mailbox 11 Data Word 3 [63:48] Register  */
783 #define CAN_MB11_LENGTH     0xFFC02D70  /* Mailbox 11 Data Length Code Register     */
784 #define CAN_MB11_TIMESTAMP  0xFFC02D74  /* Mailbox 11 Time Stamp Value Register     */
785 #define CAN_MB11_ID0        0xFFC02D78  /* Mailbox 11 Identifier Low Register       */
786 #define CAN_MB11_ID1        0xFFC02D7C  /* Mailbox 11 Identifier High Register      */
787 
788 #define CAN_MB12_DATA0      0xFFC02D80  /* Mailbox 12 Data Word 0 [15:0] Register   */
789 #define CAN_MB12_DATA1      0xFFC02D84  /* Mailbox 12 Data Word 1 [31:16] Register  */
790 #define CAN_MB12_DATA2      0xFFC02D88  /* Mailbox 12 Data Word 2 [47:32] Register  */
791 #define CAN_MB12_DATA3      0xFFC02D8C  /* Mailbox 12 Data Word 3 [63:48] Register  */
792 #define CAN_MB12_LENGTH     0xFFC02D90  /* Mailbox 12 Data Length Code Register     */
793 #define CAN_MB12_TIMESTAMP  0xFFC02D94  /* Mailbox 12 Time Stamp Value Register     */
794 #define CAN_MB12_ID0        0xFFC02D98  /* Mailbox 12 Identifier Low Register       */
795 #define CAN_MB12_ID1        0xFFC02D9C  /* Mailbox 12 Identifier High Register      */
796 
797 #define CAN_MB13_DATA0      0xFFC02DA0  /* Mailbox 13 Data Word 0 [15:0] Register   */
798 #define CAN_MB13_DATA1      0xFFC02DA4  /* Mailbox 13 Data Word 1 [31:16] Register  */
799 #define CAN_MB13_DATA2      0xFFC02DA8  /* Mailbox 13 Data Word 2 [47:32] Register  */
800 #define CAN_MB13_DATA3      0xFFC02DAC  /* Mailbox 13 Data Word 3 [63:48] Register  */
801 #define CAN_MB13_LENGTH     0xFFC02DB0  /* Mailbox 13 Data Length Code Register     */
802 #define CAN_MB13_TIMESTAMP  0xFFC02DB4  /* Mailbox 13 Time Stamp Value Register     */
803 #define CAN_MB13_ID0        0xFFC02DB8  /* Mailbox 13 Identifier Low Register       */
804 #define CAN_MB13_ID1        0xFFC02DBC  /* Mailbox 13 Identifier High Register      */
805 
806 #define CAN_MB14_DATA0      0xFFC02DC0  /* Mailbox 14 Data Word 0 [15:0] Register   */
807 #define CAN_MB14_DATA1      0xFFC02DC4  /* Mailbox 14 Data Word 1 [31:16] Register  */
808 #define CAN_MB14_DATA2      0xFFC02DC8  /* Mailbox 14 Data Word 2 [47:32] Register  */
809 #define CAN_MB14_DATA3      0xFFC02DCC  /* Mailbox 14 Data Word 3 [63:48] Register  */
810 #define CAN_MB14_LENGTH     0xFFC02DD0  /* Mailbox 14 Data Length Code Register     */
811 #define CAN_MB14_TIMESTAMP  0xFFC02DD4  /* Mailbox 14 Time Stamp Value Register     */
812 #define CAN_MB14_ID0        0xFFC02DD8  /* Mailbox 14 Identifier Low Register       */
813 #define CAN_MB14_ID1        0xFFC02DDC  /* Mailbox 14 Identifier High Register      */
814 
815 #define CAN_MB15_DATA0      0xFFC02DE0  /* Mailbox 15 Data Word 0 [15:0] Register   */
816 #define CAN_MB15_DATA1      0xFFC02DE4  /* Mailbox 15 Data Word 1 [31:16] Register  */
817 #define CAN_MB15_DATA2      0xFFC02DE8  /* Mailbox 15 Data Word 2 [47:32] Register  */
818 #define CAN_MB15_DATA3      0xFFC02DEC  /* Mailbox 15 Data Word 3 [63:48] Register  */
819 #define CAN_MB15_LENGTH     0xFFC02DF0  /* Mailbox 15 Data Length Code Register     */
820 #define CAN_MB15_TIMESTAMP  0xFFC02DF4  /* Mailbox 15 Time Stamp Value Register     */
821 #define CAN_MB15_ID0        0xFFC02DF8  /* Mailbox 15 Identifier Low Register       */
822 #define CAN_MB15_ID1        0xFFC02DFC  /* Mailbox 15 Identifier High Register      */
823 
824 #define CAN_MB16_DATA0      0xFFC02E00  /* Mailbox 16 Data Word 0 [15:0] Register   */
825 #define CAN_MB16_DATA1      0xFFC02E04  /* Mailbox 16 Data Word 1 [31:16] Register  */
826 #define CAN_MB16_DATA2      0xFFC02E08  /* Mailbox 16 Data Word 2 [47:32] Register  */
827 #define CAN_MB16_DATA3      0xFFC02E0C  /* Mailbox 16 Data Word 3 [63:48] Register  */
828 #define CAN_MB16_LENGTH     0xFFC02E10  /* Mailbox 16 Data Length Code Register     */
829 #define CAN_MB16_TIMESTAMP  0xFFC02E14  /* Mailbox 16 Time Stamp Value Register     */
830 #define CAN_MB16_ID0        0xFFC02E18  /* Mailbox 16 Identifier Low Register       */
831 #define CAN_MB16_ID1        0xFFC02E1C  /* Mailbox 16 Identifier High Register      */
832 
833 #define CAN_MB17_DATA0      0xFFC02E20  /* Mailbox 17 Data Word 0 [15:0] Register   */
834 #define CAN_MB17_DATA1      0xFFC02E24  /* Mailbox 17 Data Word 1 [31:16] Register  */
835 #define CAN_MB17_DATA2      0xFFC02E28  /* Mailbox 17 Data Word 2 [47:32] Register  */
836 #define CAN_MB17_DATA3      0xFFC02E2C  /* Mailbox 17 Data Word 3 [63:48] Register  */
837 #define CAN_MB17_LENGTH     0xFFC02E30  /* Mailbox 17 Data Length Code Register     */
838 #define CAN_MB17_TIMESTAMP  0xFFC02E34  /* Mailbox 17 Time Stamp Value Register     */
839 #define CAN_MB17_ID0        0xFFC02E38  /* Mailbox 17 Identifier Low Register       */
840 #define CAN_MB17_ID1        0xFFC02E3C  /* Mailbox 17 Identifier High Register      */
841 
842 #define CAN_MB18_DATA0      0xFFC02E40  /* Mailbox 18 Data Word 0 [15:0] Register   */
843 #define CAN_MB18_DATA1      0xFFC02E44  /* Mailbox 18 Data Word 1 [31:16] Register  */
844 #define CAN_MB18_DATA2      0xFFC02E48  /* Mailbox 18 Data Word 2 [47:32] Register  */
845 #define CAN_MB18_DATA3      0xFFC02E4C  /* Mailbox 18 Data Word 3 [63:48] Register  */
846 #define CAN_MB18_LENGTH     0xFFC02E50  /* Mailbox 18 Data Length Code Register     */
847 #define CAN_MB18_TIMESTAMP  0xFFC02E54  /* Mailbox 18 Time Stamp Value Register     */
848 #define CAN_MB18_ID0        0xFFC02E58  /* Mailbox 18 Identifier Low Register       */
849 #define CAN_MB18_ID1        0xFFC02E5C  /* Mailbox 18 Identifier High Register      */
850 
851 #define CAN_MB19_DATA0      0xFFC02E60  /* Mailbox 19 Data Word 0 [15:0] Register   */
852 #define CAN_MB19_DATA1      0xFFC02E64  /* Mailbox 19 Data Word 1 [31:16] Register  */
853 #define CAN_MB19_DATA2      0xFFC02E68  /* Mailbox 19 Data Word 2 [47:32] Register  */
854 #define CAN_MB19_DATA3      0xFFC02E6C  /* Mailbox 19 Data Word 3 [63:48] Register  */
855 #define CAN_MB19_LENGTH     0xFFC02E70  /* Mailbox 19 Data Length Code Register     */
856 #define CAN_MB19_TIMESTAMP  0xFFC02E74  /* Mailbox 19 Time Stamp Value Register     */
857 #define CAN_MB19_ID0        0xFFC02E78  /* Mailbox 19 Identifier Low Register       */
858 #define CAN_MB19_ID1        0xFFC02E7C  /* Mailbox 19 Identifier High Register      */
859 
860 #define CAN_MB20_DATA0      0xFFC02E80  /* Mailbox 20 Data Word 0 [15:0] Register   */
861 #define CAN_MB20_DATA1      0xFFC02E84  /* Mailbox 20 Data Word 1 [31:16] Register  */
862 #define CAN_MB20_DATA2      0xFFC02E88  /* Mailbox 20 Data Word 2 [47:32] Register  */
863 #define CAN_MB20_DATA3      0xFFC02E8C  /* Mailbox 20 Data Word 3 [63:48] Register  */
864 #define CAN_MB20_LENGTH     0xFFC02E90  /* Mailbox 20 Data Length Code Register     */
865 #define CAN_MB20_TIMESTAMP  0xFFC02E94  /* Mailbox 20 Time Stamp Value Register     */
866 #define CAN_MB20_ID0        0xFFC02E98  /* Mailbox 20 Identifier Low Register       */
867 #define CAN_MB20_ID1        0xFFC02E9C  /* Mailbox 20 Identifier High Register      */
868 
869 #define CAN_MB21_DATA0      0xFFC02EA0  /* Mailbox 21 Data Word 0 [15:0] Register   */
870 #define CAN_MB21_DATA1      0xFFC02EA4  /* Mailbox 21 Data Word 1 [31:16] Register  */
871 #define CAN_MB21_DATA2      0xFFC02EA8  /* Mailbox 21 Data Word 2 [47:32] Register  */
872 #define CAN_MB21_DATA3      0xFFC02EAC  /* Mailbox 21 Data Word 3 [63:48] Register  */
873 #define CAN_MB21_LENGTH     0xFFC02EB0  /* Mailbox 21 Data Length Code Register     */
874 #define CAN_MB21_TIMESTAMP  0xFFC02EB4  /* Mailbox 21 Time Stamp Value Register     */
875 #define CAN_MB21_ID0        0xFFC02EB8  /* Mailbox 21 Identifier Low Register       */
876 #define CAN_MB21_ID1        0xFFC02EBC  /* Mailbox 21 Identifier High Register      */
877 
878 #define CAN_MB22_DATA0      0xFFC02EC0  /* Mailbox 22 Data Word 0 [15:0] Register   */
879 #define CAN_MB22_DATA1      0xFFC02EC4  /* Mailbox 22 Data Word 1 [31:16] Register  */
880 #define CAN_MB22_DATA2      0xFFC02EC8  /* Mailbox 22 Data Word 2 [47:32] Register  */
881 #define CAN_MB22_DATA3      0xFFC02ECC  /* Mailbox 22 Data Word 3 [63:48] Register  */
882 #define CAN_MB22_LENGTH     0xFFC02ED0  /* Mailbox 22 Data Length Code Register     */
883 #define CAN_MB22_TIMESTAMP  0xFFC02ED4  /* Mailbox 22 Time Stamp Value Register     */
884 #define CAN_MB22_ID0        0xFFC02ED8  /* Mailbox 22 Identifier Low Register       */
885 #define CAN_MB22_ID1        0xFFC02EDC  /* Mailbox 22 Identifier High Register      */
886 
887 #define CAN_MB23_DATA0      0xFFC02EE0  /* Mailbox 23 Data Word 0 [15:0] Register   */
888 #define CAN_MB23_DATA1      0xFFC02EE4  /* Mailbox 23 Data Word 1 [31:16] Register  */
889 #define CAN_MB23_DATA2      0xFFC02EE8  /* Mailbox 23 Data Word 2 [47:32] Register  */
890 #define CAN_MB23_DATA3      0xFFC02EEC  /* Mailbox 23 Data Word 3 [63:48] Register  */
891 #define CAN_MB23_LENGTH     0xFFC02EF0  /* Mailbox 23 Data Length Code Register     */
892 #define CAN_MB23_TIMESTAMP  0xFFC02EF4  /* Mailbox 23 Time Stamp Value Register     */
893 #define CAN_MB23_ID0        0xFFC02EF8  /* Mailbox 23 Identifier Low Register       */
894 #define CAN_MB23_ID1        0xFFC02EFC  /* Mailbox 23 Identifier High Register      */
895 
896 #define CAN_MB24_DATA0      0xFFC02F00  /* Mailbox 24 Data Word 0 [15:0] Register   */
897 #define CAN_MB24_DATA1      0xFFC02F04  /* Mailbox 24 Data Word 1 [31:16] Register  */
898 #define CAN_MB24_DATA2      0xFFC02F08  /* Mailbox 24 Data Word 2 [47:32] Register  */
899 #define CAN_MB24_DATA3      0xFFC02F0C  /* Mailbox 24 Data Word 3 [63:48] Register  */
900 #define CAN_MB24_LENGTH     0xFFC02F10  /* Mailbox 24 Data Length Code Register     */
901 #define CAN_MB24_TIMESTAMP  0xFFC02F14  /* Mailbox 24 Time Stamp Value Register     */
902 #define CAN_MB24_ID0        0xFFC02F18  /* Mailbox 24 Identifier Low Register       */
903 #define CAN_MB24_ID1        0xFFC02F1C  /* Mailbox 24 Identifier High Register      */
904 
905 #define CAN_MB25_DATA0      0xFFC02F20  /* Mailbox 25 Data Word 0 [15:0] Register   */
906 #define CAN_MB25_DATA1      0xFFC02F24  /* Mailbox 25 Data Word 1 [31:16] Register  */
907 #define CAN_MB25_DATA2      0xFFC02F28  /* Mailbox 25 Data Word 2 [47:32] Register  */
908 #define CAN_MB25_DATA3      0xFFC02F2C  /* Mailbox 25 Data Word 3 [63:48] Register  */
909 #define CAN_MB25_LENGTH     0xFFC02F30  /* Mailbox 25 Data Length Code Register     */
910 #define CAN_MB25_TIMESTAMP  0xFFC02F34  /* Mailbox 25 Time Stamp Value Register     */
911 #define CAN_MB25_ID0        0xFFC02F38  /* Mailbox 25 Identifier Low Register       */
912 #define CAN_MB25_ID1        0xFFC02F3C  /* Mailbox 25 Identifier High Register      */
913 
914 #define CAN_MB26_DATA0      0xFFC02F40  /* Mailbox 26 Data Word 0 [15:0] Register   */
915 #define CAN_MB26_DATA1      0xFFC02F44  /* Mailbox 26 Data Word 1 [31:16] Register  */
916 #define CAN_MB26_DATA2      0xFFC02F48  /* Mailbox 26 Data Word 2 [47:32] Register  */
917 #define CAN_MB26_DATA3      0xFFC02F4C  /* Mailbox 26 Data Word 3 [63:48] Register  */
918 #define CAN_MB26_LENGTH     0xFFC02F50  /* Mailbox 26 Data Length Code Register     */
919 #define CAN_MB26_TIMESTAMP  0xFFC02F54  /* Mailbox 26 Time Stamp Value Register     */
920 #define CAN_MB26_ID0        0xFFC02F58  /* Mailbox 26 Identifier Low Register       */
921 #define CAN_MB26_ID1        0xFFC02F5C  /* Mailbox 26 Identifier High Register      */
922 
923 #define CAN_MB27_DATA0      0xFFC02F60  /* Mailbox 27 Data Word 0 [15:0] Register   */
924 #define CAN_MB27_DATA1      0xFFC02F64  /* Mailbox 27 Data Word 1 [31:16] Register  */
925 #define CAN_MB27_DATA2      0xFFC02F68  /* Mailbox 27 Data Word 2 [47:32] Register  */
926 #define CAN_MB27_DATA3      0xFFC02F6C  /* Mailbox 27 Data Word 3 [63:48] Register  */
927 #define CAN_MB27_LENGTH     0xFFC02F70  /* Mailbox 27 Data Length Code Register     */
928 #define CAN_MB27_TIMESTAMP  0xFFC02F74  /* Mailbox 27 Time Stamp Value Register     */
929 #define CAN_MB27_ID0        0xFFC02F78  /* Mailbox 27 Identifier Low Register       */
930 #define CAN_MB27_ID1        0xFFC02F7C  /* Mailbox 27 Identifier High Register      */
931 
932 #define CAN_MB28_DATA0      0xFFC02F80  /* Mailbox 28 Data Word 0 [15:0] Register   */
933 #define CAN_MB28_DATA1      0xFFC02F84  /* Mailbox 28 Data Word 1 [31:16] Register  */
934 #define CAN_MB28_DATA2      0xFFC02F88  /* Mailbox 28 Data Word 2 [47:32] Register  */
935 #define CAN_MB28_DATA3      0xFFC02F8C  /* Mailbox 28 Data Word 3 [63:48] Register  */
936 #define CAN_MB28_LENGTH     0xFFC02F90  /* Mailbox 28 Data Length Code Register     */
937 #define CAN_MB28_TIMESTAMP  0xFFC02F94  /* Mailbox 28 Time Stamp Value Register     */
938 #define CAN_MB28_ID0        0xFFC02F98  /* Mailbox 28 Identifier Low Register       */
939 #define CAN_MB28_ID1        0xFFC02F9C  /* Mailbox 28 Identifier High Register      */
940 
941 #define CAN_MB29_DATA0      0xFFC02FA0  /* Mailbox 29 Data Word 0 [15:0] Register   */
942 #define CAN_MB29_DATA1      0xFFC02FA4  /* Mailbox 29 Data Word 1 [31:16] Register  */
943 #define CAN_MB29_DATA2      0xFFC02FA8  /* Mailbox 29 Data Word 2 [47:32] Register  */
944 #define CAN_MB29_DATA3      0xFFC02FAC  /* Mailbox 29 Data Word 3 [63:48] Register  */
945 #define CAN_MB29_LENGTH     0xFFC02FB0  /* Mailbox 29 Data Length Code Register     */
946 #define CAN_MB29_TIMESTAMP  0xFFC02FB4  /* Mailbox 29 Time Stamp Value Register     */
947 #define CAN_MB29_ID0        0xFFC02FB8  /* Mailbox 29 Identifier Low Register       */
948 #define CAN_MB29_ID1        0xFFC02FBC  /* Mailbox 29 Identifier High Register      */
949 
950 #define CAN_MB30_DATA0      0xFFC02FC0  /* Mailbox 30 Data Word 0 [15:0] Register   */
951 #define CAN_MB30_DATA1      0xFFC02FC4  /* Mailbox 30 Data Word 1 [31:16] Register  */
952 #define CAN_MB30_DATA2      0xFFC02FC8  /* Mailbox 30 Data Word 2 [47:32] Register  */
953 #define CAN_MB30_DATA3      0xFFC02FCC  /* Mailbox 30 Data Word 3 [63:48] Register  */
954 #define CAN_MB30_LENGTH     0xFFC02FD0  /* Mailbox 30 Data Length Code Register     */
955 #define CAN_MB30_TIMESTAMP  0xFFC02FD4  /* Mailbox 30 Time Stamp Value Register     */
956 #define CAN_MB30_ID0        0xFFC02FD8  /* Mailbox 30 Identifier Low Register       */
957 #define CAN_MB30_ID1        0xFFC02FDC  /* Mailbox 30 Identifier High Register      */
958 
959 #define CAN_MB31_DATA0      0xFFC02FE0  /* Mailbox 31 Data Word 0 [15:0] Register   */
960 #define CAN_MB31_DATA1      0xFFC02FE4  /* Mailbox 31 Data Word 1 [31:16] Register  */
961 #define CAN_MB31_DATA2      0xFFC02FE8  /* Mailbox 31 Data Word 2 [47:32] Register  */
962 #define CAN_MB31_DATA3      0xFFC02FEC  /* Mailbox 31 Data Word 3 [63:48] Register  */
963 #define CAN_MB31_LENGTH     0xFFC02FF0  /* Mailbox 31 Data Length Code Register     */
964 #define CAN_MB31_TIMESTAMP  0xFFC02FF4  /* Mailbox 31 Time Stamp Value Register     */
965 #define CAN_MB31_ID0        0xFFC02FF8  /* Mailbox 31 Identifier Low Register       */
966 #define CAN_MB31_ID1        0xFFC02FFC  /* Mailbox 31 Identifier High Register      */
967 
968 /* CAN Mailbox Area Macros              */
969 #define CAN_MB_ID1(x)       (CAN_MB00_ID1+((x)*0x20))
970 #define CAN_MB_ID0(x)       (CAN_MB00_ID0+((x)*0x20))
971 #define CAN_MB_TIMESTAMP(x) (CAN_MB00_TIMESTAMP+((x)*0x20))
972 #define CAN_MB_LENGTH(x)    (CAN_MB00_LENGTH+((x)*0x20))
973 #define CAN_MB_DATA3(x)     (CAN_MB00_DATA3+((x)*0x20))
974 #define CAN_MB_DATA2(x)     (CAN_MB00_DATA2+((x)*0x20))
975 #define CAN_MB_DATA1(x)     (CAN_MB00_DATA1+((x)*0x20))
976 #define CAN_MB_DATA0(x)     (CAN_MB00_DATA0+((x)*0x20))
977 
978 
979 
980 /* Motor Control PWM1 Registers (0xFFC03000 - 0xFFC030FF)                                   */
981 #define PWM1_CTRL               0xFFC03000  /* PWM1 Control Register                        */
982 #define PWM1_STAT               0xFFC03004  /* PWM1 Status Register                         */
983 #define PWM1_TM                 0xFFC03008  /* PWM1 Period Register                         */
984 #define PWM1_DT                 0xFFC0300C  /* PWM1 Dead Time Register                      */
985 #define PWM1_GATE               0xFFC03010  /* PWM1 Chopping Control                        */
986 #define PWM1_CHA                0xFFC03014  /* PWM1 Channel A Duty Control                  */
987 #define PWM1_CHB                0xFFC03018  /* PWM1 Channel B Duty Control                  */
988 #define PWM1_CHC                0xFFC0301C  /* PWM1 Channel C Duty Control                  */
989 #define PWM1_SEG                0xFFC03020  /* PWM1 Crossover and Output Enable             */
990 #define PWM1_SYNCWT             0xFFC03024  /* PWM1 Sync pulse width control                */
991 #define PWM1_CHAL               0xFFC03028  /* PWM1 Channel AL Duty Control (SR mode only)  */
992 #define PWM1_CHBL               0xFFC0302C  /* PWM1 Channel BL Duty Control (SR mode only)  */
993 #define PWM1_CHCL               0xFFC03030  /* PWM1 Channel CL Duty Control (SR mode only)  */
994 #define PWM1_LSI                0xFFC03034  /* Low Side Invert (SR mode only)               */
995 #define PWM1_STAT2              0xFFC03038  /* PWM1 Status Register                         */
996 
997 
998 /* ADC Controller Module Registers (0xFFC03100 - 0xFFC031FF) */
999 #define ACM_CTL        0xFFC03100  /* ACM Control Register                  */
1000 #define ACM_TC0        0xFFC03104  /* ACM Timing Configuration 0 Register   */
1001 #define ACM_TC1        0xFFC03108  /* ACM Timing Configuration 1 Register   */
1002 #define ACM_STAT       0xFFC0310C  /* ACM Status Register                   */
1003 #define ACM_ES         0xFFC03110  /* ACM Event Status Register             */
1004 #define ACM_IMSK       0xFFC03114  /* ACM Interrupt Mask Register           */
1005 #define ACM_MS         0xFFC03118  /* ACM Missed Event Status Register      */
1006 #define ACM_EMSK       0xFFC0311C  /* ACM Missed Event Interrupt Mask Register */
1007 
1008 #define ACM_ER0        0xFFC03120  /* ACM Event 0 Control Register          */
1009 #define ACM_ER1        0xFFC03124  /* ACM Event 1 Control Register          */
1010 #define ACM_ER2        0xFFC03128  /* ACM Event 2 Control Register          */
1011 #define ACM_ER3        0xFFC0312C  /* ACM Event 3 Control Register          */
1012 #define ACM_ER4        0xFFC03130  /* ACM Event 4 Control Register          */
1013 #define ACM_ER5        0xFFC03134  /* ACM Event 5 Control Register          */
1014 #define ACM_ER6        0xFFC03138  /* ACM Event 6 Control Register          */
1015 #define ACM_ER7        0xFFC0313C  /* ACM Event 7 Control Register          */
1016 #define ACM_ER8        0xFFC03140  /* ACM Event 8 Control Register          */
1017 #define ACM_ER9        0xFFC03144  /* ACM Event 9 Control Register          */
1018 #define ACM_ER10       0xFFC03148  /* ACM Event 10 Control Register         */
1019 #define ACM_ER11       0xFFC0314C  /* ACM Event 11 Control Register         */
1020 #define ACM_ER12       0xFFC03150  /* ACM Event 12 Control Register         */
1021 #define ACM_ER13       0xFFC03154  /* ACM Event 13 Control Register         */
1022 #define ACM_ER14       0xFFC03158  /* ACM Event 14 Control Register         */
1023 #define ACM_ER15       0xFFC0315C  /* ACM Event 15 Control Register         */
1024 
1025 #define ACM_ET0        0xFFC03180  /* ACM Event 0 Time Register             */
1026 #define ACM_ET1        0xFFC03184  /* ACM Event 1 Time Register             */
1027 #define ACM_ET2        0xFFC03188  /* ACM Event 2 Time Register             */
1028 #define ACM_ET3        0xFFC0318C  /* ACM Event 3 Time Register             */
1029 #define ACM_ET4        0xFFC03190  /* ACM Event 4 Time Register             */
1030 #define ACM_ET5        0xFFC03194  /* ACM Event 5 Time Register             */
1031 #define ACM_ET6        0xFFC03198  /* ACM Event 6 Time Register             */
1032 #define ACM_ET7        0xFFC0319C  /* ACM Event 7 Time Register             */
1033 #define ACM_ET8        0xFFC031A0  /* ACM Event 8 Time Register             */
1034 #define ACM_ET9        0xFFC031A4  /* ACM Event 9 Time Register             */
1035 #define ACM_ET10       0xFFC031A8  /* ACM Event 10 Time Register            */
1036 #define ACM_ET11       0xFFC031AC  /* ACM Event 11 Time Register            */
1037 #define ACM_ET12       0xFFC031B0  /* ACM Event 12 Time Register            */
1038 #define ACM_ET13       0xFFC031B4  /* ACM Event 13 Time Register            */
1039 #define ACM_ET14       0xFFC031B8  /* ACM Event 14 Time Register            */
1040 #define ACM_ET15       0xFFC031BC  /* ACM Event 15 Time Register            */
1041 
1042 #define ACM_TMR0       0xFFC031C0  /* ACM Timer 0 Registers                 */
1043 #define ACM_TMR1       0xFFC031C4  /* ACM Timer 1 Registers                 */
1044 
1045 
1046 /* Pin Control Registers        (0xFFC03200 - 0xFFC032FF)                                   */
1047 #define PORTF_FER               0xFFC03200  /* Port F Function Enable Register (Alternate/Flag*) */
1048 #define PORTG_FER               0xFFC03204  /* Port G Function Enable Register (Alternate/Flag*) */
1049 #define PORTH_FER               0xFFC03208  /* Port H Function Enable Register (Alternate/Flag*) */
1050 
1051 
1052 /* GPIO PIN mux                 (0xFFC03210 - OxFFC03288)                                   */
1053 #define PORTF_MUX               0xFFC03210  /* Port F mux control                           */
1054 #define PORTG_MUX               0xFFC03214  /* Port G mux control                           */
1055 #define PORTH_MUX               0xFFC03218  /* Port H mux control                           */
1056 #define PORTF_HYSTERESIS        0xFFC03240  /* Port F Schmitt trigger control               */
1057 #define PORTG_HYSTERESIS        0xFFC03244  /* Port G Schmitt trigger control               */
1058 #define PORTH_HYSTERESIS        0xFFC03248  /* Port H Schmitt trigger control               */
1059 
1060 #define NONGPIO_DRIVE           0xFFC03280  /* Misc Port drive strength control             */
1061 #define NONGPIO_HYSTERESIS      0xFFC03288  /* Misc Port Schmitt Trigger control            */
1062 
1063 #define FLASH_CONTROL           0xFFC0328C  /* Stacked flash control register               */
1064 #define FLASH_CONTROL_SET       0xFFC03290  /* Stacked flash control set register           */
1065 #define FLASH_CONTROL_CLEAR     0xFFC03294  /* Stacked flash control clear register         */
1066 
1067 
1068 /* Counter 1 Registers          (0xFFC03300 - 0xFFC033FF)                                   */
1069 #define CNT1_CONFIG             0xFFC03300  /* Counter 1 Configuration Register             */
1070 #define CNT1_IMASK              0xFFC03304  /* Counter 1 Interrupt Mask Register            */
1071 #define CNT1_STATUS             0xFFC03308  /* Counter 1 Status Register                    */
1072 #define CNT1_COMMAND            0xFFC0330C  /* Counter 1 Command Register                   */
1073 #define CNT1_DEBOUNCE           0xFFC03310  /* Counter 1 Debounce Register                  */
1074 #define CNT1_COUNTER            0xFFC03314  /* Counter 1 Counter Register                   */
1075 #define CNT1_MAX                0xFFC03318  /* Counter 1 Boundry Value Register - max count */
1076 #define CNT1_MIN                0xFFC0331C  /* Counter 1 Boundry Value Register - min count */
1077 
1078 
1079 /* SPI1 Controller              (0xFFC03400 - 0xFFC034FF)                                   */
1080 #define SPI1_CTL                0xFFC03400  /* SPI1 Control Register                        */
1081 #define SPI1_FLG                0xFFC03404  /* SPI1 Flag register                           */
1082 #define SPI1_STAT               0xFFC03408  /* SPI1 Status register                         */
1083 #define SPI1_TDBR               0xFFC0340C  /* SPI1 Transmit Data Buffer Register           */
1084 #define SPI1_RDBR               0xFFC03410  /* SPI1 Receive Data Buffer Register            */
1085 #define SPI1_BAUD               0xFFC03414  /* SPI1 Baud rate Register                      */
1086 #define SPI1_SHADOW             0xFFC03418  /* SPI1_RDBR Shadow Register                    */
1087 
1088 
1089 /* Counter 0 Registers          (0xFFC03500 - 0xFFC035FF)                                   */
1090 #define CNT0_CONFIG             0xFFC03500  /* Counter 0 Configuration Register             */
1091 #define CNT0_IMASK              0xFFC03504  /* Counter 0 Interrupt Mask Register            */
1092 #define CNT0_STATUS             0xFFC03508  /* Counter 0 Status Register                    */
1093 #define CNT0_COMMAND            0xFFC0350C  /* Counter 0 Command Register                   */
1094 #define CNT0_DEBOUNCE           0xFFC03510  /* Counter 0 Debounce Register                  */
1095 #define CNT0_COUNTER            0xFFC03514  /* Counter 0 Counter Register                   */
1096 #define CNT0_MAX                0xFFC03518  /* Counter 0 Boundry Value Register - max count */
1097 #define CNT0_MIN                0xFFC0351C  /* Counter 0 Boundry Value Register - min count */
1098 
1099 
1100 /* Motor Control PWM0 Registers (0xFFC03700 - 0xFFC037FF)                                   */
1101 #define PWM0_CTRL               0xFFC03700  /* PWM0 Control Register                        */
1102 #define PWM0_STAT               0xFFC03704  /* PWM0 Status Register                         */
1103 #define PWM0_TM                 0xFFC03708  /* PWM0 Period Register                         */
1104 #define PWM0_DT                 0xFFC0370C  /* PWM0 Dead Time Register                      */
1105 #define PWM0_GATE               0xFFC03710  /* PWM0 Chopping Control                        */
1106 #define PWM0_CHA                0xFFC03714  /* PWM0 Channel A Duty Control                  */
1107 #define PWM0_CHB                0xFFC03718  /* PWM0 Channel B Duty Control                  */
1108 #define PWM0_CHC                0xFFC0371C  /* PWM0 Channel C Duty Control                  */
1109 #define PWM0_SEG                0xFFC03720  /* PWM0 Crossover and Output Enable             */
1110 #define PWM0_SYNCWT             0xFFC03724  /* PWM0 Sync pulse width control                */
1111 #define PWM0_CHAL               0xFFC03728  /* PWM0 Channel AL Duty Control (SR mode only)  */
1112 #define PWM0_CHBL               0xFFC0372C  /* PWM0 Channel BL Duty Control (SR mode only)  */
1113 #define PWM0_CHCL               0xFFC03730  /* PWM0 Channel CL Duty Control (SR mode only)  */
1114 #define PWM0_LSI                0xFFC03734  /* Low Side Invert (SR mode only)               */
1115 #define PWM0_STAT2              0xFFC03738  /* PWM0 Status Register                         */
1116 
1117 
1118 /* RSI Registers                (0xFFC03800 - 0xFFC03CFF)                                   */
1119 #define RSI_PWR_CONTROL         0xFFC03800      /* RSI Power Control Register */
1120 /* legacy register name (below) provided for backwards code compatibility */
1121 #define SDH_PWR_CTL             (RSI_PWR_CONTROL)/* SDH Power Control */
1122 #define RSI_CLK_CONTROL         0xFFC03804      /* RSI Clock Control Register */
1123 /* legacy register name (below) provided for backwards code compatibility */
1124 #define SDH_CLK_CTL             (RSI_CLK_CONTROL)/* SDH Clock Control */
1125 #define RSI_ARGUMENT            0xFFC03808      /* RSI Argument Register */
1126 /* legacy register name (below) provided for backwards code compatibility */
1127 #define SDH_ARGUMENT            (RSI_ARGUMENT)  /* SDH Argument */
1128 #define RSI_COMMAND             0xFFC0380C      /* RSI Command Register */
1129 /* legacy register name (below) provided for backwards code compatibility */
1130 #define SDH_COMMAND             (RSI_COMMAND)       /* SDH Command */
1131 #define RSI_RESP_CMD            0xFFC03810      /* RSI Response Command Register */
1132 /* legacy register name (below) provided for backwards code compatibility */
1133 #define SDH_RESP_CMD            (RSI_RESP_CMD)      /* SDH Response Command */
1134 #define RSI_RESPONSE0           0xFFC03814      /* RSI Response Register */
1135 /* legacy register name (below) provided for backwards code compatibility */
1136 #define SDH_RESPONSE0           (RSI_RESPONSE0)     /* SDH Response0 */
1137 #define RSI_RESPONSE1           0xFFC03818      /* RSI Response Register */
1138 /* legacy register name (below) provided for backwards code compatibility */
1139 #define SDH_RESPONSE1           (RSI_RESPONSE1)     /* SDH Response1 */
1140 #define RSI_RESPONSE2           0xFFC0381C  /* RSI Response Register */
1141 /* legacy register name (below) provided for backwards code compatibility */
1142 #define SDH_RESPONSE2           (RSI_RESPONSE2)     /* SDH Response2 */
1143 #define RSI_RESPONSE3           0xFFC03820      /* RSI Response Register */
1144 /* legacy register name (below) provided for backwards code compatibility */
1145 #define SDH_RESPONSE3           (RSI_RESPONSE3)     /* SDH Response3 */
1146 #define RSI_DATA_TIMER          0xFFC03824      /* RSI Data Timer Register */
1147 /* legacy register name (below) provided for backwards code compatibility */
1148 #define SDH_DATA_TIMER          (RSI_DATA_TIMER)    /* SDH Data Timer */
1149 #define RSI_DATA_LGTH           0xFFC03828      /* RSI Data Length Register */
1150 /* legacy register name (below) provided for backwards code compatibility */
1151 #define SDH_DATA_LGTH           (RSI_DATA_LGTH)     /* SDH Data Length */
1152 #define RSI_DATA_CONTROL        0xFFC0382C      /* RSI Data Control Register */
1153 /* legacy register name (below) provided for backwards code compatibility */
1154 #define SDH_DATA_CTL            (RSI_DATA_CONTROL)  /* SDH Data Control */
1155 #define RSI_DATA_CNT            0xFFC03830      /* RSI Data Counter Register */
1156 /* legacy register name (below) provided for backwards code compatibility */
1157 #define SDH_DATA_CNT            (RSI_DATA_CNT)      /* SDH Data Counter */
1158 #define RSI_STATUS              0xFFC03834      /* RSI Status Register */
1159 /* legacy register name (below) provided for backwards code compatibility */
1160 #define SDH_STATUS              (RSI_STATUS)        /* SDH Status */
1161 #define RSI_STATUSCL            0xFFC03838      /* RSI Status Clear Register */
1162 /* legacy register name (below) provided for backwards code compatibility */
1163 #define SDH_STATUS_CLR          (RSI_STATUSCL)      /* SDH Status Clear */
1164 #define RSI_MASK0               0xFFC0383C      /* RSI Interrupt 0 Mask Register */
1165 /* legacy register name (below) provided for backwards code compatibility */
1166 #define SDH_MASK0               (RSI_MASK0)         /* SDH Interrupt0 Mask */
1167 #define RSI_MASK1               0xFFC03840      /* RSI Interrupt 1 Mask Register */
1168 /* legacy register name (below) provided for backwards code compatibility */
1169 #define SDH_MASK1               (RSI_MASK1)         /* SDH Interrupt1 Mask */
1170 #define RSI_FIFO_CNT            0xFFC03848      /* RSI FIFO Counter Register */
1171 /* legacy register name (below) provided for backwards code compatibility */
1172 #define SDH_FIFO_CNT            (RSI_FIFO_CNT)      /* SDH FIFO Counter */
1173 #define RSI_CEATA_CONTROL       0xFFC0384C      /* RSI CEATA Register */
1174 #define RSI_FIFO                0xFFC03880      /* RSI Data FIFO Register */
1175 /* legacy register name (below) provided for backwards code compatibility */
1176 #define SDH_FIFO                (RSI_FIFO)          /* SDH Data FIFO */
1177 #define RSI_ESTAT               0xFFC038C0      /* RSI Exception Status Register */
1178 /* legacy register name (below) provided for backwards code compatibility */
1179 #define SDH_E_STATUS            (RSI_ESTAT)         /* SDH Exception Status */
1180 #define RSI_EMASK               0xFFC038C4      /* RSI Exception Mask Register */
1181 /* legacy register name (below) provided for backwards code compatibility */
1182 #define SDH_E_MASK              (RSI_EMASK)         /* SDH Exception Mask */
1183 #define RSI_CONFIG              0xFFC038C8      /* RSI Configuration Register */
1184 /* legacy register name (below) provided for backwards code compatibility */
1185 #define SDH_CFG                 (RSI_CONFIG)        /* SDH Configuration */
1186 #define RSI_RD_WAIT_EN          0xFFC038CC      /* RSI Read Wait Enable Register */
1187 /* legacy register name (below) provided for backwards code compatibility */
1188 #define SDH_RD_WAIT_EN          (RSI_RD_WAIT_EN)    /* SDH Read Wait Enable */
1189 #define RSI_PID0                0xFFC038D0      /* RSI Peripheral ID Register 0 */
1190 /* legacy register name (below) provided for backwards code compatibility */
1191 #define SDH_PID0                (RSI_PID0)          /* SDH Peripheral Identification0 */
1192 #define RSI_PID1                0xFFC038D4      /* RSI Peripheral ID Register 1 */
1193 /* legacy register name (below) provided for backwards code compatibility */
1194 #define SDH_PID1                (RSI_PID1)          /* SDH Peripheral Identification1 */
1195 #define RSI_PID2                0xFFC038D8      /* RSI Peripheral ID Register 2 */
1196 /* legacy register name (below) provided for backwards code compatibility */
1197 #define SDH_PID2                (RSI_PID2)          /* SDH Peripheral Identification2 */
1198 #define RSI_PID3                0xFFC038DC      /* RSI Peripheral ID Register 3 */
1199 /* legacy register name (below) provided for backwards code compatibility */
1200 #define SDH_PID3                (RSI_PID3)          /* SDH Peripheral Identification3 */
1201 
1202 
1203 /******************************************************************************************************************
1204 ** System MMR Register Bits And Macros
1205 **
1206 ** Disclaimer:  All macros are intended to make C and Assembly code more readable.
1207 **          Use these macros carefully, as any that do left shifts for field
1208 **          depositing will result in the lower order bits being destroyed.  Any
1209 **          macro that shifts left to properly position the bit-field should be
1210 **          used as part of an OR to initialize a register and NOT as a dynamic
1211 **          modifier UNLESS the lower order bits are saved and ORed back in when
1212 **          the macro is used.
1213 *******************************************************************************************************************/
1214 
1215 /************************************** PLL AND RESET MASKS *******************************************************/
1216 
1217 /* PLL_CTL Masks */
1218 #define DF                  0x0001  /* 0: PLL = CLKIN, 1: PLL = CLKIN/2                     */
1219 #define PLL_OFF             0x0002  /* PLL Not Powered                              */
1220 #define STOPCK              0x0008  /* Core Clock Off                                   */
1221 #define PDWN                0x0020  /* Enter Deep Sleep Mode                            */
1222 #define IN_DELAY                0x0040  /* Add 200ps Delay To EBIU Input Latches                    */
1223 #define OUT_DELAY               0x0080  /* Add 200ps Delay To EBIU Output Signals                   */
1224 #define BYPASS              0x0100  /* Bypass the PLL                                   */
1225 #define MSEL                0x7E00  /* Multiplier Select For CCLK/VCO Factors                   */
1226 
1227 /* PLL_CTL Macros (Only Use With Logic OR While Setting Lower Order Bits) */
1228 #ifdef _MISRA_RULES
1229 #define SET_MSEL(x) (((x)&0x3Fu) << 0x9)    /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL                 */
1230 #else
1231 #define SET_MSEL(x) (((x)&0x3F) << 0x9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL                 */
1232 #endif /* _MISRA_RULES */
1233 
1234 /* PLL_DIV Masks */
1235 #define SSEL                0x000F  /* System Select                                    */
1236 #define CSEL                0x0030  /* Core Select                                  */
1237 #define CSEL_DIV1               0x0000  /* CCLK = VCO / 1                                   */
1238 #define CSEL_DIV2               0x0010  /* CCLK = VCO / 2                                   */
1239 #define CSEL_DIV4               0x0020  /* CCLK = VCO / 4                                   */
1240 #define CSEL_DIV8               0x0030  /* CCLK = VCO / 8                                   */
1241 
1242 /* PLL_DIV Macros   */
1243 #ifdef _MISRA_RULES
1244 #define SET_SSEL(x)         ((x)&0xFu)  /* Set SSEL = 0-15 --> SCLK = VCO/SSEL                  */
1245 #else
1246 #define SET_SSEL(x)         ((x)&0xF)   /* Set SSEL = 0-15 --> SCLK = VCO/SSEL                  */
1247 #endif /* _MISRA_RULES */
1248 
1249 /* VR_CTL Masks */
1250 #define WAKE_POLARITY           0x8000  /* GPIO wakeup active level                         */
1251 #define EXTCLK_OE               0x4000  /* Enable/disable EXTCLK                            */
1252 #define EXTCLK_SEL              0x2000  /* EXTCLK Select                                    */
1253 #define HIBERNATEB              0x1000  /* Bit mask for HIBERNATEB                          */
1254 #define HIBERNATE               0x0000  /* Enter Hibernate - this bit is active LOW         */
1255 #define WAKE_EN0				0x0100	/* Enable Wakeup From Hibernate/Deep Sleep on the WAKEN0 signal	*/
1256 #define WAKE_EN1				0x0200	/* Enable Wakeup From Hibernate/Deep Sleep on the WAKEN1 signal	*/
1257 #define CANWE                   0x0400  /* CAN Rx Wakeup Enable                             */
1258 #define WAKE_EN2				0x0800	/* Enable Wakeup From Hibernate/Deep Sleep on the WAKEN3 signal	*/
1259 
1260 /* PLL_STAT Masks   */
1261 #define ACTIVE_PLLENABLED       0x0001  /* Processor In Active Mode With PLL Enabled                */
1262 #define FULL_ON             0x0002  /* Processor In Full On Mode                            */
1263 #define ACTIVE_PLLDISABLED      0x0004  /* Processor In Active Mode With PLL Disabled               */
1264 #define PLL_LOCKED          0x0020  /* PLL_LOCKCNT Has Been Reached                     */
1265 
1266 /* SWRST Masks */
1267 #define SYSTEM_RESET            0x0007  /* Initiates A System Software Reset                    */
1268 #define DOUBLE_FAULT            0x0008  /* Core Double Fault Causes Reset                       */
1269 #define RESET_DOUBLE            0x2000  /* SW Reset Generated By Core Double-Fault              */
1270 #define RESET_WDOG          0x4000  /* SW Reset Generated By Watchdog Timer                 */
1271 #define RESET_SOFTWARE          0x8000  /* SW Reset Occurred Since Last Read Of SWRST               */
1272 
1273 /* SYSCR Masks */
1274 #define BMODE_BYPASS            0x0000  /* Bypass boot ROM, execute from 16-bit external memory  */
1275 #define BMODE_FLASH_ASYNC       0x0001  /* Boot from stacked parallel flash in asynchornous mode */
1276 #define BMODE_FLASH_SYNC        0x0002  /* Boot from stacked parallel flash in synchornous mode  */
1277 #define BMODE_SPIMEM            0x0003  /* Boot from serial SPI memory (master mode)             */
1278 #define BMODE_SPIHOST           0x0004  /* Boot from SPI0 host (slave mode)                      */
1279 #define BMODE_PPIHOST           0x0005  /* Boot from PPI host                                    */
1280 #define BMODE_UART0HOST         0x0007  /* Boot from UART0 host                                  */
1281 
1282 #define BMODE                   0x000F  /* Boot Mode. Mirror of BMODE Mode Pins                  */
1283 
1284 #define BCODE                   0x00F0
1285 #define BCODE_NORMAL            0x0000  /* normal boot, update PLL/VR, quickboot as by WURESET   */
1286 #define BCODE_NOBOOT            0x0010  /* bypass boot, don't update PLL/VR                      */
1287 #define BCODE_QUICKBOOT         0x0020  /* quick boot, overrule WURESET, don't update PLL/VR     */
1288 #define BCODE_ALLBOOT           0x0040  /* no quick boot, overrule WURESET, don't update PLL/VR  */
1289 #define BCODE_FULLBOOT          0x0060  /* no quick boot, overrule WURESET, update PLL/VR        */
1290 
1291 #define WURESET                 0x1000  /* wakeup event since last hardware reset                */
1292 #define DFRESET                 0x2000  /* recent reset was due to a double fault event          */
1293 #define WDRESET                 0x4000  /* recent reset was due to a watchdog event              */
1294 #define SWRESET                 0x8000  /* recent reset was issued by software                   */
1295 
1296 /*********************************  SYSTEM INTERRUPT CONTROLLER MASKS *********************************************/
1297 
1298 /* Peripheral Masks For SIC_ISR0, SIC_IWR0, SIC_IMASK0 */
1299 #define IRQ_PLL_WAKEUP          0x00000001  /* PLL Wakeup Interrupt                                     */
1300 #define IRQ_DMA_ERR0            0x00000002  /* Error Interrupt (DMA error interrupt (generic))          */
1301 #define IRQ_PPI_ERR             0x00000004  /* Error Interrupt (PPI error interrupt)                    */
1302 #define IRQ_SPORT0_ERR          0x00000008  /* Error Interrupt (SPORT0 status interrupt)                */
1303 #define IRQ_SPORT1_ERR          0x00000010  /* Error Interrupt (SPORT1 status interrupt)                */
1304 #define IRQ_UART0_ERR           0x00000020  /* Error Interrupt (UART0 status interrupt)                 */
1305 #define IRQ_UART1_ERR           0x00000040  /* Error Interrupt (UART1 status interrupt)                 */
1306 #define IRQ_SPI0_ERR            0x00000080  /* Error Interrupt (SPI0 status interrupt)                  */
1307 #define IRQ_SPI1_ERR            0x00000100  /* Error Interrupt (SPI1 status interrupt)                  */
1308 #define IRQ_CAN_ERR             0x00000200  /* Error Interrupt (CAN status interrupt)                   */
1309 #define IRQ_RSI_INT0            0x00000400  /* RSI Mask 0 Interrupt                                     */
1310                                             /* Bit 11 is reserved                                       */
1311 #define IRQ_CNT0                0x00001000  /* GP Counter 0 Interrupt                                   */
1312 #define IRQ_CNT1                0x00002000  /* GP Counter 1 Interrupt                                   */
1313 #define IRQ_DMA0                0x00004000  /* DMA Channel 0 (PPI Rx/Tx) Interrupt                      */
1314 #define IRQ_DMA1                0x00008000  /* DMA Channel 1 (RSI Rx/Tx) Interrupt                      */
1315 #define IRQ_DMA2                0x00010000  /* DMA Channel 2 (SPORT0 Rx) Interrupt                      */
1316 #define IRQ_DMA3                0x00020000  /* DMA Channel 3 (SPORT0 Tx) Interrupt                      */
1317 #define IRQ_DMA4                0x00040000  /* DMA Channel 4 (SPORT1 Rx) Interrupt                      */
1318 #define IRQ_DMA5                0x00080000  /* DMA Channel 5 (SPORT1 Tx) Interrupt                      */
1319 #define IRQ_DMA6                0x00100000  /* DMA Channel 6 (SPI0 Rx/Tx) Interrupt                     */
1320 #define IRQ_DMA7                0x00200000  /* DMA Channel 7 (SPI1 Rx/Tx) Interrupt                     */
1321 #define IRQ_DMA8                0x00400000  /* DMA Channel 8 (UART0 Rx) Interrupt                       */
1322 #define IRQ_DMA9                0x00800000  /* DMA Channel 9 (UART0 Tx) Interrupt                       */
1323 #define IRQ_DMA10               0x01000000  /* DMA Channel 10 (UART1 Rx) Interrupt                      */
1324 #define IRQ_DMA11               0x02000000  /* DMA Channel 11 (UART1 Tx) Interrupt                      */
1325 #define IRQ_CAN_RX              0x04000000  /* CAN Rx Interrupt                                         */
1326 #define IRQ_CAN_TX              0x08000000  /* CAN Tx Interrupt                                         */
1327 #define IRQ_TWI                 0x10000000  /* TWI Interrupt                                            */
1328 #define IRQ_PFA_PORTF           0x20000000  /* PF Port F Interrupt A                                    */
1329 #define IRQ_PFB_PORTF           0x40000000  /* PF Port F Interrupt B                                    */
1330                                             /* Bit 31 is reserved                                       */
1331 
1332 
1333 /* Peripheral Masks For SIC_ISR1, SIC_IWR1, SIC_IMASK1 */
1334 #define IRQ_TIMER0              0x00000001  /* Timer 0 Interrupt                                        */
1335 #define IRQ_TIMER1              0x00000002  /* Timer 1 Interrupt                                        */
1336 #define IRQ_TIMER2              0x00000004  /* Timer 2 Interrupt                                        */
1337 #define IRQ_TIMER3              0x00000008  /* Timer 3 Interrupt                                        */
1338 #define IRQ_TIMER4              0x00000010  /* Timer 4 Interrupt                                        */
1339 #define IRQ_TIMER5              0x00000020  /* Timer 5 Interrupt                                        */
1340 #define IRQ_TIMER6              0x00000040  /* Timer 6 Interrupt                                        */
1341 #define IRQ_TIMER7              0x00000080  /* Timer 7 Interrupt                                        */
1342 #define IRQ_PFA_PORTG           0x00000100  /* PF Port G Interrupt A                                    */
1343 #define IRQ_PFB_PORTG           0x00000200  /* PF Port G Interrupt B                                    */
1344 #define IRQ_DMA12               0x00000400  /* DMA Channel 12 (MDMA0 Destination) Rx Interrupt          */
1345 #define IRQ_DMA13               0x00000400  /* DMA Channel 13 (MDMA0 Source) Tx Interrupt               */
1346 #define IRQ_DMA14               0x00000800  /* DMA Channels 14 (MDMA1 Destination) Rx Interrupt         */
1347 #define IRQ_DMA15               0x00000800  /* DMA Channels 15 (MDMA1 Source) Tx Interrupt              */
1348 #define IRQ_WDOG                0x00001000  /* Software Watchdog Timer Interrupt                        */
1349 #define IRQ_PFA_PORTH           0x00002000  /* PF Port H Interrupt A                                    */
1350 #define IRQ_PFB_PORTH           0x00004000  /* PF Port H Interrupt B                                    */
1351 #define IRQ_ACM_ERR             0x00008000  /* Error Interrupt (ACM status interrupt)                   */
1352 #define IRQ_ACM                 0x00010000  /* ACM (ADC Controller Module) Interrupt                    */
1353                                             /* Bit 49 is reserved                                       */
1354                                             /* Bit 50 is reserved                                       */
1355 #define IRQ_PWM0_TRIPINT        0x00080000  /* PWM 0 Trip Interrupt                                     */
1356 #define IRQ_PWM0_SYNCINT        0x00100000  /* PWM 0 Sync Interrupt                                     */
1357 #define IRQ_PWM1_TRIPINT        0x00200000  /* PWM 1 Trip Interrupt                                     */
1358 #define IRQ_PWM1_SYNCINT        0x00400000  /* PWM 1 Sync Interrupt                                     */
1359 #define IRQ_RSI_INT1            0x00800000  /* RSI Mask 1 interrupt                                     */
1360                                             /* Bits 63:56 are reserved                                  */
1361 
1362 
1363 /* Peripheral Masks For SIC_ISR, SIC_IWR, SIC_IMASK */
1364 #define IWR_DISABLE_ALL         0x00000000  /* Wakeup Disable all peripherals                       */
1365 #define IWR_ENABLE_ALL              0xFFFFFFFF  /* Wakeup Enable all peripherals                        */
1366 /* x = pos 0 to 31, for 32-63 use value-32 */
1367 #define IWR_ENABLE(x)               (1 << (x))  /* Wakeup Enable Peripheral #x                      */
1368 #define IWR_DISABLE(x)   (0xFFFFFFFF^(1<<(x)))  /* Wakeup Disable Peripheral #x                         */
1369 
1370 #ifdef _MISRA_RULES
1371 #define _MF15   0xFu
1372 #define _MF7    7u
1373 #else
1374 #define _MF15   0xF
1375 #define _MF7    7
1376 #endif /* _MISRA_RULES */
1377 
1378 
1379 /* SIC_IAR0 Macros*/
1380 #define P0_IVG(x)       (((x)&_MF15)-_MF7)           /* Peripheral #0 assigned IVG #x    */
1381 #define P1_IVG(x)       ((((x)&_MF15)-_MF7) << 0x4)  /* Peripheral #1 assigned IVG #x    */
1382 #define P2_IVG(x)       ((((x)&_MF15)-_MF7) << 0x8)  /* Peripheral #2 assigned IVG #x    */
1383 #define P3_IVG(x)       ((((x)&_MF15)-_MF7) << 0xC)  /* Peripheral #3 assigned IVG #x    */
1384 #define P4_IVG(x)       ((((x)&_MF15)-_MF7) << 0x10) /* Peripheral #4 assigned IVG #x    */
1385 #define P5_IVG(x)       ((((x)&_MF15)-_MF7) << 0x14) /* Peripheral #5 assigned IVG #x    */
1386 #define P6_IVG(x)       ((((x)&_MF15)-_MF7) << 0x18) /* Peripheral #6 assigned IVG #x    */
1387 #define P7_IVG(x)       ((((x)&_MF15)-_MF7) << 0x1C) /* Peripheral #7 assigned IVG #x    */
1388 
1389 /* SIC_IAR1 Macros*/
1390 #define P8_IVG(x)       (((x)&_MF15)-_MF7)           /* Peripheral #8 assigned IVG #x    */
1391 #define P9_IVG(x)       ((((x)&_MF15)-_MF7) << 0x4)  /* Peripheral #9 assigned IVG #x    */
1392 #define P10_IVG(x)      ((((x)&_MF15)-_MF7) << 0x8)  /* Peripheral #10 assigned IVG #x   */
1393 #define P11_IVG(x)                                   /* Reserved                         */
1394 #define P12_IVG(x)      ((((x)&_MF15)-_MF7) << 0x10) /* Peripheral #12 assigned IVG #x   */
1395 #define P13_IVG(x)      ((((x)&_MF15)-_MF7) << 0x14) /* Peripheral #13 assigned IVG #x   */
1396 #define P14_IVG(x)      ((((x)&_MF15)-_MF7) << 0x18) /* Peripheral #14 assigned IVG #x   */
1397 #define P15_IVG(x)      ((((x)&_MF15)-_MF7) << 0x1C) /* Peripheral #15 assigned IVG #x   */
1398 
1399 /* SIC_IAR2 Macros*/
1400 #define P16_IVG(x)      (((x)&_MF15)-_MF7)           /* Peripheral #16 assigned IVG #x   */
1401 #define P17_IVG(x)      ((((x)&_MF15)-_MF7) << 0x4)  /* Peripheral #17 assigned IVG #x   */
1402 #define P18_IVG(x)      ((((x)&_MF15)-_MF7) << 0x8)  /* Peripheral #18 assigned IVG #x   */
1403 #define P19_IVG(x)      ((((x)&_MF15)-_MF7) << 0xC)  /* Peripheral #19 assigned IVG #x   */
1404 #define P20_IVG(x)      ((((x)&_MF15)-_MF7) << 0x10) /* Peripheral #20 assigned IVG #x   */
1405 #define P21_IVG(x)      ((((x)&_MF15)-_MF7) << 0x14) /* Peripheral #21 assigned IVG #x   */
1406 #define P22_IVG(x)      ((((x)&_MF15)-_MF7) << 0x18) /* Peripheral #22 assigned IVG #x   */
1407 #define P23_IVG(x)      ((((x)&_MF15)-_MF7) << 0x1C) /* Peripheral #23 assigned IVG #x   */
1408 
1409 
1410 /* SIC_IAR3 Macros*/
1411 #define P24_IVG(x)      (((x)&_MF15)-_MF7)           /* Peripheral #24 assigned IVG #x   */
1412 #define P25_IVG(x)      ((((x)&_MF15)-_MF7) << 0x4)  /* Peripheral #25 assigned IVG #x   */
1413 #define P26_IVG(x)      ((((x)&_MF15)-_MF7) << 0x8)  /* Peripheral #26 assigned IVG #x   */
1414 #define P27_IVG(x)      ((((x)&_MF15)-_MF7) << 0xC)  /* Peripheral #27 assigned IVG #x   */
1415 #define P28_IVG(x)      ((((x)&_MF15)-_MF7) << 0x10) /* Peripheral #28 assigned IVG #x   */
1416 #define P29_IVG(x)      ((((x)&_MF15)-_MF7) << 0x14) /* Peripheral #29 assigned IVG #x   */
1417 #define P30_IVG(x)      ((((x)&_MF15)-_MF7) << 0x18) /* Peripheral #30 assigned IVG #x   */
1418 #define P31_IVG(x)                                   /* Reserved                         */
1419 
1420 /* SIC_IAR4 Macros*/
1421 #define P32_IVG(x)      (((x)&_MF15)-_MF7)           /* Peripheral #32 assigned IVG #x   */
1422 #define P33_IVG(x)      ((((x)&_MF15)-_MF7) << 0x4)  /* Peripheral #33 assigned IVG #x   */
1423 #define P34_IVG(x)      ((((x)&_MF15)-_MF7) << 0x8)  /* Peripheral #34 assigned IVG #x   */
1424 #define P35_IVG(x)      ((((x)&_MF15)-_MF7) << 0xC)  /* Peripheral #35 assigned IVG #x   */
1425 #define P36_IVG(x)      ((((x)&_MF15)-_MF7) << 0x10) /* Peripheral #36 assigned IVG #x   */
1426 #define P37_IVG(x)      ((((x)&_MF15)-_MF7) << 0x14) /* Peripheral #37 assigned IVG #x   */
1427 #define P38_IVG(x)      ((((x)&_MF15)-_MF7) << 0x18) /* Peripheral #38 assigned IVG #x   */
1428 #define P39_IVG(x)      ((((x)&_MF15)-_MF7) << 0x1C) /* Peripheral #39 assigned IVG #x   */
1429 
1430 /* SIC_IAR5 Macros*/
1431 #define P40_IVG(x)      (((x)&_MF15)-_MF7)           /* Peripheral #40 assigned IVG #x   */
1432 #define P41_IVG(x)      ((((x)&_MF15)-_MF7) << 0x4)  /* Peripheral #41 assigned IVG #x   */
1433 #define P42_IVG(x)      ((((x)&_MF15)-_MF7) << 0x8)  /* Peripheral #42 assigned IVG #x   */
1434 #define P43_IVG(x)      ((((x)&_MF15)-_MF7) << 0xC)  /* Peripheral #43 assigned IVG #x   */
1435 #define P44_IVG(x)      ((((x)&_MF15)-_MF7) << 0x10) /* Peripheral #44 assigned IVG #x   */
1436 #define P45_IVG(x)      ((((x)&_MF15)-_MF7) << 0x14) /* Peripheral #45 assigned IVG #x   */
1437 #define P46_IVG(x)      ((((x)&_MF15)-_MF7) << 0x18) /* Peripheral #46 assigned IVG #x   */
1438 #define P47_IVG(x)      ((((x)&_MF15)-_MF7) << 0x1C) /* Peripheral #47 assigned IVG #x   */
1439 
1440 /* SIC_IAR6 Macros*/
1441 #define P48_IVG(x)      (((x)&_MF15)-_MF7)           /* Peripheral #48 assigned IVG #x   */
1442 #define P49_IVG(x)                                   /* Reserved                         */
1443 #define P50_IVG(x)                                   /* Reserved                         */
1444 #define P51_IVG(x)      ((((x)&_MF15)-_MF7) << 0xC)  /* Peripheral #51 assigned IVG #x   */
1445 #define P52_IVG(x)      ((((x)&_MF15)-_MF7) << 0x10) /* Peripheral #52 assigned IVG #x   */
1446 #define P53_IVG(x)      ((((x)&_MF15)-_MF7) << 0x14) /* Peripheral #53 assigned IVG #x   */
1447 #define P54_IVG(x)      ((((x)&_MF15)-_MF7) << 0x18) /* Peripheral #54 assigned IVG #x   */
1448 #define P55_IVG(x)      ((((x)&_MF15)-_MF7) << 0x1C) /* Peripheral #55 assigned IVG #x   */
1449 
1450 
1451 /* SIC_IMASK0 Masks*/
1452 #define SIC_UNMASK0_ALL 0x00000000              /* Unmask all peripheral interrupts */
1453 #define SIC_MASK0_ALL   0xEFFFF7FF              /* Mask all peripheral interrupts   */
1454 
1455 #if 0 /* scheduled for removal */
1456 #ifdef _MISRA_RULES
1457 #define SIC_MASK0(x)    (1 << ((x)&0x1Fu))      /* Mask Peripheral #x interrupt */
1458 #define SIC_UNMASK0(x)  (0xFFFFFFFFu ^ (1 << ((x)&0x1Fu)))/*Unmask Peripheral #x interrupt*/
1459 #else
1460 #define SIC_MASK0(x)    (1 << ((x)&0x1F))           /* Mask Peripheral #x interrupt */
1461 #define SIC_UNMASK0(x)  (0xFFFFFFFF ^ (1 << ((x)&0x1F)))/* Unmask Peripheral #x interrupt   */
1462 #endif /* _MISRA_RULES */
1463 #endif
1464 
1465 /* SIC_IMASK1 Masks*/
1466 #define SIC_UNMASK1_ALL 0x00000000              /* Unmask all peripheral interrupts */
1467 #define SIC_MASK1_ALL   0x00F9FFFF              /* Mask all peripheral interrupts   */
1468 
1469 #if 0 /* scheduled for removal */
1470 #ifdef _MISRA_RULES
1471 #define SIC_MASK1(x)    (1 << ((x)&0x1Fu))      /* Mask Peripheral #x interrupt */
1472 #define SIC_UNMASK1(x)  (0xFFFFFFFFu ^ (1 << ((x)&0x1Fu)))/*Unmask Peripheral #x interrupt*/
1473 #else
1474 #define SIC_MASK1(x)    (1 << ((x)&0x1F))           /* Mask Peripheral #x interrupt */
1475 #define SIC_UNMASK1(x)  (0xFFFFFFFF ^ (1 << ((x)&0x1F)))/* Unmask Peripheral #x interrupt   */
1476 #endif /* _MISRA_RULES */
1477 #endif
1478 
1479 
1480 /* SIC_IWR0 Masks*/
1481 #define IWR0_DISABLE_ALL 0x00000000             /* Wakeup Disable all peripherals   */
1482 #define IWR0_ENABLE_ALL  0xEFFFF7FF             /* Wakeup Enable all peripherals    */
1483 
1484 #if 0 /* scheduled for removal */
1485 #ifdef _MISRA_RULES
1486 #define IWR0_ENABLE(x)   (1 << ((x)&0x1Fu))     /* Wakeup Enable Peripheral #x  */
1487 #define IWR0_DISABLE(x)  (0xFFFFFFFFu ^ (1 << ((x)&0x1Fu)))/*Wakeup Disable Peripheral #x   */
1488 #else
1489 #define IWR0_ENABLE(x)   (1 << ((x)&0x1F))      /* Wakeup Enable Peripheral #x  */
1490 #define IWR0_DISABLE(x)  (0xFFFFFFFF ^ (1 << ((x)&0x1F)))/* Wakeup Disable Peripheral #x    */
1491 #endif /* _MISRA_RULES */
1492 #endif
1493 
1494 /* SIC_IWR1 Masks*/
1495 #define IWR1_DISABLE_ALL 0x00000000             /* Wakeup Disable all peripherals   */
1496 #define IWR1_ENABLE_ALL  0x00F9FFFF             /* Wakeup Enable all peripherals    */
1497 
1498 #if 0 /* scheduled for removal */
1499 #ifdef _MISRA_RULES
1500 #define IWR1_ENABLE(x)   (1 << ((x)&0x1Fu))     /* Wakeup Enable Peripheral #x  */
1501 #define IWR1_DISABLE(x)  (0xFFFFFFFFu ^ (1 << ((x)&0x1Fu)))/* Wakeup Disable Peripheral #x*/
1502 #else
1503 #define IWR1_ENABLE(x)   (1 << ((x)&0x1F))      /* Wakeup Enable Peripheral #x  */
1504 #define IWR1_DISABLE(x)  (0xFFFFFFFF ^ (1 << ((x)&0x1F)))/* Wakeup Disable Peripheral #x    */
1505 #endif /* _MISRA_RULES */
1506 #endif
1507 
1508 
1509 /* ************************************** WATCHDOG TIMER MASKS ****************************************************/
1510 
1511 /* Watchdog Timer WDOG_CTL Register Masks */
1512 #ifdef _MISRA_RULES
1513 #define WDEV(x)      (((x)<<1) & 0x0006u)   /* event generated on roll over                         */
1514 #else
1515 #define WDEV(x)         (((x)<<1) & 0x0006) /* event generated on roll over                         */
1516 #endif /* _MISRA_RULES */
1517 
1518 #define WDEV_RESET          0x0000  /* generate reset event on roll over                    */
1519 #define WDEV_NMI                0x0002  /* generate NMI event on roll over                      */
1520 #define WDEV_GPI                0x0004  /* generate GP IRQ on roll over                         */
1521 #define WDEV_NONE           0x0006  /* no event on roll over                            */
1522 #define WDEN                0x0FF0  /* enable watchdog                              */
1523 #define WDDIS               0x0AD0  /* disable watchdog                                 */
1524 #define WDRO                0x8000  /* watchdog rolled over latch                       */
1525 
1526 /* depreciated WDOG_CTL Register Masks for legacy code */
1527 #define ICTL                (WDEV)
1528 #define ENABLE_RESET            (WDEV_RESET)
1529 #define WDOG_RESET          (WDEV_RESET)
1530 #define ENABLE_NMI          (WDEV_NMI)
1531 #define WDOG_NMI                (WDEV_NMI)
1532 #define ENABLE_GPI          (WDEV_GPI)
1533 #define WDOG_GPI                (WDEV_GPI)
1534 #define DISABLE_EVT             (WDEV_NONE)
1535 #define WDOG_NONE           (WDEV_NONE)
1536 
1537 #define TMR_EN              (WDEN)
1538 #define TMR_DIS                 (WDDIS)
1539 #define TRO                 (WDRO)
1540 #define ICTL_P0                 (0x01)
1541 #define ICTL_P1                 (0x02)
1542 #define TRO_P               (0x0F)
1543 
1544 
1545 /* ************************************ UART CONTROLLER MASKS *****************************************************/
1546 
1547 /* Bit masks for UARTx_LCR */
1548 
1549 #if 0
1550 /* conflicts with legacy one in last section */
1551 #define                       WLS  0x3        /* Word Length Select */
1552 #endif
1553 #define                       STB  0x4        /* Stop Bits */
1554 #define                      nSTB  0x0
1555 #define                       PEN  0x8        /* Parity Enable */
1556 #define                      nPEN  0x0
1557 #define                       EPS  0x10       /* Even Parity Select */
1558 #define                      nEPS  0x0
1559 #define                       STP  0x20       /* Sticky Parity */
1560 #define                      nSTP  0x0
1561 #define                        SB  0x40       /* Set Break */
1562 #define                       nSB  0x0
1563 
1564 /* for legacy compatibility */
1565 
1566 #ifdef _MISRA_RULES
1567 #define WLS(x)  (((x)-5u) & 0x03u) /* Word Length Select */
1568 #else
1569 #define WLS(x)  (((x)-5) & 0x03) /* Word Length Select */
1570 #endif /* _MISRA_RULES */
1571 
1572 /* Bit masks for UARTx_MCR */
1573 
1574 #define                      XOFF  0x1        /* Transmitter Off */
1575 #define                     nXOFF  0x0
1576 #define                      MRTS  0x2        /* Manual Request To Send */
1577 #define                     nMRTS  0x0
1578 #define                      RFIT  0x4        /* Receive FIFO IRQ Threshold */
1579 #define                     nRFIT  0x0
1580 #define                      RFRT  0x8        /* Receive FIFO RTS Threshold */
1581 #define                     nRFRT  0x0
1582 #define                  LOOP_ENA  0x10       /* Loopback Mode Enable */
1583 #define                 nLOOP_ENA  0x0
1584 #define                     FCPOL  0x20       /* Flow Control Pin Polarity */
1585 #define                    nFCPOL  0x0
1586 #define                      ARTS  0x40       /* Automatic Request To Send */
1587 #define                     nARTS  0x0
1588 #define                      ACTS  0x80       /* Automatic Clear To Send */
1589 #define                     nACTS  0x0
1590 
1591 /* Bit masks for UARTx_LSR */
1592 
1593 #define                        DR  0x1        /* Data Ready */
1594 #define                       nDR  0x0
1595 #define                        OE  0x2        /* Overrun Error */
1596 #define                       nOE  0x0
1597 #define                        PE  0x4        /* Parity Error */
1598 #define                       nPE  0x0
1599 #define                        FE  0x8        /* Framing Error */
1600 #define                       nFE  0x0
1601 #define                        BI  0x10       /* Break Interrupt */
1602 #define                       nBI  0x0
1603 #define                      THRE  0x20       /* THR Empty */
1604 #define                     nTHRE  0x0
1605 #define                      TEMT  0x40       /* Transmitter Empty */
1606 #define                     nTEMT  0x0
1607 #define                       TFI  0x80       /* Transmission Finished Indicator */
1608 #define                      nTFI  0x0
1609 
1610 /* Bit masks for UARTx_MSR */
1611 
1612 #define                      SCTS  0x1        /* Sticky CTS */
1613 #define                     nSCTS  0x0
1614 #define                       CTS  0x10       /* Clear To Send */
1615 #define                      nCTS  0x0
1616 #define                      RFCS  0x20       /* Receive FIFO Count Status */
1617 #define                     nRFCS  0x0
1618 
1619 /* Bit masks for UARTx_IER_SET and UARTx_IER_CLEAR */
1620 
1621 #define                     ERBFI  0x1        /* Enable Receive Buffer Full Interrupt */
1622 #define                    nERBFI  0x0
1623 #define                     ETBEI  0x2        /* Enable Transmit Buffer Empty Interrupt */
1624 #define                    nETBEI  0x0
1625 #define                      ELSI  0x4        /* Enable Receive Status Interrupt */
1626 #define                     nELSI  0x0
1627 #define                     EDSSI  0x8        /* Enable Modem Status Interrupt */
1628 #define                    nEDSSI  0x0
1629 
1630 #define                      ETFI  0x20       /* Enable Transmission Finished Interrupt */
1631 #define                     nETFI  0x0
1632 
1633 #define                     ERFCI  0x40       /* Enable Receive FIFO Count Interrupt */
1634 #define                    nERFCI  0x0
1635 
1636 
1637 /* Bit masks for UARTx_GCTL */
1638 
1639 #define                      UCEN  0x1        /* UART Enable */
1640 #define                     nUCEN  0x0
1641 #define                      IREN  0x2        /* IrDA Mode Enable */
1642 #define                     nIREN  0x0
1643 #define                     TPOLC  0x4        /* IrDA TX Polarity Change */
1644 #define                    nTPOLC  0x0
1645 #define                     RPOLC  0x8        /* IrDA RX Polarity Change */
1646 #define                    nRPOLC  0x0
1647 #define                       FPE  0x10       /* Force Parity Error */
1648 #define                      nFPE  0x0
1649 #define                       FFE  0x20       /* Force Framing Error */
1650 #define                      nFFE  0x0
1651 #define                      EDBO  0x40       /* Enable Divide-by-One */
1652 #define                     nEDBO  0x0
1653 #define                     EGLSI  0x80       /* Enable Global LS Interrupt */
1654 #define                    nEGLSI  0x0
1655 
1656 /* UARTx_LCR bit field options */
1657 
1658 #define WLS_5   0x0000    /* 5 data bits */
1659 #define WLS_6   0x0001    /* 6 data bits */
1660 #define WLS_7   0x0002    /* 7 data bits */
1661 #define WLS_8   0x0003    /* 8 data bits */
1662 
1663 
1664 /********************************  SERIAL PERIPHERAL INTERFACE (SPI) MASKS  ***************************************/
1665 
1666 /* SPI_CTL Masks*/
1667 #define TIMOD               0x0003  /* Transfer Initiate Mode                           */
1668 #define RDBR_CORE               0x0000  /* RDBR Read Initiates, IRQ When RDBR Full              */
1669 #define TDBR_CORE               0x0001  /* TDBR Write Initiates, IRQ When TDBR Empty                */
1670 #define RDBR_DMA                0x0002  /* DMA Read, DMA Until FIFO Empty                       */
1671 #define TDBR_DMA                0x0003  /* DMA Write, DMA Until FIFO Full                       */
1672 #define SZ                  0x0004  /* Send Zero (When TDBR Empty, Send Zero/Last*)             */
1673 #define GM                  0x0008  /* Get More (When RDBR Full, Overwrite/Discard*)            */
1674 #define PSSE                0x0010  /* Slave-Select Input Enable                            */
1675 #define EMISO               0x0020  /* Enable MISO As Output                            */
1676 #define SIZE                0x0100  /* Size of Words (16/8* Bits)                           */
1677 #define LSBF                0x0200  /* LSB First                                    */
1678 #define CPHA                0x0400  /* Clock Phase                                  */
1679 #define CPOL                0x0800  /* Clock Polarity                                   */
1680 #define MSTR                0x1000  /* Master/Slave*                                    */
1681 #define WOM                 0x2000  /* Write Open Drain Master                          */
1682 #define SPE                 0x4000  /* SPI Enable                                   */
1683 
1684 /* SPI_FLG Masks*/
1685 #define FLS1                0x0002  /* Enables SPI_FLOUT1 as SPI Slave-Select Output            */
1686 #define FLS2                0x0004  /* Enables SPI_FLOUT2 as SPI Slave-Select Output            */
1687 #define FLS3                0x0008  /* Enables SPI_FLOUT3 as SPI Slave-Select Output            */
1688 #define FLS4                0x0010  /* Enables SPI_FLOUT4 as SPI Slave-Select Output            */
1689 #define FLS5                0x0020  /* Enables SPI_FLOUT5 as SPI Slave-Select Output            */
1690 #define FLS6                0x0040  /* Enables SPI_FLOUT6 as SPI Slave-Select Output            */
1691 #define FLS7                0x0080  /* Enables SPI_FLOUT7 as SPI Slave-Select Output            */
1692 #define FLG1                0xFDFF  /* Activates SPI_FLOUT1                             */
1693 #define FLG2                0xFBFF  /* Activates SPI_FLOUT2                             */
1694 #define FLG3                0xF7FF  /* Activates SPI_FLOUT3                             */
1695 #define FLG4                0xEFFF  /* Activates SPI_FLOUT4                             */
1696 #define FLG5                0xDFFF  /* Activates SPI_FLOUT5                             */
1697 #define FLG6                0xBFFF  /* Activates SPI_FLOUT6                             */
1698 #define FLG7                0x7FFF  /* Activates SPI_FLOUT7                             */
1699 
1700 /* SPI_STAT Masks*/
1701 #define SPIF                0x0001  /* SPI Finished (Single-Word Transfer Complete)             */
1702 #define MODF                0x0002  /* Mode Fault Error (Another Device Tried To Become Master)     */
1703 #define TXE                 0x0004  /* Transmission Error (Data Sent With No New Data In TDBR)      */
1704 #define TXS                 0x0008  /* SPI_TDBR Data Buffer Status (Full/Empty*)                */
1705 #define RBSY                0x0010  /* Receive Error (Data Received With RDBR Full)             */
1706 #define RXS                 0x0020  /* SPI_RDBR Data Buffer Status (Full/Empty*)                */
1707 #define TXCOL               0x0040  /* Transmit Collision Error (Corrupt Data May Have Been Sent)   */
1708 
1709 
1710 /***********************************  GENERAL PURPOSE TIMER MASKS  ************************************************/
1711 /* TIMER_ENABLE Masks*/
1712 #define TIMEN0              0x0001  /* Enable Timer 0                                   */
1713 #define TIMEN1              0x0002  /* Enable Timer 1                                   */
1714 #define TIMEN2              0x0004  /* Enable Timer 2                                   */
1715 #define TIMEN3              0x0008  /* Enable Timer 3                                   */
1716 #define TIMEN4              0x0010  /* Enable Timer 4                                   */
1717 #define TIMEN5              0x0020  /* Enable Timer 5                                   */
1718 #define TIMEN6              0x0040  /* Enable Timer 6                                   */
1719 #define TIMEN7              0x0080  /* Enable Timer 7                                   */
1720 
1721 /* TIMER_DISABLE Masks*/
1722 #define TIMDIS0             (TIMEN0)  /* Disable Timer 0                              */
1723 #define TIMDIS1             (TIMEN1)  /* Disable Timer 1                              */
1724 #define TIMDIS2             (TIMEN2)  /* Disable Timer 2                              */
1725 #define TIMDIS3             (TIMEN3)  /* Disable Timer 3                              */
1726 #define TIMDIS4             (TIMEN4)  /* Disable Timer 4                              */
1727 #define TIMDIS5             (TIMEN5)  /* Disable Timer 5                              */
1728 #define TIMDIS6             (TIMEN6)  /* Disable Timer 6                              */
1729 #define TIMDIS7             (TIMEN7)  /* Disable Timer 7                              */
1730 
1731 /* TIMER_STATUS Masks*/
1732 #define TIMIL0              0x00000001  /* Timer 0 Interrupt                                */
1733 #define TIMIL1              0x00000002  /* Timer 1 Interrupt                                */
1734 #define TIMIL2              0x00000004  /* Timer 2 Interrupt                                */
1735 #define TIMIL3              0x00000008  /* Timer 3 Interrupt                                */
1736 #define TOVF_ERR0               0x00000010  /* Timer 0 Counter Overflow                         */
1737 #define TOVF_ERR1               0x00000020  /* Timer 1 Counter Overflow                         */
1738 #define TOVF_ERR2               0x00000040  /* Timer 2 Counter Overflow                         */
1739 #define TOVF_ERR3               0x00000080  /* Timer 3 Counter Overflow                         */
1740 #define TRUN0               0x00001000  /* Timer 0 Slave Enable Status                      */
1741 #define TRUN1               0x00002000  /* Timer 1 Slave Enable Status                      */
1742 #define TRUN2               0x00004000  /* Timer 2 Slave Enable Status                      */
1743 #define TRUN3               0x00008000  /* Timer 3 Slave Enable Status                      */
1744 #define TIMIL4              0x00010000  /* Timer 4 Interrupt                                */
1745 #define TIMIL5              0x00020000  /* Timer 5 Interrupt                                */
1746 #define TIMIL6              0x00040000  /* Timer 6 Interrupt                                */
1747 #define TIMIL7              0x00080000  /* Timer 7 Interrupt                                */
1748 #define TOVF_ERR4               0x00100000  /* Timer 4 Counter Overflow                         */
1749 #define TOVF_ERR5               0x00200000  /* Timer 5 Counter Overflow                         */
1750 #define TOVF_ERR6               0x00400000  /* Timer 6 Counter Overflow                         */
1751 #define TOVF_ERR7               0x00800000  /* Timer 7 Counter Overflow                         */
1752 #define TRUN4               0x10000000  /* Timer 4 Slave Enable Status                      */
1753 #define TRUN5               0x20000000  /* Timer 5 Slave Enable Status                      */
1754 #define TRUN6               0x40000000  /* Timer 6 Slave Enable Status                      */
1755 #define TRUN7               0x80000000  /* Timer 7 Slave Enable Status                      */
1756 
1757 /* Alternate Deprecated Macros Provided For Backwards Code Compatibility */
1758 #define TOVL_ERR0           (TOVF_ERR0)
1759 #define TOVL_ERR1               (TOVF_ERR1)
1760 #define TOVL_ERR2           (TOVF_ERR2)
1761 #define TOVL_ERR3           (TOVF_ERR3)
1762 #define TOVL_ERR4           (TOVF_ERR4)
1763 #define TOVL_ERR5           (TOVF_ERR5)
1764 #define TOVL_ERR6           (TOVF_ERR6)
1765 #define TOVL_ERR7           (TOVF_ERR7)
1766 
1767 /* TIMERx_CONFIG Masks */
1768 #define PWM_OUT             0x0001  /* Pulse-Width Modulation Output Mode                   */
1769 #define WDTH_CAP                0x0002  /* Width Capture Input Mode                         */
1770 #define EXT_CLK             0x0003  /* External Clock Mode                              */
1771 #define PULSE_HI                0x0004  /* Action Pulse (Positive/Negative*)                    */
1772 #define PERIOD_CNT          0x0008  /* Period Count                                 */
1773 #define IRQ_ENA             0x0010  /* Interrupt Request Enable                         */
1774 #define TIN_SEL             0x0020  /* Timer Input Select                               */
1775 #define OUT_DIS             0x0040  /* Output Pad Disable                               */
1776 #define CLK_SEL             0x0080  /* Timer Clock Select                               */
1777 #define TOGGLE_HI               0x0100  /* PWM_OUT PULSE_HI Toggle Mode                     */
1778 #define EMU_RUN             0x0200  /* Emulation Behavior Select                            */
1779 #define ERR_TYP             0xC000  /* Error Type                                   */
1780 
1781 
1782 /* *************************************   GPIO PORTS F, G, H MASKS  **********************************************/
1783 
1784 /*  General Purpose IO (0xFFC00700 - 0xFFC007FF)  Masks */
1785 /* Port F Masks */
1786 #define PF0                 0x0001
1787 #define PF1                 0x0002
1788 #define PF2                 0x0004
1789 #define PF3                 0x0008
1790 #define PF4                 0x0010
1791 #define PF5                 0x0020
1792 #define PF6                 0x0040
1793 #define PF7                 0x0080
1794 #define PF8                 0x0100
1795 #define PF9                 0x0200
1796 #define PF10                0x0400
1797 #define PF11                0x0800
1798 #define PF12                0x1000
1799 #define PF13                0x2000
1800 #define PF14                0x4000
1801 #define PF15                0x8000
1802 
1803 /* Port G Masks */
1804 #define PG0                 0x0001
1805 #define PG1                 0x0002
1806 #define PG2                 0x0004
1807 #define PG3                 0x0008
1808 #define PG4                 0x0010
1809 #define PG5                 0x0020
1810 #define PG6                 0x0040
1811 #define PG7                 0x0080
1812 #define PG8                 0x0100
1813 #define PG9                 0x0200
1814 #define PG10                0x0400
1815 #define PG11                0x0800
1816 #define PG12                0x1000
1817 #define PG13                0x2000
1818 #define PG14                0x4000
1819 #define PG15                0x8000
1820 
1821 /* Port H Masks */
1822 #define PH0                 0x0001
1823 #define PH1                 0x0002
1824 #define PH2                 0x0004
1825 
1826 
1827 /* **************************************  SERIAL PORT MASKS  *****************************************************/
1828 /* SPORTx_TCR1 Masks */
1829 #define TSPEN               0x0001  /* Transmit Enable                              */
1830 #define ITCLK               0x0002  /* Internal Transmit Clock Select                       */
1831 #define DTYPE_NORM          0x0004  /* Data Format Normal                               */
1832 #define DTYPE_ULAW          0x0008  /* Compand Using u-Law                              */
1833 #define DTYPE_ALAW          0x000C  /* Compand Using A-Law                              */
1834 #define TLSBIT              0x0010  /* Transmit Bit Order                               */
1835 #define ITFS                0x0200  /* Internal Transmit Frame Sync Select                  */
1836 #define TFSR                0x0400  /* Transmit Frame Sync Required Select                  */
1837 #define DITFS               0x0800  /* Data-Independent Transmit Frame Sync Select              */
1838 #define LTFS                0x1000  /* Low Transmit Frame Sync Select                       */
1839 #define LATFS               0x2000  /* Late Transmit Frame Sync Select                      */
1840 #define TCKFE               0x4000  /* Clock Falling Edge Select                            */
1841 
1842 /* SPORTx_TCR2 Masks and Macro */
1843 #ifdef _MISRA_RULES
1844 #define SLEN(x)             ((x)&0x1Fu) /* SPORT TX Word Length (2 - 31)                        */
1845 #else
1846 #define SLEN(x)             ((x)&0x1F)  /* SPORT TX Word Length (2 - 31)                        */
1847 #endif /* _MISRA_RULES */
1848 
1849 #define TXSE                0x0100  /* TX Secondary Enable                              */
1850 #define TSFSE               0x0200  /* Transmit Stereo Frame Sync Enable                    */
1851 #define TRFST               0x0400  /* Left/Right Order (1 = Right Channel 1st)             */
1852 
1853 /* SPORTx_RCR1 Masks */
1854 #define RSPEN               0x0001  /* Receive Enable                               */
1855 #define IRCLK               0x0002  /* Internal Receive Clock Select                        */
1856 #define DTYPE_NORM          0x0004  /* Data Format Normal                               */
1857 #define DTYPE_ULAW          0x0008  /* Compand Using u-Law                              */
1858 #define DTYPE_ALAW          0x000C  /* Compand Using A-Law                              */
1859 #define RLSBIT              0x0010  /* Receive Bit Order                                */
1860 #define IRFS                0x0200  /* Internal Receive Frame Sync Select                   */
1861 #define RFSR                0x0400  /* Receive Frame Sync Required Select                   */
1862 #define LRFS                0x1000  /* Low Receive Frame Sync Select                        */
1863 #define LARFS               0x2000  /* Late Receive Frame Sync Select                       */
1864 #define RCKFE               0x4000  /* Clock Falling Edge Select                            */
1865 
1866 /* SPORTx_RCR2 Masks */
1867 #ifdef _MISRA_RULES
1868 #define SLEN(x)             ((x)&0x1Fu) /* SPORT RX Word Length (2 - 31)                        */
1869 #else
1870 #define SLEN(x)             ((x)&0x1F)  /* SPORT RX Word Length (2 - 31)                        */
1871 #endif /* _MISRA_RULES */
1872 
1873 #define RXSE                0x0100  /* RX Secondary Enable                              */
1874 #define RSFSE               0x0200  /* RX Stereo Frame Sync Enable                      */
1875 #define RRFST               0x0400  /* Right-First Data Order                           */
1876 
1877 /* SPORTx_STAT Masks */
1878 #define RXNE                0x0001  /* Receive FIFO Not Empty Status                        */
1879 #define RUVF                0x0002  /* Sticky Receive Underflow Status                      */
1880 #define ROVF                0x0004  /* Sticky Receive Overflow Status                       */
1881 #define TXF                 0x0008  /* Transmit FIFO Full Status                            */
1882 #define TUVF                0x0010  /* Sticky Transmit Underflow Status                     */
1883 #define TOVF                0x0020  /* Sticky Transmit Overflow Status                      */
1884 #define TXHRE               0x0040  /* Transmit Hold Register Empty                     */
1885 
1886 /* SPORTx_MCMC1 Macros */
1887 #ifdef _MISRA_RULES
1888 #define WOFF(x)     ((x) & 0x3FFu)      /* Multichannel Window Offset Field                     */
1889 /* Only use WSIZE Macro With Logic OR While Setting Lower Order Bits*/
1890 #define WSIZE(x)        (((((x)>>0x3)-1u)&0xFu) << 0xC) /* Multichannel Window Size = (x/8)-1               */
1891 #else
1892 #define WOFF(x)     ((x) & 0x3FF)       /* Multichannel Window Offset Field                     */
1893 /* Only use WSIZE Macro With Logic OR While Setting Lower Order Bits                                */
1894 #define WSIZE(x)    (((((x)>>0x3)-1)&0xF) << 0xC)   /* Multichannel Window Size = (x/8)-1                   */
1895 #endif /* _MISRA_RULES */
1896 
1897 /* SPORTx_MCMC2 Masks */
1898 #define REC_BYPASS          0x0000  /* Bypass Mode (No Clock Recovery)                      */
1899 #define REC_2FROM4          0x0002  /* Recover 2 MHz Clock from 4 MHz Clock                 */
1900 #define REC_8FROM16         0x0003  /* Recover 8 MHz Clock from 16 MHz Clock                    */
1901 #define MCDTXPE             0x0004  /* Multichannel DMA Transmit Packing                    */
1902 #define MCDRXPE             0x0008  /* Multichannel DMA Receive Packing                     */
1903 #define MCMEN               0x0010  /* Multichannel Frame Mode Enable                       */
1904 #define FSDR                0x0080  /* Multichannel Frame Sync to Data Relationship             */
1905 #define MFD_0               0x0000  /* Multichannel Frame Delay = 0                     */
1906 #define MFD_1               0x1000  /* Multichannel Frame Delay = 1                     */
1907 #define MFD_2               0x2000  /* Multichannel Frame Delay = 2                     */
1908 #define MFD_3               0x3000  /* Multichannel Frame Delay = 3                     */
1909 #define MFD_4               0x4000  /* Multichannel Frame Delay = 4                     */
1910 #define MFD_5               0x5000  /* Multichannel Frame Delay = 5                     */
1911 #define MFD_6               0x6000  /* Multichannel Frame Delay = 6                     */
1912 #define MFD_7               0x7000  /* Multichannel Frame Delay = 7                     */
1913 #define MFD_8               0x8000  /* Multichannel Frame Delay = 8                     */
1914 #define MFD_9               0x9000  /* Multichannel Frame Delay = 9                     */
1915 #define MFD_10              0xA000  /* Multichannel Frame Delay = 10                        */
1916 #define MFD_11              0xB000  /* Multichannel Frame Delay = 11                        */
1917 #define MFD_12              0xC000  /* Multichannel Frame Delay = 12                        */
1918 #define MFD_13              0xD000  /* Multichannel Frame Delay = 13                        */
1919 #define MFD_14              0xE000  /* Multichannel Frame Delay = 14                        */
1920 #define MFD_15              0xF000  /* Multichannel Frame Delay = 15                        */
1921 
1922 
1923 /***********************************  ASYNCHRONOUS MEMORY CONTROLLER MASKS  ***************************************/
1924 
1925 /* EBIU_AMGCTL Masks */
1926 #define AMCKEN                  0x0001  /* Enable CLKOUT                                         */
1927 #define AMBEN                   0x0002  /* Enable Asynchronous memory bank                       */
1928 #define AMBEN_NONE              0x0000  /* All Banks Disabled                                    */
1929 
1930 #define AMBEN_B0        (AMBEN) /* Enable Async Memory Bank 0 only          */
1931 
1932 #define AMBEN_ALL               0x0002  /* Enable Asynchronous memory bank                       */
1933 #define CDPRIO                  0x0100  /* DMA has priority over core for for external accesses  */
1934 
1935 /* EBIU_AMBCTL Masks */
1936 #define RDYEN               0x00000001  /* ARDY Enable                                           */
1937 #define RDYPOL              0x00000002  /* RDY Active High                                       */
1938 #define TT_1                0x00000004  /* Transition Time (Read to Write) = 1 cycle             */
1939 #define TT_2                0x00000008  /* Transition Time (Read to Write) = 2 cycles            */
1940 #define TT_3                0x0000000C  /* Transition Time (Read to Write) = 3 cycles            */
1941 #define TT_4                0x00000000  /* Transition Time (Read to Write) = 4 cycles            */
1942 #define ST_1                0x00000010  /* Setup Time (AOE to Read/Write) = 1 cycle              */
1943 #define ST_2                0x00000020  /* Setup Time (AOE to Read/Write) = 2 cycles             */
1944 #define ST_3                0x00000030  /* Setup Time (AOE to Read/Write) = 3 cycles             */
1945 #define ST_4                0x00000000  /* Setup Time (AOE to Read/Write) = 4 cycles             */
1946 #define HT_1                0x00000040  /* Hold Time (~Read/Write to ~AOE) = 1 cycle             */
1947 #define HT_2                0x00000080  /* Hold Time (~Read/Write to ~AOE) = 2 cycles            */
1948 #define HT_3                0x000000C0  /* Hold Time (~Read/Write to ~AOE) = 3 cycles            */
1949 #define HT_0                0x00000000  /* Hold Time (~Read/Write to ~AOE) = 0 cycles            */
1950 #define RAT_1               0x00000100  /* Read Access Time = 1 cycle                            */
1951 #define RAT_2               0x00000200  /* Read Access Time = 2 cycles                           */
1952 #define RAT_3               0x00000300  /* Read Access Time = 3 cycles                           */
1953 #define RAT_4               0x00000400  /* Read Access Time = 4 cycles                           */
1954 #define RAT_5               0x00000500  /* Read Access Time = 5 cycles                           */
1955 #define RAT_6               0x00000600  /* Read Access Time = 6 cycles                           */
1956 #define RAT_7               0x00000700  /* Read Access Time = 7 cycles                           */
1957 #define RAT_8               0x00000800  /* Read Access Time = 8 cycles                           */
1958 #define RAT_9               0x00000900  /* Read Access Time = 9 cycles                           */
1959 #define RAT_10              0x00000A00  /* Read Access Time = 10 cycles                          */
1960 #define RAT_11              0x00000B00  /* Read Access Time = 11 cycles                          */
1961 #define RAT_12              0x00000C00  /* Read Access Time = 12 cycles                          */
1962 #define RAT_13              0x00000D00  /* Read Access Time = 13 cycles                          */
1963 #define RAT_14              0x00000E00  /* Read Access Time = 14 cycles                          */
1964 #define RAT_15              0x00000F00  /* Read Access Time = 15 cycles                          */
1965 #define WAT_1               0x00001000  /* Write Access Time = 1 cycle                           */
1966 #define WAT_2               0x00002000  /* Write Access Time = 2 cycles                          */
1967 #define WAT_3               0x00003000  /* Write Access Time = 3 cycles                          */
1968 #define WAT_4               0x00004000  /* Write Access Time = 4 cycles                          */
1969 #define WAT_5               0x00005000  /* Write Access Time = 5 cycles                          */
1970 #define WAT_6               0x00006000  /* Write Access Time = 6 cycles                          */
1971 #define WAT_7               0x00007000  /* Write Access Time = 7 cycles                          */
1972 #define WAT_8               0x00008000  /* Write Access Time = 8 cycles                          */
1973 #define WAT_9               0x00009000  /* Write Access Time = 9 cycles                          */
1974 #define WAT_10              0x0000A000  /* Write Access Time = 10 cycles                         */
1975 #define WAT_11              0x0000B000  /* Write Access Time = 11 cycles                         */
1976 #define WAT_12              0x0000C000  /* Write Access Time = 12 cycles                         */
1977 #define WAT_13              0x0000D000  /* Write Access Time = 13 cycles                         */
1978 #define WAT_14              0x0000E000  /* Write Access Time = 14 cycles                         */
1979 #define WAT_15              0x0000F000  /* Write Access Time = 15 cycles                         */
1980 
1981 /* EBIU_AMBCTL0 Masks */
1982 #define B0RDYEN             (RDYEN)     /* Bank 0 (B0) RDY Enable                                */
1983 #define B0RDYPOL            (RDYPOL)    /* B0 RDY Active High                                    */
1984 #define B0TT_1              (TT_1)      /* B0 Transition Time (Read to Write) = 1 cycle          */
1985 #define B0TT_2              (TT_2)      /* B0 Transition Time (Read to Write) = 2 cycles         */
1986 #define B0TT_3              (TT_3)      /* B0 Transition Time (Read to Write) = 3 cycles         */
1987 #define B0TT_4              (TT_4)      /* B0 Transition Time (Read to Write) = 4 cycles         */
1988 #define B0ST_1              (ST_1)      /* B0 Setup Time (AOE to Read/Write) = 1 cycle           */
1989 #define B0ST_2              (ST_2)      /* B0 Setup Time (AOE to Read/Write) = 2 cycles          */
1990 #define B0ST_3              (ST_3)      /* B0 Setup Time (AOE to Read/Write) = 3 cycles          */
1991 #define B0ST_4              (ST_4)      /* B0 Setup Time (AOE to Read/Write) = 4 cycles          */
1992 #define B0HT_1              (HT_1)      /* B0 Hold Time (~Read/Write to ~AOE) = 1 cycle          */
1993 #define B0HT_2              (HT_2)      /* B0 Hold Time (~Read/Write to ~AOE) = 2 cycles         */
1994 #define B0HT_3              (HT_3)      /* B0 Hold Time (~Read/Write to ~AOE) = 3 cycles         */
1995 #define B0HT_0              (HT_0)      /* B0 Hold Time (~Read/Write to ~AOE) = 0 cycles         */
1996 #define B0RAT_1             (RAT_1)     /* B0 Read Access Time = 1 cycle                         */
1997 #define B0RAT_2             (RAT_2)     /* B0 Read Access Time = 2 cycles                        */
1998 #define B0RAT_3             (RAT_3)     /* B0 Read Access Time = 3 cycles                        */
1999 #define B0RAT_4             (RAT_4)     /* B0 Read Access Time = 4 cycles                        */
2000 #define B0RAT_5             (RAT_5)     /* B0 Read Access Time = 5 cycles                        */
2001 #define B0RAT_6             (RAT_6)     /* B0 Read Access Time = 6 cycles                        */
2002 #define B0RAT_7             (RAT_7)     /* B0 Read Access Time = 7 cycles                        */
2003 #define B0RAT_8             (RAT_8)     /* B0 Read Access Time = 8 cycles                        */
2004 #define B0RAT_9             (RAT_9)     /* B0 Read Access Time = 9 cycles                        */
2005 #define B0RAT_10            (RAT_10)    /* B0 Read Access Time = 10 cycles                       */
2006 #define B0RAT_11            (RAT_11)    /* B0 Read Access Time = 11 cycles                       */
2007 #define B0RAT_12            (RAT_12)    /* B0 Read Access Time = 12 cycles                       */
2008 #define B0RAT_13            (RAT_13)    /* B0 Read Access Time = 13 cycles                       */
2009 #define B0RAT_14            (RAT_14)    /* B0 Read Access Time = 14 cycles                       */
2010 #define B0RAT_15            (RAT_15)    /* B0 Read Access Time = 15 cycles                       */
2011 #define B0WAT_1             (WAT_1)     /* B0 Write Access Time = 1 cycle                        */
2012 #define B0WAT_2             (WAT_2)     /* B0 Write Access Time = 2 cycles                       */
2013 #define B0WAT_3             (WAT_3)     /* B0 Write Access Time = 3 cycles                       */
2014 #define B0WAT_4             (WAT_4)     /* B0 Write Access Time = 4 cycles                       */
2015 #define B0WAT_5             (WAT_5)     /* B0 Write Access Time = 5 cycles                       */
2016 #define B0WAT_6             (WAT_6)     /* B0 Write Access Time = 6 cycles                       */
2017 #define B0WAT_7             (WAT_7)     /* B0 Write Access Time = 7 cycles                       */
2018 #define B0WAT_8             (WAT_8)     /* B0 Write Access Time = 8 cycles                       */
2019 #define B0WAT_9             (WAT_9)     /* B0 Write Access Time = 9 cycles                       */
2020 #define B0WAT_10            (WAT_10)    /* B0 Write Access Time = 10 cycles                      */
2021 #define B0WAT_11            (WAT_11)    /* B0 Write Access Time = 11 cycles                      */
2022 #define B0WAT_12            (WAT_12)    /* B0 Write Access Time = 12 cycles                      */
2023 #define B0WAT_13            (WAT_13)    /* B0 Write Access Time = 13 cycles                      */
2024 #define B0WAT_14            (WAT_14)    /* B0 Write Access Time = 14 cycles                      */
2025 #define B0WAT_15            (WAT_15)    /* B0 Write Access Time = 15 cycles                      */
2026 
2027 
2028 /* Bit masks for EBIU_MODE */
2029 
2030 #define B0MODE              0x3         /* Async Memory Bank Access Mode                         */
2031 
2032 /* Bit masks for EBIU_MODE */
2033 #define MODE_ASYNC          0x00000000  /* Access Mode - 00 - Asynchronous Mode                  */
2034 #define MODE_FLASH          0x00000001  /* Access Mode - 01 - Asynchronous Flash Mode            */
2035 #define MODE_BURST          0x00000003  /* Access Mode - 11 - Synchronous (Burst) Mode           */
2036 
2037 /* legacy bit fields (below) provided for backwards code compatibility */
2038 #define B0MODE_ASYNC          (MODE_ASYNC)
2039 #define B0MODE_FLASH          (MODE_FLASH)
2040 #define B0MODE_BURST          (MODE_BURST)
2041 
2042 /* Bit masks for EBIU_FCTL (BCLK) */
2043 #define BCLK2               0x00000002  /* Burst clock frequency: 01 - SCLK/2                    */
2044 #define BCLK3               0x00000004  /* Burst clock frequency: 10 - SCLK/3                    */
2045 #define BCLK4               0x00000006  /* Burst clock frequency: 11 - SCLK/4                    */
2046 
2047 
2048 /****************************************  DMA CONTROLLER MASKS  **************************************************/
2049 
2050 /* DMAx_CONFIG, MDMA_yy_CONFIG Masks */
2051 #define DMAEN               0x0001  /* DMA Channel Enable                               */
2052 #define WNR                 0x0002  /* Channel Direction (W/R*)                         */
2053 #define WDSIZE_8                0x0000  /* Transfer Word Size = 8                           */
2054 #define WDSIZE_16               0x0004  /* Transfer Word Size = 16                          */
2055 #define WDSIZE_32               0x0008  /* Transfer Word Size = 32                          */
2056 #define DMA2D               0x0010  /* DMA Mode (2D/1D*)                                */
2057 #define SYNC                0x0020  /* DMA Buffer Clear                             */
2058 #define DI_SEL              0x0040  /* Data Interrupt Timing Select                     */
2059 #define DI_EN               0x0080  /* Data Interrupt Enable                            */
2060 #define NDSIZE_0                0x0000  /* Next Descriptor Size = 0 (Stop/Autobuffer)               */
2061 #define NDSIZE_1                0x0100  /* Next Descriptor Size = 1                         */
2062 #define NDSIZE_2                0x0200  /* Next Descriptor Size = 2                         */
2063 #define NDSIZE_3                0x0300  /* Next Descriptor Size = 3                         */
2064 #define NDSIZE_4                0x0400  /* Next Descriptor Size = 4                         */
2065 #define NDSIZE_5                0x0500  /* Next Descriptor Size = 5                         */
2066 #define NDSIZE_6                0x0600  /* Next Descriptor Size = 6                         */
2067 #define NDSIZE_7                0x0700  /* Next Descriptor Size = 7                         */
2068 #define NDSIZE_8                0x0800  /* Next Descriptor Size = 8                         */
2069 #define NDSIZE_9                0x0900  /* Next Descriptor Size = 9                         */
2070 #define FLOW_STOP               0x0000  /* Stop Mode                                    */
2071 #define FLOW_AUTO               0x1000  /* Autobuffer Mode                              */
2072 #define FLOW_ARRAY          0x4000  /* Descriptor Array Mode                            */
2073 #define FLOW_SMALL          0x6000  /* Small Model Descriptor List Mode                     */
2074 #define FLOW_LARGE          0x7000  /* Large Model Descriptor List Mode                     */
2075 
2076 /* DMAx_PERIPHERAL_MAP, MDMA_yy_PERIPHERAL_MAP Masks */
2077 #define CTYPE                   0x0040  /* DMA Channel Type Indicator (Memory/Peripheral)        */
2078 #define PMAP                    0xF000  /* Peripheral Mapped To This Channel                     */
2079 #define PMAP_PPI                0x0000  /* PPI Port DMA                                          */
2080 #define PMAP_RSI                0x1000  /* RSI DMA                                               */
2081 #define PMAP_SPORT0RX           0x2000  /* SPORT0 Receive DMA                                    */
2082 #define PMAP_SPORT0TX           0x3000  /* SPORT0 Transmit DMA                                   */
2083 #define PMAP_SPORT1RX           0x4000  /* SPORT1 Receive DMA                                    */
2084 #define PMAP_SPORT1TX           0x5000  /* SPORT1 Transmit DMA                                   */
2085 #define PMAP_SPI0               0x6000  /* SPI0 Transmit/Receive DMA                             */
2086 #define PMAP_SPI1               0x7000  /* SPI1 Transmit/Receive DMA                             */
2087 #define PMAP_UART0RX            0x8000  /* UART0 Port Receive DMA                                */
2088 #define PMAP_UART0TX            0x9000  /* UART0 Port Transmit DMA                               */
2089 #define PMAP_UART1RX            0xA000  /* UART1 Port Receive DMA                                */
2090 #define PMAP_UART1TX            0xB000  /* UART1 Port Transmit DMA                               */
2091 
2092 /* DMAx_IRQ_STATUS, MDMA_yy_IRQ_STATUS Masks */
2093 #define DMA_DONE                0x0001  /* DMA Completion Interrupt Status                      */
2094 #define DMA_ERR             0x0002  /* DMA Error Interrupt Status                           */
2095 #define DFETCH              0x0004  /* DMA Descriptor Fetch Indicator                       */
2096 #define DMA_RUN             0x0008  /* DMA Channel Running Indicator                        */
2097 
2098 
2099 /*********************************  PARALLEL PERIPHERAL INTERFACE (PPI) MASKS *************************************/
2100 
2101 /*  PPI_CONTROL Masks */
2102 #define PORT_EN             0x0001  /* PPI Port Enable                              */
2103 #define PORT_DIR                0x0002  /* PPI Port Direction                               */
2104 #define XFR_TYPE                0x000C  /* PPI Transfer Type                                */
2105 #define PORT_CFG                0x0030  /* PPI Port Configuration                           */
2106 #define FLD_SEL             0x0040  /* PPI Active Field Select                          */
2107 #define PACK_EN             0x0080  /* PPI Packing Mode                             */ /* previous versions of defBF532.h erroneously included DMA32 (PPI 32-bit DMA Enable) */
2108 #define SKIP_EN             0x0200  /* PPI Skip Element Enable                          */
2109 #define SKIP_EO             0x0400  /* PPI Skip Even/Odd Elements                           */
2110 #define DLEN_8              0x0000  /* Data Length = 8 Bits                             */
2111 #define DLEN_10             0x0800  /* Data Length = 10 Bits                            */
2112 #define DLEN_11             0x1000  /* Data Length = 11 Bits                            */
2113 #define DLEN_12             0x1800  /* Data Length = 12 Bits                            */
2114 #define DLEN_13             0x2000  /* Data Length = 13 Bits                            */
2115 #define DLEN_14             0x2800  /* Data Length = 14 Bits                            */
2116 #define DLEN_15             0x3000  /* Data Length = 15 Bits                            */
2117 #define DLEN_16             0x3800  /* Data Length = 16 Bits                            */
2118 #define POLC                0x4000  /* PPI Clock Polarity                               */
2119 #define POLS                0x8000  /* PPI Frame Sync Polarity                          */
2120 
2121 /* PPI_STATUS Masks */
2122 #define LT_ERR_OVR          0x0100  /* Line Track Overflow Error                            */
2123 #define LT_ERR_UNDR         0x0200  /* Line Track Underflow Error                           */
2124 #define FLD                 0x0400  /* Field Indicator                              */
2125 #define FT_ERR              0x0800  /* Frame Track Error                                */
2126 #define OVR                 0x1000  /* FIFO Overflow Error                              */
2127 #define UNDR                0x2000  /* FIFO Underrun Error                              */
2128 #define ERR_DET             0x4000  /* Error Detected Indicator                         */
2129 #define ERR_NCOR                0x8000  /* Error Not Corrected Indicator                        */
2130 
2131 
2132 /***************************************  TWO-WIRE INTERFACE (TWI) MASKS  *****************************************/
2133 
2134 /* TWI_CLKDIV Macros (Use: *pTWI_CLKDIV = CLKLOW(x)|CLKHI(y);  ) */
2135 #ifdef _MISRA_RULES
2136 #define CLKLOW(x)               ((x) & 0xFFu)/* Periods Clock Is Held Low                           */
2137 #define CLKHI(y)                (((y)&0xFFu)<<0x8)/* Periods Before New Clock Low                   */
2138 #else
2139 #define CLKLOW(x)               ((x) & 0xFF)/* Periods Clock Is Held Low                            */
2140 #define CLKHI(y)                (((y)&0xFF)<<0x8)   /* Periods Before New Clock Low                 */
2141 #endif /* _MISRA_RULES */
2142 
2143 /* TWI_PRESCALE Masks */
2144 #define PRESCALE                0x007F  /* SCLKs Per Internal Time Reference (10MHz)                */
2145 #define TWI_ENA             0x0080  /* TWI Enable                                   */
2146 #define SCCB                0x0200  /* SCCB Compatibility Enable                            */
2147 
2148 /* TWI_SLAVE_CTRL Masks */
2149 #define SEN                 0x0001  /* Slave Enable                                 */
2150 #define SADD_LEN                0x0002  /* Slave Address Length                             */
2151 #define STDVAL              0x0004  /* Slave Transmit Data Valid                            */
2152 #define NAK                 0x0008  /* NAK/ACK* Generated At Conclusion Of Transfer             */
2153 #define GEN                 0x0010  /* General Call Adrress Matching Enabled                    */
2154 
2155 /* TWI_SLAVE_STAT Masks */
2156 #define SDIR                0x0001  /* Slave Transfer Direction (Transmit/Receive*)             */
2157 #define GCALL               0x0002  /* General Call Indicator                           */
2158 
2159 /* TWI_MASTER_CTRL Masks */
2160 #define MEN                 0x0001  /* Master Mode Enable                               */
2161 #define MADD_LEN                0x0002  /* Master Address Length                            */
2162 #define MDIR                0x0004  /* Master Transmit Direction (RX/TX*)                   */
2163 #define FAST                0x0008  /* Use Fast Mode Timing Specs                           */
2164 #define STOP                0x0010  /* Issue Stop Condition                             */
2165 #define RSTART              0x0020  /* Repeat Start or Stop* At End Of Transfer             */
2166 #define DCNT                0x3FC0  /* Data Bytes To Transfer                           */
2167 #define SDAOVR              0x4000  /* Serial Data Override                             */
2168 #define SCLOVR              0x8000  /* Serial Clock Override                            */
2169 
2170 /* TWI_MASTER_STAT Masks */
2171 #define MPROG               0x0001  /* Master Transfer In Progress                      */
2172 #define LOSTARB             0x0002  /* Lost Arbitration Indicator (Xfer Aborted)                */
2173 #define ANAK                0x0004  /* Address Not Acknowledged                         */
2174 #define DNAK                0x0008  /* Data Not Acknowledged                            */
2175 #define BUFRDERR                0x0010  /* Buffer Read Error                                */
2176 #define BUFWRERR                0x0020  /* Buffer Write Error                               */
2177 #define SDASEN              0x0040  /* Serial Data Sense                                */
2178 #define SCLSEN              0x0080  /* Serial Clock Sense                               */
2179 #define BUSBUSY             0x0100  /* Bus Busy Indicator                               */
2180 
2181 /* TWI_INT_SRC and TWI_INT_ENABLE Masks */
2182 #define SINIT               0x0001  /* Slave Transfer Initiated                         */
2183 #define SCOMP               0x0002  /* Slave Transfer Complete                          */
2184 #define SERR                0x0004  /* Slave Transfer Error                             */
2185 #define SOVF                0x0008  /* Slave Overflow                                   */
2186 #define MCOMP               0x0010  /* Master Transfer Complete                         */
2187 #define MERR                0x0020  /* Master Transfer Error                            */
2188 #define XMTSERV             0x0040  /* Transmit FIFO Service                            */
2189 #define RCVSERV             0x0080  /* Receive FIFO Service                             */
2190 
2191 /* TWI_FIFO_CTRL Masks */
2192 #define XMTFLUSH                0x0001  /* Transmit Buffer Flush                            */
2193 #define RCVFLUSH                0x0002  /* Receive Buffer Flush                             */
2194 #define XMTINTLEN               0x0004  /* Transmit Buffer Interrupt Length                     */
2195 #define RCVINTLEN               0x0008  /* Receive Buffer Interrupt Length                      */
2196 
2197 /* TWI_FIFO_STAT Masks */
2198 #define XMTSTAT             0x0003  /* Transmit FIFO Status                             */
2199 #define XMT_EMPTY               0x0000  /* Transmit FIFO Empty                              */
2200 #define XMT_HALF                0x0001  /* Transmit FIFO Has 1 Byte To Write                    */
2201 #define XMT_FULL                0x0003  /* Transmit FIFO Full (2 Bytes To Write)                    */
2202 
2203 #define RCVSTAT             0x000C  /* Receive FIFO Status                              */
2204 #define RCV_EMPTY               0x0000  /* Receive FIFO Empty                               */
2205 #define RCV_HALF                0x0004  /* Receive FIFO Has 1 Byte To Read                      */
2206 #define RCV_FULL                0x000C  /* Receive FIFO Full (2 Bytes To Read)                  */
2207 
2208 
2209 /*************************************  STACKED FLASH REGISTER MASKS AND DEFINITIONS ******************************/
2210 
2211 #define FLASH_ENABLE            0x0001  /* Enable stacked flash for reads/writes or reset flash  */
2212 #define FLASH_UNPROTECT         0x0100  /* Protect/unprotect stacked flash from programming/erase */
2213 #define FLASH_UNLOCK            0x8000  /* Enable/disable the setting of the upper byte of FLASH_CONTROL */
2214 
2215 #define FLASH_BASE_ADDRESS 0x20000000
2216 
2217 
2218 
2219 /****************************************   COUNTER MASKS    ******************************************************/
2220 
2221 /* Bit masks for CNT_CONFIG */
2222 #define CNTE                0x1        /* Counter Enable                                    */
2223 #define nCNTE               0x0
2224 #define DEBE                0x2        /* Debounce Enable                               */
2225 #define nDEBE               0x0
2226 #define CDGINV                  0x10       /* CDG Pin Polarity Invert                           */
2227 #define nCDGINV                 0x0
2228 #define CUDINV                  0x20       /* CUD Pin Polarity Invert                           */
2229 #define nCUDINV                 0x0
2230 #define CZMINV                  0x40       /* CZM Pin Polarity Invert                           */
2231 #define nCZMINV                 0x0
2232 #define CNTMODE                 0x700      /* Counter Operating Mode                            */
2233 #define ZMZC                0x800      /* CZM Zeroes Counter Enable                             */
2234 #define nZMZC               0x0
2235 #define BNDMODE                 0x3000     /* Boundary register Mode                            */
2236 #define INPDIS                  0x8000     /* CUG and CDG Input Disable                             */
2237 #define nINPDIS                 0x0
2238 
2239 /* Bit masks for CNT_IMASK */
2240 #define ICIE                0x1        /* Illegal Gray/Binary Code Interrupt Enable                 */
2241 #define nICIE               0x0
2242 #define UCIE                0x2        /* Up count Interrupt Enable                             */
2243 #define nUCIE               0x0
2244 #define DCIE                0x4        /* Down count Interrupt Enable                       */
2245 #define nDCIE               0x0
2246 #define MINCIE                  0x8        /* Min Count Interrupt Enable                            */
2247 #define nMINCIE                 0x0
2248 #define MAXCIE                  0x10       /* Max Count Interrupt Enable                            */
2249 #define nMAXCIE                 0x0
2250 #define COV31IE                 0x20       /* Bit 31 Overflow Interrupt Enable                      */
2251 #define nCOV31IE            0x0
2252 #define COV15IE                 0x40       /* Bit 15 Overflow Interrupt Enable                      */
2253 #define nCOV15IE            0x0
2254 #define CZEROIE                 0x80       /* Count to Zero Interrupt Enable                        */
2255 #define nCZEROIE            0x0
2256 #define CZMIE               0x100      /* CZM Pin Interrupt Enable                          */
2257 #define nCZMIE              0x0
2258 #define CZMEIE                  0x200      /* CZM Error Interrupt Enable                            */
2259 #define nCZMEIE                 0x0
2260 #define CZMZIE                  0x400      /* CZM Zeroes Counter Interrupt Enable                   */
2261 #define nCZMZIE                 0x0
2262 
2263 /* Bit masks for CNT_STATUS */
2264 #define ICII                0x1        /* Illegal Gray/Binary Code Interrupt Identifier             */
2265 #define nICII               0x0
2266 #define UCII                0x2        /* Up count Interrupt Identifier                         */
2267 #define nUCII               0x0
2268 #define DCII                0x4        /* Down count Interrupt Identifier                       */
2269 #define nDCII               0x0
2270 #define MINCII                  0x8        /* Min Count Interrupt Identifier                        */
2271 #define nMINCII                 0x0
2272 #define MAXCII                  0x10       /* Max Count Interrupt Identifier                        */
2273 #define nMAXCII                 0x0
2274 #define COV31II                 0x20       /* Bit 31 Overflow Interrupt Identifier                  */
2275 #define nCOV31II            0x0
2276 #define COV15II                 0x40       /* Bit 15 Overflow Interrupt Identifier                  */
2277 #define nCOV15II            0x0
2278 #define CZEROII                 0x80       /* Count to Zero Interrupt Identifier                    */
2279 #define nCZEROII            0x0
2280 #define CZMII               0x100      /* CZM Pin Interrupt Identifier                      */
2281 #define nCZMII                  0x0
2282 #define CZMEII                  0x200      /* CZM Error Interrupt Identifier                        */
2283 #define nCZMEII                 0x0
2284 #define CZMZII                  0x400      /* CZM Zeroes Counter Interrupt Identifier               */
2285 #define nCZMZII                 0x0
2286 
2287 /* Bit masks for CNT_COMMAND */
2288 #define W1LCNT                  0xf        /* Load Counter Register                             */
2289 #define W1LMIN                  0xf0       /* Load Min Register                                 */
2290 #define W1LMAX                  0xf00      /* Load Max Register                                 */
2291 #define W1ZMONCE            0x1000     /* Enable CZM Clear Counter Once                         */
2292 #define nW1ZMONCE           0x0
2293 
2294 /* Bit masks for CNT_DEBOUNCE */
2295 #define DPRESCALE               0xf        /* Load Counter Register                             */
2296 
2297 
2298 /**********************************************  PWM Masks  *******************************************************/
2299 
2300 /* Bit masks for PWM_CTRL */
2301 #define PWM_EN              0x1     /* PWM Enable                                   */
2302 #define PWM_SYNC_EN             0X2     /* Enable Sync Enable                               */
2303 #define PWM_DBL                 0x4     /* Double Update Mode                               */
2304 #define PWM_EXTSYNC         0x8     /* External Sync                                    */
2305 #define PWM_SYNCSEL             0x10        /* External Sync Select                             */
2306 #define PWM_POLARITY            0x20        /* PWM Output Polarity                              */
2307 #define PWM_SRMODE          0x40        /* PWM SR MODE                                  */
2308 #define PWMTRIPINT_EN           0x80        /* Trip Interrupt Enable                            */
2309 #define PWMSYNCINT_EN           0x100       /* Sync Interrupt Enable                            */
2310 #define PWMTRIP_DSBL            0x200           /* Trip Input Disable                               */
2311 
2312 /* Bit masks for PWM_STAT */
2313 #define PWM_PHASE               0x1     /* PWM phase                                    */
2314 #define PWM_POL                 0x2     /* PWM polarity                                     */
2315 #define PWM_SR              0x4     /* PWM SR mode                                  */
2316 #define PWM_TRIP                0x8     /* PWM Trip mode                                    */
2317 #define PWM_TRIPINT         0x100       /* PWM Trip Interrupt                               */
2318 #define PWM_SYNCINT         0x200       /* PWM Sync Interrupt                               */
2319 
2320 /* Bit masks for PWMGATE Register */
2321 
2322 #define CHOPHI              0x100       /* Gate Chopping Enable High Side                       */
2323 #define CHOPLO              0x200       /* Gate Chopping Enable Low Side                        */
2324 
2325 /* Bit masks for PWMSEG Register */
2326 
2327 #define CH_EN               0x1     /* CH output Enable                                 */
2328 #define CL_EN               0x2     /* CL output Enable                                 */
2329 #define BH_EN               0x4     /* BH output Enable                                 */
2330 #define BL_EN               0x8     /* BL output Enable                             */
2331 #define AH_EN               0x10        /* AH output Enable                                 */
2332 #define AL_EN               0x20        /* AL output Enable                                 */
2333 #define CHCL_XOVR           0x40        /* Channel C output Crossover                       */
2334 #define BHBL_XOVR           0x80        /* Channel B output Crossover                       */
2335 #define AHAL_XOVR           0x100       /* Channel A output Crossover                       */
2336 
2337 /* Bit masks for PWMLSI Register */
2338 #define PWM_SR_LSI_A            0x1     /* PWM SR Low Side Invert Channel A                     */
2339 #define PWM_SR_LSI_B            0x2     /* PWM SR Low Side Invert Channel A                     */
2340 #define PWM_SR_LSI_C            0x4     /* PWM SR Low Side Invert Channel A                     */
2341 
2342 /* Bit masks for PWM_STAT2 Register */
2343 #define PWM_AL              0x1     /* pwm_al output signal for S/W observation                 */
2344 #define PWM_AH              0x2     /* pwm_ah output signal for S/W observation                 */
2345 #define PWM_BL              0x4     /* pwm_bl output signal for S/W observation                 */
2346 #define PWM_BH              0x8     /* pwm_bh output signal for S/W observation                 */
2347 #define PWM_CL              0x10        /* pwm_cl output signal for S/W observation                 */
2348 #define PWM_CH              0x20        /* pwm_ch output signal for S/W observation                 */
2349 
2350 
2351 /***********************************  RSI MASKS  ************************************/
2352 
2353 /* Bit masks for RSI_PWR_CONTROL */
2354 #define                    PWR_ON  0x3              /* Power On */
2355 #define                RSI_CMD_OD  0x40             /* Open Drain Output */
2356 /* legacy bit mask (below) provided for backwards code compatibility */
2357 #define                 SD_CMD_OD  (RSI_CMD_OD)     /* Open Drain Output */
2358 /* legacy bit mask (below) provided for backwards code compatibility */
2359 #define                nSD_CMD_OD  0x0
2360 /* legacy bit mask (below) provided for backwards code compatibility */
2361 #if 0
2362 #define                       TBD  0x3c             /* TBD */
2363 #endif
2364 /* legacy bit mask (below) provided for backwards code compatibility */
2365 #define                   ROD_CTL  0x80
2366 /* legacy bit mask (below) provided for backwards code compatibility */
2367 #define                  nROD_CTL  0x80
2368 
2369 
2370 /* Bit masks for RSI_CLK_CONTROL */
2371 #define                    CLKDIV  0xff             /* MC_CLK Divisor */
2372 #define                    CLK_EN  0x100            /* MC_CLK Bus Clock Enable */
2373 /* legacy bit mask (below) provided for backwards code compatibility */
2374 #define                     CLK_E  (CLK_EN)         /* MC_CLK Bus Clock Enable */
2375 /* legacy bit mask (below) provided for backwards code compatibility */
2376 #define                    nCLK_E  0x0
2377 #define                 PWR_SV_EN  0x200            /* Power Save Enable */
2378 /* legacy bit mask (below) provided for backwards code compatibility */
2379 #define                  PWR_SV_E  (PWR_SV_EN)      /* Power Save Enable */
2380 /* legacy bit mask (below) provided for backwards code compatibility */
2381 #define                 nPWR_SV_E  0x0
2382 #define             CLKDIV_BYPASS  0x400            /* Bypass Divisor */
2383 /* legacy bit mask (below) provided for backwards code compatibility */
2384 #define            nCLKDIV_BYPASS  0x0
2385 #define                  BUS_MODE  0x1800           /* Bus width selection */
2386 /* legacy bit mask (below) provided for backwards code compatibility */
2387 #define                  WIDE_BUS  0x0800       /* Wide Bus Mode Enable */
2388 /* legacy bit mask (below) provided for backwards code compatibility */
2389 #define                 nWIDE_BUS  0x0
2390 
2391 
2392 /* Bit masks for RSI_COMMAND */
2393 #define                   CMD_IDX  0x3f             /* Command Index */
2394 #define                CMD_RSP_EN  0x40             /* Response */
2395 /* legacy bit mask (below) provided for backwards code compatibility */
2396 #define                   CMD_RSP  (CMD_RSP_EN)     /* Response */
2397 /* legacy bit mask (below) provided for backwards code compatibility */
2398 #define                  nCMD_RSP  0x0
2399 #define               CMD_LRSP_EN  0x80             /* Long Response */
2400 /* legacy bit mask (below) provided for backwards code compatibility */
2401 #define                 CMD_L_RSP  (CMD_LRSP_EN)    /* Long Response */
2402 /* legacy bit mask (below) provided for backwards code compatibility */
2403 #define                nCMD_L_RSP  0x0
2404 #define                CMD_INT_EN  0x100            /* Command Interrupt */
2405 /* legacy bit mask (below) provided for backwards code compatibility */
2406 #define                 CMD_INT_E  (CMD_INT_EN)     /* Command Interrupt */
2407 /* legacy bit mask (below) provided for backwards code compatibility */
2408 #define                nCMD_INT_E  0x0
2409 #define               CMD_PEND_EN  0x200            /* Command Pending */
2410 /* legacy bit mask (below) provided for backwards code compatibility */
2411 #define                CMD_PEND_E  (CMD_PEND_EN)    /* Command Pending */
2412 /* legacy bit mask (below) provided for backwards code compatibility */
2413 #define               nCMD_PEND_E  0x0
2414 #define                    CMD_EN  0x400            /* Command Enable */
2415 /* legacy bit mask (below) provided for backwards code compatibility */
2416 #define                     CMD_E  (CMD_EN)         /* Command Enable */
2417 /* legacy bit mask (below) provided for backwards code compatibility */
2418 #define                    nCMD_E  0x0
2419 
2420 
2421 /* Bit masks for RSI_RESP_CMD */
2422 #define                  RESP_CMD  0x3f             /* Response Command */
2423 
2424 /* Bit masks for RSI_DATA_LGTH */
2425 #define               DATA_LENGTH  0xffff           /* Data Length */
2426 
2427 
2428 /* Bit masks for RSI_DATA_CONTROL */
2429 #define                   DATA_EN  0x1              /* Data Transfer Enable */
2430 /* legacy bit mask (below) provided for backwards code compatibility */
2431 #define                     DTX_E  (DATA_EN)        /* Data Transfer Enable */
2432 /* legacy bit mask (below) provided for backwards code compatibility */
2433 #define                    nDTX_E  0x0
2434 #define                  DATA_DIR  0x2              /* Data Transfer Direction */
2435 /* legacy bit mask (below) provided for backwards code compatibility */
2436 #define                   DTX_DIR  (DATA_DIR)       /* Data Transfer Direction */
2437 /* legacy bit mask (below) provided for backwards code compatibility */
2438 #define                  nDTX_DIR  0x0
2439 #define                 DATA_MODE  0x4              /* Data Transfer Mode */
2440 /* legacy bit mask (below) provided for backwards code compatibility */
2441 #define                  DTX_MODE  (DATA_MODE)      /* Data Transfer Mode */
2442 /* legacy bit mask (below) provided for backwards code compatibility */
2443 #define                 nDTX_MODE  0x0
2444 #define               DATA_DMA_EN  0x8              /* Data Transfer DMA Enable */
2445 /* legacy bit mask (below) provided for backwards code compatibility */
2446 #define                 DTX_DMA_E  0x8              /* Data Transfer DMA Enable */
2447 /* legacy bit mask (below) provided for backwards code compatibility */
2448 #define                nDTX_DMA_E  0x0
2449 #define             DATA_BLK_LGTH  0xf0             /* Data Transfer Block Length */
2450 /* legacy bit mask (below) provided for backwards code compatibility */
2451 #define              DTX_BLK_LGTH  0xf0             /* Data Transfer Block Length */
2452 #define                      CEATA_EN  0x100          /* CE-ATA operation mode enable */
2453 #define                  CEATA_CCS_EN  0x200          /* CE-ATA CCS mode enable */
2454 
2455 /* Bit masks for RSI_DATA_CNT */
2456 #define               DATA_COUNT  0xffff            /* Data Count */
2457 
2458 /* Bit masks for RSI_STATUS */
2459 #define              CMD_CRC_FAIL  0x1              /* CMD CRC Fail */
2460 /* legacy bit mask (below) provided for backwards code compatibility */
2461 #define             nCMD_CRC_FAIL  0x0
2462 #define              DAT_CRC_FAIL  0x2              /* Data CRC Fail */
2463 /* legacy bit mask (below) provided for backwards code compatibility */
2464 #define             nDAT_CRC_FAIL  0x0
2465 #define               CMD_TIMEOUT  0x4              /* CMD Time Out */
2466 /* legacy bit mask (below) provided for backwards code compatibility */
2467 #define              nCMD_TIMEOUT  0x0
2468 #define               DAT_TIMEOUT  0x8              /* Data Time Out */
2469 /* legacy bit mask (below) provided for backwards code compatibility */
2470 #define              nDAT_TIMEOUT  0x0
2471 #define               TX_UNDERRUN  0x10             /* Transmit Underrun */
2472 /* legacy bit mask (below) provided for backwards code compatibility */
2473 #define              nTX_UNDERRUN  0x0
2474 #define                RX_OVERRUN  0x20             /* Receive Overrun */
2475 /* legacy bit mask (below) provided for backwards code compatibility */
2476 #define               nRX_OVERRUN  0x0
2477 #define              CMD_RESP_END  0x40             /* CMD Response End */
2478 /* legacy bit mask (below) provided for backwards code compatibility */
2479 #define             nCMD_RESP_END  0x0
2480 #define                  CMD_SENT  0x80             /* CMD Sent */
2481 /* legacy bit mask (below) provided for backwards code compatibility */
2482 #define                 nCMD_SENT  0x0
2483 #define                   DAT_END  0x100            /* Data End */
2484 /* legacy bit mask (below) provided for backwards code compatibility */
2485 #define                  nDAT_END  0x0
2486 #define             START_BIT_ERR  0x200            /* Start Bit Error */
2487 /* legacy bit mask (below) provided for backwards code compatibility */
2488 #define            nSTART_BIT_ERR  0x0
2489 #define               DAT_BLK_END  0x400            /* Data Block End */
2490 /* legacy bit mask (below) provided for backwards code compatibility */
2491 #define              nDAT_BLK_END  0x0
2492 #define                   CMD_ACT  0x800            /* CMD Active */
2493 /* legacy bit mask (below) provided for backwards code compatibility */
2494 #define                  nCMD_ACT  0x0
2495 #define                    TX_ACT  0x1000           /* Transmit Active */
2496 /* legacy bit mask (below) provided for backwards code compatibility */
2497 #define                   nTX_ACT  0x0
2498 #define                    RX_ACT  0x2000           /* Receive Active */
2499 /* legacy bit mask (below) provided for backwards code compatibility */
2500 #define                   nRX_ACT  0x0
2501 #define              TX_FIFO_STAT  0x4000           /* Transmit FIFO Status */
2502 /* legacy bit mask (below) provided for backwards code compatibility */
2503 #define             nTX_FIFO_STAT  0x0
2504 #define              RX_FIFO_STAT  0x8000           /* Receive FIFO Status */
2505 /* legacy bit mask (below) provided for backwards code compatibility */
2506 #define             nRX_FIFO_STAT  0x0
2507 #define              TX_FIFO_FULL  0x10000          /* Transmit FIFO Full */
2508 /* legacy bit mask (below) provided for backwards code compatibility */
2509 #define             nTX_FIFO_FULL  0x0
2510 #define              RX_FIFO_FULL  0x20000          /* Receive FIFO Full */
2511 /* legacy bit mask (below) provided for backwards code compatibility */
2512 #define             nRX_FIFO_FULL  0x0
2513 #define              TX_FIFO_ZERO  0x40000          /* Transmit FIFO Empty */
2514 /* legacy bit mask (below) provided for backwards code compatibility */
2515 #define             nTX_FIFO_ZERO  0x0
2516 #define               RX_DAT_ZERO  0x80000          /* Receive FIFO Empty */
2517 /* legacy bit mask (below) provided for backwards code compatibility */
2518 #define              nRX_DAT_ZERO  0x0
2519 #define                TX_DAT_RDY  0x100000         /* Transmit Data Available */
2520 /* legacy bit mask (below) provided for backwards code compatibility */
2521 #define               nTX_DAT_RDY  0x0
2522 #define               RX_FIFO_RDY  0x200000         /* Receive Data Available */
2523 /* legacy bit mask (below) provided for backwards code compatibility */
2524 #define              nRX_FIFO_RDY  0x0
2525 
2526 /* Bit masks for RSI_STATCL */
2527 
2528 #define         CMD_CRC_FAIL_STAT  0x1              /* CMD CRC Fail Status */
2529 /* legacy bit mask (below) provided for backwards code compatibility */
2530 #define        nCMD_CRC_FAIL_STAT  0x0
2531 #define         DAT_CRC_FAIL_STAT  0x2              /* Data CRC Fail Status */
2532 /* legacy bit mask (below) provided for backwards code compatibility */
2533 #define        nDAT_CRC_FAIL_STAT  0x0
2534 #define          CMD_TIMEOUT_STAT  0x4              /* CMD Time Out Status */
2535 /* legacy bit mask (below) provided for backwards code compatibility */
2536 #define         nCMD_TIMEOUT_STAT  0x0
2537 #define          DAT_TIMEOUT_STAT  0x8              /* Data Time Out status */
2538 /* legacy bit mask (below) provided for backwards code compatibility */
2539 #define         nDAT_TIMEOUT_STAT  0x0
2540 #define          TX_UNDERRUN_STAT  0x10             /* Transmit Underrun Status */
2541 /* legacy bit mask (below) provided for backwards code compatibility */
2542 #define         nTX_UNDERRUN_STAT  0x0
2543 #define           RX_OVERRUN_STAT  0x20             /* Receive Overrun Status */
2544 /* legacy bit mask (below) provided for backwards code compatibility */
2545 #define          nRX_OVERRUN_STAT  0x0
2546 #define         CMD_RESP_END_STAT  0x40             /* CMD Response End Status */
2547 /* legacy bit mask (below) provided for backwards code compatibility */
2548 #define        nCMD_RESP_END_STAT  0x0
2549 #define             CMD_SENT_STAT  0x80             /* CMD Sent Status */
2550 /* legacy bit mask (below) provided for backwards code compatibility */
2551 #define            nCMD_SENT_STAT  0x0
2552 #define              DAT_END_STAT  0x100            /* Data End Status */
2553 /* legacy bit mask (below) provided for backwards code compatibility */
2554 #define             nDAT_END_STAT  0x0
2555 #define        START_BIT_ERR_STAT  0x200            /* Start Bit Error Status */
2556 /* legacy bit mask (below) provided for backwards code compatibility */
2557 #define       nSTART_BIT_ERR_STAT  0x0
2558 #define          DAT_BLK_END_STAT  0x400            /* Data Block End Status */
2559 /* legacy bit mask (below) provided for backwards code compatibility */
2560 #define         nDAT_BLK_END_STAT  0x0
2561 
2562 /* Bit masks for RSI_MASKx */
2563 
2564 #define         CMD_CRC_FAIL_MASK  0x1              /* CMD CRC Fail Mask */
2565 /* legacy bit mask (below) provided for backwards code compatibility */
2566 #define        nCMD_CRC_FAIL_MASK  0x0
2567 #define         DAT_CRC_FAIL_MASK  0x2              /* Data CRC Fail Mask */
2568 /* legacy bit mask (below) provided for backwards code compatibility */
2569 #define        nDAT_CRC_FAIL_MASK  0x0
2570 #define          CMD_TIMEOUT_MASK  0x4              /* CMD Time Out Mask */
2571 /* legacy bit mask (below) provided for backwards code compatibility */
2572 #define         nCMD_TIMEOUT_MASK  0x0
2573 #define          DAT_TIMEOUT_MASK  0x8              /* Data Time Out Mask */
2574 /* legacy bit mask (below) provided for backwards code compatibility */
2575 #define         nDAT_TIMEOUT_MASK  0x0
2576 #define          TX_UNDERRUN_MASK  0x10             /* Transmit Underrun Mask */
2577 /* legacy bit mask (below) provided for backwards code compatibility */
2578 #define         nTX_UNDERRUN_MASK  0x0
2579 #define           RX_OVERRUN_MASK  0x20             /* Receive Overrun Mask */
2580 /* legacy bit mask (below) provided for backwards code compatibility */
2581 #define          nRX_OVERRUN_MASK  0x0
2582 #define         CMD_RESP_END_MASK  0x40             /* CMD Response End Mask */
2583 /* legacy bit mask (below) provided for backwards code compatibility */
2584 #define        nCMD_RESP_END_MASK  0x0
2585 #define             CMD_SENT_MASK  0x80             /* CMD Sent Mask */
2586 /* legacy bit mask (below) provided for backwards code compatibility */
2587 #define            nCMD_SENT_MASK  0x0
2588 #define              DAT_END_MASK  0x100            /* Data End Mask */
2589 /* legacy bit mask (below) provided for backwards code compatibility */
2590 #define             nDAT_END_MASK  0x0
2591 #define        START_BIT_ERR_MASK  0x200            /* Start Bit Error Mask */
2592 /* legacy bit mask (below) provided for backwards code compatibility */
2593 #define       nSTART_BIT_ERR_MASK  0x0
2594 #define          DAT_BLK_END_MASK  0x400            /* Data Block End Mask */
2595 /* legacy bit mask (below) provided for backwards code compatibility */
2596 #define         nDAT_BLK_END_MASK  0x0
2597 #define              CMD_ACT_MASK  0x800            /* CMD Active Mask */
2598 /* legacy bit mask (below) provided for backwards code compatibility */
2599 #define             nCMD_ACT_MASK  0x0
2600 #define               TX_ACT_MASK  0x1000           /* Transmit Active Mask */
2601 /* legacy bit mask (below) provided for backwards code compatibility */
2602 #define              nTX_ACT_MASK  0x0
2603 #define               RX_ACT_MASK  0x2000           /* Receive Active Mask */
2604 /* legacy bit mask (below) provided for backwards code compatibility */
2605 #define              nRX_ACT_MASK  0x0
2606 #define         TX_FIFO_STAT_MASK  0x4000           /* Transmit FIFO Status Mask */
2607 /* legacy bit mask (below) provided for backwards code compatibility */
2608 #define        nTX_FIFO_STAT_MASK  0x0
2609 #define         RX_FIFO_STAT_MASK  0x8000           /* Receive FIFO Status Mask */
2610 /* legacy bit mask (below) provided for backwards code compatibility */
2611 #define        nRX_FIFO_STAT_MASK  0x0
2612 #define         TX_FIFO_FULL_MASK  0x10000          /* Transmit FIFO Full Mask */
2613 /* legacy bit mask (below) provided for backwards code compatibility */
2614 #define        nTX_FIFO_FULL_MASK  0x0
2615 #define         RX_FIFO_FULL_MASK  0x20000          /* Receive FIFO Full Mask */
2616 /* legacy bit mask (below) provided for backwards code compatibility */
2617 #define        nRX_FIFO_FULL_MASK  0x0
2618 #define         TX_FIFO_ZERO_MASK  0x40000          /* Transmit FIFO Empty Mask */
2619 /* legacy bit mask (below) provided for backwards code compatibility */
2620 #define        nTX_FIFO_ZERO_MASK  0x0
2621 #define          RX_DAT_ZERO_MASK  0x80000          /* Receive FIFO Empty Mask */
2622 /* legacy bit mask (below) provided for backwards code compatibility */
2623 #define         nRX_DAT_ZERO_MASK  0x0
2624 #define           TX_DAT_RDY_MASK  0x100000         /* Transmit Data Available Mask */
2625 /* legacy bit mask (below) provided for backwards code compatibility */
2626 #define          nTX_DAT_RDY_MASK  0x0
2627 #define          RX_FIFO_RDY_MASK  0x200000         /* Receive Data Available Mask */
2628 /* legacy bit mask (below) provided for backwards code compatibility */
2629 #define         nRX_FIFO_RDY_MASK  0x0
2630 
2631 /* Bit masks for RSI_FIFO_CNT */
2632 #define                FIFO_COUNT  0x7fff           /* FIFO Count */
2633 
2634 /* Bit masks for RSI_CEATA_CONTROL */
2635 #define       CEATA_TX_CCSD  0x1                /* Send CE-ATA CCSD sequence */
2636 
2637 /* Bit masks for RSI_ESTAT */
2638 #define              SDIO_INT_DET  0x2              /* SDIO Int Detected */
2639 /* legacy bit mask (below) provided for backwards code compatibility */
2640 #define             nSDIO_INT_DET  0x0
2641 #define               SD_CARD_DET  0x10             /* SD Card Detect */
2642 /* legacy bit mask (below) provided for backwards code compatibility */
2643 #define              nSD_CARD_DET  0x0
2644 #define             CEATA_INT_DET  0x20
2645 
2646 /* Bit masks for RSI_EMASK */
2647 #define         SDIO_INT_DET_MASK  0x2                /* Mask SDIO Int Detected */
2648 /* legacy bit mask (below) provided for backwards code compatibility */
2649 #define                  SDIO_MSK  (SDIO_INT_DET_MASK)/* Mask SDIO Int Detected */
2650 /* legacy bit mask (below) provided for backwards code compatibility */
2651 #define                 nSDIO_MSK  0x0
2652 #define          SD_CARD_DET_MASK  0x10               /* Mask Card Detect */
2653 /* legacy bit mask (below) provided for backwards code compatibility */
2654 #define                  SCD_MASK  (SD_CARD_DET_MASK) /* Mask Card Detect */
2655 /* legacy bit mask (below) provided for backwards code compatibility */
2656 #define                  nSCD_MSK  0x0
2657 #define        CEATA_INT_DET_MASK  0x20
2658 
2659 
2660 /* Bit masks for SDH_CFG */
2661 
2662 /* Left in for backwards compatibility */
2663 #define                RSI_CLK_EN  0x1
2664 /* legacy bit mask (below) provided for backwards code compatibility */
2665 #define                   CLKS_EN  (RSI_CLK_EN)         /* Clocks Enable */
2666 /* legacy bit mask (below) provided for backwards code compatibility */
2667 #define                  nCLKS_EN  0x0
2668 #define                  SDIO4_EN  0x4              /* SDIO 4-Bit Enable */
2669 /* legacy bit mask (below) provided for backwards code compatibility */
2670 #define                      SD4E  (SDIO4_EN)       /* SDIO 4-Bit Enable */
2671 /* legacy bit mask (below) provided for backwards code compatibility */
2672 #define                     nSD4E  0x0
2673 #define                     MW_EN  0x8              /* Moving Window Enable */
2674 /* legacy bit mask (below) provided for backwards code compatibility */
2675 #define                       MWE  (MW_EN)          /* Moving Window Enable */
2676 /* legacy bit mask (below) provided for backwards code compatibility */
2677 #define                      nMWE  0x0
2678 #define                   RSI_RST  0x10             /* SDMMC Reset */
2679 /* legacy bit mask (below) provided for backwards code compatibility */
2680 #define                    SD_RST  (RSI_RST)        /* SDMMC Reset */
2681 /* legacy bit mask (below) provided for backwards code compatibility */
2682 #define                   nSD_RST  0x0
2683 #define                    PU_DAT  0x20             /* Pull-up SD_DAT */
2684 /* legacy bit mask (below) provided for backwards code compatibility */
2685 #define                 PUP_SDDAT  (PU_DAT)         /* Pull-up SD_DAT */
2686 /* legacy bit mask (below) provided for backwards code compatibility */
2687 #define                nPUP_SDDAT  0x0
2688 #define                   PU_DAT3  0x40             /* Pull-up SD_DAT3 */
2689 /* legacy bit mask (below) provided for backwards code compatibility */
2690 #define                PUP_SDDAT3  (PU_DAT3)        /* Pull-up SD_DAT3 */
2691 /* legacy bit mask (below) provided for backwards code compatibility */
2692 #define               nPUP_SDDAT3  0x0
2693 #define                   PD_DAT3  0x80             /* Pull-down SD_DAT3 */
2694 /* legacy bit mask (below) provided for backwards code compatibility */
2695 #define                 PD_SDDAT3  (PD_DAT3)        /* Pull-down SD_DAT3 */
2696 /* legacy bit mask (below) provided for backwards code compatibility */
2697 #define                nPD_SDDAT3  0x0
2698 
2699 
2700 /* Bit masks for RSI_RD_WAIT_EN */
2701 #define          SDIO_RWR  0x1              /* Read Wait Request */
2702 /* legacy bit mask (below) provided for backwards code compatibility */
2703 #define                       RWR  (SDIO_RWR)       /* Read Wait Request */
2704 /* legacy bit mask (below) provided for backwards code compatibility */
2705 #define                      nRWR  0x0
2706 
2707 /* Bit masks for RSI_PIDx */
2708 #define                   RSI_PID  0xff         /* RSI Peripheral ID */
2709 
2710 
2711 /* ************  CONTROLLER AREA NETWORK (CAN) MASKS  ***************/
2712 
2713 /* CAN_CONTROL Masks                                                */
2714 #define SRS         0x0001  /* Software Reset                       */
2715 #define DNM         0x0002  /* Device Net Mode                      */
2716 #define ABO         0x0004  /* Auto-Bus On Enable                   */
2717 #define WBA         0x0010  /* Wake-Up On CAN Bus Activity Enable   */
2718 #define SMR         0x0020  /* Sleep Mode Request                   */
2719 #define CSR         0x0040  /* CAN Suspend Mode Request             */
2720 #define CCR         0x0080  /* CAN Configuration Mode Request       */
2721 
2722 /* CAN_STATUS Masks                                             */
2723 #define WT          0x0001  /* TX Warning Flag                  */
2724 #define WR          0x0002  /* RX Warning Flag                  */
2725 #define EP          0x0004  /* Error Passive Mode               */
2726 #define EBO         0x0008  /* Error Bus Off Mode               */
2727 #define CSA         0x0040  /* Suspend Mode Acknowledge         */
2728 #define CCA         0x0080  /* Configuration Mode Acknowledge   */
2729 #define MBPTR       0x1F00  /* Mailbox Pointer                  */
2730 #define TRM         0x4000  /* Transmit Mode                    */
2731 #define REC         0x8000  /* Receive Mode                     */
2732 
2733 /* CAN_CLOCK Masks                                  */
2734 #define BRP         0x03FF  /* Bit-Rate Pre-Scaler  */
2735 
2736 /* CAN_TIMING Masks                                         */
2737 #define TSEG1       0x000F  /* Time Segment 1               */
2738 #define TSEG2       0x0070  /* Time Segment 2               */
2739 #define SAM         0x0080  /* Sampling                     */
2740 #define SJW         0x0300  /* Synchronization Jump Width   */
2741 
2742 /* CAN_DEBUG Masks                                          */
2743 #define DEC         0x0001  /* Disable CAN Error Counters   */
2744 #define DRI         0x0002  /* Disable CAN RX Input         */
2745 #define DTO         0x0004  /* Disable CAN TX Output        */
2746 #define DIL         0x0008  /* Disable CAN Internal Loop    */
2747 #define MAA         0x0010  /* Mode Auto-Acknowledge Enable */
2748 #define MRB         0x0020  /* Mode Read Back Enable        */
2749 #define CDE         0x8000  /* CAN Debug Enable             */
2750 
2751 /* CAN_CEC Masks                                        */
2752 #define RXECNT      0x00FF  /* Receive Error Counter    */
2753 #define TXECNT      0xFF00  /* Transmit Error Counter   */
2754 
2755 /* CAN_INTR Masks                                           */
2756 #define MBRIRQ  0x0001  /* Mailbox Receive Interrupt    */
2757 #define MBRIF       (MBRIRQ) /* legacy */
2758 #define MBTIRQ  0x0002  /* Mailbox Transmit Interrupt   */
2759 #define MBTIF       (MBTIRQ) /* legacy */
2760 #define GIRQ        0x0004  /* Global Interrupt             */
2761 #define SMACK       0x0008  /* Sleep Mode Acknowledge       */
2762 #define CANTX       0x0040  /* CAN TX Bus Value             */
2763 #define CANRX       0x0080  /* CAN RX Bus Value             */
2764 
2765 /* CAN_MBxx_ID1 and CAN_MBxx_ID0 Masks                                      */
2766 #define DFC         0xFFFF  /* Data Filtering Code (If Enabled) (ID0)       */
2767 #define EXTID_LO    0xFFFF  /* Lower 16 Bits of Extended Identifier (ID0)   */
2768 #define EXTID_HI    0x0003  /* Upper 2 Bits of Extended Identifier (ID1)    */
2769 #define BASEID      0x1FFC  /* Base Identifier                              */
2770 #define IDE         0x2000  /* Identifier Extension                         */
2771 #define RTR         0x4000  /* Remote Frame Transmission Request            */
2772 #define AME         0x8000  /* Acceptance Mask Enable                       */
2773 
2774 /* CAN_MBxx_TIMESTAMP Masks                 */
2775 #define TSV         0xFFFF  /* Timestamp    */
2776 
2777 /* CAN_MBxx_LENGTH Masks                        */
2778 #define DLC         0x000F  /* Data Length Code */
2779 
2780 /* CAN_AMxxH and CAN_AMxxL Masks                                                */
2781 #define DFM         0xFFFF  /* Data Field Mask (If Enabled) (CAN_AMxxL)         */
2782 #define EXTID_LO    0xFFFF  /* Lower 16 Bits of Extended Identifier (CAN_AMxxL) */
2783 #define EXTID_HI    0x0003  /* Upper 2 Bits of Extended Identifier (CAN_AMxxH)  */
2784 #define BASEID      0x1FFC  /* Base Identifier                                  */
2785 #define AMIDE       0x2000  /* Acceptance Mask ID Extension Enable              */
2786 #define FMD         0x4000  /* Full Mask Data Field Enable                      */
2787 #define FDF         0x8000  /* Filter On Data Field Enable                      */
2788 
2789 /* CAN_MC1 Masks                                    */
2790 #define MC0         0x0001  /* Enable Mailbox 0     */
2791 #define MC1         0x0002  /* Enable Mailbox 1     */
2792 #define MC2         0x0004  /* Enable Mailbox 2     */
2793 #define MC3         0x0008  /* Enable Mailbox 3     */
2794 #define MC4         0x0010  /* Enable Mailbox 4     */
2795 #define MC5         0x0020  /* Enable Mailbox 5     */
2796 #define MC6         0x0040  /* Enable Mailbox 6     */
2797 #define MC7         0x0080  /* Enable Mailbox 7     */
2798 #define MC8         0x0100  /* Enable Mailbox 8     */
2799 #define MC9         0x0200  /* Enable Mailbox 9     */
2800 #define MC10        0x0400  /* Enable Mailbox 10    */
2801 #define MC11        0x0800  /* Enable Mailbox 11    */
2802 #define MC12        0x1000  /* Enable Mailbox 12    */
2803 #define MC13        0x2000  /* Enable Mailbox 13    */
2804 #define MC14        0x4000  /* Enable Mailbox 14    */
2805 #define MC15        0x8000  /* Enable Mailbox 15    */
2806 
2807 /* CAN_MC2 Masks                                    */
2808 #define MC16        0x0001  /* Enable Mailbox 16    */
2809 #define MC17        0x0002  /* Enable Mailbox 17    */
2810 #define MC18        0x0004  /* Enable Mailbox 18    */
2811 #define MC19        0x0008  /* Enable Mailbox 19    */
2812 #define MC20        0x0010  /* Enable Mailbox 20    */
2813 #define MC21        0x0020  /* Enable Mailbox 21    */
2814 #define MC22        0x0040  /* Enable Mailbox 22    */
2815 #define MC23        0x0080  /* Enable Mailbox 23    */
2816 #define MC24        0x0100  /* Enable Mailbox 24    */
2817 #define MC25        0x0200  /* Enable Mailbox 25    */
2818 #define MC26        0x0400  /* Enable Mailbox 26    */
2819 #define MC27        0x0800  /* Enable Mailbox 27    */
2820 #define MC28        0x1000  /* Enable Mailbox 28    */
2821 #define MC29        0x2000  /* Enable Mailbox 29    */
2822 #define MC30        0x4000  /* Enable Mailbox 30    */
2823 #define MC31        0x8000  /* Enable Mailbox 31    */
2824 
2825 /* CAN_MD1 Masks                                                */
2826 #define MD0         0x0001  /* Enable Mailbox 0 For Receive     */
2827 #define MD1         0x0002  /* Enable Mailbox 1 For Receive     */
2828 #define MD2         0x0004  /* Enable Mailbox 2 For Receive     */
2829 #define MD3         0x0008  /* Enable Mailbox 3 For Receive     */
2830 #define MD4         0x0010  /* Enable Mailbox 4 For Receive     */
2831 #define MD5         0x0020  /* Enable Mailbox 5 For Receive     */
2832 #define MD6         0x0040  /* Enable Mailbox 6 For Receive     */
2833 #define MD7         0x0080  /* Enable Mailbox 7 For Receive     */
2834 #define MD8         0x0100  /* Enable Mailbox 8 For Receive     */
2835 #define MD9         0x0200  /* Enable Mailbox 9 For Receive     */
2836 #define MD10        0x0400  /* Enable Mailbox 10 For Receive    */
2837 #define MD11        0x0800  /* Enable Mailbox 11 For Receive    */
2838 #define MD12        0x1000  /* Enable Mailbox 12 For Receive    */
2839 #define MD13        0x2000  /* Enable Mailbox 13 For Receive    */
2840 #define MD14        0x4000  /* Enable Mailbox 14 For Receive    */
2841 #define MD15        0x8000  /* Enable Mailbox 15 For Receive    */
2842 
2843 /* CAN_MD2 Masks                                                */
2844 #define MD16        0x0001  /* Enable Mailbox 16 For Receive    */
2845 #define MD17        0x0002  /* Enable Mailbox 17 For Receive    */
2846 #define MD18        0x0004  /* Enable Mailbox 18 For Receive    */
2847 #define MD19        0x0008  /* Enable Mailbox 19 For Receive    */
2848 #define MD20        0x0010  /* Enable Mailbox 20 For Receive    */
2849 #define MD21        0x0020  /* Enable Mailbox 21 For Receive    */
2850 #define MD22        0x0040  /* Enable Mailbox 22 For Receive    */
2851 #define MD23        0x0080  /* Enable Mailbox 23 For Receive    */
2852 #define MD24        0x0100  /* Enable Mailbox 24 For Receive    */
2853 #define MD25        0x0200  /* Enable Mailbox 25 For Receive    */
2854 #define MD26        0x0400  /* Enable Mailbox 26 For Receive    */
2855 #define MD27        0x0800  /* Enable Mailbox 27 For Receive    */
2856 #define MD28        0x1000  /* Enable Mailbox 28 For Receive    */
2857 #define MD29        0x2000  /* Enable Mailbox 29 For Receive    */
2858 #define MD30        0x4000  /* Enable Mailbox 30 For Receive    */
2859 #define MD31        0x8000  /* Enable Mailbox 31 For Receive    */
2860 
2861 /* CAN_RMP1 Masks                                               */
2862 #define RMP0        0x0001  /* RX Message Pending In Mailbox 0  */
2863 #define RMP1        0x0002  /* RX Message Pending In Mailbox 1  */
2864 #define RMP2        0x0004  /* RX Message Pending In Mailbox 2  */
2865 #define RMP3        0x0008  /* RX Message Pending In Mailbox 3  */
2866 #define RMP4        0x0010  /* RX Message Pending In Mailbox 4  */
2867 #define RMP5        0x0020  /* RX Message Pending In Mailbox 5  */
2868 #define RMP6        0x0040  /* RX Message Pending In Mailbox 6  */
2869 #define RMP7        0x0080  /* RX Message Pending In Mailbox 7  */
2870 #define RMP8        0x0100  /* RX Message Pending In Mailbox 8  */
2871 #define RMP9        0x0200  /* RX Message Pending In Mailbox 9  */
2872 #define RMP10       0x0400  /* RX Message Pending In Mailbox 10 */
2873 #define RMP11       0x0800  /* RX Message Pending In Mailbox 11 */
2874 #define RMP12       0x1000  /* RX Message Pending In Mailbox 12 */
2875 #define RMP13       0x2000  /* RX Message Pending In Mailbox 13 */
2876 #define RMP14       0x4000  /* RX Message Pending In Mailbox 14 */
2877 #define RMP15       0x8000  /* RX Message Pending In Mailbox 15 */
2878 
2879 /* CAN_RMP2 Masks                                               */
2880 #define RMP16       0x0001  /* RX Message Pending In Mailbox 16 */
2881 #define RMP17       0x0002  /* RX Message Pending In Mailbox 17 */
2882 #define RMP18       0x0004  /* RX Message Pending In Mailbox 18 */
2883 #define RMP19       0x0008  /* RX Message Pending In Mailbox 19 */
2884 #define RMP20       0x0010  /* RX Message Pending In Mailbox 20 */
2885 #define RMP21       0x0020  /* RX Message Pending In Mailbox 21 */
2886 #define RMP22       0x0040  /* RX Message Pending In Mailbox 22 */
2887 #define RMP23       0x0080  /* RX Message Pending In Mailbox 23 */
2888 #define RMP24       0x0100  /* RX Message Pending In Mailbox 24 */
2889 #define RMP25       0x0200  /* RX Message Pending In Mailbox 25 */
2890 #define RMP26       0x0400  /* RX Message Pending In Mailbox 26 */
2891 #define RMP27       0x0800  /* RX Message Pending In Mailbox 27 */
2892 #define RMP28       0x1000  /* RX Message Pending In Mailbox 28 */
2893 #define RMP29       0x2000  /* RX Message Pending In Mailbox 29 */
2894 #define RMP30       0x4000  /* RX Message Pending In Mailbox 30 */
2895 #define RMP31       0x8000  /* RX Message Pending In Mailbox 31 */
2896 
2897 /* CAN_RML1 Masks                                               */
2898 #define RML0        0x0001  /* RX Message Lost In Mailbox 0     */
2899 #define RML1        0x0002  /* RX Message Lost In Mailbox 1     */
2900 #define RML2        0x0004  /* RX Message Lost In Mailbox 2     */
2901 #define RML3        0x0008  /* RX Message Lost In Mailbox 3     */
2902 #define RML4        0x0010  /* RX Message Lost In Mailbox 4     */
2903 #define RML5        0x0020  /* RX Message Lost In Mailbox 5     */
2904 #define RML6        0x0040  /* RX Message Lost In Mailbox 6     */
2905 #define RML7        0x0080  /* RX Message Lost In Mailbox 7     */
2906 #define RML8        0x0100  /* RX Message Lost In Mailbox 8     */
2907 #define RML9        0x0200  /* RX Message Lost In Mailbox 9     */
2908 #define RML10       0x0400  /* RX Message Lost In Mailbox 10    */
2909 #define RML11       0x0800  /* RX Message Lost In Mailbox 11    */
2910 #define RML12       0x1000  /* RX Message Lost In Mailbox 12    */
2911 #define RML13       0x2000  /* RX Message Lost In Mailbox 13    */
2912 #define RML14       0x4000  /* RX Message Lost In Mailbox 14    */
2913 #define RML15       0x8000  /* RX Message Lost In Mailbox 15    */
2914 
2915 /* CAN_RML2 Masks                                               */
2916 #define RML16       0x0001  /* RX Message Lost In Mailbox 16    */
2917 #define RML17       0x0002  /* RX Message Lost In Mailbox 17    */
2918 #define RML18       0x0004  /* RX Message Lost In Mailbox 18    */
2919 #define RML19       0x0008  /* RX Message Lost In Mailbox 19    */
2920 #define RML20       0x0010  /* RX Message Lost In Mailbox 20    */
2921 #define RML21       0x0020  /* RX Message Lost In Mailbox 21    */
2922 #define RML22       0x0040  /* RX Message Lost In Mailbox 22    */
2923 #define RML23       0x0080  /* RX Message Lost In Mailbox 23    */
2924 #define RML24       0x0100  /* RX Message Lost In Mailbox 24    */
2925 #define RML25       0x0200  /* RX Message Lost In Mailbox 25    */
2926 #define RML26       0x0400  /* RX Message Lost In Mailbox 26    */
2927 #define RML27       0x0800  /* RX Message Lost In Mailbox 27    */
2928 #define RML28       0x1000  /* RX Message Lost In Mailbox 28    */
2929 #define RML29       0x2000  /* RX Message Lost In Mailbox 29    */
2930 #define RML30       0x4000  /* RX Message Lost In Mailbox 30    */
2931 #define RML31       0x8000  /* RX Message Lost In Mailbox 31    */
2932 
2933 /* CAN_OPSS1 Masks                                                                              */
2934 #define OPSS0       0x0001  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 0   */
2935 #define OPSS1       0x0002  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 1   */
2936 #define OPSS2       0x0004  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 2   */
2937 #define OPSS3       0x0008  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 3   */
2938 #define OPSS4       0x0010  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 4   */
2939 #define OPSS5       0x0020  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 5   */
2940 #define OPSS6       0x0040  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 6   */
2941 #define OPSS7       0x0080  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 7   */
2942 #define OPSS8       0x0100  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 8   */
2943 #define OPSS9       0x0200  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 9   */
2944 #define OPSS10      0x0400  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 10  */
2945 #define OPSS11      0x0800  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 11  */
2946 #define OPSS12      0x1000  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 12  */
2947 #define OPSS13      0x2000  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 13  */
2948 #define OPSS14      0x4000  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 14  */
2949 #define OPSS15      0x8000  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 15  */
2950 
2951 /* CAN_OPSS2 Masks                                                                              */
2952 #define OPSS16      0x0001  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 16  */
2953 #define OPSS17      0x0002  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 17  */
2954 #define OPSS18      0x0004  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 18  */
2955 #define OPSS19      0x0008  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 19  */
2956 #define OPSS20      0x0010  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 20  */
2957 #define OPSS21      0x0020  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 21  */
2958 #define OPSS22      0x0040  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 22  */
2959 #define OPSS23      0x0080  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 23  */
2960 #define OPSS24      0x0100  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 24  */
2961 #define OPSS25      0x0200  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 25  */
2962 #define OPSS26      0x0400  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 26  */
2963 #define OPSS27      0x0800  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 27  */
2964 #define OPSS28      0x1000  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 28  */
2965 #define OPSS29      0x2000  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 29  */
2966 #define OPSS30      0x4000  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 30  */
2967 #define OPSS31      0x8000  /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 31  */
2968 
2969 /* CAN_TRR1 Masks                                                       */
2970 #define TRR0        0x0001  /* Deny But Don't Lock Access To Mailbox 0  */
2971 #define TRR1        0x0002  /* Deny But Don't Lock Access To Mailbox 1  */
2972 #define TRR2        0x0004  /* Deny But Don't Lock Access To Mailbox 2  */
2973 #define TRR3        0x0008  /* Deny But Don't Lock Access To Mailbox 3  */
2974 #define TRR4        0x0010  /* Deny But Don't Lock Access To Mailbox 4  */
2975 #define TRR5        0x0020  /* Deny But Don't Lock Access To Mailbox 5  */
2976 #define TRR6        0x0040  /* Deny But Don't Lock Access To Mailbox 6  */
2977 #define TRR7        0x0080  /* Deny But Don't Lock Access To Mailbox 7  */
2978 #define TRR8        0x0100  /* Deny But Don't Lock Access To Mailbox 8  */
2979 #define TRR9        0x0200  /* Deny But Don't Lock Access To Mailbox 9  */
2980 #define TRR10       0x0400  /* Deny But Don't Lock Access To Mailbox 10 */
2981 #define TRR11       0x0800  /* Deny But Don't Lock Access To Mailbox 11 */
2982 #define TRR12       0x1000  /* Deny But Don't Lock Access To Mailbox 12 */
2983 #define TRR13       0x2000  /* Deny But Don't Lock Access To Mailbox 13 */
2984 #define TRR14       0x4000  /* Deny But Don't Lock Access To Mailbox 14 */
2985 #define TRR15       0x8000  /* Deny But Don't Lock Access To Mailbox 15 */
2986 
2987 /* CAN_TRR2 Masks                                                       */
2988 #define TRR16       0x0001  /* Deny But Don't Lock Access To Mailbox 16 */
2989 #define TRR17       0x0002  /* Deny But Don't Lock Access To Mailbox 17 */
2990 #define TRR18       0x0004  /* Deny But Don't Lock Access To Mailbox 18 */
2991 #define TRR19       0x0008  /* Deny But Don't Lock Access To Mailbox 19 */
2992 #define TRR20       0x0010  /* Deny But Don't Lock Access To Mailbox 20 */
2993 #define TRR21       0x0020  /* Deny But Don't Lock Access To Mailbox 21 */
2994 #define TRR22       0x0040  /* Deny But Don't Lock Access To Mailbox 22 */
2995 #define TRR23       0x0080  /* Deny But Don't Lock Access To Mailbox 23 */
2996 #define TRR24       0x0100  /* Deny But Don't Lock Access To Mailbox 24 */
2997 #define TRR25       0x0200  /* Deny But Don't Lock Access To Mailbox 25 */
2998 #define TRR26       0x0400  /* Deny But Don't Lock Access To Mailbox 26 */
2999 #define TRR27       0x0800  /* Deny But Don't Lock Access To Mailbox 27 */
3000 #define TRR28       0x1000  /* Deny But Don't Lock Access To Mailbox 28 */
3001 #define TRR29       0x2000  /* Deny But Don't Lock Access To Mailbox 29 */
3002 #define TRR30       0x4000  /* Deny But Don't Lock Access To Mailbox 30 */
3003 #define TRR31       0x8000  /* Deny But Don't Lock Access To Mailbox 31 */
3004 
3005 /* CAN_TRS1 Masks                                                   */
3006 #define TRS0        0x0001  /* Remote Frame Request For Mailbox 0   */
3007 #define TRS1        0x0002  /* Remote Frame Request For Mailbox 1   */
3008 #define TRS2        0x0004  /* Remote Frame Request For Mailbox 2   */
3009 #define TRS3        0x0008  /* Remote Frame Request For Mailbox 3   */
3010 #define TRS4        0x0010  /* Remote Frame Request For Mailbox 4   */
3011 #define TRS5        0x0020  /* Remote Frame Request For Mailbox 5   */
3012 #define TRS6        0x0040  /* Remote Frame Request For Mailbox 6   */
3013 #define TRS7        0x0080  /* Remote Frame Request For Mailbox 7   */
3014 #define TRS8        0x0100  /* Remote Frame Request For Mailbox 8   */
3015 #define TRS9        0x0200  /* Remote Frame Request For Mailbox 9   */
3016 #define TRS10       0x0400  /* Remote Frame Request For Mailbox 10  */
3017 #define TRS11       0x0800  /* Remote Frame Request For Mailbox 11  */
3018 #define TRS12       0x1000  /* Remote Frame Request For Mailbox 12  */
3019 #define TRS13       0x2000  /* Remote Frame Request For Mailbox 13  */
3020 #define TRS14       0x4000  /* Remote Frame Request For Mailbox 14  */
3021 #define TRS15       0x8000  /* Remote Frame Request For Mailbox 15  */
3022 
3023 /* CAN_TRS2 Masks                                                   */
3024 #define TRS16       0x0001  /* Remote Frame Request For Mailbox 16  */
3025 #define TRS17       0x0002  /* Remote Frame Request For Mailbox 17  */
3026 #define TRS18       0x0004  /* Remote Frame Request For Mailbox 18  */
3027 #define TRS19       0x0008  /* Remote Frame Request For Mailbox 19  */
3028 #define TRS20       0x0010  /* Remote Frame Request For Mailbox 20  */
3029 #define TRS21       0x0020  /* Remote Frame Request For Mailbox 21  */
3030 #define TRS22       0x0040  /* Remote Frame Request For Mailbox 22  */
3031 #define TRS23       0x0080  /* Remote Frame Request For Mailbox 23  */
3032 #define TRS24       0x0100  /* Remote Frame Request For Mailbox 24  */
3033 #define TRS25       0x0200  /* Remote Frame Request For Mailbox 25  */
3034 #define TRS26       0x0400  /* Remote Frame Request For Mailbox 26  */
3035 #define TRS27       0x0800  /* Remote Frame Request For Mailbox 27  */
3036 #define TRS28       0x1000  /* Remote Frame Request For Mailbox 28  */
3037 #define TRS29       0x2000  /* Remote Frame Request For Mailbox 29  */
3038 #define TRS30       0x4000  /* Remote Frame Request For Mailbox 30  */
3039 #define TRS31       0x8000  /* Remote Frame Request For Mailbox 31  */
3040 
3041 /* CAN_AA1 Masks                                                */
3042 #define AA0         0x0001  /* Aborted Message In Mailbox 0     */
3043 #define AA1         0x0002  /* Aborted Message In Mailbox 1     */
3044 #define AA2         0x0004  /* Aborted Message In Mailbox 2     */
3045 #define AA3         0x0008  /* Aborted Message In Mailbox 3     */
3046 #define AA4         0x0010  /* Aborted Message In Mailbox 4     */
3047 #define AA5         0x0020  /* Aborted Message In Mailbox 5     */
3048 #define AA6         0x0040  /* Aborted Message In Mailbox 6     */
3049 #define AA7         0x0080  /* Aborted Message In Mailbox 7     */
3050 #define AA8         0x0100  /* Aborted Message In Mailbox 8     */
3051 #define AA9         0x0200  /* Aborted Message In Mailbox 9     */
3052 #define AA10        0x0400  /* Aborted Message In Mailbox 10    */
3053 #define AA11        0x0800  /* Aborted Message In Mailbox 11    */
3054 #define AA12        0x1000  /* Aborted Message In Mailbox 12    */
3055 #define AA13        0x2000  /* Aborted Message In Mailbox 13    */
3056 #define AA14        0x4000  /* Aborted Message In Mailbox 14    */
3057 #define AA15        0x8000  /* Aborted Message In Mailbox 15    */
3058 
3059 /* CAN_AA2 Masks                                                */
3060 #define AA16        0x0001  /* Aborted Message In Mailbox 16    */
3061 #define AA17        0x0002  /* Aborted Message In Mailbox 17    */
3062 #define AA18        0x0004  /* Aborted Message In Mailbox 18    */
3063 #define AA19        0x0008  /* Aborted Message In Mailbox 19    */
3064 #define AA20        0x0010  /* Aborted Message In Mailbox 20    */
3065 #define AA21        0x0020  /* Aborted Message In Mailbox 21    */
3066 #define AA22        0x0040  /* Aborted Message In Mailbox 22    */
3067 #define AA23        0x0080  /* Aborted Message In Mailbox 23    */
3068 #define AA24        0x0100  /* Aborted Message In Mailbox 24    */
3069 #define AA25        0x0200  /* Aborted Message In Mailbox 25    */
3070 #define AA26        0x0400  /* Aborted Message In Mailbox 26    */
3071 #define AA27        0x0800  /* Aborted Message In Mailbox 27    */
3072 #define AA28        0x1000  /* Aborted Message In Mailbox 28    */
3073 #define AA29        0x2000  /* Aborted Message In Mailbox 29    */
3074 #define AA30        0x4000  /* Aborted Message In Mailbox 30    */
3075 #define AA31        0x8000  /* Aborted Message In Mailbox 31    */
3076 
3077 /* CAN_TA1 Masks                                                    */
3078 #define TA0         0x0001  /* Transmit Successful From Mailbox 0   */
3079 #define TA1         0x0002  /* Transmit Successful From Mailbox 1   */
3080 #define TA2         0x0004  /* Transmit Successful From Mailbox 2   */
3081 #define TA3         0x0008  /* Transmit Successful From Mailbox 3   */
3082 #define TA4         0x0010  /* Transmit Successful From Mailbox 4   */
3083 #define TA5         0x0020  /* Transmit Successful From Mailbox 5   */
3084 #define TA6         0x0040  /* Transmit Successful From Mailbox 6   */
3085 #define TA7         0x0080  /* Transmit Successful From Mailbox 7   */
3086 #define TA8         0x0100  /* Transmit Successful From Mailbox 8   */
3087 #define TA9         0x0200  /* Transmit Successful From Mailbox 9   */
3088 #define TA10        0x0400  /* Transmit Successful From Mailbox 10  */
3089 #define TA11        0x0800  /* Transmit Successful From Mailbox 11  */
3090 #define TA12        0x1000  /* Transmit Successful From Mailbox 12  */
3091 #define TA13        0x2000  /* Transmit Successful From Mailbox 13  */
3092 #define TA14        0x4000  /* Transmit Successful From Mailbox 14  */
3093 #define TA15        0x8000  /* Transmit Successful From Mailbox 15  */
3094 
3095 /* CAN_TA2 Masks                                                    */
3096 #define TA16        0x0001  /* Transmit Successful From Mailbox 16  */
3097 #define TA17        0x0002  /* Transmit Successful From Mailbox 17  */
3098 #define TA18        0x0004  /* Transmit Successful From Mailbox 18  */
3099 #define TA19        0x0008  /* Transmit Successful From Mailbox 19  */
3100 #define TA20        0x0010  /* Transmit Successful From Mailbox 20  */
3101 #define TA21        0x0020  /* Transmit Successful From Mailbox 21  */
3102 #define TA22        0x0040  /* Transmit Successful From Mailbox 22  */
3103 #define TA23        0x0080  /* Transmit Successful From Mailbox 23  */
3104 #define TA24        0x0100  /* Transmit Successful From Mailbox 24  */
3105 #define TA25        0x0200  /* Transmit Successful From Mailbox 25  */
3106 #define TA26        0x0400  /* Transmit Successful From Mailbox 26  */
3107 #define TA27        0x0800  /* Transmit Successful From Mailbox 27  */
3108 #define TA28        0x1000  /* Transmit Successful From Mailbox 28  */
3109 #define TA29        0x2000  /* Transmit Successful From Mailbox 29  */
3110 #define TA30        0x4000  /* Transmit Successful From Mailbox 30  */
3111 #define TA31        0x8000  /* Transmit Successful From Mailbox 31  */
3112 
3113 /* CAN_MBTD Masks                                               */
3114 #define TDPTR       0x001F  /* Mailbox To Temporarily Disable   */
3115 #define TDA         0x0040  /* Temporary Disable Acknowledge    */
3116 #define TDR         0x0080  /* Temporary Disable Request        */
3117 
3118 /* CAN_RFH1 Masks                                                                       */
3119 #define RFH0        0x0001  /* Enable Automatic Remote Frame Handling For Mailbox 0     */
3120 #define RFH1        0x0002  /* Enable Automatic Remote Frame Handling For Mailbox 1     */
3121 #define RFH2        0x0004  /* Enable Automatic Remote Frame Handling For Mailbox 2     */
3122 #define RFH3        0x0008  /* Enable Automatic Remote Frame Handling For Mailbox 3     */
3123 #define RFH4        0x0010  /* Enable Automatic Remote Frame Handling For Mailbox 4     */
3124 #define RFH5        0x0020  /* Enable Automatic Remote Frame Handling For Mailbox 5     */
3125 #define RFH6        0x0040  /* Enable Automatic Remote Frame Handling For Mailbox 6     */
3126 #define RFH7        0x0080  /* Enable Automatic Remote Frame Handling For Mailbox 7     */
3127 #define RFH8        0x0100  /* Enable Automatic Remote Frame Handling For Mailbox 8     */
3128 #define RFH9        0x0200  /* Enable Automatic Remote Frame Handling For Mailbox 9     */
3129 #define RFH10       0x0400  /* Enable Automatic Remote Frame Handling For Mailbox 10    */
3130 #define RFH11       0x0800  /* Enable Automatic Remote Frame Handling For Mailbox 11    */
3131 #define RFH12       0x1000  /* Enable Automatic Remote Frame Handling For Mailbox 12    */
3132 #define RFH13       0x2000  /* Enable Automatic Remote Frame Handling For Mailbox 13    */
3133 #define RFH14       0x4000  /* Enable Automatic Remote Frame Handling For Mailbox 14    */
3134 #define RFH15       0x8000  /* Enable Automatic Remote Frame Handling For Mailbox 15    */
3135 
3136 /* CAN_RFH2 Masks                                                                       */
3137 #define RFH16       0x0001  /* Enable Automatic Remote Frame Handling For Mailbox 16    */
3138 #define RFH17       0x0002  /* Enable Automatic Remote Frame Handling For Mailbox 17    */
3139 #define RFH18       0x0004  /* Enable Automatic Remote Frame Handling For Mailbox 18    */
3140 #define RFH19       0x0008  /* Enable Automatic Remote Frame Handling For Mailbox 19    */
3141 #define RFH20       0x0010  /* Enable Automatic Remote Frame Handling For Mailbox 20    */
3142 #define RFH21       0x0020  /* Enable Automatic Remote Frame Handling For Mailbox 21    */
3143 #define RFH22       0x0040  /* Enable Automatic Remote Frame Handling For Mailbox 22    */
3144 #define RFH23       0x0080  /* Enable Automatic Remote Frame Handling For Mailbox 23    */
3145 #define RFH24       0x0100  /* Enable Automatic Remote Frame Handling For Mailbox 24    */
3146 #define RFH25       0x0200  /* Enable Automatic Remote Frame Handling For Mailbox 25    */
3147 #define RFH26       0x0400  /* Enable Automatic Remote Frame Handling For Mailbox 26    */
3148 #define RFH27       0x0800  /* Enable Automatic Remote Frame Handling For Mailbox 27    */
3149 #define RFH28       0x1000  /* Enable Automatic Remote Frame Handling For Mailbox 28    */
3150 #define RFH29       0x2000  /* Enable Automatic Remote Frame Handling For Mailbox 29    */
3151 #define RFH30       0x4000  /* Enable Automatic Remote Frame Handling For Mailbox 30    */
3152 #define RFH31       0x8000  /* Enable Automatic Remote Frame Handling For Mailbox 31    */
3153 
3154 /* CAN_MBTIF1 Masks                                                 */
3155 #define MBTIF0      0x0001  /* TX Interrupt Active In Mailbox 0     */
3156 #define MBTIF1      0x0002  /* TX Interrupt Active In Mailbox 1     */
3157 #define MBTIF2      0x0004  /* TX Interrupt Active In Mailbox 2     */
3158 #define MBTIF3      0x0008  /* TX Interrupt Active In Mailbox 3     */
3159 #define MBTIF4      0x0010  /* TX Interrupt Active In Mailbox 4     */
3160 #define MBTIF5      0x0020  /* TX Interrupt Active In Mailbox 5     */
3161 #define MBTIF6      0x0040  /* TX Interrupt Active In Mailbox 6     */
3162 #define MBTIF7      0x0080  /* TX Interrupt Active In Mailbox 7     */
3163 #define MBTIF8      0x0100  /* TX Interrupt Active In Mailbox 8     */
3164 #define MBTIF9      0x0200  /* TX Interrupt Active In Mailbox 9     */
3165 #define MBTIF10     0x0400  /* TX Interrupt Active In Mailbox 10    */
3166 #define MBTIF11     0x0800  /* TX Interrupt Active In Mailbox 11    */
3167 #define MBTIF12     0x1000  /* TX Interrupt Active In Mailbox 12    */
3168 #define MBTIF13     0x2000  /* TX Interrupt Active In Mailbox 13    */
3169 #define MBTIF14     0x4000  /* TX Interrupt Active In Mailbox 14    */
3170 #define MBTIF15     0x8000  /* TX Interrupt Active In Mailbox 15    */
3171 
3172 /* CAN_MBTIF2 Masks                                                 */
3173 #define MBTIF16     0x0001  /* TX Interrupt Active In Mailbox 16    */
3174 #define MBTIF17     0x0002  /* TX Interrupt Active In Mailbox 17    */
3175 #define MBTIF18     0x0004  /* TX Interrupt Active In Mailbox 18    */
3176 #define MBTIF19     0x0008  /* TX Interrupt Active In Mailbox 19    */
3177 #define MBTIF20     0x0010  /* TX Interrupt Active In Mailbox 20    */
3178 #define MBTIF21     0x0020  /* TX Interrupt Active In Mailbox 21    */
3179 #define MBTIF22     0x0040  /* TX Interrupt Active In Mailbox 22    */
3180 #define MBTIF23     0x0080  /* TX Interrupt Active In Mailbox 23    */
3181 #define MBTIF24     0x0100  /* TX Interrupt Active In Mailbox 24    */
3182 #define MBTIF25     0x0200  /* TX Interrupt Active In Mailbox 25    */
3183 #define MBTIF26     0x0400  /* TX Interrupt Active In Mailbox 26    */
3184 #define MBTIF27     0x0800  /* TX Interrupt Active In Mailbox 27    */
3185 #define MBTIF28     0x1000  /* TX Interrupt Active In Mailbox 28    */
3186 #define MBTIF29     0x2000  /* TX Interrupt Active In Mailbox 29    */
3187 #define MBTIF30     0x4000  /* TX Interrupt Active In Mailbox 30    */
3188 #define MBTIF31     0x8000  /* TX Interrupt Active In Mailbox 31    */
3189 
3190 /* CAN_MBRIF1 Masks                                                 */
3191 #define MBRIF0      0x0001  /* RX Interrupt Active In Mailbox 0     */
3192 #define MBRIF1      0x0002  /* RX Interrupt Active In Mailbox 1     */
3193 #define MBRIF2      0x0004  /* RX Interrupt Active In Mailbox 2     */
3194 #define MBRIF3      0x0008  /* RX Interrupt Active In Mailbox 3     */
3195 #define MBRIF4      0x0010  /* RX Interrupt Active In Mailbox 4     */
3196 #define MBRIF5      0x0020  /* RX Interrupt Active In Mailbox 5     */
3197 #define MBRIF6      0x0040  /* RX Interrupt Active In Mailbox 6     */
3198 #define MBRIF7      0x0080  /* RX Interrupt Active In Mailbox 7     */
3199 #define MBRIF8      0x0100  /* RX Interrupt Active In Mailbox 8     */
3200 #define MBRIF9      0x0200  /* RX Interrupt Active In Mailbox 9     */
3201 #define MBRIF10     0x0400  /* RX Interrupt Active In Mailbox 10    */
3202 #define MBRIF11     0x0800  /* RX Interrupt Active In Mailbox 11    */
3203 #define MBRIF12     0x1000  /* RX Interrupt Active In Mailbox 12    */
3204 #define MBRIF13     0x2000  /* RX Interrupt Active In Mailbox 13    */
3205 #define MBRIF14     0x4000  /* RX Interrupt Active In Mailbox 14    */
3206 #define MBRIF15     0x8000  /* RX Interrupt Active In Mailbox 15    */
3207 
3208 /* CAN_MBRIF2 Masks                                                 */
3209 #define MBRIF16     0x0001  /* RX Interrupt Active In Mailbox 16    */
3210 #define MBRIF17     0x0002  /* RX Interrupt Active In Mailbox 17    */
3211 #define MBRIF18     0x0004  /* RX Interrupt Active In Mailbox 18    */
3212 #define MBRIF19     0x0008  /* RX Interrupt Active In Mailbox 19    */
3213 #define MBRIF20     0x0010  /* RX Interrupt Active In Mailbox 20    */
3214 #define MBRIF21     0x0020  /* RX Interrupt Active In Mailbox 21    */
3215 #define MBRIF22     0x0040  /* RX Interrupt Active In Mailbox 22    */
3216 #define MBRIF23     0x0080  /* RX Interrupt Active In Mailbox 23    */
3217 #define MBRIF24     0x0100  /* RX Interrupt Active In Mailbox 24    */
3218 #define MBRIF25     0x0200  /* RX Interrupt Active In Mailbox 25    */
3219 #define MBRIF26     0x0400  /* RX Interrupt Active In Mailbox 26    */
3220 #define MBRIF27     0x0800  /* RX Interrupt Active In Mailbox 27    */
3221 #define MBRIF28     0x1000  /* RX Interrupt Active In Mailbox 28    */
3222 #define MBRIF29     0x2000  /* RX Interrupt Active In Mailbox 29    */
3223 #define MBRIF30     0x4000  /* RX Interrupt Active In Mailbox 30    */
3224 #define MBRIF31     0x8000  /* RX Interrupt Active In Mailbox 31    */
3225 
3226 /* CAN_MBIM1 Masks                                              */
3227 #define MBIM0       0x0001  /* Enable Interrupt For Mailbox 0   */
3228 #define MBIM1       0x0002  /* Enable Interrupt For Mailbox 1   */
3229 #define MBIM2       0x0004  /* Enable Interrupt For Mailbox 2   */
3230 #define MBIM3       0x0008  /* Enable Interrupt For Mailbox 3   */
3231 #define MBIM4       0x0010  /* Enable Interrupt For Mailbox 4   */
3232 #define MBIM5       0x0020  /* Enable Interrupt For Mailbox 5   */
3233 #define MBIM6       0x0040  /* Enable Interrupt For Mailbox 6   */
3234 #define MBIM7       0x0080  /* Enable Interrupt For Mailbox 7   */
3235 #define MBIM8       0x0100  /* Enable Interrupt For Mailbox 8   */
3236 #define MBIM9       0x0200  /* Enable Interrupt For Mailbox 9   */
3237 #define MBIM10      0x0400  /* Enable Interrupt For Mailbox 10  */
3238 #define MBIM11      0x0800  /* Enable Interrupt For Mailbox 11  */
3239 #define MBIM12      0x1000  /* Enable Interrupt For Mailbox 12  */
3240 #define MBIM13      0x2000  /* Enable Interrupt For Mailbox 13  */
3241 #define MBIM14      0x4000  /* Enable Interrupt For Mailbox 14  */
3242 #define MBIM15      0x8000  /* Enable Interrupt For Mailbox 15  */
3243 
3244 /* CAN_MBIM2 Masks                                              */
3245 #define MBIM16      0x0001  /* Enable Interrupt For Mailbox 16  */
3246 #define MBIM17      0x0002  /* Enable Interrupt For Mailbox 17  */
3247 #define MBIM18      0x0004  /* Enable Interrupt For Mailbox 18  */
3248 #define MBIM19      0x0008  /* Enable Interrupt For Mailbox 19  */
3249 #define MBIM20      0x0010  /* Enable Interrupt For Mailbox 20  */
3250 #define MBIM21      0x0020  /* Enable Interrupt For Mailbox 21  */
3251 #define MBIM22      0x0040  /* Enable Interrupt For Mailbox 22  */
3252 #define MBIM23      0x0080  /* Enable Interrupt For Mailbox 23  */
3253 #define MBIM24      0x0100  /* Enable Interrupt For Mailbox 24  */
3254 #define MBIM25      0x0200  /* Enable Interrupt For Mailbox 25  */
3255 #define MBIM26      0x0400  /* Enable Interrupt For Mailbox 26  */
3256 #define MBIM27      0x0800  /* Enable Interrupt For Mailbox 27  */
3257 #define MBIM28      0x1000  /* Enable Interrupt For Mailbox 28  */
3258 #define MBIM29      0x2000  /* Enable Interrupt For Mailbox 29  */
3259 #define MBIM30      0x4000  /* Enable Interrupt For Mailbox 30  */
3260 #define MBIM31      0x8000  /* Enable Interrupt For Mailbox 31  */
3261 
3262 /* CAN_GIM Masks                                                                */
3263 #define EWTIM       0x0001  /* Enable TX Error Count Interrupt                  */
3264 #define EWRIM       0x0002  /* Enable RX Error Count Interrupt                  */
3265 #define EPIM        0x0004  /* Enable Error-Passive Mode Interrupt              */
3266 #define BOIM        0x0008  /* Enable Bus Off Interrupt                         */
3267 #define WUIM        0x0010  /* Enable Wake-Up Interrupt                         */
3268 #define UIAIM       0x0020  /* Enable Access To Unimplemented Address Interrupt */
3269 #define AAIM        0x0040  /* Enable Abort Acknowledge Interrupt               */
3270 #define RMLIM       0x0080  /* Enable RX Message Lost Interrupt                 */
3271 #define UCEIM       0x0100  /* Enable Universal Counter Overflow Interrupt      */
3272 #define EXTIM       0x0200  /* Enable External Trigger Output Interrupt         */
3273 #define ADIM        0x0400  /* Enable Access Denied Interrupt                   */
3274 
3275 /* CAN_GIS Masks                                                            */
3276 #define EWTIS       0x0001  /* TX Error Count IRQ Status                    */
3277 #define EWRIS       0x0002  /* RX Error Count IRQ Status                    */
3278 #define EPIS        0x0004  /* Error-Passive Mode IRQ Status                */
3279 #define BOIS        0x0008  /* Bus Off IRQ Status                           */
3280 #define WUIS        0x0010  /* Wake-Up IRQ Status                           */
3281 #define UIAIS       0x0020  /* Access To Unimplemented Address IRQ Status   */
3282 #define AAIS        0x0040  /* Abort Acknowledge IRQ Status                 */
3283 #define RMLIS       0x0080  /* RX Message Lost IRQ Status                   */
3284 #define UCEIS       0x0100  /* Universal Counter Overflow IRQ Status        */
3285 #define EXTIS       0x0200  /* External Trigger Output IRQ Status           */
3286 #define ADIS        0x0400  /* Access Denied IRQ Status                     */
3287 
3288 /* CAN_GIF Masks                                                            */
3289 #define EWTIF       0x0001  /* TX Error Count IRQ Flag                      */
3290 #define EWRIF       0x0002  /* RX Error Count IRQ Flag                      */
3291 #define EPIF        0x0004  /* Error-Passive Mode IRQ Flag                  */
3292 #define BOIF        0x0008  /* Bus Off IRQ Flag                             */
3293 #define WUIF        0x0010  /* Wake-Up IRQ Flag                             */
3294 #define UIAIF       0x0020  /* Access To Unimplemented Address IRQ Flag     */
3295 #define AAIF        0x0040  /* Abort Acknowledge IRQ Flag                   */
3296 #define RMLIF       0x0080  /* RX Message Lost IRQ Flag                     */
3297 #define UCEIF       0x0100  /* Universal Counter Overflow IRQ Flag          */
3298 #define EXTIF       0x0200  /* External Trigger Output IRQ Flag             */
3299 #define ADIF        0x0400  /* Access Denied IRQ Flag                       */
3300 
3301 /* CAN_UCCNF Masks                                                          */
3302 #define UCCNF       0x000F  /* Universal Counter Mode                       */
3303 #define UC_STAMP    0x0001  /*      Timestamp Mode                          */
3304 #define UC_WDOG     0x0002  /*      Watchdog Mode                           */
3305 #define UC_AUTOTX   0x0003  /*      Auto-Transmit Mode                      */
3306 #define UC_ERROR    0x0006  /*      CAN Error Frame Count                   */
3307 #define UC_OVER     0x0007  /*      CAN Overload Frame Count                */
3308 #define UC_LOST     0x0008  /*      Arbitration Lost During TX Count        */
3309 #define UC_AA       0x0009  /*      TX Abort Count                          */
3310 #define UC_TA       0x000A  /*      TX Successful Count                     */
3311 #define UC_REJECT   0x000B  /*      RX Message Rejected Count               */
3312 #define UC_RML      0x000C  /*      RX Message Lost Count                   */
3313 #define UC_RX       0x000D  /*      Total Successful RX Messages Count      */
3314 #define UC_RMP      0x000E  /*      Successful RX W/Matching ID Count       */
3315 #define UC_ALL      0x000F  /*      Correct Message On CAN Bus Line Count   */
3316 #define UCRC        0x0020  /* Universal Counter Reload/Clear               */
3317 #define UCCT        0x0040  /* Universal Counter CAN Trigger                */
3318 #define UCE         0x0080  /* Universal Counter Enable                     */
3319 
3320 /* CAN_ESR Masks                                        */
3321 #define ACKE        0x0004  /* Acknowledge Error        */
3322 #define SER         0x0008  /* Stuff Error              */
3323 #define CRCE        0x0010  /* CRC Error                */
3324 #define SA0         0x0020  /* Stuck At Dominant Error  */
3325 #define BEF         0x0040  /* Bit Error Flag           */
3326 #define FER         0x0080  /* Form Error Flag          */
3327 
3328 /* CAN_EWR Masks                                                */
3329 #define EWLREC      0x00FF  /* RX Error Count Limit (For EWRIS) */
3330 #define EWLTEC      0xFF00  /* TX Error Count Limit (For EWTIS) */
3331 
3332 
3333 /* ************  ADC Controller Module (ACM) MASKS  ***************/
3334 
3335 /* Bit masks for ACM_CTL */
3336 #define ACM_EN              0x0001
3337 #define ACM_TMR0_EN         0x0002
3338 #define ACM_TMR1_EN         0x0004
3339 #define ACM_TRG_SEL0        0x0018
3340 #define ACM_TRG_SEL1        0x0060
3341 #define ACM_TRG_POL0        0x0080
3342 #define ACM_TRG_POL1        0x0100
3343 #define ACM_CS_POL          0x0200
3344 #define ACM_CLK_POL         0x0400
3345 #define ACM_EPS             0xC000
3346 
3347 /* Bit masks for ACM_STAT */
3348 #define ACM_BSY             0x0001
3349 #define ACM_EMISS           0x0002
3350 #define ACM_ECOM            0x0004
3351 #define ACM_CEVNT           0x0078
3352 
3353 /* Bit masks for ACM_ES */
3354 #define ACM_ES0             0x0001
3355 #define ACM_ES1             0x0002
3356 #define ACM_ES2             0x0004
3357 #define ACM_ES3             0x0008
3358 #define ACM_ES4             0x0010
3359 #define ACM_ES5             0x0020
3360 #define ACM_ES6             0x0040
3361 #define ACM_ES7             0x0080
3362 #define ACM_ES8             0x0100
3363 #define ACM_ES9             0x0200
3364 #define ACM_ES10            0x0400
3365 #define ACM_ES11            0x0800
3366 #define ACM_ES12            0x1000
3367 #define ACM_ES13            0x2000
3368 #define ACM_ES14            0x4000
3369 #define ACM_ES15            0x8000
3370 
3371 /* Bit masks for ACM_IMSK */
3372 #define ACM_IE0             0x0001
3373 #define ACM_IE1             0x0002
3374 #define ACM_IE2             0x0004
3375 #define ACM_IE3             0x0008
3376 #define ACM_IE4             0x0010
3377 #define ACM_IE5             0x0020
3378 #define ACM_IE6             0x0040
3379 #define ACM_IE7             0x0080
3380 #define ACM_IE8             0x0100
3381 #define ACM_IE9             0x0200
3382 #define ACM_IE10            0x0400
3383 #define ACM_IE11            0x0800
3384 #define ACM_IE12            0x1000
3385 #define ACM_IE13            0x2000
3386 #define ACM_IE14            0x4000
3387 #define ACM_IE15            0x8000
3388 
3389 /* Bit masks for ACM_MS */
3390 #define ACM_EM0             0x0001
3391 #define ACM_EM1             0x0002
3392 #define ACM_EM2             0x0004
3393 #define ACM_EM3             0x0008
3394 #define ACM_EM4             0x0010
3395 #define ACM_EM5             0x0020
3396 #define ACM_EM6             0x0040
3397 #define ACM_EM7             0x0080
3398 #define ACM_EM8             0x0100
3399 #define ACM_EM9             0x0200
3400 #define ACM_EM10            0x0400
3401 #define ACM_EM11            0x0800
3402 #define ACM_EM12            0x1000
3403 #define ACM_EM13            0x2000
3404 #define ACM_EM14            0x4000
3405 #define ACM_EM15            0x8000
3406 
3407 /* Bit masks for ACM_EMSK */
3408 #define ACM_MIE0             0x0001
3409 #define ACM_MIE1             0x0002
3410 #define ACM_MIE2             0x0004
3411 #define ACM_MIE3             0x0008
3412 #define ACM_MIE4             0x0010
3413 #define ACM_MIE5             0x0020
3414 #define ACM_MIE6             0x0040
3415 #define ACM_MIE7             0x0080
3416 #define ACM_MIE8             0x0100
3417 #define ACM_MIE9             0x0200
3418 #define ACM_MIE10            0x0400
3419 #define ACM_MIE11            0x0800
3420 #define ACM_MIE12            0x1000
3421 #define ACM_MIE13            0x2000
3422 #define ACM_MIE14            0x4000
3423 #define ACM_MIE15            0x8000
3424 
3425 /* Bit masks for ACM_ER0 & ACM_ER1 */
3426 #define ACM_EVNT_EN          0x0001
3427 #define ACM_EVNT_PF          0x003E
3428 
3429 /* Bit masks for ACM_ET0 & ACM_ET1 */
3430 #define ACM_EVNT_TIME        0xFFFFFFFF
3431 
3432 /* Bit masks for ACM_TC0 */
3433 #define ACM_CLK_DIV          0x00FF
3434 #define ACM_SC               0xFF00
3435 
3436 /* Bit masks for ACM_TC1 */
3437 #define ACM_CSW              0x00FF
3438 #define ACM_HC               0x0F00
3439 #define ACM_ZC               0xF000
3440 
3441 #ifdef _MISRA_RULES
3442 #pragma diag(pop)
3443 #endif /* _MISRA_RULES */
3444 
3445 #endif /* _DEF_BF50x_H */
3446