From 614d7a954dfbdeaa55500e0ba223b6899a1c7eda Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Sun, 09 Oct 2022 14:04:22 +0800
Subject: [PATCH] update hardknott to add overlays support in /boot

---
 yocto/meta-igkboard/hardknott/recipes-kernel/linux/linux-imx_5.10.bbappend |   62 ++++++++++++++++++++++++++++++
 1 files changed, 61 insertions(+), 1 deletions(-)

diff --git a/yocto/meta-igkboard/hardknott/recipes-kernel/linux/linux-imx_5.10.bbappend b/yocto/meta-igkboard/hardknott/recipes-kernel/linux/linux-imx_5.10.bbappend
index 0101b98..49691fd 100644
--- a/yocto/meta-igkboard/hardknott/recipes-kernel/linux/linux-imx_5.10.bbappend
+++ b/yocto/meta-igkboard/hardknott/recipes-kernel/linux/linux-imx_5.10.bbappend
@@ -21,10 +21,70 @@
 KERNEL_DANGLING_FEATURES_WARN_ONLY = "1"
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " file://linux-imx-lf-5.10.52-2.1.0.patch "
+SRC_URI += " file://linux-imx-lf-5.10.52-2.1.0.patch \
+             file://config-lcd.txt \
+             file://config-nolcd.txt \
+           "
 PATCHTOOL = "patch"
 
 do_copy_defconfig_append() {
     cp ${S}/arch/arm/configs/igkboard_defconfig ${WORKDIR}/defconfig
     cp ${S}/arch/arm/configs/igkboard_defconfig ${B}/.config
 }
+
+KERNEL_DTC_FLAGS = "-@"
+
+KERNEL_DEVICETREE2 ?= ""
+KERNEL_DEVICETREE2:igkboard = " \
+    overlays/cam.dtbo \
+    overlays/can1.dtbo \
+    overlays/can2.dtbo \
+    overlays/i2c1.dtbo \
+    overlays/lcd.dtbo \
+    overlays/nbiot-4g.dtbo \
+    overlays/pwm7.dtbo \
+    overlays/pwm8.dtbo \
+    overlays/spi1.dtbo \
+    overlays/uart2.dtbo \
+    overlays/uart3.dtbo \
+    overlays/uart4.dtbo \
+    overlays/uart7.dtbo \
+    overlays/w1.dtbo \
+"
+
+# compile dtbo file, refer to: poky/meta/classes/kernel-devicetree.bbclass
+do_compile:append() {
+    if [ -n "${KERNEL_DTC_FLAGS}" ]; then
+        export DTC_FLAGS="${KERNEL_DTC_FLAGS}"
+    fi
+
+    for dtbf in ${KERNEL_DEVICETREE2}; do
+        dtb=`normalize_dtb "$dtbf"`
+        oe_runmake $dtb CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
+    done
+}
+
+# install to linux kernel package
+FILES:${KERNEL_PACKAGE_NAME}-devicetree += "/${KERNEL_IMAGEDEST}/overlays/*.dtbo"
+do_install:append() {
+    for dtbf in ${KERNEL_DEVICETREE2}; do
+        dtb=`normalize_dtb "$dtbf"`
+        install -d ${D}/${KERNEL_IMAGEDEST}/overlays
+        install -m 0644 ${B}/arch/arm/boot/dts/$dtb ${D}/${KERNEL_IMAGEDEST}/$dtb
+    done
+
+    install -m 0644 ${WORKDIR}/config-lcd.txt ${D}/${KERNEL_IMAGEDEST}/
+    install -m 0644 ${WORKDIR}/config-nolcd.txt ${D}/${KERNEL_IMAGEDEST}/
+}
+
+# install to deploy images path
+do_deploy:append(){
+    for dtbf in ${KERNEL_DEVICETREE2}; do
+        dtb=`normalize_dtb "$dtbf"`
+        install -d ${deployDir}/overlays
+        install -m 0644 ${B}/arch/arm/boot/dts/$dtb ${deployDir}/$dtb
+    done
+
+    install -m 0644 ${WORKDIR}/config-lcd.txt ${deployDir}/
+    install -m 0644 ${WORKDIR}/config-nolcd.txt ${deployDir}/
+}

--
Gitblit v1.9.1