1comment "Processor Type" 2 3choice 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 derivative 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 20config M68KCLASSIC 21 bool "Classic M68K CPU family support" 22 23config COLDFIRE 24 bool "Coldfire CPU family support" 25 select ARCH_HAVE_CUSTOM_GPIO_H 26 select CPU_HAS_NO_BITFIELDS 27 select CPU_HAS_NO_MULDIV64 28 select GENERIC_CSUM 29 select GPIOLIB 30 select HAVE_CLK 31 32endchoice 33 34if M68KCLASSIC 35 36config M68000 37 bool "MC68000" 38 depends on !MMU 39 select CPU_HAS_NO_BITFIELDS 40 select CPU_HAS_NO_MULDIV64 41 select CPU_HAS_NO_UNALIGNED 42 select GENERIC_CSUM 43 select CPU_NO_EFFICIENT_FFS 44 select HAVE_ARCH_HASH 45 help 46 The Freescale (was Motorola) 68000 CPU is the first generation of 47 the well known M68K family of processors. The CPU core as well as 48 being available as a stand alone CPU was also used in many 49 System-On-Chip devices (eg 68328, 68302, etc). It does not contain 50 a paging MMU. 51 52config MCPU32 53 bool 54 select CPU_HAS_NO_BITFIELDS 55 select CPU_HAS_NO_UNALIGNED 56 select CPU_NO_EFFICIENT_FFS 57 help 58 The Freescale (was then Motorola) CPU32 is a CPU core that is 59 based on the 68020 processor. For the most part it is used in 60 System-On-Chip parts, and does not contain a paging MMU. 61 62config M68020 63 bool "68020 support" 64 depends on MMU 65 select CPU_HAS_ADDRESS_SPACES 66 help 67 If you anticipate running this kernel on a computer with a MC68020 68 processor, say Y. Otherwise, say N. Note that the 68020 requires a 69 68851 MMU (Memory Management Unit) to run Linux/m68k, except on the 70 Sun 3, which provides its own version. 71 72config M68030 73 bool "68030 support" 74 depends on MMU && !MMU_SUN3 75 select CPU_HAS_ADDRESS_SPACES 76 help 77 If you anticipate running this kernel on a computer with a MC68030 78 processor, say Y. Otherwise, say N. Note that a MC68EC030 will not 79 work, as it does not include an MMU (Memory Management Unit). 80 81config M68040 82 bool "68040 support" 83 depends on MMU && !MMU_SUN3 84 select CPU_HAS_ADDRESS_SPACES 85 help 86 If you anticipate running this kernel on a computer with a MC68LC040 87 or MC68040 processor, say Y. Otherwise, say N. Note that an 88 MC68EC040 will not work, as it does not include an MMU (Memory 89 Management Unit). 90 91config M68060 92 bool "68060 support" 93 depends on MMU && !MMU_SUN3 94 select CPU_HAS_ADDRESS_SPACES 95 help 96 If you anticipate running this kernel on a computer with a MC68060 97 processor, say Y. Otherwise, say N. 98 99config M68328 100 bool "MC68328" 101 depends on !MMU 102 select M68000 103 help 104 Motorola 68328 processor support. 105 106config M68EZ328 107 bool "MC68EZ328" 108 depends on !MMU 109 select M68000 110 help 111 Motorola 68EX328 processor support. 112 113config M68VZ328 114 bool "MC68VZ328" 115 depends on !MMU 116 select M68000 117 help 118 Motorola 68VZ328 processor support. 119 120endif # M68KCLASSIC 121 122if COLDFIRE 123 124choice 125 prompt "ColdFire SoC type" 126 default M520x 127 help 128 Select the type of ColdFire System-on-Chip (SoC) that you want 129 to build for. 130 131config M5206 132 bool "MCF5206" 133 depends on !MMU 134 select COLDFIRE_SW_A7 135 select HAVE_MBAR 136 select CPU_NO_EFFICIENT_FFS 137 help 138 Motorola ColdFire 5206 processor support. 139 140config M5206e 141 bool "MCF5206e" 142 depends on !MMU 143 select COLDFIRE_SW_A7 144 select HAVE_MBAR 145 select CPU_NO_EFFICIENT_FFS 146 help 147 Motorola ColdFire 5206e processor support. 148 149config M520x 150 bool "MCF520x" 151 depends on !MMU 152 select GENERIC_CLOCKEVENTS 153 select HAVE_CACHE_SPLIT 154 help 155 Freescale Coldfire 5207/5208 processor support. 156 157config M523x 158 bool "MCF523x" 159 depends on !MMU 160 select GENERIC_CLOCKEVENTS 161 select HAVE_CACHE_SPLIT 162 select HAVE_IPSBAR 163 help 164 Freescale Coldfire 5230/1/2/4/5 processor support 165 166config M5249 167 bool "MCF5249" 168 depends on !MMU 169 select COLDFIRE_SW_A7 170 select HAVE_MBAR 171 select CPU_NO_EFFICIENT_FFS 172 help 173 Motorola ColdFire 5249 processor support. 174 175config M525x 176 bool "MCF525x" 177 depends on !MMU 178 select COLDFIRE_SW_A7 179 select HAVE_MBAR 180 select CPU_NO_EFFICIENT_FFS 181 help 182 Freescale (Motorola) Coldfire 5251/5253 processor support. 183 184config M5271 185 bool "MCF5271" 186 depends on !MMU 187 select M527x 188 select HAVE_CACHE_SPLIT 189 select HAVE_IPSBAR 190 select GENERIC_CLOCKEVENTS 191 help 192 Freescale (Motorola) ColdFire 5270/5271 processor support. 193 194config M5272 195 bool "MCF5272" 196 depends on !MMU 197 select COLDFIRE_SW_A7 198 select HAVE_MBAR 199 select CPU_NO_EFFICIENT_FFS 200 help 201 Motorola ColdFire 5272 processor support. 202 203config M5275 204 bool "MCF5275" 205 depends on !MMU 206 select M527x 207 select HAVE_CACHE_SPLIT 208 select HAVE_IPSBAR 209 select GENERIC_CLOCKEVENTS 210 help 211 Freescale (Motorola) ColdFire 5274/5275 processor support. 212 213config M528x 214 bool "MCF528x" 215 depends on !MMU 216 select GENERIC_CLOCKEVENTS 217 select HAVE_CACHE_SPLIT 218 select HAVE_IPSBAR 219 help 220 Motorola ColdFire 5280/5282 processor support. 221 222config M5307 223 bool "MCF5307" 224 depends on !MMU 225 select COLDFIRE_SW_A7 226 select HAVE_CACHE_CB 227 select HAVE_MBAR 228 select CPU_NO_EFFICIENT_FFS 229 help 230 Motorola ColdFire 5307 processor support. 231 232config M532x 233 bool "MCF532x" 234 depends on !MMU 235 select M53xx 236 select HAVE_CACHE_CB 237 help 238 Freescale (Motorola) ColdFire 532x processor support. 239 240config M537x 241 bool "MCF537x" 242 depends on !MMU 243 select M53xx 244 select HAVE_CACHE_CB 245 help 246 Freescale ColdFire 537x processor support. 247 248config M5407 249 bool "MCF5407" 250 depends on !MMU 251 select COLDFIRE_SW_A7 252 select HAVE_CACHE_CB 253 select HAVE_MBAR 254 select CPU_NO_EFFICIENT_FFS 255 help 256 Motorola ColdFire 5407 processor support. 257 258config M547x 259 bool "MCF547x" 260 select M54xx 261 select MMU_COLDFIRE if MMU 262 select HAVE_CACHE_CB 263 select HAVE_MBAR 264 select CPU_NO_EFFICIENT_FFS 265 help 266 Freescale ColdFire 5470/5471/5472/5473/5474/5475 processor support. 267 268config M548x 269 bool "MCF548x" 270 select MMU_COLDFIRE if MMU 271 select M54xx 272 select HAVE_CACHE_CB 273 select HAVE_MBAR 274 select CPU_NO_EFFICIENT_FFS 275 help 276 Freescale ColdFire 5480/5481/5482/5483/5484/5485 processor support. 277 278config M5441x 279 bool "MCF5441x" 280 depends on !MMU 281 select GENERIC_CLOCKEVENTS 282 select HAVE_CACHE_CB 283 help 284 Freescale Coldfire 54410/54415/54416/54417/54418 processor support. 285 286endchoice 287 288config M527x 289 bool 290 291config M53xx 292 bool 293 294config M54xx 295 bool 296 297endif # COLDFIRE 298 299 300comment "Processor Specific Options" 301 302config M68KFPU_EMU 303 bool "Math emulation support" 304 depends on MMU 305 help 306 At some point in the future, this will cause floating-point math 307 instructions to be emulated by the kernel on machines that lack a 308 floating-point math coprocessor. Thrill-seekers and chronically 309 sleep-deprived psychotic hacker types can say Y now, everyone else 310 should probably wait a while. 311 312config M68KFPU_EMU_EXTRAPREC 313 bool "Math emulation extra precision" 314 depends on M68KFPU_EMU 315 help 316 The fpu uses normally a few bit more during calculations for 317 correct rounding, the emulator can (often) do the same but this 318 extra calculation can cost quite some time, so you can disable 319 it here. The emulator will then "only" calculate with a 64 bit 320 mantissa and round slightly incorrect, what is more than enough 321 for normal usage. 322 323config M68KFPU_EMU_ONLY 324 bool "Math emulation only kernel" 325 depends on M68KFPU_EMU 326 help 327 This option prevents any floating-point instructions from being 328 compiled into the kernel, thereby the kernel doesn't save any 329 floating point context anymore during task switches, so this 330 kernel will only be usable on machines without a floating-point 331 math coprocessor. This makes the kernel a bit faster as no tests 332 needs to be executed whether a floating-point instruction in the 333 kernel should be executed or not. 334 335config ADVANCED 336 bool "Advanced configuration options" 337 depends on MMU 338 ---help--- 339 This gives you access to some advanced options for the CPU. The 340 defaults should be fine for most users, but these options may make 341 it possible for you to improve performance somewhat if you know what 342 you are doing. 343 344 Note that the answer to this question won't directly affect the 345 kernel: saying N will just cause the configurator to skip all 346 the questions about these options. 347 348 Most users should say N to this question. 349 350config RMW_INSNS 351 bool "Use read-modify-write instructions" 352 depends on ADVANCED 353 ---help--- 354 This allows to use certain instructions that work with indivisible 355 read-modify-write bus cycles. While this is faster than the 356 workaround of disabling interrupts, it can conflict with DMA 357 ( = direct memory access) on many Amiga systems, and it is also said 358 to destabilize other machines. It is very likely that this will 359 cause serious problems on any Amiga or Atari Medusa if set. The only 360 configuration where it should work are 68030-based Ataris, where it 361 apparently improves performance. But you've been warned! Unless you 362 really know what you are doing, say N. Try Y only if you're quite 363 adventurous. 364 365config SINGLE_MEMORY_CHUNK 366 bool "Use one physical chunk of memory only" if ADVANCED && !SUN3 367 depends on MMU 368 default y if SUN3 369 select NEED_MULTIPLE_NODES 370 help 371 Ignore all but the first contiguous chunk of physical memory for VM 372 purposes. This will save a few bytes kernel size and may speed up 373 some operations. Say N if not sure. 374 375config ARCH_DISCONTIGMEM_ENABLE 376 def_bool MMU && !SINGLE_MEMORY_CHUNK 377 378config 060_WRITETHROUGH 379 bool "Use write-through caching for 68060 supervisor accesses" 380 depends on ADVANCED && M68060 381 ---help--- 382 The 68060 generally uses copyback caching of recently accessed data. 383 Copyback caching means that memory writes will be held in an on-chip 384 cache and only written back to memory some time later. Saying Y 385 here will force supervisor (kernel) accesses to use writethrough 386 caching. Writethrough caching means that data is written to memory 387 straight away, so that cache and memory data always agree. 388 Writethrough caching is less efficient, but is needed for some 389 drivers on 68060 based systems where the 68060 bus snooping signal 390 is hardwired on. The 53c710 SCSI driver is known to suffer from 391 this problem. 392 393config M68K_L2_CACHE 394 bool 395 depends on MAC 396 default y 397 398config NODES_SHIFT 399 int 400 default "3" 401 depends on !SINGLE_MEMORY_CHUNK 402 403config CPU_HAS_NO_BITFIELDS 404 bool 405 406config CPU_HAS_NO_MULDIV64 407 bool 408 409config CPU_HAS_NO_UNALIGNED 410 bool 411 412config CPU_HAS_ADDRESS_SPACES 413 bool 414 415config FPU 416 bool 417 418config COLDFIRE_SW_A7 419 bool 420 421config HAVE_CACHE_SPLIT 422 bool 423 424config HAVE_CACHE_CB 425 bool 426 427config HAVE_MBAR 428 bool 429 430config HAVE_IPSBAR 431 bool 432 433config CLOCK_FREQ 434 int "Set the core clock frequency" 435 default "25000000" if M5206 436 default "54000000" if M5206e 437 default "166666666" if M520x 438 default "140000000" if M5249 439 default "150000000" if M527x || M523x 440 default "90000000" if M5307 441 default "50000000" if M5407 442 default "266000000" if M54xx 443 default "66666666" 444 depends on COLDFIRE 445 help 446 Define the CPU clock frequency in use. This is the core clock 447 frequency, it may or may not be the same as the external clock 448 crystal fitted to your board. Some processors have an internal 449 PLL and can have their frequency programmed at run time, others 450 use internal dividers. In general the kernel won't setup a PLL 451 if it is fitted (there are some exceptions). This value will be 452 specific to the exact CPU that you are using. 453 454config OLDMASK 455 bool "Old mask 5307 (1H55J) silicon" 456 depends on M5307 457 help 458 Build support for the older revision ColdFire 5307 silicon. 459 Specifically this is the 1H55J mask revision. 460 461if HAVE_CACHE_SPLIT 462choice 463 prompt "Split Cache Configuration" 464 default CACHE_I 465 466config CACHE_I 467 bool "Instruction" 468 help 469 Use all of the ColdFire CPU cache memory as an instruction cache. 470 471config CACHE_D 472 bool "Data" 473 help 474 Use all of the ColdFire CPU cache memory as a data cache. 475 476config CACHE_BOTH 477 bool "Both" 478 help 479 Split the ColdFire CPU cache, and use half as an instruction cache 480 and half as a data cache. 481endchoice 482endif 483 484if HAVE_CACHE_CB 485choice 486 prompt "Data cache mode" 487 default CACHE_WRITETHRU 488 489config CACHE_WRITETHRU 490 bool "Write-through" 491 help 492 The ColdFire CPU cache is set into Write-through mode. 493 494config CACHE_COPYBACK 495 bool "Copy-back" 496 help 497 The ColdFire CPU cache is set into Copy-back mode. 498endchoice 499endif 500 501