mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-09-03 02:16:09 +02:00

The Edgelock Enclave , is the secure enclave embedded in the SoC to support the features like HSM, SHE & V2X, using message based communication channel. ELE FW communicates on a dedicated MU with application core where kernel is running. It exists on specific i.MX processors. e.g. i.MX8ULP, i.MX93. Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com>
1.4 KiB
1.4 KiB
What: /dev/_mu[0-9]+_ch[0-9]+ Date: August 2023 KernelVersion: 6.6 Contact: linux-imx@nxp.com, pankaj.gupta@nxp.com Description: NXP offers multiple hardware IP(s) for secure-enclaves like EdgeLock- Enclave(ELE), SECO. The character device file-descriptors /dev/_mu*_ch* are the interface between user-space NXP's secure- enclave shared-library and the kernel driver.
The ioctl(2)-based ABI is defined and documented in
[include]<linux/firmware/imx/ele_mu_ioctl.h>
ioctl(s) are used primarily for:
- shared memory management
- allocation of I/O buffers
- get mu info
- setting a dev-ctx as receiver that is slave to fw
The following file operations are supported:
open(2)
Currently the only useful flags are O_RDWR.
read(2)
Every read() from the opened character device context is waiting on
wakeup_intruptible, that gets set by the registered mailbox callback
function; indicating a message received from the firmware on message-
unit.
write(2)
Every write() to the opened character device context needs to acquire
mailbox_lock, before sending message on to the message unit.
close(2)
Stops and free up the I/O contexts that was associated
with the file descriptor.
Users: https://github.com/nxp-imx/imx-secure-enclave.git, https://github.com/nxp-imx/imx-smw.git crypto/skcipher, drivers/nvmem/imx-ocotp-ele.c