Commit 8be05ef58536c58e785e1af73e1c29a30b762b67

Authored by Nitin Garg
1 parent 9df046d30b

MLK-10524: iMX6x: Implement workaround for Cortex-A9 errata 845369

Under very rare timing circumstances, transitioning into streaming
mode might create a data corruption. Present on Two or more processors
or 1 core with ACP, all revisions. This erratum can be worked round
by setting bit[22] of the undocumented Diagnostic Control Register to 1.

Signed-off-by: Nitin Garg <nitin.garg@freescale.com>
(cherry picked from commit 70ad44e523680de67dd8b7a7505d7f27799980ee)

Showing 3 changed files with 7 additions and 0 deletions Side-by-side Diff

... ... @@ -568,6 +568,7 @@
568 568 CONFIG_ARM_ERRATA_751472
569 569 CONFIG_ARM_ERRATA_794072
570 570 CONFIG_ARM_ERRATA_761320
  571 + CONFIG_ARM_ERRATA_845369
571 572  
572 573 If set, the workarounds for these ARM errata are applied early
573 574 during U-Boot startup. Note that these options force the
arch/arm/cpu/armv7/start.S
... ... @@ -227,6 +227,11 @@
227 227 orr r0, r0, #1 << 21 @ set bit #21
228 228 mcr p15, 0, r0, c15, c0, 1 @ write diagnostic register
229 229 #endif
  230 +#ifdef CONFIG_ARM_ERRATA_845369
  231 + mrc p15, 0, r0, c15, c0, 1 @ read diagnostic register
  232 + orr r0, r0, #1 << 22 @ set bit #22
  233 + mcr p15, 0, r0, c15, c0, 1 @ write diagnostic register
  234 +#endif
230 235  
231 236 mov pc, lr @ back to my caller
232 237 ENDPROC(cpu_init_cp15)
include/configs/mx6_common.h
... ... @@ -21,6 +21,7 @@
21 21 #define CONFIG_ARM_ERRATA_751472
22 22 #define CONFIG_ARM_ERRATA_794072
23 23 #define CONFIG_ARM_ERRATA_761320
  24 +#define CONFIG_ARM_ERRATA_845369
24 25 #define CONFIG_BOARD_POSTCLK_INIT
25 26 #define CONFIG_LDO_BYPASS_CHECK
26 27 #define CONFIG_MXC_GPT_HCLK