summaryrefslogtreecommitdiff
path: root/firmware/target/arm/rk27xx/system-rk27xx.c
diff options
context:
space:
mode:
authorMarcin Bukat <marcin.bukat@gmail.com>2011-07-19 06:49:03 +0000
committerMarcin Bukat <marcin.bukat@gmail.com>2011-07-19 06:49:03 +0000
commit5d9b23016852af99d285521f71a23ddea99ae7ee (patch)
tree7177428091eb7224e9805a0f10a8c9effea63969 /firmware/target/arm/rk27xx/system-rk27xx.c
parentf1c7fba5a474ebdfd1e162459df1a513911da1b7 (diff)
downloadrockbox-5d9b23016852af99d285521f71a23ddea99ae7ee.tar.gz
rockbox-5d9b23016852af99d285521f71a23ddea99ae7ee.zip
rk27xx - implement cache_commit_discard(). Cache is still not enabled in crt0.S
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30167 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/rk27xx/system-rk27xx.c')
-rw-r--r--firmware/target/arm/rk27xx/system-rk27xx.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/firmware/target/arm/rk27xx/system-rk27xx.c b/firmware/target/arm/rk27xx/system-rk27xx.c
index 724273b61a..1459770b94 100644
--- a/firmware/target/arm/rk27xx/system-rk27xx.c
+++ b/firmware/target/arm/rk27xx/system-rk27xx.c
@@ -163,3 +163,19 @@ void udelay(unsigned usecs)
163 ); 163 );
164} 164}
165 165
166void cpucache_commit_discard(void)
167{
168 /* invalidate cache way 0 */
169 CACHEOP = 0x02;
170
171 /* wait for invalidate process to complete */
172 while (CACHEOP & 0x01);
173
174 /* invalidate cache way 1 */
175 CACHEOP = 0x80000002;
176
177 /* wait for invalidate process to complete */
178 while (CACHEOP & 0x01);
179}
180
181void cpucache_invalidate(void) __attribute__((alias("cpucache_commit_discard")));