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