summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-agl-bsp/conf/machine/include/virtio.inc3
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto-dev.bbappend10
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc13
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_6.6.bbappend21
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Add-paint-node-destruction-into-weston_lay.patch60
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston_13.0_aglcore.inc1
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux-agl-config-virtio.inc8
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux-agl-config.inc4
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux-agl.inc3
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/virtio-aarch64.cfg29
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/virtio-drm.cfg (renamed from meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg)0
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/virtio-pci.cfg (renamed from meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg)0
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/virtio-scmi.cfg25
-rw-r--r--templates/feature/agl-flutter/50_bblayers.conf.inc3
-rw-r--r--templates/feature/agl-pipewire/50_bblayers.conf.inc10
15 files changed, 77 insertions, 113 deletions
diff --git a/meta-agl-bsp/conf/machine/include/virtio.inc b/meta-agl-bsp/conf/machine/include/virtio.inc
index 6f8a638a0..1e4875b5d 100644
--- a/meta-agl-bsp/conf/machine/include/virtio.inc
+++ b/meta-agl-bsp/conf/machine/include/virtio.inc
@@ -15,9 +15,6 @@ RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
# Use a common kernel recipe for all VirtIO machines
PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
-# Use newer kernel
-PREFERRED_VERSION_linux-yocto = "5.15.%"
-
EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
IMAGE_CLASSES += "qemuboot"
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto-dev.bbappend b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto-dev.bbappend
deleted file mode 100644
index 5970414eb..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto-dev.bbappend
+++ /dev/null
@@ -1,10 +0,0 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/linux-yocto:"
-
-SRC_URI:append:virtio-all = " \
- git://gerrit.automotivelinux.org/gerrit/src/agl-yocto-kernel-meta.git;protocol=https;type=kmeta;name=agl-meta;destsuffix=agl-kernel-meta;branch=master \
- file://virtio-aarch64-${LINUX_KERNEL_TYPE}.scc \
-"
-
-SRCREV_agl-meta = "c5008f4ba9e1b9f11c1014b53477079e605ceab7"
-
-COMPATIBLE_MACHINE:virtio-aarch64 = "virtio-aarch64"
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc
deleted file mode 100644
index 2d1570e9f..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc
+++ /dev/null
@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: MIT
-define KMACHINE virtio-aarch64
-define KTYPE standard
-define KARCH arm64
-
-include ktypes/standard/standard.scc nopatch
-include arch/arm/aarch64.scc
-include cfg/8250.scc
-include cfg/virtio.scc
-include bsp/virtio/agl-virtio.scc
-
-# enable the ability to run 32 bit apps
-include arch/arm/32bit-compat.scc
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_6.6.bbappend b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_6.6.bbappend
index 6952436a3..15cb9ea98 100644
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_6.6.bbappend
+++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_6.6.bbappend
@@ -1,17 +1,6 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-
-# Cannot just append to SRC_URI, as the metadata interferes with the
-# AGL config fragment scheme
-AGL_KERNEL_SRC:prepend:virtio-all = " \
- git://gerrit.automotivelinux.org/gerrit/src/agl-yocto-kernel-meta.git;protocol=https;type=kmeta;name=agl-meta;destsuffix=agl-kernel-meta;branch=kernel-5.15 \
- file://virtio-aarch64-${LINUX_KERNEL_TYPE}.scc \
-"
-
-SRCREV_agl-meta = "4deb7357eab5962b0553a5ad1f11be5ac35f9da9"
-
-AGL_KCONFIG_FRAGMENTS:append:virtio-all = " \
- virtio-drm.cfg \
- virtio-pci.cfg \
-"
-
+# NOTE: Has to be in bbappend itself because BitBake does not fully
+# parse recipes when checking it
COMPATIBLE_MACHINE:virtio-aarch64 = "virtio-aarch64"
+
+# Reuse base qemuarm64 machine to avoid needing our own kernel metadata
+KMACHINE:virtio-aarch64 = "qemuarm64" \ No newline at end of file
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Add-paint-node-destruction-into-weston_lay.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Add-paint-node-destruction-into-weston_lay.patch
deleted file mode 100644
index 19eadcf7f..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Add-paint-node-destruction-into-weston_lay.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From cfde02d47a503cbfd0629bbfe0cb776686af8a91 Mon Sep 17 00:00:00 2001
-From: Marius Vlad <marius.vlad@collabora.com>
-Date: Tue, 9 Apr 2024 18:34:22 +0300
-Subject: [PATCH] libweston: Add paint node destruction into
- weston_layer_entry_remove()
-
-This prevents a potential crash where users of
-weston_layer_entry_insert/layer_entry_remove() would see when moving
-views into a NULL layer (effectively unmapping the surface/view).
-
-Users that have migrated to the weston_view_move_to_layer() are immune
-to this issue because that takes care paint node destruction.
-
-Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
----
- libweston/compositor.c | 17 ++++++++++-------
- 1 file changed, 10 insertions(+), 7 deletions(-)
-
-diff --git a/libweston/compositor.c b/libweston/compositor.c
-index bb29b83b5..ea257bb90 100644
---- a/libweston/compositor.c
-+++ b/libweston/compositor.c
-@@ -3980,17 +3980,10 @@ weston_view_move_to_layer(struct weston_view *view,
- struct weston_layer_entry *layer)
- {
- bool was_mapped = view->is_mapped;
-- struct weston_paint_node *pnode, *pntmp;
-
- if (layer == &view->layer_link)
- return;
-
-- /* Remove all paint nodes because we have no idea what a layer change
-- * does to view visibility on any output.
-- */
-- wl_list_for_each_safe(pnode, pntmp, &view->paint_node_list, view_link)
-- weston_paint_node_destroy(pnode);
--
- view->surface->compositor->view_list_needs_rebuild = true;
-
- /* Damage the view's old region, and remove it from the layer. */
-@@ -4020,6 +4013,16 @@ weston_view_move_to_layer(struct weston_view *view,
- WL_EXPORT void
- weston_layer_entry_remove(struct weston_layer_entry *entry)
- {
-+ struct weston_paint_node *pnode, *pntmp;
-+ struct weston_view *view;
-+
-+ /* Remove all paint nodes because we have no idea what a layer change
-+ * does to view visibility on any output.
-+ */
-+ view = container_of(entry, struct weston_view, layer_link);
-+ wl_list_for_each_safe(pnode, pntmp, &view->paint_node_list, view_link)
-+ weston_paint_node_destroy(pnode);
-+
- wl_list_remove(&entry->link);
- wl_list_init(&entry->link);
- entry->layer = NULL;
---
-2.43.0
-
diff --git a/meta-agl-core/recipes-graphics/wayland/weston_13.0_aglcore.inc b/meta-agl-core/recipes-graphics/wayland/weston_13.0_aglcore.inc
index 843a068b4..14387898e 100644
--- a/meta-agl-core/recipes-graphics/wayland/weston_13.0_aglcore.inc
+++ b/meta-agl-core/recipes-graphics/wayland/weston_13.0_aglcore.inc
@@ -4,7 +4,6 @@ PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'weston-remoting
SRC_URI:append = " \
file://0001-clients-Handle-missing-pointer_surface-is-there-s-no.patch \
- file://0001-libweston-Add-paint-node-destruction-into-weston_lay.patch \
"
diff --git a/meta-agl-core/recipes-kernel/linux/linux-agl-config-virtio.inc b/meta-agl-core/recipes-kernel/linux/linux-agl-config-virtio.inc
new file mode 100644
index 000000000..e0d30b1f6
--- /dev/null
+++ b/meta-agl-core/recipes-kernel/linux/linux-agl-config-virtio.inc
@@ -0,0 +1,8 @@
+AGL_KCONFIG_FRAGMENTS += " \
+ virtio-${TUNE_ARCH} \
+ virtio-drm.cfg \
+ virtio-pci.cfg \
+ virtio-scmi.cfg \
+ sound-hda.cfg \
+ virtio-snd.cfg \
+"
diff --git a/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc b/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc
index 8205e6ff7..28e4bfa23 100644
--- a/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc
+++ b/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc
@@ -71,10 +71,6 @@ AGL_KCONFIG_FRAGMENTS:append:qemuall = " \
qemu-drm.cfg \
"
-AGL_KCONFIG_FRAGMENTS:append:virtio-all = " \
- sound-hda.cfg \
-"
-
# Configuration for using the ARM virt machine (and not versatilepb)
AGL_KCONFIG_FRAGMENTS:append:qemuarm = " qemuarm.cfg"
diff --git a/meta-agl-core/recipes-kernel/linux/linux-agl.inc b/meta-agl-core/recipes-kernel/linux/linux-agl.inc
index c318716fe..f41e35bc2 100644
--- a/meta-agl-core/recipes-kernel/linux/linux-agl.inc
+++ b/meta-agl-core/recipes-kernel/linux/linux-agl.inc
@@ -3,7 +3,8 @@
DEPENDS += "kern-tools-native"
-include linux-agl-config.inc
+require linux-agl-config.inc
+include ${@bb.utils.contains('AGL_FEATURES', 'agl-virtio-guest', 'linux-agl-config-virtio.inc', '', d)}
# returns all the elements from the src uri that are .cfg files
def find_cfgs(d):
diff --git a/meta-agl-core/recipes-kernel/linux/linux/virtio-aarch64.cfg b/meta-agl-core/recipes-kernel/linux/linux/virtio-aarch64.cfg
new file mode 100644
index 000000000..25381e133
--- /dev/null
+++ b/meta-agl-core/recipes-kernel/linux/linux/virtio-aarch64.cfg
@@ -0,0 +1,29 @@
+# SPDX-License-Identifier: MIT
+#
+# ARM64
+#
+CONFIG_ARM64=y
+CONFIG_64BIT=y
+
+#
+# Bus support
+#
+CONFIG_ARM_AMBA=y
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+
+#
+# RTC
+#
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_PL031=y
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg b/meta-agl-core/recipes-kernel/linux/linux/virtio-drm.cfg
index 2facc345e..2facc345e 100644
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg
+++ b/meta-agl-core/recipes-kernel/linux/linux/virtio-drm.cfg
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg b/meta-agl-core/recipes-kernel/linux/linux/virtio-pci.cfg
index bbcaca312..bbcaca312 100644
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg
+++ b/meta-agl-core/recipes-kernel/linux/linux/virtio-pci.cfg
diff --git a/meta-agl-core/recipes-kernel/linux/linux/virtio-scmi.cfg b/meta-agl-core/recipes-kernel/linux/linux/virtio-scmi.cfg
new file mode 100644
index 000000000..5ae01938e
--- /dev/null
+++ b/meta-agl-core/recipes-kernel/linux/linux/virtio-scmi.cfg
@@ -0,0 +1,25 @@
+# Enable ARM_SCMI_PROTOCOL ("ARM System Control and Management Interface (SCMI)
+# Message Protocol") config located in menu
+#
+# -> Device Drivers
+# -> Firmware Drivers
+# -> ARM System Control and Management Interface Protocol
+#
+# After that, in the same menu enabled:
+#
+# * ARM_SCMI_TRANSPORT_VIRTIO ("SCMI transport based on VirtIO")
+#
+# and disabled not used features:
+#
+# * ARM_SCMI_TRANSPORT_SMC ("SCMI transport based on SMC")
+# * ARM_SCMI_POWER_DOMAIN ("SCMI power domain driver")
+
+CONFIG_ARM_SCMI_PROTOCOL=y
+CONFIG_ARM_SCMI_HAVE_TRANSPORT=y
+CONFIG_ARM_SCMI_HAVE_MSG=y
+# CONFIG_ARM_SCMI_TRANSPORT_SMC is not set
+CONFIG_ARM_SCMI_TRANSPORT_VIRTIO=y
+# CONFIG_ARM_SCMI_POWER_DOMAIN is not set
+# CONFIG_SENSORS_ARM_SCMI is not set
+# CONFIG_COMMON_CLK_SCMI is not set
+CONFIG_IIO_SCMI=y
diff --git a/templates/feature/agl-flutter/50_bblayers.conf.inc b/templates/feature/agl-flutter/50_bblayers.conf.inc
index 807a46b1c..10647b7a5 100644
--- a/templates/feature/agl-flutter/50_bblayers.conf.inc
+++ b/templates/feature/agl-flutter/50_bblayers.conf.inc
@@ -1,4 +1,7 @@
AGL_META_CLANG = " ${METADIR}/external/meta-clang "
+# Required for libcamera
+AGL_META_MULTIMEDIA = "${METADIR}/external/meta-openembedded/meta-multimedia"
+AGL_META_PYTHON = "${METADIR}/external/meta-openembedded/meta-python"
BBLAYERS =+ " \
${METADIR}/meta-agl/meta-agl-flutter \
diff --git a/templates/feature/agl-pipewire/50_bblayers.conf.inc b/templates/feature/agl-pipewire/50_bblayers.conf.inc
index e05cd4090..613ed97b3 100644
--- a/templates/feature/agl-pipewire/50_bblayers.conf.inc
+++ b/templates/feature/agl-pipewire/50_bblayers.conf.inc
@@ -1,7 +1,7 @@
+# PipeWire recipe comes from meta-multimedia
+AGL_META_MULTIMEDIA = "${METADIR}/external/meta-openembedded/meta-multimedia"
+AGL_META_PYTHON = "${METADIR}/external/meta-openembedded/meta-python"
BBLAYERS =+ " \
- ${METADIR}/meta-agl/meta-pipewire \
- "
-
-# we ship our own pipewire
-BBMASK += "meta-openembedded/meta-oe/recipes-multimedia/pipewire/"
+ ${METADIR}/meta-agl/meta-pipewire \
+"