xref: /linux/arch/arm/mm/Kconfig (revision 49cbe78637eb0503f45fc9b556ec08918a616534)
11da177e4SLinus Torvaldscomment "Processor Type"
21da177e4SLinus Torvalds
31da177e4SLinus Torvaldsconfig CPU_32
41da177e4SLinus Torvalds	bool
51da177e4SLinus Torvalds	default y
61da177e4SLinus Torvalds
71da177e4SLinus Torvalds# Select CPU types depending on the architecture selected.  This selects
81da177e4SLinus Torvalds# which CPUs we support in the kernel image, and the compiler instruction
91da177e4SLinus Torvalds# optimiser behaviour.
101da177e4SLinus Torvalds
111da177e4SLinus Torvalds# ARM610
121da177e4SLinus Torvaldsconfig CPU_ARM610
13c750815eSRussell King	bool "Support ARM610 processor" if ARCH_RPC
141da177e4SLinus Torvalds	select CPU_32v3
151da177e4SLinus Torvalds	select CPU_CACHE_V3
161da177e4SLinus Torvalds	select CPU_CACHE_VIVT
17fefdaa06SHyok S. Choi	select CPU_CP15_MMU
18f9c21a6eSHyok S. Choi	select CPU_COPY_V3 if MMU
19f9c21a6eSHyok S. Choi	select CPU_TLB_V3 if MMU
2048d7927bSPaul Brook	select CPU_PABRT_NOIFAR
211da177e4SLinus Torvalds	help
221da177e4SLinus Torvalds	  The ARM610 is the successor to the ARM3 processor
231da177e4SLinus Torvalds	  and was produced by VLSI Technology Inc.
241da177e4SLinus Torvalds
251da177e4SLinus Torvalds	  Say Y if you want support for the ARM610 processor.
261da177e4SLinus Torvalds	  Otherwise, say N.
271da177e4SLinus Torvalds
2807e0da78SHyok S. Choi# ARM7TDMI
2907e0da78SHyok S. Choiconfig CPU_ARM7TDMI
3007e0da78SHyok S. Choi	bool "Support ARM7TDMI processor"
316b237a35SRussell King	depends on !MMU
3207e0da78SHyok S. Choi	select CPU_32v4T
3307e0da78SHyok S. Choi	select CPU_ABRT_LV4T
344a1fd556SCatalin Marinas	select CPU_PABRT_NOIFAR
3507e0da78SHyok S. Choi	select CPU_CACHE_V4
3607e0da78SHyok S. Choi	help
3707e0da78SHyok S. Choi	  A 32-bit RISC microprocessor based on the ARM7 processor core
3807e0da78SHyok S. Choi	  which has no memory control unit and cache.
3907e0da78SHyok S. Choi
4007e0da78SHyok S. Choi	  Say Y if you want support for the ARM7TDMI processor.
4107e0da78SHyok S. Choi	  Otherwise, say N.
4207e0da78SHyok S. Choi
431da177e4SLinus Torvalds# ARM710
441da177e4SLinus Torvaldsconfig CPU_ARM710
45c750815eSRussell King	bool "Support ARM710 processor" if ARCH_RPC
461da177e4SLinus Torvalds	select CPU_32v3
471da177e4SLinus Torvalds	select CPU_CACHE_V3
481da177e4SLinus Torvalds	select CPU_CACHE_VIVT
49fefdaa06SHyok S. Choi	select CPU_CP15_MMU
50f9c21a6eSHyok S. Choi	select CPU_COPY_V3 if MMU
51f9c21a6eSHyok S. Choi	select CPU_TLB_V3 if MMU
5248d7927bSPaul Brook	select CPU_PABRT_NOIFAR
531da177e4SLinus Torvalds	help
541da177e4SLinus Torvalds	  A 32-bit RISC microprocessor based on the ARM7 processor core
551da177e4SLinus Torvalds	  designed by Advanced RISC Machines Ltd. The ARM710 is the
561da177e4SLinus Torvalds	  successor to the ARM610 processor. It was released in
571da177e4SLinus Torvalds	  July 1994 by VLSI Technology Inc.
581da177e4SLinus Torvalds
591da177e4SLinus Torvalds	  Say Y if you want support for the ARM710 processor.
601da177e4SLinus Torvalds	  Otherwise, say N.
611da177e4SLinus Torvalds
621da177e4SLinus Torvalds# ARM720T
631da177e4SLinus Torvaldsconfig CPU_ARM720T
64c750815eSRussell King	bool "Support ARM720T processor" if ARCH_INTEGRATOR
65260e98edSLennert Buytenhek	select CPU_32v4T
661da177e4SLinus Torvalds	select CPU_ABRT_LV4T
6748d7927bSPaul Brook	select CPU_PABRT_NOIFAR
681da177e4SLinus Torvalds	select CPU_CACHE_V4
691da177e4SLinus Torvalds	select CPU_CACHE_VIVT
70fefdaa06SHyok S. Choi	select CPU_CP15_MMU
71f9c21a6eSHyok S. Choi	select CPU_COPY_V4WT if MMU
72f9c21a6eSHyok S. Choi	select CPU_TLB_V4WT if MMU
731da177e4SLinus Torvalds	help
741da177e4SLinus Torvalds	  A 32-bit RISC processor with 8kByte Cache, Write Buffer and
751da177e4SLinus Torvalds	  MMU built around an ARM7TDMI core.
761da177e4SLinus Torvalds
771da177e4SLinus Torvalds	  Say Y if you want support for the ARM720T processor.
781da177e4SLinus Torvalds	  Otherwise, say N.
791da177e4SLinus Torvalds
80b731c311SHyok S. Choi# ARM740T
81b731c311SHyok S. Choiconfig CPU_ARM740T
82b731c311SHyok S. Choi	bool "Support ARM740T processor" if ARCH_INTEGRATOR
836b237a35SRussell King	depends on !MMU
84b731c311SHyok S. Choi	select CPU_32v4T
85b731c311SHyok S. Choi	select CPU_ABRT_LV4T
864a1fd556SCatalin Marinas	select CPU_PABRT_NOIFAR
87b731c311SHyok S. Choi	select CPU_CACHE_V3	# although the core is v4t
88b731c311SHyok S. Choi	select CPU_CP15_MPU
89b731c311SHyok S. Choi	help
90b731c311SHyok S. Choi	  A 32-bit RISC processor with 8KB cache or 4KB variants,
91b731c311SHyok S. Choi	  write buffer and MPU(Protection Unit) built around
92b731c311SHyok S. Choi	  an ARM7TDMI core.
93b731c311SHyok S. Choi
94b731c311SHyok S. Choi	  Say Y if you want support for the ARM740T processor.
95b731c311SHyok S. Choi	  Otherwise, say N.
96b731c311SHyok S. Choi
9743f5f014SHyok S. Choi# ARM9TDMI
9843f5f014SHyok S. Choiconfig CPU_ARM9TDMI
9943f5f014SHyok S. Choi	bool "Support ARM9TDMI processor"
1006b237a35SRussell King	depends on !MMU
10143f5f014SHyok S. Choi	select CPU_32v4T
1020f45d7f3SHyok S. Choi	select CPU_ABRT_NOMMU
1034a1fd556SCatalin Marinas	select CPU_PABRT_NOIFAR
10443f5f014SHyok S. Choi	select CPU_CACHE_V4
10543f5f014SHyok S. Choi	help
10643f5f014SHyok S. Choi	  A 32-bit RISC microprocessor based on the ARM9 processor core
10743f5f014SHyok S. Choi	  which has no memory control unit and cache.
10843f5f014SHyok S. Choi
10943f5f014SHyok S. Choi	  Say Y if you want support for the ARM9TDMI processor.
11043f5f014SHyok S. Choi	  Otherwise, say N.
11143f5f014SHyok S. Choi
1121da177e4SLinus Torvalds# ARM920T
1131da177e4SLinus Torvaldsconfig CPU_ARM920T
114c750815eSRussell King	bool "Support ARM920T processor" if ARCH_INTEGRATOR
115260e98edSLennert Buytenhek	select CPU_32v4T
1161da177e4SLinus Torvalds	select CPU_ABRT_EV4T
11748d7927bSPaul Brook	select CPU_PABRT_NOIFAR
1181da177e4SLinus Torvalds	select CPU_CACHE_V4WT
1191da177e4SLinus Torvalds	select CPU_CACHE_VIVT
120fefdaa06SHyok S. Choi	select CPU_CP15_MMU
121f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU
122f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
1231da177e4SLinus Torvalds	help
1241da177e4SLinus Torvalds	  The ARM920T is licensed to be produced by numerous vendors,
1251da177e4SLinus Torvalds	  and is used in the Maverick EP9312 and the Samsung S3C2410.
1261da177e4SLinus Torvalds
1271da177e4SLinus Torvalds	  More information on the Maverick EP9312 at
1281da177e4SLinus Torvalds	  <http://linuxdevices.com/products/PD2382866068.html>.
1291da177e4SLinus Torvalds
1301da177e4SLinus Torvalds	  Say Y if you want support for the ARM920T processor.
1311da177e4SLinus Torvalds	  Otherwise, say N.
1321da177e4SLinus Torvalds
1331da177e4SLinus Torvalds# ARM922T
1341da177e4SLinus Torvaldsconfig CPU_ARM922T
1351da177e4SLinus Torvalds	bool "Support ARM922T processor" if ARCH_INTEGRATOR
136260e98edSLennert Buytenhek	select CPU_32v4T
1371da177e4SLinus Torvalds	select CPU_ABRT_EV4T
13848d7927bSPaul Brook	select CPU_PABRT_NOIFAR
1391da177e4SLinus Torvalds	select CPU_CACHE_V4WT
1401da177e4SLinus Torvalds	select CPU_CACHE_VIVT
141fefdaa06SHyok S. Choi	select CPU_CP15_MMU
142f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU
143f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
1441da177e4SLinus Torvalds	help
1451da177e4SLinus Torvalds	  The ARM922T is a version of the ARM920T, but with smaller
1461da177e4SLinus Torvalds	  instruction and data caches. It is used in Altera's
147c53c9cf6SAndrew Victor	  Excalibur XA device family and Micrel's KS8695 Centaur.
1481da177e4SLinus Torvalds
1491da177e4SLinus Torvalds	  Say Y if you want support for the ARM922T processor.
1501da177e4SLinus Torvalds	  Otherwise, say N.
1511da177e4SLinus Torvalds
1521da177e4SLinus Torvalds# ARM925T
1531da177e4SLinus Torvaldsconfig CPU_ARM925T
154b288f75fSTony Lindgren 	bool "Support ARM925T processor" if ARCH_OMAP1
155260e98edSLennert Buytenhek	select CPU_32v4T
1561da177e4SLinus Torvalds	select CPU_ABRT_EV4T
15748d7927bSPaul Brook	select CPU_PABRT_NOIFAR
1581da177e4SLinus Torvalds	select CPU_CACHE_V4WT
1591da177e4SLinus Torvalds	select CPU_CACHE_VIVT
160fefdaa06SHyok S. Choi	select CPU_CP15_MMU
161f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU
162f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
1631da177e4SLinus Torvalds 	help
1641da177e4SLinus Torvalds 	  The ARM925T is a mix between the ARM920T and ARM926T, but with
1651da177e4SLinus Torvalds	  different instruction and data caches. It is used in TI's OMAP
1661da177e4SLinus Torvalds 	  device family.
1671da177e4SLinus Torvalds
1681da177e4SLinus Torvalds 	  Say Y if you want support for the ARM925T processor.
1691da177e4SLinus Torvalds 	  Otherwise, say N.
1701da177e4SLinus Torvalds
1711da177e4SLinus Torvalds# ARM926T
1721da177e4SLinus Torvaldsconfig CPU_ARM926T
173c750815eSRussell King	bool "Support ARM926T processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB
1741da177e4SLinus Torvalds	select CPU_32v5
1751da177e4SLinus Torvalds	select CPU_ABRT_EV5TJ
17648d7927bSPaul Brook	select CPU_PABRT_NOIFAR
1771da177e4SLinus Torvalds	select CPU_CACHE_VIVT
178fefdaa06SHyok S. Choi	select CPU_CP15_MMU
179f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU
180f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
1811da177e4SLinus Torvalds	help
1821da177e4SLinus Torvalds	  This is a variant of the ARM920.  It has slightly different
1831da177e4SLinus Torvalds	  instruction sequences for cache and TLB operations.  Curiously,
1841da177e4SLinus Torvalds	  there is no documentation on it at the ARM corporate website.
1851da177e4SLinus Torvalds
1861da177e4SLinus Torvalds	  Say Y if you want support for the ARM926T processor.
1871da177e4SLinus Torvalds	  Otherwise, say N.
1881da177e4SLinus Torvalds
189d60674ebSHyok S. Choi# ARM940T
190d60674ebSHyok S. Choiconfig CPU_ARM940T
191d60674ebSHyok S. Choi	bool "Support ARM940T processor" if ARCH_INTEGRATOR
1926b237a35SRussell King	depends on !MMU
193d60674ebSHyok S. Choi	select CPU_32v4T
1940f45d7f3SHyok S. Choi	select CPU_ABRT_NOMMU
1954a1fd556SCatalin Marinas	select CPU_PABRT_NOIFAR
196d60674ebSHyok S. Choi	select CPU_CACHE_VIVT
197d60674ebSHyok S. Choi	select CPU_CP15_MPU
198d60674ebSHyok S. Choi	help
199d60674ebSHyok S. Choi	  ARM940T is a member of the ARM9TDMI family of general-
2003cb2fcccSMatt LaPlante	  purpose microprocessors with MPU and separate 4KB
201d60674ebSHyok S. Choi	  instruction and 4KB data cases, each with a 4-word line
202d60674ebSHyok S. Choi	  length.
203d60674ebSHyok S. Choi
204d60674ebSHyok S. Choi	  Say Y if you want support for the ARM940T processor.
205d60674ebSHyok S. Choi	  Otherwise, say N.
206d60674ebSHyok S. Choi
207f37f46ebSHyok S. Choi# ARM946E-S
208f37f46ebSHyok S. Choiconfig CPU_ARM946E
209f37f46ebSHyok S. Choi	bool "Support ARM946E-S processor" if ARCH_INTEGRATOR
2106b237a35SRussell King	depends on !MMU
211f37f46ebSHyok S. Choi	select CPU_32v5
2120f45d7f3SHyok S. Choi	select CPU_ABRT_NOMMU
2134a1fd556SCatalin Marinas	select CPU_PABRT_NOIFAR
214f37f46ebSHyok S. Choi	select CPU_CACHE_VIVT
215f37f46ebSHyok S. Choi	select CPU_CP15_MPU
216f37f46ebSHyok S. Choi	help
217f37f46ebSHyok S. Choi	  ARM946E-S is a member of the ARM9E-S family of high-
218f37f46ebSHyok S. Choi	  performance, 32-bit system-on-chip processor solutions.
219f37f46ebSHyok S. Choi	  The TCM and ARMv5TE 32-bit instruction set is supported.
220f37f46ebSHyok S. Choi
221f37f46ebSHyok S. Choi	  Say Y if you want support for the ARM946E-S processor.
222f37f46ebSHyok S. Choi	  Otherwise, say N.
223f37f46ebSHyok S. Choi
2241da177e4SLinus Torvalds# ARM1020 - needs validating
2251da177e4SLinus Torvaldsconfig CPU_ARM1020
226c750815eSRussell King	bool "Support ARM1020T (rev 0) processor" if ARCH_INTEGRATOR
2271da177e4SLinus Torvalds	select CPU_32v5
2281da177e4SLinus Torvalds	select CPU_ABRT_EV4T
22948d7927bSPaul Brook	select CPU_PABRT_NOIFAR
2301da177e4SLinus Torvalds	select CPU_CACHE_V4WT
2311da177e4SLinus Torvalds	select CPU_CACHE_VIVT
232fefdaa06SHyok S. Choi	select CPU_CP15_MMU
233f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU
234f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
2351da177e4SLinus Torvalds	help
2361da177e4SLinus Torvalds	  The ARM1020 is the 32K cached version of the ARM10 processor,
2371da177e4SLinus Torvalds	  with an addition of a floating-point unit.
2381da177e4SLinus Torvalds
2391da177e4SLinus Torvalds	  Say Y if you want support for the ARM1020 processor.
2401da177e4SLinus Torvalds	  Otherwise, say N.
2411da177e4SLinus Torvalds
2421da177e4SLinus Torvalds# ARM1020E - needs validating
2431da177e4SLinus Torvaldsconfig CPU_ARM1020E
244c750815eSRussell King	bool "Support ARM1020E processor" if ARCH_INTEGRATOR
2451da177e4SLinus Torvalds	select CPU_32v5
2461da177e4SLinus Torvalds	select CPU_ABRT_EV4T
24748d7927bSPaul Brook	select CPU_PABRT_NOIFAR
2481da177e4SLinus Torvalds	select CPU_CACHE_V4WT
2491da177e4SLinus Torvalds	select CPU_CACHE_VIVT
250fefdaa06SHyok S. Choi	select CPU_CP15_MMU
251f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU
252f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
2531da177e4SLinus Torvalds	depends on n
2541da177e4SLinus Torvalds
2551da177e4SLinus Torvalds# ARM1022E
2561da177e4SLinus Torvaldsconfig CPU_ARM1022
257c750815eSRussell King	bool "Support ARM1022E processor" if ARCH_INTEGRATOR
2581da177e4SLinus Torvalds	select CPU_32v5
2591da177e4SLinus Torvalds	select CPU_ABRT_EV4T
26048d7927bSPaul Brook	select CPU_PABRT_NOIFAR
2611da177e4SLinus Torvalds	select CPU_CACHE_VIVT
262fefdaa06SHyok S. Choi	select CPU_CP15_MMU
263f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU # can probably do better
264f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
2651da177e4SLinus Torvalds	help
2661da177e4SLinus Torvalds	  The ARM1022E is an implementation of the ARMv5TE architecture
2671da177e4SLinus Torvalds	  based upon the ARM10 integer core with a 16KiB L1 Harvard cache,
2681da177e4SLinus Torvalds	  embedded trace macrocell, and a floating-point unit.
2691da177e4SLinus Torvalds
2701da177e4SLinus Torvalds	  Say Y if you want support for the ARM1022E processor.
2711da177e4SLinus Torvalds	  Otherwise, say N.
2721da177e4SLinus Torvalds
2731da177e4SLinus Torvalds# ARM1026EJ-S
2741da177e4SLinus Torvaldsconfig CPU_ARM1026
275c750815eSRussell King	bool "Support ARM1026EJ-S processor" if ARCH_INTEGRATOR
2761da177e4SLinus Torvalds	select CPU_32v5
2771da177e4SLinus Torvalds	select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10
27848d7927bSPaul Brook	select CPU_PABRT_NOIFAR
2791da177e4SLinus Torvalds	select CPU_CACHE_VIVT
280fefdaa06SHyok S. Choi	select CPU_CP15_MMU
281f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU # can probably do better
282f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
2831da177e4SLinus Torvalds	help
2841da177e4SLinus Torvalds	  The ARM1026EJ-S is an implementation of the ARMv5TEJ architecture
2851da177e4SLinus Torvalds	  based upon the ARM10 integer core.
2861da177e4SLinus Torvalds
2871da177e4SLinus Torvalds	  Say Y if you want support for the ARM1026EJ-S processor.
2881da177e4SLinus Torvalds	  Otherwise, say N.
2891da177e4SLinus Torvalds
2901da177e4SLinus Torvalds# SA110
2911da177e4SLinus Torvaldsconfig CPU_SA110
292c750815eSRussell King	bool "Support StrongARM(R) SA-110 processor" if ARCH_RPC
2931da177e4SLinus Torvalds	select CPU_32v3 if ARCH_RPC
2941da177e4SLinus Torvalds	select CPU_32v4 if !ARCH_RPC
2951da177e4SLinus Torvalds	select CPU_ABRT_EV4
29648d7927bSPaul Brook	select CPU_PABRT_NOIFAR
2971da177e4SLinus Torvalds	select CPU_CACHE_V4WB
2981da177e4SLinus Torvalds	select CPU_CACHE_VIVT
299fefdaa06SHyok S. Choi	select CPU_CP15_MMU
300f9c21a6eSHyok S. Choi	select CPU_COPY_V4WB if MMU
301f9c21a6eSHyok S. Choi	select CPU_TLB_V4WB if MMU
3021da177e4SLinus Torvalds	help
3031da177e4SLinus Torvalds	  The Intel StrongARM(R) SA-110 is a 32-bit microprocessor and
3041da177e4SLinus Torvalds	  is available at five speeds ranging from 100 MHz to 233 MHz.
3051da177e4SLinus Torvalds	  More information is available at
3061da177e4SLinus Torvalds	  <http://developer.intel.com/design/strong/sa110.htm>.
3071da177e4SLinus Torvalds
3081da177e4SLinus Torvalds	  Say Y if you want support for the SA-110 processor.
3091da177e4SLinus Torvalds	  Otherwise, say N.
3101da177e4SLinus Torvalds
3111da177e4SLinus Torvalds# SA1100
3121da177e4SLinus Torvaldsconfig CPU_SA1100
3131da177e4SLinus Torvalds	bool
3141da177e4SLinus Torvalds	select CPU_32v4
3151da177e4SLinus Torvalds	select CPU_ABRT_EV4
31648d7927bSPaul Brook	select CPU_PABRT_NOIFAR
3171da177e4SLinus Torvalds	select CPU_CACHE_V4WB
3181da177e4SLinus Torvalds	select CPU_CACHE_VIVT
319fefdaa06SHyok S. Choi	select CPU_CP15_MMU
320f9c21a6eSHyok S. Choi	select CPU_TLB_V4WB if MMU
3211da177e4SLinus Torvalds
3221da177e4SLinus Torvalds# XScale
3231da177e4SLinus Torvaldsconfig CPU_XSCALE
3241da177e4SLinus Torvalds	bool
3251da177e4SLinus Torvalds	select CPU_32v5
3261da177e4SLinus Torvalds	select CPU_ABRT_EV5T
32748d7927bSPaul Brook	select CPU_PABRT_NOIFAR
3281da177e4SLinus Torvalds	select CPU_CACHE_VIVT
329fefdaa06SHyok S. Choi	select CPU_CP15_MMU
330f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
3311da177e4SLinus Torvalds
33223bdf86aSLennert Buytenhek# XScale Core Version 3
33323bdf86aSLennert Buytenhekconfig CPU_XSC3
33423bdf86aSLennert Buytenhek	bool
33523bdf86aSLennert Buytenhek	select CPU_32v5
33623bdf86aSLennert Buytenhek	select CPU_ABRT_EV5T
3374a1fd556SCatalin Marinas	select CPU_PABRT_NOIFAR
33823bdf86aSLennert Buytenhek	select CPU_CACHE_VIVT
339fefdaa06SHyok S. Choi	select CPU_CP15_MMU
340f9c21a6eSHyok S. Choi	select CPU_TLB_V4WBI if MMU
34123bdf86aSLennert Buytenhek	select IO_36
34223bdf86aSLennert Buytenhek
343*49cbe786SEric Miao# Marvell PJ1 (Mohawk)
344*49cbe786SEric Miaoconfig CPU_MOHAWK
345*49cbe786SEric Miao	bool
346*49cbe786SEric Miao	select CPU_32v5
347*49cbe786SEric Miao	select CPU_ABRT_EV5T
348*49cbe786SEric Miao	select CPU_PABRT_NOIFAR
349*49cbe786SEric Miao	select CPU_CACHE_VIVT
350*49cbe786SEric Miao	select CPU_CP15_MMU
351*49cbe786SEric Miao	select CPU_TLB_V4WBI if MMU
352*49cbe786SEric Miao	select CPU_COPY_V4WB if MMU
353*49cbe786SEric Miao
354e50d6409SAssaf Hoffman# Feroceon
355e50d6409SAssaf Hoffmanconfig CPU_FEROCEON
356e50d6409SAssaf Hoffman	bool
357e50d6409SAssaf Hoffman	select CPU_32v5
358e50d6409SAssaf Hoffman	select CPU_ABRT_EV5T
35948d7927bSPaul Brook	select CPU_PABRT_NOIFAR
360e50d6409SAssaf Hoffman	select CPU_CACHE_VIVT
361e50d6409SAssaf Hoffman	select CPU_CP15_MMU
3620ed15071SLennert Buytenhek	select CPU_COPY_FEROCEON if MMU
36399c6dc11SLennert Buytenhek	select CPU_TLB_FEROCEON if MMU
364e50d6409SAssaf Hoffman
365d910a0aaSTzachi Perelsteinconfig CPU_FEROCEON_OLD_ID
366d910a0aaSTzachi Perelstein	bool "Accept early Feroceon cores with an ARM926 ID"
367d910a0aaSTzachi Perelstein	depends on CPU_FEROCEON && !CPU_ARM926T
368d910a0aaSTzachi Perelstein	default y
369d910a0aaSTzachi Perelstein	help
370d910a0aaSTzachi Perelstein	  This enables the usage of some old Feroceon cores
371d910a0aaSTzachi Perelstein	  for which the CPU ID is equal to the ARM926 ID.
372d910a0aaSTzachi Perelstein	  Relevant for Feroceon-1850 and early Feroceon-2850.
373d910a0aaSTzachi Perelstein
3741da177e4SLinus Torvalds# ARMv6
3751da177e4SLinus Torvaldsconfig CPU_V6
376c750815eSRussell King	bool "Support ARM V6 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB
3771da177e4SLinus Torvalds	select CPU_32v6
3781da177e4SLinus Torvalds	select CPU_ABRT_EV6
37948d7927bSPaul Brook	select CPU_PABRT_NOIFAR
3801da177e4SLinus Torvalds	select CPU_CACHE_V6
3811da177e4SLinus Torvalds	select CPU_CACHE_VIPT
382fefdaa06SHyok S. Choi	select CPU_CP15_MMU
3837b4c965aSCatalin Marinas	select CPU_HAS_ASID if MMU
384f9c21a6eSHyok S. Choi	select CPU_COPY_V6 if MMU
385f9c21a6eSHyok S. Choi	select CPU_TLB_V6 if MMU
3861da177e4SLinus Torvalds
3874a5f79e7SRussell King# ARMv6k
3884a5f79e7SRussell Kingconfig CPU_32v6K
3894a5f79e7SRussell King	bool "Support ARM V6K processor extensions" if !SMP
3904a5f79e7SRussell King	depends on CPU_V6
39152c543f9SQuinn Jensen	default y if SMP && !ARCH_MX3
3924a5f79e7SRussell King	help
3934a5f79e7SRussell King	  Say Y here if your ARMv6 processor supports the 'K' extension.
3944a5f79e7SRussell King	  This enables the kernel to use some instructions not present
3954a5f79e7SRussell King	  on previous processors, and as such a kernel build with this
3964a5f79e7SRussell King	  enabled will not boot on processors with do not support these
3974a5f79e7SRussell King	  instructions.
3984a5f79e7SRussell King
39923688e99SCatalin Marinas# ARMv7
40023688e99SCatalin Marinasconfig CPU_V7
401c750815eSRussell King	bool "Support ARM V7 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB
40223688e99SCatalin Marinas	select CPU_32v6K
40323688e99SCatalin Marinas	select CPU_32v7
40423688e99SCatalin Marinas	select CPU_ABRT_EV7
40548d7927bSPaul Brook	select CPU_PABRT_IFAR
40623688e99SCatalin Marinas	select CPU_CACHE_V7
40723688e99SCatalin Marinas	select CPU_CACHE_VIPT
40823688e99SCatalin Marinas	select CPU_CP15_MMU
4092eb8c82bSCatalin Marinas	select CPU_HAS_ASID if MMU
41023688e99SCatalin Marinas	select CPU_COPY_V6 if MMU
4112ccdd1e7SCatalin Marinas	select CPU_TLB_V7 if MMU
41223688e99SCatalin Marinas
4131da177e4SLinus Torvalds# Figure out what processor architecture version we should be using.
4141da177e4SLinus Torvalds# This defines the compiler instruction set which depends on the machine type.
4151da177e4SLinus Torvaldsconfig CPU_32v3
4161da177e4SLinus Torvalds	bool
41760b6cf68SRussell King	select TLS_REG_EMUL if SMP || !MMU
41848fa14f7SRussell King	select NEEDS_SYSCALL_FOR_CMPXCHG if SMP
4191da177e4SLinus Torvalds
4201da177e4SLinus Torvaldsconfig CPU_32v4
4211da177e4SLinus Torvalds	bool
42260b6cf68SRussell King	select TLS_REG_EMUL if SMP || !MMU
42348fa14f7SRussell King	select NEEDS_SYSCALL_FOR_CMPXCHG if SMP
4241da177e4SLinus Torvalds
425260e98edSLennert Buytenhekconfig CPU_32v4T
426260e98edSLennert Buytenhek	bool
427260e98edSLennert Buytenhek	select TLS_REG_EMUL if SMP || !MMU
428260e98edSLennert Buytenhek	select NEEDS_SYSCALL_FOR_CMPXCHG if SMP
429260e98edSLennert Buytenhek
4301da177e4SLinus Torvaldsconfig CPU_32v5
4311da177e4SLinus Torvalds	bool
43260b6cf68SRussell King	select TLS_REG_EMUL if SMP || !MMU
43348fa14f7SRussell King	select NEEDS_SYSCALL_FOR_CMPXCHG if SMP
4341da177e4SLinus Torvalds
4351da177e4SLinus Torvaldsconfig CPU_32v6
4361da177e4SLinus Torvalds	bool
437367afaf8SCatalin Marinas	select TLS_REG_EMUL if !CPU_32v6K && !MMU
4381da177e4SLinus Torvalds
43923688e99SCatalin Marinasconfig CPU_32v7
44023688e99SCatalin Marinas	bool
44123688e99SCatalin Marinas
4421da177e4SLinus Torvalds# The abort model
4430f45d7f3SHyok S. Choiconfig CPU_ABRT_NOMMU
4440f45d7f3SHyok S. Choi	bool
4450f45d7f3SHyok S. Choi
4461da177e4SLinus Torvaldsconfig CPU_ABRT_EV4
4471da177e4SLinus Torvalds	bool
4481da177e4SLinus Torvalds
4491da177e4SLinus Torvaldsconfig CPU_ABRT_EV4T
4501da177e4SLinus Torvalds	bool
4511da177e4SLinus Torvalds
4521da177e4SLinus Torvaldsconfig CPU_ABRT_LV4T
4531da177e4SLinus Torvalds	bool
4541da177e4SLinus Torvalds
4551da177e4SLinus Torvaldsconfig CPU_ABRT_EV5T
4561da177e4SLinus Torvalds	bool
4571da177e4SLinus Torvalds
4581da177e4SLinus Torvaldsconfig CPU_ABRT_EV5TJ
4591da177e4SLinus Torvalds	bool
4601da177e4SLinus Torvalds
4611da177e4SLinus Torvaldsconfig CPU_ABRT_EV6
4621da177e4SLinus Torvalds	bool
4631da177e4SLinus Torvalds
46423688e99SCatalin Marinasconfig CPU_ABRT_EV7
46523688e99SCatalin Marinas	bool
46623688e99SCatalin Marinas
46748d7927bSPaul Brookconfig CPU_PABRT_IFAR
46848d7927bSPaul Brook	bool
46948d7927bSPaul Brook
47048d7927bSPaul Brookconfig CPU_PABRT_NOIFAR
47148d7927bSPaul Brook	bool
47248d7927bSPaul Brook
4731da177e4SLinus Torvalds# The cache model
4741da177e4SLinus Torvaldsconfig CPU_CACHE_V3
4751da177e4SLinus Torvalds	bool
4761da177e4SLinus Torvalds
4771da177e4SLinus Torvaldsconfig CPU_CACHE_V4
4781da177e4SLinus Torvalds	bool
4791da177e4SLinus Torvalds
4801da177e4SLinus Torvaldsconfig CPU_CACHE_V4WT
4811da177e4SLinus Torvalds	bool
4821da177e4SLinus Torvalds
4831da177e4SLinus Torvaldsconfig CPU_CACHE_V4WB
4841da177e4SLinus Torvalds	bool
4851da177e4SLinus Torvalds
4861da177e4SLinus Torvaldsconfig CPU_CACHE_V6
4871da177e4SLinus Torvalds	bool
4881da177e4SLinus Torvalds
48923688e99SCatalin Marinasconfig CPU_CACHE_V7
49023688e99SCatalin Marinas	bool
49123688e99SCatalin Marinas
4921da177e4SLinus Torvaldsconfig CPU_CACHE_VIVT
4931da177e4SLinus Torvalds	bool
4941da177e4SLinus Torvalds
4951da177e4SLinus Torvaldsconfig CPU_CACHE_VIPT
4961da177e4SLinus Torvalds	bool
4971da177e4SLinus Torvalds
498f9c21a6eSHyok S. Choiif MMU
4991da177e4SLinus Torvalds# The copy-page model
5001da177e4SLinus Torvaldsconfig CPU_COPY_V3
5011da177e4SLinus Torvalds	bool
5021da177e4SLinus Torvalds
5031da177e4SLinus Torvaldsconfig CPU_COPY_V4WT
5041da177e4SLinus Torvalds	bool
5051da177e4SLinus Torvalds
5061da177e4SLinus Torvaldsconfig CPU_COPY_V4WB
5071da177e4SLinus Torvalds	bool
5081da177e4SLinus Torvalds
5090ed15071SLennert Buytenhekconfig CPU_COPY_FEROCEON
5100ed15071SLennert Buytenhek	bool
5110ed15071SLennert Buytenhek
5121da177e4SLinus Torvaldsconfig CPU_COPY_V6
5131da177e4SLinus Torvalds	bool
5141da177e4SLinus Torvalds
5151da177e4SLinus Torvalds# This selects the TLB model
5161da177e4SLinus Torvaldsconfig CPU_TLB_V3
5171da177e4SLinus Torvalds	bool
5181da177e4SLinus Torvalds	help
5191da177e4SLinus Torvalds	  ARM Architecture Version 3 TLB.
5201da177e4SLinus Torvalds
5211da177e4SLinus Torvaldsconfig CPU_TLB_V4WT
5221da177e4SLinus Torvalds	bool
5231da177e4SLinus Torvalds	help
5241da177e4SLinus Torvalds	  ARM Architecture Version 4 TLB with writethrough cache.
5251da177e4SLinus Torvalds
5261da177e4SLinus Torvaldsconfig CPU_TLB_V4WB
5271da177e4SLinus Torvalds	bool
5281da177e4SLinus Torvalds	help
5291da177e4SLinus Torvalds	  ARM Architecture Version 4 TLB with writeback cache.
5301da177e4SLinus Torvalds
5311da177e4SLinus Torvaldsconfig CPU_TLB_V4WBI
5321da177e4SLinus Torvalds	bool
5331da177e4SLinus Torvalds	help
5341da177e4SLinus Torvalds	  ARM Architecture Version 4 TLB with writeback cache and invalidate
5351da177e4SLinus Torvalds	  instruction cache entry.
5361da177e4SLinus Torvalds
53799c6dc11SLennert Buytenhekconfig CPU_TLB_FEROCEON
53899c6dc11SLennert Buytenhek	bool
53999c6dc11SLennert Buytenhek	help
54099c6dc11SLennert Buytenhek	  Feroceon TLB (v4wbi with non-outer-cachable page table walks).
54199c6dc11SLennert Buytenhek
5421da177e4SLinus Torvaldsconfig CPU_TLB_V6
5431da177e4SLinus Torvalds	bool
5441da177e4SLinus Torvalds
5452ccdd1e7SCatalin Marinasconfig CPU_TLB_V7
5462ccdd1e7SCatalin Marinas	bool
5472ccdd1e7SCatalin Marinas
548f9c21a6eSHyok S. Choiendif
549f9c21a6eSHyok S. Choi
550516793c6SRussell Kingconfig CPU_HAS_ASID
551516793c6SRussell King	bool
552516793c6SRussell King	help
553516793c6SRussell King	  This indicates whether the CPU has the ASID register; used to
554516793c6SRussell King	  tag TLB and possibly cache entries.
555516793c6SRussell King
556fefdaa06SHyok S. Choiconfig CPU_CP15
557fefdaa06SHyok S. Choi	bool
558fefdaa06SHyok S. Choi	help
559fefdaa06SHyok S. Choi	  Processor has the CP15 register.
560fefdaa06SHyok S. Choi
561fefdaa06SHyok S. Choiconfig CPU_CP15_MMU
562fefdaa06SHyok S. Choi	bool
563fefdaa06SHyok S. Choi	select CPU_CP15
564fefdaa06SHyok S. Choi	help
565fefdaa06SHyok S. Choi	  Processor has the CP15 register, which has MMU related registers.
566fefdaa06SHyok S. Choi
567fefdaa06SHyok S. Choiconfig CPU_CP15_MPU
568fefdaa06SHyok S. Choi	bool
569fefdaa06SHyok S. Choi	select CPU_CP15
570fefdaa06SHyok S. Choi	help
571fefdaa06SHyok S. Choi	  Processor has the CP15 register, which has MPU related registers.
572fefdaa06SHyok S. Choi
57323bdf86aSLennert Buytenhek#
57423bdf86aSLennert Buytenhek# CPU supports 36-bit I/O
57523bdf86aSLennert Buytenhek#
57623bdf86aSLennert Buytenhekconfig IO_36
57723bdf86aSLennert Buytenhek	bool
57823bdf86aSLennert Buytenhek
5791da177e4SLinus Torvaldscomment "Processor Features"
5801da177e4SLinus Torvalds
5811da177e4SLinus Torvaldsconfig ARM_THUMB
5821da177e4SLinus Torvalds	bool "Support Thumb user binaries"
583*49cbe786SEric Miao	depends on CPU_ARM720T || CPU_ARM740T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM940T || CPU_ARM946E || CPU_ARM1020 || CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_V6 || CPU_V7 || CPU_FEROCEON
5841da177e4SLinus Torvalds	default y
5851da177e4SLinus Torvalds	help
5861da177e4SLinus Torvalds	  Say Y if you want to include kernel support for running user space
5871da177e4SLinus Torvalds	  Thumb binaries.
5881da177e4SLinus Torvalds
5891da177e4SLinus Torvalds	  The Thumb instruction set is a compressed form of the standard ARM
5901da177e4SLinus Torvalds	  instruction set resulting in smaller binaries at the expense of
5911da177e4SLinus Torvalds	  slightly less efficient code.
5921da177e4SLinus Torvalds
5931da177e4SLinus Torvalds	  If you don't know what this all is, saying Y is a safe choice.
5941da177e4SLinus Torvalds
595d7f864beSCatalin Marinasconfig ARM_THUMBEE
596d7f864beSCatalin Marinas	bool "Enable ThumbEE CPU extension"
597d7f864beSCatalin Marinas	depends on CPU_V7
598d7f864beSCatalin Marinas	help
599d7f864beSCatalin Marinas	  Say Y here if you have a CPU with the ThumbEE extension and code to
600d7f864beSCatalin Marinas	  make use of it. Say N for code that can run on CPUs without ThumbEE.
601d7f864beSCatalin Marinas
6021da177e4SLinus Torvaldsconfig CPU_BIG_ENDIAN
6031da177e4SLinus Torvalds	bool "Build big-endian kernel"
6041da177e4SLinus Torvalds	depends on ARCH_SUPPORTS_BIG_ENDIAN
6051da177e4SLinus Torvalds	help
6061da177e4SLinus Torvalds	  Say Y if you plan on running a kernel in big-endian mode.
6071da177e4SLinus Torvalds	  Note that your board must be properly built and your board
6081da177e4SLinus Torvalds	  port must properly enable any big-endian related features
6091da177e4SLinus Torvalds	  of your chipset/board/processor.
6101da177e4SLinus Torvalds
6116afd6faeSHyok S. Choiconfig CPU_HIGH_VECTOR
6126340aa61SRobert P. J. Day	depends on !MMU && CPU_CP15 && !CPU_ARM740T
6136afd6faeSHyok S. Choi	bool "Select the High exception vector"
6146afd6faeSHyok S. Choi	default n
6156afd6faeSHyok S. Choi	help
6166afd6faeSHyok S. Choi	  Say Y here to select high exception vector(0xFFFF0000~).
6176afd6faeSHyok S. Choi	  The exception vector can be vary depending on the platform
6186afd6faeSHyok S. Choi	  design in nommu mode. If your platform needs to select
6196afd6faeSHyok S. Choi	  high exception vector, say Y.
6206afd6faeSHyok S. Choi	  Otherwise or if you are unsure, say N, and the low exception
6216afd6faeSHyok S. Choi	  vector (0x00000000~) will be used.
6226afd6faeSHyok S. Choi
6231da177e4SLinus Torvaldsconfig CPU_ICACHE_DISABLE
624f12d0d7cSHyok S. Choi	bool "Disable I-Cache (I-bit)"
625f12d0d7cSHyok S. Choi	depends on CPU_CP15 && !(CPU_ARM610 || CPU_ARM710 || CPU_ARM720T || CPU_ARM740T || CPU_XSCALE || CPU_XSC3)
6261da177e4SLinus Torvalds	help
6271da177e4SLinus Torvalds	  Say Y here to disable the processor instruction cache. Unless
6281da177e4SLinus Torvalds	  you have a reason not to or are unsure, say N.
6291da177e4SLinus Torvalds
6301da177e4SLinus Torvaldsconfig CPU_DCACHE_DISABLE
631f12d0d7cSHyok S. Choi	bool "Disable D-Cache (C-bit)"
632f12d0d7cSHyok S. Choi	depends on CPU_CP15
6331da177e4SLinus Torvalds	help
6341da177e4SLinus Torvalds	  Say Y here to disable the processor data cache. Unless
6351da177e4SLinus Torvalds	  you have a reason not to or are unsure, say N.
6361da177e4SLinus Torvalds
637f37f46ebSHyok S. Choiconfig CPU_DCACHE_SIZE
638f37f46ebSHyok S. Choi	hex
639f37f46ebSHyok S. Choi	depends on CPU_ARM740T || CPU_ARM946E
640f37f46ebSHyok S. Choi	default 0x00001000 if CPU_ARM740T
641f37f46ebSHyok S. Choi	default 0x00002000 # default size for ARM946E-S
642f37f46ebSHyok S. Choi	help
643f37f46ebSHyok S. Choi	  Some cores are synthesizable to have various sized cache. For
644f37f46ebSHyok S. Choi	  ARM946E-S case, it can vary from 0KB to 1MB.
645f37f46ebSHyok S. Choi	  To support such cache operations, it is efficient to know the size
646f37f46ebSHyok S. Choi	  before compile time.
647f37f46ebSHyok S. Choi	  If your SoC is configured to have a different size, define the value
648f37f46ebSHyok S. Choi	  here with proper conditions.
649f37f46ebSHyok S. Choi
6501da177e4SLinus Torvaldsconfig CPU_DCACHE_WRITETHROUGH
6511da177e4SLinus Torvalds	bool "Force write through D-cache"
652a7039bd6SLennert Buytenhek	depends on (CPU_ARM740T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM940T || CPU_ARM946E || CPU_ARM1020) && !CPU_DCACHE_DISABLE
6531da177e4SLinus Torvalds	default y if CPU_ARM925T
6541da177e4SLinus Torvalds	help
6551da177e4SLinus Torvalds	  Say Y here to use the data cache in writethrough mode. Unless you
6561da177e4SLinus Torvalds	  specifically require this or are unsure, say N.
6571da177e4SLinus Torvalds
6581da177e4SLinus Torvaldsconfig CPU_CACHE_ROUND_ROBIN
6591da177e4SLinus Torvalds	bool "Round robin I and D cache replacement algorithm"
660f37f46ebSHyok S. Choi	depends on (CPU_ARM926T || CPU_ARM946E || CPU_ARM1020) && (!CPU_ICACHE_DISABLE || !CPU_DCACHE_DISABLE)
6611da177e4SLinus Torvalds	help
6621da177e4SLinus Torvalds	  Say Y here to use the predictable round-robin cache replacement
6631da177e4SLinus Torvalds	  policy.  Unless you specifically require this or are unsure, say N.
6641da177e4SLinus Torvalds
6651da177e4SLinus Torvaldsconfig CPU_BPREDICT_DISABLE
6661da177e4SLinus Torvalds	bool "Disable branch prediction"
667*49cbe786SEric Miao	depends on CPU_ARM1020 || CPU_V6 || CPU_MOHAWK || CPU_XSC3 || CPU_V7
6681da177e4SLinus Torvalds	help
6691da177e4SLinus Torvalds	  Say Y here to disable branch prediction.  If unsure, say N.
6702d2669b6SNicolas Pitre
6714b0e07a5SNicolas Pitreconfig TLS_REG_EMUL
6724b0e07a5SNicolas Pitre	bool
6734b0e07a5SNicolas Pitre	help
67470489c88SNicolas Pitre	  An SMP system using a pre-ARMv6 processor (there are apparently
67570489c88SNicolas Pitre	  a few prototypes like that in existence) and therefore access to
67670489c88SNicolas Pitre	  that required register must be emulated.
6774b0e07a5SNicolas Pitre
6782d2669b6SNicolas Pitreconfig HAS_TLS_REG
6792d2669b6SNicolas Pitre	bool
68070489c88SNicolas Pitre	depends on !TLS_REG_EMUL
68170489c88SNicolas Pitre	default y if SMP || CPU_32v7
6822d2669b6SNicolas Pitre	help
6832d2669b6SNicolas Pitre	  This selects support for the CP15 thread register.
68470489c88SNicolas Pitre	  It is defined to be available on some ARMv6 processors (including
68570489c88SNicolas Pitre	  all SMP capable ARMv6's) or later processors.  User space may
68670489c88SNicolas Pitre	  assume directly accessing that register and always obtain the
68770489c88SNicolas Pitre	  expected value only on ARMv7 and above.
6882d2669b6SNicolas Pitre
689dcef1f63SNicolas Pitreconfig NEEDS_SYSCALL_FOR_CMPXCHG
690dcef1f63SNicolas Pitre	bool
691dcef1f63SNicolas Pitre	help
692dcef1f63SNicolas Pitre	  SMP on a pre-ARMv6 processor?  Well OK then.
693dcef1f63SNicolas Pitre	  Forget about fast user space cmpxchg support.
694dcef1f63SNicolas Pitre	  It is just not possible.
695dcef1f63SNicolas Pitre
696953233dcSCatalin Marinasconfig OUTER_CACHE
697953233dcSCatalin Marinas	bool
698953233dcSCatalin Marinas	default n
699382266adSCatalin Marinas
70099c6dc11SLennert Buytenhekconfig CACHE_FEROCEON_L2
70199c6dc11SLennert Buytenhek	bool "Enable the Feroceon L2 cache controller"
702794d15b2SStanislav Samsonov	depends on ARCH_KIRKWOOD || ARCH_MV78XX0
70399c6dc11SLennert Buytenhek	default y
704382266adSCatalin Marinas	select OUTER_CACHE
70599c6dc11SLennert Buytenhek	help
70699c6dc11SLennert Buytenhek	  This option enables the Feroceon L2 cache controller.
70799c6dc11SLennert Buytenhek
7084360bb41SRonen Shitritconfig CACHE_FEROCEON_L2_WRITETHROUGH
7094360bb41SRonen Shitrit	bool "Force Feroceon L2 cache write through"
7104360bb41SRonen Shitrit	depends on CACHE_FEROCEON_L2
7114360bb41SRonen Shitrit	default n
7124360bb41SRonen Shitrit	help
7134360bb41SRonen Shitrit	  Say Y here to use the Feroceon L2 cache in writethrough mode.
7144360bb41SRonen Shitrit	  Unless you specifically require this, say N for writeback mode.
7154360bb41SRonen Shitrit
7161da177e4SLinus Torvaldsconfig CACHE_L2X0
717ba927951SCatalin Marinas	bool "Enable the L2x0 outer cache controller"
7184c3ea371SJon Callan	depends on REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || MACH_REALVIEW_PB1176 || REALVIEW_EB_A9MP
719ba927951SCatalin Marinas	default y
7201da177e4SLinus Torvalds	select OUTER_CACHE
721ba927951SCatalin Marinas	help
722ba927951SCatalin Marinas	  This option enables the L2x0 PrimeCell.
723905a09d5SEric Miao
724905a09d5SEric Miaoconfig CACHE_XSC3L2
725905a09d5SEric Miao	bool "Enable the L2 cache on XScale3"
726905a09d5SEric Miao	depends on CPU_XSC3
727905a09d5SEric Miao	default y
728905a09d5SEric Miao	select OUTER_CACHE
729905a09d5SEric Miao	help
730905a09d5SEric Miao	  This option enables the L2 cache on XScale3.
731