xref: /OK3568_Linux_fs/kernel/arch/m68k/Kconfig.cpu (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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