diff options
author | Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> | 2022-08-07 18:22:30 +0200 |
---|---|---|
committer | Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> | 2022-08-07 23:34:31 +0200 |
commit | bf5bc00990044570d54b3fdc6d1a8f75d6a91863 (patch) | |
tree | 5992c6ea47769ba7d4ba873c43828fb789535a3c | |
parent | b4e0248af1b507c5da01d1af210fd2d9a51054ff (diff) |
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 <vasyl.vavrychuk@opensynergy.com>
Change-Id: Ic88a35ccbe4cad6e5b22bf43c687407f506c2e5b
-rw-r--r-- | README | 28 | ||||
-rw-r--r-- | arch/arm/aarch64.cfg | 29 | ||||
-rw-r--r-- | arch/arm/aarch64.scc | 2 | ||||
-rw-r--r-- | bsp/virtio/agl-virtio.cfg | 4 | ||||
-rw-r--r-- | bsp/virtio/agl-virtio.scc | 2 |
5 files changed, 65 insertions, 0 deletions
@@ -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 |