summaryrefslogtreecommitdiff
path: root/drivers/crypto/caam/ctrl.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/crypto/caam/ctrl.c')
-rw-r--r--drivers/crypto/caam/ctrl.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c
index 7a22427..321deb0 100644
--- a/drivers/crypto/caam/ctrl.c
+++ b/drivers/crypto/caam/ctrl.c
@@ -480,6 +480,7 @@ static int caam_probe(struct platform_device *pdev)
{
int ret, ring, rspec;
u64 caam_id;
+ u32 caam_id_ms;
struct device *dev;
struct device_node *nprop, *np;
struct caam_ctrl __iomem *ctrl;
@@ -660,7 +661,12 @@ static int caam_probe(struct platform_device *pdev)
/* NOTE: RTIC detection ought to go here, around Si time */
ctrlpriv->era = caam_get_era();
- caam_id = (u64)rd_reg32(&ctrl->perfmon.caam_id_ms) << 32 |
+
+ caam_id_ms = rd_reg32(&ctrl->perfmon.caam_id_ms);
+ if (caam_id_ms == SEC_ID_MS_T1040)
+ ctrlpriv->errata |= SEC_ERRATUM_A_006899;
+
+ caam_id = (u64)caam_id_ms << 32 |
(u64)rd_reg32(&ctrl->perfmon.caam_id_ls);
/* Report "alive" for developer to see */