[PATCH v7 00/11] firmware: imx: NXP Secure-Enclave FW Driver

Pankaj Gupta pankaj.gupta at nxp.com
Fri Mar 15 05:23:20 PDT 2024


Hi all,

We took a step back. 
We are doing internal review ongoing on this patch-set.

Thanks everybody helping me improving the patch series.
Thanks. Krzysztof for your guidance for the entire patch-set.

Regards
Pankaj

> -----Original Message-----
> From: Pankaj Gupta <pankaj.gupta at nxp.com>
> Sent: Monday, October 30, 2023 3:29 PM
> To: shawnguo at kernel.org; s.hauer at pengutronix.de;
> kernel at pengutronix.de; clin at suse.com; conor+dt at kernel.org;
> pierre.gondois at arm.com; festevam at gmail.com; dl-linux-imx <linux-
> imx at nxp.com>; davem at davemloft.net; robh+dt at kernel.org;
> krzysztof.kozlowski+dt at linaro.org; linux-arm-kernel at lists.infradead.org;
> devicetree at vger.kernel.org; linux-kernel at vger.kernel.org; Gaurav Jain
> <gaurav.jain at nxp.com>; alexander.stein at ew.tq-group.com; Varun Sethi
> <V.Sethi at nxp.com>
> Cc: Pankaj Gupta <pankaj.gupta at nxp.com>
> Subject: [PATCH v7 00/11] firmware: imx: NXP Secure-Enclave FW Driver
> 
> V7 Changes:
> - 2/11 DT Binding: Disposed off comments from .yaml
>         -- added | to preserve formating.
>         -- removed extra spaces, restricting under 80 col.
> 	-- replaced the "fsl,sram" property, with standard property "sram".
> 	-- Added details about usage of sram.
> 	-- removed the property "mu_id".
> 	-- Added allOf:if:then: for reserved memory.
> 	-- removed label.
> 
> - 3,4,5,6/11: DTSI changes:
> 	-- removed the property "mu_id".
> 	-- rename node-name & label
> 
> - 7/11 firmware: imx: add driver for NXP EdgeLock Enclave:
> 	-- Removed dev_err for the cases of failure in memory allocation.
>         -- For others, coverted dev_err to dev_dbg.
>         -- Updated the commit msg about the details for userspace lib
> 
> 
> V6 Changes:
> 
> - 1/11 (New): Kernel doc: "Documentation/driver-
> api/firmware/other_interfaces.rst" is added.
> 
> - 2/11 DT Binding: Disposed off comments from .yaml
> 	-- replaced the "sram-pool" property, with standard property
> "fsl,sram".
> 	-- removed the additional details from the description.
> 
> - 3,4,5,6/11: DTSI changes:
> 	-- Validated using the following commands:
> 		--- make dt_binding_check DT_SCHEMA_FILES=freescale
>         --- make CHECK_DTBS=y freescale/imx8ulp-evk.dtb;
> 		    make CHECK_DTBS=y freescale/imx93-11x11-evk.dtb
> 
> - 7/11 firmware: imx: add driver for NXP EdgeLock Enclave:
> 	-- Removed:
> 		Reported-by: kernel test robot <lkp at intel.com>
> 		Closes:https://lore.kernel.org/oe-kbuild-
> all/202304120902.bP52A56z-lkp at intel.com
> 	-- pr_info is removed.
> 	-- macro "devctx_info", "devctx_dbg" & "devctx_err" is removed.
> 	-- Updated ABI:
> 	    --- Users: user-space SE-LIB, crypto-api, imx-ocotp-ele driver , smw
> 		--- IOCTLS: Updated the ioctl
> 		--- read/write:
> 	-- Correct message header validation.
> 	   --- segregated handling of the error, while msg header parsing.
> 	-- removed TX and RX messages static allocation in state container.
> 	-- ran coccicheck: make C=1 CHECK=scripts/coccicheck
> drivers/firmware/imx/*.* W=1
> 		--- ran on all the patches.
> - 8/11 firmware: imx: init-fw api exchange on imx93
> 	-- removed TX and RX messages static allocation in state container.
> 	-- moved the header file ele_fw_api.h, to driver/firmware/imx/
> 	-- segregated handling of the error, while msg header parsing.
> 
> - 9/11 firmware: imx: enable trng
> 	-- macro "devctx_info", "devctx_dbg" & "devctx_err" is removed.
> 	-- will remove this patch, will send this patch later, including RNG and
> crypto-maintainers.
> 
> 
> 
> 
> - 10/11 firmware: imx: enclave-fw: add handling for save/restore IMEM region
> 	-- Linux comment style fixed.
> 
> - 10/11(old)(Removed) firmware: imx: enclave api to read-common-fuses
> 	-- This API will be used by imx-ocotp-ele.c.
> 	-- This patch can be sent later, when the changes to imx-ocotp-ele.c
> will be sent.
> 	-- "Documentation/driver-api/firmware/other_interfaces.rst" will be
> update for the exported symbols:
> 	   - read_common_fuses()
> 	   - get_se_dev()
> 
> v5 Changes:
>   - 1/7 DT Binding: Disposed off comments from .yaml
> 	-- to use "-", instead of "_".
> 	-- to use generic name, concatinated with soc-id.
> 	-- removed mu-did.
> 	-- renamed the ele-mu to se-fw
> 	-- moved the file from .../arm/freescale/ to .../firmware/
>   - 2/7 Changed the .dtsi, as per the comments.
> 	-- removed mu-did
> 	-- renamed the ele_mu to se-fw.
> 	-- updated the compatible string.
> 	-- tested the DTB.
>   - 4/7  Changed the .dtsi, as per the comments.
> 	-- removed mu-did
> 	-- renamed the ele_mu to se-fw.
> 	-- updated the compatible string.
> 	-- tested the DTB.
>   - 6/7 Changes in driver code:
> 	-- replace pr_err with dev_err
> 	-- removed export symbols, except one, which will be used in other
> driver.
> 	-- Each API, send-recived based on device reference.
> 	-- Divided the commits into smaller commits.
> 		- Base Driver
> 			-- Added ABI file.
> 		- 7/11 (new) firmware: imx: init-fw api exchange on imx93
> 		- 8/11 (new) firmware: imx: enable trng
> 		- 9/11 (new) firmware: imx: enclave-fw: add handling for
> save/restore IMEM region
> 		- 10/11 (new) firmware: imx: enclave api to read-common-
> fuses
> 
> v4 Changes:
> - Post internal review, changed the name from "ele-mu" to "se-fw".
> - Disposed-off comments in the dt-binding file.
> - Removed the non-hw related dt-bindings from the driver code.
> - Corrected the File MAINTAINERS for correct name of yaml file.
> 
> v3 Changes:
> - update the commit message for documentation.
> - Fixed dt-binding checking error for file- fsl,ele_mu.yaml
> - Coverity fixes in the ele_mu.c
> 
> v2 Changes:
> - Fixed Kernel Test Bot issues.
> - Removed ".../devicetree/bindings/mailbox/fsl,muap.txt"
> 
> The NXP's i.MX EdgeLock Enclave, a HW IP creating an embedded secure
> enclave within the SoC boundary to enable features like
> - HSM
> - SHE
> - V2X
> 
> Communicates via message unit with linux kernel. This driver is enables
> communication ensuring well defined message sequence protocol between
> Application Core and enclave's firmware.
> 
> Driver configures multiple misc-device on the MU, for multiple user-space
> applications can communicate on single MU.
> 
> It exists on some i.MX processors. e.g. i.MX8ULP, i.MX93 etc.
> 
> Pankaj Gupta (11):
>   Documentation/firmware: added imx/se-fw to other_interfaces
>   dt-bindings: arm: fsl: add imx-se-fw binding doc
>   arm64: dts: imx8ulp-evk: added nxp secure enclave firmware
>   arm64: dts: imx8ulp-evk: reserved mem-ranges to constrain ele_fw
>     dma-range
>   arm64: dts: imx93-11x11-evk: added nxp secure enclave fw
>   arm64: dts: imx93-11x11-evk: reserved mem-ranges
>   firmware: imx: add driver for NXP EdgeLock Enclave
>   firmware: imx: init-fw api exchange on imx93
>   firmware: imx: enable trng
>   firmware: imx: enclave-fw: add handling for save/restore IMEM region
>   MAINTAINERS: Added maintainer details
> 
>  Documentation/ABI/testing/se-cdev             |   41 +
>  .../bindings/firmware/fsl,imx-se-fw.yaml      |   83 +
>  .../driver-api/firmware/other_interfaces.rst  |   67 +
>  MAINTAINERS                                   |   10 +
>  arch/arm64/boot/dts/freescale/imx8ulp-evk.dts |   15 +
>  arch/arm64/boot/dts/freescale/imx8ulp.dtsi    |   10 +-
>  .../boot/dts/freescale/imx93-11x11-evk.dts    |   15 +
>  arch/arm64/boot/dts/freescale/imx93.dtsi      |    8 +-
>  drivers/firmware/imx/Kconfig                  |   21 +
>  drivers/firmware/imx/Makefile                 |    3 +
>  drivers/firmware/imx/ele_base_msg.c           |  271 ++++
>  drivers/firmware/imx/ele_common.c             |  294 ++++
>  drivers/firmware/imx/ele_common.h             |   40 +
>  drivers/firmware/imx/ele_fw_api.c             |  118 ++
>  drivers/firmware/imx/ele_fw_api.h             |   26 +
>  drivers/firmware/imx/ele_trng.c               |   47 +
>  drivers/firmware/imx/se_fw.c                  | 1376 +++++++++++++++++
>  drivers/firmware/imx/se_fw.h                  |  154 ++
>  include/linux/firmware/imx/ele_base_msg.h     |   67 +
>  include/linux/firmware/imx/ele_mu_ioctl.h     |   74 +
>  20 files changed, 2738 insertions(+), 2 deletions(-)  create mode 100644
> Documentation/ABI/testing/se-cdev  create mode 100644
> Documentation/devicetree/bindings/firmware/fsl,imx-se-fw.yaml
>  create mode 100644 drivers/firmware/imx/ele_base_msg.c
>  create mode 100644 drivers/firmware/imx/ele_common.c  create mode
> 100644 drivers/firmware/imx/ele_common.h  create mode 100644
> drivers/firmware/imx/ele_fw_api.c  create mode 100644
> drivers/firmware/imx/ele_fw_api.h  create mode 100644
> drivers/firmware/imx/ele_trng.c  create mode 100644
> drivers/firmware/imx/se_fw.c  create mode 100644
> drivers/firmware/imx/se_fw.h  create mode 100644
> include/linux/firmware/imx/ele_base_msg.h
>  create mode 100644 include/linux/firmware/imx/ele_mu_ioctl.h
> 
> --
> 2.34.1
> 




More information about the linux-arm-kernel mailing list