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/uboot_getenv.c \
|
||||
../shared/uboot_dump_bdinfo.c \
|
||||
startup/l1cache.S \
|
||||
startup/l2cache.S \
|
||||
startup/mmu.c \
|
||||
startup/mmu-tlb1.S \
|
||||
|
||||
@@ -60,25 +60,7 @@ _start:
|
||||
bl bsp_fdt_copy
|
||||
#endif /* U_BOOT_USE_FDT */
|
||||
|
||||
/* 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
|
||||
bl qoriq_l1cache_invalidate
|
||||
|
||||
#ifdef 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