Commit b7588e3bdcdb2ee073a6a66a4c882b23feaaa0e6
Committed by
Stefano Babic
1 parent
f71cbfe3ca
Exists in
v2017.01-smarct4x
and in
48 other branches
ARM: Add workaround for Cortex-A9 errata 761320
Full cache line writes to the same memory region from at least two processors might deadlock the processor. Exists on r1, r2, r3 revisions. Signed-off-by: Nitin Garg <nitin.garg@freescale.com> Acked-by: Fabio Estevam <fabio.estevam@freescale.com>
Showing 2 changed files with 6 additions and 0 deletions Side-by-side Diff
README
... | ... | @@ -567,6 +567,7 @@ |
567 | 567 | CONFIG_ARM_ERRATA_743622 |
568 | 568 | CONFIG_ARM_ERRATA_751472 |
569 | 569 | CONFIG_ARM_ERRATA_794072 |
570 | + CONFIG_ARM_ERRATA_761320 | |
570 | 571 | |
571 | 572 | If set, the workarounds for these ARM errata are applied early |
572 | 573 | during U-Boot startup. Note that these options force the |
arch/arm/cpu/armv7/start.S
... | ... | @@ -222,6 +222,11 @@ |
222 | 222 | orr r0, r0, #1 << 11 @ set bit #11 |
223 | 223 | mcr p15, 0, r0, c15, c0, 1 @ write diagnostic register |
224 | 224 | #endif |
225 | +#ifdef CONFIG_ARM_ERRATA_761320 | |
226 | + mrc p15, 0, r0, c15, c0, 1 @ read diagnostic register | |
227 | + orr r0, r0, #1 << 21 @ set bit #21 | |
228 | + mcr p15, 0, r0, c15, c0, 1 @ write diagnostic register | |
229 | +#endif | |
225 | 230 | |
226 | 231 | mov pc, lr @ back to my caller |
227 | 232 | ENDPROC(cpu_init_cp15) |