From bec4ebc22c43c1ff5c3fddb820d44a88bd3aebf0 Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Wed, 3 Aug 2022 09:55:16 -0400 Subject: Import 80d60e7 from yoctoproject.org meta-arm To support ARMv8 SoCs. meta-arm has several patch files. Since they are maintained by the upstream meta-arm community, add meta-arm to the ignore list in run-repotest. Change-Id: Ia87a2e947bbabd347d256eccc47a343e1c885479 Signed-off-by: Brad Bishop --- .../conf/machine/corstone1000-fvp.conf | 41 +++++++++++++ .../conf/machine/corstone1000-mps3.conf | 9 +++ .../meta-arm-bsp/conf/machine/corstone500.conf | 45 +++++++++++++++ .../meta-arm-bsp/conf/machine/fvp-base-arm32.conf | 23 ++++++++ meta-arm/meta-arm-bsp/conf/machine/fvp-base.conf | 17 ++++++ .../conf/machine/fvp-baser-aemv8r64.conf | 67 ++++++++++++++++++++++ meta-arm/meta-arm-bsp/conf/machine/fvp-common.inc | 47 +++++++++++++++ .../machine/include/arm/armv8r/arch-armv8r64.inc | 10 ++++ .../conf/machine/include/corstone1000.inc | 65 +++++++++++++++++++++ meta-arm/meta-arm-bsp/conf/machine/include/tc.inc | 41 +++++++++++++ meta-arm/meta-arm-bsp/conf/machine/juno.conf | 27 +++++++++ meta-arm/meta-arm-bsp/conf/machine/musca-b1.conf | 28 +++++++++ meta-arm/meta-arm-bsp/conf/machine/musca-s1.conf | 27 +++++++++ meta-arm/meta-arm-bsp/conf/machine/n1sdp.conf | 38 ++++++++++++ .../meta-arm-bsp/conf/machine/qemu-cortex-r5.conf | 22 +++++++ meta-arm/meta-arm-bsp/conf/machine/sgi575.conf | 24 ++++++++ meta-arm/meta-arm-bsp/conf/machine/tc0.conf | 7 +++ meta-arm/meta-arm-bsp/conf/machine/tc1.conf | 7 +++ 18 files changed, 545 insertions(+) create mode 100644 meta-arm/meta-arm-bsp/conf/machine/corstone1000-fvp.conf create mode 100644 meta-arm/meta-arm-bsp/conf/machine/corstone1000-mps3.conf create mode 100644 meta-arm/meta-arm-bsp/conf/machine/corstone500.conf create mode 100644 meta-arm/meta-arm-bsp/conf/machine/fvp-base-arm32.conf create mode 100644 meta-arm/meta-arm-bsp/conf/machine/fvp-base.conf create mode 100644 meta-arm/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf create mode 100644 meta-arm/meta-arm-bsp/conf/machine/fvp-common.inc create mode 100644 meta-arm/meta-arm-bsp/conf/machine/include/arm/armv8r/arch-armv8r64.inc create mode 100644 meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc create mode 100644 meta-arm/meta-arm-bsp/conf/machine/include/tc.inc create mode 100644 meta-arm/meta-arm-bsp/conf/machine/juno.conf create mode 100644 meta-arm/meta-arm-bsp/conf/machine/musca-b1.conf create mode 100644 meta-arm/meta-arm-bsp/conf/machine/musca-s1.conf create mode 100644 meta-arm/meta-arm-bsp/conf/machine/n1sdp.conf create mode 100644 meta-arm/meta-arm-bsp/conf/machine/qemu-cortex-r5.conf create mode 100644 meta-arm/meta-arm-bsp/conf/machine/sgi575.conf create mode 100644 meta-arm/meta-arm-bsp/conf/machine/tc0.conf create mode 100644 meta-arm/meta-arm-bsp/conf/machine/tc1.conf (limited to 'meta-arm/meta-arm-bsp/conf/machine') diff --git a/meta-arm/meta-arm-bsp/conf/machine/corstone1000-fvp.conf b/meta-arm/meta-arm-bsp/conf/machine/corstone1000-fvp.conf new file mode 100644 index 0000000000..e79373ded6 --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/corstone1000-fvp.conf @@ -0,0 +1,41 @@ +#@TYPE: Machine +#@NAME: corstone1000-fvp machine +#@DESCRIPTION: Machine configuration for Corstone1000 64-bit FVP +require conf/machine/include/corstone1000.inc + +TFA_TARGET_PLATFORM = "fvp" + +TFM_PLATFORM_IS_FVP = "TRUE" + +# testimage config +TEST_TARGET = "OEFVPSerialTarget" +TEST_SUITES = "linuxboot" + +# FVP Config +FVP_PROVIDER ?= "fvp-corstone1000-native" +FVP_EXE ?= "FVP_Corstone-1000" +FVP_CONSOLE ?= "host_terminal_0" + +# FVP Parameters +FVP_CONFIG[se.trustedBootROMloader.fname] ?= "${DEPLOY_DIR_IMAGE}/bl1.bin" +FVP_CONFIG[board.xnvm_size] ?= "64" +FVP_CONFIG[se.trustedSRAM_config] ?= "6" +FVP_CONFIG[se.BootROM_config] ?= "3" +FVP_CONFIG[board.hostbridge.interfaceName] ?= "tap0" +FVP_CONFIG[board.smsc_91c111.enabled] ?= "1" +FVP_CONFIG[board.hostbridge.userNetworking] ?= "true" +FVP_CONFIG[board.hostbridge.userNetPorts] ?= "5555=5555,8080=80,8022=22" +FVP_CONFIG[board.se_flash_size] ?= "8192" +FVP_CONFIG[diagnostics] ?= "4" +FVP_CONFIG[disable_visualisation] ?= "true" +FVP_CONFIG[se.nvm.update_raw_image] ?= "0" + +# Boot image +FVP_DATA ?= "board.flash0=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.wic.nopt@0x68100000" + +# FVP Terminals +FVP_TERMINALS[host.host_terminal_0] ?= "Normal World Console" +FVP_TERMINALS[host.host_terminal_1] ?= "Secure World Console" +FVP_TERMINALS[se.secenc_terminal] ?= "Secure Enclave Console" +FVP_TERMINALS[extsys0.extsys_terminal] ?= "Cortex M3" + diff --git a/meta-arm/meta-arm-bsp/conf/machine/corstone1000-mps3.conf b/meta-arm/meta-arm-bsp/conf/machine/corstone1000-mps3.conf new file mode 100644 index 0000000000..88f3d9dd26 --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/corstone1000-mps3.conf @@ -0,0 +1,9 @@ +#@TYPE: Machine +#@NAME: corstone1000-mps3 machine +#@DESCRIPTION: Machine configuration for Corstone1000 64-bit MPS3 FPGA board + +require conf/machine/include/corstone1000.inc + +TFA_TARGET_PLATFORM = "fpga" + +PLATFORM_IS_FVP = "FALSE" diff --git a/meta-arm/meta-arm-bsp/conf/machine/corstone500.conf b/meta-arm/meta-arm-bsp/conf/machine/corstone500.conf new file mode 100644 index 0000000000..1d25471c68 --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/corstone500.conf @@ -0,0 +1,45 @@ +#@TYPE: Machine +#@NAME: Corstone-500 machine +#@DESCRIPTION: Machine configuration for the Corstone-500 platform + +require conf/machine/include/arm/armv7a/tune-cortexa5.inc + +# Corstone-500 is built against poky-tiny distro. +# poky-tiny sets PREFERRED_PROVIDER_virtual/kernel to linux-yocto-tiny. +# Since distro config is evaluated after the machine config, we need to +# use the strongest override possible (forcevariable) so the +# PREFERRED_PROVIDER_virtual/kernel specified in the machine config will +# apply. +# +PREFERRED_PROVIDER_virtual/kernel:forcevariable = "linux-yocto" +PREFERRED_VERSION_linux-yocto ?= "5.15%" + +EXTRA_IMAGEDEPENDS += "trusted-firmware-a u-boot" + +IMAGE_CLASSES += "wic_nopt" +IMAGE_FEATURES += "debug-tweaks" +IMAGE_FSTYPES:forcevariable = "cpio.gz squashfs wic wic.nopt" + +SERIAL_CONSOLES = "115200;ttyAMA0" + +# Corstone-500 u-boot configuration +UBOOT_MACHINE = "corstone500_defconfig" +UBOOT_IMAGE_ENTRYPOINT = "0x84000000" +UBOOT_IMAGE_LOADADDRESS = "0x84000000" +PREFERRED_VERSION_u-boot ?= "2022.04" + +# making sure EXTRA_IMAGEDEPENDS will be used while creating the image +WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}" + +WKS_FILE ?= "core-image-minimal.corstone500.wks" + +TEST_TARGET = "OEFVPSerialTarget" +TEST_SUITES = "linuxboot" + +FVP_PROVIDER ?= "fvp-corstone500-native" +FVP_EXE ?= "FVP_Corstone-500" +FVP_CONFIG[board.flashloader0.fname] ?= "${DEPLOY_DIR_IMAGE}/bl1.bin" +FVP_DATA ?= "css.cluster.cpu0=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.wic.nopt@0x80000000" +FVP_CONSOLE ?= "terminal_0" +FVP_TERMINALS[css.terminal_0] ?= "console" +FVP_TERMINALS[css.terminal_1] ?= "" diff --git a/meta-arm/meta-arm-bsp/conf/machine/fvp-base-arm32.conf b/meta-arm/meta-arm-bsp/conf/machine/fvp-base-arm32.conf new file mode 100644 index 0000000000..7343aed6d3 --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/fvp-base-arm32.conf @@ -0,0 +1,23 @@ +# Configuration for Armv7-A Base Platform FVP + +#@TYPE: Machine +#@NAME: Armv7-A Base Platform FVP machine +#@DESCRIPTION: Machine configuration for Armv7-A Base Platform FVP model + +require conf/machine/fvp-common.inc +require conf/machine/include/arm/arch-armv7a.inc + +# FVP u-boot configuration +PREFERRED_VERSION_u-boot ?= "2022.04" +UBOOT_MACHINE = "vexpress_aemv8a_aarch32_defconfig" + +KERNEL_IMAGETYPE = "zImage" + +FVP_CONFIG[cluster0.cpu0.CONFIG64] = "0" +FVP_CONFIG[cluster0.cpu1.CONFIG64] = "0" +FVP_CONFIG[cluster0.cpu2.CONFIG64] = "0" +FVP_CONFIG[cluster0.cpu3.CONFIG64] = "0" +FVP_CONFIG[cluster1.cpu0.CONFIG64] = "0" +FVP_CONFIG[cluster1.cpu1.CONFIG64] = "0" +FVP_CONFIG[cluster1.cpu2.CONFIG64] = "0" +FVP_CONFIG[cluster1.cpu3.CONFIG64] = "0" diff --git a/meta-arm/meta-arm-bsp/conf/machine/fvp-base.conf b/meta-arm/meta-arm-bsp/conf/machine/fvp-base.conf new file mode 100644 index 0000000000..434812b3f9 --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/fvp-base.conf @@ -0,0 +1,17 @@ +# Configuration for Armv8-A Base Platform FVP + +#@TYPE: Machine +#@NAME: Armv8-A Base Platform FVP machine +#@DESCRIPTION: Machine configuration for Armv8-A Base Platform FVP model + +require conf/machine/fvp-common.inc +require conf/machine/include/arm/arch-armv8a.inc + +TUNE_FEATURES = "aarch64" + +PREFERRED_VERSION_u-boot ?= "2022.04" + +# FVP u-boot configuration +UBOOT_MACHINE = "vexpress_aemv8a_semi_defconfig" + +KERNEL_IMAGETYPE = "Image" diff --git a/meta-arm/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf b/meta-arm/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf new file mode 100644 index 0000000000..8119cb6818 --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf @@ -0,0 +1,67 @@ +# Configuration for Fixed Virtual Platform BaseR AEMv8r64 Machine + +#@TYPE: Machine +#@NAME: FVP BaseR AEMv8r64 Machine +#@DESCRIPTION: Machine configuration for FVP BaseR AEMv8r64 + +require conf/machine/include/arm/armv8r/arch-armv8r64.inc + +EXTRA_IMAGEDEPENDS += "boot-wrapper-aarch64" + +PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" +PREFERRED_VERSION_linux-yocto ?= "5.15%" +PREFERRED_VERSION_linux-yocto-rt ?= "5.15%" +PREFERRED_VERSION_u-boot ?= "2022.07" + +KERNEL_IMAGETYPE = "Image" +KERNEL_DEVICETREE = "arm/fvp-baser-aemv8r64.dtb" + +UBOOT_MACHINE ?= "vexpress_aemv8r_defconfig" + +SERIAL_CONSOLES = "115200;ttyAMA0" + +IMAGE_CLASSES:append = " fvpboot" +IMAGE_FSTYPES += "wic" +WKS_FILE ?= "efi-disk.wks.in" +EFI_PROVIDER ?= "grub-efi" +MACHINE_FEATURES:append = " efi" + +# As this is a virtual target that will not be used in the real world there is +# no need for real SSH keys. Disable rng-tools (which takes too long to +# initialise) and install the pre-generated keys. +PACKAGECONFIG:remove:pn-openssh = "rng-tools" +MACHINE_EXTRA_RRECOMMENDS += "ssh-pregen-hostkeys" + +# testimage configuration +TEST_TARGET = "OEFVPSerialTarget" +TEST_SUITES = "linuxboot" +TEST_TARGET_IP ?= "127.0.0.1:8022" +TEST_SERVER_IP ?= "127.0.1.1" + +FVP_EXTRA_ARGS = "-a cluster0*=${DEPLOY_DIR_IMAGE}/linux-system.axf" +FVP_PROVIDER ?= "fvp-base-r-aem-native" +FVP_EXE ?= "FVP_BaseR_AEMv8R" +FVP_CONSOLE ?= "terminal_0" + +# FVP parameters +FVP_CONFIG[bp.exclusive_monitor.monitor_access_level] ?= "2" +FVP_CONFIG[bp.refcounter.non_arch_start_at_default] ?= "1" +FVP_CONFIG[bp.refcounter.use_real_time] ?= "1" +FVP_CONFIG[bp.ve_sysregs.exit_on_shutdown] ?= "1" +FVP_CONFIG[bp.virtio_net.enabled] ?= "1" +FVP_CONFIG[bp.virtio_net.hostbridge.userNetPorts] ?= "8022=22" +FVP_CONFIG[bp.virtio_net.hostbridge.userNetworking] ?= "1" +FVP_CONFIG[bp.virtio_net.secure_accesses] = "1" +FVP_CONFIG[bp.virtio_rng.enabled] ?= "1" +FVP_CONFIG[bp.virtio_rng.secure_accesses] = "1" +FVP_CONFIG[bp.virtioblockdevice.image_path] ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.wic" +FVP_CONFIG[bp.virtioblockdevice.secure_accesses] = "1" +FVP_CONFIG[cache_state_modelled] ?= "0" +FVP_CONFIG[cci400.force_on_from_start] = "1" +FVP_CONFIG[cluster0.gicv3.cpuintf-mmap-access-level] ?= "2" +FVP_CONFIG[cluster0.gicv3.extended-interrupt-range-support] ?= "1" +FVP_CONFIG[cluster0.gicv3.SRE-EL2-enable-RAO] ?= "1" +FVP_CONFIG[cluster0.gicv3.SRE-enable-action-on-mmap] ?= "2" +FVP_CONFIG[cluster0.has_aarch64] ?= "1" +FVP_CONFIG[gic_distributor.GICD_CTLR-DS-1-means-secure-only] ?= "1" +FVP_CONFIG[gic_distributor.has-two-security-states] ?= "0" diff --git a/meta-arm/meta-arm-bsp/conf/machine/fvp-common.inc b/meta-arm/meta-arm-bsp/conf/machine/fvp-common.inc new file mode 100644 index 0000000000..c834f24d60 --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/fvp-common.inc @@ -0,0 +1,47 @@ +# FVP common parameters + +# +# Capturing FVP common configurations (Armv8-A Base Platform FVP, +# Armv8-A Foundation Platform and Armv7-A Base Platform FVP). +# + +MACHINE_FEATURES = "optee" + +IMAGE_FSTYPES += "wic" +WKS_FILE ?= "fvp-base.wks" + +SERIAL_CONSOLES = "115200;ttyAMA0" + +PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" + +KERNEL_DEVICETREE = "arm/fvp-base-revc.dtb" + +EXTRA_IMAGEDEPENDS += "trusted-firmware-a u-boot" + +# As this is a virtual target that will not be used in the real world there is +# no need for real SSH keys. Disable rng-tools (which takes too long to +# initialise) and install the pre-generated keys. +PACKAGECONFIG:remove:pn-openssh = "rng-tools" +MACHINE_EXTRA_RRECOMMENDS += "ssh-pregen-hostkeys" + +TEST_TARGET = "OEFVPTarget" + +FVP_PROVIDER ?= "fvp-base-a-aem-native" +FVP_EXE ?= "FVP_Base_RevC-2xAEMvA" +FVP_CONFIG[bp.ve_sysregs.exit_on_shutdown] ?= "1" +FVP_CONFIG[bp.virtio_net.enabled] ?= "1" +FVP_CONFIG[bp.virtio_net.hostbridge.userNetworking] ?= "1" +FVP_CONFIG[cache_state_modelled] ?= "0" +FVP_CONFIG[bp.secureflashloader.fname] ?= "${DEPLOY_DIR_IMAGE}/bl1-fvp.bin" +FVP_CONFIG[bp.flashloader0.fname] ?= "${DEPLOY_DIR_IMAGE}/fip-fvp.bin" +FVP_CONFIG[bp.virtioblockdevice.image_path] ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.wic" +# Set the baseline to ARMv8.4, as the default is 8.0. +FVP_CONFIG[cluster0.has_arm_v8-4] = "1" +FVP_CONFIG[cluster1.has_arm_v8-4] = "1" +FVP_CONSOLE ?= "terminal_0" +FVP_DATA ?= "cluster0.cpu0=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}@0x80080000 \ + cluster0.cpu0=${DEPLOY_DIR_IMAGE}/fvp-base-revc.dtb@0x8fc00000" +FVP_TERMINALS[bp.terminal_0] ?= "Console" +FVP_TERMINALS[bp.terminal_1] ?= "" +FVP_TERMINALS[bp.terminal_2] ?= "" +FVP_TERMINALS[bp.terminal_3] ?= "" diff --git a/meta-arm/meta-arm-bsp/conf/machine/include/arm/armv8r/arch-armv8r64.inc b/meta-arm/meta-arm-bsp/conf/machine/include/arm/armv8r/arch-armv8r64.inc new file mode 100644 index 0000000000..5db12e2c5d --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/include/arm/armv8r/arch-armv8r64.inc @@ -0,0 +1,10 @@ +require conf/machine/include/arm/arch-armv8r.inc + +TUNE_FEATURES:tune-armv8r =+ "aarch64" +PACKAGE_EXTRA_ARCHS:tune-armv8r =+ "aarch64" +BASE_LIB:tune-armv8r = "lib64" +BASE_LIB:tune-armv8r-crc = "lib64" +BASE_LIB:tune-armv8r-crypto = "lib64" +BASE_LIB:tune-armv8r-simd = "lib64" +BASE_LIB:tune-armv8r-crc-simd = "lib64" +BASE_LIB:tune-armv8r-crc-crypto-simd = "lib64" diff --git a/meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc b/meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc new file mode 100644 index 0000000000..91dbbfdb1f --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc @@ -0,0 +1,65 @@ +require conf/machine/include/arm/armv8a/tune-cortexa35.inc + +MACHINEOVERRIDES =. "corstone1000:" + +# TF-A +TFA_PLATFORM = "corstone1000" +EXTRA_IMAGEDEPENDS += "trusted-firmware-a" + +TFA_BL2_BINARY = "bl2-corstone1000.bin" +TFA_FIP_BINARY = "fip-corstone1000.bin" + +# TF-M +EXTRA_IMAGEDEPENDS += "virtual/trusted-firmware-m" + +# TF-M settings for signing host images +TFA_BL2_RE_IMAGE_LOAD_ADDRESS = "0x62353000" +TFA_BL2_RE_SIGN_BIN_SIZE = "0x2d000" +TFA_FIP_RE_IMAGE_LOAD_ADDRESS = "0x68130000" +TFA_FIP_RE_SIGN_BIN_SIZE = "0x00200000" +RE_LAYOUT_WRAPPER_VERSION = "0.0.7" +TFM_SIGN_PRIVATE_KEY = "${S}/bl2/ext/mcuboot/root-RSA-3072_1.pem" +RE_IMAGE_OFFSET = "0x1000" + +# u-boot +PREFERRED_VERSION_u-boot ?= "2022.04" +EXTRA_IMAGEDEPENDS += "u-boot" + +UBOOT_CONFIG ??= "EFI" +UBOOT_CONFIG[EFI] = "corstone1000_defconfig" +UBOOT_ENTRYPOINT = "0x80000000" +UBOOT_LOADADDRESS = "0x80000000" +UBOOT_BOOTARGS = "earlycon=pl011,0x1a510000 console=ttyAMA0 loglevel=9" +UBOOT_ARCH = "arm" +UBOOT_EXTLINUX = "0" + +# optee +PREFERRED_VERSION_optee-os ?= "3.10.%" +PREFERRED_VERSION_optee-client ?= "3.14.%" +EXTRA_IMAGEDEPENDS += "optee-os" +OPTEE_ARCH = "arm64" +OPTEE_BINARY = "tee-pager_v2.bin" + +# Trusted Services(TS) +EXTRA_IMAGEDEPENDS += "secure-partitions" + +# Linux kernel +PREFERRED_PROVIDER_virtual/kernel:forcevariable = "linux-yocto" +PREFERRED_VERSION_linux-yocto = "5.15%" +KERNEL_IMAGETYPE = "Image" + +INITRAMFS_IMAGE_BUNDLE ?= "1" + +#telling the build system which image is responsible of the generation of the initramfs rootfs +INITRAMFS_IMAGE = "corstone1000-initramfs-image" + +# enable this feature for kernel debugging +# MACHINE_FEATURES += "corstone1000_kernel_debug" + +# login terminal serial port settings +SERIAL_CONSOLES ?= "115200;ttyAMA0" + +# making sure EXTRA_IMAGEDEPENDS will be used while creating the image +WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}" + +WKS_FILE ?= "corstone1000-image.corstone1000.wks" diff --git a/meta-arm/meta-arm-bsp/conf/machine/include/tc.inc b/meta-arm/meta-arm-bsp/conf/machine/include/tc.inc new file mode 100644 index 0000000000..88eda556eb --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/include/tc.inc @@ -0,0 +1,41 @@ +TUNE_FEATURES = "aarch64" + +require conf/machine/include/arm/arch-armv8a.inc + +MACHINEOVERRIDES =. "tc:" + +# Das U-boot +UBOOT_MACHINE ?= "total_compute_defconfig" +PREFERRED_VERSION_u-boot ?= "2022.04" +UBOOT_RD_LOADADDRESS = "0x88000000" +UBOOT_RD_ENTRYPOINT = "0x88000000" +UBOOT_LOADADDRESS = "0x80080000" +UBOOT_ENTRYPOINT = "0x80080000" +# Below options will generate a key to sign the kernel Image and INITRAMFS_IMAGE +# according to the default parameters of kernel-fitimage.bbclass. If the user +# would prefer to use their own keys, disable the key generation using the +# FIT_GENERATE_KEYS parameter and specify the location of the keys using the +# below paramters. +UBOOT_SIGN_ENABLE = "1" +UBOOT_MKIMAGE_DTCOPTS = "-I dts -O dtb" +UBOOT_SIGN_KEYNAME = "dev_key" +UBOOT_SIGN_KEYDIR = "${DEPLOY_DIR_IMAGE}/keys" +FIT_GENERATE_KEYS = "1" + +PREFERRED_PROVIDER_virtual/kernel ?= "linux-arm64-ack" +PREFERRED_VERSION_linux-arm64-ack ?= "5.10" + +# OP-TEE +PREFERRED_VERSION_optee-os ?= "3.14%" +PREFERRED_VERSION_optee-client ?= "3.14%" +PREFERRED_VERSION_optee-test ?= "3.14%" + +# Cannot use the default zImage on arm64 +KERNEL_IMAGETYPE = "Image" +KERNEL_IMAGETYPES += "fitImage" +KERNEL_CLASSES = " kernel-fitimage " + +IMAGE_FSTYPES += "cpio.gz" +INITRAMFS_IMAGE ?= "core-image-minimal" + +SERIAL_CONSOLES = "115200;ttyAMA0" diff --git a/meta-arm/meta-arm-bsp/conf/machine/juno.conf b/meta-arm/meta-arm-bsp/conf/machine/juno.conf new file mode 100644 index 0000000000..c002ed638f --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/juno.conf @@ -0,0 +1,27 @@ +# Configuration for juno development board + +#@TYPE: Machine +#@NAME: Juno machine +#@DESCRIPTION: Machine configuration for Juno + +TUNE_FEATURES = "aarch64" + +require conf/machine/include/arm/arch-armv8a.inc + +MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth optee pci" + +KERNEL_IMAGETYPE = "Image" +KERNEL_DEVICETREE = "arm/juno.dtb arm/juno-r1.dtb arm/juno-r2.dtb" + +IMAGE_FSTYPES += "tar.bz2 ext4" + +SERIAL_CONSOLES = "115200;ttyAMA0" + +PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" +PREFERRED_VERSION_u-boot ?= "2022.04" +PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" + +EXTRA_IMAGEDEPENDS += "trusted-firmware-a virtual/bootloader firmware-image-juno" + +# Juno u-boot configuration +UBOOT_MACHINE = "vexpress_aemv8a_juno_defconfig" diff --git a/meta-arm/meta-arm-bsp/conf/machine/musca-b1.conf b/meta-arm/meta-arm-bsp/conf/machine/musca-b1.conf new file mode 100644 index 0000000000..a7895b8163 --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/musca-b1.conf @@ -0,0 +1,28 @@ +# Configuration for Musca-B1 development board + +#@TYPE: Machine +#@NAME: Musca-B1 machine +#@DESCRIPTION: Machine configuration for Musca-B1 + +DEFAULTTUNE ?= "armv8m-main" +require conf/machine/include/arm/armv8-m/tune-cortexm33.inc + +# GLIBC will not work with Cortex-M. +TCLIBC = "newlib" + +# For runqemu +IMAGE_FSTYPES += "ext4" +IMAGE_CLASSES += "qemuboot" +QB_SYSTEM_NAME = "qemu-system-arm" +QB_MACHINE = "-machine musca-b1" +QB_CPU = "-cpu cortex-m33" +QB_GRAPHICS = "-nographic -vga none" +QB_MEM = "512k" +QB_RNG = "" + +# Zephyr RTOS settings +ZEPHYR_BOARD = "v2m_musca_b1" +ZEPHYR_INHERIT_CLASSES += "zephyr-qemuboot" +ARCH:musca-b1 = "arm" + +TFM_PLATFORM = "arm/musca_b1/sse_200" diff --git a/meta-arm/meta-arm-bsp/conf/machine/musca-s1.conf b/meta-arm/meta-arm-bsp/conf/machine/musca-s1.conf new file mode 100644 index 0000000000..0cfd56e08e --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/musca-s1.conf @@ -0,0 +1,27 @@ +# Configuration for Musca-S1 development board + +#@TYPE: Machine +#@NAME: Musca-S1 machine +#@DESCRIPTION: Machine configuration for Musca-S1 + +require conf/machine/include/arm/armv8-m/tune-cortexm33.inc + +# GLIBC will not work with Cortex-M. +TCLIBC = "newlib" + +# For runqemu +IMAGE_FSTYPES += "ext4" +IMAGE_CLASSES += "qemuboot" +QB_SYSTEM_NAME = "qemu-system-arm" +QB_MACHINE = "-machine musca-s1" +QB_CPU = "-cpu cortex-m33" +QB_GRAPHICS = "-nographic -vga none" +QB_MEM = "512k" +QB_RNG = "" + +# Zephyr RTOS settings +ZEPHYR_BOARD = "v2m_musca_s1" +ZEPHYR_INHERIT_CLASSES += "zephyr-qemuboot" +ARCH:musca-s1 = "arm" + +TFM_PLATFORM = "arm/musca_s1" diff --git a/meta-arm/meta-arm-bsp/conf/machine/n1sdp.conf b/meta-arm/meta-arm-bsp/conf/machine/n1sdp.conf new file mode 100644 index 0000000000..5e87e61dfd --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/n1sdp.conf @@ -0,0 +1,38 @@ +# Configuration for Arm N1SDP development board + +#@TYPE: Machine +#@NAME: N1SDP machine +#@DESCRIPTION: Machine configuration for N1SDP + +require conf/machine/include/arm/armv8-2a/tune-neoversen1.inc + +KERNEL_IMAGETYPE = "Image" + +IMAGE_FSTYPES += "wic wic.gz wic.bmap tar.bz2 ext4" + +SERIAL_CONSOLES = "115200;ttyAMA0" + +# Set default WKS +WKS_FILE ?= "n1sdp-efidisk.wks" +IMAGE_EFI_BOOT_FILES ?= "n1sdp-multi-chip.dtb n1sdp-single-chip.dtb" +WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}" + +# Use kernel provided by yocto +PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" +PREFERRED_VERSION_linux-yocto ?= "5.15%" + +# RTL8168E Gigabit Ethernet Controller is attached to the PCIe interface +MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "linux-firmware-rtl8168" + +EXTRA_IMAGEDEPENDS += "trusted-firmware-a" +EXTRA_IMAGEDEPENDS += "virtual/control-processor-firmware" + +#UEFI EDK2 firmware +EXTRA_IMAGEDEPENDS += "edk2-firmware" + +#grub-efi +EFI_PROVIDER ?= "grub-efi" +MACHINE_FEATURES += "efi" + +# SD-Card firmware +EXTRA_IMAGEDEPENDS += "sdcard-image-n1sdp" diff --git a/meta-arm/meta-arm-bsp/conf/machine/qemu-cortex-r5.conf b/meta-arm/meta-arm-bsp/conf/machine/qemu-cortex-r5.conf new file mode 100644 index 0000000000..5a0ea69b7e --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/qemu-cortex-r5.conf @@ -0,0 +1,22 @@ +#@TYPE: Machine +#@NAME: qemu_cortex_r5 +#@DESCRIPTION: Machine for Zephyr BOARD qemu_cortex_r5 + +require conf/machine/include/qemu.inc +require conf/machine/include/arm/armv7r/tune-cortexr5.inc + +# GLIBC will not work with Cortex-R. +TCLIBC = "newlib" + +# For runqemu +QB_SYSTEM_NAME = "qemu-system-aarch64" +QB_MACHINE = "-machine xlnx-zcu102" +QB_CPU = "-cpu cortex-r5" +QB_MEM = "-m 64k" +QB_GRAPHICS = "-nographic -vga none" +QB_RNG = "" + +# Zephyr RTOS settings +ZEPHYR_BOARD = "qemu_cortex_r5" +ZEPHYR_INHERIT_CLASSES += "zephyr-qemuboot" +ARCH:qemu-cortex-r5 = "arm" diff --git a/meta-arm/meta-arm-bsp/conf/machine/sgi575.conf b/meta-arm/meta-arm-bsp/conf/machine/sgi575.conf new file mode 100644 index 0000000000..3c2c94b6dc --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/sgi575.conf @@ -0,0 +1,24 @@ +# Configuration for Arm SGI575 development board + +#@TYPE: Machine +#@NAME: SGI575 +#@DESCRIPTION: Machine configuration for SGI575 + +require conf/machine/include/arm/armv8-2a/tune-cortexa75.inc + +EXTRA_IMAGEDEPENDS += "virtual/control-processor-firmware" + +EXTRA_IMAGEDEPENDS += "trusted-firmware-a" + +KERNEL_IMAGETYPE ?= "Image" +PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" +SERIAL_CONSOLES = "115200;ttyAMA0" + +#grub-efi +EFI_PROVIDER ?= "grub-efi" +MACHINE_FEATURES += "efi" + +IMAGE_FSTYPES += "cpio.gz wic" + +WKS_FILE ?= "sgi575-efidisk.wks" +WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}" diff --git a/meta-arm/meta-arm-bsp/conf/machine/tc0.conf b/meta-arm/meta-arm-bsp/conf/machine/tc0.conf new file mode 100644 index 0000000000..b9c762d462 --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/tc0.conf @@ -0,0 +1,7 @@ +# Configuration for TC0 + +#@TYPE: Machine +#@NAME: TC0 +#@DESCRIPTION: Machine configuration for TC0 + +require conf/machine/include/tc.inc diff --git a/meta-arm/meta-arm-bsp/conf/machine/tc1.conf b/meta-arm/meta-arm-bsp/conf/machine/tc1.conf new file mode 100644 index 0000000000..42c5d8d5ad --- /dev/null +++ b/meta-arm/meta-arm-bsp/conf/machine/tc1.conf @@ -0,0 +1,7 @@ +# Configuration for TC1 + +#@TYPE: Machine +#@NAME: TC1 +#@DESCRIPTION: Machine configuration for TC1 + +require conf/machine/include/tc.inc -- cgit v1.2.3