From bf5bc00990044570d54b3fdc6d1a8f75d6a91863 Mon Sep 17 00:00:00 2001 From: Vasyl Vavrychuk Date: Sun, 7 Aug 2022 18:22:30 +0200 Subject: Add virtio-aarch64 platform description via scc file. Metadata is based on qemuarm64-standard.scc from yocto-kernel-cache branch yocto-5.15 commit 947149960e1426ace478e4b52c28a28ef8d6e74b with a lot of unended configurations removed. Comparing to initial version [1] many TODOs have been removed since changes landed upstream (yocto-kernel-cache). 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 [2, 3], 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. [1]: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git;a=commit;h=2d05cfff33a010c2133f66e757d2f4850c584a1e [2]: https://www.yoctoproject.org/pipermail/yocto/2019-October/046986.html [3]: https://docs.yoctoproject.org/kernel-dev/maint-appx.html Bug-AGL: SPEC-4452 Signed-off-by: Vasyl Vavrychuk Change-Id: Ic88a35ccbe4cad6e5b22bf43c687407f506c2e5b --- README | 28 ++++++++++++++++++++++++++++ arch/arm/aarch64.cfg | 29 +++++++++++++++++++++++++++++ arch/arm/aarch64.scc | 2 ++ bsp/virtio/agl-virtio.cfg | 4 ++++ bsp/virtio/agl-virtio.scc | 2 ++ 5 files changed, 65 insertions(+) create mode 100644 README create mode 100644 arch/arm/aarch64.cfg create mode 100644 arch/arm/aarch64.scc create mode 100644 bsp/virtio/agl-virtio.cfg create mode 100644 bsp/virtio/agl-virtio.scc diff --git a/README b/README new file mode 100644 index 0000000..64e2cd0 --- /dev/null +++ b/README @@ -0,0 +1,28 @@ +agl-yocto-kernel-meta +===================== + +Yocto Project kernel rich Metadata [1] for AGL based on YP's kernel rich +metadata [2]. + +Using Yocto Linux Kernel is recommended in "Yocto Project Board Support Package +Developer's Guide" [3]: + +> Kernel recipes in the BSP should be based on a Yocto Linux kernel. Basing your +> recipes on these kernels reduces the costs for maintaining the BSP and +> increases its scalability. + +YP advanced kernel metadata besides configuration fragments and patches, +realizes scc description files (scc stands for Series Configuration Control, but +the naming has less significance in the current implementation of the tooling +than it had in the past) which allow to: + +* group configuration fragments and patches into a reusable unit +* include scc files from other scc files +* besides BSP description scc file, additional scc files can be easily applied + by adding them to KERNEL_FEATURES variable + +and much more. + +[1]: https://docs.yoctoproject.org/4.0.2/kernel-dev/advanced.html +[2]: https://git.yoctoproject.org/yocto-kernel-cache +[3]: https://docs.yoctoproject.org/4.0.2/bsp-guide/bsp.html#released-bsp-recommendations diff --git a/arch/arm/aarch64.cfg b/arch/arm/aarch64.cfg new file mode 100644 index 0000000..25381e1 --- /dev/null +++ b/arch/arm/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/arch/arm/aarch64.scc b/arch/arm/aarch64.scc new file mode 100644 index 0000000..1de6faf --- /dev/null +++ b/arch/arm/aarch64.scc @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: MIT +kconf hardware aarch64.cfg diff --git a/bsp/virtio/agl-virtio.cfg b/bsp/virtio/agl-virtio.cfg new file mode 100644 index 0000000..118aecb --- /dev/null +++ b/bsp/virtio/agl-virtio.cfg @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: MIT + +# Remove since PCI is not enabled +# CONFIG_SERIAL_8250_PCI is not set diff --git a/bsp/virtio/agl-virtio.scc b/bsp/virtio/agl-virtio.scc new file mode 100644 index 0000000..5b8f06c --- /dev/null +++ b/bsp/virtio/agl-virtio.scc @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: MIT +kconf hardware agl-virtio.cfg -- cgit 1.2.3-korg