summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/imx5.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-imx/imx5.c')
-rw-r--r--arch/arm/mach-imx/imx5.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/arm/mach-imx/imx5.c b/arch/arm/mach-imx/imx5.c
index 96288f99e0..10a3ae7bca 100644
--- a/arch/arm/mach-imx/imx5.c
+++ b/arch/arm/mach-imx/imx5.c
@@ -1,8 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
#include <common.h>
#include <io.h>
#include <linux/sizes.h>
-#include <mach/imx5.h>
-#include <mach/clock-imx51_53.h>
+#include <mach/imx/imx5.h>
+#include <mach/imx/clock-imx51_53.h>
void imx5_setup_pll(void __iomem *base, int freq, u32 op, u32 mfd, u32 mfn)
{
@@ -37,10 +39,13 @@ void imx5_init_lowlevel(void)
{
u32 r;
- /* ARM errata ID #468414 */
__asm__ __volatile__("mrc 15, 0, %0, c1, c0, 1":"=r"(r));
+
+ if (r & (1 << 1))
+ return;
+
+ /* ARM errata ID #468414 */
r |= (1 << 5); /* enable L1NEON bit */
- r &= ~(1 << 1); /* explicitly disable L2 cache */
__asm__ __volatile__("mcr 15, 0, %0, c1, c0, 1" : : "r"(r));
/* reconfigure L2 cache aux control reg */