blob: dce59b812946156d2e68c5feeaa03f0d485d1a70 [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
53
Paul Mundtf3d22292007-05-14 17:29:12 +090054# SH-2A Processor Support
Yoshinori Sato9d4436a2006-11-05 15:40:13 +090055
56config CPU_SUBTYPE_SH7206
57 bool "Support SH7206 processor"
58 select CPU_SH2A
59
Paul Mundtf3d22292007-05-14 17:29:12 +090060# SH-3 Processor Support
Paul Mundtcad82442006-01-16 22:14:19 -080061
Paul Mundtcad82442006-01-16 22:14:19 -080062config CPU_SUBTYPE_SH7705
63 bool "Support SH7705 processor"
64 select CPU_SH3
Paul Mundtcad82442006-01-16 22:14:19 -080065
Paul Mundte5723e02006-09-27 17:38:11 +090066config CPU_SUBTYPE_SH7706
67 bool "Support SH7706 processor"
68 select CPU_SH3
69 help
70 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
71
Paul Mundtcad82442006-01-16 22:14:19 -080072config CPU_SUBTYPE_SH7707
73 bool "Support SH7707 processor"
74 select CPU_SH3
Paul Mundtcad82442006-01-16 22:14:19 -080075 help
76 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
77
78config CPU_SUBTYPE_SH7708
79 bool "Support SH7708 processor"
80 select CPU_SH3
81 help
82 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
83 if you have a 100 Mhz SH-3 HD6417708R CPU.
84
85config CPU_SUBTYPE_SH7709
86 bool "Support SH7709 processor"
87 select CPU_SH3
Paul Mundtcad82442006-01-16 22:14:19 -080088 help
89 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
90
Paul Mundte5723e02006-09-27 17:38:11 +090091config CPU_SUBTYPE_SH7710
92 bool "Support SH7710 processor"
93 select CPU_SH3
Paul Mundtac79fd52007-07-25 16:26:10 +090094 select CPU_HAS_DSP
Paul Mundte5723e02006-09-27 17:38:11 +090095 help
96 Select SH7710 if you have a SH3-DSP SH7710 CPU.
97
Nobuhiro Iwamatsu9465a542007-03-27 18:13:51 +090098config CPU_SUBTYPE_SH7712
99 bool "Support SH7712 processor"
100 select CPU_SH3
Paul Mundtac79fd52007-07-25 16:26:10 +0900101 select CPU_HAS_DSP
Nobuhiro Iwamatsu9465a542007-03-27 18:13:51 +0900102 help
103 Select SH7712 if you have a SH3-DSP SH7712 CPU.
104
Markus Brunner3ea6bc32007-08-20 08:59:33 +0900105config CPU_SUBTYPE_SH7720
106 bool "Support SH7720 processor"
107 select CPU_SH3
108 select CPU_HAS_INTC_IRQ
109 select CPU_HAS_DSP
110 help
111 Select SH7720 if you have a SH3-DSP SH7720 CPU.
112
Paul Mundtf3d22292007-05-14 17:29:12 +0900113# SH-4 Processor Support
Paul Mundtcad82442006-01-16 22:14:19 -0800114
115config CPU_SUBTYPE_SH7750
116 bool "Support SH7750 processor"
117 select CPU_SH4
118 help
119 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
120
121config CPU_SUBTYPE_SH7091
122 bool "Support SH7091 processor"
123 select CPU_SH4
Paul Mundtcad82442006-01-16 22:14:19 -0800124 help
125 Select SH7091 if you have an SH-4 based Sega device (such as
126 the Dreamcast, Naomi, and Naomi 2).
127
128config CPU_SUBTYPE_SH7750R
129 bool "Support SH7750R processor"
130 select CPU_SH4
Paul Mundtcad82442006-01-16 22:14:19 -0800131
132config CPU_SUBTYPE_SH7750S
133 bool "Support SH7750S processor"
134 select CPU_SH4
Paul Mundtcad82442006-01-16 22:14:19 -0800135
136config CPU_SUBTYPE_SH7751
137 bool "Support SH7751 processor"
138 select CPU_SH4
139 help
140 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
141 or if you have a HD6417751R CPU.
142
143config CPU_SUBTYPE_SH7751R
144 bool "Support SH7751R processor"
145 select CPU_SH4
Paul Mundtcad82442006-01-16 22:14:19 -0800146
147config CPU_SUBTYPE_SH7760
148 bool "Support SH7760 processor"
149 select CPU_SH4
Paul Mundtcad82442006-01-16 22:14:19 -0800150
151config CPU_SUBTYPE_SH4_202
152 bool "Support SH4-202 processor"
153 select CPU_SH4
154
Paul Mundtf3d22292007-05-14 17:29:12 +0900155# ST40 Processor Support
Paul Mundtcad82442006-01-16 22:14:19 -0800156
157config CPU_SUBTYPE_ST40STB1
158 bool "Support ST40STB1/ST40RA processors"
159 select CPU_SUBTYPE_ST40
160 help
161 Select ST40STB1 if you have a ST40RA CPU.
162 This was previously called the ST40STB1, hence the option name.
163
164config CPU_SUBTYPE_ST40GX1
165 bool "Support ST40GX1 processor"
166 select CPU_SUBTYPE_ST40
167 help
168 Select ST40GX1 if you have a ST40GX1 CPU.
169
Paul Mundtf3d22292007-05-14 17:29:12 +0900170# SH-4A Processor Support
Paul Mundtcad82442006-01-16 22:14:19 -0800171
Paul Mundtcad82442006-01-16 22:14:19 -0800172config CPU_SUBTYPE_SH7770
173 bool "Support SH7770 processor"
174 select CPU_SH4A
175
176config CPU_SUBTYPE_SH7780
177 bool "Support SH7780 processor"
178 select CPU_SH4A
Paul Mundtcad82442006-01-16 22:14:19 -0800179
Paul Mundtb552c7e2006-11-20 14:14:29 +0900180config CPU_SUBTYPE_SH7785
181 bool "Support SH7785 processor"
182 select CPU_SH4A
Paul Mundt41504c32006-12-11 20:28:03 +0900183 select CPU_SHX2
Paul Mundtb552c7e2006-11-20 14:14:29 +0900184
Paul Mundt2b1bd1a2007-06-20 18:27:10 +0900185config CPU_SUBTYPE_SHX3
186 bool "Support SH-X3 processor"
187 select CPU_SH4A
188 select CPU_SHX3
Paul Mundt7da3b8e2007-08-01 17:52:47 +0900189 select ARCH_SPARSEMEM_ENABLE
190 select SYS_SUPPORTS_NUMA
Paul Mundt2b1bd1a2007-06-20 18:27:10 +0900191
Paul Mundtf3d22292007-05-14 17:29:12 +0900192# SH4AL-DSP Processor Support
Paul Mundte5723e02006-09-27 17:38:11 +0900193
Paul Mundte5723e02006-09-27 17:38:11 +0900194config CPU_SUBTYPE_SH7343
195 bool "Support SH7343 processor"
196 select CPU_SH4AL_DSP
197
Paul Mundt41504c32006-12-11 20:28:03 +0900198config CPU_SUBTYPE_SH7722
199 bool "Support SH7722 processor"
200 select CPU_SH4AL_DSP
201 select CPU_SHX2
Paul Mundt520588f2007-06-06 17:58:56 +0900202 select ARCH_SPARSEMEM_ENABLE
Paul Mundt357d5942007-06-11 15:32:07 +0900203 select SYS_SUPPORTS_NUMA
Paul Mundt41504c32006-12-11 20:28:03 +0900204
Paul Mundtf3d22292007-05-14 17:29:12 +0900205endchoice
Paul Mundtcad82442006-01-16 22:14:19 -0800206
207menu "Memory management options"
208
Paul Mundt5f8c9902007-05-08 11:55:21 +0900209config QUICKLIST
210 def_bool y
211
Paul Mundtcad82442006-01-16 22:14:19 -0800212config MMU
213 bool "Support for memory management hardware"
214 depends on !CPU_SH2
215 default y
216 help
217 Some SH processors (such as SH-2/SH-2A) lack an MMU. In order to
218 boot on these systems, this option must not be set.
219
220 On other systems (such as the SH-3 and 4) where an MMU exists,
221 turning this off will boot the kernel on these machines with the
222 MMU implicitly switched off.
223
Paul Mundte7f93a32006-09-27 17:19:13 +0900224config PAGE_OFFSET
225 hex
226 default "0x80000000" if MMU
227 default "0x00000000"
228
229config MEMORY_START
230 hex "Physical memory start address"
231 default "0x08000000"
232 ---help---
233 Computers built with Hitachi SuperH processors always
234 map the ROM starting at address zero. But the processor
235 does not specify the range that RAM takes.
236
237 The physical memory (RAM) start address will be automatically
238 set to 08000000. Other platforms, such as the Solution Engine
239 boards typically map RAM at 0C000000.
240
241 Tweak this only when porting to a new machine which does not
242 already have a defconfig. Changing it from the known correct
243 value on any of the known systems will only lead to disaster.
244
245config MEMORY_SIZE
246 hex "Physical memory size"
247 default "0x00400000"
248 help
249 This sets the default memory size assumed by your SH kernel. It can
250 be overridden as normal by the 'mem=' argument on the kernel command
251 line. If unsure, consult your board specifications or just leave it
252 as 0x00400000 which was the default value before this became
253 configurable.
254
Paul Mundtcad82442006-01-16 22:14:19 -0800255config 32BIT
256 bool "Support 32-bit physical addressing through PMB"
Paul Mundt50f63f22007-06-15 18:30:42 +0900257 depends on MMU && (CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785)
Paul Mundtcad82442006-01-16 22:14:19 -0800258 default y
259 help
260 If you say Y here, physical addressing will be extended to
261 32-bits through the SH-4A PMB. If this is not set, legacy
262 29-bit physical addressing will be used.
263
Paul Mundt21440cf2006-11-20 14:30:26 +0900264config X2TLB
265 bool "Enable extended TLB mode"
Paul Mundt41504c32006-12-11 20:28:03 +0900266 depends on CPU_SHX2 && MMU && EXPERIMENTAL
Paul Mundt21440cf2006-11-20 14:30:26 +0900267 help
268 Selecting this option will enable the extended mode of the SH-X2
269 TLB. For legacy SH-X behaviour and interoperability, say N. For
270 all of the fun new features and a willingless to submit bug reports,
271 say Y.
272
Paul Mundt19f9a342006-09-27 18:33:49 +0900273config VSYSCALL
274 bool "Support vsyscall page"
275 depends on MMU
276 default y
277 help
278 This will enable support for the kernel mapping a vDSO page
279 in process space, and subsequently handing down the entry point
280 to the libc through the ELF auxiliary vector.
281
282 From the kernel side this is used for the signal trampoline.
283 For systems with an MMU that can afford to give up a page,
284 (the default value) say Y.
285
Paul Mundtb241cb02007-06-06 17:52:19 +0900286config NUMA
287 bool "Non Uniform Memory Access (NUMA) Support"
Paul Mundt357d5942007-06-11 15:32:07 +0900288 depends on MMU && SYS_SUPPORTS_NUMA && EXPERIMENTAL
Paul Mundtb241cb02007-06-06 17:52:19 +0900289 default n
290 help
291 Some SH systems have many various memories scattered around
292 the address space, each with varying latencies. This enables
293 support for these blocks by binding them to nodes and allowing
294 memory policies to be used for prioritizing and controlling
295 allocation behaviour.
296
Paul Mundt01066622007-03-28 16:38:13 +0900297config NODES_SHIFT
298 int
Paul Mundt99044942007-08-08 16:45:07 +0900299 default "3" if CPU_SUBTYPE_SHX3
Paul Mundt01066622007-03-28 16:38:13 +0900300 default "1"
301 depends on NEED_MULTIPLE_NODES
302
303config ARCH_FLATMEM_ENABLE
304 def_bool y
Paul Mundt357d5942007-06-11 15:32:07 +0900305 depends on !NUMA
Paul Mundt01066622007-03-28 16:38:13 +0900306
Paul Mundtdfbb9042007-05-23 17:48:36 +0900307config ARCH_SPARSEMEM_ENABLE
308 def_bool y
309 select SPARSEMEM_STATIC
310
311config ARCH_SPARSEMEM_DEFAULT
312 def_bool y
313
Paul Mundt1ce7ddd2007-05-09 13:20:52 +0900314config MAX_ACTIVE_REGIONS
315 int
Paul Mundt7da3b8e2007-08-01 17:52:47 +0900316 default "6" if (CPU_SUBTYPE_SHX3 && SPARSEMEM)
Paul Mundt520588f2007-06-06 17:58:56 +0900317 default "2" if (CPU_SUBTYPE_SH7722 && SPARSEMEM)
Paul Mundt1ce7ddd2007-05-09 13:20:52 +0900318 default "1"
319
Paul Mundt01066622007-03-28 16:38:13 +0900320config ARCH_POPULATES_NODE_MAP
321 def_bool y
322
Paul Mundtdfbb9042007-05-23 17:48:36 +0900323config ARCH_SELECT_MEMORY_MODEL
324 def_bool y
325
Paul Mundt33d63bd2007-06-07 11:32:52 +0900326config ARCH_ENABLE_MEMORY_HOTPLUG
327 def_bool y
328 depends on SPARSEMEM
329
330config ARCH_MEMORY_PROBE
331 def_bool y
332 depends on MEMORY_HOTPLUG
333
Paul Mundtcad82442006-01-16 22:14:19 -0800334choice
Paul Mundt21440cf2006-11-20 14:30:26 +0900335 prompt "Kernel page size"
336 default PAGE_SIZE_4KB
337
338config PAGE_SIZE_4KB
339 bool "4kB"
340 help
341 This is the default page size used by all SuperH CPUs.
342
343config PAGE_SIZE_8KB
344 bool "8kB"
345 depends on EXPERIMENTAL && X2TLB
346 help
347 This enables 8kB pages as supported by SH-X2 and later MMUs.
348
349config PAGE_SIZE_64KB
350 bool "64kB"
351 depends on EXPERIMENTAL && CPU_SH4
352 help
353 This enables support for 64kB pages, possible on all SH-4
354 CPUs and later. Highly experimental, not recommended.
355
356endchoice
357
358choice
Paul Mundtcad82442006-01-16 22:14:19 -0800359 prompt "HugeTLB page size"
360 depends on HUGETLB_PAGE && CPU_SH4 && MMU
361 default HUGETLB_PAGE_SIZE_64K
362
363config HUGETLB_PAGE_SIZE_64K
Paul Mundt21440cf2006-11-20 14:30:26 +0900364 bool "64kB"
365
366config HUGETLB_PAGE_SIZE_256K
367 bool "256kB"
368 depends on X2TLB
Paul Mundtcad82442006-01-16 22:14:19 -0800369
370config HUGETLB_PAGE_SIZE_1MB
371 bool "1MB"
372
Paul Mundt21440cf2006-11-20 14:30:26 +0900373config HUGETLB_PAGE_SIZE_4MB
374 bool "4MB"
375 depends on X2TLB
376
377config HUGETLB_PAGE_SIZE_64MB
378 bool "64MB"
379 depends on X2TLB
380
Paul Mundtcad82442006-01-16 22:14:19 -0800381endchoice
382
383source "mm/Kconfig"
384
385endmenu
386
387menu "Cache configuration"
388
389config SH7705_CACHE_32KB
390 bool "Enable 32KB cache size for SH7705"
391 depends on CPU_SUBTYPE_SH7705
392 default y
393
394config SH_DIRECT_MAPPED
395 bool "Use direct-mapped caching"
396 default n
397 help
398 Selecting this option will configure the caches to be direct-mapped,
399 even if the cache supports a 2 or 4-way mode. This is useful primarily
400 for debugging on platforms with 2 and 4-way caches (SH7750R/SH7751R,
401 SH4-202, SH4-501, etc.)
402
403 Turn this option off for platforms that do not have a direct-mapped
404 cache, and you have no need to run the caches in such a configuration.
405
Paul Mundte7bd34a2007-07-31 17:07:28 +0900406choice
407 prompt "Cache mode"
408 default CACHE_WRITEBACK if CPU_SH2A || CPU_SH3 || CPU_SH4
409 default CACHE_WRITETHROUGH if (CPU_SH2 && !CPU_SH2A)
410
411config CACHE_WRITEBACK
412 bool "Write-back"
413 depends on CPU_SH2A || CPU_SH3 || CPU_SH4
414
415config CACHE_WRITETHROUGH
416 bool "Write-through"
Paul Mundtcad82442006-01-16 22:14:19 -0800417 help
418 Selecting this option will configure the caches in write-through
419 mode, as opposed to the default write-back configuration.
420
421 Since there's sill some aliasing issues on SH-4, this option will
422 unfortunately still require the majority of flushing functions to
423 be implemented to deal with aliasing.
424
425 If unsure, say N.
426
Paul Mundte7bd34a2007-07-31 17:07:28 +0900427config CACHE_OFF
428 bool "Off"
429
430endchoice
431
Paul Mundtcad82442006-01-16 22:14:19 -0800432endmenu