• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1config MN10300
2	def_bool y
3	select HAVE_EXIT_THREAD
4	select HAVE_OPROFILE
5	select GENERIC_IRQ_SHOW
6	select ARCH_WANT_IPC_PARSE_VERSION
7	select HAVE_ARCH_TRACEHOOK
8	select HAVE_ARCH_KGDB
9	select GENERIC_ATOMIC64
10	select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER
11	select VIRT_TO_BUS
12	select GENERIC_CLOCKEVENTS
13	select MODULES_USE_ELF_RELA
14	select OLD_SIGSUSPEND3
15	select OLD_SIGACTION
16	select HAVE_DEBUG_STACKOVERFLOW
17
18config AM33_2
19	def_bool n
20
21config AM33_3
22	def_bool n
23
24config AM34_2
25	def_bool n
26	select MN10300_HAS_ATOMIC_OPS_UNIT
27	select MN10300_HAS_CACHE_SNOOP
28
29config ERRATUM_NEED_TO_RELOAD_MMUCTR
30	def_bool y if AM33_3 || AM34_2
31
32config MMU
33	def_bool y
34
35config HIGHMEM
36	def_bool n
37
38config NUMA
39	def_bool n
40
41config UID16
42	def_bool y
43
44config RWSEM_GENERIC_SPINLOCK
45	def_bool y
46
47config RWSEM_XCHGADD_ALGORITHM
48	bool
49
50config GENERIC_CALIBRATE_DELAY
51	def_bool y
52
53config GENERIC_HWEIGHT
54	def_bool y
55
56config GENERIC_BUG
57	def_bool y
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 GENERIC_CMOS_UPDATE
240	default n
241	help
242	  This option enables support for the RTC, thus enabling time to be
243	  tracked, even when system is powered down. This is available on-chip
244	  on the MN103E010.
245
246config MN10300_WD_TIMER
247	bool "Using MN10300 watchdog timer"
248	default y
249	help
250	  This options indicates that the watchdog timer will be used.
251
252config PCI
253	bool "Use PCI"
254	depends on MN10300_UNIT_ASB2305
255	default y
256	select GENERIC_PCI_IOMAP
257	help
258	  Some systems (such as the ASB2305) have PCI onboard. If you have one
259	  of these boards and you wish to use the PCI facilities, say Y here.
260
261	  The PCI-HOWTO, available from
262	  <http://www.tldp.org/docs.html#howto>, contains valuable
263	  information about which PCI hardware does work under Linux and which
264	  doesn't.
265
266source "drivers/pci/Kconfig"
267
268source "drivers/pcmcia/Kconfig"
269
270menu "MN10300 internal serial options"
271
272config MN10300_PROC_HAS_TTYSM0
273	bool
274	default n
275
276config MN10300_PROC_HAS_TTYSM1
277	bool
278	default n
279
280config MN10300_PROC_HAS_TTYSM2
281	bool
282	default n
283
284config MN10300_TTYSM
285	bool "Support for ttySM serial ports"
286	depends on MN10300
287	default y
288	select SERIAL_CORE
289	help
290	  This option enables support for the on-chip serial ports that the
291	  MN10300 has available.
292
293config MN10300_TTYSM_CONSOLE
294	bool "Support for console on ttySM serial ports"
295	depends on MN10300_TTYSM
296	select SERIAL_CORE_CONSOLE
297	help
298	  This option enables support for a console on the on-chip serial ports
299	  that the MN10300 has available.
300
301#
302# /dev/ttySM0
303#
304config MN10300_TTYSM0
305	bool "Enable SIF0 (/dev/ttySM0)"
306	depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
307	help
308	  Enable access to SIF0 through /dev/ttySM0 or gdb-stub
309
310choice
311	prompt "Select the timer to supply the clock for SIF0"
312	default MN10300_TTYSM0_TIMER8
313	depends on MN10300_TTYSM0
314
315config MN10300_TTYSM0_TIMER8
316	bool "Use timer 8 (16-bit)"
317
318config MN10300_TTYSM0_TIMER2
319	bool "Use timer 2 (8-bit)"
320
321endchoice
322
323#
324# /dev/ttySM1
325#
326config MN10300_TTYSM1
327	bool "Enable SIF1 (/dev/ttySM1)"
328	depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
329	help
330	  Enable access to SIF1 through /dev/ttySM1 or gdb-stub
331
332choice
333	prompt "Select the timer to supply the clock for SIF1"
334	default MN10300_TTYSM1_TIMER12 \
335		if !(AM33_2 || AM33_3)
336	default MN10300_TTYSM1_TIMER9 \
337		if AM33_2 || AM33_3
338	depends on MN10300_TTYSM1
339
340config MN10300_TTYSM1_TIMER12
341	bool "Use timer 12 (16-bit)"
342	depends on !(AM33_2 || AM33_3)
343
344config MN10300_TTYSM1_TIMER9
345	bool "Use timer 9 (16-bit)"
346	depends on AM33_2 || AM33_3
347
348config MN10300_TTYSM1_TIMER3
349	bool "Use timer 3 (8-bit)"
350	depends on AM33_2 || AM33_3
351
352endchoice
353
354#
355# /dev/ttySM2
356#
357config MN10300_TTYSM2
358	bool "Enable SIF2 (/dev/ttySM2)"
359	depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
360	help
361	  Enable access to SIF2 through /dev/ttySM2 or gdb-stub
362
363choice
364	prompt "Select the timer to supply the clock for SIF2"
365	default MN10300_TTYSM2_TIMER3 \
366		if !(AM33_2 || AM33_3)
367	default MN10300_TTYSM2_TIMER10 \
368		if AM33_2 || AM33_3
369	depends on MN10300_TTYSM2
370
371config MN10300_TTYSM2_TIMER9
372	bool "Use timer 9 (16-bit)"
373	depends on !(AM33_2 || AM33_3)
374
375config MN10300_TTYSM2_TIMER1
376	bool "Use timer 1 (8-bit)"
377	depends on !(AM33_2 || AM33_3)
378
379config MN10300_TTYSM2_TIMER3
380	bool "Use timer 3 (8-bit)"
381	depends on !(AM33_2 || AM33_3)
382
383config MN10300_TTYSM2_TIMER10
384	bool "Use timer 10 (16-bit)"
385	depends on AM33_2 || AM33_3
386
387endchoice
388
389config MN10300_TTYSM2_CTS
390	bool "Enable the use of the CTS line /dev/ttySM2"
391	depends on MN10300_TTYSM2 && AM33_2
392
393endmenu
394
395menu "Interrupt request priority options"
396
397comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
398
399comment "____Non-maskable interrupt levels____"
400comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
401
402config DEBUGGER_IRQ_LEVEL
403	int "DEBUGGER interrupt priority"
404	depends on KERNEL_DEBUGGER
405	range 0 1 if LINUX_CLI_LEVEL = 2
406	range 0 2 if LINUX_CLI_LEVEL = 3
407	range 0 3 if LINUX_CLI_LEVEL = 4
408	range 0 4 if LINUX_CLI_LEVEL = 5
409	range 0 5 if LINUX_CLI_LEVEL = 6
410	default 0
411
412comment "The following must be set to a higher priority than local_irq_disable()"
413
414config MN10300_SERIAL_IRQ_LEVEL
415	int "MN10300 on-chip serial interrupt priority"
416	depends on MN10300_TTYSM
417	range 1 1 if LINUX_CLI_LEVEL = 2
418	range 1 2 if LINUX_CLI_LEVEL = 3
419	range 1 3 if LINUX_CLI_LEVEL = 4
420	range 1 4 if LINUX_CLI_LEVEL = 5
421	range 1 5 if LINUX_CLI_LEVEL = 6
422	default 1
423
424comment "-"
425comment "____Maskable interrupt levels____"
426
427config LINUX_CLI_LEVEL
428	int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
429	range 2 6
430	default 2
431	help
432	  local_irq_disable() doesn't actually disable maskable interrupts -
433	  what it does is restrict the levels of interrupt which are permitted
434	  (a lower level indicates a higher priority) by lowering the value in
435	  EPSW.IM from 7.  Any interrupt is permitted for which the level is
436	  lower than EPSW.IM.
437
438	  Certain interrupts, such as DEBUGGER and virtual MN10300 on-chip
439	  serial DMA interrupts are allowed to interrupt normal disabled
440	  sections.
441
442comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
443
444config TIMER_IRQ_LEVEL
445	int "Kernel timer interrupt priority"
446	range LINUX_CLI_LEVEL 6
447	default 4
448
449config PCI_IRQ_LEVEL
450	int "PCI interrupt priority"
451	depends on PCI
452	range LINUX_CLI_LEVEL 6
453	default 5
454
455config ETHERNET_IRQ_LEVEL
456	int "Ethernet interrupt priority"
457	depends on SMC91X || SMC911X || SMSC911X
458	range LINUX_CLI_LEVEL 6
459	default 6
460
461config EXT_SERIAL_IRQ_LEVEL
462	int "External serial port interrupt priority"
463	depends on SERIAL_8250
464	range LINUX_CLI_LEVEL 6
465	default 6
466
467endmenu
468
469source "mm/Kconfig"
470
471menu "Power management options"
472source kernel/power/Kconfig
473endmenu
474
475endmenu
476
477
478menu "Executable formats"
479
480source "fs/Kconfig.binfmt"
481
482endmenu
483
484source "net/Kconfig"
485
486source "drivers/Kconfig"
487
488source "fs/Kconfig"
489
490source "arch/mn10300/Kconfig.debug"
491
492source "security/Kconfig"
493
494source "crypto/Kconfig"
495
496source "lib/Kconfig"
497