[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1597737122.73802.3.camel@oss.nxp.com>
Date: Tue, 18 Aug 2020 09:52:02 +0200
From: "Franck LENORMAND (OSS)" <franck.lenormand@....nxp.com>
To: shawnguo@...nel.org, s.hauer@...gutronix.de, festevam@...il.com
Cc: kernel@...gutronix.de, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-imx@....com,
aisheng.dong@....com, abel.vesa@....com, Anson.Huang@....com,
linux@...pel-privat.de, leonard.crestez@....com,
daniel.baluta@....com, qiangqing.zhang@....com, peng.fan@....com
Subject: Re: [PATCH v2 0/5] Add support of SECVIO from SNVS on iMX8q/x
Hello,
Peng was able to do a firt pass of review on my patchset which led to this
second version. I hope a maintainer will be able to take a look at this
patchset once rested after all the work they did for 5.9.
On mar., 2020-07-21 at 17:20 +0200, franck.lenormand@....nxp.com wrote:
> From: Franck LENORMAND <franck.lenormand@....nxp.com>
>
> This patchset aims to add support for the SECurity VIOlation (SECVIO) of the
> SNVS. A secvio is a signal emitted by the SNVS when a hardware attack
> is detected. On imx8x and imx8q SoC, the SNVS is controlled by the
> SECO and it is possible to interact with it using the SCU using the SC APIs.
>
> For the driver to communicate with the SNVS via the SCU and the SECO, I had to:
> - Add support for exchange of big message with the SCU (needed for
> imx_scu_irq_get_status)
> - Add API to check linux can control the SECVIO (imx_sc_rm_is_resource_owned)
> - Add APIs for the driver to read the state of the SECVIO registers of the
> SNVS and DGO (imx_sc_seco_secvio_enable and imx_sc_seco_secvio_enable).
>
> To check the state of the SECVIO IRQ in the SCU, I added the
> imx_scu_irq_get_status API.
>
> The secvio driver is designed to receive the IRQ produced by the
> SNVS in case of hardware attack and notify the status to the
> audit framework which can be used by the user.
>
> The goal of the driver is to be self suficient but can be extended by the
> user to perform custom operations on values read (imx_sc_seco_secvio_enable)
>
> v2:
> - Removed (firmware: imx: scu-rm: Add Resource Management APIs)
> -> Code required is already present
> - Removed (firmware: imx: scu: Support reception of messages of any size)
> -> The imx-scu is already working in fast-ipc mode
> - (soc: imx8: Add the SC SECVIO driver):
> - Fixed the warnings reported by kernel test robot
>
> Franck LENORMAND (5):
> firmware: imx: scu-seco: Add SEcure Controller APIS
> firmware: imx: scu-irq: Add API to retrieve status of IRQ
> dt-bindings: firmware: imx-scu: Add SECVIO resource
> dt-bindings: arm: imx: Documentation of the SC secvio driver
> soc: imx8: Add the SC SECVIO driver
>
> .../bindings/arm/freescale/fsl,imx-sc-secvio.yaml | 34 +
> drivers/firmware/imx/Makefile | 2 +-
> drivers/firmware/imx/imx-scu-irq.c | 37 +-
> drivers/firmware/imx/imx-scu.c | 3 +
> drivers/firmware/imx/seco.c | 275 +++++++
> drivers/soc/imx/Kconfig | 10 +
> drivers/soc/imx/Makefile | 1 +
> drivers/soc/imx/secvio/Kconfig | 10 +
> drivers/soc/imx/secvio/Makefile | 3 +
> drivers/soc/imx/secvio/imx-secvio-audit.c | 39 +
> drivers/soc/imx/secvio/imx-secvio-debugfs.c | 379 +++++++++
> drivers/soc/imx/secvio/imx-secvio-sc-int.h | 84 ++
> drivers/soc/imx/secvio/imx-secvio-sc.c | 858 +++++++++++++++++++++
> include/dt-bindings/firmware/imx/rsrc.h | 3 +-
> include/linux/firmware/imx/ipc.h | 1 +
> include/linux/firmware/imx/sci.h | 5 +
> include/linux/firmware/imx/svc/seco.h | 73 ++
> include/soc/imx/imx-secvio-sc.h | 177 +++++
> 18 files changed, 1991 insertions(+), 3 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/arm/freescale/fsl,imx-sc-
> secvio.yaml
> create mode 100644 drivers/firmware/imx/seco.c
> create mode 100644 drivers/soc/imx/secvio/Kconfig
> create mode 100644 drivers/soc/imx/secvio/Makefile
> create mode 100644 drivers/soc/imx/secvio/imx-secvio-audit.c
> create mode 100644 drivers/soc/imx/secvio/imx-secvio-debugfs.c
> create mode 100644 drivers/soc/imx/secvio/imx-secvio-sc-int.h
> create mode 100644 drivers/soc/imx/secvio/imx-secvio-sc.c
> create mode 100644 include/linux/firmware/imx/svc/seco.h
> create mode 100644 include/soc/imx/imx-secvio-sc.h
>
Powered by blists - more mailing lists