[PATCH 0/3] dt-bindings: tpm: Clean all the things

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

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





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux