summaryrefslogtreecommitdiff
path: root/firmware/target/arm/rk27xx/system-rk27xx.c
diff options
context:
space:
mode:
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")));