]> git.sur5r.net Git - freertos/blob - Demo/ARM9_STR91X_IAR/Library/include/91x_map.h
Start to re-arrange files to include FreeRTOS+ in main download.
[freertos] / Demo / ARM9_STR91X_IAR / Library / include / 91x_map.h
1 /******************** (C) COPYRIGHT 2006 STMicroelectronics ********************\r
2 * File Name          : 91x_map.h\r
3 * Author             : MCD Application Team\r
4 * Date First Issued  : 05/18/2006 : Version 1.0\r
5 * Description        : Peripherals registers definition and memory mapping.\r
6 ********************************************************************************\r
7 * History:\r
8 * 05/24/2006 : Version 1.1\r
9 * 05/18/2006 : Version 1.0\r
10 ********************************************************************************\r
11 * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH\r
12 * CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS\r
13 * A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT\r
14 * OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT\r
15 * OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION\r
16 * CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
17 *******************************************************************************/\r
18 \r
19 /* Define to prevent recursive inclusion ------------------------------------ */\r
20 #ifndef __91x_MAP_H\r
21 #define __91x_MAP_H\r
22 \r
23 #ifndef EXT\r
24   #define EXT extern\r
25 #endif /* EXT */\r
26 \r
27 /* Includes ------------------------------------------------------------------*/\r
28 #include "91x_conf.h"\r
29 #include "91x_type.h"\r
30 \r
31 /******************************************************************************/\r
32 /*                          IP registers structures                           */\r
33 /******************************************************************************/\r
34 \r
35 /*------------------------------------ FMI -----------------------------------*/\r
36 \r
37 typedef struct\r
38 {\r
39   vu32 BBSR;        /* Boot Bank Size Register                */\r
40   vu32 NBBSR;       /* Non-Boot Bank Size Register            */\r
41   vu32 EMPTY1;\r
42   vu32 BBADR;       /* Boot Bank Base Address Register        */\r
43   vu32 NBBADR;      /* Non-Boot Bank Base Address Register    */\r
44   vu32 EMPTY2;\r
45   vu32 CR;          /* Control Register                       */\r
46   vu32 SR;          /* Status Register                        */\r
47   vu32 BCE5ADDR;    /* BC Fifth Entry Target Address Register */\r
48 } FMI_TypeDef;\r
49 \r
50 /*----------------------  Analog to Digital Convertor ------------------------*/\r
51 \r
52 typedef struct\r
53 {\r
54   vu16 CR;         /* Control Register               */\r
55   vu16 EMPTY1;\r
56   vu16 CCR;        /* Channel Configuration Register */\r
57   vu16 EMPTY2;\r
58   vu16 HTR;        /* Higher Threshold Register      */\r
59   vu16 EMPTY3;\r
60   vu16 LTR;        /* Lower Threshold Register       */\r
61   vu16 EMPTY4;\r
62   vu16 CRR;        /* Compare Result Register        */\r
63   vu16 EMPTY5;\r
64   vu16 DR0;        /* Data Register for Channel 0    */\r
65   vu16 EMPTY6;\r
66   vu16 DR1;        /* Data Register for Channel 1    */\r
67   vu16 EMPTY7;\r
68   vu16 DR2;        /* Data Register for Channel 2    */\r
69   vu16 EMPTY8;\r
70   vu16 DR3;        /* Data Register for Channel 3    */\r
71   vu16 EMPTY9;\r
72   vu16 DR4;        /* Data Register for Channel 4    */\r
73   vu16 EMPTY10;\r
74   vu16 DR5;        /* Data Register for Channel 5    */\r
75   vu16 EMPTY11;\r
76   vu16 DR6;        /* Data Register for Channel 6    */\r
77   vu16 EMPTY12;\r
78   vu16 DR7;        /* Data Register for Channel 7    */\r
79   vu16 EMPTY13;\r
80   vu16 PRS;        /* Prescaler Value Register       */\r
81   vu16 EMPTY14;\r
82 } ADC_TypeDef;\r
83 \r
84 /*--------------------- AHB APB BRIDGE registers strcture --------------------*/\r
85 \r
86 typedef struct\r
87 {\r
88   vu32 BSR;        /* Bridge Status Register            */\r
89   vu32 BCR;        /* Bridge Configuration Register     */\r
90   vu32 PAER;       /* Peripheral Address Error register */\r
91 } AHBAPB_TypeDef;\r
92 \r
93 /*--------------- Controller Area Network Interface Register -----------------*/\r
94 \r
95 typedef struct\r
96 {\r
97   vu16 CRR;                     /* IFn Command request Register       */\r
98   vu16 EMPTY1;\r
99   vu16 CMR;                     /* IFn Command Mask Register          */\r
100   vu16 EMPTY2;\r
101   vu16 M1R;                     /* IFn Message Mask 1 Register        */\r
102   vu16 EMPTY3;\r
103   vu16 M2R;                     /* IFn Message Mask 2 Register        */\r
104   vu16 EMPTY4;\r
105   vu16 A1R;                     /* IFn Message Arbitration 1 Register */\r
106   vu16 EMPTY5;\r
107   vu16 A2R;                     /* IFn Message Arbitration 2 Register */\r
108   vu16 EMPTY6;\r
109   vu16 MCR;                     /* IFn Message Control Register       */\r
110   vu16 EMPTY7;\r
111   vu16 DA1R;                    /* IFn DATA A 1 Register              */\r
112   vu16 EMPTY8;\r
113   vu16 DA2R;                    /* IFn DATA A 2 Register              */\r
114   vu16 EMPTY9;\r
115   vu16 DB1R;                    /* IFn DATA B 1 Register              */\r
116   vu16 EMPTY10;\r
117   vu16 DB2R;                    /* IFn DATA B 2 Register              */\r
118   vu16 EMPTY11[27];\r
119 } CAN_MsgObj_TypeDef;\r
120 \r
121 typedef struct\r
122 {\r
123   vu16 CR;              /* Control Register                */\r
124   vu16 EMPTY1;\r
125   vu16 SR;              /* Status Register                 */\r
126   vu16 EMPTY2;\r
127   vu16 ERR;             /* Error counter Register          */\r
128   vu16 EMPTY3;\r
129   vu16 BTR;             /* Bit Timing Register             */\r
130   vu16 EMPTY4;\r
131   vu16 IDR;             /* Interrupt Identifier Register   */\r
132   vu16 EMPTY5;\r
133   vu16 TESTR;           /* Test Register                   */\r
134   vu16 EMPTY6;\r
135   vu16 BRPR;            /* BRP Extension Register          */\r
136   vu16 EMPTY7[3];\r
137   CAN_MsgObj_TypeDef sMsgObj[2];\r
138   vu16 EMPTY8[16];\r
139   vu16 TXR1R;           /* Transmission request 1 Register */\r
140   vu16 EMPTY9;\r
141   vu16 TXR2R;           /* Transmission Request 2 Register */\r
142   vu16 EMPTY10[13];\r
143   vu16 ND1R;            /* New Data 1 Register             */\r
144   vu16 EMPTY11;\r
145   vu16 ND2R;            /* New Data 2 Register             */\r
146   vu16 EMPTY12[13];\r
147   vu16 IP1R;            /* Interrupt Pending 1 Register    */\r
148   vu16 EMPTY13;\r
149   vu16 IP2R;            /* Interrupt Pending 2 Register    */\r
150   vu16 EMPTY14[13];\r
151   vu16 MV1R;            /* Message Valid 1 Register        */\r
152   vu16 EMPTY15;\r
153   vu16 MV2R;            /* Message VAlid 2 Register        */\r
154   vu16 EMPTY16;\r
155 } CAN_TypeDef;\r
156 \r
157 /*----------------------- System Control Unit---------------------------------*/\r
158 \r
159 typedef struct\r
160 {\r
161   vu32 CLKCNTR;    /* Clock Control Register                       */\r
162   vu32 PLLCONF;    /* PLL Configuration Register                   */\r
163   vu32 SYSSTATUS;  /* System Status Register                       */\r
164   vu32 PWRMNG;     /* Power Management Register                    */\r
165   vu32 ITCMSK;     /* Interrupt Mask Register                      */\r
166   vu32 PCGRO;      /* Peripheral Clock Gating Register 0           */\r
167   vu32 PCGR1;      /* Peripheral Clock Gating Register 1           */\r
168   vu32 PRR0;       /* Peripheral Reset Register 0                  */\r
169   vu32 PRR1;       /* Peripheral Reset Register 1                  */\r
170   vu32 MGR0;       /* Idle Mode Mask Gating Register 0             */\r
171   vu32 MGR1;       /* Idle Mode Mask Gating Register 1             */\r
172   vu32 PECGR0;     /* Peripheral Emulation Clock Gating Register 0 */\r
173   vu32 PECGR1;     /* Peripheral Emulation Clock Gating Register 1 */\r
174   vu32 SCR0;       /* System Configuration Register 0              */\r
175   vu32 SCR1;       /* System Configuration Register 1              */\r
176   vu32 SCR2;       /* System Configuration Register 2              */\r
177   u32 EMPTY1;\r
178   vu32 GPIOOUT[8];   /* GPIO Output Registers                      */\r
179   vu32 GPIOIN[8];    /* GPIO Input Registers                       */\r
180   vu32 GPIOTYPE[10]; /* GPIO Type Registers                        */\r
181   vu32 GPIOEMI;      /* GPIO EMI Selector Register                 */\r
182   vu32 WKUPSEL;      /* Wake-Up Selection Register                 */\r
183   u32 EMPTY2[2];\r
184   vu32 GPIOANA;      /* GPIO Analag mode Register                  */\r
185 } SCU_TypeDef;\r
186 \r
187 /*------------------------- DMA Channelx Registers ---------------------------*/\r
188 \r
189 typedef struct\r
190 {\r
191   vu32 SRC;      /* Channelx Source Address Register      */\r
192   vu32 DES;      /* Channelx Destination Address Register */\r
193   vu32 LLI;      /* Channelx Lincked List Item Register   */\r
194   vu32 CC;       /* Channelx Contol Register              */\r
195   vu32 CCNF;     /* Channelx Configuration Register       */\r
196 } DMA_Channel_TypeDef;\r
197 \r
198 /* x can be ,0,1,2,3,4,5,6 or 7. There are eight Channels AHB BUS Master */\r
199 \r
200 /*----------------------------- DMA Controller -------------------------------*/\r
201 \r
202 typedef struct\r
203 {\r
204   vu32 ISR;         /* Interrupt Status Register                    */\r
205   vu32 TCISR;       /* Terminal Count Interrupt Status Register     */\r
206   vu32 TCICR;       /* Terminal CountInterrupt Clear Register       */\r
207   vu32 EISR;        /* Error Interrupt Status Register              */\r
208   vu32 EICR;        /* Error Interrupt Clear Register               */\r
209   vu32 TCRISR;      /* Terminal Count Raw Interrupt Status Register */\r
210   vu32 ERISR;       /* Raw Error Interrupt Status Register          */\r
211   vu32 ENCSR;       /* Enabled Channel Status Register              */\r
212   vu32 SBRR;        /* Software Burst Request Register              */\r
213   vu32 SSRR;        /* Software Single Request Register             */\r
214   vu32 SLBRR;       /* Software Last Burst Request Register         */\r
215   vu32 SLSRR;       /* Software Last Single Request Register        */\r
216   vu32 CNFR;        /* Configuration Register                       */\r
217   vu32 SYNR;        /* Syncronization Register                      */\r
218 } DMA_TypeDef;\r
219 \r
220 /*--------------------------------- TIM Timer --------------------------------*/\r
221 \r
222 typedef struct\r
223 {\r
224   vu16 IC1R;        /* Input Capture 1 Register  */\r
225   vu16 EMPTY1;\r
226   vu16 IC2R;        /* Input Capture 2 Register  */\r
227   vu16 EMPTY2;\r
228   vu16 OC1R;        /* Output Compare 1 Register */\r
229   vu16 EMPTY3;\r
230   vu16 OC2R;        /* Output Compare 2 Register */\r
231   vu16 EMPTY4;\r
232   vu16 CNTR;        /* Counter Register          */\r
233   vu16 EMPTY5;\r
234   vu16 CR1;         /* Control Register 1        */\r
235   vu16 EMPTY6;\r
236   vu16 CR2;         /* Control Register 2        */\r
237   vu16 EMPTY7;\r
238   vu16 SR;          /* Status Register           */\r
239   vu16 EMPTY8;\r
240 } TIM_TypeDef;\r
241 \r
242 /*---------------------------- EMI Bankx Registers ---------------------------*/\r
243 \r
244 typedef struct\r
245 {\r
246   vu32 ICR;      /* Bankx   Idle Cycle Control Register                    */\r
247   vu32 RCR;      /* Bankx   Read Wait State Control Register               */\r
248   vu32 WCR;      /* Bankx   Write Wait State Control Register              */\r
249   vu32 OECR;     /* Bankx   Output Enable Assertion Delay Control Register */\r
250   vu32 WECR;     /* Bankx   Write Enable Assertion Delay Control Register  */\r
251   vu32 BCR;      /* Bankx   Control Register                               */\r
252  } EMI_Bank_TypeDef;\r
253 \r
254 /*---------------------------- Ethernet Controller ---------------------------*/\r
255 \r
256 /* MAC Registers */\r
257 typedef struct\r
258 {\r
259   vu32 MCR;      /* ENET Control Register             */\r
260   vu32 MAH;      /* ENET Address High Register        */\r
261   vu32 MAL;      /* ENET Address Low Register         */\r
262   vu32 MCHA;     /* Multicast Address High Register   */\r
263   vu32 MCLA;     /* Multicast Address Low Register    */\r
264   vu32 MIIA;     /* MII Address Register              */\r
265   vu32 MIID;     /* MII Data Register                 */\r
266   vu32 MCF;      /* ENET Control Frame Register       */\r
267   vu32 VL1;      /* VLAN1 Register                    */\r
268   vu32 VL2;      /* VLAN2 register                    */\r
269   vu32 MTS;      /* ENET Transmission Status Register */\r
270   vu32 MRS;      /* ENET Reception Status Register    */\r
271 } ENET_MAC_TypeDef;\r
272 \r
273 /* DMA Registers */\r
274 typedef struct\r
275 {\r
276   vu32 SCR;           /* DMA Status and Control Register         */\r
277   vu32 IER;           /* DMA Interrupt Sources Enable Register   */\r
278   vu32 ISR;           /* DMA Interrupt Status Register           */\r
279   vu32 CCR;           /* Clock Control Relation : HCLK, PCLK and\r
280                          ENET_CLK phase relations                */\r
281   vu32 RXSTR;         /* Rx DMA start Register                   */\r
282   vu32 RXCR;          /* Rx DMA Control Register                 */\r
283   vu32 RXSAR;         /* Rx DMA Base Address Register            */\r
284   vu32 RXNDAR;        /* Rx DMA Next Descriptor Address Register */\r
285   vu32 RXCAR;         /* Rx DMA Current Address Register         */\r
286   vu32 RXCTCR;        /* Rx DMA Current Transfer Count Register  */\r
287   vu32 RXTOR;         /* Rx DMA FIFO Time Out Register           */\r
288   vu32 RXSR;          /* Rx DMA FIFO Status Register             */\r
289   vu32 TXSTR;         /* Tx DMA start Register                   */\r
290   vu32 TXCR;          /* Tx DMA Control Register                 */\r
291   vu32 TXSAR;         /* Tx DMA Base Address Register            */\r
292   vu32 TXNDAR;        /* Tx DMA Next Descriptor Address Register */\r
293   vu32 TXCAR;         /* Tx DMA Current Address Register         */\r
294   vu32 TXTCR;         /* Tx DMA Current Transfer Count Register  */\r
295   vu32 TXTOR;         /* Tx DMA FIFO Time Out Register           */\r
296   vu32 TXSR;          /* Tx DMA FIFO Status Register             */\r
297 } ENET_DMA_TypeDef;\r
298 \r
299 /*------------------------------------- GPIO ---------------------------------*/\r
300 \r
301 typedef struct\r
302 {\r
303   vu8 DR[1021];     /* Data Register                    */\r
304   vu32 DDR;         /* Data Direction Register          */\r
305 } GPIO_TypeDef;\r
306 \r
307 /*-------------------------------- I2C interface -----------------------------*/\r
308 \r
309 typedef struct\r
310 {\r
311   vu8  CR;                 /* Control Register                */\r
312   vu8  EMPTY1[3];\r
313   vu8  SR1;                /* Status Register 1               */\r
314   vu8  EMPTY2[3];\r
315   vu8  SR2;                /* Status Register 2               */\r
316   vu8  EMPTY3[3];\r
317   vu8  CCR;                /* Clock Control Register          */\r
318   vu8  EMPTY4[3];\r
319   vu8  OAR1;               /* Own Address Register 1          */\r
320   vu8  EMPTY5[3];\r
321   vu8  OAR2;               /* Own Address Register 2          */\r
322   vu8  EMPTY6[3];\r
323   vu8  DR;                 /* Data Register                   */\r
324   vu8  EMPTY7[3];\r
325   vu8  ECCR;               /* Extended Clock Control Register */\r
326   vu8  EMPTY8[3];\r
327 } I2C_TypeDef;\r
328 \r
329 /*------------------------------------- VIC ----------------------------------*/\r
330 \r
331 typedef struct\r
332 {\r
333   vu32 ISR;                /* IRQ Status Register               */\r
334   vu32 FSR;                /* FIQ Status Register               */\r
335   vu32 RINTSR;             /* Raw Interrupt Status Register     */\r
336   vu32 INTSR;              /* Interrupt Select Register         */\r
337   vu32 INTER;              /* Interrupt Enable Register         */\r
338   vu32 INTECR;             /* Interrupt Enable Clear Register   */\r
339   vu32 SWINTR;             /* Software Interrupt Register       */\r
340   vu32 SWINTCR;            /* Software Interrupt clear Register */\r
341   vu32 PER;                /* Protection Enable Register        */\r
342   vu32 EMPTY1[3];\r
343   vu32 VAR;                /* Vector Address Register           */\r
344   vu32 DVAR;               /* Default Vector Address Register   */\r
345   vu32 EMPTY2[50];\r
346   vu32 VAiR[16];           /* Vector Address 0-15 Register      */\r
347   vu32 EMPTY3[48];\r
348   vu32 VCiR[16];           /* Vector Control 0-15 Register      */\r
349 } VIC_TypeDef;\r
350 \r
351 /*-------------------------------- Motor Control -----------------------------*/\r
352 \r
353 typedef struct\r
354 {\r
355   vu16 TCPT;          /* Tacho Capture Register           */\r
356   vu16 EMPTY1;\r
357   vu16 TCMP;          /* Tacho Compare Register           */\r
358   vu16 EMPTY2;\r
359   vu16 IPR;           /* Input Pending Register           */\r
360   vu16 EMPTY3;\r
361   vu16 TPRS;          /* Tacho Prescaler Register         */\r
362   vu16 EMPTY4;\r
363   vu16 CPRS;          /* PWM Counter Prescaler Register   */\r
364   vu16 EMPTY5;\r
365   vu16 REP;           /* Repetition Counter Register      */\r
366   vu16 EMPTY6;\r
367   vu16 CMPW;          /* Compare Phase W Preload Register */\r
368   vu16 EMPTY7;\r
369   vu16 CMPV;          /* Compare Phase V Preload Register */\r
370   vu16 EMPTY8;\r
371   vu16 CMPU;          /* Compare Phase U Preload Register */\r
372   vu16 EMPTY9;\r
373   vu16 CMP0;          /* Compare 0 Preload Register       */\r
374   vu16 EMPTY10;\r
375   vu16 PCR0;          /* Peripheral Control Register 0    */\r
376   vu16 EMPTY11;\r
377   vu16 PCR1;          /* Peripheral Control Register 1    */\r
378   vu16 EMPTY12;\r
379   vu16 PCR2;          /* Peripheral Control Register 2    */\r
380   vu16 EMPTY13;\r
381   vu16 PSR;           /* Polarity Selection Register      */\r
382   vu16 EMPTY14;\r
383   vu16 OPR;           /* Output Peripheral Register       */\r
384   vu16 EMPTY15;\r
385   vu16 IMR;           /* Interrupt Mask Register          */\r
386   vu16 EMPTY16;\r
387   vu16 DTG;           /* Dead Time Generator Register     */\r
388   vu16 EMPTY17;\r
389   vu16 ESC;           /* Emergency Stop Clear Register    */\r
390   vu16 EMPTY18;\r
391 }MC_TypeDef;\r
392 \r
393 /*------------------------------------- RTC ----------------------------------*/\r
394 \r
395 typedef struct\r
396 {\r
397   vu32 TR;         /* Time Register       */\r
398   vu32 DTR;        /* Date Register       */\r
399   vu32 ATR;        /* Alarm time Register */\r
400   vu32 CR;         /* Control Register    */\r
401   vu32 SR;         /* Status Register     */\r
402   vu32 MILR;       /* Millisec Register   */\r
403 }RTC_TypeDef;\r
404 \r
405 /*------------------------------------- SSP ----------------------------------*/\r
406 \r
407 typedef struct\r
408 {\r
409   vu16 CR0;        /* Control Register 1                   */\r
410   vu16 EMPTY1;\r
411   vu16 CR1;        /* Control Register 2                   */\r
412   vu16 EMPTY2;\r
413   vu16 DR;         /* Data Register                        */\r
414   vu16 EMPTY3;\r
415   vu16 SR;         /* Status Register                      */\r
416   vu16 EMPTY4;\r
417   vu16 PR;         /* Clock Prescale Register              */\r
418   vu16 EMPTY5;\r
419   vu16 IMSCR;      /* Interrupt Mask Set or Clear Register */\r
420   vu16 EMPTY6;\r
421   vu16 RISR;       /* Raw Interrupt Status Register        */\r
422   vu16 EMPTY7;\r
423   vu16 MISR;       /* Masked Interrupt Status Register     */\r
424   vu16 EMPTY8;\r
425   vu16 ICR;        /* Interrupt Clear Register             */\r
426   vu16 EMPTY9;\r
427   vu16 DMACR;      /* DMA Control Register                 */\r
428   vu16 EMPTY10;\r
429 }SSP_TypeDef;\r
430 \r
431 /*------------------------------------ UART ----------------------------------*/\r
432 \r
433 typedef struct\r
434 {\r
435   vu16 DR;        /* Data Register                                               */\r
436   vu16 EMPTY1;\r
437   vu16 RSECR;     /* Receive Status Register (read)/Error Clear Register (write) */\r
438   vu16 EMPTY2[9];\r
439   vu16 FR;        /* Flag Register                                               */\r
440   vu16 EMPTY3[3];\r
441   vu16 ILPR;      /* IrDA Low-Power counter Register                             */\r
442   vu16 EMPTY4;\r
443   vu16 IBRD;      /* Integer Baud Rate Divisor Register                          */\r
444   vu16 EMPTY5;\r
445   vu16 FBRD;      /* Fractional Baud Rate Divisor Register                       */\r
446   vu16 EMPTY6;\r
447   vu16 LCR;       /* Line Control Register, High byte                            */\r
448   vu16 EMPTY7;\r
449   vu16 CR;        /* Control Register                                            */\r
450   vu16 EMPTY8;\r
451   vu16 IFLS;      /* Interrupt FIFO Level Select Register                        */\r
452   vu16 EMPTY9;\r
453   vu16 IMSC;      /* Interrupt Mask Set/Clear Register                           */\r
454   vu16 EMPTY10;\r
455   vu16 RIS;       /* Raw Interrupt Status Register                               */\r
456   vu16 EMPTY11;\r
457   vu16 MIS;       /* Masked Interrupt Status Register                            */\r
458   vu16 EMPTY12;\r
459   vu16 ICR;       /* Interrupt Clear Register                                    */\r
460   vu16 EMPTY13;\r
461   vu16 DMACR;     /* DMA Control Register                                        */\r
462   vu16 EMPTY14;\r
463 }UART_TypeDef;\r
464 \r
465 /*------------------------------- Wake-up System -----------------------------*/\r
466 \r
467 typedef struct\r
468 {\r
469   vu32  CTRL;   /* Control Register            */\r
470   vu32  MR;     /* Mask Register               */\r
471   vu32  TR;     /* Trigger Register            */\r
472   vu32  PR;     /* Pending Register            */\r
473   vu32  INTR;   /* Software Interrupt Register */\r
474 } WIU_TypeDef;\r
475 \r
476 /*------------------------------- WatchDog Timer -----------------------------*/\r
477 \r
478 typedef struct\r
479 {\r
480   vu16 CR;        /* Control Register        */\r
481   vu16 EMPTY1;\r
482   vu16 PR;        /* Presclar Register       */\r
483   vu16 EMPTY2;\r
484   vu16 VR;        /* Pre-load Value Register */\r
485   vu16 EMPTY3;\r
486   vu16 CNT;       /* Counter Register        */\r
487   vu16 EMPTY4;\r
488   vu16 SR;        /* Status Register         */\r
489   vu16 EMPTY5;\r
490   vu16 MR;        /* Mask Register           */\r
491   vu16 EMPTY6;\r
492   vu16 KR;        /* Key Register            */\r
493   vu16 EMPTY7;\r
494 } WDG_TypeDef;\r
495 \r
496 /*******************************************************************************\r
497 *                         Memory Mapping of STR91x                             *\r
498 *******************************************************************************/\r
499 \r
500 #define AHB_APB_BRDG0_U    (0x58000000) /* AHB/APB Bridge 0 UnBuffered Space */\r
501 #define AHB_APB_BRDG0_B    (0x48000000) /* AHB/APB Bridge 0 Buffered Space   */\r
502 \r
503 #define AHB_APB_BRDG1_U    (0x5C000000) /* AHB/APB Bridge 1 UnBuffered Space */\r
504 #define AHB_APB_BRDG1_B    (0x4C000000) /* AHB/APB Bridge 1 Buffered Space   */\r
505 \r
506 #define AHB_EMI_U          (0x74000000) /* EMI UnBuffered Space */\r
507 #define AHB_EMI_B          (0x64000000) /* EMI Buffered Space   */\r
508 \r
509 #define AHB_DMA_U          (0x78000000) /* DMA UnBuffered Space */\r
510 #define AHB_DMA_B          (0x68000000) /* DMA Buffered Space   */\r
511 \r
512 #define AHB_ENET_MAC_U     (0x7C000400) /* ENET_MAC  UnBuffered Space */\r
513 #define AHB_ENET_MAC_B     (0x6C000400) /* ENET_MAC  Buffered Space   */\r
514 \r
515 #define AHB_ENET_DMA_U     (0x7C000000) /* ENET_DMA  Unbuffered Space */\r
516 #define AHB_ENET_DMA_B     (0x6C000000) /* ENET_DMA  Buffered Space    */\r
517 \r
518 #define AHB_VIC1_U         (0xFC000000) /* Secondary VIC1 UnBuffered Space */\r
519 #define AHB_VIC0_U         (0xFFFFF000) /* Primary VIC0 UnBuffered Space   */\r
520 \r
521 #define AHB_FMI_U          (0x54000000) /* FMI Unbuffered Space */\r
522 #define AHB_FMI_B          (0x44000000) /* FMI buffered Space   */\r
523 \r
524 /*******************************************************************************\r
525 *                Addresses related to the VICs' peripherals                    *\r
526 *******************************************************************************/\r
527 \r
528 #define VIC0_BASE          (AHB_VIC0_U)\r
529 #define VIC1_BASE          (AHB_VIC1_U)\r
530 \r
531 /*******************************************************************************\r
532 *                    Addresses related to the EMI banks                        *\r
533 *******************************************************************************/\r
534 \r
535 #define AHB_EMIB3_OFST      (0x00000040)   /* Offset of EMI bank3 */\r
536 #define AHB_EMIB2_OFST      (0x00000020)   /* Offset of EMI bank2 */\r
537 #define AHB_EMIB1_OFST      (0x00000000)   /* Offset of EMI bank1 */\r
538 #define AHB_EMIB0_OFST      (0x000000E0)   /* Offset of EMI bank0 */\r
539 \r
540 /*******************************************************************************\r
541 *                 Addresses related to the DMA peripheral                      *\r
542 *******************************************************************************/\r
543 \r
544 #define AHB_DMA_Channel0_OFST    (0x00000100)   /* Offset of Channel 0 */\r
545 #define AHB_DMA_Channel1_OFST    (0x00000120)   /* Offset of Channel 1 */\r
546 #define AHB_DMA_Channel2_OFST    (0x00000140)   /* Offset of Channel 2 */\r
547 #define AHB_DMA_Channel3_OFST    (0x00000160)   /* Offset of Channel 3 */\r
548 #define AHB_DMA_Channel4_OFST    (0x00000180)   /* Offset of Channel 4 */\r
549 #define AHB_DMA_Channel5_OFST    (0x000001A0)   /* Offset of Channel 5 */\r
550 #define AHB_DMA_Channel6_OFST    (0x000001C0)   /* Offset of Channel 6 */\r
551 #define AHB_DMA_Channel7_OFST    (0x000001E0)   /* Offset of Channel 7 */\r
552 \r
553 /*******************************************************************************\r
554 *                 Addresses related to the APB0 sub-system                     *\r
555 *******************************************************************************/\r
556 \r
557 #define APB_WIU_OFST       (0x00001000)   /* Offset of WIU   */\r
558 #define APB_TIM0_OFST      (0x00002000)   /* Offset of TIM0  */\r
559 #define APB_TIM1_OFST      (0x00003000)   /* Offset of TIM1  */\r
560 #define APB_TIM2_OFST      (0x00004000)   /* Offset of TIM2  */\r
561 #define APB_TIM3_OFST      (0x00005000)   /* Offset of TIM3  */\r
562 #define APB_GPIO0_OFST     (0x00006000)   /* Offset of GPIO0 */\r
563 #define APB_GPIO1_OFST     (0x00007000)   /* Offset of GPIO1 */\r
564 #define APB_GPIO2_OFST     (0x00008000)   /* Offset of GPIO2 */\r
565 #define APB_GPIO3_OFST     (0x00009000)   /* Offset of GPIO3 */\r
566 #define APB_GPIO4_OFST     (0x0000A000)   /* Offset of GPIO4 */\r
567 #define APB_GPIO5_OFST     (0x0000B000)   /* Offset of GPIO5 */\r
568 #define APB_GPIO6_OFST     (0x0000C000)   /* Offset of GPIO6 */\r
569 #define APB_GPIO7_OFST     (0x0000D000)   /* Offset of GPIO7 */\r
570 #define APB_GPIO8_OFST     (0x0000E000)   /* Offset of GPIO8 */\r
571 #define APB_GPIO9_OFST     (0x0000F000)   /* Offset of GPIO9 */\r
572 \r
573 /*******************************************************************************\r
574 *                   Addresses related to the APB1 sub-system                   *\r
575 *******************************************************************************/\r
576 \r
577 #define APB_RTC_OFST       (0x00001000) /* Offset of RTC               */\r
578 #define APB_SCU_OFST       (0x00002000) /* Offset of System Controller */\r
579 #define APB_MC_OFST        (0x00003000) /* Offset of Motor Control     */\r
580 #define APB_UART0_OFST     (0x00004000) /* Offset of UART0             */\r
581 #define APB_UART1_OFST     (0x00005000) /* Offset of UART1             */\r
582 #define APB_UART2_OFST     (0x00006000) /* Offset of UART2             */\r
583 #define APB_SSP0_OFST      (0x00007000) /* Offset of SSP0              */\r
584 #define APB_SSP1_OFST      (0x00008000) /* Offset of SSPI              */\r
585 #define APB_CAN_OFST       (0x00009000) /* Offset of CAN               */\r
586 #define APB_ADC_OFST       (0x0000A000) /* Offset of ADC               */\r
587 #define APB_WDG_OFST       (0x0000B000) /* Offset of WDG               */\r
588 #define APB_I2C0_OFST      (0x0000C000) /* Offset of I2C0              */\r
589 #define APB_I2C1_OFST      (0x0000D000) /* Offset of I2C1              */\r
590 \r
591 /*----------------------------------------------------------------------------*/\r
592 /*----------------------------- Unbuffered Mode ------------------------------*/\r
593 /*----------------------------------------------------------------------------*/\r
594 \r
595 #ifndef Buffered\r
596 \r
597 /*******************************************************************************\r
598 *                  AHBAPB peripheral Unbuffered Base Address                   *\r
599 *******************************************************************************/\r
600 \r
601 #define AHBAPB0_BASE           (AHB_APB_BRDG0_U)\r
602 #define AHBAPB1_BASE           (AHB_APB_BRDG1_U)\r
603 \r
604 /*******************************************************************************\r
605 *                  ENET peripheral Unbuffered Base Address                     *\r
606 *******************************************************************************/\r
607 \r
608 #define ENET_MAC_BASE          (AHB_ENET_MAC_U)\r
609 #define ENET_DMA_BASE          (AHB_ENET_DMA_U)\r
610 \r
611 /*******************************************************************************\r
612 *                  DMA peripheral Unbuffered Base Address                      *\r
613 *******************************************************************************/\r
614 \r
615 #define DMA_BASE           (AHB_DMA_U)\r
616 \r
617 /*******************************************************************************\r
618 *                  EMI peripheral Unbuffered Base Address                      *\r
619 *******************************************************************************/\r
620 \r
621 #define EMI_BASE           (AHB_EMI_U)\r
622 \r
623 /*******************************************************************************\r
624 *                  FMI peripheral Unbuffered Base Address                      *\r
625 *******************************************************************************/\r
626 \r
627 #define FMI_BASE           (AHB_FMI_U)\r
628 \r
629 \r
630 #else /* Buffered */\r
631 \r
632 /*----------------------------------------------------------------------------*/\r
633 /*------------------------------ Buffered Mode -------------------------------*/\r
634 /*----------------------------------------------------------------------------*/\r
635 \r
636 /*******************************************************************************\r
637 *                   AHBAPB peripheral Buffered Base Address                    *\r
638 *******************************************************************************/\r
639 \r
640 #define AHBAPB0_BASE           (AHB_APB_BRDG0_B)\r
641 #define AHBAPB1_BASE           (AHB_APB_BRDG1_B)\r
642 \r
643 /*******************************************************************************\r
644 *                  ENET peripheral Unbuffered Base Address                     *\r
645 *******************************************************************************/\r
646 \r
647 #define ENET_MAC_BASE          (AHB_ENET_MAC_B)\r
648 #define ENET_DMA_BASE          (AHB_ENET_DMA_B)\r
649 \r
650 /*******************************************************************************\r
651 *                    DMA peripheral Buffered Base Address                      *\r
652 *******************************************************************************/\r
653 \r
654 #define DMA_BASE           (AHB_DMA_B)\r
655 \r
656 /*******************************************************************************\r
657 *                      EMI peripheral Buffered Base Address                    *\r
658 *******************************************************************************/\r
659 \r
660 #define EMI_BASE           (AHB_EMI_B)\r
661 \r
662 /*******************************************************************************\r
663 *                      FMI peripheral Buffered Base Address                    *\r
664 *******************************************************************************/\r
665 \r
666 #define FMI_BASE           (AHB_FMI_B)\r
667 \r
668 #endif /* Buffered */\r
669 \r
670 /*******************************************************************************\r
671 *                          DMA channels Base Address                           *\r
672 *******************************************************************************/\r
673 #define DMA_Channel0_BASE  (DMA_BASE + AHB_DMA_Channel0_OFST)\r
674 #define DMA_Channel1_BASE  (DMA_BASE + AHB_DMA_Channel1_OFST)\r
675 #define DMA_Channel2_BASE  (DMA_BASE + AHB_DMA_Channel2_OFST)\r
676 #define DMA_Channel3_BASE  (DMA_BASE + AHB_DMA_Channel3_OFST)\r
677 #define DMA_Channel4_BASE  (DMA_BASE + AHB_DMA_Channel4_OFST)\r
678 #define DMA_Channel5_BASE  (DMA_BASE + AHB_DMA_Channel5_OFST)\r
679 #define DMA_Channel6_BASE  (DMA_BASE + AHB_DMA_Channel6_OFST)\r
680 #define DMA_Channel7_BASE  (DMA_BASE + AHB_DMA_Channel7_OFST)\r
681 \r
682 /*******************************************************************************\r
683 *                     EMI Banks peripheral Base Address                        *\r
684 *******************************************************************************/\r
685 \r
686 #define EMI_Bank0_BASE  (EMI_BASE + AHB_EMIB0_OFST)\r
687 #define EMI_Bank1_BASE  (EMI_BASE + AHB_EMIB1_OFST)\r
688 #define EMI_Bank2_BASE  (EMI_BASE + AHB_EMIB2_OFST)\r
689 #define EMI_Bank3_BASE  (EMI_BASE + AHB_EMIB3_OFST)\r
690 \r
691 /*******************************************************************************\r
692 *                     APB0 Peripherals' Base addresses                         *\r
693 *******************************************************************************/\r
694 \r
695 #define WIU_BASE           (AHBAPB0_BASE + APB_WIU_OFST)\r
696 #define TIM0_BASE          (AHBAPB0_BASE + APB_TIM0_OFST)\r
697 #define TIM1_BASE          (AHBAPB0_BASE + APB_TIM1_OFST)\r
698 #define TIM2_BASE          (AHBAPB0_BASE + APB_TIM2_OFST)\r
699 #define TIM3_BASE          (AHBAPB0_BASE + APB_TIM3_OFST)\r
700 #define GPIO0_BASE         (AHBAPB0_BASE + APB_GPIO0_OFST)\r
701 #define GPIO1_BASE         (AHBAPB0_BASE + APB_GPIO1_OFST)\r
702 #define GPIO2_BASE         (AHBAPB0_BASE + APB_GPIO2_OFST)\r
703 #define GPIO3_BASE         (AHBAPB0_BASE + APB_GPIO3_OFST)\r
704 #define GPIO4_BASE         (AHBAPB0_BASE + APB_GPIO4_OFST)\r
705 #define GPIO5_BASE         (AHBAPB0_BASE + APB_GPIO5_OFST)\r
706 #define GPIO6_BASE         (AHBAPB0_BASE + APB_GPIO6_OFST)\r
707 #define GPIO7_BASE         (AHBAPB0_BASE + APB_GPIO7_OFST)\r
708 #define GPIO8_BASE         (AHBAPB0_BASE + APB_GPIO8_OFST)\r
709 #define GPIO9_BASE         (AHBAPB0_BASE + APB_GPIO9_OFST)\r
710 \r
711 /*******************************************************************************\r
712 *                      APB1 Peripherals' Base addresses                        *\r
713 *******************************************************************************/\r
714 \r
715 #define RTC_BASE           (AHBAPB1_BASE + APB_RTC_OFST)\r
716 #define SCU_BASE           (AHBAPB1_BASE + APB_SCU_OFST)\r
717 #define MC_BASE            (AHBAPB1_BASE + APB_MC_OFST)\r
718 #define UART0_BASE         (AHBAPB1_BASE + APB_UART0_OFST)\r
719 #define UART1_BASE         (AHBAPB1_BASE + APB_UART1_OFST)\r
720 #define UART2_BASE         (AHBAPB1_BASE + APB_UART2_OFST)\r
721 #define SSP0_BASE          (AHBAPB1_BASE + APB_SSP0_OFST)\r
722 #define SSP1_BASE          (AHBAPB1_BASE + APB_SSP1_OFST)\r
723 #define CAN_BASE           (AHBAPB1_BASE + APB_CAN_OFST)\r
724 #define ADC_BASE           (AHBAPB1_BASE + APB_ADC_OFST)\r
725 #define WDG_BASE           (AHBAPB1_BASE + APB_WDG_OFST)\r
726 #define I2C0_BASE          (AHBAPB1_BASE + APB_I2C0_OFST)\r
727 #define I2C1_BASE          (AHBAPB1_BASE + APB_I2C1_OFST)\r
728 \r
729 /*******************************************************************************\r
730 *                                IPs' declaration                              *\r
731 *******************************************************************************/\r
732 \r
733 /*------------------------------ Non Debug Mode ------------------------------*/\r
734 \r
735 #ifndef DEBUG\r
736 \r
737 /*********************************** AHBAPB ***********************************/\r
738 \r
739 #define AHBAPB0               ((AHBAPB_TypeDef *)AHBAPB0_BASE)\r
740 #define AHBAPB1               ((AHBAPB_TypeDef *)AHBAPB1_BASE)\r
741 \r
742 /************************************* EMI ************************************/\r
743 \r
744 #define EMI                ((EMI_TypeDef *)EMI_BASE)\r
745 \r
746 /************************************* DMA ************************************/\r
747 \r
748 #define DMA                ((DMA_TypeDef *)DMA_BASE)\r
749 #define DMA_Channel0       ((DMA_Channel_TypeDef *)DMA_Channel0_BASE)\r
750 #define DMA_Channel1       ((DMA_Channel_TypeDef *)DMA_Channel1_BASE)\r
751 #define DMA_Channel2       ((DMA_Channel_TypeDef *)DMA_Channel2_BASE)\r
752 #define DMA_Channel3       ((DMA_Channel_TypeDef *)DMA_Channel3_BASE)\r
753 #define DMA_Channel4       ((DMA_Channel_TypeDef *)DMA_Channel4_BASE)\r
754 #define DMA_Channel5       ((DMA_Channel_TypeDef *)DMA_Channel5_BASE)\r
755 #define DMA_Channel6       ((DMA_Channel_TypeDef *)DMA_Channel6_BASE)\r
756 #define DMA_Channel7       ((DMA_Channel_TypeDef *)DMA_Channel7_BASE)\r
757 \r
758 /************************************* EMI ************************************/\r
759 \r
760 #define EMI_Bank0         ((EMI_Bank_TypeDef *)EMI_Bank0_BASE)\r
761 #define EMI_Bank1         ((EMI_Bank_TypeDef *)EMI_Bank1_BASE)\r
762 #define EMI_Bank2         ((EMI_Bank_TypeDef *)EMI_Bank2_BASE)\r
763 #define EMI_Bank3         ((EMI_Bank_TypeDef *)EMI_Bank3_BASE)\r
764 \r
765 /************************************* ENET_MAC ************************************/\r
766 \r
767 #define ENET_MAC              ((ENET_MAC_TypeDef *)ENET_MAC_BASE)\r
768 \r
769 /************************************* ENET_DMA ************************************/\r
770 \r
771 #define ENET_DMA              ((ENET_DMA_TypeDef *)ENET_DMA_BASE)\r
772 \r
773 /************************************* FMI ************************************/\r
774 \r
775 #define FMI                ((FMI_TypeDef *)FMI_BASE)\r
776 \r
777 /************************************* VIC ************************************/\r
778 \r
779 #define VIC0               ((VIC_TypeDef *)VIC0_BASE)\r
780 #define VIC1               ((VIC_TypeDef *)VIC1_BASE)\r
781 \r
782 /*******************************************************************************\r
783 *                              APB0 Peripherals'                               *\r
784 *******************************************************************************/\r
785 #define WIU                ((WIU_TypeDef *)WIU_BASE)\r
786 #define TIM0               ((TIM_TypeDef *)TIM0_BASE)\r
787 #define TIM1               ((TIM_TypeDef *)TIM1_BASE)\r
788 #define TIM2               ((TIM_TypeDef *)TIM2_BASE)\r
789 #define TIM3               ((TIM_TypeDef *)TIM3_BASE)\r
790 #define GPIO0              ((GPIO_TypeDef *)GPIO0_BASE)\r
791 #define GPIO1              ((GPIO_TypeDef *)GPIO1_BASE)\r
792 #define GPIO2              ((GPIO_TypeDef *)GPIO2_BASE)\r
793 #define GPIO3              ((GPIO_TypeDef *)GPIO3_BASE)\r
794 #define GPIO4              ((GPIO_TypeDef *)GPIO4_BASE)\r
795 #define GPIO5              ((GPIO_TypeDef *)GPIO5_BASE)\r
796 #define GPIO6              ((GPIO_TypeDef *)GPIO6_BASE)\r
797 #define GPIO7              ((GPIO_TypeDef *)GPIO7_BASE)\r
798 #define GPIO8              ((GPIO_TypeDef *)GPIO8_BASE)\r
799 #define GPIO9              ((GPIO_TypeDef *)GPIO9_BASE)\r
800 /*******************************************************************************\r
801 *                              APB1 Peripherals'                               *\r
802 *******************************************************************************/\r
803 #define RTC                ((RTC_TypeDef *)RTC_BASE)\r
804 #define SCU                ((SCU_TypeDef *)SCU_BASE)\r
805 #define MC                 ((MC_TypeDef *)MC_BASE)\r
806 #define UART0              ((UART_TypeDef *)UART0_BASE)\r
807 #define UART1              ((UART_TypeDef *)UART1_BASE)\r
808 #define UART2              ((UART_TypeDef *)UART2_BASE)\r
809 #define SSP0               ((SSP_TypeDef *)SSP0_BASE)\r
810 #define SSP1               ((SSP_TypeDef *)SSP1_BASE)\r
811 #define CAN                ((CAN_TypeDef *)CAN_BASE)\r
812 #define ADC                ((ADC_TypeDef *)ADC_BASE)\r
813 #define WDG                ((WDG_TypeDef *)WDG_BASE)\r
814 #define I2C0               ((I2C_TypeDef *)I2C0_BASE)\r
815 #define I2C1               ((I2C_TypeDef *)I2C1_BASE)\r
816 #define ENET_MAC           ((ENET_MAC_TypeDef *)ENET_MAC_BASE)\r
817 #define ENET_DMA           ((ENET_DMA_TypeDef *)ENET_DMA_BASE)\r
818 \r
819 #else   /* DEBUG */\r
820 \r
821 /*-------------------------------- Debug Mode --------------------------------*/\r
822 \r
823 EXT AHBAPB_TypeDef         *AHBAPB0;\r
824 EXT AHBAPB_TypeDef         *AHBAPB1;\r
825 EXT DMA_TypeDef            *DMA;\r
826 EXT DMA_Channel_TypeDef    *DMA_Channel0;\r
827 EXT DMA_Channel_TypeDef    *DMA_Channel1;\r
828 EXT DMA_Channel_TypeDef    *DMA_Channel2;\r
829 EXT DMA_Channel_TypeDef    *DMA_Channel3;\r
830 EXT DMA_Channel_TypeDef    *DMA_Channel4;\r
831 EXT DMA_Channel_TypeDef    *DMA_Channel5;\r
832 EXT DMA_Channel_TypeDef    *DMA_Channel6;\r
833 EXT DMA_Channel_TypeDef    *DMA_Channel7;\r
834 EXT EMI_Bank_TypeDef       *EMI_Bank0;\r
835 EXT EMI_Bank_TypeDef       *EMI_Bank1;\r
836 EXT EMI_Bank_TypeDef       *EMI_Bank2;\r
837 EXT EMI_Bank_TypeDef       *EMI_Bank3;\r
838 EXT FMI_TypeDef            *FMI;\r
839 EXT VIC_TypeDef            *VIC0;\r
840 EXT VIC_TypeDef            *VIC1;\r
841 EXT WIU_TypeDef            *WIU;\r
842 EXT TIM_TypeDef            *TIM0;\r
843 EXT TIM_TypeDef            *TIM1;\r
844 EXT TIM_TypeDef            *TIM2;\r
845 EXT TIM_TypeDef            *TIM3;\r
846 EXT GPIO_TypeDef           *GPIO0;\r
847 EXT GPIO_TypeDef           *GPIO1;\r
848 EXT GPIO_TypeDef           *GPIO2;\r
849 EXT GPIO_TypeDef           *GPIO3;\r
850 EXT GPIO_TypeDef           *GPIO4;\r
851 EXT GPIO_TypeDef           *GPIO5;\r
852 EXT GPIO_TypeDef           *GPIO6;\r
853 EXT GPIO_TypeDef           *GPIO7;\r
854 EXT GPIO_TypeDef           *GPIO8;\r
855 EXT GPIO_TypeDef           *GPIO9;\r
856 EXT RTC_TypeDef            *RTC;\r
857 EXT SCU_TypeDef            *SCU;\r
858 EXT MC_TypeDef             *MC;\r
859 EXT UART_TypeDef           *UART0;\r
860 EXT UART_TypeDef           *UART1;\r
861 EXT UART_TypeDef           *UART2;\r
862 EXT SSP_TypeDef            *SSP0;\r
863 EXT SSP_TypeDef            *SSP1;\r
864 EXT CAN_TypeDef            *CAN;\r
865 EXT ADC_TypeDef            *ADC;\r
866 EXT WDG_TypeDef            *WDG;\r
867 EXT I2C_TypeDef            *I2C0;\r
868 EXT I2C_TypeDef            *I2C1;\r
869 EXT ENET_MAC_TypeDef       *ENET_MAC;\r
870 EXT ENET_DMA_TypeDef       *ENET_DMA;\r
871 \r
872 \r
873 #endif  /* DEBUG */\r
874 \r
875 #endif  /* __91x_MAP_H*/\r
876 \r
877 /******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/\r
878 \r