diff mbox series

boot/optee-os: Add out-of-source OPTEE-OS device tree support

Message ID 20221213111154.2491203-1-kory.maincent@bootlin.com
State Accepted
Headers show
Series boot/optee-os: Add out-of-source OPTEE-OS device tree support | expand

Commit Message

Köry Maincent Dec. 13, 2022, 11:11 a.m. UTC
From: Kory Maincent <kory.maincent@bootlin.com>

Similarly to Uboot, this patch adds the ability to copy in and build
out-of-source device tree sources during an OPTEE-OS build.
To build the external device tree source file, the OP-TEE OS configuration
must refer to it with the CFG_EMBED_DTB_SOURCE_FILE option and no platform
flavor need to be specified.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
---
 boot/optee-os/Config.in   | 11 +++++++++++
 boot/optee-os/optee-os.mk |  5 +++++
 2 files changed, 16 insertions(+)
diff mbox series

Patch

diff --git a/boot/optee-os/Config.in b/boot/optee-os/Config.in
index 8bcce22306..10bbee45f8 100644
--- a/boot/optee-os/Config.in
+++ b/boot/optee-os/Config.in
@@ -130,6 +130,17 @@  config BR2_TARGET_OPTEE_OS_PLATFORM_FLAVOR
 	  Value for the optional PLATFORM_FLAVOR build directive
 	  provided to OP-TEE OS.
 
+config BR2_TARGET_OPTEE_OS_CUSTOM_DTS_PATH
+	string "Device Tree Source file paths"
+	help
+	  Space-separated list of paths to device tree source files
+	  that will be copied to core/arch/arm/dts/ before starting the
+	  build.
+
+	  To use this device tree source file, the OP-TEE OS configuration
+	  must refer to it with the CFG_EMBED_DTB_SOURCE_FILE option and
+	  no platform flavor need to be specified.
+
 config BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES
 	string "Additional build variables"
 	help
diff --git a/boot/optee-os/optee-os.mk b/boot/optee-os/optee-os.mk
index 38b0d367ef..33b4e2e1ab 100644
--- a/boot/optee-os/optee-os.mk
+++ b/boot/optee-os/optee-os.mk
@@ -84,6 +84,8 @@  endif
 
 OPTEE_OS_IMAGE_FILES = $(call qstrip,$(BR2_TARGET_OPTEE_OS_CORE_IMAGES))
 
+OPTEE_OS_CUSTOM_DTS_PATH = $(call qstrip,$(BR2_TARGET_OPTEE_OS_CUSTOM_DTS_PATH))
+
 ifeq ($(BR2_TARGET_OPTEE_OS_CORE),y)
 define OPTEE_OS_BUILD_CORE
 	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) O=$(OPTEE_OS_BUILDDIR_OUT) \
@@ -120,6 +122,9 @@  endef
 endif # BR2_TARGET_OPTEE_OS_SDK
 
 define OPTEE_OS_BUILD_CMDS
+	$(if $(OPTEE_OS_CUSTOM_DTS_PATH),
+		cp -f $(OPTEE_OS_CUSTOM_DTS_PATH) $(@D)/core/arch/arm/dts/
+	)
 	$(OPTEE_OS_BUILD_CORE)
 	$(OPTEE_OS_BUILD_SDK)
 endef