1 /******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
2 * File Name : 91x_map.h
3 * Author : MCD Application Team
4 * Date First Issued : 05/18/2006 : Version 1.0
5 * Description : Peripherals registers definition and memory mapping.
6 ********************************************************************************
8 * 05/24/2006 : Version 1.1
9 * 05/18/2006 : Version 1.0
10 ********************************************************************************
11 * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
12 * CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS
13 * A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
14 * OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
15 * OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
16 * CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
17 *******************************************************************************/
19 /* Define to prevent recursive inclusion ------------------------------------ */
27 /* Includes ------------------------------------------------------------------*/
31 /******************************************************************************/
32 /* IP registers structures */
33 /******************************************************************************/
35 /*------------------------------------ FMI -----------------------------------*/
39 vu32 BBSR; /* Boot Bank Size Register */
40 vu32 NBBSR; /* Non-Boot Bank Size Register */
42 vu32 BBADR; /* Boot Bank Base Address Register */
43 vu32 NBBADR; /* Non-Boot Bank Base Address Register */
45 vu32 CR; /* Control Register */
46 vu32 SR; /* Status Register */
47 vu32 BCE5ADDR; /* BC Fifth Entry Target Address Register */
50 /*---------------------- Analog to Digital Convertor ------------------------*/
54 vu16 CR; /* Control Register */
56 vu16 CCR; /* Channel Configuration Register */
58 vu16 HTR; /* Higher Threshold Register */
60 vu16 LTR; /* Lower Threshold Register */
62 vu16 CRR; /* Compare Result Register */
64 vu16 DR0; /* Data Register for Channel 0 */
66 vu16 DR1; /* Data Register for Channel 1 */
68 vu16 DR2; /* Data Register for Channel 2 */
70 vu16 DR3; /* Data Register for Channel 3 */
72 vu16 DR4; /* Data Register for Channel 4 */
74 vu16 DR5; /* Data Register for Channel 5 */
76 vu16 DR6; /* Data Register for Channel 6 */
78 vu16 DR7; /* Data Register for Channel 7 */
80 vu16 PRS; /* Prescaler Value Register */
84 /*--------------------- AHB APB BRIDGE registers strcture --------------------*/
88 vu32 BSR; /* Bridge Status Register */
89 vu32 BCR; /* Bridge Configuration Register */
90 vu32 PAER; /* Peripheral Address Error register */
93 /*--------------- Controller Area Network Interface Register -----------------*/
97 vu16 CRR; /* IFn Command request Register */
99 vu16 CMR; /* IFn Command Mask Register */
101 vu16 M1R; /* IFn Message Mask 1 Register */
103 vu16 M2R; /* IFn Message Mask 2 Register */
105 vu16 A1R; /* IFn Message Arbitration 1 Register */
107 vu16 A2R; /* IFn Message Arbitration 2 Register */
109 vu16 MCR; /* IFn Message Control Register */
111 vu16 DA1R; /* IFn DATA A 1 Register */
113 vu16 DA2R; /* IFn DATA A 2 Register */
115 vu16 DB1R; /* IFn DATA B 1 Register */
117 vu16 DB2R; /* IFn DATA B 2 Register */
119 } CAN_MsgObj_TypeDef;
123 vu16 CR; /* Control Register */
125 vu16 SR; /* Status Register */
127 vu16 ERR; /* Error counter Register */
129 vu16 BTR; /* Bit Timing Register */
131 vu16 IDR; /* Interrupt Identifier Register */
133 vu16 TESTR; /* Test Register */
135 vu16 BRPR; /* BRP Extension Register */
137 CAN_MsgObj_TypeDef sMsgObj[2];
139 vu16 TXR1R; /* Transmission request 1 Register */
141 vu16 TXR2R; /* Transmission Request 2 Register */
143 vu16 ND1R; /* New Data 1 Register */
145 vu16 ND2R; /* New Data 2 Register */
147 vu16 IP1R; /* Interrupt Pending 1 Register */
149 vu16 IP2R; /* Interrupt Pending 2 Register */
151 vu16 MV1R; /* Message Valid 1 Register */
153 vu16 MV2R; /* Message VAlid 2 Register */
157 /*----------------------- System Control Unit---------------------------------*/
161 vu32 CLKCNTR; /* Clock Control Register */
162 vu32 PLLCONF; /* PLL Configuration Register */
163 vu32 SYSSTATUS; /* System Status Register */
164 vu32 PWRMNG; /* Power Management Register */
165 vu32 ITCMSK; /* Interrupt Mask Register */
166 vu32 PCGRO; /* Peripheral Clock Gating Register 0 */
167 vu32 PCGR1; /* Peripheral Clock Gating Register 1 */
168 vu32 PRR0; /* Peripheral Reset Register 0 */
169 vu32 PRR1; /* Peripheral Reset Register 1 */
170 vu32 MGR0; /* Idle Mode Mask Gating Register 0 */
171 vu32 MGR1; /* Idle Mode Mask Gating Register 1 */
172 vu32 PECGR0; /* Peripheral Emulation Clock Gating Register 0 */
173 vu32 PECGR1; /* Peripheral Emulation Clock Gating Register 1 */
174 vu32 SCR0; /* System Configuration Register 0 */
175 vu32 SCR1; /* System Configuration Register 1 */
176 vu32 SCR2; /* System Configuration Register 2 */
178 vu32 GPIOOUT[8]; /* GPIO Output Registers */
179 vu32 GPIOIN[8]; /* GPIO Input Registers */
180 vu32 GPIOTYPE[10]; /* GPIO Type Registers */
181 vu32 GPIOEMI; /* GPIO EMI Selector Register */
182 vu32 WKUPSEL; /* Wake-Up Selection Register */
184 vu32 GPIOANA; /* GPIO Analag mode Register */
187 /*------------------------- DMA Channelx Registers ---------------------------*/
191 vu32 SRC; /* Channelx Source Address Register */
192 vu32 DES; /* Channelx Destination Address Register */
193 vu32 LLI; /* Channelx Lincked List Item Register */
194 vu32 CC; /* Channelx Contol Register */
195 vu32 CCNF; /* Channelx Configuration Register */
196 } DMA_Channel_TypeDef;
198 /* x can be ,0,1,2,3,4,5,6 or 7. There are eight Channels AHB BUS Master */
200 /*----------------------------- DMA Controller -------------------------------*/
204 vu32 ISR; /* Interrupt Status Register */
205 vu32 TCISR; /* Terminal Count Interrupt Status Register */
206 vu32 TCICR; /* Terminal CountInterrupt Clear Register */
207 vu32 EISR; /* Error Interrupt Status Register */
208 vu32 EICR; /* Error Interrupt Clear Register */
209 vu32 TCRISR; /* Terminal Count Raw Interrupt Status Register */
210 vu32 ERISR; /* Raw Error Interrupt Status Register */
211 vu32 ENCSR; /* Enabled Channel Status Register */
212 vu32 SBRR; /* Software Burst Request Register */
213 vu32 SSRR; /* Software Single Request Register */
214 vu32 SLBRR; /* Software Last Burst Request Register */
215 vu32 SLSRR; /* Software Last Single Request Register */
216 vu32 CNFR; /* Configuration Register */
217 vu32 SYNR; /* Syncronization Register */
220 /*--------------------------------- TIM Timer --------------------------------*/
224 vu16 IC1R; /* Input Capture 1 Register */
226 vu16 IC2R; /* Input Capture 2 Register */
228 vu16 OC1R; /* Output Compare 1 Register */
230 vu16 OC2R; /* Output Compare 2 Register */
232 vu16 CNTR; /* Counter Register */
234 vu16 CR1; /* Control Register 1 */
236 vu16 CR2; /* Control Register 2 */
238 vu16 SR; /* Status Register */
242 /*---------------------------- EMI Bankx Registers ---------------------------*/
246 vu32 ICR; /* Bankx Idle Cycle Control Register */
247 vu32 RCR; /* Bankx Read Wait State Control Register */
248 vu32 WCR; /* Bankx Write Wait State Control Register */
249 vu32 OECR; /* Bankx Output Enable Assertion Delay Control Register */
250 vu32 WECR; /* Bankx Write Enable Assertion Delay Control Register */
251 vu32 BCR; /* Bankx Control Register */
254 /*---------------------------- Ethernet Controller ---------------------------*/
259 vu32 MCR; /* ENET Control Register */
260 vu32 MAH; /* ENET Address High Register */
261 vu32 MAL; /* ENET Address Low Register */
262 vu32 MCHA; /* Multicast Address High Register */
263 vu32 MCLA; /* Multicast Address Low Register */
264 vu32 MIIA; /* MII Address Register */
265 vu32 MIID; /* MII Data Register */
266 vu32 MCF; /* ENET Control Frame Register */
267 vu32 VL1; /* VLAN1 Register */
268 vu32 VL2; /* VLAN2 register */
269 vu32 MTS; /* ENET Transmission Status Register */
270 vu32 MRS; /* ENET Reception Status Register */
276 vu32 SCR; /* DMA Status and Control Register */
277 vu32 IER; /* DMA Interrupt Sources Enable Register */
278 vu32 ISR; /* DMA Interrupt Status Register */
279 vu32 CCR; /* Clock Control Relation : HCLK, PCLK and
280 ENET_CLK phase relations */
281 vu32 RXSTR; /* Rx DMA start Register */
282 vu32 RXCR; /* Rx DMA Control Register */
283 vu32 RXSAR; /* Rx DMA Base Address Register */
284 vu32 RXNDAR; /* Rx DMA Next Descriptor Address Register */
285 vu32 RXCAR; /* Rx DMA Current Address Register */
286 vu32 RXCTCR; /* Rx DMA Current Transfer Count Register */
287 vu32 RXTOR; /* Rx DMA FIFO Time Out Register */
288 vu32 RXSR; /* Rx DMA FIFO Status Register */
289 vu32 TXSTR; /* Tx DMA start Register */
290 vu32 TXCR; /* Tx DMA Control Register */
291 vu32 TXSAR; /* Tx DMA Base Address Register */
292 vu32 TXNDAR; /* Tx DMA Next Descriptor Address Register */
293 vu32 TXCAR; /* Tx DMA Current Address Register */
294 vu32 TXTCR; /* Tx DMA Current Transfer Count Register */
295 vu32 TXTOR; /* Tx DMA FIFO Time Out Register */
296 vu32 TXSR; /* Tx DMA FIFO Status Register */
299 /*------------------------------------- GPIO ---------------------------------*/
303 vu8 DR[1021]; /* Data Register */
304 vu32 DDR; /* Data Direction Register */
307 /*-------------------------------- I2C interface -----------------------------*/
311 vu8 CR; /* Control Register */
313 vu8 SR1; /* Status Register 1 */
315 vu8 SR2; /* Status Register 2 */
317 vu8 CCR; /* Clock Control Register */
319 vu8 OAR1; /* Own Address Register 1 */
321 vu8 OAR2; /* Own Address Register 2 */
323 vu8 DR; /* Data Register */
325 vu8 ECCR; /* Extended Clock Control Register */
329 /*------------------------------------- VIC ----------------------------------*/
333 vu32 ISR; /* IRQ Status Register */
334 vu32 FSR; /* FIQ Status Register */
335 vu32 RINTSR; /* Raw Interrupt Status Register */
336 vu32 INTSR; /* Interrupt Select Register */
337 vu32 INTER; /* Interrupt Enable Register */
338 vu32 INTECR; /* Interrupt Enable Clear Register */
339 vu32 SWINTR; /* Software Interrupt Register */
340 vu32 SWINTCR; /* Software Interrupt clear Register */
341 vu32 PER; /* Protection Enable Register */
343 vu32 VAR; /* Vector Address Register */
344 vu32 DVAR; /* Default Vector Address Register */
346 vu32 VAiR[16]; /* Vector Address 0-15 Register */
348 vu32 VCiR[16]; /* Vector Control 0-15 Register */
351 /*-------------------------------- Motor Control -----------------------------*/
355 vu16 TCPT; /* Tacho Capture Register */
357 vu16 TCMP; /* Tacho Compare Register */
359 vu16 IPR; /* Input Pending Register */
361 vu16 TPRS; /* Tacho Prescaler Register */
363 vu16 CPRS; /* PWM Counter Prescaler Register */
365 vu16 REP; /* Repetition Counter Register */
367 vu16 CMPW; /* Compare Phase W Preload Register */
369 vu16 CMPV; /* Compare Phase V Preload Register */
371 vu16 CMPU; /* Compare Phase U Preload Register */
373 vu16 CMP0; /* Compare 0 Preload Register */
375 vu16 PCR0; /* Peripheral Control Register 0 */
377 vu16 PCR1; /* Peripheral Control Register 1 */
379 vu16 PCR2; /* Peripheral Control Register 2 */
381 vu16 PSR; /* Polarity Selection Register */
383 vu16 OPR; /* Output Peripheral Register */
385 vu16 IMR; /* Interrupt Mask Register */
387 vu16 DTG; /* Dead Time Generator Register */
389 vu16 ESC; /* Emergency Stop Clear Register */
393 /*------------------------------------- RTC ----------------------------------*/
397 vu32 TR; /* Time Register */
398 vu32 DTR; /* Date Register */
399 vu32 ATR; /* Alarm time Register */
400 vu32 CR; /* Control Register */
401 vu32 SR; /* Status Register */
402 vu32 MILR; /* Millisec Register */
405 /*------------------------------------- SSP ----------------------------------*/
409 vu16 CR0; /* Control Register 1 */
411 vu16 CR1; /* Control Register 2 */
413 vu16 DR; /* Data Register */
415 vu16 SR; /* Status Register */
417 vu16 PR; /* Clock Prescale Register */
419 vu16 IMSCR; /* Interrupt Mask Set or Clear Register */
421 vu16 RISR; /* Raw Interrupt Status Register */
423 vu16 MISR; /* Masked Interrupt Status Register */
425 vu16 ICR; /* Interrupt Clear Register */
427 vu16 DMACR; /* DMA Control Register */
431 /*------------------------------------ UART ----------------------------------*/
435 vu16 DR; /* Data Register */
437 vu16 RSECR; /* Receive Status Register (read)/Error Clear Register (write) */
439 vu16 FR; /* Flag Register */
441 vu16 ILPR; /* IrDA Low-Power counter Register */
443 vu16 IBRD; /* Integer Baud Rate Divisor Register */
445 vu16 FBRD; /* Fractional Baud Rate Divisor Register */
447 vu16 LCR; /* Line Control Register, High byte */
449 vu16 CR; /* Control Register */
451 vu16 IFLS; /* Interrupt FIFO Level Select Register */
453 vu16 IMSC; /* Interrupt Mask Set/Clear Register */
455 vu16 RIS; /* Raw Interrupt Status Register */
457 vu16 MIS; /* Masked Interrupt Status Register */
459 vu16 ICR; /* Interrupt Clear Register */
461 vu16 DMACR; /* DMA Control Register */
465 /*------------------------------- Wake-up System -----------------------------*/
469 vu32 CTRL; /* Control Register */
470 vu32 MR; /* Mask Register */
471 vu32 TR; /* Trigger Register */
472 vu32 PR; /* Pending Register */
473 vu32 INTR; /* Software Interrupt Register */
476 /*------------------------------- WatchDog Timer -----------------------------*/
480 vu16 CR; /* Control Register */
482 vu16 PR; /* Presclar Register */
484 vu16 VR; /* Pre-load Value Register */
486 vu16 CNT; /* Counter Register */
488 vu16 SR; /* Status Register */
490 vu16 MR; /* Mask Register */
492 vu16 KR; /* Key Register */
496 /*******************************************************************************
497 * Memory Mapping of STR91x *
498 *******************************************************************************/
500 #define AHB_APB_BRDG0_U (0x58000000) /* AHB/APB Bridge 0 UnBuffered Space */
501 #define AHB_APB_BRDG0_B (0x48000000) /* AHB/APB Bridge 0 Buffered Space */
503 #define AHB_APB_BRDG1_U (0x5C000000) /* AHB/APB Bridge 1 UnBuffered Space */
504 #define AHB_APB_BRDG1_B (0x4C000000) /* AHB/APB Bridge 1 Buffered Space */
506 #define AHB_EMI_U (0x74000000) /* EMI UnBuffered Space */
507 #define AHB_EMI_B (0x64000000) /* EMI Buffered Space */
509 #define AHB_DMA_U (0x78000000) /* DMA UnBuffered Space */
510 #define AHB_DMA_B (0x68000000) /* DMA Buffered Space */
512 #define AHB_ENET_MAC_U (0x7C000400) /* ENET_MAC UnBuffered Space */
513 #define AHB_ENET_MAC_B (0x6C000400) /* ENET_MAC Buffered Space */
515 #define AHB_ENET_DMA_U (0x7C000000) /* ENET_DMA Unbuffered Space */
516 #define AHB_ENET_DMA_B (0x6C000000) /* ENET_DMA Buffered Space */
518 #define AHB_VIC1_U (0xFC000000) /* Secondary VIC1 UnBuffered Space */
519 #define AHB_VIC0_U (0xFFFFF000) /* Primary VIC0 UnBuffered Space */
521 #define AHB_FMI_U (0x54000000) /* FMI Unbuffered Space */
522 #define AHB_FMI_B (0x44000000) /* FMI buffered Space */
524 /*******************************************************************************
525 * Addresses related to the VICs' peripherals *
526 *******************************************************************************/
528 #define VIC0_BASE (AHB_VIC0_U)
529 #define VIC1_BASE (AHB_VIC1_U)
531 /*******************************************************************************
532 * Addresses related to the EMI banks *
533 *******************************************************************************/
535 #define AHB_EMIB3_OFST (0x00000040) /* Offset of EMI bank3 */
536 #define AHB_EMIB2_OFST (0x00000020) /* Offset of EMI bank2 */
537 #define AHB_EMIB1_OFST (0x00000000) /* Offset of EMI bank1 */
538 #define AHB_EMIB0_OFST (0x000000E0) /* Offset of EMI bank0 */
540 /*******************************************************************************
541 * Addresses related to the DMA peripheral *
542 *******************************************************************************/
544 #define AHB_DMA_Channel0_OFST (0x00000100) /* Offset of Channel 0 */
545 #define AHB_DMA_Channel1_OFST (0x00000120) /* Offset of Channel 1 */
546 #define AHB_DMA_Channel2_OFST (0x00000140) /* Offset of Channel 2 */
547 #define AHB_DMA_Channel3_OFST (0x00000160) /* Offset of Channel 3 */
548 #define AHB_DMA_Channel4_OFST (0x00000180) /* Offset of Channel 4 */
549 #define AHB_DMA_Channel5_OFST (0x000001A0) /* Offset of Channel 5 */
550 #define AHB_DMA_Channel6_OFST (0x000001C0) /* Offset of Channel 6 */
551 #define AHB_DMA_Channel7_OFST (0x000001E0) /* Offset of Channel 7 */
553 /*******************************************************************************
554 * Addresses related to the APB0 sub-system *
555 *******************************************************************************/
557 #define APB_WIU_OFST (0x00001000) /* Offset of WIU */
558 #define APB_TIM0_OFST (0x00002000) /* Offset of TIM0 */
559 #define APB_TIM1_OFST (0x00003000) /* Offset of TIM1 */
560 #define APB_TIM2_OFST (0x00004000) /* Offset of TIM2 */
561 #define APB_TIM3_OFST (0x00005000) /* Offset of TIM3 */
562 #define APB_GPIO0_OFST (0x00006000) /* Offset of GPIO0 */
563 #define APB_GPIO1_OFST (0x00007000) /* Offset of GPIO1 */
564 #define APB_GPIO2_OFST (0x00008000) /* Offset of GPIO2 */
565 #define APB_GPIO3_OFST (0x00009000) /* Offset of GPIO3 */
566 #define APB_GPIO4_OFST (0x0000A000) /* Offset of GPIO4 */
567 #define APB_GPIO5_OFST (0x0000B000) /* Offset of GPIO5 */
568 #define APB_GPIO6_OFST (0x0000C000) /* Offset of GPIO6 */
569 #define APB_GPIO7_OFST (0x0000D000) /* Offset of GPIO7 */
570 #define APB_GPIO8_OFST (0x0000E000) /* Offset of GPIO8 */
571 #define APB_GPIO9_OFST (0x0000F000) /* Offset of GPIO9 */
573 /*******************************************************************************
574 * Addresses related to the APB1 sub-system *
575 *******************************************************************************/
577 #define APB_RTC_OFST (0x00001000) /* Offset of RTC */
578 #define APB_SCU_OFST (0x00002000) /* Offset of System Controller */
579 #define APB_MC_OFST (0x00003000) /* Offset of Motor Control */
580 #define APB_UART0_OFST (0x00004000) /* Offset of UART0 */
581 #define APB_UART1_OFST (0x00005000) /* Offset of UART1 */
582 #define APB_UART2_OFST (0x00006000) /* Offset of UART2 */
583 #define APB_SSP0_OFST (0x00007000) /* Offset of SSP0 */
584 #define APB_SSP1_OFST (0x00008000) /* Offset of SSPI */
585 #define APB_CAN_OFST (0x00009000) /* Offset of CAN */
586 #define APB_ADC_OFST (0x0000A000) /* Offset of ADC */
587 #define APB_WDG_OFST (0x0000B000) /* Offset of WDG */
588 #define APB_I2C0_OFST (0x0000C000) /* Offset of I2C0 */
589 #define APB_I2C1_OFST (0x0000D000) /* Offset of I2C1 */
591 /*----------------------------------------------------------------------------*/
592 /*----------------------------- Unbuffered Mode ------------------------------*/
593 /*----------------------------------------------------------------------------*/
597 /*******************************************************************************
598 * AHBAPB peripheral Unbuffered Base Address *
599 *******************************************************************************/
601 #define AHBAPB0_BASE (AHB_APB_BRDG0_U)
602 #define AHBAPB1_BASE (AHB_APB_BRDG1_U)
604 /*******************************************************************************
605 * ENET peripheral Unbuffered Base Address *
606 *******************************************************************************/
608 #define ENET_MAC_BASE (AHB_ENET_MAC_U)
609 #define ENET_DMA_BASE (AHB_ENET_DMA_U)
611 /*******************************************************************************
612 * DMA peripheral Unbuffered Base Address *
613 *******************************************************************************/
615 #define DMA_BASE (AHB_DMA_U)
617 /*******************************************************************************
618 * EMI peripheral Unbuffered Base Address *
619 *******************************************************************************/
621 #define EMI_BASE (AHB_EMI_U)
623 /*******************************************************************************
624 * FMI peripheral Unbuffered Base Address *
625 *******************************************************************************/
627 #define FMI_BASE (AHB_FMI_U)
632 /*----------------------------------------------------------------------------*/
633 /*------------------------------ Buffered Mode -------------------------------*/
634 /*----------------------------------------------------------------------------*/
636 /*******************************************************************************
637 * AHBAPB peripheral Buffered Base Address *
638 *******************************************************************************/
640 #define AHBAPB0_BASE (AHB_APB_BRDG0_B)
641 #define AHBAPB1_BASE (AHB_APB_BRDG1_B)
643 /*******************************************************************************
644 * ENET peripheral Unbuffered Base Address *
645 *******************************************************************************/
647 #define ENET_MAC_BASE (AHB_ENET_MAC_B)
648 #define ENET_DMA_BASE (AHB_ENET_DMA_B)
650 /*******************************************************************************
651 * DMA peripheral Buffered Base Address *
652 *******************************************************************************/
654 #define DMA_BASE (AHB_DMA_B)
656 /*******************************************************************************
657 * EMI peripheral Buffered Base Address *
658 *******************************************************************************/
660 #define EMI_BASE (AHB_EMI_B)
662 /*******************************************************************************
663 * FMI peripheral Buffered Base Address *
664 *******************************************************************************/
666 #define FMI_BASE (AHB_FMI_B)
668 #endif /* Buffered */
670 /*******************************************************************************
671 * DMA channels Base Address *
672 *******************************************************************************/
673 #define DMA_Channel0_BASE (DMA_BASE + AHB_DMA_Channel0_OFST)
674 #define DMA_Channel1_BASE (DMA_BASE + AHB_DMA_Channel1_OFST)
675 #define DMA_Channel2_BASE (DMA_BASE + AHB_DMA_Channel2_OFST)
676 #define DMA_Channel3_BASE (DMA_BASE + AHB_DMA_Channel3_OFST)
677 #define DMA_Channel4_BASE (DMA_BASE + AHB_DMA_Channel4_OFST)
678 #define DMA_Channel5_BASE (DMA_BASE + AHB_DMA_Channel5_OFST)
679 #define DMA_Channel6_BASE (DMA_BASE + AHB_DMA_Channel6_OFST)
680 #define DMA_Channel7_BASE (DMA_BASE + AHB_DMA_Channel7_OFST)
682 /*******************************************************************************
683 * EMI Banks peripheral Base Address *
684 *******************************************************************************/
686 #define EMI_Bank0_BASE (EMI_BASE + AHB_EMIB0_OFST)
687 #define EMI_Bank1_BASE (EMI_BASE + AHB_EMIB1_OFST)
688 #define EMI_Bank2_BASE (EMI_BASE + AHB_EMIB2_OFST)
689 #define EMI_Bank3_BASE (EMI_BASE + AHB_EMIB3_OFST)
691 /*******************************************************************************
692 * APB0 Peripherals' Base addresses *
693 *******************************************************************************/
695 #define WIU_BASE (AHBAPB0_BASE + APB_WIU_OFST)
696 #define TIM0_BASE (AHBAPB0_BASE + APB_TIM0_OFST)
697 #define TIM1_BASE (AHBAPB0_BASE + APB_TIM1_OFST)
698 #define TIM2_BASE (AHBAPB0_BASE + APB_TIM2_OFST)
699 #define TIM3_BASE (AHBAPB0_BASE + APB_TIM3_OFST)
700 #define GPIO0_BASE (AHBAPB0_BASE + APB_GPIO0_OFST)
701 #define GPIO1_BASE (AHBAPB0_BASE + APB_GPIO1_OFST)
702 #define GPIO2_BASE (AHBAPB0_BASE + APB_GPIO2_OFST)
703 #define GPIO3_BASE (AHBAPB0_BASE + APB_GPIO3_OFST)
704 #define GPIO4_BASE (AHBAPB0_BASE + APB_GPIO4_OFST)
705 #define GPIO5_BASE (AHBAPB0_BASE + APB_GPIO5_OFST)
706 #define GPIO6_BASE (AHBAPB0_BASE + APB_GPIO6_OFST)
707 #define GPIO7_BASE (AHBAPB0_BASE + APB_GPIO7_OFST)
708 #define GPIO8_BASE (AHBAPB0_BASE + APB_GPIO8_OFST)
709 #define GPIO9_BASE (AHBAPB0_BASE + APB_GPIO9_OFST)
711 /*******************************************************************************
712 * APB1 Peripherals' Base addresses *
713 *******************************************************************************/
715 #define RTC_BASE (AHBAPB1_BASE + APB_RTC_OFST)
716 #define SCU_BASE (AHBAPB1_BASE + APB_SCU_OFST)
717 #define MC_BASE (AHBAPB1_BASE + APB_MC_OFST)
718 #define UART0_BASE (AHBAPB1_BASE + APB_UART0_OFST)
719 #define UART1_BASE (AHBAPB1_BASE + APB_UART1_OFST)
720 #define UART2_BASE (AHBAPB1_BASE + APB_UART2_OFST)
721 #define SSP0_BASE (AHBAPB1_BASE + APB_SSP0_OFST)
722 #define SSP1_BASE (AHBAPB1_BASE + APB_SSP1_OFST)
723 #define CAN_BASE (AHBAPB1_BASE + APB_CAN_OFST)
724 #define ADC_BASE (AHBAPB1_BASE + APB_ADC_OFST)
725 #define WDG_BASE (AHBAPB1_BASE + APB_WDG_OFST)
726 #define I2C0_BASE (AHBAPB1_BASE + APB_I2C0_OFST)
727 #define I2C1_BASE (AHBAPB1_BASE + APB_I2C1_OFST)
729 /*******************************************************************************
731 *******************************************************************************/
733 /*------------------------------ Non Debug Mode ------------------------------*/
737 /*********************************** AHBAPB ***********************************/
739 #define AHBAPB0 ((AHBAPB_TypeDef *)AHBAPB0_BASE)
740 #define AHBAPB1 ((AHBAPB_TypeDef *)AHBAPB1_BASE)
742 /************************************* EMI ************************************/
744 #define EMI ((EMI_TypeDef *)EMI_BASE)
746 /************************************* DMA ************************************/
748 #define DMA ((DMA_TypeDef *)DMA_BASE)
749 #define DMA_Channel0 ((DMA_Channel_TypeDef *)DMA_Channel0_BASE)
750 #define DMA_Channel1 ((DMA_Channel_TypeDef *)DMA_Channel1_BASE)
751 #define DMA_Channel2 ((DMA_Channel_TypeDef *)DMA_Channel2_BASE)
752 #define DMA_Channel3 ((DMA_Channel_TypeDef *)DMA_Channel3_BASE)
753 #define DMA_Channel4 ((DMA_Channel_TypeDef *)DMA_Channel4_BASE)
754 #define DMA_Channel5 ((DMA_Channel_TypeDef *)DMA_Channel5_BASE)
755 #define DMA_Channel6 ((DMA_Channel_TypeDef *)DMA_Channel6_BASE)
756 #define DMA_Channel7 ((DMA_Channel_TypeDef *)DMA_Channel7_BASE)
758 /************************************* EMI ************************************/
760 #define EMI_Bank0 ((EMI_Bank_TypeDef *)EMI_Bank0_BASE)
761 #define EMI_Bank1 ((EMI_Bank_TypeDef *)EMI_Bank1_BASE)
762 #define EMI_Bank2 ((EMI_Bank_TypeDef *)EMI_Bank2_BASE)
763 #define EMI_Bank3 ((EMI_Bank_TypeDef *)EMI_Bank3_BASE)
765 /************************************* ENET_MAC ************************************/
767 #define ENET_MAC ((ENET_MAC_TypeDef *)ENET_MAC_BASE)
769 /************************************* ENET_DMA ************************************/
771 #define ENET_DMA ((ENET_DMA_TypeDef *)ENET_DMA_BASE)
773 /************************************* FMI ************************************/
775 #define FMI ((FMI_TypeDef *)FMI_BASE)
777 /************************************* VIC ************************************/
779 #define VIC0 ((VIC_TypeDef *)VIC0_BASE)
780 #define VIC1 ((VIC_TypeDef *)VIC1_BASE)
782 /*******************************************************************************
783 * APB0 Peripherals' *
784 *******************************************************************************/
785 #define WIU ((WIU_TypeDef *)WIU_BASE)
786 #define TIM0 ((TIM_TypeDef *)TIM0_BASE)
787 #define TIM1 ((TIM_TypeDef *)TIM1_BASE)
788 #define TIM2 ((TIM_TypeDef *)TIM2_BASE)
789 #define TIM3 ((TIM_TypeDef *)TIM3_BASE)
790 #define GPIO0 ((GPIO_TypeDef *)GPIO0_BASE)
791 #define GPIO1 ((GPIO_TypeDef *)GPIO1_BASE)
792 #define GPIO2 ((GPIO_TypeDef *)GPIO2_BASE)
793 #define GPIO3 ((GPIO_TypeDef *)GPIO3_BASE)
794 #define GPIO4 ((GPIO_TypeDef *)GPIO4_BASE)
795 #define GPIO5 ((GPIO_TypeDef *)GPIO5_BASE)
796 #define GPIO6 ((GPIO_TypeDef *)GPIO6_BASE)
797 #define GPIO7 ((GPIO_TypeDef *)GPIO7_BASE)
798 #define GPIO8 ((GPIO_TypeDef *)GPIO8_BASE)
799 #define GPIO9 ((GPIO_TypeDef *)GPIO9_BASE)
800 /*******************************************************************************
801 * APB1 Peripherals' *
802 *******************************************************************************/
803 #define RTC ((RTC_TypeDef *)RTC_BASE)
804 #define SCU ((SCU_TypeDef *)SCU_BASE)
805 #define MC ((MC_TypeDef *)MC_BASE)
806 #define UART0 ((UART_TypeDef *)UART0_BASE)
807 #define UART1 ((UART_TypeDef *)UART1_BASE)
808 #define UART2 ((UART_TypeDef *)UART2_BASE)
809 #define SSP0 ((SSP_TypeDef *)SSP0_BASE)
810 #define SSP1 ((SSP_TypeDef *)SSP1_BASE)
811 #define CAN ((CAN_TypeDef *)CAN_BASE)
812 #define ADC ((ADC_TypeDef *)ADC_BASE)
813 #define WDG ((WDG_TypeDef *)WDG_BASE)
814 #define I2C0 ((I2C_TypeDef *)I2C0_BASE)
815 #define I2C1 ((I2C_TypeDef *)I2C1_BASE)
816 #define ENET_MAC ((ENET_MAC_TypeDef *)ENET_MAC_BASE)
817 #define ENET_DMA ((ENET_DMA_TypeDef *)ENET_DMA_BASE)
821 /*-------------------------------- Debug Mode --------------------------------*/
823 EXT AHBAPB_TypeDef *AHBAPB0;
824 EXT AHBAPB_TypeDef *AHBAPB1;
825 EXT DMA_TypeDef *DMA;
826 EXT DMA_Channel_TypeDef *DMA_Channel0;
827 EXT DMA_Channel_TypeDef *DMA_Channel1;
828 EXT DMA_Channel_TypeDef *DMA_Channel2;
829 EXT DMA_Channel_TypeDef *DMA_Channel3;
830 EXT DMA_Channel_TypeDef *DMA_Channel4;
831 EXT DMA_Channel_TypeDef *DMA_Channel5;
832 EXT DMA_Channel_TypeDef *DMA_Channel6;
833 EXT DMA_Channel_TypeDef *DMA_Channel7;
834 EXT EMI_Bank_TypeDef *EMI_Bank0;
835 EXT EMI_Bank_TypeDef *EMI_Bank1;
836 EXT EMI_Bank_TypeDef *EMI_Bank2;
837 EXT EMI_Bank_TypeDef *EMI_Bank3;
838 EXT FMI_TypeDef *FMI;
839 EXT VIC_TypeDef *VIC0;
840 EXT VIC_TypeDef *VIC1;
841 EXT WIU_TypeDef *WIU;
842 EXT TIM_TypeDef *TIM0;
843 EXT TIM_TypeDef *TIM1;
844 EXT TIM_TypeDef *TIM2;
845 EXT TIM_TypeDef *TIM3;
846 EXT GPIO_TypeDef *GPIO0;
847 EXT GPIO_TypeDef *GPIO1;
848 EXT GPIO_TypeDef *GPIO2;
849 EXT GPIO_TypeDef *GPIO3;
850 EXT GPIO_TypeDef *GPIO4;
851 EXT GPIO_TypeDef *GPIO5;
852 EXT GPIO_TypeDef *GPIO6;
853 EXT GPIO_TypeDef *GPIO7;
854 EXT GPIO_TypeDef *GPIO8;
855 EXT GPIO_TypeDef *GPIO9;
856 EXT RTC_TypeDef *RTC;
857 EXT SCU_TypeDef *SCU;
859 EXT UART_TypeDef *UART0;
860 EXT UART_TypeDef *UART1;
861 EXT UART_TypeDef *UART2;
862 EXT SSP_TypeDef *SSP0;
863 EXT SSP_TypeDef *SSP1;
864 EXT CAN_TypeDef *CAN;
865 EXT ADC_TypeDef *ADC;
866 EXT WDG_TypeDef *WDG;
867 EXT I2C_TypeDef *I2C0;
868 EXT I2C_TypeDef *I2C1;
869 EXT ENET_MAC_TypeDef *ENET_MAC;
870 EXT ENET_DMA_TypeDef *ENET_DMA;
875 #endif /* __91x_MAP_H*/
877 /******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/