diff options
Diffstat (limited to 'bsp/meta-renesas/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb')
-rw-r--r-- | bsp/meta-renesas/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb new file mode 100644 index 00000000..50a6765c --- /dev/null +++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb @@ -0,0 +1,76 @@ +DESCRIPTION = "Kernel module of PowerVR GPU" +LICENSE = "GPLv2 & MIT" +LIC_FILES_CHKSUM = " \ + file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e \ + file://MIT-COPYING;md5=8c2810fa6bfdc5ae5c15a0c1ade34054 \ +" +inherit module +PN = "kernel-module-gles" +PR = "r0" + +COMPATIBLE_MACHINE = "(r8a7795|r8a7796|r8a77965|r8a77990)" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +SRC_URI_r8a7795 = 'file://GSX_KM_H3.tar.bz2' +SRC_URI_r8a7796 = 'file://GSX_KM_M3.tar.bz2' +SRC_URI_r8a77965 = 'file://GSX_KM_M3N.tar.bz2' +SRC_URI_r8a77990 = 'file://GSX_KM_E3.tar.bz2' + +S = "${WORKDIR}/rogue_km" + +# W/A fix build errors with GCC 8.1 +SRC_URI_append = " file://0001-Silence-warnings-being-treated-as-errors.patch" + +KBUILD_DIR_r8a7795 = "${S}/build/linux/r8a7795_linux" +KBUILD_DIR_r8a7796 = "${S}/build/linux/r8a7796_linux" +KBUILD_DIR_r8a77965 = "${S}/build/linux/r8a77965_linux" +KBUILD_DIR_r8a77990 = "${S}/build/linux/r8a7799_linux" +KBUILD_OUTDIR_r8a7795 = "binary_r8a7795_linux_release/target_aarch64/kbuild/" +KBUILD_OUTDIR_r8a7796 = "binary_r8a7796_linux_release/target_aarch64/kbuild/" +KBUILD_OUTDIR_r8a77965 = "binary_r8a77965_linux_release/target_aarch64/kbuild/" +KBUILD_OUTDIR_r8a77990 = "binary_r8a7799_linux_release/target_aarch64/kbuild/" + +B = "${KBUILD_DIR}" + +EXTRA_OEMAKE = "KERNELDIR=${STAGING_KERNEL_BUILDDIR}" +EXTRA_OEMAKE += "CROSS_COMPILE=${CROSS_COMPILE}" + +# Build GFX kernel module without suffix +KERNEL_MODULE_PACKAGE_SUFFIX = "" + +module_do_compile() { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + cd ${KBUILD_DIR} + oe_runmake +} + +module_do_install() { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + install -d ${D}/lib/modules/${KERNEL_VERSION} + cd ${KBUILD_DIR} + oe_runmake DISCIMAGE="${D}" install +} + +# Ship the module symbol file to kernel build dir +SYSROOT_PREPROCESS_FUNCS = "module_sysroot_symbol" + +module_sysroot_symbol() { + install -m 644 ${S}/${KBUILD_OUTDIR}/Module.symvers ${STAGING_KERNEL_BUILDDIR}/GLES.symvers +} + +# Clean up the module symbol file +CLEANFUNCS = "module_clean_symbol" + +module_clean_symbol() { + rm -f ${STAGING_KERNEL_BUILDDIR}/GLES.symvers +} + +FILES_${PN} = " \ + /lib/modules/${KERNEL_VERSION}/extra/pvrsrvkm.ko \ + ${sysconfdir}/modules-load.d \ +" + +RPROVIDES_${PN} += "kernel-module-pvrsrvkm kernel-module-dc-linuxfb" + +# Auto load pvrsrvkm +KERNEL_MODULE_AUTOLOAD_append = " pvrsrvkm" |