diff options
author | Geert Uytterhoeven <geert@linux-m68k.org> | 2011-12-26 14:32:02 -0500 |
---|---|---|
committer | Greg Ungerer <gerg@uclinux.org> | 2011-12-29 19:20:49 -0500 |
commit | ad8f955daf77d303f0ee08d2acab30d3886cbd2b (patch) | |
tree | 325095c2c9411c3ca753be57e83ef31d4979d57b /arch/m68k/Kconfig.cpu | |
parent | fbe3364ac4fa82caa585f98e4a525946d2cc21f4 (diff) |
m68k/Kconfig: Separate classic m68k and coldfire early
While you can build multiplatform kernels for machines with classic
m68k processors, you cannot mix support for classic m68k and coldfire
processors. To avoid such hybrid kernels, introduce CONFIG_M68KCLASSIC
as an antipole for CONFIG_COLDFIRE, and make all specific processor
support depend on one of them.
All classic m68k machine support also needs to depend on this.
The defaults (CONFIG_M68KCLASSIC if MMU, CONFIG_COLDFIRE if !MMU) are
chosen such to make most of the existing configs build and work.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'arch/m68k/Kconfig.cpu')
-rw-r--r-- | arch/m68k/Kconfig.cpu | 66 |
1 files changed, 38 insertions, 28 deletions
diff --git a/arch/m68k/Kconfig.cpu b/arch/m68k/Kconfig.cpu index 5ae1d63ef5e9..f10a5d0f0774 100644 --- a/arch/m68k/Kconfig.cpu +++ b/arch/m68k/Kconfig.cpu | |||
@@ -1,5 +1,37 @@ | |||
1 | comment "Processor Type" | 1 | comment "Processor Type" |
2 | 2 | ||
3 | choice | ||
4 | prompt "CPU family support" | ||
5 | default M68KCLASSIC if MMU | ||
6 | default COLDFIRE if !MMU | ||
7 | help | ||
8 | The Freescale (was Motorola) M68K family of processors implements | ||
9 | the full 68000 processor instruction set. | ||
10 | The Freescale ColdFire family of processors is a modern derivitive | ||
11 | of the 68000 processor family. They are mainly targeted at embedded | ||
12 | applications, and are all System-On-Chip (SOC) devices, as opposed | ||
13 | to stand alone CPUs. They implement a subset of the original 68000 | ||
14 | processor instruction set. | ||
15 | If you anticipate running this kernel on a computer with a classic | ||
16 | MC68xxx processor, select M68KCLASSIC. | ||
17 | If you anticipate running this kernel on a computer with a ColdFire | ||
18 | processor, select COLDFIRE. | ||
19 | |||
20 | config M68KCLASSIC | ||
21 | bool "Classic M68K CPU family support" | ||
22 | |||
23 | config COLDFIRE | ||
24 | bool "Coldfire CPU family support" | ||
25 | select GENERIC_GPIO | ||
26 | select ARCH_REQUIRE_GPIOLIB | ||
27 | select CPU_HAS_NO_BITFIELDS | ||
28 | select CPU_HAS_NO_MULDIV64 | ||
29 | select GENERIC_CSUM | ||
30 | |||
31 | endchoice | ||
32 | |||
33 | if M68KCLASSIC | ||
34 | |||
3 | config M68000 | 35 | config M68000 |
4 | bool | 36 | bool |
5 | select CPU_HAS_NO_BITFIELDS | 37 | select CPU_HAS_NO_BITFIELDS |
@@ -20,20 +52,6 @@ config MCPU32 | |||
20 | based on the 68020 processor. For the most part it is used in | 52 | based on the 68020 processor. For the most part it is used in |
21 | System-On-Chip parts, and does not contain a paging MMU. | 53 | System-On-Chip parts, and does not contain a paging MMU. |
22 | 54 | ||
23 | config COLDFIRE | ||
24 | bool | ||
25 | select GENERIC_GPIO | ||
26 | select ARCH_REQUIRE_GPIOLIB | ||
27 | select CPU_HAS_NO_BITFIELDS | ||
28 | select CPU_HAS_NO_MULDIV64 | ||
29 | select GENERIC_CSUM | ||
30 | help | ||
31 | The Freescale ColdFire family of processors is a modern derivitive | ||
32 | of the 68000 processor family. They are mainly targeted at embedded | ||
33 | applications, and are all System-On-Chip (SOC) devices, as opposed | ||
34 | to stand alone CPUs. They implement a subset of the original 68000 | ||
35 | processor instruction set. | ||
36 | |||
37 | config M68020 | 55 | config M68020 |
38 | bool "68020 support" | 56 | bool "68020 support" |
39 | depends on MMU | 57 | depends on MMU |
@@ -103,10 +121,13 @@ config M68360 | |||
103 | help | 121 | help |
104 | Motorola 68360 processor support. | 122 | Motorola 68360 processor support. |
105 | 123 | ||
124 | endif # M68KCLASSIC | ||
125 | |||
126 | if COLDFIRE | ||
127 | |||
106 | config M5206 | 128 | config M5206 |
107 | bool "MCF5206" | 129 | bool "MCF5206" |
108 | depends on !MMU | 130 | depends on !MMU |
109 | select COLDFIRE | ||
110 | select COLDFIRE_SW_A7 | 131 | select COLDFIRE_SW_A7 |
111 | select HAVE_MBAR | 132 | select HAVE_MBAR |
112 | help | 133 | help |
@@ -115,7 +136,6 @@ config M5206 | |||
115 | config M5206e | 136 | config M5206e |
116 | bool "MCF5206e" | 137 | bool "MCF5206e" |
117 | depends on !MMU | 138 | depends on !MMU |
118 | select COLDFIRE | ||
119 | select COLDFIRE_SW_A7 | 139 | select COLDFIRE_SW_A7 |
120 | select HAVE_MBAR | 140 | select HAVE_MBAR |
121 | help | 141 | help |
@@ -124,7 +144,6 @@ config M5206e | |||
124 | config M520x | 144 | config M520x |
125 | bool "MCF520x" | 145 | bool "MCF520x" |
126 | depends on !MMU | 146 | depends on !MMU |
127 | select COLDFIRE | ||
128 | select GENERIC_CLOCKEVENTS | 147 | select GENERIC_CLOCKEVENTS |
129 | select HAVE_CACHE_SPLIT | 148 | select HAVE_CACHE_SPLIT |
130 | help | 149 | help |
@@ -133,7 +152,6 @@ config M520x | |||
133 | config M523x | 152 | config M523x |
134 | bool "MCF523x" | 153 | bool "MCF523x" |
135 | depends on !MMU | 154 | depends on !MMU |
136 | select COLDFIRE | ||
137 | select GENERIC_CLOCKEVENTS | 155 | select GENERIC_CLOCKEVENTS |
138 | select HAVE_CACHE_SPLIT | 156 | select HAVE_CACHE_SPLIT |
139 | select HAVE_IPSBAR | 157 | select HAVE_IPSBAR |
@@ -143,7 +161,6 @@ config M523x | |||
143 | config M5249 | 161 | config M5249 |
144 | bool "MCF5249" | 162 | bool "MCF5249" |
145 | depends on !MMU | 163 | depends on !MMU |
146 | select COLDFIRE | ||
147 | select COLDFIRE_SW_A7 | 164 | select COLDFIRE_SW_A7 |
148 | select HAVE_MBAR | 165 | select HAVE_MBAR |
149 | help | 166 | help |
@@ -155,7 +172,6 @@ config M527x | |||
155 | config M5271 | 172 | config M5271 |
156 | bool "MCF5271" | 173 | bool "MCF5271" |
157 | depends on !MMU | 174 | depends on !MMU |
158 | select COLDFIRE | ||
159 | select M527x | 175 | select M527x |
160 | select HAVE_CACHE_SPLIT | 176 | select HAVE_CACHE_SPLIT |
161 | select HAVE_IPSBAR | 177 | select HAVE_IPSBAR |
@@ -166,7 +182,6 @@ config M5271 | |||
166 | config M5272 | 182 | config M5272 |
167 | bool "MCF5272" | 183 | bool "MCF5272" |
168 | depends on !MMU | 184 | depends on !MMU |
169 | select COLDFIRE | ||
170 | select COLDFIRE_SW_A7 | 185 | select COLDFIRE_SW_A7 |
171 | select HAVE_MBAR | 186 | select HAVE_MBAR |
172 | help | 187 | help |
@@ -175,7 +190,6 @@ config M5272 | |||
175 | config M5275 | 190 | config M5275 |
176 | bool "MCF5275" | 191 | bool "MCF5275" |
177 | depends on !MMU | 192 | depends on !MMU |
178 | select COLDFIRE | ||
179 | select M527x | 193 | select M527x |
180 | select HAVE_CACHE_SPLIT | 194 | select HAVE_CACHE_SPLIT |
181 | select HAVE_IPSBAR | 195 | select HAVE_IPSBAR |
@@ -186,7 +200,6 @@ config M5275 | |||
186 | config M528x | 200 | config M528x |
187 | bool "MCF528x" | 201 | bool "MCF528x" |
188 | depends on !MMU | 202 | depends on !MMU |
189 | select COLDFIRE | ||
190 | select GENERIC_CLOCKEVENTS | 203 | select GENERIC_CLOCKEVENTS |
191 | select HAVE_CACHE_SPLIT | 204 | select HAVE_CACHE_SPLIT |
192 | select HAVE_IPSBAR | 205 | select HAVE_IPSBAR |
@@ -196,7 +209,6 @@ config M528x | |||
196 | config M5307 | 209 | config M5307 |
197 | bool "MCF5307" | 210 | bool "MCF5307" |
198 | depends on !MMU | 211 | depends on !MMU |
199 | select COLDFIRE | ||
200 | select COLDFIRE_SW_A7 | 212 | select COLDFIRE_SW_A7 |
201 | select HAVE_CACHE_CB | 213 | select HAVE_CACHE_CB |
202 | select HAVE_MBAR | 214 | select HAVE_MBAR |
@@ -206,7 +218,6 @@ config M5307 | |||
206 | config M532x | 218 | config M532x |
207 | bool "MCF532x" | 219 | bool "MCF532x" |
208 | depends on !MMU | 220 | depends on !MMU |
209 | select COLDFIRE | ||
210 | select HAVE_CACHE_CB | 221 | select HAVE_CACHE_CB |
211 | help | 222 | help |
212 | Freescale (Motorola) ColdFire 532x processor support. | 223 | Freescale (Motorola) ColdFire 532x processor support. |
@@ -214,7 +225,6 @@ config M532x | |||
214 | config M5407 | 225 | config M5407 |
215 | bool "MCF5407" | 226 | bool "MCF5407" |
216 | depends on !MMU | 227 | depends on !MMU |
217 | select COLDFIRE | ||
218 | select COLDFIRE_SW_A7 | 228 | select COLDFIRE_SW_A7 |
219 | select HAVE_CACHE_CB | 229 | select HAVE_CACHE_CB |
220 | select HAVE_MBAR | 230 | select HAVE_MBAR |
@@ -227,7 +237,6 @@ config M54xx | |||
227 | config M547x | 237 | config M547x |
228 | bool "MCF547x" | 238 | bool "MCF547x" |
229 | depends on !MMU | 239 | depends on !MMU |
230 | select COLDFIRE | ||
231 | select M54xx | 240 | select M54xx |
232 | select HAVE_CACHE_CB | 241 | select HAVE_CACHE_CB |
233 | select HAVE_MBAR | 242 | select HAVE_MBAR |
@@ -237,13 +246,14 @@ config M547x | |||
237 | config M548x | 246 | config M548x |
238 | bool "MCF548x" | 247 | bool "MCF548x" |
239 | depends on !MMU | 248 | depends on !MMU |
240 | select COLDFIRE | ||
241 | select M54xx | 249 | select M54xx |
242 | select HAVE_CACHE_CB | 250 | select HAVE_CACHE_CB |
243 | select HAVE_MBAR | 251 | select HAVE_MBAR |
244 | help | 252 | help |
245 | Freescale ColdFire 5480/5481/5482/5483/5484/5485 processor support. | 253 | Freescale ColdFire 5480/5481/5482/5483/5484/5485 processor support. |
246 | 254 | ||
255 | endif # COLDFIRE | ||
256 | |||
247 | 257 | ||
248 | comment "Processor Specific Options" | 258 | comment "Processor Specific Options" |
249 | 259 | ||