MOXA linux-2.6.x / linux-2.6.9-uc0 from sdlinux-moxaart.tgz
[linux-2.6.9-moxart.git] / arch / arm / mm / Kconfig
blob348c79b85f33cc3f2a32838e399d5a6a42a85fbf
1 comment "Processor Type"
3 config CPU_32
4         bool
5         default y
7 # Select CPU types depending on the architecture selected.  This selects
8 # which CPUs we support in the kernel image, and the compiler instruction
9 # optimiser behaviour.
11 # ARM610
12 config CPU_ARM610
13         bool "Support ARM610 processor"
14         depends on ARCH_RPC
15         select CPU_32v3
16         select CPU_CACHE_V3
17         select CPU_COPY_V3
18         select CPU_TLB_V3
19         help
20           The ARM610 is the successor to the ARM3 processor
21           and was produced by VLSI Technology Inc.
23           Say Y if you want support for the ARM610 processor.
24           Otherwise, say N.
26 # ARM710
27 config CPU_ARM710
28         bool "Support ARM710 processor" if !ARCH_CLPS7500 && ARCH_RPC
29         default y if ARCH_CLPS7500
30         select CPU_32v3
31         select CPU_CACHE_V3
32         select CPU_COPY_V3
33         select CPU_TLB_V3
34         help
35           A 32-bit RISC microprocessor based on the ARM7 processor core
36           designed by Advanced RISC Machines Ltd. The ARM710 is the
37           successor to the ARM610 processor. It was released in
38           July 1994 by VLSI Technology Inc.
40           Say Y if you want support for the ARM710 processor.
41           Otherwise, say N.
43 # ARM720T
44 config CPU_ARM720T
45         bool "Support ARM720T processor" if !ARCH_CLPS711X && !ARCH_L7200 && !ARCH_CDB89712 && ARCH_INTEGRATOR
46         default y if ARCH_CLPS711X || ARCH_L7200 || ARCH_CDB89712 || ARCH_H720X
47         select CPU_32v4
48         select CPU_ABRT_LV4T
49         select CPU_CACHE_V4
50         select CPU_COPY_V4WT
51         select CPU_TLB_V4WT
52         help
53           A 32-bit RISC processor with 8kByte Cache, Write Buffer and
54           MMU built around an ARM7TDMI core.
56           Say Y if you want support for the ARM720T processor.
57           Otherwise, say N.
59 # ARM920T
60 config CPU_ARM920T
61         bool "Support ARM920T processor" if !ARCH_S3C2410
62         depends on ARCH_INTEGRATOR || ARCH_S3C2410 || ARCH_IMX
63         default y if ARCH_S3C2410
64         select CPU_32v4
65         select CPU_ABRT_EV4T
66         select CPU_CACHE_V4WT
67         select CPU_COPY_V4WB
68         select CPU_TLB_V4WBI
69         help
70           The ARM920T is licensed to be produced by numerous vendors,
71           and is used in the Maverick EP9312 and the Samsung S3C2410.
73           More information on the Maverick EP9312 at
74           <http://linuxdevices.com/products/PD2382866068.html>.
76           Say Y if you want support for the ARM920T processor.
77           Otherwise, say N.
79 # ARM922T
80 config CPU_ARM922T
81         bool
82         depends on ARCH_CAMELOT || ARCH_LH7A40X || ARCH_MOXACPU
83         default y
84         select CPU_32v4
85         select CPU_ABRT_EV4
86         select CPU_COPY_V4WB
87         select CPU_TLB_V4WBI
88         help
89           The ARM922T is a version of the ARM920T, but with smaller
90           instruction and data caches. It is used in Altera's
91           Excalibur XA device family.
93           Say Y if you want support for the ARM922T processor.
94           Otherwise, say N.
96 # ARM925T
97 config CPU_ARM925T
98         bool
99         depends on ARCH_OMAP1510
100         default y
101         select CPU_32v4
102         select CPU_ABRT_EV4T
103         select CPU_CACHE_V4WT
104         select CPU_COPY_V4WB
105         select CPU_TLB_V4WBI
106         help
107           The ARM925T is a mix between the ARM920T and ARM926T, but with
108           different instruction and data caches. It is used in TI's OMAP
109           device family.
111           Say Y if you want support for the ARM925T processor.
112           Otherwise, say N.
114 # ARM926T
115 config CPU_ARM926T
116         bool "Support ARM926T processor" if ARCH_INTEGRATOR
117         depends on ARCH_INTEGRATOR || ARCH_VERSATILE_PB || ARCH_OMAP730 || ARCH_OMAP1610 || ARCH_OMAP5912
118         default y if ARCH_VERSATILE_PB
119         select CPU_32v5
120         select CPU_ABRT_EV5TJ
121         select CPU_COPY_V4WB
122         select CPU_TLB_V4WBI
123         help
124           This is a variant of the ARM920.  It has slightly different
125           instruction sequences for cache and TLB operations.  Curiously,
126           there is no documentation on it at the ARM corporate website.
128           Say Y if you want support for the ARM926T processor.
129           Otherwise, say N.
131 # ARM1020 - needs validating
132 config CPU_ARM1020
133         bool "Support ARM1020T (rev 0) processor"
134         depends on ARCH_INTEGRATOR
135         select CPU_32v5
136         select CPU_ABRT_EV4T
137         select CPU_CACHE_V4WT
138         select CPU_COPY_V4WB
139         select CPU_TLB_V4WBI
140         help
141           The ARM1020 is the 32K cached version of the ARM10 processor,
142           with an addition of a floating-point unit.
144           Say Y if you want support for the ARM1020 processor.
145           Otherwise, say N.
147 # ARM1020E - needs validating
148 config CPU_ARM1020E
149         bool "Support ARM1020E processor"
150         depends on ARCH_INTEGRATOR
151         select CPU_32v5
152         select CPU_ABRT_EV4T
153         select CPU_CACHE_V4WT
154         select CPU_COPY_V4WB
155         select CPU_TLB_V4WBI
156         depends on n
158 # ARM1022E
159 config CPU_ARM1022
160         bool "Support ARM1022E processor"
161         depends on ARCH_INTEGRATOR
162         select CPU_32v5
163         select CPU_ABRT_EV4T
164         select CPU_COPY_V4WB # can probably do better
165         select CPU_TLB_V4WBI
166         help
167           The ARM1022E is an implementation of the ARMv5TE architecture
168           based upon the ARM10 integer core with a 16KiB L1 Harvard cache,
169           embedded trace macrocell, and a floating-point unit.
171           Say Y if you want support for the ARM1022E processor.
172           Otherwise, say N.
174 # ARM1026EJ-S
175 config CPU_ARM1026
176         bool "Support ARM1026EJ-S processor"
177         depends on ARCH_INTEGRATOR
178         select CPU_32v5
179         select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10
180         select CPU_COPY_V4WB # can probably do better
181         select CPU_TLB_V4WBI
182         help
183           The ARM1026EJ-S is an implementation of the ARMv5TEJ architecture
184           based upon the ARM10 integer core.
186           Say Y if you want support for the ARM1026EJ-S processor.
187           Otherwise, say N.
189 # SA110
190 config CPU_SA110
191         bool "Support StrongARM(R) SA-110 processor" if !ARCH_EBSA110 && !FOOTBRIDGE && !ARCH_TBOX && !ARCH_SHARK && !ARCH_NEXUSPCI && ARCH_RPC
192         default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_TBOX || ARCH_SHARK || ARCH_NEXUSPCI
193         select CPU_32v3 if ARCH_RPC
194         select CPU_32v4 if !ARCH_RPC
195         select CPU_ABRT_EV4
196         select CPU_CACHE_V4WB
197         select CPU_COPY_V4WB
198         select CPU_TLB_V4WB
199         help
200           The Intel StrongARM(R) SA-110 is a 32-bit microprocessor and
201           is available at five speeds ranging from 100 MHz to 233 MHz.
202           More information is available at
203           <http://developer.intel.com/design/strong/sa110.htm>.
205           Say Y if you want support for the SA-110 processor.
206           Otherwise, say N.
208 # SA1100
209 config CPU_SA1100
210         bool
211         depends on ARCH_SA1100
212         default y
213         select CPU_32v4
214         select CPU_ABRT_EV4
215         select CPU_CACHE_V4WB
216         select CPU_TLB_V4WB
217         select CPU_MINICACHE
219 # XScale
220 config CPU_XSCALE
221         bool
222         depends on ARCH_IOP3XX || ARCH_PXA || ARCH_IXP4XX || ARCH_IXP2000
223         default y
224         select CPU_32v5
225         select CPU_ABRT_EV5T
226         select CPU_TLB_V4WBI
227         select CPU_MINICACHE
229 # ARMv6
230 config CPU_V6
231         bool "Support ARM V6 processor"
232         depends on ARCH_INTEGRATOR
233         select CPU_32v6
234         select CPU_ABRT_EV6
235         select CPU_CACHE_V6
236         select CPU_COPY_V6
237         select CPU_TLB_V6
239 config CPU_FA526
240         bool "FA526 to support Moxa CPU processor"
241         depends on ARCH_MOXACPU
242         select CPU_32v4
243         select CPU_ABRT_EV4
244         select CPU_CACHE_FA
245         select CPU_COPY_FA
246         select CPU_TLB_FA
248 # Figure out what processor architecture version we should be using.
249 # This defines the compiler instruction set which depends on the machine type.
250 config CPU_32v3
251         bool
253 config CPU_32v4
254         bool
256 config CPU_32v5
257         bool
259 config CPU_32v6
260         bool
262 # The abort model
263 config CPU_ABRT_EV4
264         bool
266 config CPU_ABRT_EV4T
267         bool
269 config CPU_ABRT_LV4T
270         bool
272 config CPU_ABRT_EV5T
273         bool
275 config CPU_ABRT_EV5TJ
276         bool
278 config CPU_ABRT_EV6
279         bool
281 # The cache model
282 config CPU_CACHE_V3
283         bool
285 config CPU_CACHE_V4
286         bool
288 config CPU_CACHE_V4WT
289         bool
291 config CPU_CACHE_V4WB
292         bool
294 config CPU_CACHE_V6
295         bool
297 config CPU_CACHE_FA
298         bool
299         depends on CPU_FA526
301 # The copy-page model
302 config CPU_COPY_V3
303         bool
305 config CPU_COPY_V4WT
306         bool
308 config CPU_COPY_V4WB
309         bool
311 config CPU_COPY_V6
312         bool
314 config CPU_COPY_FA
315         bool
316         depends on CPU_FA526
318 # This selects the TLB model
319 config CPU_TLB_V3
320         bool
321         help
322           ARM Architecture Version 3 TLB.
324 config CPU_TLB_V4WT
325         bool
326         help
327           ARM Architecture Version 4 TLB with writethrough cache.
329 config CPU_TLB_V4WB
330         bool
331         help
332           ARM Architecture Version 4 TLB with writeback cache.
334 config CPU_TLB_V4WBI
335         bool
336         help
337           ARM Architecture Version 4 TLB with writeback cache and invalidate
338           instruction cache entry.
340 config CPU_TLB_V6
341         bool
343 config CPU_TLB_FA
344         bool
345         depends on CPU_FA526
347 config CPU_MINICACHE
348         bool
349         help
350           Processor has a minicache.
352 config CPU_FA_IDLE
353         bool
354         depends on CPU_FA526 || CPU_ARM922T
356 config CPU_FA_BTB
357         bool
358         depends on CPU_FA526
360 comment "Processor Features"
362 config ARM_THUMB
363         bool "Support Thumb user binaries"
364         depends on CPU_ARM720T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM1020 || CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || CPU_XSCALE || CPU_V6 || CPU_FA526
365         default y
366         help
367           Say Y if you want to include kernel support for running user space
368           Thumb binaries.
370           The Thumb instruction set is a compressed form of the standard ARM
371           instruction set resulting in smaller binaries at the expense of
372           slightly less efficient code.
374           If you don't know what this all is, saying Y is a safe choice.
376 config CPU_BIG_ENDIAN
377         bool "Build big-endian kernel"
378         depends on ARCH_SUPPORTS_BIG_ENDIAN
379         help
380           Say Y if you plan on running a kernel in big-endian mode.
381           Note that your board must be properly built and your board
382           port must properly enable any big-endian related features
383           of your chipset/board/processor.
385 config CPU_ICACHE_DISABLE
386         bool "Disable I-Cache"
387         depends on CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM1020 || CPU_FA526
388         help
389           Say Y here to disable the processor instruction cache. Unless
390           you have a reason not to or are unsure, say N.
392 config CPU_DCACHE_DISABLE
393         bool "Disable D-Cache"
394         depends on CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM1020 || CPU_FA526
395         help
396           Say Y here to disable the processor data cache. Unless
397           you have a reason not to or are unsure, say N.
399 config CPU_DCACHE_WRITETHROUGH
400         bool "Force write through D-cache"
401         depends on (CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM1020 || CPU_FA526) && !CPU_DISABLE_DCACHE
402         help
403           Say Y here to use the data cache in writethough mode. Unless you
404           specifically require this or are unsure, say N.
406 config CPU_CACHE_ROUND_ROBIN
407         bool "Round robin I and D cache replacement algorithm"
408         depends on (CPU_ARM926T || CPU_ARM1020) && (!CPU_ICACHE_DISABLE || !CPU_DCACHE_DISABLE)
409         help
410           Say Y here to use the predictable round-robin cache replacement
411           policy.  Unless you specifically require this or are unsure, say N.
413 config CPU_BPREDICT_DISABLE
414         bool "Disable branch prediction"
415         depends on CPU_ARM1020
416         help
417           Say Y here to disable branch prediction.  If unsure, say N.