powerpc/t4240: Adding workaround errata A-005871
When CoreNet Fabric (CCF) internal resources are consumed by the cores, inbound SRIO messaging traffic through RMan can put the device into a deadlock condition. This errata workaround forces internal resources to be reserved for upstream transactions. This ensures resources exist on the device for upstream transactions and removes the deadlock condition. The Workaround is for the T4240 silicon rev 1.0. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Signed-off-by: Andy Fleming <afleming@freescale.com>
This commit is contained in:
parent
5e95e2d84b
commit
72bd83cd0a
3 changed files with 19 additions and 0 deletions
|
@ -240,6 +240,10 @@ static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|||
#ifdef CONFIG_SYS_FSL_ERRATUM_A_004934
|
||||
puts("Work-around for Erratum A004934 enabled\n");
|
||||
#endif
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_A005871
|
||||
if (IS_SVR_REV(svr, 1, 0))
|
||||
puts("Work-around for Erratum A005871 enabled\n");
|
||||
#endif
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_A004849
|
||||
/* This work-around is implemented in PBI, so just check for it */
|
||||
check_erratum_a4849(svr);
|
||||
|
|
|
@ -548,6 +548,20 @@ skip_l2:
|
|||
/* needs to be in ram since code uses global static vars */
|
||||
fsl_serdes_init();
|
||||
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_A005871
|
||||
if (IS_SVR_REV(svr, 1, 0)) {
|
||||
int i;
|
||||
__be32 *p = (void __iomem *)CONFIG_SYS_DCSRBAR + 0xb004c;
|
||||
|
||||
for (i = 0; i < 12; i++) {
|
||||
p += i + (i > 5 ? 11 : 0);
|
||||
out_be32(p, 0x2);
|
||||
}
|
||||
p = (void __iomem *)CONFIG_SYS_DCSRBAR + 0xb0108;
|
||||
out_be32(p, 0x34);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SYS_SRIO
|
||||
srio_init();
|
||||
#ifdef CONFIG_SYS_FSL_SRIO_PCIE_BOOT_MASTER
|
||||
|
|
|
@ -538,6 +538,7 @@
|
|||
#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004468
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A_004934
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005871
|
||||
#define CONFIG_SYS_CCSRBAR_DEFAULT 0xfe000000
|
||||
|
||||
#elif defined(CONFIG_PPC_B4420)
|
||||
|
|
Loading…
Reference in a new issue