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
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
19 /* Define to prevent recursive inclusion ------------------------------------ */
\r
27 /* Includes ------------------------------------------------------------------*/
\r
28 #include "91x_conf.h"
\r
29 #include "91x_type.h"
\r
31 /******************************************************************************/
\r
32 /* IP registers structures */
\r
33 /******************************************************************************/
\r
35 /*------------------------------------ FMI -----------------------------------*/
\r
39 vu32 BBSR; /* Boot Bank Size Register */
\r
40 vu32 NBBSR; /* Non-Boot Bank Size Register */
\r
42 vu32 BBADR; /* Boot Bank Base Address Register */
\r
43 vu32 NBBADR; /* Non-Boot Bank Base Address Register */
\r
45 vu32 CR; /* Control Register */
\r
46 vu32 SR; /* Status Register */
\r
47 vu32 BCE5ADDR; /* BC Fifth Entry Target Address Register */
\r
50 /*---------------------- Analog to Digital Convertor ------------------------*/
\r
54 vu16 CR; /* Control Register */
\r
56 vu16 CCR; /* Channel Configuration Register */
\r
58 vu16 HTR; /* Higher Threshold Register */
\r
60 vu16 LTR; /* Lower Threshold Register */
\r
62 vu16 CRR; /* Compare Result Register */
\r
64 vu16 DR0; /* Data Register for Channel 0 */
\r
66 vu16 DR1; /* Data Register for Channel 1 */
\r
68 vu16 DR2; /* Data Register for Channel 2 */
\r
70 vu16 DR3; /* Data Register for Channel 3 */
\r
72 vu16 DR4; /* Data Register for Channel 4 */
\r
74 vu16 DR5; /* Data Register for Channel 5 */
\r
76 vu16 DR6; /* Data Register for Channel 6 */
\r
78 vu16 DR7; /* Data Register for Channel 7 */
\r
80 vu16 PRS; /* Prescaler Value Register */
\r
84 /*--------------------- AHB APB BRIDGE registers strcture --------------------*/
\r
88 vu32 BSR; /* Bridge Status Register */
\r
89 vu32 BCR; /* Bridge Configuration Register */
\r
90 vu32 PAER; /* Peripheral Address Error register */
\r
93 /*--------------- Controller Area Network Interface Register -----------------*/
\r
97 vu16 CRR; /* IFn Command request Register */
\r
99 vu16 CMR; /* IFn Command Mask Register */
\r
101 vu16 M1R; /* IFn Message Mask 1 Register */
\r
103 vu16 M2R; /* IFn Message Mask 2 Register */
\r
105 vu16 A1R; /* IFn Message Arbitration 1 Register */
\r
107 vu16 A2R; /* IFn Message Arbitration 2 Register */
\r
109 vu16 MCR; /* IFn Message Control Register */
\r
111 vu16 DA1R; /* IFn DATA A 1 Register */
\r
113 vu16 DA2R; /* IFn DATA A 2 Register */
\r
115 vu16 DB1R; /* IFn DATA B 1 Register */
\r
117 vu16 DB2R; /* IFn DATA B 2 Register */
\r
119 } CAN_MsgObj_TypeDef;
\r
123 vu16 CR; /* Control Register */
\r
125 vu16 SR; /* Status Register */
\r
127 vu16 ERR; /* Error counter Register */
\r
129 vu16 BTR; /* Bit Timing Register */
\r
131 vu16 IDR; /* Interrupt Identifier Register */
\r
133 vu16 TESTR; /* Test Register */
\r
135 vu16 BRPR; /* BRP Extension Register */
\r
137 CAN_MsgObj_TypeDef sMsgObj[2];
\r
139 vu16 TXR1R; /* Transmission request 1 Register */
\r
141 vu16 TXR2R; /* Transmission Request 2 Register */
\r
143 vu16 ND1R; /* New Data 1 Register */
\r
145 vu16 ND2R; /* New Data 2 Register */
\r
147 vu16 IP1R; /* Interrupt Pending 1 Register */
\r
149 vu16 IP2R; /* Interrupt Pending 2 Register */
\r
151 vu16 MV1R; /* Message Valid 1 Register */
\r
153 vu16 MV2R; /* Message VAlid 2 Register */
\r
157 /*----------------------- System Control Unit---------------------------------*/
\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
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
184 vu32 GPIOANA; /* GPIO Analag mode Register */
\r
187 /*------------------------- DMA Channelx Registers ---------------------------*/
\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
198 /* x can be ,0,1,2,3,4,5,6 or 7. There are eight Channels AHB BUS Master */
\r
200 /*----------------------------- DMA Controller -------------------------------*/
\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
220 /*--------------------------------- TIM Timer --------------------------------*/
\r
224 vu16 IC1R; /* Input Capture 1 Register */
\r
226 vu16 IC2R; /* Input Capture 2 Register */
\r
228 vu16 OC1R; /* Output Compare 1 Register */
\r
230 vu16 OC2R; /* Output Compare 2 Register */
\r
232 vu16 CNTR; /* Counter Register */
\r
234 vu16 CR1; /* Control Register 1 */
\r
236 vu16 CR2; /* Control Register 2 */
\r
238 vu16 SR; /* Status Register */
\r
242 /*---------------------------- EMI Bankx Registers ---------------------------*/
\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
254 /*---------------------------- Ethernet Controller ---------------------------*/
\r
256 /* MAC Registers */
\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
273 /* DMA Registers */
\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
299 /*------------------------------------- GPIO ---------------------------------*/
\r
303 vu8 DR[1021]; /* Data Register */
\r
304 vu32 DDR; /* Data Direction Register */
\r
307 /*-------------------------------- I2C interface -----------------------------*/
\r
311 vu8 CR; /* Control Register */
\r
313 vu8 SR1; /* Status Register 1 */
\r
315 vu8 SR2; /* Status Register 2 */
\r
317 vu8 CCR; /* Clock Control Register */
\r
319 vu8 OAR1; /* Own Address Register 1 */
\r
321 vu8 OAR2; /* Own Address Register 2 */
\r
323 vu8 DR; /* Data Register */
\r
325 vu8 ECCR; /* Extended Clock Control Register */
\r
329 /*------------------------------------- VIC ----------------------------------*/
\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
343 vu32 VAR; /* Vector Address Register */
\r
344 vu32 DVAR; /* Default Vector Address Register */
\r
346 vu32 VAiR[16]; /* Vector Address 0-15 Register */
\r
348 vu32 VCiR[16]; /* Vector Control 0-15 Register */
\r
351 /*-------------------------------- Motor Control -----------------------------*/
\r
355 vu16 TCPT; /* Tacho Capture Register */
\r
357 vu16 TCMP; /* Tacho Compare Register */
\r
359 vu16 IPR; /* Input Pending Register */
\r
361 vu16 TPRS; /* Tacho Prescaler Register */
\r
363 vu16 CPRS; /* PWM Counter Prescaler Register */
\r
365 vu16 REP; /* Repetition Counter Register */
\r
367 vu16 CMPW; /* Compare Phase W Preload Register */
\r
369 vu16 CMPV; /* Compare Phase V Preload Register */
\r
371 vu16 CMPU; /* Compare Phase U Preload Register */
\r
373 vu16 CMP0; /* Compare 0 Preload Register */
\r
375 vu16 PCR0; /* Peripheral Control Register 0 */
\r
377 vu16 PCR1; /* Peripheral Control Register 1 */
\r
379 vu16 PCR2; /* Peripheral Control Register 2 */
\r
381 vu16 PSR; /* Polarity Selection Register */
\r
383 vu16 OPR; /* Output Peripheral Register */
\r
385 vu16 IMR; /* Interrupt Mask Register */
\r
387 vu16 DTG; /* Dead Time Generator Register */
\r
389 vu16 ESC; /* Emergency Stop Clear Register */
\r
393 /*------------------------------------- RTC ----------------------------------*/
\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
405 /*------------------------------------- SSP ----------------------------------*/
\r
409 vu16 CR0; /* Control Register 1 */
\r
411 vu16 CR1; /* Control Register 2 */
\r
413 vu16 DR; /* Data Register */
\r
415 vu16 SR; /* Status Register */
\r
417 vu16 PR; /* Clock Prescale Register */
\r
419 vu16 IMSCR; /* Interrupt Mask Set or Clear Register */
\r
421 vu16 RISR; /* Raw Interrupt Status Register */
\r
423 vu16 MISR; /* Masked Interrupt Status Register */
\r
425 vu16 ICR; /* Interrupt Clear Register */
\r
427 vu16 DMACR; /* DMA Control Register */
\r
431 /*------------------------------------ UART ----------------------------------*/
\r
435 vu16 DR; /* Data Register */
\r
437 vu16 RSECR; /* Receive Status Register (read)/Error Clear Register (write) */
\r
439 vu16 FR; /* Flag Register */
\r
441 vu16 ILPR; /* IrDA Low-Power counter Register */
\r
443 vu16 IBRD; /* Integer Baud Rate Divisor Register */
\r
445 vu16 FBRD; /* Fractional Baud Rate Divisor Register */
\r
447 vu16 LCR; /* Line Control Register, High byte */
\r
449 vu16 CR; /* Control Register */
\r
451 vu16 IFLS; /* Interrupt FIFO Level Select Register */
\r
453 vu16 IMSC; /* Interrupt Mask Set/Clear Register */
\r
455 vu16 RIS; /* Raw Interrupt Status Register */
\r
457 vu16 MIS; /* Masked Interrupt Status Register */
\r
459 vu16 ICR; /* Interrupt Clear Register */
\r
461 vu16 DMACR; /* DMA Control Register */
\r
465 /*------------------------------- Wake-up System -----------------------------*/
\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
476 /*------------------------------- WatchDog Timer -----------------------------*/
\r
480 vu16 CR; /* Control Register */
\r
482 vu16 PR; /* Presclar Register */
\r
484 vu16 VR; /* Pre-load Value Register */
\r
486 vu16 CNT; /* Counter Register */
\r
488 vu16 SR; /* Status Register */
\r
490 vu16 MR; /* Mask Register */
\r
492 vu16 KR; /* Key Register */
\r
496 /*******************************************************************************
\r
497 * Memory Mapping of STR91x *
\r
498 *******************************************************************************/
\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
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
506 #define AHB_EMI_U (0x74000000) /* EMI UnBuffered Space */
\r
507 #define AHB_EMI_B (0x64000000) /* EMI Buffered Space */
\r
509 #define AHB_DMA_U (0x78000000) /* DMA UnBuffered Space */
\r
510 #define AHB_DMA_B (0x68000000) /* DMA Buffered Space */
\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
515 #define AHB_ENET_DMA_U (0x7C000000) /* ENET_DMA Unbuffered Space */
\r
516 #define AHB_ENET_DMA_B (0x6C000000) /* ENET_DMA Buffered Space */
\r
518 #define AHB_VIC1_U (0xFC000000) /* Secondary VIC1 UnBuffered Space */
\r
519 #define AHB_VIC0_U (0xFFFFF000) /* Primary VIC0 UnBuffered Space */
\r
521 #define AHB_FMI_U (0x54000000) /* FMI Unbuffered Space */
\r
522 #define AHB_FMI_B (0x44000000) /* FMI buffered Space */
\r
524 /*******************************************************************************
\r
525 * Addresses related to the VICs' peripherals *
\r
526 *******************************************************************************/
\r
528 #define VIC0_BASE (AHB_VIC0_U)
\r
529 #define VIC1_BASE (AHB_VIC1_U)
\r
531 /*******************************************************************************
\r
532 * Addresses related to the EMI banks *
\r
533 *******************************************************************************/
\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
540 /*******************************************************************************
\r
541 * Addresses related to the DMA peripheral *
\r
542 *******************************************************************************/
\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
553 /*******************************************************************************
\r
554 * Addresses related to the APB0 sub-system *
\r
555 *******************************************************************************/
\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
573 /*******************************************************************************
\r
574 * Addresses related to the APB1 sub-system *
\r
575 *******************************************************************************/
\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
591 /*----------------------------------------------------------------------------*/
\r
592 /*----------------------------- Unbuffered Mode ------------------------------*/
\r
593 /*----------------------------------------------------------------------------*/
\r
597 /*******************************************************************************
\r
598 * AHBAPB peripheral Unbuffered Base Address *
\r
599 *******************************************************************************/
\r
601 #define AHBAPB0_BASE (AHB_APB_BRDG0_U)
\r
602 #define AHBAPB1_BASE (AHB_APB_BRDG1_U)
\r
604 /*******************************************************************************
\r
605 * ENET peripheral Unbuffered Base Address *
\r
606 *******************************************************************************/
\r
608 #define ENET_MAC_BASE (AHB_ENET_MAC_U)
\r
609 #define ENET_DMA_BASE (AHB_ENET_DMA_U)
\r
611 /*******************************************************************************
\r
612 * DMA peripheral Unbuffered Base Address *
\r
613 *******************************************************************************/
\r
615 #define DMA_BASE (AHB_DMA_U)
\r
617 /*******************************************************************************
\r
618 * EMI peripheral Unbuffered Base Address *
\r
619 *******************************************************************************/
\r
621 #define EMI_BASE (AHB_EMI_U)
\r
623 /*******************************************************************************
\r
624 * FMI peripheral Unbuffered Base Address *
\r
625 *******************************************************************************/
\r
627 #define FMI_BASE (AHB_FMI_U)
\r
630 #else /* Buffered */
\r
632 /*----------------------------------------------------------------------------*/
\r
633 /*------------------------------ Buffered Mode -------------------------------*/
\r
634 /*----------------------------------------------------------------------------*/
\r
636 /*******************************************************************************
\r
637 * AHBAPB peripheral Buffered Base Address *
\r
638 *******************************************************************************/
\r
640 #define AHBAPB0_BASE (AHB_APB_BRDG0_B)
\r
641 #define AHBAPB1_BASE (AHB_APB_BRDG1_B)
\r
643 /*******************************************************************************
\r
644 * ENET peripheral Unbuffered Base Address *
\r
645 *******************************************************************************/
\r
647 #define ENET_MAC_BASE (AHB_ENET_MAC_B)
\r
648 #define ENET_DMA_BASE (AHB_ENET_DMA_B)
\r
650 /*******************************************************************************
\r
651 * DMA peripheral Buffered Base Address *
\r
652 *******************************************************************************/
\r
654 #define DMA_BASE (AHB_DMA_B)
\r
656 /*******************************************************************************
\r
657 * EMI peripheral Buffered Base Address *
\r
658 *******************************************************************************/
\r
660 #define EMI_BASE (AHB_EMI_B)
\r
662 /*******************************************************************************
\r
663 * FMI peripheral Buffered Base Address *
\r
664 *******************************************************************************/
\r
666 #define FMI_BASE (AHB_FMI_B)
\r
668 #endif /* Buffered */
\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
682 /*******************************************************************************
\r
683 * EMI Banks peripheral Base Address *
\r
684 *******************************************************************************/
\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
691 /*******************************************************************************
\r
692 * APB0 Peripherals' Base addresses *
\r
693 *******************************************************************************/
\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
711 /*******************************************************************************
\r
712 * APB1 Peripherals' Base addresses *
\r
713 *******************************************************************************/
\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
729 /*******************************************************************************
\r
730 * IPs' declaration *
\r
731 *******************************************************************************/
\r
733 /*------------------------------ Non Debug Mode ------------------------------*/
\r
737 /*********************************** AHBAPB ***********************************/
\r
739 #define AHBAPB0 ((AHBAPB_TypeDef *)AHBAPB0_BASE)
\r
740 #define AHBAPB1 ((AHBAPB_TypeDef *)AHBAPB1_BASE)
\r
742 /************************************* EMI ************************************/
\r
744 #define EMI ((EMI_TypeDef *)EMI_BASE)
\r
746 /************************************* DMA ************************************/
\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
758 /************************************* EMI ************************************/
\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
765 /************************************* ENET_MAC ************************************/
\r
767 #define ENET_MAC ((ENET_MAC_TypeDef *)ENET_MAC_BASE)
\r
769 /************************************* ENET_DMA ************************************/
\r
771 #define ENET_DMA ((ENET_DMA_TypeDef *)ENET_DMA_BASE)
\r
773 /************************************* FMI ************************************/
\r
775 #define FMI ((FMI_TypeDef *)FMI_BASE)
\r
777 /************************************* VIC ************************************/
\r
779 #define VIC0 ((VIC_TypeDef *)VIC0_BASE)
\r
780 #define VIC1 ((VIC_TypeDef *)VIC1_BASE)
\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
821 /*-------------------------------- Debug Mode --------------------------------*/
\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
875 #endif /* __91x_MAP_H*/
\r
877 /******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
\r