1config FPU
2	bool
3	default n
4
5config GENERIC_FIND_NEXT_BIT
6	bool
7	default y
8
9config GENERIC_GPIO
10	bool
11	default n
12
13config GENERIC_CMOS_UPDATE
14	bool
15	default y
16
17config GENERIC_CLOCKEVENTS
18	bool
19	default n
20
21config COLDFIRE_SW_A7
22	bool
23	default n
24
25config HAVE_CACHE_SPLIT
26	bool
27
28config HAVE_CACHE_CB
29	bool
30
31config HAVE_MBAR
32	bool
33
34config HAVE_IPSBAR
35	bool
36
37choice
38	prompt "CPU"
39	default M68EZ328
40
41config M68328
42	bool "MC68328"
43	help
44	  Motorola 68328 processor support.
45
46config M68EZ328
47	bool "MC68EZ328"
48	help
49	  Motorola 68EX328 processor support.
50
51config M68VZ328
52	bool "MC68VZ328"
53	help
54	  Motorola 68VZ328 processor support.
55
56config M68360
57	bool "MC68360"
58	help
59	  Motorola 68360 processor support.
60
61config M5206
62	bool "MCF5206"
63	select COLDFIRE_SW_A7
64	select HAVE_MBAR
65	help
66	  Motorola ColdFire 5206 processor support.
67
68config M5206e
69	bool "MCF5206e"
70	select COLDFIRE_SW_A7
71	select HAVE_MBAR
72	help
73	  Motorola ColdFire 5206e processor support.
74
75config M520x
76	bool "MCF520x"
77	select GENERIC_CLOCKEVENTS
78	select HAVE_CACHE_SPLIT
79	help
80	   Freescale Coldfire 5207/5208 processor support.
81
82config M523x
83	bool "MCF523x"
84	select GENERIC_CLOCKEVENTS
85	select HAVE_CACHE_SPLIT
86	select HAVE_IPSBAR
87	help
88	  Freescale Coldfire 5230/1/2/4/5 processor support
89
90config M5249
91	bool "MCF5249"
92	select COLDFIRE_SW_A7
93	select HAVE_MBAR
94	help
95	  Motorola ColdFire 5249 processor support.
96
97config M5271
98	bool "MCF5271"
99	select HAVE_CACHE_SPLIT
100	select HAVE_IPSBAR
101	help
102	  Freescale (Motorola) ColdFire 5270/5271 processor support.
103
104config M5272
105	bool "MCF5272"
106	select COLDFIRE_SW_A7
107	select HAVE_MBAR
108	help
109	  Motorola ColdFire 5272 processor support.
110
111config M5275
112	bool "MCF5275"
113	select HAVE_CACHE_SPLIT
114	select HAVE_IPSBAR
115	help
116	  Freescale (Motorola) ColdFire 5274/5275 processor support.
117
118config M528x
119	bool "MCF528x"
120	select GENERIC_CLOCKEVENTS
121	select HAVE_CACHE_SPLIT
122	select HAVE_IPSBAR
123	help
124	  Motorola ColdFire 5280/5282 processor support.
125
126config M5307
127	bool "MCF5307"
128	select COLDFIRE_SW_A7
129	select HAVE_CACHE_CB
130	select HAVE_MBAR
131	help
132	  Motorola ColdFire 5307 processor support.
133
134config M532x
135	bool "MCF532x"
136	select HAVE_CACHE_CB
137	help
138	  Freescale (Motorola) ColdFire 532x processor support.
139
140config M5407
141	bool "MCF5407"
142	select COLDFIRE_SW_A7
143	select HAVE_CACHE_CB
144	select HAVE_MBAR
145	help
146	  Motorola ColdFire 5407 processor support.
147
148config M547x
149	bool "MCF547x"
150	select HAVE_CACHE_CB
151	select HAVE_MBAR
152	help
153	  Freescale ColdFire 5470/5471/5472/5473/5474/5475 processor support.
154
155config M548x
156	bool "MCF548x"
157	select HAVE_CACHE_CB
158	select HAVE_MBAR
159	help
160	  Freescale ColdFire 5480/5481/5482/5483/5484/5485 processor support.
161
162endchoice
163
164config M527x
165	bool
166	depends on (M5271 || M5275)
167	select GENERIC_CLOCKEVENTS
168	default y
169
170config M54xx
171	bool
172	depends on (M548x || M547x)
173	default y
174
175config COLDFIRE
176	bool
177	depends on (M5206 || M5206e || M520x || M523x || M5249 || M527x || M5272 || M528x || M5307 || M532x || M5407 || M54xx)
178	select GENERIC_GPIO
179	select ARCH_REQUIRE_GPIOLIB
180	default y
181
182config CLOCK_SET
183	bool "Enable setting the CPU clock frequency"
184	default n
185	help
186	  On some CPU's you do not need to know what the core CPU clock
187	  frequency is. On these you can disable clock setting. On some
188	  traditional 68K parts, and on all ColdFire parts you need to set
189	  the appropriate CPU clock frequency. On these devices many of the
190	  onboard peripherals derive their timing from the master CPU clock
191	  frequency.
192
193config CLOCK_FREQ
194	int "Set the core clock frequency"
195	default "66666666"
196	depends on CLOCK_SET
197	help
198	  Define the CPU clock frequency in use. This is the core clock
199	  frequency, it may or may not be the same as the external clock
200	  crystal fitted to your board. Some processors have an internal
201	  PLL and can have their frequency programmed at run time, others
202	  use internal dividers. In general the kernel won't setup a PLL
203	  if it is fitted (there are some exceptions). This value will be
204	  specific to the exact CPU that you are using.
205
206config OLDMASK
207	bool "Old mask 5307 (1H55J) silicon"
208	depends on M5307
209	help
210	  Build support for the older revision ColdFire 5307 silicon.
211	  Specifically this is the 1H55J mask revision.
212
213if HAVE_CACHE_SPLIT
214choice
215	prompt "Split Cache Configuration"
216	default CACHE_I
217
218config CACHE_I
219	bool "Instruction"
220	help
221	  Use all of the ColdFire CPU cache memory as an instruction cache.
222
223config CACHE_D
224	bool "Data"
225	help
226	  Use all of the ColdFire CPU cache memory as a data cache.
227
228config CACHE_BOTH
229	bool "Both"
230	help
231	  Split the ColdFire CPU cache, and use half as an instruction cache
232	  and half as a data cache.
233endchoice
234endif
235
236if HAVE_CACHE_CB
237choice
238	prompt "Data cache mode"
239	default CACHE_WRITETHRU
240
241config CACHE_WRITETHRU
242	bool "Write-through"
243	help
244	  The ColdFire CPU cache is set into Write-through mode.
245
246config CACHE_COPYBACK
247	bool "Copy-back"
248	help
249	  The ColdFire CPU cache is set into Copy-back mode.
250endchoice
251endif
252
253comment "Platform"
254
255config PILOT3
256	bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support"
257	depends on M68328
258	help
259	  Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII.
260
261config XCOPILOT_BUGS
262	bool "(X)Copilot support"
263	depends on PILOT3
264	help
265	  Support the bugs of Xcopilot.
266
267config UC5272
268	bool 'Arcturus Networks uC5272 dimm board support'
269	depends on M5272
270	help
271	  Support for the Arcturus Networks uC5272 dimm board.
272
273config UC5282
274	bool "Arcturus Networks uC5282 board support"
275	depends on M528x
276	help
277	  Support for the Arcturus Networks uC5282 dimm board.
278
279config UCSIMM
280	bool "uCsimm module support"
281	depends on M68EZ328
282	help
283	  Support for the Arcturus Networks uCsimm module.
284
285config UCDIMM
286	bool "uDsimm module support"
287	depends on M68VZ328
288	help
289	  Support for the Arcturus Networks uDsimm module.
290
291config DRAGEN2
292	bool "DragenEngine II board support"
293	depends on M68VZ328
294	help
295	  Support for the DragenEngine II board.
296
297config DIRECT_IO_ACCESS
298	bool "Allow user to access IO directly"
299	depends on (UCSIMM || UCDIMM || DRAGEN2)
300	help
301	  Disable the CPU internal registers protection in user mode,
302	  to allow a user application to read/write them.
303
304config INIT_LCD
305	bool "Initialize LCD"
306	depends on (UCSIMM || UCDIMM || DRAGEN2)
307	help
308	  Initialize the LCD controller of the 68x328 processor.
309
310config MEMORY_RESERVE
311	int "Memory reservation (MiB)"
312	depends on (UCSIMM || UCDIMM)
313	help
314	  Reserve certain memory regions on 68x328 based boards.
315
316config UCQUICC
317	bool "Lineo uCquicc board support"
318	depends on M68360
319	help
320	  Support for the Lineo uCquicc board.
321
322config ARN5206
323	bool "Arnewsh 5206 board support"
324	depends on M5206
325	help
326	  Support for the Arnewsh 5206 board.
327
328config M5206eC3
329	bool "Motorola M5206eC3 board support"
330	depends on M5206e
331	help
332	  Support for the Motorola M5206eC3 board.
333
334config ELITE
335	bool "Motorola M5206eLITE board support"
336	depends on M5206e
337	help
338	  Support for the Motorola M5206eLITE board.
339
340config M5208EVB
341	bool "Freescale M5208EVB board support"
342	depends on M520x
343	help
344	  Support for the Freescale Coldfire M5208EVB.
345
346config M5235EVB
347	bool "Freescale M5235EVB support"
348	depends on M523x
349	help
350	  Support for the Freescale M5235EVB board.
351
352config M5249C3
353	bool "Motorola M5249C3 board support"
354	depends on M5249
355	help
356	  Support for the Motorola M5249C3 board.
357
358config M5271EVB
359	bool "Freescale (Motorola) M5271EVB board support"
360	depends on M5271
361	help
362	  Support for the Freescale (Motorola) M5271EVB board.
363
364config M5275EVB
365	bool "Freescale (Motorola) M5275EVB board support"
366	depends on M5275
367	help
368	  Support for the Freescale (Motorola) M5275EVB board.
369
370config M5272C3
371	bool "Motorola M5272C3 board support"
372	depends on M5272
373	help
374	  Support for the Motorola M5272C3 board.
375
376config COBRA5272
377	bool "senTec COBRA5272 board support"
378	depends on M5272
379	help
380	  Support for the senTec COBRA5272 board.
381
382config AVNET5282
383	bool "Avnet 5282 board support"
384	depends on M528x
385	help
386	  Support for the Avnet 5282 board.
387
388config M5282EVB
389	bool "Motorola M5282EVB board support"
390	depends on M528x
391	help
392	  Support for the Motorola M5282EVB board.
393
394config COBRA5282
395	bool "senTec COBRA5282 board support"
396	depends on M528x
397	help
398	  Support for the senTec COBRA5282 board.
399
400config SOM5282EM
401	bool "EMAC.Inc SOM5282EM board support"
402	depends on M528x
403	help
404	  Support for the EMAC.Inc SOM5282EM module.
405
406config WILDFIRE
407	bool "Intec Automation Inc. WildFire board support"
408	depends on M528x
409	help
410	  Support for the Intec Automation Inc. WildFire.
411
412config WILDFIREMOD
413	bool "Intec Automation Inc. WildFire module support"
414	depends on M528x
415	help
416	  Support for the Intec Automation Inc. WildFire module.
417
418config ARN5307
419	bool "Arnewsh 5307 board support"
420	depends on M5307
421	help
422	  Support for the Arnewsh 5307 board.
423
424config M5307C3
425	bool "Motorola M5307C3 board support"
426	depends on M5307
427	help
428	  Support for the Motorola M5307C3 board.
429
430config SECUREEDGEMP3
431	bool "SnapGear SecureEdge/MP3 platform support"
432	depends on M5307
433	help
434	  Support for the SnapGear SecureEdge/MP3 platform.
435
436config M5329EVB
437	bool "Freescale (Motorola) M5329EVB board support"
438	depends on M532x
439	help
440	  Support for the Freescale (Motorola) M5329EVB board.
441
442config COBRA5329
443	bool "senTec COBRA5329 board support"
444	depends on M532x
445	help
446	  Support for the senTec COBRA5329 board.
447
448config M5407C3
449	bool "Motorola M5407C3 board support"
450	depends on M5407
451	help
452	  Support for the Motorola M5407C3 board.
453
454config FIREBEE
455	bool "FireBee board support"
456	depends on M547x
457	help
458	  Support for the FireBee ColdFire 5475 based board.
459
460config CLEOPATRA
461	bool "Feith CLEOPATRA board support"
462	depends on (M5307 || M5407)
463	help
464	  Support for the Feith Cleopatra boards.
465
466config CANCam
467	bool "Feith CANCam board support"
468	depends on M5272
469	help
470	  Support for the Feith CANCam board.
471
472config SCALES
473	bool "Feith SCALES board support"
474	depends on M5272
475	help
476	  Support for the Feith SCALES board.
477
478config NETtel
479	bool "SecureEdge/NETtel board support"
480	depends on (M5206e || M5272 || M5307)
481	help
482	  Support for the SnapGear NETtel/SecureEdge/SnapGear boards.
483
484config SNAPGEAR
485	bool "SnapGear router board support"
486	depends on NETtel
487	help
488	  Special additional support for SnapGear router boards.
489
490config CPU16B
491	bool "Sneha Technologies S.L. Sarasvati board support"
492	depends on M5272
493	help
494	  Support for the SNEHA CPU16B board.
495
496config MOD5272
497	bool "Netburner MOD-5272 board support"
498	depends on M5272
499	help
500	  Support for the Netburner MOD-5272 board.
501
502config SAVANTrosie1
503	bool "Savant Rosie1 board support"
504	depends on M523x
505	help
506	  Support for the Savant Rosie1 board.
507
508config ROMFS_FROM_ROM
509	bool "ROMFS image not RAM resident"
510	depends on (NETtel || SNAPGEAR)
511	help
512	  The ROMfs filesystem will stay resident in the FLASH/ROM, not be
513	  moved into RAM.
514
515config PILOT
516	bool
517	default y
518	depends on (PILOT3 || PILOT5)
519
520config ARNEWSH
521	bool
522	default y
523	depends on (ARN5206 || ARN5307)
524
525config FREESCALE
526	bool
527	default y
528	depends on (M5206eC3 || M5208EVB || M5235EVB || M5249C3 || M5271EVB || M5272C3 || M5275EVB || M5282EVB || M5307C3 || M5329EVB || M5407C3)
529
530config HW_FEITH
531	bool
532	default y
533	depends on (CLEOPATRA || CANCam || SCALES)
534
535config senTec
536	bool
537	default y
538	depends on (COBRA5272 || COBRA5282)
539
540config EMAC_INC
541	bool
542	default y
543	depends on (SOM5282EM)
544
545config SNEHA
546	bool
547	default y
548	depends on CPU16B
549
550config SAVANT
551	bool
552	default y
553	depends on SAVANTrosie1
554
555config AVNET
556	bool
557	default y
558	depends on (AVNET5282)
559
560config UBOOT
561	bool "Support for U-Boot command line parameters"
562	help
563	  If you say Y here kernel will try to collect command
564	  line parameters from the initial u-boot stack.
565	default n
566
567config 4KSTACKS
568	bool "Use 4Kb for kernel stacks instead of 8Kb"
569	default y
570	help
571	  If you say Y here the kernel will use a 4Kb stacksize for the
572	  kernel stack attached to each process/thread. This facilitates
573	  running more threads on a system and also reduces the pressure
574	  on the VM subsystem for higher order allocations.
575
576comment "RAM configuration"
577
578config RAMBASE
579	hex "Address of the base of RAM"
580	default "0"
581	help
582	  Define the address that RAM starts at. On many platforms this is
583	  0, the base of the address space. And this is the default. Some
584	  platforms choose to setup their RAM at other addresses within the
585	  processor address space.
586
587config RAMSIZE
588	hex "Size of RAM (in bytes), or 0 for automatic"
589	default "0x400000"
590	help
591	  Define the size of the system RAM. If you select 0 then the
592	  kernel will try to probe the RAM size at runtime. This is not
593	  supported on all CPU types.
594
595config VECTORBASE
596	hex "Address of the base of system vectors"
597	default "0"
598	help
599	  Define the address of the system vectors. Commonly this is
600	  put at the start of RAM, but it doesn't have to be. On ColdFire
601	  platforms this address is programmed into the VBR register, thus
602	  actually setting the address to use.
603
604config MBAR
605	hex "Address of the MBAR (internal peripherals)"
606	default "0x10000000"
607	depends on HAVE_MBAR
608	help
609	  Define the address of the internal system peripherals. This value
610	  is set in the processors MBAR register. This is generally setup by
611	  the boot loader, and will not be written by the kernel. By far most
612	  ColdFire boards use the default 0x10000000 value, so if unsure then
613	  use this.
614
615config IPSBAR
616	hex "Address of the IPSBAR (internal peripherals)"
617	default "0x40000000"
618	depends on HAVE_IPSBAR
619	help
620	  Define the address of the internal system peripherals. This value
621	  is set in the processors IPSBAR register. This is generally setup by
622	  the boot loader, and will not be written by the kernel. By far most
623	  ColdFire boards use the default 0x40000000 value, so if unsure then
624	  use this.
625
626config KERNELBASE
627	hex "Address of the base of kernel code"
628	default "0x400"
629	help
630	  Typically on m68k systems the kernel will not start at the base
631	  of RAM, but usually some small offset from it. Define the start
632	  address of the kernel here. The most common setup will have the
633	  processor vectors at the base of RAM and then the start of the
634	  kernel. On some platforms some RAM is reserved for boot loaders
635	  and the kernel starts after that. The 0x400 default was based on
636	  a system with the RAM based at address 0, and leaving enough room
637	  for the theoretical maximum number of 256 vectors.
638
639choice
640	prompt "RAM bus width"
641	default RAMAUTOBIT
642
643config RAMAUTOBIT
644	bool "AUTO"
645	help
646	  Select the physical RAM data bus size. Not needed on most platforms,
647	  so you can generally choose AUTO.
648
649config RAM8BIT
650	bool "8bit"
651	help
652	  Configure RAM bus to be 8 bits wide.
653
654config RAM16BIT
655	bool "16bit"
656	help
657	  Configure RAM bus to be 16 bits wide.
658
659config RAM32BIT
660	bool "32bit"
661	help
662	  Configure RAM bus to be 32 bits wide.
663
664endchoice
665
666comment "ROM configuration"
667
668config ROM
669	bool "Specify ROM linker regions"
670	default n
671	help
672	  Define a ROM region for the linker script. This creates a kernel
673	  that can be stored in flash, with possibly the text, and data
674	  regions being copied out to RAM at startup.
675
676config ROMBASE
677	hex "Address of the base of ROM device"
678	default "0"
679	depends on ROM
680	help
681	  Define the address that the ROM region starts at. Some platforms
682	  use this to set their chip select region accordingly for the boot
683	  device.
684
685config ROMVEC
686	hex "Address of the base of the ROM vectors"
687	default "0"
688	depends on ROM
689	help
690	  This is almost always the same as the base of the ROM. Since on all
691	  68000 type variants the vectors are at the base of the boot device
692	  on system startup.
693
694config ROMVECSIZE
695	hex "Size of ROM vector region (in bytes)"
696	default "0x400"
697	depends on ROM
698	help
699	  Define the size of the vector region in ROM. For most 68000
700	  variants this would be 0x400 bytes in size. Set to 0 if you do
701	  not want a vector region at the start of the ROM.
702
703config ROMSTART
704	hex "Address of the base of system image in ROM"
705	default "0x400"
706	depends on ROM
707	help
708	  Define the start address of the system image in ROM. Commonly this
709	  is strait after the ROM vectors.
710
711config ROMSIZE
712	hex "Size of the ROM device"
713	default "0x100000"
714	depends on ROM
715	help
716	  Size of the ROM device. On some platforms this is used to setup
717	  the chip select that controls the boot ROM device.
718
719choice
720	prompt "Kernel executes from"
721	---help---
722	  Choose the memory type that the kernel will be running in.
723
724config RAMKERNEL
725	bool "RAM"
726	help
727	  The kernel will be resident in RAM when running.
728
729config ROMKERNEL
730	bool "ROM"
731	help
732	  The kernel will be resident in FLASH/ROM when running. This is
733	  often referred to as Execute-in-Place (XIP), since the kernel
734	  code executes from the position it is stored in the FLASH/ROM.
735
736endchoice
737
738if COLDFIRE
739source "kernel/Kconfig.preempt"
740endif
741
742source "kernel/time/Kconfig"
743
744config ISA_DMA_API
745	bool
746	depends on !M5272
747	default y
748
749source "drivers/pcmcia/Kconfig"
750
751