Message ID | 20231030095849.3456820-1-pankaj.gupta@nxp.com (mailing list archive) |
---|---|
Headers | show |
Series | firmware: imx: NXP Secure-Enclave FW Driver | expand |
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@nxp.com> > Sent: Monday, October 30, 2023 3:29 PM > To: shawnguo@kernel.org; s.hauer@pengutronix.de; > kernel@pengutronix.de; clin@suse.com; conor+dt@kernel.org; > pierre.gondois@arm.com; festevam@gmail.com; dl-linux-imx <linux- > imx@nxp.com>; davem@davemloft.net; robh+dt@kernel.org; > krzysztof.kozlowski+dt@linaro.org; linux-arm-kernel@lists.infradead.org; > devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; Gaurav Jain > <gaurav.jain@nxp.com>; alexander.stein@ew.tq-group.com; Varun Sethi > <V.Sethi@nxp.com> > Cc: Pankaj Gupta <pankaj.gupta@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@intel.com> > Closes:https://lore.kernel.org/oe-kbuild- > all/202304120902.bP52A56z-lkp@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 >