mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-18 06:58:54 +00:00
m68k: fix cache.c for Coldfire V4E
- fix cache.c CONFIG_CF_V4e to CONFIG_CF_V4E - fix cache.c to properly enable/disable cache for V4E Signed-off-by: Angelo Dureghello <angelo@sysam.it>
This commit is contained in:
parent
c74dda8b44
commit
c533cfcd93
1 changed files with 13 additions and 12 deletions
|
@ -33,12 +33,13 @@ void icache_enable(void)
|
||||||
|
|
||||||
*cf_icache_status = 1;
|
*cf_icache_status = 1;
|
||||||
|
|
||||||
#ifdef CONFIG_CF_V4
|
#if defined(CONFIG_CF_V4) || defined(CONFIG_CF_V4E)
|
||||||
__asm__ __volatile__("movec %0, %%acr2"::"r"(CONFIG_SYS_CACHE_ACR2));
|
__asm__ __volatile__("movec %0, %%acr2"::"r"(CONFIG_SYS_CACHE_ACR2));
|
||||||
__asm__ __volatile__("movec %0, %%acr3"::"r"(CONFIG_SYS_CACHE_ACR3));
|
__asm__ __volatile__("movec %0, %%acr3"::"r"(CONFIG_SYS_CACHE_ACR3));
|
||||||
#elif defined(CONFIG_CF_V4e)
|
#if defined(CONFIG_CF_V4E)
|
||||||
__asm__ __volatile__("movec %0, %%acr6"::"r"(CONFIG_SYS_CACHE_ACR6));
|
__asm__ __volatile__("movec %0, %%acr6"::"r"(CONFIG_SYS_CACHE_ACR6));
|
||||||
__asm__ __volatile__("movec %0, %%acr7"::"r"(CONFIG_SYS_CACHE_ACR7));
|
__asm__ __volatile__("movec %0, %%acr7"::"r"(CONFIG_SYS_CACHE_ACR7));
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
__asm__ __volatile__("movec %0, %%acr0"::"r"(CONFIG_SYS_CACHE_ACR0));
|
__asm__ __volatile__("movec %0, %%acr0"::"r"(CONFIG_SYS_CACHE_ACR0));
|
||||||
__asm__ __volatile__("movec %0, %%acr1"::"r"(CONFIG_SYS_CACHE_ACR1));
|
__asm__ __volatile__("movec %0, %%acr1"::"r"(CONFIG_SYS_CACHE_ACR1));
|
||||||
|
@ -54,16 +55,16 @@ void icache_disable(void)
|
||||||
*cf_icache_status = 0;
|
*cf_icache_status = 0;
|
||||||
icache_invalid();
|
icache_invalid();
|
||||||
|
|
||||||
#ifdef CONFIG_CF_V4
|
#if defined(CONFIG_CF_V4) || defined(CONFIG_CF_V4E)
|
||||||
__asm__ __volatile__("movec %0, %%acr2"::"r"(temp));
|
__asm__ __volatile__("movec %0, %%acr2"::"r"(temp));
|
||||||
__asm__ __volatile__("movec %0, %%acr3"::"r"(temp));
|
__asm__ __volatile__("movec %0, %%acr3"::"r"(temp));
|
||||||
#elif defined(CONFIG_CF_V4e)
|
#if defined(CONFIG_CF_V4E)
|
||||||
__asm__ __volatile__("movec %0, %%acr6"::"r"(temp));
|
__asm__ __volatile__("movec %0, %%acr6"::"r"(temp));
|
||||||
__asm__ __volatile__("movec %0, %%acr7"::"r"(temp));
|
__asm__ __volatile__("movec %0, %%acr7"::"r"(temp));
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
__asm__ __volatile__("movec %0, %%acr0"::"r"(temp));
|
__asm__ __volatile__("movec %0, %%acr0"::"r"(temp));
|
||||||
__asm__ __volatile__("movec %0, %%acr1"::"r"(temp));
|
__asm__ __volatile__("movec %0, %%acr1"::"r"(temp));
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,13 +88,13 @@ void dcache_enable(void)
|
||||||
dcache_invalid();
|
dcache_invalid();
|
||||||
*cf_dcache_status = 1;
|
*cf_dcache_status = 1;
|
||||||
|
|
||||||
#ifdef CONFIG_CF_V4
|
#if defined(CONFIG_CF_V4) || defined(CONFIG_CF_V4E)
|
||||||
__asm__ __volatile__("movec %0, %%acr0"::"r"(CONFIG_SYS_CACHE_ACR0));
|
__asm__ __volatile__("movec %0, %%acr0"::"r"(CONFIG_SYS_CACHE_ACR0));
|
||||||
__asm__ __volatile__("movec %0, %%acr1"::"r"(CONFIG_SYS_CACHE_ACR1));
|
__asm__ __volatile__("movec %0, %%acr1"::"r"(CONFIG_SYS_CACHE_ACR1));
|
||||||
#elif defined(CONFIG_CF_V4e)
|
#if defined(CONFIG_CF_V4E)
|
||||||
__asm__ __volatile__("movec %0, %%acr4"::"r"(CONFIG_SYS_CACHE_ACR4));
|
__asm__ __volatile__("movec %0, %%acr4"::"r"(CONFIG_SYS_CACHE_ACR4));
|
||||||
__asm__ __volatile__("movec %0, %%acr5"::"r"(CONFIG_SYS_CACHE_ACR5));
|
__asm__ __volatile__("movec %0, %%acr5"::"r"(CONFIG_SYS_CACHE_ACR5));
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
__asm__ __volatile__("movec %0, %%cacr"::"r"(CONFIG_SYS_CACHE_DCACR));
|
__asm__ __volatile__("movec %0, %%cacr"::"r"(CONFIG_SYS_CACHE_DCACR));
|
||||||
|
@ -108,19 +109,19 @@ void dcache_disable(void)
|
||||||
|
|
||||||
__asm__ __volatile__("movec %0, %%cacr"::"r"(temp));
|
__asm__ __volatile__("movec %0, %%cacr"::"r"(temp));
|
||||||
|
|
||||||
#ifdef CONFIG_CF_V4
|
#if defined(CONFIG_CF_V4) || defined(CONFIG_CF_V4E)
|
||||||
__asm__ __volatile__("movec %0, %%acr0"::"r"(temp));
|
__asm__ __volatile__("movec %0, %%acr0"::"r"(temp));
|
||||||
__asm__ __volatile__("movec %0, %%acr1"::"r"(temp));
|
__asm__ __volatile__("movec %0, %%acr1"::"r"(temp));
|
||||||
#elif defined(CONFIG_CF_V4e)
|
#if defined(CONFIG_CF_V4E)
|
||||||
__asm__ __volatile__("movec %0, %%acr4"::"r"(temp));
|
__asm__ __volatile__("movec %0, %%acr4"::"r"(temp));
|
||||||
__asm__ __volatile__("movec %0, %%acr5"::"r"(temp));
|
__asm__ __volatile__("movec %0, %%acr5"::"r"(temp));
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void dcache_invalid(void)
|
void dcache_invalid(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_CF_V4
|
#if defined(CONFIG_CF_V4) || defined(CONFIG_CF_V4E)
|
||||||
u32 temp;
|
u32 temp;
|
||||||
|
|
||||||
temp = CONFIG_SYS_DCACHE_INV;
|
temp = CONFIG_SYS_DCACHE_INV;
|
||||||
|
|
Loading…
Add table
Reference in a new issue