aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/Kconfig')
-rw-r--r--arch/sh/Kconfig231
1 files changed, 161 insertions, 70 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index e2bdd7b94fd9..fff252209f63 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -1,23 +1,29 @@
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 1config SUPERH
9 def_bool y 2 def_bool y
10 select EMBEDDED 3 select EMBEDDED
11 select HAVE_CLK 4 select CLKDEV_LOOKUP
12 select HAVE_IDE 5 select HAVE_IDE if HAS_IOPORT
6 select HAVE_MEMBLOCK
13 select HAVE_OPROFILE 7 select HAVE_OPROFILE
14 select HAVE_GENERIC_DMA_COHERENT 8 select HAVE_GENERIC_DMA_COHERENT
15 select HAVE_IOREMAP_PROT if MMU
16 select HAVE_ARCH_TRACEHOOK 9 select HAVE_ARCH_TRACEHOOK
17 select HAVE_DMA_API_DEBUG 10 select HAVE_DMA_API_DEBUG
18 select HAVE_PERF_COUNTERS 11 select HAVE_DMA_ATTRS
12 select HAVE_IRQ_WORK
13 select HAVE_PERF_EVENTS
14 select PERF_USE_VMALLOC
15 select HAVE_KERNEL_GZIP
16 select HAVE_KERNEL_BZIP2
17 select HAVE_KERNEL_LZMA
18 select HAVE_KERNEL_LZO
19 select HAVE_SYSCALL_TRACEPOINTS
20 select HAVE_REGS_AND_STACK_ACCESS_API
21 select HAVE_GENERIC_HARDIRQS
22 select HAVE_SPARSE_IRQ
19 select RTC_LIB 23 select RTC_LIB
20 select GENERIC_ATOMIC64 24 select GENERIC_ATOMIC64
25 # Support the deprecated APIs until MFD and GPIOLIB catch up.
26 select GENERIC_HARDIRQS_NO_DEPRECATED if !MFD_SUPPORT && !GPIOLIB
21 help 27 help
22 The SuperH is a RISC processor targeted for use in embedded systems 28 The SuperH is a RISC processor targeted for use in embedded systems
23 and consumer electronics; it was also used in the Sega Dreamcast 29 and consumer electronics; it was also used in the Sega Dreamcast
@@ -28,11 +34,19 @@ config SUPERH32
28 def_bool ARCH = "sh" 34 def_bool ARCH = "sh"
29 select HAVE_KPROBES 35 select HAVE_KPROBES
30 select HAVE_KRETPROBES 36 select HAVE_KRETPROBES
37 select HAVE_IOREMAP_PROT if MMU && !X2TLB
31 select HAVE_FUNCTION_TRACER 38 select HAVE_FUNCTION_TRACER
32 select HAVE_FTRACE_MCOUNT_RECORD 39 select HAVE_FTRACE_MCOUNT_RECORD
33 select HAVE_DYNAMIC_FTRACE 40 select HAVE_DYNAMIC_FTRACE
41 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
42 select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
43 select HAVE_FUNCTION_GRAPH_TRACER
34 select HAVE_ARCH_KGDB 44 select HAVE_ARCH_KGDB
45 select HAVE_HW_BREAKPOINT
46 select HAVE_MIXED_BREAKPOINTS_REGS
47 select PERF_EVENTS
35 select ARCH_HIBERNATION_POSSIBLE if MMU 48 select ARCH_HIBERNATION_POSSIBLE if MMU
49 select SPARSE_IRQ
36 50
37config SUPERH64 51config SUPERH64
38 def_bool ARCH = "sh64" 52 def_bool ARCH = "sh64"
@@ -62,15 +76,6 @@ config GENERIC_FIND_NEXT_BIT
62config GENERIC_HWEIGHT 76config GENERIC_HWEIGHT
63 def_bool y 77 def_bool y
64 78
65config GENERIC_HARDIRQS
66 def_bool y
67
68config GENERIC_HARDIRQS_NO__DO_IRQ
69 def_bool y
70
71config GENERIC_IRQ_PROBE
72 def_bool y
73
74config IRQ_PER_CPU 79config IRQ_PER_CPU
75 def_bool y 80 def_bool y
76 81
@@ -83,9 +88,6 @@ config GENERIC_CALIBRATE_DELAY
83config GENERIC_IOMAP 88config GENERIC_IOMAP
84 bool 89 bool
85 90
86config GENERIC_TIME
87 def_bool y
88
89config GENERIC_CLOCKEVENTS 91config GENERIC_CLOCKEVENTS
90 def_bool y 92 def_bool y
91 93
@@ -114,6 +116,9 @@ config SYS_SUPPORTS_APM_EMULATION
114 bool 116 bool
115 select ARCH_SUSPEND_POSSIBLE 117 select ARCH_SUSPEND_POSSIBLE
116 118
119config SYS_SUPPORTS_HUGETLBFS
120 bool
121
117config SYS_SUPPORTS_SMP 122config SYS_SUPPORTS_SMP
118 bool 123 bool
119 124
@@ -140,7 +145,6 @@ config LOCKDEP_SUPPORT
140 145
141config HAVE_LATENCYTOP_SUPPORT 146config HAVE_LATENCYTOP_SUPPORT
142 def_bool y 147 def_bool y
143 depends on !SMP
144 148
145config ARCH_HAS_ILOG2_U32 149config ARCH_HAS_ILOG2_U32
146 def_bool n 150 def_bool n
@@ -157,9 +161,25 @@ config ARCH_HAS_DEFAULT_IDLE
157config ARCH_HAS_CPU_IDLE_WAIT 161config ARCH_HAS_CPU_IDLE_WAIT
158 def_bool y 162 def_bool y
159 163
164config NO_IOPORT
165 def_bool !PCI
166 depends on !SH_CAYMAN && !SH_SH4202_MICRODEV
167
160config IO_TRAPPED 168config IO_TRAPPED
161 bool 169 bool
162 170
171config DMA_COHERENT
172 bool
173
174config DMA_NONCOHERENT
175 def_bool !DMA_COHERENT
176
177config NEED_DMA_MAP_STATE
178 def_bool DMA_NONCOHERENT
179
180config NEED_SG_DMA_LENGTH
181 def_bool y
182
163source "init/Kconfig" 183source "init/Kconfig"
164 184
165source "kernel/Kconfig.freezer" 185source "kernel/Kconfig.freezer"
@@ -175,6 +195,7 @@ config CPU_SH2
175config CPU_SH2A 195config CPU_SH2A
176 bool 196 bool
177 select CPU_SH2 197 select CPU_SH2
198 select UNCACHED_MAPPING
178 199
179config CPU_SH3 200config CPU_SH3
180 bool 201 bool
@@ -188,6 +209,7 @@ config CPU_SH4
188 select CPU_HAS_SR_RB 209 select CPU_HAS_SR_RB
189 select CPU_HAS_FPU if !CPU_SH4AL_DSP 210 select CPU_HAS_FPU if !CPU_SH4AL_DSP
190 select SYS_SUPPORTS_TMU 211 select SYS_SUPPORTS_TMU
212 select SYS_SUPPORTS_HUGETLBFS if MMU
191 213
192config CPU_SH4A 214config CPU_SH4A
193 bool 215 bool
@@ -202,16 +224,27 @@ config CPU_SH5
202 bool 224 bool
203 select CPU_HAS_FPU 225 select CPU_HAS_FPU
204 select SYS_SUPPORTS_TMU 226 select SYS_SUPPORTS_TMU
227 select SYS_SUPPORTS_HUGETLBFS if MMU
205 228
206config CPU_SHX2 229config CPU_SHX2
207 bool 230 bool
208 231
209config CPU_SHX3 232config CPU_SHX3
210 bool 233 bool
234 select DMA_COHERENT
235 select SYS_SUPPORTS_SMP
236 select SYS_SUPPORTS_NUMA
211 237
212config ARCH_SHMOBILE 238config ARCH_SHMOBILE
213 bool 239 bool
214 select ARCH_SUSPEND_POSSIBLE 240 select ARCH_SUSPEND_POSSIBLE
241 select PM
242 select PM_RUNTIME
243
244config CPU_HAS_PMU
245 depends on CPU_SH4 || CPU_SH4A
246 default y
247 bool
215 248
216if SUPERH32 249if SUPERH32
217 250
@@ -243,6 +276,7 @@ config CPU_SUBTYPE_SH7203
243 select CPU_HAS_FPU 276 select CPU_HAS_FPU
244 select SYS_SUPPORTS_CMT 277 select SYS_SUPPORTS_CMT
245 select SYS_SUPPORTS_MTU2 278 select SYS_SUPPORTS_MTU2
279 select ARCH_WANT_OPTIONAL_GPIOLIB
246 280
247config CPU_SUBTYPE_SH7206 281config CPU_SUBTYPE_SH7206
248 bool "Support SH7206 processor" 282 bool "Support SH7206 processor"
@@ -314,6 +348,8 @@ config CPU_SUBTYPE_SH7720
314 select CPU_SH3 348 select CPU_SH3
315 select CPU_HAS_DSP 349 select CPU_HAS_DSP
316 select SYS_SUPPORTS_CMT 350 select SYS_SUPPORTS_CMT
351 select ARCH_WANT_OPTIONAL_GPIOLIB
352 select USB_ARCH_HAS_OHCI
317 help 353 help
318 Select SH7720 if you have a SH3-DSP SH7720 CPU. 354 Select SH7720 if you have a SH3-DSP SH7720 CPU.
319 355
@@ -322,6 +358,7 @@ config CPU_SUBTYPE_SH7721
322 select CPU_SH3 358 select CPU_SH3
323 select CPU_HAS_DSP 359 select CPU_HAS_DSP
324 select SYS_SUPPORTS_CMT 360 select SYS_SUPPORTS_CMT
361 select USB_ARCH_HAS_OHCI
325 help 362 help
326 Select SH7721 if you have a SH3-DSP SH7721 CPU. 363 Select SH7721 if you have a SH3-DSP SH7721 CPU.
327 364
@@ -376,6 +413,7 @@ config CPU_SUBTYPE_SH7723
376 select ARCH_SHMOBILE 413 select ARCH_SHMOBILE
377 select ARCH_SPARSEMEM_ENABLE 414 select ARCH_SPARSEMEM_ENABLE
378 select SYS_SUPPORTS_CMT 415 select SYS_SUPPORTS_CMT
416 select ARCH_WANT_OPTIONAL_GPIOLIB
379 help 417 help
380 Select SH7723 if you have an SH-MobileR2 CPU. 418 Select SH7723 if you have an SH-MobileR2 CPU.
381 419
@@ -386,12 +424,22 @@ config CPU_SUBTYPE_SH7724
386 select ARCH_SHMOBILE 424 select ARCH_SHMOBILE
387 select ARCH_SPARSEMEM_ENABLE 425 select ARCH_SPARSEMEM_ENABLE
388 select SYS_SUPPORTS_CMT 426 select SYS_SUPPORTS_CMT
427 select ARCH_WANT_OPTIONAL_GPIOLIB
389 help 428 help
390 Select SH7724 if you have an SH-MobileR2R CPU. 429 Select SH7724 if you have an SH-MobileR2R CPU.
391 430
431config CPU_SUBTYPE_SH7757
432 bool "Support SH7757 processor"
433 select CPU_SH4A
434 select CPU_SHX2
435 select ARCH_WANT_OPTIONAL_GPIOLIB
436 help
437 Select SH7757 if you have a SH4A SH7757 CPU.
438
392config CPU_SUBTYPE_SH7763 439config CPU_SUBTYPE_SH7763
393 bool "Support SH7763 processor" 440 bool "Support SH7763 processor"
394 select CPU_SH4A 441 select CPU_SH4A
442 select USB_ARCH_HAS_OHCI
395 help 443 help
396 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU. 444 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
397 445
@@ -409,25 +457,24 @@ config CPU_SUBTYPE_SH7785
409 select CPU_SHX2 457 select CPU_SHX2
410 select ARCH_SPARSEMEM_ENABLE 458 select ARCH_SPARSEMEM_ENABLE
411 select SYS_SUPPORTS_NUMA 459 select SYS_SUPPORTS_NUMA
460 select ARCH_WANT_OPTIONAL_GPIOLIB
412 461
413config CPU_SUBTYPE_SH7786 462config CPU_SUBTYPE_SH7786
414 bool "Support SH7786 processor" 463 bool "Support SH7786 processor"
415 select CPU_SH4A 464 select CPU_SH4A
416 select CPU_SHX3 465 select CPU_SHX3
417 select CPU_HAS_PTEAEX 466 select CPU_HAS_PTEAEX
418 select ARCH_SPARSEMEM_ENABLE
419 select SYS_SUPPORTS_NUMA
420 select SYS_SUPPORTS_SMP
421 select GENERIC_CLOCKEVENTS_BROADCAST if SMP 467 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
468 select ARCH_WANT_OPTIONAL_GPIOLIB
469 select USB_ARCH_HAS_OHCI
470 select USB_ARCH_HAS_EHCI
422 471
423config CPU_SUBTYPE_SHX3 472config CPU_SUBTYPE_SHX3
424 bool "Support SH-X3 processor" 473 bool "Support SH-X3 processor"
425 select CPU_SH4A 474 select CPU_SH4A
426 select CPU_SHX3 475 select CPU_SHX3
427 select ARCH_SPARSEMEM_ENABLE
428 select SYS_SUPPORTS_NUMA
429 select SYS_SUPPORTS_SMP
430 select GENERIC_CLOCKEVENTS_BROADCAST if SMP 476 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
477 select ARCH_REQUIRE_GPIOLIB
431 478
432# SH4AL-DSP Processor Support 479# SH4AL-DSP Processor Support
433 480
@@ -445,6 +492,7 @@ config CPU_SUBTYPE_SH7722
445 select ARCH_SPARSEMEM_ENABLE 492 select ARCH_SPARSEMEM_ENABLE
446 select SYS_SUPPORTS_NUMA 493 select SYS_SUPPORTS_NUMA
447 select SYS_SUPPORTS_CMT 494 select SYS_SUPPORTS_CMT
495 select ARCH_WANT_OPTIONAL_GPIOLIB
448 496
449config CPU_SUBTYPE_SH7366 497config CPU_SUBTYPE_SH7366
450 bool "Support SH7366 processor" 498 bool "Support SH7366 processor"
@@ -509,14 +557,15 @@ config SH_TIMER_MTU2
509 557
510config SH_PCLK_FREQ 558config SH_PCLK_FREQ
511 int "Peripheral clock frequency (in Hz)" 559 int "Peripheral clock frequency (in Hz)"
512 default "27000000" if CPU_SUBTYPE_SH7343 560 depends on SH_CLK_CPG_LEGACY
513 default "31250000" if CPU_SUBTYPE_SH7619 561 default "31250000" if CPU_SUBTYPE_SH7619
514 default "32000000" if CPU_SUBTYPE_SH7722 562 default "33333333" if CPU_SUBTYPE_SH7770 || \
515 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \ 563 CPU_SUBTYPE_SH7760 || \
516 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \ 564 CPU_SUBTYPE_SH7705 || \
517 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \ 565 CPU_SUBTYPE_SH7203 || \
518 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG || \ 566 CPU_SUBTYPE_SH7206 || \
519 CPU_SUBTYPE_SH7786 || CPU_SUBTYPE_SH7724 567 CPU_SUBTYPE_SH7263 || \
568 CPU_SUBTYPE_MXG
520 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R 569 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
521 default "66000000" if CPU_SUBTYPE_SH4_202 570 default "66000000" if CPU_SUBTYPE_SH4_202
522 default "50000000" 571 default "50000000"
@@ -530,16 +579,8 @@ config SH_CLK_CPG
530 579
531config SH_CLK_CPG_LEGACY 580config SH_CLK_CPG_LEGACY
532 depends on SH_CLK_CPG 581 depends on SH_CLK_CPG
533 def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE 582 def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
534 583 !CPU_SHX3 && !CPU_SUBTYPE_SH7757
535config SH_CLK_MD
536 int "CPU Mode Pin Setting"
537 depends on CPU_SH2
538 default 6 if CPU_SUBTYPE_SH7206
539 default 5 if CPU_SUBTYPE_SH7619
540 default 0
541 help
542 MD2 - MD0 pin setting.
543 584
544source "kernel/time/Kconfig" 585source "kernel/time/Kconfig"
545 586
@@ -594,7 +635,7 @@ config KEXEC
594 635
595config CRASH_DUMP 636config CRASH_DUMP
596 bool "kernel crash dumps (EXPERIMENTAL)" 637 bool "kernel crash dumps (EXPERIMENTAL)"
597 depends on SUPERH32 && EXPERIMENTAL 638 depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
598 help 639 help
599 Generate crash dump after being started by kexec. 640 Generate crash dump after being started by kexec.
600 This should be normally only set in special crash dump kernels 641 This should be normally only set in special crash dump kernels
@@ -666,6 +707,13 @@ config NR_CPUS
666 This is purely to save memory - each supported CPU adds 707 This is purely to save memory - each supported CPU adds
667 approximately eight kilobytes to the kernel image. 708 approximately eight kilobytes to the kernel image.
668 709
710config HOTPLUG_CPU
711 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
712 depends on SMP && HOTPLUG && EXPERIMENTAL
713 help
714 Say Y here to experiment with turning CPUs off and on. CPUs
715 can be controlled through /sys/devices/system/cpu.
716
669source "kernel/Kconfig.preempt" 717source "kernel/Kconfig.preempt"
670 718
671config GUSA 719config GUSA
@@ -692,17 +740,15 @@ config GUSA_RB
692 LLSC, this should be more efficient than the other alternative of 740 LLSC, this should be more efficient than the other alternative of
693 disabling interrupts around the atomic sequence. 741 disabling interrupts around the atomic sequence.
694 742
695config SPARSE_IRQ 743config HW_PERF_EVENTS
696 bool "Support sparse irq numbering" 744 bool "Enable hardware performance counter support for perf events"
697 depends on EXPERIMENTAL 745 depends on PERF_EVENTS && CPU_HAS_PMU
746 default y
698 help 747 help
699 This enables support for sparse irqs. This is useful in general 748 Enable hardware performance counter support for perf events. If
700 as most CPUs have a fairly sparse array of IRQ vectors, which 749 disabled, perf events will use software events only.
701 the irq_desc then maps directly on to. Systems with a high
702 number of off-chip IRQs will want to treat this as
703 experimental until they have been independently verified.
704 750
705 If you don't know what to do here, say N. 751source "drivers/sh/Kconfig"
706 752
707endmenu 753endmenu
708 754
@@ -740,23 +786,42 @@ config ENTRY_OFFSET
740 default "0x00010000" if PAGE_SIZE_64KB 786 default "0x00010000" if PAGE_SIZE_64KB
741 default "0x00000000" 787 default "0x00000000"
742 788
743config UBC_WAKEUP 789config ROMIMAGE_MMCIF
744 bool "Wakeup UBC on startup" 790 bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
745 depends on CPU_SH4 && !CPU_SH4A 791 depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL
746 help 792 help
747 Selecting this option will wakeup the User Break Controller (UBC) on 793 Say Y here to include experimental MMCIF loading code in
748 startup. Although the UBC is left in an awake state when the processor 794 romImage. With this enabled it is possible to write the romImage
749 comes up, some boot loaders misbehave by putting the UBC to sleep in a 795 kernel image to an MMC card and boot the kernel straight from
750 power saving state, which causes issues with things like ptrace(). 796 the reset vector. At reset the processor Mask ROM will load the
797 first part of the romImage which in turn loads the rest the kernel
798 image to RAM using the MMCIF hardware block.
751 799
752 If unsure, say N. 800choice
801 prompt "Kernel command line"
802 optional
803 default CMDLINE_OVERWRITE
804 help
805 Setting this option allows the kernel command line arguments
806 to be set.
753 807
754config CMDLINE_BOOL 808config CMDLINE_OVERWRITE
755 bool "Default bootloader kernel arguments" 809 bool "Overwrite bootloader kernel arguments"
810 help
811 Given string will overwrite any arguments passed in by
812 a bootloader.
813
814config CMDLINE_EXTEND
815 bool "Extend bootloader kernel arguments"
816 help
817 Given string will be concatenated with arguments passed in
818 by a bootloader.
819
820endchoice
756 821
757config CMDLINE 822config CMDLINE
758 string "Initial kernel command string" 823 string "Kernel command line arguments string"
759 depends on CMDLINE_BOOL 824 depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
760 default "console=ttySC1,115200" 825 default "console=ttySC1,115200"
761 826
762endmenu 827endmenu
@@ -778,7 +843,17 @@ config MAPLE
778 Dreamcast with a serial line terminal or a remote network 843 Dreamcast with a serial line terminal or a remote network
779 connection. 844 connection.
780 845
781source "arch/sh/drivers/pci/Kconfig" 846config PCI
847 bool "PCI support"
848 depends on SYS_SUPPORTS_PCI
849 select PCI_DOMAINS
850 help
851 Find out whether you have a PCI motherboard. PCI is the name of a
852 bus system, i.e. the way the CPU talks to the other stuff inside
853 your box. If you have PCI, say Y, otherwise N.
854
855config PCI_DOMAINS
856 bool
782 857
783source "drivers/pci/pcie/Kconfig" 858source "drivers/pci/pcie/Kconfig"
784 859
@@ -817,4 +892,20 @@ source "security/Kconfig"
817 892
818source "crypto/Kconfig" 893source "crypto/Kconfig"
819 894
895menuconfig VIRTUALIZATION
896 bool "Virtualization"
897 default n
898 ---help---
899 Say Y here to get to see options for using your Linux host to run other
900 operating systems inside virtual machines (guests).
901 This option alone does not add any kernel code.
902
903 If you say N, all options in this submenu will be skipped and disabled.
904
905if VIRTUALIZATION
906
907source drivers/virtio/Kconfig
908
909endif # VIRTUALIZATION
910
820source "lib/Kconfig" 911source "lib/Kconfig"