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	bool
10	default y
11	select EMBEDDED
12	help
13	  The SuperH is a RISC processor targeted for use in embedded systems
14	  and consumer electronics; it was also used in the Sega Dreamcast
15	  gaming console.  The SuperH port has a home page at
16	  <http://www.linux-sh.org/>.
17
18config RWSEM_GENERIC_SPINLOCK
19	bool
20	default y
21
22config RWSEM_XCHGADD_ALGORITHM
23	bool
24
25config GENERIC_BUG
26	def_bool y
27	depends on BUG
28
29config GENERIC_FIND_NEXT_BIT
30	bool
31	default y
32
33config GENERIC_HWEIGHT
34	bool
35	default y
36
37config GENERIC_HARDIRQS
38	bool
39	default y
40
41config GENERIC_IRQ_PROBE
42	bool
43	default y
44
45config GENERIC_CALIBRATE_DELAY
46	bool
47	default y
48
49config GENERIC_IOMAP
50	bool
51
52config GENERIC_TIME
53	def_bool n
54
55config GENERIC_CLOCKEVENTS
56	def_bool n
57
58config SYS_SUPPORTS_APM_EMULATION
59	bool
60
61config ARCH_MAY_HAVE_PC_FDC
62	bool
63
64config STACKTRACE_SUPPORT
65	bool
66	default y
67
68config LOCKDEP_SUPPORT
69	bool
70	default y
71
72config ARCH_HAS_ILOG2_U32
73	bool
74	default n
75
76config ARCH_HAS_ILOG2_U64
77	bool
78	default n
79
80source "init/Kconfig"
81
82menu "System type"
83
84config SOLUTION_ENGINE
85	bool
86
87choice
88	prompt "SuperH system type"
89	default SH_UNKNOWN
90
91config SH_SOLUTION_ENGINE
92	bool "SolutionEngine"
93	select SOLUTION_ENGINE
94	help
95	  Select SolutionEngine if configuring for a Hitachi SH7709
96	  or SH7750 evaluation board.
97
98config SH_7722_SOLUTION_ENGINE
99	bool "SolutionEngine7722"
100	select SOLUTION_ENGINE
101	select CPU_SUBTYPE_SH7722
102	help
103	  Select 7722 SolutionEngine if configuring for a Hitachi SH772
104	  evaluation board.
105
106config SH_7751_SOLUTION_ENGINE
107	bool "SolutionEngine7751"
108	select SOLUTION_ENGINE
109	select CPU_SUBTYPE_SH7751
110	help
111	  Select 7751 SolutionEngine if configuring for a Hitachi SH7751
112	  evaluation board.
113	  
114config SH_7780_SOLUTION_ENGINE
115	bool "SolutionEngine7780"
116	select SOLUTION_ENGINE
117	select CPU_SUBTYPE_SH7780
118	help
119	  Select 7780 SolutionEngine if configuring for a Renesas SH7780
120	  evaluation board.
121
122config SH_7300_SOLUTION_ENGINE
123	bool "SolutionEngine7300"
124	select SOLUTION_ENGINE
125	select CPU_SUBTYPE_SH7300
126	help
127	  Select 7300 SolutionEngine if configuring for a Hitachi
128	  SH7300(SH-Mobile V) evaluation board.
129
130config SH_7343_SOLUTION_ENGINE
131	bool "SolutionEngine7343"
132	select SOLUTION_ENGINE
133	select CPU_SUBTYPE_SH7343
134	help
135	  Select 7343 SolutionEngine if configuring for a Hitachi
136	  SH7343 (SH-Mobile 3AS) evaluation board.
137
138config SH_73180_SOLUTION_ENGINE
139       bool "SolutionEngine73180"
140	select SOLUTION_ENGINE
141	select CPU_SUBTYPE_SH73180
142	help
143	  Select 73180 SolutionEngine if configuring for a Hitachi
144	  SH73180(SH-Mobile 3) evaluation board.
145
146config SH_7751_SYSTEMH
147	bool "SystemH7751R"
148	select CPU_SUBTYPE_SH7751R
149	help
150	  Select SystemH if you are configuring for a Renesas SystemH
151	  7751R evaluation board.
152
153config SH_HP6XX
154	bool "HP6XX"
155	select SYS_SUPPORTS_APM_EMULATION
156	help
157	  Select HP6XX if configuring for a HP jornada HP6xx.
158	  More information (hardware only) at
159	  <http://www.hp.com/jornada/>.
160
161config SH_SATURN
162	bool "Saturn"
163	select CPU_SUBTYPE_SH7604
164	help
165	  Select Saturn if configuring for a SEGA Saturn.
166
167config SH_DREAMCAST
168	bool "Dreamcast"
169	select CPU_SUBTYPE_SH7091
170	help
171	  Select Dreamcast if configuring for a SEGA Dreamcast.
172	  More information at
173	  <http://www.m17n.org/linux-sh/dreamcast/>.  There is a
174	  Dreamcast project is at <http://linuxdc.sourceforge.net/>.
175
176config SH_MPC1211
177	bool "Interface MPC1211"
178	help
179	  CTP/PCI-SH02 is a CPU module computer that is produced
180	  by Interface Corporation.
181	  More information at <http://www.interface.co.jp>
182
183config SH_SH03
184	bool "Interface CTP/PCI-SH03"
185	help
186	  CTP/PCI-SH03 is a CPU module computer that is produced
187	  by Interface Corporation.
188	  More information at <http://www.interface.co.jp>
189
190config SH_SECUREEDGE5410
191	bool "SecureEdge5410"
192	select CPU_SUBTYPE_SH7751R
193	help
194	  Select SecureEdge5410 if configuring for a SnapGear SH board.
195	  This includes both the OEM SecureEdge products as well as the
196	  SME product line.
197
198config SH_HS7751RVOIP
199	bool "HS7751RVOIP"
200	select CPU_SUBTYPE_SH7751R
201	help
202	  Select HS7751RVOIP if configuring for a Renesas Technology
203	  Sales VoIP board.
204
205config SH_7710VOIPGW
206	bool "SH7710-VOIP-GW"
207	select CPU_SUBTYPE_SH7710
208	help
209	  Select this option to build a kernel for the SH7710 based
210	  VOIP GW.
211
212config SH_RTS7751R2D
213	bool "RTS7751R2D"
214	select CPU_SUBTYPE_SH7751R
215	help
216	  Select RTS7751R2D if configuring for a Renesas Technology
217	  Sales SH-Graphics board.
218
219config SH_HIGHLANDER
220	bool "Highlander"
221
222config SH_EDOSK7705
223	bool "EDOSK7705"
224	select CPU_SUBTYPE_SH7705
225
226config SH_SH4202_MICRODEV
227	bool "SH4-202 MicroDev"
228	select CPU_SUBTYPE_SH4_202
229	help
230	  Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
231	  with an SH4-202 CPU.
232
233config SH_LANDISK
234	bool "LANDISK"
235	select CPU_SUBTYPE_SH7751R
236	help
237	  I-O DATA DEVICE, INC. "LANDISK Series" support.
238
239config SH_TITAN
240	bool "TITAN"
241	select CPU_SUBTYPE_SH7751R
242	help
243	  Select Titan if you are configuring for a Nimble Microsystems
244	  NetEngine NP51R.
245
246config SH_SHMIN
247	bool "SHMIN"
248	select CPU_SUBTYPE_SH7706
249	help
250	  Select SHMIN if configuring for the SHMIN board.
251
252config SH_7206_SOLUTION_ENGINE
253	bool "SolutionEngine7206"
254	select CPU_SUBTYPE_SH7206
255	help
256	  Select 7206 SolutionEngine if configuring for a Hitachi SH7206
257	  evaluation board.
258
259config SH_7619_SOLUTION_ENGINE
260	bool "SolutionEngine7619"
261	select CPU_SUBTYPE_SH7619
262	help
263	  Select 7619 SolutionEngine if configuring for a Hitachi SH7619
264	  evaluation board.
265	
266config SH_LBOX_RE2
267	bool "L-BOX RE2"
268	select CPU_SUBTYPE_SH7751R
269	help
270	  Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
271
272config SH_UNKNOWN
273	bool "BareCPU"
274	help
275	  "Bare CPU" aka "unknown" means an SH-based system which is not one
276	  of the specific ones mentioned above, which means you need to enter
277	  all sorts of stuff like CONFIG_MEMORY_START because the config
278	  system doesn't already know what it is.  You get a machine vector
279	  without any platform-specific code in it, so things like the RTC may
280	  not work.
281
282	  This option is for the early stages of porting to a new machine.
283
284endchoice
285
286source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
287source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
288source "arch/sh/boards/renesas/r7780rp/Kconfig"
289
290source "arch/sh/mm/Kconfig"
291
292config CF_ENABLER
293	bool "Compact Flash Enabler support"
294	depends on SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_SH03
295	---help---
296	  Compact Flash is a small, removable mass storage device introduced
297	  in 1994 originally as a PCMCIA device.  If you say `Y' here, you
298	  compile in support for Compact Flash devices directly connected to
299	  a SuperH processor.  A Compact Flash FAQ is available at
300	  <http://www.compactflash.org/faqs/faq.htm>.
301
302	  If your board has "Directly Connected" CompactFlash at area 5 or 6,
303	  you may want to enable this option.  Then, you can use CF as
304	  primary IDE drive (only tested for SanDisk).
305
306	  If in doubt, select 'N'.
307
308choice
309	prompt "Compact Flash Connection Area"
310	depends on CF_ENABLER
311	default CF_AREA6
312
313config CF_AREA5
314	bool "Area5"
315	help
316	  If your board has "Directly Connected" CompactFlash, You should
317	  select the area where your CF is connected to.
318
319	  - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
320	  - "Area6" if it is connected to Area 6 (0x18000000)
321
322	  "Area6" will work for most boards.
323
324config CF_AREA6
325	bool "Area6"
326
327endchoice
328
329config CF_BASE_ADDR
330	hex
331	depends on CF_ENABLER
332	default "0xb8000000" if CF_AREA6
333	default "0xb4000000" if CF_AREA5
334
335menu "Processor features"
336
337choice
338	prompt "Endianess selection" 
339	default CPU_LITTLE_ENDIAN
340	help
341	  Some SuperH machines can be configured for either little or big
342	  endian byte order. These modes require different kernels.
343
344config CPU_LITTLE_ENDIAN
345	bool "Little Endian"
346
347config CPU_BIG_ENDIAN
348	bool "Big Endian"
349
350endchoice
351
352config SH_FPU
353	bool "FPU support"
354	depends on !CPU_SH3
355	default y
356	help
357	  Selecting this option will enable support for SH processors that
358	  have FPU units (ie, SH77xx).
359
360	  This option must be set in order to enable the FPU.
361
362config SH_FPU_EMU
363	bool "FPU emulation support"
364	depends on !SH_FPU && EXPERIMENTAL
365	default n
366	help
367	  Selecting this option will enable support for software FPU emulation.
368	  Most SH-3 users will want to say Y here, whereas most SH-4 users will
369	  want to say N.
370
371config SH_DSP
372	bool "DSP support"
373	default y if SH4AL_DSP || !CPU_SH4
374	default n
375	help
376	  Selecting this option will enable support for SH processors that
377	  have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
378
379	  This option must be set in order to enable the DSP.
380
381config SH_ADC
382	bool "ADC support"
383	depends on CPU_SH3
384	default y
385	help
386	  Selecting this option will allow the Linux kernel to use SH3 on-chip
387	  ADC module.
388
389	  If unsure, say N.
390
391config SH_STORE_QUEUES
392	bool "Support for Store Queues"
393	depends on CPU_SH4
394	help
395	  Selecting this option will enable an in-kernel API for manipulating
396	  the store queues integrated in the SH-4 processors.
397
398config SPECULATIVE_EXECUTION
399	bool "Speculative subroutine return"
400	depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
401	help
402	  This enables support for a speculative instruction fetch for
403	  subroutine return. There are various pitfalls associated with
404	  this, as outlined in the SH7780 hardware manual.
405
406	  If unsure, say N.
407
408config CPU_HAS_INTEVT
409	bool
410
411config CPU_HAS_PINT_IRQ
412	bool
413
414config CPU_HAS_MASKREG_IRQ
415	bool
416
417config CPU_HAS_INTC2_IRQ
418	bool
419
420config CPU_HAS_IPR_IRQ
421	bool
422
423config CPU_HAS_SR_RB
424	bool "CPU has SR.RB"
425	depends on CPU_SH3 || CPU_SH4
426	default y
427	help
428	  This will enable the use of SR.RB register bank usage. Processors
429	  that are lacking this bit must have another method in place for
430	  accomplishing what is taken care of by the banked registers.
431
432	  See <file:Documentation/sh/register-banks.txt> for further
433	  information on SR.RB and register banking in the kernel in general.
434
435config CPU_HAS_PTEA
436	bool
437
438endmenu
439
440menu "Timer and clock configuration"
441
442config SH_TMU
443	bool "TMU timer support"
444	depends on CPU_SH3 || CPU_SH4
445	select GENERIC_TIME
446	select GENERIC_CLOCKEVENTS
447	default y
448	help
449	  This enables the use of the TMU as the system timer.
450
451config SH_CMT
452	bool "CMT timer support"
453	depends on CPU_SH2
454	default y
455	help
456	  This enables the use of the CMT as the system timer.
457
458config SH_MTU2
459	bool "MTU2 timer support"
460	depends on CPU_SH2A
461	default n
462	help
463	  This enables the use of the MTU2 as the system timer.
464
465config SH_TIMER_IRQ
466	int
467	default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
468	default "86" if CPU_SUBTYPE_SH7619
469	default "140" if CPU_SUBTYPE_SH7206
470	default "16"
471
472config SH_PCLK_FREQ
473	int "Peripheral clock frequency (in Hz)"
474	default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
475	default "31250000" if CPU_SUBTYPE_SH7619
476	default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
477			      CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
478			      CPU_SUBTYPE_SH7206
479	default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780 || \
480			      CPU_SUBTYPE_SH7785
481	default "60000000" if CPU_SUBTYPE_SH7751
482	default "66000000" if CPU_SUBTYPE_SH4_202
483	help
484	  This option is used to specify the peripheral clock frequency.
485	  This is necessary for determining the reference clock value on
486	  platforms lacking an RTC.
487
488config SH_CLK_MD
489	int "CPU Mode Pin Setting"
490	default 0
491	depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
492	help
493	  MD2 - MD0 pin setting.
494
495source "kernel/time/Kconfig"
496
497endmenu
498
499menu "CPU Frequency scaling"
500
501source "drivers/cpufreq/Kconfig"
502
503config SH_CPU_FREQ
504	tristate "SuperH CPU Frequency driver"
505	depends on CPU_FREQ
506	select CPU_FREQ_TABLE
507	help
508	  This adds the cpufreq driver for SuperH. At present, only
509	  the SH-4 is supported.
510
511	  For details, take a look at <file:Documentation/cpu-freq>.
512
513	  If unsure, say N.
514
515endmenu
516
517source "arch/sh/drivers/Kconfig"
518
519endmenu
520
521config ISA_DMA_API
522	bool
523	depends on SH_MPC1211
524	default y
525
526menu "Kernel features"
527
528source kernel/Kconfig.hz
529
530config KEXEC
531	bool "kexec system call (EXPERIMENTAL)"
532	depends on EXPERIMENTAL
533	help
534	  kexec is a system call that implements the ability to shutdown your
535	  current kernel, and to start another kernel.  It is like a reboot
536	  but it is independent of the system firmware.  And like a reboot
537	  you can start any kernel with it, not just Linux.
538
539	  The name comes from the similarity to the exec system call.
540
541	  It is an ongoing process to be certain the hardware in a machine
542	  is properly shutdown, so do not be surprised if this code does not
543	  initially work for you.  It may help to enable device hotplugging
544	  support.  As of this writing the exact hardware interface is
545	  strongly in flux, so no good recommendation can be made.
546
547config CRASH_DUMP
548	bool "kernel crash dumps (EXPERIMENTAL)"
549	depends on EXPERIMENTAL
550	help
551	  Generate crash dump after being started by kexec.
552	  This should be normally only set in special crash dump kernels
553	  which are loaded in the main kernel with kexec-tools into
554	  a specially reserved region and then later executed after
555	  a crash by kdump/kexec. The crash dump kernel must be compiled
556	  to a memory address not used by the main kernel using
557	  MEMORY_START.
558
559	  For more details see Documentation/kdump/kdump.txt
560
561config SMP
562	bool "Symmetric multi-processing support"
563	---help---
564	  This enables support for systems with more than one CPU. If you have
565	  a system with only one CPU, like most personal computers, say N. If
566	  you have a system with more than one CPU, say Y.
567
568	  If you say N here, the kernel will run on single and multiprocessor
569	  machines, but will use only one CPU of a multiprocessor machine. If
570	  you say Y here, the kernel will run on many, but not all,
571	  singleprocessor machines. On a singleprocessor machine, the kernel
572	  will run faster if you say N here.
573
574	  People using multiprocessor machines who say Y here should also say
575	  Y to "Enhanced Real Time Clock Support", below.
576
577	  See also the <file:Documentation/smp.txt>,
578	  <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
579	  at <http://www.tldp.org/docs.html#howto>.
580
581	  If you don't know what to do here, say N.
582
583config NR_CPUS
584	int "Maximum number of CPUs (2-32)"
585	range 2 32
586	depends on SMP
587	default "2"
588	help
589	  This allows you to specify the maximum number of CPUs which this
590	  kernel will support.  The maximum supported value is 32 and the
591	  minimum value which makes sense is 2.
592
593	  This is purely to save memory - each supported CPU adds
594	  approximately eight kilobytes to the kernel image.
595
596source "kernel/Kconfig.preempt"
597
598config NODES_SHIFT
599	int
600	default "1"
601	depends on NEED_MULTIPLE_NODES
602
603endmenu
604
605menu "Boot options"
606
607config ZERO_PAGE_OFFSET
608	hex "Zero page offset"
609	default "0x00004000" if SH_MPC1211 || 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	help
627	  Selecting this option will wakeup the User Break Controller (UBC) on
628	  startup. Although the UBC is left in an awake state when the processor
629	  comes up, some boot loaders misbehave by putting the UBC to sleep in a
630	  power saving state, which causes issues with things like ptrace().
631
632	  If unsure, say N.
633
634config CMDLINE_BOOL
635	bool "Default bootloader kernel arguments"
636
637config CMDLINE
638	string "Initial kernel command string"
639	depends on CMDLINE_BOOL
640	default "console=ttySC1,115200"
641
642endmenu
643
644menu "Bus options"
645
646# Even on SuperH devices which don't have an ISA bus,
647# this variable helps the PCMCIA modules handle
648# IRQ requesting properly -- Greg Banks.
649#
650# Though we're generally not interested in it when
651# we're not using PCMCIA, so we make it dependent on
652# PCMCIA outright. -- PFM.
653config ISA
654	bool
655	default y if PCMCIA
656	help
657	  Find out whether you have ISA slots on your motherboard.  ISA is the
658	  name of a bus system, i.e. the way the CPU talks to the other stuff
659	  inside your box.  Other bus systems are PCI, EISA, MicroChannel
660	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
661	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
662
663config EISA
664	bool
665	---help---
666	  The Extended Industry Standard Architecture (EISA) bus was
667	  developed as an open alternative to the IBM MicroChannel bus.
668
669	  The EISA bus provided some of the features of the IBM MicroChannel
670	  bus while maintaining backward compatibility with cards made for
671	  the older ISA bus.  The EISA bus saw limited use between 1988 and
672	  1995 when it was made obsolete by the PCI bus.
673
674	  Say Y here if you are building a kernel for an EISA-based machine.
675
676	  Otherwise, say N.
677
678config MCA
679	bool
680	help
681	  MicroChannel Architecture is found in some IBM PS/2 machines and
682	  laptops.  It is a bus system similar to PCI or ISA. See
683	  <file:Documentation/mca.txt> (and especially the web page given
684	  there) before attempting to build an MCA bus kernel.
685
686config SBUS
687	bool
688
689config SUPERHYWAY
690	tristate "SuperHyway Bus support"
691	depends on CPU_SUBTYPE_SH4_202
692
693source "arch/sh/drivers/pci/Kconfig"
694
695source "drivers/pci/Kconfig"
696
697source "drivers/pcmcia/Kconfig"
698
699source "drivers/pci/hotplug/Kconfig"
700
701endmenu
702
703menu "Executable file formats"
704
705source "fs/Kconfig.binfmt"
706
707endmenu
708
709menu "Power management options (EXPERIMENTAL)"
710depends on EXPERIMENTAL
711
712source kernel/power/Kconfig
713
714endmenu
715
716source "net/Kconfig"
717
718source "drivers/Kconfig"
719
720source "fs/Kconfig"
721
722source "arch/sh/oprofile/Kconfig"
723
724source "arch/sh/Kconfig.debug"
725
726source "security/Kconfig"
727
728source "crypto/Kconfig"
729
730source "lib/Kconfig"
731