From 23841bb0e11260b7c2660be55c0de02c7d59f886 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Tue, 30 Apr 2024 17:57:39 -0400 Subject: [PATCH] meta-agl-bsp: NXP i.MX6 and i.MX8 fixes These changes should allow the etnaviv GPU driver using NXP i.MX6 and i.MX8 machines (e.g. cubox-i, imx8mq-evk) to build. Testing on hardware is required for the i.MX6, and etnaviv does not seem to be working on the i.MX8MQ-EVK as the previous devicetree tweak being used no longer seems applicable. Further investigation will be done in the near future as time permits. Notable changes: - The i.MX6 configurations have been switched to using the linux-fslc kernel instead of linux-fslc-lts, as the latter is older (6.1 vs 6.6). - The kernel patch against linux-fslc-imx to enable the MHDP driver when using etnaviv has been removed since it is no longer required. - The local workaround to allow enabling the "wayland" PACKAGECONFIG when building weston-imx has been replaced with use of the now provided upstream variable that allows that. Note that building with this version of Weston has not been tested since it is tied to using the Vivante GPU driver. Bug-AGL: SPEC-5122 Change-Id: I75810dd152197f9435158839fad00327ed7e42e7 Signed-off-by: Scott Murray Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29878 ci-image-build: Jenkins Job builder account Tested-by: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller --- meta-agl-bsp/conf/include/agl_cubox-i.inc | 24 ++++++++++++++-------- meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc | 4 ---- .../wayland/weston_10.0.1.imx.bbappend | 10 --------- .../wayland/weston_11.0.3.imx.bbappend | 2 ++ .../0001-enable-mhdp-with-etnaviv.patch | 22 -------------------- .../recipes-kernel/linux/linux-fslc-imx_%.bbappend | 9 ++++---- 6 files changed, 21 insertions(+), 50 deletions(-) delete mode 100644 meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend create mode 100644 meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_11.0.3.imx.bbappend delete mode 100644 meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch diff --git a/meta-agl-bsp/conf/include/agl_cubox-i.inc b/meta-agl-bsp/conf/include/agl_cubox-i.inc index ee5e759e4..fc0e14b5f 100644 --- a/meta-agl-bsp/conf/include/agl_cubox-i.inc +++ b/meta-agl-bsp/conf/include/agl_cubox-i.inc @@ -1,15 +1,21 @@ require agl_imx6-common.inc -# Force use of the community supported LTS kernel instead of the -# default linux-fslc -PREFERRED_PROVIDER_virtual/kernel = "linux-fslc-lts" +# Temporary fix for upstream breakage +# Note that the :cubox-i override is needed because we're +# overriding a definition done in the machine .conf. +KERNEL_DEVICETREE:cubox-i = " \ + nxp/imx/imx6dl-cubox-i.dtb \ + nxp/imx/imx6q-cubox-i.dtb \ + nxp/imx/imx6dl-hummingboard.dtb \ + nxp/imx/imx6q-hummingboard.dtb \ +" # Include devicetrees for SOM 1.5 and Hummingboard 2 hardware KERNEL_DEVICETREE:append = " \ - imx6dl-hummingboard-som-v15.dtb \ - imx6q-hummingboard-som-v15.dtb \ - imx6dl-hummingboard2.dtb \ - imx6q-hummingboard2.dtb \ - imx6dl-hummingboard2-som-v15.dtb \ - imx6q-hummingboard2-som-v15.dtb \ + nxp/imx/imx6dl-hummingboard-som-v15.dtb \ + nxp/imx/imx6q-hummingboard-som-v15.dtb \ + nxp/imx/imx6dl-hummingboard2.dtb \ + nxp/imx/imx6q-hummingboard2.dtb \ + nxp/imx/imx6dl-hummingboard2-som-v15.dtb \ + nxp/imx/imx6q-hummingboard2-som-v15.dtb \ " diff --git a/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc b/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc index f058ba1a5..cb13de713 100644 --- a/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc +++ b/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc @@ -1,5 +1 @@ require agl_imx6-common.inc - -# Force use of the community supported LTS kernel instead of the -# default linux-fslc -IMX_DEFAULT_KERNEL:imx6qdlsabreauto = "linux-fslc-lts" diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend deleted file mode 100644 index 07a43f958..000000000 --- a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.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/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_11.0.3.imx.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_11.0.3.imx.bbappend new file mode 100644 index 000000000..ca162e28f --- /dev/null +++ b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_11.0.3.imx.bbappend @@ -0,0 +1,2 @@ +# Use provided hook to disable removal of wayland from PACKAGECONFIG +PACKAGECONFIG_IMX_REMOVALS = "x11" diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch deleted file mode 100644 index f95891a2f..000000000 --- a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch +++ /dev/null @@ -1,22 +0,0 @@ -Tweak MHDP driver Kconfig so it can be enabled with etnaviv - -The MHDP driver is needed for using HDMI on the i.MX8MQ EVK, tweak its -Kconfig entry so that it can be enabled when using etnaviv, not just -Vivante. - -Upstream-Status: pending -Signed-off-by: Scott Murray ---- - -diff --git a/drivers/gpu/drm/imx/mhdp/Kconfig b/drivers/gpu/drm/imx/mhdp/Kconfig -index 225ccc3638a8..164b42f04e94 100644 ---- a/drivers/gpu/drm/imx/mhdp/Kconfig -+++ b/drivers/gpu/drm/imx/mhdp/Kconfig -@@ -7,6 +7,6 @@ config DRM_IMX_CDNS_MHDP - select DRM_CDNS_HDMI - select DRM_CDNS_AUDIO - select DRM_CDNS_HDMI_HDCP -- depends on DRM_IMX -+ depends on DRM_IMX || DRM_ETNAVIV - help - Choose this if you want to use HDMI on i.MX8. 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 index 0772a98a8..7fa055b40 100644 --- 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 @@ -4,11 +4,10 @@ require linux-fslc.inc # These patches and the configuration fragment below will need to be # revisited if/when using IMX_DEFAULT_BSP = "mainline" with i.MX8 -# becomes more feasible with upstream meta-freescale. -SRC_URI:append:etnaviv = " \ - file://0001-enable-mhdp-with-etnaviv.patch \ - file://0002-dts-enable-etnaviv.patch \ -" +# becomes feasible with the linux-fslc kernel. +#SRC_URI:append:etnaviv = " \ +# file://0002-dts-enable-etnaviv.patch \ +#" # Support for i.MX8MQ EVKB (e.g. Broadcom wifi) AGL_KCONFIG_FRAGMENTS:append:imx8mq-evk = " imx8mq-evkb.cfg" -- 2.16.6