Merge tag 'ti-v2021.10-rc1' of https://source.denx.de/u-boot/custodians/u-boot-ti
[platform/kernel/u-boot.git] / arch / m68k / include / asm / immap.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * ColdFire Internal Memory Map and Defines
4  *
5  * Copyright 2004-2012 Freescale Semiconductor, Inc.
6  * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
7  */
8
9 #ifndef __IMMAP_H
10 #define __IMMAP_H
11
12 #if defined(CONFIG_MCF520x)
13 #include <asm/immap_520x.h>
14 #include <asm/m520x.h>
15
16 #define CONFIG_SYS_FEC0_IOBASE          (MMAP_FEC0)
17 #define CONFIG_SYS_UART_BASE            (MMAP_UART0 + (CONFIG_SYS_UART_PORT * 0x4000))
18
19 /* Timer */
20 #ifdef CONFIG_MCFTMR
21 #define CONFIG_SYS_UDELAY_BASE          (MMAP_DTMR0)
22 #define CONFIG_SYS_TMR_BASE             (MMAP_DTMR1)
23 #define CONFIG_SYS_TMRPND_REG           (((volatile int0_t *)(CONFIG_SYS_INTR_BASE))->iprh0)
24 #define CONFIG_SYS_TMRINTR_NO           (INT0_HI_DTMR1)
25 #define CONFIG_SYS_TMRINTR_MASK         (INTC_IPRH_INT33)
26 #define CONFIG_SYS_TMRINTR_PEND         (CONFIG_SYS_TMRINTR_MASK)
27 #define CONFIG_SYS_TMRINTR_PRI          (6)
28 #define CONFIG_SYS_TIMER_PRESCALER      (((gd->bus_clk / 1000000) - 1) << 8)
29 #endif
30
31 #define CONFIG_SYS_INTR_BASE            (MMAP_INTC0)
32 #define CONFIG_SYS_NUM_IRQS             (128)
33 #endif                          /* CONFIG_M520x */
34
35 #ifdef CONFIG_M5235
36 #include <asm/immap_5235.h>
37 #include <asm/m5235.h>
38
39 #define CONFIG_SYS_FEC0_IOBASE          (MMAP_FEC)
40 #define CONFIG_SYS_UART_BASE            (MMAP_UART0 + (CONFIG_SYS_UART_PORT * 0x40))
41
42 /* Timer */
43 #ifdef CONFIG_MCFTMR
44 #define CONFIG_SYS_UDELAY_BASE          (MMAP_DTMR0)
45 #define CONFIG_SYS_TMR_BASE             (MMAP_DTMR3)
46 #define CONFIG_SYS_TMRPND_REG           (((volatile int0_t *)(CONFIG_SYS_INTR_BASE))->iprl0)
47 #define CONFIG_SYS_TMRINTR_NO           (INT0_LO_DTMR3)
48 #define CONFIG_SYS_TMRINTR_MASK (INTC_IPRL_INT22)
49 #define CONFIG_SYS_TMRINTR_PEND (CONFIG_SYS_TMRINTR_MASK)
50 #define CONFIG_SYS_TMRINTR_PRI          (0x1E)          /* Level must include inorder to work */
51 #define CONFIG_SYS_TIMER_PRESCALER      (((gd->bus_clk / 1000000) - 1) << 8)
52 #endif
53
54 #define CONFIG_SYS_INTR_BASE            (MMAP_INTC0)
55 #define CONFIG_SYS_NUM_IRQS             (128)
56 #endif                          /* CONFIG_M5235 */
57
58 #ifdef CONFIG_M5249
59 #include <asm/immap_5249.h>
60 #include <asm/m5249.h>
61
62 #define CONFIG_SYS_UART_BASE            (MMAP_UART0 + (CONFIG_SYS_UART_PORT * 0x40))
63
64 #define CONFIG_SYS_INTR_BASE            (MMAP_INTC)
65 #define CONFIG_SYS_NUM_IRQS             (64)
66
67 /* Timer */
68 #ifdef CONFIG_MCFTMR
69 #define CONFIG_SYS_UDELAY_BASE          (MMAP_DTMR0)
70 #define CONFIG_SYS_TMR_BASE             (MMAP_DTMR1)
71 #define CONFIG_SYS_TMRPND_REG           (mbar_readLong(MCFSIM_IPR))
72 #define CONFIG_SYS_TMRINTR_NO           (31)
73 #define CONFIG_SYS_TMRINTR_MASK (0x00000400)
74 #define CONFIG_SYS_TMRINTR_PEND (CONFIG_SYS_TMRINTR_MASK)
75 #define CONFIG_SYS_TMRINTR_PRI          (MCFSIM_ICR_AUTOVEC | MCFSIM_ICR_LEVEL7 | MCFSIM_ICR_PRI3)
76 #define CONFIG_SYS_TIMER_PRESCALER      (((gd->bus_clk / 2000000) - 1) << 8)
77 #endif
78 #endif                          /* CONFIG_M5249 */
79
80 #ifdef CONFIG_M5253
81 #include <asm/immap_5253.h>
82 #include <asm/m5249.h>
83 #include <asm/m5253.h>
84
85 #define CONFIG_SYS_UART_BASE            (MMAP_UART0 + (CONFIG_SYS_UART_PORT * 0x40))
86
87 #define CONFIG_SYS_INTR_BASE            (MMAP_INTC)
88 #define CONFIG_SYS_NUM_IRQS             (64)
89
90 /* Timer */
91 #ifdef CONFIG_MCFTMR
92 #define CONFIG_SYS_UDELAY_BASE          (MMAP_DTMR0)
93 #define CONFIG_SYS_TMR_BASE             (MMAP_DTMR1)
94 #define CONFIG_SYS_TMRPND_REG           (mbar_readLong(MCFSIM_IPR))
95 #define CONFIG_SYS_TMRINTR_NO           (27)
96 #define CONFIG_SYS_TMRINTR_MASK (0x00000400)
97 #define CONFIG_SYS_TMRINTR_PEND (CONFIG_SYS_TMRINTR_MASK)
98 #define CONFIG_SYS_TMRINTR_PRI          (MCFSIM_ICR_AUTOVEC | MCFSIM_ICR_LEVEL3 | MCFSIM_ICR_PRI3)
99 #define CONFIG_SYS_TIMER_PRESCALER      (((gd->bus_clk / 2000000) - 1) << 8)
100 #endif
101 #endif                          /* CONFIG_M5253 */
102
103 #ifdef CONFIG_M5271
104 #include <asm/immap_5271.h>
105 #include <asm/m5271.h>
106
107 #define CONFIG_SYS_FEC0_IOBASE          (MMAP_FEC)
108 #define CONFIG_SYS_UART_BASE            (MMAP_UART0 + (CONFIG_SYS_UART_PORT * 0x40))
109
110 /* Timer */
111 #ifdef CONFIG_MCFTMR
112 #define CONFIG_SYS_UDELAY_BASE          (MMAP_DTMR0)
113 #define CONFIG_SYS_TMR_BASE             (MMAP_DTMR3)
114 #define CONFIG_SYS_TMRPND_REG           (((volatile int0_t *)(CONFIG_SYS_INTR_BASE))->iprl0)
115 #define CONFIG_SYS_TMRINTR_NO           (INT0_LO_DTMR3)
116 #define CONFIG_SYS_TMRINTR_MASK (INTC_IPRL_INT22)
117 #define CONFIG_SYS_TMRINTR_PEND (CONFIG_SYS_TMRINTR_MASK)
118 #define CONFIG_SYS_TMRINTR_PRI          (0x1E) /* Interrupt level 3, priority 6 */
119 #define CONFIG_SYS_TIMER_PRESCALER      (((gd->bus_clk / 1000000) - 1) << 8)
120 #endif
121
122 #define CONFIG_SYS_INTR_BASE            (MMAP_INTC0)
123 #define CONFIG_SYS_NUM_IRQS             (128)
124 #endif                          /* CONFIG_M5271 */
125
126 #ifdef CONFIG_M5272
127 #include <asm/immap_5272.h>
128 #include <asm/m5272.h>
129
130 #define CONFIG_SYS_FEC0_IOBASE          (MMAP_FEC)
131 #define CONFIG_SYS_UART_BASE            (MMAP_UART0 + (CONFIG_SYS_UART_PORT * 0x40))
132
133 #define CONFIG_SYS_INTR_BASE            (MMAP_INTC)
134 #define CONFIG_SYS_NUM_IRQS             (64)
135
136 /* Timer */
137 #ifdef CONFIG_MCFTMR
138 #define CONFIG_SYS_UDELAY_BASE          (MMAP_TMR0)
139 #define CONFIG_SYS_TMR_BASE             (MMAP_TMR3)
140 #define CONFIG_SYS_TMRPND_REG           (((volatile intctrl_t *)(CONFIG_SYS_INTR_BASE))->int_isr)
141 #define CONFIG_SYS_TMRINTR_NO           (INT_TMR3)
142 #define CONFIG_SYS_TMRINTR_MASK (INT_ISR_INT24)
143 #define CONFIG_SYS_TMRINTR_PEND (0)
144 #define CONFIG_SYS_TMRINTR_PRI          (INT_ICR1_TMR3PI | INT_ICR1_TMR3IPL(5))
145 #define CONFIG_SYS_TIMER_PRESCALER      (((gd->bus_clk / 1000000) - 1) << 8)
146 #endif
147 #endif                          /* CONFIG_M5272 */
148
149 #ifdef CONFIG_M5275
150 #include <asm/immap_5275.h>
151 #include <asm/m5275.h>
152
153 #define CONFIG_SYS_FEC0_IOBASE          (MMAP_FEC0)
154 #define CONFIG_SYS_FEC1_IOBASE          (MMAP_FEC1)
155 #define CONFIG_SYS_UART_BASE            (MMAP_UART0 + (CONFIG_SYS_UART_PORT * 0x40))
156
157 #define CONFIG_SYS_INTR_BASE            (MMAP_INTC0)
158 #define CONFIG_SYS_NUM_IRQS             (192)
159
160 /* Timer */
161 #ifdef CONFIG_MCFTMR
162 #define CONFIG_SYS_UDELAY_BASE          (MMAP_DTMR0)
163 #define CONFIG_SYS_TMR_BASE             (MMAP_DTMR3)
164 #define CONFIG_SYS_TMRPND_REG           (((volatile int0_t *)(CONFIG_SYS_INTR_BASE))->iprl0)
165 #define CONFIG_SYS_TMRINTR_NO           (INT0_LO_DTMR3)
166 #define CONFIG_SYS_TMRINTR_MASK (INTC_IPRL_INT22)
167 #define CONFIG_SYS_TMRINTR_PEND (CONFIG_SYS_TMRINTR_MASK)
168 #define CONFIG_SYS_TMRINTR_PRI          (0x1E)
169 #define CONFIG_SYS_TIMER_PRESCALER      (((gd->bus_clk / 1000000) - 1) << 8)
170 #endif
171 #endif                          /* CONFIG_M5275 */
172
173 #ifdef CONFIG_M5282
174 #include <asm/immap_5282.h>
175 #include <asm/m5282.h>
176
177 #define CONFIG_SYS_FEC0_IOBASE          (MMAP_FEC)
178 #define CONFIG_SYS_UART_BASE            (MMAP_UART0 + (CONFIG_SYS_UART_PORT * 0x40))
179
180 #define CONFIG_SYS_INTR_BASE            (MMAP_INTC0)
181 #define CONFIG_SYS_NUM_IRQS             (128)
182
183 /* Timer */
184 #ifdef CONFIG_MCFTMR
185 #define CONFIG_SYS_UDELAY_BASE          (MMAP_DTMR0)
186 #define CONFIG_SYS_TMR_BASE             (MMAP_DTMR3)
187 #define CONFIG_SYS_TMRPND_REG           (((volatile int0_t *)(CONFIG_SYS_INTR_BASE))->iprl0)
188 #define CONFIG_SYS_TMRINTR_NO           (INT0_LO_DTMR3)
189 #define CONFIG_SYS_TMRINTR_MASK (1 << INT0_LO_DTMR3)
190 #define CONFIG_SYS_TMRINTR_PEND (CONFIG_SYS_TMRINTR_MASK)
191 #define CONFIG_SYS_TMRINTR_PRI          (0x1E)          /* Level must include inorder to work */
192 #define CONFIG_SYS_TIMER_PRESCALER      (((gd->bus_clk / 1000000) - 1) << 8)
193 #endif
194 #endif                          /* CONFIG_M5282 */
195
196 #ifdef CONFIG_M5307
197 #include <asm/immap_5307.h>
198 #include <asm/m5307.h>
199
200 #define CONFIG_SYS_UART_BASE            (MMAP_UART0 + \
201                                         (CONFIG_SYS_UART_PORT * 0x40))
202 #define CONFIG_SYS_INTR_BASE            (MMAP_INTC)
203 #define CONFIG_SYS_NUM_IRQS             (64)
204
205 /* Timer */
206 #ifdef CONFIG_MCFTMR
207 #define CONFIG_SYS_UDELAY_BASE          (MMAP_DTMR0)
208 #define CONFIG_SYS_TMR_BASE             (MMAP_DTMR1)
209 #define CONFIG_SYS_TMRPND_REG           (((volatile intctrl_t *) \
210                                         (CONFIG_SYS_INTR_BASE))->ipr)
211 #define CONFIG_SYS_TMRINTR_NO           (31)
212 #define CONFIG_SYS_TMRINTR_MASK         (0x00000400)
213 #define CONFIG_SYS_TMRINTR_PEND         (CONFIG_SYS_TMRINTR_MASK)
214 #define CONFIG_SYS_TMRINTR_PRI          (MCFSIM_ICR_AUTOVEC | \
215                                         MCFSIM_ICR_LEVEL7 | MCFSIM_ICR_PRI3)
216 #define CONFIG_SYS_TIMER_PRESCALER      (((gd->bus_clk / 1000000) - 1) << 8)
217 #endif
218 #endif                          /* CONFIG_M5307 */
219
220 #if defined(CONFIG_MCF5301x)
221 #include <asm/immap_5301x.h>
222 #include <asm/m5301x.h>
223
224 #define CONFIG_SYS_FEC0_IOBASE          (MMAP_FEC0)
225 #define CONFIG_SYS_FEC1_IOBASE          (MMAP_FEC1)
226 #define CONFIG_SYS_UART_BASE            (MMAP_UART0 + (CONFIG_SYS_UART_PORT * 0x4000))
227
228 #define CONFIG_SYS_MCFRTC_BASE          (MMAP_RTC)
229
230 /* Timer */
231 #ifdef CONFIG_MCFTMR
232 #define CONFIG_SYS_UDELAY_BASE          (MMAP_DTMR0)
233 #define CONFIG_SYS_TMR_BASE             (MMAP_DTMR1)
234 #define CONFIG_SYS_TMRPND_REG           (((volatile int0_t *)(CONFIG_SYS_INTR_BASE))->iprh0)
235 #define CONFIG_SYS_TMRINTR_NO           (INT0_HI_DTMR1)
236 #define CONFIG_SYS_TMRINTR_MASK         (INTC_IPRH_INT33)
237 #define CONFIG_SYS_TMRINTR_PEND         (CONFIG_SYS_TMRINTR_MASK)
238 #define CONFIG_SYS_TMRINTR_PRI          (6)
239 #define CONFIG_SYS_TIMER_PRESCALER      (((gd->bus_clk / 1000000) - 1) << 8)
240 #endif
241
242 #define CONFIG_SYS_INTR_BASE            (MMAP_INTC0)
243 #define CONFIG_SYS_NUM_IRQS             (128)
244 #endif                          /* CONFIG_M5301x */
245
246 #if defined(CONFIG_M5329) || defined(CONFIG_M5373)
247 #include <asm/immap_5329.h>
248 #include <asm/m5329.h>
249
250 #define CONFIG_SYS_FEC0_IOBASE          (MMAP_FEC)
251 #define CONFIG_SYS_UART_BASE            (MMAP_UART0 + (CONFIG_SYS_UART_PORT * 0x4000))
252 #define CONFIG_SYS_MCFRTC_BASE          (MMAP_RTC)
253
254 /* Timer */
255 #ifdef CONFIG_MCFTMR
256 #define CONFIG_SYS_UDELAY_BASE          (MMAP_DTMR0)
257 #define CONFIG_SYS_TMR_BASE             (MMAP_DTMR1)
258 #define CONFIG_SYS_TMRPND_REG           (((volatile int0_t *)(CONFIG_SYS_INTR_BASE))->iprh0)
259 #define CONFIG_SYS_TMRINTR_NO           (INT0_HI_DTMR1)
260 #define CONFIG_SYS_TMRINTR_MASK (INTC_IPRH_INT33)
261 #define CONFIG_SYS_TMRINTR_PEND (CONFIG_SYS_TMRINTR_MASK)
262 #define CONFIG_SYS_TMRINTR_PRI          (6)
263 #define CONFIG_SYS_TIMER_PRESCALER      (((gd->bus_clk / 1000000) - 1) << 8)
264 #endif
265
266 #define CONFIG_SYS_INTR_BASE            (MMAP_INTC0)
267 #define CONFIG_SYS_NUM_IRQS             (128)
268 #endif                          /* CONFIG_M5329 && CONFIG_M5373 */
269
270 #if defined(CONFIG_M54418)
271 #include <asm/immap_5441x.h>
272 #include <asm/m5441x.h>
273
274 #define CONFIG_SYS_FEC0_IOBASE          (MMAP_FEC0)
275 #define CONFIG_SYS_FEC1_IOBASE          (MMAP_FEC1)
276
277 #if (CONFIG_SYS_UART_PORT < 4)
278 #define CONFIG_SYS_UART_BASE            (MMAP_UART0 + \
279                                         (CONFIG_SYS_UART_PORT * 0x4000))
280 #else
281 #define CONFIG_SYS_UART_BASE            (MMAP_UART4 + \
282                                         ((CONFIG_SYS_UART_PORT - 4) * 0x4000))
283 #endif
284
285 #define MMAP_DSPI                       MMAP_DSPI0
286 #define CONFIG_SYS_MCFRTC_BASE          (MMAP_RTC)
287
288 /* Timer */
289 #ifdef CONFIG_MCFTMR
290 #define CONFIG_SYS_UDELAY_BASE          (MMAP_DTMR0)
291 #define CONFIG_SYS_TMR_BASE             (MMAP_DTMR1)
292 #define CONFIG_SYS_TMRPND_REG   (((int0_t *)(CONFIG_SYS_INTR_BASE))->iprh0)
293 #define CONFIG_SYS_TMRINTR_NO           (INT0_HI_DTMR1)
294 #define CONFIG_SYS_TMRINTR_MASK         (INTC_IPRH_INT33)
295 #define CONFIG_SYS_TMRINTR_PEND         (CONFIG_SYS_TMRINTR_MASK)
296 #define CONFIG_SYS_TMRINTR_PRI          (6)
297 #define CONFIG_SYS_TIMER_PRESCALER      (((gd->bus_clk / 1000000) - 1) << 8)
298 #endif
299
300 #define CONFIG_SYS_INTR_BASE            (MMAP_INTC0)
301 #define CONFIG_SYS_NUM_IRQS             (192)
302
303 #endif                          /* CONFIG_M54418 */
304
305 #ifdef CONFIG_M547x
306 #include <asm/immap_547x_8x.h>
307 #include <asm/m547x_8x.h>
308
309 #ifdef CONFIG_FSLDMAFEC
310 #define CONFIG_SYS_FEC0_IOBASE          (MMAP_FEC0)
311 #define CONFIG_SYS_FEC1_IOBASE          (MMAP_FEC1)
312
313 #define FEC0_RX_TASK            0
314 #define FEC0_TX_TASK            1
315 #define FEC0_RX_PRIORITY        6
316 #define FEC0_TX_PRIORITY        7
317 #define FEC0_RX_INIT            16
318 #define FEC0_TX_INIT            17
319 #define FEC1_RX_TASK            2
320 #define FEC1_TX_TASK            3
321 #define FEC1_RX_PRIORITY        6
322 #define FEC1_TX_PRIORITY        7
323 #define FEC1_RX_INIT            30
324 #define FEC1_TX_INIT            31
325 #endif
326
327 #define CONFIG_SYS_UART_BASE            (MMAP_UART0 + (CONFIG_SYS_UART_PORT * 0x100))
328
329 #ifdef CONFIG_SLTTMR
330 #define CONFIG_SYS_UDELAY_BASE          (MMAP_SLT1)
331 #define CONFIG_SYS_TMR_BASE             (MMAP_SLT0)
332 #define CONFIG_SYS_TMRPND_REG           (((volatile int0_t *)(CONFIG_SYS_INTR_BASE))->iprh0)
333 #define CONFIG_SYS_TMRINTR_NO           (INT0_HI_SLT0)
334 #define CONFIG_SYS_TMRINTR_MASK (INTC_IPRH_INT54)
335 #define CONFIG_SYS_TMRINTR_PEND (CONFIG_SYS_TMRINTR_MASK)
336 #define CONFIG_SYS_TMRINTR_PRI          (0x1E)
337 #define CONFIG_SYS_TIMER_PRESCALER      (gd->bus_clk / 1000000)
338 #endif
339
340 #define CONFIG_SYS_INTR_BASE            (MMAP_INTC0)
341 #define CONFIG_SYS_NUM_IRQS             (128)
342
343 #ifdef CONFIG_PCI
344 #define CONFIG_SYS_PCI_BAR0             (0x40000000)
345 #define CONFIG_SYS_PCI_BAR1             (CONFIG_SYS_SDRAM_BASE)
346 #define CONFIG_SYS_PCI_TBATR0           (CONFIG_SYS_MBAR)
347 #define CONFIG_SYS_PCI_TBATR1           (CONFIG_SYS_SDRAM_BASE)
348 #endif
349 #endif                          /* CONFIG_M547x */
350
351 #endif                          /* __IMMAP_H */