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