diff options
author | Alexander Shiyan <shc_work@mail.ru> | 2012-10-10 11:45:31 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-10-25 11:22:35 -0400 |
commit | 6cb1b145b912721f7a00f3fb5938765b34558b08 (patch) | |
tree | 208a150411995cc7ae159c31ea8bd8799272bf2b /arch/arm/mach-clps711x/include/mach/hardware.h | |
parent | 36504ac131d14611dded451dd8b9f8426d084111 (diff) |
ARM: clps711x: make all virtual addresses definition via one macro
This patch make all virtual addresses definition via one macro.
This modification allows to avoid warning "BUG: mapping for 0x80000000
at 0xff000000 out of vmalloc space".
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/mach-clps711x/include/mach/hardware.h')
-rw-r--r-- | arch/arm/mach-clps711x/include/mach/hardware.h | 56 |
1 files changed, 13 insertions, 43 deletions
diff --git a/arch/arm/mach-clps711x/include/mach/hardware.h b/arch/arm/mach-clps711x/include/mach/hardware.h index 8497775d6ee5..0a3df25ffea7 100644 --- a/arch/arm/mach-clps711x/include/mach/hardware.h +++ b/arch/arm/mach-clps711x/include/mach/hardware.h | |||
@@ -24,7 +24,10 @@ | |||
24 | 24 | ||
25 | #include <mach/clps711x.h> | 25 | #include <mach/clps711x.h> |
26 | 26 | ||
27 | #define CLPS711X_VIRT_BASE IOMEM(0xff000000) | 27 | #define IO_ADDRESS(x) (0xdc000000 + (((x) & 0x03ffffff) | \ |
28 | (((x) >> 2) & 0x3c000000))) | ||
29 | |||
30 | #define CLPS711X_VIRT_BASE IOMEM(IO_ADDRESS(CLPS711X_PHYS_BASE)) | ||
28 | 31 | ||
29 | #ifndef __ASSEMBLY__ | 32 | #ifndef __ASSEMBLY__ |
30 | #define clps_readb(off) readb(CLPS711X_VIRT_BASE + (off)) | 33 | #define clps_readb(off) readb(CLPS711X_VIRT_BASE + (off)) |
@@ -61,58 +64,25 @@ | |||
61 | #define CS7_PHYS_BASE (0x00000000) | 64 | #define CS7_PHYS_BASE (0x00000000) |
62 | #endif | 65 | #endif |
63 | 66 | ||
64 | #define SYSPLD_VIRT_BASE 0xfe000000 | ||
65 | #define SYSPLD_BASE SYSPLD_VIRT_BASE | ||
66 | |||
67 | #if defined (CONFIG_ARCH_CDB89712) | 67 | #if defined (CONFIG_ARCH_CDB89712) |
68 | 68 | ||
69 | #define ETHER_START 0x20000000 | 69 | #define ETHER_PHYS_BASE CS2_PHYS_BASE |
70 | #define ETHER_SIZE 0x1000 | 70 | #define ETHER_SIZE 0x1000 |
71 | #define ETHER_BASE 0xfe000000 | ||
72 | 71 | ||
73 | #endif | 72 | #endif |
74 | 73 | ||
75 | 74 | ||
76 | #if defined (CONFIG_ARCH_EDB7211) | 75 | #if defined (CONFIG_ARCH_EDB7211) |
77 | 76 | ||
78 | /* | 77 | /* The extra 8 lines of the keyboard matrix are wired to chip select 3 */ |
79 | * The extra 8 lines of the keyboard matrix are wired to chip select 3 (nCS3) | 78 | #define EP7211_PHYS_EXTKBD CS3_PHYS_BASE |
80 | * and repeat across it. This is the mapping for it. | ||
81 | * | ||
82 | * In jumpered boot mode, nCS3 is mapped to 0x4000000, not 0x3000000. This | ||
83 | * was cause for much consternation and headscratching. This should probably | ||
84 | * be made a compile/run time kernel option. | ||
85 | */ | ||
86 | #define EP7211_PHYS_EXTKBD CS3_PHYS_BASE /* physical */ | ||
87 | |||
88 | #define EP7211_VIRT_EXTKBD (0xfd000000) /* virtual */ | ||
89 | |||
90 | |||
91 | /* | ||
92 | * The CS8900A ethernet chip has its I/O registers wired to chip select 2 | ||
93 | * (nCS2). This is the mapping for it. | ||
94 | * | ||
95 | * In jumpered boot mode, nCS2 is mapped to 0x5000000, not 0x2000000. This | ||
96 | * was cause for much consternation and headscratching. This should probably | ||
97 | * be made a compile/run time kernel option. | ||
98 | */ | ||
99 | #define EP7211_PHYS_CS8900A CS2_PHYS_BASE /* physical */ | ||
100 | |||
101 | #define EP7211_VIRT_CS8900A (0xfc000000) /* virtual */ | ||
102 | 79 | ||
80 | /* The CS8900A ethernet chip has its I/O registers wired to chip select 2 */ | ||
81 | #define EP7211_PHYS_CS8900A CS2_PHYS_BASE | ||
103 | 82 | ||
104 | /* | 83 | /* The two flash banks are wired to chip selects 0 and 1 */ |
105 | * The two flash banks are wired to chip selects 0 and 1. This is the mapping | 84 | #define EP7211_PHYS_FLASH1 CS0_PHYS_BASE |
106 | * for them. | 85 | #define EP7211_PHYS_FLASH2 CS1_PHYS_BASE |
107 | * | ||
108 | * nCS0 and nCS1 are at 0x70000000 and 0x60000000, respectively, when running | ||
109 | * in jumpered boot mode. | ||
110 | */ | ||
111 | #define EP7211_PHYS_FLASH1 CS0_PHYS_BASE /* physical */ | ||
112 | #define EP7211_PHYS_FLASH2 CS1_PHYS_BASE /* physical */ | ||
113 | |||
114 | #define EP7211_VIRT_FLASH1 (0xfa000000) /* virtual */ | ||
115 | #define EP7211_VIRT_FLASH2 (0xfb000000) /* virtual */ | ||
116 | 86 | ||
117 | #endif /* CONFIG_ARCH_EDB7211 */ | 87 | #endif /* CONFIG_ARCH_EDB7211 */ |
118 | 88 | ||