devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] dt-bindings: tpm: Clean all the things
@ 2023-11-21  9:48 Lukas Wunner
  2023-11-21  9:48 ` [PATCH 1/3] dt-bindings: tpm: Consolidate TCG TIS bindings Lukas Wunner
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Lukas Wunner @ 2023-11-21  9:48 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: devicetree, linux-integrity, Lino Sanfilippo

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


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2023-11-24  8:43 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-21  9:48 [PATCH 0/3] dt-bindings: tpm: Clean all the things Lukas Wunner
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

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 NNTP newsgroup(s).