meta-agl-bsp: NXP i.MX6 and i.MX8 fixes 78/29878/2
authorScott Murray <scott.murray@konsulko.com>
Tue, 30 Apr 2024 21:57:39 +0000 (17:57 -0400)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Thu, 2 May 2024 22:04:23 +0000 (22:04 +0000)
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 <scott.murray@konsulko.com>
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 <jsmoeller@linuxfoundation.org>
meta-agl-bsp/conf/include/agl_cubox-i.inc
meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc
meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend [deleted file]
meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_11.0.3.imx.bbappend [new file with mode: 0644]
meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch [deleted file]
meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend

index ee5e759..fc0e14b 100644 (file)
@@ -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 \
 "
index f058ba1..cb13de7 100644 (file)
@@ -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 (file)
index 07a43f9..0000000
+++ /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 (file)
index 0000000..ca162e2
--- /dev/null
@@ -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 (file)
index f95891a..0000000
+++ /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 <scott.murray@konsulko.com>
----
-
-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.
index 0772a98..7fa055b 100644 (file)
@@ -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"