refactor: iface selection and header file paths

Allow TPM interface to be specified in CMake build system (only
SPI currently supported).
Fix file inclusion to follow new project layout and remove TF-A
dependencies.

Signed-off-by: Matthew Ellis <Matthew.Ellis@arm.com>
Change-Id: I1e6ddfbfe8e1fe3df2663f3b18bb3826bab648f4
5 files changed
tree: 890f228f32723bcc982fc04bd5102a0aea13188a
  1. include/
  2. src/
  3. test/
  4. .clang-format
  5. .editorconfig
  6. .gitignore
  7. CMakeLists.txt
  8. dco.txt
  9. LICENSE
  10. README.md
  11. tpm2Config.cmake.in
README.md

libtcg2-tpm

TCG2-compliant TPM library based on the TCG PC Client Platform TPM Profile for TPM 2.0 Specification v1.06.

This library provides a lightweight C interface for interacting with TPM 2.0 devices, specifically targeting platforms compliant with the TCG2 specification.

Prerequisites

  • CMake >= 3.15
  • AArch64 Linux GNU toolchain (for cross-compilation)

Building

Native Build

cmake -B build
cmake --build build

Cross Compilation

CC=aarch64-linux-gnu-gcc cmake -B build -DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY
cmake --build build

License

This project is licensed under the BSD 3-Clause License. See the LICENSE file for more information.