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

title: MMIO-accessed 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 LPC (via MMIO).  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/

properties:
  compatible:
    items:
      - enum:
          - at97sc3201
          - atmel,at97sc3204
          - socionext,synquacer-tpm-mmio
      - const: tcg,tpm-tis-mmio

  reg:
    description:
      location and length of the MMIO registers, length should be
      at least 0x5000 bytes

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

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    tpm@90000 {
        compatible = "atmel,at97sc3204", "tcg,tpm-tis-mmio";
        reg = <0x90000 0x5000>;
        interrupt-parent = <&EIC0>;
        interrupts = <1 2>;
    };
