]> sourceware.org Git - newlib-cygwin.git/blame - libgloss/bfin/include/defBF54x_base.h
libgloss: bfin: sync headers to VDSP 5.0 Update 8
[newlib-cygwin.git] / libgloss / bfin / include / defBF54x_base.h
CommitLineData
84132c9d
JJ
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** defBF54x_base.h
15**
1cfc2fea 16** Copyright (C) 2006-2009 Analog Devices Inc., All Rights Reserved.
84132c9d
JJ
17**
18************************************************************************************
19**
20** This include file contains a list of macro "defines" to enable the programmer
21** to use symbolic names for the registers common to the ADSP-BF54x peripherals.
22**
23************************************************************************************
24** System MMR Register Map
25************************************************************************************/
26
27#ifndef _DEF_BF54X_H
28#define _DEF_BF54X_H
29
30#ifdef _MISRA_RULES
31#pragma diag(push)
1cfc2fea
MF
32#pragma diag(suppress:misra_rule_5_1:"ADI Header allows long identifiers")
33#pragma diag(suppress:misra_rule_19_4:"ADI header allows any substitution text")
34#pragma diag(suppress:misra_rule_19_7:"ADI header allows function macros")
35#include <stdint.h>
84132c9d
JJ
36#endif /* _MISRA_RULES */
37
38
39/* ************************************************************** */
40/* SYSTEM & MMR ADDRESS DEFINITIONS COMMON TO ALL ADSP-BF54x */
41/* ************************************************************** */
42
43/* PLL Registers */
44
45#define PLL_CTL 0xffc00000 /* PLL Control Register */
46#define PLL_DIV 0xffc00004 /* PLL Divisor Register */
47#define VR_CTL 0xffc00008 /* Voltage Regulator Control Register */
48#define PLL_STAT 0xffc0000c /* PLL Status Register */
49#define PLL_LOCKCNT 0xffc00010 /* PLL Lock Count Register */
50
51/* Debug/MP/Emulation Registers (0xFFC00014 - 0xFFC00014) */
52
53#define CHIPID 0xffc00014
54
55/* System Reset and Interrupt Controller (0xFFC00100 - 0xFFC00104) */
56
57#define SWRST 0xffc00100 /* Software Reset Register */
58#define SYSCR 0xffc00104 /* System Configuration register */
59
60/* SIC Registers */
61
62#define SIC_IMASK0 0xffc0010c /* System Interrupt Mask Register 0 */
63#define SIC_IMASK1 0xffc00110 /* System Interrupt Mask Register 1 */
64#define SIC_IMASK2 0xffc00114 /* System Interrupt Mask Register 2 */
65#define SIC_ISR0 0xffc00118 /* System Interrupt Status Register 0 */
66#define SIC_ISR1 0xffc0011c /* System Interrupt Status Register 1 */
67#define SIC_ISR2 0xffc00120 /* System Interrupt Status Register 2 */
68#define SIC_IWR0 0xffc00124 /* System Interrupt Wakeup Register 0 */
69#define SIC_IWR1 0xffc00128 /* System Interrupt Wakeup Register 1 */
70#define SIC_IWR2 0xffc0012c /* System Interrupt Wakeup Register 2 */
71#define SIC_IAR0 0xffc00130 /* System Interrupt Assignment Register 0 */
72#define SIC_IAR1 0xffc00134 /* System Interrupt Assignment Register 1 */
73#define SIC_IAR2 0xffc00138 /* System Interrupt Assignment Register 2 */
74#define SIC_IAR3 0xffc0013c /* System Interrupt Assignment Register 3 */
75#define SIC_IAR4 0xffc00140 /* System Interrupt Assignment Register 4 */
76#define SIC_IAR5 0xffc00144 /* System Interrupt Assignment Register 5 */
77#define SIC_IAR6 0xffc00148 /* System Interrupt Assignment Register 6 */
78#define SIC_IAR7 0xffc0014c /* System Interrupt Assignment Register 7 */
79#define SIC_IAR8 0xffc00150 /* System Interrupt Assignment Register 8 */
80#define SIC_IAR9 0xffc00154 /* System Interrupt Assignment Register 9 */
81#define SIC_IAR10 0xffc00158 /* System Interrupt Assignment Register 10 */
82#define SIC_IAR11 0xffc0015c /* System Interrupt Assignment Register 11 */
83
84/* Watchdog Timer Registers */
85
86#define WDOG_CTL 0xffc00200 /* Watchdog Control Register */
87#define WDOG_CNT 0xffc00204 /* Watchdog Count Register */
88#define WDOG_STAT 0xffc00208 /* Watchdog Status Register */
89
90/* RTC Registers */
91
92#define RTC_STAT 0xffc00300 /* RTC Status Register */
93#define RTC_ICTL 0xffc00304 /* RTC Interrupt Control Register */
94#define RTC_ISTAT 0xffc00308 /* RTC Interrupt Status Register */
95#define RTC_SWCNT 0xffc0030c /* RTC Stopwatch Count Register */
96#define RTC_ALARM 0xffc00310 /* RTC Alarm Register */
97#define RTC_PREN 0xffc00314 /* RTC Prescaler Enable Register */
98
99/* UART0 Registers */
100
101#define UART0_DLL 0xffc00400 /* Divisor Latch Low Byte */
102#define UART0_DLH 0xffc00404 /* Divisor Latch High Byte */
103#define UART0_GCTL 0xffc00408 /* Global Control Register */
104#define UART0_LCR 0xffc0040c /* Line Control Register */
105#define UART0_MCR 0xffc00410 /* Modem Control Register */
106#define UART0_LSR 0xffc00414 /* Line Status Register */
107#define UART0_MSR 0xffc00418 /* Modem Status Register */
108#define UART0_SCR 0xffc0041c /* Scratch Register */
109#define UART0_IER_SET 0xffc00420 /* Interrupt Enable Register Set */
110#define UART0_IER_CLEAR 0xffc00424 /* Interrupt Enable Register Clear */
111#define UART0_THR 0xffc00428 /* Transmit Hold Register */
112#define UART0_RBR 0xffc0042c /* Receive Buffer Register */
113
114/* SPI0 Registers */
115
116#define SPI0_CTL 0xffc00500 /* SPI0 Control Register */
117#define SPI0_FLG 0xffc00504 /* SPI0 Flag Register */
118#define SPI0_STAT 0xffc00508 /* SPI0 Status Register */
119#define SPI0_TDBR 0xffc0050c /* SPI0 Transmit Data Buffer Register */
120#define SPI0_RDBR 0xffc00510 /* SPI0 Receive Data Buffer Register */
121#define SPI0_BAUD 0xffc00514 /* SPI0 Baud Rate Register */
122#define SPI0_SHADOW 0xffc00518 /* SPI0 Receive Data Buffer Shadow Register */
123
124/* Timer Group of 3 registers are not defined in the shared file because they are not available on the ADSP-BF542 processor */
125
126/* Two Wire Interface Registers (TWI0) */
127
128#define TWI0_CLKDIV 0xffc00700 /* Clock Divider Register */
129#define TWI0_CONTROL 0xffc00704 /* TWI Control Register */
130#define TWI0_SLAVE_CTL 0xffc00708 /* TWI Slave Mode Control Register */
131#define TWI0_SLAVE_STAT 0xffc0070c /* TWI Slave Mode Status Register */
132#define TWI0_SLAVE_ADDR 0xffc00710 /* TWI Slave Mode Address Register */
133#define TWI0_MASTER_CTL 0xffc00714 /* TWI Master Mode Control Register */
134#define TWI0_MASTER_STAT 0xffc00718 /* TWI Master Mode Status Register */
135#define TWI0_MASTER_ADDR 0xffc0071c /* TWI Master Mode Address Register */
136#define TWI0_INT_STAT 0xffc00720 /* TWI Interrupt Status Register */
137#define TWI0_INT_MASK 0xffc00724 /* TWI Interrupt Mask Register */
138#define TWI0_FIFO_CTL 0xffc00728 /* TWI FIFO Control Register */
139#define TWI0_FIFO_STAT 0xffc0072c /* TWI FIFO Status Register */
140#define TWI0_XMT_DATA8 0xffc00780 /* TWI FIFO Transmit Data Single Byte Register */
141#define TWI0_XMT_DATA16 0xffc00784 /* TWI FIFO Transmit Data Double Byte Register */
142#define TWI0_RCV_DATA8 0xffc00788 /* TWI FIFO Receive Data Single Byte Register */
143#define TWI0_RCV_DATA16 0xffc0078c /* TWI FIFO Receive Data Double Byte Register */
144
145/* SPORT0 is not defined in the shared file because it is not available on the ADSP-BF542 and ADSP-BF544 processors */
146
147/* SPORT1 Registers */
148
149#define SPORT1_TCR1 0xffc00900 /* SPORT1 Transmit Configuration 1 Register */
150#define SPORT1_TCR2 0xffc00904 /* SPORT1 Transmit Configuration 2 Register */
151#define SPORT1_TCLKDIV 0xffc00908 /* SPORT1 Transmit Serial Clock Divider Register */
152#define SPORT1_TFSDIV 0xffc0090c /* SPORT1 Transmit Frame Sync Divider Register */
153#define SPORT1_TX 0xffc00910 /* SPORT1 Transmit Data Register */
154#define SPORT1_RX 0xffc00918 /* SPORT1 Receive Data Register */
155#define SPORT1_RCR1 0xffc00920 /* SPORT1 Receive Configuration 1 Register */
156#define SPORT1_RCR2 0xffc00924 /* SPORT1 Receive Configuration 2 Register */
157#define SPORT1_RCLKDIV 0xffc00928 /* SPORT1 Receive Serial Clock Divider Register */
158#define SPORT1_RFSDIV 0xffc0092c /* SPORT1 Receive Frame Sync Divider Register */
159#define SPORT1_STAT 0xffc00930 /* SPORT1 Status Register */
160#define SPORT1_CHNL 0xffc00934 /* SPORT1 Current Channel Register */
161#define SPORT1_MCMC1 0xffc00938 /* SPORT1 Multi channel Configuration Register 1 */
162#define SPORT1_MCMC2 0xffc0093c /* SPORT1 Multi channel Configuration Register 2 */
163#define SPORT1_MTCS0 0xffc00940 /* SPORT1 Multi channel Transmit Select Register 0 */
164#define SPORT1_MTCS1 0xffc00944 /* SPORT1 Multi channel Transmit Select Register 1 */
165#define SPORT1_MTCS2 0xffc00948 /* SPORT1 Multi channel Transmit Select Register 2 */
166#define SPORT1_MTCS3 0xffc0094c /* SPORT1 Multi channel Transmit Select Register 3 */
167#define SPORT1_MRCS0 0xffc00950 /* SPORT1 Multi channel Receive Select Register 0 */
168#define SPORT1_MRCS1 0xffc00954 /* SPORT1 Multi channel Receive Select Register 1 */
169#define SPORT1_MRCS2 0xffc00958 /* SPORT1 Multi channel Receive Select Register 2 */
170#define SPORT1_MRCS3 0xffc0095c /* SPORT1 Multi channel Receive Select Register 3 */
171
172/* Asynchronous Memory Control Registers */
173
174#define EBIU_AMGCTL 0xffc00a00 /* Asynchronous Memory Global Control Register */
175#define EBIU_AMBCTL0 0xffc00a04 /* Asynchronous Memory Bank Control Register */
176#define EBIU_AMBCTL1 0xffc00a08 /* Asynchronous Memory Bank Control Register */
177#define EBIU_MBSCTL 0xffc00a0c /* Asynchronous Memory Bank Select Control Register */
178#define EBIU_ARBSTAT 0xffc00a10 /* Asynchronous Memory Arbiter Status Register */
179#define EBIU_MODE 0xffc00a14 /* Asynchronous Mode Control Register */
180#define EBIU_FCTL 0xffc00a18 /* Asynchronous Memory Flash Control Register */
181
182/* DDR Memory Control Registers */
183
184#define EBIU_DDRCTL0 0xffc00a20 /* DDR Memory Control 0 Register */
185#define EBIU_DDRCTL1 0xffc00a24 /* DDR Memory Control 1 Register */
186#define EBIU_DDRCTL2 0xffc00a28 /* DDR Memory Control 2 Register */
187#define EBIU_DDRCTL3 0xffc00a2c /* DDR Memory Control 3 Register */
188#define EBIU_DDRQUE 0xffc00a30 /* DDR Queue Configuration Register */
189#define EBIU_ERRADD 0xffc00a34 /* DDR Error Address Register */
190#define EBIU_ERRMST 0xffc00a38 /* DDR Error Master Register */
191#define EBIU_RSTCTL 0xffc00a3c /* DDR Reset Control Register */
192
193/* DDR BankRead and Write Count Registers */
194
195#define EBIU_DDRBRC0 0xffc00a60 /* DDR Bank0 Read Count Register */
196#define EBIU_DDRBRC1 0xffc00a64 /* DDR Bank1 Read Count Register */
197#define EBIU_DDRBRC2 0xffc00a68 /* DDR Bank2 Read Count Register */
198#define EBIU_DDRBRC3 0xffc00a6c /* DDR Bank3 Read Count Register */
199#define EBIU_DDRBRC4 0xffc00a70 /* DDR Bank4 Read Count Register */
200#define EBIU_DDRBRC5 0xffc00a74 /* DDR Bank5 Read Count Register */
201#define EBIU_DDRBRC6 0xffc00a78 /* DDR Bank6 Read Count Register */
202#define EBIU_DDRBRC7 0xffc00a7c /* DDR Bank7 Read Count Register */
203#define EBIU_DDRBWC0 0xffc00a80 /* DDR Bank0 Write Count Register */
204#define EBIU_DDRBWC1 0xffc00a84 /* DDR Bank1 Write Count Register */
205#define EBIU_DDRBWC2 0xffc00a88 /* DDR Bank2 Write Count Register */
206#define EBIU_DDRBWC3 0xffc00a8c /* DDR Bank3 Write Count Register */
207#define EBIU_DDRBWC4 0xffc00a90 /* DDR Bank4 Write Count Register */
208#define EBIU_DDRBWC5 0xffc00a94 /* DDR Bank5 Write Count Register */
209#define EBIU_DDRBWC6 0xffc00a98 /* DDR Bank6 Write Count Register */
210#define EBIU_DDRBWC7 0xffc00a9c /* DDR Bank7 Write Count Register */
211#define EBIU_DDRACCT 0xffc00aa0 /* DDR Activation Count Register */
212#define EBIU_DDRTACT 0xffc00aa8 /* DDR Turn Around Count Register */
213#define EBIU_DDRARCT 0xffc00aac /* DDR Auto-refresh Count Register */
214#define EBIU_DDRGC0 0xffc00ab0 /* DDR Grant Count 0 Register */
215#define EBIU_DDRGC1 0xffc00ab4 /* DDR Grant Count 1 Register */
216#define EBIU_DDRGC2 0xffc00ab8 /* DDR Grant Count 2 Register */
217#define EBIU_DDRGC3 0xffc00abc /* DDR Grant Count 3 Register */
218#define EBIU_DDRMCEN 0xffc00ac0 /* DDR Metrics Counter Enable Register */
219#define EBIU_DDRMCCL 0xffc00ac4 /* DDR Metrics Counter Clear Register */
220
221/* DMAC0 Registers */
222
223#define DMAC0_TCPER 0xffc00b0c /* DMA Controller 0 Traffic Control Periods Register */
224#define DMAC0_TCCNT 0xffc00b10 /* DMA Controller 0 Current Counts Register */
225
226/* DMA Channel 0 Registers */
227
228#define DMA0_NEXT_DESC_PTR 0xffc00c00 /* DMA Channel 0 Next Descriptor Pointer Register */
229#define DMA0_START_ADDR 0xffc00c04 /* DMA Channel 0 Start Address Register */
230#define DMA0_CONFIG 0xffc00c08 /* DMA Channel 0 Configuration Register */
231#define DMA0_X_COUNT 0xffc00c10 /* DMA Channel 0 X Count Register */
232#define DMA0_X_MODIFY 0xffc00c14 /* DMA Channel 0 X Modify Register */
233#define DMA0_Y_COUNT 0xffc00c18 /* DMA Channel 0 Y Count Register */
234#define DMA0_Y_MODIFY 0xffc00c1c /* DMA Channel 0 Y Modify Register */
235#define DMA0_CURR_DESC_PTR 0xffc00c20 /* DMA Channel 0 Current Descriptor Pointer Register */
236#define DMA0_CURR_ADDR 0xffc00c24 /* DMA Channel 0 Current Address Register */
237#define DMA0_IRQ_STATUS 0xffc00c28 /* DMA Channel 0 Interrupt/Status Register */
238#define DMA0_PERIPHERAL_MAP 0xffc00c2c /* DMA Channel 0 Peripheral Map Register */
239#define DMA0_CURR_X_COUNT 0xffc00c30 /* DMA Channel 0 Current X Count Register */
240#define DMA0_CURR_Y_COUNT 0xffc00c38 /* DMA Channel 0 Current Y Count Register */
241
242/* DMA Channel 1 Registers */
243
244#define DMA1_NEXT_DESC_PTR 0xffc00c40 /* DMA Channel 1 Next Descriptor Pointer Register */
245#define DMA1_START_ADDR 0xffc00c44 /* DMA Channel 1 Start Address Register */
246#define DMA1_CONFIG 0xffc00c48 /* DMA Channel 1 Configuration Register */
247#define DMA1_X_COUNT 0xffc00c50 /* DMA Channel 1 X Count Register */
248#define DMA1_X_MODIFY 0xffc00c54 /* DMA Channel 1 X Modify Register */
249#define DMA1_Y_COUNT 0xffc00c58 /* DMA Channel 1 Y Count Register */
250#define DMA1_Y_MODIFY 0xffc00c5c /* DMA Channel 1 Y Modify Register */
251#define DMA1_CURR_DESC_PTR 0xffc00c60 /* DMA Channel 1 Current Descriptor Pointer Register */
252#define DMA1_CURR_ADDR 0xffc00c64 /* DMA Channel 1 Current Address Register */
253#define DMA1_IRQ_STATUS 0xffc00c68 /* DMA Channel 1 Interrupt/Status Register */
254#define DMA1_PERIPHERAL_MAP 0xffc00c6c /* DMA Channel 1 Peripheral Map Register */
255#define DMA1_CURR_X_COUNT 0xffc00c70 /* DMA Channel 1 Current X Count Register */
256#define DMA1_CURR_Y_COUNT 0xffc00c78 /* DMA Channel 1 Current Y Count Register */
257
258/* DMA Channel 2 Registers */
259
260#define DMA2_NEXT_DESC_PTR 0xffc00c80 /* DMA Channel 2 Next Descriptor Pointer Register */
261#define DMA2_START_ADDR 0xffc00c84 /* DMA Channel 2 Start Address Register */
262#define DMA2_CONFIG 0xffc00c88 /* DMA Channel 2 Configuration Register */
263#define DMA2_X_COUNT 0xffc00c90 /* DMA Channel 2 X Count Register */
264#define DMA2_X_MODIFY 0xffc00c94 /* DMA Channel 2 X Modify Register */
265#define DMA2_Y_COUNT 0xffc00c98 /* DMA Channel 2 Y Count Register */
266#define DMA2_Y_MODIFY 0xffc00c9c /* DMA Channel 2 Y Modify Register */
267#define DMA2_CURR_DESC_PTR 0xffc00ca0 /* DMA Channel 2 Current Descriptor Pointer Register */
268#define DMA2_CURR_ADDR 0xffc00ca4 /* DMA Channel 2 Current Address Register */
269#define DMA2_IRQ_STATUS 0xffc00ca8 /* DMA Channel 2 Interrupt/Status Register */
270#define DMA2_PERIPHERAL_MAP 0xffc00cac /* DMA Channel 2 Peripheral Map Register */
271#define DMA2_CURR_X_COUNT 0xffc00cb0 /* DMA Channel 2 Current X Count Register */
272#define DMA2_CURR_Y_COUNT 0xffc00cb8 /* DMA Channel 2 Current Y Count Register */
273
274/* DMA Channel 3 Registers */
275
276#define DMA3_NEXT_DESC_PTR 0xffc00cc0 /* DMA Channel 3 Next Descriptor Pointer Register */
277#define DMA3_START_ADDR 0xffc00cc4 /* DMA Channel 3 Start Address Register */
278#define DMA3_CONFIG 0xffc00cc8 /* DMA Channel 3 Configuration Register */
279#define DMA3_X_COUNT 0xffc00cd0 /* DMA Channel 3 X Count Register */
280#define DMA3_X_MODIFY 0xffc00cd4 /* DMA Channel 3 X Modify Register */
281#define DMA3_Y_COUNT 0xffc00cd8 /* DMA Channel 3 Y Count Register */
282#define DMA3_Y_MODIFY 0xffc00cdc /* DMA Channel 3 Y Modify Register */
283#define DMA3_CURR_DESC_PTR 0xffc00ce0 /* DMA Channel 3 Current Descriptor Pointer Register */
284#define DMA3_CURR_ADDR 0xffc00ce4 /* DMA Channel 3 Current Address Register */
285#define DMA3_IRQ_STATUS 0xffc00ce8 /* DMA Channel 3 Interrupt/Status Register */
286#define DMA3_PERIPHERAL_MAP 0xffc00cec /* DMA Channel 3 Peripheral Map Register */
287#define DMA3_CURR_X_COUNT 0xffc00cf0 /* DMA Channel 3 Current X Count Register */
288#define DMA3_CURR_Y_COUNT 0xffc00cf8 /* DMA Channel 3 Current Y Count Register */
289
290/* DMA Channel 4 Registers */
291
292#define DMA4_NEXT_DESC_PTR 0xffc00d00 /* DMA Channel 4 Next Descriptor Pointer Register */
293#define DMA4_START_ADDR 0xffc00d04 /* DMA Channel 4 Start Address Register */
294#define DMA4_CONFIG 0xffc00d08 /* DMA Channel 4 Configuration Register */
295#define DMA4_X_COUNT 0xffc00d10 /* DMA Channel 4 X Count Register */
296#define DMA4_X_MODIFY 0xffc00d14 /* DMA Channel 4 X Modify Register */
297#define DMA4_Y_COUNT 0xffc00d18 /* DMA Channel 4 Y Count Register */
298#define DMA4_Y_MODIFY 0xffc00d1c /* DMA Channel 4 Y Modify Register */
299#define DMA4_CURR_DESC_PTR 0xffc00d20 /* DMA Channel 4 Current Descriptor Pointer Register */
300#define DMA4_CURR_ADDR 0xffc00d24 /* DMA Channel 4 Current Address Register */
301#define DMA4_IRQ_STATUS 0xffc00d28 /* DMA Channel 4 Interrupt/Status Register */
302#define DMA4_PERIPHERAL_MAP 0xffc00d2c /* DMA Channel 4 Peripheral Map Register */
303#define DMA4_CURR_X_COUNT 0xffc00d30 /* DMA Channel 4 Current X Count Register */
304#define DMA4_CURR_Y_COUNT 0xffc00d38 /* DMA Channel 4 Current Y Count Register */
305
306/* DMA Channel 5 Registers */
307
308#define DMA5_NEXT_DESC_PTR 0xffc00d40 /* DMA Channel 5 Next Descriptor Pointer Register */
309#define DMA5_START_ADDR 0xffc00d44 /* DMA Channel 5 Start Address Register */
310#define DMA5_CONFIG 0xffc00d48 /* DMA Channel 5 Configuration Register */
311#define DMA5_X_COUNT 0xffc00d50 /* DMA Channel 5 X Count Register */
312#define DMA5_X_MODIFY 0xffc00d54 /* DMA Channel 5 X Modify Register */
313#define DMA5_Y_COUNT 0xffc00d58 /* DMA Channel 5 Y Count Register */
314#define DMA5_Y_MODIFY 0xffc00d5c /* DMA Channel 5 Y Modify Register */
315#define DMA5_CURR_DESC_PTR 0xffc00d60 /* DMA Channel 5 Current Descriptor Pointer Register */
316#define DMA5_CURR_ADDR 0xffc00d64 /* DMA Channel 5 Current Address Register */
317#define DMA5_IRQ_STATUS 0xffc00d68 /* DMA Channel 5 Interrupt/Status Register */
318#define DMA5_PERIPHERAL_MAP 0xffc00d6c /* DMA Channel 5 Peripheral Map Register */
319#define DMA5_CURR_X_COUNT 0xffc00d70 /* DMA Channel 5 Current X Count Register */
320#define DMA5_CURR_Y_COUNT 0xffc00d78 /* DMA Channel 5 Current Y Count Register */
321
322/* DMA Channel 6 Registers */
323
324#define DMA6_NEXT_DESC_PTR 0xffc00d80 /* DMA Channel 6 Next Descriptor Pointer Register */
325#define DMA6_START_ADDR 0xffc00d84 /* DMA Channel 6 Start Address Register */
326#define DMA6_CONFIG 0xffc00d88 /* DMA Channel 6 Configuration Register */
327#define DMA6_X_COUNT 0xffc00d90 /* DMA Channel 6 X Count Register */
328#define DMA6_X_MODIFY 0xffc00d94 /* DMA Channel 6 X Modify Register */
329#define DMA6_Y_COUNT 0xffc00d98 /* DMA Channel 6 Y Count Register */
330#define DMA6_Y_MODIFY 0xffc00d9c /* DMA Channel 6 Y Modify Register */
331#define DMA6_CURR_DESC_PTR 0xffc00da0 /* DMA Channel 6 Current Descriptor Pointer Register */
332#define DMA6_CURR_ADDR 0xffc00da4 /* DMA Channel 6 Current Address Register */
333#define DMA6_IRQ_STATUS 0xffc00da8 /* DMA Channel 6 Interrupt/Status Register */
334#define DMA6_PERIPHERAL_MAP 0xffc00dac /* DMA Channel 6 Peripheral Map Register */
335#define DMA6_CURR_X_COUNT 0xffc00db0 /* DMA Channel 6 Current X Count Register */
336#define DMA6_CURR_Y_COUNT 0xffc00db8 /* DMA Channel 6 Current Y Count Register */
337
338/* DMA Channel 7 Registers */
339
340#define DMA7_NEXT_DESC_PTR 0xffc00dc0 /* DMA Channel 7 Next Descriptor Pointer Register */
341#define DMA7_START_ADDR 0xffc00dc4 /* DMA Channel 7 Start Address Register */
342#define DMA7_CONFIG 0xffc00dc8 /* DMA Channel 7 Configuration Register */
343#define DMA7_X_COUNT 0xffc00dd0 /* DMA Channel 7 X Count Register */
344#define DMA7_X_MODIFY 0xffc00dd4 /* DMA Channel 7 X Modify Register */
345#define DMA7_Y_COUNT 0xffc00dd8 /* DMA Channel 7 Y Count Register */
346#define DMA7_Y_MODIFY 0xffc00ddc /* DMA Channel 7 Y Modify Register */
347#define DMA7_CURR_DESC_PTR 0xffc00de0 /* DMA Channel 7 Current Descriptor Pointer Register */
348#define DMA7_CURR_ADDR 0xffc00de4 /* DMA Channel 7 Current Address Register */
349#define DMA7_IRQ_STATUS 0xffc00de8 /* DMA Channel 7 Interrupt/Status Register */
350#define DMA7_PERIPHERAL_MAP 0xffc00dec /* DMA Channel 7 Peripheral Map Register */
351#define DMA7_CURR_X_COUNT 0xffc00df0 /* DMA Channel 7 Current X Count Register */
352#define DMA7_CURR_Y_COUNT 0xffc00df8 /* DMA Channel 7 Current Y Count Register */
353
354/* DMA Channel 8 Registers */
355
356#define DMA8_NEXT_DESC_PTR 0xffc00e00 /* DMA Channel 8 Next Descriptor Pointer Register */
357#define DMA8_START_ADDR 0xffc00e04 /* DMA Channel 8 Start Address Register */
358#define DMA8_CONFIG 0xffc00e08 /* DMA Channel 8 Configuration Register */
359#define DMA8_X_COUNT 0xffc00e10 /* DMA Channel 8 X Count Register */
360#define DMA8_X_MODIFY 0xffc00e14 /* DMA Channel 8 X Modify Register */
361#define DMA8_Y_COUNT 0xffc00e18 /* DMA Channel 8 Y Count Register */
362#define DMA8_Y_MODIFY 0xffc00e1c /* DMA Channel 8 Y Modify Register */
363#define DMA8_CURR_DESC_PTR 0xffc00e20 /* DMA Channel 8 Current Descriptor Pointer Register */
364#define DMA8_CURR_ADDR 0xffc00e24 /* DMA Channel 8 Current Address Register */
365#define DMA8_IRQ_STATUS 0xffc00e28 /* DMA Channel 8 Interrupt/Status Register */
366#define DMA8_PERIPHERAL_MAP 0xffc00e2c /* DMA Channel 8 Peripheral Map Register */
367#define DMA8_CURR_X_COUNT 0xffc00e30 /* DMA Channel 8 Current X Count Register */
368#define DMA8_CURR_Y_COUNT 0xffc00e38 /* DMA Channel 8 Current Y Count Register */
369
370/* DMA Channel 9 Registers */
371
372#define DMA9_NEXT_DESC_PTR 0xffc00e40 /* DMA Channel 9 Next Descriptor Pointer Register */
373#define DMA9_START_ADDR 0xffc00e44 /* DMA Channel 9 Start Address Register */
374#define DMA9_CONFIG 0xffc00e48 /* DMA Channel 9 Configuration Register */
375#define DMA9_X_COUNT 0xffc00e50 /* DMA Channel 9 X Count Register */
376#define DMA9_X_MODIFY 0xffc00e54 /* DMA Channel 9 X Modify Register */
377#define DMA9_Y_COUNT 0xffc00e58 /* DMA Channel 9 Y Count Register */
378#define DMA9_Y_MODIFY 0xffc00e5c /* DMA Channel 9 Y Modify Register */
379#define DMA9_CURR_DESC_PTR 0xffc00e60 /* DMA Channel 9 Current Descriptor Pointer Register */
380#define DMA9_CURR_ADDR 0xffc00e64 /* DMA Channel 9 Current Address Register */
381#define DMA9_IRQ_STATUS 0xffc00e68 /* DMA Channel 9 Interrupt/Status Register */
382#define DMA9_PERIPHERAL_MAP 0xffc00e6c /* DMA Channel 9 Peripheral Map Register */
383#define DMA9_CURR_X_COUNT 0xffc00e70 /* DMA Channel 9 Current X Count Register */
384#define DMA9_CURR_Y_COUNT 0xffc00e78 /* DMA Channel 9 Current Y Count Register */
385
386/* DMA Channel 10 Registers */
387
388#define DMA10_NEXT_DESC_PTR 0xffc00e80 /* DMA Channel 10 Next Descriptor Pointer Register */
389#define DMA10_START_ADDR 0xffc00e84 /* DMA Channel 10 Start Address Register */
390#define DMA10_CONFIG 0xffc00e88 /* DMA Channel 10 Configuration Register */
391#define DMA10_X_COUNT 0xffc00e90 /* DMA Channel 10 X Count Register */
392#define DMA10_X_MODIFY 0xffc00e94 /* DMA Channel 10 X Modify Register */
393#define DMA10_Y_COUNT 0xffc00e98 /* DMA Channel 10 Y Count Register */
394#define DMA10_Y_MODIFY 0xffc00e9c /* DMA Channel 10 Y Modify Register */
395#define DMA10_CURR_DESC_PTR 0xffc00ea0 /* DMA Channel 10 Current Descriptor Pointer Register */
396#define DMA10_CURR_ADDR 0xffc00ea4 /* DMA Channel 10 Current Address Register */
397#define DMA10_IRQ_STATUS 0xffc00ea8 /* DMA Channel 10 Interrupt/Status Register */
398#define DMA10_PERIPHERAL_MAP 0xffc00eac /* DMA Channel 10 Peripheral Map Register */
399#define DMA10_CURR_X_COUNT 0xffc00eb0 /* DMA Channel 10 Current X Count Register */
400#define DMA10_CURR_Y_COUNT 0xffc00eb8 /* DMA Channel 10 Current Y Count Register */
401
402/* DMA Channel 11 Registers */
403
404#define DMA11_NEXT_DESC_PTR 0xffc00ec0 /* DMA Channel 11 Next Descriptor Pointer Register */
405#define DMA11_START_ADDR 0xffc00ec4 /* DMA Channel 11 Start Address Register */
406#define DMA11_CONFIG 0xffc00ec8 /* DMA Channel 11 Configuration Register */
407#define DMA11_X_COUNT 0xffc00ed0 /* DMA Channel 11 X Count Register */
408#define DMA11_X_MODIFY 0xffc00ed4 /* DMA Channel 11 X Modify Register */
409#define DMA11_Y_COUNT 0xffc00ed8 /* DMA Channel 11 Y Count Register */
410#define DMA11_Y_MODIFY 0xffc00edc /* DMA Channel 11 Y Modify Register */
411#define DMA11_CURR_DESC_PTR 0xffc00ee0 /* DMA Channel 11 Current Descriptor Pointer Register */
412#define DMA11_CURR_ADDR 0xffc00ee4 /* DMA Channel 11 Current Address Register */
413#define DMA11_IRQ_STATUS 0xffc00ee8 /* DMA Channel 11 Interrupt/Status Register */
414#define DMA11_PERIPHERAL_MAP 0xffc00eec /* DMA Channel 11 Peripheral Map Register */
415#define DMA11_CURR_X_COUNT 0xffc00ef0 /* DMA Channel 11 Current X Count Register */
416#define DMA11_CURR_Y_COUNT 0xffc00ef8 /* DMA Channel 11 Current Y Count Register */
417
418/* MDMA Stream 0 Registers */
419
420#define MDMA_D0_NEXT_DESC_PTR 0xffc00f00 /* Memory DMA Stream 0 Destination Next Descriptor Pointer Register */
421#define MDMA_D0_START_ADDR 0xffc00f04 /* Memory DMA Stream 0 Destination Start Address Register */
422#define MDMA_D0_CONFIG 0xffc00f08 /* Memory DMA Stream 0 Destination Configuration Register */
423#define MDMA_D0_X_COUNT 0xffc00f10 /* Memory DMA Stream 0 Destination X Count Register */
424#define MDMA_D0_X_MODIFY 0xffc00f14 /* Memory DMA Stream 0 Destination X Modify Register */
425#define MDMA_D0_Y_COUNT 0xffc00f18 /* Memory DMA Stream 0 Destination Y Count Register */
426#define MDMA_D0_Y_MODIFY 0xffc00f1c /* Memory DMA Stream 0 Destination Y Modify Register */
427#define MDMA_D0_CURR_DESC_PTR 0xffc00f20 /* Memory DMA Stream 0 Destination Current Descriptor Pointer Register */
428#define MDMA_D0_CURR_ADDR 0xffc00f24 /* Memory DMA Stream 0 Destination Current Address Register */
429#define MDMA_D0_IRQ_STATUS 0xffc00f28 /* Memory DMA Stream 0 Destination Interrupt/Status Register */
430#define MDMA_D0_PERIPHERAL_MAP 0xffc00f2c /* Memory DMA Stream 0 Destination Peripheral Map Register */
431#define MDMA_D0_CURR_X_COUNT 0xffc00f30 /* Memory DMA Stream 0 Destination Current X Count Register */
432#define MDMA_D0_CURR_Y_COUNT 0xffc00f38 /* Memory DMA Stream 0 Destination Current Y Count Register */
433#define MDMA_S0_NEXT_DESC_PTR 0xffc00f40 /* Memory DMA Stream 0 Source Next Descriptor Pointer Register */
434#define MDMA_S0_START_ADDR 0xffc00f44 /* Memory DMA Stream 0 Source Start Address Register */
435#define MDMA_S0_CONFIG 0xffc00f48 /* Memory DMA Stream 0 Source Configuration Register */
436#define MDMA_S0_X_COUNT 0xffc00f50 /* Memory DMA Stream 0 Source X Count Register */
437#define MDMA_S0_X_MODIFY 0xffc00f54 /* Memory DMA Stream 0 Source X Modify Register */
438#define MDMA_S0_Y_COUNT 0xffc00f58 /* Memory DMA Stream 0 Source Y Count Register */
439#define MDMA_S0_Y_MODIFY 0xffc00f5c /* Memory DMA Stream 0 Source Y Modify Register */
440#define MDMA_S0_CURR_DESC_PTR 0xffc00f60 /* Memory DMA Stream 0 Source Current Descriptor Pointer Register */
441#define MDMA_S0_CURR_ADDR 0xffc00f64 /* Memory DMA Stream 0 Source Current Address Register */
442#define MDMA_S0_IRQ_STATUS 0xffc00f68 /* Memory DMA Stream 0 Source Interrupt/Status Register */
443#define MDMA_S0_PERIPHERAL_MAP 0xffc00f6c /* Memory DMA Stream 0 Source Peripheral Map Register */
444#define MDMA_S0_CURR_X_COUNT 0xffc00f70 /* Memory DMA Stream 0 Source Current X Count Register */
445#define MDMA_S0_CURR_Y_COUNT 0xffc00f78 /* Memory DMA Stream 0 Source Current Y Count Register */
446
447/* MDMA Stream 1 Registers */
448
449#define MDMA_D1_NEXT_DESC_PTR 0xffc00f80 /* Memory DMA Stream 1 Destination Next Descriptor Pointer Register */
450#define MDMA_D1_START_ADDR 0xffc00f84 /* Memory DMA Stream 1 Destination Start Address Register */
451#define MDMA_D1_CONFIG 0xffc00f88 /* Memory DMA Stream 1 Destination Configuration Register */
452#define MDMA_D1_X_COUNT 0xffc00f90 /* Memory DMA Stream 1 Destination X Count Register */
453#define MDMA_D1_X_MODIFY 0xffc00f94 /* Memory DMA Stream 1 Destination X Modify Register */
454#define MDMA_D1_Y_COUNT 0xffc00f98 /* Memory DMA Stream 1 Destination Y Count Register */
455#define MDMA_D1_Y_MODIFY 0xffc00f9c /* Memory DMA Stream 1 Destination Y Modify Register */
456#define MDMA_D1_CURR_DESC_PTR 0xffc00fa0 /* Memory DMA Stream 1 Destination Current Descriptor Pointer Register */
457#define MDMA_D1_CURR_ADDR 0xffc00fa4 /* Memory DMA Stream 1 Destination Current Address Register */
458#define MDMA_D1_IRQ_STATUS 0xffc00fa8 /* Memory DMA Stream 1 Destination Interrupt/Status Register */
459#define MDMA_D1_PERIPHERAL_MAP 0xffc00fac /* Memory DMA Stream 1 Destination Peripheral Map Register */
460#define MDMA_D1_CURR_X_COUNT 0xffc00fb0 /* Memory DMA Stream 1 Destination Current X Count Register */
461#define MDMA_D1_CURR_Y_COUNT 0xffc00fb8 /* Memory DMA Stream 1 Destination Current Y Count Register */
462#define MDMA_S1_NEXT_DESC_PTR 0xffc00fc0 /* Memory DMA Stream 1 Source Next Descriptor Pointer Register */
463#define MDMA_S1_START_ADDR 0xffc00fc4 /* Memory DMA Stream 1 Source Start Address Register */
464#define MDMA_S1_CONFIG 0xffc00fc8 /* Memory DMA Stream 1 Source Configuration Register */
465#define MDMA_S1_X_COUNT 0xffc00fd0 /* Memory DMA Stream 1 Source X Count Register */
466#define MDMA_S1_X_MODIFY 0xffc00fd4 /* Memory DMA Stream 1 Source X Modify Register */
467#define MDMA_S1_Y_COUNT 0xffc00fd8 /* Memory DMA Stream 1 Source Y Count Register */
468#define MDMA_S1_Y_MODIFY 0xffc00fdc /* Memory DMA Stream 1 Source Y Modify Register */
469#define MDMA_S1_CURR_DESC_PTR 0xffc00fe0 /* Memory DMA Stream 1 Source Current Descriptor Pointer Register */
470#define MDMA_S1_CURR_ADDR 0xffc00fe4 /* Memory DMA Stream 1 Source Current Address Register */
471#define MDMA_S1_IRQ_STATUS 0xffc00fe8 /* Memory DMA Stream 1 Source Interrupt/Status Register */
472#define MDMA_S1_PERIPHERAL_MAP 0xffc00fec /* Memory DMA Stream 1 Source Peripheral Map Register */
473#define MDMA_S1_CURR_X_COUNT 0xffc00ff0 /* Memory DMA Stream 1 Source Current X Count Register */
474#define MDMA_S1_CURR_Y_COUNT 0xffc00ff8 /* Memory DMA Stream 1 Source Current Y Count Register */
475
476/* UART3 Registers */
477
478#define UART3_DLL 0xffc03100 /* Divisor Latch Low Byte */
479#define UART3_DLH 0xffc03104 /* Divisor Latch High Byte */
480#define UART3_GCTL 0xffc03108 /* Global Control Register */
481#define UART3_LCR 0xffc0310c /* Line Control Register */
482#define UART3_MCR 0xffc03110 /* Modem Control Register */
483#define UART3_LSR 0xffc03114 /* Line Status Register */
484#define UART3_MSR 0xffc03118 /* Modem Status Register */
485#define UART3_SCR 0xffc0311c /* Scratch Register */
486#define UART3_IER_SET 0xffc03120 /* Interrupt Enable Register Set */
487#define UART3_IER_CLEAR 0xffc03124 /* Interrupt Enable Register Clear */
488#define UART3_THR 0xffc03128 /* Transmit Hold Register */
489#define UART3_RBR 0xffc0312c /* Receive Buffer Register */
490
491/* EPPI1 Registers */
492
493#define EPPI1_STATUS 0xffc01300 /* EPPI1 Status Register */
494#define EPPI1_HCOUNT 0xffc01304 /* EPPI1 Horizontal Transfer Count Register */
495#define EPPI1_HDELAY 0xffc01308 /* EPPI1 Horizontal Delay Count Register */
496#define EPPI1_VCOUNT 0xffc0130c /* EPPI1 Vertical Transfer Count Register */
497#define EPPI1_VDELAY 0xffc01310 /* EPPI1 Vertical Delay Count Register */
498#define EPPI1_FRAME 0xffc01314 /* EPPI1 Lines per Frame Register */
499#define EPPI1_LINE 0xffc01318 /* EPPI1 Samples per Line Register */
500#define EPPI1_CLKDIV 0xffc0131c /* EPPI1 Clock Divide Register */
501#define EPPI1_CONTROL 0xffc01320 /* EPPI1 Control Register */
502#define EPPI1_FS1W_HBL 0xffc01324 /* EPPI1 FS1 Width Register / EPPI1 Horizontal Blanking Samples Per Line Register */
503#define EPPI1_FS1P_AVPL 0xffc01328 /* EPPI1 FS1 Period Register / EPPI1 Active Video Samples Per Line Register */
504#define EPPI1_FS2W_LVB 0xffc0132c /* EPPI1 FS2 Width Register / EPPI1 Lines of Vertical Blanking Register */
505#define EPPI1_FS2P_LAVF 0xffc01330 /* EPPI1 FS2 Period Register/ EPPI1 Lines of Active Video Per Field Register */
506#define EPPI1_CLIP 0xffc01334 /* EPPI1 Clipping Register */
507
508/* Port Interrupt 0 Registers (32-bit) */
509
510#define PINT0_MASK_SET 0xffc01400 /* Pin Interrupt 0 Mask Set Register */
511#define PINT0_MASK_CLEAR 0xffc01404 /* Pin Interrupt 0 Mask Clear Register */
512#define PINT0_REQUEST 0xffc01408 /* Pin Interrupt 0 Interrupt Request Register */
513#define PINT0_ASSIGN 0xffc0140c /* Pin Interrupt 0 Port Assign Register */
514#define PINT0_EDGE_SET 0xffc01410 /* Pin Interrupt 0 Edge-sensitivity Set Register */
515#define PINT0_EDGE_CLEAR 0xffc01414 /* Pin Interrupt 0 Edge-sensitivity Clear Register */
516#define PINT0_INVERT_SET 0xffc01418 /* Pin Interrupt 0 Inversion Set Register */
517#define PINT0_INVERT_CLEAR 0xffc0141c /* Pin Interrupt 0 Inversion Clear Register */
518#define PINT0_PINSTATE 0xffc01420 /* Pin Interrupt 0 Pin Status Register */
519#define PINT0_LATCH 0xffc01424 /* Pin Interrupt 0 Latch Register */
520
521/* Port Interrupt 1 Registers (32-bit) */
522
523#define PINT1_MASK_SET 0xffc01430 /* Pin Interrupt 1 Mask Set Register */
524#define PINT1_MASK_CLEAR 0xffc01434 /* Pin Interrupt 1 Mask Clear Register */
525#define PINT1_REQUEST 0xffc01438 /* Pin Interrupt 1 Interrupt Request Register */
526#define PINT1_ASSIGN 0xffc0143c /* Pin Interrupt 1 Port Assign Register */
527#define PINT1_EDGE_SET 0xffc01440 /* Pin Interrupt 1 Edge-sensitivity Set Register */
528#define PINT1_EDGE_CLEAR 0xffc01444 /* Pin Interrupt 1 Edge-sensitivity Clear Register */
529#define PINT1_INVERT_SET 0xffc01448 /* Pin Interrupt 1 Inversion Set Register */
530#define PINT1_INVERT_CLEAR 0xffc0144c /* Pin Interrupt 1 Inversion Clear Register */
531#define PINT1_PINSTATE 0xffc01450 /* Pin Interrupt 1 Pin Status Register */
532#define PINT1_LATCH 0xffc01454 /* Pin Interrupt 1 Latch Register */
533
534/* Port Interrupt 2 Registers (32-bit) */
535
536#define PINT2_MASK_SET 0xffc01460 /* Pin Interrupt 2 Mask Set Register */
537#define PINT2_MASK_CLEAR 0xffc01464 /* Pin Interrupt 2 Mask Clear Register */
538#define PINT2_REQUEST 0xffc01468 /* Pin Interrupt 2 Interrupt Request Register */
539#define PINT2_ASSIGN 0xffc0146c /* Pin Interrupt 2 Port Assign Register */
540#define PINT2_EDGE_SET 0xffc01470 /* Pin Interrupt 2 Edge-sensitivity Set Register */
541#define PINT2_EDGE_CLEAR 0xffc01474 /* Pin Interrupt 2 Edge-sensitivity Clear Register */
542#define PINT2_INVERT_SET 0xffc01478 /* Pin Interrupt 2 Inversion Set Register */
543#define PINT2_INVERT_CLEAR 0xffc0147c /* Pin Interrupt 2 Inversion Clear Register */
544#define PINT2_PINSTATE 0xffc01480 /* Pin Interrupt 2 Pin Status Register */
545#define PINT2_LATCH 0xffc01484 /* Pin Interrupt 2 Latch Register */
546
547/* Port Interrupt 3 Registers (32-bit) */
548
549#define PINT3_MASK_SET 0xffc01490 /* Pin Interrupt 3 Mask Set Register */
550#define PINT3_MASK_CLEAR 0xffc01494 /* Pin Interrupt 3 Mask Clear Register */
551#define PINT3_REQUEST 0xffc01498 /* Pin Interrupt 3 Interrupt Request Register */
552#define PINT3_ASSIGN 0xffc0149c /* Pin Interrupt 3 Port Assign Register */
553#define PINT3_EDGE_SET 0xffc014a0 /* Pin Interrupt 3 Edge-sensitivity Set Register */
554#define PINT3_EDGE_CLEAR 0xffc014a4 /* Pin Interrupt 3 Edge-sensitivity Clear Register */
555#define PINT3_INVERT_SET 0xffc014a8 /* Pin Interrupt 3 Inversion Set Register */
556#define PINT3_INVERT_CLEAR 0xffc014ac /* Pin Interrupt 3 Inversion Clear Register */
557#define PINT3_PINSTATE 0xffc014b0 /* Pin Interrupt 3 Pin Status Register */
558#define PINT3_LATCH 0xffc014b4 /* Pin Interrupt 3 Latch Register */
559
560/* Port A Registers */
561
562#define PORTA_FER 0xffc014c0 /* Function Enable Register */
563#define PORTA 0xffc014c4 /* GPIO Data Register */
564#define PORTA_SET 0xffc014c8 /* GPIO Data Set Register */
565#define PORTA_CLEAR 0xffc014cc /* GPIO Data Clear Register */
566#define PORTA_DIR_SET 0xffc014d0 /* GPIO Direction Set Register */
567#define PORTA_DIR_CLEAR 0xffc014d4 /* GPIO Direction Clear Register */
568#define PORTA_INEN 0xffc014d8 /* GPIO Input Enable Register */
569#define PORTA_MUX 0xffc014dc /* Multiplexer Control Register */
570
571/* Port B Registers */
572
573#define PORTB_FER 0xffc014e0 /* Function Enable Register */
574#define PORTB 0xffc014e4 /* GPIO Data Register */
575#define PORTB_SET 0xffc014e8 /* GPIO Data Set Register */
576#define PORTB_CLEAR 0xffc014ec /* GPIO Data Clear Register */
577#define PORTB_DIR_SET 0xffc014f0 /* GPIO Direction Set Register */
578#define PORTB_DIR_CLEAR 0xffc014f4 /* GPIO Direction Clear Register */
579#define PORTB_INEN 0xffc014f8 /* GPIO Input Enable Register */
580#define PORTB_MUX 0xffc014fc /* Multiplexer Control Register */
581
582/* Port C Registers */
583
584#define PORTC_FER 0xffc01500 /* Function Enable Register */
585#define PORTC 0xffc01504 /* GPIO Data Register */
586#define PORTC_SET 0xffc01508 /* GPIO Data Set Register */
587#define PORTC_CLEAR 0xffc0150c /* GPIO Data Clear Register */
588#define PORTC_DIR_SET 0xffc01510 /* GPIO Direction Set Register */
589#define PORTC_DIR_CLEAR 0xffc01514 /* GPIO Direction Clear Register */
590#define PORTC_INEN 0xffc01518 /* GPIO Input Enable Register */
591#define PORTC_MUX 0xffc0151c /* Multiplexer Control Register */
592
593/* Port D Registers */
594
595#define PORTD_FER 0xffc01520 /* Function Enable Register */
596#define PORTD 0xffc01524 /* GPIO Data Register */
597#define PORTD_SET 0xffc01528 /* GPIO Data Set Register */
598#define PORTD_CLEAR 0xffc0152c /* GPIO Data Clear Register */
599#define PORTD_DIR_SET 0xffc01530 /* GPIO Direction Set Register */
600#define PORTD_DIR_CLEAR 0xffc01534 /* GPIO Direction Clear Register */
601#define PORTD_INEN 0xffc01538 /* GPIO Input Enable Register */
602#define PORTD_MUX 0xffc0153c /* Multiplexer Control Register */
603
604/* Port E Registers */
605
606#define PORTE_FER 0xffc01540 /* Function Enable Register */
607#define PORTE 0xffc01544 /* GPIO Data Register */
608#define PORTE_SET 0xffc01548 /* GPIO Data Set Register */
609#define PORTE_CLEAR 0xffc0154c /* GPIO Data Clear Register */
610#define PORTE_DIR_SET 0xffc01550 /* GPIO Direction Set Register */
611#define PORTE_DIR_CLEAR 0xffc01554 /* GPIO Direction Clear Register */
612#define PORTE_INEN 0xffc01558 /* GPIO Input Enable Register */
613#define PORTE_MUX 0xffc0155c /* Multiplexer Control Register */
614
615/* Port F Registers */
616
617#define PORTF_FER 0xffc01560 /* Function Enable Register */
618#define PORTF 0xffc01564 /* GPIO Data Register */
619#define PORTF_SET 0xffc01568 /* GPIO Data Set Register */
620#define PORTF_CLEAR 0xffc0156c /* GPIO Data Clear Register */
621#define PORTF_DIR_SET 0xffc01570 /* GPIO Direction Set Register */
622#define PORTF_DIR_CLEAR 0xffc01574 /* GPIO Direction Clear Register */
623#define PORTF_INEN 0xffc01578 /* GPIO Input Enable Register */
624#define PORTF_MUX 0xffc0157c /* Multiplexer Control Register */
625
626/* Port G Registers */
627
628#define PORTG_FER 0xffc01580 /* Function Enable Register */
629#define PORTG 0xffc01584 /* GPIO Data Register */
630#define PORTG_SET 0xffc01588 /* GPIO Data Set Register */
631#define PORTG_CLEAR 0xffc0158c /* GPIO Data Clear Register */
632#define PORTG_DIR_SET 0xffc01590 /* GPIO Direction Set Register */
633#define PORTG_DIR_CLEAR 0xffc01594 /* GPIO Direction Clear Register */
634#define PORTG_INEN 0xffc01598 /* GPIO Input Enable Register */
635#define PORTG_MUX 0xffc0159c /* Multiplexer Control Register */
636
637/* Port H Registers */
638
639#define PORTH_FER 0xffc015a0 /* Function Enable Register */
640#define PORTH 0xffc015a4 /* GPIO Data Register */
641#define PORTH_SET 0xffc015a8 /* GPIO Data Set Register */
642#define PORTH_CLEAR 0xffc015ac /* GPIO Data Clear Register */
643#define PORTH_DIR_SET 0xffc015b0 /* GPIO Direction Set Register */
644#define PORTH_DIR_CLEAR 0xffc015b4 /* GPIO Direction Clear Register */
645#define PORTH_INEN 0xffc015b8 /* GPIO Input Enable Register */
646#define PORTH_MUX 0xffc015bc /* Multiplexer Control Register */
647
648/* Port I Registers */
649
650#define PORTI_FER 0xffc015c0 /* Function Enable Register */
651#define PORTI 0xffc015c4 /* GPIO Data Register */
652#define PORTI_SET 0xffc015c8 /* GPIO Data Set Register */
653#define PORTI_CLEAR 0xffc015cc /* GPIO Data Clear Register */
654#define PORTI_DIR_SET 0xffc015d0 /* GPIO Direction Set Register */
655#define PORTI_DIR_CLEAR 0xffc015d4 /* GPIO Direction Clear Register */
656#define PORTI_INEN 0xffc015d8 /* GPIO Input Enable Register */
657#define PORTI_MUX 0xffc015dc /* Multiplexer Control Register */
658
659/* Port J Registers */
660
661#define PORTJ_FER 0xffc015e0 /* Function Enable Register */
662#define PORTJ 0xffc015e4 /* GPIO Data Register */
663#define PORTJ_SET 0xffc015e8 /* GPIO Data Set Register */
664#define PORTJ_CLEAR 0xffc015ec /* GPIO Data Clear Register */
665#define PORTJ_DIR_SET 0xffc015f0 /* GPIO Direction Set Register */
666#define PORTJ_DIR_CLEAR 0xffc015f4 /* GPIO Direction Clear Register */
667#define PORTJ_INEN 0xffc015f8 /* GPIO Input Enable Register */
668#define PORTJ_MUX 0xffc015fc /* Multiplexer Control Register */
669
670/* PWM Timer Registers */
671
672#define TIMER0_CONFIG 0xffc01600 /* Timer 0 Configuration Register */
673#define TIMER0_COUNTER 0xffc01604 /* Timer 0 Counter Register */
674#define TIMER0_PERIOD 0xffc01608 /* Timer 0 Period Register */
675#define TIMER0_WIDTH 0xffc0160c /* Timer 0 Width Register */
676#define TIMER1_CONFIG 0xffc01610 /* Timer 1 Configuration Register */
677#define TIMER1_COUNTER 0xffc01614 /* Timer 1 Counter Register */
678#define TIMER1_PERIOD 0xffc01618 /* Timer 1 Period Register */
679#define TIMER1_WIDTH 0xffc0161c /* Timer 1 Width Register */
680#define TIMER2_CONFIG 0xffc01620 /* Timer 2 Configuration Register */
681#define TIMER2_COUNTER 0xffc01624 /* Timer 2 Counter Register */
682#define TIMER2_PERIOD 0xffc01628 /* Timer 2 Period Register */
683#define TIMER2_WIDTH 0xffc0162c /* Timer 2 Width Register */
684#define TIMER3_CONFIG 0xffc01630 /* Timer 3 Configuration Register */
685#define TIMER3_COUNTER 0xffc01634 /* Timer 3 Counter Register */
686#define TIMER3_PERIOD 0xffc01638 /* Timer 3 Period Register */
687#define TIMER3_WIDTH 0xffc0163c /* Timer 3 Width Register */
688#define TIMER4_CONFIG 0xffc01640 /* Timer 4 Configuration Register */
689#define TIMER4_COUNTER 0xffc01644 /* Timer 4 Counter Register */
690#define TIMER4_PERIOD 0xffc01648 /* Timer 4 Period Register */
691#define TIMER4_WIDTH 0xffc0164c /* Timer 4 Width Register */
692#define TIMER5_CONFIG 0xffc01650 /* Timer 5 Configuration Register */
693#define TIMER5_COUNTER 0xffc01654 /* Timer 5 Counter Register */
694#define TIMER5_PERIOD 0xffc01658 /* Timer 5 Period Register */
695#define TIMER5_WIDTH 0xffc0165c /* Timer 5 Width Register */
696#define TIMER6_CONFIG 0xffc01660 /* Timer 6 Configuration Register */
697#define TIMER6_COUNTER 0xffc01664 /* Timer 6 Counter Register */
698#define TIMER6_PERIOD 0xffc01668 /* Timer 6 Period Register */
699#define TIMER6_WIDTH 0xffc0166c /* Timer 6 Width Register */
700#define TIMER7_CONFIG 0xffc01670 /* Timer 7 Configuration Register */
701#define TIMER7_COUNTER 0xffc01674 /* Timer 7 Counter Register */
702#define TIMER7_PERIOD 0xffc01678 /* Timer 7 Period Register */
703#define TIMER7_WIDTH 0xffc0167c /* Timer 7 Width Register */
704
705/* Timer Group of 8 */
706
707#define TIMER_ENABLE0 0xffc01680 /* Timer Group of 8 Enable Register */
708#define TIMER_DISABLE0 0xffc01684 /* Timer Group of 8 Disable Register */
709#define TIMER_STATUS0 0xffc01688 /* Timer Group of 8 Status Register */
710
711/* DMAC1 Registers */
712
713#define DMAC1_TCPER 0xffc01b0c /* DMA Controller 1 Traffic Control Periods Register */
714#define DMAC1_TCCNT 0xffc01b10 /* DMA Controller 1 Current Counts Register */
715
716/* DMA Channel 12 Registers */
717
718#define DMA12_NEXT_DESC_PTR 0xffc01c00 /* DMA Channel 12 Next Descriptor Pointer Register */
719#define DMA12_START_ADDR 0xffc01c04 /* DMA Channel 12 Start Address Register */
720#define DMA12_CONFIG 0xffc01c08 /* DMA Channel 12 Configuration Register */
721#define DMA12_X_COUNT 0xffc01c10 /* DMA Channel 12 X Count Register */
722#define DMA12_X_MODIFY 0xffc01c14 /* DMA Channel 12 X Modify Register */
723#define DMA12_Y_COUNT 0xffc01c18 /* DMA Channel 12 Y Count Register */
724#define DMA12_Y_MODIFY 0xffc01c1c /* DMA Channel 12 Y Modify Register */
725#define DMA12_CURR_DESC_PTR 0xffc01c20 /* DMA Channel 12 Current Descriptor Pointer Register */
726#define DMA12_CURR_ADDR 0xffc01c24 /* DMA Channel 12 Current Address Register */
727#define DMA12_IRQ_STATUS 0xffc01c28 /* DMA Channel 12 Interrupt/Status Register */
728#define DMA12_PERIPHERAL_MAP 0xffc01c2c /* DMA Channel 12 Peripheral Map Register */
729#define DMA12_CURR_X_COUNT 0xffc01c30 /* DMA Channel 12 Current X Count Register */
730#define DMA12_CURR_Y_COUNT 0xffc01c38 /* DMA Channel 12 Current Y Count Register */
731
732/* DMA Channel 13 Registers */
733
734#define DMA13_NEXT_DESC_PTR 0xffc01c40 /* DMA Channel 13 Next Descriptor Pointer Register */
735#define DMA13_START_ADDR 0xffc01c44 /* DMA Channel 13 Start Address Register */
736#define DMA13_CONFIG 0xffc01c48 /* DMA Channel 13 Configuration Register */
737#define DMA13_X_COUNT 0xffc01c50 /* DMA Channel 13 X Count Register */
738#define DMA13_X_MODIFY 0xffc01c54 /* DMA Channel 13 X Modify Register */
739#define DMA13_Y_COUNT 0xffc01c58 /* DMA Channel 13 Y Count Register */
740#define DMA13_Y_MODIFY 0xffc01c5c /* DMA Channel 13 Y Modify Register */
741#define DMA13_CURR_DESC_PTR 0xffc01c60 /* DMA Channel 13 Current Descriptor Pointer Register */
742#define DMA13_CURR_ADDR 0xffc01c64 /* DMA Channel 13 Current Address Register */
743#define DMA13_IRQ_STATUS 0xffc01c68 /* DMA Channel 13 Interrupt/Status Register */
744#define DMA13_PERIPHERAL_MAP 0xffc01c6c /* DMA Channel 13 Peripheral Map Register */
745#define DMA13_CURR_X_COUNT 0xffc01c70 /* DMA Channel 13 Current X Count Register */
746#define DMA13_CURR_Y_COUNT 0xffc01c78 /* DMA Channel 13 Current Y Count Register */
747
748/* DMA Channel 14 Registers */
749
750#define DMA14_NEXT_DESC_PTR 0xffc01c80 /* DMA Channel 14 Next Descriptor Pointer Register */
751#define DMA14_START_ADDR 0xffc01c84 /* DMA Channel 14 Start Address Register */
752#define DMA14_CONFIG 0xffc01c88 /* DMA Channel 14 Configuration Register */
753#define DMA14_X_COUNT 0xffc01c90 /* DMA Channel 14 X Count Register */
754#define DMA14_X_MODIFY 0xffc01c94 /* DMA Channel 14 X Modify Register */
755#define DMA14_Y_COUNT 0xffc01c98 /* DMA Channel 14 Y Count Register */
756#define DMA14_Y_MODIFY 0xffc01c9c /* DMA Channel 14 Y Modify Register */
757#define DMA14_CURR_DESC_PTR 0xffc01ca0 /* DMA Channel 14 Current Descriptor Pointer Register */
758#define DMA14_CURR_ADDR 0xffc01ca4 /* DMA Channel 14 Current Address Register */
759#define DMA14_IRQ_STATUS 0xffc01ca8 /* DMA Channel 14 Interrupt/Status Register */
760#define DMA14_PERIPHERAL_MAP 0xffc01cac /* DMA Channel 14 Peripheral Map Register */
761#define DMA14_CURR_X_COUNT 0xffc01cb0 /* DMA Channel 14 Current X Count Register */
762#define DMA14_CURR_Y_COUNT 0xffc01cb8 /* DMA Channel 14 Current Y Count Register */
763
764/* DMA Channel 15 Registers */
765
766#define DMA15_NEXT_DESC_PTR 0xffc01cc0 /* DMA Channel 15 Next Descriptor Pointer Register */
767#define DMA15_START_ADDR 0xffc01cc4 /* DMA Channel 15 Start Address Register */
768#define DMA15_CONFIG 0xffc01cc8 /* DMA Channel 15 Configuration Register */
769#define DMA15_X_COUNT 0xffc01cd0 /* DMA Channel 15 X Count Register */
770#define DMA15_X_MODIFY 0xffc01cd4 /* DMA Channel 15 X Modify Register */
771#define DMA15_Y_COUNT 0xffc01cd8 /* DMA Channel 15 Y Count Register */
772#define DMA15_Y_MODIFY 0xffc01cdc /* DMA Channel 15 Y Modify Register */
773#define DMA15_CURR_DESC_PTR 0xffc01ce0 /* DMA Channel 15 Current Descriptor Pointer Register */
774#define DMA15_CURR_ADDR 0xffc01ce4 /* DMA Channel 15 Current Address Register */
775#define DMA15_IRQ_STATUS 0xffc01ce8 /* DMA Channel 15 Interrupt/Status Register */
776#define DMA15_PERIPHERAL_MAP 0xffc01cec /* DMA Channel 15 Peripheral Map Register */
777#define DMA15_CURR_X_COUNT 0xffc01cf0 /* DMA Channel 15 Current X Count Register */
778#define DMA15_CURR_Y_COUNT 0xffc01cf8 /* DMA Channel 15 Current Y Count Register */
779
780/* DMA Channel 16 Registers */
781
782#define DMA16_NEXT_DESC_PTR 0xffc01d00 /* DMA Channel 16 Next Descriptor Pointer Register */
783#define DMA16_START_ADDR 0xffc01d04 /* DMA Channel 16 Start Address Register */
784#define DMA16_CONFIG 0xffc01d08 /* DMA Channel 16 Configuration Register */
785#define DMA16_X_COUNT 0xffc01d10 /* DMA Channel 16 X Count Register */
786#define DMA16_X_MODIFY 0xffc01d14 /* DMA Channel 16 X Modify Register */
787#define DMA16_Y_COUNT 0xffc01d18 /* DMA Channel 16 Y Count Register */
788#define DMA16_Y_MODIFY 0xffc01d1c /* DMA Channel 16 Y Modify Register */
789#define DMA16_CURR_DESC_PTR 0xffc01d20 /* DMA Channel 16 Current Descriptor Pointer Register */
790#define DMA16_CURR_ADDR 0xffc01d24 /* DMA Channel 16 Current Address Register */
791#define DMA16_IRQ_STATUS 0xffc01d28 /* DMA Channel 16 Interrupt/Status Register */
792#define DMA16_PERIPHERAL_MAP 0xffc01d2c /* DMA Channel 16 Peripheral Map Register */
793#define DMA16_CURR_X_COUNT 0xffc01d30 /* DMA Channel 16 Current X Count Register */
794#define DMA16_CURR_Y_COUNT 0xffc01d38 /* DMA Channel 16 Current Y Count Register */
795
796/* DMA Channel 17 Registers */
797
798#define DMA17_NEXT_DESC_PTR 0xffc01d40 /* DMA Channel 17 Next Descriptor Pointer Register */
799#define DMA17_START_ADDR 0xffc01d44 /* DMA Channel 17 Start Address Register */
800#define DMA17_CONFIG 0xffc01d48 /* DMA Channel 17 Configuration Register */
801#define DMA17_X_COUNT 0xffc01d50 /* DMA Channel 17 X Count Register */
802#define DMA17_X_MODIFY 0xffc01d54 /* DMA Channel 17 X Modify Register */
803#define DMA17_Y_COUNT 0xffc01d58 /* DMA Channel 17 Y Count Register */
804#define DMA17_Y_MODIFY 0xffc01d5c /* DMA Channel 17 Y Modify Register */
805#define DMA17_CURR_DESC_PTR 0xffc01d60 /* DMA Channel 17 Current Descriptor Pointer Register */
806#define DMA17_CURR_ADDR 0xffc01d64 /* DMA Channel 17 Current Address Register */
807#define DMA17_IRQ_STATUS 0xffc01d68 /* DMA Channel 17 Interrupt/Status Register */
808#define DMA17_PERIPHERAL_MAP 0xffc01d6c /* DMA Channel 17 Peripheral Map Register */
809#define DMA17_CURR_X_COUNT 0xffc01d70 /* DMA Channel 17 Current X Count Register */
810#define DMA17_CURR_Y_COUNT 0xffc01d78 /* DMA Channel 17 Current Y Count Register */
811
812/* DMA Channel 18 Registers */
813
814#define DMA18_NEXT_DESC_PTR 0xffc01d80 /* DMA Channel 18 Next Descriptor Pointer Register */
815#define DMA18_START_ADDR 0xffc01d84 /* DMA Channel 18 Start Address Register */
816#define DMA18_CONFIG 0xffc01d88 /* DMA Channel 18 Configuration Register */
817#define DMA18_X_COUNT 0xffc01d90 /* DMA Channel 18 X Count Register */
818#define DMA18_X_MODIFY 0xffc01d94 /* DMA Channel 18 X Modify Register */
819#define DMA18_Y_COUNT 0xffc01d98 /* DMA Channel 18 Y Count Register */
820#define DMA18_Y_MODIFY 0xffc01d9c /* DMA Channel 18 Y Modify Register */
821#define DMA18_CURR_DESC_PTR 0xffc01da0 /* DMA Channel 18 Current Descriptor Pointer Register */
822#define DMA18_CURR_ADDR 0xffc01da4 /* DMA Channel 18 Current Address Register */
823#define DMA18_IRQ_STATUS 0xffc01da8 /* DMA Channel 18 Interrupt/Status Register */
824#define DMA18_PERIPHERAL_MAP 0xffc01dac /* DMA Channel 18 Peripheral Map Register */
825#define DMA18_CURR_X_COUNT 0xffc01db0 /* DMA Channel 18 Current X Count Register */
826#define DMA18_CURR_Y_COUNT 0xffc01db8 /* DMA Channel 18 Current Y Count Register */
827
828/* DMA Channel 19 Registers */
829
830#define DMA19_NEXT_DESC_PTR 0xffc01dc0 /* DMA Channel 19 Next Descriptor Pointer Register */
831#define DMA19_START_ADDR 0xffc01dc4 /* DMA Channel 19 Start Address Register */
832#define DMA19_CONFIG 0xffc01dc8 /* DMA Channel 19 Configuration Register */
833#define DMA19_X_COUNT 0xffc01dd0 /* DMA Channel 19 X Count Register */
834#define DMA19_X_MODIFY 0xffc01dd4 /* DMA Channel 19 X Modify Register */
835#define DMA19_Y_COUNT 0xffc01dd8 /* DMA Channel 19 Y Count Register */
836#define DMA19_Y_MODIFY 0xffc01ddc /* DMA Channel 19 Y Modify Register */
837#define DMA19_CURR_DESC_PTR 0xffc01de0 /* DMA Channel 19 Current Descriptor Pointer Register */
838#define DMA19_CURR_ADDR 0xffc01de4 /* DMA Channel 19 Current Address Register */
839#define DMA19_IRQ_STATUS 0xffc01de8 /* DMA Channel 19 Interrupt/Status Register */
840#define DMA19_PERIPHERAL_MAP 0xffc01dec /* DMA Channel 19 Peripheral Map Register */
841#define DMA19_CURR_X_COUNT 0xffc01df0 /* DMA Channel 19 Current X Count Register */
842#define DMA19_CURR_Y_COUNT 0xffc01df8 /* DMA Channel 19 Current Y Count Register */
843
844/* DMA Channel 20 Registers */
845
846#define DMA20_NEXT_DESC_PTR 0xffc01e00 /* DMA Channel 20 Next Descriptor Pointer Register */
847#define DMA20_START_ADDR 0xffc01e04 /* DMA Channel 20 Start Address Register */
848#define DMA20_CONFIG 0xffc01e08 /* DMA Channel 20 Configuration Register */
849#define DMA20_X_COUNT 0xffc01e10 /* DMA Channel 20 X Count Register */
850#define DMA20_X_MODIFY 0xffc01e14 /* DMA Channel 20 X Modify Register */
851#define DMA20_Y_COUNT 0xffc01e18 /* DMA Channel 20 Y Count Register */
852#define DMA20_Y_MODIFY 0xffc01e1c /* DMA Channel 20 Y Modify Register */
853#define DMA20_CURR_DESC_PTR 0xffc01e20 /* DMA Channel 20 Current Descriptor Pointer Register */
854#define DMA20_CURR_ADDR 0xffc01e24 /* DMA Channel 20 Current Address Register */
855#define DMA20_IRQ_STATUS 0xffc01e28 /* DMA Channel 20 Interrupt/Status Register */
856#define DMA20_PERIPHERAL_MAP 0xffc01e2c /* DMA Channel 20 Peripheral Map Register */
857#define DMA20_CURR_X_COUNT 0xffc01e30 /* DMA Channel 20 Current X Count Register */
858#define DMA20_CURR_Y_COUNT 0xffc01e38 /* DMA Channel 20 Current Y Count Register */
859
860/* DMA Channel 21 Registers */
861
862#define DMA21_NEXT_DESC_PTR 0xffc01e40 /* DMA Channel 21 Next Descriptor Pointer Register */
863#define DMA21_START_ADDR 0xffc01e44 /* DMA Channel 21 Start Address Register */
864#define DMA21_CONFIG 0xffc01e48 /* DMA Channel 21 Configuration Register */
865#define DMA21_X_COUNT 0xffc01e50 /* DMA Channel 21 X Count Register */
866#define DMA21_X_MODIFY 0xffc01e54 /* DMA Channel 21 X Modify Register */
867#define DMA21_Y_COUNT 0xffc01e58 /* DMA Channel 21 Y Count Register */
868#define DMA21_Y_MODIFY 0xffc01e5c /* DMA Channel 21 Y Modify Register */
869#define DMA21_CURR_DESC_PTR 0xffc01e60 /* DMA Channel 21 Current Descriptor Pointer Register */
870#define DMA21_CURR_ADDR 0xffc01e64 /* DMA Channel 21 Current Address Register */
871#define DMA21_IRQ_STATUS 0xffc01e68 /* DMA Channel 21 Interrupt/Status Register */
872#define DMA21_PERIPHERAL_MAP 0xffc01e6c /* DMA Channel 21 Peripheral Map Register */
873#define DMA21_CURR_X_COUNT 0xffc01e70 /* DMA Channel 21 Current X Count Register */
874#define DMA21_CURR_Y_COUNT 0xffc01e78 /* DMA Channel 21 Current Y Count Register */
875
876/* DMA Channel 22 Registers */
877
878#define DMA22_NEXT_DESC_PTR 0xffc01e80 /* DMA Channel 22 Next Descriptor Pointer Register */
879#define DMA22_START_ADDR 0xffc01e84 /* DMA Channel 22 Start Address Register */
880#define DMA22_CONFIG 0xffc01e88 /* DMA Channel 22 Configuration Register */
881#define DMA22_X_COUNT 0xffc01e90 /* DMA Channel 22 X Count Register */
882#define DMA22_X_MODIFY 0xffc01e94 /* DMA Channel 22 X Modify Register */
883#define DMA22_Y_COUNT 0xffc01e98 /* DMA Channel 22 Y Count Register */
884#define DMA22_Y_MODIFY 0xffc01e9c /* DMA Channel 22 Y Modify Register */
885#define DMA22_CURR_DESC_PTR 0xffc01ea0 /* DMA Channel 22 Current Descriptor Pointer Register */
886#define DMA22_CURR_ADDR 0xffc01ea4 /* DMA Channel 22 Current Address Register */
887#define DMA22_IRQ_STATUS 0xffc01ea8 /* DMA Channel 22 Interrupt/Status Register */
888#define DMA22_PERIPHERAL_MAP 0xffc01eac /* DMA Channel 22 Peripheral Map Register */
889#define DMA22_CURR_X_COUNT 0xffc01eb0 /* DMA Channel 22 Current X Count Register */
890#define DMA22_CURR_Y_COUNT 0xffc01eb8 /* DMA Channel 22 Current Y Count Register */
891
892/* DMA Channel 23 Registers */
893
894#define DMA23_NEXT_DESC_PTR 0xffc01ec0 /* DMA Channel 23 Next Descriptor Pointer Register */
895#define DMA23_START_ADDR 0xffc01ec4 /* DMA Channel 23 Start Address Register */
896#define DMA23_CONFIG 0xffc01ec8 /* DMA Channel 23 Configuration Register */
897#define DMA23_X_COUNT 0xffc01ed0 /* DMA Channel 23 X Count Register */
898#define DMA23_X_MODIFY 0xffc01ed4 /* DMA Channel 23 X Modify Register */
899#define DMA23_Y_COUNT 0xffc01ed8 /* DMA Channel 23 Y Count Register */
900#define DMA23_Y_MODIFY 0xffc01edc /* DMA Channel 23 Y Modify Register */
901#define DMA23_CURR_DESC_PTR 0xffc01ee0 /* DMA Channel 23 Current Descriptor Pointer Register */
902#define DMA23_CURR_ADDR 0xffc01ee4 /* DMA Channel 23 Current Address Register */
903#define DMA23_IRQ_STATUS 0xffc01ee8 /* DMA Channel 23 Interrupt/Status Register */
904#define DMA23_PERIPHERAL_MAP 0xffc01eec /* DMA Channel 23 Peripheral Map Register */
905#define DMA23_CURR_X_COUNT 0xffc01ef0 /* DMA Channel 23 Current X Count Register */
906#define DMA23_CURR_Y_COUNT 0xffc01ef8 /* DMA Channel 23 Current Y Count Register */
907
908/* MDMA Stream 2 Registers */
909
910#define MDMA_D2_NEXT_DESC_PTR 0xffc01f00 /* Memory DMA Stream 2 Destination Next Descriptor Pointer Register */
911#define MDMA_D2_START_ADDR 0xffc01f04 /* Memory DMA Stream 2 Destination Start Address Register */
912#define MDMA_D2_CONFIG 0xffc01f08 /* Memory DMA Stream 2 Destination Configuration Register */
913#define MDMA_D2_X_COUNT 0xffc01f10 /* Memory DMA Stream 2 Destination X Count Register */
914#define MDMA_D2_X_MODIFY 0xffc01f14 /* Memory DMA Stream 2 Destination X Modify Register */
915#define MDMA_D2_Y_COUNT 0xffc01f18 /* Memory DMA Stream 2 Destination Y Count Register */
916#define MDMA_D2_Y_MODIFY 0xffc01f1c /* Memory DMA Stream 2 Destination Y Modify Register */
917#define MDMA_D2_CURR_DESC_PTR 0xffc01f20 /* Memory DMA Stream 2 Destination Current Descriptor Pointer Register */
918#define MDMA_D2_CURR_ADDR 0xffc01f24 /* Memory DMA Stream 2 Destination Current Address Register */
919#define MDMA_D2_IRQ_STATUS 0xffc01f28 /* Memory DMA Stream 2 Destination Interrupt/Status Register */
920#define MDMA_D2_PERIPHERAL_MAP 0xffc01f2c /* Memory DMA Stream 2 Destination Peripheral Map Register */
921#define MDMA_D2_CURR_X_COUNT 0xffc01f30 /* Memory DMA Stream 2 Destination Current X Count Register */
922#define MDMA_D2_CURR_Y_COUNT 0xffc01f38 /* Memory DMA Stream 2 Destination Current Y Count Register */
923#define MDMA_S2_NEXT_DESC_PTR 0xffc01f40 /* Memory DMA Stream 2 Source Next Descriptor Pointer Register */
924#define MDMA_S2_START_ADDR 0xffc01f44 /* Memory DMA Stream 2 Source Start Address Register */
925#define MDMA_S2_CONFIG 0xffc01f48 /* Memory DMA Stream 2 Source Configuration Register */
926#define MDMA_S2_X_COUNT 0xffc01f50 /* Memory DMA Stream 2 Source X Count Register */
927#define MDMA_S2_X_MODIFY 0xffc01f54 /* Memory DMA Stream 2 Source X Modify Register */
928#define MDMA_S2_Y_COUNT 0xffc01f58 /* Memory DMA Stream 2 Source Y Count Register */
929#define MDMA_S2_Y_MODIFY 0xffc01f5c /* Memory DMA Stream 2 Source Y Modify Register */
930#define MDMA_S2_CURR_DESC_PTR 0xffc01f60 /* Memory DMA Stream 2 Source Current Descriptor Pointer Register */
931#define MDMA_S2_CURR_ADDR 0xffc01f64 /* Memory DMA Stream 2 Source Current Address Register */
932#define MDMA_S2_IRQ_STATUS 0xffc01f68 /* Memory DMA Stream 2 Source Interrupt/Status Register */
933#define MDMA_S2_PERIPHERAL_MAP 0xffc01f6c /* Memory DMA Stream 2 Source Peripheral Map Register */
934#define MDMA_S2_CURR_X_COUNT 0xffc01f70 /* Memory DMA Stream 2 Source Current X Count Register */
935#define MDMA_S2_CURR_Y_COUNT 0xffc01f78 /* Memory DMA Stream 2 Source Current Y Count Register */
936
937/* MDMA Stream 3 Registers */
938
939#define MDMA_D3_NEXT_DESC_PTR 0xffc01f80 /* Memory DMA Stream 3 Destination Next Descriptor Pointer Register */
940#define MDMA_D3_START_ADDR 0xffc01f84 /* Memory DMA Stream 3 Destination Start Address Register */
941#define MDMA_D3_CONFIG 0xffc01f88 /* Memory DMA Stream 3 Destination Configuration Register */
942#define MDMA_D3_X_COUNT 0xffc01f90 /* Memory DMA Stream 3 Destination X Count Register */
943#define MDMA_D3_X_MODIFY 0xffc01f94 /* Memory DMA Stream 3 Destination X Modify Register */
944#define MDMA_D3_Y_COUNT 0xffc01f98 /* Memory DMA Stream 3 Destination Y Count Register */
945#define MDMA_D3_Y_MODIFY 0xffc01f9c /* Memory DMA Stream 3 Destination Y Modify Register */
946#define MDMA_D3_CURR_DESC_PTR 0xffc01fa0 /* Memory DMA Stream 3 Destination Current Descriptor Pointer Register */
947#define MDMA_D3_CURR_ADDR 0xffc01fa4 /* Memory DMA Stream 3 Destination Current Address Register */
948#define MDMA_D3_IRQ_STATUS 0xffc01fa8 /* Memory DMA Stream 3 Destination Interrupt/Status Register */
949#define MDMA_D3_PERIPHERAL_MAP 0xffc01fac /* Memory DMA Stream 3 Destination Peripheral Map Register */
950#define MDMA_D3_CURR_X_COUNT 0xffc01fb0 /* Memory DMA Stream 3 Destination Current X Count Register */
951#define MDMA_D3_CURR_Y_COUNT 0xffc01fb8 /* Memory DMA Stream 3 Destination Current Y Count Register */
952#define MDMA_S3_NEXT_DESC_PTR 0xffc01fc0 /* Memory DMA Stream 3 Source Next Descriptor Pointer Register */
953#define MDMA_S3_START_ADDR 0xffc01fc4 /* Memory DMA Stream 3 Source Start Address Register */
954#define MDMA_S3_CONFIG 0xffc01fc8 /* Memory DMA Stream 3 Source Configuration Register */
955#define MDMA_S3_X_COUNT 0xffc01fd0 /* Memory DMA Stream 3 Source X Count Register */
956#define MDMA_S3_X_MODIFY 0xffc01fd4 /* Memory DMA Stream 3 Source X Modify Register */
957#define MDMA_S3_Y_COUNT 0xffc01fd8 /* Memory DMA Stream 3 Source Y Count Register */
958#define MDMA_S3_Y_MODIFY 0xffc01fdc /* Memory DMA Stream 3 Source Y Modify Register */
959#define MDMA_S3_CURR_DESC_PTR 0xffc01fe0 /* Memory DMA Stream 3 Source Current Descriptor Pointer Register */
960#define MDMA_S3_CURR_ADDR 0xffc01fe4 /* Memory DMA Stream 3 Source Current Address Register */
961#define MDMA_S3_IRQ_STATUS 0xffc01fe8 /* Memory DMA Stream 3 Source Interrupt/Status Register */
962#define MDMA_S3_PERIPHERAL_MAP 0xffc01fec /* Memory DMA Stream 3 Source Peripheral Map Register */
963#define MDMA_S3_CURR_X_COUNT 0xffc01ff0 /* Memory DMA Stream 3 Source Current X Count Register */
964#define MDMA_S3_CURR_Y_COUNT 0xffc01ff8 /* Memory DMA Stream 3 Source Current Y Count Register */
965
966/* UART1 Registers */
967
968#define UART1_DLL 0xffc02000 /* Divisor Latch Low Byte */
969#define UART1_DLH 0xffc02004 /* Divisor Latch High Byte */
970#define UART1_GCTL 0xffc02008 /* Global Control Register */
971#define UART1_LCR 0xffc0200c /* Line Control Register */
972#define UART1_MCR 0xffc02010 /* Modem Control Register */
973#define UART1_LSR 0xffc02014 /* Line Status Register */
974#define UART1_MSR 0xffc02018 /* Modem Status Register */
975#define UART1_SCR 0xffc0201c /* Scratch Register */
976#define UART1_IER_SET 0xffc02020 /* Interrupt Enable Register Set */
977#define UART1_IER_CLEAR 0xffc02024 /* Interrupt Enable Register Clear */
978#define UART1_THR 0xffc02028 /* Transmit Hold Register */
979#define UART1_RBR 0xffc0202c /* Receive Buffer Register */
980
981/* UART2 is not defined in the shared file because it is not available on the ADSP-BF542 and ADSP-BF544 processors */
982
983/* SPI1 Registers */
984
985#define SPI1_CTL 0xffc02300 /* SPI1 Control Register */
986#define SPI1_FLG 0xffc02304 /* SPI1 Flag Register */
987#define SPI1_STAT 0xffc02308 /* SPI1 Status Register */
988#define SPI1_TDBR 0xffc0230c /* SPI1 Transmit Data Buffer Register */
989#define SPI1_RDBR 0xffc02310 /* SPI1 Receive Data Buffer Register */
990#define SPI1_BAUD 0xffc02314 /* SPI1 Baud Rate Register */
991#define SPI1_SHADOW 0xffc02318 /* SPI1 Receive Data Buffer Shadow Register */
992
993/* SPORT2 Registers */
994
995#define SPORT2_TCR1 0xffc02500 /* SPORT2 Transmit Configuration 1 Register */
996#define SPORT2_TCR2 0xffc02504 /* SPORT2 Transmit Configuration 2 Register */
997#define SPORT2_TCLKDIV 0xffc02508 /* SPORT2 Transmit Serial Clock Divider Register */
998#define SPORT2_TFSDIV 0xffc0250c /* SPORT2 Transmit Frame Sync Divider Register */
999#define SPORT2_TX 0xffc02510 /* SPORT2 Transmit Data Register */
1000#define SPORT2_RX 0xffc02518 /* SPORT2 Receive Data Register */
1001#define SPORT2_RCR1 0xffc02520 /* SPORT2 Receive Configuration 1 Register */
1002#define SPORT2_RCR2 0xffc02524 /* SPORT2 Receive Configuration 2 Register */
1003#define SPORT2_RCLKDIV 0xffc02528 /* SPORT2 Receive Serial Clock Divider Register */
1004#define SPORT2_RFSDIV 0xffc0252c /* SPORT2 Receive Frame Sync Divider Register */
1005#define SPORT2_STAT 0xffc02530 /* SPORT2 Status Register */
1006#define SPORT2_CHNL 0xffc02534 /* SPORT2 Current Channel Register */
1007#define SPORT2_MCMC1 0xffc02538 /* SPORT2 Multi channel Configuration Register 1 */
1008#define SPORT2_MCMC2 0xffc0253c /* SPORT2 Multi channel Configuration Register 2 */
1009#define SPORT2_MTCS0 0xffc02540 /* SPORT2 Multi channel Transmit Select Register 0 */
1010#define SPORT2_MTCS1 0xffc02544 /* SPORT2 Multi channel Transmit Select Register 1 */
1011#define SPORT2_MTCS2 0xffc02548 /* SPORT2 Multi channel Transmit Select Register 2 */
1012#define SPORT2_MTCS3 0xffc0254c /* SPORT2 Multi channel Transmit Select Register 3 */
1013#define SPORT2_MRCS0 0xffc02550 /* SPORT2 Multi channel Receive Select Register 0 */
1014#define SPORT2_MRCS1 0xffc02554 /* SPORT2 Multi channel Receive Select Register 1 */
1015#define SPORT2_MRCS2 0xffc02558 /* SPORT2 Multi channel Receive Select Register 2 */
1016#define SPORT2_MRCS3 0xffc0255c /* SPORT2 Multi channel Receive Select Register 3 */
1017
1018/* SPORT3 Registers */
1019
1020#define SPORT3_TCR1 0xffc02600 /* SPORT3 Transmit Configuration 1 Register */
1021#define SPORT3_TCR2 0xffc02604 /* SPORT3 Transmit Configuration 2 Register */
1022#define SPORT3_TCLKDIV 0xffc02608 /* SPORT3 Transmit Serial Clock Divider Register */
1023#define SPORT3_TFSDIV 0xffc0260c /* SPORT3 Transmit Frame Sync Divider Register */
1024#define SPORT3_TX 0xffc02610 /* SPORT3 Transmit Data Register */
1025#define SPORT3_RX 0xffc02618 /* SPORT3 Receive Data Register */
1026#define SPORT3_RCR1 0xffc02620 /* SPORT3 Receive Configuration 1 Register */
1027#define SPORT3_RCR2 0xffc02624 /* SPORT3 Receive Configuration 2 Register */
1028#define SPORT3_RCLKDIV 0xffc02628 /* SPORT3 Receive Serial Clock Divider Register */
1029#define SPORT3_RFSDIV 0xffc0262c /* SPORT3 Receive Frame Sync Divider Register */
1030#define SPORT3_STAT 0xffc02630 /* SPORT3 Status Register */
1031#define SPORT3_CHNL 0xffc02634 /* SPORT3 Current Channel Register */
1032#define SPORT3_MCMC1 0xffc02638 /* SPORT3 Multi channel Configuration Register 1 */
1033#define SPORT3_MCMC2 0xffc0263c /* SPORT3 Multi channel Configuration Register 2 */
1034#define SPORT3_MTCS0 0xffc02640 /* SPORT3 Multi channel Transmit Select Register 0 */
1035#define SPORT3_MTCS1 0xffc02644 /* SPORT3 Multi channel Transmit Select Register 1 */
1036#define SPORT3_MTCS2 0xffc02648 /* SPORT3 Multi channel Transmit Select Register 2 */
1037#define SPORT3_MTCS3 0xffc0264c /* SPORT3 Multi channel Transmit Select Register 3 */
1038#define SPORT3_MRCS0 0xffc02650 /* SPORT3 Multi channel Receive Select Register 0 */
1039#define SPORT3_MRCS1 0xffc02654 /* SPORT3 Multi channel Receive Select Register 1 */
1040#define SPORT3_MRCS2 0xffc02658 /* SPORT3 Multi channel Receive Select Register 2 */
1041#define SPORT3_MRCS3 0xffc0265c /* SPORT3 Multi channel Receive Select Register 3 */
1042
1043/* EPPI2 Registers */
1044
1045#define EPPI2_STATUS 0xffc02900 /* EPPI2 Status Register */
1046#define EPPI2_HCOUNT 0xffc02904 /* EPPI2 Horizontal Transfer Count Register */
1047#define EPPI2_HDELAY 0xffc02908 /* EPPI2 Horizontal Delay Count Register */
1048#define EPPI2_VCOUNT 0xffc0290c /* EPPI2 Vertical Transfer Count Register */
1049#define EPPI2_VDELAY 0xffc02910 /* EPPI2 Vertical Delay Count Register */
1050#define EPPI2_FRAME 0xffc02914 /* EPPI2 Lines per Frame Register */
1051#define EPPI2_LINE 0xffc02918 /* EPPI2 Samples per Line Register */
1052#define EPPI2_CLKDIV 0xffc0291c /* EPPI2 Clock Divide Register */
1053#define EPPI2_CONTROL 0xffc02920 /* EPPI2 Control Register */
1054#define EPPI2_FS1W_HBL 0xffc02924 /* EPPI2 FS1 Width Register / EPPI2 Horizontal Blanking Samples Per Line Register */
1055#define EPPI2_FS1P_AVPL 0xffc02928 /* EPPI2 FS1 Period Register / EPPI2 Active Video Samples Per Line Register */
1056#define EPPI2_FS2W_LVB 0xffc0292c /* EPPI2 FS2 Width Register / EPPI2 Lines of Vertical Blanking Register */
1057#define EPPI2_FS2P_LAVF 0xffc02930 /* EPPI2 FS2 Period Register/ EPPI2 Lines of Active Video Per Field Register */
1058#define EPPI2_CLIP 0xffc02934 /* EPPI2 Clipping Register */
1059
1060/* CAN Controller 0 Config 1 Registers */
1061
1062#define CAN0_MC1 0xffc02a00 /* CAN Controller 0 Mailbox Configuration Register 1 */
1063#define CAN0_MD1 0xffc02a04 /* CAN Controller 0 Mailbox Direction Register 1 */
1064#define CAN0_TRS1 0xffc02a08 /* CAN Controller 0 Transmit Request Set Register 1 */
1065#define CAN0_TRR1 0xffc02a0c /* CAN Controller 0 Transmit Request Reset Register 1 */
1066#define CAN0_TA1 0xffc02a10 /* CAN Controller 0 Transmit Acknowledge Register 1 */
1067#define CAN0_AA1 0xffc02a14 /* CAN Controller 0 Abort Acknowledge Register 1 */
1068#define CAN0_RMP1 0xffc02a18 /* CAN Controller 0 Receive Message Pending Register 1 */
1069#define CAN0_RML1 0xffc02a1c /* CAN Controller 0 Receive Message Lost Register 1 */
1070#define CAN0_MBTIF1 0xffc02a20 /* CAN Controller 0 Mailbox Transmit Interrupt Flag Register 1 */
1071#define CAN0_MBRIF1 0xffc02a24 /* CAN Controller 0 Mailbox Receive Interrupt Flag Register 1 */
1072#define CAN0_MBIM1 0xffc02a28 /* CAN Controller 0 Mailbox Interrupt Mask Register 1 */
1073#define CAN0_RFH1 0xffc02a2c /* CAN Controller 0 Remote Frame Handling Enable Register 1 */
1074#define CAN0_OPSS1 0xffc02a30 /* CAN Controller 0 Overwrite Protection Single Shot Transmit Register 1 */
1075
1076/* CAN Controller 0 Config 2 Registers */
1077
1078#define CAN0_MC2 0xffc02a40 /* CAN Controller 0 Mailbox Configuration Register 2 */
1079#define CAN0_MD2 0xffc02a44 /* CAN Controller 0 Mailbox Direction Register 2 */
1080#define CAN0_TRS2 0xffc02a48 /* CAN Controller 0 Transmit Request Set Register 2 */
1081#define CAN0_TRR2 0xffc02a4c /* CAN Controller 0 Transmit Request Reset Register 2 */
1082#define CAN0_TA2 0xffc02a50 /* CAN Controller 0 Transmit Acknowledge Register 2 */
1083#define CAN0_AA2 0xffc02a54 /* CAN Controller 0 Abort Acknowledge Register 2 */
1084#define CAN0_RMP2 0xffc02a58 /* CAN Controller 0 Receive Message Pending Register 2 */
1085#define CAN0_RML2 0xffc02a5c /* CAN Controller 0 Receive Message Lost Register 2 */
1086#define CAN0_MBTIF2 0xffc02a60 /* CAN Controller 0 Mailbox Transmit Interrupt Flag Register 2 */
1087#define CAN0_MBRIF2 0xffc02a64 /* CAN Controller 0 Mailbox Receive Interrupt Flag Register 2 */
1088#define CAN0_MBIM2 0xffc02a68 /* CAN Controller 0 Mailbox Interrupt Mask Register 2 */
1089#define CAN0_RFH2 0xffc02a6c /* CAN Controller 0 Remote Frame Handling Enable Register 2 */
1090#define CAN0_OPSS2 0xffc02a70 /* CAN Controller 0 Overwrite Protection Single Shot Transmit Register 2 */
1091
1092/* CAN Controller 0 Clock/Interrupt/Counter Registers */
1093
1094#define CAN0_CLOCK 0xffc02a80 /* CAN Controller 0 Clock Register */
1095#define CAN0_TIMING 0xffc02a84 /* CAN Controller 0 Timing Register */
1096#define CAN0_DEBUG 0xffc02a88 /* CAN Controller 0 Debug Register */
1097#define CAN0_STATUS 0xffc02a8c /* CAN Controller 0 Global Status Register */
1098#define CAN0_CEC 0xffc02a90 /* CAN Controller 0 Error Counter Register */
1099#define CAN0_GIS 0xffc02a94 /* CAN Controller 0 Global Interrupt Status Register */
1100#define CAN0_GIM 0xffc02a98 /* CAN Controller 0 Global Interrupt Mask Register */
1101#define CAN0_GIF 0xffc02a9c /* CAN Controller 0 Global Interrupt Flag Register */
1102#define CAN0_CONTROL 0xffc02aa0 /* CAN Controller 0 Master Control Register */
1103#define CAN0_INTR 0xffc02aa4 /* CAN Controller 0 Interrupt Pending Register */
1104#define CAN0_MBTD 0xffc02aac /* CAN Controller 0 Mailbox Temporary Disable Register */
1105#define CAN0_EWR 0xffc02ab0 /* CAN Controller 0 Programmable Warning Level Register */
1106#define CAN0_ESR 0xffc02ab4 /* CAN Controller 0 Error Status Register */
1107#define CAN0_UCCNT 0xffc02ac4 /* CAN Controller 0 Universal Counter Register */
4834826e 1108#define CAN0_UCRC 0xffc02ac8 /* Universal Counter Reload/Capture Register */
84132c9d
JJ
1109#define CAN0_UCCNF 0xffc02acc /* CAN Controller 0 Universal Counter Configuration Register */
1110
1111/* CAN Controller 0 Acceptance Registers */
1112
1113#define CAN0_AM00L 0xffc02b00 /* CAN Controller 0 Mailbox 0 Acceptance Mask High Register */
1114#define CAN0_AM00H 0xffc02b04 /* CAN Controller 0 Mailbox 0 Acceptance Mask Low Register */
1115#define CAN0_AM01L 0xffc02b08 /* CAN Controller 0 Mailbox 1 Acceptance Mask High Register */
1116#define CAN0_AM01H 0xffc02b0c /* CAN Controller 0 Mailbox 1 Acceptance Mask Low Register */
1117#define CAN0_AM02L 0xffc02b10 /* CAN Controller 0 Mailbox 2 Acceptance Mask High Register */
1118#define CAN0_AM02H 0xffc02b14 /* CAN Controller 0 Mailbox 2 Acceptance Mask Low Register */
1119#define CAN0_AM03L 0xffc02b18 /* CAN Controller 0 Mailbox 3 Acceptance Mask High Register */
1120#define CAN0_AM03H 0xffc02b1c /* CAN Controller 0 Mailbox 3 Acceptance Mask Low Register */
1121#define CAN0_AM04L 0xffc02b20 /* CAN Controller 0 Mailbox 4 Acceptance Mask High Register */
1122#define CAN0_AM04H 0xffc02b24 /* CAN Controller 0 Mailbox 4 Acceptance Mask Low Register */
1123#define CAN0_AM05L 0xffc02b28 /* CAN Controller 0 Mailbox 5 Acceptance Mask High Register */
1124#define CAN0_AM05H 0xffc02b2c /* CAN Controller 0 Mailbox 5 Acceptance Mask Low Register */
1125#define CAN0_AM06L 0xffc02b30 /* CAN Controller 0 Mailbox 6 Acceptance Mask High Register */
1126#define CAN0_AM06H 0xffc02b34 /* CAN Controller 0 Mailbox 6 Acceptance Mask Low Register */
1127#define CAN0_AM07L 0xffc02b38 /* CAN Controller 0 Mailbox 7 Acceptance Mask High Register */
1128#define CAN0_AM07H 0xffc02b3c /* CAN Controller 0 Mailbox 7 Acceptance Mask Low Register */
1129#define CAN0_AM08L 0xffc02b40 /* CAN Controller 0 Mailbox 8 Acceptance Mask High Register */
1130#define CAN0_AM08H 0xffc02b44 /* CAN Controller 0 Mailbox 8 Acceptance Mask Low Register */
1131#define CAN0_AM09L 0xffc02b48 /* CAN Controller 0 Mailbox 9 Acceptance Mask High Register */
1132#define CAN0_AM09H 0xffc02b4c /* CAN Controller 0 Mailbox 9 Acceptance Mask Low Register */
1133#define CAN0_AM10L 0xffc02b50 /* CAN Controller 0 Mailbox 10 Acceptance Mask High Register */
1134#define CAN0_AM10H 0xffc02b54 /* CAN Controller 0 Mailbox 10 Acceptance Mask Low Register */
1135#define CAN0_AM11L 0xffc02b58 /* CAN Controller 0 Mailbox 11 Acceptance Mask High Register */
1136#define CAN0_AM11H 0xffc02b5c /* CAN Controller 0 Mailbox 11 Acceptance Mask Low Register */
1137#define CAN0_AM12L 0xffc02b60 /* CAN Controller 0 Mailbox 12 Acceptance Mask High Register */
1138#define CAN0_AM12H 0xffc02b64 /* CAN Controller 0 Mailbox 12 Acceptance Mask Low Register */
1139#define CAN0_AM13L 0xffc02b68 /* CAN Controller 0 Mailbox 13 Acceptance Mask High Register */
1140#define CAN0_AM13H 0xffc02b6c /* CAN Controller 0 Mailbox 13 Acceptance Mask Low Register */
1141#define CAN0_AM14L 0xffc02b70 /* CAN Controller 0 Mailbox 14 Acceptance Mask High Register */
1142#define CAN0_AM14H 0xffc02b74 /* CAN Controller 0 Mailbox 14 Acceptance Mask Low Register */
1143#define CAN0_AM15L 0xffc02b78 /* CAN Controller 0 Mailbox 15 Acceptance Mask High Register */
1144#define CAN0_AM15H 0xffc02b7c /* CAN Controller 0 Mailbox 15 Acceptance Mask Low Register */
1145
1146/* CAN Controller 0 Acceptance Registers */
1147
1148#define CAN0_AM16L 0xffc02b80 /* CAN Controller 0 Mailbox 16 Acceptance Mask High Register */
1149#define CAN0_AM16H 0xffc02b84 /* CAN Controller 0 Mailbox 16 Acceptance Mask Low Register */
1150#define CAN0_AM17L 0xffc02b88 /* CAN Controller 0 Mailbox 17 Acceptance Mask High Register */
1151#define CAN0_AM17H 0xffc02b8c /* CAN Controller 0 Mailbox 17 Acceptance Mask Low Register */
1152#define CAN0_AM18L 0xffc02b90 /* CAN Controller 0 Mailbox 18 Acceptance Mask High Register */
1153#define CAN0_AM18H 0xffc02b94 /* CAN Controller 0 Mailbox 18 Acceptance Mask Low Register */
1154#define CAN0_AM19L 0xffc02b98 /* CAN Controller 0 Mailbox 19 Acceptance Mask High Register */
1155#define CAN0_AM19H 0xffc02b9c /* CAN Controller 0 Mailbox 19 Acceptance Mask Low Register */
1156#define CAN0_AM20L 0xffc02ba0 /* CAN Controller 0 Mailbox 20 Acceptance Mask High Register */
1157#define CAN0_AM20H 0xffc02ba4 /* CAN Controller 0 Mailbox 20 Acceptance Mask Low Register */
1158#define CAN0_AM21L 0xffc02ba8 /* CAN Controller 0 Mailbox 21 Acceptance Mask High Register */
1159#define CAN0_AM21H 0xffc02bac /* CAN Controller 0 Mailbox 21 Acceptance Mask Low Register */
1160#define CAN0_AM22L 0xffc02bb0 /* CAN Controller 0 Mailbox 22 Acceptance Mask High Register */
1161#define CAN0_AM22H 0xffc02bb4 /* CAN Controller 0 Mailbox 22 Acceptance Mask Low Register */
1162#define CAN0_AM23L 0xffc02bb8 /* CAN Controller 0 Mailbox 23 Acceptance Mask High Register */
1163#define CAN0_AM23H 0xffc02bbc /* CAN Controller 0 Mailbox 23 Acceptance Mask Low Register */
1164#define CAN0_AM24L 0xffc02bc0 /* CAN Controller 0 Mailbox 24 Acceptance Mask High Register */
1165#define CAN0_AM24H 0xffc02bc4 /* CAN Controller 0 Mailbox 24 Acceptance Mask Low Register */
1166#define CAN0_AM25L 0xffc02bc8 /* CAN Controller 0 Mailbox 25 Acceptance Mask High Register */
1167#define CAN0_AM25H 0xffc02bcc /* CAN Controller 0 Mailbox 25 Acceptance Mask Low Register */
1168#define CAN0_AM26L 0xffc02bd0 /* CAN Controller 0 Mailbox 26 Acceptance Mask High Register */
1169#define CAN0_AM26H 0xffc02bd4 /* CAN Controller 0 Mailbox 26 Acceptance Mask Low Register */
1170#define CAN0_AM27L 0xffc02bd8 /* CAN Controller 0 Mailbox 27 Acceptance Mask High Register */
1171#define CAN0_AM27H 0xffc02bdc /* CAN Controller 0 Mailbox 27 Acceptance Mask Low Register */
1172#define CAN0_AM28L 0xffc02be0 /* CAN Controller 0 Mailbox 28 Acceptance Mask High Register */
1173#define CAN0_AM28H 0xffc02be4 /* CAN Controller 0 Mailbox 28 Acceptance Mask Low Register */
1174#define CAN0_AM29L 0xffc02be8 /* CAN Controller 0 Mailbox 29 Acceptance Mask High Register */
1175#define CAN0_AM29H 0xffc02bec /* CAN Controller 0 Mailbox 29 Acceptance Mask Low Register */
1176#define CAN0_AM30L 0xffc02bf0 /* CAN Controller 0 Mailbox 30 Acceptance Mask High Register */
1177#define CAN0_AM30H 0xffc02bf4 /* CAN Controller 0 Mailbox 30 Acceptance Mask Low Register */
1178#define CAN0_AM31L 0xffc02bf8 /* CAN Controller 0 Mailbox 31 Acceptance Mask High Register */
1179#define CAN0_AM31H 0xffc02bfc /* CAN Controller 0 Mailbox 31 Acceptance Mask Low Register */
1180
1181/* CAN Controller 0 Mailbox Data Registers */
1182
1183#define CAN0_MB00_DATA0 0xffc02c00 /* CAN Controller 0 Mailbox 0 Data 0 Register */
1184#define CAN0_MB00_DATA1 0xffc02c04 /* CAN Controller 0 Mailbox 0 Data 1 Register */
1185#define CAN0_MB00_DATA2 0xffc02c08 /* CAN Controller 0 Mailbox 0 Data 2 Register */
1186#define CAN0_MB00_DATA3 0xffc02c0c /* CAN Controller 0 Mailbox 0 Data 3 Register */
1187#define CAN0_MB00_LENGTH 0xffc02c10 /* CAN Controller 0 Mailbox 0 Length Register */
1188#define CAN0_MB00_TIMESTAMP 0xffc02c14 /* CAN Controller 0 Mailbox 0 Timestamp Register */
1189#define CAN0_MB00_ID0 0xffc02c18 /* CAN Controller 0 Mailbox 0 ID0 Register */
1190#define CAN0_MB00_ID1 0xffc02c1c /* CAN Controller 0 Mailbox 0 ID1 Register */
1191#define CAN0_MB01_DATA0 0xffc02c20 /* CAN Controller 0 Mailbox 1 Data 0 Register */
1192#define CAN0_MB01_DATA1 0xffc02c24 /* CAN Controller 0 Mailbox 1 Data 1 Register */
1193#define CAN0_MB01_DATA2 0xffc02c28 /* CAN Controller 0 Mailbox 1 Data 2 Register */
1194#define CAN0_MB01_DATA3 0xffc02c2c /* CAN Controller 0 Mailbox 1 Data 3 Register */
1195#define CAN0_MB01_LENGTH 0xffc02c30 /* CAN Controller 0 Mailbox 1 Length Register */
1196#define CAN0_MB01_TIMESTAMP 0xffc02c34 /* CAN Controller 0 Mailbox 1 Timestamp Register */
1197#define CAN0_MB01_ID0 0xffc02c38 /* CAN Controller 0 Mailbox 1 ID0 Register */
1198#define CAN0_MB01_ID1 0xffc02c3c /* CAN Controller 0 Mailbox 1 ID1 Register */
1199#define CAN0_MB02_DATA0 0xffc02c40 /* CAN Controller 0 Mailbox 2 Data 0 Register */
1200#define CAN0_MB02_DATA1 0xffc02c44 /* CAN Controller 0 Mailbox 2 Data 1 Register */
1201#define CAN0_MB02_DATA2 0xffc02c48 /* CAN Controller 0 Mailbox 2 Data 2 Register */
1202#define CAN0_MB02_DATA3 0xffc02c4c /* CAN Controller 0 Mailbox 2 Data 3 Register */
1203#define CAN0_MB02_LENGTH 0xffc02c50 /* CAN Controller 0 Mailbox 2 Length Register */
1204#define CAN0_MB02_TIMESTAMP 0xffc02c54 /* CAN Controller 0 Mailbox 2 Timestamp Register */
1205#define CAN0_MB02_ID0 0xffc02c58 /* CAN Controller 0 Mailbox 2 ID0 Register */
1206#define CAN0_MB02_ID1 0xffc02c5c /* CAN Controller 0 Mailbox 2 ID1 Register */
1207#define CAN0_MB03_DATA0 0xffc02c60 /* CAN Controller 0 Mailbox 3 Data 0 Register */
1208#define CAN0_MB03_DATA1 0xffc02c64 /* CAN Controller 0 Mailbox 3 Data 1 Register */
1209#define CAN0_MB03_DATA2 0xffc02c68 /* CAN Controller 0 Mailbox 3 Data 2 Register */
1210#define CAN0_MB03_DATA3 0xffc02c6c /* CAN Controller 0 Mailbox 3 Data 3 Register */
1211#define CAN0_MB03_LENGTH 0xffc02c70 /* CAN Controller 0 Mailbox 3 Length Register */
1212#define CAN0_MB03_TIMESTAMP 0xffc02c74 /* CAN Controller 0 Mailbox 3 Timestamp Register */
1213#define CAN0_MB03_ID0 0xffc02c78 /* CAN Controller 0 Mailbox 3 ID0 Register */
1214#define CAN0_MB03_ID1 0xffc02c7c /* CAN Controller 0 Mailbox 3 ID1 Register */
1215#define CAN0_MB04_DATA0 0xffc02c80 /* CAN Controller 0 Mailbox 4 Data 0 Register */
1216#define CAN0_MB04_DATA1 0xffc02c84 /* CAN Controller 0 Mailbox 4 Data 1 Register */
1217#define CAN0_MB04_DATA2 0xffc02c88 /* CAN Controller 0 Mailbox 4 Data 2 Register */
1218#define CAN0_MB04_DATA3 0xffc02c8c /* CAN Controller 0 Mailbox 4 Data 3 Register */
1219#define CAN0_MB04_LENGTH 0xffc02c90 /* CAN Controller 0 Mailbox 4 Length Register */
1220#define CAN0_MB04_TIMESTAMP 0xffc02c94 /* CAN Controller 0 Mailbox 4 Timestamp Register */
1221#define CAN0_MB04_ID0 0xffc02c98 /* CAN Controller 0 Mailbox 4 ID0 Register */
1222#define CAN0_MB04_ID1 0xffc02c9c /* CAN Controller 0 Mailbox 4 ID1 Register */
1223#define CAN0_MB05_DATA0 0xffc02ca0 /* CAN Controller 0 Mailbox 5 Data 0 Register */
1224#define CAN0_MB05_DATA1 0xffc02ca4 /* CAN Controller 0 Mailbox 5 Data 1 Register */
1225#define CAN0_MB05_DATA2 0xffc02ca8 /* CAN Controller 0 Mailbox 5 Data 2 Register */
1226#define CAN0_MB05_DATA3 0xffc02cac /* CAN Controller 0 Mailbox 5 Data 3 Register */
1227#define CAN0_MB05_LENGTH 0xffc02cb0 /* CAN Controller 0 Mailbox 5 Length Register */
1228#define CAN0_MB05_TIMESTAMP 0xffc02cb4 /* CAN Controller 0 Mailbox 5 Timestamp Register */
1229#define CAN0_MB05_ID0 0xffc02cb8 /* CAN Controller 0 Mailbox 5 ID0 Register */
1230#define CAN0_MB05_ID1 0xffc02cbc /* CAN Controller 0 Mailbox 5 ID1 Register */
1231#define CAN0_MB06_DATA0 0xffc02cc0 /* CAN Controller 0 Mailbox 6 Data 0 Register */
1232#define CAN0_MB06_DATA1 0xffc02cc4 /* CAN Controller 0 Mailbox 6 Data 1 Register */
1233#define CAN0_MB06_DATA2 0xffc02cc8 /* CAN Controller 0 Mailbox 6 Data 2 Register */
1234#define CAN0_MB06_DATA3 0xffc02ccc /* CAN Controller 0 Mailbox 6 Data 3 Register */
1235#define CAN0_MB06_LENGTH 0xffc02cd0 /* CAN Controller 0 Mailbox 6 Length Register */
1236#define CAN0_MB06_TIMESTAMP 0xffc02cd4 /* CAN Controller 0 Mailbox 6 Timestamp Register */
1237#define CAN0_MB06_ID0 0xffc02cd8 /* CAN Controller 0 Mailbox 6 ID0 Register */
1238#define CAN0_MB06_ID1 0xffc02cdc /* CAN Controller 0 Mailbox 6 ID1 Register */
1239#define CAN0_MB07_DATA0 0xffc02ce0 /* CAN Controller 0 Mailbox 7 Data 0 Register */
1240#define CAN0_MB07_DATA1 0xffc02ce4 /* CAN Controller 0 Mailbox 7 Data 1 Register */
1241#define CAN0_MB07_DATA2 0xffc02ce8 /* CAN Controller 0 Mailbox 7 Data 2 Register */
1242#define CAN0_MB07_DATA3 0xffc02cec /* CAN Controller 0 Mailbox 7 Data 3 Register */
1243#define CAN0_MB07_LENGTH 0xffc02cf0 /* CAN Controller 0 Mailbox 7 Length Register */
1244#define CAN0_MB07_TIMESTAMP 0xffc02cf4 /* CAN Controller 0 Mailbox 7 Timestamp Register */
1245#define CAN0_MB07_ID0 0xffc02cf8 /* CAN Controller 0 Mailbox 7 ID0 Register */
1246#define CAN0_MB07_ID1 0xffc02cfc /* CAN Controller 0 Mailbox 7 ID1 Register */
1247#define CAN0_MB08_DATA0 0xffc02d00 /* CAN Controller 0 Mailbox 8 Data 0 Register */
1248#define CAN0_MB08_DATA1 0xffc02d04 /* CAN Controller 0 Mailbox 8 Data 1 Register */
1249#define CAN0_MB08_DATA2 0xffc02d08 /* CAN Controller 0 Mailbox 8 Data 2 Register */
1250#define CAN0_MB08_DATA3 0xffc02d0c /* CAN Controller 0 Mailbox 8 Data 3 Register */
1251#define CAN0_MB08_LENGTH 0xffc02d10 /* CAN Controller 0 Mailbox 8 Length Register */
1252#define CAN0_MB08_TIMESTAMP 0xffc02d14 /* CAN Controller 0 Mailbox 8 Timestamp Register */
1253#define CAN0_MB08_ID0 0xffc02d18 /* CAN Controller 0 Mailbox 8 ID0 Register */
1254#define CAN0_MB08_ID1 0xffc02d1c /* CAN Controller 0 Mailbox 8 ID1 Register */
1255#define CAN0_MB09_DATA0 0xffc02d20 /* CAN Controller 0 Mailbox 9 Data 0 Register */
1256#define CAN0_MB09_DATA1 0xffc02d24 /* CAN Controller 0 Mailbox 9 Data 1 Register */
1257#define CAN0_MB09_DATA2 0xffc02d28 /* CAN Controller 0 Mailbox 9 Data 2 Register */
1258#define CAN0_MB09_DATA3 0xffc02d2c /* CAN Controller 0 Mailbox 9 Data 3 Register */
1259#define CAN0_MB09_LENGTH 0xffc02d30 /* CAN Controller 0 Mailbox 9 Length Register */
1260#define CAN0_MB09_TIMESTAMP 0xffc02d34 /* CAN Controller 0 Mailbox 9 Timestamp Register */
1261#define CAN0_MB09_ID0 0xffc02d38 /* CAN Controller 0 Mailbox 9 ID0 Register */
1262#define CAN0_MB09_ID1 0xffc02d3c /* CAN Controller 0 Mailbox 9 ID1 Register */
1263#define CAN0_MB10_DATA0 0xffc02d40 /* CAN Controller 0 Mailbox 10 Data 0 Register */
1264#define CAN0_MB10_DATA1 0xffc02d44 /* CAN Controller 0 Mailbox 10 Data 1 Register */
1265#define CAN0_MB10_DATA2 0xffc02d48 /* CAN Controller 0 Mailbox 10 Data 2 Register */
1266#define CAN0_MB10_DATA3 0xffc02d4c /* CAN Controller 0 Mailbox 10 Data 3 Register */
1267#define CAN0_MB10_LENGTH 0xffc02d50 /* CAN Controller 0 Mailbox 10 Length Register */
1268#define CAN0_MB10_TIMESTAMP 0xffc02d54 /* CAN Controller 0 Mailbox 10 Timestamp Register */
1269#define CAN0_MB10_ID0 0xffc02d58 /* CAN Controller 0 Mailbox 10 ID0 Register */
1270#define CAN0_MB10_ID1 0xffc02d5c /* CAN Controller 0 Mailbox 10 ID1 Register */
1271#define CAN0_MB11_DATA0 0xffc02d60 /* CAN Controller 0 Mailbox 11 Data 0 Register */
1272#define CAN0_MB11_DATA1 0xffc02d64 /* CAN Controller 0 Mailbox 11 Data 1 Register */
1273#define CAN0_MB11_DATA2 0xffc02d68 /* CAN Controller 0 Mailbox 11 Data 2 Register */
1274#define CAN0_MB11_DATA3 0xffc02d6c /* CAN Controller 0 Mailbox 11 Data 3 Register */
1275#define CAN0_MB11_LENGTH 0xffc02d70 /* CAN Controller 0 Mailbox 11 Length Register */
1276#define CAN0_MB11_TIMESTAMP 0xffc02d74 /* CAN Controller 0 Mailbox 11 Timestamp Register */
1277#define CAN0_MB11_ID0 0xffc02d78 /* CAN Controller 0 Mailbox 11 ID0 Register */
1278#define CAN0_MB11_ID1 0xffc02d7c /* CAN Controller 0 Mailbox 11 ID1 Register */
1279#define CAN0_MB12_DATA0 0xffc02d80 /* CAN Controller 0 Mailbox 12 Data 0 Register */
1280#define CAN0_MB12_DATA1 0xffc02d84 /* CAN Controller 0 Mailbox 12 Data 1 Register */
1281#define CAN0_MB12_DATA2 0xffc02d88 /* CAN Controller 0 Mailbox 12 Data 2 Register */
1282#define CAN0_MB12_DATA3 0xffc02d8c /* CAN Controller 0 Mailbox 12 Data 3 Register */
1283#define CAN0_MB12_LENGTH 0xffc02d90 /* CAN Controller 0 Mailbox 12 Length Register */
1284#define CAN0_MB12_TIMESTAMP 0xffc02d94 /* CAN Controller 0 Mailbox 12 Timestamp Register */
1285#define CAN0_MB12_ID0 0xffc02d98 /* CAN Controller 0 Mailbox 12 ID0 Register */
1286#define CAN0_MB12_ID1 0xffc02d9c /* CAN Controller 0 Mailbox 12 ID1 Register */
1287#define CAN0_MB13_DATA0 0xffc02da0 /* CAN Controller 0 Mailbox 13 Data 0 Register */
1288#define CAN0_MB13_DATA1 0xffc02da4 /* CAN Controller 0 Mailbox 13 Data 1 Register */
1289#define CAN0_MB13_DATA2 0xffc02da8 /* CAN Controller 0 Mailbox 13 Data 2 Register */
1290#define CAN0_MB13_DATA3 0xffc02dac /* CAN Controller 0 Mailbox 13 Data 3 Register */
1291#define CAN0_MB13_LENGTH 0xffc02db0 /* CAN Controller 0 Mailbox 13 Length Register */
1292#define CAN0_MB13_TIMESTAMP 0xffc02db4 /* CAN Controller 0 Mailbox 13 Timestamp Register */
1293#define CAN0_MB13_ID0 0xffc02db8 /* CAN Controller 0 Mailbox 13 ID0 Register */
1294#define CAN0_MB13_ID1 0xffc02dbc /* CAN Controller 0 Mailbox 13 ID1 Register */
1295#define CAN0_MB14_DATA0 0xffc02dc0 /* CAN Controller 0 Mailbox 14 Data 0 Register */
1296#define CAN0_MB14_DATA1 0xffc02dc4 /* CAN Controller 0 Mailbox 14 Data 1 Register */
1297#define CAN0_MB14_DATA2 0xffc02dc8 /* CAN Controller 0 Mailbox 14 Data 2 Register */
1298#define CAN0_MB14_DATA3 0xffc02dcc /* CAN Controller 0 Mailbox 14 Data 3 Register */
1299#define CAN0_MB14_LENGTH 0xffc02dd0 /* CAN Controller 0 Mailbox 14 Length Register */
1300#define CAN0_MB14_TIMESTAMP 0xffc02dd4 /* CAN Controller 0 Mailbox 14 Timestamp Register */
1301#define CAN0_MB14_ID0 0xffc02dd8 /* CAN Controller 0 Mailbox 14 ID0 Register */
1302#define CAN0_MB14_ID1 0xffc02ddc /* CAN Controller 0 Mailbox 14 ID1 Register */
1303#define CAN0_MB15_DATA0 0xffc02de0 /* CAN Controller 0 Mailbox 15 Data 0 Register */
1304#define CAN0_MB15_DATA1 0xffc02de4 /* CAN Controller 0 Mailbox 15 Data 1 Register */
1305#define CAN0_MB15_DATA2 0xffc02de8 /* CAN Controller 0 Mailbox 15 Data 2 Register */
1306#define CAN0_MB15_DATA3 0xffc02dec /* CAN Controller 0 Mailbox 15 Data 3 Register */
1307#define CAN0_MB15_LENGTH 0xffc02df0 /* CAN Controller 0 Mailbox 15 Length Register */
1308#define CAN0_MB15_TIMESTAMP 0xffc02df4 /* CAN Controller 0 Mailbox 15 Timestamp Register */
1309#define CAN0_MB15_ID0 0xffc02df8 /* CAN Controller 0 Mailbox 15 ID0 Register */
1310#define CAN0_MB15_ID1 0xffc02dfc /* CAN Controller 0 Mailbox 15 ID1 Register */
1311
1312/* CAN Controller 0 Mailbox Data Registers */
1313
1314#define CAN0_MB16_DATA0 0xffc02e00 /* CAN Controller 0 Mailbox 16 Data 0 Register */
1315#define CAN0_MB16_DATA1 0xffc02e04 /* CAN Controller 0 Mailbox 16 Data 1 Register */
1316#define CAN0_MB16_DATA2 0xffc02e08 /* CAN Controller 0 Mailbox 16 Data 2 Register */
1317#define CAN0_MB16_DATA3 0xffc02e0c /* CAN Controller 0 Mailbox 16 Data 3 Register */
1318#define CAN0_MB16_LENGTH 0xffc02e10 /* CAN Controller 0 Mailbox 16 Length Register */
1319#define CAN0_MB16_TIMESTAMP 0xffc02e14 /* CAN Controller 0 Mailbox 16 Timestamp Register */
1320#define CAN0_MB16_ID0 0xffc02e18 /* CAN Controller 0 Mailbox 16 ID0 Register */
1321#define CAN0_MB16_ID1 0xffc02e1c /* CAN Controller 0 Mailbox 16 ID1 Register */
1322#define CAN0_MB17_DATA0 0xffc02e20 /* CAN Controller 0 Mailbox 17 Data 0 Register */
1323#define CAN0_MB17_DATA1 0xffc02e24 /* CAN Controller 0 Mailbox 17 Data 1 Register */
1324#define CAN0_MB17_DATA2 0xffc02e28 /* CAN Controller 0 Mailbox 17 Data 2 Register */
1325#define CAN0_MB17_DATA3 0xffc02e2c /* CAN Controller 0 Mailbox 17 Data 3 Register */
1326#define CAN0_MB17_LENGTH 0xffc02e30 /* CAN Controller 0 Mailbox 17 Length Register */
1327#define CAN0_MB17_TIMESTAMP 0xffc02e34 /* CAN Controller 0 Mailbox 17 Timestamp Register */
1328#define CAN0_MB17_ID0 0xffc02e38 /* CAN Controller 0 Mailbox 17 ID0 Register */
1329#define CAN0_MB17_ID1 0xffc02e3c /* CAN Controller 0 Mailbox 17 ID1 Register */
1330#define CAN0_MB18_DATA0 0xffc02e40 /* CAN Controller 0 Mailbox 18 Data 0 Register */
1331#define CAN0_MB18_DATA1 0xffc02e44 /* CAN Controller 0 Mailbox 18 Data 1 Register */
1332#define CAN0_MB18_DATA2 0xffc02e48 /* CAN Controller 0 Mailbox 18 Data 2 Register */
1333#define CAN0_MB18_DATA3 0xffc02e4c /* CAN Controller 0 Mailbox 18 Data 3 Register */
1334#define CAN0_MB18_LENGTH 0xffc02e50 /* CAN Controller 0 Mailbox 18 Length Register */
1335#define CAN0_MB18_TIMESTAMP 0xffc02e54 /* CAN Controller 0 Mailbox 18 Timestamp Register */
1336#define CAN0_MB18_ID0 0xffc02e58 /* CAN Controller 0 Mailbox 18 ID0 Register */
1337#define CAN0_MB18_ID1 0xffc02e5c /* CAN Controller 0 Mailbox 18 ID1 Register */
1338#define CAN0_MB19_DATA0 0xffc02e60 /* CAN Controller 0 Mailbox 19 Data 0 Register */
1339#define CAN0_MB19_DATA1 0xffc02e64 /* CAN Controller 0 Mailbox 19 Data 1 Register */
1340#define CAN0_MB19_DATA2 0xffc02e68 /* CAN Controller 0 Mailbox 19 Data 2 Register */
1341#define CAN0_MB19_DATA3 0xffc02e6c /* CAN Controller 0 Mailbox 19 Data 3 Register */
1342#define CAN0_MB19_LENGTH 0xffc02e70 /* CAN Controller 0 Mailbox 19 Length Register */
1343#define CAN0_MB19_TIMESTAMP 0xffc02e74 /* CAN Controller 0 Mailbox 19 Timestamp Register */
1344#define CAN0_MB19_ID0 0xffc02e78 /* CAN Controller 0 Mailbox 19 ID0 Register */
1345#define CAN0_MB19_ID1 0xffc02e7c /* CAN Controller 0 Mailbox 19 ID1 Register */
1346#define CAN0_MB20_DATA0 0xffc02e80 /* CAN Controller 0 Mailbox 20 Data 0 Register */
1347#define CAN0_MB20_DATA1 0xffc02e84 /* CAN Controller 0 Mailbox 20 Data 1 Register */
1348#define CAN0_MB20_DATA2 0xffc02e88 /* CAN Controller 0 Mailbox 20 Data 2 Register */
1349#define CAN0_MB20_DATA3 0xffc02e8c /* CAN Controller 0 Mailbox 20 Data 3 Register */
1350#define CAN0_MB20_LENGTH 0xffc02e90 /* CAN Controller 0 Mailbox 20 Length Register */
1351#define CAN0_MB20_TIMESTAMP 0xffc02e94 /* CAN Controller 0 Mailbox 20 Timestamp Register */
1352#define CAN0_MB20_ID0 0xffc02e98 /* CAN Controller 0 Mailbox 20 ID0 Register */
1353#define CAN0_MB20_ID1 0xffc02e9c /* CAN Controller 0 Mailbox 20 ID1 Register */
1354#define CAN0_MB21_DATA0 0xffc02ea0 /* CAN Controller 0 Mailbox 21 Data 0 Register */
1355#define CAN0_MB21_DATA1 0xffc02ea4 /* CAN Controller 0 Mailbox 21 Data 1 Register */
1356#define CAN0_MB21_DATA2 0xffc02ea8 /* CAN Controller 0 Mailbox 21 Data 2 Register */
1357#define CAN0_MB21_DATA3 0xffc02eac /* CAN Controller 0 Mailbox 21 Data 3 Register */
1358#define CAN0_MB21_LENGTH 0xffc02eb0 /* CAN Controller 0 Mailbox 21 Length Register */
1359#define CAN0_MB21_TIMESTAMP 0xffc02eb4 /* CAN Controller 0 Mailbox 21 Timestamp Register */
1360#define CAN0_MB21_ID0 0xffc02eb8 /* CAN Controller 0 Mailbox 21 ID0 Register */
1361#define CAN0_MB21_ID1 0xffc02ebc /* CAN Controller 0 Mailbox 21 ID1 Register */
1362#define CAN0_MB22_DATA0 0xffc02ec0 /* CAN Controller 0 Mailbox 22 Data 0 Register */
1363#define CAN0_MB22_DATA1 0xffc02ec4 /* CAN Controller 0 Mailbox 22 Data 1 Register */
1364#define CAN0_MB22_DATA2 0xffc02ec8 /* CAN Controller 0 Mailbox 22 Data 2 Register */
1365#define CAN0_MB22_DATA3 0xffc02ecc /* CAN Controller 0 Mailbox 22 Data 3 Register */
1366#define CAN0_MB22_LENGTH 0xffc02ed0 /* CAN Controller 0 Mailbox 22 Length Register */
1367#define CAN0_MB22_TIMESTAMP 0xffc02ed4 /* CAN Controller 0 Mailbox 22 Timestamp Register */
1368#define CAN0_MB22_ID0 0xffc02ed8 /* CAN Controller 0 Mailbox 22 ID0 Register */
1369#define CAN0_MB22_ID1 0xffc02edc /* CAN Controller 0 Mailbox 22 ID1 Register */
1370#define CAN0_MB23_DATA0 0xffc02ee0 /* CAN Controller 0 Mailbox 23 Data 0 Register */
1371#define CAN0_MB23_DATA1 0xffc02ee4 /* CAN Controller 0 Mailbox 23 Data 1 Register */
1372#define CAN0_MB23_DATA2 0xffc02ee8 /* CAN Controller 0 Mailbox 23 Data 2 Register */
1373#define CAN0_MB23_DATA3 0xffc02eec /* CAN Controller 0 Mailbox 23 Data 3 Register */
1374#define CAN0_MB23_LENGTH 0xffc02ef0 /* CAN Controller 0 Mailbox 23 Length Register */
1375#define CAN0_MB23_TIMESTAMP 0xffc02ef4 /* CAN Controller 0 Mailbox 23 Timestamp Register */
1376#define CAN0_MB23_ID0 0xffc02ef8 /* CAN Controller 0 Mailbox 23 ID0 Register */
1377#define CAN0_MB23_ID1 0xffc02efc /* CAN Controller 0 Mailbox 23 ID1 Register */
1378#define CAN0_MB24_DATA0 0xffc02f00 /* CAN Controller 0 Mailbox 24 Data 0 Register */
1379#define CAN0_MB24_DATA1 0xffc02f04 /* CAN Controller 0 Mailbox 24 Data 1 Register */
1380#define CAN0_MB24_DATA2 0xffc02f08 /* CAN Controller 0 Mailbox 24 Data 2 Register */
1381#define CAN0_MB24_DATA3 0xffc02f0c /* CAN Controller 0 Mailbox 24 Data 3 Register */
1382#define CAN0_MB24_LENGTH 0xffc02f10 /* CAN Controller 0 Mailbox 24 Length Register */
1383#define CAN0_MB24_TIMESTAMP 0xffc02f14 /* CAN Controller 0 Mailbox 24 Timestamp Register */
1384#define CAN0_MB24_ID0 0xffc02f18 /* CAN Controller 0 Mailbox 24 ID0 Register */
1385#define CAN0_MB24_ID1 0xffc02f1c /* CAN Controller 0 Mailbox 24 ID1 Register */
1386#define CAN0_MB25_DATA0 0xffc02f20 /* CAN Controller 0 Mailbox 25 Data 0 Register */
1387#define CAN0_MB25_DATA1 0xffc02f24 /* CAN Controller 0 Mailbox 25 Data 1 Register */
1388#define CAN0_MB25_DATA2 0xffc02f28 /* CAN Controller 0 Mailbox 25 Data 2 Register */
1389#define CAN0_MB25_DATA3 0xffc02f2c /* CAN Controller 0 Mailbox 25 Data 3 Register */
1390#define CAN0_MB25_LENGTH 0xffc02f30 /* CAN Controller 0 Mailbox 25 Length Register */
1391#define CAN0_MB25_TIMESTAMP 0xffc02f34 /* CAN Controller 0 Mailbox 25 Timestamp Register */
1392#define CAN0_MB25_ID0 0xffc02f38 /* CAN Controller 0 Mailbox 25 ID0 Register */
1393#define CAN0_MB25_ID1 0xffc02f3c /* CAN Controller 0 Mailbox 25 ID1 Register */
1394#define CAN0_MB26_DATA0 0xffc02f40 /* CAN Controller 0 Mailbox 26 Data 0 Register */
1395#define CAN0_MB26_DATA1 0xffc02f44 /* CAN Controller 0 Mailbox 26 Data 1 Register */
1396#define CAN0_MB26_DATA2 0xffc02f48 /* CAN Controller 0 Mailbox 26 Data 2 Register */
1397#define CAN0_MB26_DATA3 0xffc02f4c /* CAN Controller 0 Mailbox 26 Data 3 Register */
1398#define CAN0_MB26_LENGTH 0xffc02f50 /* CAN Controller 0 Mailbox 26 Length Register */
1399#define CAN0_MB26_TIMESTAMP 0xffc02f54 /* CAN Controller 0 Mailbox 26 Timestamp Register */
1400#define CAN0_MB26_ID0 0xffc02f58 /* CAN Controller 0 Mailbox 26 ID0 Register */
1401#define CAN0_MB26_ID1 0xffc02f5c /* CAN Controller 0 Mailbox 26 ID1 Register */
1402#define CAN0_MB27_DATA0 0xffc02f60 /* CAN Controller 0 Mailbox 27 Data 0 Register */
1403#define CAN0_MB27_DATA1 0xffc02f64 /* CAN Controller 0 Mailbox 27 Data 1 Register */
1404#define CAN0_MB27_DATA2 0xffc02f68 /* CAN Controller 0 Mailbox 27 Data 2 Register */
1405#define CAN0_MB27_DATA3 0xffc02f6c /* CAN Controller 0 Mailbox 27 Data 3 Register */
1406#define CAN0_MB27_LENGTH 0xffc02f70 /* CAN Controller 0 Mailbox 27 Length Register */
1407#define CAN0_MB27_TIMESTAMP 0xffc02f74 /* CAN Controller 0 Mailbox 27 Timestamp Register */
1408#define CAN0_MB27_ID0 0xffc02f78 /* CAN Controller 0 Mailbox 27 ID0 Register */
1409#define CAN0_MB27_ID1 0xffc02f7c /* CAN Controller 0 Mailbox 27 ID1 Register */
1410#define CAN0_MB28_DATA0 0xffc02f80 /* CAN Controller 0 Mailbox 28 Data 0 Register */
1411#define CAN0_MB28_DATA1 0xffc02f84 /* CAN Controller 0 Mailbox 28 Data 1 Register */
1412#define CAN0_MB28_DATA2 0xffc02f88 /* CAN Controller 0 Mailbox 28 Data 2 Register */
1413#define CAN0_MB28_DATA3 0xffc02f8c /* CAN Controller 0 Mailbox 28 Data 3 Register */
1414#define CAN0_MB28_LENGTH 0xffc02f90 /* CAN Controller 0 Mailbox 28 Length Register */
1415#define CAN0_MB28_TIMESTAMP 0xffc02f94 /* CAN Controller 0 Mailbox 28 Timestamp Register */
1416#define CAN0_MB28_ID0 0xffc02f98 /* CAN Controller 0 Mailbox 28 ID0 Register */
1417#define CAN0_MB28_ID1 0xffc02f9c /* CAN Controller 0 Mailbox 28 ID1 Register */
1418#define CAN0_MB29_DATA0 0xffc02fa0 /* CAN Controller 0 Mailbox 29 Data 0 Register */
1419#define CAN0_MB29_DATA1 0xffc02fa4 /* CAN Controller 0 Mailbox 29 Data 1 Register */
1420#define CAN0_MB29_DATA2 0xffc02fa8 /* CAN Controller 0 Mailbox 29 Data 2 Register */
1421#define CAN0_MB29_DATA3 0xffc02fac /* CAN Controller 0 Mailbox 29 Data 3 Register */
1422#define CAN0_MB29_LENGTH 0xffc02fb0 /* CAN Controller 0 Mailbox 29 Length Register */
1423#define CAN0_MB29_TIMESTAMP 0xffc02fb4 /* CAN Controller 0 Mailbox 29 Timestamp Register */
1424#define CAN0_MB29_ID0 0xffc02fb8 /* CAN Controller 0 Mailbox 29 ID0 Register */
1425#define CAN0_MB29_ID1 0xffc02fbc /* CAN Controller 0 Mailbox 29 ID1 Register */
1426#define CAN0_MB30_DATA0 0xffc02fc0 /* CAN Controller 0 Mailbox 30 Data 0 Register */
1427#define CAN0_MB30_DATA1 0xffc02fc4 /* CAN Controller 0 Mailbox 30 Data 1 Register */
1428#define CAN0_MB30_DATA2 0xffc02fc8 /* CAN Controller 0 Mailbox 30 Data 2 Register */
1429#define CAN0_MB30_DATA3 0xffc02fcc /* CAN Controller 0 Mailbox 30 Data 3 Register */
1430#define CAN0_MB30_LENGTH 0xffc02fd0 /* CAN Controller 0 Mailbox 30 Length Register */
1431#define CAN0_MB30_TIMESTAMP 0xffc02fd4 /* CAN Controller 0 Mailbox 30 Timestamp Register */
1432#define CAN0_MB30_ID0 0xffc02fd8 /* CAN Controller 0 Mailbox 30 ID0 Register */
1433#define CAN0_MB30_ID1 0xffc02fdc /* CAN Controller 0 Mailbox 30 ID1 Register */
1434#define CAN0_MB31_DATA0 0xffc02fe0 /* CAN Controller 0 Mailbox 31 Data 0 Register */
1435#define CAN0_MB31_DATA1 0xffc02fe4 /* CAN Controller 0 Mailbox 31 Data 1 Register */
1436#define CAN0_MB31_DATA2 0xffc02fe8 /* CAN Controller 0 Mailbox 31 Data 2 Register */
1437#define CAN0_MB31_DATA3 0xffc02fec /* CAN Controller 0 Mailbox 31 Data 3 Register */
1438#define CAN0_MB31_LENGTH 0xffc02ff0 /* CAN Controller 0 Mailbox 31 Length Register */
1439#define CAN0_MB31_TIMESTAMP 0xffc02ff4 /* CAN Controller 0 Mailbox 31 Timestamp Register */
1440#define CAN0_MB31_ID0 0xffc02ff8 /* CAN Controller 0 Mailbox 31 ID0 Register */
1441#define CAN0_MB31_ID1 0xffc02ffc /* CAN Controller 0 Mailbox 31 ID1 Register */
1442
1443/* UART3 Registers */
1444
1445#define UART3_DLL 0xffc03100 /* Divisor Latch Low Byte */
1446#define UART3_DLH 0xffc03104 /* Divisor Latch High Byte */
1447#define UART3_GCTL 0xffc03108 /* Global Control Register */
1448#define UART3_LCR 0xffc0310c /* Line Control Register */
1449#define UART3_MCR 0xffc03110 /* Modem Control Register */
1450#define UART3_LSR 0xffc03114 /* Line Status Register */
1451#define UART3_MSR 0xffc03118 /* Modem Status Register */
1452#define UART3_SCR 0xffc0311c /* Scratch Register */
1453#define UART3_IER_SET 0xffc03120 /* Interrupt Enable Register Set */
1454#define UART3_IER_CLEAR 0xffc03124 /* Interrupt Enable Register Clear */
1455#define UART3_THR 0xffc03128 /* Transmit Hold Register */
1456#define UART3_RBR 0xffc0312c /* Receive Buffer Register */
1457
1458/* NFC Registers */
1459
1460#define NFC_CTL 0xffc03b00 /* NAND Control Register */
1461#define NFC_STAT 0xffc03b04 /* NAND Status Register */
1462#define NFC_IRQSTAT 0xffc03b08 /* NAND Interrupt Status Register */
1463#define NFC_IRQMASK 0xffc03b0c /* NAND Interrupt Mask Register */
1464#define NFC_ECC0 0xffc03b10 /* NAND ECC Register 0 */
1465#define NFC_ECC1 0xffc03b14 /* NAND ECC Register 1 */
1466#define NFC_ECC2 0xffc03b18 /* NAND ECC Register 2 */
1467#define NFC_ECC3 0xffc03b1c /* NAND ECC Register 3 */
1468#define NFC_COUNT 0xffc03b20 /* NAND ECC Count Register */
1469#define NFC_RST 0xffc03b24 /* NAND ECC Reset Register */
1470#define NFC_PGCTL 0xffc03b28 /* NAND Page Control Register */
1471#define NFC_READ 0xffc03b2c /* NAND Read Data Register */
1472#define NFC_ADDR 0xffc03b40 /* NAND Address Register */
1473#define NFC_CMD 0xffc03b44 /* NAND Command Register */
1474#define NFC_DATA_WR 0xffc03b48 /* NAND Data Write Register */
1475#define NFC_DATA_RD 0xffc03b4c /* NAND Data Read Register */
1476
1477/* Counter Registers */
1478
1479#define CNT_CONFIG 0xffc04200 /* Configuration Register */
1480#define CNT_IMASK 0xffc04204 /* Interrupt Mask Register */
1481#define CNT_STATUS 0xffc04208 /* Status Register */
1482#define CNT_COMMAND 0xffc0420c /* Command Register */
1483#define CNT_DEBOUNCE 0xffc04210 /* Debounce Register */
1484#define CNT_COUNTER 0xffc04214 /* Counter Register */
1485#define CNT_MAX 0xffc04218 /* Maximal Count Register */
1486#define CNT_MIN 0xffc0421c /* Minimal Count Register */
1487
1488/* OTP/FUSE Registers */
1489
1490#define OTP_CONTROL 0xffc04300 /* OTP/Fuse Control Register */
1491#define OTP_BEN 0xffc04304 /* OTP/Fuse Byte Enable */
1492#define OTP_STATUS 0xffc04308 /* OTP/Fuse Status */
1493#define OTP_TIMING 0xffc0430c /* OTP/Fuse Access Timing */
1494
1495/* Security Registers */
1496
1497#define SECURE_SYSSWT 0xffc04320 /* Secure System Switches */
1498#define SECURE_CONTROL 0xffc04324 /* Secure Control */
1499#define SECURE_STATUS 0xffc04328 /* Secure Status */
1500
1501/* DMA Peripheral Mux Register */
1502
1503#define DMAC1_PERIMUX 0xffc04340 /* DMA Controller 1 Peripheral Multiplexer Register */
1504
1505/* OTP Read/Write Data Buffer Registers */
1506
1507#define OTP_DATA0 0xffc04380 /* OTP/Fuse Data (OTP_DATA0-3) accesses the fuse read write buffer */
1508#define OTP_DATA1 0xffc04384 /* OTP/Fuse Data (OTP_DATA0-3) accesses the fuse read write buffer */
1509#define OTP_DATA2 0xffc04388 /* OTP/Fuse Data (OTP_DATA0-3) accesses the fuse read write buffer */
1510#define OTP_DATA3 0xffc0438c /* OTP/Fuse Data (OTP_DATA0-3) accesses the fuse read write buffer */
1511
1512/* Handshake MDMA 0 Registers */
1513
1514#define HMDMA0_CONTROL 0xffc04500 /* Handshake MDMA0 Control Register */
1515#define HMDMA0_ECINIT 0xffc04504 /* Handshake MDMA0 Initial Edge Count Register */
1516#define HMDMA0_BCINIT 0xffc04508 /* Handshake MDMA0 Initial Block Count Register */
1517#define HMDMA0_ECURGENT 0xffc0450c /* Handshake MDMA0 Urgent Edge Count Threshhold Register */
1518#define HMDMA0_ECOVERFLOW 0xffc04510 /* Handshake MDMA0 Edge Count Overflow Interrupt Register */
1519#define HMDMA0_ECOUNT 0xffc04514 /* Handshake MDMA0 Current Edge Count Register */
1520#define HMDMA0_BCOUNT 0xffc04518 /* Handshake MDMA0 Current Block Count Register */
1521
1522/* Handshake MDMA 1 Registers */
1523
1524#define HMDMA1_CONTROL 0xffc04540 /* Handshake MDMA1 Control Register */
1525#define HMDMA1_ECINIT 0xffc04544 /* Handshake MDMA1 Initial Edge Count Register */
1526#define HMDMA1_BCINIT 0xffc04548 /* Handshake MDMA1 Initial Block Count Register */
1527#define HMDMA1_ECURGENT 0xffc0454c /* Handshake MDMA1 Urgent Edge Count Threshhold Register */
1528#define HMDMA1_ECOVERFLOW 0xffc04550 /* Handshake MDMA1 Edge Count Overflow Interrupt Register */
1529#define HMDMA1_ECOUNT 0xffc04554 /* Handshake MDMA1 Current Edge Count Register */
1530#define HMDMA1_BCOUNT 0xffc04558 /* Handshake MDMA1 Current Block Count Register */
1531
1532/* ********************************************************** */
1533/* SINGLE BIT MACRO PAIRS (bit mask and negated one) */
1534/* and MULTI BIT READ MACROS */
1535/* ********************************************************** */
1536
1537/* Bit masks for SIC_IAR0 */
1538
1539#define IRQ_PLL_WAKEUP 0x1 /* PLL Wakeup */
1540#define nIRQ_PLL_WAKEUP 0x0
1541
1542/* Below is an alternate name that matches the 54x HRM and previous defBF532.h header,
1543 above matches previous defBF534.h header */
1544#define PLL_WAKEUP_IRQ 0x1 /* PLL Wakeup Interrupt Request */
1545#define nPLL_WAKEUP_IRQ 0x0
1546
1547/* Bit masks for SIC_IWR0, SIC_IMASK0, SIC_ISR0 */
1548
1549#define IRQ_DMA0_ERR 0x2 /* DMA Controller 0 Error */
1550#define nIRQ_DMA0_ERR 0x0
1551#define IRQ_EPPI0_ERR 0x4 /* EPPI0 Error */
1552#define nIRQ_EPPI0_ERR 0x0
1553#define IRQ_SPORT0_ERR 0x8 /* SPORT0 Error */
1554#define nIRQ_SPORT0_ERR 0x0
1555#define IRQ_SPORT1_ERR 0x10 /* SPORT1 Error */
1556#define nIRQ_SPORT1_ERR 0x0
1557#define IRQ_SPI0_ERR 0x20 /* SPI0 Error */
1558#define nIRQ_SPI0_ERR 0x0
1559#define IRQ_UART0_ERR 0x40 /* UART0 Error */
1560#define nIRQ_UART0_ERR 0x0
1561#define IRQ_RTC 0x80 /* Real-Time Clock */
1562#define nIRQ_RTC 0x0
1563#define IRQ_DMA12 0x100 /* DMA Channel 12 */
1564#define nIRQ_DMA12 0x0
1565#define IRQ_DMA0 0x200 /* DMA Channel 0 */
1566#define nIRQ_DMA0 0x0
1567#define IRQ_DMA1 0x400 /* DMA Channel 1 */
1568#define nIRQ_DMA1 0x0
1569#define IRQ_DMA2 0x800 /* DMA Channel 2 */
1570#define nIRQ_DMA2 0x0
1571#define IRQ_DMA3 0x1000 /* DMA Channel 3 */
1572#define nIRQ_DMA3 0x0
1573#define IRQ_DMA4 0x2000 /* DMA Channel 4 */
1574#define nIRQ_DMA4 0x0
1575#define IRQ_DMA6 0x4000 /* DMA Channel 6 */
1576#define nIRQ_DMA6 0x0
1577#define IRQ_DMA7 0x8000 /* DMA Channel 7 */
1578#define nIRQ_DMA7 0x0
1579#define IRQ_PINT0 0x80000 /* Pin Interrupt 0 */
1580#define nIRQ_PINT0 0x0
1581#define IRQ_PINT1 0x100000 /* Pin Interrupt 1 */
1582#define nIRQ_PINT1 0x0
1583#define IRQ_MDMA0 0x200000 /* Memory DMA Stream 0 */
1584#define nIRQ_MDMA0 0x0
1585#define IRQ_MDMA1 0x400000 /* Memory DMA Stream 1 */
1586#define nIRQ_MDMA1 0x0
1587#define IRQ_WDOG 0x800000 /* Watchdog Timer */
1588#define nIRQ_WDOG 0x0
1589#define IRQ_DMA1_ERR 0x1000000 /* DMA Controller 1 Error */
1590#define nIRQ_DMA1_ERR 0x0
1591#define IRQ_SPORT2_ERR 0x2000000 /* SPORT2 Error */
1592#define nIRQ_SPORT2_ERR 0x0
1593#define IRQ_SPORT3_ERR 0x4000000 /* SPORT3 Error */
1594#define nIRQ_SPORT3_ERR 0x0
1595#define IRQ_MXVR_SD 0x8000000 /* MXVR Synchronous Data */
1596#define nIRQ_MXVR_SD 0x0
1597#define IRQ_SPI1_ERR 0x10000000 /* SPI1 Error */
1598#define nIRQ_SPI1_ERR 0x0
1599#define IRQ_SPI2_ERR 0x20000000 /* SPI2 Error */
1600#define nIRQ_SPI2_ERR 0x0
1601#define IRQ_UART1_ERR 0x40000000 /* UART1 Error */
1602#define nIRQ_UART1_ERR 0x0
1603#define IRQ_UART2_ERR 0x80000000 /* UART2 Error */
1604#define nIRQ_UART2_ERR 0x0
1605
1606/* Bit masks for SIC_IWR1, SIC_IMASK1, SIC_ISR1 */
1607
1608#define IRQ_CAN0_ERR 0x1 /* CAN0 Error */
1609#define nIRQ_CAN0_ERR 0x0
1610#define IRQ_DMA18 0x2 /* DMA Channel 18 */
1611#define nIRQ_DMA18 0x0
1612#define IRQ_DMA19 0x4 /* DMA Channel 19 */
1613#define nIRQ_DMA19 0x0
1614#define IRQ_DMA20 0x8 /* DMA Channel 20 */
1615#define nIRQ_DMA20 0x0
1616#define IRQ_DMA21 0x10 /* DMA Channel 21 */
1617#define nIRQ_DMA21 0x0
1618#define IRQ_DMA13 0x20 /* DMA Channel 13 */
1619#define nIRQ_DMA13 0x0
1620#define IRQ_DMA14 0x40 /* DMA Channel 14 */
1621#define nIRQ_DMA14 0x0
1622#define IRQ_DMA5 0x80 /* DMA Channel 5 */
1623#define nIRQ_DMA5 0x0
1624#define IRQ_DMA23 0x100 /* DMA Channel 23 */
1625#define nIRQ_DMA23 0x0
1626#define IRQ_DMA8 0x200 /* DMA Channel 8 */
1627#define nIRQ_DMA8 0x0
1628#define IRQ_DMA9 0x400 /* DMA Channel 9 */
1629#define nIRQ_DMA9 0x0
1630#define IRQ_DMA10 0x800 /* DMA Channel 10 */
1631#define nIRQ_DMA10 0x0
1632#define IRQ_DMA11 0x1000 /* DMA Channel 11 */
1633#define nIRQ_DMA11 0x0
1634#define IRQ_TWI0 0x2000 /* TWI0 */
1635#define nIRQ_TWI0 0x0
1636#define IRQ_TWI1 0x4000 /* TWI1 */
1637#define nIRQ_TWI1 0x0
1638#define IRQ_CAN0_RX 0x8000 /* CAN0 Receive */
1639#define nIRQ_CAN0_RX 0x0
1640#define IRQ_CAN0_TX 0x10000 /* CAN0 Transmit */
1641#define nIRQ_CAN0_TX 0x0
1642#define IRQ_MDMA2 0x20000 /* Memory DMA Stream 0 */
1643#define nIRQ_MDMA2 0x0
1644#define IRQ_MDMA3 0x40000 /* Memory DMA Stream 1 */
1645#define nIRQ_MDMA3 0x0
1646#define IRQ_MXVR_STAT 0x80000 /* MXVR Status */
1647#define nIRQ_MXVR_STAT 0x0
1648#define IRQ_MXVR_CM 0x100000 /* MXVR Control Message */
1649#define nIRQ_MXVR_CM 0x0
1650#define IRQ_MXVR_AP 0x200000 /* MXVR Asynchronous Packet */
1651#define nIRQ_MXVR_AP 0x0
1652#define IRQ_EPPI1_ERR 0x400000 /* EPPI1 Error */
1653#define nIRQ_EPPI1_ERR 0x0
1654#define IRQ_EPPI2_ERR 0x800000 /* EPPI2 Error */
1655#define nIRQ_EPPI2_ERR 0x0
1656#define IRQ_UART3_ERR 0x1000000 /* UART3 Error */
1657#define nIRQ_UART3_ERR 0x0
1658#define IRQ_HOSTDP_STATUS 0x2000000 /* Host DMA Port Error */
1659#define nIRQ_HOSTDP_STATUS 0x0
1660#define IRQ_USB_ERR 0x4000000 /* USB Error */
1661#define nIRQ_USB_ERR 0x0
1662#define IRQ_PIXC_ERR 0x8000000 /* Pixel Compositor Error */
1663#define nIRQ_PIXC_ERR 0x0
1664#define IRQ_NFC_ERR 0x10000000 /* Nand Flash Controller Error */
1665#define nIRQ_NFC_ERR 0x0
1666#define IRQ_ATAPI_ERR 0x20000000 /* ATAPI Error */
1667#define nIRQ_ATAPI_ERR 0x0
1668#define IRQ_CAN1_ERR 0x40000000 /* CAN1 Error */
1669#define nIRQ_CAN1_ERR 0x0
1670#define IRQ_DMAR0_ERR 0x80000000 /* DMAR0 Overflow Error */
1671#define nIRQ_DMAR0_ERR 0x0
1672#define IRQ_DMAR1_ERR 0x80000000 /* DMAR1 Overflow Error */
1673#define nIRQ_DMAR1_ERR 0x0
1674#define IRQ_DMAR0 0x80000000 /* DMAR0 Block */
1675#define nIRQ_DMAR0 0x0
1676#define IRQ_DMAR1 0x80000000 /* DMAR1 Block */
1677#define nIRQ_DMAR1 0x0
1678
1679/* Bit masks for SIC_IWR2, SIC_IMASK2, SIC_ISR2 */
1680
1681#define IRQ_DMA15 0x1 /* DMA Channel 15 */
1682#define nIRQ_DMA15 0x0
1683#define IRQ_DMA16 0x2 /* DMA Channel 16 */
1684#define nIRQ_DMA16 0x0
1685#define IRQ_DMA17 0x4 /* DMA Channel 17 */
1686#define nIRQ_DMA17 0x0
1687#define IRQ_DMA22 0x8 /* DMA Channel 22 */
1688#define nIRQ_DMA22 0x0
1689#define IRQ_CNT 0x10 /* Counter */
1690#define nIRQ_CNT 0x0
1691#define IRQ_KEY 0x20 /* Keypad */
1692#define nIRQ_KEY 0x0
1693#define IRQ_CAN1_RX 0x40 /* CAN1 Receive */
1694#define nIRQ_CAN1_RX 0x0
1695#define IRQ_CAN1_TX 0x80 /* CAN1 Transmit */
1696#define nIRQ_CAN1_TX 0x0
1697#define IRQ_SDH_MASK0 0x100 /* SDH Mask 0 */
1698#define nIRQ_SDH_MASK0 0x0
1699#define IRQ_SDH_MASK1 0x200 /* SDH Mask 1 */
1700#define nIRQ_SDH_MASK1 0x0
1701#define IRQ_USB_EINT 0x400 /* USB Exception */
1702#define nIRQ_USB_EINT 0x0
1703#define IRQ_USB_INT0 0x800 /* USB Interrupt 0 */
1704#define nIRQ_USB_INT0 0x0
1705#define IRQ_USB_INT1 0x1000 /* USB Interrupt 1 */
1706#define nIRQ_USB_INT1 0x0
1707#define IRQ_USB_INT2 0x2000 /* USB Interrupt 2 */
1708#define nIRQ_USB_INT2 0x0
1709#define IRQ_USB_DMAINT 0x4000 /* USB DMA */
1710#define nIRQ_USB_DMAINT 0x0
1711#define IRQ_OTP 0x8000 /* OTP Access Complete */
1712#define nIRQ_OTP 0x0
1713#define IRQ_TIMER0 0x400000 /* Timer 0 */
1714#define nIRQ_TIMER0 0x0
1715#define IRQ_TIMER1 0x800000 /* Timer 1 */
1716#define nIRQ_TIMER1 0x0
1717#define IRQ_TIMER2 0x1000000 /* Timer 2 */
1718#define nIRQ_TIMER2 0x0
1719#define IRQ_TIMER3 0x2000000 /* Timer 3 */
1720#define nIRQ_TIMER3 0x0
1721#define IRQ_TIMER4 0x4000000 /* Timer 4 */
1722#define nIRQ_TIMER4 0x0
1723#define IRQ_TIMER5 0x8000000 /* Timer 5 */
1724#define nIRQ_TIMER5 0x0
1725#define IRQ_TIMER6 0x10000000 /* Timer 6 */
1726#define nIRQ_TIMER6 0x0
1727#define IRQ_TIMER7 0x20000000 /* Timer 7 */
1728#define nIRQ_TIMER7 0x0
1729#define IRQ_PINT2 0x40000000 /* Pin Interrupt 2 */
1730#define nIRQ_PINT2 0x0
1731#define IRQ_PINT3 0x80000000 /* Pin Interrupt 3 */
1732#define nIRQ_PINT3 0x0
1733
1734/* Bit masks for DMAx_CONFIG, MDMA_Sx_CONFIG, MDMA_Dx_CONFIG */
1735
1736#define DMAEN 0x1 /* DMA Channel Enable */
1737#define nDMAEN 0x0
1738#define WNR 0x2 /* DMA Direction */
1739#define nWNR 0x0
1740#define WDSIZE 0xc /* Transfer Word Size */
1741#define DMA2D 0x10 /* DMA Mode */
1742#define nDMA2D 0x0
1743#define SYNC 0x20 /* Work Unit Transitions */
1744#define nSYNC 0x0
1745#define DI_SEL 0x40 /* Data Interrupt Timing Select */
1746#define nDI_SEL 0x0
1747#define DI_EN 0x80 /* Data Interrupt Enable */
1748#define nDI_EN 0x0
1749#define NDSIZE 0xf00 /* Flex Descriptor Size */
1750#define FLOW 0xf000 /* Next Operation */
1751
1752/* Bit masks for DMAx_IRQ_STATUS, MDMA_Sx_IRQ_STATUS, MDMA_Dx_IRQ_STATUS */
1753
1754#define DMA_DONE 0x1 /* DMA Completion Interrupt Status */
1755#define nDMA_DONE 0x0
1756#define DMA_ERR 0x2 /* DMA Error Interrupt Status */
1757#define nDMA_ERR 0x0
1758#define DFETCH 0x4 /* DMA Descriptor Fetch */
1759#define nDFETCH 0x0
1760#define DMA_RUN 0x8 /* DMA Channel Running */
1761#define nDMA_RUN 0x0
1762
1763/* Bit masks for DMAx_PERIPHERAL_MAP, MDMA_Sx_IRQ_STATUS, MDMA_Dx_IRQ_STATUS */
1764
1765#define CTYPE 0x40 /* DMA Channel Type */
1766#define nCTYPE 0x0
1767#define PMAP 0xf000 /* Peripheral Mapped To This Channel */
1768
1769/* Bit masks for DMACx_TCPER */
1770
1771#define DCB_TRAFFIC_PERIOD 0xf /* DCB Traffic Control Period */
1772#define DEB_TRAFFIC_PERIOD 0xf0 /* DEB Traffic Control Period */
1773#define DAB_TRAFFIC_PERIOD 0x700 /* DAB Traffic Control Period */
1774#define MDMA_ROUND_ROBIN_PERIOD 0xf800 /* MDMA Round Robin Period */
1775
1776/* Bit masks for DMACx_TCCNT */
1777
1778#define DCB_TRAFFIC_COUNT 0xf /* DCB Traffic Control Count */
1779#define DEB_TRAFFIC_COUNT 0xf0 /* DEB Traffic Control Count */
1780#define DAB_TRAFFIC_COUNT 0x700 /* DAB Traffic Control Count */
1781#define MDMA_ROUND_ROBIN_COUNT 0xf800 /* MDMA Round Robin Count */
1782
1783/* Bit masks for DMAC1_PERIMUX */
1784
1785#define PMUXSDH 0x1 /* Peripheral Select for DMA22 channel */
1786#define nPMUXSDH 0x0
1787
1788/* Bit masks for EBIU_AMGCTL */
1789
1790#define AMCKEN 0x1 /* Async Memory Enable */
1791#define nAMCKEN 0x0
1792#define AMBEN 0xe /* Async bank enable */
1793
1794/* EBIU_AMGCTL Masks (AMCKEN) */
1795#define CDPRIO 0x0100 /* DMA has priority over core for for external accesses */
1796
1797/* EBIU_AMGCTL Masks (AMBEN) */
1798#define AMBEN_NONE 0x0000 /* All Banks Disabled */
1799#define AMBEN_B0 0x0002 /* Enable Async Memory Bank 0 only */
1800#define AMBEN_B0_B1 0x0004 /* Enable Async Memory Banks 0 & 1 only */
1801#define AMBEN_B0_B1_B2 0x0006 /* Enable Async Memory Banks 0, 1, and 2 */
4834826e
JJ
1802#define AMBEN_B0_B1_B2_B3 0x0008 /* Enable Async Memory Banks 0, 1, 2 and 3 */
1803#define AMBEN_ALL 0x0008 /* Enable All Async Memory Banks */
84132c9d
JJ
1804
1805/* Bit masks for EBIU_AMBCTL0 */
1806
1807#define B0RDYEN 0x1 /* Bank 0 ARDY Enable */
1808#define nB0RDYEN 0x0
1809#define B0RDYPOL 0x2 /* Bank 0 ARDY Polarity */
1810#define nB0RDYPOL 0x0
1811#define B0TT 0xc /* Bank 0 transition time */
1812#define B0ST 0x30 /* Bank 0 Setup time */
1813#define B0HT 0xc0 /* Bank 0 Hold time */
1814#define B0RAT 0xf00 /* Bank 0 Read access time */
1815#define B0WAT 0xf000 /* Bank 0 write access time */
1816#define B1RDYEN 0x10000 /* Bank 1 ARDY Enable */
1817#define nB1RDYEN 0x0
1818#define B1RDYPOL 0x20000 /* Bank 1 ARDY Polarity */
1819#define nB1RDYPOL 0x0
1820#define B1TT 0xc0000 /* Bank 1 transition time */
1821#define B1ST 0x300000 /* Bank 1 Setup time */
1822#define B1HT 0xc00000 /* Bank 1 Hold time */
1823#define B1RAT 0xf000000 /* Bank 1 Read access time */
1824#define B1WAT 0xf0000000 /* Bank 1 write access time */
1825
1826/* EBIU_AMBCTL0 Macros */
4834826e
JJ
1827#ifdef _MISRA_RULES
1828#define SET_B1WAT(x) (((x)&0xFu) << 28) /* B1 Write Access Time = x cycles */
1829#define SET_B1RAT(x) (((x)&0xFu) << 24) /* B1 Read Access Time = x cycles */
1830#define SET_B1HT(x) (((x)&0x3u) << 22) /* B1 Hold Time (~Read/Write to ~AOE) = x cycles */
1831#define SET_B1ST(x) (((x)&0x3u) << 20) /* B1 Setup Time (AOE to Read/Write) = x cycle */
1832#define SET_B1TT(x) (((x)&0x3u) << 18) /* B1 Transition Time (Read to Write) = x cycles */
1833
1834#define SET_B0WAT(x) (((x)&0xFu) << 12) /* B0 Write Access Time = x cycles */
1835#define SET_B0RAT(x) (((x)&0xFu) << 8) /* B0 Read Access Time = x cycles */
1836#define SET_B0HT(x) (((x)&0x3u) << 6) /* B0 Hold Time (~Read/Write to ~AOE) = x cycles */
1837#define SET_B0ST(x) (((x)&0x3u) << 4) /* B0 Setup Time (AOE to Read/Write) = x cycle */
1838#define SET_B0TT(x) (((x)&0x3u) << 2) /* B0 Transition Time (Read to Write) = x cycles */
1839#else
84132c9d
JJ
1840#define SET_B1WAT(x) (((x)&0xF) << 28) /* B1 Write Access Time = x cycles */
1841#define SET_B1RAT(x) (((x)&0xF) << 24) /* B1 Read Access Time = x cycles */
1842#define SET_B1HT(x) (((x)&0x3) << 22) /* B1 Hold Time (~Read/Write to ~AOE) = x cycles */
4834826e 1843#define SET_B1ST(x) (((x)&0x3) << 20) /* B1 Setup Time (AOE to Read/Write) = x cycle */
84132c9d
JJ
1844#define SET_B1TT(x) (((x)&0x3) << 18) /* B1 Transition Time (Read to Write) = x cycles */
1845
1846#define SET_B0WAT(x) (((x)&0xF) << 12) /* B0 Write Access Time = x cycles */
1847#define SET_B0RAT(x) (((x)&0xF) << 8) /* B0 Read Access Time = x cycles */
1848#define SET_B0HT(x) (((x)&0x3) << 6) /* B0 Hold Time (~Read/Write to ~AOE) = x cycles */
4834826e 1849#define SET_B0ST(x) (((x)&0x3) << 4) /* B0 Setup Time (AOE to Read/Write) = x cycle */
84132c9d 1850#define SET_B0TT(x) (((x)&0x3) << 2) /* B0 Transition Time (Read to Write) = x cycles */
4834826e
JJ
1851#endif /* _MISRA_RULES */
1852
84132c9d
JJ
1853
1854/* Bit masks for EBIU_AMBCTL1 */
1855
1856#define B2RDYEN 0x1 /* Bank 2 ARDY Enable */
1857#define nB2RDYEN 0x0
1858#define B2RDYPOL 0x2 /* Bank 2 ARDY Polarity */
1859#define nB2RDYPOL 0x0
1860#define B2TT 0xc /* Bank 2 transition time */
1861#define B2ST 0x30 /* Bank 2 Setup time */
1862#define B2HT 0xc0 /* Bank 2 Hold time */
1863#define B2RAT 0xf00 /* Bank 2 Read access time */
1864#define B2WAT 0xf000 /* Bank 2 write access time */
1865#define B3RDYEN 0x10000 /* Bank 3 ARDY Enable */
1866#define nB3RDYEN 0x0
1867#define B3RDYPOL 0x20000 /* Bank 3 ARDY Polarity */
1868#define nB3RDYPOL 0x0
1869#define B3TT 0xc0000 /* Bank 3 transition time */
1870#define B3ST 0x300000 /* Bank 3 Setup time */
1871#define B3HT 0xc00000 /* Bank 3 Hold time */
1872#define B3RAT 0xf000000 /* Bank 3 Read access time */
1873#define B3WAT 0xf0000000 /* Bank 3 write access time */
1874
1875/* EBIU_AMBCTL1 Macros */
4834826e
JJ
1876#ifdef _MISRA_RULES
1877#define SET_B3WAT(x) (((x)&0xFu) << 28) /* B3 Write Access Time = x cycles */
1878#define SET_B3RAT(x) (((x)&0xFu) << 24) /* B3 Read Access Time = x cycles */
1879#define SET_B3HT(x) (((x)&0x3u) << 22) /* B3 Hold Time (~Read/Write to ~AOE) = x cycles */
1880#define SET_B3ST(x) (((x)&0x3u) << 20) /* B3 Setup Time (AOE to Read/Write) = x cycle */
1881#define SET_B3TT(x) (((x)&0x3u) << 18) /* B3 Transition Time (Read to Write) = x cycles */
1882
1883#define SET_B2WAT(x) (((x)&0xFu) << 12) /* B2 Write Access Time = x cycles */
1884#define SET_B2RAT(x) (((x)&0xFu) << 8) /* B2 Read Access Time = x cycles */
1885#define SET_B2HT(x) (((x)&0x3u) << 6) /* B2 Hold Time (~Read/Write to ~AOE) = x cycles */
1886#define SET_B2ST(x) (((x)&0x3u) << 4) /* B2 Setup Time (AOE to Read/Write) = x cycle */
1887#define SET_B2TT(x) (((x)&0x3u) << 2) /* B2 Transition Time (Read to Write) = x cycles */
1888#else
84132c9d
JJ
1889#define SET_B3WAT(x) (((x)&0xF) << 28) /* B3 Write Access Time = x cycles */
1890#define SET_B3RAT(x) (((x)&0xF) << 24) /* B3 Read Access Time = x cycles */
1891#define SET_B3HT(x) (((x)&0x3) << 22) /* B3 Hold Time (~Read/Write to ~AOE) = x cycles */
4834826e 1892#define SET_B3ST(x) (((x)&0x3) << 20) /* B3 Setup Time (AOE to Read/Write) = x cycle */
84132c9d
JJ
1893#define SET_B3TT(x) (((x)&0x3) << 18) /* B3 Transition Time (Read to Write) = x cycles */
1894
1895#define SET_B2WAT(x) (((x)&0xF) << 12) /* B2 Write Access Time = x cycles */
1896#define SET_B2RAT(x) (((x)&0xF) << 8) /* B2 Read Access Time = x cycles */
1897#define SET_B2HT(x) (((x)&0x3) << 6) /* B2 Hold Time (~Read/Write to ~AOE) = x cycles */
4834826e 1898#define SET_B2ST(x) (((x)&0x3) << 4) /* B2 Setup Time (AOE to Read/Write) = x cycle */
84132c9d 1899#define SET_B2TT(x) (((x)&0x3) << 2) /* B2 Transition Time (Read to Write) = x cycles */
4834826e 1900#endif /* _MISRA_RULES */
84132c9d
JJ
1901
1902/* Bit masks for EBIU_MBSCTL */
1903
1904#define AMSB0CTL 0x3 /* Async Memory Bank 0 select */
1905#define AMSB1CTL 0xc /* Async Memory Bank 1 select */
1906#define AMSB2CTL 0x30 /* Async Memory Bank 2 select */
1907#define AMSB3CTL 0xc0 /* Async Memory Bank 3 select */
1908
1909/* Bit masks for EBIU_MODE */
1910
1911#define B0MODE 0x3 /* Async Memory Bank 0 Access Mode */
1912#define B1MODE 0xc /* Async Memory Bank 1 Access Mode */
1913#define B2MODE 0x30 /* Async Memory Bank 2 Access Mode */
1914#define B3MODE 0xc0 /* Async Memory Bank 3 Access Mode */
1915
1916/* Bit masks for EBIU_MODE (BOMODE) */
1917#define B0MODE_ASYNC 0x00000000 /* Bank 0 Access Mode - 00 - Asynchronous Mode */
1918#define B0MODE_FLASH 0x00000001 /* Bank 0 Access Mode - 01 - Asynchronous Flash Mode */
1919#define B0MODE_PAGE 0x00000002 /* Bank 0 Access Mode - 10 - Asynchronous Page Mode */
1920#define B0MODE_BURST 0x00000003 /* Bank 0 Access Mode - 11 - Synchronous (Burst) Mode */
1921
1922/* Bit masks for EBIU_MODE (B1MODE) */
1923#define B1MODE_ASYNC 0x00000000 /* Bank 1 Access Mode - 00 - Asynchronous Mode */
1924#define B1MODE_FLASH 0x00000004 /* Bank 1 Access Mode - 01 - Asynchronous Flash Mode */
1925#define B1MODE_PAGE 0x00000008 /* Bank 1 Access Mode - 10 - Asynchronous Page Mode */
1926#define B1MODE_BURST 0x0000000C /* Bank 1 Access Mode - 11 - Synchronous (Burst) Mode */
1927
1928/* Bit masks for EBIU_MODE (B2MODE) */
1929#define B2MODE_ASYNC 0x00000000 /* Bank 2 Access Mode - 00 - Asynchronous Mode */
1930#define B2MODE_FLASH 0x00000010 /* Bank 2 Access Mode - 01 - Asynchronous Flash Mode */
1931#define B2MODE_PAGE 0x00000020 /* Bank 2 Access Mode - 10 - Asynchronous Page Mode */
1932#define B2MODE_BURST 0x00000030 /* Bank 2 Access Mode - 11 - Synchronous (Burst) Mode */
1933
1934/* Bit masks for EBIU_MODE (B3MODE) */
1935#define B3MODE_ASYNC 0x00000000 /* Bank 3 Access Mode - 00 - Asynchronous Mode */
1936#define B3MODE_FLASH 0x00000040 /* Bank 3 Access Mode - 01 - Asynchronous Flash Mode */
1937#define B3MODE_PAGE 0x00000080 /* Bank 3 Access Mode - 10 - Asynchronous Page Mode */
1938#define B3MODE_BURST 0x000000C0 /* Bank 3 Access Mode - 11 - Synchronous (Burst) Mode */
1939
1940/* Bit masks for EBIU_FCTL */
1941
1942#define TESTSETLOCK 0x1 /* Test set lock */
1943#define nTESTSETLOCK 0x0
1944#define BCLK 0x6 /* Burst clock frequency */
1945#define PGWS 0x38 /* Page wait states */
1946#define PGSZ 0x40 /* Page size */
1947#define nPGSZ 0x0
1948#define RDDL 0x380 /* Read data delay */
1949
1950/* Bit masks for EBIU_FCTL (BCLK) */
1951#define BCLK2 0x00000002 /* Burst clock frequency: 01 - SCLK/2 */
1952#define BCLK3 0x00000004 /* Burst clock frequency: 10 - SCLK/3 */
1953#define BCLK4 0x00000006 /* Burst clock frequency: 11 - SCLK/4 */
1954
1955/* Macros for EBIU_FCTL */
4834826e
JJ
1956#ifdef _MISRA_RULES
1957#define SET_PGWS(x) (((x)&0x7u) << 0x3) /* PGWS[5:3] Page Wait States - 000 to 100 - 0 to 4 cycles */
1958#else
84132c9d 1959#define SET_PGWS(x) (((x)&0x7) << 0x3) /* PGWS[5:3] Page Wait States - 000 to 100 - 0 to 4 cycles */
4834826e 1960#endif /* _MISRA_RULES */
84132c9d
JJ
1961 /* Burst clock frequency: 00 - Reserved */
1962/* Bit masks for EBIU_ARBSTAT */
1963
1964#define ARBSTAT 0x1 /* Arbitration status */
1965#define nARBSTAT 0x0
1966#define BGSTAT 0x2 /* Bus grant status */
1967#define nBGSTAT 0x0
1968
1969/* Bit masks for EBIU_DDRCTL0 */
1970#define TREFI 0x3fff /* Refresh Interval */
1971#define TRFC 0x3c000 /* Auto-refresh command period */
1972#define TRP 0x3c0000 /* Pre charge-to-active command period */
1973#define TRAS 0x3c00000 /* Min Active-to-pre charge time */
1974#define TRC 0x3c000000 /* Active-to-active time */
1975
1976/* Macros for EBIU_DDRCTL0 */
4834826e
JJ
1977#ifdef _MISRA_RULES
1978#define SET_tRC(x) (((x)&0xFu) << 26) /* tRC (Active-to-Active)[29:26] - Number of clock cycles from an active command to next active command (Default: 0x2) */
1979#define SET_tRAS(x) (((x)&0xFu) << 22) /* tRAS (Minimum Active-to-Precharge time) [3:0] - Number of clock cycles from an ACTIVE command until a PRE-CHARGE command is issued. To obtain this value, one should divide the minimum RAS to pre-charge delay of SDRAM by clock cycle time (Default: 0x6) */
1980#define SET_tRP(x) (((x)&0xFu) << 18) /* tRP (Precharge-to-Active Command period)[3:0] - Number of clock cycles needed for DDR to recover from a precharge command and ready to accept next active command (Default: 0x3) */
1981#define SET_tRFC(x) (((x)&0xFu) << 14) /* tRFC[3:0] AUTO-REFRESH Command Period[3:0] - Number of clock cycles needed for DDR to recover from a refresh to be ready for next active command (tRFC/Clock Period) (Default: 0xA) */
1982#define SET_tREFI(x) ((x)&0x3FFFu) /* tREFI (Refresh Interval)[13:0] - Number of clock cycles from one refresh cycle to next refresh cycle. To obtain this value, divide the DDR refresh period (tREF) by total number of rows to be refreshed. Then divide the result by total time. (Default: 0x0411) */
1983#else
84132c9d
JJ
1984#define SET_tRC(x) (((x)&0xF) << 26) /* tRC (Active-to-Active)[29:26] - Number of clock cycles from an active command to next active command (Default: 0x2) */
1985#define SET_tRAS(x) (((x)&0xF) << 22) /* tRAS (Minimum Active-to-Precharge time) [3:0] - Number of clock cycles from an ACTIVE command until a PRE-CHARGE command is issued. To obtain this value, one should divide the minimum RAS to pre-charge delay of SDRAM by clock cycle time (Default: 0x6) */
1986#define SET_tRP(x) (((x)&0xF) << 18) /* tRP (Precharge-to-Active Command period)[3:0] - Number of clock cycles needed for DDR to recover from a precharge command and ready to accept next active command (Default: 0x3) */
1987#define SET_tRFC(x) (((x)&0xF) << 14) /* tRFC[3:0] AUTO-REFRESH Command Period[3:0] - Number of clock cycles needed for DDR to recover from a refresh to be ready for next active command (tRFC/Clock Period) (Default: 0xA) */
1988#define SET_tREFI(x) ((x)&0x3FFF) /* tREFI (Refresh Interval)[13:0] - Number of clock cycles from one refresh cycle to next refresh cycle. To obtain this value, divide the DDR refresh period (tREF) by total number of rows to be refreshed. Then divide the result by total time. (Default: 0x0411) */
4834826e 1989#endif /* _MISRA_RULES */
84132c9d
JJ
1990
1991/* Bit masks for EBIU_DDRCTL1 */
1992
1993#define TRCD 0xf /* Active-to-Read/write delay */
1994#define MRD 0xf0 /* Mode register set to active */
1995#define TWR 0x300 /* Write Recovery time */
1996#define DDRDATWIDTH 0x3000 /* DDR data width */
1997#define EXTBANKS 0xc000 /* External banks */
1998#define DDRDEVWIDTH 0x30000 /* DDR device width */
1999#define DDRDEVSIZE 0xc0000 /* DDR device size */
2000#define TWWTR 0xf0000000 /* Write-to-read delay */
2001
2002/* Alternate names that match BF54x HRM */
2003#define DDR_DATWIDTH 0x3000 /* DDR data width */
2004#define DDR_DEVWIDTH 0x30000 /* DDR device width */
2005#define DDR_DEVSIZE 0xc0000 /* DDR device size */
2006
2007/* Masks for EBIU_DDRCTL1 (DDRDATWIDTH) [in HRM: DDR_DATWIDTH] */
2008#define DDR_DATAWIDTH 0x00002000 /* DDR_DATWIDTH Total DDR Data Width (16-bit Only) */
2009
2010/* Masks for EBIU_DDRCTL1 (EXTBANKS) */
2011#define CS0 0x00000000 /* EXTBANKS External Banks[15:14] */
2012#define CS0_CS1 0x00004000 /* default */
2013
2014/* Masks for EBIU_DDRCTL1 (DDRDEVWIDTH) [in HRM: DDR_DEVWIDTH] */
2015#define DDR_DEVWIDTH_4 0x00000000 /* DDR_DRVWIDTH DDR Device Width[17:16] */
2016#define DDR_DEVWIDTH_8 0x00010000
2017#define DDR_DEVWIDTH_16 0x00020000 /* default */
2018
2019/* Masks for EBIU_DDRCTL1 (DDRDEVSIZE) [in HRM: DDR_DEVSIZE] */
2020#define DDR_DEVSIZE_512 0x00000000 /* DDR_DEVSIZE DDR Device Size[19:18] */
2021#define DDR_DEVSIZE_64 0x00040000
2022#define DDR_DEVSIZE_128 0x00080000
2023#define DDR_DEVSIZE_256 0x000C0000
2024
2025/* Macros for EBIU_DDRCTL1 */
4834826e
JJ
2026#ifdef _MISRA_RULES
2027#define SET_tWTR(x) (((x)&0xFu) << 28) /* tWTR (Write-to-Read Delay)[3:0] - The Write to read delay (last write data to the next read command) as specified by DDR Data sheet (Default: 0x0001) */
2028#define SET_tWR(x) (((x)&0x3u) << 8) /* tWR Write Recovery Time[9:8] */
2029#define SET_tMRD(x) (((x)&0xFu) << 4) /* tMRD Mode register set to active[7:4] */
2030#define SET_tRCD(x) ((x)&0xFu) /* tRCD ACTIVE-to-READ/WRITE delay[3:0] */
2031#else
84132c9d
JJ
2032#define SET_tWTR(x) (((x)&0xF) << 28) /* tWTR (Write-to-Read Delay)[3:0] - The Write to read delay (last write data to the next read command) as specified by DDR Data sheet (Default: 0x0001) */
2033#define SET_tWR(x) (((x)&0x3) << 8) /* tWR Write Recovery Time[9:8] */
2034#define SET_tMRD(x) (((x)&0xF) << 4) /* tMRD Mode register set to active[7:4] */
2035#define SET_tRCD(x) ((x)&0xF) /* tRCD ACTIVE-to-READ/WRITE delay[3:0] */
4834826e 2036#endif /* _MISRA_RULES */
84132c9d
JJ
2037
2038/* Bit masks for EBIU_DDRCTL2 */
2039#define BURSTLENGTH 0x7 /* Burst length */
2040#define CASLATENCY 0x70 /* CAS latency */
2041#define DLLRESET 0x100 /* DLL Reset */
2042#define nDLLRESET 0x0
2043#define REGE 0x1000 /* Register mode enable */
2044#define nREGE 0x0
2045
2046/* Masks for EBIU_DDRCTL2 (BURSTLENGTH) */
2047#define BURSTLENGTH1 0x00000001 /* BURSTLENGTH Burst length[2:0] - 001 : Read Only value is set to a burst length of 2 */
2048
2049/* Masks for EBIU_DDRCTL2 (CASLATENCY) */
2050/* CASLATENCY CAS Latency[6:4] - The number of clock cycles from assertion of read/write signal to SDRAM until first valid data on output from SDRAM. */
2051#define CASLATENCY15 0x00000050 /* 101 : 1.5 */
2052#define CASLATENCY2 0x00000020 /* 010 : 2 (Default) */
2053#define CASLATENCY25 0x00000060 /* 110 : 2.5 */
2054#define CASLATENCY3 0x00000030 /* 011 : 3 */
2055
2056/* Masks for EBIU_DDRCTL2 (DLLRESET) */
2057#define DLL 0x00000001 /* 0: Enable DLL */
2058#define nDLL 0x0 /* 0: Disable DLL (Default) */
2059#define DS 0x00000002 /* Defaults to 1 ( Reduced Strength). This is the ONLY value supported */
2060#define nDS 0x0
2061
2062/* Bit masks for EBIU_DDRCTL3 */
2063#define PASR 0x7 /* Partial array self-refresh */
2064
2065/* Bit masks for EBIU_DDRQUE */
4834826e
JJ
2066#define DEB0_PFLEN 0x3 /* Pre fetch length for DEB0 accesses */
2067#define DEB1_PFLEN 0xc /* Pre fetch length for DEB1 accesses */
2068#define DEB2_PFLEN 0x30 /* Pre fetch length for DEB2 accesses */
84132c9d 2069#define DEB_ARB_PRIORITY 0x700 /* Arbitration between DEB busses */
4834826e 2070#define DEB0_URGENT 0x1000 /* DEB0 Urgent */
84132c9d 2071#define nDEB0_URGENT 0x0
4834826e 2072#define DEB1_URGENT 0x2000 /* DEB1 Urgent */
84132c9d 2073#define nDEB1_URGENT 0x0
4834826e 2074#define DEB2_URGENT 0x4000 /* DEB2 Urgent */
84132c9d
JJ
2075#define nDEB2_URGENT 0x0
2076
2077/* Bit masks for EBIU_DDRQUE (DEB0_PFLEN) */
2078/* DEB0_PFLEN[1:0] - Prefetch Length for DEB0 Accesses. Based on these bits, DQM instructs DDR Controller to perform 2-beat, 4-beat or 8-beat bursts for prefetch read data. */
2079#define DEB0_PFLEN0 0x00000000 /* 00 - (Single Access) */
2080#define DEB0_PFLEN4 0x00000001 /* 01 - 4 Half-words (Default) */
2081#define DEB0_PFLEN8 0x00000002 /* 10 - 8 Half-words */
2082#define DEB0_PFLEN16 0x00000003 /* 11 - 16Half-words */
2083/* performs, 16 bit read to DDR controller. Second edge is not used. */
2084
2085/* Bit masks for EBIU_DDRQUE (DEB1_PFLEN) */
2086/* DEB1_PFLEN[3:2] - Prefetch Length for DEB0 Accesses. Based on these bits, DQM instructs DDR Controller to perform 2-beat, 4-beat or 8-beat bursts for prefetch read data. */
2087#define DEB1_PFLEN0 0x00000000 /* 00 - (Single Access) */
2088#define DEB1_PFLEN4 0x00000004 /* 01 - 4 Half-words (Default) */
2089#define DEB1_PFLEN8 0x00000008 /* 10 - 8 Half-words */
2090#define DEB1_PFLEN16 0x0000000C /* 11 - 16Half-words */
2091/* performs, 16 bit read to DDR controller. Second edge is not used. */
2092
2093/* Bit masks for EBIU_DDRQUE (DEB2_PFLEN) */
2094/* DEB2_PFLEN[5:4] - Prefetch Length for DEB0 Accesses. Based on these bits, DQM instructs DDR Controller to perform 2-beat, 4-beat or 8-beat bursts for prefetch read data. */
2095#define DEB2_PFLEN0 0x00000000 /* 00 - (Single Access) */
2096#define DEB2_PFLEN4 0x00000010 /* 01 - 4 Half-words (Default) */
2097#define DEB2_PFLEN8 0x00000020 /* 10 - 8 Half-words */
2098#define DEB2_PFLEN16 0x00000030 /* 11 - 16Half-words */
2099/* performs, 16 bit read to DDR controller. Second edge is not used. */
2100
2101/* Bit masks for EBIU_DDRQUE (DEB_ARB_PRIORITY) */
2102/* DEB_ARB_PRIORITY[10:8] - Arbitration Priority between all DEB buses for External DDR Memory: */
2103#define DEB_ARB_PRIORITY0 0x00000000 /* 000 : DEB0>DEB1>DEB2 */
2104#define DEB_ARB_PRIORITY1 0x00000100 /* 001 : DEB1>DEB0>DEB2 (Default) */
2105#define DEB_ARB_PRIORITY2 0x00000200 /* 010 : DEB2>DEB0>DEB1 */
2106/* In addition the following fixed order of arbitration is maintained:
21071. Core Lock Access
21082. Urgent DMA Access
21093. Core Access
21104. Normal DMA Access
21115. Prefetch Reads */
2112
2113/* Bit masks for EBIU_ERRMST */
2114
2115#define DEB1_ERROR 0x1 /* DEB1 Error */
2116#define nDEB1_ERROR 0x0
2117#define DEB2_ERROR 0x2 /* DEB2 Error */
2118#define nDEB2_ERROR 0x0
2119#define DEB3_ERROR 0x4 /* DEB3 Error */
2120#define nDEB3_ERROR 0x0
2121#define CORE_ERROR 0x8 /* Core error */
2122#define nCORE_ERROR 0x0
2123#define DEB_MERROR 0x10 /* DEB1 Error (2nd) */
2124#define nDEB_MERROR 0x0
2125#define DEB2_MERROR 0x20 /* DEB2 Error (2nd) */
2126#define nDEB2_MERROR 0x0
2127#define DEB3_MERROR 0x40 /* DEB3 Error (2nd) */
2128#define nDEB3_MERROR 0x0
2129#define CORE_MERROR 0x80 /* Core Error (2nd) */
2130#define nCORE_MERROR 0x0
2131
2132/* Bit masks for EBIU_ERRADD */
2133
2134#define ERROR_ADDRESS 0xffffffff /* Error Address */
2135
2136/* Bit masks for EBIU_RSTCTL */
2137
2138#define DDRSRESET 0x1 /* DDR soft reset */
2139#define nDDRSRESET 0x0
2140#define PFTCHSRESET 0x4 /* DDR prefetch reset */
2141#define nPFTCHSRESET 0x0
2142#define SRREQ 0x8 /* Self-refresh request */
2143#define nSRREQ 0x0
2144#define SRACK 0x10 /* Self-refresh acknowledge */
2145#define nSRACK 0x0
84132c9d
JJ
2146
2147/* Bit masks for EBIU_DDRBRC0 */
2148
2149#define BRC0 0xffffffff /* Count */
2150
2151/* Bit masks for EBIU_DDRBRC1 */
2152
2153#define BRC1 0xffffffff /* Count */
2154
2155/* Bit masks for EBIU_DDRBRC2 */
2156
2157#define BRC2 0xffffffff /* Count */
2158
2159/* Bit masks for EBIU_DDRBRC3 */
2160
2161#define BRC3 0xffffffff /* Count */
2162
2163/* Bit masks for EBIU_DDRBRC4 */
2164
2165#define BRC4 0xffffffff /* Count */
2166
2167/* Bit masks for EBIU_DDRBRC5 */
2168
2169#define BRC5 0xffffffff /* Count */
2170
2171/* Bit masks for EBIU_DDRBRC6 */
2172
2173#define BRC6 0xffffffff /* Count */
2174
2175/* Bit masks for EBIU_DDRBRC7 */
2176
2177#define BRC7 0xffffffff /* Count */
2178
2179/* Bit masks for EBIU_DDRBWC0 */
2180
2181#define BWC0 0xffffffff /* Count */
2182
2183/* Bit masks for EBIU_DDRBWC1 */
2184
2185#define BWC1 0xffffffff /* Count */
2186
2187/* Bit masks for EBIU_DDRBWC2 */
2188
2189#define BWC2 0xffffffff /* Count */
2190
2191/* Bit masks for EBIU_DDRBWC3 */
2192
2193#define BWC3 0xffffffff /* Count */
2194
2195/* Bit masks for EBIU_DDRBWC4 */
2196
2197#define BWC4 0xffffffff /* Count */
2198
2199/* Bit masks for EBIU_DDRBWC5 */
2200
2201#define BWC5 0xffffffff /* Count */
2202
2203/* Bit masks for EBIU_DDRBWC6 */
2204
2205#define BWC6 0xffffffff /* Count */
2206
2207/* Bit masks for EBIU_DDRBWC7 */
2208
2209#define BWC7 0xffffffff /* Count */
2210
2211/* Bit masks for EBIU_DDRACCT */
2212
2213#define ACCT 0xffffffff /* Count */
2214
2215/* Bit masks for EBIU_DDRTACT */
2216
2217#define TECT 0xffffffff /* Count */
2218
2219/* Bit masks for EBIU_DDRARCT */
2220
2221#define ARCT 0xffffffff /* Count */
2222
2223/* Bit masks for EBIU_DDRGC0 */
2224
2225#define GC0 0xffffffff /* Count */
2226
2227/* Bit masks for EBIU_DDRGC1 */
2228
2229#define GC1 0xffffffff /* Count */
2230
2231/* Bit masks for EBIU_DDRGC2 */
2232
2233#define GC2 0xffffffff /* Count */
2234
2235/* Bit masks for EBIU_DDRGC3 */
2236
2237#define GC3 0xffffffff /* Count */
2238
2239/* Bit masks for EBIU_DDRMCEN */
2240
2241#define B0WCENABLE 0x1 /* Bank 0 write count enable */
2242#define nB0WCENABLE 0x0
2243#define B1WCENABLE 0x2 /* Bank 1 write count enable */
2244#define nB1WCENABLE 0x0
2245#define B2WCENABLE 0x4 /* Bank 2 write count enable */
2246#define nB2WCENABLE 0x0
2247#define B3WCENABLE 0x8 /* Bank 3 write count enable */
2248#define nB3WCENABLE 0x0
2249#define B4WCENABLE 0x10 /* Bank 4 write count enable */
2250#define nB4WCENABLE 0x0
2251#define B5WCENABLE 0x20 /* Bank 5 write count enable */
2252#define nB5WCENABLE 0x0
2253#define B6WCENABLE 0x40 /* Bank 6 write count enable */
2254#define nB6WCENABLE 0x0
2255#define B7WCENABLE 0x80 /* Bank 7 write count enable */
2256#define nB7WCENABLE 0x0
2257#define B0RCENABLE 0x100 /* Bank 0 read count enable */
2258#define nB0RCENABLE 0x0
2259#define B1RCENABLE 0x200 /* Bank 1 read count enable */
2260#define nB1RCENABLE 0x0
2261#define B2RCENABLE 0x400 /* Bank 2 read count enable */
2262#define nB2RCENABLE 0x0
2263#define B3RCENABLE 0x800 /* Bank 3 read count enable */
2264#define nB3RCENABLE 0x0
2265#define B4RCENABLE 0x1000 /* Bank 4 read count enable */
2266#define nB4RCENABLE 0x0
2267#define B5RCENABLE 0x2000 /* Bank 5 read count enable */
2268#define nB5RCENABLE 0x0
2269#define B6RCENABLE 0x4000 /* Bank 6 read count enable */
2270#define nB6RCENABLE 0x0
2271#define B7RCENABLE 0x8000 /* Bank 7 read count enable */
2272#define nB7RCENABLE 0x0
2273#define ROWACTCENABLE 0x10000 /* DDR Row activate count enable */
2274#define nROWACTCENABLE 0x0
2275#define RWTCENABLE 0x20000 /* DDR R/W Turn around count enable */
2276#define nRWTCENABLE 0x0
2277#define ARCENABLE 0x40000 /* DDR Auto-refresh count enable */
2278#define nARCENABLE 0x0
2279#define GC0ENABLE 0x100000 /* DDR Grant count 0 enable */
2280#define nGC0ENABLE 0x0
2281#define GC1ENABLE 0x200000 /* DDR Grant count 1 enable */
2282#define nGC1ENABLE 0x0
2283#define GC2ENABLE 0x400000 /* DDR Grant count 2 enable */
2284#define nGC2ENABLE 0x0
2285#define GC3ENABLE 0x800000 /* DDR Grant count 3 enable */
2286#define nGC3ENABLE 0x0
2287#define GCCONTROL 0x3000000 /* DDR Grant Count Control */
2288
2289/* Bit masks for EBIU_DDRMCCL */
2290
2291#define CB0WCOUNT 0x1 /* Clear write count 0 */
2292#define nCB0WCOUNT 0x0
2293#define CB1WCOUNT 0x2 /* Clear write count 1 */
2294#define nCB1WCOUNT 0x0
2295#define CB2WCOUNT 0x4 /* Clear write count 2 */
2296#define nCB2WCOUNT 0x0
2297#define CB3WCOUNT 0x8 /* Clear write count 3 */
2298#define nCB3WCOUNT 0x0
2299#define CB4WCOUNT 0x10 /* Clear write count 4 */
2300#define nCB4WCOUNT 0x0
2301#define CB5WCOUNT 0x20 /* Clear write count 5 */
2302#define nCB5WCOUNT 0x0
2303#define CB6WCOUNT 0x40 /* Clear write count 6 */
2304#define nCB6WCOUNT 0x0
2305#define CB7WCOUNT 0x80 /* Clear write count 7 */
2306#define nCB7WCOUNT 0x0
2307#define CBRCOUNT 0x100 /* Clear read count 0 */
2308#define nCBRCOUNT 0x0
2309#define CB1RCOUNT 0x200 /* Clear read count 1 */
2310#define nCB1RCOUNT 0x0
2311#define CB2RCOUNT 0x400 /* Clear read count 2 */
2312#define nCB2RCOUNT 0x0
2313#define CB3RCOUNT 0x800 /* Clear read count 3 */
2314#define nCB3RCOUNT 0x0
2315#define CB4RCOUNT 0x1000 /* Clear read count 4 */
2316#define nCB4RCOUNT 0x0
2317#define CB5RCOUNT 0x2000 /* Clear read count 5 */
2318#define nCB5RCOUNT 0x0
2319#define CB6RCOUNT 0x4000 /* Clear read count 6 */
2320#define nCB6RCOUNT 0x0
2321#define CB7RCOUNT 0x8000 /* Clear read count 7 */
2322#define nCB7RCOUNT 0x0
2323#define CRACOUNT 0x10000 /* Clear row activation count */
2324#define nCRACOUNT 0x0
2325#define CRWTACOUNT 0x20000 /* Clear R/W turn-around count */
2326#define nCRWTACOUNT 0x0
2327#define CARCOUNT 0x40000 /* Clear auto-refresh count */
2328#define nCARCOUNT 0x0
2329#define CG0COUNT 0x100000 /* Clear grant count 0 */
2330#define nCG0COUNT 0x0
2331#define CG1COUNT 0x200000 /* Clear grant count 1 */
2332#define nCG1COUNT 0x0
2333#define CG2COUNT 0x400000 /* Clear grant count 2 */
2334#define nCG2COUNT 0x0
2335#define CG3COUNT 0x800000 /* Clear grant count 3 */
2336#define nCG3COUNT 0x0
2337
2338/* Bit masks for (PORTx is PORTA - PORTJ) includes PORTx_FER, PORTx_SET, PORTx_CLEAR, PORTx_DIR_SET, PORTx_DIR_CLEAR, PORTx_INEN */
2339
2340#define Px0 0x1 /* GPIO 0 */
2341#define nPx0 0x0
2342#define Px1 0x2 /* GPIO 1 */
2343#define nPx1 0x0
2344#define Px2 0x4 /* GPIO 2 */
2345#define nPx2 0x0
2346#define Px3 0x8 /* GPIO 3 */
2347#define nPx3 0x0
2348#define Px4 0x10 /* GPIO 4 */
2349#define nPx4 0x0
2350#define Px5 0x20 /* GPIO 5 */
2351#define nPx5 0x0
2352#define Px6 0x40 /* GPIO 6 */
2353#define nPx6 0x0
2354#define Px7 0x80 /* GPIO 7 */
2355#define nPx7 0x0
2356#define Px8 0x100 /* GPIO 8 */
2357#define nPx8 0x0
2358#define Px9 0x200 /* GPIO 9 */
2359#define nPx9 0x0
2360#define Px10 0x400 /* GPIO 10 */
2361#define nPx10 0x0
2362#define Px11 0x800 /* GPIO 11 */
2363#define nPx11 0x0
2364#define Px12 0x1000 /* GPIO 12 */
2365#define nPx12 0x0
2366#define Px13 0x2000 /* GPIO 13 */
2367#define nPx13 0x0
2368#define Px14 0x4000 /* GPIO 14 */
2369#define nPx14 0x0
2370#define Px15 0x8000 /* GPIO 15 */
2371#define nPx15 0x0
2372
2373/* Bit masks for PORTA_MUX - PORTJ_MUX */
2374
2375#define PxM0 0x3 /* GPIO Mux 0 */
2376#define PxM1 0xc /* GPIO Mux 1 */
2377#define PxM2 0x30 /* GPIO Mux 2 */
2378#define PxM3 0xc0 /* GPIO Mux 3 */
2379#define PxM4 0x300 /* GPIO Mux 4 */
2380#define PxM5 0xc00 /* GPIO Mux 5 */
2381#define PxM6 0x3000 /* GPIO Mux 6 */
2382#define PxM7 0xc000 /* GPIO Mux 7 */
2383#define PxM8 0x30000 /* GPIO Mux 8 */
2384#define PxM9 0xc0000 /* GPIO Mux 9 */
2385#define PxM10 0x300000 /* GPIO Mux 10 */
2386#define PxM11 0xc00000 /* GPIO Mux 11 */
2387#define PxM12 0x3000000 /* GPIO Mux 12 */
2388#define PxM13 0xc000000 /* GPIO Mux 13 */
2389#define PxM14 0x30000000 /* GPIO Mux 14 */
2390#define PxM15 0xc0000000 /* GPIO Mux 15 */
2391
2392
2393/* Bit masks for PINTx_MASK_SET/CLEAR, PINTx_REQUEST, PINTx_LATCH, PINTx_EDGE_SET/CLEAR, PINTx_INVERT_SET/CLEAR, PINTx_PINTSTATE */
2394
2395#define IB0 0x1 /* Interrupt Bit 0 */
2396#define nIB0 0x0
2397#define IB1 0x2 /* Interrupt Bit 1 */
2398#define nIB1 0x0
2399#define IB2 0x4 /* Interrupt Bit 2 */
2400#define nIB2 0x0
2401#define IB3 0x8 /* Interrupt Bit 3 */
2402#define nIB3 0x0
2403#define IB4 0x10 /* Interrupt Bit 4 */
2404#define nIB4 0x0
2405#define IB5 0x20 /* Interrupt Bit 5 */
2406#define nIB5 0x0
2407#define IB6 0x40 /* Interrupt Bit 6 */
2408#define nIB6 0x0
2409#define IB7 0x80 /* Interrupt Bit 7 */
2410#define nIB7 0x0
2411#define IB8 0x100 /* Interrupt Bit 8 */
2412#define nIB8 0x0
2413#define IB9 0x200 /* Interrupt Bit 9 */
2414#define nIB9 0x0
2415#define IB10 0x400 /* Interrupt Bit 10 */
2416#define nIB10 0x0
2417#define IB11 0x800 /* Interrupt Bit 11 */
2418#define nIB11 0x0
2419#define IB12 0x1000 /* Interrupt Bit 12 */
2420#define nIB12 0x0
2421#define IB13 0x2000 /* Interrupt Bit 13 */
2422#define nIB13 0x0
2423#define IB14 0x4000 /* Interrupt Bit 14 */
2424#define nIB14 0x0
2425#define IB15 0x8000 /* Interrupt Bit 15 */
2426#define nIB15 0x0
2427
2428/* Bit masks for TIMERx_CONFIG */
2429
2430#define TMODE 0x3 /* Timer Mode */
2431#define PULSE_HI 0x4 /* Pulse Polarity */
2432#define nPULSE_HI 0x0
2433#define PERIOD_CNT 0x8 /* Period Count */
2434#define nPERIOD_CNT 0x0
2435#define IRQ_ENA 0x10 /* Interrupt Request Enable */
2436#define nIRQ_ENA 0x0
2437#define TIN_SEL 0x20 /* Timer Input Select */
2438#define nTIN_SEL 0x0
2439#define OUT_DIS 0x40 /* Output Pad Disable */
2440#define nOUT_DIS 0x0
2441#define CLK_SEL 0x80 /* Timer Clock Select */
2442#define nCLK_SEL 0x0
2443#define TOGGLE_HI 0x100 /* Toggle Mode */
2444#define nTOGGLE_HI 0x0
2445#define EMU_RUN 0x200 /* Emulation Behavior Select */
2446#define nEMU_RUN 0x0
2447#define ERR_TYP 0xc000 /* Error Type */
2448
2449/* Bit masks for TIMER_ENABLE0 */
2450
2451#define TIMEN0 0x1 /* Timer 0 Enable */
2452#define nTIMEN0 0x0
2453#define TIMEN1 0x2 /* Timer 1 Enable */
2454#define nTIMEN1 0x0
2455#define TIMEN2 0x4 /* Timer 2 Enable */
2456#define nTIMEN2 0x0
2457#define TIMEN3 0x8 /* Timer 3 Enable */
2458#define nTIMEN3 0x0
2459#define TIMEN4 0x10 /* Timer 4 Enable */
2460#define nTIMEN4 0x0
2461#define TIMEN5 0x20 /* Timer 5 Enable */
2462#define nTIMEN5 0x0
2463#define TIMEN6 0x40 /* Timer 6 Enable */
2464#define nTIMEN6 0x0
2465#define TIMEN7 0x80 /* Timer 7 Enable */
2466#define nTIMEN7 0x0
2467
2468/* Bit masks for TIMER_DISABLE0 */
2469
2470#define TIMDIS0 0x1 /* Timer 0 Disable */
2471#define nTIMDIS0 0x0
2472#define TIMDIS1 0x2 /* Timer 1 Disable */
2473#define nTIMDIS1 0x0
2474#define TIMDIS2 0x4 /* Timer 2 Disable */
2475#define nTIMDIS2 0x0
2476#define TIMDIS3 0x8 /* Timer 3 Disable */
2477#define nTIMDIS3 0x0
2478#define TIMDIS4 0x10 /* Timer 4 Disable */
2479#define nTIMDIS4 0x0
2480#define TIMDIS5 0x20 /* Timer 5 Disable */
2481#define nTIMDIS5 0x0
2482#define TIMDIS6 0x40 /* Timer 6 Disable */
2483#define nTIMDIS6 0x0
2484#define TIMDIS7 0x80 /* Timer 7 Disable */
2485#define nTIMDIS7 0x0
2486
2487/* Bit masks for TIMER_STATUS0 */
2488
2489#define TIMIL0 0x1 /* Timer 0 Interrupt */
2490#define nTIMIL0 0x0
2491#define TIMIL1 0x2 /* Timer 1 Interrupt */
2492#define nTIMIL1 0x0
2493#define TIMIL2 0x4 /* Timer 2 Interrupt */
2494#define nTIMIL2 0x0
2495#define TIMIL3 0x8 /* Timer 3 Interrupt */
2496#define nTIMIL3 0x0
2497#define TOVF_ERR0 0x10 /* Timer 0 Counter Overflow */
2498#define nTOVF_ERR0 0x0
2499#define TOVF_ERR1 0x20 /* Timer 1 Counter Overflow */
2500#define nTOVF_ERR1 0x0
2501#define TOVF_ERR2 0x40 /* Timer 2 Counter Overflow */
2502#define nTOVF_ERR2 0x0
2503#define TOVF_ERR3 0x80 /* Timer 3 Counter Overflow */
2504#define nTOVF_ERR3 0x0
2505#define TRUN0 0x1000 /* Timer 0 Slave Enable Status */
2506#define nTRUN0 0x0
2507#define TRUN1 0x2000 /* Timer 1 Slave Enable Status */
2508#define nTRUN1 0x0
2509#define TRUN2 0x4000 /* Timer 2 Slave Enable Status */
2510#define nTRUN2 0x0
2511#define TRUN3 0x8000 /* Timer 3 Slave Enable Status */
2512#define nTRUN3 0x0
2513#define TIMIL4 0x10000 /* Timer 4 Interrupt */
2514#define nTIMIL4 0x0
2515#define TIMIL5 0x20000 /* Timer 5 Interrupt */
2516#define nTIMIL5 0x0
2517#define TIMIL6 0x40000 /* Timer 6 Interrupt */
2518#define nTIMIL6 0x0
2519#define TIMIL7 0x80000 /* Timer 7 Interrupt */
2520#define nTIMIL7 0x0
2521#define TOVF_ERR4 0x100000 /* Timer 4 Counter Overflow */
2522#define nTOVF_ERR4 0x0
2523#define TOVF_ERR5 0x200000 /* Timer 5 Counter Overflow */
2524#define nTOVF_ERR5 0x0
2525#define TOVF_ERR6 0x400000 /* Timer 6 Counter Overflow */
2526#define nTOVF_ERR6 0x0
2527#define TOVF_ERR7 0x800000 /* Timer 7 Counter Overflow */
2528#define nTOVF_ERR7 0x0
2529#define TRUN4 0x10000000 /* Timer 4 Slave Enable Status */
2530#define nTRUN4 0x0
2531#define TRUN5 0x20000000 /* Timer 5 Slave Enable Status */
2532#define nTRUN5 0x0
2533#define TRUN6 0x40000000 /* Timer 6 Slave Enable Status */
2534#define nTRUN6 0x0
2535#define TRUN7 0x80000000 /* Timer 7 Slave Enable Status */
2536#define nTRUN7 0x0
2537
2538/* Bit masks for WDOG_CTL */
2539
2540#define WDEV 0x6 /* Watchdog Event */
2541#define WDEN 0xff0 /* Watchdog Enable */
2542#define WDRO 0x8000 /* Watchdog Rolled Over */
2543#define nWDRO 0x0
2544
2545/* Bit masks for CNT_CONFIG */
2546
2547#define CNTE 0x1 /* Counter Enable */
2548#define nCNTE 0x0
2549#define DEBE 0x2 /* Debounce Enable */
2550#define nDEBE 0x0
2551#define CDGINV 0x10 /* CDG Pin Polarity Invert */
2552#define nCDGINV 0x0
2553#define CUDINV 0x20 /* CUD Pin Polarity Invert */
2554#define nCUDINV 0x0
2555#define CZMINV 0x40 /* CZM Pin Polarity Invert */
2556#define nCZMINV 0x0
2557#define CNTMODE 0x700 /* Counter Operating Mode */
2558#define ZMZC 0x800 /* CZM Zeroes Counter Enable */
2559#define nZMZC 0x0
2560#define BNDMODE 0x3000 /* Boundary register Mode */
2561#define INPDIS 0x8000 /* CUG and CDG Input Disable */
2562#define nINPDIS 0x0
2563
2564/* Bit masks for CNT_IMASK */
2565
2566#define ICIE 0x1 /* Illegal Gray/Binary Code Interrupt Enable */
2567#define nICIE 0x0
2568#define UCIE 0x2 /* Up count Interrupt Enable */
2569#define nUCIE 0x0
2570#define DCIE 0x4 /* Down count Interrupt Enable */
2571#define nDCIE 0x0
2572#define MINCIE 0x8 /* Min Count Interrupt Enable */
2573#define nMINCIE 0x0
2574#define MAXCIE 0x10 /* Max Count Interrupt Enable */
2575#define nMAXCIE 0x0
2576#define COV31IE 0x20 /* Bit 31 Overflow Interrupt Enable */
2577#define nCOV31IE 0x0
2578#define COV15IE 0x40 /* Bit 15 Overflow Interrupt Enable */
2579#define nCOV15IE 0x0
2580#define CZEROIE 0x80 /* Count to Zero Interrupt Enable */
2581#define nCZEROIE 0x0
2582#define CZMIE 0x100 /* CZM Pin Interrupt Enable */
2583#define nCZMIE 0x0
2584#define CZMEIE 0x200 /* CZM Error Interrupt Enable */
2585#define nCZMEIE 0x0
2586#define CZMZIE 0x400 /* CZM Zeroes Counter Interrupt Enable */
2587#define nCZMZIE 0x0
2588
2589/* Bit masks for CNT_STATUS */
2590
2591#define ICII 0x1 /* Illegal Gray/Binary Code Interrupt Identifier */
2592#define nICII 0x0
2593#define UCII 0x2 /* Up count Interrupt Identifier */
2594#define nUCII 0x0
2595#define DCII 0x4 /* Down count Interrupt Identifier */
2596#define nDCII 0x0
2597#define MINCII 0x8 /* Min Count Interrupt Identifier */
2598#define nMINCII 0x0
2599#define MAXCII 0x10 /* Max Count Interrupt Identifier */
2600#define nMAXCII 0x0
2601#define COV31II 0x20 /* Bit 31 Overflow Interrupt Identifier */
2602#define nCOV31II 0x0
2603#define COV15II 0x40 /* Bit 15 Overflow Interrupt Identifier */
2604#define nCOV15II 0x0
2605#define CZEROII 0x80 /* Count to Zero Interrupt Identifier */
2606#define nCZEROII 0x0
2607#define CZMII 0x100 /* CZM Pin Interrupt Identifier */
2608#define nCZMII 0x0
2609#define CZMEII 0x200 /* CZM Error Interrupt Identifier */
2610#define nCZMEII 0x0
2611#define CZMZII 0x400 /* CZM Zeroes Counter Interrupt Identifier */
2612#define nCZMZII 0x0
2613
2614/* Bit masks for CNT_COMMAND */
2615
2616#define W1LCNT 0xf /* Load Counter Register */
2617#define W1LMIN 0xf0 /* Load Min Register */
2618#define W1LMAX 0xf00 /* Load Max Register */
2619#define W1ZMONCE 0x1000 /* Enable CZM Clear Counter Once */
2620#define nW1ZMONCE 0x0
2621
2622/* Bit masks for CNT_DEBOUNCE */
2623
2624#define DPRESCALE 0xf /* Load Counter Register */
2625
2626/* Bit masks for RTC_STAT */
2627
2628#define SECONDS 0x3f /* Seconds */
2629#define MINUTES 0xfc0 /* Minutes */
2630#define HOURS 0x1f000 /* Hours */
2631#define DAY_COUNTER 0xfffe0000 /* Day Counter */
2632
2633/* Bit masks for RTC_ICTL */
2634
2635#define STOPWATCH_INTERRUPT_ENABLE 0x1 /* Stopwatch Interrupt Enable */
2636#define nSTOPWATCH_INTERRUPT_ENABLE 0x0
2637#define ALARM_INTERRUPT_ENABLE 0x2 /* Alarm Interrupt Enable */
2638#define nALARM_INTERRUPT_ENABLE 0x0
2639#define SECONDS_INTERRUPT_ENABLE 0x4 /* Seconds Interrupt Enable */
2640#define nSECONDS_INTERRUPT_ENABLE 0x0
2641#define MINUTES_INTERRUPT_ENABLE 0x8 /* Minutes Interrupt Enable */
2642#define nMINUTES_INTERRUPT_ENABLE 0x0
2643#define HOURS_INTERRUPT_ENABLE 0x10 /* Hours Interrupt Enable */
2644#define nHOURS_INTERRUPT_ENABLE 0x0
2645#define TWENTY_FOUR_HOURS_INTERRUPT_ENABLE 0x20 /* 24 Hours Interrupt Enable */
2646#define nTWENTY_FOUR_HOURS_INTERRUPT_ENABLE 0x0
2647#define DAY_ALARM_INTERRUPT_ENABLE 0x40 /* Day Alarm Interrupt Enable */
2648#define nDAY_ALARM_INTERRUPT_ENABLE 0x0
2649#define WRITE_COMPLETE_INTERRUPT_ENABLE 0x8000 /* Write Complete Interrupt Enable */
2650#define nWRITE_COMPLETE_INTERRUPT_ENABLE 0x0
2651
2652/* Bit masks for RTC_ISTAT */
2653
2654#define STOPWATCH_EVENT_FLAG 0x1 /* Stopwatch Event Flag */
2655#define nSTOPWATCH_EVENT_FLAG 0x0
2656#define ALARM_EVENT_FLAG 0x2 /* Alarm Event Flag */
2657#define nALARM_EVENT_FLAG 0x0
2658#define SECONDS_EVENT_FLAG 0x4 /* Seconds Event Flag */
2659#define nSECONDS_EVENT_FLAG 0x0
2660#define MINUTES_EVENT_FLAG 0x8 /* Minutes Event Flag */
2661#define nMINUTES_EVENT_FLAG 0x0
2662#define HOURS_EVENT_FLAG 0x10 /* Hours Event Flag */
2663#define nHOURS_EVENT_FLAG 0x0
2664#define TWENTY_FOUR_HOURS_EVENT_FLAG 0x20 /* 24 Hours Event Flag */
2665#define nTWENTY_FOUR_HOURS_EVENT_FLAG 0x0
2666#define DAY_ALARM_EVENT_FLAG 0x40 /* Day Alarm Event Flag */
2667#define nDAY_ALARM_EVENT_FLAG 0x0
2668#define WRITE_PENDING_STATUS 0x4000 /* Write Pending Status */
2669#define nWRITE_PENDING_STATUS 0x0
2670#define WRITE_COMPLETE 0x8000 /* Write Complete */
2671#define nWRITE_COMPLETE 0x0
2672
2673/* Bit masks for RTC_SWCNT */
2674
2675#define STOPWATCH_COUNT 0xffff /* Stopwatch Count */
2676
2677/* Bit masks for RTC_ALARM */
2678
2679#define SECONDS 0x3f /* Seconds */
2680#define MINUTES 0xfc0 /* Minutes */
2681#define HOURS 0x1f000 /* Hours */
2682#define DAY 0xfffe0000 /* Day */
2683
2684/* Bit masks for RTC_PREN */
2685
2686#define PREN 0x1 /* Prescaler Enable */
2687#define nPREN 0x0
2688
84132c9d
JJ
2689/* Bit masks for SECURE_SYSSWT */
2690
2691#define EMUDABL 0x1 /* Emulation Disable. */
2692#define nEMUDABL 0x0
2693#define RSTDABL 0x2 /* Reset Disable */
2694#define nRSTDABL 0x0
2695#define L1IDABL 0x1c /* L1 Instruction Memory Disable. */
2696#define L1DADABL 0xe0 /* L1 Data Bank A Memory Disable. */
2697#define L1DBDABL 0x700 /* L1 Data Bank B Memory Disable. */
2698#define DMA0OVR 0x800 /* DMA0 Memory Access Override */
2699#define nDMA0OVR 0x0
2700#define DMA1OVR 0x1000 /* DMA1 Memory Access Override */
2701#define nDMA1OVR 0x0
2702#define EMUOVR 0x4000 /* Emulation Override */
2703#define nEMUOVR 0x0
2704#define OTPSEN 0x8000 /* OTP Secrets Enable. */
2705#define nOTPSEN 0x0
2706#define L2DABL 0x70000 /* L2 Memory Disable. */
2707
2708/* Bit masks for SECURE_CONTROL */
2709
2710#define SECURE0 0x1 /* SECURE 0 */
2711#define nSECURE0 0x0
2712#define SECURE1 0x2 /* SECURE 1 */
2713#define nSECURE1 0x0
2714#define SECURE2 0x4 /* SECURE 2 */
2715#define nSECURE2 0x0
2716#define SECURE3 0x8 /* SECURE 3 */
2717#define nSECURE3 0x0
2718
2719/* Bit masks for SECURE_STATUS */
2720
2721#define SECMODE 0x3 /* Secured Mode Control State */
2722#define NMI 0x4 /* Non Maskable Interrupt */
2723#define nNMI 0x0
2724#define AFVALID 0x8 /* Authentication Firmware Valid */
2725#define nAFVALID 0x0
2726#define AFEXIT 0x10 /* Authentication Firmware Exit */
2727#define nAFEXIT 0x0
2728#define SECSTAT 0xe0 /* Secure Status */
2729
2730/* Bit masks for PLL_DIV */
2731
2732#define CSEL 0x30 /* Core Select */
2733#define SSEL 0xf /* System Select */
2734
2735/* PLL_DIV Masks (CSEL) */
2736#define CSEL_DIV1 0x0000 /* CCLK = VCO / 1 */
2737#define CSEL_DIV2 0x0010 /* CCLK = VCO / 2 */
2738#define CSEL_DIV4 0x0020 /* CCLK = VCO / 4 */
2739#define CSEL_DIV8 0x0030 /* CCLK = VCO / 8 */
2740
2741/* PLL_DIV Macros */
4834826e
JJ
2742#ifdef _MISRA_RULES
2743#define SET_SSEL(x) ((x)&0xFu) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */
2744#else
84132c9d 2745#define SET_SSEL(x) ((x)&0xF) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */
4834826e 2746#endif /* _MISRA_RULES */
84132c9d
JJ
2747
2748/* Bit masks for PLL_CTL */
2749
2750#define MSEL 0x7e00 /* Multiplier Select */
2751#define BYPASS 0x100 /* PLL Bypass Enable */
2752#define nBYPASS 0x0
2753#define OUTPUT_DELAY 0x80 /* External Memory Output Delay Enable */
2754#define nOUTPUT_DELAY 0x0
2755#define INPUT_DELAY 0x40 /* External Memory Input Delay Enable */
2756#define nINPUT_DELAY 0x0
2757#define PDWN 0x20 /* Power Down */
2758#define nPDWN 0x0
2759#define STOPCK 0x8 /* Stop Clock */
2760#define nSTOPCK 0x0
2761#define PLL_OFF 0x2 /* Disable PLL */
2762#define nPLL_OFF 0x0
2763#define DF 0x1 /* Divide Frequency */
2764#define nDF 0x0
2765
2766/* PLL_CTL Macros (Only Use With Logic OR While Setting Lower Order Bits) */
4834826e
JJ
2767#ifdef _MISRA_RULES
2768#define SET_MSEL(x) (((x)&0x3Fu) << 9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */
2769#else
84132c9d 2770#define SET_MSEL(x) (((x)&0x3F) << 9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */
4834826e 2771#endif /* _MISRA_RULES */
84132c9d
JJ
2772
2773/* Bit masks for PLL_STAT */
2774
2775#define PLL_LOCKED 0x20 /* PLL Locked Status */
2776#define nPLL_LOCKED 0x0
2777#define ACTIVE_PLLDISABLED 0x4 /* Active Mode With PLL Disabled */
2778#define nACTIVE_PLLDISABLED 0x0
2779#define FULL_ON 0x2 /* Full-On Mode */
2780#define nFULL_ON 0x0
2781#define ACTIVE_PLLENABLED 0x1 /* Active Mode With PLL Enabled */
2782#define nACTIVE_PLLENABLED 0x0
2783#define RTCWS 0x400 /* RTC/Reset Wake-Up Status */
2784#define nRTCWS 0x0
2785#define CANWS 0x800 /* CAN Wake-Up Status */
2786#define nCANWS 0x0
2787#define USBWS 0x2000 /* USB Wake-Up Status */
2788#define nUSBWS 0x0
2789#define KPADWS 0x4000 /* Keypad Wake-Up Status */
2790#define nKPADWS 0x0
2791#define ROTWS 0x8000 /* Rotary Wake-Up Status */
2792#define nROTWS 0x0
2793#define GPWS 0x1000 /* General-Purpose Wake-Up Status */
2794#define nGPWS 0x0
2795
2796/* Bit masks for VR_CTL */
2797
2798#define FREQ 0x3 /* Regulator Switching Frequency */
2799#define GAIN 0xc /* Voltage Output Level Gain */
2800#define VLEV 0xf0 /* Internal Voltage Level */
2801#define SCKELOW 0x8000 /* Drive SCKE Low During Reset Enable */
2802#define nSCKELOW 0x0
2803#define WAKE 0x100 /* RTC/Reset Wake-Up Enable */
2804#define nWAKE 0x0
2805#define CANWE 0x200 /* CAN0/1 Wake-Up Enable */
2806#define nCANWE 0x0
2807#define GPWE 0x400 /* General-Purpose Wake-Up Enable */
2808#define nGPWE 0x0
2809#define USBWE 0x800 /* USB Wake-Up Enable */
2810#define nUSBWE 0x0
2811#define KPADWE 0x1000 /* Keypad Wake-Up Enable */
2812#define nKPADWE 0x0
2813#define ROTWE 0x2000 /* Rotary Wake-Up Enable */
2814#define nROTWE 0x0
2815#define CLKBUFOE 0x4000 /* CLKIN Buffer Output Enable */
2816#define nCLKBUFOE 0x0
2817
2818/* VR_CTL Masks (FREQ) */
2819#define HIBERNATE 0x0000 /* Powerdown/Bypass On-Board Regulation */
2820#define FREQ_333 0x0001 /* Switching Frequency Is 333 kHz */
2821#define FREQ_667 0x0002 /* Switching Frequency Is 667 kHz */
2822#define FREQ_1000 0x0003 /* Switching Frequency Is 1 MHz */
2823
2824/* VR_CTL Masks (GAIN) */
2825
2826#define GAIN_5 0x0000 /* GAIN = 5 */
2827#define GAIN_10 0x0004 /* GAIN = 10 */
2828#define GAIN_20 0x0008 /* GAIN = 20 */
2829#define GAIN_50 0x000C /* GAIN = 50 */
2830
2831/* VR_CTL Masks (VLEV) */
2832
2833#define VLEV_085 0x0060 /* VLEV = 0.85 V (-5% - +10% Accuracy) */
2834#define VLEV_090 0x0070 /* VLEV = 0.90 V (-5% - +10% Accuracy) */
2835#define VLEV_095 0x0080 /* VLEV = 0.95 V (-5% - +10% Accuracy) */
2836#define VLEV_100 0x0090 /* VLEV = 1.00 V (-5% - +10% Accuracy) */
2837#define VLEV_105 0x00A0 /* VLEV = 1.05 V (-5% - +10% Accuracy) */
2838#define VLEV_110 0x00B0 /* VLEV = 1.10 V (-5% - +10% Accuracy) */
2839#define VLEV_115 0x00C0 /* VLEV = 1.15 V (-5% - +10% Accuracy) */
2840#define VLEV_120 0x00D0 /* VLEV = 1.20 V (-5% - +10% Accuracy) */
2841#define VLEV_125 0x00E0 /* VLEV = 1.25 V (-5% - +10% Accuracy) */
2842#define VLEV_130 0x00F0 /* VLEV = 1.30 V (-5% - +10% Accuracy) */
2843
2844/* Bit masks for NFC_CTL */
2845
2846#define WR_DLY 0xf /* Write Strobe Delay */
2847#define RD_DLY 0xf0 /* Read Strobe Delay */
2848#define NWIDTH 0x100 /* NAND Data Width */
2849#define nNWIDTH 0x0
2850#define PG_SIZE 0x200 /* Page Size */
2851#define nPG_SIZE 0x0
2852
2853/* Bit masks for NFC_STAT */
2854
2855#define NBUSY 0x1 /* Not Busy */
2856#define nNBUSY 0x0
2857#define WB_FULL 0x2 /* Write Buffer Full */
2858#define nWB_FULL 0x0
2859#define PG_WR_STAT 0x4 /* Page Write Pending */
2860#define nPG_WR_STAT 0x0
2861#define PG_RD_STAT 0x8 /* Page Read Pending */
2862#define nPG_RD_STAT 0x0
2863#define WB_EMPTY 0x10 /* Write Buffer Empty */
2864#define nWB_EMPTY 0x0
2865
2866/* Bit masks for NFC_IRQSTAT */
2867
2868#define NBUSYIRQ 0x1 /* Not Busy IRQ */
2869#define nNBUSYIRQ 0x0
2870#define WB_OVF 0x2 /* Write Buffer Overflow */
2871#define nWB_OVF 0x0
2872#define WB_EDGE 0x4 /* Write Buffer Edge Detect */
2873#define nWB_EDGE 0x0
2874#define RD_RDY 0x8 /* Read Data Ready */
2875#define nRD_RDY 0x0
2876#define WR_DONE 0x10 /* Page Write Done */
2877#define nWR_DONE 0x0
2878
2879/* Bit masks for NFC_IRQMASK */
2880
2881#define MASK_BUSYIRQ 0x1 /* Mask Not Busy IRQ */
2882#define nMASK_BUSYIRQ 0x0
2883#define MASK_WBOVF 0x2 /* Mask Write Buffer Overflow */
2884#define nMASK_WBOVF 0x0
2885#define MASK_WBEDGE 0x4 /* Mask Write Buffer Edge Detect */
2886#define nMASK_WBEDGE 0x0
2887#define MASK_RDRDY 0x8 /* Mask Read Data Ready */
2888#define nMASK_RDRDY 0x0
2889#define MASK_WRDONE 0x10 /* Mask Write Done */
2890#define nMASK_WRDONE 0x0
2891
2892/* Bit masks for NFC_RST */
2893
2894#define ECC_RST 0x1 /* ECC (and NFC counters) Reset */
2895#define nECC_RST 0x0
2896
2897/* Bit masks for NFC_PGCTL */
2898
2899#define PG_RD_START 0x1 /* Page Read Start */
2900#define nPG_RD_START 0x0
2901#define PG_WR_START 0x2 /* Page Write Start */
2902#define nPG_WR_START 0x0
2903
2904/* Bit masks for NFC_ECC0 */
2905
2906#define ECC0 0x7ff /* Parity Calculation Result0 */
2907
2908/* Bit masks for NFC_ECC1 */
2909
2910#define ECC1 0x7ff /* Parity Calculation Result1 */
2911
2912/* Bit masks for NFC_ECC2 */
2913
2914#define ECC2 0x7ff /* Parity Calculation Result2 */
2915
2916/* Bit masks for NFC_ECC3 */
2917
2918#define ECC3 0x7ff /* Parity Calculation Result3 */
2919
2920/* Bit masks for NFC_COUNT */
2921
2922#define ECCCNT 0x3ff /* Transfer Count */
2923
2924/* Bit masks for CAN0_CONTROL */
2925
2926#define SRS 0x1 /* Software Reset */
2927#define nSRS 0x0
2928#define DNM 0x2 /* DeviceNet Mode */
2929#define nDNM 0x0
2930#define ABO 0x4 /* Auto Bus On */
2931#define nABO 0x0
2932#define WBA 0x10 /* Wakeup On CAN Bus Activity */
2933#define nWBA 0x0
2934#define SMR 0x20 /* Sleep Mode Request */
2935#define nSMR 0x0
2936#define CSR 0x40 /* CAN Suspend Mode Request */
2937#define nCSR 0x0
2938#define CCR 0x80 /* CAN Configuration Mode Request */
2939#define nCCR 0x0
2940
2941/* Bit masks for CAN0_STATUS */
2942
2943#define WT 0x1 /* CAN Transmit Warning Flag */
2944#define nWT 0x0
2945#define WR 0x2 /* CAN Receive Warning Flag */
2946#define nWR 0x0
2947#define EP 0x4 /* CAN Error Passive Mode */
2948#define nEP 0x0
2949#define EBO 0x8 /* CAN Error Bus Off Mode */
2950#define nEBO 0x0
2951#define CSA 0x40 /* CAN Suspend Mode Acknowledge */
2952#define nCSA 0x0
2953#define CCA 0x80 /* CAN Configuration Mode Acknowledge */
2954#define nCCA 0x0
2955#define MBPTR 0x1f00 /* Mailbox Pointer */
2956#define TRM 0x4000 /* Transmit Mode Status */
2957#define nTRM 0x0
2958#define REC 0x8000 /* Receive Mode Status */
2959#define nREC 0x0
2960
2961/* Bit masks for CAN0_DEBUG */
2962
2963#define DEC 0x1 /* Disable Transmit/Receive Error Counters */
2964#define nDEC 0x0
2965#define DRI 0x2 /* Disable CANRX Input Pin */
2966#define nDRI 0x0
2967#define DTO 0x4 /* Disable CANTX Output Pin */
2968#define nDTO 0x0
2969#define DIL 0x8 /* Disable Internal Loop */
2970#define nDIL 0x0
2971#define MAA 0x10 /* Mode Auto-Acknowledge */
2972#define nMAA 0x0
2973#define MRB 0x20 /* Mode Read Back */
2974#define nMRB 0x0
2975#define CDE 0x8000 /* CAN Debug Mode Enable */
2976#define nCDE 0x0
2977
2978/* Bit masks for CAN0_CLOCK */
2979
2980#define BRP 0x3ff /* CAN Bit Rate Prescaler */
2981
2982/* Bit masks for CAN0_TIMING */
2983
2984#define SJW 0x300 /* Synchronization Jump Width */
2985#define SAM 0x80 /* Sampling */
2986#define nSAM 0x0
2987#define TSEG2 0x70 /* Time Segment 2 */
2988#define TSEG1 0xf /* Time Segment 1 */
2989
2990/* Bit masks for CAN0_INTR */
2991
2992#define CANRX 0x80 /* Serial Input From Transceiver */
2993#define nCANRX 0x0
2994#define CANTX 0x40 /* Serial Output To Transceiver */
2995#define nCANTX 0x0
2996#define SMACK 0x8 /* Sleep Mode Acknowledge */
2997#define nSMACK 0x0
2998#define GIRQ 0x4 /* Global Interrupt Request Status */
2999#define nGIRQ 0x0
3000#define MBTIRQ 0x2 /* Mailbox Transmit Interrupt Request */
3001#define nMBTIRQ 0x0
3002#define MBRIRQ 0x1 /* Mailbox Receive Interrupt Request */
3003#define nMBRIRQ 0x0
3004
3005/* Bit masks for CAN0_GIM */
3006
3007#define EWTIM 0x1 /* Error Warning Transmit Interrupt Mask */
3008#define nEWTIM 0x0
3009#define EWRIM 0x2 /* Error Warning Receive Interrupt Mask */
3010#define nEWRIM 0x0
3011#define EPIM 0x4 /* Error Passive Interrupt Mask */
3012#define nEPIM 0x0
3013#define BOIM 0x8 /* Bus Off Interrupt Mask */
3014#define nBOIM 0x0
3015#define WUIM 0x10 /* Wakeup Interrupt Mask */
3016#define nWUIM 0x0
3017#define UIAIM 0x20 /* Unimplemented Address Interrupt Mask */
3018#define nUIAIM 0x0
3019#define AAIM 0x40 /* Abort Acknowledge Interrupt Mask */
3020#define nAAIM 0x0
3021#define RMLIM 0x80 /* Receive Message Lost Interrupt Mask */
3022#define nRMLIM 0x0
3023#define UCEIM 0x100 /* Universal Counter Exceeded Interrupt Mask */
3024#define nUCEIM 0x0
3025#define ADIM 0x400 /* Access Denied Interrupt Mask */
3026#define nADIM 0x0
3027
3028/* Bit masks for CAN0_GIS */
3029
3030#define EWTIS 0x1 /* Error Warning Transmit Interrupt Status */
3031#define nEWTIS 0x0
3032#define EWRIS 0x2 /* Error Warning Receive Interrupt Status */
3033#define nEWRIS 0x0
3034#define EPIS 0x4 /* Error Passive Interrupt Status */
3035#define nEPIS 0x0
3036#define BOIS 0x8 /* Bus Off Interrupt Status */
3037#define nBOIS 0x0
3038#define WUIS 0x10 /* Wakeup Interrupt Status */
3039#define nWUIS 0x0
3040#define UIAIS 0x20 /* Unimplemented Address Interrupt Status */
3041#define nUIAIS 0x0
3042#define AAIS 0x40 /* Abort Acknowledge Interrupt Status */
3043#define nAAIS 0x0
3044#define RMLIS 0x80 /* Receive Message Lost Interrupt Status */
3045#define nRMLIS 0x0
3046#define UCEIS 0x100 /* Universal Counter Exceeded Interrupt Status */
3047#define nUCEIS 0x0
3048#define ADIS 0x400 /* Access Denied Interrupt Status */
3049#define nADIS 0x0
3050
3051/* Bit masks for CAN0_GIF */
3052
3053#define EWTIF 0x1 /* Error Warning Transmit Interrupt Flag */
3054#define nEWTIF 0x0
3055#define EWRIF 0x2 /* Error Warning Receive Interrupt Flag */
3056#define nEWRIF 0x0
3057#define EPIF 0x4 /* Error Passive Interrupt Flag */
3058#define nEPIF 0x0
3059#define BOIF 0x8 /* Bus Off Interrupt Flag */
3060#define nBOIF 0x0
3061#define WUIF 0x10 /* Wakeup Interrupt Flag */
3062#define nWUIF 0x0
3063#define UIAIF 0x20 /* Unimplemented Address Interrupt Flag */
3064#define nUIAIF 0x0
3065#define AAIF 0x40 /* Abort Acknowledge Interrupt Flag */
3066#define nAAIF 0x0
3067#define RMLIF 0x80 /* Receive Message Lost Interrupt Flag */
3068#define nRMLIF 0x0
3069#define UCEIF 0x100 /* Universal Counter Exceeded Interrupt Flag */
3070#define nUCEIF 0x0
3071#define ADIF 0x400 /* Access Denied Interrupt Flag */
3072#define nADIF 0x0
3073
3074/* Bit masks for CAN0_MBTD */
3075
3076#define TDR 0x80 /* Temporary Disable Request */
3077#define nTDR 0x0
3078#define TDA 0x40 /* Temporary Disable Acknowledge */
3079#define nTDA 0x0
3080#define TDPTR 0x1f /* Temporary Disable Pointer */
3081
3082/* Bit masks for CAN0_UCCNF */
3083
3084#define UCCNF 0xf /* Universal Counter Configuration */
3085#define UCRC 0x20 /* Universal Counter Reload/Clear */
3086#define nUCRC 0x0
3087#define UCCT 0x40 /* Universal Counter CAN Trigger */
3088#define nUCCT 0x0
3089#define UCE 0x80 /* Universal Counter Enable */
3090#define nUCE 0x0
3091
3092/* Bit masks for CAN0_UCCNT */
3093
3094#define UCCNT 0xffff /* Universal Counter Count Value */
3095
3096/* Bit masks for CAN0_UCRC */
3097
3098#define UCVAL 0xffff /* Universal Counter Reload/Capture Value */
3099
3100/* Bit masks for CAN0_CEC */
3101
3102#define RXECNT 0xff /* Receive Error Counter */
3103#define TXECNT 0xff00 /* Transmit Error Counter */
3104
3105/* Bit masks for CAN0_ESR */
3106
3107#define FER 0x80 /* Form Error */
3108#define nFER 0x0
3109#define BEF 0x40 /* Bit Error Flag */
3110#define nBEF 0x0
3111#define SA0 0x20 /* Stuck At Dominant */
3112#define nSA0 0x0
3113#define CRCE 0x10 /* CRC Error */
3114#define nCRCE 0x0
3115#define SER 0x8 /* Stuff Bit Error */
3116#define nSER 0x0
3117#define ACKE 0x4 /* Acknowledge Error */
3118#define nACKE 0x0
3119
3120/* Bit masks for CAN0_EWR */
3121
3122#define EWLTEC 0xff00 /* Transmit Error Warning Limit */
3123#define EWLREC 0xff /* Receive Error Warning Limit */
3124
3125/* Bit masks for CAN0_AMxx_H */
3126
3127#define FDF 0x8000 /* Filter On Data Field */
3128#define nFDF 0x0
3129#define FMD 0x4000 /* Full Mask Data */
3130#define nFMD 0x0
3131#define AMIDE 0x2000 /* Acceptance Mask Identifier Extension */
3132#define nAMIDE 0x0
3133#define BASEID 0x1ffc /* Base Identifier */
3134#define EXTID_HI 0x3 /* Extended Identifier High Bits */
3135
3136/* Bit masks for CAN0_AMxx_L */
3137
3138#define EXTID_LO 0xffff /* Extended Identifier Low Bits */
3139#define DFM 0xffff /* Data Field Mask */
3140
3141/* Bit masks for CAN0_MBxx_ID1 */
3142
3143#define AME 0x8000 /* Acceptance Mask Enable */
3144#define nAME 0x0
3145#define RTR 0x4000 /* Remote Transmission Request */
3146#define nRTR 0x0
3147#define IDE 0x2000 /* Identifier Extension */
3148#define nIDE 0x0
3149#define BASEID 0x1ffc /* Base Identifier */
3150#define EXTID_HI 0x3 /* Extended Identifier High Bits */
3151
3152/* Bit masks for CAN0_MBxx_ID0 */
3153
3154#define EXTID_LO 0xffff /* Extended Identifier Low Bits */
3155#define DFM 0xffff /* Data Field Mask */
3156
3157/* Bit masks for CAN0_MBxx_TIMESTAMP */
3158
3159#define TSV 0xffff /* Time Stamp Value */
3160
3161/* Bit masks for CAN0_MBxx_LENGTH */
3162
3163#define DLC 0xf /* Data Length Code */
3164
3165/* Bit masks for CAN0_MBxx_DATA3 */
3166
3167#define CAN_BYTE0 0xff00 /* Data Field Byte 0 */
3168#define CAN_BYTE1 0xff /* Data Field Byte 1 */
3169
3170/* Bit masks for CAN0_MBxx_DATA2 */
3171
3172#define CAN_BYTE2 0xff00 /* Data Field Byte 2 */
3173#define CAN_BYTE3 0xff /* Data Field Byte 3 */
3174
3175/* Bit masks for CAN0_MBxx_DATA1 */
3176
3177#define CAN_BYTE4 0xff00 /* Data Field Byte 4 */
3178#define CAN_BYTE5 0xff /* Data Field Byte 5 */
3179
3180/* Bit masks for CAN0_MBxx_DATA0 */
3181
3182#define CAN_BYTE6 0xff00 /* Data Field Byte 6 */
3183#define CAN_BYTE7 0xff /* Data Field Byte 7 */
3184
3185/* Bit masks for CAN0_MC1 */
3186
3187#define MC0 0x1 /* Mailbox 0 Enable */
3188#define nMC0 0x0
3189#define MC1 0x2 /* Mailbox 1 Enable */
3190#define nMC1 0x0
3191#define MC2 0x4 /* Mailbox 2 Enable */
3192#define nMC2 0x0
3193#define MC3 0x8 /* Mailbox 3 Enable */
3194#define nMC3 0x0
3195#define MC4 0x10 /* Mailbox 4 Enable */
3196#define nMC4 0x0
3197#define MC5 0x20 /* Mailbox 5 Enable */
3198#define nMC5 0x0
3199#define MC6 0x40 /* Mailbox 6 Enable */
3200#define nMC6 0x0
3201#define MC7 0x80 /* Mailbox 7 Enable */
3202#define nMC7 0x0
3203#define MC8 0x100 /* Mailbox 8 Enable */
3204#define nMC8 0x0
3205#define MC9 0x200 /* Mailbox 9 Enable */
3206#define nMC9 0x0
3207#define MC10 0x400 /* Mailbox 10 Enable */
3208#define nMC10 0x0
3209#define MC11 0x800 /* Mailbox 11 Enable */
3210#define nMC11 0x0
3211#define MC12 0x1000 /* Mailbox 12 Enable */
3212#define nMC12 0x0
3213#define MC13 0x2000 /* Mailbox 13 Enable */
3214#define nMC13 0x0
3215#define MC14 0x4000 /* Mailbox 14 Enable */
3216#define nMC14 0x0
3217#define MC15 0x8000 /* Mailbox 15 Enable */
3218#define nMC15 0x0
3219
3220/* Bit masks for CAN0_MC2 */
3221
3222#define MC16 0x1 /* Mailbox 16 Enable */
3223#define nMC16 0x0
3224#define MC17 0x2 /* Mailbox 17 Enable */
3225#define nMC17 0x0
3226#define MC18 0x4 /* Mailbox 18 Enable */
3227#define nMC18 0x0
3228#define MC19 0x8 /* Mailbox 19 Enable */
3229#define nMC19 0x0
3230#define MC20 0x10 /* Mailbox 20 Enable */
3231#define nMC20 0x0
3232#define MC21 0x20 /* Mailbox 21 Enable */
3233#define nMC21 0x0
3234#define MC22 0x40 /* Mailbox 22 Enable */
3235#define nMC22 0x0
3236#define MC23 0x80 /* Mailbox 23 Enable */
3237#define nMC23 0x0
3238#define MC24 0x100 /* Mailbox 24 Enable */
3239#define nMC24 0x0
3240#define MC25 0x200 /* Mailbox 25 Enable */
3241#define nMC25 0x0
3242#define MC26 0x400 /* Mailbox 26 Enable */
3243#define nMC26 0x0
3244#define MC27 0x800 /* Mailbox 27 Enable */
3245#define nMC27 0x0
3246#define MC28 0x1000 /* Mailbox 28 Enable */
3247#define nMC28 0x0
3248#define MC29 0x2000 /* Mailbox 29 Enable */
3249#define nMC29 0x0
3250#define MC30 0x4000 /* Mailbox 30 Enable */
3251#define nMC30 0x0
3252#define MC31 0x8000 /* Mailbox 31 Enable */
3253#define nMC31 0x0
3254
3255/* Bit masks for CAN0_MD1 */
3256
3257#define MD0 0x1 /* Mailbox 0 Receive Enable */
3258#define nMD0 0x0
3259#define MD1 0x2 /* Mailbox 1 Receive Enable */
3260#define nMD1 0x0
3261#define MD2 0x4 /* Mailbox 2 Receive Enable */
3262#define nMD2 0x0
3263#define MD3 0x8 /* Mailbox 3 Receive Enable */
3264#define nMD3 0x0
3265#define MD4 0x10 /* Mailbox 4 Receive Enable */
3266#define nMD4 0x0
3267#define MD5 0x20 /* Mailbox 5 Receive Enable */
3268#define nMD5 0x0
3269#define MD6 0x40 /* Mailbox 6 Receive Enable */
3270#define nMD6 0x0
3271#define MD7 0x80 /* Mailbox 7 Receive Enable */
3272#define nMD7 0x0
3273#define MD8 0x100 /* Mailbox 8 Receive Enable */
3274#define nMD8 0x0
3275#define MD9 0x200 /* Mailbox 9 Receive Enable */
3276#define nMD9 0x0
3277#define MD10 0x400 /* Mailbox 10 Receive Enable */
3278#define nMD10 0x0
3279#define MD11 0x800 /* Mailbox 11 Receive Enable */
3280#define nMD11 0x0
3281#define MD12 0x1000 /* Mailbox 12 Receive Enable */
3282#define nMD12 0x0
3283#define MD13 0x2000 /* Mailbox 13 Receive Enable */
3284#define nMD13 0x0
3285#define MD14 0x4000 /* Mailbox 14 Receive Enable */
3286#define nMD14 0x0
3287#define MD15 0x8000 /* Mailbox 15 Receive Enable */
3288#define nMD15 0x0
3289
3290/* Bit masks for CAN0_MD2 */
3291
3292#define MD16 0x1 /* Mailbox 16 Receive Enable */
3293#define nMD16 0x0
3294#define MD17 0x2 /* Mailbox 17 Receive Enable */
3295#define nMD17 0x0
3296#define MD18 0x4 /* Mailbox 18 Receive Enable */
3297#define nMD18 0x0
3298#define MD19 0x8 /* Mailbox 19 Receive Enable */
3299#define nMD19 0x0
3300#define MD20 0x10 /* Mailbox 20 Receive Enable */
3301#define nMD20 0x0
3302#define MD21 0x20 /* Mailbox 21 Receive Enable */
3303#define nMD21 0x0
3304#define MD22 0x40 /* Mailbox 22 Receive Enable */
3305#define nMD22 0x0
3306#define MD23 0x80 /* Mailbox 23 Receive Enable */
3307#define nMD23 0x0
3308#define MD24 0x100 /* Mailbox 24 Receive Enable */
3309#define nMD24 0x0
3310#define MD25 0x200 /* Mailbox 25 Receive Enable */
3311#define nMD25 0x0
3312#define MD26 0x400 /* Mailbox 26 Receive Enable */
3313#define nMD26 0x0
3314#define MD27 0x800 /* Mailbox 27 Receive Enable */
3315#define nMD27 0x0
3316#define MD28 0x1000 /* Mailbox 28 Receive Enable */
3317#define nMD28 0x0
3318#define MD29 0x2000 /* Mailbox 29 Receive Enable */
3319#define nMD29 0x0
3320#define MD30 0x4000 /* Mailbox 30 Receive Enable */
3321#define nMD30 0x0
3322#define MD31 0x8000 /* Mailbox 31 Receive Enable */
3323#define nMD31 0x0
3324
3325/* Bit masks for CAN0_RMP1 */
3326
3327#define RMP0 0x1 /* Mailbox 0 Receive Message Pending */
3328#define nRMP0 0x0
3329#define RMP1 0x2 /* Mailbox 1 Receive Message Pending */
3330#define nRMP1 0x0
3331#define RMP2 0x4 /* Mailbox 2 Receive Message Pending */
3332#define nRMP2 0x0
3333#define RMP3 0x8 /* Mailbox 3 Receive Message Pending */
3334#define nRMP3 0x0
3335#define RMP4 0x10 /* Mailbox 4 Receive Message Pending */
3336#define nRMP4 0x0
3337#define RMP5 0x20 /* Mailbox 5 Receive Message Pending */
3338#define nRMP5 0x0
3339#define RMP6 0x40 /* Mailbox 6 Receive Message Pending */
3340#define nRMP6 0x0
3341#define RMP7 0x80 /* Mailbox 7 Receive Message Pending */
3342#define nRMP7 0x0
3343#define RMP8 0x100 /* Mailbox 8 Receive Message Pending */
3344#define nRMP8 0x0
3345#define RMP9 0x200 /* Mailbox 9 Receive Message Pending */
3346#define nRMP9 0x0
3347#define RMP10 0x400 /* Mailbox 10 Receive Message Pending */
3348#define nRMP10 0x0
3349#define RMP11 0x800 /* Mailbox 11 Receive Message Pending */
3350#define nRMP11 0x0
3351#define RMP12 0x1000 /* Mailbox 12 Receive Message Pending */
3352#define nRMP12 0x0
3353#define RMP13 0x2000 /* Mailbox 13 Receive Message Pending */
3354#define nRMP13 0x0
3355#define RMP14 0x4000 /* Mailbox 14 Receive Message Pending */
3356#define nRMP14 0x0
3357#define RMP15 0x8000 /* Mailbox 15 Receive Message Pending */
3358#define nRMP15 0x0
3359
3360/* Bit masks for CAN0_RMP2 */
3361
3362#define RMP16 0x1 /* Mailbox 16 Receive Message Pending */
3363#define nRMP16 0x0
3364#define RMP17 0x2 /* Mailbox 17 Receive Message Pending */
3365#define nRMP17 0x0
3366#define RMP18 0x4 /* Mailbox 18 Receive Message Pending */
3367#define nRMP18 0x0
3368#define RMP19 0x8 /* Mailbox 19 Receive Message Pending */
3369#define nRMP19 0x0
3370#define RMP20 0x10 /* Mailbox 20 Receive Message Pending */
3371#define nRMP20 0x0
3372#define RMP21 0x20 /* Mailbox 21 Receive Message Pending */
3373#define nRMP21 0x0
3374#define RMP22 0x40 /* Mailbox 22 Receive Message Pending */
3375#define nRMP22 0x0
3376#define RMP23 0x80 /* Mailbox 23 Receive Message Pending */
3377#define nRMP23 0x0
3378#define RMP24 0x100 /* Mailbox 24 Receive Message Pending */
3379#define nRMP24 0x0
3380#define RMP25 0x200 /* Mailbox 25 Receive Message Pending */
3381#define nRMP25 0x0
3382#define RMP26 0x400 /* Mailbox 26 Receive Message Pending */
3383#define nRMP26 0x0
3384#define RMP27 0x800 /* Mailbox 27 Receive Message Pending */
3385#define nRMP27 0x0
3386#define RMP28 0x1000 /* Mailbox 28 Receive Message Pending */
3387#define nRMP28 0x0
3388#define RMP29 0x2000 /* Mailbox 29 Receive Message Pending */
3389#define nRMP29 0x0
3390#define RMP30 0x4000 /* Mailbox 30 Receive Message Pending */
3391#define nRMP30 0x0
3392#define RMP31 0x8000 /* Mailbox 31 Receive Message Pending */
3393#define nRMP31 0x0
3394
3395/* Bit masks for CAN0_RML1 */
3396
3397#define RML0 0x1 /* Mailbox 0 Receive Message Lost */
3398#define nRML0 0x0
3399#define RML1 0x2 /* Mailbox 1 Receive Message Lost */
3400#define nRML1 0x0
3401#define RML2 0x4 /* Mailbox 2 Receive Message Lost */
3402#define nRML2 0x0
3403#define RML3 0x8 /* Mailbox 3 Receive Message Lost */
3404#define nRML3 0x0
3405#define RML4 0x10 /* Mailbox 4 Receive Message Lost */
3406#define nRML4 0x0
3407#define RML5 0x20 /* Mailbox 5 Receive Message Lost */
3408#define nRML5 0x0
3409#define RML6 0x40 /* Mailbox 6 Receive Message Lost */
3410#define nRML6 0x0
3411#define RML7 0x80 /* Mailbox 7 Receive Message Lost */
3412#define nRML7 0x0
3413#define RML8 0x100 /* Mailbox 8 Receive Message Lost */
3414#define nRML8 0x0
3415#define RML9 0x200 /* Mailbox 9 Receive Message Lost */
3416#define nRML9 0x0
3417#define RML10 0x400 /* Mailbox 10 Receive Message Lost */
3418#define nRML10 0x0
3419#define RML11 0x800 /* Mailbox 11 Receive Message Lost */
3420#define nRML11 0x0
3421#define RML12 0x1000 /* Mailbox 12 Receive Message Lost */
3422#define nRML12 0x0
3423#define RML13 0x2000 /* Mailbox 13 Receive Message Lost */
3424#define nRML13 0x0
3425#define RML14 0x4000 /* Mailbox 14 Receive Message Lost */
3426#define nRML14 0x0
3427#define RML15 0x8000 /* Mailbox 15 Receive Message Lost */
3428#define nRML15 0x0
3429
3430/* Bit masks for CAN0_RML2 */
3431
3432#define RML16 0x1 /* Mailbox 16 Receive Message Lost */
3433#define nRML16 0x0
3434#define RML17 0x2 /* Mailbox 17 Receive Message Lost */
3435#define nRML17 0x0
3436#define RML18 0x4 /* Mailbox 18 Receive Message Lost */
3437#define nRML18 0x0
3438#define RML19 0x8 /* Mailbox 19 Receive Message Lost */
3439#define nRML19 0x0
3440#define RML20 0x10 /* Mailbox 20 Receive Message Lost */
3441#define nRML20 0x0
3442#define RML21 0x20 /* Mailbox 21 Receive Message Lost */
3443#define nRML21 0x0
3444#define RML22 0x40 /* Mailbox 22 Receive Message Lost */
3445#define nRML22 0x0
3446#define RML23 0x80 /* Mailbox 23 Receive Message Lost */
3447#define nRML23 0x0
3448#define RML24 0x100 /* Mailbox 24 Receive Message Lost */
3449#define nRML24 0x0
3450#define RML25 0x200 /* Mailbox 25 Receive Message Lost */
3451#define nRML25 0x0
3452#define RML26 0x400 /* Mailbox 26 Receive Message Lost */
3453#define nRML26 0x0
3454#define RML27 0x800 /* Mailbox 27 Receive Message Lost */
3455#define nRML27 0x0
3456#define RML28 0x1000 /* Mailbox 28 Receive Message Lost */
3457#define nRML28 0x0
3458#define RML29 0x2000 /* Mailbox 29 Receive Message Lost */
3459#define nRML29 0x0
3460#define RML30 0x4000 /* Mailbox 30 Receive Message Lost */
3461#define nRML30 0x0
3462#define RML31 0x8000 /* Mailbox 31 Receive Message Lost */
3463#define nRML31 0x0
3464
3465/* Bit masks for CAN0_OPSS1 */
3466
3467#define OPSS0 0x1 /* Mailbox 0 Overwrite Protection/Single-Shot Transmission Enable */
3468#define nOPSS0 0x0
3469#define OPSS1 0x2 /* Mailbox 1 Overwrite Protection/Single-Shot Transmission Enable */
3470#define nOPSS1 0x0
3471#define OPSS2 0x4 /* Mailbox 2 Overwrite Protection/Single-Shot Transmission Enable */
3472#define nOPSS2 0x0
3473#define OPSS3 0x8 /* Mailbox 3 Overwrite Protection/Single-Shot Transmission Enable */
3474#define nOPSS3 0x0
3475#define OPSS4 0x10 /* Mailbox 4 Overwrite Protection/Single-Shot Transmission Enable */
3476#define nOPSS4 0x0
3477#define OPSS5 0x20 /* Mailbox 5 Overwrite Protection/Single-Shot Transmission Enable */
3478#define nOPSS5 0x0
3479#define OPSS6 0x40 /* Mailbox 6 Overwrite Protection/Single-Shot Transmission Enable */
3480#define nOPSS6 0x0
3481#define OPSS7 0x80 /* Mailbox 7 Overwrite Protection/Single-Shot Transmission Enable */
3482#define nOPSS7 0x0
3483#define OPSS8 0x100 /* Mailbox 8 Overwrite Protection/Single-Shot Transmission Enable */
3484#define nOPSS8 0x0
3485#define OPSS9 0x200 /* Mailbox 9 Overwrite Protection/Single-Shot Transmission Enable */
3486#define nOPSS9 0x0
3487#define OPSS10 0x400 /* Mailbox 10 Overwrite Protection/Single-Shot Transmission Enable */
3488#define nOPSS10 0x0
3489#define OPSS11 0x800 /* Mailbox 11 Overwrite Protection/Single-Shot Transmission Enable */
3490#define nOPSS11 0x0
3491#define OPSS12 0x1000 /* Mailbox 12 Overwrite Protection/Single-Shot Transmission Enable */
3492#define nOPSS12 0x0
3493#define OPSS13 0x2000 /* Mailbox 13 Overwrite Protection/Single-Shot Transmission Enable */
3494#define nOPSS13 0x0
3495#define OPSS14 0x4000 /* Mailbox 14 Overwrite Protection/Single-Shot Transmission Enable */
3496#define nOPSS14 0x0
3497#define OPSS15 0x8000 /* Mailbox 15 Overwrite Protection/Single-Shot Transmission Enable */
3498#define nOPSS15 0x0
3499
3500/* Bit masks for CAN0_OPSS2 */
3501
3502#define OPSS16 0x1 /* Mailbox 16 Overwrite Protection/Single-Shot Transmission Enable */
3503#define nOPSS16 0x0
3504#define OPSS17 0x2 /* Mailbox 17 Overwrite Protection/Single-Shot Transmission Enable */
3505#define nOPSS17 0x0
3506#define OPSS18 0x4 /* Mailbox 18 Overwrite Protection/Single-Shot Transmission Enable */
3507#define nOPSS18 0x0
3508#define OPSS19 0x8 /* Mailbox 19 Overwrite Protection/Single-Shot Transmission Enable */
3509#define nOPSS19 0x0
3510#define OPSS20 0x10 /* Mailbox 20 Overwrite Protection/Single-Shot Transmission Enable */
3511#define nOPSS20 0x0
3512#define OPSS21 0x20 /* Mailbox 21 Overwrite Protection/Single-Shot Transmission Enable */
3513#define nOPSS21 0x0
3514#define OPSS22 0x40 /* Mailbox 22 Overwrite Protection/Single-Shot Transmission Enable */
3515#define nOPSS22 0x0
3516#define OPSS23 0x80 /* Mailbox 23 Overwrite Protection/Single-Shot Transmission Enable */
3517#define nOPSS23 0x0
3518#define OPSS24 0x100 /* Mailbox 24 Overwrite Protection/Single-Shot Transmission Enable */
3519#define nOPSS24 0x0
3520#define OPSS25 0x200 /* Mailbox 25 Overwrite Protection/Single-Shot Transmission Enable */
3521#define nOPSS25 0x0
3522#define OPSS26 0x400 /* Mailbox 26 Overwrite Protection/Single-Shot Transmission Enable */
3523#define nOPSS26 0x0
3524#define OPSS27 0x800 /* Mailbox 27 Overwrite Protection/Single-Shot Transmission Enable */
3525#define nOPSS27 0x0
3526#define OPSS28 0x1000 /* Mailbox 28 Overwrite Protection/Single-Shot Transmission Enable */
3527#define nOPSS28 0x0
3528#define OPSS29 0x2000 /* Mailbox 29 Overwrite Protection/Single-Shot Transmission Enable */
3529#define nOPSS29 0x0
3530#define OPSS30 0x4000 /* Mailbox 30 Overwrite Protection/Single-Shot Transmission Enable */
3531#define nOPSS30 0x0
3532#define OPSS31 0x8000 /* Mailbox 31 Overwrite Protection/Single-Shot Transmission Enable */
3533#define nOPSS31 0x0
3534
3535/* Bit masks for CAN0_TRS1 */
3536
3537#define TRS0 0x1 /* Mailbox 0 Transmit Request Set */
3538#define nTRS0 0x0
3539#define TRS1 0x2 /* Mailbox 1 Transmit Request Set */
3540#define nTRS1 0x0
3541#define TRS2 0x4 /* Mailbox 2 Transmit Request Set */
3542#define nTRS2 0x0
3543#define TRS3 0x8 /* Mailbox 3 Transmit Request Set */
3544#define nTRS3 0x0
3545#define TRS4 0x10 /* Mailbox 4 Transmit Request Set */
3546#define nTRS4 0x0
3547#define TRS5 0x20 /* Mailbox 5 Transmit Request Set */
3548#define nTRS5 0x0
3549#define TRS6 0x40 /* Mailbox 6 Transmit Request Set */
3550#define nTRS6 0x0
3551#define TRS7 0x80 /* Mailbox 7 Transmit Request Set */
3552#define nTRS7 0x0
3553#define TRS8 0x100 /* Mailbox 8 Transmit Request Set */
3554#define nTRS8 0x0
3555#define TRS9 0x200 /* Mailbox 9 Transmit Request Set */
3556#define nTRS9 0x0
3557#define TRS10 0x400 /* Mailbox 10 Transmit Request Set */
3558#define nTRS10 0x0
3559#define TRS11 0x800 /* Mailbox 11 Transmit Request Set */
3560#define nTRS11 0x0
3561#define TRS12 0x1000 /* Mailbox 12 Transmit Request Set */
3562#define nTRS12 0x0
3563#define TRS13 0x2000 /* Mailbox 13 Transmit Request Set */
3564#define nTRS13 0x0
3565#define TRS14 0x4000 /* Mailbox 14 Transmit Request Set */
3566#define nTRS14 0x0
3567#define TRS15 0x8000 /* Mailbox 15 Transmit Request Set */
3568#define nTRS15 0x0
3569
3570/* Bit masks for CAN0_TRS2 */
3571
3572#define TRS16 0x1 /* Mailbox 16 Transmit Request Set */
3573#define nTRS16 0x0
3574#define TRS17 0x2 /* Mailbox 17 Transmit Request Set */
3575#define nTRS17 0x0
3576#define TRS18 0x4 /* Mailbox 18 Transmit Request Set */
3577#define nTRS18 0x0
3578#define TRS19 0x8 /* Mailbox 19 Transmit Request Set */
3579#define nTRS19 0x0
3580#define TRS20 0x10 /* Mailbox 20 Transmit Request Set */
3581#define nTRS20 0x0
3582#define TRS21 0x20 /* Mailbox 21 Transmit Request Set */
3583#define nTRS21 0x0
3584#define TRS22 0x40 /* Mailbox 22 Transmit Request Set */
3585#define nTRS22 0x0
3586#define TRS23 0x80 /* Mailbox 23 Transmit Request Set */
3587#define nTRS23 0x0
3588#define TRS24 0x100 /* Mailbox 24 Transmit Request Set */
3589#define nTRS24 0x0
3590#define TRS25 0x200 /* Mailbox 25 Transmit Request Set */
3591#define nTRS25 0x0
3592#define TRS26 0x400 /* Mailbox 26 Transmit Request Set */
3593#define nTRS26 0x0
3594#define TRS27 0x800 /* Mailbox 27 Transmit Request Set */
3595#define nTRS27 0x0
3596#define TRS28 0x1000 /* Mailbox 28 Transmit Request Set */
3597#define nTRS28 0x0
3598#define TRS29 0x2000 /* Mailbox 29 Transmit Request Set */
3599#define nTRS29 0x0
3600#define TRS30 0x4000 /* Mailbox 30 Transmit Request Set */
3601#define nTRS30 0x0
3602#define TRS31 0x8000 /* Mailbox 31 Transmit Request Set */
3603#define nTRS31 0x0
3604
3605/* Bit masks for CAN0_TRR1 */
3606
3607#define TRR0 0x1 /* Mailbox 0 Transmit Request Reset */
3608#define nTRR0 0x0
3609#define TRR1 0x2 /* Mailbox 1 Transmit Request Reset */
3610#define nTRR1 0x0
3611#define TRR2 0x4 /* Mailbox 2 Transmit Request Reset */
3612#define nTRR2 0x0
3613#define TRR3 0x8 /* Mailbox 3 Transmit Request Reset */
3614#define nTRR3 0x0
3615#define TRR4 0x10 /* Mailbox 4 Transmit Request Reset */
3616#define nTRR4 0x0
3617#define TRR5 0x20 /* Mailbox 5 Transmit Request Reset */
3618#define nTRR5 0x0
3619#define TRR6 0x40 /* Mailbox 6 Transmit Request Reset */
3620#define nTRR6 0x0
3621#define TRR7 0x80 /* Mailbox 7 Transmit Request Reset */
3622#define nTRR7 0x0
3623#define TRR8 0x100 /* Mailbox 8 Transmit Request Reset */
3624#define nTRR8 0x0
3625#define TRR9 0x200 /* Mailbox 9 Transmit Request Reset */
3626#define nTRR9 0x0
3627#define TRR10 0x400 /* Mailbox 10 Transmit Request Reset */
3628#define nTRR10 0x0
3629#define TRR11 0x800 /* Mailbox 11 Transmit Request Reset */
3630#define nTRR11 0x0
3631#define TRR12 0x1000 /* Mailbox 12 Transmit Request Reset */
3632#define nTRR12 0x0
3633#define TRR13 0x2000 /* Mailbox 13 Transmit Request Reset */
3634#define nTRR13 0x0
3635#define TRR14 0x4000 /* Mailbox 14 Transmit Request Reset */
3636#define nTRR14 0x0
3637#define TRR15 0x8000 /* Mailbox 15 Transmit Request Reset */
3638#define nTRR15 0x0
3639
3640/* Bit masks for CAN0_TRR2 */
3641
3642#define TRR16 0x1 /* Mailbox 16 Transmit Request Reset */
3643#define nTRR16 0x0
3644#define TRR17 0x2 /* Mailbox 17 Transmit Request Reset */
3645#define nTRR17 0x0
3646#define TRR18 0x4 /* Mailbox 18 Transmit Request Reset */
3647#define nTRR18 0x0
3648#define TRR19 0x8 /* Mailbox 19 Transmit Request Reset */
3649#define nTRR19 0x0
3650#define TRR20 0x10 /* Mailbox 20 Transmit Request Reset */
3651#define nTRR20 0x0
3652#define TRR21 0x20 /* Mailbox 21 Transmit Request Reset */
3653#define nTRR21 0x0
3654#define TRR22 0x40 /* Mailbox 22 Transmit Request Reset */
3655#define nTRR22 0x0
3656#define TRR23 0x80 /* Mailbox 23 Transmit Request Reset */
3657#define nTRR23 0x0
3658#define TRR24 0x100 /* Mailbox 24 Transmit Request Reset */
3659#define nTRR24 0x0
3660#define TRR25 0x200 /* Mailbox 25 Transmit Request Reset */
3661#define nTRR25 0x0
3662#define TRR26 0x400 /* Mailbox 26 Transmit Request Reset */
3663#define nTRR26 0x0
3664#define TRR27 0x800 /* Mailbox 27 Transmit Request Reset */
3665#define nTRR27 0x0
3666#define TRR28 0x1000 /* Mailbox 28 Transmit Request Reset */
3667#define nTRR28 0x0
3668#define TRR29 0x2000 /* Mailbox 29 Transmit Request Reset */
3669#define nTRR29 0x0
3670#define TRR30 0x4000 /* Mailbox 30 Transmit Request Reset */
3671#define nTRR30 0x0
3672#define TRR31 0x8000 /* Mailbox 31 Transmit Request Reset */
3673#define nTRR31 0x0
3674
3675/* Bit masks for CAN0_AA1 */
3676
3677#define AA0 0x1 /* Mailbox 0 Abort Acknowledge */
3678#define nAA0 0x0
3679#define AA1 0x2 /* Mailbox 1 Abort Acknowledge */
3680#define nAA1 0x0
3681#define AA2 0x4 /* Mailbox 2 Abort Acknowledge */
3682#define nAA2 0x0
3683#define AA3 0x8 /* Mailbox 3 Abort Acknowledge */
3684#define nAA3 0x0
3685#define AA4 0x10 /* Mailbox 4 Abort Acknowledge */
3686#define nAA4 0x0
3687#define AA5 0x20 /* Mailbox 5 Abort Acknowledge */
3688#define nAA5 0x0
3689#define AA6 0x40 /* Mailbox 6 Abort Acknowledge */
3690#define nAA6 0x0
3691#define AA7 0x80 /* Mailbox 7 Abort Acknowledge */
3692#define nAA7 0x0
3693#define AA8 0x100 /* Mailbox 8 Abort Acknowledge */
3694#define nAA8 0x0
3695#define AA9 0x200 /* Mailbox 9 Abort Acknowledge */
3696#define nAA9 0x0
3697#define AA10 0x400 /* Mailbox 10 Abort Acknowledge */
3698#define nAA10 0x0
3699#define AA11 0x800 /* Mailbox 11 Abort Acknowledge */
3700#define nAA11 0x0
3701#define AA12 0x1000 /* Mailbox 12 Abort Acknowledge */
3702#define nAA12 0x0
3703#define AA13 0x2000 /* Mailbox 13 Abort Acknowledge */
3704#define nAA13 0x0
3705#define AA14 0x4000 /* Mailbox 14 Abort Acknowledge */
3706#define nAA14 0x0
3707#define AA15 0x8000 /* Mailbox 15 Abort Acknowledge */
3708#define nAA15 0x0
3709
3710/* Bit masks for CAN0_AA2 */
3711
3712#define AA16 0x1 /* Mailbox 16 Abort Acknowledge */
3713#define nAA16 0x0
3714#define AA17 0x2 /* Mailbox 17 Abort Acknowledge */
3715#define nAA17 0x0
3716#define AA18 0x4 /* Mailbox 18 Abort Acknowledge */
3717#define nAA18 0x0
3718#define AA19 0x8 /* Mailbox 19 Abort Acknowledge */
3719#define nAA19 0x0
3720#define AA20 0x10 /* Mailbox 20 Abort Acknowledge */
3721#define nAA20 0x0
3722#define AA21 0x20 /* Mailbox 21 Abort Acknowledge */
3723#define nAA21 0x0
3724#define AA22 0x40 /* Mailbox 22 Abort Acknowledge */
3725#define nAA22 0x0
3726#define AA23 0x80 /* Mailbox 23 Abort Acknowledge */
3727#define nAA23 0x0
3728#define AA24 0x100 /* Mailbox 24 Abort Acknowledge */
3729#define nAA24 0x0
3730#define AA25 0x200 /* Mailbox 25 Abort Acknowledge */
3731#define nAA25 0x0
3732#define AA26 0x400 /* Mailbox 26 Abort Acknowledge */
3733#define nAA26 0x0
3734#define AA27 0x800 /* Mailbox 27 Abort Acknowledge */
3735#define nAA27 0x0
3736#define AA28 0x1000 /* Mailbox 28 Abort Acknowledge */
3737#define nAA28 0x0
3738#define AA29 0x2000 /* Mailbox 29 Abort Acknowledge */
3739#define nAA29 0x0
3740#define AA30 0x4000 /* Mailbox 30 Abort Acknowledge */
3741#define nAA30 0x0
3742#define AA31 0x8000 /* Mailbox 31 Abort Acknowledge */
3743#define nAA31 0x0
3744
3745/* Bit masks for CAN0_TA1 */
3746
3747#define TA0 0x1 /* Mailbox 0 Transmit Acknowledge */
3748#define nTA0 0x0
3749#define TA1 0x2 /* Mailbox 1 Transmit Acknowledge */
3750#define nTA1 0x0
3751#define TA2 0x4 /* Mailbox 2 Transmit Acknowledge */
3752#define nTA2 0x0
3753#define TA3 0x8 /* Mailbox 3 Transmit Acknowledge */
3754#define nTA3 0x0
3755#define TA4 0x10 /* Mailbox 4 Transmit Acknowledge */
3756#define nTA4 0x0
3757#define TA5 0x20 /* Mailbox 5 Transmit Acknowledge */
3758#define nTA5 0x0
3759#define TA6 0x40 /* Mailbox 6 Transmit Acknowledge */
3760#define nTA6 0x0
3761#define TA7 0x80 /* Mailbox 7 Transmit Acknowledge */
3762#define nTA7 0x0
3763#define TA8 0x100 /* Mailbox 8 Transmit Acknowledge */
3764#define nTA8 0x0
3765#define TA9 0x200 /* Mailbox 9 Transmit Acknowledge */
3766#define nTA9 0x0
3767#define TA10 0x400 /* Mailbox 10 Transmit Acknowledge */
3768#define nTA10 0x0
3769#define TA11 0x800 /* Mailbox 11 Transmit Acknowledge */
3770#define nTA11 0x0
3771#define TA12 0x1000 /* Mailbox 12 Transmit Acknowledge */
3772#define nTA12 0x0
3773#define TA13 0x2000 /* Mailbox 13 Transmit Acknowledge */
3774#define nTA13 0x0
3775#define TA14 0x4000 /* Mailbox 14 Transmit Acknowledge */
3776#define nTA14 0x0
3777#define TA15 0x8000 /* Mailbox 15 Transmit Acknowledge */
3778#define nTA15 0x0
3779
3780/* Bit masks for CAN0_TA2 */
3781
3782#define TA16 0x1 /* Mailbox 16 Transmit Acknowledge */
3783#define nTA16 0x0
3784#define TA17 0x2 /* Mailbox 17 Transmit Acknowledge */
3785#define nTA17 0x0
3786#define TA18 0x4 /* Mailbox 18 Transmit Acknowledge */
3787#define nTA18 0x0
3788#define TA19 0x8 /* Mailbox 19 Transmit Acknowledge */
3789#define nTA19 0x0
3790#define TA20 0x10 /* Mailbox 20 Transmit Acknowledge */
3791#define nTA20 0x0
3792#define TA21 0x20 /* Mailbox 21 Transmit Acknowledge */
3793#define nTA21 0x0
3794#define TA22 0x40 /* Mailbox 22 Transmit Acknowledge */
3795#define nTA22 0x0
3796#define TA23 0x80 /* Mailbox 23 Transmit Acknowledge */
3797#define nTA23 0x0
3798#define TA24 0x100 /* Mailbox 24 Transmit Acknowledge */
3799#define nTA24 0x0
3800#define TA25 0x200 /* Mailbox 25 Transmit Acknowledge */
3801#define nTA25 0x0
3802#define TA26 0x400 /* Mailbox 26 Transmit Acknowledge */
3803#define nTA26 0x0
3804#define TA27 0x800 /* Mailbox 27 Transmit Acknowledge */
3805#define nTA27 0x0
3806#define TA28 0x1000 /* Mailbox 28 Transmit Acknowledge */
3807#define nTA28 0x0
3808#define TA29 0x2000 /* Mailbox 29 Transmit Acknowledge */
3809#define nTA29 0x0
3810#define TA30 0x4000 /* Mailbox 30 Transmit Acknowledge */
3811#define nTA30 0x0
3812#define TA31 0x8000 /* Mailbox 31 Transmit Acknowledge */
3813#define nTA31 0x0
3814
3815/* Bit masks for CAN0_RFH1 */
3816
3817#define RFH0 0x1 /* Mailbox 0 Remote Frame Handling Enable */
3818#define nRFH0 0x0
3819#define RFH1 0x2 /* Mailbox 1 Remote Frame Handling Enable */
3820#define nRFH1 0x0
3821#define RFH2 0x4 /* Mailbox 2 Remote Frame Handling Enable */
3822#define nRFH2 0x0
3823#define RFH3 0x8 /* Mailbox 3 Remote Frame Handling Enable */
3824#define nRFH3 0x0
3825#define RFH4 0x10 /* Mailbox 4 Remote Frame Handling Enable */
3826#define nRFH4 0x0
3827#define RFH5 0x20 /* Mailbox 5 Remote Frame Handling Enable */
3828#define nRFH5 0x0
3829#define RFH6 0x40 /* Mailbox 6 Remote Frame Handling Enable */
3830#define nRFH6 0x0
3831#define RFH7 0x80 /* Mailbox 7 Remote Frame Handling Enable */
3832#define nRFH7 0x0
3833#define RFH8 0x100 /* Mailbox 8 Remote Frame Handling Enable */
3834#define nRFH8 0x0
3835#define RFH9 0x200 /* Mailbox 9 Remote Frame Handling Enable */
3836#define nRFH9 0x0
3837#define RFH10 0x400 /* Mailbox 10 Remote Frame Handling Enable */
3838#define nRFH10 0x0
3839#define RFH11 0x800 /* Mailbox 11 Remote Frame Handling Enable */
3840#define nRFH11 0x0
3841#define RFH12 0x1000 /* Mailbox 12 Remote Frame Handling Enable */
3842#define nRFH12 0x0
3843#define RFH13 0x2000 /* Mailbox 13 Remote Frame Handling Enable */
3844#define nRFH13 0x0
3845#define RFH14 0x4000 /* Mailbox 14 Remote Frame Handling Enable */
3846#define nRFH14 0x0
3847#define RFH15 0x8000 /* Mailbox 15 Remote Frame Handling Enable */
3848#define nRFH15 0x0
3849
3850/* Bit masks for CAN0_RFH2 */
3851
3852#define RFH16 0x1 /* Mailbox 16 Remote Frame Handling Enable */
3853#define nRFH16 0x0
3854#define RFH17 0x2 /* Mailbox 17 Remote Frame Handling Enable */
3855#define nRFH17 0x0
3856#define RFH18 0x4 /* Mailbox 18 Remote Frame Handling Enable */
3857#define nRFH18 0x0
3858#define RFH19 0x8 /* Mailbox 19 Remote Frame Handling Enable */
3859#define nRFH19 0x0
3860#define RFH20 0x10 /* Mailbox 20 Remote Frame Handling Enable */
3861#define nRFH20 0x0
3862#define RFH21 0x20 /* Mailbox 21 Remote Frame Handling Enable */
3863#define nRFH21 0x0
3864#define RFH22 0x40 /* Mailbox 22 Remote Frame Handling Enable */
3865#define nRFH22 0x0
3866#define RFH23 0x80 /* Mailbox 23 Remote Frame Handling Enable */
3867#define nRFH23 0x0
3868#define RFH24 0x100 /* Mailbox 24 Remote Frame Handling Enable */
3869#define nRFH24 0x0
3870#define RFH25 0x200 /* Mailbox 25 Remote Frame Handling Enable */
3871#define nRFH25 0x0
3872#define RFH26 0x400 /* Mailbox 26 Remote Frame Handling Enable */
3873#define nRFH26 0x0
3874#define RFH27 0x800 /* Mailbox 27 Remote Frame Handling Enable */
3875#define nRFH27 0x0
3876#define RFH28 0x1000 /* Mailbox 28 Remote Frame Handling Enable */
3877#define nRFH28 0x0
3878#define RFH29 0x2000 /* Mailbox 29 Remote Frame Handling Enable */
3879#define nRFH29 0x0
3880#define RFH30 0x4000 /* Mailbox 30 Remote Frame Handling Enable */
3881#define nRFH30 0x0
3882#define RFH31 0x8000 /* Mailbox 31 Remote Frame Handling Enable */
3883#define nRFH31 0x0
3884
3885/* Bit masks for CAN0_MBIM1 */
3886
3887#define MBIM0 0x1 /* Mailbox 0 Mailbox Interrupt Mask */
3888#define nMBIM0 0x0
3889#define MBIM1 0x2 /* Mailbox 1 Mailbox Interrupt Mask */
3890#define nMBIM1 0x0
3891#define MBIM2 0x4 /* Mailbox 2 Mailbox Interrupt Mask */
3892#define nMBIM2 0x0
3893#define MBIM3 0x8 /* Mailbox 3 Mailbox Interrupt Mask */
3894#define nMBIM3 0x0
3895#define MBIM4 0x10 /* Mailbox 4 Mailbox Interrupt Mask */
3896#define nMBIM4 0x0
3897#define MBIM5 0x20 /* Mailbox 5 Mailbox Interrupt Mask */
3898#define nMBIM5 0x0
3899#define MBIM6 0x40 /* Mailbox 6 Mailbox Interrupt Mask */
3900#define nMBIM6 0x0
3901#define MBIM7 0x80 /* Mailbox 7 Mailbox Interrupt Mask */
3902#define nMBIM7 0x0
3903#define MBIM8 0x100 /* Mailbox 8 Mailbox Interrupt Mask */
3904#define nMBIM8 0x0
3905#define MBIM9 0x200 /* Mailbox 9 Mailbox Interrupt Mask */
3906#define nMBIM9 0x0
3907#define MBIM10 0x400 /* Mailbox 10 Mailbox Interrupt Mask */
3908#define nMBIM10 0x0
3909#define MBIM11 0x800 /* Mailbox 11 Mailbox Interrupt Mask */
3910#define nMBIM11 0x0
3911#define MBIM12 0x1000 /* Mailbox 12 Mailbox Interrupt Mask */
3912#define nMBIM12 0x0
3913#define MBIM13 0x2000 /* Mailbox 13 Mailbox Interrupt Mask */
3914#define nMBIM13 0x0
3915#define MBIM14 0x4000 /* Mailbox 14 Mailbox Interrupt Mask */
3916#define nMBIM14 0x0
3917#define MBIM15 0x8000 /* Mailbox 15 Mailbox Interrupt Mask */
3918#define nMBIM15 0x0
3919
3920/* Bit masks for CAN0_MBIM2 */
3921
3922#define MBIM16 0x1 /* Mailbox 16 Mailbox Interrupt Mask */
3923#define nMBIM16 0x0
3924#define MBIM17 0x2 /* Mailbox 17 Mailbox Interrupt Mask */
3925#define nMBIM17 0x0
3926#define MBIM18 0x4 /* Mailbox 18 Mailbox Interrupt Mask */
3927#define nMBIM18 0x0
3928#define MBIM19 0x8 /* Mailbox 19 Mailbox Interrupt Mask */
3929#define nMBIM19 0x0
3930#define MBIM20 0x10 /* Mailbox 20 Mailbox Interrupt Mask */
3931#define nMBIM20 0x0
3932#define MBIM21 0x20 /* Mailbox 21 Mailbox Interrupt Mask */
3933#define nMBIM21 0x0
3934#define MBIM22 0x40 /* Mailbox 22 Mailbox Interrupt Mask */
3935#define nMBIM22 0x0
3936#define MBIM23 0x80 /* Mailbox 23 Mailbox Interrupt Mask */
3937#define nMBIM23 0x0
3938#define MBIM24 0x100 /* Mailbox 24 Mailbox Interrupt Mask */
3939#define nMBIM24 0x0
3940#define MBIM25 0x200 /* Mailbox 25 Mailbox Interrupt Mask */
3941#define nMBIM25 0x0
3942#define MBIM26 0x400 /* Mailbox 26 Mailbox Interrupt Mask */
3943#define nMBIM26 0x0
3944#define MBIM27 0x800 /* Mailbox 27 Mailbox Interrupt Mask */
3945#define nMBIM27 0x0
3946#define MBIM28 0x1000 /* Mailbox 28 Mailbox Interrupt Mask */
3947#define nMBIM28 0x0
3948#define MBIM29 0x2000 /* Mailbox 29 Mailbox Interrupt Mask */
3949#define nMBIM29 0x0
3950#define MBIM30 0x4000 /* Mailbox 30 Mailbox Interrupt Mask */
3951#define nMBIM30 0x0
3952#define MBIM31 0x8000 /* Mailbox 31 Mailbox Interrupt Mask */
3953#define nMBIM31 0x0
3954
3955/* Bit masks for CAN0_MBTIF1 */
3956
3957#define MBTIF0 0x1 /* Mailbox 0 Mailbox Transmit Interrupt Flag */
3958#define nMBTIF0 0x0
3959#define MBTIF1 0x2 /* Mailbox 1 Mailbox Transmit Interrupt Flag */
3960#define nMBTIF1 0x0
3961#define MBTIF2 0x4 /* Mailbox 2 Mailbox Transmit Interrupt Flag */
3962#define nMBTIF2 0x0
3963#define MBTIF3 0x8 /* Mailbox 3 Mailbox Transmit Interrupt Flag */
3964#define nMBTIF3 0x0
3965#define MBTIF4 0x10 /* Mailbox 4 Mailbox Transmit Interrupt Flag */
3966#define nMBTIF4 0x0
3967#define MBTIF5 0x20 /* Mailbox 5 Mailbox Transmit Interrupt Flag */
3968#define nMBTIF5 0x0
3969#define MBTIF6 0x40 /* Mailbox 6 Mailbox Transmit Interrupt Flag */
3970#define nMBTIF6 0x0
3971#define MBTIF7 0x80 /* Mailbox 7 Mailbox Transmit Interrupt Flag */
3972#define nMBTIF7 0x0
3973#define MBTIF8 0x100 /* Mailbox 8 Mailbox Transmit Interrupt Flag */
3974#define nMBTIF8 0x0
3975#define MBTIF9 0x200 /* Mailbox 9 Mailbox Transmit Interrupt Flag */
3976#define nMBTIF9 0x0
3977#define MBTIF10 0x400 /* Mailbox 10 Mailbox Transmit Interrupt Flag */
3978#define nMBTIF10 0x0
3979#define MBTIF11 0x800 /* Mailbox 11 Mailbox Transmit Interrupt Flag */
3980#define nMBTIF11 0x0
3981#define MBTIF12 0x1000 /* Mailbox 12 Mailbox Transmit Interrupt Flag */
3982#define nMBTIF12 0x0
3983#define MBTIF13 0x2000 /* Mailbox 13 Mailbox Transmit Interrupt Flag */
3984#define nMBTIF13 0x0
3985#define MBTIF14 0x4000 /* Mailbox 14 Mailbox Transmit Interrupt Flag */
3986#define nMBTIF14 0x0
3987#define MBTIF15 0x8000 /* Mailbox 15 Mailbox Transmit Interrupt Flag */
3988#define nMBTIF15 0x0
3989
3990/* Bit masks for CAN0_MBTIF2 */
3991
3992#define MBTIF16 0x1 /* Mailbox 16 Mailbox Transmit Interrupt Flag */
3993#define nMBTIF16 0x0
3994#define MBTIF17 0x2 /* Mailbox 17 Mailbox Transmit Interrupt Flag */
3995#define nMBTIF17 0x0
3996#define MBTIF18 0x4 /* Mailbox 18 Mailbox Transmit Interrupt Flag */
3997#define nMBTIF18 0x0
3998#define MBTIF19 0x8 /* Mailbox 19 Mailbox Transmit Interrupt Flag */
3999#define nMBTIF19 0x0
4000#define MBTIF20 0x10 /* Mailbox 20 Mailbox Transmit Interrupt Flag */
4001#define nMBTIF20 0x0
4002#define MBTIF21 0x20 /* Mailbox 21 Mailbox Transmit Interrupt Flag */
4003#define nMBTIF21 0x0
4004#define MBTIF22 0x40 /* Mailbox 22 Mailbox Transmit Interrupt Flag */
4005#define nMBTIF22 0x0
4006#define MBTIF23 0x80 /* Mailbox 23 Mailbox Transmit Interrupt Flag */
4007#define nMBTIF23 0x0
4008#define MBTIF24 0x100 /* Mailbox 24 Mailbox Transmit Interrupt Flag */
4009#define nMBTIF24 0x0
4010#define MBTIF25 0x200 /* Mailbox 25 Mailbox Transmit Interrupt Flag */
4011#define nMBTIF25 0x0
4012#define MBTIF26 0x400 /* Mailbox 26 Mailbox Transmit Interrupt Flag */
4013#define nMBTIF26 0x0
4014#define MBTIF27 0x800 /* Mailbox 27 Mailbox Transmit Interrupt Flag */
4015#define nMBTIF27 0x0
4016#define MBTIF28 0x1000 /* Mailbox 28 Mailbox Transmit Interrupt Flag */
4017#define nMBTIF28 0x0
4018#define MBTIF29 0x2000 /* Mailbox 29 Mailbox Transmit Interrupt Flag */
4019#define nMBTIF29 0x0
4020#define MBTIF30 0x4000 /* Mailbox 30 Mailbox Transmit Interrupt Flag */
4021#define nMBTIF30 0x0
4022#define MBTIF31 0x8000 /* Mailbox 31 Mailbox Transmit Interrupt Flag */
4023#define nMBTIF31 0x0
4024
4025/* Bit masks for CAN0_MBRIF1 */
4026
4027#define MBRIF0 0x1 /* Mailbox 0 Mailbox Receive Interrupt Flag */
4028#define nMBRIF0 0x0
4029#define MBRIF1 0x2 /* Mailbox 1 Mailbox Receive Interrupt Flag */
4030#define nMBRIF1 0x0
4031#define MBRIF2 0x4 /* Mailbox 2 Mailbox Receive Interrupt Flag */
4032#define nMBRIF2 0x0
4033#define MBRIF3 0x8 /* Mailbox 3 Mailbox Receive Interrupt Flag */
4034#define nMBRIF3 0x0
4035#define MBRIF4 0x10 /* Mailbox 4 Mailbox Receive Interrupt Flag */
4036#define nMBRIF4 0x0
4037#define MBRIF5 0x20 /* Mailbox 5 Mailbox Receive Interrupt Flag */
4038#define nMBRIF5 0x0
4039#define MBRIF6 0x40 /* Mailbox 6 Mailbox Receive Interrupt Flag */
4040#define nMBRIF6 0x0
4041#define MBRIF7 0x80 /* Mailbox 7 Mailbox Receive Interrupt Flag */
4042#define nMBRIF7 0x0
4043#define MBRIF8 0x100 /* Mailbox 8 Mailbox Receive Interrupt Flag */
4044#define nMBRIF8 0x0
4045#define MBRIF9 0x200 /* Mailbox 9 Mailbox Receive Interrupt Flag */
4046#define nMBRIF9 0x0
4047#define MBRIF10 0x400 /* Mailbox 10 Mailbox Receive Interrupt Flag */
4048#define nMBRIF10 0x0
4049#define MBRIF11 0x800 /* Mailbox 11 Mailbox Receive Interrupt Flag */
4050#define nMBRIF11 0x0
4051#define MBRIF12 0x1000 /* Mailbox 12 Mailbox Receive Interrupt Flag */
4052#define nMBRIF12 0x0
4053#define MBRIF13 0x2000 /* Mailbox 13 Mailbox Receive Interrupt Flag */
4054#define nMBRIF13 0x0
4055#define MBRIF14 0x4000 /* Mailbox 14 Mailbox Receive Interrupt Flag */
4056#define nMBRIF14 0x0
4057#define MBRIF15 0x8000 /* Mailbox 15 Mailbox Receive Interrupt Flag */
4058#define nMBRIF15 0x0
4059
4060/* Bit masks for CAN0_MBRIF2 */
4061
4062#define MBRIF16 0x1 /* Mailbox 16 Mailbox Receive Interrupt Flag */
4063#define nMBRIF16 0x0
4064#define MBRIF17 0x2 /* Mailbox 17 Mailbox Receive Interrupt Flag */
4065#define nMBRIF17 0x0
4066#define MBRIF18 0x4 /* Mailbox 18 Mailbox Receive Interrupt Flag */
4067#define nMBRIF18 0x0
4068#define MBRIF19 0x8 /* Mailbox 19 Mailbox Receive Interrupt Flag */
4069#define nMBRIF19 0x0
4070#define MBRIF20 0x10 /* Mailbox 20 Mailbox Receive Interrupt Flag */
4071#define nMBRIF20 0x0
4072#define MBRIF21 0x20 /* Mailbox 21 Mailbox Receive Interrupt Flag */
4073#define nMBRIF21 0x0
4074#define MBRIF22 0x40 /* Mailbox 22 Mailbox Receive Interrupt Flag */
4075#define nMBRIF22 0x0
4076#define MBRIF23 0x80 /* Mailbox 23 Mailbox Receive Interrupt Flag */
4077#define nMBRIF23 0x0
4078#define MBRIF24 0x100 /* Mailbox 24 Mailbox Receive Interrupt Flag */
4079#define nMBRIF24 0x0
4080#define MBRIF25 0x200 /* Mailbox 25 Mailbox Receive Interrupt Flag */
4081#define nMBRIF25 0x0
4082#define MBRIF26 0x400 /* Mailbox 26 Mailbox Receive Interrupt Flag */
4083#define nMBRIF26 0x0
4084#define MBRIF27 0x800 /* Mailbox 27 Mailbox Receive Interrupt Flag */
4085#define nMBRIF27 0x0
4086#define MBRIF28 0x1000 /* Mailbox 28 Mailbox Receive Interrupt Flag */
4087#define nMBRIF28 0x0
4088#define MBRIF29 0x2000 /* Mailbox 29 Mailbox Receive Interrupt Flag */
4089#define nMBRIF29 0x0
4090#define MBRIF30 0x4000 /* Mailbox 30 Mailbox Receive Interrupt Flag */
4091#define nMBRIF30 0x0
4092#define MBRIF31 0x8000 /* Mailbox 31 Mailbox Receive Interrupt Flag */
4093#define nMBRIF31 0x0
4094
4095/* Bit masks for EPPIx_STATUS */
4096
4097#define CFIFO_ERR 0x1 /* Chroma FIFO Error */
4098#define nCFIFO_ERR 0x0
4099#define YFIFO_ERR 0x2 /* Luma FIFO Error */
4100#define nYFIFO_ERR 0x0
4101#define LTERR_OVR 0x4 /* Line Track Overflow */
4102#define nLTERR_OVR 0x0
4103#define LTERR_UNDR 0x8 /* Line Track Underflow */
4104#define nLTERR_UNDR 0x0
4105#define FTERR_OVR 0x10 /* Frame Track Overflow */
4106#define nFTERR_OVR 0x0
4107#define FTERR_UNDR 0x20 /* Frame Track Underflow */
4108#define nFTERR_UNDR 0x0
4109#define ERR_NCOR 0x40 /* Preamble Error Not Corrected */
4110#define nERR_NCOR 0x0
4111#define DMA1URQ 0x80 /* DMA1 Urgent Request */
4112#define nDMA1URQ 0x0
4113#define DMA0URQ 0x100 /* DMA0 Urgent Request */
4114#define nDMA0URQ 0x0
4115#define ERR_DET 0x4000 /* Preamble Error Detected */
4116#define nERR_DET 0x0
4117#define FLD 0x8000 /* Field */
4118#define nFLD 0x0
4119
4120/* Bit masks for EPPIx_CONTROL */
4121
4122#define EPPI_EN 0x1 /* Enable */
4123#define nEPPI_EN 0x0
4124#define EPPI_DIR 0x2 /* Direction */
4125#define nEPPI_DIR 0x0
4126#define XFR_TYPE 0xc /* Operating Mode */
4127#define FS_CFG 0x30 /* Frame Sync Configuration */
4128#define FLD_SEL 0x40 /* Field Select/Trigger */
4129#define nFLD_SEL 0x0
4130#define ITU_TYPE 0x80 /* ITU Interlaced or Progressive */
4131#define nITU_TYPE 0x0
4132#define BLANKGEN 0x100 /* ITU Output Mode with Internal Blanking Generation */
4133#define nBLANKGEN 0x0
4134#define ICLKGEN 0x200 /* Internal Clock Generation */
4135#define nICLKGEN 0x0
4136#define IFSGEN 0x400 /* Internal Frame Sync Generation */
4137#define nIFSGEN 0x0
4138#define POLC 0x1800 /* Frame Sync and Data Driving/Sampling Edges */
4139#define POLS 0x6000 /* Frame Sync Polarity */
4140#define DLEN 0x38000 /* Data Length */
4141#define SKIP_EN 0x40000 /* Skip Enable */
4142#define nSKIP_EN 0x0
4143#define SKIP_EO 0x80000 /* Skip Even or Odd */
4144#define nSKIP_EO 0x0
4145#define PACKEN 0x100000 /* Packing/Unpacking Enable */
4146#define nPACKEN 0x0
4147#define SWAPEN 0x200000 /* Swap Enable */
4148#define nSWAPEN 0x0
4149#define SIGN_EXT 0x400000 /* Sign Extension or Zero-filled / Data Split Format */
4150#define nSIGN_EXT 0x0
4151#define SPLT_EVEN_ODD 0x800000 /* Split Even and Odd Data Samples */
4152#define nSPLT_EVEN_ODD 0x0
4153#define SUBSPLT_ODD 0x1000000 /* Sub-split Odd Samples */
4154#define nSUBSPLT_ODD 0x0
4155#define DMACFG 0x2000000 /* One or Two DMA Channels Mode */
4156#define nDMACFG 0x0
4157#define RGB_FMT_EN 0x4000000 /* RGB Formatting Enable */
4158#define nRGB_FMT_EN 0x0
4159#define FIFO_RWM 0x18000000 /* FIFO Regular Watermarks */
4160#define FIFO_UWM 0x60000000 /* FIFO Urgent Watermarks */
4161
4162/* Bit masks for EPPIx_FS2W_LVB */
4163
4164#define F1VB_BD 0xff /* Vertical Blanking before Field 1 Active Data */
4165#define F1VB_AD 0xff00 /* Vertical Blanking after Field 1 Active Data */
4166#define F2VB_BD 0xff0000 /* Vertical Blanking before Field 2 Active Data */
4167#define F2VB_AD 0xff000000 /* Vertical Blanking after Field 2 Active Data */
4168
4169/* Bit masks for EPPIx_FS2W_LAVF */
4170
4171#define F1_ACT 0xffff /* Number of Lines of Active Data in Field 1 */
4172#define F2_ACT 0xffff0000 /* Number of Lines of Active Data in Field 2 */
4173
4174/* Bit masks for EPPIx_CLIP */
4175
4176#define LOW_ODD 0xff /* Lower Limit for Odd Bytes (Chroma) */
4177#define HIGH_ODD 0xff00 /* Upper Limit for Odd Bytes (Chroma) */
4178#define LOW_EVEN 0xff0000 /* Lower Limit for Even Bytes (Luma) */
4179#define HIGH_EVEN 0xff000000 /* Upper Limit for Even Bytes (Luma) */
4180
4181/* Bit masks for SPIx_BAUD */
4182
4183#define SPI_BAUD 0xffff /* Baud Rate */
4184
4185/* Bit masks for SPIx_CTL */
4186
4187#define SPE 0x4000 /* SPI Enable */
4188#define nSPE 0x0
4189#define WOM 0x2000 /* Write Open Drain Master */
4190#define nWOM 0x0
4191#define MSTR 0x1000 /* Master Mode */
4192#define nMSTR 0x0
4193#define CPOL 0x800 /* Clock Polarity */
4194#define nCPOL 0x0
4195#define CPHA 0x400 /* Clock Phase */
4196#define nCPHA 0x0
4197#define LSBF 0x200 /* LSB First */
4198#define nLSBF 0x0
4199#define SIZE 0x100 /* Size of Words */
4200#define nSIZE 0x0
4201#define EMISO 0x20 /* Enable MISO Output */
4202#define nEMISO 0x0
4203#define PSSE 0x10 /* Slave-Select Enable */
4204#define nPSSE 0x0
4205#define GM 0x8 /* Get More Data */
4206#define nGM 0x0
4207#define SZ 0x4 /* Send Zero */
4208#define nSZ 0x0
4209#define TIMOD 0x3 /* Transfer Initiation Mode */
4210
4211/* Bit masks for SPIx_FLG */
4212
4213#define FLS1 0x2 /* Slave Select Enable 1 */
4214#define nFLS1 0x0
4215#define FLS2 0x4 /* Slave Select Enable 2 */
4216#define nFLS2 0x0
4217#define FLS3 0x8 /* Slave Select Enable 3 */
4218#define nFLS3 0x0
4219#define FLG1 0x200 /* Slave Select Value 1 */
4220#define nFLG1 0x0
4221#define FLG2 0x400 /* Slave Select Value 2 */
4222#define nFLG2 0x0
4223#define FLG3 0x800 /* Slave Select Value 3 */
4224#define nFLG3 0x0
4225
4226/* Bit masks for SPIx_STAT */
4227
4228#define TXCOL 0x40 /* Transmit Collision Error */
4229#define nTXCOL 0x0
4230#define RXS 0x20 /* RDBR Data Buffer Status */
4231#define nRXS 0x0
4232#define RBSY 0x10 /* Receive Error */
4233#define nRBSY 0x0
4234#define TXS 0x8 /* TDBR Data Buffer Status */
4235#define nTXS 0x0
4236#define TXE 0x4 /* Transmission Error */
4237#define nTXE 0x0
4238#define MODF 0x2 /* Mode Fault Error */
4239#define nMODF 0x0
4240#define SPIF 0x1 /* SPI Finished */
4241#define nSPIF 0x0
4242
4243/* Bit masks for SPIx_TDBR */
4244
4245#define TDBR 0xffff /* Transmit Data Buffer */
4246
4247/* Bit masks for SPIx_RDBR */
4248
4249#define RDBR 0xffff /* Receive Data Buffer */
4250
4251/* Bit masks for SPIx_SHADOW */
4252
4253#define SHADOW 0xffff /* RDBR Shadow */
4254
4255/* ************************************************ */
4256/* The TWI bit masks fields are from the ADSP-BF538 */
4257/* and they have not been verified as the final */
4258/* ones for the Moab processors ... bz 1/19/2007 */
4259/* ************************************************ */
4260
4261/* Bit masks for TWIx_CONTROL */
4262
4263#define PRESCALE 0x7f /* Prescale Value */
4264#define TWI_ENA 0x80 /* TWI Enable */
4265#define nTWI_ENA 0x0
4266#define SCCB 0x200 /* Serial Camera Control Bus */
4267#define nSCCB 0x0
4268
4269/* Bit maskes for TWIx_CLKDIV */
4270
4271#define CLKLOW 0xff /* Clock Low */
4272#define CLKHI 0xff00 /* Clock High */
4273
4274/* Bit maskes for TWIx_SLAVE_CTL */
4275
4276#define SEN 0x1 /* Slave Enable */
4277#define nSEN 0x0
4278#define STDVAL 0x4 /* Slave Transmit Data Valid */
4279#define nSTDVAL 0x0
4280#define NAK 0x8 /* Not Acknowledge */
4281#define nNAK 0x0
4282#define GEN 0x10 /* General Call Enable */
4283#define nGEN 0x0
4284
4285/* Bit maskes for TWIx_SLAVE_ADDR */
4286
4287#define SADDR 0x7f /* Slave Mode Address */
4288
4289/* Bit maskes for TWIx_SLAVE_STAT */
4290
4291#define SDIR 0x1 /* Slave Transfer Direction */
4292#define nSDIR 0x0
4293#define GCALL 0x2 /* General Call */
4294#define nGCALL 0x0
4295
4296/* Bit maskes for TWIx_MASTER_CTL */
4297
4298#define MEN 0x1 /* Master Mode Enable */
4299#define nMEN 0x0
4300#define MDIR 0x4 /* Master Transfer Direction */
4301#define nMDIR 0x0
4302#define FAST 0x8 /* Fast Mode */
4303#define nFAST 0x0
4304#define STOP 0x10 /* Issue Stop Condition */
4305#define nSTOP 0x0
4306#define RSTART 0x20 /* Repeat Start */
4307#define nRSTART 0x0
4308#define DCNT 0x3fc0 /* Data Transfer Count */
4309#define SDAOVR 0x4000 /* Serial Data Override */
4310#define nSDAOVR 0x0
4311#define SCLOVR 0x8000 /* Serial Clock Override */
4312#define nSCLOVR 0x0
4313
4314/* Bit maskes for TWIx_MASTER_ADDR */
4315
4316#define MADDR 0x7f /* Master Mode Address */
4317
4318/* Bit maskes for TWIx_MASTER_STAT */
4319
4320#define MPROG 0x1 /* Master Transfer in Progress */
4321#define nMPROG 0x0
4322#define LOSTARB 0x2 /* Lost Arbitration */
4323#define nLOSTARB 0x0
4324#define ANAK 0x4 /* Address Not Acknowledged */
4325#define nANAK 0x0
4326#define DNAK 0x8 /* Data Not Acknowledged */
4327#define nDNAK 0x0
4328#define BUFRDERR 0x10 /* Buffer Read Error */
4329#define nBUFRDERR 0x0
4330#define BUFWRERR 0x20 /* Buffer Write Error */
4331#define nBUFWRERR 0x0
4332#define SDASEN 0x40 /* Serial Data Sense */
4333#define nSDASEN 0x0
4334#define SCLSEN 0x80 /* Serial Clock Sense */
4335#define nSCLSEN 0x0
4336#define BUSBUSY 0x100 /* Bus Busy */
4337#define nBUSBUSY 0x0
4338
4339/* Bit maskes for TWIx_FIFO_CTL */
4340
4341#define XMTFLUSH 0x1 /* Transmit Buffer Flush */
4342#define nXMTFLUSH 0x0
4343#define RCVFLUSH 0x2 /* Receive Buffer Flush */
4344#define nRCVFLUSH 0x0
4345#define XMTINTLEN 0x4 /* Transmit Buffer Interrupt Length */
4346#define nXMTINTLEN 0x0
4347#define RCVINTLEN 0x8 /* Receive Buffer Interrupt Length */
4348#define nRCVINTLEN 0x0
4349
4350/* Bit maskes for TWIx_FIFO_STAT */
4351
4352#define XMTSTAT 0x3 /* Transmit FIFO Status */
4353#define RCVSTAT 0xc /* Receive FIFO Status */
4354
4355/* Bit maskes for TWIx_INT_MASK */
4356
4357#define SINITM 0x1 /* Slave Transfer Initiated Interrupt Mask */
4358#define nSINITM 0x0
4359#define SCOMPM 0x2 /* Slave Transfer Complete Interrupt Mask */
4360#define nSCOMPM 0x0
4361#define SERRM 0x4 /* Slave Transfer Error Interrupt Mask */
4362#define nSERRM 0x0
4363#define SOVFM 0x8 /* Slave Overflow Interrupt Mask */
4364#define nSOVFM 0x0
4365#define MCOMPM 0x10 /* Master Transfer Complete Interrupt Mask */
4366#define nMCOMPM 0x0
4367#define MERRM 0x20 /* Master Transfer Error Interrupt Mask */
4368#define nMERRM 0x0
4369#define XMTSERVM 0x40 /* Transmit FIFO Service Interrupt Mask */
4370#define nXMTSERVM 0x0
4371#define RCVSERVM 0x80 /* Receive FIFO Service Interrupt Mask */
4372#define nRCVSERVM 0x0
4373
4374/* Bit maskes for TWIx_INT_STAT */
4375
4376#define SINIT 0x1 /* Slave Transfer Initiated */
4377#define nSINIT 0x0
4378#define SCOMP 0x2 /* Slave Transfer Complete */
4379#define nSCOMP 0x0
4380#define SERR 0x4 /* Slave Transfer Error */
4381#define nSERR 0x0
4382#define SOVF 0x8 /* Slave Overflow */
4383#define nSOVF 0x0
4384#define MCOMP 0x10 /* Master Transfer Complete */
4385#define nMCOMP 0x0
4386#define MERR 0x20 /* Master Transfer Error */
4387#define nMERR 0x0
4388#define XMTSERV 0x40 /* Transmit FIFO Service */
4389#define nXMTSERV 0x0
4390#define RCVSERV 0x80 /* Receive FIFO Service */
4391#define nRCVSERV 0x0
4392
4393/* Bit maskes for TWIx_XMT_DATA8 */
4394
4395#define XMTDATA8 0xff /* Transmit FIFO 8-Bit Data */
4396
4397/* Bit maskes for TWIx_XMT_DATA16 */
4398
4399#define XMTDATA16 0xffff /* Transmit FIFO 16-Bit Data */
4400
4401/* Bit maskes for TWIx_RCV_DATA8 */
4402
4403#define RCVDATA8 0xff /* Receive FIFO 8-Bit Data */
4404
4405/* Bit maskes for TWIx_RCV_DATA16 */
4406
4407#define RCVDATA16 0xffff /* Receive FIFO 16-Bit Data */
4408
4409/* Bit masks for SPORTx_TCR1 */
4410
4411#define TCKFE 0x4000 /* Clock Falling Edge Select */
4412#define nTCKFE 0x0
4413#define LATFS 0x2000 /* Late Transmit Frame Sync */
4414#define nLATFS 0x0
4415#define LTFS 0x1000 /* Low Transmit Frame Sync Select */
4416#define nLTFS 0x0
4417#define DITFS 0x800 /* Data-Independent Transmit Frame Sync Select */
4418#define nDITFS 0x0
4419#define TFSR 0x400 /* Transmit Frame Sync Required Select */
4420#define nTFSR 0x0
4421#define ITFS 0x200 /* Internal Transmit Frame Sync Select */
4422#define nITFS 0x0
4423#define TLSBIT 0x10 /* Transmit Bit Order */
4424#define nTLSBIT 0x0
4425#define TDTYPE 0xc /* Data Formatting Type Select */
4426#define ITCLK 0x2 /* Internal Transmit Clock Select */
4427#define nITCLK 0x0
4428#define TSPEN 0x1 /* Transmit Enable */
4429#define nTSPEN 0x0
4430
4431/* Bit masks for SPORTx_TCR2 */
4432
4433#define TRFST 0x400 /* Left/Right Order */
4434#define nTRFST 0x0
4435#define TSFSE 0x200 /* Transmit Stereo Frame Sync Enable */
4436#define nTSFSE 0x0
4437#define TXSE 0x100 /* TxSEC Enable */
4438#define nTXSE 0x0
4439#define SLEN_T 0x1f /* SPORT Word Length */
4440
4441/* Bit masks for SPORTx_RCR1 */
4442
4443#define RCKFE 0x4000 /* Clock Falling Edge Select */
4444#define nRCKFE 0x0
4445#define LARFS 0x2000 /* Late Receive Frame Sync */
4446#define nLARFS 0x0
4447#define LRFS 0x1000 /* Low Receive Frame Sync Select */
4448#define nLRFS 0x0
4449#define RFSR 0x400 /* Receive Frame Sync Required Select */
4450#define nRFSR 0x0
4451#define IRFS 0x200 /* Internal Receive Frame Sync Select */
4452#define nIRFS 0x0
4453#define RLSBIT 0x10 /* Receive Bit Order */
4454#define nRLSBIT 0x0
4455#define RDTYPE 0xc /* Data Formatting Type Select */
4456#define IRCLK 0x2 /* Internal Receive Clock Select */
4457#define nIRCLK 0x0
4458#define RSPEN 0x1 /* Receive Enable */
4459#define nRSPEN 0x0
4460
4461/* Bit masks for SPORTx_RCR2 */
4462
4463#define RRFST 0x400 /* Left/Right Order */
4464#define nRRFST 0x0
4465#define RSFSE 0x200 /* Receive Stereo Frame Sync Enable */
4466#define nRSFSE 0x0
4467#define RXSE 0x100 /* RxSEC Enable */
4468#define nRXSE 0x0
4469#define SLEN_R 0x1f /* SPORT Word Length */
4470
4471/* Bit masks for SPORTx_STAT */
4472
4473#define TXHRE 0x40 /* Transmit Hold Register Empty */
4474#define nTXHRE 0x0
4475#define TOVF 0x20 /* Sticky Transmit Overflow Status */
4476#define nTOVF 0x0
4477#define TUVF 0x10 /* Sticky Transmit Underflow Status */
4478#define nTUVF 0x0
4479#define TXF 0x8 /* Transmit FIFO Full Status */
4480#define nTXF 0x0
4481#define ROVF 0x4 /* Sticky Receive Overflow Status */
4482#define nROVF 0x0
4483#define RUVF 0x2 /* Sticky Receive Underflow Status */
4484#define nRUVF 0x0
4485#define RXNE 0x1 /* Receive FIFO Not Empty Status */
4486#define nRXNE 0x0
4487
4488/* Bit masks for SPORTx_MCMC1 */
4489
4490#define WSIZE 0xf000 /* Window Size */
4491#define WOFF 0x3ff /* Windows Offset */
4492
4493/* Bit masks for SPORTx_MCMC2 */
4494
4495#define MFD 0xf000 /* Multi channel Frame Delay */
4496#define FSDR 0x80 /* Frame Sync to Data Relationship */
4497#define nFSDR 0x0
4834826e
JJ
4498#define MCMEN 0x10 /* Multi channel Frame Mode Enable */
4499#define nMCMEN 0x0
84132c9d
JJ
4500#define MCDRXPE 0x8 /* Multi channel DMA Receive Packing */
4501#define nMCDRXPE 0x0
4502#define MCDTXPE 0x4 /* Multi channel DMA Transmit Packing */
4503#define nMCDTXPE 0x0
4504#define MCCRM 0x3 /* 2X Clock Recovery Mode */
4505
4506/* Bit masks for SPORTx_CHNL */
4507
4508#define CUR_CHNL 0x3ff /* Current Channel Indicator */
4509
4510/* Bit masks for UARTx_LCR */
4511
4512#if 0
4513/* conflicts with legacy one in last section */
4514#define WLS 0x3 /* Word Length Select */
4515#endif
4516#define STB 0x4 /* Stop Bits */
4517#define nSTB 0x0
4518#define PEN 0x8 /* Parity Enable */
4519#define nPEN 0x0
4520#define EPS 0x10 /* Even Parity Select */
4521#define nEPS 0x0
4522#define STP 0x20 /* Sticky Parity */
4523#define nSTP 0x0
4524#define SB 0x40 /* Set Break */
4525#define nSB 0x0
4526
4527/* Bit masks for UARTx_MCR */
4528
4529#define XOFF 0x1 /* Transmitter Off */
4530#define nXOFF 0x0
4531#define MRTS 0x2 /* Manual Request To Send */
4532#define nMRTS 0x0
4533#define RFIT 0x4 /* Receive FIFO IRQ Threshold */
4534#define nRFIT 0x0
4535#define RFRT 0x8 /* Receive FIFO RTS Threshold */
4536#define nRFRT 0x0
4537#define LOOP_ENA 0x10 /* Loopback Mode Enable */
4538#define nLOOP_ENA 0x0
4539#define FCPOL 0x20 /* Flow Control Pin Polarity */
4540#define nFCPOL 0x0
4541#define ARTS 0x40 /* Automatic Request To Send */
4542#define nARTS 0x0
4543#define ACTS 0x80 /* Automatic Clear To Send */
4544#define nACTS 0x0
4545
4546/* Bit masks for UARTx_LSR */
4547
4548#define DR 0x1 /* Data Ready */
4549#define nDR 0x0
4550#define OE 0x2 /* Overrun Error */
4551#define nOE 0x0
4552#define PE 0x4 /* Parity Error */
4553#define nPE 0x0
4554#define FE 0x8 /* Framing Error */
4555#define nFE 0x0
4556#define BI 0x10 /* Break Interrupt */
4557#define nBI 0x0
4558#define THRE 0x20 /* THR Empty */
4559#define nTHRE 0x0
4560#define TEMT 0x40 /* Transmitter Empty */
4561#define nTEMT 0x0
4562#define TFI 0x80 /* Transmission Finished Indicator */
4563#define nTFI 0x0
4564
4565/* Bit masks for UARTx_MSR */
4566
4567#define SCTS 0x1 /* Sticky CTS */
4568#define nSCTS 0x0
4569#define CTS 0x10 /* Clear To Send */
4570#define nCTS 0x0
4571#define RFCS 0x20 /* Receive FIFO Count Status */
4572#define nRFCS 0x0
4573
4574/* Bit masks for UARTx_IER_SET and UARTx_IER_CLEAR */
4575
4576#define ERBFI 0x1 /* Enable Receive Buffer Full Interrupt */
4577#define nERBFI 0x0
4578#define ETBEI 0x2 /* Enable Transmit Buffer Empty Interrupt */
4579#define nETBEI 0x0
4580#define ELSI 0x4 /* Enable Receive Status Interrupt */
4581#define nELSI 0x0
4582#define EDSSI 0x8 /* Enable Modem Status Interrupt */
4583#define nEDSSI 0x0
4584#define EDTPTI 0x10 /* Enable DMA Transmit PIRQ Interrupt */
4585#define nEDTPTI 0x0
4586#define ETFI 0x20 /* Enable Transmission Finished Interrupt */
4587#define nETFI 0x0
4588#define ERFCI 0x40 /* Enable Receive FIFO Count Interrupt */
4589#define nERFCI 0x0
4590
4591
4592/* Bit masks for UARTx_GCTL */
4593
4594#define UCEN 0x1 /* UART Enable */
4595#define nUCEN 0x0
4596#define IREN 0x2 /* IrDA Mode Enable */
4597#define nIREN 0x0
4598#define TPOLC 0x4 /* IrDA TX Polarity Change */
4599#define nTPOLC 0x0
4600#define RPOLC 0x8 /* IrDA RX Polarity Change */
4601#define nRPOLC 0x0
4602#define FPE 0x10 /* Force Parity Error */
4603#define nFPE 0x0
4604#define FFE 0x20 /* Force Framing Error */
4605#define nFFE 0x0
4606#define EDBO 0x40 /* Enable Divide-by-One */
4607#define nEDBO 0x0
4608#define EGLSI 0x80 /* Enable Global LS Interrupt */
4609#define nEGLSI 0x0
4610
4611/* Bit masks for HMDMAx_CONTROL */
4612
4613#define HMDMAEN 0x1 /* Handshake MDMA Enable */
4614#define nHMDMAEN 0x0
4615#define REP 0x2 /* Handshake MDMA Request Polarity */
4616#define nREP 0x0
4617#define UTE 0x8 /* Urgency Threshold Enable */
4618#define nUTE 0x0
4619#define OIE 0x10 /* Overflow Interrupt Enable */
4620#define nOIE 0x0
4621#define BDIE 0x20 /* Block Done Interrupt Enable */
4622#define nBDIE 0x0
4623#define MBDI 0x40 /* Mask Block Done Interrupt */
4624#define nMBDI 0x0
4834826e
JJ
4625#define SND 0x80 /* Source/Not Destination */
4626#define nSND 0x0
84132c9d
JJ
4627#define DRQ 0x300 /* Handshake MDMA Request Type */
4628#define RBC 0x1000 /* Force Reload of BCOUNT */
4629#define nRBC 0x0
4630#define PS 0x2000 /* Pin Status */
4631#define nPS 0x0
4632#define OI 0x4000 /* Overflow Interrupt Generated */
4633#define nOI 0x0
4634#define BDI 0x8000 /* Block Done Interrupt Generated */
4635#define nBDI 0x0
4636
4637/* ******************************************* */
4638/* MULTI BIT MACRO ENUMERATIONS */
4639/* ******************************************* */
4640
4834826e 4641/* SYSCR Masks */
1cfc2fea
MF
4642#define BMODE 0x000F /* Boot Mode. Mirror of BMODE Mode Pins */
4643#define BMODE_NOBOOT 0x0000 /* The processor does not boot. Rather, the boot kernel executes an IDLE instruction. */
4644#define BMODE_FLASH 0x0001 /* Boot from 8-bit or 16-bit external flash memory */
4645#define BMODE_FIFO 0x0002 /* Boot from 16-bit asynchronous FIFO */
4646#define BMODE_SPIMEM 0x0003 /* Boot from serial SPI memory */
4647#define BMODE_SPIHOST 0x0004 /* Boot from SPI0 host (slave mode) */
4648#define BMODE_TWIMEM 0x0005 /* Boot from serial TWI memory */
4649#define BMODE_TWIHOST 0x0006 /* Boot from TWI0 host (slave mode) */
4650#define BMODE_UARTHOST 0x0007 /* Boot from UART host */
4651#define BMODE_UART1HOST 0x0007 /* Boot from UART1 host */
4652#define BMODE_SDRAMMEM 0x000A /* Boot from SDRAM memory (warm boot) */
4653#define BMODE_OTPMEM 0x000B /* Boot from OTP memory */
4654#define BMODE_NAND 0x000D /* Boot from 8- and 16-bit NAND flash */
4655#define BMODE_HOSTDMA_ACK 0x000E /* Boot from 16-bit host DMA (ACK mode) */
4656#define BMODE_HOSTDMA_INT 0x000F /* Boot from 8-bit host DMA (INT mode) */
4834826e 4657
4834826e 4658#define NOBOOT 0x0030 /* Execute From L1 or ASYNC Bank 0 When BMODE = 0 */
4834826e
JJ
4659#define BCODE 0x00F0
4660#define BCODE_NORMAL 0x0000 /* normal boot, update PLL/VR, quickboot as by WURESET */
4661#define BCODE_NOBOOT 0x0010 /* bypass boot, don't update PLL/VR */
4662#define BCODE_QUICKBOOT 0x0020 /* quick boot, overrule WURESET, don't update PLL/VR */
4663#define BCODE_ALLBOOT 0x0040 /* no quick boot, overrule WURESET, don't update PLL/VR */
4664#define BCODE_FULLBOOT 0x0060 /* no quick boot, overrule WURESET, update PLL/VR */
4665
4666#define CDMAPRIO 0x0100 /* DMA1 gets higher priority than DMA0 to L1 memory */
4667#define L2DMAPRIO 0x0200 /* DMA1 gets higher priority than DMA0 to L2 memory */
4668
4669#define WURESET 0x1000 /* wakeup event since last hardware reset */
4670#define DFRESET 0x2000 /* recent reset was due to a double fault event */
4671#define WDRESET 0x4000 /* recent reset was due to a watchdog event */
4672#define SWRESET 0x8000 /* recent reset was issued by software */
84132c9d
JJ
4673
4674/* CNT_COMMAND bit field options */
4675
4676#define W1LCNT_ZERO 0x0001 /* write 1 to load CNT_COUNTER with zero */
4677#define W1LCNT_MIN 0x0004 /* write 1 to load CNT_COUNTER from CNT_MIN */
4678#define W1LCNT_MAX 0x0008 /* write 1 to load CNT_COUNTER from CNT_MAX */
4679
4680#define W1LMIN_ZERO 0x0010 /* write 1 to load CNT_MIN with zero */
4681#define W1LMIN_CNT 0x0020 /* write 1 to load CNT_MIN from CNT_COUNTER */
4682#define W1LMIN_MAX 0x0080 /* write 1 to load CNT_MIN from CNT_MAX */
4683
4684#define W1LMAX_ZERO 0x0100 /* write 1 to load CNT_MAX with zero */
4685#define W1LMAX_CNT 0x0200 /* write 1 to load CNT_MAX from CNT_COUNTER */
4686#define W1LMAX_MIN 0x0400 /* write 1 to load CNT_MAX from CNT_MIN */
4687
4688/* CNT_CONFIG bit field options */
4689
4690#define CNTMODE_QUADENC 0x0000 /* quadrature encoder mode */
4691#define CNTMODE_BINENC 0x0100 /* binary encoder mode */
4692#define CNTMODE_UDCNT 0x0200 /* up/down counter mode */
4693#define CNTMODE_DIRCNT 0x0400 /* direction counter mode */
4694#define CNTMODE_DIRTMR 0x0500 /* direction timer mode */
4695
4696#define BNDMODE_COMP 0x0000 /* boundary compare mode */
4697#define BNDMODE_ZERO 0x1000 /* boundary compare and zero mode */
4698#define BNDMODE_CAPT 0x2000 /* boundary capture mode */
4699#define BNDMODE_AEXT 0x3000 /* boundary auto-extend mode */
4700
4701/* TMODE in TIMERx_CONFIG bit field options */
4702
4703#define PWM_OUT 0x0001
4704#define WDTH_CAP 0x0002
4705#define EXT_CLK 0x0003
4706
4707/* UARTx_LCR bit field options */
4708
4709#define WLS_5 0x0000 /* 5 data bits */
4710#define WLS_6 0x0001 /* 6 data bits */
4711#define WLS_7 0x0002 /* 7 data bits */
4712#define WLS_8 0x0003 /* 8 data bits */
4713
4714/* PINTx Register Bit Definitions */
4715
4716#define PIQ0 0x00000001
4717#define PIQ1 0x00000002
4718#define PIQ2 0x00000004
4719#define PIQ3 0x00000008
4720
4721#define PIQ4 0x00000010
4722#define PIQ5 0x00000020
4723#define PIQ6 0x00000040
4724#define PIQ7 0x00000080
4725
4726#define PIQ8 0x00000100
4727#define PIQ9 0x00000200
4728#define PIQ10 0x00000400
4729#define PIQ11 0x00000800
4730
4731#define PIQ12 0x00001000
4732#define PIQ13 0x00002000
4733#define PIQ14 0x00004000
4734#define PIQ15 0x00008000
4735
4736#define PIQ16 0x00010000
4737#define PIQ17 0x00020000
4738#define PIQ18 0x00040000
4739#define PIQ19 0x00080000
4740
4741#define PIQ20 0x00100000
4742#define PIQ21 0x00200000
4743#define PIQ22 0x00400000
4744#define PIQ23 0x00800000
4745
4746#define PIQ24 0x01000000
4747#define PIQ25 0x02000000
4748#define PIQ26 0x04000000
4749#define PIQ27 0x08000000
4750
4751#define PIQ28 0x10000000
4752#define PIQ29 0x20000000
4753#define PIQ30 0x40000000
4754#define PIQ31 0x80000000
4755
4756/* PORT A Bit Definitions for the registers
4757PORTA, PORTA_SET, PORTA_CLEAR,
4758PORTA_DIR_SET, PORTA_DIR_CLEAR, PORTA_INEN,
4759PORTA_FER registers
4760*/
4761
4762#define PA0 0x0001
4763#define PA1 0x0002
4764#define PA2 0x0004
4765#define PA3 0x0008
4766#define PA4 0x0010
4767#define PA5 0x0020
4768#define PA6 0x0040
4769#define PA7 0x0080
4770#define PA8 0x0100
4771#define PA9 0x0200
4772#define PA10 0x0400
4773#define PA11 0x0800
4774#define PA12 0x1000
4775#define PA13 0x2000
4776#define PA14 0x4000
4777#define PA15 0x8000
4778
4779/* PORT B Bit Definitions for the registers
4780PORTB, PORTB_SET, PORTB_CLEAR,
4781PORTB_DIR_SET, PORTB_DIR_CLEAR, PORTB_INEN,
4782PORTB_FER registers
4783*/
4784
4785#define PB0 0x0001
4786#define PB1 0x0002
4787#define PB2 0x0004
4788#define PB3 0x0008
4789#define PB4 0x0010
4790#define PB5 0x0020
4791#define PB6 0x0040
4792#define PB7 0x0080
4793#define PB8 0x0100
4794#define PB9 0x0200
4795#define PB10 0x0400
4796#define PB11 0x0800
4797#define PB12 0x1000
4798#define PB13 0x2000
4799#define PB14 0x4000
4800
4801
4802/* PORT C Bit Definitions for the registers
4803PORTC, PORTC_SET, PORTC_CLEAR,
4804PORTC_DIR_SET, PORTC_DIR_CLEAR, PORTC_INEN,
4805PORTC_FER registers
4806*/
4807
4808
4809#define PC0 0x0001
4810#define PC1 0x0002
4811#define PC2 0x0004
4812#define PC3 0x0008
4813#define PC4 0x0010
4814#define PC5 0x0020
4815#define PC6 0x0040
4816#define PC7 0x0080
4817#define PC8 0x0100
4818#define PC9 0x0200
4819#define PC10 0x0400
4820#define PC11 0x0800
4821#define PC12 0x1000
4822#define PC13 0x2000
4823
4824
4825/* PORT D Bit Definitions for the registers
4826PORTD, PORTD_SET, PORTD_CLEAR,
4827PORTD_DIR_SET, PORTD_DIR_CLEAR, PORTD_INEN,
4828PORTD_FER registers
4829*/
4830
4831#define PD0 0x0001
4832#define PD1 0x0002
4833#define PD2 0x0004
4834#define PD3 0x0008
4835#define PD4 0x0010
4836#define PD5 0x0020
4837#define PD6 0x0040
4838#define PD7 0x0080
4839#define PD8 0x0100
4840#define PD9 0x0200
4841#define PD10 0x0400
4842#define PD11 0x0800
4843#define PD12 0x1000
4844#define PD13 0x2000
4845#define PD14 0x4000
4846#define PD15 0x8000
4847
4848/* PORT E Bit Definitions for the registers
4849PORTE, PORTE_SET, PORTE_CLEAR,
4850PORTE_DIR_SET, PORTE_DIR_CLEAR, PORTE_INEN,
4851PORTE_FER registers
4852*/
4853
4854
4855#define PE0 0x0001
4856#define PE1 0x0002
4857#define PE2 0x0004
4858#define PE3 0x0008
4859#define PE4 0x0010
4860#define PE5 0x0020
4861#define PE6 0x0040
4862#define PE7 0x0080
4863#define PE8 0x0100
4864#define PE9 0x0200
4865#define PE10 0x0400
4866#define PE11 0x0800
4867#define PE12 0x1000
4868#define PE13 0x2000
4869#define PE14 0x4000
4870#define PE15 0x8000
4871
4872/* PORT F Bit Definitions for the registers
4873PORTF, PORTF_SET, PORTF_CLEAR,
4874PORTF_DIR_SET, PORTF_DIR_CLEAR, PORTF_INEN,
4875PORTF_FER registers
4876*/
4877
4878
4879#define PF0 0x0001
4880#define PF1 0x0002
4881#define PF2 0x0004
4882#define PF3 0x0008
4883#define PF4 0x0010
4884#define PF5 0x0020
4885#define PF6 0x0040
4886#define PF7 0x0080
4887#define PF8 0x0100
4888#define PF9 0x0200
4889#define PF10 0x0400
4890#define PF11 0x0800
4891#define PF12 0x1000
4892#define PF13 0x2000
4893#define PF14 0x4000
4894#define PF15 0x8000
4895
4896/* PORT G Bit Definitions for the registers
4897PORTG, PORTG_SET, PORTG_CLEAR,
4898PORTG_DIR_SET, PORTG_DIR_CLEAR, PORTG_INEN,
4899PORTG_FER registers
4900*/
4901
4902
4903#define PG0 0x0001
4904#define PG1 0x0002
4905#define PG2 0x0004
4906#define PG3 0x0008
4907#define PG4 0x0010
4908#define PG5 0x0020
4909#define PG6 0x0040
4910#define PG7 0x0080
4911#define PG8 0x0100
4912#define PG9 0x0200
4913#define PG10 0x0400
4914#define PG11 0x0800
4915#define PG12 0x1000
4916#define PG13 0x2000
4917#define PG14 0x4000
4918#define PG15 0x8000
4919
4920/* PORT H Bit Definitions for the registers
4921PORTH, PORTH_SET, PORTH_CLEAR,
4922PORTH_DIR_SET, PORTH_DIR_CLEAR, PORTH_INEN,
4923PORTH_FER registers
4924*/
4925
4926
4927#define PH0 0x0001
4928#define PH1 0x0002
4929#define PH2 0x0004
4930#define PH3 0x0008
4931#define PH4 0x0010
4932#define PH5 0x0020
4933#define PH6 0x0040
4934#define PH7 0x0080
4935#define PH8 0x0100
4936#define PH9 0x0200
4937#define PH10 0x0400
4938#define PH11 0x0800
4939#define PH12 0x1000
4940#define PH13 0x2000
4941
4942
4943/* PORT I Bit Definitions for the registers
4944PORTI, PORTI_SET, PORTI_CLEAR,
4945PORTI_DIR_SET, PORTI_DIR_CLEAR, PORTI_INEN,
4946PORTI_FER registers
4947*/
4948
4949
4950#define PI0 0x0001
4951#define PI1 0x0002
4952#define PI2 0x0004
4953#define PI3 0x0008
4954#define PI4 0x0010
4955#define PI5 0x0020
4956#define PI6 0x0040
4957#define PI7 0x0080
4958#define PI8 0x0100
4959#define PI9 0x0200
4960#define PI10 0x0400
4961#define PI11 0x0800
4962#define PI12 0x1000
4963#define PI13 0x2000
4964#define PI14 0x4000
4965#define PI15 0x8000
4966
4967/* PORT J Bit Definitions for the registers
4968PORTJ, PORTJ_SET, PORTJ_CLEAR,
4969PORTJ_DIR_SET, PORTJ_DIR_CLEAR, PORTJ_INEN,
4970PORTJ_FER registers
4971*/
4972
4973
4974#define PJ0 0x0001
4975#define PJ1 0x0002
4976#define PJ2 0x0004
4977#define PJ3 0x0008
4978#define PJ4 0x0010
4979#define PJ5 0x0020
4980#define PJ6 0x0040
4981#define PJ7 0x0080
4982#define PJ8 0x0100
4983#define PJ9 0x0200
4984#define PJ10 0x0400
4985#define PJ11 0x0800
4986#define PJ12 0x1000
4987#define PJ13 0x2000
4988
4989
4990/* Port Muxing Bit Fields for PORTx_MUX Registers */
4991
4992#define MUX0 0x00000003
4993#define MUX0_0 0x00000000
4994#define MUX0_1 0x00000001
4995#define MUX0_2 0x00000002
4996#define MUX0_3 0x00000003
4997
4998#define MUX1 0x0000000C
4999#define MUX1_0 0x00000000
5000#define MUX1_1 0x00000004
5001#define MUX1_2 0x00000008
5002#define MUX1_3 0x0000000C
5003
5004#define MUX2 0x00000030
5005#define MUX2_0 0x00000000
5006#define MUX2_1 0x00000010
5007#define MUX2_2 0x00000020
5008#define MUX2_3 0x00000030
5009
5010#define MUX3 0x000000C0
5011#define MUX3_0 0x00000000
5012#define MUX3_1 0x00000040
5013#define MUX3_2 0x00000080
5014#define MUX3_3 0x000000C0
5015
5016#define MUX4 0x00000300
5017#define MUX4_0 0x00000000
5018#define MUX4_1 0x00000100
5019#define MUX4_2 0x00000200
5020#define MUX4_3 0x00000300
5021
5022#define MUX5 0x00000C00
5023#define MUX5_0 0x00000000
5024#define MUX5_1 0x00000400
5025#define MUX5_2 0x00000800
5026#define MUX5_3 0x00000C00
5027
5028#define MUX6 0x00003000
5029#define MUX6_0 0x00000000
5030#define MUX6_1 0x00001000
5031#define MUX6_2 0x00002000
5032#define MUX6_3 0x00003000
5033
5034#define MUX7 0x0000C000
5035#define MUX7_0 0x00000000
5036#define MUX7_1 0x00004000
5037#define MUX7_2 0x00008000
5038#define MUX7_3 0x0000C000
5039
5040#define MUX8 0x00030000
5041#define MUX8_0 0x00000000
5042#define MUX8_1 0x00010000
5043#define MUX8_2 0x00020000
5044#define MUX8_3 0x00030000
5045
5046#define MUX9 0x000C0000
5047#define MUX9_0 0x00000000
5048#define MUX9_1 0x00040000
5049#define MUX9_2 0x00080000
5050#define MUX9_3 0x000C0000
5051
5052#define MUX10 0x00300000
5053#define MUX10_0 0x00000000
5054#define MUX10_1 0x00100000
5055#define MUX10_2 0x00200000
5056#define MUX10_3 0x00300000
5057
5058#define MUX11 0x00C00000
5059#define MUX11_0 0x00000000
5060#define MUX11_1 0x00400000
5061#define MUX11_2 0x00800000
5062#define MUX11_3 0x00C00000
5063
5064#define MUX12 0x03000000
5065#define MUX12_0 0x00000000
5066#define MUX12_1 0x01000000
5067#define MUX12_2 0x02000000
5068#define MUX12_3 0x03000000
5069
5070#define MUX13 0x0C000000
5071#define MUX13_0 0x00000000
5072#define MUX13_1 0x04000000
5073#define MUX13_2 0x08000000
5074#define MUX13_3 0x0C000000
5075
5076#define MUX14 0x30000000
5077#define MUX14_0 0x00000000
5078#define MUX14_1 0x10000000
5079#define MUX14_2 0x20000000
5080#define MUX14_3 0x30000000
5081
5082#define MUX15 0xC0000000
5083#define MUX15_0 0x00000000
5084#define MUX15_1 0x40000000
5085#define MUX15_2 0x80000000
5086#define MUX15_3 0xC0000000
5087
4834826e
JJ
5088#ifdef _MISRA_RULES
5089#define MUX(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) \
5090 ((((b15)&3u) << 30) | \
5091 (((b14)&3u) << 28) | \
5092 (((b13)&3u) << 26) | \
5093 (((b12)&3u) << 24) | \
5094 (((b11)&3u) << 22) | \
5095 (((b10)&3u) << 20) | \
5096 (((b9) &3u) << 18) | \
5097 (((b8) &3u) << 16) | \
5098 (((b7) &3u) << 14) | \
5099 (((b6) &3u) << 12) | \
5100 (((b5) &3u) << 10) | \
5101 (((b4) &3u) << 8) | \
5102 (((b3) &3u) << 6) | \
5103 (((b2) &3u) << 4) | \
5104 (((b1) &3u) << 2) | \
5105 (((b0) &3u)))
5106#else
84132c9d
JJ
5107#define MUX(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) \
5108 ((((b15)&3) << 30) | \
5109 (((b14)&3) << 28) | \
5110 (((b13)&3) << 26) | \
5111 (((b12)&3) << 24) | \
5112 (((b11)&3) << 22) | \
5113 (((b10)&3) << 20) | \
5114 (((b9) &3) << 18) | \
5115 (((b8) &3) << 16) | \
5116 (((b7) &3) << 14) | \
5117 (((b6) &3) << 12) | \
5118 (((b5) &3) << 10) | \
5119 (((b4) &3) << 8) | \
5120 (((b3) &3) << 6) | \
5121 (((b2) &3) << 4) | \
5122 (((b1) &3) << 2) | \
5123 (((b0) &3)))
4834826e 5124#endif /* _MISRA_RULES */
84132c9d
JJ
5125
5126/* Bit fields for PINT0_ASSIGN and PINT1_ASSIGN registers */
5127
5128#define B0MAP 0x000000FF /* Byte 0 Lower Half Port Mapping */
5129#define B0MAP_PAL 0x00000000 /* Map Port A Low to Byte 0 */
5130#define B0MAP_PBL 0x00000001 /* Map Port B Low to Byte 0 */
5131#define B1MAP 0x0000FF00 /* Byte 1 Upper Half Port Mapping */
5132#define B1MAP_PAH 0x00000000 /* Map Port A High to Byte 1 */
5133#define B1MAP_PBH 0x00000100 /* Map Port B High to Byte 1 */
5134#define B2MAP 0x00FF0000 /* Byte 2 Lower Half Port Mapping */
5135#define B2MAP_PAL 0x00000000 /* Map Port A Low to Byte 2 */
5136#define B2MAP_PBL 0x00010000 /* Map Port B Low to Byte 2 */
5137#define B3MAP 0xFF000000 /* Byte 3 Upper Half Port Mapping */
5138#define B3MAP_PAH 0x00000000 /* Map Port A High to Byte 3 */
5139#define B3MAP_PBH 0x01000000 /* Map Port B High to Byte 3 */
5140
5141/* Bit fields for PINT2_ASSIGN and PINT3_ASSIGN registers */
5142
5143#define B0MAP_PCL 0x00000000 /* Map Port C Low to Byte 0 */
5144#define B0MAP_PDL 0x00000001 /* Map Port D Low to Byte 0 */
5145#define B0MAP_PEL 0x00000002 /* Map Port E Low to Byte 0 */
5146#define B0MAP_PFL 0x00000003 /* Map Port F Low to Byte 0 */
5147#define B0MAP_PGL 0x00000004 /* Map Port G Low to Byte 0 */
5148#define B0MAP_PHL 0x00000005 /* Map Port H Low to Byte 0 */
5149#define B0MAP_PIL 0x00000006 /* Map Port I Low to Byte 0 */
5150#define B0MAP_PJL 0x00000007 /* Map Port J Low to Byte 0 */
5151
5152#define B1MAP_PCH 0x00000000 /* Map Port C High to Byte 1 */
5153#define B1MAP_PDH 0x00000100 /* Map Port D High to Byte 1 */
5154#define B1MAP_PEH 0x00000200 /* Map Port E High to Byte 1 */
5155#define B1MAP_PFH 0x00000300 /* Map Port F High to Byte 1 */
5156#define B1MAP_PGH 0x00000400 /* Map Port G High to Byte 1 */
5157#define B1MAP_PHH 0x00000500 /* Map Port H High to Byte 1 */
5158#define B1MAP_PIH 0x00000600 /* Map Port I High to Byte 1 */
5159#define B1MAP_PJH 0x00000700 /* Map Port J High to Byte 1 */
5160
5161#define B2MAP_PCL 0x00000000 /* Map Port C Low to Byte 2 */
5162#define B2MAP_PDL 0x00010000 /* Map Port D Low to Byte 2 */
5163#define B2MAP_PEL 0x00020000 /* Map Port E Low to Byte 2 */
5164#define B2MAP_PFL 0x00030000 /* Map Port F Low to Byte 2 */
5165#define B2MAP_PGL 0x00040000 /* Map Port G Low to Byte 2 */
5166#define B2MAP_PHL 0x00050000 /* Map Port H Low to Byte 2 */
5167#define B2MAP_PIL 0x00060000 /* Map Port I Low to Byte 2 */
5168#define B2MAP_PJL 0x00070000 /* Map Port J Low to Byte 2 */
5169
5170#define B3MAP_PCH 0x00000000 /* Map Port C High to Byte 3 */
5171#define B3MAP_PDH 0x01000000 /* Map Port D High to Byte 3 */
5172#define B3MAP_PEH 0x02000000 /* Map Port E High to Byte 3 */
5173#define B3MAP_PFH 0x03000000 /* Map Port F High to Byte 3 */
5174#define B3MAP_PGH 0x04000000 /* Map Port G High to Byte 3 */
5175#define B3MAP_PHH 0x05000000 /* Map Port H High to Byte 3 */
5176#define B3MAP_PIH 0x06000000 /* Map Port I High to Byte 3 */
5177#define B3MAP_PJH 0x07000000 /* Map Port J High to Byte 3 */
5178
5179
5180/* for legacy compatibility */
5181
4834826e
JJ
5182#ifdef _MISRA_RULES
5183#define WLS(x) (((x)-5u) & 0x03u) /* Word Length Select */
5184#else
84132c9d 5185#define WLS(x) (((x)-5) & 0x03) /* Word Length Select */
4834826e 5186#endif /* _MISRA_RULES */
84132c9d
JJ
5187#define W1LMAX_MAX W1LMAX_MIN
5188#define EBIU_AMCBCTL0 EBIU_AMBCTL0
5189#define EBIU_AMCBCTL1 EBIU_AMBCTL1
5190#define PINT0_IRQ PINT0_REQUEST
5191#define PINT1_IRQ PINT1_REQUEST
5192#define PINT2_IRQ PINT2_REQUEST
5193#define PINT3_IRQ PINT3_REQUEST
5194
84132c9d
JJ
5195
5196/*********************************************************************************** */
5197/* System MMR Register Bits */
5198/******************************************************************************* */
5199
5200/* ************************** DMA CONTROLLER MASKS ********************************/
5201/* DMAx_CONFIG, MDMA_yy_CONFIG Masks */
5202#define WDSIZE_8 0x0000 /* Transfer Word Size = 8 */
5203#define WDSIZE_16 0x0004 /* Transfer Word Size = 16 */
5204#define WDSIZE_32 0x0008 /* Transfer Word Size = 32 */
5205#define NDSIZE_0 0x0000 /* Next Descriptor Size = 0 (Stop/Autobuffer) */
5206#define NDSIZE_1 0x0100 /* Next Descriptor Size = 1 */
5207#define NDSIZE_2 0x0200 /* Next Descriptor Size = 2 */
5208#define NDSIZE_3 0x0300 /* Next Descriptor Size = 3 */
5209#define NDSIZE_4 0x0400 /* Next Descriptor Size = 4 */
5210#define NDSIZE_5 0x0500 /* Next Descriptor Size = 5 */
5211#define NDSIZE_6 0x0600 /* Next Descriptor Size = 6 */
5212#define NDSIZE_7 0x0700 /* Next Descriptor Size = 7 */
5213#define NDSIZE_8 0x0800 /* Next Descriptor Size = 8 */
5214#define NDSIZE_9 0x0900 /* Next Descriptor Size = 9 */
4834826e
JJ
5215
5216#ifdef _MISRA_RULES
5217#define SET_NDSIZE(x) (((x)&0xFu)<<8)
5218#else
5219#define SET_NDSIZE(x) (((x)&0xF)<<8)
5220#endif
5221 /* NDSIZE[3:0] (Flex Descriptor Size)
84132c9d
JJ
5222 Size of next descriptor
5223 0000 - Required if in Stop or Autobuffer mode
5224 0001 - 1001 - Descriptor size
5225 1010 - 1111 - Reserved */
5226#define FLOW_STOP 0x0000 /* Stop Mode */
5227#define FLOW_AUTO 0x1000 /* Autobuffer Mode */
5228#define FLOW_ARRAY 0x4000 /* Descriptor Array Mode */
5229#define FLOW_SMALL 0x6000 /* Small Model Descriptor List Mode */
5230#define FLOW_LARGE 0x7000 /* Large Model Descriptor List Mode */
5231
5232
5233/* ********************* PLL AND RESET MASKS ************************ */
5234/* SWRST Mask */
5235#define SYSTEM_RESET 0x0007 /* Initiates A System Software Reset */
5236#define DOUBLE_FAULT 0x0008 /* Core Double Fault Causes Reset */
5237#define RESET_DOUBLE 0x2000 /* SW Reset Generated By Core Double-Fault */
5238#define RESET_WDOG 0x4000 /* SW Reset Generated By Watchdog Timer */
5239#define RESET_SOFTWARE 0x8000 /* SW Reset Occurred Since Last Read Of SWRST */
5240
84132c9d
JJ
5241
5242/* ******************************************* */
5243/* MULTI BIT MACRO ENUMERATIONS */
5244/* ******************************************* */
5245
5246/* PORT A Bit Definitions for the registers
5247PORTA, PORTA_SET, PORTA_CLEAR, PORTA_DIR_SET,
5248PORTA_DIR_CLEAR, PORTA_INEN, PORTA_FER */
5249
5250#define nPA0 0x0
5251#define nPA1 0x0
5252#define nPA2 0x0
5253#define nPA3 0x0
5254#define nPA4 0x0
5255#define nPA5 0x0
5256#define nPA6 0x0
5257#define nPA7 0x0
5258#define nPA8 0x0
5259#define nPA9 0x0
5260#define nPA10 0x0
5261#define nPA11 0x0
5262#define nPA12 0x0
5263#define nPA13 0x0
5264#define nPA14 0x0
5265#define nPA15 0x0
5266
5267/* PORT B Bit Definitions for the registers
5268PORTB, PORTB_SET, PORTB_CLEAR, PORTB_DIR_SET,
5269PORTB_DIR_CLEAR, PORTB_INEN, PORTB_FER */
5270
5271#define nPB0 0x0
5272#define nPB1 0x0
5273#define nPB2 0x0
5274#define nPB3 0x0
5275#define nPB4 0x0
5276#define nPB5 0x0
5277#define nPB6 0x0
5278#define nPB7 0x0
5279#define nPB8 0x0
5280#define nPB9 0x0
5281#define nPB10 0x0
5282#define nPB11 0x0
5283#define nPB12 0x0
5284#define nPB13 0x0
5285#define nPB14 0x0
5286#define nPB15 0x0
5287
5288/* PORT D Bit Definitions for the registers
5289PORTD, PORTD_SET, PORTD_CLEAR, PORTD_DIR_SET,
5290PORTD_DIR_CLEAR, PORTD_INEN, PORTD_FER */
5291
5292#define nPD0 0x0
5293#define nPD1 0x0
5294#define nPD2 0x0
5295#define nPD3 0x0
5296#define nPD4 0x0
5297#define nPD5 0x0
5298#define nPD6 0x0
5299#define nPD7 0x0
5300#define nPD8 0x0
5301#define nPD9 0x0
5302#define nPD10 0x0
5303#define nPD11 0x0
5304#define nPD12 0x0
5305#define nPD13 0x0
5306#define nPD14 0x0
5307#define nPD15 0x0
5308
5309/* PORT E Bit Definitions for the registers
5310PORTE, PORTE_SET, PORTE_CLEAR, PORTE_DIR_SET,
5311PORTE_DIR_CLEAR, PORTE_INEN, PORTE_FER */
5312
5313#define nPE0 0x0
5314#define nPE1 0x0
5315#define nPE2 0x0
5316#define nPE3 0x0
5317#define nPE4 0x0
5318#define nPE5 0x0
5319#define nPE6 0x0
5320#define nPE7 0x0
5321#define nPE8 0x0
5322#define nPE9 0x0
5323#define nPE10 0x0
5324#define nPE11 0x0
5325#define nPE12 0x0
5326#define nPE13 0x0
5327#define nPE14 0x0
5328#define nPE15 0x0
5329
5330/* PORT F Bit Definitions for the registers
5331PORTF, PORTF_SET, PORTF_CLEAR, PORTF_DIR_SET,
5332PORTF_DIR_CLEAR, PORTF_INEN, PORTF_FER */
5333
5334#define nPF0 0x0
5335#define nPF1 0x0
5336#define nPF2 0x0
5337#define nPF3 0x0
5338#define nPF4 0x0
5339#define nPF5 0x0
5340#define nPF6 0x0
5341#define nPF7 0x0
5342#define nPF8 0x0
5343#define nPF9 0x0
5344#define nPF10 0x0
5345#define nPF11 0x0
5346#define nPF12 0x0
5347#define nPF13 0x0
5348#define nPF14 0x0
5349#define nPF15 0x0
5350
5351/* PORT G Bit Definitions for the registers
5352PORTG, PORTG_SET, PORTG_CLEAR, PORTG_DIR_SET,
5353PORTG_DIR_CLEAR, PORTG_INEN, PORTG_FER */
5354#define nPG0 0x0
5355#define nPG1 0x0
5356#define nPG2 0x0
5357#define nPG3 0x0
5358#define nPG4 0x0
5359#define nPG5 0x0
5360#define nPG6 0x0
5361#define nPG7 0x0
5362#define nPG8 0x0
5363#define nPG9 0x0
5364#define nPG10 0x0
5365#define nPG11 0x0
5366#define nPG12 0x0
5367#define nPG13 0x0
5368#define nPG14 0x0
5369#define nPG15 0x0
5370
5371/* PORT H Bit Definitions for the registers
5372PORTH, PORTH_SET, PORTH_CLEAR, PORTH_DIR_SET,
5373PORTH_DIR_CLEAR, PORTH_INEN, PORTH_FER */
5374#define nPH0 0x0
5375#define nPH1 0x0
5376#define nPH2 0x0
5377#define nPH3 0x0
5378#define nPH4 0x0
5379#define nPH5 0x0
5380#define nPH6 0x0
5381#define nPH7 0x0
5382#define nPH8 0x0
5383#define nPH9 0x0
5384#define nPH10 0x0
5385#define nPH11 0x0
5386#define nPH12 0x0
5387#define nPH13 0x0
5388#define nPH14 0x0
5389#define nPH15 0x0
5390
5391/* PORT I Bit Definitions for the registers
5392PORTI, PORTI_SET, PORTI_CLEAR, PORTI_DIR_SET,
5393PORTI_DIR_CLEAR, PORTI_INEN, PORTI_FER */
5394#define nPI0 0x0
5395#define nPI1 0x0
5396#define nPI2 0x0
5397#define nPI3 0x0
5398#define nPI4 0x0
5399#define nPI5 0x0
5400#define nPI6 0x0
5401#define nPI7 0x0
5402#define nPI8 0x0
5403#define nPI9 0x0
5404#define nPI10 0x0
5405#define nPI11 0x0
5406#define nPI12 0x0
5407#define nPI13 0x0
5408#define nPI14 0x0
5409#define nPI15 0x0
5410
5411/* PORT J Bit Definitions for the registers
5412PORTJ, PORTJ_SET, PORTJ_CLEAR, PORTJ_DIR_SET,
5413PORTJ_DIR_CLEAR, PORTJ_INEN, PORTJ_FER */
5414#define nPJ0 0x0
5415#define nPJ1 0x0
5416#define nPJ2 0x0
5417#define nPJ3 0x0
5418#define nPJ4 0x0
5419#define nPJ5 0x0
5420#define nPJ6 0x0
5421#define nPJ7 0x0
5422#define nPJ8 0x0
5423#define nPJ9 0x0
5424#define nPJ10 0x0
5425#define nPJ11 0x0
5426#define nPJ12 0x0
5427#define nPJ13 0x0
5428#define nPJ14 0x0
5429#define nPJ15 0x0
5430
5431
4834826e
JJ
5432#ifdef _MISRA_RULES
5433#define _MF15 0xFu
5434#define _MF7 7u
5435#else
5436#define _MF15 0xF
5437#define _MF7 7
5438#endif /* _MISRA_RULES */
5439
84132c9d 5440/* ************* SYSTEM INTERRUPT CONTROLLER MASKS *************************************/
4834826e 5441
84132c9d
JJ
5442/* Peripheral Masks For SIC_ISR, SIC_IWR, SIC_IMASK */
5443
4834826e
JJ
5444/* SIC_IMASKx Masks */
5445/* masks are 32 bit wide, so two writes reguired for "64 bit" wide registers */
1cfc2fea
MF
5446#define SIC_UNMASK_ALL 0x00000000 /* Unmask all peripheral interrupts */
5447#define SIC_MASK_ALL 0xFFFFFFFF /* Mask all peripheral interrupts */
4834826e
JJ
5448
5449/* SIC_IMASKx Macros */
5450#ifdef _MISRA_RULES
1cfc2fea
MF
5451#define SIC_MASK(x) ((int32_t)1 << ((x)&0x1Fu)) /* Mask Peripheral #x interrupt */
5452#define SIC_UNMASK(x) (0xFFFFFFFFu ^ ((uint32_t)1 << ((x)&0x1Fu))) /*Unmask Peripheral #x interrupt*/
4834826e 5453#else
1cfc2fea
MF
5454#define SIC_MASK(x) (1 << ((x)&0x1F)) /* Mask Peripheral #x interrupt */
5455#define SIC_UNMASK(x) (0xFFFFFFFF ^ (1 << ((x)&0x1F))) /* Unmask Peripheral #x interrupt */
4834826e
JJ
5456#endif /* _MISRA_RULES */
5457
5458/* SIC_IWR Masks */
1cfc2fea
MF
5459#define IWR_DISABLE_ALL 0x00000000 /* Wakeup Disable all peripherals */
5460#define IWR_ENABLE_ALL 0xFFFFFFFF /* Wakeup Enable all peripherals */
4834826e
JJ
5461
5462/* SIC_IWR Macros */
5463/* x = pos 0 to 31, for 32-63 use value-32 */
5464#ifdef _MISRA_RULES
1cfc2fea
MF
5465#define IWR_ENABLE(x) ((int32_t)1 << ((x)&0x1Fu)) /* Wakeup Enable Peripheral #x */
5466#define IWR_DISABLE(x) (0xFFFFFFFFu ^ ((uint32_t)1 << ((x)&0x1Fu))) /*Wakeup Disable Peripheral #x */
4834826e 5467#else
1cfc2fea
MF
5468#define IWR_ENABLE(x) (1 << ((x)&0x1F)) /* Wakeup Enable Peripheral #x */
5469#define IWR_DISABLE(x) (0xFFFFFFFF ^ (1 << ((x)&0x1F))) /* Wakeup Disable Peripheral #x */
4834826e
JJ
5470#endif /* _MISRA_RULES */
5471
5472#define PIVG(PNr, IVGNr) ( (IVGNr) - 7) << ( ((PNr)%8) * 4) /* Peripheral #PNr assigned IVG #IVGNr */
5473/* Rx.L = lo(PIVG(62,10)); */
5474/* Rx.H = hi(PIVG(62,10)); */
5475/* PNr = 0 to 95 */
5476/* IVGNr = 7 to 15 */
5477
84132c9d 5478/* SIC_IAR0 Macros */
4834826e
JJ
5479#define P0_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #0 assigned IVG #x */
5480#define P1_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #1 assigned IVG #x */
5481#define P2_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #2 assigned IVG #x */
5482#define P3_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #3 assigned IVG #x */
5483#define P4_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #4 assigned IVG #x */
5484#define P5_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #5 assigned IVG #x */
5485#define P6_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #6 assigned IVG #x */
5486#define P7_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #7 assigned IVG #x */
84132c9d
JJ
5487
5488/* SIC_IAR1 Macros */
4834826e
JJ
5489#define P8_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #8 assigned IVG #x */
5490#define P9_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #9 assigned IVG #x */
5491#define P10_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #10 assigned IVG #x */
5492#define P11_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #11 assigned IVG #x */
5493#define P12_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #12 assigned IVG #x */
5494#define P13_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #13 assigned IVG #x */
5495#define P14_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #14 assigned IVG #x */
5496#define P15_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #15 assigned IVG #x */
84132c9d
JJ
5497
5498/* SIC_IAR2 Macros */
4834826e
JJ
5499#define P16_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #16 assigned IVG #x */
5500#define P17_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #17 assigned IVG #x */
5501#define P18_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #18 assigned IVG #x */
5502#define P19_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #19 assigned IVG #x */
5503#define P20_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #20 assigned IVG #x */
5504#define P21_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #21 assigned IVG #x */
5505#define P22_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #22 assigned IVG #x */
5506#define P23_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #23 assigned IVG #x */
84132c9d
JJ
5507
5508/* SIC_IAR3 Macros */
4834826e
JJ
5509#define P24_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #24 assigned IVG #x */
5510#define P25_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #25 assigned IVG #x */
5511#define P26_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #26 assigned IVG #x */
5512#define P27_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #27 assigned IVG #x */
5513#define P28_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #28 assigned IVG #x */
5514#define P29_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #29 assigned IVG #x */
5515#define P30_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #30 assigned IVG #x */
5516#define P31_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #31 assigned IVG #x */
84132c9d
JJ
5517
5518/* SIC_IAR4 Macros */
4834826e
JJ
5519#define P32_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #32 assigned IVG #x */
5520#define P33_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #33 assigned IVG #x */
5521#define P34_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #34 assigned IVG #x */
5522#define P35_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #35 assigned IVG #x */
5523#define P36_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #36 assigned IVG #x */
5524#define P37_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #37 assigned IVG #x */
5525#define P38_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #38 assigned IVG #x */
5526#define P39_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #39 assigned IVG #x */
84132c9d
JJ
5527
5528/* SIC_IAR4 Macros */
4834826e
JJ
5529#define P40_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #40 assigned IVG #x */
5530#define P41_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #41 assigned IVG #x */
5531#define P42_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #42 assigned IVG #x */
5532#define P43_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #43 assigned IVG #x */
5533#define P44_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #44 assigned IVG #x */
5534#define P45_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #45 assigned IVG #x */
5535#define P46_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #46 assigned IVG #x */
5536#define P47_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #47 assigned IVG #x */
84132c9d
JJ
5537
5538/* SIC_IAR5 Macros */
4834826e
JJ
5539#define P48_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #48 assigned IVG #x */
5540#define P49_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #49 assigned IVG #x */
5541#define P50_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #50 assigned IVG #x */
5542#define P51_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #51 assigned IVG #x */
5543#define P52_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #52 assigned IVG #x */
5544#define P53_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #53 assigned IVG #x */
5545#define P54_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #54 assigned IVG #x */
5546#define P55_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #55 assigned IVG #x */
84132c9d
JJ
5547
5548/* SIC_IAR5 Macros */
4834826e
JJ
5549#define P56_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #56 assigned IVG #x */
5550#define P57_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #57 assigned IVG #x */
5551#define P58_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #58 assigned IVG #x */
5552#define P59_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #59 assigned IVG #x */
5553#define P60_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #60 assigned IVG #x */
5554#define P61_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #61 assigned IVG #x */
5555#define P62_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #62 assigned IVG #x */
5556#define P63_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #63 assigned IVG #x */
84132c9d
JJ
5557
5558/* SIC_IAR6 Macros */
4834826e
JJ
5559#define P64_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #64 assigned IVG #x */
5560#define P65_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #65 assigned IVG #x */
5561#define P66_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #66 assigned IVG #x */
5562#define P67_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #67 assigned IVG #x */
5563#define P68_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #68 assigned IVG #x */
5564#define P69_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #69 assigned IVG #x */
5565#define P70_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #70 assigned IVG #x */
5566#define P71_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #71 assigned IVG #x */
84132c9d
JJ
5567
5568/* SIC_IAR7 Macros */
4834826e
JJ
5569#define P72_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #72 assigned IVG #x */
5570#define P73_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #73 assigned IVG #x */
5571#define P74_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #74 assigned IVG #x */
5572#define P75_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #75 assigned IVG #x */
5573#define P76_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #76 assigned IVG #x */
5574#define P77_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #77 assigned IVG #x */
5575#define P78_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #78 assigned IVG #x */
5576#define P79_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #79 assigned IVG #x */
84132c9d
JJ
5577
5578/* SIC_IAR8 Macros */
4834826e
JJ
5579#define P80_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #80 assigned IVG #x */
5580#define P81_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #81 assigned IVG #x */
5581#define P82_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #82 assigned IVG #x */
5582#define P83_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #83 assigned IVG #x */
5583#define P84_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #84 assigned IVG #x */
5584#define P85_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #85 assigned IVG #x */
5585#define P86_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #86 assigned IVG #x */
5586#define P87_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #87 assigned IVG #x */
5587
5588/* SIC_IAR9 Macros */
5589#define P88_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #88 assigned IVG #x */
5590#define P89_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #89 assigned IVG #x */
5591#define P90_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #90 assigned IVG #x */
5592#define P91_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #91 assigned IVG #x */
5593#define P92_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #92 assigned IVG #x */
5594#define P93_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #93 assigned IVG #x */
5595#define P94_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #94 assigned IVG #x */
5596#define P95_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #95 assigned IVG #x */
5597
5598
5599/* *********** SERIAL PERIPHERAL INTERFACE (SPI) MASKS ****************************/
84132c9d 5600
4834826e
JJ
5601/* Bit masks for SPIx_CTL */
5602#define RDBR_CORE 0x0 /* RDBR Read Initiates, IRQ when RDBR Full */
5603#define TDBR_CORE 0x1 /* TDBR Write Initiates, IRQ when TDBR Empty */
5604#define RDBR_DMA 0x2 /* DMA Read, DMA Until FIFO Empty */
5605#define TDBR_DMA 0x3 /* DMA Write, DMA Until FIFO Full */
5606
5607
5608/* ******************** TWO-WIRE INTERFACE (TWI) MASKS ***********************/
84132c9d 5609
4834826e
JJ
5610/* Bit macros for TWIx_CONTROL */
5611#define SET_TWI_PRESCALE(x) ( (x) & PRESCALE )
5612#define SET_TWI_DCNT(x) ( ((x) << 0x6) & DCNT )
5613
5614/* Bit masks for TWIx_INT_MASK */
5615#define SCLIM 0x8000 /* Serial Clock Interrupt */
5616#define nSCLIM 0x0
5617#define SDAIM 0x4000 /* Serial Data Interrupt */
5618#define nSDAIM 0x0
5619
5620/* Bit masks for TWIx_INT_STAT */
5621#define SCLI 0x8000 /* Serial Clock Interrupt */
5622#define nSCLI 0x0
5623#define SDAI 0x4000 /* Serial Data Interrupt */
5624#define nSDAI 0x0
5625
5626/* Bit macros for TWIx_MASTER_ADDR */
5627#define SET_TWI_ADDR(x) ( (x) & 0x7F )
84132c9d
JJ
5628
5629/* ********* WATCHDOG TIMER MASKS ******************** */
5630
5631/* Watchdog Timer WDOG_CTL Register Masks */
4834826e
JJ
5632#ifdef _MISRA_RULES
5633#define SET_WDEV(x) (((x)<<1) & 0x0006u) /* event generated on roll over */
5634#else
84132c9d 5635#define SET_WDEV(x) (((x)<<1) & 0x0006) /* event generated on roll over */
4834826e 5636#endif /* _MISRA_RULES */
84132c9d
JJ
5637#define WDEV_RESET 0x0000 /* generate reset event on roll over */
5638#define nWDEV_RESET 0x0
5639#define WDEV_NMI 0x0002 /* generate NMI event on roll over */
5640#define nWDEV_NMI 0x0
5641#define WDEV_GPI 0x0004 /* generate GP IRQ on roll over */
5642#define nWDEV_GPI 0x0
5643#define WDEV_NONE 0x0006 /* no event on roll over */
5644#define WDDIS 0x0AD0 /* disable watchdog */
5645
5646/* RTC_SWCNT (RTC stopwatch count) Macros */
5647#define SET_SWCNT(x) (x)
5648
5649/* RTC_PREN Register Masks */
5650#define ENABLE_PRESCALE PREN /* Enable prescaler so RTC runs at 1 Hz */
5651
5652/* RTC_ALARM Macro: z=day, y=hr, x=min, w=sec */
4834826e
JJ
5653#ifdef _MISRA_RULES
5654#define SET_ALARM(z,y,x,w) ((((z)&0x7FFFu)<<0x11)|(((y)&0x1Fu)<<0xC)|(((x)&0x3Fu)<<0x6)|((w)&0x3Fu))
5655#else
84132c9d 5656#define SET_ALARM(z,y,x,w) ((((z)&0x7FFF)<<0x11)|(((y)&0x1F)<<0xC)|(((x)&0x3F)<<0x6)|((w)&0x3F))
4834826e
JJ
5657#endif /* _MISRA_RULES */
5658
5659/* ************** UART CONTROLLER MASKS *************************/
5660/* Bit masks for UART Divisor Latch Registers: UARTx_DLL & UARTx_DLH */
5661#define UARTDLL 0x00FF /* Divisor Latch Low Byte */
5662#define UARTDLH 0xFF00 /* Divisor Latch High Byte */
84132c9d
JJ
5663
5664
5665/* ******************************************* */
5666/* MULTI BIT MACRO ENUMERATIONS */
5667/* ******************************************* */
5668
5669/* CNT_COMMAND bit field options */
5670#define nW1LCNT_ZERO 0x0
5671#define nW1LCNT_MIN 0x0
5672#define nW1LCNT_MAX 0x0
5673
5674#define nW1LMIN_ZERO 0x0
5675#define nW1LMIN_CNT 0x0
5676#define nW1LMIN_MAX 0x0
5677
5678#define nW1LMAX_ZERO 0x0
5679#define nW1LMAX_CNT 0x0
5680#define nW1LMAX_MIN 0x0
5681
5682#define W1ZMONCE 0x1000 /* write on to enable single zero marker. clear CNT_COUNT action (W1A/R) */
5683#define nW1ZMONCE 0x0
5684
5685/* Bit macros for CNT_DEBOUNCE */
4834826e
JJ
5686#ifdef _MISRA_RULES
5687#define SET_DPRESCALE(x) ((x)&0x7u) /* 0000: 1x -> 0111: 128x, 1xxx Reserved */
5688#else
84132c9d 5689#define SET_DPRESCALE(x) ((x)&0x7) /* 0000: 1x -> 0111: 128x, 1xxx Reserved */
4834826e
JJ
5690#endif /* _MISRA_RULES */
5691
5692/* Alternate Deprecated Macros Provided For Backwards Code Compatibility */
5693#define MCMEM MCMEN
5694#define nMCMEM 0x0
5695
5696#ifdef _MISRA_RULES
5697#pragma diag(pop)
5698#endif /* _MISRA_RULES */
5699
5700#endif /* _DEF_BF54X_H */
5701
This page took 0.571556 seconds and 5 git commands to generate.