From: Stefan Agner <[email protected]> This adds a recipe for the forked version of the MCC kernel module. The fork includes changes to compile and run the module with the 3.18 based kernel provided by linux-toradex_3.18.bb.
The forked version requires the functionality of the SEMA4 and MSCM CPU2CPU interrupts exported by the kernel through some Vybrid specific symbols: - mscm_request_cpu2cpu_irq - mscm_free_cpu2cpu_irq - mscm_trigger_cpu2cpu_irq - mvf_sema4_assign - mvf_sema4_deassign Currently, those symbols are provided by the Toradex Linux kernel only (linux-toradex_3.18.bb). Signed-off-by: Stefan Agner <[email protected]> --- Not sure this is the right approach to support this fork properly in meta-fsl-arm/-extra. We could probably also just solve the issue through versions, and create dependencies on version (e.g. the Toradex kernel would require a kernel-module-mcc > 1.07....?) However, this would require Timesys to apply our changes in their tree again and then create a new release first. Note that this is likely not the last change to the kernel module, for instance the SEMA4 driver could be modelled as a proper hwspinlock driver... conf/machine/colibri-vf.conf | 2 ++ conf/machine/pcl052.conf | 2 ++ conf/machine/pcm052.conf | 2 ++ conf/machine/quartz.conf | 2 ++ .../kernel-module-mcc-toradex_1.06+toradex.bb | 20 ++++++++++++++++++++ 5 files changed, 28 insertions(+) create mode 100644 recipes-kernel/kernel-module-mcc-toradex/kernel-module-mcc-toradex_1.06+toradex.bb diff --git a/conf/machine/colibri-vf.conf b/conf/machine/colibri-vf.conf index 92d5fd8..2c39b5b 100644 --- a/conf/machine/colibri-vf.conf +++ b/conf/machine/colibri-vf.conf @@ -18,6 +18,8 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-image kernel-devicetree" PREFERRED_PROVIDER_u-boot = "u-boot-toradex" PREFERRED_PROVIDER_virtual/bootloader = "u-boot-toradex" +PREFERRED_PROVIDER_virtual/kernel-module-mcc = "kernel-module-mcc-toradex" +PREFERRED_PROVIDER_virtual/kernel-module-mcc-dev = "kernel-module-mcc-toradex" # U-Boot NAND binary includes 0x400 padding required for NAND boot UBOOT_BINARY = "u-boot-nand.imx" diff --git a/conf/machine/pcl052.conf b/conf/machine/pcl052.conf index cc6f9af..c0034d9 100644 --- a/conf/machine/pcl052.conf +++ b/conf/machine/pcl052.conf @@ -10,6 +10,8 @@ include conf/machine/include/tune-cortexa5.inc SOC_FAMILY = "vf:vf60" PREFERRED_PROVIDER_virtual/kernel = "linux-timesys" +PREFERRED_PROVIDER_virtual/kernel-module-mcc ?= "kernel-module-mcc" +PREFERRED_PROVIDER_virtual/kernel-module-mcc-dev ?= "kernel-module-mcc" PREFERRED_PROVIDER_u-boot = "u-boot-timesys" UBOOT_MACHINE = "pcl052_config" diff --git a/conf/machine/pcm052.conf b/conf/machine/pcm052.conf index b57e477..cc96803 100644 --- a/conf/machine/pcm052.conf +++ b/conf/machine/pcm052.conf @@ -10,6 +10,8 @@ include conf/machine/include/tune-cortexa5.inc SOC_FAMILY = "vf:vf60" PREFERRED_PROVIDER_virtual/kernel = "linux-timesys" +PREFERRED_PROVIDER_virtual/kernel-module-mcc ?= "kernel-module-mcc" +PREFERRED_PROVIDER_virtual/kernel-module-mcc-dev ?= "kernel-module-mcc" PREFERRED_PROVIDER_u-boot = "u-boot-timesys" UBOOT_MACHINE = "pcm052_config" diff --git a/conf/machine/quartz.conf b/conf/machine/quartz.conf index 7762fc0..698dfd1 100644 --- a/conf/machine/quartz.conf +++ b/conf/machine/quartz.conf @@ -10,6 +10,8 @@ include conf/machine/include/tune-cortexa5.inc SOC_FAMILY = "vf:vf60" PREFERRED_PROVIDER_virtual/kernel = "linux-timesys" +PREFERRED_PROVIDER_virtual/kernel-module-mcc ?= "kernel-module-mcc" +PREFERRED_PROVIDER_virtual/kernel-module-mcc-dev ?= "kernel-module-mcc" PREFERRED_PROVIDER_u-boot = "u-boot-timesys" # The quartz_nand_config target supports both SD and NAND boot. diff --git a/recipes-kernel/kernel-module-mcc-toradex/kernel-module-mcc-toradex_1.06+toradex.bb b/recipes-kernel/kernel-module-mcc-toradex/kernel-module-mcc-toradex_1.06+toradex.bb new file mode 100644 index 0000000..c169023 --- /dev/null +++ b/recipes-kernel/kernel-module-mcc-toradex/kernel-module-mcc-toradex_1.06+toradex.bb @@ -0,0 +1,20 @@ +# Copyright (C) 2015 Toradex AG +# Copyright (C) 2013 Timesys Corporation +SUMMARY = "Multicore communication kernel module for linux-toradex kernel" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c8959abcbbe4d6676c58eab9354019e6" + +PROVIDES = "virtual/kernel-module-mcc" +RPROVIDES_${PN} = "virtual/kernel-module-mcc" +RPROVIDES_${PN}-dev = "virtual/kernel-module-mcc-dev" + +inherit module + +SRC_URI = "git://github.com/toradex/mcc-kmod.git;protocol=git;branch=${SRCBRANCH}" + +SRCBRANCH = "master" +SRCREV = "6a089386787e0540c30cc12fe774f3481c82051c" + +S = "${WORKDIR}/git" + +COMPATIBLE_MACHINE = "(vf60)" -- 1.9.3 -- _______________________________________________ meta-freescale mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-freescale
