# Copyright (C) 2022 LingYun IoT System Studio
|
# Released under the GPLv2 license
|
#
|
# SPDX-License-Identifier: GPLv2
|
#
|
|
SUMMARY = "Linux Kernel provided and supported by LingYun IoT System Studio"
|
DESCRIPTION = "Linux Kernel provided and supported by LingYun with focus on IGKBoard"
|
|
LICENSE = "GPLv2"
|
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
|
|
require recipes-kernel/linux/linux-yocto.inc
|
|
# base: meta-imx/meta-bsp/recipes-kernel/linux/linux-imx_5.10.bb
|
# https://source.codeaurora.org/external/imx/linux-imx/tag/?h=lf-5.10.52-2.1.0
|
SRCREV = "a11753a89ec610768301d4070e10b8bd60fde8cd"
|
LOCALVERSION = "-lf-5.10.52-2.1.0"
|
|
LINUX_VERSION = "5.10.52"
|
KERNEL_DANGLING_FEATURES_WARN_ONLY = "1"
|
|
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
|
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}/
|
}
|