* Patch by Yuli Barcohen, 09 Jun 2004:
[oweals/u-boot.git] / include / mc9328.h
1 /*
2  * include/mc9328.h
3  * 
4  * (c) Copyright 2004
5  * Techware Information Technology, Inc.
6  * http://www.techware.com.tw/
7  *
8  * Ming-Len Wu <minglen_wu@techware.com.tw>
9  *
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License as
12  * published by the Free Software Foundation; either version 2 of
13  * the License, or (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23  * MA 02111-1307 USA
24  */
25
26
27 #ifndef __MC9328_H__
28 #define __MC9328_H__
29
30 typedef volatile unsigned long  VU32;
31 typedef VU32    *               P_VU32;
32
33 #define __REG(x)                (*((volatile u32 *)(x)))
34
35
36 /*
37  * MX1 Chip selects & internal memory's 
38  */
39
40
41 #define MX1_DMI_PHYS    0x00000000      /* double map image     */
42 #define MX1_BROM_PHYS   0x00100000      /* Bootstrape ROM       */
43 #define MX1_ESRAM_PHYS  0x00300000      /* Embedded SRAM (128KB)*/
44
45 #define MX1_CSD0_PHYS   0x08000000      /* CSD0 64MB (SDRAM)    */
46 #define MX1_CSD1_PHYS   0x0C000000      /* CSD1 64MB (SDRAM)    */
47 #define MX1_CS0_PHYS    0x10000000      /* CS0 32MB (Flash)     */
48 #define MX1_CS1_PHYS    0x12000000      /* CS1 16MB (Flash)     */
49 #define MX1_CS2_PHYS    0x13000000      /* CS2 16MB (Ext SRAM)  */
50 #define MX1_CS3_PHYS    0x14000000      /* CS3 16MB (Spare)     */
51 #define MX1_CS4_PHYS    0x15000000      /* CS4 16MB (Spare)     */
52 #define MX1_CS5_PHYS    0x16000000      /* CS5 16MB (Spare)     */
53
54
55
56 /*
57  *      MX1 Watchdog registers
58  */
59
60 #define MX1_WCR         __REG(0x00201000)  /* Watchdog Control Register         */
61 #define MX1_WSR         __REG(0x00201004)  /* Watchdog Service Register         */
62 #define MX1_WSTR        __REG(0x00201008)  /* Watchdog Status Register          */
63
64
65
66 /*
67  *      MX1 Timer registers
68  */
69
70 #define MX1_TCTL1       __REG(0x00202000)  /* Timer 1 Control Register          */
71 #define MX1_TPRER1      __REG(0x00202004)  /* Timer 1 Prescaler Register        */
72 #define MX1_TCMP1       __REG(0x00202008)  /* Timer 1 Compare Register          */
73 #define MX1_TCR1        __REG(0x0020200C)  /* Timer 1 Capture Register          */
74 #define MX1_TCN1        __REG(0x00202010)  /* Timer 1 Counter Register          */
75 #define MX1_TSTAT1      __REG(0x00202014)  /* Timer 1 Status Register           */
76
77
78 #define MX1_TCTL2       __REG(0x00203000)  /* Timer 2 Control Register          */
79 #define MX1_TPRER2      __REG(0x00203004)  /* Timer 2 Prescaler Register        */
80 #define MX1_TCMP2       __REG(0x00203008)  /* Timer 2 Compare Register          */
81 #define MX1_TCR2        __REG(0x0020300C)  /* Timer 2 Capture Register          */
82 #define MX1_TCN2        __REG(0x00203010)  /* Timer 2 Counter Register          */
83 #define MX1_TSTAT2      __REG(0x00203014)  /* Timer 2 Status Register           */
84
85
86
87 /*
88  *      MX1 RTC registers
89  */
90
91 #define MX1_HOURMIN     __REG(0x00204000)  /* RTC Hour & Min Counter Registers  */
92 #define MX1_SECONDS     __REG(0x00204004)  /* RTC Seconds Counter Registers     */
93 #define MX1_ALRM_HM     __REG(0x00204008)  /* RTC Hour & Min Alarm Registers    */
94 #define MX1_ALRM_SEC    __REG(0x0020400C)  /* RTC Seconds Alarm Registers       */
95 #define MX1_RCCTL       __REG(0x00204010)  /* RTC Control Registers             */
96 #define MX1_RTCISR      __REG(0x00204014)  /* RTC Interrupt Status Registers    */
97 #define MX1_RTCIENR     __REG(0x00204018)  /* RTC Interrupt Enable Registers    */
98 #define MX1_STPWCH      __REG(0x0020401C)  /* RTC Stopwatch Minutes Registers   */
99 #define MX1_DAYR        __REG(0x00204020)  /* RTC Days Counter Registers        */
100 #define MX1_DAYALARM    __REG(0x00204020)  /* RTC Day Alarm Registers           */
101
102
103 /*
104  *      MX1 LCD Controller registers
105  */
106
107 #define MX1_SSA         __REG(0x00205000)  /* Screen Start Address Register     */
108 #define MX1_SIZE        __REG(0x00205004)  /* Size Register                     */
109 #define MX1_VPW         __REG(0x00205008)  /* Virtual Page Width Register       */
110 #define MX1_CPOS        __REG(0x0020500C)  /* LCD Cursor Position  Register     */
111 #define MX1_LCWHB       __REG(0x00205010)  /* LCD Cursor Width Height & Blink Register  */
112 #define MX1_LCHCC       __REG(0x00205014)  /* LCD Color Cursor Mapping Register */
113 #define MX1_PCR         __REG(0x00205018)  /* LCD Panel Configuration Register  */
114 #define MX1_HCR         __REG(0x0020501C)  /* Horizontal Configuration Register */
115 #define MX1_VCR         __REG(0x00205020)  /* Vertical Configuration Register   */
116 #define MX1_POS         __REG(0x00205024)  /* Panning Offset Register           */
117 #define MX1_LGPMR       __REG(0x00205028)  /* LCD Gray Palette Mapping Register */
118 #define MX1_PWMR        __REG(0x0020502C)  /* PWM Contrast Control Register     */
119 #define MX1_DMACR       __REG(0x00205030)  /* DMA Control Register              */
120 #define MX1_RMCR        __REG(0x00205034)  /* Refresh Mode Control Register     */
121 #define MX1_LCDICR      __REG(0x00205038)  /* Interrupt Configuration Register  */
122 #define MX1_LCDISR      __REG(0x00205040)  /* Interrupt Status Register         */
123
124
125 /*
126  *      MX1 UART registers
127  */
128
129 /* UART 1 */
130 #define MX1_URX0D_1     __REG(0x00206000)  /* UART 1 Receiver Register 0        */
131 #define MX1_URX1D_1     __REG(0x00206004)  /* UART 1 Receiver Register 1        */
132 #define MX1_URX2D_1     __REG(0x00206008)  /* UART 1 Receiver Register 2        */
133 #define MX1_URX3D_1     __REG(0x0020600C)  /* UART 1 Receiver Register 3        */
134 #define MX1_URX4D_1     __REG(0x00206010)  /* UART 1 Receiver Register 4        */
135 #define MX1_URX5D_1     __REG(0x00206014)  /* UART 1 Receiver Register 5        */
136 #define MX1_URX6D_1     __REG(0x00206018)  /* UART 1 Receiver Register 6        */
137 #define MX1_URX7D_1     __REG(0x0020601C)  /* UART 1 Receiver Register 7        */
138 #define MX1_URX8D_1     __REG(0x00206020)  /* UART 1 Receiver Register 8        */
139 #define MX1_URX9D_1     __REG(0x00206024)  /* UART 1 Receiver Register 9        */
140 #define MX1_URX10D_1    __REG(0x00206028)  /* UART 1 Receiver Register 10       */
141 #define MX1_URX11D_1    __REG(0x0020602C)  /* UART 1 Receiver Register 11       */
142 #define MX1_URX12D_1    __REG(0x00206030)  /* UART 1 Receiver Register 12       */
143 #define MX1_URX13D_1    __REG(0x00206034)  /* UART 1 Receiver Register 13       */
144 #define MX1_URX14D_1    __REG(0x00206038)  /* UART 1 Receiver Register 14       */
145 #define MX1_URX15D_1    __REG(0x0020603c)  /* UART 1 Receiver Register 15       */
146
147
148 #define MX1_UTX0D_1     __REG(0x00206040)  /* UART 1 Transmitter Register 0     */
149 #define MX1_UTX1D_1     __REG(0x00206044)  /* UART 1 Transmitter Register 1     */
150 #define MX1_UTX2D_1     __REG(0x00206048)  /* UART 1 Transmitter Register 2     */
151 #define MX1_UTX3D_1     __REG(0x0020604C)  /* UART 1 Transmitter Register 3     */
152 #define MX1_UTX4D_1     __REG(0x00206050)  /* UART 1 Transmitter Register 4     */
153 #define MX1_UTX5D_1     __REG(0x00206054)  /* UART 1 Transmitter Register 5     */
154 #define MX1_UTX6D_1     __REG(0x00206058)  /* UART 1 Transmitter Register 6     */
155 #define MX1_UTX7D_1     __REG(0x0020605C)  /* UART 1 Transmitter Register 7     */
156 #define MX1_UTX8D_1     __REG(0x00206060)  /* UART 1 Transmitter Register 8     */
157 #define MX1_UTX9D_1     __REG(0x00206064)  /* UART 1 Transmitter Register 9     */
158 #define MX1_UTX10D_1    __REG(0x00206068)  /* UART 1 Transmitter Register 10    */
159 #define MX1_UTX11D_1    __REG(0x0020606C)  /* UART 1 Transmitter Register 11    */
160 #define MX1_UTX12D_1    __REG(0x00206060)  /* UART 1 Transmitter Register 12    */
161 #define MX1_UTX13D_1    __REG(0x00206074)  /* UART 1 Transmitter Register 13    */
162 #define MX1_UTX14D_1    __REG(0x00206078)  /* UART 1 Transmitter Register 14    */
163 #define MX1_UTX15D_1    __REG(0x0020607c)  /* UART 1 Transmitter Register 15    */
164
165 #define MX1_UCR1_1      __REG(0x00206080)  /* UART 1 Control Register 1         */
166 #define MX1_UCR2_1      __REG(0x00206084)  /* UART 1 Control Register 2         */
167 #define MX1_UCR3_1      __REG(0x00206088)  /* UART 1 Control Register 3         */
168 #define MX1_UCR4_1      __REG(0x0020608C)  /* UART 1 Control Register 4         */
169 #define MX1_UFCR_1      __REG(0x00206090)  /* UART 1 FIFO Control Register      */
170 #define MX1_USR1_1      __REG(0x00206094)  /* UART 1 Status  Register 1         */
171 #define MX1_USR2_1      __REG(0x00206098)  /* UART 1 Status  Register 2         */
172 #define MX1_UESC_1      __REG(0x0020609C)  /* UART 1 Escape Character Register  */
173 #define MX1_UTIM_1      __REG(0x002060A0)  /* UART 1 Escape Timer Register      */
174 #define MX1_UBIR_1      __REG(0x002060A4)  /* UART 1 BRM Incremental Register   */
175 #define MX1_UBMR_1      __REG(0x002060A8)  /* UART 1 BRM Modulator Register     */
176 #define MX1_UBRC_1      __REG(0x002060AC)  /* UART 1 Baud Rate Count Register   */
177 #define MX1_BIPR1_1     __REG(0x002060B0)  /* UART 1 BRM Incremental Preset Register 1  */
178 #define MX1_BIPR2_1     __REG(0x002060B4)  /* UART 1 BRM Incremental Preset Register 2  */
179 #define MX1_BIPR3_1     __REG(0x002060B8)  /* UART 1 BRM Incremental Preset Register 3  */
180 #define MX1_BIPR4_1     __REG(0x002060BC)  /* UART 1 BRM Incremental Preset Register 4  */
181 #define MX1_BMPR1_1     __REG(0x002060C0)  /* UART 1 BRM Modulator Preset Register 1    */
182 #define MX1_BMPR2_1     __REG(0x002060C4)  /* UART 1 BRM Modulator Preset Register 2    */
183 #define MX1_BMPR3_1     __REG(0x002060C8)  /* UART 1 BRM Modulator Preset Register 3    */
184 #define MX1_BMPR4_1     __REG(0x002060CC)  /* UART 1 BRM Modulator Preset Register 4    */
185 #define MX1_UTS_1       __REG(0x002060D0)  /* UART 1 Test Register 1            */
186
187
188 /* UART 2 */
189 #define MX1_URX0D_2     __REG(0x00207000)  /* UART 2 Receiver Register 0        */
190 #define MX1_URX1D_2     __REG(0x00207004)  /* UART 2 Receiver Register 1        */
191 #define MX1_URX2D_2     __REG(0x00207008)  /* UART 2 Receiver Register 2        */
192 #define MX1_URX3D_2     __REG(0x0020700C)  /* UART 2 Receiver Register 3        */
193 #define MX1_URX4D_2     __REG(0x00207010)  /* UART 2 Receiver Register 4        */
194 #define MX1_URX5D_2     __REG(0x00207014)  /* UART 2 Receiver Register 5        */
195 #define MX1_URX6D_2     __REG(0x00207018)  /* UART 2 Receiver Register 6        */
196 #define MX1_URX7D_2     __REG(0x0020701C)  /* UART 2 Receiver Register 7        */
197 #define MX1_URX8D_2     __REG(0x00207020)  /* UART 2 Receiver Register 8        */
198 #define MX1_URX9D_2     __REG(0x00207024)  /* UART 2 Receiver Register 9        */
199 #define MX1_URX10D_2    __REG(0x00207028)  /* UART 2 Receiver Register 10       */
200 #define MX1_URX11D_2    __REG(0x0020702C)  /* UART 2 Receiver Register 11       */
201 #define MX1_URX12D_2    __REG(0x00207030)  /* UART 2 Receiver Register 12       */
202 #define MX1_URX13D_2    __REG(0x00207034)  /* UART 2 Receiver Register 13       */
203 #define MX1_URX14D_2    __REG(0x00207038)  /* UART 2 Receiver Register 14       */
204 #define MX1_URX15D_2    __REG(0x0020703c)  /* UART 2 Receiver Register 15       */
205
206
207 #define MX1_UTX0D_2     __REG(0x00207040)  /* UART 2 Transmitter Register 0     */
208 #define MX1_UTX1D_2     __REG(0x00207044)  /* UART 2 Transmitter Register 1     */
209 #define MX1_UTX2D_2     __REG(0x00207048)  /* UART 2 Transmitter Register 2     */
210 #define MX1_UTX3D_2     __REG(0x0020704C)  /* UART 2 Transmitter Register 3     */
211 #define MX1_UTX4D_2     __REG(0x00207050)  /* UART 2 Transmitter Register 4     */
212 #define MX1_UTX5D_2     __REG(0x00207054)  /* UART 2 Transmitter Register 5     */
213 #define MX1_UTX6D_2     __REG(0x00207058)  /* UART 2 Transmitter Register 6     */
214 #define MX1_UTX7D_2     __REG(0x0020705C)  /* UART 2 Transmitter Register 7     */
215 #define MX1_UTX8D_2     __REG(0x00207060)  /* UART 2 Transmitter Register 8     */
216 #define MX1_UTX9D_2     __REG(0x00207064)  /* UART 2 Transmitter Register 9     */
217 #define MX1_UTX10D_2    __REG(0x00207068)  /* UART 2 Transmitter Register 10    */
218 #define MX1_UTX11D_2    __REG(0x0020706C)  /* UART 2 Transmitter Register 11    */
219 #define MX1_UTX12D_2    __REG(0x00207060)  /* UART 2 Transmitter Register 12    */
220 #define MX1_UTX13D_2    __REG(0x00207074)  /* UART 2 Transmitter Register 13    */
221 #define MX1_UTX14D_2    __REG(0x00207078)  /* UART 2 Transmitter Register 14    */
222 #define MX1_UTX15D_2    __REG(0x0020707c)  /* UART 2 Transmitter Register 15    */
223
224 #define MX1_UCR1_2      __REG(0x00207080)  /* UART 2 Control Register 1         */
225 #define MX1_UCR2_2      __REG(0x00207084)  /* UART 2 Control Register 2         */
226 #define MX1_UCR3_2      __REG(0x00207088)  /* UART 2 Control Register 3         */
227 #define MX1_UCR4_2      __REG(0x0020708C)  /* UART 2 Control Register 4         */
228 #define MX1_UFCR_2      __REG(0x00207090)  /* UART 2 FIFO Control Register      */
229 #define MX1_USR1_2      __REG(0x00207094)  /* UART 2 Status  Register 1         */
230 #define MX1_USR2_2      __REG(0x00207098)  /* UART 2 Status  Register 2         */
231 #define MX1_UESC_2      __REG(0x0020709C)  /* UART 2 Escape Character Register  */
232 #define MX1_UTIM_2      __REG(0x002070A0)  /* UART 2 Escape Timer Register      */
233 #define MX1_UBIR_2      __REG(0x002070A4)  /* UART 2 BRM Incremental Register   */
234 #define MX1_UBMR_2      __REG(0x002070A8)  /* UART 2 BRM Modulator Register     */
235 #define MX1_UBRC_2      __REG(0x002070AC)  /* UART 2 Baud Rate Count Register   */
236 #define MX1_BIPR1_2     __REG(0x002070B0)  /* UART 2 BRM Incremental Preset Register 1  */
237 #define MX1_BIPR2_2     __REG(0x002070B4)  /* UART 2 BRM Incremental Preset Register 2  */
238 #define MX1_BIPR3_2     __REG(0x002070B8)  /* UART 2 BRM Incremental Preset Register 3  */
239 #define MX1_BIPR4_2     __REG(0x002070BC)  /* UART 2 BRM Incremental Preset Register 4  */
240 #define MX1_BMPR1_2     __REG(0x002070C0)  /* UART 2 BRM Modulator Preset Register 1    */
241 #define MX1_BMPR2_2     __REG(0x002070C4)  /* UART 2 BRM Modulator Preset Register 2    */
242 #define MX1_BMPR3_2     __REG(0x002070C8)  /* UART 2 BRM Modulator Preset Register 3    */
243 #define MX1_BMPR4_2     __REG(0x002070CC)  /* UART 2 BRM Modulator Preset Register 4    */
244 #define MX1_UTS_2       __REG(0x002070D0)  /* UART 2 Test Register 1            */
245
246
247 /*
248  *      MX1 PWM registers
249  */
250
251 #define MX1_PWMC        __REG(0x00208000)  /* PWM Control Register              */
252 #define MX1_PWMS        __REG(0x00208004)  /* PWM Sample Register               */
253 #define MX1_PWMP        __REG(0x00208008)  /* PWM Period Register               */
254 #define MX1_PWMCNT      __REG(0x0020800C)  /* PWM Counter Register              */
255
256
257
258 /*
259  *      MX1 DMAC registers
260  */
261
262 #define MX1_DCR         __REG(0x00209000)  /* DMA Control Register              */
263 #define MX1_DISR        __REG(0x00209004)  /* DMA Interrupt Status Register     */
264 #define MX1_DIMR        __REG(0x00209008)  /* DMA Interrupt Mask Register       */
265 #define MX1_DBTOSR      __REG(0x0020900C)  /* DMA Burst Time-Out Status Register        */
266 #define MX1_DRTOSR      __REG(0x00209010)  /* DMA Request Time-Out Status Register      */
267 #define MX1_DSESR       __REG(0x00209014)  /* DMA Request Time-Out Status Register      */
268 #define MX1_DBOSR       __REG(0x00209018)  /* DMA Buffer Overflow Status Register       */
269 #define MX1_DBTOCR      __REG(0x0020901C)  /* DMA Burst Time-Out Control Register       */
270
271 #define MX1_WSRA        __REG(0x00209040)  /* DMA W-Size Register A             */
272 #define MX1_XSRA        __REG(0x00209044)  /* DMA X-Size Register A             */
273 #define MX1_YSRA        __REG(0x00209048)  /* DMA Y-Size Register A             */
274
275 #define MX1_WSRB        __REG(0x0020904C)  /* DMA W-Size Register B             */
276 #define MX1_XSRB        __REG(0x00209050)  /* DMA X-Size Register B             */
277 #define MX1_YSRB        __REG(0x00209054)  /* DMA Y-Size Register B             */
278
279 /* Channel 0 */
280
281 #define MX1_SAR0        __REG(0x00209080)  /* Channel 0 Source Address Register */
282 #define MX1_DAR0        __REG(0x00209084)  /* Channel 0 Destination Address Register    */
283 #define MX1_CNTR0       __REG(0x00209088)  /* Channel 0 Count Register          */
284 #define MX1_CCR0        __REG(0x0020908C)  /* Channel 0 Control Register        */
285 #define MX1_RSSR0       __REG(0x00209090)  /* Channel 0 Request Source Select Register  */
286 #define MX1_BLR0        __REG(0x00209094)  /* Channel 0 Burst Length  Register  */
287 #define MX1_RTOR0       __REG(0x00209098)  /* Channel 0 Request Time-Out Register       */
288 #define MX1_BUCR0       __REG(0x00209098)  /* Channel 0 Bus Utilization Control Register        */
289
290
291 /* Channel 1 */
292
293 #define MX1_SAR1        __REG(0x002090C0)  /* Channel 1 Source Address Register */
294 #define MX1_DAR1        __REG(0x002090C4)  /* Channel 1 Destination Address Register    */
295 #define MX1_CNTR1       __REG(0x002090C8)  /* Channel 1 Count Register          */
296 #define MX1_CCR1        __REG(0x002090CC)  /* Channel 1 Control Register        */
297 #define MX1_RSSR1       __REG(0x002090D0)  /* Channel 1 Request Source Select Register  */
298 #define MX1_BLR1        __REG(0x002090D4)  /* Channel 1 Burst Length  Register  */
299 #define MX1_RTOR1       __REG(0x002090D8)  /* Channel 1 Request Time-Out Register       */
300 #define MX1_BUCR1       __REG(0x002090D8)  /* Channel 1 Bus Utilization Control Register        */
301
302
303 /* Channel 2 */
304
305 #define MX1_SAR2        __REG(0x00209100)  /* Channel 2 Source Address Register */
306 #define MX1_DAR2        __REG(0x00209104)  /* Channel 2 Destination Address Register    */
307 #define MX1_CNTR2       __REG(0x00209108)  /* Channel 2 Count Register          */
308 #define MX1_CCR2        __REG(0x0020910C)  /* Channel 2 Control Register        */
309 #define MX1_RSSR2       __REG(0x00209110)  /* Channel 2 Request Source Select Register  */
310 #define MX1_BLR2        __REG(0x00209114)  /* Channel 2 Burst Length  Register  */
311 #define MX1_RTOR2       __REG(0x00209118)  /* Channel 2 Request Time-Out Register       */
312 #define MX1_BUCR2       __REG(0x00209118)  /* Channel 2 Bus Utilization Control Register        */
313
314
315
316 /* Channel 3 */
317
318 #define MX1_SAR3        __REG(0x00209140)  /* Channel 3 Source Address Register */
319 #define MX1_DAR3        __REG(0x00209144)  /* Channel 3 Destination Address Register    */
320 #define MX1_CNTR3       __REG(0x00209148)  /* Channel 3 Count Register          */
321 #define MX1_CCR3        __REG(0x0020914C)  /* Channel 3 Control Register        */
322 #define MX1_RSSR3       __REG(0x00209150)  /* Channel 3 Request Source Select Register  */
323 #define MX1_BLR3        __REG(0x00209154)  /* Channel 3 Burst Length  Register  */
324 #define MX1_RTOR3       __REG(0x00209158)  /* Channel 3 Request Time-Out Register       */
325 #define MX1_BUCR3       __REG(0x00209158)  /* Channel 3 Bus Utilization Control Register        */
326
327
328 /* Channel 4 */
329
330 #define MX1_SAR4        __REG(0x00209180)  /* Channel 4 Source Address Register */
331 #define MX1_DAR4        __REG(0x00209184)  /* Channel 4 Destination Address Register    */
332 #define MX1_CNTR4       __REG(0x00209188)  /* Channel 4 Count Register          */
333 #define MX1_CCR4        __REG(0x0020918C)  /* Channel 4 Control Register        */
334 #define MX1_RSSR4       __REG(0x00209190)  /* Channel 4 Request Source Select Register  */
335 #define MX1_BLR4        __REG(0x00209194)  /* Channel 4 Burst Length  Register  */
336 #define MX1_RTOR4       __REG(0x00209198)  /* Channel 4 Request Time-Out Register       */
337 #define MX1_BUCR4       __REG(0x00209198)  /* Channel 4 Bus Utilization Control Register        */
338
339
340 /* Channel 5 */
341
342 #define MX1_SAR5        __REG(0x002091C0)  /* Channel 5 Source Address Register */
343 #define MX1_DAR5        __REG(0x002091C4)  /* Channel 5 Destination Address Register    */
344 #define MX1_CNTR5       __REG(0x002091C8)  /* Channel 5 Count Register          */
345 #define MX1_CCR5        __REG(0x002091CC)  /* Channel 5 Control Register        */
346 #define MX1_RSSR5       __REG(0x002091D0)  /* Channel 5 Request Source Select Register  */
347 #define MX1_BLR5        __REG(0x002091D4)  /* Channel 5 Burst Length  Register  */
348 #define MX1_RTOR5       __REG(0x002091D8)  /* Channel 5 Request Time-Out Register       */
349 #define MX1_BUCR5       __REG(0x002091D8)  /* Channel 5 Bus Utilization Control Register        */
350
351
352 /* Channel 6 */
353
354 #define MX1_SAR6        __REG(0x00209200)  /* Channel 6 Source Address Register */
355 #define MX1_DAR6        __REG(0x00209204)  /* Channel 6 Destination Address Register    */
356 #define MX1_CNTR6       __REG(0x00209208)  /* Channel 6 Count Register          */
357 #define MX1_CCR6        __REG(0x0020920C)  /* Channel 6 Control Register        */
358 #define MX1_RSSR6       __REG(0x00209210)  /* Channel 6 Request Source Select Register  */
359 #define MX1_BLR6        __REG(0x00209214)  /* Channel 6 Burst Length  Register  */
360 #define MX1_RTOR6       __REG(0x00209218)  /* Channel 6 Request Time-Out Register       */
361 #define MX1_BUCR6       __REG(0x00209218)  /* Channel 6 Bus Utilization Control Register        */
362
363
364 /* Channel 7 */
365
366 #define MX1_SAR7        __REG(0x00209240)  /* Channel 7 Source Address Register */
367 #define MX1_DAR7        __REG(0x00209244)  /* Channel 7 Destination Address Register    */
368 #define MX1_CNTR7       __REG(0x00209248)  /* Channel 7 Count Register          */
369 #define MX1_CCR7        __REG(0x0020924C)  /* Channel 7 Control Register        */
370 #define MX1_RSSR7       __REG(0x00209250)  /* Channel 7 Request Source Select Register  */
371 #define MX1_BLR7        __REG(0x00209254)  /* Channel 7 Burst Length  Register  */
372 #define MX1_RTOR7       __REG(0x00209258)  /* Channel 7 Request Time-Out Register       */
373 #define MX1_BUCR7       __REG(0x00209258)  /* Channel 7 Bus Utilization Control Register        */
374
375
376 /* Channel 8 */
377
378 #define MX1_SAR8        __REG(0x00209280)  /* Channel 8 Source Address Register */
379 #define MX1_DAR8        __REG(0x00209284)  /* Channel 8 Destination Address Register    */
380 #define MX1_CNTR8       __REG(0x00209288)  /* Channel 8 Count Register          */
381 #define MX1_CCR8        __REG(0x0020928C)  /* Channel 8 Control Register        */
382 #define MX1_RSSR8       __REG(0x00209290)  /* Channel 8 Request Source Select Register  */
383 #define MX1_BLR8        __REG(0x00209294)  /* Channel 8 Burst Length  Register  */
384 #define MX1_RTOR8       __REG(0x00209298)  /* Channel 8 Request Time-Out Register       */
385 #define MX1_BUCR8       __REG(0x00209298)  /* Channel 8 Bus Utilization Control Register        */
386
387
388 /* Channel 9 */
389
390 #define MX1_SAR9        __REG(0x002092C0)  /* Channel 9 Source Address Register */
391 #define MX1_DAR9        __REG(0x002092C4)  /* Channel 9 Destination Address Register    */
392 #define MX1_CNTR9       __REG(0x002092C8)  /* Channel 9 Count Register          */
393 #define MX1_CCR9        __REG(0x002092CC)  /* Channel 9 Control Register        */
394 #define MX1_RSSR9       __REG(0x002092D0)  /* Channel 9 Request Source Select Register  */
395 #define MX1_BLR9        __REG(0x002092D4)  /* Channel 9 Burst Length  Register  */
396 #define MX1_RTOR9       __REG(0x002092D8)  /* Channel 9 Request Time-Out Register       */
397 #define MX1_BUCR9       __REG(0x002092D8)  /* Channel 9 Bus Utilization Control Register        */
398
399
400 /* Channel 10 */
401
402 #define MX1_SAR10       __REG(0x00209300)  /* Channel 10 Source Address Register */
403 #define MX1_DAR10       __REG(0x00209304)  /* Channel 10 Destination Address Register   */
404 #define MX1_CNTR10      __REG(0x00209308)  /* Channel 10 Count Register                 */
405 #define MX1_CCR10       __REG(0x0020930C)  /* Channel 10 Control Register       */
406 #define MX1_RSSR10      __REG(0x00209310)  /* Channel 10 Request Source Select Register         */
407 #define MX1_BLR10       __REG(0x00209314)  /* Channel 10 Burst Length  Register         */
408 #define MX1_RTOR10      __REG(0x00209318)  /* Channel 10 Request Time-Out Register      */
409 #define MX1_BUCR10      __REG(0x00209318)  /* Channel 10 Bus Utilization Control Register       */
410
411
412 #define MX1_TCR         __REG(0x00209340)  /* Test Control Register             */
413 #define MX1_TFIFOAR     __REG(0x00209344)  /* Test FIFO A  Register             */
414 #define MX1_TDRR        __REG(0x00209348)  /* Test DMA Request Register         */
415 #define MX1_TDIPR       __REG(0x0020934C)  /* Test DMA In Progress Register     */
416 #define MX1_TFIFOBR     __REG(0x00209350)  /* Test FIFO B Register              */
417
418
419
420 /*
421  *      MX1 SIM registers
422  */
423
424 #define MX1_PORT_CNTL   __REG(0x00211000)  /* Port Control Register             */
425 #define MX1_CNTL        __REG(0x00211004)  /* Control Register                  */
426 #define MX1_RCV_THRESHOLD __REG(0x00211008)/* Receive Threshold  Register       */
427 #define MX1_ENABLE      __REG(0x0021100C)  /* Transmit/Receive Enable Register  */
428 #define MX1_XMT_STATUS  __REG(0x00211010)  /* Transmit Status  Register         */
429 #define MX1_RCV_STATUS  __REG(0x00211014)  /* Receive Status  Register          */
430 #define MX1_SIM_INT_MASK        __REG(0x00211018)  /* Interrupt Mask Register           */
431 #define MX1_XMT_BUF     __REG(0x0021101C)  /* Port Transmit Buffer Register     */
432 #define MX1_RCV_BUF     __REG(0x00211020)  /* Receive Buffer Register           */
433 #define MX1_PORT_DETECT __REG(0x00211024)  /* Detect Register                   */
434 #define MX1_XMT_THRESHOLD __REG(0x00211028)/* Transmit Threshold Register       */
435 #define MX1_GUARD_CNTL  __REG(0x0021102C)  /* Transmit Guard Control  Register  */
436 #define MX1_OD_CONFIG   __REG(0x00211030)  /* Open-Drain Configuration Control Register */
437 #define MX1_RESET_CNTL  __REG(0x00211034)  /* Reset  Control Register           */
438 #define MX1_CHAR_WAIT   __REG(0x00211038)  /* Charactor Wait Timer Register     */
439 #define MX1_GPCNT       __REG(0x0021103C)  /* General Purpose Counter  Register */
440 #define MX1_DIVISOR     __REG(0x00211040)  /* Divisor Register                  */
441
442
443 /*
444  *      MX1 USBD registers
445  */
446
447 #define MX1_USB_FRAME   __REG(0x00212000)  /* USB Frame Number and Match Register       */
448 #define MX1_USB_SPEC    __REG(0x00212004)  /* USB Spec & Release Number Register        */
449 #define MX1_USB_STAT    __REG(0x00212008)  /* USB Status Register               */
450 #define MX1_USB_CTRL    __REG(0x0021200C)  /* USB Control Register              */
451 #define MX1_USB_DADR    __REG(0x00212010)  /* USB Descriptor RAM Address Register       */
452 #define MX1_USB_DDAT    __REG(0x00212014)  /* USB Descriptor RAM/Endpoint buffer Data  Register */
453 #define MX1_USB_INTR    __REG(0x00212018)  /* USB Interrupt Status Register     */
454 #define MX1_USB_MASK    __REG(0x0021201C)  /* USB Interrupt Mask Register       */
455 #define MX1_USB_ENAB    __REG(0x00212024)  /* USB Enable Register               */
456
457
458 /* Endpoint 0  */
459 #define MX1_USB_EP0_STAT __REG(0x00212030) /* Endpoint 0 Status/Control Register        */
460 #define MX1_USB_EP0_INTR __REG(0x00212034) /* Endpoint 0 Interrupt Status  Register     */
461 #define MX1_USB_EP0_MASK __REG(0x00212038) /* Endpoint 0 Interrupt Mask  Register       */
462 #define MX1_USB_EP0_FDAT __REG(0x0021203C) /* Endpoint 0 FIFO Data Register     */
463 #define MX1_USB_EP0_FSTAT __REG(0x00212040) /* Endpoint 0 FIFO Status Register  */
464 #define MX1_USB_EP0_FCTRL __REG(0x00212044) /* Endpoint 0 FIFO Control Register */
465 #define MX1_USB_EP0_LRFP __REG(0x00212048) /* Endpoint 0 Last Read Frame Pointer Register       */
466 #define MX1_USB_EP0_LWFP __REG(0x0021204C) /* Endpoint 0 Last Write Frame Pointer Register      */
467 #define MX1_USB_EP0_FALRM __REG(0x00212050) /* Endpoint 0 FIFO Alarm  Register  */
468 #define MX1_USB_EP0_FRDP __REG(0x00212054) /* Endpoint 0 FIFO Read Pointer Register     */
469 #define MX1_USB_EP0_FWRP __REG(0x00212058) /* Endpoint 0 FIFO Write Pointer Register    */
470
471
472 /* Endpoint 1  */
473 #define MX1_USB_EP1_STAT __REG(0x00212060) /* Endpoint 1 Status/Control Register        */
474 #define MX1_USB_EP1_INTR __REG(0x00212064) /* Endpoint 1 Interrupt Status  Register     */
475 #define MX1_USB_EP1_MASK __REG(0x00212068) /* Endpoint 1 Interrupt Mask  Register       */
476 #define MX1_USB_EP1_FDAT __REG(0x0021206C) /* Endpoint 1 FIFO Data Register     */
477 #define MX1_USB_EP1_FSTAT __REG(0x00212070) /* Endpoint 1 FIFO Status Register  */
478 #define MX1_USB_EP1_FCTRL __REG(0x00212074) /* Endpoint 1 FIFO Control Register */
479 #define MX1_USB_EP1_LRFP __REG(0x00212078) /* Endpoint 1 Last Read Frame Pointer Register       */
480 #define MX1_USB_EP1_LWFP __REG(0x0021207C) /* Endpoint 1 Last Write Frame Pointer Register      */
481 #define MX1_USB_EP1_FALRM __REG(0x00212080) /* Endpoint 1 FIFO Alarm  Register  */
482 #define MX1_USB_EP1_FRDP __REG(0x00212084) /* Endpoint 1 FIFO Read Pointer Register     */
483 #define MX1_USB_EP1_FWRP __REG(0x00212088) /* Endpoint 1 FIFO Write Pointer Register    */
484
485
486 /* Endpoint 2  */
487 #define MX1_USB_EP2_STAT __REG(0x00212090) /* Endpoint 2 Status/Control Register        */
488 #define MX1_USB_EP2_INTR __REG(0x00212094) /* Endpoint 2 Interrupt Status  Register     */
489 #define MX1_USB_EP2_MASK __REG(0x00212098) /* Endpoint 2 Interrupt Mask  Register       */
490 #define MX1_USB_EP2_FDAT __REG(0x0021209C) /* Endpoint 2 FIFO Data Register     */
491 #define MX1_USB_EP2_FSTAT __REG(0x002120A0) /* Endpoint 2 FIFO Status Register  */
492 #define MX1_USB_EP2_FCTRL __REG(0x002120A4) /* Endpoint 2 FIFO Control Register */
493 #define MX1_USB_EP2_LRFP __REG(0x002120A8) /* Endpoint 2 Last Read Frame Pointer Register       */
494 #define MX1_USB_EP2_LWFP __REG(0x002120AC) /* Endpoint 2 Last Write Frame Pointer Register      */
495 #define MX1_USB_EP2_FALRM __REG(0x002120B0) /* Endpoint 2 FIFO Alarm  Register  */
496 #define MX1_USB_EP2_FRDP __REG(0x002120B4) /* Endpoint 2 FIFO Read Pointer Register     */
497 #define MX1_USB_EP2_FWRP __REG(0x002120B8) /* Endpoint 2 FIFO Write Pointer Register    */
498
499
500 /* Endpoint 3  */
501 #define MX1_USB_EP3_STAT __REG(0x002120C0) /* Endpoint 3 Status/Control Register        */
502 #define MX1_USB_EP3_INTR __REG(0x002120C4) /* Endpoint 3 Interrupt Status  Register     */
503 #define MX1_USB_EP3_MASK __REG(0x002120C8) /* Endpoint 3 Interrupt Mask  Register       */
504 #define MX1_USB_EP3_FDAT __REG(0x002120CC) /* Endpoint 3 FIFO Data Register     */
505 #define MX1_USB_EP3_FSTAT __REG(0x002120D0) /* Endpoint 3 FIFO Status Register  */
506 #define MX1_USB_EP3_FCTRL __REG(0x002120D4) /* Endpoint 3 FIFO Control Register */
507 #define MX1_USB_EP3_LRFP __REG(0x002120D8) /* Endpoint 3 Last Read Frame Pointer Register       */
508 #define MX1_USB_EP3_LWFP __REG(0x002120DC) /* Endpoint 3 Last Write Frame Pointer Register      */
509 #define MX1_USB_EP3_FALRM __REG(0x002120E0) /* Endpoint 3 FIFO Alarm  Register  */
510 #define MX1_USB_EP3_FRDP __REG(0x002120E4) /* Endpoint 3 FIFO Read Pointer Register     */
511 #define MX1_USB_EP3_FWRP __REG(0x002120E8) /* Endpoint 3 FIFO Write Pointer Register    */
512
513
514
515 /* Endpoint 4  */
516 #define MX1_USB_EP4_STAT __REG(0x002120F0) /* Endpoint 4 Status/Control Register        */
517 #define MX1_USB_EP4_INTR __REG(0x002120F4) /* Endpoint 4 Interrupt Status  Register     */
518 #define MX1_USB_EP4_MASK __REG(0x002120F8) /* Endpoint 4 Interrupt Mask  Register       */
519 #define MX1_USB_EP4_FDAT __REG(0x002120FC) /* Endpoint 4 FIFO Data Register     */
520 #define MX1_USB_EP4_FSTAT __REG(0x00212100) /* Endpoint 4 FIFO Status Register  */
521 #define MX1_USB_EP4_FCTRL __REG(0x00212104) /* Endpoint 4 FIFO Control Register */
522 #define MX1_USB_EP4_LRFP __REG(0x00212108) /* Endpoint 4 Last Read Frame Pointer Register       */
523 #define MX1_USB_EP4_LWFP __REG(0x0021210C) /* Endpoint 4 Last Write Frame Pointer Register      */
524 #define MX1_USB_EP4_FALRM __REG(0x00212110) /* Endpoint 4 FIFO Alarm  Register  */
525 #define MX1_USB_EP4_FRDP __REG(0x00212114) /* Endpoint 4 FIFO Read Pointer Register     */
526 #define MX1_USB_EP4_FWRP __REG(0x00212118) /* Endpoint 4 FIFO Write Pointer Register    */
527
528
529
530 /* Endpoint 5  */
531 #define MX1_USB_EP5_STAT __REG(0x00212120) /* Endpoint 5 Status/Control Register        */
532 #define MX1_USB_EP5_INTR __REG(0x00212124) /* Endpoint 5 Interrupt Status  Register     */
533 #define MX1_USB_EP5_MASK __REG(0x00212128) /* Endpoint 5 Interrupt Mask  Register       */
534 #define MX1_USB_EP5_FDAT __REG(0x0021212C) /* Endpoint 5 FIFO Data Register     */
535 #define MX1_USB_EP5_FSTAT __REG(0x00212130) /* Endpoint 5 FIFO Status Register  */
536 #define MX1_USB_EP5_FCTRL __REG(0x00212134) /* Endpoint 5 FIFO Control Register */
537 #define MX1_USB_EP5_LRFP __REG(0x00212138) /* Endpoint 5 Last Read Frame Pointer Register       */
538 #define MX1_USB_EP5_LWFP __REG(0x0021213C) /* Endpoint 5 Last Write Frame Pointer Register      */
539 #define MX1_USB_EP5_FALRM __REG(0x00212140) /* Endpoint 5 FIFO Alarm  Register  */
540 #define MX1_USB_EP5_FRDP __REG(0x00212144) /* Endpoint 5 FIFO Read Pointer Register     */
541 #define MX1_USB_EP5_FWRP __REG(0x00212148) /* Endpoint 5 FIFO Write Pointer Register    */
542
543
544
545
546 /*
547  *      MX1 SPI 1 registers
548  */
549
550 #define MX1_RXDATAREG1  __REG(0x00213000)  /* SPI 1 Rx Data Register            */
551 #define MX1_TXDATAREG1  __REG(0x00213004)  /* SPI 1 Tx Data Register            */
552 #define MX1_CONTROLREG1 __REG(0x00213008)  /* SPI 1 Control Register            */
553 #define MX1_INTREG1     __REG(0x0021300C)  /* SPI 1 Interrupt Control/Status Register   */
554 #define MX1_TESTREG1    __REG(0x00213010)  /* SPI 1 Test Register               */
555 #define MX1_PERIODREG1  __REG(0x00213014)  /* SPI 1 Sample Period Control Register      */
556 #define MX1_DMAREG1     __REG(0x00213018)  /* SPI 1 DMA Control  Register       */
557 #define MX1_RESETREG1   __REG(0x00213018)  /* SPI 1 Soft Reset Register         */
558
559
560
561
562 /*
563  *      MX1 MMC/SDHC registers
564  */
565
566 #define MX1_STR_STP_CLK __REG(0x00214000)  /* MMC/SD Clock Control Register     */
567 #define MX1_STATUS      __REG(0x00214004)  /* MMC/SD Status Register            */
568 #define MX1_CLK_RATE    __REG(0x00214008)  /* MMC/SD Clock Rate Register        */
569 #define MX1_CMD_DAT_CONT __REG(0x0021400C)  /* MMC/SD Command & Data Control Register   */
570 #define MX1_RES_TO      __REG(0x00214010)  /* MMC/SD Response Time Out Register */
571 #define MX1_READ_TO     __REG(0x00214014)  /* MMC/SD Read Time Out Register     */
572 #define MX1_BLK_LEN     __REG(0x00214018)  /* MMC/SD Block Length Register      */
573 #define MX1_NOB         __REG(0x0021401C)  /* MMC/SD Number of Block Register   */
574 #define MX1_REV_NO      __REG(0x00214020)  /* MMC/SD Revision Number Register   */
575 #define MX1_MMC_INT_MASK        __REG(0x00214024)  /* MMC/SD Interrupt Mask Register    */
576 #define MX1_CMD         __REG(0x00214028)  /* MMC/SD Command Number Register    */
577 #define MX1_ARGH        __REG(0x0021402C)  /* MMC/SD Higher Argument Register   */
578 #define MX1_ARGL        __REG(0x00214030)  /* MMC/SD Lower Argument Register    */
579 #define MX1_RES_FIFO    __REG(0x00214034)  /* MMC/SD Response FIFO Register     */
580 #define MX1_BUFFER_ACCESS __REG(0x00214038)  /* MMC/SD Buffer Access Register   */
581
582
583
584 /*
585  *      MX1 ASP registers
586  */
587
588 #define MX1_ASP_PADFIFO __REG(0x00215000)  /* Pen Sample FIFO                   */
589 #define MX1_ASP_VADFIFO __REG(0x00215004)  /* Voice ADC Register                */
590 #define MX1_ASP_VDAFIFO __REG(0x00215008)  /* Voice DAC Register                */
591 #define MX1_ASP_VADCOEF __REG(0x0021500C)  /* Voice ADC FIR Coefficients RAM    */
592 #define MX1_ASP_ACNTLCR __REG(0x00215010)  /* Control Register                  */
593 #define MX1_ASP_PSMPLRG __REG(0x00215014)  /* Pen A/D Sample Rate Control Register      */
594 #define MX1_ASP_ICNTLR  __REG(0x00215018)  /* Interrupt Control Register        */
595 #define MX1_ASP_ISTATR  __REG(0x0021501C)  /* Interrupt/Error Status Register   */
596 #define MX1_ASP_VADGAIN __REG(0x00215020)  /* Voice ADC Control Register        */
597 #define MX1_ASP_VDAGAIN __REG(0x00215024)  /* Voice DAC Control Register        */
598 #define MX1_ASP_VDACOEF __REG(0x00215028)  /* Voice DAC FIR Coefficients RAM    */
599 #define MX1_ASP_CLKDIV  __REG(0x0021502C)  /* Clock Divide Register             */
600 #define MX1_ASP_CMPCNTL __REG(0x0021502C)  /* Compare Control Register          */
601
602
603
604 /*
605  *      MX1 BTA registers
606  */
607
608
609 /*
610  *      MX1 I2C registers
611  */
612
613 #define MX1_IADR        __REG(0x00217000)  /* I2C Address Register              */
614 #define MX1_IFDR        __REG(0x00217004)  /* I2C Frequency Divider Register    */
615 #define MX1_I2CR        __REG(0x00217008)  /* I2C Control Register              */
616 #define MX1_I2CSR       __REG(0x0021700C)  /* I2C Status Register               */
617 #define MX1_I2DR        __REG(0x00217010)  /* I2C Data I/O Register             */
618
619
620
621 /*
622  *      MX1 SSI registers
623  */
624
625 #define MX1_STX         __REG(0x00218000)  /* SSI Transmit Data Register        */
626 #define MX1_SRX         __REG(0x00218004)  /* SSI Receive Data Register         */
627 #define MX1_SCSR        __REG(0x00218008)  /* SSI Control/Status Register       */
628 #define MX1_STCR        __REG(0x0021800C)  /* SSI Transmit Configuration Register       */
629 #define MX1_SRCR        __REG(0x00218010)  /* SSI Recieve Configuration Register        */
630 #define MX1_STCCR       __REG(0x00218014)  /* SSI Transmit Clock Control Register       */
631 #define MX1_SRCCR       __REG(0x00218018)  /* SSI Receive Clock Control Register        */
632 #define MX1_STSR        __REG(0x0021801C)  /* SSI Time Slot Register            */
633 #define MX1_SFCSR       __REG(0x00218020)  /* SSI FIFO Control/Status Register  */
634 #define MX1_SOR         __REG(0x00218024)  /* SSI Option Register               */
635
636
637
638 /*
639  *      MX1 SPI 2 registers
640  */
641
642 #define MX1_RXDATAREG2  __REG(0x00219000)  /* SPI 2 Rx Data Register            */
643 #define MX1_TXDATAREG2  __REG(0x00219004)  /* SPI 2 Tx Data Register            */
644 #define MX1_CONTROLREG2 __REG(0x00219008)  /* SPI 2 Control Register            */
645 #define MX1_INTREG2     __REG(0x0021900C)  /* SPI 2 Interrupt Control/Status Register   */
646 #define MX1_TESTREG2    __REG(0x00219010)  /* SPI 2 Test Register               */
647 #define MX1_PERIODREG2  __REG(0x00219014)  /* SPI 2 Sample Period Control Register      */
648 #define MX1_DMAREG2     __REG(0x00219018)  /* SPI 2 DMA Control  Register       */
649 #define MX1_RESETREG2   __REG(0x00219018)  /* SPI 2 Soft Reset Register         */
650
651
652
653 /*
654  *      MX1 MSHC registers
655  */
656
657 #define MX1_MSCMD       __REG(0x0021A000)  /* Memory Stick Command Register     */
658 #define MX1_MSCS        __REG(0x0021A002)  /* Memory Stick Control/Status Register      */
659 #define MX1_MSTDATA     __REG(0x0021A004)  /* Memory Stick Transmit FIFO Data Register  */
660 #define MX1_MSRDATA     __REG(0x0021A004)  /* Memory Stick Recieve FIFO Data Register   */
661 #define MX1_MSICS       __REG(0x0021A006)  /* Memory Stick Interrupt Control/Status Register    */
662 #define MX1_MSPPCD      __REG(0x0021A008)  /* Memory Stick Parallel Port Control/Data Register  */
663 #define MX1_MSC2        __REG(0x0021A00A)  /* Memory Stick Control 2 Register   */
664 #define MX1_MSACD       __REG(0x0021A00C)  /* Memory Stick Auto Command Register        */
665 #define MX1_MSFAECS     __REG(0x0021A00E)  /* Memory Stick FIFO Access Error Control/Status Register    */
666 #define MX1_MSCLKD      __REG(0x0021A010)  /* Memory Stick Serial Clock divider Register        */
667 #define MX1_MSDRQC      __REG(0x0021A012)  /* Memory Stick DMA Request Control Register */
668
669
670
671 /*
672  *      MX1 PLLCLK registers
673  */
674
675 #define MX1_CSCR        __REG(0x0021B000)  /* Clock Source Control Register     */
676 #define MX1_MPCTL0      __REG(0x0021B004)  /* MCU PLL Control Register 0        */
677 #define MX1_MPCTL1      __REG(0x0021B008)  /* MCU PLL & System Clock Control Register 1 */
678 #define MX1_UPCTL0      __REG(0x0021B00C)  /* USB PLL Control Register 0        */
679 #define MX1_UPCTL1      __REG(0x0021B010)  /* USB PLL Control Register 1        */
680 #define MX1_PCDR        __REG(0x0021B020)  /* Peripheral Clock Divider Register */
681
682
683 /*
684  *      MX1 RESET registers
685  */
686
687 #define MX1_RSR         __REG(0x0021B800)  /* Reset Source Register             */
688
689
690
691 /*
692  *      MX1 SYS CTRL registers
693  */
694
695 #define MX1_SIDR        __REG(0x0021B804)  /* Silicon ID Register               */
696 #define MX1_FMCR        __REG(0x0021B808)  /* Function MultiPlexing Control Register    */
697 #define MX1_GPCR        __REG(0x0021B80C)  /* Global Peripheral Control Register        */
698
699
700 /*
701  *      MX1 GPIO registers
702  */
703
704 /* Port A */
705 #define MX1_DDIR_A      __REG(0x0021C000)  /* Port A Data Direction Register    */
706 #define MX1_OCR1_A      __REG(0x0021C004)  /* Port A Output Configuration Register 1    */
707 #define MX1_OCR2_A      __REG(0x0021C008)  /* Port A Output Configuration Register 2    */
708 #define MX1_ICONFA1_A   __REG(0x0021C00C)  /* Port A Input Configuration Register A1    */
709 #define MX1_ICONFA2_A   __REG(0x0021C010)  /* Port A Input Configuration Register A2    */
710 #define MX1_ICONFB1_A   __REG(0x0021C014)  /* Port A Input Configuration Register B1    */
711 #define MX1_ICONFB2_A   __REG(0x0021C018)  /* Port A Input Configuration Register B2    */
712 #define MX1_DR_A        __REG(0x0021C01C)  /* Port A Data Register              */
713 #define MX1_GIUS_A      __REG(0x0021C020)  /* Port A GPIO In Use Register       */
714 #define MX1_SSR_A       __REG(0x0021C024)  /* Port A Sample Status Register     */
715 #define MX1_ICR1_A      __REG(0x0021C028)  /* Port A Interrupt Configuration Register 1 */
716 #define MX1_ICR2_A      __REG(0x0021C02C)  /* Port A Interrupt Configuration Register 2 */
717 #define MX1_IMR_A       __REG(0x0021C030)  /* Port A Interrupt Mask Register    */
718 #define MX1_ISR_A       __REG(0x0021C034)  /* Port A Interrupt Status Register  */
719 #define MX1_GPR_A       __REG(0x0021C038)  /* Port A General Purpose Register   */
720 #define MX1_SWR_A       __REG(0x0021C03C)  /* Port A Software Reset Register    */
721 #define MX1_PUEN_A      __REG(0x0021C040)  /* Port A Pull Up Enable Register    */
722
723
724 /* Port B */
725 #define MX1_DDIR_B      __REG(0x0021C100)  /* Port B Data Direction Register    */
726 #define MX1_OCR1_B      __REG(0x0021C104)  /* Port B Output Configuration Register 1    */
727 #define MX1_OCR2_B      __REG(0x0021C108)  /* Port B Output Configuration Register 2    */
728 #define MX1_ICONFA1_B   __REG(0x0021C10C)  /* Port B Input Configuration Register A1    */
729 #define MX1_ICONFA2_B   __REG(0x0021C110)  /* Port B Input Configuration Register A2    */
730 #define MX1_ICONFB1_B   __REG(0x0021C114)  /* Port B Input Configuration Register B1    */
731 #define MX1_ICONFB2_B   __REG(0x0021C118)  /* Port B Input Configuration Register B2    */
732 #define MX1_DR_B        __REG(0x0021C11C)  /* Port B Data Register              */
733 #define MX1_GIUS_B      __REG(0x0021C120)  /* Port B GPIO In Use Register       */
734 #define MX1_SSR_B       __REG(0x0021C124)  /* Port B Sample Status Register     */
735 #define MX1_ICR1_B      __REG(0x0021C128)  /* Port B Interrupt Configuration Register 1 */
736 #define MX1_ICR2_B      __REG(0x0021C12C)  /* Port B Interrupt Configuration Register 2 */
737 #define MX1_IMR_B       __REG(0x0021C130)  /* Port B Interrupt Mask Register    */
738 #define MX1_ISR_B       __REG(0x0021C134)  /* Port B Interrupt Status Register  */
739 #define MX1_GPR_B       __REG(0x0021C138)  /* Port B General Purpose Register   */
740 #define MX1_SWR_B       __REG(0x0021C13C)  /* Port B Software Reset Register    */
741 #define MX1_PUEN_B      __REG(0x0021C140)  /* Port B Pull Up Enable Register    */
742
743
744
745 /* Port C */
746 #define MX1_DDIR_C      __REG(0x0021C200)  /* Port C Data Direction Register    */
747 #define MX1_OCR1_C      __REG(0x0021C204)  /* Port C Output Configuration Register 1    */
748 #define MX1_OCR2_C      __REG(0x0021C208)  /* Port C Output Configuration Register 2    */
749 #define MX1_ICONFA1_C   __REG(0x0021C20C)  /* Port C Input Configuration Register A1    */
750 #define MX1_ICONFA2_C   __REG(0x0021C210)  /* Port C Input Configuration Register A2    */
751 #define MX1_ICONFB1_C   __REG(0x0021C214)  /* Port C Input Configuration Register B1    */
752 #define MX1_ICONFB2_C   __REG(0x0021C218)  /* Port C Input Configuration Register B2    */
753 #define MX1_DR_C        __REG(0x0021C21C)  /* Port C Data Register              */
754 #define MX1_GIUS_C      __REG(0x0021C220)  /* Port C GPIO In Use Register       */
755 #define MX1_SSR_C       __REG(0x0021C224)  /* Port C Sample Status Register     */
756 #define MX1_ICR1_C      __REG(0x0021C228)  /* Port C Interrupt Configuration Register 1 */
757 #define MX1_ICR2_C      __REG(0x0021C22C)  /* Port C Interrupt Configuration Register 2 */
758 #define MX1_IMR_C       __REG(0x0021C230)  /* Port C Interrupt Mask Register    */
759 #define MX1_ISR_C       __REG(0x0021C234)  /* Port C Interrupt Status Register  */
760 #define MX1_GPR_C       __REG(0x0021C238)  /* Port C General Purpose Register   */
761 #define MX1_SWR_C       __REG(0x0021C23C)  /* Port C Software Reset Register    */
762 #define MX1_PUEN_C      __REG(0x0021C240)  /* Port C Pull Up Enable Register    */
763
764
765
766 /* Port D */
767 #define MX1_DDIR_D      __REG(0x0021C300)  /* Port D Data Direction Register    */
768 #define MX1_OCR1_D      __REG(0x0021C304)  /* Port D Output Configuration Register 1    */
769 #define MX1_OCR2_D      __REG(0x0021C308)  /* Port D Output Configuration Register 2    */
770 #define MX1_ICONFA1_D   __REG(0x0021C30C)  /* Port D Input Configuration Register A1    */
771 #define MX1_ICONFA2_D   __REG(0x0021C310)  /* Port D Input Configuration Register A2    */
772 #define MX1_ICONFB1_D   __REG(0x0021C314)  /* Port D Input Configuration Register B1    */
773 #define MX1_ICONFB2_D   __REG(0x0021C318)  /* Port D Input Configuration Register B2    */
774 #define MX1_DR_D        __REG(0x0021C31C)  /* Port D Data Register              */
775 #define MX1_GIUS_D      __REG(0x0021C320)  /* Port D GPIO In Use Register       */
776 #define MX1_SSR_D       __REG(0x0021C324)  /* Port D Sample Status Register     */
777 #define MX1_ICR1_D      __REG(0x0021C328)  /* Port D Interrupt Configuration Register 1 */
778 #define MX1_ICR2_D      __REG(0x0021C32C)  /* Port D Interrupt Configuration Register 2 */
779 #define MX1_IMR_D       __REG(0x0021C330)  /* Port D Interrupt Mask Register    */
780 #define MX1_ISR_D       __REG(0x0021C334)  /* Port D Interrupt Status Register  */
781 #define MX1_GPR_D       __REG(0x0021C338)  /* Port D General Purpose Register   */
782 #define MX1_SWR_D       __REG(0x0021C33C)  /* Port D Software Reset Register    */
783 #define MX1_PUEN_D      __REG(0x0021C340)  /* Port D Pull Up Enable Register    */
784
785
786
787 /*
788  *      MX1 EIM registers
789  */
790
791 #define MX1_CS0U        __REG(0x00220000)  /* Chip Select 0 Upper Control Register      */
792 #define MX1_CS0L        __REG(0x00220004)  /* Chip Select 0 Lower Control Register      */
793 #define MX1_CS1U        __REG(0x00220008)  /* Chip Select 1 Upper Control Register      */
794 #define MX1_CS1L        __REG(0x0022000C)  /* Chip Select 1 Lower Control Register      */
795 #define MX1_CS2U        __REG(0x00220010)  /* Chip Select 2 Upper Control Register      */
796 #define MX1_CS2L        __REG(0x00220014)  /* Chip Select 2 Lower Control Register      */
797 #define MX1_CS3U        __REG(0x00220018)  /* Chip Select 3 Upper Control Register      */
798 #define MX1_CS3L        __REG(0x0022001C)  /* Chip Select 3 Lower Control Register      */
799 #define MX1_CS4U        __REG(0x00220020)  /* Chip Select 4 Upper Control Register      */
800 #define MX1_CS4L        __REG(0x00220024)  /* Chip Select 4 Lower Control Register      */
801 #define MX1_CS5U        __REG(0x00220028)  /* Chip Select 5 Upper Control Register      */
802 #define MX1_CS5L        __REG(0x0022002C)  /* Chip Select 5 Lower Control Register      */
803 #define MX1_WEIM        __REG(0x00220030)  /* weim cONFIGURATION Register       */
804
805
806
807 /*
808  *      MX1 SDRAMC registers
809  */
810
811 #define MX1_SDCTL0      __REG(0x00221000)  /* SDRAM 0 Control Register          */
812 #define MX1_SDCTL1      __REG(0x00221004)  /* SDRAM 1 Control Register          */
813 #define MX1_MISCELLANEOUS __REG(0x00221014)  /* Miscellaneous Register          */
814 #define MX1_SDRST       __REG(0x00221018)  /* SDRAM Reset Register              */
815
816
817
818 /*
819  *      MX1 MMA registers
820  */
821
822 #define MX1_MMA_MAC_MOD __REG(0x00222000)  /* MMA MAC Module Register           */
823 #define MX1_MMA_MAC_CTRL __REG(0x00222004)  /* MMA MAC Control Register         */
824 #define MX1_MMA_MAC_MULT __REG(0x00222008)  /* MMA MAC Multiply Counter Register        */
825 #define MX1_MMA_MAC_ACCU __REG(0x0022200C)  /* MMA MAC Accumulate Counter Register      */
826 #define MX1_MMA_MAC_INTR __REG(0x00222010)  /* MMA MAC Interrupt Register       */
827 #define MX1_MMA_MAC_INTR_MASK __REG(0x00222014)  /* MMA MAC Interrupt Mask Register     */
828 #define MX1_MMA_MAC_FIFO __REG(0x00222018)  /* MMA MAC FIFO Register            */
829 #define MX1_MMA_MAC_FIFO_STAT __REG(0x0022201C)  /* MMA MAC FIFO Status Register        */
830 #define MX1_MMA_MAC_BURST __REG(0x00222020)  /* MMA MAC Burst Count Register    */
831 #define MX1_MMA_MAC_BITSEL __REG(0x00222024)  /* MMA MAC Bit Select Register    */
832
833 #define MX1_MMA_MAC_XBASE __REG(0x00222200)  /* MMA MAC X Base Address Register */
834 #define MX1_MMA_MAC_XINDEX __REG(0x00222204)  /* MMA MAC X Index Register       */
835 #define MX1_MMA_MAC_XLENGTH __REG(0x00222208)  /* MMA MAC X Length Register     */
836 #define MX1_MMA_MAC_XMODIFY __REG(0x0022220C)  /* MMA MAC X Modify Register     */
837 #define MX1_MMA_MAC_XINCR __REG(0x00222210)  /* MMA MAC X Increment Register    */
838 #define MX1_MMA_MAC_XCOUNT __REG(0x00222214)  /* MMA MAC X Count Register       */
839
840
841 #define MX1_MMA_MAC_YBASE __REG(0x00222300)  /* MMA MAC Y Base Address Register */
842 #define MX1_MMA_MAC_YINDEX __REG(0x00222304)  /* MMA MAC Y Index Register       */
843 #define MX1_MMA_MAC_YLENGTH __REG(0x00222308)  /* MMA MAC Y Length Register     */
844 #define MX1_MMA_MAC_YMODIFY __REG(0x0022230C)  /* MMA MAC Y Modify Register     */
845 #define MX1_MMA_MAC_YINCR __REG(0x00222310)  /* MMA MAC Y Increment Register    */
846 #define MX1_MMA_MAC_YCOUNT __REG(0x00222314)  /* MMA MAC Y Count Register       */
847
848
849 #define MX1_MMA_DCTCTRL __REG(0x00222400)  /* DCT/iDCT Control Register         */
850 #define MX1_MMA_DCTVERSION __REG(0x00222404)  /* DCT/iDCT Version Register      */
851 #define MX1_MMA_DCTIRQENA __REG(0x00222408)  /* DCT/iDCT IRQ Enable Register    */
852 #define MX1_MMA_DCTIRQSTAT __REG(0x0022240C)  /* DCT/iDCT IRQ Status Register   */
853 #define MX1_MMA_DCTSRCDATA __REG(0x00222410)  /* DCT/iDCT Source Data Address   */
854 #define MX1_MMA_DCTDESDATA __REG(0x00222414)  /* DCT/iDCT Destination Data Address      */
855 #define MX1_MMA_DCTXOFF __REG(0x00222418)  /* DCT/iDCT X-Offset Address         */
856 #define MX1_MMA_DCTYOFF __REG(0x0022241C)  /* DCT/iDCT Y-Offset Address         */
857 #define MX1_MMA_DCTXYCNT __REG(0x00222420)  /* DCT/iDCT XY Count                */
858 #define MX1_MMA_DCTSKIP __REG(0x00222424)  /* DCT/iDCT Skip Address             */
859 #define MX1_MMA_DCTFIFO __REG(0x00222500)  /* DCT/iDCT Data FIFO                */
860
861
862
863
864 /*
865  *      MX1 AITC registers
866  */
867
868 #define MX1_INTCNTL     __REG(0x00223000)  /* Interrupt Control Register        */
869 #define MX1_NIMASK      __REG(0x00223004)  /* Normal Interrupt Mask Register    */
870 #define MX1_INTENNUM    __REG(0x00223008)  /* Interrupt Enable Number Register  */
871 #define MX1_INTDISNUM   __REG(0x0022300C)  /* Interrupt Disable Number Register */
872 #define MX1_INTENABLEH  __REG(0x00223010)  /* Interrupt Enable Register High    */
873 #define MX1_INTENABLEL  __REG(0x00223014)  /* Interrupt Enable Register Low     */
874 #define MX1_INTTYPEH    __REG(0x00223018)  /* Interrupt Type Register High      */
875 #define MX1_INTTYPEL    __REG(0x0022301C)  /* Interrupt Type Register Low       */
876 #define MX1_NIPRIORITY7 __REG(0x00223020)  /* Normal Interrupt Priority Level Register 7*/
877 #define MX1_NIPRIORITY6 __REG(0x00223024)  /* Normal Interrupt Priority Level Register 6*/
878 #define MX1_NIPRIORITY5 __REG(0x00223028)  /* Normal Interrupt Priority Level Register 5*/
879 #define MX1_NIPRIORITY4 __REG(0x0022302C)  /* Normal Interrupt Priority Level Register 4*/
880 #define MX1_NIPRIORITY3 __REG(0x00223030)  /* Normal Interrupt Priority Level Register 3*/
881 #define MX1_NIPRIORITY2 __REG(0x00223034)  /* Normal Interrupt Priority Level Register 2*/
882 #define MX1_NIPRIORITY1 __REG(0x00223038)  /* Normal Interrupt Priority Level Register 1*/
883 #define MX1_NIPRIORITY0 __REG(0x0022303C)  /* Normal Interrupt Priority Level Register 0*/
884 #define MX1_NIVECSR     __REG(0x00223040)  /* Normal Interrupt Vector & Status Register */
885 #define MX1_FIVECSR     __REG(0x00223044)  /* Fast Interrupt Vector & Status Register   */
886 #define MX1_INTSRCH     __REG(0x00223048)  /* Interrupt Source Register High    */
887 #define MX1_INTSRCL     __REG(0x0022304C)  /* Interrupt Source Register Low     */
888 #define MX1_INTFRCH     __REG(0x00223050)  /* Interrupt Force Register High     */
889 #define MX1_INTFRCL     __REG(0x00223054)  /* Interrupt Force Register Low      */
890 #define MX1_NIPNDH      __REG(0x00223058)  /* Normal Interrupt Pending Register High    */
891 #define MX1_NIPNDL      __REG(0x0022305C)  /* Normal Interrupt Pending Register Low     */
892 #define MX1_FIPNDH      __REG(0x00223060)  /* Fast Interrupt Pending Register High      */
893 #define MX1_FIPNDL      __REG(0x00223064)  /* Fast Interrupt Pending Register Low       */
894
895
896 /*
897  *      MX1 CSI registers
898  */
899
900 #define MX1_CSICR1      __REG(0x00224000)  /* CSI Control Register 1            */
901 #define MX1_CSICR2      __REG(0x00224004)  /* CSI Control Register 2            */
902 #define MX1_CSISR       __REG(0x00224008)  /* CSI Status Register 1             */
903 #define MX1_CSISTATR    __REG(0x0022400C)  /* CSI Statistic FIFO Register 1     */
904 #define MX1_CSIRXR      __REG(0x00224010)  /* CSI RxFIFO Register 1             */
905
906
907
908 #endif  /*  __MC9328_H__ */
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932 #if 0
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966 /*
967         MX1 dma definition 
968 */
969
970 #define MAX_DMA_ADDRESS         0xffffffff
971
972 //#define MAX_DMA_CHANNELS      0
973
974 #define MAX_DMA_CHANNELS                11
975 #define MAX_DMA_2D_REGSET               2
976
977 /* MX1 DMA module registers' address */
978
979 #define MX1_DMA_BASE            IO_ADDRESS(0x00209000)
980 #define MX1_DMA_DCR             (MX1_DMA_BASE + 0x00)           // DMA control register
981 #define MX1_DMA_DISR            (MX1_DMA_BASE + 0x04)           // DMA interrupt status register
982 #define MX1_DMA_DIMR            (MX1_DMA_BASE + 0x08)           // DMA interrupt mask register
983 #define MX1_DMA_DBTOSR          (MX1_DMA_BASE + 0x0C)           // DMA burst time-out status register
984 #define MX1_DMA_DRTOSR          (MX1_DMA_BASE + 0x10)           // DMA request time-out status register
985 #define MX1_DMA_DSESR           (MX1_DMA_BASE + 0x14)           // DMA transfer error status register
986 #define MX1_DMA_DBOSR           (MX1_DMA_BASE + 0x18)           // DMA buffer overflow status register
987 #define MX1_DMA_DBTOCR          (MX1_DMA_BASE + 0x1C)           // DMA burst time-out control register
988 #define MX1_DMA_WSRA            (MX1_DMA_BASE + 0x40)           // W-size register A
989 #define MX1_DMA_XSRA            (MX1_DMA_BASE + 0x44)           // X-size register A
990 #define MX1_DMA_YSRA            (MX1_DMA_BASE + 0x48)           // Y-size register A
991 #define MX1_DMA_WSRB            (MX1_DMA_BASE + 0x4C)           // W-size register B
992 #define MX1_DMA_XSRB            (MX1_DMA_BASE + 0x50)           // X-size register B
993 #define MX1_DMA_YSRB            (MX1_DMA_BASE + 0x54)           // Y-size register B
994
995 #define MX1_DMA_SAR0            (MX1_DMA_BASE + 0x80)           // source address register 0
996 #define MX1_DMA_DAR0            (MX1_DMA_BASE + 0x84)           // destination address register 0
997 #define MX1_DMA_CNTR0           (MX1_DMA_BASE + 0x88)           // count register 0
998 #define MX1_DMA_CCR0            (MX1_DMA_BASE + 0x8C)           // channel control register 0
999 #define MX1_DMA_RSSR0           (MX1_DMA_BASE + 0x90)           // request source select register 0
1000 #define MX1_DMA_BLR0            (MX1_DMA_BASE + 0x94)           // burst length register 0
1001 #define MX1_DMA_RTOR0           (MX1_DMA_BASE + 0x98)           // request time-out register 0
1002 #define MX1_DMA_BUCR0           (MX1_DMA_BASE + 0x98)           // bus utilization control register 0
1003
1004 /* register set 1 to 10 are offseted by 0x40 each = 0x10 pointers away */
1005
1006 #define DMA_REG_SET_OFS         0x10
1007
1008
1009 /* MX1 DMA module registers */
1010 #define _reg_DMA_DCR            (*((P_VU32)MX1_DMA_DCR))
1011 #define _reg_DMA_DISR           (*((P_VU32)MX1_DMA_DISR))
1012 #define _reg_DMA_DIMR           (*((P_VU32)MX1_DMA_DIMR))
1013 #define _reg_DMA_DBTOSR         (*((P_VU32)MX1_DMA_DBTOSR))
1014 #define _reg_DMA_DRTOSR         (*((P_VU32)MX1_DMA_DRTOSR))
1015 #define _reg_DMA_DSESR          (*((P_VU32)MX1_DMA_DSESR))
1016 #define _reg_DMA_DBOSR          (*((P_VU32)MX1_DMA_DBOSR))
1017 #define _reg_DMA_DBTOCR         (*((P_VU32)MX1_DMA_DBTOCR))     
1018 #define _reg_DMA_WSRA           (*((P_VU32)MX1_DMA_WSRA))
1019 #define _reg_DMA_XSRA           (*((P_VU32)MX1_DMA_XSRA))
1020 #define _reg_DMA_YSRA           (*((P_VU32)MX1_DMA_YSRA))
1021 #define _reg_DMA_WSRB           (*((P_VU32)MX1_DMA_WSRB))
1022 #define _reg_DMA_XSRB           (*((P_VU32)MX1_DMA_XSRB))
1023 #define _reg_DMA_YSRB           (*((P_VU32)MX1_DMA_YSRB))
1024 #define _reg_DMA_SAR0           (*((P_VU32)MX1_DMA_SAR0))
1025 #define _reg_DMA_DAR0           (*((P_VU32)MX1_DMA_DAR0))
1026 #define _reg_DMA_CNTR0          (*((P_VU32)MX1_DMA_CNTR0))
1027 #define _reg_DMA_CCR0           (*((P_VU32)MX1_DMA_CCR0))
1028 #define _reg_DMA_RSSR0          (*((P_VU32)MX1_DMA_RSSR0))
1029 #define _reg_DMA_BLR0           (*((P_VU32)MX1_DMA_BLR0))
1030 #define _reg_DMA_RTOR0          (*((P_VU32)MX1_DMA_RTOR0))
1031 #define _reg_DMA_BUCR0          (*((P_VU32)MX1_DMA_BUCR0))
1032
1033 /*  DMA error type definition */
1034 #define MX1_DMA_ERR_BTO         0       // burst time-out
1035 #define MX1_DMA_ERR_RTO         1       // request time-out
1036 #define MX1_DMA_ERR_TE          2       // transfer error
1037 #define MX1_DMA_ERR_BO          3       // buffer overflow
1038
1039
1040 /* Embedded SRAM */
1041
1042 #define MX1_SRAM_BASE           0x00300000
1043 #define MX1_SRAM_SIZE           0x00020000
1044
1045 #define 
1046
1047
1048 #define MX1ADS_SFLASH_BASE         0x0C000000
1049 #define MX1ADS_SFLASH_SIZE         SZ_16M
1050
1051 #define MX1ADS_IO_BASE             0x00200000
1052 #define MX1ADS_IO_SIZE             SZ_256K
1053
1054 #define MX1ADS_VID_BASE            0x00300000
1055 #define MX1ADS_VID_SIZE            0x26000
1056
1057 #define MX1ADS_VID_START           IO_ADDRESS(MX1ADS_VID_BASE)
1058
1059 #define MX1_GPIO_BASE                           0x0021C000      // GPIO
1060 #define MX1_EXT_UART_BASE                       0x15000000      // external UART
1061 #define MX1_TMR1_BASE                           0x00202000      // Timer1
1062 #define         MX1ADS_FLASH_BASE                       0x0C000000      // sync FLASH
1063 #define MX1_ESRAM_BASE                          0x00300000      // embedded SRAM
1064 #define MX1ADS_SDRAM_DISK_BASE  0x0B000000      // SDRAM disk base (last 16M of SDRAM)
1065
1066 /* ------------------------------------------------------------------------
1067  *  Motorola MX1 system registers
1068  * ------------------------------------------------------------------------
1069  *
1070  */
1071
1072 /*
1073  *  Register offests.
1074  *
1075  */
1076
1077 #define MX1ADS_AIPI1_OFFSET             0x00000
1078 #define MX1ADS_WDT_OFFSET               0x01000
1079 #define MX1ADS_TIM1_OFFSET              0x02000
1080 #define MX1ADS_TIM2_OFFSET              0x03000
1081 #define MX1ADS_RTC_OFFSET               0x04000
1082 #define MX1ADS_LCDC_OFFSET              0x05000
1083 #define MX1ADS_UART1_OFFSET             0x06000
1084 #define MX1ADS_UART2_OFFSET             0x07000
1085 #define MX1ADS_PWM_OFFSET               0x08000
1086 #define MX1ADS_DMAC_OFFSET              0x09000
1087 #define MX1ADS_AIPI2_OFFSET             0x10000
1088 #define MX1ADS_SIM_OFFSET               0x11000
1089 #define MX1ADS_USBD_OFFSET              0x12000
1090 #define MX1ADS_SPI1_OFFSET              0x13000
1091 #define MX1ADS_MMC_OFFSET               0x14000
1092 #define MX1ADS_ASP_OFFSET               0x15000
1093 #define MX1ADS_BTA_OFFSET               0x16000
1094 #define MX1ADS_I2C_OFFSET               0x17000
1095 #define MX1ADS_SSI_OFFSET               0x18000
1096 #define MX1ADS_SPI2_OFFSET              0x19000
1097 #define MX1ADS_MSHC_OFFSET              0x1A000
1098 #define MX1ADS_PLL_OFFSET               0x1B000
1099 #define MX1ADS_GPIO_OFFSET              0x1C000
1100 #define MX1ADS_EIM_OFFSET               0x20000
1101 #define MX1ADS_SDRAMC_OFFSET            0x21000
1102 #define MX1ADS_MMA_OFFSET               0x22000
1103 #define MX1ADS_AITC_OFFSET              0x23000
1104 #define MX1ADS_CSI_OFFSET               0x24000
1105
1106
1107 /*
1108  *  Register BASEs, based on OFFSETs
1109  *
1110  */
1111
1112 #define MX1ADS_AIPI1_BASE             (MX1ADS_AIPI1_OFFSET + MX1ADS_IO_BASE)
1113 #define MX1ADS_WDT_BASE               (MX1ADS_WDT_OFFSET + MX1ADS_IO_BASE)
1114 #define MX1ADS_TIM1_BASE              (MX1ADS_TIM1_OFFSET + MX1ADS_IO_BASE)
1115 #define MX1ADS_TIM2_BASE              (MX1ADS_TIM2_OFFSET + MX1ADS_IO_BASE)
1116 #define MX1ADS_RTC_BASE               (MX1ADS_RTC_OFFSET + MX1ADS_IO_BASE)
1117 #define MX1ADS_LCDC_BASE              (MX1ADS_LCDC_OFFSET + MX1ADS_IO_BASE)
1118 #define MX1ADS_UART1_BASE             (MX1ADS_UART1_OFFSET + MX1ADS_IO_BASE)
1119 #define MX1ADS_UART2_BASE             (MX1ADS_UART2_OFFSET + MX1ADS_IO_BASE)
1120 #define MX1ADS_PWM_BASE               (MX1ADS_PWM_OFFSET + MX1ADS_IO_BASE)
1121 #define MX1ADS_DMAC_BASE              (MX1ADS_DMAC_OFFSET + MX1ADS_IO_BASE)
1122 #define MX1ADS_AIPI2_BASE             (MX1ADS_AIPI2_OFFSET + MX1ADS_IO_BASE)
1123 #define MX1ADS_SIM_BASE               (MX1ADS_SIM_OFFSET + MX1ADS_IO_BASE)
1124 #define MX1ADS_USBD_BASE              (MX1ADS_USBD_OFFSET + MX1ADS_IO_BASE)
1125 #define MX1ADS_SPI1_BASE              (MX1ADS_SPI1_OFFSET + MX1ADS_IO_BASE)
1126 #define MX1ADS_MMC_BASE               (MX1ADS_MMC_OFFSET + MX1ADS_IO_BASE)
1127 #define MX1ADS_ASP_BASE               (MX1ADS_ASP_OFFSET + MX1ADS_IO_BASE)
1128 #define MX1ADS_BTA_BASE               (MX1ADS_BTA_OFFSET + MX1ADS_IO_BASE)
1129 #define MX1ADS_I2C_BASE               (MX1ADS_I2C_OFFSET + MX1ADS_IO_BASE)
1130 #define MX1ADS_SSI_BASE               (MX1ADS_SSI_OFFSET + MX1ADS_IO_BASE)
1131 #define MX1ADS_SPI2_BASE              (MX1ADS_SPI2_OFFSET + MX1ADS_IO_BASE)
1132 #define MX1ADS_MSHC_BASE              (MX1ADS_MSHC_OFFSET + MX1ADS_IO_BASE)
1133 #define MX1ADS_PLL_BASE               (MX1ADS_PLL_OFFSET + MX1ADS_IO_BASE)
1134 #define MX1ADS_GPIO_BASE              (MX1ADS_GPIO_OFFSET + MX1ADS_IO_BASE)
1135 #define MX1ADS_EIM_BASE               (MX1ADS_EIM_OFFSET + MX1ADS_IO_BASE)
1136 #define MX1ADS_SDRAMC_BASE            (MX1ADS_SDRAMC_OFFSET + MX1ADS_IO_BASE)
1137 #define MX1ADS_MMA_BASE               (MX1ADS_MMA_OFFSET + MX1ADS_IO_BASE)
1138 #define MX1ADS_AITC_BASE              (MX1ADS_AITC_OFFSET + MX1ADS_IO_BASE)
1139 #define MX1ADS_CSI_BASE               (MX1ADS_CSI_OFFSET + MX1ADS_IO_BASE)
1140
1141
1142 /*
1143  *  MX1 Interrupt numbers
1144  *
1145  */
1146 #define INT_SOFTINT                 0
1147 #define CSI_INT                     6
1148 #define DSPA_MAC_INT                7
1149 #define DSPA_INT                    8
1150 #define COMP_INT                    9
1151 #define MSHC_XINT                   10
1152 #define GPIO_INT_PORTA              11
1153 #define GPIO_INT_PORTB              12
1154 #define GPIO_INT_PORTC              13
1155 #define LCDC_INT                    14
1156 #define SIM_INT                     15
1157 #define SIM_DATA_INT                16
1158 #define RTC_INT                     17
1159 #define RTC_SAMINT                  18
1160 #define UART2_MINT_PFERR            19
1161 #define UART2_MINT_RTS              20
1162 #define UART2_MINT_DTR              21
1163 #define UART2_MINT_UARTC            22
1164 #define UART2_MINT_TX               23
1165 #define UART2_MINT_RX               24
1166 #define UART1_MINT_PFERR            25
1167 #define UART1_MINT_RTS              26
1168 #define UART1_MINT_DTR              27
1169 #define UART1_MINT_UARTC            28
1170 #define UART1_MINT_TX               29
1171 #define UART1_MINT_RX               30
1172 #define VOICE_DAC_INT               31
1173 #define VOICE_ADC_INT               32
1174 #define PEN_DATA_INT                33
1175 #define PWM_INT                     34
1176 #define SDHC_INT                    35
1177 #define I2C_INT                     39
1178 #define CSPI_INT                    41
1179 #define SSI_TX_INT                  42
1180 #define SSI_TX_ERR_INT              43
1181 #define SSI_RX_INT                  44
1182 #define SSI_RX_ERR_INT              45
1183 #define TOUCH_INT                   46
1184 #define USBD_INT0                   47
1185 #define USBD_INT1                   48
1186 #define USBD_INT2                   49
1187 #define USBD_INT3                   50
1188 #define USBD_INT4                   51
1189 #define USBD_INT5                   52
1190 #define USBD_INT6                   53
1191 #define BTSYS_INT                   55
1192 #define BTTIM_INT                   56
1193 #define BTWUI_INT                   57
1194 #define TIMER2_INT                  58
1195 #define TIMER1_INT                  59
1196 #define DMA_ERR                     60
1197 #define DMA_INT                     61
1198 #define GPIO_INT_PORTD              62
1199
1200
1201 #define MAXIRQNUM                       62
1202 #define MAXFIQNUM                       62
1203 #define MAXSWINUM                       62
1204
1205
1206 #define TICKS_PER_uSEC                  24
1207
1208 /*
1209  *  These are useconds NOT ticks.
1210  *
1211  */
1212 #define mSEC_1                          1000
1213 #define mSEC_5                          (mSEC_1 * 5)
1214 #define mSEC_10                         (mSEC_1 * 10)
1215 #define mSEC_25                         (mSEC_1 * 25)
1216 #define SEC_1                           (mSEC_1 * 1000)
1217
1218
1219 #endif 
1220
1221