blob: 5487b99d4f6dee4608d16248d62a962b43954066 [file] [log] [blame]
Paul Mundtcad82442006-01-16 22:14:19 -08001#
2# Processor families
3#
4config CPU_SH2
5 bool
Yoshinori Sato9d4436a2006-11-05 15:40:13 +09006
7config CPU_SH2A
8 bool
9 select CPU_SH2
Paul Mundtcad82442006-01-16 22:14:19 -080010
11config CPU_SH3
12 bool
13 select CPU_HAS_INTEVT
14 select CPU_HAS_SR_RB
15
16config CPU_SH4
17 bool
18 select CPU_HAS_INTEVT
19 select CPU_HAS_SR_RB
Paul Mundt26b7a782006-12-28 10:31:48 +090020 select CPU_HAS_PTEA if (!CPU_SUBTYPE_ST40 && !CPU_SH4A) || CPU_SHX2
Paul Mundtcad82442006-01-16 22:14:19 -080021
22config CPU_SH4A
23 bool
24 select CPU_SH4
Paul Mundtcad82442006-01-16 22:14:19 -080025
Paul Mundte5723e02006-09-27 17:38:11 +090026config CPU_SH4AL_DSP
27 bool
28 select CPU_SH4A
Paul Mundtac79fd52007-07-25 16:26:10 +090029 select CPU_HAS_DSP
Paul Mundte5723e02006-09-27 17:38:11 +090030
Paul Mundtcad82442006-01-16 22:14:19 -080031config CPU_SUBTYPE_ST40
32 bool
33 select CPU_SH4
Paul Mundtcad82442006-01-16 22:14:19 -080034
Paul Mundt41504c32006-12-11 20:28:03 +090035config CPU_SHX2
36 bool
37
Paul Mundt2b1bd1a2007-06-20 18:27:10 +090038config CPU_SHX3
39 bool
40
Paul Mundtf3d22292007-05-14 17:29:12 +090041choice
42 prompt "Processor sub-type selection"
43
Paul Mundtcad82442006-01-16 22:14:19 -080044#
45# Processor subtypes
46#
47
Paul Mundtf3d22292007-05-14 17:29:12 +090048# SH-2 Processor Support
Paul Mundtcad82442006-01-16 22:14:19 -080049
Yoshinori Sato9d4436a2006-11-05 15:40:13 +090050config CPU_SUBTYPE_SH7619
51 bool "Support SH7619 processor"
52 select CPU_SH2
Paul Mundt357d5942007-06-11 15:32:07 +090053 select CPU_HAS_IPR_IRQ
Yoshinori Sato9d4436a2006-11-05 15:40:13 +090054
Paul Mundtf3d22292007-05-14 17:29:12 +090055# SH-2A Processor Support
Yoshinori Sato9d4436a2006-11-05 15:40:13 +090056
57config CPU_SUBTYPE_SH7206
58 bool "Support SH7206 processor"
59 select CPU_SH2A
Paul Mundtfa1ec922007-06-01 17:23:14 +090060 select CPU_HAS_IPR_IRQ
Yoshinori Sato9d4436a2006-11-05 15:40:13 +090061
Paul Mundtf3d22292007-05-14 17:29:12 +090062# SH-3 Processor Support
Paul Mundtcad82442006-01-16 22:14:19 -080063
Paul Mundtcad82442006-01-16 22:14:19 -080064config CPU_SUBTYPE_SH7705
65 bool "Support SH7705 processor"
66 select CPU_SH3
Magnus Damm70e8be02007-07-25 10:50:42 +090067 select CPU_HAS_INTC_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -080068
Paul Mundte5723e02006-09-27 17:38:11 +090069config CPU_SUBTYPE_SH7706
70 bool "Support SH7706 processor"
71 select CPU_SH3
Magnus Dammec58f1f2007-07-25 17:50:01 +090072 select CPU_HAS_INTC_IRQ
Paul Mundte5723e02006-09-27 17:38:11 +090073 help
74 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
75
Paul Mundtcad82442006-01-16 22:14:19 -080076config CPU_SUBTYPE_SH7707
77 bool "Support SH7707 processor"
78 select CPU_SH3
Magnus Dammec58f1f2007-07-25 17:50:01 +090079 select CPU_HAS_INTC_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -080080 help
81 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
82
83config CPU_SUBTYPE_SH7708
84 bool "Support SH7708 processor"
85 select CPU_SH3
Magnus Dammec58f1f2007-07-25 17:50:01 +090086 select CPU_HAS_INTC_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -080087 help
88 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
89 if you have a 100 Mhz SH-3 HD6417708R CPU.
90
91config CPU_SUBTYPE_SH7709
92 bool "Support SH7709 processor"
93 select CPU_SH3
Magnus Dammec58f1f2007-07-25 17:50:01 +090094 select CPU_HAS_INTC_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -080095 help
96 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
97
Paul Mundte5723e02006-09-27 17:38:11 +090098config CPU_SUBTYPE_SH7710
99 bool "Support SH7710 processor"
100 select CPU_SH3
Magnus Damm28b146c2007-07-25 17:47:07 +0900101 select CPU_HAS_INTC_IRQ
Paul Mundtac79fd52007-07-25 16:26:10 +0900102 select CPU_HAS_DSP
Paul Mundte5723e02006-09-27 17:38:11 +0900103 help
104 Select SH7710 if you have a SH3-DSP SH7710 CPU.
105
Nobuhiro Iwamatsu9465a542007-03-27 18:13:51 +0900106config CPU_SUBTYPE_SH7712
107 bool "Support SH7712 processor"
108 select CPU_SH3
Magnus Damm28b146c2007-07-25 17:47:07 +0900109 select CPU_HAS_INTC_IRQ
Paul Mundtac79fd52007-07-25 16:26:10 +0900110 select CPU_HAS_DSP
Nobuhiro Iwamatsu9465a542007-03-27 18:13:51 +0900111 help
112 Select SH7712 if you have a SH3-DSP SH7712 CPU.
113
Markus Brunner3ea6bc32007-08-20 08:59:33 +0900114config CPU_SUBTYPE_SH7720
115 bool "Support SH7720 processor"
116 select CPU_SH3
117 select CPU_HAS_INTC_IRQ
118 select CPU_HAS_DSP
119 help
120 Select SH7720 if you have a SH3-DSP SH7720 CPU.
121
Paul Mundtf3d22292007-05-14 17:29:12 +0900122# SH-4 Processor Support
Paul Mundtcad82442006-01-16 22:14:19 -0800123
124config CPU_SUBTYPE_SH7750
125 bool "Support SH7750 processor"
126 select CPU_SH4
Magnus Damm56386f62007-07-20 18:44:49 +0900127 select CPU_HAS_INTC_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -0800128 help
129 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
130
131config CPU_SUBTYPE_SH7091
132 bool "Support SH7091 processor"
133 select CPU_SH4
Magnus Damm56386f62007-07-20 18:44:49 +0900134 select CPU_HAS_INTC_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -0800135 help
136 Select SH7091 if you have an SH-4 based Sega device (such as
137 the Dreamcast, Naomi, and Naomi 2).
138
139config CPU_SUBTYPE_SH7750R
140 bool "Support SH7750R processor"
141 select CPU_SH4
Magnus Damm56386f62007-07-20 18:44:49 +0900142 select CPU_HAS_INTC_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -0800143
144config CPU_SUBTYPE_SH7750S
145 bool "Support SH7750S processor"
146 select CPU_SH4
Magnus Damm56386f62007-07-20 18:44:49 +0900147 select CPU_HAS_INTC_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -0800148
149config CPU_SUBTYPE_SH7751
150 bool "Support SH7751 processor"
151 select CPU_SH4
Magnus Damm56386f62007-07-20 18:44:49 +0900152 select CPU_HAS_INTC_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -0800153 help
154 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
155 or if you have a HD6417751R CPU.
156
157config CPU_SUBTYPE_SH7751R
158 bool "Support SH7751R processor"
159 select CPU_SH4
Magnus Damm56386f62007-07-20 18:44:49 +0900160 select CPU_HAS_INTC_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -0800161
162config CPU_SUBTYPE_SH7760
163 bool "Support SH7760 processor"
164 select CPU_SH4
Magnus Damme29bfbc2007-07-31 17:12:34 +0900165 select CPU_HAS_INTC_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -0800166
167config CPU_SUBTYPE_SH4_202
168 bool "Support SH4-202 processor"
169 select CPU_SH4
170
Paul Mundtf3d22292007-05-14 17:29:12 +0900171# ST40 Processor Support
Paul Mundtcad82442006-01-16 22:14:19 -0800172
173config CPU_SUBTYPE_ST40STB1
174 bool "Support ST40STB1/ST40RA processors"
175 select CPU_SUBTYPE_ST40
176 help
177 Select ST40STB1 if you have a ST40RA CPU.
178 This was previously called the ST40STB1, hence the option name.
179
180config CPU_SUBTYPE_ST40GX1
181 bool "Support ST40GX1 processor"
182 select CPU_SUBTYPE_ST40
183 help
184 Select ST40GX1 if you have a ST40GX1 CPU.
185
Paul Mundtf3d22292007-05-14 17:29:12 +0900186# SH-4A Processor Support
Paul Mundtcad82442006-01-16 22:14:19 -0800187
Paul Mundtcad82442006-01-16 22:14:19 -0800188config CPU_SUBTYPE_SH7770
189 bool "Support SH7770 processor"
190 select CPU_SH4A
191
192config CPU_SUBTYPE_SH7780
193 bool "Support SH7780 processor"
194 select CPU_SH4A
Magnus Damm39c7aa92007-07-20 12:10:29 +0900195 select CPU_HAS_INTC_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -0800196
Paul Mundtb552c7e2006-11-20 14:14:29 +0900197config CPU_SUBTYPE_SH7785
198 bool "Support SH7785 processor"
199 select CPU_SH4A
Paul Mundt41504c32006-12-11 20:28:03 +0900200 select CPU_SHX2
Magnus Damma0e23262007-07-31 17:11:21 +0900201 select CPU_HAS_INTC_IRQ
Paul Mundtb552c7e2006-11-20 14:14:29 +0900202
Paul Mundt2b1bd1a2007-06-20 18:27:10 +0900203config CPU_SUBTYPE_SHX3
204 bool "Support SH-X3 processor"
205 select CPU_SH4A
206 select CPU_SHX3
Magnus Damm1ee01002007-08-01 17:02:22 +0900207 select CPU_HAS_INTC_IRQ
Paul Mundt7da3b8e2007-08-01 17:52:47 +0900208 select ARCH_SPARSEMEM_ENABLE
209 select SYS_SUPPORTS_NUMA
Paul Mundt2b1bd1a2007-06-20 18:27:10 +0900210
Paul Mundtf3d22292007-05-14 17:29:12 +0900211# SH4AL-DSP Processor Support
Paul Mundte5723e02006-09-27 17:38:11 +0900212
Paul Mundte5723e02006-09-27 17:38:11 +0900213config CPU_SUBTYPE_SH7343
214 bool "Support SH7343 processor"
215 select CPU_SH4AL_DSP
216
Paul Mundt41504c32006-12-11 20:28:03 +0900217config CPU_SUBTYPE_SH7722
218 bool "Support SH7722 processor"
219 select CPU_SH4AL_DSP
220 select CPU_SHX2
Magnus Damm1b064282007-07-18 17:51:24 +0900221 select CPU_HAS_INTC_IRQ
Paul Mundt520588f2007-06-06 17:58:56 +0900222 select ARCH_SPARSEMEM_ENABLE
Paul Mundt357d5942007-06-11 15:32:07 +0900223 select SYS_SUPPORTS_NUMA
Paul Mundt41504c32006-12-11 20:28:03 +0900224
Paul Mundtf3d22292007-05-14 17:29:12 +0900225endchoice
Paul Mundtcad82442006-01-16 22:14:19 -0800226
227menu "Memory management options"
228
Paul Mundt5f8c9902007-05-08 11:55:21 +0900229config QUICKLIST
230 def_bool y
231
Paul Mundtcad82442006-01-16 22:14:19 -0800232config MMU
233 bool "Support for memory management hardware"
234 depends on !CPU_SH2
235 default y
236 help
237 Some SH processors (such as SH-2/SH-2A) lack an MMU. In order to
238 boot on these systems, this option must not be set.
239
240 On other systems (such as the SH-3 and 4) where an MMU exists,
241 turning this off will boot the kernel on these machines with the
242 MMU implicitly switched off.
243
Paul Mundte7f93a32006-09-27 17:19:13 +0900244config PAGE_OFFSET
245 hex
246 default "0x80000000" if MMU
247 default "0x00000000"
248
249config MEMORY_START
250 hex "Physical memory start address"
251 default "0x08000000"
252 ---help---
253 Computers built with Hitachi SuperH processors always
254 map the ROM starting at address zero. But the processor
255 does not specify the range that RAM takes.
256
257 The physical memory (RAM) start address will be automatically
258 set to 08000000. Other platforms, such as the Solution Engine
259 boards typically map RAM at 0C000000.
260
261 Tweak this only when porting to a new machine which does not
262 already have a defconfig. Changing it from the known correct
263 value on any of the known systems will only lead to disaster.
264
265config MEMORY_SIZE
266 hex "Physical memory size"
267 default "0x00400000"
268 help
269 This sets the default memory size assumed by your SH kernel. It can
270 be overridden as normal by the 'mem=' argument on the kernel command
271 line. If unsure, consult your board specifications or just leave it
272 as 0x00400000 which was the default value before this became
273 configurable.
274
Paul Mundtcad82442006-01-16 22:14:19 -0800275config 32BIT
276 bool "Support 32-bit physical addressing through PMB"
Paul Mundt50f63f22007-06-15 18:30:42 +0900277 depends on MMU && (CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785)
Paul Mundtcad82442006-01-16 22:14:19 -0800278 default y
279 help
280 If you say Y here, physical addressing will be extended to
281 32-bits through the SH-4A PMB. If this is not set, legacy
282 29-bit physical addressing will be used.
283
Paul Mundt21440cf2006-11-20 14:30:26 +0900284config X2TLB
285 bool "Enable extended TLB mode"
Paul Mundt41504c32006-12-11 20:28:03 +0900286 depends on CPU_SHX2 && MMU && EXPERIMENTAL
Paul Mundt21440cf2006-11-20 14:30:26 +0900287 help
288 Selecting this option will enable the extended mode of the SH-X2
289 TLB. For legacy SH-X behaviour and interoperability, say N. For
290 all of the fun new features and a willingless to submit bug reports,
291 say Y.
292
Paul Mundt19f9a342006-09-27 18:33:49 +0900293config VSYSCALL
294 bool "Support vsyscall page"
295 depends on MMU
296 default y
297 help
298 This will enable support for the kernel mapping a vDSO page
299 in process space, and subsequently handing down the entry point
300 to the libc through the ELF auxiliary vector.
301
302 From the kernel side this is used for the signal trampoline.
303 For systems with an MMU that can afford to give up a page,
304 (the default value) say Y.
305
Paul Mundtb241cb02007-06-06 17:52:19 +0900306config NUMA
307 bool "Non Uniform Memory Access (NUMA) Support"
Paul Mundt357d5942007-06-11 15:32:07 +0900308 depends on MMU && SYS_SUPPORTS_NUMA && EXPERIMENTAL
Paul Mundtb241cb02007-06-06 17:52:19 +0900309 default n
310 help
311 Some SH systems have many various memories scattered around
312 the address space, each with varying latencies. This enables
313 support for these blocks by binding them to nodes and allowing
314 memory policies to be used for prioritizing and controlling
315 allocation behaviour.
316
Paul Mundt01066622007-03-28 16:38:13 +0900317config NODES_SHIFT
318 int
Paul Mundt99044942007-08-08 16:45:07 +0900319 default "3" if CPU_SUBTYPE_SHX3
Paul Mundt01066622007-03-28 16:38:13 +0900320 default "1"
321 depends on NEED_MULTIPLE_NODES
322
323config ARCH_FLATMEM_ENABLE
324 def_bool y
Paul Mundt357d5942007-06-11 15:32:07 +0900325 depends on !NUMA
Paul Mundt01066622007-03-28 16:38:13 +0900326
Paul Mundtdfbb9042007-05-23 17:48:36 +0900327config ARCH_SPARSEMEM_ENABLE
328 def_bool y
329 select SPARSEMEM_STATIC
330
331config ARCH_SPARSEMEM_DEFAULT
332 def_bool y
333
Paul Mundt1ce7ddd2007-05-09 13:20:52 +0900334config MAX_ACTIVE_REGIONS
335 int
Paul Mundt7da3b8e2007-08-01 17:52:47 +0900336 default "6" if (CPU_SUBTYPE_SHX3 && SPARSEMEM)
Paul Mundt520588f2007-06-06 17:58:56 +0900337 default "2" if (CPU_SUBTYPE_SH7722 && SPARSEMEM)
Paul Mundt1ce7ddd2007-05-09 13:20:52 +0900338 default "1"
339
Paul Mundt01066622007-03-28 16:38:13 +0900340config ARCH_POPULATES_NODE_MAP
341 def_bool y
342
Paul Mundtdfbb9042007-05-23 17:48:36 +0900343config ARCH_SELECT_MEMORY_MODEL
344 def_bool y
345
Paul Mundt33d63bd2007-06-07 11:32:52 +0900346config ARCH_ENABLE_MEMORY_HOTPLUG
347 def_bool y
348 depends on SPARSEMEM
349
350config ARCH_MEMORY_PROBE
351 def_bool y
352 depends on MEMORY_HOTPLUG
353
Paul Mundtcad82442006-01-16 22:14:19 -0800354choice
Paul Mundt21440cf2006-11-20 14:30:26 +0900355 prompt "Kernel page size"
356 default PAGE_SIZE_4KB
357
358config PAGE_SIZE_4KB
359 bool "4kB"
360 help
361 This is the default page size used by all SuperH CPUs.
362
363config PAGE_SIZE_8KB
364 bool "8kB"
365 depends on EXPERIMENTAL && X2TLB
366 help
367 This enables 8kB pages as supported by SH-X2 and later MMUs.
368
369config PAGE_SIZE_64KB
370 bool "64kB"
371 depends on EXPERIMENTAL && CPU_SH4
372 help
373 This enables support for 64kB pages, possible on all SH-4
374 CPUs and later. Highly experimental, not recommended.
375
376endchoice
377
378choice
Paul Mundtcad82442006-01-16 22:14:19 -0800379 prompt "HugeTLB page size"
380 depends on HUGETLB_PAGE && CPU_SH4 && MMU
381 default HUGETLB_PAGE_SIZE_64K
382
383config HUGETLB_PAGE_SIZE_64K
Paul Mundt21440cf2006-11-20 14:30:26 +0900384 bool "64kB"
385
386config HUGETLB_PAGE_SIZE_256K
387 bool "256kB"
388 depends on X2TLB
Paul Mundtcad82442006-01-16 22:14:19 -0800389
390config HUGETLB_PAGE_SIZE_1MB
391 bool "1MB"
392
Paul Mundt21440cf2006-11-20 14:30:26 +0900393config HUGETLB_PAGE_SIZE_4MB
394 bool "4MB"
395 depends on X2TLB
396
397config HUGETLB_PAGE_SIZE_64MB
398 bool "64MB"
399 depends on X2TLB
400
Paul Mundtcad82442006-01-16 22:14:19 -0800401endchoice
402
403source "mm/Kconfig"
404
405endmenu
406
407menu "Cache configuration"
408
409config SH7705_CACHE_32KB
410 bool "Enable 32KB cache size for SH7705"
411 depends on CPU_SUBTYPE_SH7705
412 default y
413
414config SH_DIRECT_MAPPED
415 bool "Use direct-mapped caching"
416 default n
417 help
418 Selecting this option will configure the caches to be direct-mapped,
419 even if the cache supports a 2 or 4-way mode. This is useful primarily
420 for debugging on platforms with 2 and 4-way caches (SH7750R/SH7751R,
421 SH4-202, SH4-501, etc.)
422
423 Turn this option off for platforms that do not have a direct-mapped
424 cache, and you have no need to run the caches in such a configuration.
425
Paul Mundte7bd34a2007-07-31 17:07:28 +0900426choice
427 prompt "Cache mode"
428 default CACHE_WRITEBACK if CPU_SH2A || CPU_SH3 || CPU_SH4
429 default CACHE_WRITETHROUGH if (CPU_SH2 && !CPU_SH2A)
430
431config CACHE_WRITEBACK
432 bool "Write-back"
433 depends on CPU_SH2A || CPU_SH3 || CPU_SH4
434
435config CACHE_WRITETHROUGH
436 bool "Write-through"
Paul Mundtcad82442006-01-16 22:14:19 -0800437 help
438 Selecting this option will configure the caches in write-through
439 mode, as opposed to the default write-back configuration.
440
441 Since there's sill some aliasing issues on SH-4, this option will
442 unfortunately still require the majority of flushing functions to
443 be implemented to deal with aliasing.
444
445 If unsure, say N.
446
Paul Mundte7bd34a2007-07-31 17:07:28 +0900447config CACHE_OFF
448 bool "Off"
449
450endchoice
451
Paul Mundtcad82442006-01-16 22:14:19 -0800452endmenu