|
@@ -362,6 +362,23 @@ __ca15_errata:
|
|
#endif
|
|
#endif
|
|
b __errata_finish
|
|
b __errata_finish
|
|
|
|
|
|
|
|
+__ca12_errata:
|
|
|
|
+#ifdef CONFIG_ARM_ERRATA_818325_852422
|
|
|
|
+ mrc p15, 0, r10, c15, c0, 1 @ read diagnostic register
|
|
|
|
+ orr r10, r10, #1 << 12 @ set bit #12
|
|
|
|
+ mcr p15, 0, r10, c15, c0, 1 @ write diagnostic register
|
|
|
|
+#endif
|
|
|
|
+ b __errata_finish
|
|
|
|
+
|
|
|
|
+__ca17_errata:
|
|
|
|
+#ifdef CONFIG_ARM_ERRATA_852423
|
|
|
|
+ cmp r6, #0x12 @ only present up to r1p2
|
|
|
|
+ mrcle p15, 0, r10, c15, c0, 1 @ read diagnostic register
|
|
|
|
+ orrle r10, r10, #1 << 12 @ set bit #12
|
|
|
|
+ mcrle p15, 0, r10, c15, c0, 1 @ write diagnostic register
|
|
|
|
+#endif
|
|
|
|
+ b __errata_finish
|
|
|
|
+
|
|
__v7_pj4b_setup:
|
|
__v7_pj4b_setup:
|
|
#ifdef CONFIG_CPU_PJ4B
|
|
#ifdef CONFIG_CPU_PJ4B
|
|
|
|
|
|
@@ -443,6 +460,16 @@ __v7_setup_cont:
|
|
teq r0, r10
|
|
teq r0, r10
|
|
beq __ca9_errata
|
|
beq __ca9_errata
|
|
|
|
|
|
|
|
+ /* Cortex-A12 Errata */
|
|
|
|
+ ldr r10, =0x00000c0d @ Cortex-A12 primary part number
|
|
|
|
+ teq r0, r10
|
|
|
|
+ beq __ca12_errata
|
|
|
|
+
|
|
|
|
+ /* Cortex-A17 Errata */
|
|
|
|
+ ldr r10, =0x00000c0e @ Cortex-A17 primary part number
|
|
|
|
+ teq r0, r10
|
|
|
|
+ beq __ca17_errata
|
|
|
|
+
|
|
/* Cortex-A15 Errata */
|
|
/* Cortex-A15 Errata */
|
|
ldr r10, =0x00000c0f @ Cortex-A15 primary part number
|
|
ldr r10, =0x00000c0f @ Cortex-A15 primary part number
|
|
teq r0, r10
|
|
teq r0, r10
|