diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start.S')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start.S | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start.S b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start.S index 77c9d845a6..e8ae3c0db4 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start.S +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start.S @@ -170,9 +170,17 @@ _start: ori r3, r3, 0x4000 mtspr HID0, r3 - /* Enable branch prediction */ - LWI r3, FSL_EIS_BUCSR_BBFI | FSL_EIS_BUCSR_BPEN + /* + * Enable branch prediction. + * + * Errata e4396: e200z7: Erroneous Address Fetch + * + * The propose workaround does not work. + */ +#if MPC55XX_CHIP_FAMILY != 567 + LWI r3, FSL_EIS_BUCSR_BBFI | FSL_EIS_BUCSR_BALLOC_ALL | FSL_EIS_BUCSR_BPRED_NOT_TAKEN | FSL_EIS_BUCSR_BPEN mtspr FSL_EIS_BUCSR, r3 +#endif #endif /* MPC55XX_NEEDS_LOW_LEVEL_INIT */ |