aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/m68k/include/asm/m52xxacr.h30
-rw-r--r--arch/m68knommu/Kconfig32
2 files changed, 48 insertions, 14 deletions
diff --git a/arch/m68k/include/asm/m52xxacr.h b/arch/m68k/include/asm/m52xxacr.h
index 52230b5e1e4d..701f680bced9 100644
--- a/arch/m68k/include/asm/m52xxacr.h
+++ b/arch/m68k/include/asm/m52xxacr.h
@@ -53,23 +53,25 @@
53#define ACR_WPROTECT 0x00000004 /* Write protect region */ 53#define ACR_WPROTECT 0x00000004 /* Write protect region */
54 54
55/* 55/*
56 * Set the cache controller settings we will use. This code is set to 56 * Set the cache controller settings we will use. On the cores that support
57 * only use the instruction cache, even on the controllers that support 57 * a split cache configuration we allow all the combinations at Kconfig
58 * split cache. (This setup is trying to preserve the existing behavior 58 * time. For those cores that only have an instruction cache we just set
59 * for now, in the furture I hope to actually use the split cache mode). 59 * that as on.
60 */ 60 */
61#if defined(CONFIG_M5206) || defined(CONFIG_M5206e) || \ 61#if defined(CONFIG_CACHE_I)
62 defined(CONFIG_M5249) || defined(CONFIG_M5272) 62#define CACHE_TYPE CACR_DISD
63#define CACHE_INIT (CACR_CINV) 63#elif defined(CONFIG_CACHE_D)
64#define CACHE_MODE (CACR_CENB + CACR_DCM) 64#define CACHE_TYPE CACR_DISI
65#else 65#else
66#ifdef CONFIG_COLDFIRE_SW_A7 66#define CACHE_TYPE
67#define CACHE_INIT (CACR_CINV + CACR_DISD)
68#define CACHE_MODE (CACR_CENB + CACR_DISD + CACR_DCM)
69#else
70#define CACHE_INIT (CACR_CINV + CACR_DISD + CACR_EUSP)
71#define CACHE_MODE (CACR_CENB + CACR_DISD + CACR_DCM + CACR_EUSP)
72#endif 67#endif
68
69#if defined(CONFIG_HAVE_CACHE_SPLIT)
70#define CACHE_INIT (CACR_CINV + CACHE_TYPE + CACR_EUSP)
71#define CACHE_MODE (CACR_CENB + CACHE_TYPE + CACR_DCM + CACR_EUSP)
72#else
73#define CACHE_INIT (CACR_CINV)
74#define CACHE_MODE (CACR_CENB + CACR_DCM)
73#endif 75#endif
74 76
75#define CACHE_INVALIDATE (CACHE_MODE + CACR_CINV) 77#define CACHE_INVALIDATE (CACHE_MODE + CACR_CINV)
diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig
index e6f482d18d05..61c29081b998 100644
--- a/arch/m68knommu/Kconfig
+++ b/arch/m68knommu/Kconfig
@@ -79,6 +79,9 @@ config COLDFIRE_SW_A7
79 bool 79 bool
80 default n 80 default n
81 81
82config HAVE_CACHE_SPLIT
83 bool
84
82source "init/Kconfig" 85source "init/Kconfig"
83 86
84source "kernel/Kconfig.freezer" 87source "kernel/Kconfig.freezer"
@@ -124,12 +127,14 @@ config M5206e
124config M520x 127config M520x
125 bool "MCF520x" 128 bool "MCF520x"
126 select GENERIC_CLOCKEVENTS 129 select GENERIC_CLOCKEVENTS
130 select HAVE_CACHE_SPLIT
127 help 131 help
128 Freescale Coldfire 5207/5208 processor support. 132 Freescale Coldfire 5207/5208 processor support.
129 133
130config M523x 134config M523x
131 bool "MCF523x" 135 bool "MCF523x"
132 select GENERIC_CLOCKEVENTS 136 select GENERIC_CLOCKEVENTS
137 select HAVE_CACHE_SPLIT
133 help 138 help
134 Freescale Coldfire 5230/1/2/4/5 processor support 139 Freescale Coldfire 5230/1/2/4/5 processor support
135 140
@@ -141,6 +146,7 @@ config M5249
141 146
142config M5271 147config M5271
143 bool "MCF5271" 148 bool "MCF5271"
149 select HAVE_CACHE_SPLIT
144 help 150 help
145 Freescale (Motorola) ColdFire 5270/5271 processor support. 151 Freescale (Motorola) ColdFire 5270/5271 processor support.
146 152
@@ -152,12 +158,14 @@ config M5272
152 158
153config M5275 159config M5275
154 bool "MCF5275" 160 bool "MCF5275"
161 select HAVE_CACHE_SPLIT
155 help 162 help
156 Freescale (Motorola) ColdFire 5274/5275 processor support. 163 Freescale (Motorola) ColdFire 5274/5275 processor support.
157 164
158config M528x 165config M528x
159 bool "MCF528x" 166 bool "MCF528x"
160 select GENERIC_CLOCKEVENTS 167 select GENERIC_CLOCKEVENTS
168 select HAVE_CACHE_SPLIT
161 help 169 help
162 Motorola ColdFire 5280/5282 processor support. 170 Motorola ColdFire 5280/5282 processor support.
163 171
@@ -250,6 +258,30 @@ config OLDMASK
250 Build support for the older revision ColdFire 5307 silicon. 258 Build support for the older revision ColdFire 5307 silicon.
251 Specifically this is the 1H55J mask revision. 259 Specifically this is the 1H55J mask revision.
252 260
261if HAVE_CACHE_SPLIT
262choice
263 prompt "Split Cache Configuration"
264 default CACHE_I
265
266config CACHE_I
267 bool "Instruction"
268 help
269 Use all of the ColdFire CPU cache memory as an instruction cache.
270
271config CACHE_D
272 bool "Data"
273 help
274 Use all of the ColdFire CPU cache memory as a data cache.
275
276config CACHE_BOTH
277 bool "Both"
278 help
279 Split the ColdFire CPU cache, and use half as an instruction cache
280 and half as a data cache.
281endchoice
282
283endif
284
253comment "Platform" 285comment "Platform"
254 286
255config PILOT3 287config PILOT3