broadcom/ci: add definitions for ci-tron jobs

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35215>
This commit is contained in:
Eric Engestrom 2025-05-05 18:30:00 +02:00
parent 9ae5078e99
commit 6c98a3fd0e
2 changed files with 142 additions and 1 deletions

View file

@ -35,7 +35,7 @@
# austriancoder | ci-tron | @austriancoder
# collabora | lava | @daniels, @sergi
# google-freedreno | none (moving to LAVA) | @daniels, @sergi
# igalia | baremetal/poe-powered | @jasuarez, @chema
# igalia | baremetal/poe-powered, ci-tron | @jasuarez, @chema
# lima | lava | @enunes
# microsoft | custom | @jenatali, @alatiera
# ondracka | ci-tron | @ondracka

View file

@ -152,6 +152,147 @@
tags:
- igalia-rpi5
# 1 device (2025-05-12)
.igalia-bcm2835-vc4:
variables:
RPI_MODEL: bcm2835-vc4
RPI_CONFIG_TXT_EXTRAS: |
[pi3]
# Disable bluetooth so that we can have serial, as they use the same GPIO lines.
dtoverlay=disable-bt
# Enable the KMS driver
dtoverlay=vc4-kms-v3d
GPU_VERSION: "broadcom-rpi3"
# 1 device (2025-05-12)
.igalia-bcm2711-vc5:
variables:
RPI_MODEL: bcm2711-vc5
RPI_CONFIG_TXT_EXTRAS: |
[pi4]
# Disable bluetooth so that we can have serial, as they use the same GPIO lines.
dtoverlay=disable-bt
# Enable the KMS driver
dtoverlay=vc4-kms-v3d-pi4
GPU_VERSION: "broadcom-rpi4"
# 1 device (2025-05-12)
.igalia-bcm2712-vc6:
variables:
RPI_MODEL: bcm2712-vc6
RPI_CONFIG_TXT_EXTRAS: |
[pi5]
# Disable bluetooth so that we can have serial, as they use the same GPIO lines.
dtoverlay=disable-bt,uart0_console
# Enable the KMS driver
dtoverlay=vc4-kms-v3d-pi5
GPU_VERSION: "broadcom-rpi5"
.ci-tron-broadcom:
extends:
- .ci-tron-b2c-diskless-v1
variables:
RPI_DOWNSTREAM_PACKAGE_VERSION: '1.20250430'
RPI_DOWNSTREAM_KERNEL_VERSION: '6.12.25'
# An uprev should only change the two variables above, and technically the
# kernel version could instead be set to `.*` in the regex below, but
# having it here documents this information well.
RPI_DOWNSTREAM_PACKAGE_URL: 'https://github.com/raspberrypi/firmware/archive/refs/tags/$RPI_DOWNSTREAM_PACKAGE_VERSION.zip'
CI_TRON_DUT_SETUP_TAGS: dt_gpu:model:$RPI_MODEL,cpu:arch:$RPI_ARCH
CI_TRON_TFTP_ARTIFACT_CATEGORY__50_BOOTLOADER__0__PATH: '/config.txt'
CI_TRON_TFTP_ARTIFACT_CATEGORY__50_BOOTLOADER__0__DATA: |
[all]
$RPI_CONFIG_TXT_64BIT
enable_uart=1
kernel={{ job.tftp.path_to("kernel") }}
initramfs {{ job.tftp.path_to("initramfs") }} followkernel
$RPI_CONFIG_TXT_EXTRAS
CI_TRON_TFTP_ARTIFACT_CATEGORY__50_BOOTLOADER__1__PATH: '/cmdline.txt'
CI_TRON_TFTP_ARTIFACT_CATEGORY__50_BOOTLOADER__1__DATA: >-
modules_load=overlay,vc4,v3d,snd_soc_hdmi_codec,i2c-brcmstb,i2c-bcm2835,nbd
{{ job.deployment.kernel.cmdline }}
CI_TRON_TFTP_ARTIFACT_CATEGORY__50_PLATFORM__0__URL: $RPI_DOWNSTREAM_PACKAGE_URL
CI_TRON_TFTP_ARTIFACT_CATEGORY__50_PLATFORM__0__PATH: '/(.*)'
CI_TRON_TFTP_ARTIFACT_CATEGORY__50_PLATFORM__0__FORMAT__0__ARCHIVE__MATCH: 'firmware-$RPI_DOWNSTREAM_PACKAGE_VERSION/boot/\1'
CI_TRON_KERNEL__URL: $RPI_DOWNSTREAM_PACKAGE_URL
CI_TRON_KERNEL__FORMAT__0__ARCHIVE__MATCH: 'firmware-$RPI_DOWNSTREAM_PACKAGE_VERSION/boot/$RPI_KERNEL.img'
CI_TRON_INITRAMFS_CATEGORY__50_KERNEL_MODULES__0__URL: $RPI_DOWNSTREAM_PACKAGE_URL
CI_TRON_INITRAMFS_CATEGORY__50_KERNEL_MODULES__0__FORMAT__0__ARCHIVE__EXTENSION: 'cpio'
CI_TRON_INITRAMFS_CATEGORY__50_KERNEL_MODULES__0__FORMAT__0__ARCHIVE__KEEP__0__PATH: 'firmware-$RPI_DOWNSTREAM_PACKAGE_VERSION/(modules/$RPI_DOWNSTREAM_KERNEL_VERSION-$RPI_MODULES\+?/(modules|kernel/(fs/overlayfs|sound|drivers/(block/nbd|gpu|i2c/busses/i2c-br?cm|media/cec|video))).*)'
CI_TRON_INITRAMFS_CATEGORY__50_KERNEL_MODULES__0__FORMAT__0__ARCHIVE__KEEP__0__REWRITE: 'usr/lib/\1'
VK_DRIVER: broadcom
FLAKES_CHANNEL: "#videocore-ci"
tags:
- farm:igalia
- dt_gpu:model:$RPI_MODEL
# For RPI_KERNEL, see KERNEL in
# https://www.raspberrypi.com/documentation/computers/linux_kernel.html#native-build-configuration
# For RPI_MODULES, it's not really documented anywhere, but the options
# (in the current version) are v7, v7l, v8, v8-16k, with the last one
# corresponding to kernel_2712, for the rpi5, and the other ones
# corresponding to their s/v/kernel/ counterpart.
.ci-tron-broadcom-rpi3:arm32:
extends:
- .igalia-bcm2835-vc4
- .ci-tron-broadcom
variables:
CI_TRON__B2C_DISKLESS_IMAGESTORE_PLATFORM: linux/arm/v7
RPI_ARCH: armv7l
RPI_CONFIG_TXT_64BIT: 'arm_64bit=0'
RPI_KERNEL: 'kernel7'
RPI_MODULES: 'v7'
.ci-tron-broadcom-rpi3:arm64:
extends:
- .igalia-bcm2835-vc4
- .ci-tron-broadcom
variables:
CI_TRON__B2C_DISKLESS_IMAGESTORE_PLATFORM: linux/arm64/v8
RPI_ARCH: aarch64
RPI_CONFIG_TXT_64BIT: 'arm_64bit=1'
RPI_KERNEL: 'kernel8'
RPI_MODULES: 'v8'
.ci-tron-broadcom-rpi4:arm32:
extends:
- .igalia-bcm2711-vc5
- .ci-tron-broadcom
variables:
CI_TRON__B2C_DISKLESS_IMAGESTORE_PLATFORM: linux/arm/v7
RPI_ARCH: armv7l
RPI_CONFIG_TXT_64BIT: 'arm_64bit=0'
RPI_KERNEL: 'kernel7l'
RPI_MODULES: 'v7l'
.ci-tron-broadcom-rpi4:arm64:
extends:
- .igalia-bcm2711-vc5
- .ci-tron-broadcom
variables:
CI_TRON__B2C_DISKLESS_IMAGESTORE_PLATFORM: linux/arm64/v8
RPI_ARCH: aarch64
RPI_CONFIG_TXT_64BIT: 'arm_64bit=1'
RPI_KERNEL: 'kernel8'
RPI_MODULES: 'v8'
.ci-tron-broadcom-rpi5:arm64:
extends:
- .igalia-bcm2712-vc6
- .ci-tron-broadcom
variables:
CI_TRON__B2C_DISKLESS_IMAGESTORE_PLATFORM: linux/arm64/v8
RPI_ARCH: aarch64
RPI_CONFIG_TXT_64BIT: 'arm_64bit=1'
RPI_KERNEL: 'kernel_2712'
RPI_MODULES: 'v8-16k'
.broadcom-test:
script:
- ./install/bare-metal/poe-powered.sh