diff options
author | Per Åstrand <per.astrand@arm.com> | 2021-04-15 09:47:03 +0200 |
---|---|---|
committer | Per Åstrand <per.astrand@arm.com> | 2021-06-21 11:31:29 +0200 |
commit | 87ca5dac68ffd40007e31e11b32980a6d5b7cf83 (patch) | |
tree | 4ed216c032c4f6417de9fbedf68c04a8f8020e1b /remoteproc/CMakeLists.txt | |
parent | 35ce6c809ccf637c6bb8a00ad14b051b87d9884a (diff) | |
download | ethos-u-linux-driver-stack-87ca5dac68ffd40007e31e11b32980a6d5b7cf83.tar.gz |
Implement reset handler for remoteproc
Use the reset controller driver mechanism to control the Ethos-U
subsystem remoteproc driver.
Change-Id: If180d5b922f8b1cd245af7f922911c17ecd313a3
Diffstat (limited to 'remoteproc/CMakeLists.txt')
-rw-r--r-- | remoteproc/CMakeLists.txt | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/remoteproc/CMakeLists.txt b/remoteproc/CMakeLists.txt new file mode 100644 index 0000000..9c88df1 --- /dev/null +++ b/remoteproc/CMakeLists.txt @@ -0,0 +1,54 @@ +# +# Copyright (c) 2020-2021 Arm Limited. All rights reserved. +# +# This program is free software and is provided to you under the terms of the +# GNU General Public License version 2 as published by the Free Software +# Foundation, and any use by you of this program is subject to the terms +# of such GNU licence. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, you can access it online at +# http://www.gnu.org/licenses/gpl-2.0.html. +# +# SPDX-License-Identifier: GPL-2.0-only +# + +cmake_minimum_required(VERSION 3.0.2) + +# Set the project name and version +project("ethosu_remoteproc" VERSION 1.0) + +# Make sure KDIR is set +set(KDIR "" CACHE PATH "Path to Linux kernel sources") +if (NOT EXISTS ${KDIR}) + message(FATAL_ERROR "Can't build kernel module without KDIR.") +endif() + +# Depend on all h and c files +file(GLOB_RECURSE SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.c" "*.h") + +file(GLOB_RECURSE OBJ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.c") +list(TRANSFORM OBJ REPLACE "^(.*)[.]c" "\\1.o") +list(TRANSFORM OBJ PREPEND ${CMAKE_CURRENT_SOURCE_DIR}/) + +# Build the kernel module +add_custom_target(ethosu-remoteproc-module ALL + COMMAND ${CMAKE_MAKE_PROGRAM} -C ${KDIR} + EXTRA_CFLAGS=-I${KDIR}/../../../drivers/remoteproc M=${CMAKE_CURRENT_SOURCE_DIR} + CONFIG_ETHOSU_RESET=m + CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 modules + BYPRODUCTS + ${CMAKE_CURRENT_SOURCE_DIR}/ethosu_remoteproc.ko + ${CMAKE_CURRENT_SOURCE_DIR}/ethosu_remoteproc.mod.o + ${CMAKE_CURRENT_SOURCE_DIR}/modules.order + ${CMAKE_CURRENT_SOURCE_DIR}/Module.symvers + ${OBJ} + DEPENDS ${SOURCES} Kbuild Kconfig + COMMENT "Building ethosu_remoteproc.ko" + VERBATIM) + |