171 Commits

Author SHA1 Message Date
Andrei Gherzan 96c8459c93 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 16:24:27 +01:00
Andrei Gherzan 3194c0bccf 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 16:24:27 +01:00
Andrei Gherzan a88c431f81 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-16 15:17:26 +01:00
Andrei Gherzan e9e3ad1920 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-26 14:09:40 +01:00
Andrei Gherzan ca13d79422 raspberrypi*: Define ARMSTUB for all machines
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-20 21:56:21 +01:00
Riyaz 690bdca574 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-20 21:56:21 +01:00
Andrei Gherzan ccf0efea63 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-20 21:56:21 +01:00
Andrei Gherzan a4cb3c40e2 raspberrypi4.conf: The firmware uses kernel7l.img when LPAE is supported
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-20 21:56:21 +01:00
Andrei Gherzan c775e7ff3a 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-20 21:56:21 +01:00
Andrei Gherzan 5d412e616c raspberrypi4.conf: Define uboot defconfig
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-20 21:56:21 +01:00
Andrei Gherzan 8dae8e3459 raspberrypi4-64.conf: Define a machine feature for armstubs
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-20 21:56:21 +01:00
Andrei Gherzan 9e73b9eb9f raspberrypi4-64.conf: Initial machine configuration
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-20 21:56:21 +01:00
Andrei Gherzan f30d4cfe70 raspberrypi4-64.conf: Introduce RPi arm64 machine
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-20 21:56:21 +01:00
Andrei Gherzan 6585c518b7 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-07-20 21:56:21 +01:00
Andrei Gherzan 37aa050d5a rpi-base.inc: Include the "fake" KMS dtbo
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-20 21:56:21 +01:00
Andrei Gherzan b85775a16a raspberrypi4.conf: Add initial machine 32 bit configuration
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-20 21:56:21 +01:00
Andrei Gherzan 174fafd16b rpi-base: Rename the rpi0w dtb
This change is following the rename in the kernel:

    commit 6f91b5dbfdb62a434571a73f2dc15181963e3bea
    Author: Phil Elwell <phil@raspberrypi.org>
    Date:   Tue May 28 16:36:04 2019 +0100

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-20 21:56:21 +01:00
Andrei Gherzan 2a05603313 raspberrypi3.conf: Clarify machine mode
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-20 21:56:21 +01:00
Andrei Gherzan 34ffb26f6c rpi-base.inc: Include rpi4 dtb
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-20 21:56:21 +01:00
Khem Raj adbad84b64 rpi-default-versions: Switch defaults to 4.19
4.19 is now declared stable, see
https://github.com/raspberrypi/linux/issues/2931#issuecomment-494016355

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-07-20 21:56:21 +01:00
Paul Barker 348d572a6b linux-raspberrypi: Switch default back to 4.14.y
The 4.19.y kernel is not yet considered stable upstream as discussed in
the following GitHub issues:

https://github.com/agherzan/meta-raspberrypi/issues/410
https://github.com/raspberrypi/linux/issues/2931

Signed-off-by: Paul Barker <paul@betafive.co.uk>
2019-04-24 13:13:21 +01:00
Khem Raj 6a3dc071cd machines: Switch default kernel to 4.19
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-24 11:07:36 +00:00
Khem Raj 99e6700784 dtbo: Remove lirc-rpi overlay
kernel 4.19 does not have this overlay

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-24 11:07:36 +00:00
Andrei Gherzan 5af10f56d5 raspberrypi-cm3.conf: Define it as a stand alone machine
As well, define the correct configuration for this machine.

Tested this with and without u-boot on CM3 (with internal storage) and
CM3+ without internal storage.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-02-19 17:02:19 +00:00
Khem Raj 9cc89cb734 raspberrypi3-64.conf: Use more appropriate tune
rpi3 is based on cortex-a53 implementation which is armv8+crc+simd
now that OE-Core has the appropriate tunes, switch to using the new
tune file, bonus, is that chromium will be more optimized now

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-07 12:24:51 +00:00
Ming Liu 5b1205751d rpi-default-providers.inc: use virtual/libgbm instead of libgbm
This is to be consistent with the latest OE.

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
2018-12-18 11:48:39 +00:00
Fabien Lahoudere 12e61faf30 Add Pican2 support
In order to make Pican 2 work, we :
- add mcp2515.dto to the overlay list
- add a variable to enable it in local.conf
- create a udev rule to mount interface

http://skpang.co.uk/catalog/pican2-canbus-board-for-raspberry-pi-23-p-1475.html

Signed-off-by: Fabien Lahoudere <fabien.lahoudere@collabora.com>
2018-12-12 16:24:17 +00:00
Peter A. Bigot bfc35b773f linux-firmware: replace machine override with new recipes
Raspberry Pi hardware requires firmware that supersedes or is not
present in the standard linux-firmware distribution.  These files are
maintained in the RPi-Distro project on github.

Several attempts have been made to reconcile conflicts between what's in
linux-firmware and what the hardware needs.  The existing approach is
functional but not maintainable since it combines material from three
repositories into a single package that claims to be linux-firmware.

Remove the appends that change the content of linux-firmware for rpi
hardware.  Add two new recipes that follow the RPi-Distro repositories:

* firmware-nonfree which forked from linux-firmware and replaces
  content is provided as linux-firmware-rpidistro;
* bluez-firmware which forked from (very old) bluez and adds content is
  provided as bluez-firmware-rpidistro.

The packages are named to make clear that these come from RPi-Distro,
rather than generic sources.  Licensing attempts to record the state of
licensing as documented in RPi-Distro.

Resolves: #298
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-11-23 16:25:34 +02:00
Khem Raj 0c14814f23 machines: Drop VC4_CMA_SIZE
setting cma is not required with latest vc4 driver

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-07 14:25:00 +00:00
Otavio Salvador 0f14d185d3 rpi-base.inc: Add gpio-key to the device tree overlays
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-31 01:52:54 +00:00
Otavio Salvador f61854f3c9 rpi-base.inc: Sort device tree overlays
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-31 01:52:54 +00:00
Andrei Gherzan ab8a44d655 rpi-base.inc: Build rpi-poe dtb overlay
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-09-11 11:36:35 +01:00
Hugo Hromic 576ac27869 machines: use new format for SERIAL_CONSOLES
From the documentation:

    SERIAL_CONSOLES - Provide a value that specifies the baud rate followed by
    the TTY device name separated by a semicolon. Use spaces to separate
    multiple devices

Fixes build error of `systemd-serialgetty` after recent commit 8218bec.

See: <https://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-SERIAL_CONSOLES>

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-08-16 17:54:54 +01:00
Khem Raj 8218bec130 machines: Replace obsolete SERIAL_CONSOLE with SERIAL_CONSOLES
Fix #302

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-08-16 11:34:33 +01:00
Andrei Gherzan 9a9931fe0c raspberrypi3-64.conf: Define only the dtb files that are available for arch64
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-07-26 23:11:07 +01:00
Andrei Gherzan 372c7bc16c rpi-base.inc: Split overlays and dtbs from KERNEL_DEVICETREE
This is helpful for example in the cases where the kernel doesn't
provide all the dtbs in arm64 as in arm.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-07-26 23:11:07 +01:00
Jonathan Haigh c7999e8c2f rpi-base.inc: update IMAGE_BOOT_FILES for change in oe-core
[Issue #285] -- https://github.com/agherzan/meta-raspberrypi/issues/285

The openembedded-core commit 1860d9d3c62e2e94cd68a809385873ffd8270b6d
changed the names of DTB files in the deploy directory - they are no
longer prefixed with "${KERNEL_IMAGETYPE}-". Update make_dtb_boot_files
(which generates entries in IMAGE_BOOT_FILES) to take this change into
account.

Signed-off-by: Jonathan Haigh <jonathan.haigh@arm.com>
2018-07-20 10:50:10 +01:00
Andrei Gherzan 6888a49ae8 raspberrypi3-64.conf: Include cm3 dtb
Add the CM3 dtb in the boot partition so we can boot this board as well with
this machine.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-07-16 19:52:15 +01:00
Andrei Gherzan 0359c9714c raspberrypi-cm3.conf: Inherit raspberrypi3 not raspberrypi2
The CM3 module is based Raspberry Pi 3 not 2.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-07-16 18:54:26 +01:00
Anton Gerasimov 2ad9aa01e7 rpi-base.inc: install at86rf233 overlay
Controlled with ENABLE_AT86RF variable

Signed-off-by: Anton Gerasimov <tossel@gmail.com>
2018-06-04 16:00:39 +01:00
Peter A. Bigot dd94917555 raspberrypi3-64.conf: add 3B+ device tree
Closes #253

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-14 16:56:05 +01:00
Peter A. Bigot f3ecec38aa linux-firmware: restore and merge bluez-firmware
The attempt to Raspbian updated firmware blobs in packages separate from
linux-firmware introduced unresolvable conflicts with the standard
linux-firmware roll-up package.  Revert to using an augmented
linux-firmware recipe that overrides and adds firmware from two Raspbian
repositories that have up-to-date images.

Closes #244

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-14 10:34:08 +01:00
Peter A. Bigot 07d06b04dd rpi-base.inc: add dwc2 overlay
This along with some module and connman magic allows a RaspberryPi Zero
Wireless to tether to a host over USB.

dtoverlay=dwc2,dr_mode=peripheral
modprobe g_ether
connman enable gadget
connman tether gadget on

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-05 10:03:21 +01:00
Andrei Gherzan 3934ba7127 raspberrypi0-wifi.conf: Use linux-firmware-raspbian package
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-03-29 14:16:37 +01:00
Andrei Gherzan 0059905a90 rpi-base.inc: Add Raspberry Pi 3B+ dtb
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-03-29 11:49:40 +01:00
Andrei Gherzan c717e7359a raspberrypi3-64.conf: Use linux-firmware-raspbian packages and add bcm43455
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-03-29 11:06:35 +01:00
Andrei Gherzan d5f252ef23 raspberrypi3.conf: Use linux-firmware-raspbian packages and add bcm43455
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-03-29 11:05:57 +01:00
Peter A. Bigot ad7693c9a0 rpi-base.inc: set default wic kickstart file
While wic is not a standard image, adding it to IMAGE_FSTYPES in
local.conf will fail unless a WKS_FILE is provided.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-03-07 23:35:18 +00:00
Paul Barker 81a9e9d450 linux-raspberrypi: Change default version to 4.14.y
This matches the change made in the upstream firmware repository earlier in
February.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-02-28 18:02:58 +00:00
Paul Barker 6d0830b26f Fix do_image_rpi_sdimg/do_image_wic dependencies
The dependency resolution code in bitbake has recently been optimized and this
seems to have slightly changed the behaviour of do_image_rpi_sdimg and
do_image_wic. We ensure that the main build artifacts are present by depending
on the relevant do_deploy and do_populate_sysroot tasks. However, we need to
ensure that other build tasks for these dependencies have also been executed
before we try to create our image. This can be achieved by adding a recursive
dependency on do_build, so that the do_build tasks of all recipes in the
dependency chain of do_image_rpi_sdimg/do_image_wic are executed before the
image function itself is executed.

The original issue seen here was that 'recipedata' files were not copied to
'tmp/deploy/licenses' as do_populate_lic for each dependency had not been ran
before the image creation function. The write_deploy_manifest function from
license.bbclass (listed in IMAGE_POSTPROCESS_COMMAND) therefore failed. Adding
the recursive dependency on do_build fixes this issue, ensuring do_populate_lic
runs before do_image_rpi_sdimg/do_image_wic.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-02-28 18:02:58 +00:00