All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Holland <johannes.holland@infineon.com>
To: <jarkko@kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-integrity@vger.kernel.org>, <robh+dt@kernel.org>,
	<devicetree@vger.kernel.org>
Cc: <peterhuewe@gmx.de>, <jgg@ziepe.ca>,
	<krzysztof.kozlowski+dt@linaro.org>,
	Johannes Holland <johannes.holland@infineon.com>
Subject: [PATCH v2 4/4] dt-bindings: doc/devicetree/bindings/security/tpm: Move tpm-i2c.txt to YAML
Date: Fri, 6 May 2022 19:00:17 +0200	[thread overview]
Message-ID: <20220506170013.22598-4-johannes.holland@infineon.com> (raw)
In-Reply-To: <20220506170013.22598-1-johannes.holland@infineon.com>

Migrate the existing plain text I2c driver schema to YAML and extend by
the options of the generic TIS driver for I2C TPMs which comply to the
TCG PC Client Platform TPM Profile (PTP) specification for TPM 2.0 v1.04
Revision 14.

Signed-off-by: Johannes Holland <johannes.holland@infineon.com>
---
Changelog:
 * v2:
   * move existing device tree instead of just adding a new one
   * do not use wildcard compatibles
   * make properties "label", "linux,sml-base" and "linux,sml-size"
     optional, as they should be

All properties are listed, even if some drivers do not implement them.

As mentioned, I kept the generic compatible in there because the TPM
is a standardized device. For vendor-specific features and bugs, the
specific compatibles can be used. Please let me know if you need it
removed.

 .../bindings/security/tpm/tpm-i2c.txt         | 26 --------
 .../bindings/security/tpm/tpm-i2c.yaml        | 66 +++++++++++++++++++
 2 files changed, 66 insertions(+), 26 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/security/tpm/tpm-i2c.txt
 create mode 100644 Documentation/devicetree/bindings/security/tpm/tpm-i2c.yaml

diff --git a/Documentation/devicetree/bindings/security/tpm/tpm-i2c.txt b/Documentation/devicetree/bindings/security/tpm/tpm-i2c.txt
deleted file mode 100644
index a65d7b71e81a..000000000000
--- a/Documentation/devicetree/bindings/security/tpm/tpm-i2c.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-* Device Tree Bindings for I2C based Trusted Platform Module(TPM)
-
-Required properties:
-
-- compatible     : 'manufacturer,model', eg. nuvoton,npct650
-- label          : human readable string describing the device, eg. "tpm"
-- linux,sml-base : 64-bit base address of the reserved memory allocated for
-                   the firmware event log
-- linux,sml-size : size of the memory allocated for the firmware event log
-
-Optional properties:
-
-- powered-while-suspended: present when the TPM is left powered on between
-                           suspend and resume (makes the suspend/resume
-                           callbacks do nothing).
-
-Example (for OpenPower Systems with Nuvoton TPM 2.0 on I2C)
-----------------------------------------------------------
-
-tpm@57 {
-	reg = <0x57>;
-	label = "tpm";
-	compatible = "nuvoton,npct650", "nuvoton,npct601";
-	linux,sml-base = <0x7f 0xfd450000>;
-	linux,sml-size = <0x10000>;
-};
diff --git a/Documentation/devicetree/bindings/security/tpm/tpm-i2c.yaml b/Documentation/devicetree/bindings/security/tpm/tpm-i2c.yaml
new file mode 100644
index 000000000000..952605ab8611
--- /dev/null
+++ b/Documentation/devicetree/bindings/security/tpm/tpm-i2c.yaml
@@ -0,0 +1,66 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/security/tpm/tpm-i2c.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: I2C PTP based TPM Device Tree Bindings
+
+maintainers:
+  - Johannes Holland <johannes.holland@infineon.com>
+
+description:
+  Device Tree Bindings for I2C based Trusted Platform Module (TPM).
+
+properties:
+  compatible:
+    items:
+      - enum:
+          # Infineon's Trusted Platform Module (TPM) (SLB9673)
+          - infineon,slb9673
+          - nuvoton,npct601
+          - nuvoton,npct650
+      - const: tcg,tpm-tis-i2c
+
+  reg:
+    maxItems: 1
+
+  interrupt:
+    maxItems: 1
+
+  label:
+    description: |
+      Human readable string describing the device, eg. "tpm".
+
+  linux,sml-base:
+    description: |
+      64-bit base address of the reserved memory allocated
+      for the firmware event log.
+
+  linux,sml-size:
+    description: |
+      Size of the memory allocated for the firmware event log.
+
+  powered-while-suspended:
+    description: |
+      Present when the TPM is left powered on between suspend and
+      resume (makes the suspend/resume callbacks do nothing).
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      tpm@2e {
+        compatible = "infineon,slb9673", "tcg,tpm-tis-i2c";
+        reg = <0x2e>;
+      };
+    };
+...
-- 
2.34.1


  parent reply	other threads:[~2022-05-06 17:05 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-06 17:00 [PATCH v2 1/4] tpm: Add tpm_tis_i2c backend for tpm_tis_core Johannes Holland
2022-05-06 17:00 ` [PATCH v2 2/4] tpm: Add tpm_tis_verify_crc to the tpm_tis_phy_ops protocol layer Johannes Holland
2022-05-07 19:53   ` Jarkko Sakkinen
2022-05-06 17:00 ` [PATCH v2 3/4] tpm: Implement command and response retry in tpm_tis_core Johannes Holland
2022-05-07 19:56   ` Jarkko Sakkinen
2022-05-06 17:00 ` Johannes Holland [this message]
2022-05-07 15:58   ` [PATCH v2 4/4] dt-bindings: doc/devicetree/bindings/security/tpm: Move tpm-i2c.txt to YAML Krzysztof Kozlowski
2022-05-07 16:01 ` [PATCH v2 1/4] tpm: Add tpm_tis_i2c backend for tpm_tis_core Krzysztof Kozlowski
2022-05-07 19:52 ` Jarkko Sakkinen

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=20220506170013.22598-4-johannes.holland@infineon.com \
    --to=johannes.holland@infineon.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jarkko@kernel.org \
    --cc=jgg@ziepe.ca \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterhuewe@gmx.de \
    --cc=robh+dt@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.