From: Scott Murray Date: Thu, 7 May 2020 19:55:04 +0000 (-0400) Subject: Add i.MX8MQ EVK support X-Git-Tag: 9.99.1~51 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=4ee8c933aa9726f0493ead14b4e1c97a0844ec28;p=AGL%2Fmeta-agl.git Add i.MX8MQ EVK support Add imx8mqevk-viv machine template for i.MX8MQ EVK which uses the default Vivante driver configuration in meta-freescale with the new community linux-fslc-imx kernel. The following additional changes have been made to support this: - A linux-fslc-imx bbappend has been added to pull in the AGL kernel configuration, and a imx8mq-evkb config fragment has been added to enable the required Wifi driver for the updated EVKB board. - Stale qtbase and weston-init bbappends/patches have been removed from meta-agl-bsp/meta-freescale-layer. - The meta-agl-profile-graphical Weston 8.0.0 bbappend has been renamed to 8.0.% so the wildcard will apply it to meta-freescale's weston_8.0.0.imx recipe. Known issues: - The required PipeWire configuration for the onboard audio needs further investigation. Bug-AGL: SPEC-3258 Signed-off-by: Scott Murray Change-Id: I4ea5437ef0ea8bedb9dd2157f2822ff25ee56cff --- diff --git a/meta-agl-bsp/conf/include/agl_imx8mqevk-viv.inc b/meta-agl-bsp/conf/include/agl_imx8mqevk-viv.inc new file mode 100644 index 000000000..50567583c --- /dev/null +++ b/meta-agl-bsp/conf/include/agl_imx8mqevk-viv.inc @@ -0,0 +1,19 @@ +DISTRO_FEATURES_append = " agl-medium-arm-compiler" + +# Force use of the community supported LTS kernel instead of the +# default linux-imx +IMX_DEFAULT_KERNEL_imx8mqevk = "linux-fslc-imx" + +# For EVKB wifi support +MACHINE_FEATURES_append = " bcm4356" + +# Disable meta-freescale package architecure mangling, as it causes +# issues with AGL's explicit setting of DEFAULTTUNE. +INHERIT_remove = "fsl-dynamic-packagearch" +MACHINE_SOCARCH = "${TUNE_PKGARCH}" + +# Disable the meta-freescale weston-init bbappend as it conflicts +# with AGL's. +BBMASK = "meta-freescale/recipes-graphics/wayland/weston-init" + +AGL_DEFAULT_INITRAMFS_FSTYPES := "" diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston-init.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston-init.bbappend deleted file mode 100644 index 2e1c950ec..000000000 --- a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston-init.bbappend +++ /dev/null @@ -1 +0,0 @@ -WESTONARGS_append_imxgpu3d = " --use-gl" diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/files/imx8mq-evkb.cfg b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/files/imx8mq-evkb.cfg new file mode 100644 index 000000000..92915921f --- /dev/null +++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/files/imx8mq-evkb.cfg @@ -0,0 +1 @@ +CONFIG_BRCMSMAC=m diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend new file mode 100644 index 000000000..33e72bf7d --- /dev/null +++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend @@ -0,0 +1,24 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +require recipes-kernel/linux/linux-agl.inc + +# Make sure these are enabled so that AGL configurations work +SRC_URI_append = " file://tmpfs.cfg" +KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/tmpfs.cfg" +SRC_URI_append = " file://namespace.cfg" +KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/namespace.cfg" +SRC_URI_append = " file://cgroup.cfg" +KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/cgroup.cfg" + +# Support for CFG80211 subsystem +SRC_URI_append = " file://cfg80211.cfg" +KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/cfg80211.cfg" + +# Support for i.MX8MQ EVKB (e.g. Broadcom wifi) +SRC_URI_append_imx8mqevk = " file://imx8mq-evkb.cfg" +KERNEL_CONFIG_FRAGMENTS_append_imx8mqevk = " ${WORKDIR}/imx8mq-evkb.cfg" + +# Turn off a couple of things enabled by default by Freescale +# (lock debugging and userspace firmware loader fallback) +SRC_URI_append = " file://fixups.cfg" +KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/fixups.cfg" diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-qt/qt5/qtbase/0014-Add-IMX-GPU-support.patch b/meta-agl-bsp/meta-freescale-layer/recipes-qt/qt5/qtbase/0014-Add-IMX-GPU-support.patch deleted file mode 100644 index 8489b6f39..000000000 --- a/meta-agl-bsp/meta-freescale-layer/recipes-qt/qt5/qtbase/0014-Add-IMX-GPU-support.patch +++ /dev/null @@ -1,17 +0,0 @@ -Index: git/mkspecs/linux-oe-g++/qmake.conf -=================================================================== ---- git.orig/mkspecs/linux-oe-g++/qmake.conf 2016-12-14 16:51:48.468955533 -0600 -+++ git/mkspecs/linux-oe-g++/qmake.conf 2016-12-14 17:03:17.000000000 -0600 -@@ -39,5 +39,12 @@ isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG - - include(../oe-device-extra.pri) - -+QMAKE_CFLAGS += -DLINUX=1 -DEGL_API_FB=1 -+QMAKE_CXXFLAGS += -DLINUX=1 -DEGL_API_FB=1 -+ -+QMAKE_LIBS_EGL += -lEGL -+QMAKE_LIBS_OPENGL_ES2 += -lEGL -lGLESv2 -+QMAKE_LIBS_OPENVG += -lEGL -lOpenVG -+ - load(device_config) - load(qt_config) diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-qt/qt5/qtbase_%.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-qt/qt5/qtbase_%.bbappend deleted file mode 100644 index c4afc30eb..000000000 --- a/meta-agl-bsp/meta-freescale-layer/recipes-qt/qt5/qtbase_%.bbappend +++ /dev/null @@ -1,5 +0,0 @@ - -# Fixing Qt5.8 build breaks by overriding original patches with ours -# This will be fixed in the latest meta-freescale upstream -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston_8.0.0.bbappend b/meta-agl-profile-graphical/recipes-graphics/wayland/weston_8.0.%.bbappend similarity index 100% rename from meta-agl-profile-graphical/recipes-graphics/wayland/weston_8.0.0.bbappend rename to meta-agl-profile-graphical/recipes-graphics/wayland/weston_8.0.%.bbappend diff --git a/templates/machine/imx8mqevk-viv/40_bblayers.conf.inc b/templates/machine/imx8mqevk-viv/40_bblayers.conf.inc new file mode 100644 index 000000000..edcb6a3a2 --- /dev/null +++ b/templates/machine/imx8mqevk-viv/40_bblayers.conf.inc @@ -0,0 +1,5 @@ +# This must be parsed after qt5, etc. layers so that they are correctly +# recognized by meta-freescale/dynamic-layers +BBLAYERS =+ "\ + ${METADIR}/bsp/meta-freescale \ + " diff --git a/templates/machine/imx8mqevk-viv/50_local.conf.inc b/templates/machine/imx8mqevk-viv/50_local.conf.inc new file mode 100644 index 000000000..e9668c307 --- /dev/null +++ b/templates/machine/imx8mqevk-viv/50_local.conf.inc @@ -0,0 +1,3 @@ +MACHINE = "imx8mqevk" +#see meta-agl/meta-agl-bsp/conf/include/agl_imx8mqevk-viv.inc +require conf/include/agl_imx8mqevk-viv.inc diff --git a/templates/machine/imx8mqevk-viv/50_setup.sh b/templates/machine/imx8mqevk-viv/50_setup.sh new file mode 100644 index 000000000..eefd1eb7f --- /dev/null +++ b/templates/machine/imx8mqevk-viv/50_setup.sh @@ -0,0 +1,2 @@ +find_and_ack_eula $METADIR/bsp/meta-freescale EULA +export EULA_FLAG_NAME="ACCEPT_FSL_EULA" diff --git a/templates/machine/imx8mqevk-viv/README_machine_imx8mqevk-viv.md b/templates/machine/imx8mqevk-viv/README_machine_imx8mqevk-viv.md new file mode 100644 index 000000000..a85140e6a --- /dev/null +++ b/templates/machine/imx8mqevk-viv/README_machine_imx8mqevk-viv.md @@ -0,0 +1,9 @@ +--- +description: i.MX8 EVK with Vivante GPU driver +authors: Scott Murray +--- + +### Machine imx8mqevk-viv + +i.MX8 EVK and EVKB boards with Vivante GPU driver support. +