powerpc/mpc85xx: work around erratum A-006593
Erratum A-006593 is "Atomic store may report failure but still allow the store data to be visible". The workaround is: "Set CoreNet Platform Cache register CPCHDBCR0 bit 21 to 1'b1. This may have a small impact on synthetic write bandwidth benchmarks but should have a negligible impact on real code." Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Andy Fleming <afleming@freescale.com>
This commit is contained in:
parent
362ee04b79
commit
8212519254
@ -257,6 +257,9 @@ static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_SYS_FSL_ERRATUM_USB14
|
#ifdef CONFIG_SYS_FSL_ERRATUM_USB14
|
||||||
puts("Work-around for Erratum USB14 enabled\n");
|
puts("Work-around for Erratum USB14 enabled\n");
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_SYS_FSL_ERRATUM_A006593
|
||||||
|
puts("Work-around for Erratum A006593 enabled\n");
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -172,6 +172,9 @@ static void enable_cpc(void)
|
|||||||
#ifdef CONFIG_SYS_FSL_ERRATUM_CPC_A003
|
#ifdef CONFIG_SYS_FSL_ERRATUM_CPC_A003
|
||||||
setbits_be32(&cpc->cpchdbcr0, CPC_HDBCR0_DATA_ECC_SCRUB_DIS);
|
setbits_be32(&cpc->cpchdbcr0, CPC_HDBCR0_DATA_ECC_SCRUB_DIS);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef CONFIG_SYS_FSL_ERRATUM_A006593
|
||||||
|
setbits_be32(&cpc->cpchdbcr0, 1 << (31 - 21));
|
||||||
|
#endif
|
||||||
|
|
||||||
out_be32(&cpc->cpccsr0, CPC_CSR0_CE | CPC_CSR0_PE);
|
out_be32(&cpc->cpccsr0, CPC_CSR0_CE | CPC_CSR0_PE);
|
||||||
/* Read back to sync write */
|
/* Read back to sync write */
|
||||||
|
@ -555,6 +555,7 @@
|
|||||||
#define CONFIG_SYS_FSL_ERRATUM_A004468
|
#define CONFIG_SYS_FSL_ERRATUM_A004468
|
||||||
#define CONFIG_SYS_FSL_ERRATUM_A_004934
|
#define CONFIG_SYS_FSL_ERRATUM_A_004934
|
||||||
#define CONFIG_SYS_FSL_ERRATUM_A005871
|
#define CONFIG_SYS_FSL_ERRATUM_A005871
|
||||||
|
#define CONFIG_SYS_FSL_ERRATUM_A006593
|
||||||
#define CONFIG_SYS_CCSRBAR_DEFAULT 0xfe000000
|
#define CONFIG_SYS_CCSRBAR_DEFAULT 0xfe000000
|
||||||
#define CONFIG_SYS_FSL_PCI_VER_3_X
|
#define CONFIG_SYS_FSL_PCI_VER_3_X
|
||||||
|
|
||||||
@ -576,6 +577,7 @@
|
|||||||
#define CONFIG_SYS_FSL_USB1_PHY_ENABLE
|
#define CONFIG_SYS_FSL_USB1_PHY_ENABLE
|
||||||
#define CONFIG_SYS_FSL_ERRATUM_A_004934
|
#define CONFIG_SYS_FSL_ERRATUM_A_004934
|
||||||
#define CONFIG_SYS_FSL_ERRATUM_A005871
|
#define CONFIG_SYS_FSL_ERRATUM_A005871
|
||||||
|
#define CONFIG_SYS_FSL_ERRATUM_A006593
|
||||||
#define CONFIG_SYS_CCSRBAR_DEFAULT 0xfe000000
|
#define CONFIG_SYS_CCSRBAR_DEFAULT 0xfe000000
|
||||||
|
|
||||||
#ifdef CONFIG_PPC_B4860
|
#ifdef CONFIG_PPC_B4860
|
||||||
|
Loading…
Reference in New Issue
Block a user