# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/tpm/tcg,tpm-tis-i2c.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: I²C-attached Trusted Platform Module conforming to TCG TIS specification

maintainers:
  - Lukas Wunner <lukas@wunner.de>

description: |
  The Trusted Computing Group (TCG) has defined a multi-vendor standard
  for accessing a TPM chip.  It can be transported over various buses,
  one of them being I²C.  The standard is named:
  TCG PC Client Specific TPM Interface Specification (TIS)
  https://trustedcomputinggroup.org/resource/pc-client-work-group-pc-client-specific-tpm-interface-specification-tis/

  The I²C interface was not originally part of the standard, but added
  in 2017 with a separate document:
  TCG PC Client Platform TPM Profile Specification for TPM 2.0 (PTP)
  https://trustedcomputinggroup.org/resource/pc-client-platform-tpm-profile-ptp-specification/

  Recent TPM 2.0 chips conform to this generic interface, others use a
  vendor-specific I²C interface.

properties:
  compatible:
    oneOf:
      - description: Generic TPM 2.0 chips conforming to TCG PTP interface
        items:
          - enum:
              - infineon,slb9673
              - nuvoton,npct75x
          - const: tcg,tpm-tis-i2c

      - description: TPM 1.2 and 2.0 chips with vendor-specific I²C interface
        items:
          - enum:
              - atmel,at97sc3204t # TPM 1.2
              - infineon,slb9635tt # TPM 1.2 (maximum 100 kHz)
              - infineon,slb9645tt # TPM 1.2 (maximum 400 kHz)
              - infineon,tpm_i2c_infineon # TPM 1.2
              - nuvoton,npct501 # TPM 1.2
              - nuvoton,npct601 # TPM 2.0
              - st,st33zp24-i2c # TPM 2.0
              - winbond,wpct301 # TPM 1.2

  reg:
    description: address of TPM on the I²C bus

allOf:
  - $ref: tpm-common.yaml#

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        tpm@57 {
            label = "tpm";
            compatible = "nuvoton,npct601";
            reg = <0x57>;
            linux,sml-base = <0x7f 0xfd450000>;
            linux,sml-size = <0x10000>;
        };
    };

  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        tpm@13 {
            reg = <0x13>;
            compatible = "st,st33zp24-i2c";
            interrupt-parent = <&gpio5>;
            interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
            lpcpd-gpios = <&gpio5 15 GPIO_ACTIVE_HIGH>;
        };
    };
