diff options
Diffstat (limited to 'conf')
-rw-r--r-- | conf/layer.conf | 12 | ||||
-rw-r--r-- | conf/machine/include/rpi-base.inc | 114 | ||||
-rw-r--r-- | conf/machine/include/rpi-default-providers.inc | 6 | ||||
-rw-r--r-- | conf/machine/include/rpi-default-settings.inc | 6 | ||||
-rw-r--r-- | conf/machine/include/rpi-default-versions.inc | 3 | ||||
-rw-r--r-- | conf/machine/include/tune-arm1176jzf-s.inc | 24 | ||||
-rw-r--r-- | conf/machine/raspberrypi-armv7.conf | 39 | ||||
-rw-r--r-- | conf/machine/raspberrypi-armv8.conf | 45 | ||||
-rw-r--r-- | conf/machine/raspberrypi-cm.conf | 2 | ||||
-rw-r--r-- | conf/machine/raspberrypi-cm3.conf | 2 | ||||
-rw-r--r-- | conf/machine/raspberrypi.conf | 4 | ||||
-rw-r--r-- | conf/machine/raspberrypi0-2w-64.conf | 17 | ||||
-rw-r--r-- | conf/machine/raspberrypi0-2w.conf | 13 | ||||
-rw-r--r-- | conf/machine/raspberrypi0.conf | 2 | ||||
-rw-r--r-- | conf/machine/raspberrypi2.conf | 4 | ||||
-rw-r--r-- | conf/machine/raspberrypi3-64.conf | 13 | ||||
-rw-r--r-- | conf/machine/raspberrypi3.conf | 3 | ||||
-rw-r--r-- | conf/machine/raspberrypi4-64.conf | 15 | ||||
-rw-r--r-- | conf/machine/raspberrypi4.conf | 6 | ||||
-rw-r--r-- | conf/machine/raspberrypi5.conf | 32 |
20 files changed, 292 insertions, 70 deletions
diff --git a/conf/layer.conf b/conf/layer.conf index 4ed7959..76f9e92 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -9,7 +9,11 @@ BBFILE_COLLECTIONS += "raspberrypi" BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/" BBFILE_PRIORITY_raspberrypi = "9" -LAYERSERIES_COMPAT_raspberrypi = "sumo thud warrior zeus dunfell" +LAYERSERIES_COMPAT_raspberrypi = "styhead" +LAYERDEPENDS_raspberrypi = "core" +# Recommended for u-boot support for raspberrypi5 +# https://git.yoctoproject.org/meta-lts-mixins 'scarthgap/u-boot' branch +LAYERRECOMMENDS_raspberrypi = "lts-u-boot-mixin" # Additional license directories. LICENSE_PATH += "${LAYERDIR}/files/custom-licenses" @@ -31,7 +35,9 @@ BBFILES_DYNAMIC += " \ networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bbappend \ qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bb \ qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bbappend \ + multimedia-layer:${LAYERDIR}/dynamic-layers/multimedia-layer/*/*/*.bb \ + multimedia-layer:${LAYERDIR}/dynamic-layers/multimedia-layer/*/*/*.bbappend \ " -DEFAULT_TEST_SUITES_remove_rpi = "parselogs" -DEFAULT_TEST_SUITES_append_rpi = " parselogs_rpi" +DEFAULT_TEST_SUITES:remove:rpi = "parselogs" +DEFAULT_TEST_SUITES:append:rpi = " parselogs_rpi" diff --git a/conf/machine/include/rpi-base.inc b/conf/machine/include/rpi-base.inc index 46dfe8c..a5fd1a4 100644 --- a/conf/machine/include/rpi-base.inc +++ b/conf/machine/include/rpi-base.inc @@ -15,47 +15,81 @@ XSERVER = " \ " RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ + overlays/overlay_map.dtb \ overlays/at86rf233.dtbo \ overlays/disable-bt.dtbo \ + overlays/disable-wifi.dtbo \ overlays/dwc2.dtbo \ + overlays/gpio-ir.dtbo \ + overlays/gpio-ir-tx.dtbo \ overlays/gpio-key.dtbo \ + overlays/gpio-poweroff.dtbo \ + overlays/gpio-shutdown.dtbo \ overlays/hifiberry-amp.dtbo \ + overlays/hifiberry-amp100.dtbo \ + overlays/hifiberry-amp3.dtbo \ + overlays/hifiberry-amp4pro.dtbo \ overlays/hifiberry-dac.dtbo \ overlays/hifiberry-dacplus.dtbo \ + overlays/hifiberry-dacplusadc.dtbo \ + overlays/hifiberry-dacplusadcpro.dtbo \ + overlays/hifiberry-dacplusdsp.dtbo \ + overlays/hifiberry-dacplushd.dtbo \ + overlays/hifiberry-digi-pro.dtbo \ overlays/hifiberry-digi.dtbo \ + overlays/justboom-both.dtbo \ + overlays/justboom-dac.dtbo \ + overlays/justboom-digi.dtbo \ + overlays/i2c-gpio.dtbo \ overlays/i2c-rtc.dtbo \ + overlays/imx219.dtbo \ + overlays/imx477.dtbo \ + overlays/imx708.dtbo \ overlays/iqaudio-dac.dtbo \ overlays/iqaudio-dacplus.dtbo \ - overlays/miniuart-bt.dtbo \ overlays/mcp2515-can0.dtbo \ - overlays/pi3-disable-bt.dtbo \ - overlays/pi3-miniuart-bt.dtbo \ + overlays/mcp2515-can1.dtbo \ + overlays/mcp3008.dtbo \ + overlays/miniuart-bt.dtbo \ overlays/pitft22.dtbo \ - overlays/pitft28-resistive.dtbo \ overlays/pitft28-capacitive.dtbo \ + overlays/pitft28-resistive.dtbo \ overlays/pitft35-resistive.dtbo \ overlays/pps-gpio.dtbo \ overlays/rpi-ft5406.dtbo \ overlays/rpi-poe.dtbo \ - overlays/vc4-kms-v3d.dtbo \ overlays/vc4-fkms-v3d.dtbo \ - overlays/w1-gpio-pullup.dtbo \ + overlays/vc4-fkms-v3d-pi4.dtbo \ + overlays/vc4-kms-v3d.dtbo \ + overlays/vc4-kms-v3d-pi4.dtbo \ + overlays/vc4-kms-v3d-pi5.dtbo \ + overlays/vc4-kms-dsi-7inch.dtbo \ overlays/w1-gpio.dtbo \ + overlays/w1-gpio-pullup.dtbo \ + overlays/wm8960-soundcard.dtbo \ " RPI_KERNEL_DEVICETREE ?= " \ - bcm2708-rpi-zero-w.dtb \ - bcm2708-rpi-b.dtb \ - bcm2708-rpi-b-plus.dtb \ - bcm2709-rpi-2-b.dtb \ - bcm2710-rpi-3-b.dtb \ - bcm2710-rpi-3-b-plus.dtb \ - bcm2711-rpi-4-b.dtb \ - bcm2708-rpi-cm.dtb \ - bcm2710-rpi-cm3.dtb \ + broadcom/bcm2708-rpi-zero.dtb \ + broadcom/bcm2708-rpi-zero-w.dtb \ + broadcom/bcm2708-rpi-b.dtb \ + broadcom/bcm2708-rpi-b-rev1.dtb \ + broadcom/bcm2708-rpi-b-plus.dtb \ + broadcom/bcm2709-rpi-2-b.dtb \ + broadcom/bcm2710-rpi-2-b.dtb \ + broadcom/bcm2710-rpi-3-b.dtb \ + broadcom/bcm2710-rpi-3-b-plus.dtb \ + broadcom/bcm2710-rpi-zero-2.dtb \ + broadcom/bcm2711-rpi-4-b.dtb \ + broadcom/bcm2711-rpi-400.dtb \ + broadcom/bcm2708-rpi-cm.dtb \ + broadcom/bcm2710-rpi-cm3.dtb \ + broadcom/bcm2711-rpi-cm4.dtb \ + broadcom/bcm2711-rpi-cm4s.dtb \ + broadcom/bcm2712-rpi-5-b.dtb \ " -KERNEL_DEVICETREE ?= " \ +KERNEL_DEVICETREE ??= " \ ${RPI_KERNEL_DEVICETREE} \ ${RPI_KERNEL_DEVICETREE_OVERLAYS} \ " @@ -78,42 +112,58 @@ MACHINE_FEATURES += "apm usbhost keyboard vfat ext2 screen touchscreen alsa blue # Raspberry Pi has no hardware clock MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc" -MACHINE_EXTRA_RRECOMMENDS += " kernel-modules udev-rules-rpi" +MACHINE_EXTRA_RRECOMMENDS += "kernel-modules udev-rules-rpi" +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "${@oe.utils.conditional('ENABLE_I2C', '1', 'kernel-module-i2c-dev kernel-module-i2c-bcm2708', '', d)}" +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "${@oe.utils.conditional('ENABLE_IR', '1', 'kernel-module-gpio-ir kernel-module-gpio-ir-tx', '', d)}" +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "${@oe.utils.conditional('ENABLE_GPIO_SHUTDOWN', '1', 'gpio-shutdown kernel-module-gpio-keys', '', d)}" -# Set Raspberrypi splash image -SPLASH = "psplash-raspberrypi" +SERIAL_CONSOLES_CHECK ??= "${SERIAL_CONSOLES}" + +# The name of the deploy directory for raspberry pi boot files. +# This variable is referred to by recipes fetching / generating the files. +BOOTFILES_DIR_NAME ?= "bootfiles" def make_dtb_boot_files(d): # Generate IMAGE_BOOT_FILES entries for device tree files listed in # KERNEL_DEVICETREE. alldtbs = d.getVar('KERNEL_DEVICETREE') - imgtyp = d.getVar('KERNEL_IMAGETYPE') + + # DTBs may be built out of kernel with devicetree.bbclass + if not alldtbs: + return '' def transform(dtb): base = os.path.basename(dtb) - if dtb.endswith('dtb'): - # eg: whatever/bcm2708-rpi-b.dtb has: - # DEPLOYDIR file: bcm2708-rpi-b.dtb - # destination: bcm2708-rpi-b.dtb - return base - elif dtb.endswith('dtbo'): + if dtb.endswith('dtbo') or base == 'overlay_map.dtb': # overlay dtb: # eg: overlays/hifiberry-amp.dtbo has: # DEPLOYDIR file: hifiberry-amp.dtbo # destination: overlays/hifiberry-amp.dtbo return '{};{}'.format(base, dtb) + elif dtb.endswith('dtb'): + # eg: whatever/bcm2708-rpi-b.dtb has: + # DEPLOYDIR file: bcm2708-rpi-b.dtb + # destination: bcm2708-rpi-b.dtb + return base return ' '.join([transform(dtb) for dtb in alldtbs.split(' ') if dtb]) +RPI_EXTRA_IMAGE_BOOT_FILES ?= " \ + ${@bb.utils.contains('RPI_USE_U_BOOT', '1', \ + '${KERNEL_IMAGETYPE} u-boot.bin;${SDIMG_KERNELIMAGE} boot.scr', \ + '${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}', d)} \ + " -IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* \ +IMAGE_BOOT_FILES ?= "${BOOTFILES_DIR_NAME}/* \ ${@make_dtb_boot_files(d)} \ - ${@bb.utils.contains('RPI_USE_U_BOOT', '1', \ - '${KERNEL_IMAGETYPE} u-boot.bin;${SDIMG_KERNELIMAGE} boot.scr', \ - '${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}', d)} \ + ${RPI_EXTRA_IMAGE_BOOT_FILES} \ " + +EXTRA_IMAGEDEPENDS += "rpi-bootfiles" + do_image_wic[depends] += " \ - bcm2835-bootfiles:do_deploy \ + virtual/kernel:do_deploy \ + rpi-bootfiles:do_deploy \ ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \ " @@ -121,4 +171,4 @@ do_image_wic[recrdeps] = "do_build" # The kernel image is installed into the FAT32 boot partition and does not need # to also be installed into the rootfs. -RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" +RDEPENDS:${KERNEL_PACKAGE_NAME}-base = "" diff --git a/conf/machine/include/rpi-default-providers.inc b/conf/machine/include/rpi-default-providers.inc index 181b936..3f81026 100644 --- a/conf/machine/include/rpi-default-providers.inc +++ b/conf/machine/include/rpi-default-providers.inc @@ -1,12 +1,16 @@ # RaspberryPi BSP default providers -PREFERRED_PROVIDER_virtual/kernel ?= "linux-raspberrypi" +PREFERRED_PROVIDER_virtual/kernel ??= "linux-raspberrypi" PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}" PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}" PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}" PREFERRED_PROVIDER_virtual/mesa ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}" PREFERRED_PROVIDER_virtual/libgbm ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}" +PREFERRED_PROVIDER_vlc ?= "rpidistro-vlc" +PREFERRED_PROVIDER_ffmpeg ?= "rpidistro-ffmpeg" +PREFERRED_PROVIDER_libav ?= "rpidistro-ffmpeg" +PREFERRED_PROVIDER_libpostproc ?= "rpidistro-ffmpeg" PREFERRED_PROVIDER_jpeg ?= "jpeg" PREFERRED_PROVIDER_virtual/libomxil ?= "userland" diff --git a/conf/machine/include/rpi-default-settings.inc b/conf/machine/include/rpi-default-settings.inc index 716a8bb..b788f14 100644 --- a/conf/machine/include/rpi-default-settings.inc +++ b/conf/machine/include/rpi-default-settings.inc @@ -1,3 +1,9 @@ # RaspberryPi BSP default settings IMAGE_CLASSES += "sdcard_image-rpi" + +# RPI kernel has errors of its own which should be filtered +# therefore use parselogs_rpi test instead of parselogs from oe-core +# +DEFAULT_TEST_SUITES:append:rpi = " parselogs_rpi" +DEFAULT_TEST_SUITES:remove:rpi = " parselogs" diff --git a/conf/machine/include/rpi-default-versions.inc b/conf/machine/include/rpi-default-versions.inc index 9983b61..6def274 100644 --- a/conf/machine/include/rpi-default-versions.inc +++ b/conf/machine/include/rpi-default-versions.inc @@ -1,3 +1,4 @@ # RaspberryPi BSP default versions -PREFERRED_VERSION_linux-raspberrypi ??= "4.19.%" +PREFERRED_VERSION_linux-raspberrypi ??= "6.6.%" +PREFERRED_VERSION_linux-raspberrypi-v7 ??= "${PREFERRED_VERSION_linux-raspberrypi}" diff --git a/conf/machine/include/tune-arm1176jzf-s.inc b/conf/machine/include/tune-arm1176jzf-s.inc index b6fcc59..ce5f08e 100644 --- a/conf/machine/include/tune-arm1176jzf-s.inc +++ b/conf/machine/include/tune-arm1176jzf-s.inc @@ -1,15 +1,17 @@ -DEFAULTTUNE ?= "armv6" +DEFAULTTUNE ?= "arm1176jzfshf" require conf/machine/include/arm/arch-armv6.inc TUNEVALID[arm1176jzfs] = "Enable arm1176jzfs specific processor optimizations" -TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm1176jzfs", "-mtune=arm1176jzf-s", "", d)}" -TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "vfp", "-mfpu=vfp", "", d)}" - -AVAILTUNES += "arm1176jzfs arm1176jzfshf" -ARMPKGARCH_tune-arm1176jzfs = "arm1176jzfs" -ARMPKGARCH_tune-arm1176jzfshf = "arm1176jzfs" -TUNE_FEATURES_tune-arm1176jzfs = "${TUNE_FEATURES_tune-armv6} arm1176jzfs" -TUNE_FEATURES_tune-arm1176jzfshf = "${TUNE_FEATURES_tune-arm1176jzfs} callconvention-hard" -PACKAGE_EXTRA_ARCHS_tune-arm1176jzfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6}" -PACKAGE_EXTRA_ARCHS_tune-arm1176jzfshf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} arm1176jzfshf-vfp" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzfs', ' -mcpu=arm1176jzf-s', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzfs', 'armv6:', '', d)}" + +AVAILTUNES += "arm1176jzfs" +ARMPKGARCH:tune-arm1176jzfs = "arm1176jzfs" +TUNE_FEATURES:tune-arm1176jzfs = "arm thumb vfp arm1176jzfs" +PACKAGE_EXTRA_ARCHS:tune-arm1176jzfs = "${PACKAGE_EXTRA_ARCHS:tune-armv6} arm1176jzfs" + +AVAILTUNES += "arm1176jzfshf" +ARMPKGARCH:tune-arm1176jzfshf = "${ARMPKGARCH:tune-arm1176jzfs}" +TUNE_FEATURES:tune-arm1176jzfshf = "${TUNE_FEATURES:tune-arm1176jzfs} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-arm1176jzfshf = "${PACKAGE_EXTRA_ARCHS:tune-armv6thf} arm1176jzfshf-vfp" diff --git a/conf/machine/raspberrypi-armv7.conf b/conf/machine/raspberrypi-armv7.conf new file mode 100644 index 0000000..cb2e5a2 --- /dev/null +++ b/conf/machine/raspberrypi-armv7.conf @@ -0,0 +1,39 @@ +# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com> +# +# SPDX-License-Identifier: MIT + +#@TYPE: Machine +#@NAME: RaspberryPi Development Boards (32bit) +#@DESCRIPTION: Machine configuration for the RaspberryPi boards in 32 bit mode + +DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4" +require conf/machine/include/arm/armv7a/tune-cortexa7.inc +include conf/machine/include/rpi-base.inc + +# This machine includes by default the kernel for v7l. We hook in support for +# v7. +RASPBERRYPI_v7_KERNEL = "linux-raspberrypi-v7" +RASPBERRYPI_v7_KERNEL_PACKAGE_NAME = "kernel-v7" +RASPBERRYPI_v7_KERNEL_FILE ?= "kernel7.img" +# We don't need a lot for v7l because it is the default provider, +# virtual/kernel. +RASPBERRYPI_v7l_KERNEL_FILE ?= "kernel7l.img" + +MACHINE_FEATURES += "pci" +MACHINE_EXTRA_RRECOMMENDS += "\ + linux-firmware-rpidistro-bcm43430 \ + linux-firmware-rpidistro-bcm43436 \ + linux-firmware-rpidistro-bcm43436s \ + linux-firmware-rpidistro-bcm43455 \ + linux-firmware-rpidistro-bcm43456 \ + bluez-firmware-rpidistro-bcm43430a1-hcd \ + bluez-firmware-rpidistro-bcm43430b0-hcd \ + bluez-firmware-rpidistro-bcm4345c0-hcd \ + bluez-firmware-rpidistro-bcm4345c5-hcd \ +" + +# FIXME: This machine doesn't support u-boot (yet) +RPI_EXTRA_IMAGE_BOOT_FILES = " \ + ${KERNEL_IMAGETYPE};${RASPBERRYPI_v7l_KERNEL_FILE} \ + ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}/${KERNEL_IMAGETYPE};${RASPBERRYPI_v7_KERNEL_FILE} \ +" diff --git a/conf/machine/raspberrypi-armv8.conf b/conf/machine/raspberrypi-armv8.conf new file mode 100644 index 0000000..0128bdc --- /dev/null +++ b/conf/machine/raspberrypi-armv8.conf @@ -0,0 +1,45 @@ +# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com> +# +# SPDX-License-Identifier: MIT + +#@TYPE: Machine +#@NAME: RaspberryPi Development Boards (64bit) +#@DESCRIPTION: Machine configuration for the RaspberryPi boards in 64 bit mode + +require conf/machine/include/arm/armv8a/tune-cortexa53.inc +include conf/machine/include/rpi-base.inc + +MACHINE_FEATURES += "pci" +MACHINE_EXTRA_RRECOMMENDS += "\ + linux-firmware-rpidistro-bcm43430 \ + linux-firmware-rpidistro-bcm43455 \ + linux-firmware-rpidistro-bcm43456 \ + linux-firmware-rpidistro-bcm43436 \ + linux-firmware-rpidistro-bcm43436s \ + bluez-firmware-rpidistro-bcm43430a1-hcd \ + bluez-firmware-rpidistro-bcm43430b0-hcd \ + bluez-firmware-rpidistro-bcm4345c0-hcd \ + bluez-firmware-rpidistro-bcm4345c5-hcd \ +" + +RPI_KERNEL_DEVICETREE = " \ + broadcom/bcm2710-rpi-3-b.dtb \ + broadcom/bcm2710-rpi-3-b-plus.dtb \ + broadcom/bcm2837-rpi-3-b.dtb \ + broadcom/bcm2710-rpi-cm3.dtb \ + broadcom/bcm2710-rpi-zero-2.dtb \ + broadcom/bcm2711-rpi-4-b.dtb \ + broadcom/bcm2711-rpi-400.dtb \ + broadcom/bcm2711-rpi-cm4.dtb \ + broadcom/bcm2711-rpi-cm4s.dtb \ + broadcom/bcm2712-rpi-5-b.dtb \ +" + +SDIMG_KERNELIMAGE ?= "kernel8.img" +KERNEL_IMAGETYPE_UBOOT ?= "Image" +KERNEL_IMAGETYPE_DIRECT ?= "Image" +KERNEL_BOOTCMD ?= "booti" +UBOOT_MACHINE = "rpi_arm64_config" +SERIAL_CONSOLES ?= "115200;ttyS0" + +VC4DTBO ?= "vc4-fkms-v3d" diff --git a/conf/machine/raspberrypi-cm.conf b/conf/machine/raspberrypi-cm.conf index f9371df..365d030 100644 --- a/conf/machine/raspberrypi-cm.conf +++ b/conf/machine/raspberrypi-cm.conf @@ -2,7 +2,7 @@ #@NAME: RaspberryPi Compute Module (CM1) #@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module (CM1) -MACHINEOVERRIDES = "raspberrypi:${MACHINE}" +MACHINEOVERRIDES =. "raspberrypi:" include conf/machine/raspberrypi.conf ARMSTUB ?= "armstub.bin" diff --git a/conf/machine/raspberrypi-cm3.conf b/conf/machine/raspberrypi-cm3.conf index f1b8151..2ffdfaf 100644 --- a/conf/machine/raspberrypi-cm3.conf +++ b/conf/machine/raspberrypi-cm3.conf @@ -3,7 +3,7 @@ #@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module 3 (CM3) DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4" -require conf/machine/include/tune-cortexa7.inc +require conf/machine/include/arm/armv7a/tune-cortexa7.inc include conf/machine/include/rpi-base.inc SDIMG_KERNELIMAGE ?= "kernel7.img" diff --git a/conf/machine/raspberrypi.conf b/conf/machine/raspberrypi.conf index b23687b..05263d7 100644 --- a/conf/machine/raspberrypi.conf +++ b/conf/machine/raspberrypi.conf @@ -7,8 +7,8 @@ DEFAULTTUNE ?= "arm1176jzfshf" require conf/machine/include/tune-arm1176jzf-s.inc include conf/machine/include/rpi-base.inc -SERIAL_CONSOLES ?= "115200;ttyAMA0" - +SDIMG_KERNELIMAGE ?= "kernel.img" UBOOT_MACHINE = "rpi_config" +SERIAL_CONSOLES ?= "115200;ttyAMA0" ARMSTUB ?= "armstub.bin" diff --git a/conf/machine/raspberrypi0-2w-64.conf b/conf/machine/raspberrypi0-2w-64.conf new file mode 100644 index 0000000..0264107 --- /dev/null +++ b/conf/machine/raspberrypi0-2w-64.conf @@ -0,0 +1,17 @@ +#@TYPE: Machine +#@NAME: RaspberryPi0 2 Wifi Development Board +#@DESCRIPTION: Machine configuration for the RaspberryPi0 2 Wifi in 64 bits mode + +MACHINEOVERRIDES =. "raspberrypi3-64:" + +include conf/machine/raspberrypi3-64.conf + +MACHINE_EXTRA_RRECOMMENDS += "\ + linux-firmware-rpidistro-bcm43436 \ + linux-firmware-rpidistro-bcm43436s \ + bluez-firmware-rpidistro-bcm43430b0-hcd \ +" + +RPI_KERNEL_DEVICETREE = " \ + broadcom/bcm2710-rpi-zero-2.dtb \ + " diff --git a/conf/machine/raspberrypi0-2w.conf b/conf/machine/raspberrypi0-2w.conf new file mode 100644 index 0000000..f3a4c4d --- /dev/null +++ b/conf/machine/raspberrypi0-2w.conf @@ -0,0 +1,13 @@ +#@TYPE: Machine +#@NAME: RaspberryPi0 2 Wifi Development Board +#@DESCRIPTION: Machine configuration for the RaspberryPi0 2 Wifi in 32 bits mode + +MACHINEOVERRIDES =. "raspberrypi3:" + +include conf/machine/raspberrypi3.conf + +MACHINE_EXTRA_RRECOMMENDS += "\ + linux-firmware-rpidistro-bcm43436 \ + linux-firmware-rpidistro-bcm43436s \ + bluez-firmware-rpidistro-bcm43430b0-hcd \ +" diff --git a/conf/machine/raspberrypi0.conf b/conf/machine/raspberrypi0.conf index 80297b5..597918a 100644 --- a/conf/machine/raspberrypi0.conf +++ b/conf/machine/raspberrypi0.conf @@ -2,7 +2,7 @@ #@NAME: RaspberryPi Zero Development Board #@DESCRIPTION: Machine configuration for the RaspberryPi Zero board (https://www.raspberrypi.org/blog/raspberry-pi-zero) -MACHINEOVERRIDES = "raspberrypi:${MACHINE}" +MACHINEOVERRIDES =. "raspberrypi:" include conf/machine/raspberrypi.conf SERIAL_CONSOLES ?= "115200;ttyAMA0" diff --git a/conf/machine/raspberrypi2.conf b/conf/machine/raspberrypi2.conf index 505c6f2..8cb859e 100644 --- a/conf/machine/raspberrypi2.conf +++ b/conf/machine/raspberrypi2.conf @@ -4,11 +4,11 @@ DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4" -require conf/machine/include/tune-cortexa7.inc +require conf/machine/include/arm/armv7a/tune-cortexa7.inc include conf/machine/include/rpi-base.inc +SDIMG_KERNELIMAGE ?= "kernel7.img" SERIAL_CONSOLES ?= "115200;ttyAMA0" - UBOOT_MACHINE = "rpi_2_config" ARMSTUB ?= "armstub7.bin" diff --git a/conf/machine/raspberrypi3-64.conf b/conf/machine/raspberrypi3-64.conf index 23b59ed..50dd533 100644 --- a/conf/machine/raspberrypi3-64.conf +++ b/conf/machine/raspberrypi3-64.conf @@ -2,7 +2,7 @@ #@NAME: RaspberryPi 3 Development Board #@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 64 bits mode -MACHINEOVERRIDES = "raspberrypi3:${MACHINE}" +MACHINEOVERRIDES =. "raspberrypi3:" MACHINE_EXTRA_RRECOMMENDS += "\ linux-firmware-rpidistro-bcm43430 \ @@ -11,24 +11,25 @@ MACHINE_EXTRA_RRECOMMENDS += "\ bluez-firmware-rpidistro-bcm4345c0-hcd \ " -require conf/machine/include/tune-cortexa53.inc +require conf/machine/include/arm/armv8a/tune-cortexa53.inc include conf/machine/include/rpi-base.inc RPI_KERNEL_DEVICETREE = " \ broadcom/bcm2710-rpi-3-b.dtb \ broadcom/bcm2710-rpi-3-b-plus.dtb \ broadcom/bcm2837-rpi-3-b.dtb \ + broadcom/bcm2710-rpi-cm3.dtb \ " -SERIAL_CONSOLES ?= "115200;ttyS0" - -UBOOT_MACHINE = "rpi_3_config" - +SDIMG_KERNELIMAGE ?= "kernel8.img" # 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" +UBOOT_MACHINE = "rpi_arm64_config" +SERIAL_CONSOLES ?= "115200;ttyS0" +VC4DTBO ?= "vc4-fkms-v3d" ARMSTUB ?= "armstub8.bin" diff --git a/conf/machine/raspberrypi3.conf b/conf/machine/raspberrypi3.conf index 581e47c..1212498 100644 --- a/conf/machine/raspberrypi3.conf +++ b/conf/machine/raspberrypi3.conf @@ -3,7 +3,7 @@ #@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 32 bits mode DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4" -require conf/machine/include/tune-cortexa7.inc +require conf/machine/include/arm/armv7a/tune-cortexa7.inc include conf/machine/include/rpi-base.inc MACHINE_EXTRA_RRECOMMENDS += "\ @@ -17,4 +17,5 @@ SDIMG_KERNELIMAGE ?= "kernel7.img" UBOOT_MACHINE = "rpi_3_32b_config" SERIAL_CONSOLES ?= "115200;ttyS0" +VC4DTBO ?= "vc4-fkms-v3d" ARMSTUB ?= "armstub7.bin" diff --git a/conf/machine/raspberrypi4-64.conf b/conf/machine/raspberrypi4-64.conf index 633d188..42ed4be 100644 --- a/conf/machine/raspberrypi4-64.conf +++ b/conf/machine/raspberrypi4-64.conf @@ -2,27 +2,32 @@ #@NAME: RaspberryPi 4 Development Board (64bit) #@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 64 bits mode -MACHINEOVERRIDES = "raspberrypi4:${MACHINE}" +MACHINEOVERRIDES =. "raspberrypi4:" 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/tune-cortexa72.inc +require conf/machine/include/arm/armv8a/tune-cortexa72.inc include conf/machine/include/rpi-base.inc RPI_KERNEL_DEVICETREE = " \ broadcom/bcm2711-rpi-4-b.dtb \ + broadcom/bcm2711-rpi-400.dtb \ + broadcom/bcm2711-rpi-cm4.dtb \ + broadcom/bcm2711-rpi-cm4s.dtb \ " SDIMG_KERNELIMAGE ?= "kernel8.img" SERIAL_CONSOLES ?= "115200;ttyS0" -UBOOT_MACHINE = "rpi_4_config" +UBOOT_MACHINE = "rpi_arm64_config" -VC4DTBO ?= "vc4-fkms-v3d" +VC4DTBO ?= "vc4-kms-v3d" # When u-boot is enabled we need to use the "Image" format and the "booti" # command to load the kernel @@ -31,6 +36,4 @@ KERNEL_IMAGETYPE_UBOOT ?= "Image" KERNEL_IMAGETYPE_DIRECT ?= "Image" KERNEL_BOOTCMD ?= "booti" -RPI_EXTRA_CONFIG ?= "\n# Force arm in 64bit mode. See: https://github.com/raspberrypi/firmware/issues/1193.\narm_64bit=1" - ARMSTUB ?= "armstub8-gic.bin" diff --git a/conf/machine/raspberrypi4.conf b/conf/machine/raspberrypi4.conf index d6b1d1b..86c57ed 100644 --- a/conf/machine/raspberrypi4.conf +++ b/conf/machine/raspberrypi4.conf @@ -3,13 +3,15 @@ #@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 32 bit mode DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4" -require conf/machine/include/tune-cortexa7.inc +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 @@ -17,5 +19,5 @@ SDIMG_KERNELIMAGE ?= "kernel7l.img" UBOOT_MACHINE = "rpi_4_32b_config" SERIAL_CONSOLES ?= "115200;ttyS0" -VC4DTBO ?= "vc4-fkms-v3d" +VC4DTBO ?= "vc4-kms-v3d" ARMSTUB ?= "armstub7.bin" diff --git a/conf/machine/raspberrypi5.conf b/conf/machine/raspberrypi5.conf new file mode 100644 index 0000000..03f15c3 --- /dev/null +++ b/conf/machine/raspberrypi5.conf @@ -0,0 +1,32 @@ +#@TYPE: Machine +#@NAME: RaspberryPi 5 Development Board (64bit) +#@DESCRIPTION: Machine configuration for the RaspberryPi 5 in 64 bits mode + +require conf/machine/include/arm/armv8-2a/tune-cortexa76.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 \ +" + +RPI_KERNEL_DEVICETREE = " \ + broadcom/bcm2712-rpi-5-b.dtb \ +" + +SDIMG_KERNELIMAGE ?= "kernel_2712.img" +SERIAL_CONSOLES ?= "115200;ttyAMA10" + +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" + +UBOOT_MACHINE = "rpi_arm64_config" |