refactor(cpus): add Cortex-A53 errata framework information

Change-Id: I3518847728fa17baa423cfef66694895a39ee888
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
This commit is contained in:
Jayanth Dodderi Chidanand 2023-04-12 22:14:59 +01:00
parent 445f7b5191
commit 97b12ae7ce

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2017-2019, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2017-2023, Arm Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -44,6 +44,8 @@ func check_errata_819472
bx lr bx lr
endfunc check_errata_819472 endfunc check_errata_819472
add_erratum_entry cortex_a53, ERRATUM(819472), ERRATA_A53_819472
/* --------------------------------------------------- /* ---------------------------------------------------
* Errata Workaround for Cortex A53 Errata #824069. * Errata Workaround for Cortex A53 Errata #824069.
* This applies only to revision <= r0p2 of Cortex A53. * This applies only to revision <= r0p2 of Cortex A53.
@ -59,6 +61,8 @@ func check_errata_824069
bx lr bx lr
endfunc check_errata_824069 endfunc check_errata_824069
add_erratum_entry cortex_a53, ERRATUM(824069), ERRATA_A53_824069
/* -------------------------------------------------- /* --------------------------------------------------
* Errata Workaround for Cortex A53 Errata #826319. * Errata Workaround for Cortex A53 Errata #826319.
* This applies only to revision <= r0p2 of Cortex A53. * This applies only to revision <= r0p2 of Cortex A53.
@ -89,6 +93,8 @@ func check_errata_826319
b cpu_rev_var_ls b cpu_rev_var_ls
endfunc check_errata_826319 endfunc check_errata_826319
add_erratum_entry cortex_a53, ERRATUM(826319), ERRATA_A53_826319
/* --------------------------------------------------- /* ---------------------------------------------------
* Errata Workaround for Cortex A53 Errata #827319. * Errata Workaround for Cortex A53 Errata #827319.
* This applies only to revision <= r0p2 of Cortex A53. * This applies only to revision <= r0p2 of Cortex A53.
@ -104,6 +110,8 @@ func check_errata_827319
bx lr bx lr
endfunc check_errata_827319 endfunc check_errata_827319
add_erratum_entry cortex_a53, ERRATUM(827319), ERRATA_A53_827319
/* --------------------------------------------------------------------- /* ---------------------------------------------------------------------
* Disable the cache non-temporal hint. * Disable the cache non-temporal hint.
* *
@ -142,6 +150,9 @@ func check_errata_disable_non_temporal_hint
b cpu_rev_var_ls b cpu_rev_var_ls
endfunc check_errata_disable_non_temporal_hint endfunc check_errata_disable_non_temporal_hint
add_erratum_entry cortex_a53, ERRATUM(836870), ERRATA_A53_836870 | A53_DISABLE_NON_TEMPORAL_HINT, \
disable_non_temporal_hint
/* -------------------------------------------------- /* --------------------------------------------------
* Errata Workaround for Cortex A53 Errata #855873. * Errata Workaround for Cortex A53 Errata #855873.
* *
@ -176,6 +187,8 @@ func check_errata_855873
b cpu_rev_var_hs b cpu_rev_var_hs
endfunc check_errata_855873 endfunc check_errata_855873
add_erratum_entry cortex_a53, ERRATUM(855873), ERRATA_A53_855873
/* ------------------------------------------------- /* -------------------------------------------------
* The CPU Ops reset function for Cortex-A53. * The CPU Ops reset function for Cortex-A53.
* Shall clobber: r0-r6 * Shall clobber: r0-r6
@ -284,31 +297,7 @@ func cortex_a53_cluster_pwr_dwn
b cortex_a53_disable_smp b cortex_a53_disable_smp
endfunc cortex_a53_cluster_pwr_dwn endfunc cortex_a53_cluster_pwr_dwn
#if REPORT_ERRATA errata_report_shim cortex_a53
/*
* Errata printing function for Cortex A53. Must follow AAPCS.
*/
func cortex_a53_errata_report
push {r12, lr}
bl cpu_get_rev_var
mov r4, r0
/*
* Report all errata. The revision-variant information is passed to
* checking functions of each errata.
*/
report_errata ERRATA_A53_819472, cortex_a53, 819472
report_errata ERRATA_A53_824069, cortex_a53, 824069
report_errata ERRATA_A53_826319, cortex_a53, 826319
report_errata ERRATA_A53_827319, cortex_a53, 827319
report_errata ERRATA_A53_836870, cortex_a53, disable_non_temporal_hint
report_errata ERRATA_A53_855873, cortex_a53, 855873
pop {r12, lr}
bx lr
endfunc cortex_a53_errata_report
#endif
declare_cpu_ops cortex_a53, CORTEX_A53_MIDR, \ declare_cpu_ops cortex_a53, CORTEX_A53_MIDR, \
cortex_a53_reset_func, \ cortex_a53_reset_func, \