Commit Graph

206 Commits

Author SHA1 Message Date
sss22213 11209a4981 recipes-bsp: Add support for Raspberry Pi HD quality camera
Signed-off-by: Bohung-Nian <n0404.n0404@gmail.com>
2021-05-19 20:00:02 +01:00
Pierre-Jean Texier d4d1441bd2 rpi-base: make SPLASH overridable from outside
Signed-off-by: Pierre-Jean Texier <texier.pj2@gmail.com>
2021-05-11 16:18:24 +01:00
Khem Raj d1f191ed30 tune-arm1176jzf-s.inc: Rework to match oe-core
OE-core now uses -mcpu instead of mtune

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-03-24 16:32:03 +00:00
Mike Looijmans fdf02accfe rpi-base: Add missing overlay_map.dtb and vc4-kms-v3d-pi4.dtbo
overlay_map.dtb arranges that when config.txt requests "vc4-kms-v3d"
the rpi4 will actually load "vc4-kms-v3d-pi4" and fixups like that.
It is present on the official distros, and must be put into the
overlays subdirectory in the boot partition.
For a detailed description of the overlay_map.dts file see:
  https://www.raspberrypi.org/documentation/configuration/device-tree.md#part2.2.10

vc4-kms-v3d-pi4 is required for the arm based kms driver on the rpi4.

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
2021-03-09 19:44:16 +00:00
Mike Looijmans 68976061c5 overlays: Add "vc4-kms-dsi-7inch.dtbo"
In theory, this would allow one to use the official 7-inch touchscreen
in combination with the (non-firmware) kms driver by adding the
following lines to config.txt:

ignore_lcd=1
dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-dsi-7inch

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
2021-03-02 16:59:27 +00:00
Aaron Shaw 509ff8c732 overlays: add missing device overlays
add overlays for pi zero, bcm2710 based rpi2 and rpi b rev 1

Change-type: patch
Signed-off-by: Aaron Shaw <aaron@balena.io>
2021-02-07 10:24:06 +00:00
Aaron Shaw 0c85f01506 overlays: add overlays for pi 400 and cm4
add overlays for pi 400 and cm4

Change-type: patch
Signed-off-by: Aaron Shaw <aaron@balena.io>
2021-02-07 10:24:06 +00:00
Aaron Shaw fc11c5d95c overlays: add overlay to allow 64 bit usage with CM3
add overlay to allow 64 bit usage with CM3

Change-type: patch
Signed-off-by: Aaron Shaw <aaron@balena.io>
2021-02-07 10:24:06 +00:00
Martin Jansa b947ce2148 rpi-default-versions: Switch default kernel to 5.10
* 5.10.11 is now considered stable:
  https://github.com/raspberrypi/firmware/blob/stable/extra/uname_string7
  https://github.com/raspberrypi/firmware/commit/8572bb50bf24a9ffef949ced69776e66559f4afe

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-02-06 13:23:34 +00:00
Paul Barker 2a9c3bb551 raspberrypi4-64: No need to force arm_64bit=1
This workaround is no longer needed with recent firmware.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
2021-01-21 21:09:49 +00:00
Paul Barker a4a8ce9af4 conf: Use unified u-boot config for 64-bit targets
The rpi_arm64 configuration supports both Raspberry Pi 3 & 4 in 64-bit
mode. Switching to this config is a small step towards supporting a
unified build for these targets.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
2021-01-21 21:09:49 +00:00
Aaron Shaw 9165aa52b6 overlays: add justboom overlays
add justboom overlays

Change-type: patch
Signed-off-by: Aaron Shaw <shawaj@gmail.com>
2021-01-19 09:24:51 +00:00
Aaron Shaw 1c66732627 overlays: reorder in alphabetical order
reorder list to be in alphabetical order

Change-type: patch
Signed-off-by: Aaron Shaw <aaron@balena.io>
2021-01-19 09:24:51 +00:00
Matt Spencer 881e603ca2 linux-raspberrypi: Enable use of 'RPI_EXTRA_CONFIG += ...' in local.conf
Before this patch, use of RPI_EXTRA_CONFIG += in a local.conf would overwrite
the needed 'arm_64bit=1' defined in the core recipes. The net result would be
a system that did not boot.

This patch fixes the assignment of 'arm_64bit=1' even if RPI_EXTRA_CONFIG
has been set elsewhere.

Signed-off-by: matthew@thespencers.me.uk
2021-01-19 09:24:09 +00:00
Christopher Clark e0b4b8c5df machine: use weak default for kernel and KERNEL_DEVICETREE settings
To allow other layers to easily provide a default kernel preference to
use with the Raspberry Pi MACHINEs, switch to use the ??= assignment
operator for setting the default kernel and the device tree value in
this layer.

This change is motivated by enabling Xen support in meta-virtualization
to use the raspberrypi4-64 MACHINE definition from this layer with the
Yocto Linux kernels.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
2021-01-12 20:43:49 +00:00
Paul Barker ba3a417fbb rpi-bootfiles: Rename recipe to avoid ambiguity
The name `bootfiles` is too generic, we should use `rpi-bootfiles`
instead.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
2020-11-27 14:29:55 +00:00
Madhavan Krishnan b70c7b9021 libcamera: Enabled camera overlays define based
Added imx219.dtbo file in the overlays, and added dtoverlay in
/boot/config.txt define based.

To enable Sony Raspberry pi camera imx219 sensor, need to set
the variable RASPBERRYPI_CAMERA_V2 as 1.

In future, we can add any camera overlays here to support and
use them with libcamera.

Signed-off-by: Madhavan Krishnan <madhavan.krishnan@linaro.org>
2020-11-14 23:26:39 +00:00
Khem Raj 0355ceef76 rpi-default-settings: Replace default parselogs with parselogs_rpi
rpi kernel spits out additional errors in kernel logs which should be
ignored, there is no easy way to extend parselogs testcase other than
inheriting it into another testcase and use that testcase instead

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-10-09 19:53:43 +01:00
Pierre-Jean Texier 9adb9b81b2 rpi-default-versions: Switch defaults to 5.4
Linux Kernel 5.4 is now considered stable.

See [1] to check the current apt stable kernel.

[1] - https://github.com/raspberrypi/firmware/blob/stable/extra/uname_string7

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-08-13 17:09:44 +01:00
Jeff Ithier f046b4128c Generalize the naming of the bootfiles deploy directory
The raspberry pi 4 variant has a BCM2711 chip, however it still
uses the same boot files as the BCM2835 used in previous generations.
This change generalizes the naming of the directory generated in the
$DEPLOY_DIR to avoid the implication that the files are only
meant for the BCM2835.

Signed-off-by: Jeff Ithier <ithijme@gmail.com>
2020-08-06 11:00:29 +01:00
colin 73c686a70a conf/machine/include/rpi-base.inc: Added can1 interface to bsp
The device tree only supports a single CAN interface.  This prevents
compatiblity with dual-CAN boards like the PiCAN2 Duo.

The mcp2515-can1 device tree blob for overlay was added to RPI_KERNEL_DEVICETREE_OVERLAYS in order to support dual-CAN hats.

Signed-off-by: Colin McAllister <colinmca242@gmail.com>
2020-07-23 13:03:23 +01:00
Christopher Clark e28d6b83ea rpi-base: add SERIAL_CONSOLES_CHECK to default to SERIAL_CONSOLES
As per the example in the bsp-guide, and the qemu and other machine
configs. Assists when running virtualized, where serial console
device can differ.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
2020-07-17 01:03:27 +01:00
Leon Anavi cdee89b0a0 rpi-base.inc: Include modules if IR is enabled
Add kernel modules gpio-ir and gpio-ir-tx to variable
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS if ENABLE_IR is set to 1.
Variable ENABLE_IR enables infrared support (for LIRC). This
change affects images based on packagegroup-core-boot, including
the core-image-minimal image.

For other images (based on packagegroup-base) kernel modules
are provide through variable MACHINE_EXTRA_RRECOMMENDS.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2020-06-24 17:01:17 +01:00
Leon Anavi dc8638c979 rpi-base.inc: Add infrared dtbo
Add device tree binary overlays gpio-ir-tx and gpio-ir-tx to
support peripherals for sending and receiving infrared signals.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2020-06-04 18:13:08 +01:00
Leon Anavi 45ee64377b rpi-base.inc: Include modules if I2C is enaled
Add kernel modules i2c-dev and i2c-bcm2708 to variable
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS if ENABLE_I2C is set to 1.
This affects images based on packagegroup-core-boot, including
the core-image-minimal image.

For other images (based on packagegroup-base) kernel modules
are provide through variable MACHINE_EXTRA_RRECOMMENDS.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2020-04-28 15:13:45 +01:00
Leon Anavi 0917b60527 rpi-base.inc: Add kernel modules to all images
Add kernel modules, including i2c-dev and i2c-bcm2708, to variable
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS. This way kernel modules will
be present in all images based on packagegroup-core-boot,
including the core-image-minimal image.

Otherwise, if modules, are in variable MACHINE_EXTRA_RRECOMMENDS
they will be added only in images based on packagegroup-base,
which does not include the core-image-minimal or
core-image-full-cmdline images.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2020-04-15 11:46:58 +01:00
Drew Moseley c7bc97c97e raspberrypi3: Switch to vc4-fkms-v3d.
This seems to be required to have a functional DSI display.

Signed-off-by: Drew Moseley <drew.moseley@northern.tech>
2020-04-15 11:45:48 +01:00
Khem Raj 01b162388e rpi-base: Drop old dtbo names
pi3-disable-bt is renamed to disable-bt and pi3-miniuart-bt is renamed
to miniuart-bt in 2014, now with 5.4 these are not recognised anymore
and miniuart-bt and disable-bt are already part of RPI_KERNEL_DEVICETREE_OVERLAYS

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-08 11:38:35 +01:00
Fabio Berton 44d7dd0e4a rpi-u-boot-scr: Set u-boot-default-script as provider
Add u-boot-default-script to the PROVIDES variable to make easier to
replace boot script in another layer just by changing
PREFERRED_PROVIDER_u-boot-default-script variable. Set rpi-u-boot-scr as
the default provider for meta-raspberrypi.

Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
2020-04-03 17:32:19 +01:00
Orne Brocaar b7d3f86687 rpi-base.conf: add disable-bt.dtbo and miniuart-bt.dtbo overlays.
Closes #602.

Signed-off-by: Orne Brocaar <info@brocaar.com>
2020-03-31 11:58:30 +01:00
Pierre-Jean Texier 722d837612 rpi-base.inc: use wic.bz2 for all rpi machines by default
This change moves the default image for all rpi machines.
We moved from rpi-sdimg to wic.bz2.

Also enable wic.bmap image generation.

From the documentation in [1], Bmaptool is a generic tool
for creating the block map (bmap) for a file and copying
files using the block map. The idea is that large files,
like raw system image files, can be copied or flashed a
lot faster and more reliably with bmaptool than with
traditional tools, like "dd" or "cp".

Example:

$: sudo bmaptool copy <image-name>.wic.xz /dev/<your-block-device>

[1] - https://github.com/intel/bmap-tools

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-01-24 12:09:42 +00:00
Martin Jansa 2faf9cab72 gstreamer1.0-omx: let virtual/libomxil dependency to pull userland
* and adjust VIRTUAL-RUNTIME_libomxil to pull runtime provider for libomxil

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-01-24 12:09:42 +00:00
Erik Botö e7c856ee7b Add support for PiTFT 2.8" with capacitive touch
Add support for the Adafruit PiTFT Plus 320x240 2.8" TFT with
Capacitive Touchscreen, using the same patterns used for the other
versions of the PiTFT screens.

Signed-off-by: Erik Botö <erik.boto@gmail.com>
2020-01-14 16:17:04 +00:00
Ricardo Salveti c3b3cd6efd raspberrypi-cm3.conf: drop KBUILD_DEFCONFIG definition
KBUILD_DEFCONFIG should be defined by the kernel recipe instead, such as
linux-raspberrypi.

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
2020-01-08 11:24:51 +00:00
Allen Wild a4c8118676 conf/machine: add pci to MACHINE_FEATURES for Pi4
This pulls in the pciutils package (including `lspci`) via
packagegroup-base.

Signed-off-by: Allen Wild <allenwild93@gmail.com>
2020-01-07 10:16:54 +00:00
Andrei Gherzan 7c1d1e1eeb rpi-base.inc: Introduce DISABLE_VC4GRAPHICS
Since we enabled vc4graphics by default[1], there is no easy way to disable
it if needed. This patch introduces a variable (DISABLE_VC4GRAPHICS)
which when set to '1' will not add 'vc4graphics' to MACHINE_FEATURES
forcing the old behaviour.
One could use it in 'local.conf' for example.

[1] https://github.com/agherzan/meta-raspberrypi/pull/417

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-09-16 14:44:39 +01:00
Andrei Gherzan c1d16a3025 raspberrypi*.conf: Remove vc4 configuration as we already default to it
As of late[1], we defaulted to enabling vc4graphics in MACHINE_FEATURES.
Let's cleanup the machine configurations as per this change.

[1] https://github.com/agherzan/meta-raspberrypi/pull/417

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-09-16 14:44:39 +01:00
Andrei Gherzan 8106df150d raspberrypi4-64: Remove the 3G RAM limitation
The PCIe bounce buffers were ported[1] in the kernel so we can remove
this limitation now.

[1] https://github.com/raspberrypi/linux/pull/3144

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-08-15 16:50:50 +01:00
Andrei Gherzan fafad9b025 raspberrypi4-64.conf: Limit RAM to 3G
The PCI controller on the Raspberry Pi 4 acts as a DMA controller and can
only address the first 3Gb[1] of the memory space. On 32bit this was
addressed by implementing bouncing buffers[2] but this currently has no
support for arm64. In order to have working USB, as a workaround, we
limit the ram to 3G.

Fixes #446

[1] https://github.com/raspberrypi/linux/issues/3093
[2] https://github.com/raspberrypi/linux/blob/rpi-4.19.y/drivers/pci/controller/pcie-brcmstb-bounce.c

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-25 13:27:52 +01:00
Andrei Gherzan 0d641c8fa9 raspberrypi*: Define ARMSTUB for all machines
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-19 20:05:53 +01:00
Riyaz 03488c6159 rpi-base.inc: Enabling open-source vc4graphics driver for all RPI platforms
Vc4graphics enables drm backend on wayland Compositor (weston & westeros)
Appending vc4graphics machine feature to use mesa drivers for OpenGL and
V4l2 for video.

Signed-off-by: Riyaz <Riyaz.l@ltts.com>
2019-07-18 17:00:07 +01:00
Andrei Gherzan d44c0c3f19 raspberrypi4-64.conf: Remove memory limitation
We can do this because the kernel now includes a workaround for the DMA
issue.
https://github.com/raspberrypi/linux/pull/3080

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-18 13:27:34 +01:00
Andrei Gherzan 982a81e4b8 raspberrypi4.conf: The firmware uses kernel7l.img when LPAE is supported
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-16 13:38:41 +01:00
Andrei Gherzan 69da331154 raspberrypi4-64.conf: Uboot configuration and drop armstub
We drop armstub configuration because the new firmware includes them.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-16 13:38:41 +01:00
Andrei Gherzan 15a4849b2c raspberrypi4.conf: Define uboot defconfig
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-16 13:38:41 +01:00
Andrei Gherzan a6e14fb195 raspberrypi4-64.conf: Define a machine feature for armstubs
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan 7a35ad9826 raspberrypi4-64.conf: Initial machine configuration
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan 08b5a29028 raspberrypi4-64.conf: Introduce RPi arm64 machine
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan bc90c9a569 raspberrypi4: Use vc4-fkms-v3d
Currently, we use vc4-kms-v3d as the default overlay for VC4 but this
seems to break vc4 at runtime on RPi4. Change this to vc4-fkms-v3d for
now as this is the default Raspbian ons as well.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-06-30 16:14:31 +01:00
Andrei Gherzan 11f4377629 rpi-base.inc: Include the "fake" KMS dtbo
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-06-30 16:14:31 +01:00