mirror of
git://git.yoctoproject.org/meta-raspberrypi.git
synced 2025-07-05 13:14:45 +02:00
Add support for a ARMv7 machine supporting multiple Raspberry Pi boards
The new raspberrypi-armv7.conf aims at supporting all the ARMv7 Raspberry Pi boards. This initial support was tested on: * Raspberry Pi 4 Model B * Raspberry Pi 3 Model B * Raspberry Pi 0 2 WiFi Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
This commit is contained in:
parent
f24c3bdc3c
commit
10b649bdb0
|
@ -1,3 +1,4 @@
|
|||
# RaspberryPi BSP default versions
|
||||
|
||||
PREFERRED_VERSION_linux-raspberrypi ??= "5.15.%"
|
||||
PREFERRED_VERSION_linux-raspberrypi-v7 ??= "${PREFERRED_VERSION_linux-raspberrypi}"
|
||||
|
|
39
conf/machine/raspberrypi-armv7.conf
Normal file
39
conf/machine/raspberrypi-armv7.conf
Normal file
|
@ -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} \
|
||||
"
|
|
@ -16,6 +16,22 @@
|
|||
|
||||
Note: The raspberrypi3 machines include support for Raspberry Pi 3B+.
|
||||
|
||||
## Multi-board Machines
|
||||
|
||||
This layer generally provides support for machines that are targetting a single
|
||||
Raspberry Pi board (or a very few subsets of them). This is so that the build
|
||||
infrastructure can tune and tweak the configuration with the flexibility to
|
||||
optimise for both runtime performance and disk storage.
|
||||
|
||||
For usecases where compatibility of more boards is required, the layer provides
|
||||
machines that are tagetting a wider support of Raspberry Pi boards.
|
||||
|
||||
### raspberrypi-armv7
|
||||
|
||||
This machine targets support for all the ARMv7-based Raspberry Pi boards. It
|
||||
will pull in the firmware and deploy the kernel image and kernel modules for
|
||||
all the relevant boards.
|
||||
|
||||
## Images
|
||||
|
||||
* rpi-test-image
|
||||
|
|
13
recipes-kernel/linux/linux-raspberrypi-v7.inc
Normal file
13
recipes-kernel/linux/linux-raspberrypi-v7.inc
Normal file
|
@ -0,0 +1,13 @@
|
|||
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
KBUILD_DEFCONFIG:raspberrypi-armv7 = "bcm2709_defconfig"
|
||||
KERNEL_PACKAGE_NAME = "${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}"
|
||||
PROVIDES:remove = "virtual/kernel"
|
||||
|
||||
KERNEL_IMAGETYPE_DIRECT ?= "zImage"
|
||||
|
||||
COMPATIBLE_MACHINE = "^raspberrypi-armv7$"
|
||||
|
||||
KERNEL_DEVICETREE = ""
|
6
recipes-kernel/linux/linux-raspberrypi-v7_5.10.bb
Normal file
6
recipes-kernel/linux/linux-raspberrypi-v7_5.10.bb
Normal file
|
@ -0,0 +1,6 @@
|
|||
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
require linux-raspberrypi-v7.inc
|
||||
require linux-raspberrypi_5.10.bb
|
6
recipes-kernel/linux/linux-raspberrypi-v7_5.15.bb
Normal file
6
recipes-kernel/linux/linux-raspberrypi-v7_5.15.bb
Normal file
|
@ -0,0 +1,6 @@
|
|||
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
require linux-raspberrypi-v7.inc
|
||||
require linux-raspberrypi_5.15.bb
|
|
@ -26,6 +26,7 @@ KBUILD_DEFCONFIG:raspberrypi3 ?= "bcm2709_defconfig"
|
|||
KBUILD_DEFCONFIG:raspberrypi3-64 ?= "bcmrpi3_defconfig"
|
||||
KBUILD_DEFCONFIG:raspberrypi4 ?= "bcm2711_defconfig"
|
||||
KBUILD_DEFCONFIG:raspberrypi4-64 ?= "bcm2711_defconfig"
|
||||
KBUILD_DEFCONFIG:raspberrypi-armv7 ?= "bcm2711_defconfig"
|
||||
|
||||
LINUX_VERSION_EXTENSION ?= ""
|
||||
|
||||
|
|
|
@ -17,3 +17,15 @@ SRC_URI = " \
|
|||
require linux-raspberrypi.inc
|
||||
|
||||
KERNEL_DTC_FLAGS += "-@ -H epapr"
|
||||
|
||||
RDEPENDS:${KERNEL_PACKAGE_NAME}:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}"
|
||||
RDEPENDS:${KERNEL_PACKAGE_NAME}-base:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-base"
|
||||
RDEPENDS:${KERNEL_PACKAGE_NAME}-image:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-image"
|
||||
RDEPENDS:${KERNEL_PACKAGE_NAME}-dev:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-dev"
|
||||
RDEPENDS:${KERNEL_PACKAGE_NAME}-vmlinux:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-vmlinux"
|
||||
RDEPENDS:${KERNEL_PACKAGE_NAME}-modules:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-modules"
|
||||
RDEPENDS:${KERNEL_PACKAGE_NAME}-dbg:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-dbg"
|
||||
|
||||
DEPLOYDEP = ""
|
||||
DEPLOYDEP:raspberrypi-armv7 = "${RASPBERRYPI_v7_KERNEL}:do_deploy"
|
||||
do_deploy[depends] += "${DEPLOYDEP}"
|
||||
|
|
Loading…
Reference in New Issue
Block a user