summaryrefslogtreecommitdiffstats
path: root/bsp/meta-renesas-rcar-gen3/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb
diff options
context:
space:
mode:
authorToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
committerToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
commit5b80bfd7bffd4c20d80b7c70a7130529e9a755dd (patch)
treeb4bb18dcd1487dbf1ea8127e5671b7bb2eded033 /bsp/meta-renesas-rcar-gen3/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb
parent706ad73eb02caf8532deaf5d38995bd258725cb8 (diff)
agl-basesystem
Diffstat (limited to 'bsp/meta-renesas-rcar-gen3/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb')
-rw-r--r--bsp/meta-renesas-rcar-gen3/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb78
1 files changed, 78 insertions, 0 deletions
diff --git a/bsp/meta-renesas-rcar-gen3/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb b/bsp/meta-renesas-rcar-gen3/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb
new file mode 100644
index 00000000..249a0574
--- /dev/null
+++ b/bsp/meta-renesas-rcar-gen3/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb
@@ -0,0 +1,78 @@
+DESCRIPTION = "Kernel module of PowerVR GPU"
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = " \
+ file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e \
+ file://MIT-COPYING;md5=8c2810fa6bfdc5ae5c15a0c1ade34054 \
+"
+inherit module
+require include/checksum_control.inc
+
+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-Silenced-Wcast-function-type-Wsizeof-pointer-div-and.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"