All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lukas Wunner <lukas@wunner.de>
To: Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>
Cc: devicetree@vger.kernel.org, linux-integrity@vger.kernel.org,
	Lino Sanfilippo <LinoSanfilippo@gmx.de>
Subject: [PATCH 0/3] dt-bindings: tpm: Clean all the things
Date: Tue, 21 Nov 2023 10:48:40 +0100	[thread overview]
Message-ID: <cover.1700555862.git.lukas@wunner.de> (raw)

Rob asked me to consolidate and convert the TPM dt-bindings:
https://lore.kernel.org/all/20230927115300.GA1587935-robh@kernel.org/

I came across several issues:

First, this pull request is needed to cope with ibm,#dma-address-cells
and ibm,#dma-size-cells properties used in ibm,vtpm.yaml:

  https://github.com/devicetree-org/dt-schema/pull/116

Second, the compatible string "google,cr50" refers to a chip which has
both an i2c and an spi interface (see drivers/char/tpm/tpm_tis_i2c_cr50.c
as well as tpm_tis_spi_main.c)  This confuses the schema validator
because it thinks that "google,cr50" may only use i2c properties but
tcg,tpm_tis-spi.yaml contains an spi example, which causes some warnings.
It seems deeper code changes to the schema validator are required to
avoid them:

  Documentation/devicetree/bindings/tpm/tcg,tpm_tis-spi.example.dtb: tpm@0: compatible:1: 'tcg,tpm-tis-i2c' was expected
  from schema $id: http://devicetree.org/schemas/tpm/tcg,tpm-tis-i2c.yaml#
  Documentation/devicetree/bindings/tpm/tcg,tpm_tis-spi.example.dtb: tpm@0: Unevaluated properties are not allowed ('compatible', 'spi-max-frequency' were unexpected)
  from schema $id: http://devicetree.org/schemas/tpm/tcg,tpm-tis-i2c.yaml#

Third, the schema validator raises warnings about three properties
I've defined in tpm-common.yaml:  "linux,sml-base" and "linux,sml-size"
are nested in a oneOf/allOf clause and "lpcpd-gpios" is nested in an
allOf/if-then clause.  This seems to confuse the validator:

  Documentation/devicetree/bindings/tpm/tcg,tpm-tis-i2c.example.dtb: tpm@57: Unevaluated properties are not allowed ('linux,sml-base', 'linux,sml-size' were unexpected)
  from schema $id: http://devicetree.org/schemas/tpm/tcg,tpm-tis-i2c.yaml#
  Documentation/devicetree/bindings/tpm/tcg,tpm-tis-i2c.example.dtb: tpm@13: Unevaluated properties are not allowed ('lpcpd-gpios' was unexpected)
  from schema $id: http://devicetree.org/schemas/tpm/tcg,tpm-tis-i2c.yaml#

I can get rid of those warnings by setting "unevaluatedProperties: true",
but that doesn't seem to be desirable.


Lukas Wunner (3):
  dt-bindings: tpm: Consolidate TCG TIS bindings
  dt-bindings: tpm: Convert IBM vTPM bindings to DT schema
  dt-bindings: tpm: Document Microsoft fTPM bindings

 .../bindings/security/tpm/google,cr50.txt     |  19 ----
 .../bindings/security/tpm/ibmvtpm.txt         |  41 -------
 .../bindings/security/tpm/st33zp24-i2c.txt    |  34 ------
 .../bindings/security/tpm/st33zp24-spi.txt    |  32 ------
 .../bindings/security/tpm/tpm-i2c.txt         |  26 -----
 .../bindings/security/tpm/tpm_tis_mmio.txt    |  25 ----
 .../bindings/security/tpm/tpm_tis_spi.txt     |  23 ----
 .../devicetree/bindings/tpm/ibm,vtpm.yaml     | 101 +++++++++++++++++
 .../bindings/tpm/microsoft,ftpm.yaml          |  48 ++++++++
 .../bindings/tpm/tcg,tpm-tis-i2c.yaml         | 107 ++++++++++++++++++
 .../bindings/tpm/tcg,tpm-tis-mmio.yaml        |  50 ++++++++
 .../bindings/tpm/tcg,tpm_tis-spi.yaml         |  88 ++++++++++++++
 .../devicetree/bindings/tpm/tpm-common.yaml   |  56 +++++++++
 .../devicetree/bindings/trivial-devices.yaml  |  16 ---
 14 files changed, 450 insertions(+), 216 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/security/tpm/google,cr50.txt
 delete mode 100644 Documentation/devicetree/bindings/security/tpm/ibmvtpm.txt
 delete mode 100644 Documentation/devicetree/bindings/security/tpm/st33zp24-i2c.txt
 delete mode 100644 Documentation/devicetree/bindings/security/tpm/st33zp24-spi.txt
 delete mode 100644 Documentation/devicetree/bindings/security/tpm/tpm-i2c.txt
 delete mode 100644 Documentation/devicetree/bindings/security/tpm/tpm_tis_mmio.txt
 delete mode 100644 Documentation/devicetree/bindings/security/tpm/tpm_tis_spi.txt
 create mode 100644 Documentation/devicetree/bindings/tpm/ibm,vtpm.yaml
 create mode 100644 Documentation/devicetree/bindings/tpm/microsoft,ftpm.yaml
 create mode 100644 Documentation/devicetree/bindings/tpm/tcg,tpm-tis-i2c.yaml
 create mode 100644 Documentation/devicetree/bindings/tpm/tcg,tpm-tis-mmio.yaml
 create mode 100644 Documentation/devicetree/bindings/tpm/tcg,tpm_tis-spi.yaml
 create mode 100644 Documentation/devicetree/bindings/tpm/tpm-common.yaml

-- 
2.40.1


             reply	other threads:[~2023-11-21  9:49 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-21  9:48 Lukas Wunner [this message]
2023-11-21  9:48 ` [PATCH 1/3] dt-bindings: tpm: Consolidate TCG TIS bindings Lukas Wunner
2023-11-21 10:57   ` Rob Herring
2023-11-21 11:02     ` Lukas Wunner
2023-11-21 15:37       ` Rob Herring
2023-11-21 15:56   ` Rob Herring
2023-11-21  9:48 ` [PATCH 2/3] dt-bindings: tpm: Convert IBM vTPM bindings to DT schema Lukas Wunner
2023-11-21 10:57   ` Rob Herring
2023-11-21 11:03     ` Lukas Wunner
2023-11-21 16:19   ` Rob Herring
2023-11-24  8:43     ` Lukas Wunner
2023-11-21  9:48 ` [PATCH 3/3] dt-bindings: tpm: Document Microsoft fTPM bindings Lukas Wunner
2023-11-21 10:57   ` Rob Herring
2023-11-21 11:03     ` Lukas Wunner
2023-11-21 16:20   ` Rob Herring
2023-11-21 16:10 ` [PATCH 0/3] dt-bindings: tpm: Clean all the things Rob Herring

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=cover.1700555862.git.lukas@wunner.de \
    --to=lukas@wunner.de \
    --cc=LinoSanfilippo@gmx.de \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-integrity@vger.kernel.org \
    --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.