microsoft,ftpm.yaml 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/tpm/microsoft,ftpm.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Microsoft firmware-based Trusted Platform Module (fTPM)
  7. maintainers:
  8. - Thirupathaiah Annapureddy <thiruan@microsoft.com>
  9. - Sasha Levin <sashal@kernel.org>
  10. description: |
  11. Commodity CPU architectures, such as ARM and Intel CPUs, have started to
  12. offer trusted computing features in their CPUs aimed at displacing dedicated
  13. trusted hardware. Unfortunately, these CPU architectures raise serious
  14. challenges to building trusted systems because they omit providing secure
  15. resources outside the CPU perimeter.
  16. Microsoft's firmware-based TPM 2.0 (fTPM) leverages ARM TrustZone to overcome
  17. these challenges and provide software with security guarantees similar to
  18. those of dedicated trusted hardware.
  19. https://www.microsoft.com/en-us/research/publication/ftpm-software-implementation-tpm-chip/
  20. https://github.com/Microsoft/ms-tpm-20-ref/tree/main/Samples/ARM32-FirmwareTPM
  21. properties:
  22. compatible:
  23. const: microsoft,ftpm
  24. required:
  25. - compatible
  26. - linux,sml-base
  27. - linux,sml-size
  28. allOf:
  29. - $ref: tpm-common.yaml#
  30. unevaluatedProperties: false
  31. examples:
  32. - |
  33. tpm {
  34. compatible = "microsoft,ftpm";
  35. linux,sml-base = <0x0 0xc0000000>;
  36. linux,sml-size = <0x10000>;
  37. };