diff options
author | Ryan Mallon <ryan@bluewatersys.com> | 2009-05-21 17:11:52 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-05-24 14:21:32 -0400 |
commit | 6cb38c5f5d7dda38466389082d0d965188c41b81 (patch) | |
tree | 312eee0346a5ae0ba964e67ac57152e568da021e | |
parent | a2bd40d215b0997e21a0cfd06c1aa474ec3a0944 (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/Kconfig | 34 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/Makefile.boot | 7 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/include/mach/memory.h | 6 |
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 | ||
10 | comment "EP93xx Platforms" | 10 | comment "EP93xx Platforms" |
11 | 11 | ||
12 | choice | ||
13 | prompt "EP93xx first SDRAM bank selection" | ||
14 | default EP93XX_SDCE3_SYNC_PHYS_OFFSET | ||
15 | |||
16 | config 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 | |||
22 | config 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 | |||
28 | endchoice | ||
29 | |||
12 | config MACH_ADSSPHERE | 30 | config 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 | ||
18 | config MACH_EDB93XX | 37 | config MACH_EDB93XX |
19 | bool | 38 | bool |
20 | default n | ||
21 | 39 | ||
22 | config MACH_EDB9301 | 40 | config 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 | ||
29 | config MACH_EDB9302 | 48 | config 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 | ||
36 | config MACH_EDB9302A | 56 | config 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 | ||
43 | config MACH_EDB9307 | 64 | config 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 | ||
50 | config MACH_EDB9307A | 72 | config 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 | ||
57 | config MACH_EDB9312 | 80 | config 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 | ||
64 | config MACH_EDB9315 | 88 | config 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 | ||
71 | config MACH_EDB9315A | 96 | config 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 | ||
78 | config MACH_GESBC9312 | 104 | config 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 | ||
84 | config MACH_MICRO9 | 111 | config MACH_MICRO9 |
85 | bool | 112 | bool |
86 | default n | ||
87 | 113 | ||
88 | config MACH_MICRO9H | 114 | config 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 | ||
95 | config MACH_MICRO9M | 122 | config 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 | ||
102 | config MACH_MICRO9L | 130 | config 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 | ||
109 | config MACH_TS72XX | 138 | config 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 |
2 | params_phys-y := 0x00000100 | 2 | params_phys-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET) := 0x00000100 |
3 | |||
4 | zreladdr-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET) := 0xc0008000 | ||
5 | params_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 |