summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@arm.com>2023-11-10 17:19:14 +0000
committerRoss Burton <ross.burton@arm.com>2024-02-21 10:17:45 +0000
commitec3d872d28c8470787650632f456ae3fb43dbd5b (patch)
treeabfbfdf0c99b6d1e8829369b6ab1c5b67dde3943
parent9c5e9162da8a3c03c7f124d0e0a41f8255bbfc5d (diff)
downloadpoky-ec3d872d28c8470787650632f456ae3fb43dbd5b.tar.gz
Add genericarm64 MACHINE
This is a new 64-bit "generic" Arm machine, that expects the hardware to be SystemReady IR compatible. Signed-off-by: Ross Burton <ross.burton@arm.com>
-rw-r--r--meta-yocto-bsp/README.hardware.md7
-rw-r--r--meta-yocto-bsp/conf/machine/genericarm64.conf26
-rw-r--r--meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend9
-rw-r--r--meta-yocto-bsp/wic/genericarm64.wks.in11
4 files changed, 53 insertions, 0 deletions
diff --git a/meta-yocto-bsp/README.hardware.md b/meta-yocto-bsp/README.hardware.md
index a8f38cb21a..58ebc328b5 100644
--- a/meta-yocto-bsp/README.hardware.md
+++ b/meta-yocto-bsp/README.hardware.md
@@ -29,6 +29,7 @@ The following boards are supported by the meta-yocto-bsp layer:
29 29
30 * Texas Instruments Beaglebone (beaglebone-yocto) 30 * Texas Instruments Beaglebone (beaglebone-yocto)
31 * General IA platforms (genericx86 and genericx86-64) 31 * General IA platforms (genericx86 and genericx86-64)
32 * General 64-bit Arm SystemReady platforms (genericarm64)
32 33
33For more information see the board's section below. The appropriate MACHINE 34For more information see the board's section below. The appropriate MACHINE
34variable value corresponding to the board is given in brackets. 35variable value corresponding to the board is given in brackets.
@@ -126,6 +127,12 @@ USB Device:
126 dd command to write the image to a USB stick. 127 dd command to write the image to a USB stick.
127 128
128 129
130SystemReady Arm Platforms
131=========================
132
133TODO
134
135
129Texas Instruments Beaglebone (beaglebone-yocto) 136Texas Instruments Beaglebone (beaglebone-yocto)
130=============================================== 137===============================================
131 138
diff --git a/meta-yocto-bsp/conf/machine/genericarm64.conf b/meta-yocto-bsp/conf/machine/genericarm64.conf
new file mode 100644
index 0000000000..2ea270d8b0
--- /dev/null
+++ b/meta-yocto-bsp/conf/machine/genericarm64.conf
@@ -0,0 +1,26 @@
1#@TYPE: Machine
2#@NAME: genericarm64
3#@DESCRIPTION: Generic Arm64 machine for typical SystemReady platforms, which
4#have working firmware and boot via EFI.
5
6require conf/machine/include/arm/arch-armv8a.inc
7
8# Arm Base System Architecture says v8.0+ is allowed, but FEAT_CRC32 is required
9DEFAULTTUNE = "armv8a-crc"
10
11MACHINE_FEATURES = "acpi alsa bluetooth efi keyboard pci qemu-usermode rtc screen usbhost vfat wifi"
12
13# Install all the kernel modules and all the firmware
14MACHINE_EXTRA_RRECOMMENDS += "kernel-modules linux-firmware"
15
16KERNEL_IMAGETYPE = "Image"
17PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
18INITRAMFS_IMAGE ?= "core-image-initramfs-boot"
19
20IMAGE_FSTYPES ?= "wic"
21WKS_FILE ?= "genericarm64.wks.in"
22
23EFI_PROVIDER ?= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd-boot", "grub-efi", d)}"
24
25# Try to bring up one physical serial console, or a virtualized serial console
26SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
diff --git a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend
index 8e465c241e..18f95de348 100644
--- a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend
+++ b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend
@@ -1,19 +1,28 @@
1KBRANCH:genericx86 = "v6.6/standard/base" 1KBRANCH:genericx86 = "v6.6/standard/base"
2KBRANCH:genericarm64 = "v6.6/standard/base"
2KBRANCH:genericx86-64 = "v6.6/standard/base" 3KBRANCH:genericx86-64 = "v6.6/standard/base"
3KBRANCH:beaglebone-yocto = "v6.6/standard/beaglebone" 4KBRANCH:beaglebone-yocto = "v6.6/standard/beaglebone"
4 5
6KMACHINE:genericarm64 ?= "genericarm64"
5KMACHINE:genericx86 ?= "common-pc" 7KMACHINE:genericx86 ?= "common-pc"
6KMACHINE:genericx86-64 ?= "common-pc-64" 8KMACHINE:genericx86-64 ?= "common-pc-64"
7KMACHINE:beaglebone-yocto ?= "beaglebone" 9KMACHINE:beaglebone-yocto ?= "beaglebone"
8 10
11SRCREV_machine:genericarm64 ?= "332d4668fcc32826907d4f3c4938845206006089"
9SRCREV_machine:genericx86 ?= "332d4668fcc32826907d4f3c4938845206006089" 12SRCREV_machine:genericx86 ?= "332d4668fcc32826907d4f3c4938845206006089"
10SRCREV_machine:genericx86-64 ?= "332d4668fcc32826907d4f3c4938845206006089" 13SRCREV_machine:genericx86-64 ?= "332d4668fcc32826907d4f3c4938845206006089"
11SRCREV_machine:beaglebone-yocto ?= "332d4668fcc32826907d4f3c4938845206006089" 14SRCREV_machine:beaglebone-yocto ?= "332d4668fcc32826907d4f3c4938845206006089"
12 15
16COMPATIBLE_MACHINE:genericarm64 = "genericarm64"
13COMPATIBLE_MACHINE:genericx86 = "genericx86" 17COMPATIBLE_MACHINE:genericx86 = "genericx86"
14COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64" 18COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
15COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto" 19COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
16 20
21LINUX_VERSION:genericarm64 = "6.6.15"
17LINUX_VERSION:genericx86 = "6.6.15" 22LINUX_VERSION:genericx86 = "6.6.15"
18LINUX_VERSION:genericx86-64 = "6.6.15" 23LINUX_VERSION:genericx86-64 = "6.6.15"
19LINUX_VERSION:beaglebone-yocto = "6.6.15" 24LINUX_VERSION:beaglebone-yocto = "6.6.15"
25
26# Use upstream defconfig for genericarm64
27KBUILD_DEFCONFIG:genericarm64 = "defconfig"
28KCONFIG_MODE:genericarm64 = "--alldefconfig"
diff --git a/meta-yocto-bsp/wic/genericarm64.wks.in b/meta-yocto-bsp/wic/genericarm64.wks.in
new file mode 100644
index 0000000000..417d4d8810
--- /dev/null
+++ b/meta-yocto-bsp/wic/genericarm64.wks.in
@@ -0,0 +1,11 @@
1# short-description: Create an EFI disk image
2# long-description: Creates a partitioned EFI disk image that the user
3# can directly dd to boot media.
4
5part /boot --source bootimg-efi --sourceparams="loader=${EFI_PROVIDER},initrd=${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES}" --label boot --active --align 1024 --use-uuid
6
7part / --source rootfs --fstype=ext4 --label root --align 1024 --use-uuid
8
9part swap --size 44 --label swap --fstype=swap --use-uuid
10
11bootloader --ptable gpt --timeout=5 --append="rootwait rootfstype=ext4"