xref: /rk3399_rockchip-uboot/arch/arm/lib/cache.c (revision 95c6f6d34d4ff23f4d005488d84682eec5fa9ec8)
1ea0364f1SPeter Tyser /*
2ea0364f1SPeter Tyser  * (C) Copyright 2002
3ea0364f1SPeter Tyser  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4ea0364f1SPeter Tyser  *
5ea0364f1SPeter Tyser  * See file CREDITS for list of people who contributed to this
6ea0364f1SPeter Tyser  * project.
7ea0364f1SPeter Tyser  *
8ea0364f1SPeter Tyser  * This program is free software; you can redistribute it and/or
9ea0364f1SPeter Tyser  * modify it under the terms of the GNU General Public License as
10ea0364f1SPeter Tyser  * published by the Free Software Foundation; either version 2 of
11ea0364f1SPeter Tyser  * the License, or (at your option) any later version.
12ea0364f1SPeter Tyser  *
13ea0364f1SPeter Tyser  * This program is distributed in the hope that it will be useful,
14ea0364f1SPeter Tyser  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15ea0364f1SPeter Tyser  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16ea0364f1SPeter Tyser  * GNU General Public License for more details.
17ea0364f1SPeter Tyser  *
18ea0364f1SPeter Tyser  * You should have received a copy of the GNU General Public License
19ea0364f1SPeter Tyser  * along with this program; if not, write to the Free Software
20ea0364f1SPeter Tyser  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21ea0364f1SPeter Tyser  * MA 02111-1307 USA
22ea0364f1SPeter Tyser  */
23ea0364f1SPeter Tyser 
24ea0364f1SPeter Tyser /* for now: just dummy functions to satisfy the linker */
25ea0364f1SPeter Tyser 
26ea0364f1SPeter Tyser #include <common.h>
27ea0364f1SPeter Tyser 
28ea0364f1SPeter Tyser void  flush_cache (unsigned long dummy1, unsigned long dummy2)
29ea0364f1SPeter Tyser {
30ea0364f1SPeter Tyser #ifdef CONFIG_OMAP2420
31ea0364f1SPeter Tyser 	void arm1136_cache_flush(void);
32ea0364f1SPeter Tyser 
33ea0364f1SPeter Tyser 	arm1136_cache_flush();
34ea0364f1SPeter Tyser #endif
35c3330e9dSHeiko Schocher #ifdef CONFIG_ARM926EJS
36c3330e9dSHeiko Schocher 	/* test and clean, page 2-23 of arm926ejs manual */
37c3330e9dSHeiko Schocher 	asm("0: mrc p15, 0, r15, c7, c10, 3\n\t" "bne 0b\n" : : : "memory");
38c3330e9dSHeiko Schocher 	/* disable write buffer as well (page 2-22) */
39c3330e9dSHeiko Schocher 	asm("mcr p15, 0, %0, c7, c10, 4" : : "r" (0));
40c3330e9dSHeiko Schocher #endif
41*95c6f6d3SHeiko Schocher #ifdef CONFIG_ARMCORTEXA8
42*95c6f6d3SHeiko Schocher 	void v7_flush_cache_all(void);
43*95c6f6d3SHeiko Schocher 
44*95c6f6d3SHeiko Schocher 	v7_flush_cache_all();
45*95c6f6d3SHeiko Schocher #endif
46ea0364f1SPeter Tyser 	return;
47ea0364f1SPeter Tyser }
48