]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
crypto: caam - i.MX8ULP donot have CAAM page0 access
authorPankaj Gupta <pankaj.gupta@nxp.com>
Mon, 29 Apr 2024 06:28:54 +0000 (11:58 +0530)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 10 May 2024 09:15:24 +0000 (17:15 +0800)
iMX8ULP have a secure-enclave hardware IP called EdgeLock Enclave(ELE),
that control access to caam controller's register page, i.e., page0.

At all, if the ELE release access to CAAM controller's register page,
it will release to secure-world only.

Clocks are turned on automatically for iMX8ULP. There exists the caam
clock gating bit, but it is not advised to gate the clock at linux, as
optee-os or any other entity might be using it.

Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com>
Reviewed-by: Gaurav Jain <gaurav.jain@nxp.com>
Reviewed-by: Horia Geanta <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/caam/ctrl.c

index 02363c467cf3184bcc283438e41df9faa9744bd4..bd418dea586d12969ea7a3dc86a14b9593b58aaf 100644 (file)
@@ -563,11 +563,14 @@ static const struct caam_imx_data caam_vf610_data = {
        .num_clks = ARRAY_SIZE(caam_vf610_clks),
 };
 
+static const struct caam_imx_data caam_imx8ulp_data;
+
 static const struct soc_device_attribute caam_imx_soc_table[] = {
        { .soc_id = "i.MX6UL", .data = &caam_imx6ul_data },
        { .soc_id = "i.MX6*",  .data = &caam_imx6_data },
        { .soc_id = "i.MX7*",  .data = &caam_imx7_data },
        { .soc_id = "i.MX8M*", .data = &caam_imx7_data },
+       { .soc_id = "i.MX8ULP", .data = &caam_imx8ulp_data },
        { .soc_id = "VF*",     .data = &caam_vf610_data },
        { .family = "Freescale i.MX" },
        { /* sentinel */ }