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