1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation; either version 2 of the License, or
5  * (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software
14  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
15  *
16  *
17  * Copyright (C) 2002 Shane Nay (shane@minirl.com)
18  *
19  */
20 
21 /**************************************************************************
22  * * Copyright � ARM Limited 1998.  All rights reserved.
23  * ***********************************************************************/
24 /* ************************************************************************
25  *
26  *   MX1 address map
27  *
28  * ***********************************************************************/
29 
30 
31 /* ========================================================================
32  *  MX1 definitions
33  * ========================================================================
34  * ------------------------------------------------------------------------
35  *  Memory definitions
36  * ------------------------------------------------------------------------
37  *  MX1 memory map
38  */
39 
40 
41 #ifndef __MX1ADS_PLATFORM_H__
42 #define __MX1ADS_PLATFORM_H__
43 
44 
45 #define MX1ADS_SRAM_BASE           0x00300000
46 #define MX1ADS_SRAM_SIZE           SZ_128K
47 
48 #define MX1ADS_SFLASH_BASE         0x0C000000
49 #define MX1ADS_SFLASH_SIZE         SZ_16M
50 
51 #define MX1ADS_IO_BASE             0x00200000
52 #define MX1ADS_IO_SIZE             SZ_256K
53 
54 #define MX1ADS_VID_BASE            0x00300000
55 #define MX1ADS_VID_SIZE            0x26000
56 
57 #define MX1ADS_VID_START           IO_ADDRESS(MX1ADS_VID_BASE)
58 
59 
60 /* ------------------------------------------------------------------------
61  *  Motorola MX1 system registers
62  * ------------------------------------------------------------------------
63  *
64  */
65 
66 /*
67  *  Register offests.
68  *
69  */
70 
71 #define MX1ADS_AIPI1_OFFSET             0x00000
72 #define MX1ADS_WDT_OFFSET               0x01000
73 #define MX1ADS_TIM1_OFFSET              0x02000
74 #define MX1ADS_TIM2_OFFSET              0x03000
75 #define MX1ADS_RTC_OFFSET               0x04000
76 #define MX1ADS_LCDC_OFFSET              0x05000
77 #define MX1ADS_UART1_OFFSET             0x06000
78 #define MX1ADS_UART2_OFFSET             0x07000
79 #define MX1ADS_PWM_OFFSET               0x08000
80 #define MX1ADS_DMAC_OFFSET              0x09000
81 #define MX1ADS_AIPI2_OFFSET             0x10000
82 #define MX1ADS_SIM_OFFSET               0x11000
83 #define MX1ADS_USBD_OFFSET              0x12000
84 #define MX1ADS_SPI1_OFFSET              0x13000
85 #define MX1ADS_MMC_OFFSET               0x14000
86 #define MX1ADS_ASP_OFFSET               0x15000
87 #define MX1ADS_BTA_OFFSET               0x16000
88 #define MX1ADS_I2C_OFFSET               0x17000
89 #define MX1ADS_SSI_OFFSET               0x18000
90 #define MX1ADS_SPI2_OFFSET              0x19000
91 #define MX1ADS_MSHC_OFFSET              0x1A000
92 #define MX1ADS_PLL_OFFSET               0x1B000
93 #define MX1ADS_GPIO_OFFSET              0x1C000
94 #define MX1ADS_EIM_OFFSET               0x20000
95 #define MX1ADS_SDRAMC_OFFSET            0x21000
96 #define MX1ADS_MMA_OFFSET               0x22000
97 #define MX1ADS_AITC_OFFSET              0x23000
98 #define MX1ADS_CSI_OFFSET               0x24000
99 
100 
101 /*
102  *  Register BASEs, based on OFFSETs
103  *
104  */
105 
106 #define MX1ADS_AIPI1_BASE             (MX1ADS_AIPI1_OFFSET + MX1ADS_IO_BASE)
107 #define MX1ADS_WDT_BASE               (MX1ADS_WDT_OFFSET + MX1ADS_IO_BASE)
108 #define MX1ADS_TIM1_BASE              (MX1ADS_TIM1_OFFSET + MX1ADS_IO_BASE)
109 #define MX1ADS_TIM2_BASE              (MX1ADS_TIM2_OFFSET + MX1ADS_IO_BASE)
110 #define MX1ADS_RTC_BASE               (MX1ADS_RTC_OFFSET + MX1ADS_IO_BASE)
111 #define MX1ADS_LCDC_BASE              (MX1ADS_LCDC_OFFSET + MX1ADS_IO_BASE)
112 #define MX1ADS_UART1_BASE             (MX1ADS_UART1_OFFSET + MX1ADS_IO_BASE)
113 #define MX1ADS_UART2_BASE             (MX1ADS_UART2_OFFSET + MX1ADS_IO_BASE)
114 #define MX1ADS_PWM_BASE               (MX1ADS_PWM_OFFSET + MX1ADS_IO_BASE)
115 #define MX1ADS_DMAC_BASE              (MX1ADS_DMAC_OFFSET + MX1ADS_IO_BASE)
116 #define MX1ADS_AIPI2_BASE             (MX1ADS_AIPI2_OFFSET + MX1ADS_IO_BASE)
117 #define MX1ADS_SIM_BASE               (MX1ADS_SIM_OFFSET + MX1ADS_IO_BASE)
118 #define MX1ADS_USBD_BASE              (MX1ADS_USBD_OFFSET + MX1ADS_IO_BASE)
119 #define MX1ADS_SPI1_BASE              (MX1ADS_SPI1_OFFSET + MX1ADS_IO_BASE)
120 #define MX1ADS_MMC_BASE               (MX1ADS_MMC_OFFSET + MX1ADS_IO_BASE)
121 #define MX1ADS_ASP_BASE               (MX1ADS_ASP_OFFSET + MX1ADS_IO_BASE)
122 #define MX1ADS_BTA_BASE               (MX1ADS_BTA_OFFSET + MX1ADS_IO_BASE)
123 #define MX1ADS_I2C_BASE               (MX1ADS_I2C_OFFSET + MX1ADS_IO_BASE)
124 #define MX1ADS_SSI_BASE               (MX1ADS_SSI_OFFSET + MX1ADS_IO_BASE)
125 #define MX1ADS_SPI2_BASE              (MX1ADS_SPI2_OFFSET + MX1ADS_IO_BASE)
126 #define MX1ADS_MSHC_BASE              (MX1ADS_MSHC_OFFSET + MX1ADS_IO_BASE)
127 #define MX1ADS_PLL_BASE               (MX1ADS_PLL_OFFSET + MX1ADS_IO_BASE)
128 #define MX1ADS_GPIO_BASE              (MX1ADS_GPIO_OFFSET + MX1ADS_IO_BASE)
129 #define MX1ADS_EIM_BASE               (MX1ADS_EIM_OFFSET + MX1ADS_IO_BASE)
130 #define MX1ADS_SDRAMC_BASE            (MX1ADS_SDRAMC_OFFSET + MX1ADS_IO_BASE)
131 #define MX1ADS_MMA_BASE               (MX1ADS_MMA_OFFSET + MX1ADS_IO_BASE)
132 #define MX1ADS_AITC_BASE              (MX1ADS_AITC_OFFSET + MX1ADS_IO_BASE)
133 #define MX1ADS_CSI_BASE               (MX1ADS_CSI_OFFSET + MX1ADS_IO_BASE)
134 
135 
136 /*
137  *  MX1 Interrupt numbers
138  *
139  */
140 #define INT_SOFTINT                 0
141 #define CSI_INT                     6
142 #define DSPA_MAC_INT                7
143 #define DSPA_INT                    8
144 #define COMP_INT                    9
145 #define MSHC_XINT                   10
146 #define GPIO_INT_PORTA              11
147 #define GPIO_INT_PORTB              12
148 #define GPIO_INT_PORTC              13
149 #define LCDC_INT                    14
150 #define SIM_INT                     15
151 #define SIM_DATA_INT                16
152 #define RTC_INT                     17
153 #define RTC_SAMINT                  18
154 #define UART2_MINT_PFERR            19
155 #define UART2_MINT_RTS              20
156 #define UART2_MINT_DTR              21
157 #define UART2_MINT_UARTC            22
158 #define UART2_MINT_TX               23
159 #define UART2_MINT_RX               24
160 #define UART1_MINT_PFERR            25
161 #define UART1_MINT_RTS              26
162 #define UART1_MINT_DTR              27
163 #define UART1_MINT_UARTC            28
164 #define UART1_MINT_TX               29
165 #define UART1_MINT_RX               30
166 #define VOICE_DAC_INT               31
167 #define VOICE_ADC_INT               32
168 #define PEN_DATA_INT                33
169 #define PWM_INT                     34
170 #define SDHC_INT                    35
171 #define I2C_INT                     39
172 #define CSPI_INT                    41
173 #define SSI_TX_INT                  42
174 #define SSI_TX_ERR_INT              43
175 #define SSI_RX_INT                  44
176 #define SSI_RX_ERR_INT              45
177 #define TOUCH_INT                   46
178 #define USBD_INT0                   47
179 #define USBD_INT1                   48
180 #define USBD_INT2                   49
181 #define USBD_INT3                   50
182 #define USBD_INT4                   51
183 #define USBD_INT5                   52
184 #define USBD_INT6                   53
185 #define BTSYS_INT                   55
186 #define BTTIM_INT                   56
187 #define BTWUI_INT                   57
188 #define TIM2_INT                    58
189 #define TIM1_INT                    59
190 #define DMA_ERR                     60
191 #define DMA_INT                     61
192 #define GPIO_INT_PORTD              62
193 
194 
195 
196 
197 #define MAXIRQNUM                       62
198 #define MAXFIQNUM                       62
199 #define MAXSWINUM                       62
200 
201 
202 
203 
204 
205 #define TICKS_PER_uSEC                  24
206 
207 /*
208  *  These are useconds NOT ticks.
209  *
210  */
211 #define mSEC_1                          1000
212 #define mSEC_5                          (mSEC_1 * 5)
213 #define mSEC_10                         (mSEC_1 * 10)
214 #define mSEC_25                         (mSEC_1 * 25)
215 #define SEC_1                           (mSEC_1 * 1000)
216 
217 
218 
219 
220 /* 	END */
221 #endif
222