diff options
author | Aymen Sghaier <aymen.sghaier@nxp.com> | 2017-11-10 09:53:57 +0100 |
---|---|---|
committer | Leonard Crestez <leonard.crestez@nxp.com> | 2018-08-24 12:41:33 +0300 |
commit | 0a6608e8c0115ce641cbfd1711aba58902e7d076 (patch) | |
tree | 4cb3d8a5163d60151f5d2d735f1bbdc63fb99643 /drivers/crypto/caam/caamalg.c | |
parent | 3d26d2e3a14b1ef69083fa12beac9dfc31a3cecf (diff) |
MLK-15473-1: crypto: caam: Add CAAM driver support for iMX8 soc family
Enable CAAM driver for i.MX8 family:
- Use a Job ring for RNG instantiation rather than DECO, even
for i.MX6/7 families.
- Use of aliased CAAM registers instead of original registers in page 0
since page 0 is no more accessible in i.MX8 family except mScale.
Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
Diffstat (limited to 'drivers/crypto/caam/caamalg.c')
-rw-r--r-- | drivers/crypto/caam/caamalg.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/crypto/caam/caamalg.c b/drivers/crypto/caam/caamalg.c index 8cef9ad08c2b..6ea7bb3b2c68 100644 --- a/drivers/crypto/caam/caamalg.c +++ b/drivers/crypto/caam/caamalg.c @@ -1,7 +1,7 @@ /* * caam - Freescale FSL CAAM support for crypto API * - * Copyright 2008-2011 Freescale Semiconductor, Inc. + * Copyright 2008-2017 Freescale Semiconductor, Inc. * * Based on talitos crypto API driver. * @@ -4726,8 +4726,14 @@ static int __init caam_algapi_init(void) * Register crypto algorithms the device supports. * First, detect presence and attributes of DES, AES, and MD blocks. */ - cha_vid = rd_reg32(&priv->ctrl->perfmon.cha_id_ls); - cha_inst = rd_reg32(&priv->ctrl->perfmon.cha_num_ls); + if (priv->has_seco) { + i = priv->first_jr_index; + cha_vid = rd_reg32(&priv->jr[i]->perfmon.cha_id_ls); + cha_inst = rd_reg32(&priv->jr[i]->perfmon.cha_num_ls); + } else { + cha_vid = rd_reg32(&priv->ctrl->perfmon.cha_id_ls); + cha_inst = rd_reg32(&priv->ctrl->perfmon.cha_num_ls); + } des_inst = (cha_inst & CHA_ID_LS_DES_MASK) >> CHA_ID_LS_DES_SHIFT; aes_inst = (cha_inst & CHA_ID_LS_AES_MASK) >> CHA_ID_LS_AES_SHIFT; md_inst = (cha_inst & CHA_ID_LS_MD_MASK) >> CHA_ID_LS_MD_SHIFT; |