aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyan Mallon <ryan@bluewatersys.com>2009-05-21 17:11:52 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-05-24 14:21:32 -0400
commit6cb38c5f5d7dda38466389082d0d965188c41b81 (patch)
tree312eee0346a5ae0ba964e67ac57152e568da021e
parenta2bd40d215b0997e21a0cfd06c1aa474ec3a0944 (diff)
[ARM] 5523/1: ep93xx phys offset selection
This patch adds a Kconfig option to select between ep93xx boards which boot from the SDRAM bank at 0x00000000 (SDCE3/SyncBoot) and those which boot from 0xc0000000 (SDCE0). This corrects a problem which causes invalid images to be built for boards which boot from 0xc0000000. Signed-off-by: Ryan Mallon <ryan@bluewatersys.com> Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/mach-ep93xx/Kconfig34
-rw-r--r--arch/arm/mach-ep93xx/Makefile.boot7
-rw-r--r--arch/arm/mach-ep93xx/include/mach/memory.h6
3 files changed, 43 insertions, 4 deletions
diff --git a/arch/arm/mach-ep93xx/Kconfig b/arch/arm/mach-ep93xx/Kconfig
index 9414eb641311..d7291c682a64 100644
--- a/arch/arm/mach-ep93xx/Kconfig
+++ b/arch/arm/mach-ep93xx/Kconfig
@@ -9,18 +9,37 @@ config CRUNCH
9 9
10comment "EP93xx Platforms" 10comment "EP93xx Platforms"
11 11
12choice
13 prompt "EP93xx first SDRAM bank selection"
14 default EP93XX_SDCE3_SYNC_PHYS_OFFSET
15
16config EP93XX_SDCE3_SYNC_PHYS_OFFSET
17 bool "0x00000000 - SDCE3/SyncBoot"
18 help
19 Select this option if you want support for EP93xx boards with the
20 first SDRAM bank at 0x00000000
21
22config EP93XX_SDCE0_PHYS_OFFSET
23 bool "0xc0000000 - SDCEO"
24 help
25 Select this option if you want support for EP93xx boards with the
26 first SDRAM bank at 0xc0000000
27
28endchoice
29
12config MACH_ADSSPHERE 30config MACH_ADSSPHERE
13 bool "Support ADS Sphere" 31 bool "Support ADS Sphere"
32 depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
14 help 33 help
15 Say 'Y' here if you want your kernel to support the ADS 34 Say 'Y' here if you want your kernel to support the ADS
16 Sphere board. 35 Sphere board.
17 36
18config MACH_EDB93XX 37config MACH_EDB93XX
19 bool 38 bool
20 default n
21 39
22config MACH_EDB9301 40config MACH_EDB9301
23 bool "Support Cirrus Logic EDB9301" 41 bool "Support Cirrus Logic EDB9301"
42 depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
24 select MACH_EDB93XX 43 select MACH_EDB93XX
25 help 44 help
26 Say 'Y' here if you want your kernel to support the Cirrus 45 Say 'Y' here if you want your kernel to support the Cirrus
@@ -28,6 +47,7 @@ config MACH_EDB9301
28 47
29config MACH_EDB9302 48config MACH_EDB9302
30 bool "Support Cirrus Logic EDB9302" 49 bool "Support Cirrus Logic EDB9302"
50 depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
31 select MACH_EDB93XX 51 select MACH_EDB93XX
32 help 52 help
33 Say 'Y' here if you want your kernel to support the Cirrus 53 Say 'Y' here if you want your kernel to support the Cirrus
@@ -35,6 +55,7 @@ config MACH_EDB9302
35 55
36config MACH_EDB9302A 56config MACH_EDB9302A
37 bool "Support Cirrus Logic EDB9302A" 57 bool "Support Cirrus Logic EDB9302A"
58 depends on EP93XX_SDCE0_PHYS_OFFSET
38 select MACH_EDB93XX 59 select MACH_EDB93XX
39 help 60 help
40 Say 'Y' here if you want your kernel to support the Cirrus 61 Say 'Y' here if you want your kernel to support the Cirrus
@@ -42,6 +63,7 @@ config MACH_EDB9302A
42 63
43config MACH_EDB9307 64config MACH_EDB9307
44 bool "Support Cirrus Logic EDB9307" 65 bool "Support Cirrus Logic EDB9307"
66 depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
45 select MACH_EDB93XX 67 select MACH_EDB93XX
46 help 68 help
47 Say 'Y' here if you want your kernel to support the Cirrus 69 Say 'Y' here if you want your kernel to support the Cirrus
@@ -49,6 +71,7 @@ config MACH_EDB9307
49 71
50config MACH_EDB9307A 72config MACH_EDB9307A
51 bool "Support Cirrus Logic EDB9307A" 73 bool "Support Cirrus Logic EDB9307A"
74 depends on EP93XX_SDCE0_PHYS_OFFSET
52 select MACH_EDB93XX 75 select MACH_EDB93XX
53 help 76 help
54 Say 'Y' here if you want your kernel to support the Cirrus 77 Say 'Y' here if you want your kernel to support the Cirrus
@@ -56,6 +79,7 @@ config MACH_EDB9307A
56 79
57config MACH_EDB9312 80config MACH_EDB9312
58 bool "Support Cirrus Logic EDB9312" 81 bool "Support Cirrus Logic EDB9312"
82 depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
59 select MACH_EDB93XX 83 select MACH_EDB93XX
60 help 84 help
61 Say 'Y' here if you want your kernel to support the Cirrus 85 Say 'Y' here if you want your kernel to support the Cirrus
@@ -63,6 +87,7 @@ config MACH_EDB9312
63 87
64config MACH_EDB9315 88config MACH_EDB9315
65 bool "Support Cirrus Logic EDB9315" 89 bool "Support Cirrus Logic EDB9315"
90 depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
66 select MACH_EDB93XX 91 select MACH_EDB93XX
67 help 92 help
68 Say 'Y' here if you want your kernel to support the Cirrus 93 Say 'Y' here if you want your kernel to support the Cirrus
@@ -70,12 +95,14 @@ config MACH_EDB9315
70 95
71config MACH_EDB9315A 96config MACH_EDB9315A
72 bool "Support Cirrus Logic EDB9315A" 97 bool "Support Cirrus Logic EDB9315A"
98 depends on EP93XX_SDCE0_PHYS_OFFSET
73 select MACH_EDB93XX 99 select MACH_EDB93XX
74 help 100 help
75 Say 'Y' here if you want your kernel to support the Cirrus 101 Say 'Y' here if you want your kernel to support the Cirrus
76 Logic EDB9315A Evaluation Board. 102 Logic EDB9315A Evaluation Board.
77 103
78config MACH_GESBC9312 104config MACH_GESBC9312
105 depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
79 bool "Support Glomation GESBC-9312-sx" 106 bool "Support Glomation GESBC-9312-sx"
80 help 107 help
81 Say 'Y' here if you want your kernel to support the Glomation 108 Say 'Y' here if you want your kernel to support the Glomation
@@ -83,10 +110,10 @@ config MACH_GESBC9312
83 110
84config MACH_MICRO9 111config MACH_MICRO9
85 bool 112 bool
86 default n
87 113
88config MACH_MICRO9H 114config MACH_MICRO9H
89 bool "Support Contec Hypercontrol Micro9-H" 115 bool "Support Contec Hypercontrol Micro9-H"
116 depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
90 select MACH_MICRO9 117 select MACH_MICRO9
91 help 118 help
92 Say 'Y' here if you want your kernel to support the 119 Say 'Y' here if you want your kernel to support the
@@ -94,6 +121,7 @@ config MACH_MICRO9H
94 121
95config MACH_MICRO9M 122config MACH_MICRO9M
96 bool "Support Contec Hypercontrol Micro9-M" 123 bool "Support Contec Hypercontrol Micro9-M"
124 depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
97 select MACH_MICRO9 125 select MACH_MICRO9
98 help 126 help
99 Say 'Y' here if you want your kernel to support the 127 Say 'Y' here if you want your kernel to support the
@@ -101,6 +129,7 @@ config MACH_MICRO9M
101 129
102config MACH_MICRO9L 130config MACH_MICRO9L
103 bool "Support Contec Hypercontrol Micro9-L" 131 bool "Support Contec Hypercontrol Micro9-L"
132 depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
104 select MACH_MICRO9 133 select MACH_MICRO9
105 help 134 help
106 Say 'Y' here if you want your kernel to support the 135 Say 'Y' here if you want your kernel to support the
@@ -108,6 +137,7 @@ config MACH_MICRO9L
108 137
109config MACH_TS72XX 138config MACH_TS72XX
110 bool "Support Technologic Systems TS-72xx SBC" 139 bool "Support Technologic Systems TS-72xx SBC"
140 depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
111 help 141 help
112 Say 'Y' here if you want your kernel to support the 142 Say 'Y' here if you want your kernel to support the
113 Technologic Systems TS-72xx board. 143 Technologic Systems TS-72xx board.
diff --git a/arch/arm/mach-ep93xx/Makefile.boot b/arch/arm/mach-ep93xx/Makefile.boot
index d5561ad15bad..27a085a8f12a 100644
--- a/arch/arm/mach-ep93xx/Makefile.boot
+++ b/arch/arm/mach-ep93xx/Makefile.boot
@@ -1,2 +1,5 @@
1 zreladdr-y := 0x00008000 1 zreladdr-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET) := 0x00008000
2params_phys-y := 0x00000100 2params_phys-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET) := 0x00000100
3
4 zreladdr-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET) := 0xc0008000
5params_phys-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET) := 0xc0000100
diff --git a/arch/arm/mach-ep93xx/include/mach/memory.h b/arch/arm/mach-ep93xx/include/mach/memory.h
index 5c80c3c8158d..925b12ea0990 100644
--- a/arch/arm/mach-ep93xx/include/mach/memory.h
+++ b/arch/arm/mach-ep93xx/include/mach/memory.h
@@ -5,6 +5,12 @@
5#ifndef __ASM_ARCH_MEMORY_H 5#ifndef __ASM_ARCH_MEMORY_H
6#define __ASM_ARCH_MEMORY_H 6#define __ASM_ARCH_MEMORY_H
7 7
8#if defined(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET)
8#define PHYS_OFFSET UL(0x00000000) 9#define PHYS_OFFSET UL(0x00000000)
10#elif defined(CONFIG_EP93XX_SDCE0_PHYS_OFFSET)
11#define PHYS_OFFSET UL(0xc0000000)
12#else
13#error "Kconfig bug: No EP93xx PHYS_OFFSET set"
14#endif
9 15
10#endif 16#endif