From 75326e050582c8cd6c5ca6f6e997e68c740d1b42 Mon Sep 17 00:00:00 2001 From: Josep Orga Date: Mon, 15 Nov 2021 13:31:59 +0100 Subject: [PATCH] meta-somdevices: Added linux-somdevices. Signed-off-by: Josep Orga --- recipes-kernel/linux/linux-somdevices_5.10.bb | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 recipes-kernel/linux/linux-somdevices_5.10.bb diff --git a/recipes-kernel/linux/linux-somdevices_5.10.bb b/recipes-kernel/linux/linux-somdevices_5.10.bb new file mode 100644 index 0000000..5ec58d6 --- /dev/null +++ b/recipes-kernel/linux/linux-somdevices_5.10.bb @@ -0,0 +1,89 @@ +SUMMARY = "Linux Kernel provided and supported by SOMDEVICES" +DESCRIPTION = "Linux Kernel provided and supported by SOMDEVICES with focus on \ +i.MX Family Reference Boards. It includes support for many IPs such as GPU, VPU and IPU." + +require recipes-kernel/linux/linux-imx.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" + +DEPENDS += "lzop-native bc-native" + +SRCBRANCH = "imx_5.10.35_2.0.0-somdevices.y" +LOCALVERSION = "-2.0.0" +KERNEL_SRC ?= "git://gitolite3@git.somdevices.com/linux.git;protocol=ssh" +SRC_URI = "${KERNEL_SRC};branch=${SRCBRANCH}" + +SRCREV = "e501a8ea44227d0175d7d492eba52ca85b9a6d1e" +PR = "somdevices.0" + +LINUX_VERSION = "5.10.35" + +FILES_${KERNEL_PACKAGE_NAME}-base += "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo " + +KERNEL_CONFIG_COMMAND = "oe_runmake_call -C ${S} CC="${KERNEL_CC}" O=${B} olddefconfig" + +DEFAULT_PREFERENCE = "1" + +DO_CONFIG_V7_COPY = "no" +DO_CONFIG_V7_COPY_mx6 = "yes" +DO_CONFIG_V7_COPY_mx7 = "yes" +DO_CONFIG_V7_COPY_mx8 = "no" + +# Add setting for LF Mainline build +IMX_KERNEL_CONFIG_AARCH32 = "imx_v7_defconfig" +IMX_KERNEL_CONFIG_AARCH64 = "imx8mmn_somdevices_defconfig" +KBUILD_DEFCONFIG ?= "" +KBUILD_DEFCONFIG_mx6= "${IMX_KERNEL_CONFIG_AARCH32}" +KBUILD_DEFCONFIG_mx7= "${IMX_KERNEL_CONFIG_AARCH32}" +KBUILD_DEFCONFIG_mx8= "${IMX_KERNEL_CONFIG_AARCH64}" + + +# Use a verbatim copy of the defconfig from the linux-imx repo. +# IMPORTANT: This task effectively disables kernel config fragments +# since the config fragments applied in do_kernel_configme are replaced. +addtask copy_defconfig after do_kernel_configme before do_kernel_localversion +do_copy_defconfig () { + install -d ${B} + if [ ${DO_CONFIG_V7_COPY} = "yes" ]; then + # copy latest IMX_KERNEL_CONFIG_AARCH32 to use for mx6, mx6ul and mx7 + mkdir -p ${B} + cp ${S}/arch/arm/configs/${IMX_KERNEL_CONFIG_AARCH32} ${B}/.config + else + # copy latest IMX_KERNEL_CONFIG_AARCH64 to use for mx8 + mkdir -p ${B} + cp ${S}/arch/arm64/configs/${IMX_KERNEL_CONFIG_AARCH64} ${B}/.config + fi +} + +DELTA_KERNEL_DEFCONFIG ?= "" +#DELTA_KERNEL_DEFCONFIG_mx8 = "imx.config" + +do_merge_delta_config[dirs] = "${B}" +do_merge_delta_config[depends] += " \ + flex-native:do_populate_sysroot \ + bison-native:do_populate_sysroot \ +" +do_merge_delta_config() { + for deltacfg in ${DELTA_KERNEL_DEFCONFIG}; do + if [ -f ${S}/arch/${ARCH}/configs/${deltacfg} ]; then + ${KERNEL_CONFIG_COMMAND} + oe_runmake_call -C ${S} CC="${KERNEL_CC}" O=${B} ${deltacfg} + elif [ -f "${WORKDIR}/${deltacfg}" ]; then + ${S}/scripts/kconfig/merge_config.sh -m .config ${WORKDIR}/${deltacfg} + elif [ -f "${deltacfg}" ]; then + ${S}/scripts/kconfig/merge_config.sh -m .config ${deltacfg} + fi + done + cp .config ${WORKDIR}/defconfig +} +addtask merge_delta_config before do_kernel_localversion after do_copy_defconfig + +do_deploy_append() { + if [ ! -d ${DEPLOY_DIR_IMAGE} ]; then + mkdir -p ${DEPLOY_DIR_IMAGE} + fi + cp -fp ${WORKDIR}/deploy-${BPN}/${KERNEL_DEVICETREE_BASENAME}.dtb ${DEPLOY_DIR_IMAGE}/imx8mm-somdevices.dtb +} + +KERNEL_VERSION_SANITY_SKIP="1" +COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" -- 2.17.1