aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/Kconfig')
-rw-r--r--arch/sh/Kconfig366
1 files changed, 251 insertions, 115 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 496d635f89b2..1cd9c8fd927d 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -6,8 +6,7 @@
6mainmenu "Linux/SuperH Kernel Configuration" 6mainmenu "Linux/SuperH Kernel Configuration"
7 7
8config SUPERH 8config SUPERH
9 bool 9 def_bool y
10 default y
11 select EMBEDDED 10 select EMBEDDED
12 help 11 help
13 The SuperH is a RISC processor targeted for use in embedded systems 12 The SuperH is a RISC processor targeted for use in embedded systems
@@ -15,36 +14,36 @@ config SUPERH
15 gaming console. The SuperH port has a home page at 14 gaming console. The SuperH port has a home page at
16 <http://www.linux-sh.org/>. 15 <http://www.linux-sh.org/>.
17 16
17config SUPERH32
18 def_bool !SUPERH64
19
20config SUPERH64
21 def_bool y if CPU_SH5
22
18config RWSEM_GENERIC_SPINLOCK 23config RWSEM_GENERIC_SPINLOCK
19 bool 24 def_bool y
20 default y
21 25
22config RWSEM_XCHGADD_ALGORITHM 26config RWSEM_XCHGADD_ALGORITHM
23 bool 27 bool
24 28
25config GENERIC_BUG 29config GENERIC_BUG
26 def_bool y 30 def_bool y
27 depends on BUG 31 depends on BUG && SUPERH32
28 32
29config GENERIC_FIND_NEXT_BIT 33config GENERIC_FIND_NEXT_BIT
30 bool 34 def_bool y
31 default y
32 35
33config GENERIC_HWEIGHT 36config GENERIC_HWEIGHT
34 bool 37 def_bool y
35 default y
36 38
37config GENERIC_HARDIRQS 39config GENERIC_HARDIRQS
38 bool 40 def_bool y
39 default y
40 41
41config GENERIC_IRQ_PROBE 42config GENERIC_IRQ_PROBE
42 bool 43 def_bool y
43 default y
44 44
45config GENERIC_CALIBRATE_DELAY 45config GENERIC_CALIBRATE_DELAY
46 bool 46 def_bool y
47 default y
48 47
49config GENERIC_IOMAP 48config GENERIC_IOMAP
50 bool 49 bool
@@ -75,20 +74,16 @@ config ARCH_MAY_HAVE_PC_FDC
75 bool 74 bool
76 75
77config STACKTRACE_SUPPORT 76config STACKTRACE_SUPPORT
78 bool 77 def_bool y
79 default y
80 78
81config LOCKDEP_SUPPORT 79config LOCKDEP_SUPPORT
82 bool 80 def_bool y
83 default y
84 81
85config ARCH_HAS_ILOG2_U32 82config ARCH_HAS_ILOG2_U32
86 bool 83 def_bool n
87 default n
88 84
89config ARCH_HAS_ILOG2_U64 85config ARCH_HAS_ILOG2_U64
90 bool 86 def_bool n
91 default n
92 87
93config ARCH_NO_VIRT_TO_BUS 88config ARCH_NO_VIRT_TO_BUS
94 def_bool y 89 def_bool y
@@ -97,110 +92,234 @@ source "init/Kconfig"
97 92
98menu "System type" 93menu "System type"
99 94
100source "arch/sh/mm/Kconfig" 95#
96# Processor families
97#
98config CPU_SH2
99 bool
101 100
102menu "Processor features" 101config CPU_SH2A
102 bool
103 select CPU_SH2
104
105config CPU_SH3
106 bool
107 select CPU_HAS_INTEVT
108 select CPU_HAS_SR_RB
109
110config CPU_SH4
111 bool
112 select CPU_HAS_INTEVT
113 select CPU_HAS_SR_RB
114 select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
115 select CPU_HAS_FPU if !CPU_SH4AL_DSP
116
117config CPU_SH4A
118 bool
119 select CPU_SH4
120
121config CPU_SH4AL_DSP
122 bool
123 select CPU_SH4A
124 select CPU_HAS_DSP
125
126config CPU_SH5
127 bool
128 select CPU_HAS_FPU
129
130config CPU_SHX2
131 bool
132
133config CPU_SHX3
134 bool
103 135
104choice 136choice
105 prompt "Endianess selection" 137 prompt "Processor sub-type selection"
106 default CPU_LITTLE_ENDIAN
107 help
108 Some SuperH machines can be configured for either little or big
109 endian byte order. These modes require different kernels.
110 138
111config CPU_LITTLE_ENDIAN 139#
112 bool "Little Endian" 140# Processor subtypes
141#
113 142
114config CPU_BIG_ENDIAN 143# SH-2 Processor Support
115 bool "Big Endian"
116 144
117endchoice 145config CPU_SUBTYPE_SH7619
146 bool "Support SH7619 processor"
147 select CPU_SH2
148
149# SH-2A Processor Support
150
151config CPU_SUBTYPE_SH7203
152 bool "Support SH7203 processor"
153 select CPU_SH2A
154 select CPU_HAS_FPU
155
156config CPU_SUBTYPE_SH7206
157 bool "Support SH7206 processor"
158 select CPU_SH2A
118 159
119config SH_FPU 160config CPU_SUBTYPE_SH7263
120 bool "FPU support" 161 bool "Support SH7263 processor"
121 depends on CPU_HAS_FPU 162 select CPU_SH2A
122 default y 163 select CPU_HAS_FPU
164
165# SH-3 Processor Support
166
167config CPU_SUBTYPE_SH7705
168 bool "Support SH7705 processor"
169 select CPU_SH3
170
171config CPU_SUBTYPE_SH7706
172 bool "Support SH7706 processor"
173 select CPU_SH3
123 help 174 help
124 Selecting this option will enable support for SH processors that 175 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
125 have FPU units (ie, SH77xx).
126 176
127 This option must be set in order to enable the FPU. 177config CPU_SUBTYPE_SH7707
178 bool "Support SH7707 processor"
179 select CPU_SH3
180 help
181 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
128 182
129config SH_FPU_EMU 183config CPU_SUBTYPE_SH7708
130 bool "FPU emulation support" 184 bool "Support SH7708 processor"
131 depends on !SH_FPU && EXPERIMENTAL 185 select CPU_SH3
132 default n
133 help 186 help
134 Selecting this option will enable support for software FPU emulation. 187 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
135 Most SH-3 users will want to say Y here, whereas most SH-4 users will 188 if you have a 100 Mhz SH-3 HD6417708R CPU.
136 want to say N.
137 189
138config SH_DSP 190config CPU_SUBTYPE_SH7709
139 bool "DSP support" 191 bool "Support SH7709 processor"
140 depends on CPU_HAS_DSP 192 select CPU_SH3
141 default y
142 help 193 help
143 Selecting this option will enable support for SH processors that 194 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
144 have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
145 195
146 This option must be set in order to enable the DSP. 196config CPU_SUBTYPE_SH7710
197 bool "Support SH7710 processor"
198 select CPU_SH3
199 select CPU_HAS_DSP
200 help
201 Select SH7710 if you have a SH3-DSP SH7710 CPU.
147 202
148config SH_ADC 203config CPU_SUBTYPE_SH7712
149 bool "ADC support" 204 bool "Support SH7712 processor"
150 depends on CPU_SH3 205 select CPU_SH3
151 default y 206 select CPU_HAS_DSP
152 help 207 help
153 Selecting this option will allow the Linux kernel to use SH3 on-chip 208 Select SH7712 if you have a SH3-DSP SH7712 CPU.
154 ADC module.
155 209
156 If unsure, say N. 210config CPU_SUBTYPE_SH7720
211 bool "Support SH7720 processor"
212 select CPU_SH3
213 select CPU_HAS_DSP
214 help
215 Select SH7720 if you have a SH3-DSP SH7720 CPU.
157 216
158config SH_STORE_QUEUES 217config CPU_SUBTYPE_SH7721
159 bool "Support for Store Queues" 218 bool "Support SH7721 processor"
160 depends on CPU_SH4 219 select CPU_SH3
220 select CPU_HAS_DSP
161 help 221 help
162 Selecting this option will enable an in-kernel API for manipulating 222 Select SH7721 if you have a SH3-DSP SH7721 CPU.
163 the store queues integrated in the SH-4 processors.
164 223
165config SPECULATIVE_EXECUTION 224# SH-4 Processor Support
166 bool "Speculative subroutine return" 225
167 depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL 226config CPU_SUBTYPE_SH7750
227 bool "Support SH7750 processor"
228 select CPU_SH4
168 help 229 help
169 This enables support for a speculative instruction fetch for 230 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
170 subroutine return. There are various pitfalls associated with
171 this, as outlined in the SH7780 hardware manual.
172 231
173 If unsure, say N. 232config CPU_SUBTYPE_SH7091
233 bool "Support SH7091 processor"
234 select CPU_SH4
235 help
236 Select SH7091 if you have an SH-4 based Sega device (such as
237 the Dreamcast, Naomi, and Naomi 2).
174 238
175config CPU_HAS_INTEVT 239config CPU_SUBTYPE_SH7750R
176 bool 240 bool "Support SH7750R processor"
241 select CPU_SH4
177 242
178config CPU_HAS_MASKREG_IRQ 243config CPU_SUBTYPE_SH7750S
179 bool 244 bool "Support SH7750S processor"
245 select CPU_SH4
180 246
181config CPU_HAS_IPR_IRQ 247config CPU_SUBTYPE_SH7751
182 bool 248 bool "Support SH7751 processor"
249 select CPU_SH4
250 help
251 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
252 or if you have a HD6417751R CPU.
183 253
184config CPU_HAS_SR_RB 254config CPU_SUBTYPE_SH7751R
185 bool 255 bool "Support SH7751R processor"
256 select CPU_SH4
257
258config CPU_SUBTYPE_SH7760
259 bool "Support SH7760 processor"
260 select CPU_SH4
261
262config CPU_SUBTYPE_SH4_202
263 bool "Support SH4-202 processor"
264 select CPU_SH4
265
266# SH-4A Processor Support
267
268config CPU_SUBTYPE_SH7763
269 bool "Support SH7763 processor"
270 select CPU_SH4A
186 help 271 help
187 This will enable the use of SR.RB register bank usage. Processors 272 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
188 that are lacking this bit must have another method in place for
189 accomplishing what is taken care of by the banked registers.
190 273
191 See <file:Documentation/sh/register-banks.txt> for further 274config CPU_SUBTYPE_SH7770
192 information on SR.RB and register banking in the kernel in general. 275 bool "Support SH7770 processor"
276 select CPU_SH4A
193 277
194config CPU_HAS_PTEA 278config CPU_SUBTYPE_SH7780
195 bool 279 bool "Support SH7780 processor"
280 select CPU_SH4A
196 281
197config CPU_HAS_DSP 282config CPU_SUBTYPE_SH7785
198 bool 283 bool "Support SH7785 processor"
284 select CPU_SH4A
285 select CPU_SHX2
286 select ARCH_SPARSEMEM_ENABLE
287 select SYS_SUPPORTS_NUMA
199 288
200config CPU_HAS_FPU 289config CPU_SUBTYPE_SHX3
201 bool 290 bool "Support SH-X3 processor"
291 select CPU_SH4A
292 select CPU_SHX3
293 select ARCH_SPARSEMEM_ENABLE
294 select SYS_SUPPORTS_NUMA
295 select SYS_SUPPORTS_SMP
202 296
203endmenu 297# SH4AL-DSP Processor Support
298
299config CPU_SUBTYPE_SH7343
300 bool "Support SH7343 processor"
301 select CPU_SH4AL_DSP
302
303config CPU_SUBTYPE_SH7722
304 bool "Support SH7722 processor"
305 select CPU_SH4AL_DSP
306 select CPU_SHX2
307 select ARCH_SPARSEMEM_ENABLE
308 select SYS_SUPPORTS_NUMA
309
310# SH-5 Processor Support
311
312config CPU_SUBTYPE_SH5_101
313 bool "Support SH5-101 processor"
314 select CPU_SH5
315
316config CPU_SUBTYPE_SH5_103
317 bool "Support SH5-103 processor"
318
319endchoice
320
321source "arch/sh/mm/Kconfig"
322source "arch/sh/Kconfig.cpu"
204 323
205menu "Board support" 324menu "Board support"
206 325
@@ -321,13 +440,6 @@ config SH_SECUREEDGE5410
321 This includes both the OEM SecureEdge products as well as the 440 This includes both the OEM SecureEdge products as well as the
322 SME product line. 441 SME product line.
323 442
324config SH_HS7751RVOIP
325 bool "HS7751RVOIP"
326 depends on CPU_SUBTYPE_SH7751R
327 help
328 Select HS7751RVOIP if configuring for a Renesas Technology
329 Sales VoIP board.
330
331config SH_7710VOIPGW 443config SH_7710VOIPGW
332 bool "SH7710-VOIP-GW" 444 bool "SH7710-VOIP-GW"
333 depends on CPU_SUBTYPE_SH7710 445 depends on CPU_SUBTYPE_SH7710
@@ -343,6 +455,14 @@ config SH_RTS7751R2D
343 Select RTS7751R2D if configuring for a Renesas Technology 455 Select RTS7751R2D if configuring for a Renesas Technology
344 Sales SH-Graphics board. 456 Sales SH-Graphics board.
345 457
458config SH_SDK7780
459 bool "SDK7780R3"
460 depends on CPU_SUBTYPE_SH7780
461 select SYS_SUPPORTS_PCI
462 help
463 Select SDK7780 if configuring for a Renesas SH7780 SDK7780R3
464 evaluation board.
465
346config SH_HIGHLANDER 466config SH_HIGHLANDER
347 bool "Highlander" 467 bool "Highlander"
348 depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 468 depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
@@ -399,41 +519,47 @@ config SH_MAGIC_PANEL_R2
399 help 519 help
400 Select Magic Panel R2 if configuring for Magic Panel R2. 520 Select Magic Panel R2 if configuring for Magic Panel R2.
401 521
522config SH_CAYMAN
523 bool "Hitachi Cayman"
524 depends on CPU_SUBTYPE_SH5_101 || CPU_SUBTYPE_SH5_103
525 select SYS_SUPPORTS_PCI
526
402endmenu 527endmenu
403 528
404source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
405source "arch/sh/boards/renesas/rts7751r2d/Kconfig" 529source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
406source "arch/sh/boards/renesas/r7780rp/Kconfig" 530source "arch/sh/boards/renesas/r7780rp/Kconfig"
531source "arch/sh/boards/renesas/sdk7780/Kconfig"
407source "arch/sh/boards/magicpanelr2/Kconfig" 532source "arch/sh/boards/magicpanelr2/Kconfig"
408 533
409menu "Timer and clock configuration" 534menu "Timer and clock configuration"
410 535
411config SH_TMU 536config SH_TMU
412 bool "TMU timer support" 537 def_bool y
538 prompt "TMU timer support"
413 depends on CPU_SH3 || CPU_SH4 539 depends on CPU_SH3 || CPU_SH4
414 select GENERIC_TIME 540 select GENERIC_TIME
415 select GENERIC_CLOCKEVENTS 541 select GENERIC_CLOCKEVENTS
416 default y
417 help 542 help
418 This enables the use of the TMU as the system timer. 543 This enables the use of the TMU as the system timer.
419 544
420config SH_CMT 545config SH_CMT
421 bool "CMT timer support" 546 def_bool y
547 prompt "CMT timer support"
422 depends on CPU_SH2 548 depends on CPU_SH2
423 default y
424 help 549 help
425 This enables the use of the CMT as the system timer. 550 This enables the use of the CMT as the system timer.
426 551
427config SH_MTU2 552config SH_MTU2
428 bool "MTU2 timer support" 553 def_bool n
554 prompt "MTU2 timer support"
429 depends on CPU_SH2A 555 depends on CPU_SH2A
430 default n
431 help 556 help
432 This enables the use of the MTU2 as the system timer. 557 This enables the use of the MTU2 as the system timer.
433 558
434config SH_TIMER_IRQ 559config SH_TIMER_IRQ
435 int 560 int
436 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 561 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
562 CPU_SUBTYPE_SH7763
437 default "86" if CPU_SUBTYPE_SH7619 563 default "86" if CPU_SUBTYPE_SH7619
438 default "140" if CPU_SUBTYPE_SH7206 564 default "140" if CPU_SUBTYPE_SH7206
439 default "16" 565 default "16"
@@ -445,7 +571,8 @@ config SH_PCLK_FREQ
445 default "32000000" if CPU_SUBTYPE_SH7722 571 default "32000000" if CPU_SUBTYPE_SH7722
446 default "33333333" if CPU_SUBTYPE_SH7770 || \ 572 default "33333333" if CPU_SUBTYPE_SH7770 || \
447 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \ 573 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
448 CPU_SUBTYPE_SH7206 574 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
575 CPU_SUBTYPE_SH7263
449 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R 576 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
450 default "66000000" if CPU_SUBTYPE_SH4_202 577 default "66000000" if CPU_SUBTYPE_SH4_202
451 default "50000000" 578 default "50000000"
@@ -456,7 +583,7 @@ config SH_PCLK_FREQ
456 583
457config SH_CLK_MD 584config SH_CLK_MD
458 int "CPU Mode Pin Setting" 585 int "CPU Mode Pin Setting"
459 depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206 586 depends on CPU_SH2
460 default 6 if CPU_SUBTYPE_SH7206 587 default 6 if CPU_SUBTYPE_SH7206
461 default 5 if CPU_SUBTYPE_SH7619 588 default 5 if CPU_SUBTYPE_SH7619
462 default 0 589 default 0
@@ -490,9 +617,8 @@ source "arch/sh/drivers/Kconfig"
490endmenu 617endmenu
491 618
492config ISA_DMA_API 619config ISA_DMA_API
493 bool 620 def_bool y
494 depends on SH_MPC1211 621 depends on SH_MPC1211
495 default y
496 622
497menu "Kernel features" 623menu "Kernel features"
498 624
@@ -570,7 +696,7 @@ source "kernel/Kconfig.preempt"
570 696
571config GUSA 697config GUSA
572 def_bool y 698 def_bool y
573 depends on !SMP 699 depends on !SMP && SUPERH32
574 help 700 help
575 This enables support for gUSA (general UserSpace Atomicity). 701 This enables support for gUSA (general UserSpace Atomicity).
576 This is the default implementation for both UP and non-ll/sc 702 This is the default implementation for both UP and non-ll/sc
@@ -582,6 +708,16 @@ config GUSA
582 This should only be disabled for special cases where alternate 708 This should only be disabled for special cases where alternate
583 atomicity implementations exist. 709 atomicity implementations exist.
584 710
711config GUSA_RB
712 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
713 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
714 help
715 Enabling this option will allow the kernel to implement some
716 atomic operations using a software implemention of load-locked/
717 store-conditional (LLSC). On machines which do not have hardware
718 LLSC, this should be more efficient than the other alternative of
719 disabling insterrupts around the atomic sequence.
720
585endmenu 721endmenu
586 722
587menu "Boot options" 723menu "Boot options"