diff --git a/.github/workflows/yocto-builds.yml b/.github/workflows/yocto-builds.yml index 93f9f46d6..9793f401c 100644 --- a/.github/workflows/yocto-builds.yml +++ b/.github/workflows/yocto-builds.yml @@ -25,6 +25,8 @@ jobs: - raspberrypi3 - raspberrypi4-64 - raspberrypi4 + - raspberrypi5-64 + - raspberrypi5 - raspberrypi-cm3 - raspberrypi-cm - raspberrypi-armv7 diff --git a/conf/machine/raspberrypi5-64.conf b/conf/machine/raspberrypi5-64.conf new file mode 100644 index 000000000..5b30248c8 --- /dev/null +++ b/conf/machine/raspberrypi5-64.conf @@ -0,0 +1,36 @@ +#@TYPE: Machine +#@NAME: RaspberryPi 5 Development Board (64bit) +#@DESCRIPTION: Machine configuration for the RaspberryPi 5 in 64 bits mode + +MACHINEOVERRIDES =. "raspberrypi5:" + +MACHINE_FEATURES += "pci" +MACHINE_EXTRA_RRECOMMENDS += "\ + linux-firmware-rpidistro-bcm43455 \ + bluez-firmware-rpidistro-bcm4345c0-hcd \ + linux-firmware-rpidistro-bcm43456 \ + bluez-firmware-rpidistro-bcm4345c5-hcd \ +" + +require conf/machine/include/arm/armv8-2a/tune-cortexa76.inc +include conf/machine/include/rpi-base.inc + +RPI_KERNEL_DEVICETREE = " \ + broadcom/bcm2712-rpi-5-b.dtb \ +" + +SDIMG_KERNELIMAGE ?= "kernel8.img" +SERIAL_CONSOLES ?= "115200;ttyS0" + +UBOOT_MACHINE = "rpi_arm64_config" + +VC4DTBO ?= "vc4-kms-v3d" + +# When u-boot is enabled we need to use the "Image" format and the "booti" +# command to load the kernel +KERNEL_IMAGETYPE_UBOOT ?= "Image" +# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet +KERNEL_IMAGETYPE_DIRECT ?= "Image" +KERNEL_BOOTCMD ?= "booti" + +ARMSTUB ?= "armstub8-gic.bin" diff --git a/conf/machine/raspberrypi5.conf b/conf/machine/raspberrypi5.conf new file mode 100644 index 000000000..8c4ed070c --- /dev/null +++ b/conf/machine/raspberrypi5.conf @@ -0,0 +1,23 @@ +#@TYPE: Machine +#@NAME: RaspberryPi 5 Development Board (32bit) +#@DESCRIPTION: Machine configuration for the RaspberryPi 5 in 32 bit mode + +DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4" +require conf/machine/include/arm/armv7a/tune-cortexa7.inc +include conf/machine/include/rpi-base.inc + +MACHINE_FEATURES += "pci" +MACHINE_EXTRA_RRECOMMENDS += "\ + linux-firmware-rpidistro-bcm43455 \ + bluez-firmware-rpidistro-bcm4345c0-hcd \ + linux-firmware-rpidistro-bcm43456 \ + bluez-firmware-rpidistro-bcm4345c5-hcd \ +" + +# 'l' stands for LPAE +SDIMG_KERNELIMAGE ?= "kernel7l.img" +UBOOT_MACHINE = "rpi_4_32b_config" +SERIAL_CONSOLES ?= "115200;ttyS0" + +VC4DTBO ?= "vc4-kms-v3d" +ARMSTUB ?= "armstub7.bin" diff --git a/recipes-kernel/linux/linux-raspberrypi.inc b/recipes-kernel/linux/linux-raspberrypi.inc index b77d1c4cf..cce12f6a6 100644 --- a/recipes-kernel/linux/linux-raspberrypi.inc +++ b/recipes-kernel/linux/linux-raspberrypi.inc @@ -33,6 +33,8 @@ KBUILD_DEFCONFIG:raspberrypi4 ?= "bcm2711_defconfig" KBUILD_DEFCONFIG:raspberrypi4-64 ?= "bcm2711_defconfig" KBUILD_DEFCONFIG:raspberrypi-armv7 ?= "bcm2711_defconfig" KBUILD_DEFCONFIG:raspberrypi-armv8 ?= "bcm2711_defconfig" +KBUILD_DEFCONFIG:raspberrypi5 ?= "bcm2711_defconfig" +KBUILD_DEFCONFIG:raspberrypi5-64 ?= "bcm2711_defconfig" LINUX_VERSION_EXTENSION ?= ""