1 | /* |
---|
2 | * VEGA PLUS registers declaration |
---|
3 | * |
---|
4 | * Copyright (c) 2000 Canon Research France SA. |
---|
5 | * Emmanuel Raguet, mailto:raguet@crf.canon.fr |
---|
6 | * |
---|
7 | * The license and distribution terms for this file may be |
---|
8 | * found in found in the file LICENSE in this distribution or at |
---|
9 | * http://www.rtems.com/license/LICENSE. |
---|
10 | * |
---|
11 | */ |
---|
12 | |
---|
13 | #ifndef __LMREGS_H__ |
---|
14 | #define __LMREGS_H__ |
---|
15 | |
---|
16 | /* |
---|
17 | * VARIABLE DECLARATION |
---|
18 | ****************************************************************************** |
---|
19 | */ |
---|
20 | |
---|
21 | /* register area size */ |
---|
22 | #define LM_REG_AREA_SIZ (0x4000/4) |
---|
23 | |
---|
24 | /*** Register mapping : defined by indexes in an array ***/ |
---|
25 | /*** NOTE : only 1 register every 4 byte address location (+ some holes) */ |
---|
26 | #ifndef __asm__ |
---|
27 | extern volatile unsigned long *Regs; /* Chip registers */ |
---|
28 | #endif |
---|
29 | |
---|
30 | /****************************************************************************** |
---|
31 | * RADIO CONTROLLER BLOCK 0x0C00 - 0x0FFF * |
---|
32 | ****************************************************************************** |
---|
33 | */ |
---|
34 | |
---|
35 | #define RC_BASE 0xC00 |
---|
36 | |
---|
37 | #define RCCNTL ((RC_BASE+0x00)/4) |
---|
38 | #define RCIOCNTL0 ((RC_BASE+0x04)/4) |
---|
39 | #define RCIOCNTL1 ((RC_BASE+0x08)/4) |
---|
40 | #define SYNTCNTL0 ((RC_BASE+0x0C)/4) |
---|
41 | #define SYNTCNTL1 ((RC_BASE+0x10)/4) |
---|
42 | #define SYNTCNTL2 ((RC_BASE+0x14)/4) |
---|
43 | #define SYNTFCNTL ((RC_BASE+0x18)/4) |
---|
44 | #define SYNTPCNTL ((RC_BASE+0x1C)/4) |
---|
45 | #define RSSICNTL ((RC_BASE+0x20)/4) |
---|
46 | #define RSSIBASEL ((RC_BASE+0x24)/4) |
---|
47 | #define RSSIBASEH ((RC_BASE+0x28)/4) |
---|
48 | #define CURRSSI ((RC_BASE+0x2C)/4) |
---|
49 | #define RFSCAN ((RC_BASE+0x30)/4) |
---|
50 | #define CURRF ((RC_BASE+0x34)/4) |
---|
51 | #define CURRSSIA ((RC_BASE+0x38)/4) |
---|
52 | #define CURRSSIB ((RC_BASE+0x3C)/4) |
---|
53 | #define CURRSSIAB ((RC_BASE+0x40)/4) |
---|
54 | #define ADCDATAL ((RC_BASE+0x44)/4) |
---|
55 | #define ADCDATAH ((RC_BASE+0x48)/4) |
---|
56 | #define SLICECNTL ((RC_BASE+0x4C)/4) |
---|
57 | #define RCIOCNTL2 ((RC_BASE+0x50)/4) |
---|
58 | #define RCIOCNTL3 ((RC_BASE+0x54)/4) |
---|
59 | #define ADCREF1L ((RC_BASE+0x58)/4) |
---|
60 | #define ADCREF1H ((RC_BASE+0x5C)/4) |
---|
61 | #define ADCREF2L ((RC_BASE+0x60)/4) |
---|
62 | #define ADCREF2H ((RC_BASE+0x64)/4) |
---|
63 | #define ADCCNTL1 ((RC_BASE+0x68)/4) |
---|
64 | #define ADCCNTL2 ((RC_BASE+0x6C)/4) |
---|
65 | #define TESTREG ((RC_BASE+0x70)/4) |
---|
66 | #define SYNTLCNTL ((RC_BASE+0x74)/4) |
---|
67 | #define SYNTCNTL3 ((RC_BASE+0x78)/4) |
---|
68 | #define ADCPERIOD ((RC_BASE+0x7C)/4) |
---|
69 | #define SYNTIOCNTL ((RC_BASE+0x80)/4) /* added 30/08/99 */ |
---|
70 | |
---|
71 | /* modified 30/08/99 by LHT */ |
---|
72 | #define SHAPE0 ((RC_BASE+0x100)/4) /* previously 0x80 */ |
---|
73 | #define SHAPE1 ((RC_BASE+0x104)/4) |
---|
74 | #define SHAPE2 ((RC_BASE+0x108)/4) |
---|
75 | #define SHAPE3 ((RC_BASE+0x10C)/4) |
---|
76 | #define SHAPE4 ((RC_BASE+0x110)/4) |
---|
77 | #define SHAPE5 ((RC_BASE+0x114)/4) |
---|
78 | #define SHAPE6 ((RC_BASE+0x118)/4) |
---|
79 | #define SHAPE7 ((RC_BASE+0x11C)/4) |
---|
80 | #define SHAPE8 ((RC_BASE+0x120)/4) |
---|
81 | #define SHAPE9 ((RC_BASE+0x124)/4) |
---|
82 | #define SHAPE10 ((RC_BASE+0x128)/4) |
---|
83 | #define SHAPE11 ((RC_BASE+0x12C)/4) |
---|
84 | #define SHAPE12 ((RC_BASE+0x130)/4) |
---|
85 | #define SHAPERMID ((RC_BASE+0x134)/4) |
---|
86 | #define SHAPERCNTL ((RC_BASE+0x138)/4) |
---|
87 | #define CURSHAPE ((RC_BASE+0x13C)/4) |
---|
88 | |
---|
89 | /** PLP BLOCK 0x1400 - 0x17FF */ |
---|
90 | |
---|
91 | #define PLP_BASE 0x1400 |
---|
92 | #define DCNTL0 ((PLP_BASE+0x00)/4) |
---|
93 | #define DCNTL1 ((PLP_BASE+0x04)/4) |
---|
94 | #define SYNC0 ((PLP_BASE+0x08)/4) |
---|
95 | #define SYNC1 ((PLP_BASE+0x0C)/4) |
---|
96 | #define RXSTARTDL ((PLP_BASE+0x10)/4) |
---|
97 | #define TXSTARTDL ((PLP_BASE+0x14)/4) |
---|
98 | #define RXSTOPDL ((PLP_BASE+0x1C)/4) |
---|
99 | #define RXSYNCT ((PLP_BASE+0x20)/4) |
---|
100 | #define HALF_TXSLOT ((PLP_BASE+0x24)/4) |
---|
101 | #define SCB_NUMBER ((PLP_BASE+0x28)/4) |
---|
102 | #define SCB_OPPNUMBER ((PLP_BASE+0x2C)/4) |
---|
103 | #define TXFRAME ((PLP_BASE+0x40)/4) |
---|
104 | #define MSLTPTR ((PLP_BASE+0x44)/4) |
---|
105 | #define CLOCK_CORR ((PLP_BASE+0x48)/4) |
---|
106 | #define PRESYNC ((PLP_BASE+0x4C)/4) |
---|
107 | #define PLPFINE ((PLP_BASE+0x50)/4) |
---|
108 | #define PLPINDEL ((PLP_BASE+0x54)/4) |
---|
109 | #define TXRXSKW ((PLP_BASE+0x58)/4) |
---|
110 | #define PLPALIN ((PLP_BASE+0x5C)/4) |
---|
111 | #define SUSPRFCNTL ((PLP_BASE+0x60)/4) |
---|
112 | #define SUSPCNTL ((PLP_BASE+0x64)/4) |
---|
113 | #define SUSPFC ((PLP_BASE+0x68)/4) |
---|
114 | #define TSTCNTL ((PLP_BASE+0x6C)/4) |
---|
115 | #define TSTDST ((PLP_BASE+0x70)/4) |
---|
116 | #define TSTTXD ((PLP_BASE+0x74)/4) |
---|
117 | #define TSTRXD ((PLP_BASE+0x78)/4) |
---|
118 | #define PLPID ((PLP_BASE+0x7C)/4) |
---|
119 | |
---|
120 | /** ENCRYPTION ENGINE 0x1800 - 0x1BFF */ |
---|
121 | |
---|
122 | #define EE_BASE 0x1800 |
---|
123 | #define EECNTL ((EE_BASE+0x00)/4) |
---|
124 | #define EEBASEL ((EE_BASE+0x08)/4) |
---|
125 | #define EEBASEH ((EE_BASE+0x0C)/4) |
---|
126 | #define MFL ((EE_BASE+0x10)/4) |
---|
127 | #define MFM ((EE_BASE+0x14)/4) |
---|
128 | #define MFH ((EE_BASE+0x18)/4) |
---|
129 | |
---|
130 | /** TELEPHONE ANSWERING DEVICE 0x1C00 - 0x1FFF */ |
---|
131 | |
---|
132 | #define TAD_BASE 0x1C00 |
---|
133 | #define TADCNTL ((TAD_BASE+0x00)/4) |
---|
134 | #define TADCODE1 ((TAD_BASE+0x04)/4) |
---|
135 | #define TADCODE2 ((TAD_BASE+0x08)/4) |
---|
136 | #define TADCODE3 ((TAD_BASE+0x0C)/4) |
---|
137 | #define TADSTAT ((TAD_BASE+0x10)/4) |
---|
138 | #define TADADDRL ((TAD_BASE+0x14)/4) |
---|
139 | #define TADADDRM ((TAD_BASE+0x18)/4) |
---|
140 | #define TADADDRH ((TAD_BASE+0x1C)/4) |
---|
141 | #define TADLEN ((TAD_BASE+0x20)/4) |
---|
142 | #define TADAUXDAT1 ((TAD_BASE+0x24)/4) |
---|
143 | #define TADAUXDAT2 ((TAD_BASE+0x28)/4) |
---|
144 | #define TADSHMEML ((TAD_BASE+0x2C)/4) |
---|
145 | #define TADSHMEMH ((TAD_BASE+0x30)/4) |
---|
146 | #define TADCMD ((TAD_BASE+0x34)/4) |
---|
147 | |
---|
148 | /** VOICE INTERFACE BLOCK 0x2000 - 0x23FF */ |
---|
149 | |
---|
150 | #define PAINT_BASE 0x2000 |
---|
151 | #define PAINTCNTL ((PAINT_BASE+0x00)/4) |
---|
152 | #define PAINTPLLCNTL ((PAINT_BASE+0x08)/4) |
---|
153 | #define PAINTPLLSTAT ((PAINT_BASE+0x0C)/4) |
---|
154 | #define VBAFECNTL ((PAINT_BASE+0x10)/4) |
---|
155 | #define VBAFEAMP ((PAINT_BASE+0x14)/4) |
---|
156 | #define VBAFEPREAMP ((PAINT_BASE+0x18)/4) |
---|
157 | #define PCMAUX ((PAINT_BASE+0x1C)/4) |
---|
158 | #define PCM0RX ((PAINT_BASE+0x20)/4) |
---|
159 | #define PCM0TX ((PAINT_BASE+0x24)/4) |
---|
160 | #define PCM1RX ((PAINT_BASE+0x28)/4) |
---|
161 | #define PCM1TX ((PAINT_BASE+0x2C)/4) |
---|
162 | #define ADPCM0RX ((PAINT_BASE+0x30)/4) |
---|
163 | #define ADPCM0TX ((PAINT_BASE+0x34)/4) |
---|
164 | #define ADPCM1RX ((PAINT_BASE+0x38)/4) |
---|
165 | #define ADPCM1TX ((PAINT_BASE+0x3C)/4) |
---|
166 | #define MPDCNTL ((PAINT_BASE+0x40)/4) |
---|
167 | #define MPDREADY ((PAINT_BASE+0x44)/4) |
---|
168 | #define MPDABS ((PAINT_BASE+0x48)/4) |
---|
169 | #define MPDS1 ((PAINT_BASE+0x4C)/4) |
---|
170 | #define MPDS2 ((PAINT_BASE+0x50)/4) |
---|
171 | #define HPPCMCNTL ((PAINT_BASE+0x60)/4) |
---|
172 | #define HPOUT ((PAINT_BASE+0x64)/4) |
---|
173 | #define HPIN ((PAINT_BASE+0x68)/4) |
---|
174 | #define PAINTBASE0 ((PAINT_BASE+0x70)/4) |
---|
175 | #define PAINTBASE1 ((PAINT_BASE+0x74)/4) |
---|
176 | #define G726AI0 ((PAINT_BASE+0x80)/4) |
---|
177 | #define G726AI1 ((PAINT_BASE+0x84)/4) |
---|
178 | #define G726GAIN0 ((PAINT_BASE+0x88)/4) |
---|
179 | #define G726GAIN1 ((PAINT_BASE+0x8C)/4) |
---|
180 | #define G726VOL ((PAINT_BASE+0x90)/4) |
---|
181 | #define G726GST ((PAINT_BASE+0x94)/4) |
---|
182 | #define G726CNTL0 ((PAINT_BASE+0x98)/4) |
---|
183 | #define G726CNTL1 ((PAINT_BASE+0x9C)/4) |
---|
184 | #define G726CHANNEL ((PAINT_BASE+0xA0)/4) |
---|
185 | #define G726CHANENB ((PAINT_BASE+0xA4)/4) |
---|
186 | |
---|
187 | /** GENERAL REGISTERS BLOCK 0x2800 - 0x2CFF */ |
---|
188 | |
---|
189 | #define MISC_BASE 0x2800 |
---|
190 | #define CHIPID ((MISC_BASE+0x00)/4) |
---|
191 | #define DEVICEID ((MISC_BASE+0x04)/4) |
---|
192 | #define IOACNTL ((MISC_BASE+0x10)/4) |
---|
193 | #define IOADATA ((MISC_BASE+0x18)/4) |
---|
194 | #define IOBCNTL ((MISC_BASE+0x20)/4) |
---|
195 | #define IOBDATA ((MISC_BASE+0x28)/4) |
---|
196 | #define IOCCNTL1 ((MISC_BASE+0x30)/4) |
---|
197 | #define IOCCNTL2 ((MISC_BASE+0x34)/4) |
---|
198 | #define IOCDATA ((MISC_BASE+0x38)/4) |
---|
199 | #define IODCNTL1 ((MISC_BASE+0x40)/4) |
---|
200 | #define IODCNTL2 ((MISC_BASE+0x44)/4) |
---|
201 | #define IODDATA ((MISC_BASE+0x48)/4) |
---|
202 | #define IOECNTL1 ((MISC_BASE+0x50)/4) |
---|
203 | #define IOECNTL2 ((MISC_BASE+0x54)/4) |
---|
204 | #define IOEDATA ((MISC_BASE+0x58)/4) |
---|
205 | #define IOFCNTL ((MISC_BASE+0x60)/4) |
---|
206 | #define IOFDATA ((MISC_BASE+0x68)/4) |
---|
207 | #define IOGCNTL ((MISC_BASE+0x70)/4) |
---|
208 | #define IOGDATA ((MISC_BASE+0x78)/4) |
---|
209 | #define IOHCNTL ((MISC_BASE+0x80)/4) |
---|
210 | #define IOHDATA ((MISC_BASE+0x88)/4) |
---|
211 | #define RINGCNTL ((MISC_BASE+0x90)/4) |
---|
212 | #define RINGFREQ ((MISC_BASE+0x94)/4) |
---|
213 | #define RSCNTL ((MISC_BASE+0xA0)/4) |
---|
214 | /*#ifndef PRODUCT_VERSION*/ |
---|
215 | #define RSRXD ((MISC_BASE+0xA4)/4) |
---|
216 | #define RSTXD ((MISC_BASE+0xA8)/4) |
---|
217 | /*#endif*/ |
---|
218 | #define PWMCNTL ((MISC_BASE+0xB0)/4) |
---|
219 | #define PWMTIMER0 ((MISC_BASE+0xB4)/4) |
---|
220 | #define PWMTIMER1 ((MISC_BASE+0xB8)/4) |
---|
221 | #define LCDEECNTL1 ((MISC_BASE+0xC0)/4) |
---|
222 | #define LCDEECNTL2 ((MISC_BASE+0xC4)/4) |
---|
223 | #define LCDEEDAIN ((MISC_BASE+0xC8)/4) |
---|
224 | #define LCDEEDAOUT ((MISC_BASE+0xCC)/4) |
---|
225 | #define KEYROW ((MISC_BASE+0xE0)/4) |
---|
226 | #define KEYCOL ((MISC_BASE+0xE4)/4) |
---|
227 | #define KEYDEBOUNCE ((MISC_BASE+0xE8)/4) |
---|
228 | #define DIAGCNTL1 ((MISC_BASE+0xEC)/4) |
---|
229 | #define DIAGCNTL2 ((MISC_BASE+0xF0)/4) |
---|
230 | #define CLKCNTL ((MISC_BASE+0xF4)/4) |
---|
231 | #define OSCCOR ((MISC_BASE+0xF8)/4) |
---|
232 | |
---|
233 | /* PRODUCT_VERSION */ |
---|
234 | /* Added 30/08/99 : New Control register for UART control */ |
---|
235 | #define UART_BASE 0x3000 |
---|
236 | #define RSRBR ((UART_BASE+0x00)/4) |
---|
237 | #define RSTHR ((UART_BASE+0x00)/4) |
---|
238 | #define RSIER ((UART_BASE+0x04)/4) |
---|
239 | #define RSIIR ((UART_BASE+0x08)/4) |
---|
240 | #define RSFCR ((UART_BASE+0x08)/4) |
---|
241 | #define RSLCR ((UART_BASE+0x0C)/4) |
---|
242 | #define RSLSR ((UART_BASE+0x14)/4) |
---|
243 | #define RSDLL ((UART_BASE+0x00)/4) |
---|
244 | #define RSDLH ((UART_BASE+0x04)/4) |
---|
245 | #define RSCNT ((UART_BASE+0x20)/4) |
---|
246 | /*PRODUCT_VERSION*/ |
---|
247 | |
---|
248 | /** THUMB and INTERFACES BLOCK 0x3400 - 0x4FFF */ |
---|
249 | |
---|
250 | #define TIM_BASE 0x3400 |
---|
251 | #define WDCNTL ((TIM_BASE+0x00)/4) |
---|
252 | #define TIMERLOAD0 ((TIM_BASE+0x80)/4) |
---|
253 | #define TIMER0 ((TIM_BASE+0x8C)/4) |
---|
254 | #define TIMERCNTL0 ((TIM_BASE+0x98)/4) |
---|
255 | #define TIMERLOAD1 ((TIM_BASE+0xA0)/4) |
---|
256 | #define TIMER1 ((TIM_BASE+0xAC)/4) |
---|
257 | #define TIMERCNTL1 ((TIM_BASE+0xB8)/4) |
---|
258 | |
---|
259 | #define INTC_BASE 0x3800 |
---|
260 | #define INTMASK ((INTC_BASE+0x20)/4) |
---|
261 | #define INTSTAT ((INTC_BASE+0x24)/4) |
---|
262 | #define INTACK ((INTC_BASE+0x24)/4) |
---|
263 | #define INTACK2 ((INTC_BASE+0x24)) |
---|
264 | #define INTIS ((INTC_BASE+0x28)/4) |
---|
265 | #define INTIS2 ((INTC_BASE+0x28)) |
---|
266 | #define INTHPAI ((INTC_BASE+0x00)/4) |
---|
267 | #define INTHPAI2 ((INTC_BASE+0x00)) |
---|
268 | #define INTLEVEL ((INTC_BASE+0x04)/4) |
---|
269 | #define INTEOI ((INTC_BASE+0x08)/4) |
---|
270 | #define INTEOI2 ((INTC_BASE+0x08)) |
---|
271 | #define INTMASKALL ((INTC_BASE+0x0C)/4) |
---|
272 | #define INTTAB ((INTC_BASE+0x10)/4) |
---|
273 | #define INTCNTL0 ((INTC_BASE+0x80)/4) |
---|
274 | #define INTCNTL1 ((INTC_BASE+0x84)/4) |
---|
275 | #define INTCNTL2 ((INTC_BASE+0x88)/4) |
---|
276 | #define INTCNTL3 ((INTC_BASE+0x8C)/4) |
---|
277 | #define INTCNTL4 ((INTC_BASE+0x90)/4) |
---|
278 | #define INTCNTL5 ((INTC_BASE+0x94)/4) |
---|
279 | #define INTCNTL6 ((INTC_BASE+0x98)/4) |
---|
280 | #define INTCNTL7 ((INTC_BASE+0x9C)/4) |
---|
281 | #define INTCNTL8 ((INTC_BASE+0xA0)/4) |
---|
282 | #define INTCNTL9 ((INTC_BASE+0xA4)/4) |
---|
283 | #define INTCNTL10 ((INTC_BASE+0xA8)/4) |
---|
284 | #define INTCNTL11 ((INTC_BASE+0xAC)/4) |
---|
285 | #define INTCNTL12 ((INTC_BASE+0xB0)/4) |
---|
286 | #define INTCNTL13 ((INTC_BASE+0xB4)/4) |
---|
287 | #define INTCNTL14 ((INTC_BASE+0xB8)/4) |
---|
288 | #define INTCNTL15 ((INTC_BASE+0xBC)/4) |
---|
289 | #define INTGCNTL ((INTC_BASE+0x7C)/4) |
---|
290 | |
---|
291 | /* these "define" are used for the asm code of int managment */ |
---|
292 | #define INTPHAI3 0xF3800 |
---|
293 | #define INTSTAT3 0xF3824 |
---|
294 | #define INTIS3 0xF3828 |
---|
295 | #define INTACK3 0xF3824 |
---|
296 | #define INTEOI3 0xF3808 |
---|
297 | |
---|
298 | #define TI_BASE 0x3C00 |
---|
299 | #define CSCNTL0_0 ((TI_BASE+0x00)/4) |
---|
300 | #define CSCNTL0_1 ((TI_BASE+0x04)/4) |
---|
301 | #define CSCNTL0_2 ((TI_BASE+0x08)/4) |
---|
302 | #define CSCNTL0_3 ((TI_BASE+0x0C)/4) |
---|
303 | #define CSCNTL0_4 ((TI_BASE+0x10)/4) |
---|
304 | #define CSCNTL0_5 ((TI_BASE+0x14)/4) |
---|
305 | #define CSCNTL0_6 ((TI_BASE+0x18)/4) |
---|
306 | #define CSCNTL1_0 ((TI_BASE+0x20)/4) |
---|
307 | #define CSCNTL1_1 ((TI_BASE+0x24)/4) |
---|
308 | #define CSCNTL1_2 ((TI_BASE+0x28)/4) |
---|
309 | #define CSCNTL1_3 ((TI_BASE+0x2C)/4) |
---|
310 | #define CSCNTL1_4 ((TI_BASE+0x30)/4) |
---|
311 | #define CSCNTL1_5 ((TI_BASE+0x34)/4) |
---|
312 | #define CSCNTL1_6 ((TI_BASE+0x38)/4) |
---|
313 | #define CSGCNTL ((TI_BASE+0x40)/4) |
---|
314 | #define MUXADCNTL ((TI_BASE+0x48)/4) |
---|
315 | #define PORTCNTL ((TI_BASE+0x60)/4) |
---|
316 | #define DCC ((TI_BASE+0x78)/4) |
---|
317 | #define BRK0 ((TI_BASE+0x100)/4) |
---|
318 | #define BRK1 ((TI_BASE+0x104)/4) |
---|
319 | #define BRK2 ((TI_BASE+0x108)/4) |
---|
320 | #define BRK3 ((TI_BASE+0x10C)/4) |
---|
321 | #define BRK4 ((TI_BASE+0x110)/4) |
---|
322 | #define BRK5 ((TI_BASE+0x114)/4) |
---|
323 | #define BRK6 ((TI_BASE+0x118)/4) |
---|
324 | #define BRK7 ((TI_BASE+0x11C)/4) |
---|
325 | #define BRKMSK ((TI_BASE+0x140)/4) |
---|
326 | #define BRKSTAT ((TI_BASE+0x144)/4) |
---|
327 | #define SLEEPTIMER ((TI_BASE+0x204)/4) |
---|
328 | #define SLEEPCNTL ((TI_BASE+0x208)/4) |
---|
329 | |
---|
330 | /****************************************************************************** |
---|
331 | * BIT MASKS for Chip registers |
---|
332 | ****************************************************************************** |
---|
333 | */ |
---|
334 | |
---|
335 | /** TELEPHONE ANSWERING DEVICE BLOCK (TAD) */ |
---|
336 | |
---|
337 | /* TADCNTL register */ |
---|
338 | #define IRQCNTL 0x01 |
---|
339 | #define CE_CNTL 0x02 |
---|
340 | #define MSKTAD 0x04 |
---|
341 | #define TAD_PAD_ENB 0x40 |
---|
342 | #define TADENB 0x80 |
---|
343 | |
---|
344 | /* TADSTAT register */ |
---|
345 | #define RBN 0x01 |
---|
346 | #define TRANSFER 0x02 |
---|
347 | #define ACTIVE 0x04 |
---|
348 | |
---|
349 | /* TADCMD register */ |
---|
350 | #define MSK_TADCMD 0x0F /* Mask on TADCMD */ |
---|
351 | #define CONTINUE 0x10 |
---|
352 | |
---|
353 | /** RADIO CONTROLER BLOCK (RC3) */ |
---|
354 | |
---|
355 | /* SLICECNTL register */ |
---|
356 | #define MSK_SLICEDL 0x07 /* Mask on SLICEDL field */ |
---|
357 | #define MSK_SCNTL 0x18 /* Mask on SCNTL field */ |
---|
358 | #define SELOCK 0x20 |
---|
359 | #define MSK_MUXSLICE 0xC0 |
---|
360 | |
---|
361 | /* RCIOCNTL0 register */ |
---|
362 | #define D2SBYPASS 0x01 |
---|
363 | #define DRBYPASS 0x02 |
---|
364 | #define RXINV 0x04 |
---|
365 | #define SELANT 0x10 |
---|
366 | #define ANT 0x20 |
---|
367 | #define LDINV0 0x40 |
---|
368 | #define LDINV1 0x80 |
---|
369 | |
---|
370 | /* RCIOCNTL1 register */ |
---|
371 | #define MSK_GPO 0x0F /* Mask on GPO field */ |
---|
372 | #define P00ENB 0x10 |
---|
373 | #define ABORT 0x20 |
---|
374 | #define TXIO 0x40 |
---|
375 | #define TXINV 0x80 |
---|
376 | |
---|
377 | /* RCIOCNTL2 register */ |
---|
378 | #define SELRFCLK 0x01 |
---|
379 | #define SELRXPWR 0x02 |
---|
380 | #define TXPWRINV 0x04 |
---|
381 | #define RXPWRINV 0x08 |
---|
382 | #define SYNTHPWR0INV 0x10 |
---|
383 | #define SYNTHPWR1INV 0x20 |
---|
384 | #define TXDRONINV 0x40 |
---|
385 | #define SELTXDRON 0x80 |
---|
386 | |
---|
387 | /* RCIOCNTL3 register */ |
---|
388 | #define D2SMODE 0x01 |
---|
389 | #define DRCNTL 0x02 |
---|
390 | #define MSK_SELGPO 0x0C /* Mask on SELGPO field */ |
---|
391 | #define MSK_SUSPANT 0x30 /* Mask on SUSO/ANT field */ |
---|
392 | |
---|
393 | /* SHAPERCNTL register */ |
---|
394 | #define INV 0x01 |
---|
395 | #define MID 0x02 |
---|
396 | #define PWRDWN 0x04 |
---|
397 | #define DACENB 0x80 |
---|
398 | |
---|
399 | /* SYNTFCNTL register */ |
---|
400 | #define SYNT_FREQ 0x80 |
---|
401 | |
---|
402 | /* SYNTCNTL0 register */ |
---|
403 | #define PWRFREQ 0x01 |
---|
404 | #define CLKPHASE 0x08 |
---|
405 | #define LETYPE 0x10 |
---|
406 | #define RPIPEON 0x20 |
---|
407 | #define PWRSGN 0x40 |
---|
408 | #define OUTLOCK 0x80 |
---|
409 | |
---|
410 | /* SYNTCNTL1 register */ |
---|
411 | #define SLE0 0x01 |
---|
412 | #define SLE1 0x02 |
---|
413 | #define SLE2 0x04 |
---|
414 | #define LEMODE 0x08 |
---|
415 | #define LESEL 0x10 |
---|
416 | #define SCLK 0x20 |
---|
417 | #define SDATA 0x40 |
---|
418 | #define HPMODE_SYNT 0x80 |
---|
419 | |
---|
420 | /* SYNTCNTL2 register */ |
---|
421 | #define START_DONE 0x80 |
---|
422 | #define MSK_N 0x03 /* Mask on N field */ |
---|
423 | |
---|
424 | /* SYNTCNTL3 register */ |
---|
425 | #define RXPWRDNSEN 0x01 |
---|
426 | #define RXPWRUNSEN 0x02 |
---|
427 | #define TXPWRDNSEN 0x04 |
---|
428 | #define TXPWRUNSEN 0x08 |
---|
429 | #define SEQCNTL 0x10 |
---|
430 | #define ALIGN 0x20 |
---|
431 | #define PLLWORD 0x40 |
---|
432 | #define PRESEQ 0x80 |
---|
433 | |
---|
434 | /* RFSCAN register */ |
---|
435 | #define MSK_RF 0x0F /* Mask on RF field */ |
---|
436 | #define RFMAX 0x80 |
---|
437 | |
---|
438 | /* RSSIRANGE register */ |
---|
439 | #define MSK_VREFP 0x03 /* Mask on VREFP field */ |
---|
440 | #define MSK_VREFN 0x0C /* Mask on VREFN field */ |
---|
441 | |
---|
442 | /* RSSICNTL register */ |
---|
443 | #define MSK_MODE_RSSI 0x03 /* Mask on MODE field */ |
---|
444 | #define MARKFF 0x04 |
---|
445 | #define TXMARK 0x08 |
---|
446 | #define ALL_RSSI 0x10 |
---|
447 | #define RSSIACT 0x20 |
---|
448 | #define RSSIDIS 0x40 |
---|
449 | #define RSSIENB 0x80 |
---|
450 | |
---|
451 | /* RCCNTL register */ |
---|
452 | #define RCCNTL_ENABLE 0x80 |
---|
453 | |
---|
454 | /* ADCCNTL1 register */ |
---|
455 | #define ADCSTART 0x80 |
---|
456 | #define SCAN 0x40 |
---|
457 | #define ADCENB 0x80 |
---|
458 | #define MSK_ADCSEL 0x07 |
---|
459 | |
---|
460 | /* ADCCNTL2 register */ |
---|
461 | #define ADCOVER1 0x01 |
---|
462 | #define ADCOVER2 0x02 |
---|
463 | #define ADCDWN1 0x04 |
---|
464 | #define ADCDWN2 0x08 |
---|
465 | |
---|
466 | /** PLP BLOCK */ |
---|
467 | |
---|
468 | /* DCNTL0 register */ |
---|
469 | #define TMUXINT 0x01 |
---|
470 | #define MUTEIP 0x02 |
---|
471 | #define Q1Q2_PLP 0x04 |
---|
472 | #define TRANSP 0x08 |
---|
473 | #define CRYPTALL 0x10 |
---|
474 | #define TXSENSE 0x20 |
---|
475 | #define ZACT 0x40 |
---|
476 | #define PLPENB 0x80 |
---|
477 | |
---|
478 | /* DCNTL1 register */ |
---|
479 | #define ONECT 0x10 |
---|
480 | #define WOMODE 0x40 |
---|
481 | #define WOENB 0x80 |
---|
482 | #define MSK_RPIPE 0x07 /* mask on RPIPE field */ |
---|
483 | |
---|
484 | /* RXSYNCT register */ |
---|
485 | #define PRSIZE 0x04 |
---|
486 | #define PREEN 0x08 |
---|
487 | #define PRETYPE 0x40 |
---|
488 | #define PROLONG 0x80 |
---|
489 | |
---|
490 | #define MSK_SYCNT 0x30 /* mask on SYCNT field */ |
---|
491 | #define MSK_PTHR 0x03 /* mask on PTHR field */ |
---|
492 | |
---|
493 | /* CLOCK_CORR register */ |
---|
494 | #define SIGN 0x80 |
---|
495 | |
---|
496 | /* PRESYNC register */ |
---|
497 | #define PRESENB 0x80 |
---|
498 | |
---|
499 | #define MSK_PRES 0x0F /* mask on PRES field */ |
---|
500 | |
---|
501 | /* PLPALIN register */ |
---|
502 | #define SYNM 0x08 |
---|
503 | #define BITSLIP 0x10 |
---|
504 | #define SLOTFAIL 0x20 |
---|
505 | #define DFFAIL 0x40 |
---|
506 | #define LONGDF 0x80 |
---|
507 | #define MODE_PLPALIN 0x03 /* mask on PLP alignment mode */ |
---|
508 | |
---|
509 | /* SUSPCNTL register */ |
---|
510 | #define SUSPENB 0x01 |
---|
511 | |
---|
512 | /* TSTCNTL register */ |
---|
513 | #define DISBSCR 0x01 |
---|
514 | #define TX_TST 0x02 |
---|
515 | #define DATADIR 0x04 |
---|
516 | |
---|
517 | /* TSTDST register */ |
---|
518 | #define RDY 0x80 |
---|
519 | |
---|
520 | /** ENCRYPTION ENGINE */ |
---|
521 | |
---|
522 | /* EECNTL register */ |
---|
523 | /* Bit ENABLE already defined */ |
---|
524 | #define EECNTL_ENABLE 0x80 |
---|
525 | |
---|
526 | /** PAINT+ BLOCK */ |
---|
527 | |
---|
528 | /* PAINTCNTL register */ |
---|
529 | #define MUTEDIS0 0x0001 |
---|
530 | #define MUTEDIS1 0x0002 |
---|
531 | #define MEMLOOP0 0x0004 |
---|
532 | #define MEMLOOP1 0x0008 |
---|
533 | #define RATE0 0x0010 |
---|
534 | #define RATE1 0x0020 |
---|
535 | #define CHAN0ENB 0x0040 |
---|
536 | #define CHAN1ENB 0x0080 |
---|
537 | #define BG0ENABLE 0x0100 |
---|
538 | #define BG1ENABLE 0x0200 |
---|
539 | #define PADENABLE 0x2000 |
---|
540 | #define FORCE13 0x4000 |
---|
541 | #define PAINTENB 0x8000 |
---|
542 | |
---|
543 | /* PAINTPLLCNTL register */ |
---|
544 | #define MSK_MC 0x001F /* Mask on MC field */ |
---|
545 | #define MCSIGN 0x0020 |
---|
546 | #define MANUAL 0x0080 |
---|
547 | #define RANG0 0x0100 |
---|
548 | #define RANG1 0x0200 |
---|
549 | #define RANG2 0x0400 |
---|
550 | #define MSK_RANG 0x0700 /* Mask on RANG field */ |
---|
551 | #define FREEZD 0x1000 |
---|
552 | #define FREEZP 0x2000 |
---|
553 | #define PPFP 0x8000 |
---|
554 | |
---|
555 | /* PAINTPLLSTAT register */ |
---|
556 | #define MSK_DPHI 0x01FF /* Mask on DPHI field */ |
---|
557 | #define LOCKD 0x1000 |
---|
558 | #define LOCKP 0x2000 |
---|
559 | #define NOSIG 0x8000 |
---|
560 | |
---|
561 | /* HPPCMCNTL register */ |
---|
562 | #define LEN0 0x0001 |
---|
563 | #define LEN1 0x0002 |
---|
564 | #define LEN2 0x0004 |
---|
565 | #define MSK_LEN 0x0007 /* Mask on LEN field */ |
---|
566 | #define FREQ0 0x0010 |
---|
567 | #define FREQ1 0x0020 |
---|
568 | #define MSK_PCMFREQ 0x0030 /* Mask on FREQ field */ |
---|
569 | #define FSTYP0 0x0100 |
---|
570 | #define FSTYP1 0x0200 |
---|
571 | #define MSK_FSTYP 0x0300 /* Mask on FSTYP field */ |
---|
572 | #define IOD0 0x0400 |
---|
573 | #define IOD1 0x0800 |
---|
574 | #define MSK_IOD 0x0C00 /* Mask on FSTYP field */ |
---|
575 | #define IOCK 0x1000 |
---|
576 | #define MASTER 0x4000 |
---|
577 | #define PCMENB 0x8000 |
---|
578 | |
---|
579 | /* VBAFECNTL register */ |
---|
580 | #define MSK_VOLMIC 0x0007 /* Mask on VOLMIV field */ |
---|
581 | #define MICDIF 0x0010 |
---|
582 | #define ENBMICREF 0x0080 |
---|
583 | #define MODE0 0x0100 |
---|
584 | #define MODE1 0x0200 |
---|
585 | #define MODE2 0x0400 |
---|
586 | #define LOOP0 0x1000 |
---|
587 | #define LOOP1 0x2000 |
---|
588 | #define FLOAT 0x4000 |
---|
589 | #define VBAFENB 0x8000 |
---|
590 | |
---|
591 | /* VBAFEAMP register */ |
---|
592 | #define MSK_VOL1OUT 0x000F /* Mask on VOL1OUT field */ |
---|
593 | #define ENBCH1 0x0010 |
---|
594 | #define MSK_VOL2OUT 0x0F00 /* Mask on VOL2OUT field */ |
---|
595 | #define ENBCH2 0x1000 |
---|
596 | |
---|
597 | /* VBAFEPREAMP register */ |
---|
598 | #define MSK_VOLIN 0x000F /* Mask on VOLIN field */ |
---|
599 | #define MSK_ATT 0x0070 /* Mask on ATT field */ |
---|
600 | #define PRCNF0 0x0100 |
---|
601 | #define PRCNF1 0x0200 |
---|
602 | #define PRCNF2 0x0400 |
---|
603 | |
---|
604 | /* MPDCNTL register */ |
---|
605 | #define MPD_FREQ 0x0001 |
---|
606 | #define MPD_ENB 0x0080 |
---|
607 | |
---|
608 | /* MPDREADY register */ |
---|
609 | #define MPD_RDY 0x0001 |
---|
610 | |
---|
611 | /* G726CNTL0 register */ |
---|
612 | #define RXTONE0 0x0001 |
---|
613 | #define RXTONE1 0x0002 |
---|
614 | #define TXTONE0 0x0004 |
---|
615 | #define TXTONE1 0x0008 |
---|
616 | #define SCALE0 0x0010 |
---|
617 | #define SCALE1 0x0020 |
---|
618 | #define MSK_SCALE 0x0030 /* Mask on SCALE field */ |
---|
619 | |
---|
620 | /* G726CNTL1 register */ |
---|
621 | #define LAW 0x0001 |
---|
622 | #define UPCM 0x0002 |
---|
623 | #define G726_TXMUTE 0x0004 |
---|
624 | #define G726_RXMUTE 0x0008 |
---|
625 | #define SIDETONE 0x0010 |
---|
626 | #define SCA 0x0020 |
---|
627 | #define G726ENB 0x0080 |
---|
628 | |
---|
629 | /* G726CHANNEL register */ |
---|
630 | #define CHAN 0x0002 |
---|
631 | |
---|
632 | /* G726CHANENB register */ |
---|
633 | #define G726ENB0 0x0001 |
---|
634 | #define G726ENB1 0x0003 |
---|
635 | |
---|
636 | /** GENERAL REGISTERS BLOCK */ |
---|
637 | |
---|
638 | /* RINGCNTL register */ |
---|
639 | /* Bit ENABLE already defined */ |
---|
640 | #define RINGCNTL_ENABLE 0x80 |
---|
641 | #define FULL_BRIDGE 0x40 |
---|
642 | #define MSK_DELAY 0x30 |
---|
643 | #define RING_PADENB 0x08 |
---|
644 | #define MSK_LEVEL 0x07 /* mask on LEVEL field */ |
---|
645 | |
---|
646 | /* RSIER register (UART Interrupt enable register definition) */ |
---|
647 | #define LINE_STATUS_ENABLE 0x04 |
---|
648 | #define TX_INT_ENABLE 0x02 |
---|
649 | #define RX_INT_ENABLE 0x01 |
---|
650 | |
---|
651 | /* RSIIR register (UART Interrupt identification register definition) */ |
---|
652 | #define FIFO_ENABLE_MASK 0xC0 |
---|
653 | #define INT_ID_MASK 0x0E |
---|
654 | #define PENDING_INT_FLAG 0x01 |
---|
655 | #define LINE_STATUS_INT 0x06 /* values for interrupt identification */ |
---|
656 | #define RX_INT 0x04 |
---|
657 | #define FIFO_TIMEOUT_INT 0x0C |
---|
658 | #define TX_EMPTY_INT 0x02 |
---|
659 | |
---|
660 | /* RSFCR register (UART Tx/Rx FIFO control register definition) */ |
---|
661 | #define RX_LEVEL_MASK 0xC0 |
---|
662 | #define CLEAR_TX_FIFO 0x04 |
---|
663 | #define CLEAR_RX_FIFO 0x02 |
---|
664 | #define FIFO_ENABLE 0x01 |
---|
665 | #define _1_BYTE_RECEIVED 0x00 /* RX level values (Interrupt trigger ) */ |
---|
666 | #define _4_BYTE_RECEIVED 0x40 |
---|
667 | #define _8_BYTE_RECEIVED 0x80 |
---|
668 | #define _14_BYTE_RECEIVED 0xC0 |
---|
669 | |
---|
670 | /* RSLCR register (UART line control register definition) */ |
---|
671 | #define DIV_ENABLE 0x80 |
---|
672 | #define TX_BREAK_ENABLE 0x40 |
---|
673 | #define PARITY_ENABLE 0x08 |
---|
674 | #define PARITY_MASK 0x30 |
---|
675 | #define _1_STOP_BIT 0x00 |
---|
676 | #define _2_STOP_BIT 0x04 |
---|
677 | #define WORD_LENGTH_MASK 0x03 |
---|
678 | #define ODD_PARITY 0x00 /* possible value for the parity */ |
---|
679 | #define EVEN_PARITY 0x10 |
---|
680 | #define PARITY_EQUAL1 0x20 |
---|
681 | #define PARITY_EQUAL0 0x30 |
---|
682 | #define _5_BITS_CHAR 0x00 /* possible value for the word length */ |
---|
683 | #define _6_BITS_CHAR 0x01 |
---|
684 | #define _7_BITS_CHAR 0x02 |
---|
685 | #define _8_BITS_CHAR 0x03 |
---|
686 | |
---|
687 | /* RSLSR Register (UART line status register definition) */ |
---|
688 | #define RX_FIFO_ERROR 0x80 |
---|
689 | #define TXEMPTY 0x40 |
---|
690 | #define HOLD_EMPTY 0x20 |
---|
691 | #define BREAK 0x10 |
---|
692 | #define FRAME_ERROR 0x08 |
---|
693 | #define PARITY_ERROR 0x04 |
---|
694 | #define OVERRUN_ERROR 0x02 |
---|
695 | #define RX_READY 0x01 |
---|
696 | |
---|
697 | /* RSDLL Register (UART clock divider low register definition) */ |
---|
698 | /* note RSDLH is always 0x00 */ |
---|
699 | #define RS_4800 0x18 |
---|
700 | #define RS_9600 0x0C |
---|
701 | #define RS_19200 0x06 |
---|
702 | #define RS_38400 0x03 |
---|
703 | #define RS_57600 0x02 |
---|
704 | #define RS_115200 0x01 |
---|
705 | |
---|
706 | /* RSCNT Register (UART control register definition) */ |
---|
707 | #define UART_PAD_ENABLE 0x02 |
---|
708 | |
---|
709 | /* PWMCNTL register */ |
---|
710 | #define PWMENB 0x80 |
---|
711 | #define MSK_PWMFREQ 0x03 /* mask on PWMFREQ field */ |
---|
712 | #define PWM1_PADENB 0x40 |
---|
713 | #define PWM0_PADENB 0x20 |
---|
714 | #define MIRROR 0x10 |
---|
715 | |
---|
716 | /* LCDEECNTL1 register */ |
---|
717 | /* Bit ENABLE already defined */ |
---|
718 | #define LCDEE_ENABLE 0x80 |
---|
719 | #define DA1_DA0 0x40 |
---|
720 | #define MSK_LCDEEFREQ 0x03 /* mask on LCDEEFREQ field */ |
---|
721 | #define LCDEE_PADENB 0x40 |
---|
722 | |
---|
723 | /* LCDEECNTL2 register */ |
---|
724 | #define SENDACK 0x01 |
---|
725 | #define RXACK 0x02 |
---|
726 | #define STOP 0x08 |
---|
727 | #define START 0x10 |
---|
728 | #define RX_LCDEE 0x20 |
---|
729 | #define TX_LCDEE 0x40 |
---|
730 | |
---|
731 | /* DIAGCNTL1 register */ |
---|
732 | #define DIAGL_PADENB 0x01 |
---|
733 | #define DIAGH_PADENB 0x02 |
---|
734 | |
---|
735 | /* DIAGCNTL2 register */ |
---|
736 | #define DLSEL 0x0F /* mask on DLSEL field */ |
---|
737 | #define DHSEL 0xF0 /* mask on DHSEL field */ |
---|
738 | |
---|
739 | /* KEYROW register */ |
---|
740 | #define MSK_ROW 0x1F /* mask on ROW field */ |
---|
741 | #define KEYRELEASE 0x80 |
---|
742 | |
---|
743 | /* CLKCNTL register */ |
---|
744 | #define MOSCDISABLE 0x02 |
---|
745 | #define OVERSAM 0x04 |
---|
746 | #define SQUARER 0x08 |
---|
747 | #define SWRESET 0x80 |
---|
748 | #define SWFLAG 0x80 |
---|
749 | #define TSTN_DISABLE 0x40 |
---|
750 | #define MODE55 0x10 |
---|
751 | |
---|
752 | /** THUMB and INTERFACES BLOCK */ |
---|
753 | |
---|
754 | /* CSCNTL0[6:0] registers */ |
---|
755 | #define MSK_SETUP 0x0007 |
---|
756 | #define SETUP_RD 0x0040 |
---|
757 | #define SETUP_HZ 0x0080 |
---|
758 | #define MSK_WIDTH 0x1F00 |
---|
759 | #define MSK_HZWS 0xE000 |
---|
760 | |
---|
761 | /* CSCNTL1[6:0] registers */ |
---|
762 | #define MSK_CSMODE 0x0003 |
---|
763 | #define MSK_HOLD 0x0070 |
---|
764 | #define HOLD_RD 0x0080 |
---|
765 | #define MSK_WIDTH_WR 0x0700 |
---|
766 | #define USE_WIDTH_WR 0x4000 |
---|
767 | #define WR_SHIFED 0x8000 |
---|
768 | |
---|
769 | #define CSMODE_8 0x0000 |
---|
770 | #define CSMODE_16_WHWL 0x0002 |
---|
771 | #define CSMODE_16_BHBL 0x0003 |
---|
772 | |
---|
773 | /* MUXADCNTL register */ |
---|
774 | #define MSK_AHOLD 0x0007 |
---|
775 | #define MSK_ALEWIDTH 0x0070 |
---|
776 | |
---|
777 | /* PORTCNTL register */ |
---|
778 | #define CS0_ 0x0001 |
---|
779 | #define CS1_ 0x0002 |
---|
780 | #define CS2_ 0x0004 |
---|
781 | #define CS3_ 0x0008 |
---|
782 | #define CS4_ 0x0010 |
---|
783 | #define CS5_ 0x0020 |
---|
784 | #define CS6_ 0x0040 |
---|
785 | #define DATA_H 0x0080 |
---|
786 | #define INT0 0x0100 |
---|
787 | #define INT1 0x0200 |
---|
788 | #define INT2 0x0400 |
---|
789 | #define INT3 0x0800 |
---|
790 | #define MSK_ADDRESS 0x7000 |
---|
791 | #define EXTMEM 0x8000 |
---|
792 | |
---|
793 | #define ADDRESS_128K 0x0000 |
---|
794 | #define ADDRESS_256K 0x1000 |
---|
795 | #define ADDRESS_512K 0x2000 |
---|
796 | #define ADDRESS_1M 0x3000 |
---|
797 | #define ADDRESS_2M 0x4000 |
---|
798 | |
---|
799 | /* CSGCNTL register */ |
---|
800 | #define CSSWITCH 0x0040 |
---|
801 | |
---|
802 | /* SLEEPCNTL register */ |
---|
803 | #define EXPIRED 0x01 |
---|
804 | #define SLEEP_ENABLE 0x80 |
---|
805 | |
---|
806 | /* WDCNTL register */ |
---|
807 | #define WDSTROKE 0x80 |
---|
808 | #define WDFLAG 0x80 /* same bit */ |
---|
809 | |
---|
810 | /* DCC register */ |
---|
811 | /* bit ENABLE=0x80 already defined */ |
---|
812 | #define DCC_ENABLE 0x80 |
---|
813 | |
---|
814 | /* TIMERCNTL[0:1] register */ |
---|
815 | /* bit ENABLE=0x80 already defined */ |
---|
816 | #define TIMER_ENABLE 0x80 |
---|
817 | #define RELOAD 0x0040 |
---|
818 | #define MSK_FREQ 0x0003 /* mask on FREQ field */ |
---|
819 | #define TIMER_13824kHz 0x0003 |
---|
820 | #define TIMER_864kHz 0x0002 |
---|
821 | #define TIMER_216kHz 0x0001 |
---|
822 | #define TIMER_27kHz 0x0000 |
---|
823 | |
---|
824 | /* INTMASKALL register */ |
---|
825 | #define MASKIRQ 0x80 |
---|
826 | #define MASKFIQ 0x40 |
---|
827 | |
---|
828 | /* INTEOI register */ |
---|
829 | #define EOI 0x80 |
---|
830 | |
---|
831 | /* INTMASK register */ |
---|
832 | /* INTSTAT register */ |
---|
833 | /* INTIS register */ |
---|
834 | |
---|
835 | #define PLP 0x0001 |
---|
836 | #define PCM 0x0002 |
---|
837 | #define SRX 0x0004 |
---|
838 | #define STX 0x0008 |
---|
839 | #define TMR0 0x0010 |
---|
840 | #define TMR1 0x0020 |
---|
841 | #define LCDEE 0x0100 |
---|
842 | #define KPAD 0x0200 |
---|
843 | #define TAD 0x0400 |
---|
844 | #define ADC 0x0800 |
---|
845 | #define EXT0 0x1000 |
---|
846 | #define EXT1 0x2000 |
---|
847 | #define EXT2 0x4000 |
---|
848 | #define EXT3 0x8000 |
---|
849 | |
---|
850 | /* INTCNTL[0:15] register */ |
---|
851 | #define MSK_PRIO 0x0007 |
---|
852 | #define RE 0x0008 |
---|
853 | #define RISING 0x0040 |
---|
854 | #define EDGE 0x0080 |
---|
855 | |
---|
856 | /* INTHPAI register */ |
---|
857 | #define AUTOACK 0x0080 |
---|
858 | |
---|
859 | /****************************************************************************** |
---|
860 | * Memory Mapping definition |
---|
861 | ****************************************************************************** |
---|
862 | */ |
---|
863 | |
---|
864 | #define CSN0_BASE_ADR 0x00200000 /* Base Address of CSN0 */ |
---|
865 | #define CSN1_BASE_ADR 0x00400000 /* Base Address of CSN1 */ |
---|
866 | #define CSN2_BASE_ADR 0x00600000 /* Base Address of CSN2 */ |
---|
867 | #define CSN3_BASE_ADR 0x00800000 /* Base Address of CSN3 */ |
---|
868 | #define CSN4_BASE_ADR 0x00A00000 /* Base Address of CSN4 */ |
---|
869 | #define CSN5_BASE_ADR 0x00C00000 /* Base Address of CSN5 */ |
---|
870 | #define CSN6_BASE_ADR 0x00E00000 /* Base Address of CSN6 */ |
---|
871 | |
---|
872 | #define IRAM_BASE_ADR 0x00000000 /* Base Addr. of int. Data Memory */ |
---|
873 | #define SHRAM_BASE_ADR 0x00080000 /* Base Address of Share Memory */ |
---|
874 | #define REGS_BASE_ADR 0x000F0000 /* Base Address of registers */ |
---|
875 | #define RADRAM_BASE_ADR 0x000F0000 /* Base Address of registers */ |
---|
876 | |
---|
877 | /****************************************************************************** |
---|
878 | * Slot Control bloc |
---|
879 | ****************************************************************************** |
---|
880 | */ |
---|
881 | |
---|
882 | #ifndef __asm__ |
---|
883 | /*** Slot Control Block structure ***/ |
---|
884 | typedef volatile struct /* normal Slot Control Block */ |
---|
885 | { |
---|
886 | unsigned char RAD0; |
---|
887 | unsigned char RAD1; |
---|
888 | unsigned char MODE; |
---|
889 | unsigned char CNTL0; |
---|
890 | unsigned char CNTL1; |
---|
891 | unsigned char CNTL2; |
---|
892 | unsigned char STAT0; |
---|
893 | unsigned char STAT1; |
---|
894 | unsigned char STAT2; |
---|
895 | unsigned char CRYPT; |
---|
896 | unsigned char MUTE; |
---|
897 | unsigned char INT_; |
---|
898 | unsigned char AMSG; |
---|
899 | unsigned char AHDR; |
---|
900 | unsigned short APTR; |
---|
901 | unsigned short IPTR; |
---|
902 | unsigned short CfPTR; |
---|
903 | unsigned short OtPTR; |
---|
904 | unsigned char OFFCNTL; |
---|
905 | unsigned char WINCNTL; |
---|
906 | } LM_SCB; |
---|
907 | |
---|
908 | typedef LM_SCB *LM_SCB_P; /* pointer to Slot Control Block */ |
---|
909 | #endif |
---|
910 | |
---|
911 | /*** BIT MASKS for Slot Control Block parameters ***/ |
---|
912 | |
---|
913 | /* RAD0 parameter */ |
---|
914 | #define RC_RSSIENB 0x80 /* RSSI measurement control */ |
---|
915 | #define RC_ANTENNA2 0x08 /* antenna[2] selection */ |
---|
916 | #define RC_ANTENNA1 0x04 /* antenna[1] selection */ |
---|
917 | #define RC_ANTENNA0 0x02 /* antenna[0] selection */ |
---|
918 | #define RC_SYNOUT 0x01 /* synthesiser selection */ |
---|
919 | |
---|
920 | #define RC_ANTSEL 0x0E /* mask on RC antenna selection */ |
---|
921 | |
---|
922 | /* RAD1 parameter */ |
---|
923 | #define RC_RFC 0xF0 /* mask on RC RF carrier number */ |
---|
924 | #define RC_RFSCAN 0x08 /* RF carrier source selection */ |
---|
925 | #define RC_SYNLATCH 0x04 /* synthesizer #n Latch Enabled */ |
---|
926 | #define RC_SYN_TX 0x03 /* slot is TX (synthesizer data) */ |
---|
927 | #define RC_SYN_RX 0x02 /* slot is RX (synthesizer data) */ |
---|
928 | |
---|
929 | #define RC_SYNSLOT 0x03 /* mask on Synthesizer slot type */ |
---|
930 | |
---|
931 | /* MODE parameter */ |
---|
932 | #define AUTOB1 0x80 |
---|
933 | #define AUTOB0 0x40 |
---|
934 | #define P00 0x20 |
---|
935 | |
---|
936 | #define MSK_MODE 0x1F /* mask on SCB MODE field */ |
---|
937 | |
---|
938 | /* CNTL0 parameter */ |
---|
939 | #define LU7CH 0x80 |
---|
940 | |
---|
941 | #define MSK_BOFF 0x7F /* mask on BOFF field */ |
---|
942 | |
---|
943 | /* CNTL1 parameter */ |
---|
944 | #define TX 0x80 |
---|
945 | #define RESYNC 0x40 |
---|
946 | #define Q1 0x40 /* Q1/RESYNC mapped on same bit */ |
---|
947 | #define INHBST 0x20 |
---|
948 | #define Q2 0x20 /* Q2/INHBST mapped on same bit */ |
---|
949 | #define CTPACK 0x10 |
---|
950 | |
---|
951 | #define MSK_CTFLEN 0x0F /* mask on CTFLEN field */ |
---|
952 | |
---|
953 | /* CNTL2 parameter */ |
---|
954 | #define SLTEN 0x80 |
---|
955 | #define SINV 0x40 |
---|
956 | #define ALL 0x20 |
---|
957 | #define CO_CL 0x20 /* CO_CL/ALL mapped on same bit */ |
---|
958 | #define INTEN 0x10 |
---|
959 | #define SCOR1 0x08 |
---|
960 | #define SCOR0 0x04 |
---|
961 | #define BINTE 0x02 |
---|
962 | #define BINTU 0x01 |
---|
963 | |
---|
964 | #define MSK_SCOR 0x0C /* mask on SCOR field */ |
---|
965 | |
---|
966 | /* STAT0 parameter */ |
---|
967 | #define ZFAIL0 0x80 |
---|
968 | #define ZFAIL1 0x40 |
---|
969 | #define ZFAIL2 0x20 |
---|
970 | #define ZFAIL3 0x10 |
---|
971 | #define SCRD1 0x08 |
---|
972 | #define SCRD0 0x04 |
---|
973 | #define PRED1 0x02 |
---|
974 | #define PRED0 0x01 |
---|
975 | |
---|
976 | #define MSK_ZFAIL 0xF0 /* mask on ZFAIL field */ |
---|
977 | #define MSK_SCRD 0x0C /* mask on SCRD field */ |
---|
978 | #define MSK_PRED 0x03 /* mask on PRED field */ |
---|
979 | |
---|
980 | /* STAT1 parameter */ |
---|
981 | #define BCRC7 0x80 |
---|
982 | #define BCRC6 0x40 |
---|
983 | #define BCRC5 0x20 |
---|
984 | #define BCRC4 0x10 |
---|
985 | #define BCRC3 0x08 |
---|
986 | #define BCRC2 0x04 |
---|
987 | #define BCRC1 0x02 |
---|
988 | #define BCRC0 0x01 |
---|
989 | |
---|
990 | /* STAT2 parameter */ |
---|
991 | #define TMUX 0x80 |
---|
992 | #define RADIO 0x40 |
---|
993 | #define RFPI 0x20 |
---|
994 | #define XCRC 0x10 |
---|
995 | #define ACRC 0x08 |
---|
996 | #define SYNC 0x04 |
---|
997 | #define BCRC 0x02 |
---|
998 | #define BCRC8 0x01 |
---|
999 | |
---|
1000 | /* CRYPT parameter */ |
---|
1001 | #define LONG 0x80 |
---|
1002 | #define INIP 0x40 |
---|
1003 | #define ACRYPT 0x20 |
---|
1004 | #define BCRYPT 0x10 |
---|
1005 | |
---|
1006 | #define MSK_EETBL 0x0F /* mask on EETBL field */ |
---|
1007 | |
---|
1008 | /* MUTE parameter */ |
---|
1009 | #define NOTI 0x80 |
---|
1010 | #define XFAIL 0x40 |
---|
1011 | #define AFAIL 0x20 |
---|
1012 | #define NOSYNC 0x10 /*NOSYNC/TXMUTE mapped on same bit*/ |
---|
1013 | #define TXMUTE 0x10 |
---|
1014 | |
---|
1015 | #define MSK_CHAN 0x0F /* mask on CHAN field */ |
---|
1016 | |
---|
1017 | /* INT parameter */ |
---|
1018 | /* Bit RADIO is already defined */ |
---|
1019 | #define Q1Q2 0x80 |
---|
1020 | #define RFP_I 0x20 |
---|
1021 | #define X_CRC 0x10 |
---|
1022 | #define R_CRC 0x08 |
---|
1023 | #define SYNCFAIL 0x04 |
---|
1024 | #define ASYNCOK 0x02 |
---|
1025 | #define ZFIELD 0x01 |
---|
1026 | |
---|
1027 | /* AMSG parameter */ |
---|
1028 | #define PP_FP 0x80 |
---|
1029 | #define CT 0x40 |
---|
1030 | #define NT 0x20 /* NT/CTSEND mapped on same bit */ |
---|
1031 | #define CTSEND 0x20 |
---|
1032 | #define MTFIRST 0x10 /* MTFIRST/QT mapped on same bit */ |
---|
1033 | #define QT 0x10 |
---|
1034 | #define MT 0x08 |
---|
1035 | #define MTWAIT 0x04 |
---|
1036 | #define PT 0x02 |
---|
1037 | #define ESCAPE 0x01 |
---|
1038 | |
---|
1039 | /* WINCNTL parameter */ |
---|
1040 | #define LM_WIN_NONE 0x00 /* no sync window */ |
---|
1041 | #define LM_WIN_OPEN 0x3F /* wide open window size */ |
---|
1042 | #define MSK_WINSZ 0x3F |
---|
1043 | |
---|
1044 | /* |
---|
1045 | * Some macros to mask the VEGA+ interrupt sources |
---|
1046 | ****************************************************************************** |
---|
1047 | */ |
---|
1048 | |
---|
1049 | #define LM_MaskPLP() (LM_Regs[INTMASK] |= PLP) |
---|
1050 | #define LM_MaskPCM() (LM_Regs[INTMASK] |= PCM) |
---|
1051 | |
---|
1052 | /* Vega+ product version */ |
---|
1053 | #define LM_MaskUART() (LM_Regs[INTMASK] |= SRX) |
---|
1054 | #define LM_MaskSRX() (LM_Regs[RSIER] &= ~RX_INT_ENABLE) |
---|
1055 | #define LM_MaskSTX() (LM_Regs[RSIER] &= ~TX_INT_ENABLE) |
---|
1056 | #define LM_MaskUARTStatus() (LM_Regs[RSIER] &= ~LINE_STATUS_ENABLE) |
---|
1057 | |
---|
1058 | #define LM_MaskTMR0() (LM_Regs[INTMASK] |= TMR0) |
---|
1059 | #define LM_MaskTMR1() (LM_Regs[INTMASK] |= TMR1) |
---|
1060 | #define LM_MaskLCDEE() (LM_Regs[INTMASK] |= LCDEE) |
---|
1061 | #define LM_MaskKPAD() (LM_Regs[INTMASK] |= KPAD) |
---|
1062 | #define LM_MaskTAD() (LM_Regs[INTMASK] |= TAD) |
---|
1063 | #define LM_MaskADC() (LM_Regs[INTMASK] |= ADC) |
---|
1064 | #define LM_MaskEXT0() (LM_Regs[INTMASK] |= EXT0) |
---|
1065 | #define LM_MaskEXT1() (LM_Regs[INTMASK] |= EXT1) |
---|
1066 | #define LM_MaskEXT2() (LM_Regs[INTMASK] |= EXT2) |
---|
1067 | #define LM_MaskEXT3() (LM_Regs[INTMASK] |= EXT3) |
---|
1068 | |
---|
1069 | /* Some macros to ummask the VEGA+ interrupt sources */ |
---|
1070 | #define LM_UnMaskPLP() (LM_Regs[INTMASK] &= ~PLP) |
---|
1071 | #define LM_UnMaskPCM() (LM_Regs[INTMASK] &= ~PCM) |
---|
1072 | |
---|
1073 | /* Vega+ product version */ |
---|
1074 | #define LM_UnMaskUART() (LM_Regs[INTMASK] &= ~SRX) |
---|
1075 | #define LM_UnMaskSRX() (LM_Regs[RSIER] |= RX_INT_ENABLE) |
---|
1076 | #define LM_UnMaskSTX() (LM_Regs[RSIER] |= TX_INT_ENABLE) |
---|
1077 | #define LM_UnMaskUARTStatus() (LM_Regs[RSIER] |= LINE_STATUS_ENABLE) |
---|
1078 | |
---|
1079 | #define LM_UnMaskTMR0() (LM_Regs[INTMASK] &= ~TMR0) |
---|
1080 | #define LM_UnMaskTMR1() (LM_Regs[INTMASK] &= ~TMR1) |
---|
1081 | #define LM_UnMaskLCDEE() (LM_Regs[INTMASK] &= ~LCDEE) |
---|
1082 | #define LM_UnMaskKPAD() (LM_Regs[INTMASK] &= ~KPAD) |
---|
1083 | #define LM_UnMaskTAD() (LM_Regs[INTMASK] &= ~TAD) |
---|
1084 | #define LM_UnMaskADC() (LM_Regs[INTMASK] &= ~ADC) |
---|
1085 | #define LM_UnMaskEXT0() (LM_Regs[INTMASK] &= ~EXT0) |
---|
1086 | #define LM_UnMaskEXT1() (LM_Regs[INTMASK] &= ~EXT1) |
---|
1087 | #define LM_UnMaskEXT2() (LM_Regs[INTMASK] &= ~EXT2) |
---|
1088 | #define LM_UnMaskEXT3() (LM_Regs[INTMASK] &= ~EXT3) |
---|
1089 | |
---|
1090 | /* Some macros to Acknoledge the VEGA+ interrupt sources */ |
---|
1091 | #define LM_AckPLP() (LM_Regs[INTACK] |= PLP) |
---|
1092 | #define LM_AckPCM() (LM_Regs[INTACK] |= PCM) |
---|
1093 | #define LM_AckTMR0() (LM_Regs[INTACK] |= TMR0) |
---|
1094 | #define LM_AckTMR1() (LM_Regs[INTACK] |= TMR1) |
---|
1095 | #define LM_AckEXT0() (LM_Regs[INTACK] |= EXT0) |
---|
1096 | #define LM_AckEXT1() (LM_Regs[INTACK] |= EXT1) |
---|
1097 | #define LM_AckEXT2() (LM_Regs[INTACK] |= EXT2) |
---|
1098 | #define LM_AckEXT3() (LM_Regs[INTACK] |= EXT3) |
---|
1099 | |
---|
1100 | /*#define INIT_LMREGS_MAPPING() { LM_Regs = (unsigned long*)REGS_BASE_ADR; }*/ |
---|
1101 | |
---|
1102 | #endif /*__LMREGS_H__*/ |
---|