blob: c6b8e16bda78d5532e9d359df255d48f45ee3812 [file]
What: /dev/<se>_mu[0-9]+_ch[0-9]+
Date: Mar 2025
KernelVersion: 6.8
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/<se>_mu*_ch* are the interface between userspace 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
- getting mu info
- setting a dev-ctx as receiver to receive all the commands from FW
- getting SoC info
- send command and receive command response
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
wait_event_interruptible, 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 frees up the I/O contexts that were 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