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