blob: 53f64805c04287b0d878e6da3ff97aba6ed00aac [file] [log] [blame]
Balint Dobszay61d2d3b2022-02-14 14:08:53 +01001#-------------------------------------------------------------------------------
2# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
8# If the driver is already installed, try to find that
9find_path(LINUX_FFA_TEE_DRIVER_INCLUDE_DIR
10 NAMES arm_ffa_tee.h
11 DOC "Linux FF-A TEE driver include directory"
12)
13
14# If not found, download it
15if(NOT LINUX_FFA_TEE_DRIVER_INCLUDE_DIR)
16 set(LINUX_FFA_TEE_DRIVER_URL "https://git.gitlab.arm.com/linux-arm/linux-trusted-services.git"
17 CACHE STRING "Linux FF-A TEE driver repository URL")
18 set(LINUX_FFA_TEE_DRIVER_REFSPEC "tee-v1"
19 CACHE STRING "Linux FF-A TEE driver git refspec")
20
21 set(LINUX_FFA_TEE_DRIVER_SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/_deps/linux_ffa_tee_driver-src"
22 CACHE PATH "Location of Linux TEE driver source.")
23
24 if (DEFINED ENV{LINUX_FFA_TEE_DRIVER_SOURCE_DIR})
25 set(LINUX_FFA_TEE_DRIVER_SOURCE_DIR $ENV{LINUX_FFA_TEE_DRIVER_SOURCE_DIR}
26 CACHE PATH "Location of Linux TEE driver source." FORCE)
27 endif()
28
29 set(GIT_OPTIONS
30 GIT_REPOSITORY ${LINUX_FFA_TEE_DRIVER_URL}
31 GIT_TAG ${LINUX_FFA_TEE_DRIVER_REFSPEC}
32 GIT_SHALLOW TRUE
33 )
34 include(${TS_ROOT}/tools/cmake/common/LazyFetch.cmake REQUIRED)
35 LazyFetch_MakeAvailable(
36 DEP_NAME linux_ffa_tee_driver
37 FETCH_OPTIONS "${GIT_OPTIONS}"
38 SOURCE_DIR ${LINUX_FFA_TEE_DRIVER_SOURCE_DIR}
39 )
40
41 find_path(LINUX_FFA_TEE_DRIVER_INCLUDE_DIR
42 NAMES arm_ffa_tee.h
43 PATHS ${LINUX_FFA_TEE_DRIVER_SOURCE_DIR}/uapi
44 NO_DEFAULT_PATH
45 REQUIRED
46 DOC "Linux FF-A TEE driver include directory"
47 )
48endif()
49
50set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS
51 "${LINUX_FFA_TEE_DRIVER_INCLUDE_DIR}/arm_ffa_tee.h")