| comment "Processor Type" | |
| choice | |
| prompt "CPU family support" | |
| default M68KCLASSIC if MMU | |
| default COLDFIRE if !MMU | |
| help | |
| The Freescale (was Motorola) M68K family of processors implements | |
| the full 68000 processor instruction set. | |
| The Freescale ColdFire family of processors is a modern derivative | |
| of the 68000 processor family. They are mainly targeted at embedded | |
| applications, and are all System-On-Chip (SOC) devices, as opposed | |
| to stand alone CPUs. They implement a subset of the original 68000 | |
| processor instruction set. | |
| If you anticipate running this kernel on a computer with a classic | |
| MC68xxx processor, select M68KCLASSIC. | |
| If you anticipate running this kernel on a computer with a ColdFire | |
| processor, select COLDFIRE. | |
| config M68KCLASSIC | |
| bool "Classic M68K CPU family support" | |
| config COLDFIRE | |
| bool "Coldfire CPU family support" | |
| select ARCH_REQUIRE_GPIOLIB | |
| select ARCH_HAVE_CUSTOM_GPIO_H | |
| select CPU_HAS_NO_BITFIELDS | |
| select CPU_HAS_NO_MULDIV64 | |
| select GENERIC_CSUM | |
| select HAVE_CLK | |
| endchoice | |
| if M68KCLASSIC | |
| config M68000 | |
| bool "MC68000" | |
| depends on !MMU | |
| select CPU_HAS_NO_BITFIELDS | |
| select CPU_HAS_NO_MULDIV64 | |
| select CPU_HAS_NO_UNALIGNED | |
| select GENERIC_CSUM | |
| help | |
| The Freescale (was Motorola) 68000 CPU is the first generation of | |
| the well known M68K family of processors. The CPU core as well as | |
| being available as a stand alone CPU was also used in many | |
| System-On-Chip devices (eg 68328, 68302, etc). It does not contain | |
| a paging MMU. | |
| config MCPU32 | |
| bool | |
| select CPU_HAS_NO_BITFIELDS | |
| select CPU_HAS_NO_UNALIGNED | |
| help | |
| The Freescale (was then Motorola) CPU32 is a CPU core that is | |
| based on the 68020 processor. For the most part it is used in | |
| System-On-Chip parts, and does not contain a paging MMU. | |
| config M68020 | |
| bool "68020 support" | |
| depends on MMU | |
| select CPU_HAS_ADDRESS_SPACES | |
| help | |
| If you anticipate running this kernel on a computer with a MC68020 | |
| processor, say Y. Otherwise, say N. Note that the 68020 requires a | |
| 68851 MMU (Memory Management Unit) to run Linux/m68k, except on the | |
| Sun 3, which provides its own version. | |
| config M68030 | |
| bool "68030 support" | |
| depends on MMU && !MMU_SUN3 | |
| select CPU_HAS_ADDRESS_SPACES | |
| help | |
| If you anticipate running this kernel on a computer with a MC68030 | |
| processor, say Y. Otherwise, say N. Note that a MC68EC030 will not | |
| work, as it does not include an MMU (Memory Management Unit). | |
| config M68040 | |
| bool "68040 support" | |
| depends on MMU && !MMU_SUN3 | |
| select CPU_HAS_ADDRESS_SPACES | |
| help | |
| If you anticipate running this kernel on a computer with a MC68LC040 | |
| or MC68040 processor, say Y. Otherwise, say N. Note that an | |
| MC68EC040 will not work, as it does not include an MMU (Memory | |
| Management Unit). | |
| config M68060 | |
| bool "68060 support" | |
| depends on MMU && !MMU_SUN3 | |
| select CPU_HAS_ADDRESS_SPACES | |
| help | |
| If you anticipate running this kernel on a computer with a MC68060 | |
| processor, say Y. Otherwise, say N. | |
| config M68328 | |
| bool "MC68328" | |
| depends on !MMU | |
| select M68000 | |
| help | |
| Motorola 68328 processor support. | |
| config M68EZ328 | |
| bool "MC68EZ328" | |
| depends on !MMU | |
| select M68000 | |
| help | |
| Motorola 68EX328 processor support. | |
| config M68VZ328 | |
| bool "MC68VZ328" | |
| depends on !MMU | |
| select M68000 | |
| help | |
| Motorola 68VZ328 processor support. | |
| config M68360 | |
| bool "MC68360" | |
| depends on !MMU | |
| select MCPU32 | |
| help | |
| Motorola 68360 processor support. | |
| endif # M68KCLASSIC | |
| if COLDFIRE | |
| config M5206 | |
| bool "MCF5206" | |
| depends on !MMU | |
| select COLDFIRE_SW_A7 | |
| select HAVE_MBAR | |
| help | |
| Motorola ColdFire 5206 processor support. | |
| config M5206e | |
| bool "MCF5206e" | |
| depends on !MMU | |
| select COLDFIRE_SW_A7 | |
| select HAVE_MBAR | |
| help | |
| Motorola ColdFire 5206e processor support. | |
| config M520x | |
| bool "MCF520x" | |
| depends on !MMU | |
| select GENERIC_CLOCKEVENTS | |
| select HAVE_CACHE_SPLIT | |
| help | |
| Freescale Coldfire 5207/5208 processor support. | |
| config M523x | |
| bool "MCF523x" | |
| depends on !MMU | |
| select GENERIC_CLOCKEVENTS | |
| select HAVE_CACHE_SPLIT | |
| select HAVE_IPSBAR | |
| help | |
| Freescale Coldfire 5230/1/2/4/5 processor support | |
| config M5249 | |
| bool "MCF5249" | |
| depends on !MMU | |
| select COLDFIRE_SW_A7 | |
| select HAVE_MBAR | |
| help | |
| Motorola ColdFire 5249 processor support. | |
| config M525x | |
| bool "MCF525x" | |
| depends on !MMU | |
| select COLDFIRE_SW_A7 | |
| select HAVE_MBAR | |
| help | |
| Freescale (Motorola) Coldfire 5251/5253 processor support. | |
| config M527x | |
| bool | |
| config M5271 | |
| bool "MCF5271" | |
| depends on !MMU | |
| select M527x | |
| select HAVE_CACHE_SPLIT | |
| select HAVE_IPSBAR | |
| select GENERIC_CLOCKEVENTS | |
| help | |
| Freescale (Motorola) ColdFire 5270/5271 processor support. | |
| config M5272 | |
| bool "MCF5272" | |
| depends on !MMU | |
| select COLDFIRE_SW_A7 | |
| select HAVE_MBAR | |
| help | |
| Motorola ColdFire 5272 processor support. | |
| config M5275 | |
| bool "MCF5275" | |
| depends on !MMU | |
| select M527x | |
| select HAVE_CACHE_SPLIT | |
| select HAVE_IPSBAR | |
| select GENERIC_CLOCKEVENTS | |
| help | |
| Freescale (Motorola) ColdFire 5274/5275 processor support. | |
| config M528x | |
| bool "MCF528x" | |
| depends on !MMU | |
| select GENERIC_CLOCKEVENTS | |
| select HAVE_CACHE_SPLIT | |
| select HAVE_IPSBAR | |
| help | |
| Motorola ColdFire 5280/5282 processor support. | |
| config M5307 | |
| bool "MCF5307" | |
| depends on !MMU | |
| select COLDFIRE_SW_A7 | |
| select HAVE_CACHE_CB | |
| select HAVE_MBAR | |
| help | |
| Motorola ColdFire 5307 processor support. | |
| config M53xx | |
| bool | |
| config M532x | |
| bool "MCF532x" | |
| depends on !MMU | |
| select M53xx | |
| select HAVE_CACHE_CB | |
| help | |
| Freescale (Motorola) ColdFire 532x processor support. | |
| config M537x | |
| bool "MCF537x" | |
| depends on !MMU | |
| select M53xx | |
| select HAVE_CACHE_CB | |
| help | |
| Freescale ColdFire 537x processor support. | |
| config M5407 | |
| bool "MCF5407" | |
| depends on !MMU | |
| select COLDFIRE_SW_A7 | |
| select HAVE_CACHE_CB | |
| select HAVE_MBAR | |
| help | |
| Motorola ColdFire 5407 processor support. | |
| config M54xx | |
| bool | |
| config M547x | |
| bool "MCF547x" | |
| select M54xx | |
| select MMU_COLDFIRE if MMU | |
| select HAVE_CACHE_CB | |
| select HAVE_MBAR | |
| help | |
| Freescale ColdFire 5470/5471/5472/5473/5474/5475 processor support. | |
| config M548x | |
| bool "MCF548x" | |
| select MMU_COLDFIRE if MMU | |
| select M54xx | |
| select HAVE_CACHE_CB | |
| select HAVE_MBAR | |
| help | |
| Freescale ColdFire 5480/5481/5482/5483/5484/5485 processor support. | |
| config M5441x | |
| bool "MCF5441x" | |
| depends on !MMU | |
| select GENERIC_CLOCKEVENTS | |
| select HAVE_CACHE_CB | |
| help | |
| Freescale Coldfire 54410/54415/54416/54417/54418 processor support. | |
| endif # COLDFIRE | |
| comment "Processor Specific Options" | |
| config M68KFPU_EMU | |
| bool "Math emulation support" | |
| depends on MMU | |
| help | |
| At some point in the future, this will cause floating-point math | |
| instructions to be emulated by the kernel on machines that lack a | |
| floating-point math coprocessor. Thrill-seekers and chronically | |
| sleep-deprived psychotic hacker types can say Y now, everyone else | |
| should probably wait a while. | |
| config M68KFPU_EMU_EXTRAPREC | |
| bool "Math emulation extra precision" | |
| depends on M68KFPU_EMU | |
| help | |
| The fpu uses normally a few bit more during calculations for | |
| correct rounding, the emulator can (often) do the same but this | |
| extra calculation can cost quite some time, so you can disable | |
| it here. The emulator will then "only" calculate with a 64 bit | |
| mantissa and round slightly incorrect, what is more than enough | |
| for normal usage. | |
| config M68KFPU_EMU_ONLY | |
| bool "Math emulation only kernel" | |
| depends on M68KFPU_EMU | |
| help | |
| This option prevents any floating-point instructions from being | |
| compiled into the kernel, thereby the kernel doesn't save any | |
| floating point context anymore during task switches, so this | |
| kernel will only be usable on machines without a floating-point | |
| math coprocessor. This makes the kernel a bit faster as no tests | |
| needs to be executed whether a floating-point instruction in the | |
| kernel should be executed or not. | |
| config ADVANCED | |
| bool "Advanced configuration options" | |
| depends on MMU | |
| ---help--- | |
| This gives you access to some advanced options for the CPU. The | |
| defaults should be fine for most users, but these options may make | |
| it possible for you to improve performance somewhat if you know what | |
| you are doing. | |
| Note that the answer to this question won't directly affect the | |
| kernel: saying N will just cause the configurator to skip all | |
| the questions about these options. | |
| Most users should say N to this question. | |
| config RMW_INSNS | |
| bool "Use read-modify-write instructions" | |
| depends on ADVANCED | |
| ---help--- | |
| This allows to use certain instructions that work with indivisible | |
| read-modify-write bus cycles. While this is faster than the | |
| workaround of disabling interrupts, it can conflict with DMA | |
| ( = direct memory access) on many Amiga systems, and it is also said | |
| to destabilize other machines. It is very likely that this will | |
| cause serious problems on any Amiga or Atari Medusa if set. The only | |
| configuration where it should work are 68030-based Ataris, where it | |
| apparently improves performance. But you've been warned! Unless you | |
| really know what you are doing, say N. Try Y only if you're quite | |
| adventurous. | |
| config SINGLE_MEMORY_CHUNK | |
| bool "Use one physical chunk of memory only" if ADVANCED && !SUN3 | |
| depends on MMU | |
| default y if SUN3 | |
| select NEED_MULTIPLE_NODES | |
| help | |
| Ignore all but the first contiguous chunk of physical memory for VM | |
| purposes. This will save a few bytes kernel size and may speed up | |
| some operations. Say N if not sure. | |
| config ARCH_DISCONTIGMEM_ENABLE | |
| def_bool MMU && !SINGLE_MEMORY_CHUNK | |
| config 060_WRITETHROUGH | |
| bool "Use write-through caching for 68060 supervisor accesses" | |
| depends on ADVANCED && M68060 | |
| ---help--- | |
| The 68060 generally uses copyback caching of recently accessed data. | |
| Copyback caching means that memory writes will be held in an on-chip | |
| cache and only written back to memory some time later. Saying Y | |
| here will force supervisor (kernel) accesses to use writethrough | |
| caching. Writethrough caching means that data is written to memory | |
| straight away, so that cache and memory data always agree. | |
| Writethrough caching is less efficient, but is needed for some | |
| drivers on 68060 based systems where the 68060 bus snooping signal | |
| is hardwired on. The 53c710 SCSI driver is known to suffer from | |
| this problem. | |
| config M68K_L2_CACHE | |
| bool | |
| depends on MAC | |
| default y | |
| config NODES_SHIFT | |
| int | |
| default "3" | |
| depends on !SINGLE_MEMORY_CHUNK | |
| config CPU_HAS_NO_BITFIELDS | |
| bool | |
| config CPU_HAS_NO_MULDIV64 | |
| bool | |
| config CPU_HAS_NO_UNALIGNED | |
| bool | |
| config CPU_HAS_ADDRESS_SPACES | |
| bool | |
| config FPU | |
| bool | |
| config COLDFIRE_SW_A7 | |
| bool | |
| config HAVE_CACHE_SPLIT | |
| bool | |
| config HAVE_CACHE_CB | |
| bool | |
| config HAVE_MBAR | |
| bool | |
| config HAVE_IPSBAR | |
| bool | |
| config CLOCK_SET | |
| bool "Enable setting the CPU clock frequency" | |
| depends on COLDFIRE | |
| default n | |
| help | |
| On some CPU's you do not need to know what the core CPU clock | |
| frequency is. On these you can disable clock setting. On some | |
| traditional 68K parts, and on all ColdFire parts you need to set | |
| the appropriate CPU clock frequency. On these devices many of the | |
| onboard peripherals derive their timing from the master CPU clock | |
| frequency. | |
| config CLOCK_FREQ | |
| int "Set the core clock frequency" | |
| default "66666666" | |
| depends on CLOCK_SET | |
| help | |
| Define the CPU clock frequency in use. This is the core clock | |
| frequency, it may or may not be the same as the external clock | |
| crystal fitted to your board. Some processors have an internal | |
| PLL and can have their frequency programmed at run time, others | |
| use internal dividers. In general the kernel won't setup a PLL | |
| if it is fitted (there are some exceptions). This value will be | |
| specific to the exact CPU that you are using. | |
| config OLDMASK | |
| bool "Old mask 5307 (1H55J) silicon" | |
| depends on M5307 | |
| help | |
| Build support for the older revision ColdFire 5307 silicon. | |
| Specifically this is the 1H55J mask revision. | |
| if HAVE_CACHE_SPLIT | |
| choice | |
| prompt "Split Cache Configuration" | |
| default CACHE_I | |
| config CACHE_I | |
| bool "Instruction" | |
| help | |
| Use all of the ColdFire CPU cache memory as an instruction cache. | |
| config CACHE_D | |
| bool "Data" | |
| help | |
| Use all of the ColdFire CPU cache memory as a data cache. | |
| config CACHE_BOTH | |
| bool "Both" | |
| help | |
| Split the ColdFire CPU cache, and use half as an instruction cache | |
| and half as a data cache. | |
| endchoice | |
| endif | |
| if HAVE_CACHE_CB | |
| choice | |
| prompt "Data cache mode" | |
| default CACHE_WRITETHRU | |
| config CACHE_WRITETHRU | |
| bool "Write-through" | |
| help | |
| The ColdFire CPU cache is set into Write-through mode. | |
| config CACHE_COPYBACK | |
| bool "Copy-back" | |
| help | |
| The ColdFire CPU cache is set into Copy-back mode. | |
| endchoice | |
| endif | |