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