forked from Imagelibrary/rtems
bsp/qoriq: Move L1 cache invalidate function
This commit is contained in:
@@ -70,6 +70,7 @@ libbsp_a_SOURCES += \
|
|||||||
../shared/startup/bspidle.c \
|
../shared/startup/bspidle.c \
|
||||||
../shared/uboot_getenv.c \
|
../shared/uboot_getenv.c \
|
||||||
../shared/uboot_dump_bdinfo.c \
|
../shared/uboot_dump_bdinfo.c \
|
||||||
|
startup/l1cache.S \
|
||||||
startup/l2cache.S \
|
startup/l2cache.S \
|
||||||
startup/mmu.c \
|
startup/mmu.c \
|
||||||
startup/mmu-tlb1.S \
|
startup/mmu-tlb1.S \
|
||||||
|
|||||||
@@ -60,25 +60,7 @@ _start:
|
|||||||
bl bsp_fdt_copy
|
bl bsp_fdt_copy
|
||||||
#endif /* U_BOOT_USE_FDT */
|
#endif /* U_BOOT_USE_FDT */
|
||||||
|
|
||||||
/* Invalidate L1 data cache */
|
bl qoriq_l1cache_invalidate
|
||||||
mfspr r3, FSL_EIS_L1CSR0
|
|
||||||
ori r3, r3, FSL_EIS_L1CSR0_CFI
|
|
||||||
mtspr FSL_EIS_L1CSR0, r3
|
|
||||||
1:
|
|
||||||
mfspr r3, FSL_EIS_L1CSR0
|
|
||||||
andi. r3, r3, FSL_EIS_L1CSR0_CFI
|
|
||||||
bne 1b
|
|
||||||
isync
|
|
||||||
|
|
||||||
/* Invalidate L1 instruction cache */
|
|
||||||
mfspr r3, FSL_EIS_L1CSR1
|
|
||||||
ori r3, r3, FSL_EIS_L1CSR1_ICFI
|
|
||||||
mtspr FSL_EIS_L1CSR1, r3
|
|
||||||
1:
|
|
||||||
mfspr r3, FSL_EIS_L1CSR1
|
|
||||||
andi. r3, r3, FSL_EIS_L1CSR1_ICFI
|
|
||||||
bne 1b
|
|
||||||
isync
|
|
||||||
|
|
||||||
#ifdef QORIQ_CLUSTER_1_L2CSR0
|
#ifdef QORIQ_CLUSTER_1_L2CSR0
|
||||||
LWI r3, QORIQ_CLUSTER_1_L2CSR0
|
LWI r3, QORIQ_CLUSTER_1_L2CSR0
|
||||||
|
|||||||
43
c/src/lib/libbsp/powerpc/qoriq/startup/l1cache.S
Normal file
43
c/src/lib/libbsp/powerpc/qoriq/startup/l1cache.S
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2015, 2016 embedded brains GmbH. All rights reserved.
|
||||||
|
*
|
||||||
|
* embedded brains GmbH
|
||||||
|
* Dornierstr. 4
|
||||||
|
* 82178 Puchheim
|
||||||
|
* Germany
|
||||||
|
* <rtems@embedded-brains.de>
|
||||||
|
*
|
||||||
|
* The license and distribution terms for this file may be
|
||||||
|
* found in the file LICENSE in this distribution or at
|
||||||
|
* http://www.rtems.org/license/LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <libcpu/powerpc-utility.h>
|
||||||
|
|
||||||
|
.global qoriq_l1cache_invalidate
|
||||||
|
|
||||||
|
.section ".bsp_start_text", "ax"
|
||||||
|
|
||||||
|
qoriq_l1cache_invalidate:
|
||||||
|
|
||||||
|
/* Invalidate L1 data cache */
|
||||||
|
mfspr r3, FSL_EIS_L1CSR0
|
||||||
|
ori r3, r3, FSL_EIS_L1CSR0_CFI
|
||||||
|
mtspr FSL_EIS_L1CSR0, r3
|
||||||
|
1:
|
||||||
|
mfspr r3, FSL_EIS_L1CSR0
|
||||||
|
andi. r3, r3, FSL_EIS_L1CSR0_CFI
|
||||||
|
bne 1b
|
||||||
|
isync
|
||||||
|
|
||||||
|
/* Invalidate L1 instruction cache */
|
||||||
|
mfspr r3, FSL_EIS_L1CSR1
|
||||||
|
ori r3, r3, FSL_EIS_L1CSR1_ICFI
|
||||||
|
mtspr FSL_EIS_L1CSR1, r3
|
||||||
|
1:
|
||||||
|
mfspr r3, FSL_EIS_L1CSR1
|
||||||
|
andi. r3, r3, FSL_EIS_L1CSR1_ICFI
|
||||||
|
bne 1b
|
||||||
|
isync
|
||||||
|
|
||||||
|
blr
|
||||||
Reference in New Issue
Block a user