Message ID | 20230202161750.21210-1-kyarlagadda@nvidia.com |
---|---|
Headers | show |
Series | Tegra TPM driver with hw flow control | expand |
On 02/02/2023 17:17, Krishna Yarlagadda wrote: > Tegra234 and Tegra241 devices have QSPI controller that supports TPM > devices. Since the controller only supports half duplex, sw wait polling > method implemented in tpm_tis_spi does not suffice. Wait polling as per > protocol is a hardware feature. > > Add compatible for Tegra TPM driver with hardware flow control. Sorry, new bindings only in DT schema. see Documentation/devicetree/bindings/writing-schema.rst for instructions. Best regards, Krzysztof
On 02/02/2023 17:17, Krishna Yarlagadda wrote: > Add "nvidia,wait-polling" flag to enable TCG TIS hardware flow control. > > Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> > --- > .../bindings/spi/nvidia,tegra210-quad-peripheral-props.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad-peripheral-props.yaml b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad-peripheral-props.yaml > index 2c3cada75339..25150d55603e 100644 > --- a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad-peripheral-props.yaml > +++ b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad-peripheral-props.yaml > @@ -28,5 +28,11 @@ properties: > $ref: /schemas/types.yaml#/definitions/uint32 > minimum: 0 > maximum: 255 > +properties: > + nvidia,wait-polling: > + description: > + Enable TPM wait polling feature for QSPI as specified in TCG PC Client > + Specific TPM Interface Specification (TIS). > + $ref: /schemas/types.yaml#/definitions/flag Does not look like you tested the bindings. Please run `make dt_binding_check` (see Documentation/devicetree/bindings/writing-schema.rst for instructions). Best regards, Krzysztof
On Thu, Feb 02, 2023 at 09:47:46PM +0530, Krishna Yarlagadda wrote: > Tegra234 and Tegra241 chips have QSPI controller that supports TCG > PC Client Specific TPM Interface Specification (TIS) flow control. > Since the controller only supports half duplex, sw wait polling > (flow control using full duplex transfers) method implemented in > tpm_tis_spi_main.c does not suffice. > Added extended driver to disable sw flow control and send s/Added/Add/ What is "extended driver"? > all transfers in single message. Flow control is handled by hardware. > > Krishna Yarlagadda (4): > dt-bindings: tpm: Add compatible for Tegra TPM > tpm: tegra: Support SPI tpm wait state detect > spi: dt-bindings: Add Tegra TPM wait polling flag > spi: tegra210-quad: Enable TPM wait polling > > .../security/tpm/nvidia,tegra-tpm-spi.txt | 14 ++ > ...nvidia,tegra210-quad-peripheral-props.yaml | 6 + > drivers/char/tpm/Makefile | 1 + > drivers/char/tpm/tpm_tis_spi.h | 1 + > drivers/char/tpm/tpm_tis_spi_main.c | 4 +- > drivers/char/tpm/tpm_tis_spi_tegra.c | 123 ++++++++++++++++++ > drivers/spi/spi-tegra210-quad.c | 16 +++ > 7 files changed, 164 insertions(+), 1 deletion(-) > create mode 100644 Documentation/devicetree/bindings/security/tpm/nvidia,tegra-tpm-spi.txt > create mode 100644 drivers/char/tpm/tpm_tis_spi_tegra.c > > -- > 2.17.1 > BR, Jarkko