• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1config MN10300
2	def_bool y
3	select HAVE_OPROFILE
4	select HAVE_GENERIC_HARDIRQS
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
17config AM33_2
18	def_bool n
19
20config AM33_3
21	def_bool n
22
23config AM34_2
24	def_bool n
25	select MN10300_HAS_ATOMIC_OPS_UNIT
26	select MN10300_HAS_CACHE_SNOOP
27
28config ERRATUM_NEED_TO_RELOAD_MMUCTR
29	def_bool y if AM33_3 || AM34_2
30
31config MMU
32	def_bool y
33
34config HIGHMEM
35	def_bool n
36
37config NUMA
38	def_bool n
39
40config UID16
41	def_bool y
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
58config QUICKLIST
59	def_bool y
60
61config ARCH_HAS_ILOG2_U32
62	def_bool y
63
64config HOTPLUG_CPU
65	def_bool n
66
67source "init/Kconfig"
68
69source "kernel/Kconfig.freezer"
70
71
72menu "Panasonic MN10300 system setup"
73
74choice
75	prompt "Unit type"
76	default MN10300_UNIT_ASB2303
77	help
78	  This option specifies board for which the kernel will be
79	  compiled. It affects the external peripherals catered for.
80
81config MN10300_UNIT_ASB2303
82	bool "ASB2303"
83
84config MN10300_UNIT_ASB2305
85	bool "ASB2305"
86
87config MN10300_UNIT_ASB2364
88	bool "ASB2364"
89	select SMSC911X_ARCH_HOOKS if SMSC911X
90
91endchoice
92
93choice
94	prompt "Processor support"
95	default MN10300_PROC_MN103E010
96	help
97	  This option specifies the processor for which the kernel will be
98	  compiled. It affects the on-chip peripherals catered for.
99
100config MN10300_PROC_MN103E010
101	bool "MN103E010"
102	depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
103	select AM33_2
104	select MN10300_PROC_HAS_TTYSM0
105	select MN10300_PROC_HAS_TTYSM1
106	select MN10300_PROC_HAS_TTYSM2
107
108config MN10300_PROC_MN2WS0050
109	bool "MN2WS0050"
110	depends on MN10300_UNIT_ASB2364
111	select AM34_2
112	select MN10300_PROC_HAS_TTYSM0
113	select MN10300_PROC_HAS_TTYSM1
114	select MN10300_PROC_HAS_TTYSM2
115
116endchoice
117
118config MN10300_HAS_ATOMIC_OPS_UNIT
119	def_bool n
120	help
121	  This should be enabled if the processor has an atomic ops unit
122	  capable of doing LL/SC equivalent operations.
123
124config FPU
125	bool "FPU present"
126	default y
127	depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
128
129config LAZY_SAVE_FPU
130	bool "Save FPU state lazily"
131	default y
132	depends on FPU && !SMP
133	help
134	  Enable this to be lazy in the saving of the FPU state to the owning
135	  task's thread struct.  This is useful if most tasks on the system
136	  don't use the FPU as only those tasks that use it will pass it
137	  between them, and the state needn't be saved for a task that isn't
138	  using it.
139
140	  This can't be so easily used on SMP as the process that owns the FPU
141	  state on a CPU may be currently running on another CPU, so for the
142	  moment, it is disabled.
143
144source "arch/mn10300/mm/Kconfig.cache"
145
146config MN10300_TLB_USE_PIDR
147	def_bool y
148
149menu "Memory layout options"
150
151config KERNEL_RAM_BASE_ADDRESS
152	hex "Base address of kernel RAM"
153	default "0x90000000"
154
155config INTERRUPT_VECTOR_BASE
156	hex "Base address of vector table"
157	default "0x90000000"
158	help
159	  The base address of the vector table will be programmed into
160          the TBR register. It must be on 16MiB address boundary.
161
162config KERNEL_TEXT_ADDRESS
163	hex "Base address of kernel"
164	default "0x90001000"
165
166config KERNEL_ZIMAGE_BASE_ADDRESS
167	hex "Base address of compressed vmlinux image"
168	default "0x50700000"
169
170config BOOT_STACK_OFFSET
171	hex
172	default	"0xF00"	if SMP
173	default	"0xFF0" if !SMP
174
175config BOOT_STACK_SIZE
176	hex
177	depends on SMP
178	default	"0x100"
179endmenu
180
181config SMP
182	bool "Symmetric multi-processing support"
183	default y
184	select USE_GENERIC_SMP_HELPERS
185	depends on MN10300_PROC_MN2WS0038 || 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, like most personal computers, say N. If
189	  you have a system with more than one CPU, say Y.
190
191	  If you say N here, the kernel will run on single 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	  singleprocessor machines. On a singleprocessor 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