• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6mainmenu "Linux/SuperH Kernel Configuration"
7
8config SUPERH
9	def_bool y
10	select EMBEDDED
11	select HAVE_CLK
12	select HAVE_IDE
13	select HAVE_OPROFILE
14	select HAVE_GENERIC_DMA_COHERENT
15	select HAVE_IOREMAP_PROT if MMU
16	select HAVE_ARCH_TRACEHOOK
17	help
18	  The SuperH is a RISC processor targeted for use in embedded systems
19	  and consumer electronics; it was also used in the Sega Dreamcast
20	  gaming console.  The SuperH port has a home page at
21	  <http://www.linux-sh.org/>.
22
23config SUPERH32
24	def_bool !SUPERH64
25	select HAVE_KPROBES
26	select HAVE_KRETPROBES
27	select HAVE_FUNCTION_TRACER
28	select HAVE_FTRACE_MCOUNT_RECORD
29	select HAVE_DYNAMIC_FTRACE
30	select HAVE_ARCH_KGDB
31
32config SUPERH64
33	def_bool y if CPU_SH5
34
35config ARCH_DEFCONFIG
36	string
37	default "arch/sh/configs/shx3_defconfig" if SUPERH32
38	default "arch/sh/configs/cayman_defconfig" if SUPERH64
39
40config RWSEM_GENERIC_SPINLOCK
41	def_bool y
42
43config RWSEM_XCHGADD_ALGORITHM
44	bool
45
46config GENERIC_BUG
47	def_bool y
48	depends on BUG && SUPERH32
49
50config GENERIC_FIND_NEXT_BIT
51	def_bool y
52
53config GENERIC_HWEIGHT
54	def_bool y
55
56config GENERIC_HARDIRQS
57	def_bool y
58
59config GENERIC_HARDIRQS_NO__DO_IRQ
60	def_bool y
61
62config GENERIC_IRQ_PROBE
63	def_bool y
64
65config GENERIC_GPIO
66	def_bool n
67
68config GENERIC_CALIBRATE_DELAY
69	bool
70
71config GENERIC_IOMAP
72	bool
73
74config GENERIC_TIME
75	def_bool n
76
77config GENERIC_CLOCKEVENTS
78	def_bool n
79
80config GENERIC_CLOCKEVENTS_BROADCAST
81	bool
82
83config GENERIC_LOCKBREAK
84	def_bool y
85	depends on SMP && PREEMPT
86
87config SYS_SUPPORTS_PM
88	bool
89	depends on !SMP
90
91config ARCH_SUSPEND_POSSIBLE
92	def_bool n
93
94config ARCH_HIBERNATION_POSSIBLE
95	def_bool n
96
97config SYS_SUPPORTS_APM_EMULATION
98	bool
99	select ARCH_SUSPEND_POSSIBLE
100
101config SYS_SUPPORTS_SMP
102	bool
103
104config SYS_SUPPORTS_NUMA
105	bool
106
107config SYS_SUPPORTS_PCI
108	bool
109
110config STACKTRACE_SUPPORT
111	def_bool y
112
113config LOCKDEP_SUPPORT
114	def_bool y
115
116config HAVE_LATENCYTOP_SUPPORT
117	def_bool y
118	depends on !SMP
119
120config ARCH_HAS_ILOG2_U32
121	def_bool n
122
123config ARCH_HAS_ILOG2_U64
124	def_bool n
125
126config ARCH_NO_VIRT_TO_BUS
127	def_bool y
128
129config IO_TRAPPED
130	bool
131
132source "init/Kconfig"
133
134source "kernel/Kconfig.freezer"
135
136menu "System type"
137
138#
139# Processor families
140#
141config CPU_SH2
142	bool
143
144config CPU_SH2A
145	bool
146	select CPU_SH2
147
148config CPU_SH3
149	bool
150	select CPU_HAS_INTEVT
151	select CPU_HAS_SR_RB
152
153config CPU_SH4
154	bool
155	select CPU_HAS_INTEVT
156	select CPU_HAS_SR_RB
157	select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
158	select CPU_HAS_FPU if !CPU_SH4AL_DSP
159
160config CPU_SH4A
161	bool
162	select CPU_SH4
163
164config CPU_SH4AL_DSP
165	bool
166	select CPU_SH4A
167	select CPU_HAS_DSP
168
169config CPU_SH5
170	bool
171	select CPU_HAS_FPU
172
173config CPU_SHX2
174	bool
175
176config CPU_SHX3
177	bool
178
179choice
180	prompt "Processor sub-type selection"
181
182#
183# Processor subtypes
184#
185
186# SH-2 Processor Support
187
188config CPU_SUBTYPE_SH7619
189	bool "Support SH7619 processor"
190	select CPU_SH2
191
192# SH-2A Processor Support
193
194config CPU_SUBTYPE_SH7201
195	bool "Support SH7201 processor"
196	select CPU_SH2A
197	select CPU_HAS_FPU
198
199config CPU_SUBTYPE_SH7203
200	bool "Support SH7203 processor"
201	select CPU_SH2A
202	select CPU_HAS_FPU
203
204config CPU_SUBTYPE_SH7206
205	bool "Support SH7206 processor"
206	select CPU_SH2A
207
208config CPU_SUBTYPE_SH7263
209	bool "Support SH7263 processor"
210	select CPU_SH2A
211	select CPU_HAS_FPU
212
213config CPU_SUBTYPE_MXG
214	bool "Support MX-G processor"
215	select CPU_SH2A
216	help
217	  Select MX-G if running on an R8A03022BG part.
218
219# SH-3 Processor Support
220
221config CPU_SUBTYPE_SH7705
222	bool "Support SH7705 processor"
223	select CPU_SH3
224
225config CPU_SUBTYPE_SH7706
226	bool "Support SH7706 processor"
227	select CPU_SH3
228	help
229	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
230
231config CPU_SUBTYPE_SH7707
232	bool "Support SH7707 processor"
233	select CPU_SH3
234	help
235	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
236
237config CPU_SUBTYPE_SH7708
238	bool "Support SH7708 processor"
239	select CPU_SH3
240	help
241	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
242	  if you have a 100 Mhz SH-3 HD6417708R CPU.
243
244config CPU_SUBTYPE_SH7709
245	bool "Support SH7709 processor"
246	select CPU_SH3
247	help
248	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
249
250config CPU_SUBTYPE_SH7710
251	bool "Support SH7710 processor"
252	select CPU_SH3
253	select CPU_HAS_DSP
254	help
255	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
256
257config CPU_SUBTYPE_SH7712
258	bool "Support SH7712 processor"
259	select CPU_SH3
260	select CPU_HAS_DSP
261	help
262	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
263
264config CPU_SUBTYPE_SH7720
265	bool "Support SH7720 processor"
266	select CPU_SH3
267	select CPU_HAS_DSP
268	help
269	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
270
271config CPU_SUBTYPE_SH7721
272	bool "Support SH7721 processor"
273	select CPU_SH3
274	select CPU_HAS_DSP
275	help
276	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
277
278# SH-4 Processor Support
279
280config CPU_SUBTYPE_SH7750
281	bool "Support SH7750 processor"
282	select CPU_SH4
283	help
284	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
285
286config CPU_SUBTYPE_SH7091
287	bool "Support SH7091 processor"
288	select CPU_SH4
289	help
290	  Select SH7091 if you have an SH-4 based Sega device (such as
291	  the Dreamcast, Naomi, and Naomi 2).
292
293config CPU_SUBTYPE_SH7750R
294	bool "Support SH7750R processor"
295	select CPU_SH4
296
297config CPU_SUBTYPE_SH7750S
298	bool "Support SH7750S processor"
299	select CPU_SH4
300
301config CPU_SUBTYPE_SH7751
302	bool "Support SH7751 processor"
303	select CPU_SH4
304	help
305	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
306	  or if you have a HD6417751R CPU.
307
308config CPU_SUBTYPE_SH7751R
309	bool "Support SH7751R processor"
310	select CPU_SH4
311
312config CPU_SUBTYPE_SH7760
313	bool "Support SH7760 processor"
314	select CPU_SH4
315
316config CPU_SUBTYPE_SH4_202
317	bool "Support SH4-202 processor"
318	select CPU_SH4
319
320# SH-4A Processor Support
321
322config CPU_SUBTYPE_SH7723
323	bool "Support SH7723 processor"
324	select CPU_SH4A
325	select CPU_SHX2
326	select ARCH_SPARSEMEM_ENABLE
327	help
328	  Select SH7723 if you have an SH-MobileR2 CPU.
329
330config CPU_SUBTYPE_SH7763
331	bool "Support SH7763 processor"
332	select CPU_SH4A
333	help
334	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
335
336config CPU_SUBTYPE_SH7770
337	bool "Support SH7770 processor"
338	select CPU_SH4A
339
340config CPU_SUBTYPE_SH7780
341	bool "Support SH7780 processor"
342	select CPU_SH4A
343
344config CPU_SUBTYPE_SH7785
345	bool "Support SH7785 processor"
346	select CPU_SH4A
347	select CPU_SHX2
348	select ARCH_SPARSEMEM_ENABLE
349	select SYS_SUPPORTS_NUMA
350
351config CPU_SUBTYPE_SHX3
352	bool "Support SH-X3 processor"
353	select CPU_SH4A
354	select CPU_SHX3
355	select ARCH_SPARSEMEM_ENABLE
356	select SYS_SUPPORTS_NUMA
357	select SYS_SUPPORTS_SMP
358	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
359
360# SH4AL-DSP Processor Support
361
362config CPU_SUBTYPE_SH7343
363	bool "Support SH7343 processor"
364	select CPU_SH4AL_DSP
365
366config CPU_SUBTYPE_SH7722
367	bool "Support SH7722 processor"
368	select CPU_SH4AL_DSP
369	select CPU_SHX2
370	select ARCH_SPARSEMEM_ENABLE
371	select SYS_SUPPORTS_NUMA
372
373config CPU_SUBTYPE_SH7366
374	bool "Support SH7366 processor"
375	select CPU_SH4AL_DSP
376	select CPU_SHX2
377	select ARCH_SPARSEMEM_ENABLE
378	select SYS_SUPPORTS_NUMA
379
380# SH-5 Processor Support
381
382config CPU_SUBTYPE_SH5_101
383	bool "Support SH5-101 processor"
384	select CPU_SH5
385
386config CPU_SUBTYPE_SH5_103
387	bool "Support SH5-103 processor"
388	select CPU_SH5
389
390endchoice
391
392source "arch/sh/mm/Kconfig"
393
394source "arch/sh/Kconfig.cpu"
395
396source "arch/sh/boards/Kconfig"
397
398menu "Timer and clock configuration"
399
400config SH_TMU
401	def_bool y
402	prompt "TMU timer support"
403	depends on CPU_SH3 || CPU_SH4
404	select GENERIC_TIME
405	select GENERIC_CLOCKEVENTS
406	help
407	  This enables the use of the TMU as the system timer.
408
409config SH_CMT
410	def_bool y
411	prompt "CMT timer support"
412	depends on CPU_SH2 && !CPU_SUBTYPE_MXG
413	help
414	  This enables the use of the CMT as the system timer.
415
416config SH_MTU2
417	def_bool n
418	prompt "MTU2 timer support"
419	depends on CPU_SH2A
420	help
421	  This enables the use of the MTU2 as the system timer.
422
423config SH_TIMER_IRQ
424	int
425	default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
426			CPU_SUBTYPE_SH7763
427	default "86" if CPU_SUBTYPE_SH7619
428	default "140" if CPU_SUBTYPE_SH7206
429	default "142" if CPU_SUBTYPE_SH7203
430	default "238" if CPU_SUBTYPE_MXG
431	default "16"
432
433config SH_PCLK_FREQ
434	int "Peripheral clock frequency (in Hz)"
435	default "27000000" if CPU_SUBTYPE_SH7343
436	default "31250000" if CPU_SUBTYPE_SH7619
437	default "32000000" if CPU_SUBTYPE_SH7722
438	default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
439			      CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
440			      CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
441			      CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG
442	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
443	default "66000000" if CPU_SUBTYPE_SH4_202
444	default "50000000"
445	help
446	  This option is used to specify the peripheral clock frequency.
447	  This is necessary for determining the reference clock value on
448	  platforms lacking an RTC.
449
450config SH_CLK_MD
451	int "CPU Mode Pin Setting"
452	depends on CPU_SH2
453	default 6 if CPU_SUBTYPE_SH7206
454	default 5 if CPU_SUBTYPE_SH7619
455	default 0
456	help
457	  MD2 - MD0 pin setting.
458
459source "kernel/time/Kconfig"
460
461endmenu
462
463menu "CPU Frequency scaling"
464
465source "drivers/cpufreq/Kconfig"
466
467config SH_CPU_FREQ
468	tristate "SuperH CPU Frequency driver"
469	depends on CPU_FREQ
470	select CPU_FREQ_TABLE
471	help
472	  This adds the cpufreq driver for SuperH. Any CPU that supports
473	  clock rate rounding through the clock framework can use this
474	  driver. While it will make the kernel slightly larger, this is
475	  harmless for CPUs that don't support rate rounding. The driver
476	  will also generate a notice in the boot log before disabling
477	  itself if the CPU in question is not capable of rate rounding.
478
479	  For details, take a look at <file:Documentation/cpu-freq>.
480
481	  If unsure, say N.
482
483endmenu
484
485source "arch/sh/drivers/Kconfig"
486
487endmenu
488
489menu "Kernel features"
490
491source kernel/Kconfig.hz
492
493config KEXEC
494	bool "kexec system call (EXPERIMENTAL)"
495	depends on SUPERH32 && EXPERIMENTAL
496	help
497	  kexec is a system call that implements the ability to shutdown your
498	  current kernel, and to start another kernel.  It is like a reboot
499	  but it is independent of the system firmware.  And like a reboot
500	  you can start any kernel with it, not just Linux.
501
502	  The name comes from the similarity to the exec system call.
503
504	  It is an ongoing process to be certain the hardware in a machine
505	  is properly shutdown, so do not be surprised if this code does not
506	  initially work for you.  It may help to enable device hotplugging
507	  support.  As of this writing the exact hardware interface is
508	  strongly in flux, so no good recommendation can be made.
509
510config CRASH_DUMP
511	bool "kernel crash dumps (EXPERIMENTAL)"
512	depends on SUPERH32 && EXPERIMENTAL
513	help
514	  Generate crash dump after being started by kexec.
515	  This should be normally only set in special crash dump kernels
516	  which are loaded in the main kernel with kexec-tools into
517	  a specially reserved region and then later executed after
518	  a crash by kdump/kexec. The crash dump kernel must be compiled
519	  to a memory address not used by the main kernel using
520	  MEMORY_START.
521
522	  For more details see Documentation/kdump/kdump.txt
523
524config SECCOMP
525	bool "Enable seccomp to safely compute untrusted bytecode"
526	depends on PROC_FS
527	help
528	  This kernel feature is useful for number crunching applications
529	  that may need to compute untrusted bytecode during their
530	  execution. By using pipes or other transports made available to
531	  the process as file descriptors supporting the read/write
532	  syscalls, it's possible to isolate those applications in
533	  their own address space using seccomp. Once seccomp is
534	  enabled via prctl, it cannot be disabled and the task is only
535	  allowed to execute a few safe syscalls defined by each seccomp
536	  mode.
537
538	  If unsure, say N.
539
540config SMP
541	bool "Symmetric multi-processing support"
542	depends on SYS_SUPPORTS_SMP
543	select USE_GENERIC_SMP_HELPERS
544	---help---
545	  This enables support for systems with more than one CPU. If you have
546	  a system with only one CPU, like most personal computers, say N. If
547	  you have a system with more than one CPU, say Y.
548
549	  If you say N here, the kernel will run on single and multiprocessor
550	  machines, but will use only one CPU of a multiprocessor machine. If
551	  you say Y here, the kernel will run on many, but not all,
552	  singleprocessor machines. On a singleprocessor machine, the kernel
553	  will run faster if you say N here.
554
555	  People using multiprocessor machines who say Y here should also say
556	  Y to "Enhanced Real Time Clock Support", below.
557
558	  See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
559	  available at <http://www.tldp.org/docs.html#howto>.
560
561	  If you don't know what to do here, say N.
562
563config NR_CPUS
564	int "Maximum number of CPUs (2-32)"
565	range 2 32
566	depends on SMP
567	default "4" if CPU_SHX3
568	default "2"
569	help
570	  This allows you to specify the maximum number of CPUs which this
571	  kernel will support.  The maximum supported value is 32 and the
572	  minimum value which makes sense is 2.
573
574	  This is purely to save memory - each supported CPU adds
575	  approximately eight kilobytes to the kernel image.
576
577source "kernel/Kconfig.preempt"
578
579config GUSA
580	def_bool y
581	depends on !SMP && SUPERH32
582	help
583	  This enables support for gUSA (general UserSpace Atomicity).
584	  This is the default implementation for both UP and non-ll/sc
585	  CPUs, and is used by the libc, amongst others.
586
587	  For additional information, design information can be found
588	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
589
590	  This should only be disabled for special cases where alternate
591	  atomicity implementations exist.
592
593config GUSA_RB
594	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
595	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
596	help
597	  Enabling this option will allow the kernel to implement some
598	  atomic operations using a software implemention of load-locked/
599	  store-conditional (LLSC). On machines which do not have hardware
600	  LLSC, this should be more efficient than the other alternative of
601	  disabling insterrupts around the atomic sequence.
602
603endmenu
604
605menu "Boot options"
606
607config ZERO_PAGE_OFFSET
608	hex "Zero page offset"
609	default "0x00004000" if SH_SH03
610	default "0x00010000" if PAGE_SIZE_64KB
611	default "0x00002000" if PAGE_SIZE_8KB
612	default "0x00001000"
613	help
614	  This sets the default offset of zero page.
615
616config BOOT_LINK_OFFSET
617	hex "Link address offset for booting"
618	default "0x00800000"
619	help
620	  This option allows you to set the link address offset of the zImage.
621	  This can be useful if you are on a board which has a small amount of
622	  memory.
623
624config UBC_WAKEUP
625	bool "Wakeup UBC on startup"
626	depends on CPU_SH4 && !CPU_SH4A
627	help
628	  Selecting this option will wakeup the User Break Controller (UBC) on
629	  startup. Although the UBC is left in an awake state when the processor
630	  comes up, some boot loaders misbehave by putting the UBC to sleep in a
631	  power saving state, which causes issues with things like ptrace().
632
633	  If unsure, say N.
634
635config CMDLINE_BOOL
636	bool "Default bootloader kernel arguments"
637
638config CMDLINE
639	string "Initial kernel command string"
640	depends on CMDLINE_BOOL
641	default "console=ttySC1,115200"
642
643endmenu
644
645menu "Bus options"
646
647config SUPERHYWAY
648	tristate "SuperHyway Bus support"
649	depends on CPU_SUBTYPE_SH4_202
650
651config MAPLE
652	bool "Maple Bus support"
653	depends on SH_DREAMCAST
654	help
655	 The Maple Bus is SEGA's serial communication bus for peripherals
656	 on the Dreamcast. Without this bus support you won't be able to
657	 get your Dreamcast keyboard etc to work, so most users
658	 probably want to say 'Y' here, unless you are only using the
659	 Dreamcast with a serial line terminal or a remote network
660	 connection.
661
662source "arch/sh/drivers/pci/Kconfig"
663
664source "drivers/pci/pcie/Kconfig"
665
666source "drivers/pci/Kconfig"
667
668source "drivers/pcmcia/Kconfig"
669
670source "drivers/pci/hotplug/Kconfig"
671
672endmenu
673
674menu "Executable file formats"
675
676source "fs/Kconfig.binfmt"
677
678endmenu
679
680menu "Power management options (EXPERIMENTAL)"
681depends on EXPERIMENTAL
682
683source "kernel/power/Kconfig"
684
685source "drivers/cpuidle/Kconfig"
686
687endmenu
688
689source "net/Kconfig"
690
691source "drivers/Kconfig"
692
693source "fs/Kconfig"
694
695source "arch/sh/Kconfig.debug"
696
697source "security/Kconfig"
698
699source "crypto/Kconfig"
700
701source "lib/Kconfig"
702