Message ID | 20220404081835.495-4-johannes.holland@infineon.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/4] tpm: Add tpm_tis_i2c backend for tpm_tis_core | expand |
On Mon, 04 Apr 2022 10:18:35 +0200, Johannes Holland wrote: > Add a YAML schema to support device tree bindings for the generic I2C > physical layer. Refer 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> > --- > .../bindings/security/tpm/tpm-tis-i2c.yaml | 48 +++++++++++++++++++ > 1 file changed, 48 insertions(+) > create mode 100644 Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.example.dt.yaml: tpm@2e: compatible:1: 'tcg,tpm-tis-i2c' was expected From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.example.dt.yaml: tpm@2e: compatible: ['infineon,slb9673', 'nuvoton,npct75x', 'tcg,tpm-tis-i2c'] is too long From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/patch/ This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit.
On Mon, Apr 04, 2022 at 10:18:35AM +0200, Johannes Holland wrote: > Add a YAML schema to support device tree bindings for the generic I2C > physical layer. Refer to the TCG PC Client Platform TPM Profile (PTP) > Specification for TPM 2.0 v1.04 Revision 14. Bindings are for devices. A protocol layer does not make a device. > > Signed-off-by: Johannes Holland <johannes.holland@infineon.com> > --- > .../bindings/security/tpm/tpm-tis-i2c.yaml | 48 +++++++++++++++++++ > 1 file changed, 48 insertions(+) > create mode 100644 Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml We already have a binding for I2C TPM. That one should be converted. > > diff --git a/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml b/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml > new file mode 100644 > index 000000000000..7948867ff3f7 > --- /dev/null > +++ b/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml > @@ -0,0 +1,48 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/security/tpm/tpm-tis-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's Trusted Platform Module (TPM) (NPCT75x) > + - nuvoton,npct75x I see this is already used, but in general wildcards should not be used in device compatibles. > + - const: tcg,tpm-tis-i2c Pretty sure I killed this off when originally reviewing the TPM I2C binding. > + > + reg: > + maxItems: 1 > + > + interrupt: > + maxItems: 1 > + > +required: > + - compatible > + - reg > + > +additionalProperties: false > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + tpm@2e { > + compatible = "infineon,slb9673", "nuvoton,npct75x", "tcg,tpm-tis-i2c"; > + reg = <0x2e>; > + }; > + }; > +... > -- > 2.31.1.windows.1 > >
On 04.04.2022 18:18, Rob Herring wrote: > On Mon, Apr 04, 2022 at 10:18:35AM +0200, Johannes Holland wrote: >> Add a YAML schema to support device tree bindings for the generic I2C >> physical layer. Refer to the TCG PC Client Platform TPM Profile (PTP) >> Specification for TPM 2.0 v1.04 Revision 14. > > Bindings are for devices. A protocol layer does not make a device. Agreed. I will change this in my next patch. > >> >> Signed-off-by: Johannes Holland <johannes.holland@infineon.com> >> --- >> .../bindings/security/tpm/tpm-tis-i2c.yaml | 48 +++++++++++++++++++ >> 1 file changed, 48 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml > > We already have a binding for I2C TPM. That one should be converted. Will do. There are two required properties which are in fact not needed by any I2C driver. If that is ok with you, I would like to turn them optional. - linux,sml-base - linux,sml-size >>> >> diff --git a/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml b/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml >> new file mode 100644 >> index 000000000000..7948867ff3f7 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml >> @@ -0,0 +1,48 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/security/tpm/tpm-tis-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's Trusted Platform Module (TPM) (NPCT75x) >> + - nuvoton,npct75x > > I see this is already used, but in general wildcards should not be used > in device compatibles. Ok, I took this over from a previous patch. Since I am not familiar with Nuvoton products, so I am going to remove this for now. > >> + - const: tcg,tpm-tis-i2c > > Pretty sure I killed this off when originally reviewing the TPM I2C > binding. > Sorry, I did not see any discussion related to this. IMHO, the TPM is a open standard device. That should allow for plug and play, regardless of the manufacturer. For SPI, we also have tcg,tpm_tis-spi. However, if you want it removed, I can do that. >> + >> + reg: >> + maxItems: 1 >> + >> + interrupt: >> + maxItems: 1 >> + >> +required: >> + - compatible >> + - reg >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + i2c { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + tpm@2e { >> + compatible = "infineon,slb9673", "nuvoton,npct75x", "tcg,tpm-tis-i2c"; >> + reg = <0x2e>; >> + }; >> + }; >> +... >> -- >> 2.31.1.windows.1 >> >>
On 04.04.2022 18:08, Rob Herring wrote:> On Mon, 04 Apr 2022 10:18:35 +0200, Johannes Holland wrote: >> Add a YAML schema to support device tree bindings for the generic I2C >> physical layer. Refer 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> >> --- >> .../bindings/security/tpm/tpm-tis-i2c.yaml | 48 +++++++++++++++++++ >> 1 file changed, 48 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml >> > > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' > on your patch (DT_CHECKER_FLAGS is new in v5.13): > > yamllint warnings/errors: > > dtschema/dtc warnings/errors: > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.example.dt.yaml: tpm@2e: compatible:1: 'tcg,tpm-tis-i2c' was expected > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.example.dt.yaml: tpm@2e: compatible: ['infineon,slb9673', 'nuvoton,npct75x', 'tcg,tpm-tis-i2c'] is too long > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml > > doc reference errors (make refcheckdocs): > > See https://patchwork.ozlabs.org/patch/ > > This check can fail if there are any dependencies. The base for a patch > series is generally the most recent rc1. > > If you already ran 'make dt_binding_check' and didn't see the above > error(s), then make sure 'yamllint' is installed and dt-schema is up to > date: > > pip3 install dtschema --upgrade > > Please check and re-submit. > Sorry for the inconvenience. This will be fixed in the next patch. Thanks, Johannes
diff --git a/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml b/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml new file mode 100644 index 000000000000..7948867ff3f7 --- /dev/null +++ b/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/security/tpm/tpm-tis-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's Trusted Platform Module (TPM) (NPCT75x) + - nuvoton,npct75x + - const: tcg,tpm-tis-i2c + + reg: + maxItems: 1 + + interrupt: + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + tpm@2e { + compatible = "infineon,slb9673", "nuvoton,npct75x", "tcg,tpm-tis-i2c"; + reg = <0x2e>; + }; + }; +...
Add a YAML schema to support device tree bindings for the generic I2C physical layer. Refer 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> --- .../bindings/security/tpm/tpm-tis-i2c.yaml | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml