PageRenderTime 24ms CodeModel.GetById 14ms app.highlight 6ms RepoModel.GetById 1ms app.codeStats 0ms

/arch/mn10300/Kconfig

http://github.com/mirrors/linux
#! | 498 lines | 385 code | 113 blank | 0 comment | 0 complexity | 14c9e45d5c7463730aec5eb3deb140fa MD5 | raw file
  1config MN10300
  2	def_bool y
  3	select HAVE_EXIT_THREAD
  4	select HAVE_OPROFILE
  5	select HAVE_UID16
  6	select GENERIC_IRQ_SHOW
  7	select ARCH_WANT_IPC_PARSE_VERSION
  8	select HAVE_ARCH_TRACEHOOK
  9	select HAVE_ARCH_KGDB
 10	select GENERIC_ATOMIC64
 11	select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER
 12	select VIRT_TO_BUS
 13	select GENERIC_CLOCKEVENTS
 14	select MODULES_USE_ELF_RELA
 15	select OLD_SIGSUSPEND3
 16	select OLD_SIGACTION
 17	select HAVE_DEBUG_STACKOVERFLOW
 18	select ARCH_NO_COHERENT_DMA_MMAP
 19
 20config AM33_2
 21	def_bool n
 22
 23config AM33_3
 24	def_bool n
 25
 26config AM34_2
 27	def_bool n
 28	select MN10300_HAS_ATOMIC_OPS_UNIT
 29	select MN10300_HAS_CACHE_SNOOP
 30
 31config ERRATUM_NEED_TO_RELOAD_MMUCTR
 32	def_bool y if AM33_3 || AM34_2
 33
 34config MMU
 35	def_bool y
 36
 37config HIGHMEM
 38	def_bool n
 39
 40config NUMA
 41	def_bool n
 42
 43config RWSEM_GENERIC_SPINLOCK
 44	def_bool y
 45
 46config RWSEM_XCHGADD_ALGORITHM
 47	bool
 48
 49config GENERIC_CALIBRATE_DELAY
 50	def_bool y
 51
 52config GENERIC_HWEIGHT
 53	def_bool y
 54
 55config GENERIC_BUG
 56	def_bool y
 57	depends on BUG
 58
 59config QUICKLIST
 60	def_bool y
 61
 62config ARCH_HAS_ILOG2_U32
 63	def_bool y
 64
 65config HOTPLUG_CPU
 66	def_bool n
 67
 68source "init/Kconfig"
 69
 70source "kernel/Kconfig.freezer"
 71
 72
 73menu "Panasonic MN10300 system setup"
 74
 75choice
 76	prompt "Unit type"
 77	default MN10300_UNIT_ASB2303
 78	help
 79	  This option specifies board for which the kernel will be
 80	  compiled. It affects the external peripherals catered for.
 81
 82config MN10300_UNIT_ASB2303
 83	bool "ASB2303"
 84
 85config MN10300_UNIT_ASB2305
 86	bool "ASB2305"
 87
 88config MN10300_UNIT_ASB2364
 89	bool "ASB2364"
 90	select SMSC911X_ARCH_HOOKS if SMSC911X
 91
 92endchoice
 93
 94choice
 95	prompt "Processor support"
 96	default MN10300_PROC_MN103E010
 97	help
 98	  This option specifies the processor for which the kernel will be
 99	  compiled. It affects the on-chip peripherals catered for.
100
101config MN10300_PROC_MN103E010
102	bool "MN103E010"
103	depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
104	select AM33_2
105	select MN10300_PROC_HAS_TTYSM0
106	select MN10300_PROC_HAS_TTYSM1
107	select MN10300_PROC_HAS_TTYSM2
108
109config MN10300_PROC_MN2WS0050
110	bool "MN2WS0050"
111	depends on MN10300_UNIT_ASB2364
112	select AM34_2
113	select MN10300_PROC_HAS_TTYSM0
114	select MN10300_PROC_HAS_TTYSM1
115	select MN10300_PROC_HAS_TTYSM2
116
117endchoice
118
119config MN10300_HAS_ATOMIC_OPS_UNIT
120	def_bool n
121	help
122	  This should be enabled if the processor has an atomic ops unit
123	  capable of doing LL/SC equivalent operations.
124
125config FPU
126	bool "FPU present"
127	default y
128	depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
129
130config LAZY_SAVE_FPU
131	bool "Save FPU state lazily"
132	default y
133	depends on FPU && !SMP
134	help
135	  Enable this to be lazy in the saving of the FPU state to the owning
136	  task's thread struct.  This is useful if most tasks on the system
137	  don't use the FPU as only those tasks that use it will pass it
138	  between them, and the state needn't be saved for a task that isn't
139	  using it.
140
141	  This can't be so easily used on SMP as the process that owns the FPU
142	  state on a CPU may be currently running on another CPU, so for the
143	  moment, it is disabled.
144
145source "arch/mn10300/mm/Kconfig.cache"
146
147config MN10300_TLB_USE_PIDR
148	def_bool y
149
150menu "Memory layout options"
151
152config KERNEL_RAM_BASE_ADDRESS
153	hex "Base address of kernel RAM"
154	default "0x90000000"
155
156config INTERRUPT_VECTOR_BASE
157	hex "Base address of vector table"
158	default "0x90000000"
159	help
160	  The base address of the vector table will be programmed into
161          the TBR register. It must be on 16MiB address boundary.
162
163config KERNEL_TEXT_ADDRESS
164	hex "Base address of kernel"
165	default "0x90001000"
166
167config KERNEL_ZIMAGE_BASE_ADDRESS
168	hex "Base address of compressed vmlinux image"
169	default "0x50700000"
170
171config BOOT_STACK_OFFSET
172	hex
173	default	"0xF00"	if SMP
174	default	"0xFF0" if !SMP
175
176config BOOT_STACK_SIZE
177	hex
178	depends on SMP
179	default	"0x100"
180endmenu
181
182config SMP
183	bool "Symmetric multi-processing support"
184	default y
185	depends on MN10300_PROC_MN2WS0050
186	---help---
187	  This enables support for systems with more than one CPU. If you have
188	  a system with only one CPU, say N. If you have a system with more
189	  than one CPU, say Y.
190
191	  If you say N here, the kernel will run on uni- and multiprocessor
192	  machines, but will use only one CPU of a multiprocessor machine. If
193	  you say Y here, the kernel will run on many, but not all,
194	  uniprocessor machines. On a uniprocessor machine, the kernel
195	  will run faster if you say N here.
196
197	  See also <file:Documentation/x86/i386/IO-APIC.txt>,
198	  <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
199	  <http://www.tldp.org/docs.html#howto>.
200
201	  If you don't know what to do here, say N.
202
203config NR_CPUS
204	int
205	depends on SMP
206	default "2"
207
208source "kernel/Kconfig.preempt"
209
210config MN10300_CURRENT_IN_E2
211	bool "Hold current task address in E2 register"
212	depends on !SMP
213	default y
214	help
215	  This option removes the E2/R2 register from the set available to gcc
216	  for normal use and instead uses it to store the address of the
217	  current process's task_struct whilst in the kernel.
218
219	  This means the kernel doesn't need to calculate the address each time
220	  "current" is used (take SP, AND with mask and dereference pointer
221	  just to get the address), and instead can just use E2+offset
222	  addressing each time.
223
224	  This has no effect on userspace.
225
226config MN10300_USING_JTAG
227	bool "Using JTAG to debug kernel"
228	default y
229	help
230	  This options indicates that JTAG will be used to debug the kernel. It
231	  suppresses the use of certain hardware debugging features, such as
232	  single-stepping, which are taken over completely by the JTAG unit.
233
234source "kernel/Kconfig.hz"
235
236config MN10300_RTC
237	bool "Using MN10300 RTC"
238	depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
239	select RTC_CLASS
240	select RTC_DRV_CMOS
241	select RTC_SYSTOHC
242	default n
243	help
244	  This option enables support for the RTC, thus enabling time to be
245	  tracked, even when system is powered down. This is available on-chip
246	  on the MN103E010.
247
248config MN10300_WD_TIMER
249	bool "Using MN10300 watchdog timer"
250	default y
251	help
252	  This options indicates that the watchdog timer will be used.
253
254config PCI
255	bool "Use PCI"
256	depends on MN10300_UNIT_ASB2305
257	default y
258	select GENERIC_PCI_IOMAP
259	help
260	  Some systems (such as the ASB2305) have PCI onboard. If you have one
261	  of these boards and you wish to use the PCI facilities, say Y here.
262
263	  The PCI-HOWTO, available from
264	  <http://www.tldp.org/docs.html#howto>, contains valuable
265	  information about which PCI hardware does work under Linux and which
266	  doesn't.
267
268source "drivers/pci/Kconfig"
269
270source "drivers/pcmcia/Kconfig"
271
272menu "MN10300 internal serial options"
273
274config MN10300_PROC_HAS_TTYSM0
275	bool
276	default n
277
278config MN10300_PROC_HAS_TTYSM1
279	bool
280	default n
281
282config MN10300_PROC_HAS_TTYSM2
283	bool
284	default n
285
286config MN10300_TTYSM
287	bool "Support for ttySM serial ports"
288	depends on MN10300
289	default y
290	select SERIAL_CORE
291	help
292	  This option enables support for the on-chip serial ports that the
293	  MN10300 has available.
294
295config MN10300_TTYSM_CONSOLE
296	bool "Support for console on ttySM serial ports"
297	depends on MN10300_TTYSM
298	select SERIAL_CORE_CONSOLE
299	help
300	  This option enables support for a console on the on-chip serial ports
301	  that the MN10300 has available.
302
303#
304# /dev/ttySM0
305#
306config MN10300_TTYSM0
307	bool "Enable SIF0 (/dev/ttySM0)"
308	depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
309	help
310	  Enable access to SIF0 through /dev/ttySM0 or gdb-stub
311
312choice
313	prompt "Select the timer to supply the clock for SIF0"
314	default MN10300_TTYSM0_TIMER8
315	depends on MN10300_TTYSM0
316
317config MN10300_TTYSM0_TIMER8
318	bool "Use timer 8 (16-bit)"
319
320config MN10300_TTYSM0_TIMER2
321	bool "Use timer 2 (8-bit)"
322
323endchoice
324
325#
326# /dev/ttySM1
327#
328config MN10300_TTYSM1
329	bool "Enable SIF1 (/dev/ttySM1)"
330	depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
331	help
332	  Enable access to SIF1 through /dev/ttySM1 or gdb-stub
333
334choice
335	prompt "Select the timer to supply the clock for SIF1"
336	default MN10300_TTYSM1_TIMER12 \
337		if !(AM33_2 || AM33_3)
338	default MN10300_TTYSM1_TIMER9 \
339		if AM33_2 || AM33_3
340	depends on MN10300_TTYSM1
341
342config MN10300_TTYSM1_TIMER12
343	bool "Use timer 12 (16-bit)"
344	depends on !(AM33_2 || AM33_3)
345
346config MN10300_TTYSM1_TIMER9
347	bool "Use timer 9 (16-bit)"
348	depends on AM33_2 || AM33_3
349
350config MN10300_TTYSM1_TIMER3
351	bool "Use timer 3 (8-bit)"
352	depends on AM33_2 || AM33_3
353
354endchoice
355
356#
357# /dev/ttySM2
358#
359config MN10300_TTYSM2
360	bool "Enable SIF2 (/dev/ttySM2)"
361	depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
362	help
363	  Enable access to SIF2 through /dev/ttySM2 or gdb-stub
364
365choice
366	prompt "Select the timer to supply the clock for SIF2"
367	default MN10300_TTYSM2_TIMER3 \
368		if !(AM33_2 || AM33_3)
369	default MN10300_TTYSM2_TIMER10 \
370		if AM33_2 || AM33_3
371	depends on MN10300_TTYSM2
372
373config MN10300_TTYSM2_TIMER9
374	bool "Use timer 9 (16-bit)"
375	depends on !(AM33_2 || AM33_3)
376
377config MN10300_TTYSM2_TIMER1
378	bool "Use timer 1 (8-bit)"
379	depends on !(AM33_2 || AM33_3)
380
381config MN10300_TTYSM2_TIMER3
382	bool "Use timer 3 (8-bit)"
383	depends on !(AM33_2 || AM33_3)
384
385config MN10300_TTYSM2_TIMER10
386	bool "Use timer 10 (16-bit)"
387	depends on AM33_2 || AM33_3
388
389endchoice
390
391config MN10300_TTYSM2_CTS
392	bool "Enable the use of the CTS line /dev/ttySM2"
393	depends on MN10300_TTYSM2 && AM33_2
394
395endmenu
396
397menu "Interrupt request priority options"
398
399comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
400
401comment "____Non-maskable interrupt levels____"
402comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
403
404config DEBUGGER_IRQ_LEVEL
405	int "DEBUGGER interrupt priority"
406	depends on KERNEL_DEBUGGER
407	range 0 1 if LINUX_CLI_LEVEL = 2
408	range 0 2 if LINUX_CLI_LEVEL = 3
409	range 0 3 if LINUX_CLI_LEVEL = 4
410	range 0 4 if LINUX_CLI_LEVEL = 5
411	range 0 5 if LINUX_CLI_LEVEL = 6
412	default 0
413
414comment "The following must be set to a higher priority than local_irq_disable()"
415
416config MN10300_SERIAL_IRQ_LEVEL
417	int "MN10300 on-chip serial interrupt priority"
418	depends on MN10300_TTYSM
419	range 1 1 if LINUX_CLI_LEVEL = 2
420	range 1 2 if LINUX_CLI_LEVEL = 3
421	range 1 3 if LINUX_CLI_LEVEL = 4
422	range 1 4 if LINUX_CLI_LEVEL = 5
423	range 1 5 if LINUX_CLI_LEVEL = 6
424	default 1
425
426comment "-"
427comment "____Maskable interrupt levels____"
428
429config LINUX_CLI_LEVEL
430	int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
431	range 2 6
432	default 2
433	help
434	  local_irq_disable() doesn't actually disable maskable interrupts -
435	  what it does is restrict the levels of interrupt which are permitted
436	  (a lower level indicates a higher priority) by lowering the value in
437	  EPSW.IM from 7.  Any interrupt is permitted for which the level is
438	  lower than EPSW.IM.
439
440	  Certain interrupts, such as DEBUGGER and virtual MN10300 on-chip
441	  serial DMA interrupts are allowed to interrupt normal disabled
442	  sections.
443
444comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
445
446config TIMER_IRQ_LEVEL
447	int "Kernel timer interrupt priority"
448	range LINUX_CLI_LEVEL 6
449	default 4
450
451config PCI_IRQ_LEVEL
452	int "PCI interrupt priority"
453	depends on PCI
454	range LINUX_CLI_LEVEL 6
455	default 5
456
457config ETHERNET_IRQ_LEVEL
458	int "Ethernet interrupt priority"
459	depends on SMC91X || SMC911X || SMSC911X
460	range LINUX_CLI_LEVEL 6
461	default 6
462
463config EXT_SERIAL_IRQ_LEVEL
464	int "External serial port interrupt priority"
465	depends on SERIAL_8250
466	range LINUX_CLI_LEVEL 6
467	default 6
468
469endmenu
470
471source "mm/Kconfig"
472
473menu "Power management options"
474source kernel/power/Kconfig
475endmenu
476
477endmenu
478
479
480menu "Executable formats"
481
482source "fs/Kconfig.binfmt"
483
484endmenu
485
486source "net/Kconfig"
487
488source "drivers/Kconfig"
489
490source "fs/Kconfig"
491
492source "arch/mn10300/Kconfig.debug"
493
494source "security/Kconfig"
495
496source "crypto/Kconfig"
497
498source "lib/Kconfig"