imx.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Vabhav Sharma <vabhav.sharma@nxp.com>
To: Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	 Conor Dooley <conor+dt@kernel.org>,
	 Franck LENORMAND <franck.lenormand@nxp.com>,
	 Dong Aisheng <aisheng.dong@nxp.com>,
	Shawn Guo <shawnguo@kernel.org>,
	 Sascha Hauer <s.hauer@pengutronix.de>,
	 Pengutronix Kernel Team <kernel@pengutronix.de>,
	 Fabio Estevam <festevam@gmail.com>, Peng Fan <peng.fan@nxp.com>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	 imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
	 Varun Sethi <V.Sethi@nxp.com>,
	Silvano Di Ninno <silvano.dininno@nxp.com>,
	 Pankaj Gupta <pankaj.gupta@nxp.com>,
	frank.li@nxp.com,  daniel.baluta@nxp.com,
	Vabhav Sharma <vabhav.sharma@nxp.com>,
	 Iuliana Prodan <iuliana.prodan@nxp.com>,
	 Horia Geanta <horia.geanta@nxp.com>
Subject: [PATCH 0/4] soc: imx: secvio: Add secvio support
Date: Thu, 09 May 2024 02:45:31 +0200	[thread overview]
Message-ID: <20240509-secvio-v1-0-90fbe2baeda2@nxp.com> (raw)

The tampers are security feature available on i.MX products and
managed by SNVS block.The tamper goal is to detect the variation
of hardware or physical parameters, which can indicate an attack.

The SNVS, which provides secure non-volatile storage, allows to
detect some hardware attacks against the SoC.They are connected
to the security-violation ports, which send an alert when an
out-of-range value is detected.

This detection is done by:
-Analog tampers: measure analogic values
	- External clock frequency.
	- Temperature.
	- Voltage.

- Digital tampers:
	- External tamper
	- Other detectors:
		- Secure real-time counter rollover tamper.
		- Monotonic counter rollover tamper.
		- Power supply glitch tamper.

The on-chip sensors for voltage, temperature, and clock frequency
indicate if tamper scenarios may be present. These sensors generate an
out-of-range signal that causes a security violation to clear the
authentication and storage keys and to block access to sensitive
information.

Add linux module secvio driver to handle security violation interrupt.

The "imx-secvio-sc" module is designed to report security violations
and tamper triggering to the user.

The functionalities of the module are accessible via the "debugfs"
kernel.The folder containing the interface files for the module is
"<kernel_debugfs>/secvio/".

Get status
Reading from the "info" file will return the status of security:
- Fuse related to security tampers.
- SNVS readable registers.
- DGO registers.

Signed-off-by: Vabhav Sharma <vabhav.sharma@nxp.com>
---
Vabhav Sharma (4):
      dt-bindings: firmware: secvio: Add device tree bindings
      firmware: imx: Add SC APIs required for secvio module
      soc: imx: secvio: Add support for SNVS secvio and tamper via SCFW
      arm64: dts: imx8q: Add node for Security Violation

 .../bindings/arm/freescale/fsl,scu-secvio.yaml     |  35 ++
 .../devicetree/bindings/firmware/fsl,scu.yaml      |  10 +
 arch/arm64/boot/dts/freescale/imx8qxp.dtsi         |   5 +
 drivers/firmware/imx/Makefile                      |   2 +-
 drivers/firmware/imx/imx-scu.c                     |   4 +-
 drivers/firmware/imx/seco.c                        | 216 ++++++++
 drivers/soc/imx/Kconfig                            |  11 +
 drivers/soc/imx/Makefile                           |   1 +
 drivers/soc/imx/secvio/Makefile                    |   2 +
 drivers/soc/imx/secvio/imx-secvio-debugfs.c        | 274 ++++++++++
 drivers/soc/imx/secvio/imx-secvio-sc.c             | 595 +++++++++++++++++++++
 include/linux/firmware/imx/ipc.h                   |   1 +
 include/linux/firmware/imx/sci.h                   |   4 +
 include/linux/firmware/imx/svc/seco.h              |  69 +++
 include/soc/imx/imx-secvio-sc.h                    | 216 ++++++++
 15 files changed, 1443 insertions(+), 2 deletions(-)
---
base-commit: 93a39e4766083050ca0ecd6a3548093a3b9eb60c
change-id: 20240508-secvio-8acfa2838385

Best regards,
-- 
Vabhav Sharma <vabhav.sharma@nxp.com>


             reply	other threads:[~2024-05-09  0:45 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-09  0:45 Vabhav Sharma [this message]
2024-05-09  0:45 ` [PATCH 1/4] dt-bindings: firmware: secvio: Add device tree bindings Vabhav Sharma
2024-05-09  3:06   ` Frank Li
2024-05-09  5:54     ` Krzysztof Kozlowski
2024-06-07  5:00       ` [EXT] " Vabhav Sharma
2024-06-07  5:08     ` Vabhav Sharma
2024-05-09  5:53   ` Krzysztof Kozlowski
2024-06-07  4:58     ` [EXT] " Vabhav Sharma
2024-06-07  7:07       ` Krzysztof Kozlowski
2024-05-09  0:45 ` [PATCH 2/4] firmware: imx: Add SC APIs required for secvio module Vabhav Sharma
2024-05-09  0:45 ` [PATCH 3/4] soc: imx: secvio: Add support for SNVS secvio and tamper via SCFW Vabhav Sharma
2024-05-09  0:45 ` [PATCH 4/4] arm64: dts: imx8q: Add node for Security Violation Vabhav Sharma
2024-05-09  5:51 ` [PATCH 0/4] soc: imx: secvio: Add secvio support Krzysztof Kozlowski
2024-06-07  4:52   ` [EXT] " Vabhav Sharma

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240509-secvio-v1-0-90fbe2baeda2@nxp.com \
    --to=vabhav.sharma@nxp.com \
    --cc=V.Sethi@nxp.com \
    --cc=aisheng.dong@nxp.com \
    --cc=conor+dt@kernel.org \
    --cc=daniel.baluta@nxp.com \
    --cc=devicetree@vger.kernel.org \
    --cc=festevam@gmail.com \
    --cc=franck.lenormand@nxp.com \
    --cc=frank.li@nxp.com \
    --cc=horia.geanta@nxp.com \
    --cc=imx@lists.linux.dev \
    --cc=iuliana.prodan@nxp.com \
    --cc=kernel@pengutronix.de \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pankaj.gupta@nxp.com \
    --cc=peng.fan@nxp.com \
    --cc=robh@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=silvano.dininno@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).