diff options
author | Scott Wood <scottwood@freescale.com> | 2015-03-20 19:28:13 -0700 |
---|---|---|
committer | York Sun <yorksun@freescale.com> | 2015-04-23 08:55:56 -0700 |
commit | d746fef40653d17a64ff81a8ff57c55d122d8d5e (patch) | |
tree | 1b25b085a5835828ba409e3501077edd6d5cf664 /arch/arm/cpu/armv8/fsl-lsch3/soc.c | |
parent | b991b981e04eddb30c47fe97fbcfb05099b4fd88 (diff) |
armv8/ls2085a: Add workaround for USB erratum A-008751
Without this "USB may not work" according to the erratum text, though I
did not notice a problem without it.
Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: York Sun <yorksun@freescale.com>
Diffstat (limited to 'arch/arm/cpu/armv8/fsl-lsch3/soc.c')
-rw-r--r-- | arch/arm/cpu/armv8/fsl-lsch3/soc.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv8/fsl-lsch3/soc.c b/arch/arm/cpu/armv8/fsl-lsch3/soc.c index 242a865db8..17700ef94e 100644 --- a/arch/arm/cpu/armv8/fsl-lsch3/soc.c +++ b/arch/arm/cpu/armv8/fsl-lsch3/soc.c @@ -7,8 +7,19 @@ #include <common.h> #include <fsl_ifc.h> #include <asm/arch-fsl-lsch3/soc.h> +#include <asm/io.h> + +static void erratum_a008751(void) +{ +#ifdef CONFIG_SYS_FSL_ERRATUM_A008751 + u32 __iomem *scfg = (u32 __iomem *)SCFG_BASE; + + writel(0x27672b2a, scfg + SCFG_USB3PRM1CR / 4); +#endif +} void fsl_lsch3_early_init_f(void) { + erratum_a008751(); init_early_memctl_regs(); /* tighten IFC timing */ } |