diff mbox series

[v3,2/2] drivers: crypto: caam: i.MX8ULP donot have CAAM page0 access

Message ID 20240416053303.421259-3-pankaj.gupta@nxp.com (mailing list archive)
State Changes Requested
Delegated to: Herbert Xu
Headers show
Series caam: init-clk based on caam-page0-access | expand

Commit Message

Pankaj Gupta April 16, 2024, 5:33 a.m. UTC
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>
---
 drivers/crypto/caam/ctrl.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Horia Geanta April 18, 2024, 2:53 p.m. UTC | #1
On 4/16/2024 8:35 AM, Pankaj Gupta wrote:
> 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: Horia Geantă <horia.geanta@nxp.com>

Thanks,
Horia
diff mbox series

Patch

diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c
index 247d42aa32df..f0f87fe8ef92 100644
--- a/drivers/crypto/caam/ctrl.c
+++ b/drivers/crypto/caam/ctrl.c
@@ -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 */ }