summaryrefslogtreecommitdiff
path: root/Documentation/ABI
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2026-09-30 12:47:29 +0100
committerMark Brown <broonie@kernel.org>2026-09-30 12:47:29 +0100
commitd5ffed5a8e3daecdeecc2e18bfa04a2253d84f60 (patch)
tree40df117b456007261f68c826e833963e84278cbf /Documentation/ABI
parent4d80b22865cc3e453aab4777948408c32f150483 (diff)
parent5d034f17b24642b2a764c0e3a68b4c6937c9ba75 (diff)
downloadlinux-next-d5ffed5a8e3daecdeecc2e18bfa04a2253d84f60.tar.gz
linux-next-d5ffed5a8e3daecdeecc2e18bfa04a2253d84f60.zip
Merge branch 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux.git
Diffstat (limited to 'Documentation/ABI')
-rw-r--r--Documentation/ABI/testing/se-cdev45
1 files changed, 45 insertions, 0 deletions
diff --git a/Documentation/ABI/testing/se-cdev b/Documentation/ABI/testing/se-cdev
new file mode 100644
index 000000000000..0a353caeaab2
--- /dev/null
+++ b/Documentation/ABI/testing/se-cdev
@@ -0,0 +1,45 @@
+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]<uapi/linux/se_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_for_completion_interruptible_timeout, 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
+ `fops_lock` + `se_if_cmd_lock` 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