Re: [PATCH v3 5/5] firmware: imx: adds miscdev

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi--

On 6/17/24 12:29 AM, Pankaj Gupta wrote:
> Adds the driver for communication interface to secure-enclave,
> for exchanging messages with NXP secure enclave HW IP(s) like
> EdgeLock Enclave from:
> - User-Space Applications via character driver.
> 
> ABI documentation for the NXP secure-enclave driver.
> 
> User-space library using this driver:
> - i.MX Secure Enclave library:
>   -- URL: https://github.com/nxp-imx/imx-secure-enclave.git,
> - i.MX Secure Middle-Ware:
>   -- URL: https://github.com/nxp-imx/imx-smw.git
> 
> Signed-off-by: Pankaj Gupta <pankaj.gupta@xxxxxxx>
> ---
>  Documentation/ABI/testing/se-cdev |  42 +++
>  drivers/firmware/imx/ele_common.c | 153 ++++++++-
>  drivers/firmware/imx/ele_common.h |   4 +
>  drivers/firmware/imx/se_ctrl.c    | 694 ++++++++++++++++++++++++++++++++++++++
>  drivers/firmware/imx/se_ctrl.h    |  49 +++
>  include/uapi/linux/se_ioctl.h     |  94 ++++++
>  6 files changed, 1034 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/ABI/testing/se-cdev b/Documentation/ABI/testing/se-cdev
> new file mode 100644
> index 000000000000..699525af6b86
> --- /dev/null
> +++ b/Documentation/ABI/testing/se-cdev
> @@ -0,0 +1,42 @@
> +What:		/dev/<se>_mu[0-9]+_ch[0-9]+
> +Date:		May 2024
> +KernelVersion:	6.8
> +Contact:	linux-imx@xxxxxxx, pankaj.gupta@xxxxxxx
> +Description:
> +		NXP offers multiple hardware IP(s) for  secure-enclaves like EdgeLock-

		                                   for secure enclaves

> +		Enclave(ELE), SECO. The character device file-descriptors

		                                         file descriptors

and what is SECO?

> +		/dev/<se>_mu*_ch* are the interface between user-space NXP's secure-

		                                            userspace        secure

> +		enclave shared-library and the kernel driver.

		        shared library

> +
> +		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

			- getting mu info

> +			- setting a dev-ctx as receiver that is slave to fw
> +			- get SoC info

			- getting SoC info

> +
> +		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

		  typo in that name?
		or is it something that this patch series introduces?

> +		  function; indicating a message received from the firmware on message-

		  function,

> +		  unit.
> +
> +		write(2)
> +		  Every write() to the opened character device context needs to acquire
> +		  mailbox_lock, before sending message on to the message unit.

		  mailbox_lock before

> +
> +		close(2)
> +		  Stops and free up the I/O contexts that was associated

		            frees up                 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


-- 
~Randy




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux