SUMMARY = "Linux kernel for Toradex TI based modules" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-${PV}:" SRC_URI = " \ git://git.toradex.com/linux-toradex.git;protocol=https;branch=${SRCBRANCH};name=machine \ " S = "${WORKDIR}/git" # Load USB functions configurable through configfs (CONFIG_USB_CONFIGFS) KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('COMBINED_FEATURES', 'usbgadget', ' libcomposite', '',d)}" inherit kernel-yocto kernel toradex-kernel-deploy-config toradex-kernel-localversion ti-secdev LINUX_VERSION = "6.1.80" # skip, as with use-head-next LINUX_VERSION might be set wrongly KERNEL_VERSION_SANITY_SKIP = "1" SCMVERSION ?= "y" SRCBRANCH = "toradex_ti-linux-6.1.y" SRCREV_machine = "0d9f1748ac170ee6cfcce8f99fb65a9f157a9f29" SRCREV_machine:use-head-next = "${AUTOREV}" PV = "${LINUX_VERSION}+git${SRCPV}" DEPENDS += "bc-native" COMPATIBLE_MACHINE = "k3" export DTC_FLAGS = "-@" # Special configuration for remoteproc/rpmsg IPC modules module_conf_rpmsg_client_sample = "blacklist rpmsg_client_sample" module_conf_ti_k3_r5_remoteproc = "softdep ti_k3_r5_remoteproc pre: virtio_rpmsg_bus" module_conf_ti_k3_dsp_remoteproc = "softdep ti_k3_dsp_remoteproc pre: virtio_rpmsg_bus" KERNEL_MODULE_PROBECONF += "rpmsg_client_sample ti_k3_r5_remoteproc ti_k3_dsp_remoteproc" # Tell to kernel class that we would like to use our defconfig to configure the kernel. # Otherwise, the --allnoconfig would be used per default which leads to mis-configured # kernel. # # This behavior happens when a defconfig is provided, the kernel-yocto configuration # uses the filename as a trigger to use a 'allnoconfig' baseline before merging # the defconfig into the build. # # If the defconfig file was created with make_savedefconfig, not all options are # specified, and should be restored with their defaults, not set to 'n'. # To properly expand a defconfig like this, we need to specify: KCONFIG_MODE="--alldefconfig" # in the kernel recipe include. KCONFIG_MODE="--alldefconfig" KBUILD_DEFCONFIG ?= "toradex_defconfig" # We need to pass it as param since kernel might support more then one # machine, with different entry points KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" ############################################################################### # Apply the RT patch and change the configuration to use PREMPT_RT when the # preempt-rt override is set. ############################################################################### # patches get moved into the 'older' directory when superseeded, so provide # both possible storage locations. SRC_URI:append:preempt-rt = " \ ${KERNELORG_MIRROR}/linux/kernel/projects/rt/6.1/older/patch-6.1.80-rt26.patch.xz;name=rt-patch \ file://preempt-rt.scc \ file://preempt-rt-less-latency.scc \ " SRC_URI[rt-patch.sha256sum] = "17bce9596cd4d2b131e014c3bf984648d7c62545e13dfa5f9d7669d84b8c8770"