From e5531e2c0fd376409fd04c28a294edf04d903042 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Wed, 26 Jul 2023 13:18:26 +0800
Subject: [PATCH] Add device tree overlay support
---
conf/machine/igkboard-6ull.conf | 20 ++++++++++++++++++++
recipes-kernel/linux/linux-imx_5.15.bbappend | 20 +++++++++++++++++++-
2 files changed, 39 insertions(+), 1 deletions(-)
diff --git a/conf/machine/igkboard-6ull.conf b/conf/machine/igkboard-6ull.conf
index 482835f..56aadf3 100644
--- a/conf/machine/igkboard-6ull.conf
+++ b/conf/machine/igkboard-6ull.conf
@@ -12,6 +12,25 @@
# Device tree file generated during kernel compilation
KERNEL_DEVICETREE = "${MACHINE}.dtb"
+# Device tree overlay files generated during kernel compilation
+KERNEL_DTOVERLAY = " \
+ ${MACHINE}/adc.dtbo \
+ ${MACHINE}/cam.dtbo \
+ ${MACHINE}/can1.dtbo \
+ ${MACHINE}/can2.dtbo \
+ ${MACHINE}/i2c1.dtbo \
+ ${MACHINE}/lcd.dtbo \
+ ${MACHINE}/nbiot-4g.dtbo \
+ ${MACHINE}/pwm7.dtbo \
+ ${MACHINE}/pwm8.dtbo \
+ ${MACHINE}/spi1.dtbo \
+ ${MACHINE}/uart2.dtbo \
+ ${MACHINE}/uart3.dtbo \
+ ${MACHINE}/uart4.dtbo \
+ ${MACHINE}/uart7.dtbo \
+ ${MACHINE}/w1.dtbo \
+"
+
# Uboot comfiguration
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "${MACHINE}_defconfig,sdcard"
@@ -20,6 +39,7 @@
IMAGE_BOOT_FILES = " \
${KERNEL_IMAGETYPE} \
${KERNEL_DEVICETREE} \
+ overlays/*;overlays/ \
"
# Remove unused optee bcm4339 bcm43455
MACHINE_FEATURES += "wifi bluetooth"
diff --git a/recipes-kernel/linux/linux-imx_5.15.bbappend b/recipes-kernel/linux/linux-imx_5.15.bbappend
index 25961c4..b95f68c 100644
--- a/recipes-kernel/linux/linux-imx_5.15.bbappend
+++ b/recipes-kernel/linux/linux-imx_5.15.bbappend
@@ -4,9 +4,27 @@
SRC_URI += " file://linux-imx-lf-5.15.71-2.2.0.patch "
PATCHTOOL = "patch"
+KERNEL_DANGLING_FEATURES_WARN_ONLY="1"
+KERNEL_DTC_FLAGS = "-@"
+KERNEL_DTOVERLAY ?= ""
+
do_copy_defconfig:append() {
cp ${S}/arch/arm/configs/${MACHINE}_defconfig ${WORKDIR}/defconfig
cp ${S}/arch/arm/configs/${MACHINE}_defconfig ${B}/.config
}
-KERNEL_DANGLING_FEATURES_WARN_ONLY="1"
+do_compile:append() {
+ if [ -n "${KERNEL_DTC_FLAGS}" ]; then
+ export DTC_FLAGS="${KERNEL_DTC_FLAGS}"
+ fi
+
+ for dtbf in ${KERNEL_DTOVERLAY}; do
+ dtb=`normalize_dtb "$dtbf"`
+ oe_runmake $dtb CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
+ done
+}
+
+do_deploy:append(){
+ install -d ${DEPLOYDIR}/overlays
+ cp ${B}/arch/arm/boot/dts/${MACHINE}/*.dtbo ${DEPLOYDIR}/overlays
+}
--
Gitblit v1.9.1