1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 20e152d80SGreg Ungerercomment "Processor Type" 30e152d80SGreg Ungerer 4ad8f955dSGeert Uytterhoevenchoice 5ad8f955dSGeert Uytterhoeven prompt "CPU family support" 6ad8f955dSGeert Uytterhoeven default M68KCLASSIC if MMU 7ad8f955dSGeert Uytterhoeven default COLDFIRE if !MMU 8ad8f955dSGeert Uytterhoeven help 9ad8f955dSGeert Uytterhoeven The Freescale (was Motorola) M68K family of processors implements 10ad8f955dSGeert Uytterhoeven the full 68000 processor instruction set. 116b2aac42SMasanari Iida The Freescale ColdFire family of processors is a modern derivative 12ad8f955dSGeert Uytterhoeven of the 68000 processor family. They are mainly targeted at embedded 13ad8f955dSGeert Uytterhoeven applications, and are all System-On-Chip (SOC) devices, as opposed 14ad8f955dSGeert Uytterhoeven to stand alone CPUs. They implement a subset of the original 68000 15ad8f955dSGeert Uytterhoeven processor instruction set. 16ad8f955dSGeert Uytterhoeven If you anticipate running this kernel on a computer with a classic 17ad8f955dSGeert Uytterhoeven MC68xxx processor, select M68KCLASSIC. 18ad8f955dSGeert Uytterhoeven If you anticipate running this kernel on a computer with a ColdFire 19ad8f955dSGeert Uytterhoeven processor, select COLDFIRE. 20ad8f955dSGeert Uytterhoeven 21ad8f955dSGeert Uytterhoevenconfig M68KCLASSIC 22ad8f955dSGeert Uytterhoeven bool "Classic M68K CPU family support" 23fcd353a3SMike Rapoport select HAVE_ARCH_PFN_VALID 24ad8f955dSGeert Uytterhoeven 25ad8f955dSGeert Uytterhoevenconfig COLDFIRE 26ad8f955dSGeert Uytterhoeven bool "Coldfire CPU family support" 27ad8f955dSGeert Uytterhoeven select CPU_HAS_NO_BITFIELDS 282189e928SGeert Uytterhoeven select CPU_HAS_NO_CAS 29ad8f955dSGeert Uytterhoeven select CPU_HAS_NO_MULDIV64 30ad8f955dSGeert Uytterhoeven select GENERIC_CSUM 31e05f2e18SLinus Walleij select GPIOLIB 32bbd7ffdbSStephen Boyd select HAVE_LEGACY_CLK 33*5394f1e9SArnd Bergmann select HAVE_PAGE_SIZE_8KB if !MMU 34ad8f955dSGeert Uytterhoeven 35ad8f955dSGeert Uytterhoevenendchoice 36ad8f955dSGeert Uytterhoeven 37ad8f955dSGeert Uytterhoevenif M68KCLASSIC 38ad8f955dSGeert Uytterhoeven 390e152d80SGreg Ungererconfig M68000 406b8be804SGreg Ungerer def_bool y 419da1a84aSLuis Alves depends on !MMU 420e152d80SGreg Ungerer select CPU_HAS_NO_BITFIELDS 432189e928SGeert Uytterhoeven select CPU_HAS_NO_CAS 4484f3fb7aSGreg Ungerer select CPU_HAS_NO_MULDIV64 459f1f1180SGeert Uytterhoeven select CPU_HAS_NO_UNALIGNED 467f73bafcSGreg Ungerer select GENERIC_CSUM 47fff7fb0bSZhaoxiu Zeng select CPU_NO_EFFICIENT_FFS 4814c44b95SGeorge Spelvin select HAVE_ARCH_HASH 49*5394f1e9SArnd Bergmann select HAVE_PAGE_SIZE_4KB 5018011e50SGreg Ungerer select LEGACY_TIMER_TICK 510e152d80SGreg Ungerer help 520e152d80SGreg Ungerer The Freescale (was Motorola) 68000 CPU is the first generation of 530e152d80SGreg Ungerer the well known M68K family of processors. The CPU core as well as 540e152d80SGreg Ungerer being available as a stand alone CPU was also used in many 550e152d80SGreg Ungerer System-On-Chip devices (eg 68328, 68302, etc). It does not contain 560e152d80SGreg Ungerer a paging MMU. 570e152d80SGreg Ungerer 580e152d80SGreg Ungererconfig M68020 590e152d80SGreg Ungerer bool "68020 support" 600e152d80SGreg Ungerer depends on MMU 61e5f8d1f0SGreg Ungerer select FPU 62e08d703cSGreg Ungerer select CPU_HAS_ADDRESS_SPACES 630e152d80SGreg Ungerer help 640e152d80SGreg Ungerer If you anticipate running this kernel on a computer with a MC68020 650e152d80SGreg Ungerer processor, say Y. Otherwise, say N. Note that the 68020 requires a 660e152d80SGreg Ungerer 68851 MMU (Memory Management Unit) to run Linux/m68k, except on the 670e152d80SGreg Ungerer Sun 3, which provides its own version. 680e152d80SGreg Ungerer 690e152d80SGreg Ungererconfig M68030 700e152d80SGreg Ungerer bool "68030 support" 710e152d80SGreg Ungerer depends on MMU && !MMU_SUN3 72e5f8d1f0SGreg Ungerer select FPU 73e08d703cSGreg Ungerer select CPU_HAS_ADDRESS_SPACES 740e152d80SGreg Ungerer help 750e152d80SGreg Ungerer If you anticipate running this kernel on a computer with a MC68030 760e152d80SGreg Ungerer processor, say Y. Otherwise, say N. Note that a MC68EC030 will not 770e152d80SGreg Ungerer work, as it does not include an MMU (Memory Management Unit). 780e152d80SGreg Ungerer 790e152d80SGreg Ungererconfig M68040 800e152d80SGreg Ungerer bool "68040 support" 810e152d80SGreg Ungerer depends on MMU && !MMU_SUN3 82e5f8d1f0SGreg Ungerer select FPU 83e08d703cSGreg Ungerer select CPU_HAS_ADDRESS_SPACES 840e152d80SGreg Ungerer help 850e152d80SGreg Ungerer If you anticipate running this kernel on a computer with a MC68LC040 860e152d80SGreg Ungerer or MC68040 processor, say Y. Otherwise, say N. Note that an 870e152d80SGreg Ungerer MC68EC040 will not work, as it does not include an MMU (Memory 880e152d80SGreg Ungerer Management Unit). 890e152d80SGreg Ungerer 900e152d80SGreg Ungererconfig M68060 910e152d80SGreg Ungerer bool "68060 support" 920e152d80SGreg Ungerer depends on MMU && !MMU_SUN3 93e5f8d1f0SGreg Ungerer select FPU 94e08d703cSGreg Ungerer select CPU_HAS_ADDRESS_SPACES 950e152d80SGreg Ungerer help 960e152d80SGreg Ungerer If you anticipate running this kernel on a computer with a MC68060 970e152d80SGreg Ungerer processor, say Y. Otherwise, say N. 980e152d80SGreg Ungerer 990e152d80SGreg Ungererconfig M68328 1008b22820eSArnd Bergmann bool 1010e152d80SGreg Ungerer depends on !MMU 1020e152d80SGreg Ungerer select M68000 1030e152d80SGreg Ungerer help 1040e152d80SGreg Ungerer Motorola 68328 processor support. 1050e152d80SGreg Ungerer 1060e152d80SGreg Ungererconfig M68EZ328 1078b22820eSArnd Bergmann bool 1080e152d80SGreg Ungerer depends on !MMU 1090e152d80SGreg Ungerer select M68000 1100e152d80SGreg Ungerer help 1110e152d80SGreg Ungerer Motorola 68EX328 processor support. 1120e152d80SGreg Ungerer 1130e152d80SGreg Ungererconfig M68VZ328 1148b22820eSArnd Bergmann bool 1150e152d80SGreg Ungerer depends on !MMU 1160e152d80SGreg Ungerer select M68000 1170e152d80SGreg Ungerer help 1180e152d80SGreg Ungerer Motorola 68VZ328 processor support. 1190e152d80SGreg Ungerer 120ad8f955dSGeert Uytterhoevenendif # M68KCLASSIC 121ad8f955dSGeert Uytterhoeven 122ad8f955dSGeert Uytterhoevenif COLDFIRE 123ad8f955dSGeert Uytterhoeven 124fa95a1ddSGreg Ungererchoice 125fa95a1ddSGreg Ungerer prompt "ColdFire SoC type" 126fa95a1ddSGreg Ungerer default M520x 127fa95a1ddSGreg Ungerer help 128fa95a1ddSGreg Ungerer Select the type of ColdFire System-on-Chip (SoC) that you want 129fa95a1ddSGreg Ungerer to build for. 130fa95a1ddSGreg Ungerer 1310e152d80SGreg Ungererconfig M5206 1320e152d80SGreg Ungerer bool "MCF5206" 1330e152d80SGreg Ungerer depends on !MMU 1340e152d80SGreg Ungerer select COLDFIRE_SW_A7 135275e70e4SArnd Bergmann select COLDFIRE_TIMERS 1360e152d80SGreg Ungerer select HAVE_MBAR 137fff7fb0bSZhaoxiu Zeng select CPU_NO_EFFICIENT_FFS 1380e152d80SGreg Ungerer help 1390e152d80SGreg Ungerer Motorola ColdFire 5206 processor support. 1400e152d80SGreg Ungerer 1410e152d80SGreg Ungererconfig M5206e 1420e152d80SGreg Ungerer bool "MCF5206e" 1430e152d80SGreg Ungerer depends on !MMU 1440e152d80SGreg Ungerer select COLDFIRE_SW_A7 145275e70e4SArnd Bergmann select COLDFIRE_TIMERS 1460e152d80SGreg Ungerer select HAVE_MBAR 147fff7fb0bSZhaoxiu Zeng select CPU_NO_EFFICIENT_FFS 1480e152d80SGreg Ungerer help 1490e152d80SGreg Ungerer Motorola ColdFire 5206e processor support. 1500e152d80SGreg Ungerer 1510e152d80SGreg Ungererconfig M520x 1520e152d80SGreg Ungerer bool "MCF520x" 1530e152d80SGreg Ungerer depends on !MMU 154275e70e4SArnd Bergmann select COLDFIRE_PIT_TIMER 1550e152d80SGreg Ungerer select HAVE_CACHE_SPLIT 1560e152d80SGreg Ungerer help 1570e152d80SGreg Ungerer Freescale Coldfire 5207/5208 processor support. 1580e152d80SGreg Ungerer 1590e152d80SGreg Ungererconfig M523x 1600e152d80SGreg Ungerer bool "MCF523x" 1610e152d80SGreg Ungerer depends on !MMU 162275e70e4SArnd Bergmann select COLDFIRE_PIT_TIMER 1630e152d80SGreg Ungerer select HAVE_CACHE_SPLIT 1640e152d80SGreg Ungerer select HAVE_IPSBAR 1650e152d80SGreg Ungerer help 1660e152d80SGreg Ungerer Freescale Coldfire 5230/1/2/4/5 processor support 1670e152d80SGreg Ungerer 1680e152d80SGreg Ungererconfig M5249 1690e152d80SGreg Ungerer bool "MCF5249" 1700e152d80SGreg Ungerer depends on !MMU 1710e152d80SGreg Ungerer select COLDFIRE_SW_A7 172275e70e4SArnd Bergmann select COLDFIRE_TIMERS 1730e152d80SGreg Ungerer select HAVE_MBAR 174fff7fb0bSZhaoxiu Zeng select CPU_NO_EFFICIENT_FFS 1750e152d80SGreg Ungerer help 1760e152d80SGreg Ungerer Motorola ColdFire 5249 processor support. 1770e152d80SGreg Ungerer 17804e037aaSSteven Kingconfig M525x 17904e037aaSSteven King bool "MCF525x" 18004e037aaSSteven King depends on !MMU 18104e037aaSSteven King select COLDFIRE_SW_A7 182275e70e4SArnd Bergmann select COLDFIRE_TIMERS 18304e037aaSSteven King select HAVE_MBAR 184fff7fb0bSZhaoxiu Zeng select CPU_NO_EFFICIENT_FFS 18504e037aaSSteven King help 18604e037aaSSteven King Freescale (Motorola) Coldfire 5251/5253 processor support. 18704e037aaSSteven King 1880e152d80SGreg Ungererconfig M5271 1890e152d80SGreg Ungerer bool "MCF5271" 1900e152d80SGreg Ungerer depends on !MMU 191275e70e4SArnd Bergmann select COLDFIRE_PIT_TIMER 1920e152d80SGreg Ungerer select M527x 1930e152d80SGreg Ungerer select HAVE_CACHE_SPLIT 1940e152d80SGreg Ungerer select HAVE_IPSBAR 1950e152d80SGreg Ungerer help 1960e152d80SGreg Ungerer Freescale (Motorola) ColdFire 5270/5271 processor support. 1970e152d80SGreg Ungerer 1980e152d80SGreg Ungererconfig M5272 1990e152d80SGreg Ungerer bool "MCF5272" 2000e152d80SGreg Ungerer depends on !MMU 2010e152d80SGreg Ungerer select COLDFIRE_SW_A7 202275e70e4SArnd Bergmann select COLDFIRE_TIMERS 2030e152d80SGreg Ungerer select HAVE_MBAR 204fff7fb0bSZhaoxiu Zeng select CPU_NO_EFFICIENT_FFS 2050e152d80SGreg Ungerer help 2060e152d80SGreg Ungerer Motorola ColdFire 5272 processor support. 2070e152d80SGreg Ungerer 2080e152d80SGreg Ungererconfig M5275 2090e152d80SGreg Ungerer bool "MCF5275" 2100e152d80SGreg Ungerer depends on !MMU 211275e70e4SArnd Bergmann select COLDFIRE_PIT_TIMER 2120e152d80SGreg Ungerer select M527x 2130e152d80SGreg Ungerer select HAVE_CACHE_SPLIT 2140e152d80SGreg Ungerer select HAVE_IPSBAR 2150e152d80SGreg Ungerer help 2160e152d80SGreg Ungerer Freescale (Motorola) ColdFire 5274/5275 processor support. 2170e152d80SGreg Ungerer 2180e152d80SGreg Ungererconfig M528x 2190e152d80SGreg Ungerer bool "MCF528x" 2200e152d80SGreg Ungerer depends on !MMU 221275e70e4SArnd Bergmann select COLDFIRE_PIT_TIMER 2220e152d80SGreg Ungerer select HAVE_CACHE_SPLIT 2230e152d80SGreg Ungerer select HAVE_IPSBAR 2240e152d80SGreg Ungerer help 2250e152d80SGreg Ungerer Motorola ColdFire 5280/5282 processor support. 2260e152d80SGreg Ungerer 2270e152d80SGreg Ungererconfig M5307 2280e152d80SGreg Ungerer bool "MCF5307" 2290e152d80SGreg Ungerer depends on !MMU 230275e70e4SArnd Bergmann select COLDFIRE_TIMERS 2310e152d80SGreg Ungerer select COLDFIRE_SW_A7 2320e152d80SGreg Ungerer select HAVE_CACHE_CB 2330e152d80SGreg Ungerer select HAVE_MBAR 234fff7fb0bSZhaoxiu Zeng select CPU_NO_EFFICIENT_FFS 2350e152d80SGreg Ungerer help 2360e152d80SGreg Ungerer Motorola ColdFire 5307 processor support. 2370e152d80SGreg Ungerer 2380e152d80SGreg Ungererconfig M532x 2390e152d80SGreg Ungerer bool "MCF532x" 2400e152d80SGreg Ungerer depends on !MMU 241275e70e4SArnd Bergmann select COLDFIRE_TIMERS 2426eac4027SGreg Ungerer select M53xx 2430e152d80SGreg Ungerer select HAVE_CACHE_CB 2440e152d80SGreg Ungerer help 2450e152d80SGreg Ungerer Freescale (Motorola) ColdFire 532x processor support. 2460e152d80SGreg Ungerer 247e9d9dc6aSGreg Ungererconfig M537x 248e9d9dc6aSGreg Ungerer bool "MCF537x" 249e9d9dc6aSGreg Ungerer depends on !MMU 250275e70e4SArnd Bergmann select COLDFIRE_TIMERS 251e9d9dc6aSGreg Ungerer select M53xx 252e9d9dc6aSGreg Ungerer select HAVE_CACHE_CB 253e9d9dc6aSGreg Ungerer help 254e9d9dc6aSGreg Ungerer Freescale ColdFire 537x processor support. 255e9d9dc6aSGreg Ungerer 2560e152d80SGreg Ungererconfig M5407 2570e152d80SGreg Ungerer bool "MCF5407" 2580e152d80SGreg Ungerer depends on !MMU 2590e152d80SGreg Ungerer select COLDFIRE_SW_A7 260275e70e4SArnd Bergmann select COLDFIRE_TIMERS 2610e152d80SGreg Ungerer select HAVE_CACHE_CB 2620e152d80SGreg Ungerer select HAVE_MBAR 263fff7fb0bSZhaoxiu Zeng select CPU_NO_EFFICIENT_FFS 2640e152d80SGreg Ungerer help 2650e152d80SGreg Ungerer Motorola ColdFire 5407 processor support. 2660e152d80SGreg Ungerer 2670e152d80SGreg Ungererconfig M547x 2680e152d80SGreg Ungerer bool "MCF547x" 2690e152d80SGreg Ungerer select M54xx 270275e70e4SArnd Bergmann select COLDFIRE_SLTIMERS 2711f7034b9SGreg Ungerer select MMU_COLDFIRE if MMU 272e5f8d1f0SGreg Ungerer select FPU if MMU 2730e152d80SGreg Ungerer select HAVE_CACHE_CB 2740e152d80SGreg Ungerer select HAVE_MBAR 275fff7fb0bSZhaoxiu Zeng select CPU_NO_EFFICIENT_FFS 2760e152d80SGreg Ungerer help 2770e152d80SGreg Ungerer Freescale ColdFire 5470/5471/5472/5473/5474/5475 processor support. 2780e152d80SGreg Ungerer 2790e152d80SGreg Ungererconfig M548x 2800e152d80SGreg Ungerer bool "MCF548x" 281275e70e4SArnd Bergmann select COLDFIRE_SLTIMERS 2821f7034b9SGreg Ungerer select MMU_COLDFIRE if MMU 283e5f8d1f0SGreg Ungerer select FPU if MMU 2840e152d80SGreg Ungerer select M54xx 2850e152d80SGreg Ungerer select HAVE_CACHE_CB 2860e152d80SGreg Ungerer select HAVE_MBAR 287fff7fb0bSZhaoxiu Zeng select CPU_NO_EFFICIENT_FFS 2880e152d80SGreg Ungerer help 2890e152d80SGreg Ungerer Freescale ColdFire 5480/5481/5482/5483/5484/5485 processor support. 2900e152d80SGreg Ungerer 291bea8bcb1SSteven Kingconfig M5441x 292bea8bcb1SSteven King bool "MCF5441x" 293275e70e4SArnd Bergmann select COLDFIRE_PIT_TIMER 294b47c7b6fSGreg Ungerer select MMU_COLDFIRE if MMU 295bea8bcb1SSteven King select HAVE_CACHE_CB 296bea8bcb1SSteven King help 297bea8bcb1SSteven King Freescale Coldfire 54410/54415/54416/54417/54418 processor support. 298bea8bcb1SSteven King 299fa95a1ddSGreg Ungererendchoice 300fa95a1ddSGreg Ungerer 301fa95a1ddSGreg Ungererconfig M527x 302fa95a1ddSGreg Ungerer bool 303fa95a1ddSGreg Ungerer 304fa95a1ddSGreg Ungererconfig M53xx 305fa95a1ddSGreg Ungerer bool 306fa95a1ddSGreg Ungerer 307fa95a1ddSGreg Ungererconfig M54xx 308eb01d42aSChristoph Hellwig select HAVE_PCI 309fa95a1ddSGreg Ungerer bool 310fa95a1ddSGreg Ungerer 311275e70e4SArnd Bergmannconfig COLDFIRE_PIT_TIMER 312275e70e4SArnd Bergmann bool 313275e70e4SArnd Bergmann 314275e70e4SArnd Bergmannconfig COLDFIRE_TIMERS 315275e70e4SArnd Bergmann bool 316275e70e4SArnd Bergmann select LEGACY_TIMER_TICK 317275e70e4SArnd Bergmann 318275e70e4SArnd Bergmannconfig COLDFIRE_SLTIMERS 319275e70e4SArnd Bergmann bool 320275e70e4SArnd Bergmann select LEGACY_TIMER_TICK 321275e70e4SArnd Bergmann 322ad8f955dSGeert Uytterhoevenendif # COLDFIRE 323ad8f955dSGeert Uytterhoeven 3240e152d80SGreg Ungerercomment "Processor Specific Options" 3250e152d80SGreg Ungerer 3260e152d80SGreg Ungererconfig M68KFPU_EMU 327112f8b12SKees Cook bool "Math emulation support" 328ed6bc6bfSGeert Uytterhoeven depends on M68KCLASSIC && FPU 3290e152d80SGreg Ungerer help 3300e152d80SGreg Ungerer At some point in the future, this will cause floating-point math 3310e152d80SGreg Ungerer instructions to be emulated by the kernel on machines that lack a 3320e152d80SGreg Ungerer floating-point math coprocessor. Thrill-seekers and chronically 3330e152d80SGreg Ungerer sleep-deprived psychotic hacker types can say Y now, everyone else 3340e152d80SGreg Ungerer should probably wait a while. 3350e152d80SGreg Ungerer 3360e152d80SGreg Ungererconfig M68KFPU_EMU_EXTRAPREC 3370e152d80SGreg Ungerer bool "Math emulation extra precision" 3380e152d80SGreg Ungerer depends on M68KFPU_EMU 3390e152d80SGreg Ungerer help 3400e152d80SGreg Ungerer The fpu uses normally a few bit more during calculations for 3410e152d80SGreg Ungerer correct rounding, the emulator can (often) do the same but this 3420e152d80SGreg Ungerer extra calculation can cost quite some time, so you can disable 3430e152d80SGreg Ungerer it here. The emulator will then "only" calculate with a 64 bit 3440e152d80SGreg Ungerer mantissa and round slightly incorrect, what is more than enough 3450e152d80SGreg Ungerer for normal usage. 3460e152d80SGreg Ungerer 3470e152d80SGreg Ungererconfig M68KFPU_EMU_ONLY 3480e152d80SGreg Ungerer bool "Math emulation only kernel" 3490e152d80SGreg Ungerer depends on M68KFPU_EMU 3500e152d80SGreg Ungerer help 3510e152d80SGreg Ungerer This option prevents any floating-point instructions from being 3520e152d80SGreg Ungerer compiled into the kernel, thereby the kernel doesn't save any 3530e152d80SGreg Ungerer floating point context anymore during task switches, so this 3540e152d80SGreg Ungerer kernel will only be usable on machines without a floating-point 3550e152d80SGreg Ungerer math coprocessor. This makes the kernel a bit faster as no tests 3560e152d80SGreg Ungerer needs to be executed whether a floating-point instruction in the 3570e152d80SGreg Ungerer kernel should be executed or not. 3580e152d80SGreg Ungerer 3590e152d80SGreg Ungererconfig ADVANCED 3600e152d80SGreg Ungerer bool "Advanced configuration options" 3610e152d80SGreg Ungerer depends on MMU 362a7f7f624SMasahiro Yamada help 3630e152d80SGreg Ungerer This gives you access to some advanced options for the CPU. The 3640e152d80SGreg Ungerer defaults should be fine for most users, but these options may make 3650e152d80SGreg Ungerer it possible for you to improve performance somewhat if you know what 3660e152d80SGreg Ungerer you are doing. 3670e152d80SGreg Ungerer 3680e152d80SGreg Ungerer Note that the answer to this question won't directly affect the 3690e152d80SGreg Ungerer kernel: saying N will just cause the configurator to skip all 3700e152d80SGreg Ungerer the questions about these options. 3710e152d80SGreg Ungerer 3720e152d80SGreg Ungerer Most users should say N to this question. 3730e152d80SGreg Ungerer 3740e152d80SGreg Ungererconfig RMW_INSNS 3750e152d80SGreg Ungerer bool "Use read-modify-write instructions" 3762189e928SGeert Uytterhoeven depends on ADVANCED && !CPU_HAS_NO_CAS 377a7f7f624SMasahiro Yamada help 3780e152d80SGreg Ungerer This allows to use certain instructions that work with indivisible 3790e152d80SGreg Ungerer read-modify-write bus cycles. While this is faster than the 3800e152d80SGreg Ungerer workaround of disabling interrupts, it can conflict with DMA 3810e152d80SGreg Ungerer ( = direct memory access) on many Amiga systems, and it is also said 3820e152d80SGreg Ungerer to destabilize other machines. It is very likely that this will 3830e152d80SGreg Ungerer cause serious problems on any Amiga or Atari Medusa if set. The only 3840e152d80SGreg Ungerer configuration where it should work are 68030-based Ataris, where it 3850e152d80SGreg Ungerer apparently improves performance. But you've been warned! Unless you 3860e152d80SGreg Ungerer really know what you are doing, say N. Try Y only if you're quite 3870e152d80SGreg Ungerer adventurous. 3880e152d80SGreg Ungerer 3890e152d80SGreg Ungererconfig SINGLE_MEMORY_CHUNK 3900e152d80SGreg Ungerer bool "Use one physical chunk of memory only" if ADVANCED && !SUN3 3910e152d80SGreg Ungerer depends on MMU 3926b2ad8d7SMike Rapoport default y if SUN3 || MMU_COLDFIRE 3930e152d80SGreg Ungerer help 3940e152d80SGreg Ungerer Ignore all but the first contiguous chunk of physical memory for VM 3950e152d80SGreg Ungerer purposes. This will save a few bytes kernel size and may speed up 396fcd353a3SMike Rapoport some operations. 397fcd353a3SMike Rapoport When this option os set to N, you may want to lower "Maximum zone 398fcd353a3SMike Rapoport order" to save memory that could be wasted for unused memory map. 399fcd353a3SMike Rapoport Say N if not sure. 4000e152d80SGreg Ungerer 4010192445cSZi Yanconfig ARCH_FORCE_MAX_ORDER 4027a5b272eSMike Rapoport (IBM) int "Order of maximal physically contiguous allocations" if ADVANCED 403fcd353a3SMike Rapoport depends on !SINGLE_MEMORY_CHUNK 40423baf831SKirill A. Shutemov default "10" 405fcd353a3SMike Rapoport help 4067a5b272eSMike Rapoport (IBM) The kernel page allocator limits the size of maximal physically 4075e0a760bSKirill A. Shutemov contiguous allocations. The limit is called MAX_PAGE_ORDER and it 4087a5b272eSMike Rapoport (IBM) defines the maximal power of two of number of pages that can be 4097a5b272eSMike Rapoport (IBM) allocated as a single contiguous block. This option allows 4107a5b272eSMike Rapoport (IBM) overriding the default setting when ability to allocate very 4117a5b272eSMike Rapoport (IBM) large blocks of physically contiguous memory is required. 412fcd353a3SMike Rapoport 413fcd353a3SMike Rapoport For systems that have holes in their physical address space this 414fcd353a3SMike Rapoport value also defines the minimal size of the hole that allows 415fcd353a3SMike Rapoport freeing unused memory map. 416fcd353a3SMike Rapoport 4177a5b272eSMike Rapoport (IBM) Don't change if unsure. 418fcd353a3SMike Rapoport 4190e152d80SGreg Ungererconfig 060_WRITETHROUGH 4200e152d80SGreg Ungerer bool "Use write-through caching for 68060 supervisor accesses" 4210e152d80SGreg Ungerer depends on ADVANCED && M68060 422a7f7f624SMasahiro Yamada help 4230e152d80SGreg Ungerer The 68060 generally uses copyback caching of recently accessed data. 4240e152d80SGreg Ungerer Copyback caching means that memory writes will be held in an on-chip 4250e152d80SGreg Ungerer cache and only written back to memory some time later. Saying Y 4260e152d80SGreg Ungerer here will force supervisor (kernel) accesses to use writethrough 4270e152d80SGreg Ungerer caching. Writethrough caching means that data is written to memory 4280e152d80SGreg Ungerer straight away, so that cache and memory data always agree. 4290e152d80SGreg Ungerer Writethrough caching is less efficient, but is needed for some 4300e152d80SGreg Ungerer drivers on 68060 based systems where the 68060 bus snooping signal 4310e152d80SGreg Ungerer is hardwired on. The 53c710 SCSI driver is known to suffer from 4320e152d80SGreg Ungerer this problem. 4330e152d80SGreg Ungerer 4340e152d80SGreg Ungererconfig M68K_L2_CACHE 4350e152d80SGreg Ungerer bool 4360e152d80SGreg Ungerer depends on MAC 4370e152d80SGreg Ungerer default y 4380e152d80SGreg Ungerer 439022613e0SGeert Uytterhoevenconfig CPU_HAS_NO_BITFIELDS 440022613e0SGeert Uytterhoeven bool 441022613e0SGeert Uytterhoeven 4422189e928SGeert Uytterhoevenconfig CPU_HAS_NO_CAS 4432189e928SGeert Uytterhoeven bool 4442189e928SGeert Uytterhoeven 445022613e0SGeert Uytterhoevenconfig CPU_HAS_NO_MULDIV64 446022613e0SGeert Uytterhoeven bool 447022613e0SGeert Uytterhoeven 4489f1f1180SGeert Uytterhoevenconfig CPU_HAS_NO_UNALIGNED 4499f1f1180SGeert Uytterhoeven bool 4509f1f1180SGeert Uytterhoeven 451022613e0SGeert Uytterhoevenconfig CPU_HAS_ADDRESS_SPACES 452022613e0SGeert Uytterhoeven bool 45312700c17SArnd Bergmann select ALTERNATE_USER_ADDRESS_SPACE 454022613e0SGeert Uytterhoeven 4550e152d80SGreg Ungererconfig FPU 4560e152d80SGreg Ungerer bool 4570e152d80SGreg Ungerer 4580e152d80SGreg Ungererconfig COLDFIRE_SW_A7 4590e152d80SGreg Ungerer bool 4600e152d80SGreg Ungerer 4610e152d80SGreg Ungererconfig HAVE_CACHE_SPLIT 4620e152d80SGreg Ungerer bool 4630e152d80SGreg Ungerer 4640e152d80SGreg Ungererconfig HAVE_CACHE_CB 4650e152d80SGreg Ungerer bool 4660e152d80SGreg Ungerer 4670e152d80SGreg Ungererconfig HAVE_MBAR 4680e152d80SGreg Ungerer bool 4690e152d80SGreg Ungerer 4700e152d80SGreg Ungererconfig HAVE_IPSBAR 4710e152d80SGreg Ungerer bool 4720e152d80SGreg Ungerer 4730e152d80SGreg Ungererconfig CLOCK_FREQ 4740e152d80SGreg Ungerer int "Set the core clock frequency" 47515c2ca4eSGreg Ungerer default "25000000" if M5206 47615c2ca4eSGreg Ungerer default "54000000" if M5206e 47715c2ca4eSGreg Ungerer default "166666666" if M520x 47815c2ca4eSGreg Ungerer default "140000000" if M5249 47915c2ca4eSGreg Ungerer default "150000000" if M527x || M523x 48015c2ca4eSGreg Ungerer default "90000000" if M5307 48115c2ca4eSGreg Ungerer default "50000000" if M5407 48215c2ca4eSGreg Ungerer default "266000000" if M54xx 4830e152d80SGreg Ungerer default "66666666" 484d9ee4896SGreg Ungerer depends on COLDFIRE 4850e152d80SGreg Ungerer help 4860e152d80SGreg Ungerer Define the CPU clock frequency in use. This is the core clock 4870e152d80SGreg Ungerer frequency, it may or may not be the same as the external clock 4880e152d80SGreg Ungerer crystal fitted to your board. Some processors have an internal 4890e152d80SGreg Ungerer PLL and can have their frequency programmed at run time, others 4900e152d80SGreg Ungerer use internal dividers. In general the kernel won't setup a PLL 4910e152d80SGreg Ungerer if it is fitted (there are some exceptions). This value will be 4920e152d80SGreg Ungerer specific to the exact CPU that you are using. 4930e152d80SGreg Ungerer 4940e152d80SGreg Ungererconfig OLDMASK 4950e152d80SGreg Ungerer bool "Old mask 5307 (1H55J) silicon" 4960e152d80SGreg Ungerer depends on M5307 4970e152d80SGreg Ungerer help 4980e152d80SGreg Ungerer Build support for the older revision ColdFire 5307 silicon. 4990e152d80SGreg Ungerer Specifically this is the 1H55J mask revision. 5000e152d80SGreg Ungerer 5010e152d80SGreg Ungererif HAVE_CACHE_SPLIT 5020e152d80SGreg Ungererchoice 5030e152d80SGreg Ungerer prompt "Split Cache Configuration" 5040e152d80SGreg Ungerer default CACHE_I 5050e152d80SGreg Ungerer 5060e152d80SGreg Ungererconfig CACHE_I 5070e152d80SGreg Ungerer bool "Instruction" 5080e152d80SGreg Ungerer help 5090e152d80SGreg Ungerer Use all of the ColdFire CPU cache memory as an instruction cache. 5100e152d80SGreg Ungerer 5110e152d80SGreg Ungererconfig CACHE_D 5120e152d80SGreg Ungerer bool "Data" 5130e152d80SGreg Ungerer help 5140e152d80SGreg Ungerer Use all of the ColdFire CPU cache memory as a data cache. 5150e152d80SGreg Ungerer 5160e152d80SGreg Ungererconfig CACHE_BOTH 5170e152d80SGreg Ungerer bool "Both" 5180e152d80SGreg Ungerer help 5190e152d80SGreg Ungerer Split the ColdFire CPU cache, and use half as an instruction cache 5200e152d80SGreg Ungerer and half as a data cache. 5210e152d80SGreg Ungererendchoice 522a1ab4c1cSJuerg Haefligerendif # HAVE_CACHE_SPLIT 5230e152d80SGreg Ungerer 5240e152d80SGreg Ungererif HAVE_CACHE_CB 5250e152d80SGreg Ungererchoice 5260e152d80SGreg Ungerer prompt "Data cache mode" 5270e152d80SGreg Ungerer default CACHE_WRITETHRU 5280e152d80SGreg Ungerer 5290e152d80SGreg Ungererconfig CACHE_WRITETHRU 5300e152d80SGreg Ungerer bool "Write-through" 5310e152d80SGreg Ungerer help 5320e152d80SGreg Ungerer The ColdFire CPU cache is set into Write-through mode. 5330e152d80SGreg Ungerer 5340e152d80SGreg Ungererconfig CACHE_COPYBACK 5350e152d80SGreg Ungerer bool "Copy-back" 5360e152d80SGreg Ungerer help 5370e152d80SGreg Ungerer The ColdFire CPU cache is set into Copy-back mode. 5380e152d80SGreg Ungererendchoice 539a1ab4c1cSJuerg Haefligerendif # HAVE_CACHE_CB 5409e28bf8bSChristoph Hellwig 5419e28bf8bSChristoph Hellwig# Coldfire cores that do not have a data cache configured can do coherent DMA. 5429e28bf8bSChristoph Hellwigconfig COLDFIRE_COHERENT_DMA 5439e28bf8bSChristoph Hellwig bool 5449e28bf8bSChristoph Hellwig default y 5459e28bf8bSChristoph Hellwig depends on COLDFIRE 5469e28bf8bSChristoph Hellwig depends on !HAVE_CACHE_CB && !CACHE_D && !CACHE_BOTH 5479e28bf8bSChristoph Hellwig 5489e28bf8bSChristoph Hellwigconfig M68K_NONCOHERENT_DMA 5499e28bf8bSChristoph Hellwig bool 5509e28bf8bSChristoph Hellwig default y 5519e28bf8bSChristoph Hellwig depends on HAS_DMA && !COLDFIRE_COHERENT_DMA 552