From c6bbc9540d9cfe010611843592f2e06fdad79bda Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Sun, 09 Oct 2022 11:11:00 +0800
Subject: [PATCH] update honister and kirkstone to add overlays support in /boot

---
 yocto/meta-igkboard/kirkstone/recipes-kernel/linux/linux-imx_5.15.bbappend |   68 +++++++++++++++++++++++++++++++---
 1 files changed, 62 insertions(+), 6 deletions(-)

diff --git a/yocto/meta-igkboard/kirkstone/recipes-kernel/linux/linux-imx_5.15.bbappend b/yocto/meta-igkboard/kirkstone/recipes-kernel/linux/linux-imx_5.15.bbappend
index f3adf5c..ae9fdf2 100644
--- a/yocto/meta-igkboard/kirkstone/recipes-kernel/linux/linux-imx_5.15.bbappend
+++ b/yocto/meta-igkboard/kirkstone/recipes-kernel/linux/linux-imx_5.15.bbappend
@@ -12,11 +12,7 @@
 
 require recipes-kernel/linux/linux-yocto.inc
 
-SRCBRANCH = "lf-5.15.y"
-KERNEL_SRC = "git://source.codeaurora.org/external/imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}"
-KBRANCH = "${SRCBRANCH}"
-SRC_URI = "${KERNEL_SRC}"
-
+# base: meta-imx/meta-bsp/recipes-kernel/linux/linux-imx_5.15.bb
 # https://source.codeaurora.org/external/imx/linux-imx/tag/?h=lf-5.15.32-2.0.0
 SRCREV = "fa6c3168595c02bd9d5366fcc28c9e7304947a3d"
 LOCALVERSION = "-lf-5.15.32-2.0.0"
@@ -25,10 +21,70 @@
 KERNEL_DANGLING_FEATURES_WARN_ONLY = "1"
 
 FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-SRC_URI += " file://linux-imx-lf-5.15.32-2.0.0.patch "
+SRC_URI += " file://linux-imx-lf-5.15.32-2.0.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