Commit | Line | Data |
---|---|---|
ae79ac5c KK |
1 | /* linux/arch/arm/plat-samsung/include/plat/map-s3c.h |
2 | * | |
3 | * Copyright (c) 2008 Simtec Electronics | |
4 | * Ben Dooks <ben@simtec.co.uk> | |
5 | * | |
6 | * S3C24XX - Memory map definitions | |
7 | * | |
8 | * This program is free software; you can redistribute it and/or modify | |
9 | * it under the terms of the GNU General Public License version 2 as | |
10 | * published by the Free Software Foundation. | |
11 | */ | |
12 | ||
13 | #ifndef __ASM_PLAT_MAP_S3C_H | |
14 | #define __ASM_PLAT_MAP_S3C_H __FILE__ | |
15 | ||
16 | #define S3C24XX_VA_IRQ S3C_VA_IRQ | |
17 | #define S3C24XX_VA_MEMCTRL S3C_VA_MEM | |
18 | #define S3C24XX_VA_UART S3C_VA_UART | |
19 | ||
20 | #define S3C24XX_VA_TIMER S3C_VA_TIMER | |
21 | #define S3C24XX_VA_CLKPWR S3C_VA_SYS | |
22 | #define S3C24XX_VA_WATCHDOG S3C_VA_WATCHDOG | |
23 | ||
24 | #define S3C2412_VA_SSMC S3C_ADDR_CPU(0x00000000) | |
3dca9386 | 25 | #define S3C2412_VA_EBI S3C_ADDR_CPU(0x00100000) |
ae79ac5c KK |
26 | |
27 | #define S3C2410_PA_UART (0x50000000) | |
28 | #define S3C24XX_PA_UART S3C2410_PA_UART | |
29 | ||
30 | #ifndef S3C_UART_OFFSET | |
31 | #define S3C_UART_OFFSET (0x400) | |
32 | #endif | |
33 | ||
34 | /* | |
35 | * GPIO ports | |
36 | * | |
37 | * the calculation for the VA of this must ensure that | |
38 | * it is the same distance apart from the UART in the | |
39 | * phsyical address space, as the initial mapping for the IO | |
40 | * is done as a 1:1 mapping. This puts it (currently) at | |
41 | * 0xFA800000, which is not in the way of any current mapping | |
42 | * by the base system. | |
43 | */ | |
44 | ||
45 | #define S3C2410_PA_GPIO (0x56000000) | |
46 | #define S3C24XX_PA_GPIO S3C2410_PA_GPIO | |
47 | ||
48 | #define S3C24XX_VA_GPIO ((S3C24XX_PA_GPIO - S3C24XX_PA_UART) + S3C24XX_VA_UART) | |
49 | #define S3C64XX_VA_GPIO S3C_ADDR_CPU(0x00000000) | |
50 | ||
51 | #define S3C64XX_VA_MODEM S3C_ADDR_CPU(0x00100000) | |
52 | #define S3C64XX_VA_USB_HSPHY S3C_ADDR_CPU(0x00200000) | |
53 | ||
54 | #define S3C_VA_USB_HSPHY S3C64XX_VA_USB_HSPHY | |
55 | ||
56 | /* | |
57 | * ISA style IO, for each machine to sort out mappings for, | |
58 | * if it implements it. We reserve two 16M regions for ISA. | |
59 | */ | |
60 | ||
61 | #define S3C2410_ADDR(x) S3C_ADDR(x) | |
62 | ||
63 | #define S3C24XX_VA_ISA_WORD S3C2410_ADDR(0x02000000) | |
64 | #define S3C24XX_VA_ISA_BYTE S3C2410_ADDR(0x03000000) | |
65 | ||
66 | /* deal with the registers that move under the 2412/2413 */ | |
67 | ||
68 | #if defined(CONFIG_CPU_S3C2412) || defined(CONFIG_CPU_S3C2413) | |
69 | #ifndef __ASSEMBLY__ | |
70 | extern void __iomem *s3c24xx_va_gpio2; | |
71 | #endif | |
72 | #ifdef CONFIG_CPU_S3C2412_ONLY | |
73 | #define S3C24XX_VA_GPIO2 (S3C24XX_VA_GPIO + 0x10) | |
74 | #else | |
75 | #define S3C24XX_VA_GPIO2 s3c24xx_va_gpio2 | |
76 | #endif | |
77 | #else | |
78 | #define s3c24xx_va_gpio2 S3C24XX_VA_GPIO | |
79 | #define S3C24XX_VA_GPIO2 S3C24XX_VA_GPIO | |
80 | #endif | |
81 | ||
82 | #include <plat/map-s5p.h> | |
83 | ||
84 | #endif /* __ASM_PLAT_MAP_S3C_H */ |