aboutsummaryrefslogtreecommitdiffstats
path: root/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto
diff options
context:
space:
mode:
authorVasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com>2022-08-07 18:45:55 +0200
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2022-09-22 17:25:54 +0000
commit7c726b7857b3b51f9f33d6fa24f19e8694a95adb (patch)
tree14dd22b39b63e111d10c1dd34cf3befc75f95cd1 /meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto
parent6a8a33f99a66ae150a86e10551b2ad81a4117e13 (diff)
virtualization/linux-yocto: For kernel metadata use git repository instead of local files.
This will allow using branches for supporting multiple kernel versions more easily. Note, that BSP description root file virtio-aarch64-standard.scc has to be kept local withing a recipe. This is needed to add this scc file explicitly to SRC_URI to have AGL VIRTIO patches applied during kernel recipe build. As explained in [1, 2], Yocto kernel metadata is commonly used for two purposes: 1. To construct Yocto kernel git by committing patches listed in scc files. 2. To configure Yocto kernel during Yocto build. When scc file is not explicitly added to SRC_URI, then patch commands will be ignored during Yocto build because it is assumed that patches are already pre-applied during Yocto kernel git tree construction. But, there is not AGL Linux kernel tree, only a repository for AGL kernel metadata (this one). So, patches from this metadata repository have to be applied during kernel recipe build. On the other hand, to ignore patches from YP kernel metadata (which are already pre-applied), standard.scc is included with `nopatch` keyword. [1]: https://www.yoctoproject.org/pipermail/yocto/2019-October/046986.html [2]: https://docs.yoctoproject.org/kernel-dev/maint-appx.html Bug-AGL: SPEC-4452 Change-Id: Idde8e507eb18fa26e6a5b84ab8443576badb58bf Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27878 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto')
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc (renamed from meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-aarch64-standard.scc)2
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.cfg29
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.scc2
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0001-iio-core-Introduce-IIO_VAL_INT_64.patch45
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch101
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/iio-scmi.cfg1
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.cfg25
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.scc5
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.cfg5
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.scc2
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.cfg16
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.scc5
12 files changed, 1 insertions, 237 deletions
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-aarch64-standard.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc
index d675de474..2d1570e9f 100644
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-aarch64-standard.scc
+++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc
@@ -7,7 +7,7 @@ include ktypes/standard/standard.scc nopatch
include arch/arm/aarch64.scc
include cfg/8250.scc
include cfg/virtio.scc
-include 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/virtio-kmeta/arch/arm/aarch64.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.cfg
deleted file mode 100644
index 25381e133..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.cfg
+++ /dev/null
@@ -1,29 +0,0 @@
-# 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-kmeta/arch/arm/aarch64.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.scc
deleted file mode 100644
index 1de6faf9b..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.scc
+++ /dev/null
@@ -1,2 +0,0 @@
-# SPDX-License-Identifier: MIT
-kconf hardware aarch64.cfg
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0001-iio-core-Introduce-IIO_VAL_INT_64.patch b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0001-iio-core-Introduce-IIO_VAL_INT_64.patch
deleted file mode 100644
index 2a18a04d3..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0001-iio-core-Introduce-IIO_VAL_INT_64.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 3698bab1b1856a8146c8f8a83c888bd9cefcdde0 Mon Sep 17 00:00:00 2001
-From: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com>
-Date: Sun, 24 Oct 2021 12:16:26 +0300
-Subject: [PATCH] iio: core: Introduce IIO_VAL_INT_64.
-
-Introduce IIO_VAL_INT_64 to read 64-bit value for
-channel attribute. Val is used as lower 32 bits.
-
-Signed-off-by: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com>
-Link: https://lore.kernel.org/r/20211024091627.28031-2-andriy.tryshnivskyy@opensynergy.com
-Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
----
- drivers/iio/industrialio-core.c | 3 +++
- include/linux/iio/types.h | 1 +
- 2 files changed, 4 insertions(+)
-
-diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
-index 3e1e86d987cc..3f21e6b49a4a 100644
---- a/drivers/iio/industrialio-core.c
-+++ b/drivers/iio/industrialio-core.c
-@@ -702,6 +702,9 @@ static ssize_t __iio_format_value(char *buf, size_t offset, unsigned int type,
- }
- case IIO_VAL_CHAR:
- return sysfs_emit_at(buf, offset, "%c", (char)vals[0]);
-+ case IIO_VAL_INT_64:
-+ tmp2 = (s64)((((u64)vals[1]) << 32) | (u32)vals[0]);
-+ return sysfs_emit_at(buf, offset, "%lld", tmp2);
- default:
- return 0;
- }
-diff --git a/include/linux/iio/types.h b/include/linux/iio/types.h
-index 84b3f8175cc6..a7aa91f3a8dc 100644
---- a/include/linux/iio/types.h
-+++ b/include/linux/iio/types.h
-@@ -24,6 +24,7 @@ enum iio_event_info {
- #define IIO_VAL_INT_PLUS_NANO 3
- #define IIO_VAL_INT_PLUS_MICRO_DB 4
- #define IIO_VAL_INT_MULTIPLE 5
-+#define IIO_VAL_INT_64 6 /* 64-bit data, val is lower 32 bits */
- #define IIO_VAL_FRACTIONAL 10
- #define IIO_VAL_FRACTIONAL_LOG2 11
- #define IIO_VAL_CHAR 12
---
-2.17.1
-
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch
deleted file mode 100644
index a11e5e2ff..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From a58a59fa0d626990f32e84bd35e1326cf0532c4a Mon Sep 17 00:00:00 2001
-From: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com>
-Date: Sun, 24 Oct 2021 12:16:27 +0300
-Subject: [PATCH] iio/scmi: Add reading "raw" attribute.
-
-Add IIO_CHAN_INFO_RAW to the mask and implement corresponding
-reading "raw" attribute in scmi_iio_read_raw.
-
-Signed-off-by: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com>
-Acked-by: Jyoti Bhayana <jbhayana@google.com>
-Link: https://lore.kernel.org/r/20211024091627.28031-3-andriy.tryshnivskyy@opensynergy.com
-Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
----
- drivers/iio/common/scmi_sensors/scmi_iio.c | 57 +++++++++++++++++++++-
- 1 file changed, 56 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/iio/common/scmi_sensors/scmi_iio.c b/drivers/iio/common/scmi_sensors/scmi_iio.c
-index 7cf2bf282cef..d538bf3ab1ef 100644
---- a/drivers/iio/common/scmi_sensors/scmi_iio.c
-+++ b/drivers/iio/common/scmi_sensors/scmi_iio.c
-@@ -279,6 +279,52 @@ static int scmi_iio_get_odr_val(struct iio_dev *iio_dev, int *val, int *val2)
- return 0;
- }
-
-+static int scmi_iio_read_channel_data(struct iio_dev *iio_dev,
-+ struct iio_chan_spec const *ch, int *val, int *val2)
-+{
-+ struct scmi_iio_priv *sensor = iio_priv(iio_dev);
-+ u32 sensor_config;
-+ struct scmi_sensor_reading readings[SCMI_IIO_NUM_OF_AXIS];
-+ int err;
-+
-+ sensor_config = FIELD_PREP(SCMI_SENS_CFG_SENSOR_ENABLED_MASK,
-+ SCMI_SENS_CFG_SENSOR_ENABLE);
-+ err = sensor->sensor_ops->config_set(
-+ sensor->ph, sensor->sensor_info->id, sensor_config);
-+ if (err) {
-+ dev_err(&iio_dev->dev,
-+ "Error in enabling sensor %s err %d",
-+ sensor->sensor_info->name, err);
-+ return err;
-+ }
-+
-+ err = sensor->sensor_ops->reading_get_timestamped(
-+ sensor->ph, sensor->sensor_info->id,
-+ sensor->sensor_info->num_axis, readings);
-+ if (err) {
-+ dev_err(&iio_dev->dev,
-+ "Error in reading raw attribute for sensor %s err %d",
-+ sensor->sensor_info->name, err);
-+ return err;
-+ }
-+
-+ sensor_config = FIELD_PREP(SCMI_SENS_CFG_SENSOR_ENABLED_MASK,
-+ SCMI_SENS_CFG_SENSOR_DISABLE);
-+ err = sensor->sensor_ops->config_set(
-+ sensor->ph, sensor->sensor_info->id, sensor_config);
-+ if (err) {
-+ dev_err(&iio_dev->dev,
-+ "Error in disabling sensor %s err %d",
-+ sensor->sensor_info->name, err);
-+ return err;
-+ }
-+
-+ *val = lower_32_bits(readings[ch->scan_index].value);
-+ *val2 = upper_32_bits(readings[ch->scan_index].value);
-+
-+ return IIO_VAL_INT_64;
-+}
-+
- static int scmi_iio_read_raw(struct iio_dev *iio_dev,
- struct iio_chan_spec const *ch, int *val,
- int *val2, long mask)
-@@ -300,6 +346,14 @@ static int scmi_iio_read_raw(struct iio_dev *iio_dev,
- case IIO_CHAN_INFO_SAMP_FREQ:
- ret = scmi_iio_get_odr_val(iio_dev, val, val2);
- return ret ? ret : IIO_VAL_INT_PLUS_MICRO;
-+ case IIO_CHAN_INFO_RAW:
-+ ret = iio_device_claim_direct_mode(iio_dev);
-+ if (ret)
-+ return ret;
-+
-+ ret = scmi_iio_read_channel_data(iio_dev, ch, val, val2);
-+ iio_device_release_direct_mode(iio_dev);
-+ return ret;
- default:
- return -EINVAL;
- }
-@@ -381,7 +435,8 @@ static void scmi_iio_set_data_channel(struct iio_chan_spec *iio_chan,
- iio_chan->type = type;
- iio_chan->modified = 1;
- iio_chan->channel2 = mod;
-- iio_chan->info_mask_separate = BIT(IIO_CHAN_INFO_SCALE);
-+ iio_chan->info_mask_separate =
-+ BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_RAW);
- iio_chan->info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SAMP_FREQ);
- iio_chan->info_mask_shared_by_type_available =
- BIT(IIO_CHAN_INFO_SAMP_FREQ);
---
-2.17.1
-
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/iio-scmi.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/iio-scmi.cfg
deleted file mode 100644
index 858d20657..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/iio-scmi.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_IIO_SCMI=y
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.cfg
deleted file mode 100644
index b698e64ad..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.cfg
+++ /dev/null
@@ -1,25 +0,0 @@
-# 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 is not set
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.scc
deleted file mode 100644
index dea7dec73..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.scc
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: MIT
-kconf hardware virtio-scmi.cfg
-kconf hardware iio-scmi.cfg
-patch 0001-iio-core-Introduce-IIO_VAL_INT_64.patch
-patch 0002-iio-scmi-Add-reading-raw-attribute.patch
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.cfg
deleted file mode 100644
index 35c5134a0..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
-CONFIG_SND_JACK=y
-CONFIG_SND_JACK_INPUT_DEV=y
-CONFIG_SND_VIRTIO=y \ No newline at end of file
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.scc
deleted file mode 100644
index a1fc8bb7d..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.scc
+++ /dev/null
@@ -1,2 +0,0 @@
-# SPDX-License-Identifier: MIT
-kconf hardware virtio-snd.cfg
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.cfg
deleted file mode 100644
index b8b36e7ad..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.cfg
+++ /dev/null
@@ -1,16 +0,0 @@
-# SPDX-License-Identifier: MIT
-
-# TODO: upstream to yocto-kernel-cache/cfg/8250.cfg
-CONFIG_SERIAL_OF_PLATFORM=y
-
-# Remove since PCI is not enabled
-# CONFIG_SERIAL_8250_PCI is not set
-
-# TODO: upstream to yocto-kernel-cache/cfg/virtio.cfg
-CONFIG_VSOCKETS=y
-CONFIG_VSOCKETS_DIAG=y
-CONFIG_VIRTIO_VSOCKETS=y
-CONFIG_VIRTIO_VSOCKETS_COMMON=y
-
-# Needed for CONFIG_DRM_VIRTIO_GPU
-CONFIG_DRM=y
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.scc
deleted file mode 100644
index a29955dd8..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.scc
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: MIT
-kconf hardware virtio.cfg
-
-include virtio-snd/virtio-snd.scc
-include virtio-scmi/virtio-scmi.scc