diff options
author | Akira Takeuchi <takeuchi.akr@jp.panasonic.com> | 2010-10-27 12:28:55 -0400 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2010-10-27 12:28:55 -0400 |
commit | 368dd5acd154b09c043cc4392a74da01599b37d5 (patch) | |
tree | dd94ae3d044f6e774dec2437613515bd6b46dacb /arch/mn10300/Kconfig | |
parent | 04157a6e7df99fd5ed64955233d6e00ab6613614 (diff) |
MN10300: And Panasonic AM34 subarch and implement SMP
Implement the Panasonic MN10300 AM34 CPU subarch and implement SMP support for
MN10300. Also implement support for the MN2WS0060 processor and the ASB2364
evaluation board which are AM34 based.
Signed-off-by: Akira Takeuchi <takeuchi.akr@jp.panasonic.com>
Signed-off-by: Kiyoshi Owada <owada.kiyoshi@jp.panasonic.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'arch/mn10300/Kconfig')
-rw-r--r-- | arch/mn10300/Kconfig | 119 |
1 files changed, 86 insertions, 33 deletions
diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig index a0a16e6e4a4e..81e27816aaf8 100644 --- a/arch/mn10300/Kconfig +++ b/arch/mn10300/Kconfig | |||
@@ -48,7 +48,7 @@ config GENERIC_CALIBRATE_DELAY | |||
48 | def_bool y | 48 | def_bool y |
49 | 49 | ||
50 | config GENERIC_CMOS_UPDATE | 50 | config GENERIC_CMOS_UPDATE |
51 | def_bool y | 51 | def_bool n |
52 | 52 | ||
53 | config GENERIC_FIND_NEXT_BIT | 53 | config GENERIC_FIND_NEXT_BIT |
54 | def_bool y | 54 | def_bool y |
@@ -72,10 +72,6 @@ config GENERIC_HARDIRQS | |||
72 | config HOTPLUG_CPU | 72 | config HOTPLUG_CPU |
73 | def_bool n | 73 | def_bool n |
74 | 74 | ||
75 | config HZ | ||
76 | int | ||
77 | default 1000 | ||
78 | |||
79 | mainmenu "Matsushita MN10300/AM33 Kernel Configuration" | 75 | mainmenu "Matsushita MN10300/AM33 Kernel Configuration" |
80 | 76 | ||
81 | source "init/Kconfig" | 77 | source "init/Kconfig" |
@@ -98,6 +94,9 @@ config MN10300_UNIT_ASB2303 | |||
98 | config MN10300_UNIT_ASB2305 | 94 | config MN10300_UNIT_ASB2305 |
99 | bool "ASB2305" | 95 | bool "ASB2305" |
100 | 96 | ||
97 | config MN10300_UNIT_ASB2364 | ||
98 | bool "ASB2364" | ||
99 | |||
101 | endchoice | 100 | endchoice |
102 | 101 | ||
103 | choice | 102 | choice |
@@ -115,17 +114,13 @@ config MN10300_PROC_MN103E010 | |||
115 | select MN10300_PROC_HAS_TTYSM1 | 114 | select MN10300_PROC_HAS_TTYSM1 |
116 | select MN10300_PROC_HAS_TTYSM2 | 115 | select MN10300_PROC_HAS_TTYSM2 |
117 | 116 | ||
118 | endchoice | 117 | config MN10300_PROC_MN2WS0050 |
119 | 118 | bool "MN2WS0050" | |
120 | choice | 119 | depends on MN10300_UNIT_ASB2364 |
121 | prompt "Processor core support" | 120 | select AM34_2 |
122 | default MN10300_CPU_AM33V2 | 121 | select MN10300_PROC_HAS_TTYSM0 |
123 | help | 122 | select MN10300_PROC_HAS_TTYSM1 |
124 | This option specifies the processor core for which the kernel will be | 123 | select MN10300_PROC_HAS_TTYSM2 |
125 | compiled. It affects the instruction set used. | ||
126 | |||
127 | config MN10300_CPU_AM33V2 | ||
128 | bool "AM33v2" | ||
129 | 124 | ||
130 | endchoice | 125 | endchoice |
131 | 126 | ||
@@ -138,7 +133,7 @@ config MN10300_HAS_ATOMIC_OPS_UNIT | |||
138 | config FPU | 133 | config FPU |
139 | bool "FPU present" | 134 | bool "FPU present" |
140 | default y | 135 | default y |
141 | depends on MN10300_PROC_MN103E010 | 136 | depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050 |
142 | 137 | ||
143 | config LAZY_SAVE_FPU | 138 | config LAZY_SAVE_FPU |
144 | bool "Save FPU state lazily" | 139 | bool "Save FPU state lazily" |
@@ -179,24 +174,55 @@ config KERNEL_TEXT_ADDRESS | |||
179 | 174 | ||
180 | config KERNEL_ZIMAGE_BASE_ADDRESS | 175 | config KERNEL_ZIMAGE_BASE_ADDRESS |
181 | hex "Base address of compressed vmlinux image" | 176 | hex "Base address of compressed vmlinux image" |
182 | default "0x90700000" | 177 | default "0x50700000" |
178 | |||
179 | config BOOT_STACK_OFFSET | ||
180 | hex | ||
181 | default "0xF00" if SMP | ||
182 | default "0xFF0" if !SMP | ||
183 | 183 | ||
184 | config BOOT_STACK_SIZE | ||
185 | hex | ||
186 | depends on SMP | ||
187 | default "0x100" | ||
184 | endmenu | 188 | endmenu |
185 | 189 | ||
186 | config PREEMPT | 190 | config SMP |
187 | bool "Preemptible Kernel" | 191 | bool "Symmetric multi-processing support" |
188 | help | 192 | default y |
189 | This option reduces the latency of the kernel when reacting to | 193 | depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050 |
190 | real-time or interactive events by allowing a low priority process to | 194 | ---help--- |
191 | be preempted even if it is in kernel mode executing a system call. | 195 | This enables support for systems with more than one CPU. If you have |
192 | This allows applications to run more reliably even when the system is | 196 | a system with only one CPU, like most personal computers, say N. If |
193 | under load. | 197 | you have a system with more than one CPU, say Y. |
198 | |||
199 | If you say N here, the kernel will run on single and multiprocessor | ||
200 | machines, but will use only one CPU of a multiprocessor machine. If | ||
201 | you say Y here, the kernel will run on many, but not all, | ||
202 | singleprocessor machines. On a singleprocessor machine, the kernel | ||
203 | will run faster if you say N here. | ||
204 | |||
205 | See also <file:Documentation/i386/IO-APIC.txt>, | ||
206 | <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at | ||
207 | <http://www.tldp.org/docs.html#howto>. | ||
194 | 208 | ||
195 | Say Y here if you are building a kernel for a desktop, embedded | 209 | If you don't know what to do here, say N. |
196 | or real-time system. Say N if you are unsure. | 210 | |
211 | config NR_CPUS | ||
212 | int | ||
213 | depends on SMP | ||
214 | default "2" | ||
215 | |||
216 | config USE_GENERIC_SMP_HELPERS | ||
217 | bool | ||
218 | depends on SMP | ||
219 | default y | ||
220 | |||
221 | source "kernel/Kconfig.preempt" | ||
197 | 222 | ||
198 | config MN10300_CURRENT_IN_E2 | 223 | config MN10300_CURRENT_IN_E2 |
199 | bool "Hold current task address in E2 register" | 224 | bool "Hold current task address in E2 register" |
225 | depends on !SMP | ||
200 | default y | 226 | default y |
201 | help | 227 | help |
202 | This option removes the E2/R2 register from the set available to gcc | 228 | This option removes the E2/R2 register from the set available to gcc |
@@ -218,12 +244,14 @@ config MN10300_USING_JTAG | |||
218 | suppresses the use of certain hardware debugging features, such as | 244 | suppresses the use of certain hardware debugging features, such as |
219 | single-stepping, which are taken over completely by the JTAG unit. | 245 | single-stepping, which are taken over completely by the JTAG unit. |
220 | 246 | ||
247 | source "kernel/Kconfig.hz" | ||
248 | |||
221 | config MN10300_RTC | 249 | config MN10300_RTC |
222 | bool "Using MN10300 RTC" | 250 | bool "Using MN10300 RTC" |
223 | depends on MN10300_PROC_MN103E010 | 251 | depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050 |
252 | select GENERIC_CMOS_UPDATE | ||
224 | default n | 253 | default n |
225 | help | 254 | help |
226 | |||
227 | This option enables support for the RTC, thus enabling time to be | 255 | This option enables support for the RTC, thus enabling time to be |
228 | tracked, even when system is powered down. This is available on-chip | 256 | tracked, even when system is powered down. This is available on-chip |
229 | on the MN103E010. | 257 | on the MN103E010. |
@@ -315,14 +343,23 @@ config MN10300_TTYSM1 | |||
315 | 343 | ||
316 | choice | 344 | choice |
317 | prompt "Select the timer to supply the clock for SIF1" | 345 | prompt "Select the timer to supply the clock for SIF1" |
318 | default MN10300_TTYSM0_TIMER9 | 346 | default MN10300_TTYSM1_TIMER12 \ |
347 | if !(AM33_2 || AM33_3) | ||
348 | default MN10300_TTYSM1_TIMER9 \ | ||
349 | if AM33_2 || AM33_3 | ||
319 | depends on MN10300_TTYSM1 | 350 | depends on MN10300_TTYSM1 |
320 | 351 | ||
352 | config MN10300_TTYSM1_TIMER12 | ||
353 | bool "Use timer 12 (16-bit)" | ||
354 | depends on !(AM33_2 || AM33_3) | ||
355 | |||
321 | config MN10300_TTYSM1_TIMER9 | 356 | config MN10300_TTYSM1_TIMER9 |
322 | bool "Use timer 9 (16-bit)" | 357 | bool "Use timer 9 (16-bit)" |
358 | depends on AM33_2 || AM33_3 | ||
323 | 359 | ||
324 | config MN10300_TTYSM1_TIMER3 | 360 | config MN10300_TTYSM1_TIMER3 |
325 | bool "Use timer 3 (8-bit)" | 361 | bool "Use timer 3 (8-bit)" |
362 | depends on AM33_2 || AM33_3 | ||
326 | 363 | ||
327 | endchoice | 364 | endchoice |
328 | 365 | ||
@@ -337,17 +374,33 @@ config MN10300_TTYSM2 | |||
337 | 374 | ||
338 | choice | 375 | choice |
339 | prompt "Select the timer to supply the clock for SIF2" | 376 | prompt "Select the timer to supply the clock for SIF2" |
340 | default MN10300_TTYSM0_TIMER10 | 377 | default MN10300_TTYSM2_TIMER3 \ |
378 | if !(AM33_2 || AM33_3) | ||
379 | default MN10300_TTYSM2_TIMER10 \ | ||
380 | if AM33_2 || AM33_3 | ||
341 | depends on MN10300_TTYSM2 | 381 | depends on MN10300_TTYSM2 |
342 | 382 | ||
383 | config MN10300_TTYSM2_TIMER9 | ||
384 | bool "Use timer 9 (16-bit)" | ||
385 | depends on !(AM33_2 || AM33_3) | ||
386 | |||
387 | config MN10300_TTYSM2_TIMER1 | ||
388 | bool "Use timer 1 (8-bit)" | ||
389 | depends on !(AM33_2 || AM33_3) | ||
390 | |||
391 | config MN10300_TTYSM2_TIMER3 | ||
392 | bool "Use timer 3 (8-bit)" | ||
393 | depends on !(AM33_2 || AM33_3) | ||
394 | |||
343 | config MN10300_TTYSM2_TIMER10 | 395 | config MN10300_TTYSM2_TIMER10 |
344 | bool "Use timer 10 (16-bit)" | 396 | bool "Use timer 10 (16-bit)" |
397 | depends on AM33_2 || AM33_3 | ||
345 | 398 | ||
346 | endchoice | 399 | endchoice |
347 | 400 | ||
348 | config MN10300_TTYSM2_CTS | 401 | config MN10300_TTYSM2_CTS |
349 | bool "Enable the use of the CTS line /dev/ttySM2" | 402 | bool "Enable the use of the CTS line /dev/ttySM2" |
350 | depends on MN10300_TTYSM2 | 403 | depends on MN10300_TTYSM2 && AM33_2 |
351 | 404 | ||
352 | endmenu | 405 | endmenu |
353 | 406 | ||