ARM: tegra: loki: fix build error due to warning
[linux-3.10.git] / arch / arm / mach-tegra / iomap.h
1 /*
2  * Copyright (C) 2010 Google, Inc.
3  * Copyright (C) 2011-2013, NVIDIA Corporation. All rights reserved.
4  *
5  * Author:
6  *      Colin Cross <ccross@google.com>
7  *      Erik Gilling <konkers@google.com>
8  *
9  * This software is licensed under the terms of the GNU General Public
10  * License version 2, as published by the Free Software Foundation, and
11  * may be copied, distributed, and modified under those terms.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  */
19
20 #ifndef __MACH_TEGRA_IOMAP_H
21 #define __MACH_TEGRA_IOMAP_H
22
23 #include <asm/sizes.h>
24
25 #if defined(CONFIG_ARCH_TEGRA_2x_SOC)
26 #define TEGRA_NOR_FLASH_BASE            0xD0000000
27 #define TEGRA_NOR_FLASH_SIZE            SZ_256M
28 #else
29 #define TEGRA_NOR_FLASH_BASE            0x48000000
30 #define TEGRA_NOR_FLASH_SIZE            SZ_128M
31 #endif
32
33 #if defined(CONFIG_ARCH_TEGRA_2x_SOC)
34 #define TEGRA_DRAM_BASE                 0x00000000
35 #define TEGRA_DRAM_SIZE                 SZ_1G           /* Maximum size */
36 #else
37 #define TEGRA_DRAM_BASE                 0x80000000
38 #define TEGRA_DRAM_SIZE                 (SZ_2G - SZ_1M) /* Maximum size */
39 #endif
40
41 #define TEGRA_IRAM_BASE                 0x40000000
42 #if defined(CONFIG_ARCH_TEGRA_14x_SOC)
43 #define TEGRA_IRAM_SIZE                 (192 * SZ_1K)
44 #else
45 #define TEGRA_IRAM_SIZE                 SZ_256K
46 #endif
47
48 /* First 1K of IRAM is reserved for cpu reset handler. */
49 #define TEGRA_RESET_HANDLER_BASE        TEGRA_IRAM_BASE
50 #define TEGRA_RESET_HANDLER_SIZE        SZ_1K
51
52 #define TEGRA_HOST1X_BASE               0x50000000
53 #define TEGRA_HOST1X_SIZE               0x28000
54
55 #define TEGRA_ARM_PERIF_BASE            0x50040000
56 #define TEGRA_ARM_PERIF_SIZE            SZ_8K
57
58 #define TEGRA_MSELECT_BASE              0x50042000
59 #define TEGRA_MSELECT_SIZE              80
60
61 #if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
62
63 #define TEGRA_ARM_PL310_BASE            0x50043000
64 #define TEGRA_ARM_PL310_SIZE            SZ_4K
65
66 #endif
67
68 #if defined(CONFIG_ARCH_TEGRA_14x_SOC)
69
70 #define TEGRA_ARM_PL310_BASE            0x50061000
71 #define TEGRA_ARM_PL310_SIZE            SZ_4K
72
73 #endif
74
75
76 #if defined(CONFIG_ARCH_TEGRA_12x_SOC)
77
78 #define TEGRA_GK20A_BAR0_BASE  0x57000000
79 #define TEGRA_GK20A_BAR0_SIZE  SZ_16M
80
81 #define TEGRA_GK20A_BAR1_BASE  0x58000000
82 #define TEGRA_GK20A_BAR1_SIZE  SZ_16M
83
84 #endif
85
86 #define TEGRA_ARM_INT_DIST_BASE         0x50041000
87 #define TEGRA_ARM_INT_DIST_SIZE         SZ_4K
88
89 #define TEGRA_MPE_BASE                  0x54040000
90 #define TEGRA_MPE_SIZE                  SZ_256K
91
92 #define TEGRA_VI_BASE                   0x54080000
93 #define TEGRA_VI_SIZE                   SZ_256K
94
95 #if defined(CONFIG_ARCH_TEGRA_2x_SOC) || \
96         defined(CONFIG_ARCH_TEGRA_3x_SOC) || \
97         defined(CONFIG_ARCH_TEGRA_11x_SOC) || \
98         defined(CONFIG_ARCH_TEGRA_14x_SOC)
99 #define TEGRA_ISP_BASE                  0x54100000
100 #define TEGRA_ISP_SIZE                  SZ_256K
101 #else
102 #define TEGRA_ISP_BASE                  0x54600000
103 #define TEGRA_ISP_SIZE                  SZ_256K
104
105 #define TEGRA_ISPB_BASE                 0x54680000
106 #define TEGRA_ISPB_SIZE                 SZ_256K
107 #endif
108
109
110 #define TEGRA_GR2D_BASE                 0x54140000
111 #define TEGRA_GR2D_SIZE                 SZ_256K
112
113 #define TEGRA_GR3D_BASE                 0x54180000
114 #define TEGRA_GR3D_SIZE                 SZ_256K
115
116 #define TEGRA_DISPLAY_BASE              0x54200000
117 #define TEGRA_DISPLAY_SIZE              SZ_256K
118
119 #define TEGRA_DISPLAY2_BASE             0x54240000
120 #define TEGRA_DISPLAY2_SIZE             SZ_256K
121
122 #define TEGRA_HDMI_BASE                 0x54280000
123 #define TEGRA_HDMI_SIZE                 SZ_256K
124
125 #define TEGRA_DSI_BASE                  0x54300000
126 #define TEGRA_DSI_SIZE                  SZ_256K
127
128 #if defined(CONFIG_ARCH_TEGRA_VIC)
129 #define TEGRA_VIC_BASE                  0x54340000
130 #define TEGRA_VIC_SIZE                  SZ_256K
131 #endif
132
133 #define TEGRA_DSIB_BASE                 0x54400000
134 #define TEGRA_DSIB_SIZE                 SZ_256K
135
136 #define TEGRA_MSENC_BASE                0x544c0000
137 #define TEGRA_MSENC_SIZE                SZ_256K
138
139 #define TEGRA_TSEC_BASE                 0x54500000
140 #define TEGRA_TSEC_SIZE                 SZ_256K
141
142 #define TEGRA_SOR_BASE                  0x54540000
143 #define TEGRA_SOR_SIZE                  SZ_256K
144
145 #define TEGRA_DPAUX_BASE                0x545c0000
146 #define TEGRA_DPAUX_SIZE                SZ_256K
147
148 #if defined(CONFIG_ARCH_TEGRA_2x_SOC)
149
150 #define TEGRA_GART_BASE                 0x58000000
151 #define TEGRA_GART_SIZE                 SZ_32M
152 #define TEGRA_IOMMU_BASE                TEGRA_GART_BASE
153 #define TEGRA_IOMMU_SIZE                TEGRA_GART_SIZE
154
155 #else
156
157 #define TEGRA_SMMU_BASE_TEGRA3_A01      0xe0000000
158 #define TEGRA_SMMU_SIZE_TEGRA3_A01      SZ_256M
159
160 #define TEGRA_SMMU_BASE                 0x80000000
161 #define TEGRA_SMMU_SIZE                 (SZ_2G - SZ_1M)
162 #define TEGRA_IOMMU_BASE                TEGRA_SMMU_BASE
163 #define TEGRA_IOMMU_SIZE                TEGRA_SMMU_SIZE
164
165 #endif
166
167 #define TEGRA_RES_SEMA_SIZE             SZ_4K
168 #define TEGRA_RES_SEMA_BASE             0x60001000
169
170 #define TEGRA_ARB_SEMA_BASE             0x60002000
171 #define TEGRA_ARB_SEMA_SIZE             SZ_4K
172
173 #define TEGRA_PRIMARY_ICTLR_BASE        0x60004000
174 #define TEGRA_PRIMARY_ICTLR_SIZE        64
175
176 #define TEGRA_ARBGNT_ICTLR_BASE         0x60004040
177 #define TEGRA_ARBGNT_ICTLR_SIZE         192
178
179 #define TEGRA_SECONDARY_ICTLR_BASE      0x60004100
180 #define TEGRA_SECONDARY_ICTLR_SIZE      64
181
182 #define TEGRA_TERTIARY_ICTLR_BASE       0x60004200
183 #define TEGRA_TERTIARY_ICTLR_SIZE       64
184
185 #define TEGRA_QUATERNARY_ICTLR_BASE     0x60004300
186 #define TEGRA_QUATERNARY_ICTLR_SIZE     64
187
188 #ifndef CONFIG_ARCH_TEGRA_2x_SOC
189
190 #define TEGRA_QUINARY_ICTLR_BASE        0x60004400
191 #define TEGRA_QUINARY_ICTLR_SIZE        SZ_64
192
193 #endif
194
195 #define TEGRA_TMR1_BASE                 0x60005000
196 #define TEGRA_TMR1_SIZE                 SZ_8
197
198 #define TEGRA_TMR2_BASE                 0x60005008
199 #define TEGRA_TMR2_SIZE                 SZ_8
200
201 #define TEGRA_TMRUS_BASE                0x60005010
202 #define TEGRA_TMRUS_SIZE                64
203
204 #define TEGRA_TMR3_BASE                 0x60005050
205 #define TEGRA_TMR3_SIZE                 SZ_8
206
207 #define TEGRA_TMR4_BASE                 0x60005058
208 #define TEGRA_TMR4_SIZE                 SZ_8
209
210 #ifndef CONFIG_ARCH_TEGRA_2x_SOC
211
212 #define TEGRA_TMR5_BASE                 0x60005060
213 #define TEGRA_TMR5_SIZE                 8
214
215 #define TEGRA_TMR6_BASE                 0x60005068
216 #define TEGRA_TMR6_SIZE                 8
217
218 #define TEGRA_TMR7_BASE                 0x60005070
219 #define TEGRA_TMR7_SIZE                 8
220
221 #define TEGRA_TMR8_BASE                 0x60005078
222 #define TEGRA_TMR8_SIZE                 8
223
224 #define TEGRA_TMR9_BASE                 0x60005080
225 #define TEGRA_TMR9_SIZE                 8
226
227 #define TEGRA_TMR10_BASE                0x60005088
228 #define TEGRA_TMR10_SIZE                8
229
230 #define TEGRA_WDT0_BASE                 0x60005100
231 #define TEGRA_WDT0_SIZE                 32
232
233 #define TEGRA_WDT1_BASE                 0x60005120
234 #define TEGRA_WDT1_SIZE                 32
235
236 #define TEGRA_WDT2_BASE                 0x60005140
237 #define TEGRA_WDT2_SIZE                 32
238
239 #define TEGRA_WDT3_BASE                 0x60005160
240 #define TEGRA_WDT3_SIZE                 32
241
242 #define TEGRA_WDT4_BASE                 0x60005180
243 #define TEGRA_WDT4_SIZE                 32
244
245 #endif
246
247 #define TEGRA_CLK_RESET_BASE            0x60006000
248 #define TEGRA_CLK_RESET_SIZE            SZ_4K
249
250 #define TEGRA_FLOW_CTRL_BASE            0x60007000
251 #define TEGRA_FLOW_CTRL_SIZE            20
252
253 #define TEGRA_AHB_DMA_BASE              0x60008000
254 #define TEGRA_AHB_DMA_SIZE              SZ_4K
255
256 #define TEGRA_AHB_DMA_CH0_BASE          0x60009000
257 #define TEGRA_AHB_DMA_CH0_SIZE          32
258
259 #if !defined(CONFIG_ARCH_TEGRA_2x_SOC) && !defined(CONFIG_ARCH_TEGRA_3x_SOC) \
260         && !defined(CONFIG_ARCH_TEGRA_11x_SOC)
261
262 #define TEGRA_APB_DMA_BASE              0x60020000
263 #define TEGRA_APB_DMA_SIZE              SZ_4K
264
265 #define TEGRA_APB_DMA_CH0_BASE          0x60021000
266 #define TEGRA_APB_DMA_CH0_SIZE          64
267
268 #else
269
270 #define TEGRA_APB_DMA_BASE              0x6000A000
271 #define TEGRA_APB_DMA_SIZE              SZ_4K
272
273 #define TEGRA_APB_DMA_CH0_BASE          0x6000B000
274 #define TEGRA_APB_DMA_CH0_SIZE          32
275
276 #endif
277
278 #ifndef CONFIG_ARCH_TEGRA_2x_SOC
279
280 #define TEGRA_AHB_ARB_BASE              0x6000C000
281 #define TEGRA_AHB_ARB_SIZE              768     /* Overlaps with GISMO */
282
283 #endif
284
285 #define TEGRA_AHB_GIZMO_BASE            0x6000C004
286 #define TEGRA_AHB_GIZMO_SIZE            0x10C
287
288 #define TEGRA_SB_BASE                   0x6000C200
289 #define TEGRA_SB_SIZE                   256
290
291 #define TEGRA_STATMON_BASE              0x6000C400
292 #define TEGRA_STATMON_SIZE              SZ_1K
293
294 #if !defined(CONFIG_ARCH_TEGRA_2x_SOC)
295
296 #define TEGRA_ACTMON_BASE               0x6000C800
297 #define TEGRA_ACTMON_SIZE               SZ_1K
298
299 #endif
300
301 #define TEGRA_GPIO_BASE                 0x6000D000
302 #define TEGRA_GPIO_SIZE                 SZ_4K
303
304 #define TEGRA_EXCEPTION_VECTORS_BASE    0x6000F000
305 #define TEGRA_EXCEPTION_VECTORS_SIZE    SZ_4K
306
307 #define TEGRA_BSEA_BASE                 0x60010000
308 #define TEGRA_BSEA_SIZE                 SZ_4K
309
310 #define TEGRA_APB_MISC_BASE             0x70000000
311 #define TEGRA_APB_MISC_SIZE             SZ_4K
312
313 #define TEGRA_APB_MISC_DAS_BASE         0x70000c00
314 #define TEGRA_APB_MISC_DAS_SIZE         SZ_128
315
316 #if defined(CONFIG_ARCH_TEGRA_2x_SOC)
317
318 #define TEGRA_AC97_BASE                 0x70002000
319 #define TEGRA_AC97_SIZE                 SZ_512
320
321 #define TEGRA_SPDIF_BASE                0x70002400
322 #define TEGRA_SPDIF_SIZE                SZ_512
323
324 #define TEGRA_I2S1_BASE                 0x70002800
325 #define TEGRA_I2S1_SIZE                 SZ_256
326
327 #define TEGRA_I2S2_BASE                 0x70002A00
328 #define TEGRA_I2S2_SIZE                 SZ_256
329
330 #define TEGRA_PCIE_BASE                 0x80000000
331 #define TEGRA_PCIE_SIZE                 SZ_1G
332
333 #else
334
335 #if defined(CONFIG_ARCH_TEGRA_3x_SOC)
336
337 #define TEGRA_PCIE_BASE                 0x00000000
338 #define TEGRA_PCIE_SIZE                 SZ_1G
339
340 #define TEGRA_TSENSOR_BASE              0x70014000
341 #define TEGRA_TSENSOR_SIZE              SZ_4K
342 #endif
343
344 #define TEGRA_CEC_BASE                  0x70015000
345 #define TEGRA_CEC_SIZE                  SZ_4K
346
347 #define TEGRA_HDA_BASE                  0x70030000
348 #define TEGRA_HDA_SIZE                  SZ_64K
349
350 #if (defined(CONFIG_ARCH_TEGRA_14x_SOC) || \
351 defined(CONFIG_ARCH_TEGRA_12x_SOC))
352 #define TEGRA_AUDIO_CLUSTER_BASE        0x70300000
353 #define TEGRA_AUDIO_CLUSTER_SIZE        SZ_64K
354
355 #define TEGRA_APBIF0_BASE               TEGRA_AUDIO_CLUSTER_BASE
356 #define TEGRA_APBIF0_SIZE               32
357
358 #define TEGRA_APBIF1_BASE               0x70300020
359 #define TEGRA_APBIF1_SIZE               32
360
361 #define TEGRA_APBIF2_BASE               0x70300040
362 #define TEGRA_APBIF2_SIZE               32
363
364 #define TEGRA_APBIF3_BASE               0x70300060
365 #define TEGRA_APBIF3_SIZE               32
366
367 #define TEGRA_AHUB_BASE                 0x70300800
368 #define TEGRA_AHUB_SIZE                 SZ_2K
369
370 #define TEGRA_I2S0_BASE                 0x70301000
371 #define TEGRA_I2S0_SIZE                 SZ_256
372
373 #define TEGRA_I2S1_BASE                 0x70301100
374 #define TEGRA_I2S1_SIZE                 SZ_256
375
376 #define TEGRA_I2S2_BASE                 0x70301200
377 #define TEGRA_I2S2_SIZE                 SZ_256
378
379 #define TEGRA_I2S3_BASE                 0x70301300
380 #define TEGRA_I2S3_SIZE                 SZ_256
381
382 #define TEGRA_I2S4_BASE                 0x70301400
383 #define TEGRA_I2S4_SIZE                 SZ_256
384
385 #define TEGRA_DAM0_BASE                 0x70302000
386 #define TEGRA_DAM0_SIZE                 SZ_512
387
388 #define TEGRA_DAM1_BASE                 0x70302200
389 #define TEGRA_DAM1_SIZE                 SZ_512
390
391 #define TEGRA_DAM2_BASE                 0x70302400
392 #define TEGRA_DAM2_SIZE                 SZ_512
393
394 #define TEGRA_SPDIF_BASE                0x70306000
395 #define TEGRA_SPDIF_SIZE                SZ_256
396
397 #define TEGRA_APBIF4_BASE               0x70300200
398 #define TEGRA_APBIF4_SIZE               32
399
400 #define TEGRA_APBIF5_BASE               0x70300220
401 #define TEGRA_APBIF5_SIZE               32
402
403 #define TEGRA_APBIF6_BASE               0x70300240
404 #define TEGRA_APBIF6_SIZE               32
405
406 #define TEGRA_APBIF7_BASE               0x70300260
407 #define TEGRA_APBIF7_SIZE               32
408
409 #define TEGRA_APBIF8_BASE               0x70300280
410 #define TEGRA_APBIF8_SIZE               32
411
412 #define TEGRA_APBIF9_BASE               0x703002A0
413 #define TEGRA_APBIF9_SIZE               32
414
415 #define TEGRA_AMX0_BASE                 0x70303000
416 #define TEGRA_AMX0_SIZE                 SZ_256
417
418 #define TEGRA_AMX1_BASE                 0x70303100
419 #define TEGRA_AMX1_SIZE                 SZ_256
420
421 #define TEGRA_ADX0_BASE                 0x70303800
422 #define TEGRA_ADX0_SIZE                 SZ_256
423
424 #define TEGRA_ADX1_BASE                 0x70303900
425 #define TEGRA_ADX1_SIZE                 SZ_256
426 #ifndef CONFIG_ARCH_TEGRA_12x_SOC
427 #define TEGRA_DMIC0_BASE                0x70304000
428 #define TEGRA_DMIC0_SIZE                SZ_256
429
430 #define TEGRA_DMIC1_BASE                0x70304100
431 #define TEGRA_DMIC1_SIZE                SZ_256
432 #endif
433 #else
434
435 #define TEGRA_AUDIO_CLUSTER_BASE        0x70080000
436 #define TEGRA_AUDIO_CLUSTER_SIZE        SZ_4K
437
438 #define TEGRA_APBIF0_BASE               TEGRA_AUDIO_CLUSTER_BASE
439 #define TEGRA_APBIF0_SIZE               32
440
441 #define TEGRA_APBIF1_BASE               0x70080020
442 #define TEGRA_APBIF1_SIZE               32
443
444 #define TEGRA_APBIF2_BASE               0x70080040
445 #define TEGRA_APBIF2_SIZE               32
446
447 #define TEGRA_APBIF3_BASE               0x70080060
448 #define TEGRA_APBIF3_SIZE               32
449
450 #define TEGRA_AHUB_BASE                 0x70080200
451 #define TEGRA_AHUB_SIZE                 SZ_256
452
453 #define TEGRA_I2S0_BASE                 0x70080300
454 #define TEGRA_I2S0_SIZE                 SZ_256
455
456 #define TEGRA_I2S1_BASE                 0x70080400
457 #define TEGRA_I2S1_SIZE                 SZ_256
458
459 #define TEGRA_I2S2_BASE                 0x70080500
460 #define TEGRA_I2S2_SIZE                 SZ_256
461
462 #define TEGRA_I2S3_BASE                 0x70080600
463 #define TEGRA_I2S3_SIZE                 SZ_256
464
465 #define TEGRA_I2S4_BASE                 0x70080700
466 #define TEGRA_I2S4_SIZE                 SZ_256
467
468 #define TEGRA_DAM0_BASE                 0x70080800
469 #define TEGRA_DAM0_SIZE                 SZ_256
470
471 #define TEGRA_DAM1_BASE                 0x70080900
472 #define TEGRA_DAM1_SIZE                 SZ_256
473
474 #define TEGRA_DAM2_BASE                 0x70080A00
475 #define TEGRA_DAM2_SIZE                 SZ_256
476
477 #define TEGRA_SPDIF_BASE                0x70080B00
478 #define TEGRA_SPDIF_SIZE                SZ_256
479
480 #ifndef CONFIG_ARCH_TEGRA_3x_SOC
481
482 #define TEGRA_AMX0_BASE                 0x70080C00
483 #define TEGRA_AMX0_SIZE                 SZ_256
484
485 #define TEGRA_ADX0_BASE                 0x70080E00
486 #define TEGRA_ADX0_SIZE                 SZ_256
487
488 #define TEGRA_APBIF4_BASE               0x70081000
489 #define TEGRA_APBIF4_SIZE               32
490
491 #define TEGRA_APBIF5_BASE               0x70081020
492 #define TEGRA_APBIF5_SIZE               32
493
494 #define TEGRA_APBIF6_BASE               0x70081040
495 #define TEGRA_APBIF6_SIZE               32
496
497 #define TEGRA_APBIF7_BASE               0x70081060
498 #define TEGRA_APBIF7_SIZE               32
499
500 #define TEGRA_APBIF8_BASE               0x70081080
501 #define TEGRA_APBIF8_SIZE               32
502
503 #define TEGRA_APBIF9_BASE               0x700810A0
504 #define TEGRA_APBIF9_SIZE               32
505 #endif
506 #endif
507
508 #endif
509
510 #define TEGRA_UARTA_BASE                0x70006000
511 #define TEGRA_UARTA_SIZE                64
512
513 #define TEGRA_UARTB_BASE                0x70006040
514 #define TEGRA_UARTB_SIZE                64
515
516 #define TEGRA_UARTC_BASE                0x70006200
517 #define TEGRA_UARTC_SIZE                SZ_256
518
519 #define TEGRA_UARTD_BASE                0x70006300
520 #define TEGRA_UARTD_SIZE                SZ_256
521
522 #define TEGRA_UARTE_BASE                0x70006400
523 #define TEGRA_UARTE_SIZE                SZ_256
524
525 #define TEGRA_NAND_BASE                 0x70008000
526 #define TEGRA_NAND_SIZE                 SZ_256
527
528 #define TEGRA_HSMMC_BASE                0x70008500
529 #define TEGRA_HSMMC_SIZE                SZ_256
530
531 #define TEGRA_SNOR_BASE                 0x70009000
532 #define TEGRA_SNOR_SIZE                 SZ_4K
533
534 #define TEGRA_PWFM_BASE                 0x7000A000
535 #define TEGRA_PWFM_SIZE                 SZ_256
536
537 #define TEGRA_PWFM0_BASE                0x7000A000
538 #define TEGRA_PWFM0_SIZE                4
539
540 #define TEGRA_PWFM1_BASE                0x7000A010
541 #define TEGRA_PWFM1_SIZE                4
542
543 #define TEGRA_PWFM2_BASE                0x7000A020
544 #define TEGRA_PWFM2_SIZE                4
545
546 #define TEGRA_PWFM3_BASE                0x7000A030
547 #define TEGRA_PWFM3_SIZE                4
548
549 #define TEGRA_MIPI_BASE                 0x7000B000
550 #define TEGRA_MIPI_SIZE                 SZ_256
551
552 #define TEGRA_I2C_BASE                  0x7000C000
553 #define TEGRA_I2C_SIZE                  SZ_256
554
555 #define TEGRA_TWC_BASE                  0x7000C100
556 #define TEGRA_TWC_SIZE                  SZ_256
557
558 #if defined(CONFIG_ARCH_TEGRA_2x_SOC)
559
560 #define TEGRA_SPI_BASE                  0x7000C380
561 #define TEGRA_SPI_SIZE                  48
562
563 #else
564
565 #define TEGRA_DTV_BASE                  0x7000C300
566 #define TEGRA_DTV_SIZE                  SZ_256
567
568 #endif
569
570 #define TEGRA_I2C2_BASE                 0x7000C400
571 #define TEGRA_I2C2_SIZE                 SZ_256
572
573 #define TEGRA_I2C3_BASE                 0x7000C500
574 #define TEGRA_I2C3_SIZE                 SZ_256
575
576 #define TEGRA_OWR_BASE                  0x7000C600
577 #define TEGRA_OWR_SIZE                  80
578
579 #if defined(CONFIG_ARCH_TEGRA_2x_SOC)
580
581 #define TEGRA_DVC_BASE                  0x7000D000
582 #define TEGRA_DVC_SIZE                  SZ_512
583
584 #else
585
586 #define TEGRA_I2C4_BASE                 0x7000C700
587 #define TEGRA_I2C4_SIZE                 SZ_512
588
589 #define TEGRA_I2C5_BASE                 0x7000D000
590 #define TEGRA_I2C5_SIZE                 SZ_256
591
592 #endif
593
594 #define TEGRA_SPI1_BASE                 0x7000D400
595 #define TEGRA_SPI1_SIZE                 SZ_512
596
597 #define TEGRA_SPI2_BASE                 0x7000D600
598 #define TEGRA_SPI2_SIZE                 SZ_512
599
600 #define TEGRA_SPI3_BASE                 0x7000D800
601 #define TEGRA_SPI3_SIZE                 SZ_512
602
603 #define TEGRA_SPI4_BASE                 0x7000DA00
604 #define TEGRA_SPI4_SIZE                 SZ_512
605
606 #ifndef CONFIG_ARCH_TEGRA_2x_SOC
607
608 #define TEGRA_SPI5_BASE                 0x7000DC00
609 #define TEGRA_SPI5_SIZE                 SZ_512
610
611 #define TEGRA_SPI6_BASE                 0x7000DE00
612 #define TEGRA_SPI6_SIZE                 SZ_512
613
614 #endif
615
616 #define TEGRA_RTC_BASE                  0x7000E000
617 #define TEGRA_RTC_SIZE                  SZ_256
618
619 #define TEGRA_KBC_BASE                  0x7000E200
620 #define TEGRA_KBC_SIZE                  SZ_256
621
622 #define TEGRA_PMC_BASE                  0x7000E400
623 #define TEGRA_PMC_SIZE                  SZ_256
624
625 #if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
626
627 #define TEGRA_MC_BASE                   0x7000F000
628 #define TEGRA_MC_SIZE                   SZ_1K
629
630 #define TEGRA_EMC_BASE                  0x7000F400
631 #define TEGRA_EMC_SIZE                  SZ_1K
632
633 #define TEGRA_XUSB_HOST_BASE            0x70090000
634 #define TEGRA_XUSB_HOST_SIZE            SZ_32K
635 #define TEGRA_XUSB_FPCI_BASE            0x70098000
636 #define TEGRA_XUSB_FPCI_SIZE            SZ_4K
637 #define TEGRA_XUSB_IPFS_BASE            0x70099000
638 #define TEGRA_XUSB_IPFS_SIZE            SZ_4K
639
640
641 #define TEGRA_XUSB_PADCTL_BASE          0x7009F000
642 #define TEGRA_XUSB_PADCTL_SIZE          SZ_4K
643
644 #define TEGRA_XUSB_DEV_BASE             0x700D0000
645 #define TEGRA_XUSB_DEV_SIZE             (SZ_32K + SZ_4K)
646
647 #else
648
649 #define TEGRA_MC_BASE                   0x70019000
650 #define TEGRA_MC_SIZE                   SZ_2K
651
652 #define TEGRA_EMC_BASE                  0x7001B000
653 #define TEGRA_EMC_SIZE                  SZ_2K
654
655 #ifndef CONFIG_ARCH_TEGRA_14x_SOC
656 #define TEGRA_MC0_BASE                  0x70018000
657 #define TEGRA_MC0_SIZE                  SZ_2K
658
659 #define TEGRA_MC1_BASE                  0x7001C000
660 #define TEGRA_MC1_SIZE                  SZ_2K
661
662 #define TEGRA_EMC0_BASE                 0x7001A000
663 #define TEGRA_EMC0_SIZE                 SZ_2K
664
665 #define TEGRA_EMC1_BASE                 0x7001A800
666 #define TEGRA_EMC1_SIZE                 SZ_2K
667 #endif
668
669 #define TEGRA_XUSB_HOST_BASE            0x70090000
670 #define TEGRA_XUSB_HOST_SIZE            SZ_32K
671 #define TEGRA_XUSB_FPCI_BASE            0x70098000
672 #define TEGRA_XUSB_FPCI_SIZE            SZ_4K
673 #define TEGRA_XUSB_IPFS_BASE            0x70099000
674 #define TEGRA_XUSB_IPFS_SIZE            SZ_4K
675
676
677 #define TEGRA_XUSB_PADCTL_BASE          0x7009F000
678 #define TEGRA_XUSB_PADCTL_SIZE          SZ_4K
679
680 #define TEGRA_XUSB_DEV_BASE             0x700D0000
681 #define TEGRA_XUSB_DEV_SIZE             (SZ_32K + SZ_4K)
682
683 #ifdef CONFIG_ARM_ARCH_TIMER
684 #define TEGRA_TSC_BASE                  0x700F0000
685 #define TEGRA_TSC_SIZE                  (SZ_64K)
686 #endif
687
688 #define TEGRA_CL_DVFS_BASE              0x70110000
689 #define TEGRA_CL_DVFS_SIZE              SZ_1K
690
691 #endif
692
693 #define TEGRA_FUSE_BASE                 0x7000F800
694 #define TEGRA_FUSE_SIZE                 SZ_1K
695
696 #define TEGRA_KFUSE_BASE                0x7000FC00
697 #define TEGRA_KFUSE_SIZE                SZ_1K
698
699 #define TEGRA_CSITE_BASE                0x70040000
700 #define TEGRA_CSITE_SIZE                SZ_256K
701
702 #if !defined(CONFIG_ARCH_TEGRA_2x_SOC) && !defined(CONFIG_ARCH_TEGRA_3x_SOC)
703 #define TEGRA_SOCTHERM_BASE             0x700E2000
704 #define TEGRA_SOCTHERM_SIZE             SZ_4K
705
706 #define TEGRA_MIPI_CAL_BASE             0x700E3000
707 #define TEGRA_MIPI_CAL_SIZE             SZ_256
708 #endif
709
710 #if defined(CONFIG_ARCH_TEGRA_2x_SOC)
711
712 #define TEGRA_USB_BASE                  0xC5000000
713 #define TEGRA_USB_SIZE                  SZ_16K
714
715 #define TEGRA_USB2_BASE                 0xC5004000
716 #define TEGRA_USB2_SIZE                 SZ_16K
717
718 #define TEGRA_USB3_BASE                 0xC5008000
719 #define TEGRA_USB3_SIZE                 SZ_16K
720
721 #define TEGRA_SDMMC1_BASE               0xC8000000
722 #define TEGRA_SDMMC1_SIZE               SZ_512
723
724 #define TEGRA_SDMMC2_BASE               0xC8000200
725 #define TEGRA_SDMMC2_SIZE               SZ_512
726
727 #define TEGRA_SDMMC3_BASE               0xC8000400
728 #define TEGRA_SDMMC3_SIZE               SZ_512
729
730 #define TEGRA_SDMMC4_BASE               0xC8000600
731 #define TEGRA_SDMMC4_SIZE               SZ_512
732
733 #else
734
735 #define TEGRA_SATA_BASE                 0x70020000
736 #define TEGRA_SATA_SIZE                 SZ_64K
737
738 #define TEGRA_SATA_CONFIG_BASE          0x70021000
739 #define TEGRA_SATA_CONFIG_SIZE          SZ_4K
740
741 #define TEGRA_SATA_BAR5_BASE            0x70027000
742 #define TEGRA_SATA_BAR5_SIZE            SZ_8K
743
744 #ifdef CONFIG_TEGRA_PRE_SILICON_SUPPORT
745 #define TEGRA_SIM_ETH_BASE              0x77000000
746 #define TEGRA_SIM_ETH_SIZE              SZ_64K
747 #endif
748
749 #define TEGRA_ASIM_QT_FRONT_DOOR_MEM_START      0x81000000
750 #define TEGRA_ASIM_QT_FRONT_DOOR_MEM_SIZE       (SZ_256M - SZ_16M)
751 #define TEGRA_ASIM_QT_FB_START          TEGRA_ASIM_QT_FRONT_DOOR_MEM_START
752 #define TEGRA_ASIM_QT_FB_SIZE           SZ_4M
753 #define TEGRA_ASIM_QT_CARVEOUT_VPR_DISABLED_START \
754                                 (TEGRA_ASIM_QT_FB_START + TEGRA_ASIM_QT_FB_SIZE)
755 #define TEGRA_ASIM_QT_CARVEOUT_VPR_DISABLED_SIZE \
756                 (TEGRA_ASIM_QT_FRONT_DOOR_MEM_SIZE - TEGRA_ASIM_QT_FB_SIZE)
757 #define TEGRA_ASIM_QT_CARVEOUT_MIN_SIZE         SZ_128M
758
759 #if defined(CONFIG_ARCH_TEGRA_2x_SOC)  || defined(CONFIG_ARCH_TEGRA_3x_SOC) || \
760     defined(CONFIG_ARCH_TEGRA_11x_SOC) || defined(CONFIG_ARCH_TEGRA_14x_SOC)
761
762 #define TEGRA_SDMMC1_BASE               0x78000000
763 #define TEGRA_SDMMC1_SIZE               SZ_512
764
765 #define TEGRA_SDMMC2_BASE               0x78000200
766 #define TEGRA_SDMMC2_SIZE               SZ_512
767
768 #define TEGRA_SDMMC3_BASE               0x78000400
769 #define TEGRA_SDMMC3_SIZE               SZ_512
770
771 #define TEGRA_SDMMC4_BASE               0x78000600
772 #define TEGRA_SDMMC4_SIZE               SZ_512
773
774 #else
775
776 #define TEGRA_SDMMC1_BASE               0x700b0000
777 #define TEGRA_SDMMC1_SIZE               SZ_512
778
779 #define TEGRA_SDMMC2_BASE               0x700b0200
780 #define TEGRA_SDMMC2_SIZE               SZ_512
781
782 #define TEGRA_SDMMC3_BASE               0x700b0400
783 #define TEGRA_SDMMC3_SIZE               SZ_512
784
785 #define TEGRA_SDMMC4_BASE               0x700b0600
786 #define TEGRA_SDMMC4_SIZE               SZ_512
787
788 #endif
789
790 #define TEGRA_USB_BASE                  0x7D000000
791 #define TEGRA_USB_SIZE                  SZ_16K
792
793 #define TEGRA_USB2_BASE                 0x7D004000
794 #define TEGRA_USB2_SIZE                 SZ_16K
795
796 #define TEGRA_USB3_BASE                 0x7D008000
797 #define TEGRA_USB3_SIZE                 SZ_16K
798
799 #define TEGRA_SE_BASE                   0x70012000
800 #define TEGRA_SE_SIZE                   SZ_8K
801
802 #endif
803
804 #if !defined(CONFIG_ARCH_TEGRA_2x_SOC) && !defined(CONFIG_ARCH_TEGRA_3x_SOC) \
805         && !defined(CONFIG_ARCH_TEGRA_11x_SOC)
806
807 #define TEGRA_I2C6_BASE                 0x7000d100
808 #define TEGRA_I2C6_SIZE                 SZ_512
809 #endif
810
811 #if defined(CONFIG_ARCH_TEGRA_14x_SOC)
812
813 #define TEGRA_MIPI_BIF_BASE             0x70120000
814 #define TEGRA_MIPI_BIF_SIZE             SZ_1K
815 #endif
816
817 #if defined(CONFIG_ARCH_TEGRA_12x_SOC)
818 #define TEGRA_AFC0_BASE         0x70307000
819 #define TEGRA_AFC0_SIZE         SZ_256
820
821 #define TEGRA_AFC1_BASE         0x70307100
822 #define TEGRA_AFC1_SIZE         SZ_256
823
824 #define TEGRA_AFC2_BASE         0x70307200
825 #define TEGRA_AFC2_SIZE         SZ_256
826
827 #define TEGRA_AFC3_BASE         0x70307300
828 #define TEGRA_AFC3_SIZE         SZ_256
829
830 #define TEGRA_AFC4_BASE         0x70307400
831 #define TEGRA_AFC4_SIZE         SZ_256
832
833 #define TEGRA_AFC5_BASE         0x70307500
834 #define TEGRA_AFC5_SIZE         SZ_256
835
836 #define TEGRA_VDE_BASE                  0x60030000
837 #define TEGRA_VDE_SIZE                  SZ_16K
838
839 #else
840
841 #define TEGRA_VDE_BASE                  0x6001A000
842 #define TEGRA_VDE_SIZE                  0x3c00
843
844 #endif
845
846 /* On TEGRA, many peripherals are very closely packed in
847  * two 256 MB io windows (that actually only use about 64 KB
848  * at the start of each).
849  *
850  * We will just map the first 1 MB of each window (to minimize
851  * pt entries needed) and provide a macro to transform physical
852  * io addresses to an appropriate void __iomem *.
853  *
854  * Always map simulation specific devices to lowest address.
855  *
856  * The base address of each aperture must be aligned to a PMD
857  * (2 MB boundary).
858  *
859  */
860
861 #ifdef CONFIG_ARM_LPAE
862 #define ROUND_UP(x, n)          (((x) + (n) - 1) & ~((n) - 1))
863 #define IO_VIRT_ROUND_UP(x)     ROUND_UP(x, SZ_2M)
864 #else
865 #define IO_VIRT_ROUND_UP(x)     (x)
866 #endif
867
868 /* Define physical aperture limits */
869 #ifdef CONFIG_TEGRA_GK20A
870 #define IO_GK20A_B0_PHYS        0x57000000
871 #define IO_GK20A_B0_SIZE        0x01000000
872
873 #define IO_GK20A_B1_PHYS        0x58000000
874 #define IO_GK20A_B1_SIZE        0x01000000
875 #endif
876
877 #ifdef CONFIG_TEGRA_PRE_SILICON_SUPPORT
878 #define IO_SMC_PHYS     0x77000000
879 #define IO_SMC_SIZE     SZ_1M
880
881 #define IO_SIM_ESCAPE_PHYS      0x538f0000
882 #define IO_SIM_ESCAPE_SIZE      SZ_4K
883 #endif
884
885 #define IO_IRAM_PHYS    0x40000000
886 #define IO_IRAM_SIZE    SZ_256K
887
888 #define IO_CPU_PHYS     0x50000000
889 #define IO_CPU_SIZE     SZ_1M
890
891 #define IO_PPSB_PHYS    0x60000000
892 #define IO_PPSB_SIZE    SZ_1M
893
894 #define IO_APB_PHYS     0x70000000
895 #define IO_APB_SIZE     SZ_4M
896
897 #ifdef CONFIG_ARCH_TEGRA_2x_SOC
898 #define IO_USB_PHYS     0xC5000000
899 #else
900 #define IO_USB_PHYS     0x7D000000
901 #endif
902 #define IO_USB_SIZE     SZ_1M
903
904 #ifdef CONFIG_ARCH_TEGRA_2x_SOC
905 #define IO_SDMMC_PHYS   0xC8000000
906 #else
907 #define IO_SDMMC_PHYS   0x78000000
908 #endif
909 #define IO_SDMMC_SIZE   SZ_1M
910
911 #define IO_HOST1X_PHYS  0x54000000
912 #define IO_HOST1X_SIZE  SZ_8M
913
914 #ifdef CONFIG_ARCH_TEGRA_2x_SOC
915 #define IO_PPCS_PHYS    0xC4000000
916 #else
917 #define IO_PPCS_PHYS    0x7C000000
918 #endif
919 #define IO_PPCS_SIZE    SZ_1M
920
921 #if defined(CONFIG_ARCH_TEGRA_2x_SOC)
922 #define IO_PCIE_PHYS    0x80000000
923 #elif defined(CONFIG_ARCH_TEGRA_3x_SOC)
924 #define IO_PCIE_PHYS    0x00000000
925 #else
926 #define IO_PCIE_PHYS    0x01000000
927 #endif
928 #if defined(CONFIG_TEGRA_PCI)
929 #define IO_PCIE_SIZE    (SZ_16M * 2)
930 #else
931 #define IO_PCIE_SIZE    0
932 #endif
933
934 #if defined(CONFIG_MTD_NOR_TEGRA) || defined(CONFIG_TEGRA_GMI)
935 #ifdef CONFIG_ARCH_TEGRA_2x_SOC
936 #define IO_NOR_PHYS     0xD0000000
937 #define IO_NOR_SIZE     (SZ_64M)
938 #else
939 #define IO_NOR_PHYS     0x48000000
940 #if defined(CONFIG_TEGRA_GMI)
941 #define IO_NOR_SIZE     (SZ_128M)
942 #else
943 #define IO_NOR_SIZE     (SZ_64M)
944 #endif
945 #endif
946 #else
947 #define IO_NOR_PHYS     0x0
948 #define IO_NOR_SIZE     0
949 #endif
950
951
952
953 /* Virtual aperture limits are packed into the I/O space from the higest
954    address to lowest with each aperture base address adjusted as necessary
955    for proper section mapping boundary (2 MB) rounding. */
956
957 #define IO_LAST_ADDR            IOMEM(0xFEC00000)
958 #define IO_HOST1X_VIRT          IOMEM((IO_LAST_ADDR - IO_VIRT_ROUND_UP(IO_HOST1X_SIZE)))
959 #define IO_SDMMC_VIRT           IOMEM((IO_HOST1X_VIRT - IO_VIRT_ROUND_UP(IO_SDMMC_SIZE)))
960 #define IO_USB_VIRT             IOMEM((IO_SDMMC_VIRT - IO_VIRT_ROUND_UP(IO_USB_SIZE)))
961 #define IO_APB_VIRT             IOMEM((IO_USB_VIRT - IO_VIRT_ROUND_UP(IO_APB_SIZE)))
962 #define IO_PPSB_VIRT            IOMEM((IO_APB_VIRT - IO_VIRT_ROUND_UP(IO_PPSB_SIZE)))
963 #define IO_CPU_VIRT             IOMEM((IO_PPSB_VIRT - IO_VIRT_ROUND_UP(IO_CPU_SIZE)))
964 #define IO_IRAM_VIRT            IOMEM((IO_CPU_VIRT - IO_VIRT_ROUND_UP(IO_IRAM_SIZE)))
965 #define IO_PPCS_VIRT            IOMEM((IO_IRAM_VIRT - IO_VIRT_ROUND_UP(IO_PPCS_SIZE)))
966 #define IO_PCIE_VIRT            IOMEM((IO_PPCS_VIRT - IO_VIRT_ROUND_UP(IO_PCIE_SIZE)))
967 #define IO_NOR_VIRT             IOMEM((IO_PCIE_VIRT - IO_VIRT_ROUND_UP(IO_NOR_SIZE)))
968 #ifdef CONFIG_TEGRA_GK20A
969 #define IO_GK20A_B0_VIRT        (IO_NOR_VIRT - IO_VIRT_ROUND_UP(IO_GK20A_B0_SIZE))
970 #define IO_GK20A_B1_VIRT        (IO_GK20A_B0_VIRT - IO_VIRT_ROUND_UP(IO_GK20A_B1_SIZE))
971 #else
972 #define IO_GK20A_B0_VIRT        IO_NOR_VIRT
973 #define IO_GK20A_B1_VIRT        IO_NOR_VIRT
974 #endif
975 #ifdef CONFIG_TEGRA_PRE_SILICON_SUPPORT
976 #define IO_SIM_ESCAPE_VIRT      IOMEM((IO_GK20A_B1_VIRT - IO_VIRT_ROUND_UP(IO_SIM_ESCAPE_SIZE)))
977 #define IO_SMC_VIRT             IOMEM((IO_SIM_ESCAPE_VIRT - IO_VIRT_ROUND_UP(IO_SMC_SIZE)))
978 #endif
979
980 #define IO_TO_VIRT_BETWEEN(p, st, sz)   ((p) >= (st) && (p) < ((st) + (sz)))
981 #define IO_TO_VIRT_XLATE(p, pst, vst)   ((void *)((p) - (pst) + (vst)))
982
983 #ifdef CONFIG_TEGRA_GK20A
984 #define IO_TO_VIRT_GK20A_B0(n) \
985         IO_TO_VIRT_BETWEEN((n), IO_GK20A_B0_PHYS, IO_GK20A_B0_SIZE) ?   \
986                 IO_TO_VIRT_XLATE((n), IO_GK20A_B0_PHYS, IO_GK20A_B0_VIRT) :
987 #define IO_TO_VIRT_GK20A_B1(n) \
988         IO_TO_VIRT_BETWEEN((n), IO_GK20A_B1_PHYS, IO_GK20A_B1_SIZE) ?   \
989                 IO_TO_VIRT_XLATE((n), IO_GK20A_B1_PHYS, IO_GK20A_B1_VIRT) :
990 #else
991 #define IO_TO_VIRT_GK20A_B0(n)
992 #define IO_TO_VIRT_GK20A_B1(n)
993 #endif
994
995 #ifdef CONFIG_TEGRA_PRE_SILICON_SUPPORT
996 #define IO_TO_VIRT_SMC(n) \
997         IO_TO_VIRT_BETWEEN((n), IO_SMC_PHYS, IO_SMC_SIZE) ?             \
998                 IO_TO_VIRT_XLATE((n), IO_SMC_PHYS, IO_SMC_VIRT) :
999 #define IO_TO_VIRT_SIM_ESCAPE(n) \
1000         IO_TO_VIRT_BETWEEN((n), IO_SIM_ESCAPE_PHYS, IO_SIM_ESCAPE_SIZE) ? \
1001                 IO_TO_VIRT_XLATE((n), IO_SIM_ESCAPE_PHYS, IO_SIM_ESCAPE_VIRT) :
1002 #else
1003 #define IO_TO_VIRT_SMC(n)
1004 #define IO_TO_VIRT_SIM_ESCAPE(n)
1005 #endif
1006
1007 #define IO_TO_VIRT(n) ( \
1008         IO_TO_VIRT_BETWEEN((n), IO_PPSB_PHYS, IO_PPSB_SIZE) ?           \
1009                 IO_TO_VIRT_XLATE((n), IO_PPSB_PHYS, IO_PPSB_VIRT) :     \
1010         IO_TO_VIRT_BETWEEN((n), IO_APB_PHYS, IO_APB_SIZE) ?             \
1011                 IO_TO_VIRT_XLATE((n), IO_APB_PHYS, IO_APB_VIRT) :       \
1012         IO_TO_VIRT_BETWEEN((n), IO_CPU_PHYS, IO_CPU_SIZE) ?             \
1013                 IO_TO_VIRT_XLATE((n), IO_CPU_PHYS, IO_CPU_VIRT) :       \
1014         IO_TO_VIRT_BETWEEN((n), IO_IRAM_PHYS, IO_IRAM_SIZE) ?           \
1015                 IO_TO_VIRT_XLATE((n), IO_IRAM_PHYS, IO_IRAM_VIRT) :     \
1016         IO_TO_VIRT_BETWEEN((n), IO_HOST1X_PHYS, IO_HOST1X_SIZE) ?       \
1017                 IO_TO_VIRT_XLATE((n), IO_HOST1X_PHYS, IO_HOST1X_VIRT) : \
1018         IO_TO_VIRT_GK20A_B0(n) \
1019         IO_TO_VIRT_GK20A_B1(n) \
1020         IO_TO_VIRT_BETWEEN((n), IO_USB_PHYS, IO_USB_SIZE) ?             \
1021                 IO_TO_VIRT_XLATE((n), IO_USB_PHYS, IO_USB_VIRT) :       \
1022         IO_TO_VIRT_BETWEEN((n), IO_SDMMC_PHYS, IO_SDMMC_SIZE) ?         \
1023                 IO_TO_VIRT_XLATE((n), IO_SDMMC_PHYS, IO_SDMMC_VIRT) :   \
1024         IO_TO_VIRT_BETWEEN((n), IO_PPCS_PHYS, IO_PPCS_SIZE) ?           \
1025                 IO_TO_VIRT_XLATE((n), IO_PPCS_PHYS, IO_PPCS_VIRT) :     \
1026         IO_TO_VIRT_BETWEEN((n), IO_PCIE_PHYS, IO_PCIE_SIZE) ?           \
1027                 IO_TO_VIRT_XLATE((n), IO_PCIE_PHYS, IO_PCIE_VIRT) :     \
1028         IO_TO_VIRT_SMC((n))             \
1029         IO_TO_VIRT_SIM_ESCAPE((n))      \
1030         IO_TO_VIRT_BETWEEN((n), IO_NOR_PHYS, IO_NOR_SIZE) ?             \
1031                 IO_TO_VIRT_XLATE((n), IO_NOR_PHYS, IO_NOR_VIRT) :       \
1032         NULL)
1033
1034 #define IO_ADDRESS(n) (IO_TO_VIRT(n))
1035
1036 #endif