1#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/config-language.txt.
4#
5mainmenu_name "Linux/SuperH Kernel Configuration"
6
7define_bool CONFIG_SUPERH y
8
9define_bool CONFIG_UID16 y
10define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y
11define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n
12
13mainmenu_option next_comment
14comment 'Code maturity level options'
15bool 'Prompt for development and/or incomplete code/drivers' CONFIG_EXPERIMENTAL
16endmenu
17
18mainmenu_option next_comment
19comment 'Loadable module support'
20bool 'Enable loadable module support' CONFIG_MODULES
21if [ "$CONFIG_MODULES" = "y" ]; then
22   bool '  Set version information on all module symbols' CONFIG_MODVERSIONS
23   bool '  Kernel module loader' CONFIG_KMOD
24fi
25endmenu
26
27mainmenu_option next_comment
28comment 'Processor type and features'
29choice 'SuperH system type'					\
30	"Generic		CONFIG_SH_GENERIC		\
31	 SH4-202-MicroDev	CONFIG_SH_SH4202_MICRODEV	\
32	 SolutionEngine		CONFIG_SH_SOLUTION_ENGINE	\
33	 SolutionEngine7751	CONFIG_SH_7751_SOLUTION_ENGINE	\
34	 SHMobileSolutionEngine	CONFIG_SH_MOBILE_SOLUTION_ENGINE \
35	 STB1_Harp		CONFIG_SH_STB1_HARP		\
36	 STB1_Overdrive		CONFIG_SH_STB1_OVERDRIVE	\
37	 HP620			CONFIG_SH_HP620			\
38	 HP680			CONFIG_SH_HP680			\
39	 HP690			CONFIG_SH_HP690			\
40	 CqREEK			CONFIG_SH_CQREEK		\
41	 DMIDA			CONFIG_SH_DMIDA    		\
42	 EC3104			CONFIG_SH_EC3104		\
43	 Dreamcast		CONFIG_SH_DREAMCAST		\
44	 CAT68701		CONFIG_SH_CAT68701		\
45	 BigSur			CONFIG_SH_BIGSUR		\
46	 SH2000			CONFIG_SH_SH2000		\
47	 HS7729PCI		CONFIG_SH_HS7729PCI		\
48	 ADX			CONFIG_SH_ADX			\
49	 SecureEdge5410		CONFIG_SH_SECUREEDGE5410	\
50	 KeyWest		CONFIG_SH_KEYWEST		\
51	 BareCPU		CONFIG_SH_UNKNOWN" Generic
52
53# The SH7750 RTC module is disabled in the Dreamcast and SH-Mobile SolutionEngine
54if [ "$CONFIG_SH_DREAMCAST" = "y" -o \
55     "$CONFIG_SH_MOBILE_SOLUTION_ENGINE" = "y" ]; then
56   define_bool CONFIG_SH_RTC n
57else
58   define_bool CONFIG_SH_RTC y
59fi
60
61if [ "$CONFIG_SH_HP620" = "y" -o "$CONFIG_SH_HP680" = "y" -o \
62     "$CONFIG_SH_HP690" = "y" ]; then
63	define_bool CONFIG_SH_HP600 y
64fi
65
66choice 'Processor type' \
67   "SH7300 CONFIG_CPU_SUBTYPE_SH7300 \
68    SH7707 CONFIG_CPU_SUBTYPE_SH7707 \
69    SH7708 CONFIG_CPU_SUBTYPE_SH7708 \
70    SH7709 CONFIG_CPU_SUBTYPE_SH7709 \
71    SH7750 CONFIG_CPU_SUBTYPE_SH7750 \
72    SH7751R CONFIG_CPU_SUBTYPE_SH7751R \
73    SH7751 CONFIG_CPU_SUBTYPE_SH7751 \
74    SH4-202 CONFIG_CPU_SUBTYPE_SH4_202 \
75    ST40RA/ST40STB1 CONFIG_CPU_SUBTYPE_ST40STB1 \
76    ST40GX1 CONFIG_CPU_SUBTYPE_ST40GX1" SH7708
77if [ "$CONFIG_CPU_SUBTYPE_SH7300" = "y" ]; then
78   define_bool CONFIG_CPU_SH3 y
79   define_bool CONFIG_CPU_SH4 n
80fi
81if [ "$CONFIG_CPU_SUBTYPE_SH7707" = "y" ]; then
82   define_bool CONFIG_CPU_SH3 y
83   define_bool CONFIG_CPU_SH4 n
84fi
85if [ "$CONFIG_CPU_SUBTYPE_SH7708" = "y" ]; then
86   define_bool CONFIG_CPU_SH3 y
87   define_bool CONFIG_CPU_SH4 n
88fi
89if [ "$CONFIG_CPU_SUBTYPE_SH7709" = "y" ]; then
90   define_bool CONFIG_CPU_SH3 y
91   define_bool CONFIG_CPU_SH4 n
92fi
93if [ "$CONFIG_CPU_SUBTYPE_SH7750" = "y" ]; then
94   define_bool CONFIG_CPU_SH3 n
95   define_bool CONFIG_CPU_SH4 y
96fi
97if [ "$CONFIG_CPU_SUBTYPE_SH7751" = "y" ]; then
98   define_bool CONFIG_CPU_SH3 n
99   define_bool CONFIG_CPU_SH4 y
100fi
101if [ "$CONFIG_CPU_SUBTYPE_SH7751R" = "y" ]; then
102   define_bool CONFIG_CPU_SH3 n
103   define_bool CONFIG_CPU_SH4 y
104   define_bool CONFIG_CPU_SUBTYPE_SH7751 y
105fi
106if [ "$CONFIG_CPU_SUBTYPE_SH4_202" = "y" ]; then
107   define_bool CONFIG_CPU_SH3 n
108   define_bool CONFIG_CPU_SH4 y
109fi
110if [ "$CONFIG_CPU_SUBTYPE_SH7751R" = "y" -o \
111     "$CONFIG_CPU_SUBTYPE_SH4_202" = "y" ]; then
112   bool 'Use 2-way set associative caches' CONFIG_SH_CACHE_ASSOC
113fi
114if [ "$CONFIG_CPU_SUBTYPE_ST40STB1" = "y" ]; then
115   define_bool CONFIG_CPU_SH3 n
116   define_bool CONFIG_CPU_SH4 y
117   define_bool CONFIG_CPU_SUBTYPE_ST40 y
118fi
119if [ "$CONFIG_CPU_SUBTYPE_ST40GX1" = "y" ]; then
120   define_bool CONFIG_CPU_SH3 n
121   define_bool CONFIG_CPU_SH4 y
122   define_bool CONFIG_CPU_SUBTYPE_ST40 y
123fi
124bool 'Little Endian' CONFIG_CPU_LITTLE_ENDIAN
125# Platform-specific memory start and size definitions
126if [ "$CONFIG_SH_SOLUTION_ENGINE" = "y" ]; then
127   define_hex CONFIG_MEMORY_START 0c000000
128   define_hex CONFIG_MEMORY_SIZE 02000000
129   define_bool CONFIG_MEMORY_SET y
130fi
131if [ "$CONFIG_SH_7751_SOLUTION_ENGINE" = "y" ]; then
132   define_hex CONFIG_MEMORY_START 0c000000
133   define_hex CONFIG_MEMORY_SIZE 04000000
134   define_bool CONFIG_MEMORY_SET y
135fi
136if [ "$CONFIG_SH_MOBILE_SOLUTION_ENGINE" = "y" ]; then
137   define_hex CONFIG_MEMORY_START 0c000000
138   define_hex CONFIG_MEMORY_SIZE 04000000
139   define_bool CONFIG_MEMORY_SET y
140fi
141if [ "$CONFIG_SH_HP600" = "y" -o "$CONFIG_SH_BIGSUR" = "y" -o \
142     "$CONFIG_SH_DREAMCAST" = "y" -o "$CONFIG_SH_SH2000" = "y" -o \
143     "$CONFIG_SH_KEYWEST" = "y" ]; then
144   define_hex CONFIG_MEMORY_START 0c000000
145   define_hex CONFIG_MEMORY_SIZE 00400000
146   define_bool CONFIG_MEMORY_SET y
147fi
148if [ "$CONFIG_CPU_SUBTYPE_ST40" = "y" ]; then
149   bool 'Memory on LMI' CONFIG_ST40_LMI_MEMORY
150   if [ "$CONFIG_ST40_LMI_MEMORY" = "y" ] ; then
151      define_hex CONFIG_MEMORY_START 08000000
152      define_hex CONFIG_MEMORY_SIZE 00400000
153      define_bool CONFIG_MEMORY_SET y
154   fi
155fi
156if [ "$CONFIG_SH_ADX" = "y" ]; then
157   define_hex CONFIG_MEMORY_START 08000000
158   define_hex CONFIG_MEMORY_SIZE 00400000
159   define_bool CONFIG_MEMORY_SET y
160fi
161if [ "$CONFIG_SH_SECUREEDGE5410" = "y" ]; then
162   define_hex CONFIG_MEMORY_START 08000000
163   define_hex CONFIG_MEMORY_SIZE 01000000
164   define_bool CONFIG_MEMORY_SET y
165fi
166if [ "$CONFIG_SH_HS7729PCI" = "y" ]; then
167   define_hex CONFIG_MEMORY_START 0c000000
168   define_hex CONFIG_MEMORY_SIZE 04000000
169   define_bool CONFIG_MEMORY_SET y
170fi
171# If none of the above have set memory start/size, ask the user.
172if [ "$CONFIG_MEMORY_SET" != "y" ]; then
173   hex 'Physical memory start address' CONFIG_MEMORY_START 08000000
174   hex 'Physical memory size' CONFIG_MEMORY_SIZE 00400000
175fi
176
177hex 'Link address offset for booting' CONFIG_BOOT_LINK_OFFSET 00210000
178
179dep_bool 'Enable OC RAM zone (experimental)' CONFIG_SCRATCH_SPACE $CONFIG_EXPERIMENTAL
180bool 'DSP mode support' CONFIG_SH_DSP
181
182if [ "$CONFIG_CPU_SUBTYPE_ST40" = "y" ]; then
183   bool 'PCI emulation of on-chip peripherals' CONFIG_SH_PCI_EMULATION
184   if [ "$CONFIG_SH_PCI_EMULATION" = "y" -a "$CONFIG_CPU_SUBTYPE_ST40GX1" = "y" ]; then
185      bool '  USB OHCI Host Controller' CONFIG_SH_PCI_USB
186   fi
187fi
188endmenu
189
190if [ "$CONFIG_SH_HP690" = "y" ]; then
191  define_bool CONFIG_DISCONTIGMEM y
192else
193  define_bool CONFIG_DISCONTIGMEM n
194fi
195
196mainmenu_option next_comment
197comment 'General setup'
198
199# Even on SuperH devices which don't have an ISA bus,
200# this variable helps the PCMCIA modules handle
201# IRQ requesting properly -- Greg Banks.
202
203if [ "$CONFIG_SH_SECUREEDGE5410" = "y" ]; then
204   define_bool CONFIG_ISA n
205else
206   define_bool CONFIG_ISA y
207fi
208
209define_bool CONFIG_EISA n
210define_bool CONFIG_MCA n
211define_bool CONFIG_SBUS n
212
213bool 'Networking support' CONFIG_NET
214
215if [ "$CONFIG_SH_GENERIC" = "y" -o "$CONFIG_SH_SOLUTION_ENGINE" = "y" -o \
216     "$CONFIG_SH_UNKNOWN" = "y" -o "$CONFIG_SH_CAT68701" = "y" -o \
217     "$CONFIG_SH_ADX" = "y" -o "$CONFIG_SH_HS7729PCI" = "y" ]; then
218  bool 'Compact Flash Enabler support' CONFIG_CF_ENABLER
219fi
220
221if [ "$CONFIG_CF_ENABLER" = "y" ]; then
222   choice 'Compact Flash Connection Area' \
223	"Area5 CONFIG_CF_AREA5 \
224	 Area6 CONFIG_CF_AREA6" Area6
225   if [ "$CONFIG_CF_AREA5" = "y" ]; then
226      define_hex CONFIG_CF_BASE_ADDR b4000000
227   fi
228   if [ "$CONFIG_CF_AREA6" = "y" ]; then
229      define_hex CONFIG_CF_BASE_ADDR b8000000
230   fi
231fi
232
233bool 'Hitachi HD64461 companion chip support' CONFIG_HD64461
234if [ "$CONFIG_HD64461" = "y" ]; then
235   int 'HD64461 IRQ' CONFIG_HD64461_IRQ 36
236   bool 'HD64461 PCMCIA enabler' CONFIG_HD64461_ENABLER
237fi
238
239bool 'Hitachi HD64465 companion chip support' CONFIG_HD64465
240if [ "$CONFIG_HD64465" = "y" ]; then
241   hex 'HD64465 start address' CONFIG_HD64465_IOBASE b0000000
242   int 'HD64465 IRQ' CONFIG_HD64465_IRQ 5
243fi
244
245bool 'Wakeup UBC on startup' CONFIG_UBC_WAKEUP
246bool 'DMA controller (DMAC) support' CONFIG_SH_DMA
247int  'Peripheral clock frequency(Hz) (0: auto detect)' CONFIG_SH_PCLK_FREQ 0 0 1000000000
248
249bool 'Default bootloader kernel arguments' CONFIG_CMDLINE_BOOL
250if [ "$CONFIG_CMDLINE_BOOL" = "y" ] ; then
251  string 'Initial kernel command string' CONFIG_CMDLINE "console=ttySC1,115200"
252fi
253
254bool 'PCI support' CONFIG_PCI
255if [ "$CONFIG_PCI" = "y" ]; then
256  if [ "$CONFIG_SH_HS7729PCI" = "y" ]; then
257     define_bool CONFIG_PCI_SD0001 y
258     define_hex CONFIG_PCI_SD0001_IRQ 0
259     define_hex CONFIG_PCI_SD0001_BASE b0000000
260     define_bool CONFIG_SH_PCIDMA_NONCOHERENT y
261  else
262     define_bool CONFIG_PCI_SD0001 n
263     bool 'Cache and PCI noncoherent' CONFIG_SH_PCIDMA_NONCOHERENT
264  fi
265fi
266
267source drivers/pci/Config.in
268
269bool 'Support for hot-pluggable devices' CONFIG_HOTPLUG
270
271if [ "$CONFIG_HOTPLUG" = "y" ] ; then
272   source drivers/pcmcia/Config.in
273else
274   define_bool CONFIG_PCMCIA n
275fi
276
277bool 'System V IPC' CONFIG_SYSVIPC
278bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT
279bool 'Sysctl support' CONFIG_SYSCTL
280if [ "$CONFIG_PROC_FS" = "y" ]; then
281   choice 'Kernel core (/proc/kcore) format' \
282	"ELF		CONFIG_KCORE_ELF	\
283	 A.OUT		CONFIG_KCORE_AOUT" ELF
284fi
285bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
286tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
287
288bool 'Select task to kill on out of memory condition' CONFIG_OOM_KILLER
289
290source drivers/parport/Config.in
291
292endmenu
293
294source drivers/mtd/Config.in
295
296source drivers/block/Config.in
297
298source drivers/md/Config.in
299
300if [ "$CONFIG_NET" = "y" ]; then
301   source net/Config.in
302fi
303
304mainmenu_option next_comment
305comment 'ATA/IDE/MFM/RLL support'
306
307tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
308
309if [ "$CONFIG_IDE" != "n" ]; then
310  source drivers/ide/Config.in
311else
312  define_bool CONFIG_BLK_DEV_HD n
313fi
314endmenu
315
316mainmenu_option next_comment
317comment 'SCSI support'
318
319tristate 'SCSI support' CONFIG_SCSI
320
321if [ "$CONFIG_SCSI" != "n" ]; then
322   source drivers/scsi/Config.in
323fi
324endmenu
325
326source drivers/ieee1394/Config.in
327
328if [ "$CONFIG_NET" = "y" ]; then
329   mainmenu_option next_comment
330   comment 'Network device support'
331
332   bool 'Network device support' CONFIG_NETDEVICES
333   if [ "$CONFIG_NETDEVICES" = "y" ]; then
334      source drivers/net/Config.in
335      if [ "$CONFIG_ATM" = "y" -o "$CONFIG_ATM" = "m" ]; then
336         source drivers/atm/Config.in
337      fi
338   fi
339   endmenu
340fi
341
342mainmenu_option next_comment
343comment 'Old CD-ROM drivers (not SCSI, not IDE)'
344
345bool 'Support non-SCSI/IDE/ATAPI CDROM drives' CONFIG_CD_NO_IDESCSI
346if [ "$CONFIG_CD_NO_IDESCSI" != "n" ]; then
347   source drivers/cdrom/Config.in
348fi
349endmenu
350
351#
352# input before char - char/joystick depends on it. As does USB.
353#
354source drivers/input/Config.in
355
356#if [ "$CONFIG_SH_DREAMCAST" = "y" ]; then
357#   source drivers/maple/Config.in
358#fi
359
360mainmenu_option next_comment
361comment 'Character devices'
362
363bool 'Virtual terminal' CONFIG_VT
364if [ "$CONFIG_VT" = "y" ]; then
365   bool '  Support for console on virtual terminal' CONFIG_VT_CONSOLE
366fi
367
368tristate 'Serial (8250, 16450, 16550 or compatible) support' CONFIG_SERIAL
369tristate 'Serial (SCI, SCIF) support' CONFIG_SH_SCI
370if [ "$CONFIG_SERIAL" = "y" -o "$CONFIG_SH_SCI" = "y" ]; then
371   bool '  Support for console on serial port' CONFIG_SERIAL_CONSOLE
372fi
373comment 'Unix 98 PTY support'
374bool 'Unix98 PTY support' CONFIG_UNIX98_PTYS
375if [ "$CONFIG_UNIX98_PTYS" = "y" ]; then
376   int 'Maximum number of Unix98 PTYs in use (0-2048)' CONFIG_UNIX98_PTY_COUNT 256
377fi
378
379if [ "$CONFIG_SH_GENERIC" = "y" -o \
380     "$CONFIG_SH_CAT68701" = "y" -o \
381     "$CONFIG_SH_STB1_HARP" = "y" -o \
382     "$CONFIG_SH_STB1_OVERDRIVE" = "y" -o \
383     "$CONFIG_SH_BIGSUR" = "y" -o \
384     "$CONFIG_SH_7751_SOLUTION_ENGINE" = "y" -o \
385     "$CONFIG_SH_MOBILE_SOLUTION_ENGINE" = "y" -o \
386     "$CONFIG_SH_SOLUTION_ENGINE" = "y" ]; then
387   bool 'Heartbeat LED' CONFIG_HEARTBEAT
388fi
389
390if [ "$CONFIG_SH_DREAMCAST" = "y" -a "$CONFIG_MAPLE" != "n" ]; then
391   mainmenu_option next_comment
392   comment 'Maple Bus input peripherals'
393   if [ "$CONFIG_INPUT" != "n" ]; then
394      dep_tristate '  Maple Bus keyboard support' CONFIG_MAPLE_KEYBOARD $CONFIG_INPUT
395      dep_tristate '  Maple Bus mouse support' CONFIG_MAPLE_MOUSE $CONFIG_INPUT
396   else
397      comment 'Input core support is required for Maple input peripherals'
398   fi
399   endmenu
400fi
401
402source drivers/char/joystick/Config.in
403
404if [ "$CONFIG_PARPORT" != "n" ]; then
405   dep_tristate 'Parallel printer support' CONFIG_PRINTER $CONFIG_PARPORT
406   if [ "$CONFIG_PRINTER" != "n" ]; then
407      bool '  Support for console on line printer' CONFIG_LP_CONSOLE
408   fi
409   dep_tristate 'Support for user-space parallel port device drivers' CONFIG_PPDEV $CONFIG_PARPORT
410fi
411bool 'PS/2 mouse (aka "auxiliary device") support' CONFIG_PSMOUSE
412
413mainmenu_option next_comment
414comment 'Watchdog Cards'
415bool 'Watchdog Timer Support' CONFIG_WATCHDOG
416if [ "$CONFIG_WATCHDOG" != "n" ]; then
417   bool '  Disable watchdog shutdown on close' CONFIG_WATCHDOG_NOWAYOUT
418   dep_tristate '  SuperH Watchdog' CONFIG_SH_WDT $CONFIG_SUPERH
419fi
420endmenu
421
422tristate 'Enhanced Real Time Clock Support' CONFIG_RTC
423if [ "$CONFIG_HOTPLUG" = "y" -a "$CONFIG_PCMCIA" != "n" ]; then
424   source drivers/char/pcmcia/Config.in
425fi
426endmenu
427
428source fs/Config.in
429
430source drivers/media/Config.in
431
432if [ "$CONFIG_VT" = "y" ]; then
433   mainmenu_option next_comment
434   comment 'Console drivers'
435   bool 'VGA text console' CONFIG_VGA_CONSOLE
436   bool 'Video mode selection support' CONFIG_VIDEO_SELECT
437   if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
438      tristate 'MDA text console (dual-headed) (EXPERIMENTAL)' CONFIG_MDA_CONSOLE
439      source drivers/video/Config.in
440   fi
441   endmenu
442fi
443
444
445mainmenu_option next_comment
446comment 'Sound'
447
448tristate 'Sound card support' CONFIG_SOUND
449if [ "$CONFIG_SOUND" != "n" ]; then
450   source drivers/sound/Config.in
451fi
452endmenu
453
454mainmenu_option next_comment
455comment 'Kernel hacking'
456
457bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
458bool 'Use LinuxSH standard BIOS' CONFIG_SH_STANDARD_BIOS
459if [ "$CONFIG_SH_STANDARD_BIOS" = "y" ]; then
460   bool 'Early printk support' CONFIG_SH_EARLY_PRINTK
461fi
462bool 'Include KGDB kernel debugger' CONFIG_SH_KGDB
463if [ "$CONFIG_SH_KGDB" = "y" ]; then
464   bool ' Enter KGDB on NMI' CONFIG_KGDB_NMI
465   bool ' Include KGDB thread support' CONFIG_KGDB_THREAD
466   bool ' Console messages through GDB' CONFIG_SH_KGDB_CONSOLE
467   bool ' Allow SysRq "G" to enter KGDB?' CONFIG_KGDB_SYSRQ
468   if [ "$CONFIG_KGDB_SYSRQ" != "n" ]; then
469      define_bool CONFIG_MAGIC_SYSRQ y
470   fi
471   bool ' Include KGDB kernel asserts' CONFIG_KGDB_KERNEL_ASSERTS
472   bool ' Add additional compile options' CONFIG_KGDB_MORE
473   if [ "$CONFIG_KGDB_MORE" = "y" ]; then
474      string ' Additional compile options' CONFIG_KGDB_OPTIONS "-O1"
475   fi
476   mainmenu_option next_comment
477   comment '     Default KGDB port setup'
478      int 'Port number (ttySCn)' CONFIG_KGDB_DEFPORT 1
479      int 'Baud rate' CONFIG_KGDB_DEFBAUD 115200
480      choice 'Parity' \
481         "None CONFIG_KGDB_DEFPARITY_N	\
482          Even CONFIG_KGDB_DEFPARITY_E	\
483          Odd  CONFIG_KGDB_DEFPARITY_O"	None
484      choice 'DataBits' \
485         "7 CONFIG_KGDB_DEFBITS_7	\
486          8 CONFIG_KGDB_DEFBITS_8"	8
487   endmenu
488fi
489
490int 'Kernel messages buffer length shift (0 = default)' CONFIG_LOG_BUF_SHIFT 0
491
492endmenu
493
494source crypto/Config.in
495source lib/Config.in
496