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>
This commit is contained in:
Scott Wood 2015-03-20 19:28:13 -07:00 committed by York Sun
parent b991b981e0
commit d746fef406
2 changed files with 16 additions and 0 deletions

View File

@ -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 */
}

View File

@ -124,6 +124,10 @@
#define CCI_MN_DVM_DOMAIN_CTL 0x200
#define CCI_MN_DVM_DOMAIN_CTL_SET 0x210
/* Supplemental Configuration */
#define SCFG_BASE 0x01fc0000
#define SCFG_USB3PRM1CR 0x000
#ifdef CONFIG_LS2085A
#define CONFIG_MAX_CPUS 16
#define CONFIG_SYS_FSL_IFC_BANK_COUNT 8
@ -138,6 +142,7 @@
#define CONFIG_SYS_FSL_ERRATUM_A008511
#define CONFIG_SYS_FSL_ERRATUM_A008514
#define CONFIG_SYS_FSL_ERRATUM_A008585
#define CONFIG_SYS_FSL_ERRATUM_A008751
#endif
#endif /* _ASM_ARMV8_FSL_LSCH3_CONFIG_ */