blob: 6b0d28ac9241cd20e91ac5474af7d221c8161854 [file] [log] [blame]
Paul Mundtcad82442006-01-16 22:14:19 -08001menu "Processor selection"
2
3#
4# Processor families
5#
6config CPU_SH2
Yoshinori Sato9d4436a2006-11-05 15:40:13 +09007 select SH_WRITETHROUGH if !CPU_SH2A
Paul Mundtcad82442006-01-16 22:14:19 -08008 bool
Yoshinori Sato9d4436a2006-11-05 15:40:13 +09009
10config CPU_SH2A
11 bool
12 select CPU_SH2
Paul Mundtcad82442006-01-16 22:14:19 -080013
14config CPU_SH3
15 bool
16 select CPU_HAS_INTEVT
17 select CPU_HAS_SR_RB
18
19config CPU_SH4
20 bool
21 select CPU_HAS_INTEVT
22 select CPU_HAS_SR_RB
Paul Mundt26b7a782006-12-28 10:31:48 +090023 select CPU_HAS_PTEA if (!CPU_SUBTYPE_ST40 && !CPU_SH4A) || CPU_SHX2
Paul Mundtcad82442006-01-16 22:14:19 -080024
25config CPU_SH4A
26 bool
27 select CPU_SH4
Paul Mundtcad82442006-01-16 22:14:19 -080028
Paul Mundte5723e02006-09-27 17:38:11 +090029config CPU_SH4AL_DSP
30 bool
31 select CPU_SH4A
32
Paul Mundtcad82442006-01-16 22:14:19 -080033config CPU_SUBTYPE_ST40
34 bool
35 select CPU_SH4
36 select CPU_HAS_INTC2_IRQ
37
Paul Mundt41504c32006-12-11 20:28:03 +090038config CPU_SHX2
39 bool
40
Paul Mundtcad82442006-01-16 22:14:19 -080041#
42# Processor subtypes
43#
44
45comment "SH-2 Processor Support"
46
47config CPU_SUBTYPE_SH7604
48 bool "Support SH7604 processor"
49 select CPU_SH2
50
Yoshinori Sato9d4436a2006-11-05 15:40:13 +090051config CPU_SUBTYPE_SH7619
52 bool "Support SH7619 processor"
53 select CPU_SH2
54
55comment "SH-2A Processor Support"
56
57config CPU_SUBTYPE_SH7206
58 bool "Support SH7206 processor"
59 select CPU_SH2A
60
Paul Mundtcad82442006-01-16 22:14:19 -080061comment "SH-3 Processor Support"
62
63config CPU_SUBTYPE_SH7300
64 bool "Support SH7300 processor"
65 select CPU_SH3
66
67config CPU_SUBTYPE_SH7705
68 bool "Support SH7705 processor"
69 select CPU_SH3
70 select CPU_HAS_PINT_IRQ
71
Paul Mundte5723e02006-09-27 17:38:11 +090072config CPU_SUBTYPE_SH7706
73 bool "Support SH7706 processor"
74 select CPU_SH3
Takashi YOSHIIf725b5e2006-12-25 18:35:24 +090075 select CPU_HAS_IPR_IRQ
Paul Mundte5723e02006-09-27 17:38:11 +090076 help
77 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
78
Paul Mundtcad82442006-01-16 22:14:19 -080079config CPU_SUBTYPE_SH7707
80 bool "Support SH7707 processor"
81 select CPU_SH3
82 select CPU_HAS_PINT_IRQ
83 help
84 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
85
86config CPU_SUBTYPE_SH7708
87 bool "Support SH7708 processor"
88 select CPU_SH3
89 help
90 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
91 if you have a 100 Mhz SH-3 HD6417708R CPU.
92
93config CPU_SUBTYPE_SH7709
94 bool "Support SH7709 processor"
95 select CPU_SH3
Takashi YOSHIIf725b5e2006-12-25 18:35:24 +090096 select CPU_HAS_IPR_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -080097 select CPU_HAS_PINT_IRQ
98 help
99 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
100
Paul Mundte5723e02006-09-27 17:38:11 +0900101config CPU_SUBTYPE_SH7710
102 bool "Support SH7710 processor"
103 select CPU_SH3
104 help
105 Select SH7710 if you have a SH3-DSP SH7710 CPU.
106
Paul Mundtcad82442006-01-16 22:14:19 -0800107comment "SH-4 Processor Support"
108
109config CPU_SUBTYPE_SH7750
110 bool "Support SH7750 processor"
111 select CPU_SH4
Jamie Lenehanea0f8fe2006-12-06 12:05:02 +0900112 select CPU_HAS_IPR_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -0800113 help
114 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
115
116config CPU_SUBTYPE_SH7091
117 bool "Support SH7091 processor"
118 select CPU_SH4
119 select CPU_SUBTYPE_SH7750
120 help
121 Select SH7091 if you have an SH-4 based Sega device (such as
122 the Dreamcast, Naomi, and Naomi 2).
123
124config CPU_SUBTYPE_SH7750R
125 bool "Support SH7750R processor"
126 select CPU_SH4
127 select CPU_SUBTYPE_SH7750
Jamie Lenehanea0f8fe2006-12-06 12:05:02 +0900128 select CPU_HAS_IPR_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -0800129
130config CPU_SUBTYPE_SH7750S
131 bool "Support SH7750S processor"
132 select CPU_SH4
133 select CPU_SUBTYPE_SH7750
Jamie Lenehanea0f8fe2006-12-06 12:05:02 +0900134 select CPU_HAS_IPR_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -0800135
136config CPU_SUBTYPE_SH7751
137 bool "Support SH7751 processor"
138 select CPU_SH4
Jamie Lenehanea0f8fe2006-12-06 12:05:02 +0900139 select CPU_HAS_IPR_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -0800140 help
141 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
142 or if you have a HD6417751R CPU.
143
144config CPU_SUBTYPE_SH7751R
145 bool "Support SH7751R processor"
146 select CPU_SH4
147 select CPU_SUBTYPE_SH7751
Jamie Lenehanea0f8fe2006-12-06 12:05:02 +0900148 select CPU_HAS_IPR_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -0800149
150config CPU_SUBTYPE_SH7760
151 bool "Support SH7760 processor"
152 select CPU_SH4
153 select CPU_HAS_INTC2_IRQ
Manuel Lauss6dcda6f2007-01-25 15:21:03 +0900154 select CPU_HAS_IPR_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -0800155
156config CPU_SUBTYPE_SH4_202
157 bool "Support SH4-202 processor"
158 select CPU_SH4
159
160comment "ST40 Processor Support"
161
162config CPU_SUBTYPE_ST40STB1
163 bool "Support ST40STB1/ST40RA processors"
164 select CPU_SUBTYPE_ST40
165 help
166 Select ST40STB1 if you have a ST40RA CPU.
167 This was previously called the ST40STB1, hence the option name.
168
169config CPU_SUBTYPE_ST40GX1
170 bool "Support ST40GX1 processor"
171 select CPU_SUBTYPE_ST40
172 help
173 Select ST40GX1 if you have a ST40GX1 CPU.
174
175comment "SH-4A Processor Support"
176
Paul Mundtcad82442006-01-16 22:14:19 -0800177config CPU_SUBTYPE_SH7770
178 bool "Support SH7770 processor"
179 select CPU_SH4A
180
181config CPU_SUBTYPE_SH7780
182 bool "Support SH7780 processor"
183 select CPU_SH4A
Paul Mundta328ff92006-09-27 16:14:54 +0900184 select CPU_HAS_INTC2_IRQ
Paul Mundtcad82442006-01-16 22:14:19 -0800185
Paul Mundtb552c7e2006-11-20 14:14:29 +0900186config CPU_SUBTYPE_SH7785
187 bool "Support SH7785 processor"
188 select CPU_SH4A
Paul Mundt41504c32006-12-11 20:28:03 +0900189 select CPU_SHX2
Paul Mundtb552c7e2006-11-20 14:14:29 +0900190 select CPU_HAS_INTC2_IRQ
191
Paul Mundte5723e02006-09-27 17:38:11 +0900192comment "SH4AL-DSP Processor Support"
193
194config CPU_SUBTYPE_SH73180
195 bool "Support SH73180 processor"
196 select CPU_SH4AL_DSP
197
198config CPU_SUBTYPE_SH7343
199 bool "Support SH7343 processor"
200 select CPU_SH4AL_DSP
201
Paul Mundt41504c32006-12-11 20:28:03 +0900202config CPU_SUBTYPE_SH7722
203 bool "Support SH7722 processor"
204 select CPU_SH4AL_DSP
205 select CPU_SHX2
206 select CPU_HAS_IPR_IRQ
207
Paul Mundtcad82442006-01-16 22:14:19 -0800208endmenu
209
210menu "Memory management options"
211
212config 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 Mundt21440cf2006-11-20 14:30:26 +0900257 depends on CPU_SH4A && MMU && (!X2TLB || BROKEN)
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 Mundtcad82442006-01-16 22:14:19 -0800286choice
Paul Mundt21440cf2006-11-20 14:30:26 +0900287 prompt "Kernel page size"
288 default PAGE_SIZE_4KB
289
290config PAGE_SIZE_4KB
291 bool "4kB"
292 help
293 This is the default page size used by all SuperH CPUs.
294
295config PAGE_SIZE_8KB
296 bool "8kB"
297 depends on EXPERIMENTAL && X2TLB
298 help
299 This enables 8kB pages as supported by SH-X2 and later MMUs.
300
301config PAGE_SIZE_64KB
302 bool "64kB"
303 depends on EXPERIMENTAL && CPU_SH4
304 help
305 This enables support for 64kB pages, possible on all SH-4
306 CPUs and later. Highly experimental, not recommended.
307
308endchoice
309
310choice
Paul Mundtcad82442006-01-16 22:14:19 -0800311 prompt "HugeTLB page size"
312 depends on HUGETLB_PAGE && CPU_SH4 && MMU
313 default HUGETLB_PAGE_SIZE_64K
314
315config HUGETLB_PAGE_SIZE_64K
Paul Mundt21440cf2006-11-20 14:30:26 +0900316 bool "64kB"
317
318config HUGETLB_PAGE_SIZE_256K
319 bool "256kB"
320 depends on X2TLB
Paul Mundtcad82442006-01-16 22:14:19 -0800321
322config HUGETLB_PAGE_SIZE_1MB
323 bool "1MB"
324
Paul Mundt21440cf2006-11-20 14:30:26 +0900325config HUGETLB_PAGE_SIZE_4MB
326 bool "4MB"
327 depends on X2TLB
328
329config HUGETLB_PAGE_SIZE_64MB
330 bool "64MB"
331 depends on X2TLB
332
Paul Mundtcad82442006-01-16 22:14:19 -0800333endchoice
334
335source "mm/Kconfig"
336
337endmenu
338
339menu "Cache configuration"
340
341config SH7705_CACHE_32KB
342 bool "Enable 32KB cache size for SH7705"
343 depends on CPU_SUBTYPE_SH7705
344 default y
345
346config SH_DIRECT_MAPPED
347 bool "Use direct-mapped caching"
348 default n
349 help
350 Selecting this option will configure the caches to be direct-mapped,
351 even if the cache supports a 2 or 4-way mode. This is useful primarily
352 for debugging on platforms with 2 and 4-way caches (SH7750R/SH7751R,
353 SH4-202, SH4-501, etc.)
354
355 Turn this option off for platforms that do not have a direct-mapped
356 cache, and you have no need to run the caches in such a configuration.
357
358config SH_WRITETHROUGH
359 bool "Use write-through caching"
Paul Mundtcad82442006-01-16 22:14:19 -0800360 help
361 Selecting this option will configure the caches in write-through
362 mode, as opposed to the default write-back configuration.
363
364 Since there's sill some aliasing issues on SH-4, this option will
365 unfortunately still require the majority of flushing functions to
366 be implemented to deal with aliasing.
367
368 If unsure, say N.
369
370config SH_OCRAM
371 bool "Operand Cache RAM (OCRAM) support"
372 help
373 Selecting this option will automatically tear down the number of
374 sets in the dcache by half, which in turn exposes a memory range.
375
376 The addresses for the OC RAM base will vary according to the
377 processor version. Consult vendor documentation for specifics.
378
379 If unsure, say N.
380
381endmenu