From fa5152323ad2bd3d433aec72c4fec6614656f06d Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Fri, 1 Apr 2022 12:03:39 -0400 Subject: meta-agl-bsp: Update i.MX8MQ EVK support for kirkstone Changes: - Rename machine template and related files to use imx8mq-evk instead of imx8mqevk to match meta-freescale change. - Switch to purely using the default "mainline" BSP configuration in meta-freescale for imx8mq-evk as opposed to the tweaking of the "nxp" configuration previously used. The mainline configuration now builds a working image, and this lowers maintenance on our part. - Remove imx8mqevk-viv configuration to build with Vivante GPU driver. NXP have not yet released Weston 10 support, and at this point the etnaviv driver is stable. If a demonstration of support of Vivante is requested in the future (e.g. for other i.MX8 variants that still require it), this can be revisited. Bug-AGL: SPEC-3819 Signed-off-by: Scott Murray Change-Id: I7e279268463f68978ecd2990927aab6d64e3cbd2 --- .../conf/include/agl_imx8mq-evk-common.inc | 13 +++++++++ meta-agl-bsp/conf/include/agl_imx8mq-evk.inc | 23 +++++++++++++++ meta-agl-bsp/conf/include/agl_imx8mqevk-common.inc | 13 --------- meta-agl-bsp/conf/include/agl_imx8mqevk-viv.inc | 1 - meta-agl-bsp/conf/include/agl_imx8mqevk.inc | 23 --------------- .../hci-uart-helper/hci-uart-helper_1.0.bb | 2 +- .../mesa/files/0001-kmsro-add-imx-dcss.patch | 34 ---------------------- .../recipes-graphics/mesa/mesa_%.bbappend | 10 ------- .../wayland/weston_8.0.0.imx.bbappend | 10 ------- templates/machine/imx8mq-evk/40_bblayers.conf.inc | 5 ++++ templates/machine/imx8mq-evk/50_local.conf.inc | 3 ++ templates/machine/imx8mq-evk/50_setup.sh | 2 ++ .../imx8mq-evk/README_machine_imx8mq-evk.md | 13 +++++++++ .../machine/imx8mqevk-viv/40_bblayers.conf.inc | 5 ---- templates/machine/imx8mqevk-viv/50_local.conf.inc | 3 -- templates/machine/imx8mqevk-viv/50_setup.sh | 2 -- .../imx8mqevk-viv/README_machine_imx8mqevk-viv.md | 9 ------ templates/machine/imx8mqevk/40_bblayers.conf.inc | 5 ---- templates/machine/imx8mqevk/50_local.conf.inc | 3 -- templates/machine/imx8mqevk/50_setup.sh | 2 -- .../machine/imx8mqevk/README_machine_imx8mqevk.md | 13 --------- 21 files changed, 60 insertions(+), 134 deletions(-) create mode 100644 meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc create mode 100644 meta-agl-bsp/conf/include/agl_imx8mq-evk.inc delete mode 100644 meta-agl-bsp/conf/include/agl_imx8mqevk-common.inc delete mode 100644 meta-agl-bsp/conf/include/agl_imx8mqevk-viv.inc delete mode 100644 meta-agl-bsp/conf/include/agl_imx8mqevk.inc delete mode 100644 meta-agl-bsp/meta-freescale-layer/recipes-graphics/mesa/files/0001-kmsro-add-imx-dcss.patch delete mode 100644 meta-agl-bsp/meta-freescale-layer/recipes-graphics/mesa/mesa_%.bbappend delete mode 100644 meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_8.0.0.imx.bbappend create mode 100644 templates/machine/imx8mq-evk/40_bblayers.conf.inc create mode 100644 templates/machine/imx8mq-evk/50_local.conf.inc create mode 100644 templates/machine/imx8mq-evk/50_setup.sh create mode 100644 templates/machine/imx8mq-evk/README_machine_imx8mq-evk.md delete mode 100644 templates/machine/imx8mqevk-viv/40_bblayers.conf.inc delete mode 100644 templates/machine/imx8mqevk-viv/50_local.conf.inc delete mode 100644 templates/machine/imx8mqevk-viv/50_setup.sh delete mode 100644 templates/machine/imx8mqevk-viv/README_machine_imx8mqevk-viv.md delete mode 100644 templates/machine/imx8mqevk/40_bblayers.conf.inc delete mode 100644 templates/machine/imx8mqevk/50_local.conf.inc delete mode 100644 templates/machine/imx8mqevk/50_setup.sh delete mode 100644 templates/machine/imx8mqevk/README_machine_imx8mqevk.md diff --git a/meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc b/meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc new file mode 100644 index 000000000..36493dcbf --- /dev/null +++ b/meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc @@ -0,0 +1,13 @@ +require agl_imx-common.inc + +# Force use of the community supported LTS kernel instead of the +# default linux-imx +#IMX_DEFAULT_KERNEL:imx8mq-evk = "linux-fslc-imx" + +# For EVKB wifi support +#MACHINE_FEATURES:append = " bcm4356" + +# Add helper to drive setting up HCI UART device +MACHINE_EXTRA_RRECOMMENDS:append = " hci-uart-helper" + +AGL_DEFAULT_INITRAMFS_FSTYPES := "" diff --git a/meta-agl-bsp/conf/include/agl_imx8mq-evk.inc b/meta-agl-bsp/conf/include/agl_imx8mq-evk.inc new file mode 100644 index 000000000..d04ee41a7 --- /dev/null +++ b/meta-agl-bsp/conf/include/agl_imx8mq-evk.inc @@ -0,0 +1,23 @@ +include agl_imx8mq-evk-common.inc + +# NOTE: currently not using IMX_DEFAULT_BSP = "mainline", as it +# requires more changes than this approach of disabling +# Vivante. + +# Add our own over-ride for use in a few recipes where there is +# conflicting Vivante vs etnaviv configuration. +#MACHINEOVERRIDES .= ":etnaviv" + +# Knock out Vivante overrides +#MACHINEOVERRIDES_EXTENDER:mx8mq:forcevariable = "" +#PREFERRED_VERSION_weston_mx8 = "8.0.0" +#PREFERRED_VERSION_wayland-protocols_mx8 = "1.20" +#PREFERRED_VERSION_libdrm_mx8 = "2.4.101" + +#CORE_IMAGE_EXTRA_INSTALL += "libdrm-etnaviv" + +#PREFERRED_VERSION_gstreamer1.0_mx8 = "1.16.3" +#PREFERRED_VERSION_gstreamer1.0-plugins-base_mx8 = "1.16.3" +#PREFERRED_VERSION_gstreamer1.0-plugins-good_mx8 = "1.16.3" +#PREFERRED_VERSION_gstreamer1.0-plugins-bad_mx8 = "1.16.3" +#PREFERRED_VERSION_gstreamer1.0-plugins-ugly_mx8 = "1.16.3" diff --git a/meta-agl-bsp/conf/include/agl_imx8mqevk-common.inc b/meta-agl-bsp/conf/include/agl_imx8mqevk-common.inc deleted file mode 100644 index f3c4a736e..000000000 --- a/meta-agl-bsp/conf/include/agl_imx8mqevk-common.inc +++ /dev/null @@ -1,13 +0,0 @@ -require agl_imx-common.inc - -# 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" - -# Add helper to drive setting up HCI UART device -MACHINE_EXTRA_RRECOMMENDS:append = " hci-uart-helper" - -AGL_DEFAULT_INITRAMFS_FSTYPES := "" diff --git a/meta-agl-bsp/conf/include/agl_imx8mqevk-viv.inc b/meta-agl-bsp/conf/include/agl_imx8mqevk-viv.inc deleted file mode 100644 index 8227f5c06..000000000 --- a/meta-agl-bsp/conf/include/agl_imx8mqevk-viv.inc +++ /dev/null @@ -1 +0,0 @@ -include agl_imx8mqevk-common.inc diff --git a/meta-agl-bsp/conf/include/agl_imx8mqevk.inc b/meta-agl-bsp/conf/include/agl_imx8mqevk.inc deleted file mode 100644 index 6801722be..000000000 --- a/meta-agl-bsp/conf/include/agl_imx8mqevk.inc +++ /dev/null @@ -1,23 +0,0 @@ -include agl_imx8mqevk-common.inc - -# NOTE: currently not using IMX_DEFAULT_BSP = "mainline", as it -# requires more changes than this approach of disabling -# Vivante. - -# Add our own over-ride for use in a few recipes where there is -# conflicting Vivante vs etnaviv configuration. -MACHINEOVERRIDES .= ":etnaviv" - -# Knock out Vivante overrides -MACHINEOVERRIDES_EXTENDER:mx8mq:forcevariable = "" -PREFERRED_VERSION_weston_mx8 = "8.0.0" -PREFERRED_VERSION_wayland-protocols_mx8 = "1.20" -PREFERRED_VERSION_libdrm_mx8 = "2.4.101" - -CORE_IMAGE_EXTRA_INSTALL += "libdrm-etnaviv" - -PREFERRED_VERSION_gstreamer1.0_mx8 = "1.16.3" -PREFERRED_VERSION_gstreamer1.0-plugins-base_mx8 = "1.16.3" -PREFERRED_VERSION_gstreamer1.0-plugins-good_mx8 = "1.16.3" -PREFERRED_VERSION_gstreamer1.0-plugins-bad_mx8 = "1.16.3" -PREFERRED_VERSION_gstreamer1.0-plugins-ugly_mx8 = "1.16.3" diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/hci-uart-helper_1.0.bb b/meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/hci-uart-helper_1.0.bb index 1a9c6bb4e..798fcebe6 100644 --- a/meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/hci-uart-helper_1.0.bb +++ b/meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/hci-uart-helper_1.0.bb @@ -8,7 +8,7 @@ SRC_URI = "file://hci-uart-helper.service \ file://hci-uart-helper.sh \ " -COMPATIBLE_MACHINE = "imx8mqevk" +COMPATIBLE_MACHINE = "imx8mq-evk" do_configure[noexec] = "1" do_compile[noexec] = "1" diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/mesa/files/0001-kmsro-add-imx-dcss.patch b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/mesa/files/0001-kmsro-add-imx-dcss.patch deleted file mode 100644 index 7f7ab9124..000000000 --- a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/mesa/files/0001-kmsro-add-imx-dcss.patch +++ /dev/null @@ -1,34 +0,0 @@ -Add i.MX8MQ DCSS kmsro support - -Add required dummy entry for NXP's i.MX8MQ DCSS display controller DRM -driver to the kmsro configuration so that the loader will not think it -is a GPU. - -Upstream-Status: pending -Signed-off-by: Scott Murray ---- - -diff --git a/src/gallium/targets/dri/meson.build b/src/gallium/targets/dri/meson.build -index ae25a21..17379c7 100644 ---- a/src/gallium/targets/dri/meson.build -+++ b/src/gallium/targets/dri/meson.build -@@ -72,6 +72,7 @@ foreach d : [[with_gallium_kmsro, [ - 'hx8357d_dri.so', - 'ili9225_dri.so', - 'ili9341_dri.so', -+ 'imx-dcss_dri.so', - 'imx-drm_dri.so', - 'ingenic-drm_dri.so', - 'mcde_dri.so', -diff --git a/src/gallium/targets/dri/target.c b/src/gallium/targets/dri/target.c -index f71f690..41c5c75 100644 ---- a/src/gallium/targets/dri/target.c -+++ b/src/gallium/targets/dri/target.c -@@ -97,6 +97,7 @@ DEFINE_LOADER_DRM_ENTRYPOINT(exynos) - DEFINE_LOADER_DRM_ENTRYPOINT(hx8357d) - DEFINE_LOADER_DRM_ENTRYPOINT(ili9225) - DEFINE_LOADER_DRM_ENTRYPOINT(ili9341) -+DEFINE_LOADER_DRM_ENTRYPOINT(imx_dcss) - DEFINE_LOADER_DRM_ENTRYPOINT(imx_drm) - DEFINE_LOADER_DRM_ENTRYPOINT(ingenic_drm) - DEFINE_LOADER_DRM_ENTRYPOINT(mcde) diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/mesa/mesa_%.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/mesa/mesa_%.bbappend deleted file mode 100644 index e7633f215..000000000 --- a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/mesa/mesa_%.bbappend +++ /dev/null @@ -1,10 +0,0 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/files:" - -SRC_URI += "file://0001-kmsro-add-imx-dcss.patch" - -# These over-rides should use "use-mainline-bsp" instead when that -# becomes more workable for i.MX8 in upstream meta-freescale. - -USE_OSMESA_ONLY:etnaviv = "no" - -PACKAGECONFIG:append:etnaviv = " gallium etnaviv kmsro" diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_8.0.0.imx.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_8.0.0.imx.bbappend deleted file mode 100644 index 270d8e8f5..000000000 --- a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_8.0.0.imx.bbappend +++ /dev/null @@ -1,10 +0,0 @@ -# Work around PACKAGECONFIG:remove of "x11 wayland" added to the recipe -# in meta-freescale commit 5a5c5dd. This can be removed once the issue -# has been resolved by a revert of that breakage upstream. -# What is done below is effectively a disabling of the "wayland" -# PACKAGECONFIG option and then open coding what its effects would -# normally be, since the _remove prevents specifying it in the usual way. -PACKAGECONFIG[wayland] = "" -DEPENDS:append = " virtual/egl virtual/libgles2" -PACKAGECONFIG_CONFARGS:append = " -Dbackend-wayland=true" - diff --git a/templates/machine/imx8mq-evk/40_bblayers.conf.inc b/templates/machine/imx8mq-evk/40_bblayers.conf.inc new file mode 100644 index 000000000..edcb6a3a2 --- /dev/null +++ b/templates/machine/imx8mq-evk/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/imx8mq-evk/50_local.conf.inc b/templates/machine/imx8mq-evk/50_local.conf.inc new file mode 100644 index 000000000..8a178e28b --- /dev/null +++ b/templates/machine/imx8mq-evk/50_local.conf.inc @@ -0,0 +1,3 @@ +MACHINE = "imx8mq-evk" +#see meta-agl/meta-agl-bsp/conf/include/agl_imx8mq-evk.inc +require conf/include/agl_imx8mq-evk.inc diff --git a/templates/machine/imx8mq-evk/50_setup.sh b/templates/machine/imx8mq-evk/50_setup.sh new file mode 100644 index 000000000..eefd1eb7f --- /dev/null +++ b/templates/machine/imx8mq-evk/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/imx8mq-evk/README_machine_imx8mq-evk.md b/templates/machine/imx8mq-evk/README_machine_imx8mq-evk.md new file mode 100644 index 000000000..ea9ddacce --- /dev/null +++ b/templates/machine/imx8mq-evk/README_machine_imx8mq-evk.md @@ -0,0 +1,13 @@ +--- +description: i.MX8MQ EVK with etnaviv GPU driver +authors: Scott Murray +--- + +### Machine imx8mq-evk + +i.MX8MQ EVK and EVKB boards with etnaviv GPU driver support. +Note that etnaviv on the GC7000L GPU in the i.MX8MQ is currently still +a work in progress, the imx8mq-evk-viv template using the NXP Vivante +driver may be a better choice for those not interested in etnaviv +debugging and development. + diff --git a/templates/machine/imx8mqevk-viv/40_bblayers.conf.inc b/templates/machine/imx8mqevk-viv/40_bblayers.conf.inc deleted file mode 100644 index edcb6a3a2..000000000 --- a/templates/machine/imx8mqevk-viv/40_bblayers.conf.inc +++ /dev/null @@ -1,5 +0,0 @@ -# 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 deleted file mode 100644 index e9668c307..000000000 --- a/templates/machine/imx8mqevk-viv/50_local.conf.inc +++ /dev/null @@ -1,3 +0,0 @@ -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 deleted file mode 100644 index eefd1eb7f..000000000 --- a/templates/machine/imx8mqevk-viv/50_setup.sh +++ /dev/null @@ -1,2 +0,0 @@ -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 deleted file mode 100644 index be30e00fe..000000000 --- a/templates/machine/imx8mqevk-viv/README_machine_imx8mqevk-viv.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -description: i.MX8MQ EVK with Vivante GPU driver -authors: Scott Murray ---- - -### Machine imx8mqevk-viv - -i.MX8MQ EVK and EVKB boards with Vivante GPU driver support. - diff --git a/templates/machine/imx8mqevk/40_bblayers.conf.inc b/templates/machine/imx8mqevk/40_bblayers.conf.inc deleted file mode 100644 index edcb6a3a2..000000000 --- a/templates/machine/imx8mqevk/40_bblayers.conf.inc +++ /dev/null @@ -1,5 +0,0 @@ -# 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/50_local.conf.inc b/templates/machine/imx8mqevk/50_local.conf.inc deleted file mode 100644 index 5f9b95943..000000000 --- a/templates/machine/imx8mqevk/50_local.conf.inc +++ /dev/null @@ -1,3 +0,0 @@ -MACHINE = "imx8mqevk" -#see meta-agl/meta-agl-bsp/conf/include/agl_imx8mqevk.inc -require conf/include/agl_imx8mqevk.inc diff --git a/templates/machine/imx8mqevk/50_setup.sh b/templates/machine/imx8mqevk/50_setup.sh deleted file mode 100644 index eefd1eb7f..000000000 --- a/templates/machine/imx8mqevk/50_setup.sh +++ /dev/null @@ -1,2 +0,0 @@ -find_and_ack_eula $METADIR/bsp/meta-freescale EULA -export EULA_FLAG_NAME="ACCEPT_FSL_EULA" diff --git a/templates/machine/imx8mqevk/README_machine_imx8mqevk.md b/templates/machine/imx8mqevk/README_machine_imx8mqevk.md deleted file mode 100644 index 5d2bcbd37..000000000 --- a/templates/machine/imx8mqevk/README_machine_imx8mqevk.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: i.MX8MQ EVK with etnaviv GPU driver -authors: Scott Murray ---- - -### Machine imx8mqevk - -i.MX8MQ EVK and EVKB boards with etnaviv GPU driver support. -Note that etnaviv on the GC7000L GPU in the i.MX8MQ is currently still -a work in progress, the imx8mqevk-viv template using the NXP Vivante -driver may be a better choice for those not interested in etnaviv -debugging and development. - -- cgit 1.2.3-korg