浏览代码

linux: add option to enable support for Device Tree overlays

Add an option to compile device trees in Linux with symbol generation
such that device tree overlays can be loaded on the target system

Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
[Arnout: remove "default n" and move setting of LINUX_MAKE_ENV to the
 place where the rest is set.]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Titouan Christophe 6 年之前
父节点
当前提交
eb37deb670
共有 2 个文件被更改,包括 12 次插入0 次删除
  1. 8 0
      linux/Config.in
  2. 4 0
      linux/linux.mk

+ 8 - 0
linux/Config.in

@@ -394,6 +394,14 @@ config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
 	  You can provide a list of dts paths to copy and
 	  build, separated by spaces.
 
+config BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT
+	bool "Build Device Tree with overlay support"
+	help
+	  If enabled, pass the "-@" option to dtc, such that
+	  symbols are generated in the compiled Device Tree.
+	  Choose this option to support Device Tree overlays
+	  on the target system.
+
 endif
 
 config BR2_LINUX_KERNEL_INSTALL_TARGET

+ 4 - 0
linux/linux.mk

@@ -143,6 +143,10 @@ ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),y)
 LINUX_MAKE_ENV += KCFLAGS=-Wno-attribute-alias
 endif
 
+ifeq ($(BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT),y)
+LINUX_MAKE_ENV += DTC_FLAGS=-@
+endif
+
 # Get the real Linux version, which tells us where kernel modules are
 # going to be installed in the target filesystem.
 LINUX_VERSION_PROBED = `$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelrelease 2>/dev/null`