diff options
Diffstat (limited to 'arch/arm/mach-imx/imx5.c')
-rw-r--r-- | arch/arm/mach-imx/imx5.c | 13 |
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 */ |