567 Commits

Author SHA1 Message Date
Martin Jansa
3c464de8c6 Revert "rpi-default-versions: Switch default kernel to 6.12"
This reverts commit 8c916b683d.

Change like this doesn't belong to stable branch, people who
want to use 6.12 can easily switch the P_V in their config.

Signed-off-by: Martin Jansa <martin2.jansa@lgepartner.com>
2025-08-12 08:15:06 -07:00
Leon Anavi
388c37d1f6 rpi-base.inc: vc4-kms-dsi-ili9881-7inch.dtbo
Add vc4-kms-dsi-ili9881-7inch.dtbo for the Raspberry Pi Touch
Display 2 to RPI_KERNEL_DEVICETREE_OVERLAYS.

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-07-23 12:34:18 -07:00
Florin Sarbu
f20ae60d7c linux-raspberrypi.inc: Change defconfig for RPi3 64 bits
Switch to bcm2711_defconfig for RPi3 64 bits as per
https://github.com/raspberrypi/linux/pull/6688

Signed-off-by: Florin Sarbu <florin@balena.io>
2025-07-23 12:34:18 -07:00
Martin Jansa
6465f798d4 armstubs, rpi-config: add whitespace around assignments
With:
https://lists.openembedded.org/g/bitbake-devel/message/17508
there are WARNINGs like:

WARNING: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:21 has a lack of whitespace around the assignment: 'PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"'
WARNING: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:22 has a lack of whitespace around the assignment: 'PITFT22="${@bb.utils.contains("MACHINE_FEATURES", "pitft22", "1", "0", d)}"'
WARNING: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:23 has a lack of whitespace around the assignment: 'PITFT28r="${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "1", "0", d)}"'
WARNING: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:24 has a lack of whitespace around the assignment: 'PITFT28c="${@bb.utils.contains("MACHINE_FEATURES", "pitft28c", "1", "0", d)}"'
WARNING: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:25 has a lack of whitespace around the assignment: 'PITFT35r="${@bb.utils.contains("MACHINE_FEATURES", "pitft35r", "1", "0", d)}"'
WARNING: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:27 has a lack of whitespace around the assignment: 'VC4GRAPHICS="${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}"'
WARNING: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb: meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:38 has a lack of whitespace around the assignment: 'WM8960="${@bb.utils.contains("MACHINE_FEATURES", "wm8960", "1", "0", d)}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:14 has a lack of whitespace around the assignment: 'export CC7="${CC}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:15 has a lack of whitespace around the assignment: 'export LD7="${LD}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:16 has a lack of whitespace around the assignment: 'export OBJCOPY7="${OBJCOPY}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:17 has a lack of whitespace around the assignment: 'export OBJDUMP7="${OBJDUMP}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:18 has a lack of whitespace around the assignment: 'export CC8="${CC}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:19 has a lack of whitespace around the assignment: 'export LD8="${LD}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:20 has a lack of whitespace around the assignment: 'export OBJCOPY8="${OBJCOPY}"'
WARNING: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb: meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb:21 has a lack of whitespace around the assignment: 'export OBJDUMP8="${OBJDUMP} -maarch64"'

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2025-07-23 12:34:18 -07:00
Markus Volk
cd2dfa02c0 rpi-bootfiles: update to latest release
Signed-off-by: Markus Volk <f_l_k@t-online.de>
2025-07-23 12:34:18 -07:00
Markus Volk
ba5252c166 rpi-default-versions: Switch default kernel to 6.12
Signed-off-by: Markus Volk <f_l_k@t-online.de>
2025-07-23 12:34:18 -07:00
Markus Volk
c467dd28de linux-raspberrypi: update 6.12.2 -> 6.12.25
6.12 is now the default in RPiOS and firmware switched to 6.12 initially in raspberrypi/firmware@fe200a5
now it's on 6.12.25

Signed-off-by: Markus Volk <f_l_k@t-online.de>
2025-07-23 12:34:18 -07:00
Damiano Ferrari
0619c2e7bf rpi-bootfiles: Update to latest release
Signed-off-by: Damiano Ferrari <damiano.ferrari@ferrarigrowtech.com>
2025-07-23 12:34:18 -07:00
Damiano Ferrari
c54018e6a1 rpi-eeprom: Update to latest release
Signed-off-by: Damiano Ferrari <damiano.ferrari@ferrarigrowtech.com>
2025-07-23 12:34:18 -07:00
Martin Jansa
75ac34a338 docker-build: use --no-cache
* --no-cache is needed to actually call apt update instead of using it
  from docker cache and then failing to fetch pruned packages as shown:
  https://github.com/agherzan/meta-raspberrypi/actions/runs/16327036376/job/46119768952?pr=1491

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2025-07-18 20:14:56 -07:00
Leon Anavi
1059a239ca .github/workflows: seccomp=unconfined
Run docker without the default seccomp profile

Suggested-by: Martin Steegmanns <martin.steegmanns@govcert.etat.lu>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-05-09 08:35:55 -07:00
Leon Anavi
2aa34651a7 .github/workflows: Disable apparmor
Add --security-opt apparmor=unconfined to docker cmdline.

Suggested-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-05-09 08:35:55 -07:00
Leon Anavi
48c571a537 Dockerfile: Increase vm.max_map_count
Fix the resource exhaustion problem on the build infrastructure.

Suggested-by: Stu Westerman @stu-spp
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-05-09 08:35:55 -07:00
Leon Anavi
dcf586cb7b yocto-builds.yml: Set ulimit
Add --ulimit "nofile=1024:1048576" to yocto-builds.yml.

Suggested-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-05-09 08:35:55 -07:00
Leon Anavi
54ed1f7c65 yocto-builder/Dockerfile: Ubuntu 22.04
Upgrade to Ubuntu 22.04 because it is compatible with the Yocto
Project release Walnascar and provides a newer Python version.

Fixes:

RuntimeError: Sorry, python 3.9.0 or later is required for this version of bitbake

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-05-09 08:35:55 -07:00
Jan Vermaete
3ba4438d9d doc: added raspberrypi5 to the list of supported machines
Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2025-04-12 11:25:01 -07:00
Leon Anavi
cd558f77b6 u-boot_%.bbappend: Increase CONFIG_SYS_BOOTM_LEN
Increase CONFIG_SYS_BOOTM_LEN for machine raspberrypi4 (32-bit)
because the kernel size has increased. This fixes the following
issue when booting an image with U-Boot:

   Image Name:   Linux-6.6.63-v7l
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    8559752 Bytes = 8.2 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   Booting using the fdt blob at 0x2eff2000
Working FDT set to 2eff2000
   Loading Kernel Image to 8000
Image too large: increase CONFIG_SYS_BOOTM_LEN
Must RESET board to recover

Fixes: https://github.com/agherzan/meta-raspberrypi/issues/1306

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-03-12 02:12:30 -07:00
Joshua Watt
d605ed7ae7 linux-firmware-rpidistro: Fix WiFi on Raspberry Pi 5
Switches the Raspberry Pi 5 to use the standard cyfman43455-sdio
firmware by default. The minimal firmware on this device is unable to
connect to a WiFi access point.

This also matches the behavior of Raspberry Pi OS, which defaults to the
standard firmware

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
2025-02-27 16:54:47 -08:00
Khem Raj
7494a37818 udev-rules-rpi: Delete fb.rules
OE-core has added fb.rules to psplash via [1] so avoid adding it here

This effectively reverts commit e9e5efa750

[1] https://git.yoctoproject.org/poky/commit/?id=af38235305fc2ac59a82f0413a1fe4cc5161ff86

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Bastian Wanner <bastian.wanner@inovex.de>
2025-02-21 10:11:43 -08:00
Gyorgy Sarvari
923ac579c7 libcamera: fix c++ flags and failed buildpaths QA check
Building libcamera from the latest version of meta-or fails
the buildpaths qa check with a number of generated binaries.

Looking into the logs, it seemed that the -f*-prefix-map
flags were present to gcc invocations, but the used flags
were quite off for g++ invocations. It seems that using
the cpp_args meson option overwrites (at least most of)
the CXXFLAGS set by Yocto, including the -f*-prefix-map
flags.

To avoid this, append the extra compile flag to the
CXXFLAGS variable instead of using meson's cpp_args option.

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
2025-02-14 11:28:31 +00:00
Markus Volk
4f934c0ed1 linux-raspberrypi: add recipe for 6.12
This release is tagged outside of branch.
Use 'nobranch=1' to still be able to fetch the code.
https://github.com/raspberrypi/linux/releases/tag/rpi-6.12.y_20241206_2

The kernel was tested to run on raspberrypi4-64

Signed-off-by: Markus Volk <f_l_k@t-online.de>
2025-02-12 13:41:42 +00:00
Gijs Peskens
810f1a2395 rpi-base: Fix CM5 boot panic
Compute module 5 depends on the bcm2712d0 overlay, and will
panic during boot without it.

Signed-off-by: Gijs Peskens <gijs.peskens@munisense.com>
2025-02-12 03:13:24 +00:00
Gijs Peskens
51f06365f3 raspberrypi5.conf: Add CM5 dtb's
Add new dtb's required for raspberry compute module 5

Signed-off-by: Gijs Peskens <gijs.peskens@munisense.com>
2025-02-12 03:13:24 +00:00
Andrei Gherzan
b58e2af859 docs: Fix ReadTheDocs sphinx.configuration requirement
Deprecation of projects using Sphinx or MkDocs without an explicit
configuration file:

https://about.readthedocs.com/blog/2024/12/deprecate-config-files-without-sphinx-or-mkdocs-config/

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2025-02-03 20:45:15 +00:00
Jan Vermaete
880d36b7c2 kas: debug-tweaks as IMAGE_FEATURE is removed
And replaced it by the features that was below it.

see:
  commit 43b8b3fa72d75d8d82a478613a4d9bf4645b5389
  Author: Ross Burton <ross.burton@arm.com>
  Date:   Thu Nov 7 13:47:52 2024 +0000

      classes-recipe/core-image: drop debug-tweaks IMAGE_FEATURE

      Remove the 'debug-tweaks' IMAGE_FEATURE. It sounds friendly and kind to
      developers, but it results primarily in an image which root can login
      remotely without a password.  This is incredibly useful for local
      development and testing purposes, but we really want to be explicit that
      this is what is happening instead of hiding it behind a vague "debug
      tweaks" statement.

      To preserve the eixsting behaviour, debug-tweaks should be replaced with
      these features:

        allow-empty-password empty-root-password allow-root-login post-install-logging

      (From OE-Core rev: 2c229f9542c6ba608912e14c9c3f783c3fa89349)

      Signed-off-by: Ross Burton <ross.burton@arm.com>
      Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2025-01-17 10:23:07 +00:00
Jan Vermaete
38c6930a8e kas: added the synaptics-killswitch license in comment
I leave it to the user to allow the license by uncomment it.

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2025-01-17 10:23:07 +00:00
Anibal Limon
6e1d838b18 linux-firmware-rpidistro: Add cyfmac43455-sdio.bin symlink to minimal
According to the README on rpi-distro firmware-nonfree [1] this symlink
needs to exists.

Fixes,

```
[    6.794584] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin failed with error -2
```

There are previous reported stability issues with 802.11r [2] and
choosing minimal removes this support and indirectly fixes the issues.

[1] https://github.com/RPi-Distro/firmware-nonfree/blob/bookworm/debian/config/brcm80211/cypress/README.txt
[2] https://github.com/raspberrypi/linux/issues/3849

Signed-off-by: Anibal Limon <anibal@limonsoftware.com>
2025-01-17 06:27:29 +00:00
Luca Carlon
97d7a6b5ec picamera-libs: removed unused libraries from python3-picamera
Apparently the recipe for python3 picamera is installing some libraries
from /opt/vc/lib that are not necessary to the picamera module. The
gles2 library, in particular, overwrites a symlink to another version
of the gles2 library. The result is that two different gles2 libs are
placed in /usr/lib.

This commit removes a few unneeded libraries, leaving libmmal and its
dependencies, that are instead required.

Signed-off-by: Luca Carlon <carlon.luca@gmail.com>
2024-12-13 11:36:32 +00:00
Khem Raj
a2f8a64bc6 SECURITY.md: Add instructions for reporting security issues
Fixes Issues like https://github.com/agherzan/meta-raspberrypi/pull/1390#issuecomment-2522661895

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-12-12 22:47:13 +00:00
Khem Raj
57fa41ae95 rpi-base: Remove bcm2712-rpi-5-b.dtb from RPI_KERNEL_DEVICETREE target
All bcm2712 are built for arm64 builds alone and rpi-base.inc is included
by 32-bit machine configs as well. Recently, kernel moved thesr dts files
into arch/arm64/boot/dts/broadcom/ folder [1]

[1] 10c77e119e

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-12-12 22:44:39 +00:00
Khem Raj
aea022fbc6 linux-raspberrypi-6.6: Upgrade to 6.6.63
supersedes https://github.com/agherzan/meta-raspberrypi/pull/1374

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-12-12 22:44:39 +00:00
Garrett Brown
aea47ad612 linux: Enable CONFIG_I2C_BRCMSTB for proper HDMI I2C support
This patch enables the CONFIG_I2C_BRCMSTB option in vc4graphics.cfg to
ensure proper support for the `brcm,bcm2711-hdmi-i2c` device node. Without
this configuration, the I2C bus associated with HDMI on Broadcom
BCM2711-based systems may fail to probe, causing issues with HDMI
communication and display initialization.

Additionally, this resolves potential deferred probe issues observed in
the kernel logs, ensuring the correct initialization of the HDMI I2C bus.

Signed-off-by: Garrett Brown <garrett.brown@aclima.io>
2024-12-05 20:09:29 +00:00
Jan Vermaete
f1fe818543 extra-build-config.md: added a white line
There was in the rendered MarkDown no new line between the bullet list and the next line.

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2024-12-05 10:38:52 +00:00
Jan Vermaete
1aeda3f52a raspi-utils: added new recipe
For now only the 'dtmerge' (including 'dtoverlay' and 'dtparam') and 'pinctrl' utilities are included.

Added the 'raspi-' prefix to make it less conflicting with other 'utils' recipes.

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2024-11-06 08:59:42 +01:00
Robert Yang
1b6de69afd conf/layer.conf: Remove duplicated BBFILES
The following line doubles BBFILES for all layers in BBFILE_COLLECTIONS:
BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bb' % layer \
               for layer in BBFILE_COLLECTIONS.split())}"

And most of them are invalid, use BBFILES_DYNAMIC is the correct solution.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2024-10-30 09:07:39 +01:00
Khem Raj
91868fb83f layer.conf: Update to walnascar (5.2) layer/release series
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-10-29 17:58:50 +01:00
Leon Anavi
fe96d4ddc3 conf/layer.conf: Remove meta-lts-mixins
Remove layer dependency from meta-lts-mixins 'scarthgap/u-boot'
because now the BSP supports styhead which brings U-Boot 2024.07.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-10-29 17:49:53 +01:00
Matthias Klein
d5ffe135c7 linux-firmware-rpidistro: Upgrade to bookworm/20230625-2+rpt3
The upgrade was necessary to get WLAN running on a CM4 (under scarthgap).
Otherwise I continuously got the following kernel messages when trying to connect:
[   31.907395] brcmfmac: brcmf_set_channel: set chanspec 0xd022 fail, reason -52
[   32.023434] brcmfmac: brcmf_set_channel: set chanspec 0xd026 fail, reason -52
[   32.135403] brcmfmac: brcmf_set_channel: set chanspec 0xd02a fail, reason -52
[   32.247392] brcmfmac: brcmf_set_channel: set chanspec 0xd02e fail, reason -52
[   33.919395] brcmfmac: brcmf_set_channel: set chanspec 0xd090 fail, reason -52
[   33.926940] brcmfmac: brcmf_set_channel: set chanspec 0xd095 fail, reason -52
[   33.935151] brcmfmac: brcmf_set_channel: set chanspec 0xd099 fail, reason -52
[   33.942691] brcmfmac: brcmf_set_channel: set chanspec 0xd09d fail, reason -52
[   33.950338] brcmfmac: brcmf_set_channel: set chanspec 0xd0a1 fail, reason -52
[   33.957903] brcmfmac: brcmf_set_channel: set chanspec 0xd0a5 fail, reason -52

Firmware version before:  BCM4345/6 wl0: Apr 15 2021 03:03:20 version 7.45.234 (4ca95bb CY) FWID 01-996384e2
Firmware version current: BCM4345/6 wl0: Aug 29 2023 01:47:08 version 7.45.265 (28bca26 CY) FWID 01-b677b91b

Signed-off-by: Matthias Klein <matthias@extraklein.de>
2024-09-21 11:50:51 +01:00
Victor Löfgren
f44832bcdd README.md: Update link to compatible layers
The previous link pointing to Yocto Project Compatible Layers was no
longer valid.

Signed-off-by: Victor Löfgren <victor.l0fgr3n@gmail.com>
2024-09-09 13:59:04 +01:00
Pierrick Curt
e49de22873 rpi-base: build uart dts overlays by default
We need the uart dts overlays to enable a specific uart peripheral.
For example if you use the disable-bt overlay, you have to enable
the uart0 dts overlay to be able to use uart0 peripheral.

Signed-off-by: Pierrick Curt <pierrickcurt@gmail.com>
2024-09-05 09:09:52 +01:00
Andrew Lalaev
f6c79cde63 rpi-base.inc: add the disable-wifi-pi5 overlay
For RPi5 we need to use a different overlay to disable built-in WiFi.

Signed-off-by: Andrew Lalaev <andrey.lalaev@gmail.com>
2024-09-05 00:51:04 +01:00
Vincent Davis Jr
43dada0771 docs: include PREFERRED_PROVIDER_ffmpeg,vlc change
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2024-09-04 10:49:54 +01:00
Vincent Davis Jr
2b97daf196 rpi-default-providers: remove vlc,ffmpeg PREFFERED_PROVIDER
Switch to defaulting to OE core ffmpeg &
meta-openembedded vlc.

Upgrades to newer rpi-distro VLC version
in an OE environment have proven to be
tedious due to all the PI foundation patches.

Some patches aren't fully pushed into github
and require updates to build.

Maintaining patches have also proven to be unstable.

Defualt to stable builds of both so that.

Peoples builds aren't broken. If rpi-distro
rpi-distro version of ffmpeg & vlc wanted
users may switch by setting PREFFERED_PROVIDER.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2024-09-04 10:49:54 +01:00
Martin Jansa
ec745772dc mesa: rename bbappend to match new recipe name from oe-core
Otherwise it will fail to parse.

Renamed in:
https://git.openembedded.org/openembedded-core/commit/?id=f5cfb3e23603cefb2f3f6bfe776afaedefd10808

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2024-08-28 14:14:28 +01:00
Bastian Wanner
e9e5efa750 udev-rules-rpi.bb: Fix psplash systemd connection
Add udev rule to notify systemd of available framebuffer

Using psplash in combination with systemd the splash screen is not
shown. The dependency to sys-devices-platform-gpu-graphics-fb0.device
will terminate psplash-start.service because systemd is not aware of the
existing framebuffer device node.
See https://lists.yoctoproject.org/g/yocto/topic/91286438#57156

Signed-off-by: Bastian Wanner <bastian.wanner@inovex.de>
2024-08-03 07:35:56 +01:00
Khem Raj
3d6873db6b weston-init.bbappend: Delete
These options are now part of weston.ini since yocto 4.0 [1]

[1] https://git.yoctoproject.org/poky/commit/?id=5c95402ff95

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-07-30 13:20:11 +01:00
Jan Vermaete
633e51f4bc rpi-base.inc: added the disable-bt-pi5 device tree overlay
The overlay to disable Bluetooth is different for Raspberry Pi 5.

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2024-07-19 00:21:26 +01:00
Leon Anavi
434ed33c90 rpi-u-boot-scr: WORKDIR -> UNPACKDIR transition
This adapts to the oe-core rework to enforce a separate directory
for unpacking local sources (UNPACKDIR) instead of directly using
WORKDIR.

Follows the preliminary guideline from:
https://lists.openembedded.org/g/openembedded-architecture/message/2007

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-07-18 11:51:41 +01:00
Jan Vermaete
065d5a457f README.md: pi3-disable-bt is renamed to disable-bt in kas example
in commit 01b162388e
with commit message:

  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: Jan Vermaete <jan.vermaete@gmail.com>
2024-07-17 22:16:29 +01:00
Jaeyoon Jung
cc529a811d linux-raspberrypi: Drop deprecated configs from android-driver.cfg
CONFIG_ASHMEM has been deprecated since 5.18 by:
    commit 721412ed3d819e767cac2b06646bf03aa158aaec
    Author: Christoph Hellwig <hch@lst.de>
    Date:   Tue Mar 15 13:34:57 2022 +0100

        staging: remove ashmem

        The mainline replacement for ashmem is memfd, so remove the legacy
        code from drivers/staging/

so has CONFIG_ANDROID since 6.1 by:
    commit 1045a06724f322ed61f1ffb994427c7bdbe64647
    Author: Christoph Hellwig <hch@lst.de>
    Date:   Wed Jun 29 17:01:02 2022 +0200

        remove CONFIG_ANDROID

        The ANDROID config symbol is only used to guard the binder config
        symbol and to inject completely random config changes.  Remove it
        as it is obviously a bad idea.

As now master has 6.1 or later, both should be dropped.

Signed-off-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
2024-07-17 22:13:21 +01:00
Khem Raj
6bf0b1874b linux-raspberrypi: Upgrade kernel to 6.6.36
Also bring matching linux-yocto kernel metadata

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-07-09 10:44:00 +01:00
Jan Vermaete
da35d1f663 kas: updated the refspec syntax of the kas file
Fixed the warning from kas:
  WARNING  - Using deprecated refspec for repository "poky". You should migrate to commit/tag/branch.
  WARNING  - Using deprecated refspec for repository "meta-openembedded". You should migrate to commit/tag/branch.
  WARNING  - Using deprecated refspec for repository "meta-qt5". You should migrate to commit/tag/branch.

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2024-07-08 13:41:52 +01:00
Vincent Davis Jr
eb8ffc4e63 rpidistro-ffmpeg: upgrade 4.3.4 -> 5.1.4
Reduce amount of patches applied as they
are no longer required for building.

From older commit no longer required

* 0001-avcodec-arm-sbcenc-avoid-callee-preserved-vfp-regist.patch
* 0002-Fix-build-on-powerpc-and-ppc64.patch
* 0003-avcodec-pngenc-remove-monowhite-from-apng-formats.patch
* 0004-ffmpeg-4.3.4-rpi_14.patc
* 0005-fix-flags.diff

Created by OE community to fix builds and are no longer required

* 2002-libavdevice-opengl_enc-update-dynamic-function-loader.patch
* 2003-libavcodec-fix-v4l2_req_devscan.patch

rpidistro-ffmpeg updates:

* removal of avresample flag. No longer exists
* removal of rpi flag. No longer exists
* include vout-egl and epoxy if opengl or x11 included
  in DISTRO_FEATURES.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2024-06-18 09:15:20 +01:00
Matthias Klein
b7fa9b4ba1 linux-firmware-rpidistro: Fix wireless on model Zero 2 W
Firmware links for model Zero 2 W were missing.

This patch sets the necessary links for brcmfmac firmware. Without the
links, the firmware cannot be loaded without causing boot messages like:
brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.bin failed with error -2

Fixes agherzan/meta-raspberrypi#1324

Signed-off-by: Matthias Klein <matthias@extraklein.de>
2024-06-04 11:39:47 +01:00
Martin Jansa
380d2fc255 gstreamer1.0-omx: remove the .bbappend
oe-core upgrade 1.22.11 -> 1.24.3:
9c21815339

be aware that this also dropped gstreamer1.0-omx recipe as upstream has removed it:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4976
and similarly for libomxil:
63535ce551

So now meta-raspberrypi doesn't parse again due to this .bbappend

Remove it to unblock parsing, but there will be other improvements
or cleanups needed later (preferrably by someone who was using that
I'm just seeing parsing failure in world builds). e.g.:

conf/machine/include/rpi-default-providers.inc:PREFERRED_PROVIDER_virtual/libomxil ?= "userland"
conf/machine/include/rpi-default-providers.inc:VIRTUAL-RUNTIME_libomxil = "userland"
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/rpidistro-vlc_3.0.17.bb:    file://3003-codec-omxil_core-replace-opt-vc-path-with-usr-lib.patch \
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/rpidistro-vlc_3.0.17.bb:    file://3006-codec-omxil_core.h-fix-multiple-definition-of.patch \
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/rpidistro-vlc_3.0.17.bb:PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal --enable-mmal-avcodec,,userland"
recipes-graphics/userland/userland_git.bb:PROVIDES += "virtual/libomxil"
recipes-multimedia/omxplayer/omxplayer_git.bb:DEPENDS = "alsa-lib libpcre virtual/egl boost freetype dbus openssl libssh virtual/libomxil coreutils-native curl-native userland"

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2024-06-03 22:38:53 +01:00
Martin Jansa
2174bfd0b2 layer.conf: declare compatibility only with styhead
* we don't know yet what changes will be needed to stay compatible with
  final styhead, but we already know that the last changes for UNPACKDIR
  aren't compatible with scarthgap or nanbield.

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2024-05-30 00:33:12 +01:00
Martin Jansa
c39c2b165e rpi-u-boot-scr: use UNPACKDIR
* see:
  https://lists.openembedded.org/g/openembedded-architecture/message/2007

* fixes:
  sed: can't read TOPDIR/BUILD/work/raspberrypi4_64-webos-linux/rpi-u-boot-scr/1.0/boot.cmd.in: No such file or directory

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2024-05-30 00:33:12 +01:00
Khem Raj
ee5ae72808 recipes: Switch to using UNPACKDIR instead of WORKDIR
UNPACKDIR is new contruct for do_unpack things in latest master
we should be using that instead of WORKDIR for referencing those
files

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-05-28 23:52:53 +01:00
alperak
0f46a1d376 rpi-cmdline: Fix being renamed of network interfaces
Add net.ifnames=0 kernel parameter into CMDLINE and make it possible to override.

If we boot the kernel this way, the network interfaces will not be renamed. Otherwise it will be renamed.

Without parameter:

root@raspberrypi3-64:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: enu1u1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel qlen 1000
    link/ether b8:27:eb:d9:fd:59 brd ff:ff:ff:ff:ff:ff
3: wlxb827eb8ca80c: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ether b8:27:eb:8c:a8:0c brd ff:ff:ff:ff:ff:ff

root@raspberrypi3-64:~# journalctl | grep wlan
Feb 27 17:26:08 raspberrypi3-64 kernel: brcmfmac mmc1:0001:1 wlxb827eb8ca80c: renamed from wlan0
Feb 27 17:26:10 raspberrypi3-64 kernel[296]: [    8.711897] brcmfmac mmc1:0001:1 wlxb827eb8ca80c: renamed from wlan0

With parameter:

root@raspberrypi3-64:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel qlen 1000
    link/ether b8:27:eb:d9:fd:59 brd ff:ff:ff:ff:ff:ff
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel qlen 1000
    link/ether b8:27:eb:8c:a8:0c brd ff:ff:ff:ff:ff:ff

Signed-off-by: alperak <alperyasinak1@gmail.com>
2024-05-28 23:14:17 +01:00
Tim Orling
fb03b44883 raspberrypi5.conf: Fix KERNEL_IMAGETYPE_UBOOT
Similar to raspberrypi4-64.conf, we need to set KERNEL_IMAGETYPE_UBOOT to
"Image" and set KERNEL_BOOTCMD to "booti"

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
2024-05-28 23:06:18 +01:00
Tim Orling
6d593646ba u-boot: re-enable rapsberrypi5
With meta-lts-mixins scarthgap/u-boot we can now support raspberrypi5

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
2024-05-28 23:06:18 +01:00
Tim Orling
16656a66cf layer.conf: rpi5 recommends lts-u-boot-mixin
Add lts-u-boot-mixin to LAYERRECOMMENDS

https://git.yoctoproject.org/meta-lts-mixins 'scarthgap/u-boot' branch
adds u-boot v2024.04 support which includes the initial support for
raspberrypi5.

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
2024-05-28 23:06:18 +01:00
Martin Jansa
6160d0d737 linux: drop unused 5.15 version
* 6.1 version was used by default since mickledore:
  12a1187b01
  and kirkstone for rpi5 MACHINEs since:
  9dc6673d41

* scarthgap uses 6.6 by default since:
  1cf3dd5e5e

* nobody is probably using 5.15 with newer release and there are issues with "iw reg" since
  wireless-regdb upgrade in oe-core as well as shown in:
  https://github.com/agherzan/meta-raspberrypi/pull/1317
  so better to drop it from master/scarthgap together with
  rpi.scc used only for 5.15 and 0001-gcc-plugins-Reorganize-gimple-includes-for-GCC-13.patch
  used only by rpi.scc

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2024-05-28 22:18:43 +01:00
Martin Jansa
e7476edfcb linux: drop unused rpi4-64-kernel-misc.cfg
* it was used only for linux-raspberrypi_4.19.inc dropped in:
  2afeee9b82 (diff-7460e33493167fc60e3c40dcb0b3b9298e0bac97d5945414349c89cecc1cf3f1)

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2024-05-28 22:18:43 +01:00
Max Stepanov
1879cb831f rpi-eeprom: Update to support raspberrypi5 machine
- Upgraded rpi-eeprom to latest release
 - Updated recipe to support pi4 and pi5 machines

Signed-off-by: Max Stepanov <mast@imast.ru>
2024-04-09 09:18:38 +01:00
jdavidsson
d072cc8a48 rpi-base: Add hifiberry-dacplusadc overlay
Add support for HiFiBerry DAC+ ADC.

Signed-off-by: jdavidsson <johan.et.davidsson@gmail.com>
2024-03-28 03:35:31 +00:00
Khem Raj
ec06e94f2a raspberrypi-firmware: Revert to debian archive
This file is now used to fetch binary blobs used by picamera and
vc library recipes, which are only compatible with 32bit userspace
Perhaps we need to sunset these recipe as some point and repace
with alternatives like picamera2 which is built on top of libcamera
and works on both 32bit and 64 bit

rpi-bootfiles is fetching from latest firmware.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-27 10:23:17 +00:00
Khem Raj
bb8d5f7e9b rpi-bootfiles: Resort to github APIs for tarballs
The firmware repo is huge ( 36G ) to clone is onerous
using shallow clone tarballs require them to be pre-populated
at some mirror which we don't have. Third option is to let
github provide the tarball, there is concern that tarballs
might change the compression etc and thus checksum would change
that is something github would communicate to users in advance [1]

Therefore this is the best solution for us right now.

Also upgrade to latest while here and drop PR settings

[1] https://docs.github.com/en/repositories/working-with-files/using-files/downloading-source-code-archives#stability-of-source-code-archives

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-27 10:23:17 +00:00
Khem Raj
e8d4ac24a4 linux-raspberrypi_6.6: Bump to 6.6.22
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-27 10:23:17 +00:00
Martin Jansa
d88e625cf2 userland: fix installed-vs-shipped in multilib builds
Be aware that whole userland repo is marked as ancient and deprecated:
96a7334ae9
and explicitly says:
"If you are using code from here you should rethink your solution."

But even if your build is using vc4graphics in MACHINE_FEATURES
to avoid most of userland, this issue with multilib was preventing
do_install:append to actually remove those libraries provided by
lib32-mesa when building lib32-userland (e.g. to provide
virtual/libomxil or as dependency of raspidmx or runtime dependency
of omxplayer).

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2024-03-19 00:26:25 +00:00
Khem Raj
1cf3dd5e5e rpi-default-versions: Switch default kernel to 6.6
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-18 12:22:52 +00:00
Khem Raj
6a7aac79ce rpi-base: Add missing broadcom/ prefix to find DTB files
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-18 12:22:52 +00:00
Khem Raj
90d4e6568a raspberrypi-firmware: Fetch using git URI
This brings the matching binary blobs to latest kernel

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-18 12:22:52 +00:00
Khem Raj
a62c7c2ca6 linux-firmware-rpidistro: Upgrade to bookworm/20230625-2+rpt2
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-18 12:22:52 +00:00
Khem Raj
ba342d2a9e bluez-firmware-rpidistro: Upgrade to 1.2-9+rpt3 release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-18 12:22:52 +00:00
Khem Raj
e9a1940bab linux-raspberrypi: Add recipe for 6.6 LTS kernel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-18 12:22:52 +00:00
Michał Kluska
92a9b7a012 rpi-base: Added missing HiFiBerry
Added support for missing HiFiBerry AMP100, AMP3, AMP4 Pro, DAC+ ADC Pro, DAC+ DSP, DAC+ HD, Digi Pro.

Signed-off-by: Michał Kluska <kluska.mk@gmail.com>
2024-03-05 10:46:04 +00:00
Martin Jansa
95a9103f91 sdimage-raspberrypi.wks: increase /boot partition minimal size from 20 to 100
* current aarch64 kernel image alone is 24MB:
  24M tmp-glibc/deploy/images/raspberrypi4-64/Image-raspberrypi4-64-1-6.1.77+git0+43d1723dbe_77fc1fbcb5-r0.1-20110405230000.bin
  and with rpi-bootfiles it takes around 46MB (e.g. this is from kirkstone raspberrypi4-64 build):

2.0K    boot.scr
2.0K    cmdline.txt
4.0K    fixup4cd.dat
4.0K    fixup_cd.dat
4.0K    uEnv.txt
6.0K    fixup4.dat
8.0K    fixup.dat
10K     fixup4db.dat
10K     fixup4x.dat
10K     fixup_db.dat
10K     fixup_x.dat
16K     uboot.env
36K     config.txt
52K     bcm2711-rpi-4-b.dtb
52K     bcm2711-rpi-400.dtb
52K     bcm2711-rpi-cm4.dtb
52K     bootcode.bin
126K    overlays
558K    kernel8.img
786K    start4cd.elf
786K    start_cd.elf
2.2M    start4.elf
2.9M    start.elf
2.9M    start4x.elf
3.6M    start4db.elf
3.6M    start_x.elf
4.6M    start_db.elf
23M     Image

* it is increased automatically to fit the content:

  tmp-glibc/deploy/images/raspberrypi4-64 $ sfdisk -l core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic
  Disk core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic: 241.2 MiB, 252915712 bytes, 493976 sectors
  Units: sectors of 1 * 512 = 512 bytes
  Sector size (logical/physical): 512 bytes / 512 bytes
  I/O size (minimum/optimal): 512 bytes / 512 bytes
  Disklabel type: dos
  Disk identifier: 0x076c4a2a

  Device                                                                Boot  Start    End Sectors   Size Id Type
  core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic1 *      8192 157815  149624  73.1M  c W95 FAT32 (LBA)
  core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic2      163840 493975  330136 161.2M 83 Linux

  but if you want to update the kernel in place or add some additional files
  later, it might not be big enough, increase the minimal size from 20M to 100M

* reminder (as I forgot about it before):
  "--size" is just minimum

  https://docs.yoctoproject.org/ref-manual/kickstart.html
  says:

  --size: The minimum partition size. Specify as an integer value optionally followed by one of the units “k” / “K” for kibibyte, “M” for mebibyte and “G” for gibibyte. The default unit if none is given is “M”. You do not need this option if you use --source.
  --fixed-size: The exact partition size. Specify as an integer value optionally followed by one of the units “k” / “K” for kibibyte, “M” for mebibyte and “G” for gibibyte. The default unit if none is given is “M”. Cannot be specify together with --size. An error occurs when assembling the disk image if the partition data is larger than --fixed-size.

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2024-02-23 01:24:46 +00:00
Martin Jansa
b65bff6323 sdcard_image-rpi.bbclass: include ${IMAGE_NAME_SUFFIX} directly in both ${IMAGE_NAME} and ${IMAGE_LINK_NAME}
* Adjust to
  https://git.openembedded.org/openembedded-core/commit/?id=26d97acc71379ab6702fa54a23b6542a3f51779c

* ${IMAGE_NAME}${IMAGE_NAME_SUFFIX} is almost always used together already
  and when they aren't it's usually because of hardcoded '.rootfs' suffix

* it's a bit strange, because ${IMAGE_NAME_SUFFIX} is applied after the
  version from ${IMAGE_VERSION_SUFFIX}, if we move it to ${IMAGE_LINK_NAME}
  then it will be applied before the version and ${IMAGE_LINK_NAME}
  will be just the version-less symlink to latest built version.

* it's not added to INITRAMFS_IMAGE_NAME as it assumes that all
  images used as initramfs will set IMAGE_NAME_SUFFIX to empty.
  Many already do as shown bellow, but you might need to extend
  this list in your layer.

* without this fix, build with:
  IMAGE_FSTYPES:rpi = "rpi-sdimg.gz"
  will fail due to duplicated .rootfs suffix as shown in:
  http://errors.yoctoproject.org/Errors/Details/754267/

  130023424 bytes (130 MB, 124 MiB) copied, 0.0706353 s, 1.8 GB/s
  gzip: skipping: core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg does not exist
  WARNING: TOPDIR/tmp-glibc/work/raspberrypi4_64-oe-linux/core-image-minimal/1.0/temp/run.do_image_rpi_sdimg.1238835:263 exit 1 from 'gzip -f -9 -n -c --rsyncable core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg > core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg.gz'

  OE raspberrypi4-64@ /OE/build/oe-core/tmp-glibc/work/raspberrypi4_64-oe-linux/core-image-minimal/1.0/deploy-core-image-minimal-image-complete $ ll
  total 305612
  drwxr-xr-x  2 martin martin      4096 Feb 22 12:12 ./
  drwxr-xr-x 17 martin martin      4096 Feb 22 12:12 ../
  -rw-r--r--  1 martin martin 130023424 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.ext3
  -rw-r--r--  1 martin martin      3535 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.manifest
  -rw-r--r--  1 martin martin 184549376 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rootfs.rpi-sdimg
  -rw-r--r--  1 martin martin         0 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg.gz
  -rw-r--r--  1 martin martin    361441 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.spdx.tar.zst
  -rw-r--r--  1 martin martin    271541 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.testdata.json
  -rw-r--r--  1 martin martin  50331648 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.vfat
  lrwxrwxrwx  1 martin martin        61 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.ext3 -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.ext3
  lrwxrwxrwx  1 martin martin        65 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.manifest -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.manifest
  lrwxrwxrwx  1 martin martin        69 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.spdx.tar.zst -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.spdx.tar.zst
  lrwxrwxrwx  1 martin martin        70 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.testdata.json -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.testdata.json
  lrwxrwxrwx  1 martin martin        61 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.vfat -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.vfat

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2024-02-22 15:21:59 +00:00
Khem Raj
8fa8d6bed7 python3-sense-hat: Drop PYTHON_PN
Starting OE core commit b566b1e32c7993d1ab7795562f648e52ce186a70,
we no longer need PYTHON_PN for any abstraction of python2 vs python3.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-02-22 13:12:22 +00:00
Matthew Draws
dbf1113a82 rpi-eeprom_git: v.2024.01.05-2712 Update recipe to latest rpi-eeprom repo
This follows the current latest release of rpi-eeprom:
https://github.com/raspberrypi/rpi-eeprom

Signed-off-by: Matthew Draws <draws.matthew@gmail.com>
2024-02-20 13:00:04 +00:00
Kevin Hao
2e1ca4ce2e rpidistro-ffmpeg: Fix old override syntax
Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
2024-02-20 07:39:32 +00:00
Khem Raj
54f6b3c660 layer.conf: Update for the scarthgap release series
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-02-19 19:23:28 +00:00
Khem Raj
6d7c2f8080 linux-raspberrypi: Upgrade to 6.1.77
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-02-19 19:23:28 +00:00
Pascal Huerst
fc34bc3b86 rpi-base: Add missing hifiberry overlay
There is anoter hifiberry hat, for which there is currently
no overlay added to the build, so let's add it:

hifiberry-dacplusadcpro.dtbo

Signed-off-by: Pascal Huerst <pascal.huerst@gmail.com>
2024-02-13 12:24:22 +00:00
Martin Jansa
e67feeff48 libcamera-apps: fix build with libcamera-0.2.0
* it's failing to build since the upgrade in:
  https://git.openembedded.org/meta-openembedded/commit/?id=711c6fbce39df685225bca081c5f42bae2de658b

* fixes
  ../git/core/libcamera_app.cpp: In member function 'void LibcameraApp::ConfigureViewfinder()':
  ../git/core/libcamera_app.cpp:327:25: error: 'class libcamera::CameraConfiguration' has no member named 'transform'
    327 |         configuration_->transform = options_->transform;
        |                         ^~~~~~~~~

* be aware that the repository and libraries were removed in 1.4.0 version with:
  0ca9f41fea
  but I'll leave that change to someone actually using this, I was just fixing
  the build issue found in world builds

* tweak FILES to package library symlink without "lib" prefix to fix:
  ERROR: libcamera-apps-1.4.2+git-r0 do_package: QA Issue: libcamera-apps: Files/directories were installed but not shipped in any package:
    /usr/lib/rpicam_app.so
  Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
  libcamera-apps: 1 installed and not shipped files. [installed-vs-shipped]

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2024-02-01 11:44:18 +00:00
Khem Raj
99a1b4b5fa linux-raspberrypi_6.1.bb: Upgrade to 6.1.74
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-02-01 11:41:55 +00:00
Damiano Ferrari
9c901bf170 docs: add info on how to set different CAN interrupt pins
Signed-off-by: Damiano Ferrari <damiano.ferrari@ferrarigrowtech.com>
2024-01-26 00:39:32 +00:00
Damiano Ferrari
51386901d4 rpi-config: Add CAN0_INTERRUPT_PIN and CAN1_INTERRUPT_PIN variable
Current configuration hard-code the values of the CAN interrupt pins. This setting allows to change them. The default values are the same as before.

Signed-off-by: Damiano Ferrari <damiano.ferrari@ferrarigrowtech.com>
2024-01-26 00:39:32 +00:00
Leon Anavi
fe7592fe9c conf/machine/raspberrypi5.conf: Use "Image"
"zImage" not supported on arm64 so set KERNEL_IMAGETYPE_DIRECT to
"Image" for Raspberry Pi 5 and avoid the following errors:

| make: *** No rule to make target 'zImage'.  Stop.
| ERROR: oe_runmake failed

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-01-25 17:25:39 +00:00
Leon Anavi
1f35a585ca conf/machine/raspberrypi5.conf: ttyAMA10
Set SERIAL_CONSOLES to ttyAMA10. This fixes login on the UART
no matter if systemd is used.

This work was sponsored by GOVCERT.LU.

Suggested-by: Gael PORTAY <gael.portay@rtone.fr>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-01-25 17:25:39 +00:00
Leon Anavi
15967d6ad9 conf/machine/raspberrypi5.conf: kernel_2712.img
Set SDIMG_KERNELIMAGE to kernel_2712.img instead of kernel8.img.
Raspberry Pi 5 firmware defaults to loading kernel_2712.img because
this image contains optimisations specific to Raspberry Pi 5
(e.g. 16K page-size). For more details:
https://www.raspberrypi.com/documentation/computers/config_txt.html#kernel

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-01-25 17:25:39 +00:00
Leon Anavi
ddb4d6652d linux-raspberrypi.inc: bcm2712_defconfig for rpi5
Use bcm2711_defconfig instead of bcm2712_defconfig for Raspberry
Pi 5 as per the instructions in the documentation:
https://www.raspberrypi.com/documentation/computers/linux_kernel.html#kernel-configuration

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-01-25 17:25:39 +00:00
Leon Anavi
357c85c5fb rpi-config: Reduce config.txt size
Remove some comments to reduce config.txt file size to avoid file
corruption and make sure Raspberry Pi 5 will boot successfully.

The issue with large config.txt has been reported to related
projects:
https://github.com/raspberrypi/firmware/issues/1848
https://github.com/Evilpaul/RPi-config/issues/9

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-01-25 17:25:39 +00:00
Leon Anavi
4814f09e49 u-boot_%.bbappend: Skip for Raspberry Pi 5
Temporary avoid Raspberry Pi 5 machines because U-Boot has not been
ported to it yet.

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-01-25 17:25:39 +00:00
Leon Anavi
df13222776 rpi-base.inc: Add vc4-kms-v3d-pi5.dtbo
Add overlays/vc4-kms-v3d-pi5.dtbo to use vc4-kms-v3d driver on
Raspberry Pi 5.

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-01-25 17:25:39 +00:00
Florin Sarbu
1e7750e3c8 Add Raspberry Pi 5
Signed-off-by: Florin Sarbu <florin@balena.io>
2024-01-25 17:25:39 +00:00
Leon Anavi
b859bc3eca bcm2835: update 1.71 -> 1.73
Update to version 1.73:

- Fixed some inconsistent indenting in bcm2835.c that triggers
  warnings for some people.
- Added Timeout checks to bcm2835_i2c_write() in case of IO
  problems. New reason code BCM2835_I2C_REASON_ERROR_TIMEOUT
  added.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2024-01-08 11:45:41 +00:00
Harunobu Kurokawa
4c033eb074 rpi-cmdline, rpi-u-boot-src: Support USB boot
The Raspberry Pi 4 board can boot the image from USB memory.
But current meta-raspberrypi supports only SD boot.

This commit allows switching SD boot to other device.
For example, if you want to use USB boot, please define
the following parameters in your conf/local.conf file.
CMDLINE_ROOT_PARTITION = "/dev/sda2"
BOOT_MEDIA = "usb"

v4: Update extra-build-config.md to explain more detail for new variable.

v3: Changed variable name to "BOOT_MEDIA" (was "BOOT_DEVTIPE").

v2: Set existing microSD parameter as default. User can overwrite
some parameters.

Signed-off-by: Harunobu Kurokawa <harunobu.kurokawa.dn@renesas.com>
2023-12-13 16:43:59 +02:00
Lorenzo Arena
fde68b24f0 docs: fix syntax for overriding fs type for initramfs image
Signed-off-by: Lorenzo Arena <arena.lor@gmail.com>
2023-12-05 17:00:50 +02:00
Leon Anavi
8231f97534 rpi-config: reintroduce start_x
Add a patch to reintroduce configuration start_x. This patch has
been submitted to the upstream of of the RPi-config GitHub repo:
https://github.com/Evilpaul/RPi-config/pull/8

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2023-11-24 08:06:17 +02:00
Vincent Davis Jr
0f6c5eab24 rpidistro-vlc: add new patch po-Fix-typos-in-oc
Fixes compilation issue that occur with
the latest in OE-core.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-11-24 06:00:33 +02:00
Leon Anavi
6008249722 rpi-config: Upgrade to tip of tree
Upgrade to the latest version of the repository with includes the
following improvements of the template for config.txt:

- update revision and date stamp
- additon of dtoverlay
- general updates

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2023-11-17 16:49:53 +02:00
Matthew Draws
eb79172bc9 rpi-eeprom: Update to 2023.10.18-2712
This follows the current latest release of rpi-eeprom:
https://github.com/raspberrypi/rpi-eeprom

This also removes a patch that is already in upstream.
5ec5c003ba/rpi-eeprom-update (L122)
https://github.com/raspberrypi/rpi-eeprom/commit/55ca589

Signed-off-by: Matthew Draws <draws.matthew@gmail.com>
2023-11-15 00:51:30 +02:00
Khem Raj
08371543f7 linux-raspberrypi_6.1.bb: Update to 6.1.61 release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-11-14 17:37:06 +02:00
Jose Quaresma
6ef8b576b8 rpi-base: Adds EXTRA_IMAGEDEPENDS to fix the image task do_populate_lic_deploy
This fix is needed to bring the complete dependency chain in order to guarantee
the recursive runtime dependencies [1] of do_populate_lic_deploy in do_populate_lic
will run as expected.

[1] openembedded-core/meta/classes-recipe/license_image.bbclass:do_populate_lic_deploy[recrdeptask] += "do_populate_lic do_deploy"

Fix the following image build issues:

| ERROR: lmp-base-console-image-1.0-r0 do_populate_lic_deploy: Couldn't find license information for dependency rpi-config

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
2023-10-27 01:30:36 +01:00
Carlos Alberto Lopez Perez
0a4a68dba6 linux-raspberrypi: stop setting powersave as the default CPU governor
* The defconfigs from the RPi Kernel set `powersave` as the default
  CPU governor, which is a bad idea as that reduces performance by
  setting the CPU frequency to the minimum one.

* In case of a Yocto build user-space is not configured by default
  to change the CPU governor, so `powersave` will remain the CPU
  governor and it will slow down everything.

* I submitted a fix for those defconfigs to upstream here:
  https://github.com/raspberrypi/linux/pull/5666
  However, we shouldn't wait until that is accepted and backported
  to all the stable branches (if ever is).

* This patch unsets the selection of `powersave` as the default CPU
  governor.

* Then the CPU governor that will be selected as default after this
  patch will be the Linux's default one that is either `ondemand` or
  `schedutil` depending on the Kernel version.

Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
2023-10-25 20:44:38 +01:00
Jose Quaresma
3a0f6678e0 linux-raspberrypi/linux-raspberrypi-v7: drop 5.10 version
The overlays/imx708.dtbo is not supported and backport [1] the dtbo is not accepted so drop this kernel version.
[1] https://github.com/raspberrypi/linux/pull/5452

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
2023-10-24 12:41:50 +01:00
Andrei Gherzan
9a296d75a8 docs: Fix ReadTheDocs builds.os requirement
This fixes:

The configuration key "build.os" is required to build your
documentation. Read more at
https://docs.readthedocs.io/en/stable/config-file/v2.html#build-os

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2023-10-24 12:36:33 +01:00
Joshua Watt
482d864b8f rpi-base: Fix wic image kernel dependency
wic images depend on the kernel device trees, and therefore should
depend on virtual/kernel:do_deploy to make sure these are present in the
deploy directory.

Most of the time, this dependency is satisfied indirectly since a rootfs
image will depend on the kernel, but add it explicitly for the cases
where it is not.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
2023-09-27 12:42:25 +01:00
Martin Jansa
c0aec2f628 layer.conf: update LAYERSERIES_COMPAT for nanbield
* oe-core switched to nanbield in:
  https://git.openembedded.org/openembedded-core/commit/?id=f212cb12a0db9c9de5afd3cc89b1331d386e55f6

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2023-09-22 10:39:52 +01:00
Khem Raj
6f93508662 raspberrypi-firmware: Update to 20230509~buster
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-22 10:39:52 +01:00
Khem Raj
82fb510fc6 bluez-firmware-rpidistro: Update to 1.2-4+rpt10
Drop a backport already in 1.2-4+rpt10

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-22 10:39:52 +01:00
Khem Raj
a871ecfb38 linux-firmware-rpidistro: Update to 20230210-5_bpo11+1
Symlinks are no longer needed as they already exist in the new raspbian firmware tarball

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-22 10:39:52 +01:00
Khem Raj
653f281c8f linux-raspberrypi: Upgrade 6.1 release to latest point release 6.1.54
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-22 10:39:52 +01:00
Khem Raj
108f83f0e9 userland: Update to trunk from 20230419
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-22 10:39:52 +01:00
Sangmo Kang
6501ec892c omxplayer: fix an error caused by new srcrev fetcher API
Fail to parse omxplayer_git.bb after using new srcrev fetcher API
* https://git.yoctoproject.org/poky/commit/?id=c9400d01575c2a93762b71bf790d0edd6e2acb6f
* https://git.yoctoproject.org/poky/commit/?id=62afa02d01794376efab75623f42e7e08af08526

Error message:

ERROR: ExpansionError during parsing /tmp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb
Traceback (most recent call last):
  File "Var <fetcher_hashes_dummyfunc[vardepvalue]>", line 1, in <module>
  File "/tmp/poky/bitbake/lib/bb/fetch2/__init__.py", line 834, in get_hashvalue(d=<bb.data_smart.DataSmart object at 0x7fdac34c1130>, method_name='sortable_revision'):
     def get_hashvalue(d, method_name='sortable_revision'):
    >    pkgv, revs = _get_srcrev(d, method_name=method_name)
         return " ".join(revs)
  File "/tmp/poky/bitbake/lib/bb/fetch2/__init__.py", line 804, in _get_srcrev(d=<bb.data_smart.DataSmart object at 0x7fdac34c1130>, method_name='sortable_revision'):
         if not format:
    >        raise FetchError("The SRCREV_FORMAT variable must be set when multiple SCMs are used.\n"\
                              "The SCMs are:\n%s" % '\n'.join(scms))
bb.data_smart.ExpansionError: Failure expanding variable fetcher_hashes_dummyfunc[vardepvalue], expression was ${@bb.fetch.get_hashvalue(d)} which triggered exception FetchError: Fetcher failure: The SRCREV_FORMAT variable must be set when multiple SCMs are used.
The SCMs are:
git://github.com/popcornmix/omxplayer.git;protocol=https;branch=master
git://github.com/FFmpeg/FFmpeg;branch=release/4.0;protocol=https;depth=1;name=ffmpeg;destsuffix=git/ffmpeg
The variable dependency chain for the failure is: fetcher_hashes_dummyfunc[vardepvalue]

ERROR: Parsing halted due to errors, see error messages above

Signed-off-by: Sangmo Kang <sangmo.kang@lge.com>
2023-08-29 22:43:01 +01:00
Andrei Gherzan
98ee0439ca docs: Fix documentation theme
This avoids failing builds with:
NameError: name 'html_theme' is not defined

It also makes the theme configuration explicit and correctly set up.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2023-08-29 22:43:01 +01:00
Andrei Gherzan
a7f7272dca ci: Add usrmerge to distro features
unmerged-usr was deprecated upstream[1]. Follow up with our CI builds.

[1] https://lore.kernel.org/all/3f2f03085301d22854e5429019fb010f27d98bc7.camel@linuxfoundation.org/t/

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2023-08-29 22:43:01 +01:00
Vivien Didelot
5e2f79a6fa libcamera-apps: bump to latest main
Now that the libcamera package from meta-multimedia has support
for flicker controls and libcamera-apps uses meson, we can bump the
package to its latest revision.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08 01:54:22 +01:00
Vivien Didelot
5f9423e4f9 libcamera-apps: switch from CMake to meson
CMake is removed in upstream libcamera-apps as of 9e17265,
thus switch to meson to build the package from now on.

Add PACKAGECONFIG entries and neon flags matching the settings
project meson.build as described in the official documentation
https://www.raspberrypi.com/documentation/computers/camera_software.html#building-libcamera-apps

Default to "drm" for PACKAGECONFIG as it is the only option enabled
in both recommended meson setup for Raspberry Pi OS and Raspberry Pi
OS Lite.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08 01:54:22 +01:00
Vivien Didelot
9d9f98d266 libcamera-apps: bump to 3d9ac10
Bump libcamera to 3d9ac10 to get a fix for the current libcamera from
meta-openembedded/meta-multimedia for the following issue:

    error: 'StreamRoles' in namespace 'libcamera' does not name a type; did you mean 'StreamRole'?
       55 |         using StreamRoles = libcamera::StreamRoles;
          |                                        ^~~~~~~~~~~
          |                                        StreamRole

Reported-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08 01:54:22 +01:00
Vivien Didelot
55b6e121f9 libcamera-apps: move recipe to dynamic-layers
Move the libcamera-apps recipe to dynamic-layers/multimedia-layer
alongside with its libcamera dependency.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08 01:54:22 +01:00
Vivien Didelot
d9ffd5c828 rpi-libcamera-apps: rename to libcamera-apps
The libcamera-apps project is written in a hardware-agnostic manner
thanks to libcamera, and thus isn't specific to the rpi SoC family.

Moreover, the project is correctly named libcamera-apps and not
rpi-libcamera-apps, so rename the recipe in order to reflect that.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08 01:54:22 +01:00
Vivien Didelot
fbf6b355a3 rpi-libcamera-apps: don't force COMPATIBLE_MACHINE
Even though the libcamera apps are a rewrite of the rpicam apps and
maintained by the raspberry folks, switching to libcamera makes the
code hardware agnostic and thus could be compiled and used on various
machines featuring a camera device supported by a libcamera pipeline.

For this reason, do not enforce COMPATIBLE_MACHINE.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08 01:54:22 +01:00
Vivien Didelot
c0fca29ff3 rpi-libcamera-apps: replace tensorflow config
The 'tensorflow-lite' PACKAGECONFIG entry was missing the corresponding
build dependency. In order to be consistent with the build macros,
replace the feature with a 'tflite' package config entry.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08 01:54:22 +01:00
Vivien Didelot
83a422668c rpi-libcamera-apps: add drm support
Add a 'drm' PACKAGECONFIG entry in order to provide support for a
DRM preview window while running the libcamera apps.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08 01:54:22 +01:00
Vivien Didelot
48c3cc7413 rpi-libcamera-apps: add opencv build dependency
The 'opencv' PACKAGECONFIG entry was missing the build dependency.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08 01:54:22 +01:00
Vivien Didelot
2ae93b0f9f rpi-libcamera-apps: fix Illegal Instruction
With armv8-neon being enforced for all ARM based machines, running
any libcamera app on raspberrypi (e.g. Raspberry Pi B Rev 2) results
in Illegal Instruction.

To fix this, set armv8-neon for 32bit raspberrypi3 and raspberrypi4
but defaults to TARGET_ARCH for other non-aarch64 machines.

Fixes: f16219293a ("rpi-libcamera-apps: fix flags used in aarch64 builds")
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08 01:54:22 +01:00
Khem Raj
3f12757165 rpi-base: Remove customizing SPLASH var
psplash-raspberrypi does not exist anymore, we use psplash from core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-08-02 10:53:23 +01:00
Vincent Davis Jr
be4867e494 rpidistro-vlc: fix error uint64_t does not name
Build failure occurring with gcc version 13.1.1.
Add patch to fix builds with latest gcc in OE-core.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-08-02 10:52:06 +01:00
Martin Jansa
f78b4f159d libcamera: update PACKAGECONFIG for libcamera-0.1.0
* libcamera was updated in meta-oe in:
  https://git.openembedded.org/meta-openembedded/commit/?id=4e0281797277cf44287de93618c51e4a219fac75

* now it was failing with:
  meson.build:3:0: ERROR: Options "raspberrypi" are not in allowed choices: "all, auto, imx8-isi, ipu3, rkisp1, rpi/vc4, simple, uvcvideo, vimc"

  because raspberrypi support was updated and renamed to rpi/vc4 in:
  726e9274ea

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-07-27 15:01:55 +01:00
Jan Vermaete
05dceed006 rpi-base.inc: add the disable-wifi overlay
It can be useful to disable the WiFi for hardening reasons.
And it probably lower the power consumption a bit.

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2023-07-26 17:36:36 +01:00
Jan Vermaete
8585b42bd6 kas-poky-rpi.yml: renamed ABORT to HALT
Naming changed in Yocto.  And it avoids a warning during the run.

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2023-07-24 12:09:29 +01:00
Khem Raj
e3f733cadd linux-raspberrypi_6.1.bb: Update to 6.1.38
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-07-11 15:05:10 +01:00
Khem Raj
dff85b9a9f linux-raspberrypi-6.1: Update to 6.1.34 release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-06-22 09:58:22 +01:00
Martin Jansa
195c7d59bc *.patch: add Upstream-Status to all patches
There is new patch-status QA check in oe-core:
https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a

This is temporary work around just to hide _many_ warnings from
optional patch-status (if you add it to WARN_QA).

This just added
Upstream-Status: Pending
everywhere without actually investigating what's the proper status.

This is just to hide current QA warnings and to catch new .patch files being
added without Upstream-Status, but the number of Pending patches is now terrible:
Patches in Pending state: 41 (57%)

With recent change to enable patch-status not only for all .patch
files in oe-core, but for all recipes from oe-core:
https://git.openembedded.org/openembedded-core/commit/?id=61a881fdbe8b5a21c6276b8a5d06cc30486b1eb3
this causes bluez5 do_patch failures as reported in:
https://lists.openembedded.org/g/openembedded-core/message/183177

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-06-22 00:04:40 +01:00
DOLE Olivier
8e07f0d328 rpi-config: U-Boot requires "enable_uart=1" to operate correctly.
When RPI_USE_U_BOOT is set to 1, if enable_uart is not set to 1 in config.txt
then the board won't boot (Resolves agherzan#1189).
This requirement only affects the following boards:
- Raspberry Pi Zero W
- Raspberry Pi 3 32 & 64 bit
- Raspberry Pi 4 32 & 64 bit

Signed-off-by: DOLE Olivier <odole@dicksondata.fr>
2023-06-09 02:09:42 +01:00
Florin Sarbu
492cb5a5d9 udev-rules-rpi: Use 99-com.rules directly from upstream
Rather than have an unsynchronized copy of this file, let's use this
udev rule directly from upstream.

Signed-off-by: Florin Sarbu <florin@balena.io>
2023-05-28 10:19:52 +01:00
Zachary T Welch
9240ea91ca machines: simplify MACHINEOVERRIDES definitions
Prepending new definitions should be preferred to assignment, as it is
simpler and more conducive to defining new machine configurations that
reuse these configurations.

Signed-off-by: Zachary T Welch <zach@aquabyte.ai>
2023-05-24 11:30:04 +01:00
Martin Jansa
928bb234bb rpi-libcamera-apps: bump to latest SRCREV and set PV
$ git log --oneline 22a52590c33a813743b4e6337478c208201c77b1..12098520a3dec36ba796655baac7efece457f8d8
1209852 (origin/main, origin/HEAD) utils: Better handling of containers in timestamp.py
213b166 encoder: Add logic to auto-detect H.264 encoder type
b90f65a libav: Add libx264 support
ba8d8de libav: Move codec specific options to different function
4d40e6d libav: Add buffer done callback
cd9e4e1 libav: Make ALSA work with mono mic.
408f568 libav: Fix msg when opening audio device fails.
21157c5 build: install library headers
54a781d (tag: v1.1.2) image: dng: Make thumbnail less dark
8b286cc image: dng: Add support for 16-bit Bayer formats
aa849e6 options: Set the custom tuning file as early as possible
e90d21d preview: QtPreview: Copy source to a temporary line buffer for speed
9b609e2 core: Add header guard in libcamera_encoder.hpp
8dd7213 utils: Update the timestamp script to work with container files
88b620a image: Fix missing fclose
18b3a88 libav: Update to the new audio channel API
84a7f01 libav: Fixes for audio resampling
64be3bd encoder: H264: Trap framerate=0 to avoid division by zero error
edf073f core: Minor code refactoring
a5b5506 preview: QtPreview: Fix black level; optimize and tidy.
6d2ee58 image: Exif "Model" tags should store camera model, not ID
40e0012 preview: Fix QtPreview for preview width not a multiple of 4
a65682a core: pass VIDIOC_QUERYCAP as unsigned long
9f08463 (tag: v1.1.1) core: Allow info-text to display on the console
77a03d9 image: Add Subject Distance to EXIF data, to encode Lens Position
eca5a3c build: Set a SONAME version in the libraries
dc86fee options: Automatically set H.264 level 4.2 if needed
29f3943 libcamera-detect: Add multiple file name output generation options
4a824f1 actions: Add imx708 tests
785bfe7 actions: Switch to v3 scripts
1d91fdd options: prevent null pointer access to FrameDurationLimits
4fea2ee (tag: v1.1.0) core: Add HDR option, with a stop-gap implementation using V4L2 control
bce2788 core: Tweak default AF options; AfMode now defaults typically to CAF
d696979 core: Update documentation URL
9c5d319 (tag: v1.0.2) output: null_encoder: Fix bug in ordering of input/output callbacks
4068771 libcamera-still: --autofocus-on-capture: add a timeout for AfStateScanning
5a8926a libcamera_still: Add new option "--autofocus-on-capture"
57e6154 core: Add and implement LensPosition and AfTrigger controls
d523dbc core: LibcameraApp::SetControls now always merges new controls
80f17be core: Add autofocus status reporting in FrameInfo
35b461b core: Add libcamera autofocus options
187fcf8 options: Define buffer count overwrite
114c8ae Add YUV save to stdout on "-" path
73ab09f (tag: v1.0.1) libav: Add option to choose the audio source (alsa/pulseaudio)
51bfa73 core: Use automatic mode selection for framerate
baaed33 options: Switch to std::optional for framerate
b89cc36 (tag: v1.0.0) libav: Fix fps reporting for avi contaners
05daa79 libav: Simplify audio timestamping
d8330a4 libav: Fix mkv container framerate
edac99b libcamera-vid: Add SIGINT handler
cfc54c5 libav: Allow adjusting of the audio sample rate for encoding
891c8fa libav: Correctly pipe to stdout

* the libraries are now correctly versioned, remove SOLIBS setting to package them

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-05-15 15:56:03 +01:00
Martin Jansa
f528c55c1f rpi-libcamera-apps: fix version generation on hosts with older python
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-05-15 15:56:03 +01:00
Martin Jansa
f16219293a rpi-libcamera-apps: fix flags used in aarch64 builds
* the CMakeLists.txt recognizes only 2 values:

IF (NOT ENABLE_COMPILE_FLAGS_FOR_TARGET)
    # On a Pi this will give us armhf or arm64.
    execute_process(COMMAND dpkg-architecture -qDEB_HOST_ARCH
        OUTPUT_VARIABLE ENABLE_COMPILE_FLAGS_FOR_TARGET OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
message(STATUS "Platform: ${ENABLE_COMPILE_FLAGS_FOR_TARGET}")
if ("${ENABLE_COMPILE_FLAGS_FOR_TARGET}" STREQUAL "arm64")
    # 64-bit binaries can be fully optimised.
    add_definitions(-ftree-vectorize)
elseif ("${ENABLE_COMPILE_FLAGS_FOR_TARGET}" STREQUAL "armv8-neon")
    # Only build with 32-bit Pi 3/4 specific optimisations if requested on the command line.
    add_definitions(-mfpu=neon-fp-armv8 -ftree-vectorize)
endif()

  the value from dpkg-architecture on host is useless
  when cross-compiling, so we always need to pass something

  for raspberrypi4-64 we were passing "armv8-neon" which results in:
  aarch64-oe-linux-g++: error: unrecognized command-line option '-mfpu=neon-fp-armv8'
  as all -mfpu options are rejected in aarch64 builds, pass better
  ENABLE_COMPILE_FLAGS_FOR_TARGET value for all MACHINEs

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-05-15 15:56:03 +01:00
Rodrigo M. Duarte
bf948e0aa8 python3-adafruit-blinka: Fix the correct python recipes path in dynamic-layer sub-dir
The python recipes in the dynamic-layer need one more subdirectory
to be in accordance with the defined in the layer settings.

The recipes moved to new python sub-dir are:
python3-adafruit-blinka
python3-adafruit-circuitpython-busdevice
python3-adafruit-circuitpython-motor
python3-adafruit-circuitpython-motorkit
python3-adafruit-circuitpython-pca9685

Signed-off-by: Rodrigo M. Duarte <rodrigo.duarte@ossystems.com.br>
2023-04-17 11:06:52 +01:00
Jesse Visser
56fba81e37 docs: Update extra build config Raspberry Pi Camera Module section
Signed-off-by: Jesse Visser <jssvssr2000@gmail.com>
2023-04-17 11:06:24 +01:00
Jesse Visser
2ad4dd667a recipe-bsp: Add support for Raspberry Pi Camera Module v3
Signed-off-by: Jesse Visser <jssvssr2000@gmail.com>
2023-04-17 11:06:24 +01:00
Khem Raj
3afdbbf782 rpidistro-vlc: Fix build with clang16
Disable new warning about incompatible function pointers

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-27 09:34:06 +01:00
Khem Raj
1e5acb9d59 rpidistro-ffmpeg: Pin to use gcc always
When using clang some .S files are not clang friendly

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-27 09:34:06 +01:00
Khem Raj
9f6dfcf82c gstreamer1.0-plugins-bad: Drop gpl packageconfig
This packageconfig has been removed from oe-core via commit 3ec1f30ebba498566d4b266168e1faf182a38fb8
therefore adjust

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-27 09:34:06 +01:00
Khem Raj
12a1187b01 rpi-default-versions: Use 6.1 kernel as default
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-24 07:32:08 +00:00
Khem Raj
98349bb367 psplash: Make psplash wait for the framebuffer to be ready
Especially with systemd its seen that psplash-start service starts
before /dev/fb0 is created by kernel which results in

[FAILED] Failed to start Start psplash boot splash screen.

this is quite frequent race now with kernel 6.1

Add device dependency on sys-devices-platform-gpu-graphics-fb0.device
via a unit file drop-in

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-24 07:32:08 +00:00
Khem Raj
b5753bd2ac linux-raspberrypi: Add recipes for 6.1 kernel
Default is still 5.15, until we test it out for any regressions and
issues before making 6.1 as default kernel.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-24 07:32:08 +00:00
Carlos Alberto Lopez Perez
15206a15b4 mesa-demos: enable build with userland graphics drivers.
* mesa-demos can be built fine if both gles1 and egl options are
disabled. This allows to have utilities like glxinfo or glxgears

Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
2023-03-07 01:09:06 +00:00
Khem Raj
e15b876155 linux-raspberrypi_5.15.bb: Upgrade to 5.15.92
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-01 23:44:52 +00:00
Florian Frank
dac1d9245b linux-firmware-rpidistro: Fix wireless on model 3B and Zero W
Firmware links for model 3B and Zero W were missing.

This patch sets the necessary links for brcmfmac firmware. Without the
links, the firmware cannot be loaded without causing boot messages like:
brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.bin failed with error -2

Signed-off-by: Florian Frank <git@ffrnk.de>
2023-02-16 13:39:08 +00:00
Martin Jansa
659dd6d107 gstreamer1.0-plugins-good: rename bbappend, drop version
* the PACKAGECONFIG[rpi] isn't version specific, use versionless
  bbappend as other gstreamer1.0*.bbappend files here
* oe-core upgrade 1.20.5 -> 1.22.0:
  https://git.openembedded.org/openembedded-core/commit/?id=fb2d28e0315ece6180c87c7047587673024a09f7

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-02-16 12:06:18 +00:00
Allan Xavier
e43af1e3a6 rpi-eeprom: Add recipe for eeprom update/configuration
This recipe will allow yocto images to support configuring and updating
the bootloader on Raspberry Pi 4 boards. So far this recipe just
includes the commands and firmware with no automation for updates.

Note that this depends on nvmem-rmem support either built into the
kernel or as a module. If that is not part of the kernel the scripts
will error out suggesting that the vcgencmd command from the userland
package is missing. Whilst using vcgencmd from the userland package does
work, it would lead to a conflict with the mesa backend for graphics, so
using the kernel interface is recommended.

Co-authored-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
Signed-off-by: Allan Xavier <mr.a.xavier@googlemail.com>
2023-02-08 22:04:18 +00:00
Allan Xavier
c9d9582a23 linux-raspberrypi: Build eeprom access into kernel
To better support rpi-eeprom without depending on userland it was
decided to build nvmem-rmem support into the kernel for Raspberry Pi 4
machines.

Signed-off-by: Allan Xavier <mr.a.xavier@googlemail.com>
2023-02-08 22:04:18 +00:00
Martin Jansa
c759b5edf3 raspidmx, userland, omxplayer: Fix Upstream-Status formatting
* now I've used the right tool to hopefully find them all in one go:

../openembedded-core/scripts/contrib/patchreview.py .
Total patches found: 70
Patches missing Signed-off-by: 17 (24%)
Patches with malformed Signed-off-by: 0 (0%)
Patches missing CVE: 1 (1%)
Patches missing Upstream-Status: 32 (46%)
Patches with malformed Upstream-Status: 0 (0%)
Patches in Pending state: 8 (11%)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-02-03 21:39:37 +00:00
Khem Raj
a02173f597 linux-raspberrypi: Remove unused patches
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-01 23:15:11 +00:00
Khem Raj
3c5959ba85 linux-raspberrypi: Fix build with gcc13
Backport a needed patch

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-01 23:15:11 +00:00
Khem Raj
1d8a12ffa7 linux-raspberrypi: Update to 5.15.90
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-01 23:15:11 +00:00
Martin Jansa
6c57b92708 gstreamer1.0-omx: fix Upstream-Status format
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-01-26 19:20:07 +00:00
Martin Jansa
d76d59f5ac pi-bluetooth: fix typo in Upstream-Status
* fixes:
  WARNING: pi-bluetooth-0.1.17-r0 do_patch: QA Issue: Malformed Upstream-Status in patch
  meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch
  Please correct according to https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines#Patch_Header_Recommendations:_Upstream-Status :
  Upstream-Status: Inapproprate [OE-specific] [patch-status-noncore]

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-01-26 17:01:39 +00:00
Vincent Davis Jr
896566aa92 rpidistro-ffmpeg: remove --enable-v4l2-request flag
When building with latest OE-Core master. Running into
bellow issue. After further research issue appears to
be similar to

https://github.com/bootlin/libva-v4l2-request/issues/35

| src/libavcodec/hevc-ctrls-v2.h:59:8: error: redefinition of 'struct
v4l2_ctrl_hevc_sps'
|    59 | struct v4l2_ctrl_hevc_sps {
|       |        ^~~~~~~~~~~~~~~~~~
| In file included from
/../../../recipe-sysroot/usr/include/linux/videodev2.h:65,
|                  from src/libavcodec/hevc-ctrls-v2.h:14:

Disable ffmpeg libva-v4l2-request so that master builds
and until better investigation can be done to fix
issue.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-01-12 06:51:45 +00:00
Khem Raj
2e9b0c375f linux-raspberrypi.inc: Weakly assign COMPATIBLE_MACHINE
COMPATIBLE_MACHINE is expected to be overridden by
linux-raspberrypi-v7.inc for linux-raspberrypi-v7 machine this however
does not work because linux-raspberrypi-v7_5.15.bb includes
linux-raspberrypi-v7.inc and linux-raspberrypi.inc ( via
linux-raspberrypi_5.15.bb) and setting from linux-raspberrypi.inc takes
precedence over one coming from linux-raspberrypi-v7.inc as a result
linux-raspberrypi-v7 kernel recipe becomes available for raspberrypi4
machine as well, this recipe however needs certain defines
e.g.RASPBERRYPI_v7_KERNEL which are only available in
raspberrypi-armv7.conf

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-06 05:26:38 +00:00
Khem Raj
65d5176642 lirc: Drop upstreamed patch
This has been applied [1] in version now in OE-core

[1] aaa3493d09/

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-06 05:26:38 +00:00
Martin Jansa
e103faeff5 layer.conf: update LAYERSERIES_COMPAT for mickledore
* oe-core switched to mickedore in:
  https://git.openembedded.org/openembedded-core/commit/?id=57239d66b933c4313cf331d35d13ec2d0661c38f

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-01-03 19:24:38 +00:00
Carlos Alberto Lopez Perez
2b733d53f3 weston: disablepackageconfig options that fail to build with userland drivers
* Weston 10 (Yocto Langdale) fails to build with userland drivers
  when the packageconfig options 'egl' or 'clients' are enabled, and
  those are enabled by default. So disable them by default when
  building with DISABLE_VC4GRAPHICS=1

Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
2022-12-22 21:56:54 +00:00
Martin Jansa
9e655c6c9d bluez5: update patches to apply on 5.66 version
* updated in:
  https://git.openembedded.org/openembedded-core/commit/?id=45686afe96bb42c24bfd4ab540ea44423a0f57c3

* 0004-Move-the-43xx-firmware-into-lib-firmware.patch didn't apply and needed to be rebased
  maybe we should just set FIRMWARE_DIR in rpi builds instead of
  changing the default in the source, but I'll leave that to someone
  else

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2022-12-20 18:29:00 +00:00
Vincent Davis Jr
1f33240549 rpidistro-ffmpeg: upgrade 4.3.2 -> 4.3.4
Upgrades version of ffmpeg to 4.3.4
* Reason for not upgrading to 4.3.5 all ported raspberrypi
  team patches may not be included in that version/commit.
* SRCREV set to 246e1a55a0eca931537d8706acd8b133c07beb05

Updates to PACKAGECONFIG
* Only include --enable-opengl flag when opengl is set in
  DISTRO_FEATURES
* Add new flag --enable-epoxy required by vout-egl
* vout-egl requires both libepoxy and x11. Only
  enable vout-egl if x11 contained in DISTRO_FEATURES.
* The remaining RPI-Distro related flags added
  through patches. Are only enabled if vc4graphics
  is disabled and userland graphics enabled. As an
  attempt to keep ffmpeg ./configure generic unless
  specified other wise.

Removes TARGET_CFLAGS:append as include flags are set in
./configure via the 2001-configure-setup-for-OE-core-usage.patch
patch.

Replaces patches with updated patches used in actual commit.
Adds four new patches to fix ./configure, compile, runtime bugs.

PATCHES:
- 2001-configure-setup-for-OE-core-usage.patch
* The ./configure stage fails if neither x11 or wayland defined
  in DISTRO_FEATURES. When opengl enabled ./configure checks for
  relevant headers. The last header it checks for is ES2/gl.h which
  doesn't exists. Neither do the others if certain perameters
  are not meet. Patch addes check for GLES2/gl2.h which does
  exists. We use utilize GLESv2 to compile and link with.
  Patch also replaces where compiler find mmal and omx headers
  and libs.

- 2002-libavdevice-opengl_enc-update-dynamic-function-loader.patch
* After configure stage succeeds the compile stage fails as
  SelectedGetProcAddress isn't defined. It can't be define as
  if x11 isn't enabled. Patch defines SelectedGetProcAddress
  if x11 not enabled, but sdl2 enabled to SDL_GL_GetProcAddress.
  If neither sdl2 or x11 is enabled patch loads GL functions
  pointers at compile time versus dynamically at runtime.

- 2003-libavcodec-fix-v4l2_req_devscan.patch
* v412_req_devscan.h function definitions where different
  from v412_req_devscan.c function implementations.

- 2004-libavcodec-omx-replace-opt-vc-path-with-usr-lib.patch
* Fixes where libbcm_host.so and libopenmaxil.so are loaded from.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2022-12-13 02:32:11 +00:00
Vincent Davis Jr
813b299e09 rpi-default-providers: add libav and libpostproc
ERROR: Multiple .bb files are due to be built which each provide
libav/libpostproc:
  /../../meta-raspberrypi/recipes-multimedia/rpidistro-ffmpeg/rpidistro-ffmpeg_4.3.4.bb
  /../../openembedded-core/meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.2.bb

Ensures bitbake understands which recipe to select first.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2022-12-13 01:00:53 +00:00
Vincent Davis Jr
e493266180 rpidistro-vlc: upgrade 3.0.12 -> 3.0.17
Update is also meant to fix bug where if x11
isn't define in DISTRO_FEATURES builds will
fail to compile.

Upgrades version of VLC to 3.0.17
* Reason for update with version 3.0.12 compiling
  using GLESv2 and without x11/wayland defined in
  DISTRO_FEATURES it was proven to be difficult.
  Newer version of VLC appears to have better support
  for GLESv2 as there was far less hurdles.
* SRCREV set to b276eb0d7bc3213363e97dbb681ef7c927be6c73

Updates to PACKAGECONFIG
* Only include GLESv2 if opengl defined in DISTRO_FEATURES
* Only include libnotify is x11 included in DISTRO_FEATURES.
  Not checking for wayland as well because wayland integration
  requires a separate MR.
* remove ability to set certain flags as they require
  significant more development time to integrate. Probably
  best to include in separate MR.
  Flags for:
  - opencv
  - freerdp
  - samba
  - dvdread
  - vdpau
  - wayland
  - dca

Removal of
--------------------------------------------------------
TARGET_CFLAGS:append = " -fcommon"
TARGET_CXXFLAGS:append = " -fcommon"
--------------------------------------------------------
as define in configure.ac via the
3001-configure.ac-setup-for-OE-usage.patch patch

Removes extraneous sed operations in the do_configure
takes. Appears to nolonger be required.

Adds required flags to build that couldn't be set in configure.ac
------------------------------------------------------------------
TARGET_CFLAGS:append = " -I${STAGING_INCDIR}/drm"
TARGET_LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES',
                          'opengl', '-lGLESv2', '', d)}"
------------------------------------------------------------------

Replaces patches with updated patches used in actual commit.
Prepend patches that are from meta-openembedded/meta-multimedia
to 2XXX-<PATCH NAME>.patch. Adds nine new patches to fix ./configure,
compile, runtime bugs.

PATCHES:
- 3001-configure.ac-setup-for-OE-usage.patch
* Used to ensure crossed compilted OE libraries are used during
  compilation. Specifically for the mmal and omxil libraries.

- 3002-fix-EGL-macro-undeclared-and-EGLImageKHR.patch
* Appears to be missing EGL preprocesor directives patch
  defines them. The function createImageKHR also appears
  to return EGLImageKHR not EGLImage patch updates. To
  accommodate for change.

- 3003-codec-omxil_core-replace-opt-vc-path-with-usr-lib.patch
* Configures omxil_core.c for OE usages as libbcm_host.so
  and libopenmaxil.so are located in a different location.

- 3004-use-GLESv2-headers-over-GL-headers.patch
* Ensures GLESv2 headers are used over OpenGL headers.

- 3005-modules-remove-glspectrum-usage.patch
* Removes glspectrum plugin as it appears to require
  normal OpenGL and not GLESv2 for usage.

- 3006-codec-omxil_core.h-fix-multiple-definition-of.patch
* Removes compile error due to function pointer in omxil_core.h
  header being defined multiple times as the header is included
  in multiple c source files.

- 3007-remove-xorg-related-link-libs.patch
* Removes xorg related flags if x11 isn't defined in
  DISTRO_FEATURES variable.

- 3008-vo-Makefile.am-exclude-libgl_plugin.patch
* Removes the libgl_plugin from being built if opengl
  not defined in DISTRO_FEATURES variable.

- 3009-vo-converter_vaapi-Fix-EGL-macro-undeclared.patch
* Appears to be missing EGL preprocesor directives patch
  defines them.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2022-12-12 23:29:00 +00:00
Vincent Davis Jr
4946b8d538 rpidistro-vlc,rpidistro-ffmpeg: update COMPATIBLE_HOST regex
Remove the single quotes from the
COMPATIBLE_HOST variable regex as it appears
to make expression invalid. Thus, leading to

ERROR: Nothing PROVIDES 'rpidistro-ffmpeg'
rpidistro-ffmpeg was skipped: incompatible with host arm-*-gnueabi (not in COMPATIBLE_HOST)

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2022-12-05 20:55:13 +00:00
Martin Jansa
93dadf336c raspberrypi4-64: drop DEFAULTTUNE assignment
* it matches the default from tune-cortexa72.inc:
  $ grep DEFAULTTUNE openembedded-core/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
  DEFAULTTUNE ?= "cortexa72"

* the assignment was introduced in:
  cd234925fa
  to switch to cortexa72-crc, but this change was effectively reverted in:
  42ef0f5046
  by setting it back to default "cortexa72".

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2022-11-08 09:56:06 +00:00
Andrei Gherzan
de9bfd04d5 ci: Fix dco-check job with newer git versions
Due to https://nvd.nist.gov/vuln/detail/cve-2022-24765, git introduced a
feature where without explicitly allowing it, it won't parse or consider
hooks that are owned by another git user while erroring out with:

  fatal: detected dubious ownership in repository at [...]

This won't be an issue in our setup due to how we guard the code via PRs
so we configure git to avoid this check.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2022-11-08 08:21:47 +00:00
Andrei Gherzan
150d442a9b ci: Bump actions/checkout to v3
This addresses warnings like:

Node.js 12 actions are deprecated. [...] Please update the following
actions to use Node.js 16: actions/checkout, actions/checkout

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2022-11-08 08:21:47 +00:00
Sung Gon Kim
a305f4804b libcamera: rename bbappend to match any version
libcamera has been renamed in meta-openembedded in:
1032bce778

Signed-off-by: Sung Gon Kim <sunggon82.kim@lge.com>
2022-10-28 14:03:00 +01:00
Oliver Lang
722c51647c rpi-base.inc: handle empty/undefined KERNEL_DEVICETREE
This patch is based on an analog patch from Christopher Boyd <xpboyd@gmail.com> committed at meta-freescale.
(see 954d7a7d7a)

Signed-off-by: Oliver Lang <quantenkeks@gmail.com>
2022-10-20 10:11:38 +01:00
Zygmunt Krynicki
fc5f80a47e ci: fix apparent typo in file patterns
Signed-off-by: Zygmunt Krynicki <me@zygoon.pl>
2022-10-11 18:58:35 +01:00
Zygmunt Krynicki
c573499166 ci: fix typo: unconditionally
Signed-off-by: Zygmunt Krynicki <me@zygoon.pl>
2022-10-11 18:58:35 +01:00
Martin Jansa
757d88af9f lirc: rename bbappend to match 0.10.%
* lirc was upgraded in meta-oe in:
  https://git.openembedded.org/meta-openembedded/commit/?id=b1287c4ef25e416cbbea163930c3fd1df480f183

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2022-10-11 13:03:38 +01:00
Devendra Tewari
acb2f73e58 rpi-libcamera-apps: add new recipe
Signed-off-by: Devendra Tewari <devendra.tewari@gmail.com>
2022-10-11 00:24:58 +01:00
Devendra Tewari
5edbd17c5b libcamera: Tweak to build for Raspberry Pi
Add Raspberry Pi pipeline handler and Image
Processing Algorithms.

Work around clang 14/15 build error:
field within 'v4l2_ext_control' is less aligned.
See
https://github.com/kbingham/libcamera/pull/40.

Signed-off-by: Devendra Tewari <devendra.tewari@gmail.com>
2022-10-11 00:24:58 +01:00
Devendra Tewari
d3cdc30958 rpi-cmdline: Leave cma value to kernel default
Fixes #1095 where setting cma to a lower value affects the ability of
libcamera-apps to capture higher resolution images.

Signed-off-by: Devendra Tewari <devendra.tewari@gmail.com>
2022-10-11 00:24:39 +01:00
Khem Raj
45d56d82b7 layers: Add langdale to LAYERSERIES_COMPAT
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-09-30 10:11:17 +01:00
Chris Blättermann
80441d263d meta-raspberrypi: Include the device tree for Raspberry Pi CM4S
Signed-off-by: Chris Blättermann <chris.blaettermann@voltstorage.com>
2022-09-25 08:01:23 +01:00
Andrei Gherzan
f38baedb86 ci: Add raspberrypi-armv8 to the build matrix
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-09-14 20:39:18 +01:00
Andrei Gherzan
2f43edae00 Add support for a ARMv8 machine supporting multiple Raspberry Pi boards
The new raspberrypi-armv8.conf aims at supporting all the ARMv8
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>
2022-09-14 20:39:18 +01:00
Andrei Gherzan
fe96a4511f ci: Add raspberrypi-armv7 to the build matrix
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-09-14 20:39:18 +01:00
Andrei Gherzan
10b649bdb0 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>
2022-09-14 20:39:18 +01:00
Andrei Gherzan
f24c3bdc3c rpi-base.inc: Split IMAGE_BOOT_FILES for kernel image
The kernel image deployment is now defined in IMAGE_BOOT_FILES as a
separate variable: RPI_EXTRA_IMAGE_BOOT_FILES. This allows a custom
kernel image deployment by redefining this variable when needed.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-09-14 20:39:18 +01:00
Andrei Gherzan
063ac5c919 raspberrypi0-2w.conf: Include the RPi 0-2w dtb for all 32-bit machines
All 32-bit machines are sharing the list of machine dtbs with the
exception of raspberrypi0-2w. Move this away too to unify the
machine configurations.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-09-14 20:39:18 +01:00
Andrei Gherzan
1440ac8589 sdcard_image-rpi.bbclass: Move SDIMG_KERNELIMAGE definitions to their machines
This unifies the configuration of SDIMG_KERNELIMAGE across machines.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-09-14 20:39:18 +01:00
Vincent Davis Jr
4b9c0dd543 docs: add info for raspberrypi distro vlc
Explains that PREFERRED_PROVIDER_ffmpeg/vlc
can be used to select an implementation of ffmpeg
or vlc. Also adds information on how vlc mmal_vout
plugin could be utilized. As well as how to expose
rpidistro-vlc.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2022-09-14 20:38:30 +01:00
Khem Raj
1b598573be rpidistro-vlc,rpidistro-ffmpeg: Limit scope to just rpi machines
enable mmal only when using userland graphics

Fixes builds on non-rpi machines e.g.
ERROR: Nothing PROVIDES 'userland' (but /mnt/jenkins/workspace/yocto-world-glibc/sources/meta-raspberrypi/recipes-multimedia/rpidistro-ffmpeg/rpidistro-ffmpeg_4.3.2.bb DEPENDS on or otherwise requires it)
userland was skipped: incompatible with machine qemumips (not in COMPATIBLE_MACHINE)
NOTE: Runtime target 'rpidistro-ffmpeg' is unbuildable, removing...

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-09-13 22:15:08 +01:00
Andrei Gherzan
e9d70d6b77 linux-firmware-rpidistro: Fix wireless on Raspberry Pi 4
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-09-12 23:44:30 +01:00
Vinicius Aquino
9ea5daf9fc raspberrypi-firmware: Update to 20220830 snapshot
Signed-off-by: Vinicius Aquino <vinicius.aquino@ossystems.com.br>
2022-09-09 18:21:36 +01:00
Vincent Davis Jr
465c8106ff Add support for optional selection of vlc and ffmpeg
Adds ability to select rpidistro version of vlc and ffmpeg over oe-core version.
via the PREFERRED_PROVIDER_vlc & PREFERRED_PROVIDER_ffmpeg
variables.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2022-09-06 03:32:59 +01:00
Vincent Davis Jr
8f88bfa824 rpidistro-vlc: add rpidistro VLC build (with MMAL enabled)
This adds support for building rpidistro version of VLC with hardware
acceleration through MMAL. The version of VLC located in
meta-openembedded/meta-multimedia/recipes-multimedia/vlc uses mainline
VLC and doesn't give all the proper flags. The series of patches attached
to commit gives necessarly vlc mmal flags.

* https://code.videolan.org/videolan/vlc/-/issues/24617
* https://bugs.gentoo.org/723006

The build fails with errors such as "multiple definition of `pf_enable_graphic_buffers'"
when omxil is enabled. The issue seems to be due to compiler flags. Adding -fcommon to
both cflags and cxxflags yields a full compile.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2022-09-06 03:32:59 +01:00
Vincent Davis Jr
ba965e3b67 raspidistro-ffmpeg: add support for building raspidistro ffmpeg
Pulls the raspidistro version of ffmpeg down and applies the necessary
patches that are located in the debian/patches folder.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2022-09-06 03:32:59 +01:00
Lluis Campos
c57b464b88 rpi-cmdline: do_compile: Use pure Python syntax to get CMDLINE
Otherwise the shell snippet fails with `bad syntax` when `CMDLINE`
contains special characters like `${...}` (useful to insert a U-Boot
variable in `cmdline.txt`).

Signed-off-by: Lluis Campos <lluis.campos@northern.tech>
2022-09-03 00:00:05 +01:00
Andrei Gherzan
b6a1645a97 Use a png with transparency for balena logo
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:18:20 +01:00
Andrei Gherzan
9a65a5cc18 Add initial version of CODE_OF_CONDUCT.md
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:18:20 +01:00
Andrei Gherzan
3bef4f04cc README.md: Refactor top table
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:18:20 +01:00
Andrei Gherzan
d9ea8f66d9 README.md: Mention Yocto Compatible Layer
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:18:20 +01:00
Andrei Gherzan
0ffe5110ec ci: Set LICENSE_FLAGS_ACCEPTED in builder docker container
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:16:37 +01:00
Andrei Gherzan
7c31b9b4b5 linux-firmware-rpidistro: Guard the recipe under a license flag
We do this as a result of an upstream issue[1].

Some of the firmware blobs are provided under the 'Synapse' license
including a clause that can (at least theoretically) be used as a
'killswitch'. To make sure users are aware of this, we guard this
behind a license flag.

Users of this recipe will need to add to their configuration:

    LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"

[1] https://github.com/RPi-Distro/firmware-nonfree/issues/29

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:16:37 +01:00
Andrei Gherzan
1b4215d5d0 linux-firmware-rpidistro: Revamp, cleanup and restructure recipe
Besides general cleanup and formatting (for example dropping the
conflicts and replaces on the raspbian packages which was deprecated
long ago) this also cleans up the license of the package as per the
updated upstream copyright file. This recipe now provides firmware files
of two different licenses.

bcm43430 bcm43455 - binary-redist-Cypress
bcm43436 bcm43436s bcm43456 - Synaptics

The license file itself is GPLv2 as other debian files.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:16:37 +01:00
Andrei Gherzan
3122d5291d omxplayer: Bump to latest revision
Also, add a deprecation note as per the project's status:
https://github.com/popcornmix/omxplayer/blob/master/README.md

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:16:37 +01:00
Andrei Gherzan
263920a672 linux-firmware-rpidistro: Update to 1:20210315-3+rpt7 release
This new revision comes with a lot of changes around the license. We
have two issues raised against upstream to clarify them:

https://github.com/RPi-Distro/firmware-nonfree/issues/28
https://github.com/RPi-Distro/firmware-nonfree/issues/29

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:16:37 +01:00
Andrei Gherzan
8f8b8c9fee linux-raspberrypi: Update 5.10 recipe to latest revision
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:16:37 +01:00
Andrei Gherzan
73142a23e4 linux-raspberrypi: Update 5.15 recipe to 5.15.56
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:16:37 +01:00
Andrei Gherzan
18a11f59b8 bluez-firmware-rpidistro: Backport patch to fix CYW43455 and various CVEs
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:16:37 +01:00
Andrei Gherzan
38776890b7 userland: Bump revision to the current HEAD
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:16:37 +01:00
Andrei Gherzan
a087707b1f python3-adafruit-circuitpython-register: Bump to 1.9.10
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:16:37 +01:00
Andrei Gherzan
444f83221c python3-adafruit-platformdetect: Bump to 3.27.0
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:16:37 +01:00
Andrei Gherzan
356c0afee9 rpi-gpio: Bump to 0.7.1
Workaround not needed anymore as a fix was included from 0.7.1a[1].

[1] https://sourceforge.net/p/raspberry-gpio-python/tickets/187/#52f3

Also, this drops a patch merged upstream.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:16:37 +01:00
Andrei Gherzan
4ede22cb67 raspberrypi-tools.inc: Bump to latest revision
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:16:37 +01:00
Vincent Davis Jr
3337b532eb docs: remove backticks
WM8960 soundcard support contains
markdown that's not needed.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2022-07-30 04:06:28 +01:00
Andrei Gherzan
70191d3c87 ci: Don't run yocto builds on PRs that don't affect them
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-30 03:46:42 +01:00
Andrei Gherzan
05cafd056a ci: Run the mirror workflow on generic workers
No need to bottleneck on the self hosted worker(s) when this is a light
job.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-30 03:46:42 +01:00
Andrei Gherzan
584785bf45 ci: Run the compliance workflow on generic workers
No need to bottleneck on the self hosted worker(s) when this is a light
job.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-30 03:46:42 +01:00
Andrei Gherzan
1a15fefb27 ci: Run the cancel workflow on generic workers and update action
No need to bottleneck on the self hosted worker(s) when this is a light
job that needs to run as soon as possible so that it can cancel early.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-30 03:46:42 +01:00
Andrei Gherzan
260b3b97d0 ci: Migrate worflow to using latest git-mirror-me-action revision
This has full support for env variables.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2022-07-27 11:27:00 +01:00
Khem Raj
62a84833d9 linux-raspberrypi: Upgrade to 5.15.38
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-05-13 15:10:34 +01:00
Khem Raj
a5c2bef10e linux-firmware-rpidistro: Create brcmfmac43455-sdio.raspberrypi,4-model-b.bin symlink
This fixes a boot time message on rpi4b
brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin failed with error -2

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-05-07 12:37:11 +01:00
Andrei Gherzan
90448d7dd3 Revert "kmod: Enable xz compression"
This reverts commit c97a9e34ab.
2022-05-05 08:57:35 +01:00
Khem Raj
6afb32b00e rpi-config: Add option to enable One-wire interface
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-05-03 11:46:07 +01:00
Andrei Gherzan
c97a9e34ab kmod: Enable xz compression
The RaspberryPi default Linux kernel configuration uses xz for
compressing kernel modules[1]. This was introduced in 5.15. We need the
respective support in kmod too.

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

Fixes: https://github.com/agherzan/meta-raspberrypi/issues/1054

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2022-04-29 13:37:14 +01:00
Andrei Gherzan
0135a02ea5 rpi-base.inc: Add MCP3008 ADC overlay
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Signed-off-by: Jan <jan.claussen10@web.de>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
ad6ebc053a docs: Bump copyright year
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
785181f695 docs: Drop mention of deprecated images
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Davide Gardenal
901cb604b5 bluez-firmware-rpidistro: Add compatibility to oe-core/create-spdx
Add do_create_spdx dependency to fix error when LICENCE is not found

Signed-off-by: Davide Gardenal <davide.gardenal@huawei.com>
2022-04-21 21:41:38 +01:00
Meng Li
c3275986b6 u-boot: Remove the randundant patch
This patch had been merged into u-boot upstream. Its commit is
29f7d05a347a("dm: core: Move ofdata_to_platdata() call earlier").
So, remove the randundant patch to avoid building error.

Signed-off-by: Meng Li <Meng.Li@windriver.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
993436b0fe ci: Use test builds with the test image
rpi-test-image is based on core-image-base but includes more packages
that this layer provides. In this way we can have CI test more recipe
updates.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
61ad24a65e packagegroup-rpi-test: Include more packages
Include more packages from this layer so we can test/CI the support
easier.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
258dcb3e15 rpi-hwup-image: Drop image
This was deprecated for a good while now so let's drop it.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
82871068c2 rpi-basic-image: Drop image
This was deprecated for a good while now so let's drop it.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
b90b06785c python3-adafruit-circuitpython-register: Upgrade to 1.9.8
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
e6209f5671 python3-adafruit-platformdetect: Upgrade to 3.22.1
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
7a3e4193f1 python3-adafruit-pureio: Uprade to 1.1.8
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
34c1d4739d rpio: Upgrade to 0.10.1
Drop the 0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch
patch as it was fixed in this version[1].

This switches the source from pypi to git (github) as the new version
wasn't published yet.

Lastly, we use the LICENSE.txt file for LIC_FILES_CHKSUM so we don't
have to deal with context lines in the README file.

[1] https://github.com/metachris/RPIO/pull/41

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
cbb15c7a34 python3-rtimu: Upgrade to 7.2.1
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
dda2c3a73e raspi-gpio: Uprev revision to current HEAD of master branch
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
97101ee4fb linux-firmware-rpidistro: Update to 20210315-3+rpt4
The 43438 WLAN firmware doesn't include the clm_blob anymore which now
comes as a separate file: cyfmac43430-sdio.clm_blob.

The 43455 WLAN firmware now comes with a minimal build too. We make sure
that it is packaged and we dropped the associated README. In the future
we might want to introduce a build configuration for switching between
the two builds. For now we only deploy it on target and let users deal
with the symlink accordinly.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
a92429d950 pi-blaster: Uprev the recipe
This updates the recipe to the head of the master branch. Upstream
shifted the license section in the README file so this patch changes
LIC_FILES_CHKSUM accordingly.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
7da2c1886e bcm2835: Update to 1.71
This version is now released as GPLv3. It also adds an example that is
not a simple binary anymore - it is provided as a tiny library and an
associated tool (spiram/spiram_test). Restructure the compilation and
installation of all examples to cater for this case.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>

m
2022-04-21 21:41:38 +01:00
Andrei Gherzan
4f356af004 linux-raspberrypi: Update 5.10 recipe to 5.10.110
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
49ad2d8bee linux-raspberrypi: Update 5.15 recipe to 5.15.34
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Andrei Gherzan
70ea7a678a raspberrypi-firmware: Update to 20220331
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-21 21:41:38 +01:00
Khem Raj
893aad8ce8 python3-sense-hat: Use specific BSD license
Fixes
WARNING: python3-sense-hat-2.2.0-r0 do_populate_lic: QA Issue: python3-sense-hat: No generic license file exists for: BSD in any provider [license-exists]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-04-20 11:53:56 +01:00
Jan Vermaete
3a91ee04eb docs: link to latest documentation of kas
Version 1.0 of kas is not the latest anymore.

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2022-04-14 10:37:30 +01:00
AJ Bagwell
83f5577d8d linux-raspberrypi: add UBOOT_ENTRYPOINT to match LOADADDR
This is so that uboot fit images have an entry point that matches the
LOADADDR that everything is expecting.

Signed-off-by: AJ Bagwell <anthony.bagwell@hivehome.com>
2022-04-11 17:15:30 +01:00
Khem Raj
cfbb192e5c omxplayer: Use internal version of ffmpeg
OE-Core's ffmpeg has moved to 5.x version whose headers are not directly
compatible with what omxplayer expects anymore. Therefore use captured
version of ffmpeg and point the header search paths accordingly.

Add missing dependency on alsa-lib for libasound headers

Fixes build with master/kirkstone

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-04-04 20:04:06 +01:00
Khem Raj
9f5aaa1a29 picamera-libs: Adjust sourcedir
After switching the SRC_URI for firmware, this adjustment was needed to
let this recipe find /opt/vc path in correct place

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-04-04 20:04:06 +01:00
Khem Raj
354e7153be userland: Update to latest as of 20220323
Fix build with clang

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-04-04 20:04:06 +01:00
Andrew Penner
8eff5d59ed extra-build-config: Add documentation for the ISOLATED_CPUS configuration variable
Signed-off-by: Andrew Penner <andrew.penner@protonmail.com>
2022-04-04 10:08:08 +01:00
Andrew Penner
2beae018fb rpi-cmdline: Add ability to specify CPUs to add to the isolcpus list
Signed-off-by: Andrew Penner <andrew.penner@protonmail.com>
2022-04-04 10:08:08 +01:00
Andrei Gherzan
1ea28cfb2a docs: Add information for RTC devices
The `rtc` machine feature is "considered" by default for all the
machines we provide until now. This can confuse people who would want an
RTC device attached to a RaspberryPi board[1]. Clarify this via
documentation.

[1] https://github.com/agherzan/meta-raspberrypi/issues/1010

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-02 22:04:31 +01:00
Jan Vermaete
8d7e6b533b docs: untabify the few tabs in the file
Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
2022-04-02 21:48:17 +01:00
Khem Raj
31c33d155c armstubs: Upgrade to 20211101
- Switch to using git fetcher, avoid the QA issue

  ERROR: armstubs-20211101-r0 do_unpack: QA Issue: armstubs: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol [src-uri-bad]

- Use shallow clone to reduce size of cloned repo

  Normal archive tarball
  raspberrypi-tools-13474ee775d0c5ec8a7da4fb0a9fa84187abfc87.tar.gz - 324M

  Shallow clone achive tarball
  gitshallow_github.com.raspberrypi.tools_13474ee-1_master.tar.gz - 189M

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-31 12:03:32 +01:00
Khem Raj
03c6ab0cae raspberrypi-firmware: Update to match 5.15.32
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-31 12:03:32 +01:00
Khem Raj
b64df25754 linux-raspberrypi_5.15.bb: Upgrade to 5.15.32
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-31 12:03:32 +01:00
Matthias Klein
c06ae5eacf u-boot: always set fdt_addr with firmware-provided FDT address
The Raspberry firmware prepares the FDT blob in memory at an address that
depends on both the memory size and the blob size.
For details see description in the patch itself.

The patch is not yet upstream, but has already been submitted by the original
author: https://lore.kernel.org/all/20210512123945.25649-1-m.salvini@koansoftware.com/

For me, the described problem occurs in conjunction with RAUC, which uses the
following U-Boot script: https://github.com/rauc/meta-rauc-community/blob/master/meta-rauc-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd.in

As soon as I add an overlay the fdt_addr changes and the system does not boot
anymore.

Signed-off-by: Matthias Klein <matthias@extraklein.de>
2022-03-27 22:59:24 +01:00
Andrei Gherzan
bc10842957 linux-raspberrypi: Bump 5.15 recipe to 5.15.30
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-03-24 21:06:09 +00:00
Khem Raj
7a9b2751f0 linux-raspberrypi: Update to 5.15.28
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-17 14:32:23 +00:00
Khem Raj
747f5f33f5 python: Unbolt wheel packaging PIP_INSTALL_PACKAGE band-aids
OE-Core has improved packaging the whl files therefore remove the
band-aids.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-11 01:07:59 +00:00
Khem Raj
030bbc50b7 linux-raspberrypi: Update to 5.15.27
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-10 01:32:27 +00:00
Khem Raj
8096c3118a linux-raspberrypi_5.15.bb: Update to 5.15.26
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-06 05:47:38 +00:00
Khem Raj
c25f42074a rpi-gpio: Port to PEP-517 packaging
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-06 05:47:38 +00:00
Khem Raj
0637a85edd linux-raspberrypi_5.15.bb: Upgrade to 5.15.25
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-02 13:33:07 +00:00
Khem Raj
36e5cdd8bc python3-adafruit-platformdetect: Fix build with wheel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-01 09:26:31 +00:00
Khem Raj
df8670fb5a python3-rtimu: Port to using setuptools and fix build with wheel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-01 09:26:31 +00:00
Khem Raj
18345cfb4a python3-adafruit-pureio: Fix build with wheel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-01 09:26:31 +00:00
Khem Raj
7474b7951a python3-adafruit-circuitpython-register: Define PIP_INSTALL_PACKAGE
Fixes build with wheel

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-01 09:26:31 +00:00
Andrei Gherzan
390b3f63cf docs: Update www.raspberrypi.com documentation links
www.raspberrypi.com restructured its documentation. Reflect the new
links in our docs.

Fixes #954

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-25 21:37:49 +00:00
Andrei Gherzan
9340e202d4 sdcard_image-rpi.bbclass: Use processed list of device trees
make_dtb_boot_files already creates the list of device trees with their
right destination. There is no need to redo a similar logic here. As a
matter of fact, the sdimg functionality had a bug because it didn't
treat overlay_map.dtb as an overlays file.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-25 21:37:49 +00:00
Andrei Gherzan
906cf0ba2a rpi-base.inc: Cleanup redundant imgtyp variable
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-25 21:37:49 +00:00
Andrei Gherzan
1dfa0471ad raspberrypi-firmware.inc: Move to using tarballs from rpi deb repo
This helps to avoid unstable GitHub archives. It also silences the
associated build warning:

WARNING: rpi-bootfiles-20211007-r3 do_unpack: QA Issue: rpi-bootfiles:
SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git
protocol [src-uri-bad]

Fixes #1002

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-25 21:37:49 +00:00
Andrei Gherzan
559dd4240d linux-raspberrypi: linux-raspberrypi: Bump 5.15 revision
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-25 21:37:49 +00:00
Andrei Gherzan
122baacb82 linux-raspberrypi: linux-raspberrypi: Bump 5.10 to 5.10.95
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-25 21:37:49 +00:00
Andrei Gherzan
e39a0a570c ci: Use the current stable version for the mirror action
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-23 00:40:39 +01:00
Andrei Gherzan
0c5c1c9b76 ci: No need for checkout step in mirror workflow
The git-mirror-me-action handles the cloning of the source.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-23 00:17:23 +01:00
Andrei Gherzan
45a7fd9c18 ci: Add git mirror workflow
This will resume syncing the Yocto git repository with the GitHub one.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-22 22:16:51 +01:00
Martin Jansa
2bfbdd633c meta: update license names
* openembedded-core/scripts/contrib/convert-spdx-licenses.py .
  ...
  All files processed with version 0.01

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2022-02-22 16:21:17 +00:00
Martin Jansa
3a8359693d meta: update variable names
* openembedded-core/scripts/contrib/convert-variable-renames.py .
  ...
  All files processed with version 0.1

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2022-02-22 16:21:17 +00:00
Khem Raj
0bc1eac5a5 layers: Bump to use kirkstone
its not going to be backward ABI compatible with honister due to variable renaming.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-22 14:17:20 +00:00
Khem Raj
157f72b808 rpi-default-versions: Use 5.15 as default kernel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-21 00:16:17 +00:00
Khem Raj
50d8dc933e linux-raspberrypi: Add recipe for 5.15 LTS kernel
This is not default branch for linux-raspberrypi as well.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-21 00:16:17 +00:00
Martin Jansa
076aa51c59 gstreamer1.0-plugins-bad: remove libmms PACKAGECONFIG and add gpl
* libmms was removed with 1.20.0 upgrade in:
  https://git.openembedded.org/openembedded-core/commit/?id=76433d3628cbad311b428a57b25b4e2701ee513b

* fixes:
  ERROR: gstreamer1.0-plugins-bad-1.20.0-r0 do_configure: QA Issue: gstreamer1.0-plugins-bad: invalid PACKAGECONFIG: libmms [invalid-packageconfig]

* faad now requires gpl to be enabled:
  | ../gst-plugins-bad-1.20.0/ext/faad/meson.build:1:0: ERROR: Feature faad cannot be enabled:
  |   Plugin faad explicitly required via options but GPL-licensed plugins disabled via options.
  |   Pass option -Dgpl=enabled to Meson to allow GPL-licensed plugins to be built.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2022-02-20 14:16:25 +00:00
Martin Jansa
e0fc6806ef sdcard_image-rpi: fix DeprecationWarning
* fixes:
classes/sdcard_image-rpi.bbclass:87: DeprecationWarning: invalid escape sequence \S
classes/sdcard_image-rpi.bbclass:88: DeprecationWarning: invalid escape sequence \S
classes/sdcard_image-rpi.bbclass:90: DeprecationWarning: invalid escape sequence \S
classes/sdcard_image-rpi.bbclass:91: DeprecationWarning: invalid escape sequence \S

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2022-02-20 10:14:31 +00:00
Khem Raj
7a45b41810 python3-adafruit-blinka: Disable on musl
it provides prebuilts which are linked against glibc. so disable it for
musl

Fixes
microcontroller/bcm283x/pulseio/libgpiod_pulsein contained in package python3-adafruit-blinka requires libc.so.6(GLIBC_2.4), but no providers found in RDEPENDS:python3-adafruit-blinka? [file-rdeps]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-20 09:20:54 +00:00
Bernhard Guillon
596b92e8d1 rpi-base.inc: enable i2c-gpio overlay
Adds support for software i2c controller on gpio pins

RPI_EXTRA_CONFIG += "\
dtoverlay=i2c-gpio,bus=7,i2c_gpio_sda=6,i2c_gpio_scl=5 \
"
Will configure a /dev/i2c-7 bus with sda=gpio#6 and slc=gpio#5

The overlay documentation can be found here:
https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README

Signed-off-by: Bernhard Guillon <Bernhard.Guillon@begu.org>
2022-02-20 00:00:22 +00:00
Michal Toman
9bd5f90229 rpi-base.inc: Add vc4-fkms-v3d-pi4 overlay
Since RPi kernel commit 9e87248154a633b18b4900ee742d9894b49e019b FKMS overlay
for Pi4 family is split into a separate file. Not shipping the overlay means
FKMS does not load correctly on these devices and VC4 is not brought up.

Signed-off-by: Michal Toman <michal@toman.sk>
2022-02-19 14:19:12 +00:00
Andrei Gherzan
b7b34ecce7 ci: Add workflow to cancel redundant workflows
This is not yet baked into GitHub but can be achived using a public
action.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-19 09:27:59 +00:00
Andrei Gherzan
218635ea9e ci: Introduce workflow Yocto operations/builds
We include a workflow for checking yocto compliance using the poky
provided script and also a matrix workflow for building the CI supported
build configurations.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-19 09:27:59 +00:00
Andrei Gherzan
637393827d ci: Introduce workflow for compliance
It includes jobs for checking DCO and reuse. The latter is set to allow
fails as the repository is not yet reuse compliant. When that is done,
we can switch it.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-19 09:27:59 +00:00
Andrei Gherzan
3786353f51 ci: Define an action for cleaning/removing an image
This is useful when cleaning up after a temporary built docker image.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-19 09:27:59 +00:00
Andrei Gherzan
2906a95cff ci: Define an action for cleaning dangling image
Cleanup existing dangling docker images on the runner.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-19 09:27:59 +00:00
Andrei Gherzan
8b1ab71006 ci: Define an action for building a local docker image
It provides support for building a locally defined image. It also
includes a retry logic to handle eventual concurrent cleanups on the
runner.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-19 09:27:59 +00:00
Andrei Gherzan
2b81733c40 docs: Detail the merging process of patches sent through the mailing list
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-19 09:27:59 +00:00
Andrei Gherzan
9a2c13f822 README.md: Don't advertise meta-oe dependency
The dependencies to the meta-openembedded layers are handled through
dynamic layers so there is no need to advertise this in the
documentation. Especially that the layer configuration doesn't set that
either.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-19 09:27:59 +00:00
Andrei Gherzan
221e048d54 Move the python3-adafruit recipes depending on meta-oe to dynamic layers
python3-adafruit-blinka depends on libgpiod which is provided by
meta-oe. To avoid this dependency at all times, we move the recipe under
the dynamic structure (along with the ones depending on it).

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-19 09:27:59 +00:00
Andrei Gherzan
b05c2bdf85 README.md: Add contributing section
This also fixes a check in the yocto project compatible script.
https://bugzilla.yoctoproject.org/show_bug.cgi?id=11131

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-19 09:27:59 +00:00
Aníbal Limón
a96a61c16d gstreamer1.0-plugins-good: Update bbappend to 1.20
Gstreamer upgraded to 1.20 see,

https://git.openembedded.org/openembedded-core/commit/?id=75891f361f3e9df9fc3e97c720a2ae57dda75888

Signed-off-by: Aníbal Limón <anibal@rzerosystems.com>
Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
2022-02-09 21:08:41 +00:00
Khem Raj
e1014d41ef rpi-gpio: Replace setuptool3 instead of distutils3
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-01-28 22:32:58 +00:00
Khem Raj
2e83546856 picamera-libs,python3-picamera: Limit visibility to 32 bit rpi machines
These recipes use prebuilt vc libs which are 32bit only libs

They also do not work on musl

https://github.com/agherzan/meta-raspberrypi/pull/983 introduced these
recipes however these are not generic packages that can be used on non-rpi machines
therefore mark them so. It helps in using this SOC layer with other SOC
layers in a distro

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-01-28 22:32:58 +00:00
bhargavthriler
bfac0b9ccb python3-picamera: Add picamera library
python3-picamera : recipe for python picamera library.
picamera-libs    : recipe raspberry pi firmware which are required
by picamera.

Closes: #959
Signed-off-by: Bhargav Das <bhargavthriler@gmail.com>
2022-01-25 16:25:49 +00:00
Paul Barker
42ef0f5046 raspberrypi4-64: Switch to cortexa72 tune
After commits ca50267ab568 & 03cebdd7ef92 in openembedded-core, the
`cortexa72-crc` tune is no longer available and the `cortexa72` tune
includes the crc extension by default. Update the raspberrypi4-64
machine config to handle these changes.

Signed-off-by: Paul Barker <paul.barker@sancloud.com>
2022-01-21 11:45:23 +00:00
Mingli Yu
6eebb58ef6 xserver-xorg: remove xshmfence configure option
After the commit [1] introduced in openembedded-core layer,
some configure options is't carried over include xshmfence
option, so remove the xshmfence configure option to silence
the below warning.
  WARNING: xserver-xorg-2_21.1.1-r0 do_configure: QA Issue: xserver-xorg: invalid PACKAGECONFIG: xshmfence [invalid-packageconfig]

[1] https://git.openembedded.org/openembedded-core/commit/?id=e05abd87ee5d23750c641d0129d9c83db68ee2e8

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
2022-01-04 13:09:16 +01:00
Otto Esko
2e3ed68f9d Add documentation for gpio-shutdown
Signed-off-by: Otto Esko <otto.esko@gmail.com>
2022-01-04 11:39:18 +00:00
Otto Esko
bf2d2eae4e recipes-bsp: Add support for gpio-shutdown
- Feature is enabled with ENABLE_GPIO_SHUTDOWN variable
- Include the gpio-shutdown overlay
- If using SysV init include the additional keymap and inittab entries
  to bind the KEY_POWER event
- Systemd init does not require any additional bindings

Signed-off-by: Otto Esko <otto.esko@gmail.com>
2022-01-04 11:39:18 +00:00
Mauro Anjo
58cc662539 machine: add Pi Zero 2 W 32bits
Added new machine configuration for Raspberry Pi Zero 2 W in 32bit mode.

Signed-off-by: Mauro Anjo <maurosanjo@gmail.com>
2021-12-26 23:35:46 +00:00
Khem Raj
cd234925fa raspberrypi4-64: Switch to using cortexa72-crc default tune
rpi4 SOC does not have AES Crypto in H/W

Fixes Issue #964

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-12-10 08:36:10 +00:00
Devendra Tewari
ce12544b86 linux-raspberrypi: Upgrade to 5.10.83
Fixes #957

Signed-off-by: Devendra Tewari <devendra.tewari@gmail.com>
2021-12-08 10:02:16 +00:00
Joel Winarske
836755370f mesa: Enable building vulkan driver
Support to enable building Mesa Broadcom v3d Vulkan Driver

Upstream support Merged in master 2021-11-07
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=ddcaf3596227a32628b436f4130f4c0b1541a4be

Signed-off-by: Joel Winarske <joel.winarske@gmail.com>
2021-12-03 21:33:06 +00:00
Khem Raj
de1007b690 weston-init: Add --continue-without-input option to weston
launching with --continue-without-input helps starting weston
without keyboard/mouse

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-29 18:37:10 +00:00
Khem Raj
63a3d8cb17 linux-raspberrypi: Upgrade to 5.10.81
Also fixes
https://github.com/agherzan/meta-raspberrypi/issues/957

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-23 11:32:35 +00:00
Khem Raj
4a827bfff2 parselogs: Update the error regexps to 5.10 kernel
The old messages are no longer necessary

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-23 11:32:35 +00:00
Peter A. Bigot
54213e7127 conf/machine: add variant Wi-Fi/BT drivers for CM4 and Pi 400
These boards use a slightly different chip which requires additional
firmware to be present.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2021-11-19 14:22:40 +00:00
Khem Raj
4c76dab6f0 linux-firmware-rpidistro: Use bullseye branch
Switch to using bullseye release 20210315-3+rpt3
License is pointed in different location in new repo structure WHENCE
file is gone too.

Fixes
https://github.com/YoeDistro/yoe-distro/issues/617

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-18 09:17:24 +00:00
Martin Jansa
7413c72dd5 rpi-config: don't trigger bbfatal for empty ENABLE_UART
Fixes https://github.com/agherzan/meta-raspberrypi/pull/941 not to
show fatal error for default configuration with ENABLE_UART being empty.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-11-17 11:08:55 +00:00
Cameron Kellough
c0dd1c9129 rpi-base.inc: Added gpio-poweroff overlay.
Some machines need to have the kernel toggle a gpio when an external
power source needs to shut off power to complete a shutdown and de-energize
the processor.  gpio-poweroff provides this functionality but was omitted
from the kernel overlays brought oveer by the rpi-layer from the kernel.
Signed-off-by: Cameron Kellough <cameron@telemetrak.com>
2021-11-14 15:40:25 +00:00
Andrei Gherzan
b1570cff21 rpi-config: Take into consideration ENABLE_UART value of 0
Also, validate if the value of it is not 0 or 1.

Fixes: https://github.com/agherzan/meta-raspberrypi/issues/567

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-11-14 15:39:42 +00:00
Andrei Gherzan
690b4a5e98 libwpe: Migrate build workaround from oe-core
This was removed from oe-core[1] so we pull in the change here where it
should have been in the first place.

Fixes: https://github.com/agherzan/meta-raspberrypi/issues/893

[1] https://lists.openembedded.org/g/openembedded-core/topic/84653556

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-11-14 15:39:24 +00:00
Andrei Gherzan
fed7688925 README.md: Fix the matrix chat link
matrix.org doesn't allow guest logins which is required by the shield.
Use a custom one to avoid a confusing badge warning.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-11-14 02:14:11 +00:00
Andrei Gherzan
da03175b91 Update references to Yocto mailing list
The mailing list infrastructure at Yocto project changed (for a good
while now) but we still reference the old address/links. Update them
accordingly.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-11-14 01:13:35 +00:00
Andrei Gherzan
cecf45083a docs: Advertise raspberrypi0-2w-64 supported machine
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-11-14 01:04:00 +00:00
Andrei Gherzan
e1411c7520 docs: Add module dependency/requirement for RtD
myst_parser is not in the default Read The Docs container by default.
Pull it in as we use it for parsing the markdown files.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-11-14 01:03:59 +00:00
Andrei Gherzan
dc2c0b8197 docs: Fix RtD build
Markdown parser has changed[1].

[1] https://docs.readthedocs.io/en/stable/intro/getting-started-with-sphinx.html#using-markdown-with-sphinx

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-11-14 00:32:53 +00:00
Andrei Gherzan
0737be26d2 README.md: Fix sponsor table take two
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-11-14 00:27:03 +00:00
Andrei Gherzan
705faf1a74 README.md: Fix sponsor table
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-11-14 00:25:17 +00:00
Andrei Gherzan
361df89060 docs: Bump copyright year
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-11-14 00:19:58 +00:00
Andrei Gherzan
0892e309d3 README.md: Fix docs and minor tweaks
* Remove CI badges - I plan to move to github CI soon and they are broken
* anyway. So I might as well look into them when I migrate the CI.
* Update maintainer email.
* Drop temporary the sponsor logo - it breaks documentation builds in
  Read The Docs. I'll check it out when I revamp the docs.
* Update the matrix channel.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-11-14 00:19:25 +00:00
Alexandru Costache
0d0879dc37 linux-raspberrypi: Bump to 5.10.78
To include Pi Zero 2W device-tree changes
for brcmfmac firmware.

Signed-off-by: Alexandru Costache <alexandru@balena.io>
2021-11-13 23:30:28 +00:00
Alexandru Costache
edf90ee729 linux-firmware-rpidistro: Package bcm43436 and bcm43436s firmware
Signed-off-by: Alexandru Costache <alexandru@balena.io>
2021-11-13 23:30:28 +00:00
Alexandru Costache
f0a5f4944e conf/machine: Add Pi Zero 2 Wifi 64bit yocto machine
This inherits Pi3 64bit configuration

Signed-off-by: Alexandru Costache <alexandru@balena.io>
2021-11-13 23:30:28 +00:00
Marcel Hamer
e31fba4c96 recipes: Update SRC_URI protocols for github
Use protocols=https for GitHub SRC_URIs using the conversion script in
openembedded-core.

Signed-off-by: Marcel Hamer <marcel@solidxs.se>
2021-11-07 21:30:23 +00:00
Andrei Gherzan
316b017c53 linux-raspberrypi: Drop 5.4
The currently preferred version, 5.10 is the upstream stable, and an LTS
version so I don't see why anybody would want to go with 5.4 anymore.
Also, these two versions now diverged in terms of what device tree
overlays they provide making it more complicated to maintain. Until
there is a good reason to maintain that support, I propose to drop this
version.

Fixes: https://github.com/agherzan/meta-raspberrypi/issues/927

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-11-03 12:32:14 +00:00
Andrei Gherzan
7968de3b78 linux-raspberrypi: Bump 5.10 to 5.10.76
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-10-30 21:27:43 +01:00
Andrei Gherzan
4a1340691e raspberrypi-firmware: Bump to 20211007
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-10-30 21:27:43 +01:00
Zygmunt Krynicki
90b3ac6fb3 rpi-config: warn on config.txt lines exceeding 80 bytes
The Raspberry Pi firmware does not support lines exceeding 80 bytes.
This is documented at https://www.raspberrypi.com/documentation/computers/config_txt.html#file-format

It seems that comments can be longer but it's still best to avoid this
problem instead of debug it. Detect the situation in do_deploy_append
and bbwarn if the limit is exceeded.

Connected to #917

Signed-off-by: Zygmunt Krynicki <me@zygoon.pl>
2021-10-14 23:09:47 +01:00
Andrew Penner
9eb4879cf4 rpi-cmdline: Support ethernet over USB
Support ethernet over USB via config.txt and cmdline.txt

Signed-off-by: Andrew Penner <andrew.penner@protonmail.com>
2021-09-24 17:34:23 +01:00
Khem Raj
5f72ec0aa4 raspberrypi-firmware: Update to latest
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-09-17 11:36:53 +01:00
Khem Raj
937ca693a9 linux-raspberrypi: Update to 5.10.63
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-09-17 11:36:53 +01:00
Khem Raj
a6fa6b3aec raspberrypi4: Use full kms (vc4-kms-v3d) DT overlay
With latest 5.10 kernel fkms version fails to bring up VC4 and we do not
get dri device initialized ( /dev/dri ) is empty, which means we can not
launch wayland componsitors.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-25 12:56:18 +01:00
Khem Raj
b488b4a194 raspberrypi-firmware: Update to latest
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-25 12:56:18 +01:00
Khem Raj
435720fffa linux-raspberrypi: Update to 5.10.59
Update metadata branch to latest 5.10 as well

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-25 12:56:18 +01:00
Khem Raj
d4ab9ca93c machines: Use tune files from new location in oe-core
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-20 11:22:56 +03:00
Marcus Comstedt
596907b3ba pi-bluetooth: Add compatibility with non-systemd builds
Signed-off-by: Marcus Comstedt <marcus@mc.pp.se>
2021-08-19 11:03:16 +03:00
Tom Rini
fcd7b67d9c xserver-xf86-config: Correctly append to FILES:${PN}
When updating FILES:${PN} based on an override you must use
FILES:${PN}:append:OVERRIDE as the syntax otherwise you will end up
replacing the contents of FILES:${PN} entirely.  Update to use this
syntax correctly and then only add "${sysconfdir}/X11/xorg.conf.d/*"

Reported-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-08-19 11:01:49 +03:00
Omer Akram
32921fc9bd linux-firmware-rpidistro: fix wifi driver loading on cm4
Signed-off-by: Omer Akram <omer@thing.com>
2021-08-12 12:51:19 +03:00
Otavio Salvador
fc5d68f135 rpi-config: Allow setting hdmi_cvt
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2021-08-11 13:48:49 +03:00
Khem Raj
c7f4c739a3 sdcard_image-rpi.bbclass: Fix IMAGE_TYPEDEP override to use new syntax
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-09 15:28:18 +03:00
Martin Jansa
86015f0957 userland: package man pages in PN-doc
* last userland upgrade in:
  2a25b7ef8b
  brings this upstream commit:
  45a0022ac6

  which results in:
  ERROR: userland-20210623-r0 do_package: QA Issue: userland: Files/directories were installed but not shipped in any package:
    /usr/man
    /usr/man/man1
    /usr/man/man7
    /usr/man/man1/raspistill.1
    /usr/man/man1/raspividyuv.1
    /usr/man/man1/dtparam.1
    /usr/man/man1/raspivid.1
    /usr/man/man1/tvservice.1
    /usr/man/man1/vcmailbox.1
    /usr/man/man1/raspiyuv.1
    /usr/man/man1/dtoverlay.1
    /usr/man/man1/vcgencmd.1
    /usr/man/man1/dtmerge.1
    /usr/man/man7/raspicam.7
    /usr/man/man7/raspirev.7
    /usr/man/man7/raspiotp.7
    /usr/man/man7/vcmailbox.7
  Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
  userland: 17 installed and not shipped files. [installed-vs-shipped]

  it's incorrectly installed in /usr/man by CMake as discussed in upstream
  move it to /usr/share/man where it's picked by default FILES:${PN}-doc

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-08-09 15:25:46 +03:00
Pierre-Jean Texier
0df167c61f kas: local.conf: disable prelink
Keep configuration synchronized with OE-Core, see [1].

[1] - http://git.openembedded.org/openembedded-core/commit/?id=f9719cc1c3fe9d380336e7af418daf27473b2e8b

Signed-off-by: Pierre-Jean Texier <texier.pj2@gmail.com>
2021-08-09 15:23:22 +03:00
Khem Raj
3abe06359a raspberrypi-tools: Update to latest
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-06 00:35:47 +03:00
Khem Raj
72ab8dfb17 raspberrypi-firmware: Update to latest
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-06 00:35:47 +03:00
Khem Raj
2a25b7ef8b userland: Update to latest master branch
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-06 00:35:47 +03:00
Khem Raj
dea02a4b64 linux-raspberrypi: Upgrade to 5.10.52
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-06 00:35:47 +03:00
Pierre-Jean Texier
7fb784a402 kas: local.conf: bump CONF_VERSION variable
Since commit 5452f1ba337685cf89d3429e08255450ab90b96f ("local.conf.sample: Bump version so users update their config") in OE-Core,
we need to update the default local.conf due to the new syntax.

Fixes:

ERROR: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:oecore_update_localconf(d)
     0003:
File: '/work/poky/meta/classes/sanity.bbclass', lineno: 56, function: oecore_update_localconf
     0052:
     0053:is a good way to visualise the changes."""
     0054:    failmsg = d.expand(failmsg)
     0055:
 *** 0056:    raise NotImplementedError(failmsg)
     0057:}
     0058:
     0059:SANITY_SITECONF_SAMPLE ?= "${COREBASE}/meta*/conf/site.conf.sample"
     0060:python oecore_update_siteconf() {
Exception: NotImplementedError: Your version of local.conf was generated from an older/newer version of
local.conf.sample and there have been updates made to this file. Please compare the two
files and merge any changes before continuing.

Matching the version numbers will remove this message.

"meld conf/local.conf /work/poky/meta*/conf/local.conf.sample"

is a good way to visualise the changes.

Signed-off-by: Pierre-Jean Texier <texier.pj2@gmail.com>
2021-08-04 21:36:05 +03:00
Martin Jansa
5689280cd8 layer.conf: Update to honister
This marks the layers as compatible with honister now they use the new override
syntax.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-08-04 12:30:12 +03:00
Martin Jansa
3f703e1b1d Manually fix conversion
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-08-04 12:30:12 +03:00
Martin Jansa
9ea7aa2cd2 Convert to new override syntax
This is the result of automated script conversion:

oe-core/scripts/contrib/convert-overrides.py .

converting the metadata to use ":" as the override character instead of "_".

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-08-04 12:30:12 +03:00
Andrei Gherzan
8dc3a31088 rpi-cmdline: Make rootfstype easier to customize
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2021-07-22 11:24:33 +03:00
Martin Jansa
a18a760d1e python3-adafruit-*: fix branch parameter
* master branch was renamed to main

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-07-15 11:19:33 +03:00
Omer Akram
0e48785e15 Update raspberrypi firmware to 20210527
Signed-off-by: Omer Akram <omer@thing.com>
2021-07-09 11:26:39 +03:00
Paul Barker
17b56ab075 rpi-cmdline: Package is machine-specific
The cmdline.txt file generated by this recipe includes machine-specific
information so we should set PACKAGE_ARCH appropriately.

Signed-off-by: Paul Barker <paul@pbarker.dev>
2021-06-18 00:17:18 +01:00
Devendra Tewari
246555aea7 Add WM8960 soundcard support
Signed-off-by: Devendra Tewari <devendra.tewari@gmail.com>
2021-06-10 21:22:24 +01:00
Andreas Müller
7057d5dcbf pi-bluetooth: upgrade 0.1.12 -> 0.1.17
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2021-06-08 14:05:13 +01:00
Pierre-Jean Texier
66d20862de kas: remove 'image-mklibs' from USER_CLASSES list
mklibs is no longer supported, see [1]

[1] - http://git.openembedded.org/openembedded-core/commit/meta/classes?id=908df863b419d1cad7317153101fc827e7e3a354

Signed-off-by: Pierre-Jean Texier <texier.pj2@gmail.com>
2021-06-07 12:59:23 +01:00
Martin Jansa
ffc402ef5e linux-raspberrypi-dev: use static SRCREV when not selected with PREFERRED_PROVIDER_virtual/kernel
* the anonymous python function was supposed to prevent AUTOREV
  being parsed when not selected, but that doesn't work, use
  the same trick with static SRCREV as linux-yocto-dev is using:
  https://git.openembedded.org/openembedded-core/commit/?id=5e8cf6e568ab90365894478a272b5c28dc941031

* Use LINUX_RPI_KMETA_BRANCH yocto-5.10 instead of master, because that's
  where static SRCREV_meta is contained.

* fixes "git ls-remote git://git.yoctoproject.org/yocto-kernel-cache"
  being called to resolve AUTOREV in SRCPV even when PREFERRED_PROVIDER_virtual/kernel
  is set to linux-raspberrypi not linux-raspberrypi-dev.

* I've noticed this in a build which was stuck in parsing for 15 minutes before
  the connection timeout:

Loaded 0 entries from dependency cache.
Parsing recipes...ERROR: ExpansionError during parsing /jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb
Traceback (most recent call last):
  File "/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/bitbake/lib/bb/fetch2/__init__.py", line 1172, in srcrev_internal_helper(ud=<bb.fetch2.FetchData object at 0x7f8422a6ef60>, d=<bb.data_smart.DataSmart object at 0x7f8422b25a20>, name='meta'):
         if srcrev == "AUTOINC":
    >        srcrev = ud.method.latest_revision(ud, d, name)

  File "/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/bitbake/lib/bb/fetch2/__init__.py", line 1581, in Git.latest_revision(ud=<bb.fetch2.FetchData object at 0x7f8422a6ef60>, d=<bb.data_smart.DataSmart object at 0x7f8422b25a20>, name='meta'):
             except KeyError:
    >            revs[key] = rev = self._latest_revision(ud, d, name)
                 return rev
  File "/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/bitbake/lib/bb/fetch2/git.py", line 694, in Git._latest_revision(ud=<bb.fetch2.FetchData object at 0x7f8422a6ef60>, d=<bb.data_smart.DataSmart object at 0x7f8422b25a20>, name='meta'):
             """
    >        output = self._lsremote(ud, d, "")
             # Tags of the form ^{} may not work, need to fallback to other form
  File "/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/bitbake/lib/bb/fetch2/git.py", line 683, in Git._lsremote(ud=<bb.fetch2.FetchData object at 0x7f8422a6ef60>, d=<bb.data_smart.DataSmart object at 0x7f8422b25a20>, search=''):
                     bb.fetch2.check_network_access(d, cmd, repourl)
    >            output = runfetchcmd(cmd, d, True)
                 if not output:
  File "/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/bitbake/lib/bb/fetch2/__init__.py", line 889, in runfetchcmd(cmd='export PSEUDO_DISABLED=1; export PATH="/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/meta-webosose/meta-webos/scripts:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/openembedded-core/scripts:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin/arm-webos-linux-gnueabi:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot/usr/bin/crossscripts:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/sbin:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/sbin:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/bin:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/bitbake/bin:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/tmp-glibc/hosttools"; export HOME="/home/jenkins"; git -c core.fsyncobjectfiles=0 ls-remote git://git.yoctoproject.org/yocto-kernel-cache ', d=<bb.data_smart.DataSmart object at 0x7f8422b58e80>, quiet=True, cleanup=[], log=None, workdir=None):

    >        raise FetchError(error_message)

bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; export PATH="/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/meta-webosose/meta-webos/scripts:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/openembedded-core/scripts:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin/arm-webos-linux-gnueabi:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot/usr/bin/crossscripts:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/sbin:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/sbin:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/bin:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/bitbake/bin:/jenkins/home/workspace/jansa/webos-foxy-honister/webos-foxy-honister/tmp-glibc/hosttools"; export HOME="/home/jenkins"; git -c core.fsyncobjectfiles=0 ls-remote git://git.yoctoproject.org/yocto-kernel-cache  failed with exit code 128, output:
fatal: read error: Connection timed out

* it's easily reproducible locally by adding git.yoctoproject.org to /etc/hosts (e.g. in this case 127.0.1.1),
  then it refuses the connection immediately instead of getting stuck waiting for timeout:

oe-core$ bitbake -k linux-raspberrypi
Loading cache: 100% |                                                                                                                                                                                                                                                                 | ETA:  --:--:--
Loaded 0 entries from dependency cache.
ERROR: ExpansionError during parsing /OE/build/oe-core/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb                                                                                                                                                                  | ETA:  0:00:14
Traceback (most recent call last):
  File "/OE/bitbake/lib/bb/fetch2/__init__.py", line 1172, in srcrev_internal_helper(ud=<bb.fetch2.FetchData object at 0x7ff35e059430>, d=<bb.data_smart.DataSmart object at 0x7ff35dfd7760>, name='meta'):
         if srcrev == "AUTOINC":
    >        srcrev = ud.method.latest_revision(ud, d, name)

  File "/OE/bitbake/lib/bb/fetch2/__init__.py", line 1581, in Git.latest_revision(ud=<bb.fetch2.FetchData object at 0x7ff35e059430>, d=<bb.data_smart.DataSmart object at 0x7ff35dfd7760>, name='meta'):
             except KeyError:
    >            revs[key] = rev = self._latest_revision(ud, d, name)
                 return rev
  File "/OE/bitbake/lib/bb/fetch2/git.py", line 694, in Git._latest_revision(ud=<bb.fetch2.FetchData object at 0x7ff35e059430>, d=<bb.data_smart.DataSmart object at 0x7ff35dfd7760>, name='meta'):
             """
    >        output = self._lsremote(ud, d, "")
             # Tags of the form ^{} may not work, need to fallback to other form
  File "/OE/bitbake/lib/bb/fetch2/git.py", line 683, in Git._lsremote(ud=<bb.fetch2.FetchData object at 0x7ff35e059430>, d=<bb.data_smart.DataSmart object at 0x7ff35dfd7760>, search=''):
                     bb.fetch2.check_network_access(d, cmd, repourl)
    >            output = runfetchcmd(cmd, d, True)
                 if not output:
  File "/OE/bitbake/lib/bb/fetch2/__init__.py", line 889, in runfetchcmd(cmd='export PSEUDO_DISABLED=1; export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"; export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export PATH="/OE/build/oe-core/openembedded-core/scripts:/OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi:/OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot/usr/bin/crossscripts:/OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/sbin:/OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin:/OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/sbin:/OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/bin:/OE/build/oe-core/bitbake/bin:/OE/build/oe-core/tmp-glibc/hosttools"; export HOME="/home/martin"; git -c core.fsyncobjectfiles=0 ls-remote git://git.yoctoproject.org/yocto-kernel-cache ', d=<bb.data_smart.DataSmart object at 0x7ff35dfb4fa0>, quiet=True, cleanup=[], log=None, workdir=None):

    >        raise FetchError(error_message)

bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"; export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export PATH="/OE/build/oe-core/openembedded-core/scripts:/OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi:/OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot/usr/bin/crossscripts:/OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/sbin:/OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin:/OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/sbin:/OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/linux-raspberrypi-dev/1_fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/bin:/OE/build/oe-core/bitbake/bin:/OE/build/oe-core/tmp-glibc/hosttools"; export HOME="/home/martin"; git -c core.fsyncobjectfiles=0 ls-remote git://git.yoctoproject.org/yocto-kernel-cache  failed with exit code 128, output:
fatal: unable to connect to git.yoctoproject.org:
git.yoctoproject.org[0: 127.0.1.1]: errno=Connection refused

Summary: There was 1 ERROR message shown, returning a non-zero exit code.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-05-28 13:19:39 +01:00
Martin Jansa
8ddcacc687 linux-raspberrypi-dev: drop protocol=git and add LINUX_RPI_KMETA_BRANCH
* update SRC_URI format to use the same as linux-raspberrypi_5.10.bb
  and linux-raspberrypi_5.4.bb by dropping protocol=git and using
  LINUX_RPI_KMETA_BRANCH

* protocol=git was dropped from other linux-raspberrypi recipes in:

  commit 0381ac4d08
  Author: Timm Eversmeyer <saeugetier@googlemail.com>
  Date:   Wed Sep 11 07:08:50 2019 +0200

    raspberrypi-linux: removed protocoll setting from SRC_URI

    Default protocoll for git will be used. Default setting is in the most case https.

    Signed-off-by: Timm Eversmeyer saeugetier@gmail.com

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-05-28 13:19:39 +01:00
Martin Jansa
20abebb324 linux-raspberrypi: allow to change the yocto-kernel-cache branch with LINUX_RPI_KMETA_BRANCH
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-05-28 13:19:39 +01:00
Andrei Gherzan
faf3f33e84 layer.conf: Define LAYERDEPENDS
We should currently only depend on core - everything should be handled
through dynamic layers.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-05-26 10:00:04 +01:00
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
matt-hammond-bbc
b601818301 libva: Fix for when using userland
https://github.com/agherzan/meta-raspberrypi/issues/842

Fixes failing build of libva when using `userland` recipe.
Same as: ac16b0e9d7

Signed-off-by: Matt Hammond <matt.hammond@bbc.co.uk>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-05-18 14:58:43 +01:00
SCVready
e4ab480630 rpi-config: comment updated
Updated the comment that indicates there is a possible file limitation
in config.txt affecting certain variables, at least the "start_x" var.

This issue was originally discussed and fixed in:
https://github.com/agherzan/meta-raspberrypi/pull/678
and this commit updates the comment added with the new info gathered from:
https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=298129
and from a similar issue:
https://github.com/raspberrypi/firmware/issues/1012

Signed-off-by: SCVready <alejandro.solozabal@outlook.com>
2021-05-18 14:58:15 +01:00
Changqing Li
fb253346c2 99-com.rules: fix error invalid substitution type
fix below error:
/etc/udev/rules.d/99-com.rules:10 Invalid value "/bin/sh -c
'ALIASES=/proc/device-tree/aliases; if cmp -s $ALIASES/uart0
$ALIASES/serial0; then echo 0;elif cmp -s $ALIASES/uart0
$ALIASES/serial1; then echo 1; else exit 1; fi'" for PROGRAM (char 58:
invalid substitution type)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
2021-05-16 01:45:23 +01:00
Khem Raj
4302d3a509 bluez-firmware-rpidistro: Update to 1.2-4+rpt8
Package new firmwares for cm43430b0 and bcm4345c5
License-update: Updates about new firmware added [1]

[1] 83921f41fe (diff-93467241211d3f9d253fb8ad341738fbda5e5d3ade4721326f2bba82525fbaee)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-05-16 01:43:18 +01:00
Khem Raj
73ed90a6ff linux-firmware-rpidistro: Update to 20190114-1+rpt11
Update CYW43455 firmware
    - brcm/brcmfmac43455-sdio.bin 7.45.229
    - See: https://github.com/raspberrypi/linux/issues/3849

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-05-16 01:43:18 +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
8cffbf5e85 raspberrypi-firmware: Update to include 5.10.31 updates
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-04-26 09:02:04 +01:00
Khem Raj
ff6cda5d8f linux-raspberrypi: Update to 5.10.31
Update yocto kernel metadata to latest 5.10 as well.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-04-26 09:02:04 +01:00
Persian Prince
bb974dc078 userland: Correct PV after SRCREV update 2021-04-12 17:11:03 +01:00
Khem Raj
f9a13f3b9a userland: Update to latest master
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-04-03 17:07:25 +01:00
Khem Raj
214c12870b raspberrypi-firmware: Update to 20210326
Includes prebuilts with 5.10.25 kernel

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-04-03 17:07:25 +01:00
Khem Raj
1e6e3222d9 linux-raspberrypi-5.10: Upgrade to 5.10.25
Detail changelog [1]

[1] ec967eb45f...d1fd8a5727
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-04-03 17:07:25 +01:00
Khem Raj
de51de5ca0 mesa-gl: Use GALLIUMDRIVERS instead of DRIDRIVERS for passing swrast
latest mesa errors out
../mesa-21.0.0/meson.build:21:0: ERROR: Options "swrast" are not in allowed choices: "auto, i915, i965, r100, r200, nouveau"

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-04-03 17:07:25 +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
Khem Raj
3145390785 gitignore: Ignore .pyc files
They are generated, esepcially during test runs and selftests

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-03-24 10:07:46 +00:00
Khem Raj
8a149b63ab layer.conf: Drop gatesgarth and add honister to LAYERSERIES_COMPAT
master can only be validated with latest WIP oe-core releases so drop
gatesgrath which is now a dedicated release, soon hardknott will be out
too but for master needs its fine, while hear add honister ( fall 2021 )
release too

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-03-23 15:11:42 +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
ef04a3a523 linux-raspberrypi: Upgrade to 5.10.17
This fixes, amongst others, issues with I2C controller interrupts on the RPI4
that prevented a touch panel from functioning.

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
2021-03-09 19:44:16 +00:00
Mike Looijmans
0b4a73ebad raspberrypi-firmware: Update to 2021-02-25
This version is compatible with the 5.10.17 kernel
5985247fb7

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
2021-03-09 19:44:16 +00:00
Martin Jansa
853ccd7440 sdcard_image-rpi.bbclass: shorten the default BOOTDD_VOLUME_ID
* raspberrypi4-64 is 15 characters and with dosfstools-4.2 it breaks rootfs.rpi-sdimg with:
  mkfs.vfat: Label can be no longer than 11 characters
  mkfs.fat 4.2 (2021-01-31)

* introduced in:
  https://github.com/dosfstools/dosfstools/commit/c598354

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-03-04 16:24:38 +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
Khem Raj
5e543bd817 python3-adafruit-blinka: Delete microcontroller/bcm283x for non arm32 machines
It has prebuilt binary libgpiod_pulsein for rpi machines and these binary is 32bit
therefore we can not include it for 64bit machines even if they are rpi
based unless they have multilib enabled.

This patch makes it visible only on 32bit rpi

Fixes QA errors like
ERROR: QA Issue: Architecture did not match (ARM, expected AArch64) in /usr/lib/python3.9/site-packages/adafruit_blinka/microcontroller/bcm283x/pulseio/.debug/libgpiod_pulsein [arch]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-03-01 10:49:06 +00:00
Khem Raj
0a83508fac python3-adafruit-blinka: Make rpi-gpio dependency conditional
https://github.com/agherzan/meta-raspberrypi/pull/815

introduced python3-adafruit-blinka and this recipe has added rdep on rpi-gpio,
however rpi-gpio is rpi specific package, and therefore should only be added
when building rpi based platforms, this makes the layer work in a
multi-bsp setup work

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-02-27 20:26:29 +00:00
Jose Quaresma
0a89fb8dac gstreamer1.0-omx: drop config-files-path.patch
gstreamer1.0-omx receipe on OE-core sets:
core-name=${GSTREAMER_1_0_OMX_CORE_NAME} on the installed gstomx.conf
in this case it will set:
core-name="${libdir}/libopenmaxil.so" in ${sysconfdir}/xdg/gstomx.conf
this is done in set_omx_core_name that is a do_install[postfuncs]

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
2021-02-26 12:49:18 +00:00
Jose Quaresma
946fc1ee5f gstreamer1.0-omx: consolidate the append usage and only use one
move patches from gstreamer1.0-omx-1.18 => gstreamer1.0-omx
and use PN on FILESEXTRAPATHS

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
2021-02-26 12:49:18 +00:00
Jose Quaresma
45a9819a43 gstreamer1.0-omx: drop custom cflags
This is not need any more to build with gstreamer 1.18

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
2021-02-26 12:49:18 +00:00
Chris Laplante
f80b8d2dff python3-adafruit-pureio: add recipe
Signed-off-by: Chris Laplante <mostthingsweb@gmail.com>
2021-02-26 12:48:42 +00:00
Chris Laplante
0d0c563aa1 python3-adafruit-platformdetect: add recipe
Signed-off-by: Chris Laplante <mostthingsweb@gmail.com>
2021-02-26 12:48:42 +00:00
Chris Laplante
ca70494511 python3-adafruit-circuitpython-register: add recipe
Signed-off-by: Chris Laplante <mostthingsweb@gmail.com>
2021-02-26 12:48:42 +00:00
Chris Laplante
76656d27bb python3-adafruit-circuitpython-pca9685: add recipe
Signed-off-by: Chris Laplante <mostthingsweb@gmail.com>
2021-02-26 12:48:42 +00:00
Chris Laplante
0a58422984 python3-adafruit-circuitpython-motorkit: add recipe
Signed-off-by: Chris Laplante <mostthingsweb@gmail.com>
2021-02-26 12:48:42 +00:00
Chris Laplante
b29eb27c5b python3-adafruit-circuitpython-motor: add recipe
Signed-off-by: Chris Laplante <mostthingsweb@gmail.com>
2021-02-26 12:48:42 +00:00
Chris Laplante
823220e648 python3-adafruit-circuitpython-busdevice: add recipe
Signed-off-by: Chris Laplante <mostthingsweb@gmail.com>
2021-02-26 12:48:42 +00:00
Chris Laplante
c8f7eae1b8 python3-adafruit-blinka: add recipe
Signed-off-by: Chris Laplante <mostthingsweb@gmail.com>
2021-02-26 12:48:42 +00:00
Martin Jansa
10d21b8022 sdcard_image-rpi.bbclass: increase default boot partition size from 40MiB to 48MiB
* 5.10 kernel got a bit bigger especially for aarch64:
  5.10:   22M     deploy/images/raspberrypi4-64/Image-raspberrypi4-64.bin
  5.10:  7.0M     deploy/images/raspberrypi4/uImage-raspberrypi4.bin
  5.4:    16M     deploy/images/raspberrypi4-64/Image-raspberrypi4-64.bin
  5.4:   6.2M     deploy/images/raspberrypi4/uImage-raspberrypi4.bin

* and the space in fat boot partition was already tight:
  Filesystem      Size  Used Avail Use% Mounted on
  /dev/mmcblk0p1   40M   38M  1.7M  96% /

* increase the size to compensate for it, otherwise
  do_image_rpi_sdimg now fails with:

Creating filesystem with Boot partition 40960 KiB and RootFS 1822720 KiB
0+0 records in
0+0 records out
0 bytes copied, 0.000100992 s, 0.0 kB/s
Model:  (file)
Disk foo.rootfs.rpi-sdimg: 1913MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      4194kB  46.1MB  41.9MB  primary               boot, lba
 2      46.1MB  1913MB  1866MB  primary

mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows
mkfs.fat 4.1 (2017-01-24)
Copying bootcode.bin
Copying cmdline.txt
Copying config.txt
Copying fixup.dat
Copying fixup4.dat
Copying fixup4cd.dat
Copying fixup4db.dat
Copying fixup4x.dat
Copying fixup_cd.dat
Copying fixup_db.dat
Copying fixup_x.dat
Copying rpi-bootfiles-20210205.stamp
Copying start.elf
Copying start4.elf
Copying start4cd.elf
Copying start4db.elf
Copying start4x.elf
Copying start_cd.elf
Copying start_db.elf
Copying start_x.elf
Copying bcm2711-rpi-4-b.dtb
Copying at86rf233.dtbo
Copying disable-bt.dtbo
Copying dwc2.dtbo
Copying gpio-ir.dtbo
Copying gpio-ir-tx.dtbo
Copying gpio-key.dtbo
Copying hifiberry-amp.dtbo
Copying hifiberry-dac.dtbo
Copying hifiberry-dacplus.dtbo
Copying hifiberry-digi.dtbo
Copying justboom-both.dtbo
Copying justboom-dac.dtbo
Copying justboom-digi.dtbo
Copying i2c-rtc.dtbo
Copying imx219.dtbo
Copying iqaudio-dac.dtbo
Copying iqaudio-dacplus.dtbo
Copying mcp2515-can0.dtbo
Copying mcp2515-can1.dtbo
Copying miniuart-bt.dtbo
Copying pitft22.dtbo
Copying pitft28-capacitive.dtbo
Copying pitft28-resistive.dtbo
Copying pitft35-resistive.dtbo
Copying pps-gpio.dtbo
Copying rpi-ft5406.dtbo
Copying rpi-poe.dtbo
Copying vc4-fkms-v3d.dtbo
Copying vc4-kms-v3d.dtbo
Copying w1-gpio.dtbo
Copying w1-gpio-pullup.dtbo
Copying kernel8.img
Copying boot.scr
Copying Image
Disk full
ERROR: mcopy cannot copy /OE/build/luneos-hardknott/webos-ports/tmp-glibc/deploy/images/raspberrypi4-64/Image into boot.img
WARNING: exit code 1 from a shell command.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-02-25 14:26:26 +00:00
Bartłomiej Burdukiewicz
f5fe02c30c rpi-cmdline: remove unnecessary spaces from cmdline.txt
With current recipe formatting CMDLINE variable contains
many unnecessary white spaces. This patch allow to drop
unnecessary spaces at the moment of writing them to
cmdline.txt. This will improve readability of cmdline.txt,
/proc/cmdline and dmesg output.

Signed-off-by: Bartłomiej Burdukiewicz <bartlomiej.burdukiewicz@gmail.com>
2021-02-08 17:37:46 +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
b52d47c048 raspberrypi-firmware.inc: upgrade to latest for 5.10.13 kernel
7d91570f20

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-02-06 13:23:34 +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
  8572bb50bf

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-02-06 13:23:34 +00:00
Martin Jansa
7565931e23 linux-raspberrypi: update LIC_FILES_CHKSUM in .inc file and drop from 5.10 and dev recipe
* COPYING was changed only 4 times (last time in 5.6 with:
  https://github.com/torvalds/linux/commit/74835c7db0322 )
  so hopefully it will last for a while

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-02-06 13:23:34 +00:00
Martin Jansa
dd163e0856 linux-raspberrypi: add recipe for 5.10 version
* 5.10.11 is now considered stable:
  https://github.com/raspberrypi/firmware/blob/stable/extra/uname_string7
  8572bb50bf

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-02-06 13:23:34 +00:00
Aurelian Zanoschi
48d081265d [documentation]Add USB host support in documentation
Signed-off-by: Aurelian Zanoschi <aurelian17@gmail.com>
2021-02-04 19:36:22 +00:00
Aurelian Zanoschi
7193857284 rpi-config: Add support for CM4 host USB
By default in case of CM4 IO board, the USB ports (header + built-in)
are disabled. In order to enable them the DWC2 mode needs to be set to
host.

Signed-off-by: Aurelian Zanoschi <aurelian17@gmail.com>
2021-02-04 19:36:22 +00:00
Ovidiu Panait
f24de44790 linux-raspberrypi: pass dtc flags via KERNEL_DTC_FLAGS
Currently, the do_compile log is cluttered with dtc warnings that should only
be printed when compiling with W="123":
...
/soc: node has a reg or ranges property, but no unit name
/soc/gpu: missing or empty reg/ranges property
/soc/firmware/gpio: missing or empty reg/ranges property
...

This happens because we pass dtc flags via KERNEL_EXTRA_ARGS directly on the
make command line, preventing scripts/Makefile.lib logic from appending flags
that silence dtc warnings (all assignments done from within a makefile, to a
variable specified on the command line, are ignored).

oe-core commit [1] introduced the dedicated KERNEL_DTC_FLAGS variable to pass
dtc flags via the environment. Use this variable to get rid of the do_compile
log noise.

The md5sums of the generated dtbs for raspberrypi3-64 and raspberrypi4-64 do
not change with this patch applied.

[1] https://github.com/openembedded/openembedded-core/commit/063b5de86624

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
2021-01-26 13:02:59 +00:00
Jonas Vautherin
56ab926557 linux-raspberrypi: Superfluous 'inherit kernel'
'recipes-kernel/linux/linux-yocto.inc' already inherits 'kernel'.
This commit removes the superfluous one in 'linux-raspberrypi.inc'.

Signed-off-by: Jonas Vautherin <jonas.vautherin@protonmail.ch>
2021-01-26 10:07:51 +00:00
Paul Barker
16eef23486 kas-poky-rpi.yml: Make git ignore layers cloned by kas
Move the layer paths used by kas into a `layers` subdirectory and add
this to the git ignore list.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
2021-01-21 21:09:49 +00:00
Paul Barker
5570f2f55d linux-raspberrypi: Uprev yocto-kernel-cache
Signed-off-by: Paul Barker <pbarker@konsulko.com>
2021-01-21 21:09:49 +00:00
Paul Barker
b1d38437f5 linux-raspberrypi: Uprev to v5.4.83
Signed-off-by: Paul Barker <pbarker@konsulko.com>
2021-01-21 21:09:49 +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
Martin Jansa
17eb1a2f00 rpi-config: use CONFIG shell variable
* instead of repeating //config.txt
  so many times, to make it a bit less error prone (as shown in previous commit)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-01-18 15:31:54 +00:00
Martin Jansa
5c9309de87 rpi-config: fix do_deploy
* in https://github.com/agherzan/meta-raspberrypi/pull/678 this line was acidentally changed
  from "${BOOTFILES_DIR_NAME}" to "bcm2835-bootfiles", causing do_deploy to fail finding config.txt

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-01-18 15:31:54 +00:00
SCVready
74deec51de rpi-config: Relocated "start_x=1" in config.txt
It seems like "start_x=1" needs to be earlier in the file to work properly on the Rapberry Pi 4 B.

Fixes: #670
Signed-off-by: SCVready <alejandro.solozabal@outlook.com>
2021-01-12 20:57:04 +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
Ovidiu Panait
a7cc636d4e linux-raspberry: Drop 64-bit specific do_compile_append()
The functionality provided by this compile append is already present in
kernel-devicetree.bbclass since oe-core commit:
https://github.com/openembedded/openembedded-core/commit/74619de02774

The md5sums of the generated dtbs for raspberrypi3-64 and raspberrypi4-64 do
not change with this patch applied.

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
2020-12-24 17:52:49 +00:00
Khem Raj
3e2a8534a6 initramfs-image-bundle: Add MTD_UBI
CONFIG_UBIFS_FS is used as 'm' in defconfig and depends on MTD and MTD_UBI which
is also 'm', inorder for it to include in kernel proper, set MTD_UBI=y
and MTD=y as well.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-12-18 22:44:47 +00:00
Andrei Gherzan
3fe1f79ea2 README.md: Mention build server sponsor
balena.io has been sponsoring the project with a build server for a
while now. It's only fair for us to mention this somewhere in our
README.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2020-12-18 22:44:13 +00:00
Khem Raj
361f42e346 raspidmx: Disable for all non-rpi hosts
Currently its only disabled when vc4graphics is in use but this recipe
actually needs userland and therefore can not be used for non-rpi
machines as well.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-12-14 23:20:22 +00:00
Trevor Woerner
e4f5c32925 raspidmx: add
Add a recipe to build a set of dispmanx examples.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2020-12-13 20:34:11 +00:00
Trevor Woerner
4b89f63699 userland: fix invalid packageconfig
Fix the "allapps" PACKAGECONFIG to avoid the QA warning/error:

	userland-20201027-r0 do_configure: QA Issue: userland: invalid PACKAGECONFIG: allapps [invalid-packageconfig]

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2020-12-11 17:00:15 +00:00
Aaron Shaw
f82376c444 linux-firmware-rpidistro: Added firmware for BCM43456
The new Raspberry Pi 400 (and perhaps the CM4 as well) use the BCM43456 chip from Broadcom/Synaptics. This adds the necessary firmware.

Signed-off-by: Aaron Shaw <aaron@balena.io>
2020-12-09 00:17:10 +00:00
Khem Raj
1ae52a743c libglu: Fix build with userland graphics
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-12-04 11:18:40 +00:00
Khem Raj
80bcc2e0ed userland: Fix weston build with userland graphics
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-12-04 11:18:40 +00:00
Tobias Off
8e35fbffb0 linux-firmware-rpidistro: Missing link to firmware causes wifi not working on raspberrypi zero w
The link the brcmfmac is looking for was not created by the recipe for the raspberrypi zero w,
so the wifi was not working for this board. Adding link creation in the recipe solved the issue.

Signed-off-by: Tobias Off <sebastianoff@web.de>
2020-12-03 09:37:38 +00:00
Khem Raj
6c1c9ff4ee mesa-gl: Enable swrast dri backend for rpi/userland
After mesa switched build system to meson, the logic to generate dri
related artifacts changed too, which means when no dri backend is
enabled then dri drivers and corresponding headers dont get generated
and hence we end up with missing pkgconfig files e.g. dri.pc which
usually will come from full mesa3d package, but in rpi when userland is
used we only build GL pieces of mesa.

This patch therefore enables swrast dri backend when using userland,
which gives us the needed header and .pc files to build packages like
Xorg server, since EGL driver will come from userland, the dri backend
would be unused and hence should not be effective at runtime.

Addresses issue report with https://github.com/agherzan/meta-raspberrypi/pull/773

there is no need to check for graphics stack since mesa-gl is only used
with userland graphics

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Trevor Woerner <twoerner@gmail.com>
2020-12-02 22:10:03 +00:00
Trevor Woerner
3a1fec22c0 userland: add knob for ALL_APPS
The userland sources include a bunch of sample applications. Add an "allapps"
PACKAGECONFIG to allow the user to build the additional optional applications.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2020-11-30 16:16:29 +00:00
Jose Quaresma
1da8814f8a gstreamer1.0-plugins-base: drop custom cppflags
This is not need any more to build with gstreamer 1.18

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
2020-11-30 16:14:04 +00:00
Paul Barker
7a6759e242 linux-raspberrypi-dev: Update for testing v5.10.y
Linux 5.10 series will be the next LTS kernel so it's likely to be the
new stable branch for linux-raspberrypi within a couple of months. Let's
get set up to test it now.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
2020-11-27 14:29:55 +00:00
Paul Barker
8c5809ebbb linux-raspberrypi: Merge v5.4 recipe & inc file
There is no need for a separate inc file for the v5.4 kernel recipe.

Variable assignments are simplified where possible after merging.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
2020-11-27 14:29:55 +00:00
Paul Barker
64f6a1b7cc linux-raspberrypi: Drop unused rpi-kernel-misc config fragment
This config fragment was unconditionally disabled for the v5.4 kernel
so it can be dropped.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
2020-11-27 14:29:55 +00:00
Paul Barker
2afeee9b82 linux-raspberrypi: Remove obsolete kernel versions
Signed-off-by: Paul Barker <pbarker@konsulko.com>
2020-11-27 14:29:55 +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
Paul Barker
b8440b3d26 bootfiles: Use BOOTFILES_DIR_NAME variable
This variable is set in rpi-base.inc and referenced by other recipes
which need to know the location of the bootfiles. If this is overridden
for any reason we need to ensure that the bootfiles recipe deploys to
the correct path.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
2020-11-27 14:29:55 +00:00
Paul Barker
8827040d9c rpi-cmdline: Move cmdline.txt generation to a separate recipe
Instead of generating cmdline.txt in the kernel recipe, it is generated
in a standalone recipe and pulled in as a dependency of the bootfiles
recipe. This simplifies the process of using a linux-yocto,
linux-mainline or similiar kernel recipe instead of linux-raspberrypi.

In the rpi-cmdline recipe the command line is built from fragments which
can all be easily overridden. The variables `SERIAL` and `CMA` are
renamed to `CMDLINE_SERIAL` and `CMDLINE_CMA` for consistency. The
cmdline.txt file is created in the do_compile step to allow further
customisation via do_compile_append if needed.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
2020-11-27 14:29:55 +00:00
Paul Barker
ba6a809a55 sdcard_image-rpi: Drop redundant dependency on rpi-config:do_deploy
The bootfiles:do_deploy task already depends on rpi-config:do_deploy so
we do not explicitly need to list the dependency again in the
sdcard_image-rpi class.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
2020-11-27 14:29:55 +00:00
Paul Barker
1c8ad80861 linux-raspberrypi: Convert dynamic config patching to config fragments
This allows us to drop all of the custom config patching in
linux-raspberrypi.inc. It also allows the kernel config to be checked
during the build for any discrepancies between the selected config
options and the resulting .config file - this identified that
`CONFIG_DRM_VC4` depends on `CONFIG_SND` and `CONFIG_SND_SOC`.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
2020-11-27 14:29:55 +00:00
Ming Liu
26a888d669 rpi-u-boot-scr: drop hard-coded 'arm'
Let's inherit kernel-arch and use ${UBOOT_ARCH} to replace the
hard-coded 'arm'.

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
2020-11-27 12:39:12 +00:00
Khem Raj
25d1eb4146 packagegroup-rpi-test: Add python3-sense-hat in a meta-python specific bbappend
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-25 17:57:12 +00:00
Khem Raj
5db97b41a8 armstubs: Always use gcc compiler
it uses assembly files .S which needs to be processed with gcc alone
until they are made portable use gcc

Fixes
| armstub7.S:175:2: error: instruction requires: thumb
|  cbz r6, 9f @ Skip this section if we are core 0
|  ^

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-25 17:57:12 +00:00
Khem Raj
dcdd0e4a20 raspberrypi-tools: Update to latest on master
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-25 17:57:12 +00:00
Khem Raj
fd83102af7 userland: Upgrade to latest as of 20201027
refresh patches

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-25 17:57:12 +00:00
Khem Raj
6a53db2fb6 raspberrypi-firmware: Update to latest to take 5.4.79 prebuilts
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-25 17:57:12 +00:00
Khem Raj
07a4d28f1d linux-raspberrypi_5.4.bb: Update to 5.4.79
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-25 17:57:12 +00:00
Khem Raj
a06878118c layer.conf: Add hardknott (3.3) to acceptable releases
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-25 17:57:12 +00:00
Khem Raj
08d27cd799 python3-sense-hat: Move to dynamic-layers
Only active when meta-python is in layermix, this recipe rdeps on
python3-pillow, which comes from meta-python, until that moves to
oe-core lets hide this recipe unless meta-python is used

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-25 17:57:12 +00:00
Jan-Simon Moeller
07fc972c60 python3-sense-hat: Switch to using pillow instead of imaging module
while meta-python does rprovide python3-imaging via python3-pillow, its
better to not rely on that bridge, since this might disappear in future

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-25 17:57:12 +00:00
Martin Jansa
9e9746f5a7 Revert "gstreamer1.0-plugins-good: add package config knob to enable rpicamsrc plugin"
This reverts commit 0ecec6a1f9.

The patch as well as PACKAGECONFIG were merged to oe-core recipe in:
https://git.openembedded.org/openembedded-core/commit/?id=fe828754467db0a09bbc5d6fd54bf6245bd0a747
2020-11-19 12:25:15 +00:00
Jose Quaresma
3db2e1e967 gstreamer1.0-plugins-good: enable rpicamsrc plugin
enable the plugin when vc4graphics is not on machine features
as it needs userland.

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
2020-11-17 15:31:30 +00:00
Jose Quaresma
0ecec6a1f9 gstreamer1.0-plugins-good: add package config knob to enable rpicamsrc plugin
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
2020-11-17 15:31:30 +00:00
Khem Raj
2e0b2d41cf linux-raspberrypi: Do not use += with append
append operator and += when used together results in undefined behaviour
in bitbake

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-14 23:27:08 +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
Martin Jansa
15739db1ed layer.conf: Remove older releases from LAYERSERIES_COMPAT
* with gstreamer1.0-omx_1.18%.bbappend it won't even parse with
  dunfell and older
* and since
  36c3c2e7ca
  which renamed gstreamer1.0-omx_1.14%.bbappend to gstreamer1.0-omx_1.16%.bbappend it didn't
  parse with zeus and older

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-11-03 17:33:56 +00:00
Martin Jansa
393af232a7 gstreamer1.0-omx: rename bbappend to match new 1.18.0 version from oe-core
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-11-03 17:33:56 +00:00
Khem Raj
09a3c11696 userland: Apply format-overflow warning patch for gcc alone
This warning is gcc specific and causes build failures when building
with clang, lets therefore remove it when build is using clang compiler

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-10-21 17:56:14 +01:00
Marek Belisko
a8085558b5 u-boot: Fix booting raspberrypi CM3 module
With stock u-boot v2020.01 which we use from poky CM3 module won't boot.
We need to apply this patch in order to have platform again working.

Add it only for cm3 to not break anything else.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2020-10-21 17:39:43 +01:00
Khem Raj
6ca9b2f9f7 linux-raspberrypi: Fix build regression from last update
This patch is now backported into 5.4 stable

commit bc79abf4afea97d5ce682aa2bd1095fb74400916

so it should have been
deleted, otherwise its causing build/patch failures now as expected

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-10-20 20:09:55 +01:00
Eino Juhani Oltedal
2be75e2ef3 linux-raspberrypi: bump to Linux version 5.4.72
Fixes: "Bleeding Tooth" Bluetooth Vulnerability.

Signed-off-by: Eino Juhani Oltedal <einoju@gmail.com>
2020-10-20 16:39:25 +01:00
Khem Raj
6f85611576 layer.conf: Add gatesgarth to LAYERSERIES_COMPAT
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-10-15 20:47:33 +01:00
Alex Gonzalez
2324089fef linux-raspberrypi: Only deploy cmdline.txt for the main kernel
When multiple kernels are being built, not all of them can deploy the
same file.

Signed-off-by: Alex Gonzalez <alexg@balena.io>
2020-10-12 10:05:48 +01:00
Martin Jansa
6ed1b4ca64 python3-rtimu: don't use trailing slash in S
* see oe-core base.bbclass changes from:
  https://lists.openembedded.org/g/openembedded-core/message/143159
  https://lists.openembedded.org/g/openembedded-core/message/143161

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-10-11 20:27:56 +01:00
Martin Jansa
e13d6a2188 linux-raspberrypi-5.4: bump SRCREV to fix raspberrypi3-64 builds
* fixes:
  https://github.com/raspberrypi/linux/issues/3885

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-10-09 19:53:43 +01: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
Khem Raj
a5626b6189 oeqa: Add 5.4 specific error messages to ignore list
with 5.4 fd580000.genet has been replaced with fd580000.ethernet in the
error text

Fixes
https://github.com/raspberrypi/linux/issues/3884

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-10-09 19:53:43 +01:00
Khem Raj
4606cf4831 raspberrypi-tools: Update to latest snapshot as of 20200803
Use date in PV, makes is good candidate for always increasing PV

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-10-05 18:39:54 +01:00
Khem Raj
a66e679f00 raspberrypi-firmware: Update to 20201002 snapshot
Brings in fixes for errors seen in kernel boot log
e.g.

https://github.com/raspberrypi/linux/issues/3878

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-10-05 18:39:54 +01:00
Khem Raj
f762c8d9f5 linux-raspberrypi_5.4.bb: Update to 5.4.69
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-10-05 18:39:54 +01:00
Madhavan Krishnan
6f4446bffc libcamera: Define packageconfig to enable rpi pipeline
libcamera middleware has supported many pipelines for video frames capturing.
So defined the packageconfig, to enable the rpi pipeline and to capture frames
using the rpi camera sensor.

Signed-off-by: Madhavan Krishnan <madhavan.krishnan@linaro.org>
2020-10-05 18:19:50 +01:00
Murat Kilivan
329b50f252 linux-raspberrypi_5.4.bb: Add kernel-cache source
Fixes the following error:
ERROR. input file "cfg/virtio.scc" does not exist

Signed-off-by: Murat Kilivan <murat.kilivan@gmail.com>
2020-10-05 12:05:39 +01:00
Khem Raj
165845b95d linux-firmware-rpidistro: Update to 20190114-1+rpt8
* Update brcmfmac43455-sdio.bin to 7.45.206
* Add BCM43456 firmware
  - brcm/brcmfmac43456-sdio.bin 7.84.17.1
  - brcm/brcmfmac43456-sdio.clm_blob
  - brcm/brcmfmac43456-sdio.txt

* Add compatibility links for direct firmware download to work properly
  Fixes
  brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt failed with error -2

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-10-05 11:44:07 +01:00
Martin Jansa
0e9c32c816 Revert "linux-raspberrypi-5.4: revert 1 commit from upstream to fix lttng-modules build"
This reverts commit d1257fc127.

Now lttng-modules in oe-core were updated in:
https://git.openembedded.org/openembedded-core/commit/?id=62c87d1a68c4f7c8f30c3c5330dcda9cbcbbbaa7
and the backported patch:
https://git.openembedded.org/openembedded-core/diff/meta/recipes-kernel/lttng/lttng-modules/0009-fix-version-ranges-for-ext4_discard_preallocations-a.patch?id=62c87d1a68c4f7c8f30c3c5330dcda9cbcbbbaa7
now expects new writeback_queue_io API being available in LTTNG_KERNEL_RANGE(5,4,62, 5,5,0)
so we need to re-enable it.
2020-09-18 09:53:18 +01:00
Luis Alfredo da Silva
c5633df788 Revert "mesa: querying dma_buf modifiers for specific formats"
This reverts commit 84cb8538cd.

Fixes:
    - https://gitlab.gnome.org/GNOME/mutter/-/issues/1421
    - #711
2020-09-17 15:25:39 +01:00
Martin Jansa
60b4bcbae5 raspberrypi-{firmware,tools}: set downloadfilename
* otherwise we end with big archives in downloads directory without clear
  indication from where they came
* e.g. in one of my jenkins builds I've noticed:
  -rw-rw-r-- 1 jenkins jenkins 178M Jun 30 15:45 downloads/23548e550a757d368d3d5220373fe829b5961c42.tar.gz
  -rw-rw-r-- 1 jenkins jenkins 152M Sep  5  2019 downloads/7163480fff007dc98978899b556dcf06f8a462c8.tar.gz
  -rw-rw-r-- 1 jenkins jenkins 179M Jul 23 01:34 downloads/7e74bcb4f9706f36f752d1c3d3164628ccf2aae5.tar.gz
  -rw-rw-r-- 1 jenkins jenkins 178M Jun  5 12:34 downloads/7eff9f6774bb43bfd61e749a0b45ffddc98c2311.tar.gz
  -rw-rw-r-- 1 jenkins jenkins 177M Apr 23 14:49 downloads/84523e0b9a9e78aa69fca1f1a8d75b2bdb5155fc.tar.gz
  -rw-rw-r-- 1 jenkins jenkins 178M Jan 13  2020 downloads/9d6be5b07e81bdfb9c4b9a560e90fbc7477fdc6e.tar.gz

  -rw-rw-r-- 1 jenkins jenkins  463 Jul  1 03:58 downloads/23548e550a757d368d3d5220373fe829b5961c42.tar.gz.done
  -rw-rw-r-- 1 jenkins jenkins  141 Jan 16  2020 downloads/7163480fff007dc98978899b556dcf06f8a462c8.tar.gz.done
  -rw-rw-r-- 1 jenkins jenkins  463 Aug  1 15:40 downloads/7e74bcb4f9706f36f752d1c3d3164628ccf2aae5.tar.gz.done
  -rw-rw-r-- 1 jenkins jenkins  463 Jun  6 09:54 downloads/7eff9f6774bb43bfd61e749a0b45ffddc98c2311.tar.gz.done
  -rw-rw-r-- 1 jenkins jenkins  463 May 16 03:35 downloads/84523e0b9a9e78aa69fca1f1a8d75b2bdb5155fc.tar.gz.done
  -rw-rw-r-- 2 jenkins jenkins  141 Aug  7 22:10 downloads/9d6be5b07e81bdfb9c4b9a560e90fbc7477fdc6e.tar.gz.done

* unfortunately using git fetcher is still problematic because of git repo size:
  15G   firmware
  1,6G  tools

  -rw-rw-r-- 1 jenkins jenkins 180M Sep 17 13:59 downloads/raspberrypi-firmware-a490197f0672d948860b2b807884ae65eabc4d4f.tar.gz
  -rw-rw-r-- 1 jenkins jenkins  463 Sep 17 14:09 downloads/raspberrypi-firmware-a490197f0672d948860b2b807884ae65eabc4d4f.tar.gz.done
  -rw-rw-r-- 1 jenkins jenkins 324M Sep 17 14:10 downloads/raspberrypi-tools-b0c869bc929587a7e1d20a98e2dc828a24ca396a.tar.gz
  -rw-rw-r-- 1 jenkins jenkins  463 Sep 17 14:10 downloads/raspberrypi-tools-b0c869bc929587a7e1d20a98e2dc828a24ca396a.tar.gz.done

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-09-17 13:14:41 +01:00
Martin Jansa
d1257fc127 linux-raspberrypi-5.4: revert 1 commit from upstream to fix lttng-modules build
* fixes:
  lttng-modules/2.12.2-r0/lttng-modules-2.12.2/probes/../probes/lttng-tracepoint-event-impl.h:131:6: error: conflicting types for 'trace_writeback_queue_io'

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-09-14 15:59:27 +01:00
Pierre-Jean Texier
9f013e3cd1 linux-raspberrypi: bump to Linux version 5.4.64
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-09-12 21:38:16 +01:00
Pierre-Jean Texier
16a6e0b4ea raspberrypi-firmware: update to current HEAD
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-09-12 21:38:16 +01:00
Andrzej Bednarski
61bea92793 docs: Correct minor spelling issues
Correct spelling issues in the 'extra-build-config.md' file.

Signed-off-by: Andrzej Bednarski <andrzej.bednarski@gmail.com>
2020-09-11 15:30:59 +01:00
Khem Raj
a34a6d9eaf README: Mention Yoe distro in supported distro list
Remove angstrom as it is no longer uptodate

Fixes Issue #563

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-09-03 14:43:34 +01:00
Khem Raj
5013a063d5 linux-raspberrypi_5.4.bb: Build ashmem and binder drivers
These are android drivers, which help in running anbox on top of
raspberrypi machines

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-09-03 14:43:10 +01:00
Martin Jansa
46f4028e6f rpi-gpio: add -fcommon temporarily
* until the fix is available upstream

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-09-02 21:43:09 +01:00
Martin Jansa
1991ef8283 linux-raspberrypi-5.4: backport a fix for perf build with -fno-common from gcc-10
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-09-02 21:43:09 +01:00
Khem Raj
968dcd3f40 libsdl2: Add userland dependency when not using vc4graphics
Needed to provide KHR/khrplatform.h header

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-08-28 14:59:43 +01:00
Khem Raj
979fb504c3 xserver-xorg: Depend on userland when vc4graphics is disabled
This helps in getting right headers, we have made a choice to let
userland provide KHR/khrplatform.h when using it instead of mesa-gl
which could have been another provider, xserver-xorg's glx
implementation depends on virtual/libgl which in case of rpi-without-vc4
driver is provided by mesa-gl, as a result, compilation fails since no
one is providing this header in this case.

Fixes errors like
usr/include/GL/glext.h:56:10: fatal error: KHR/khrplatform.h: No such file or directory
|    56 | #include <KHR/khrplatform.h>
|       |          ^~~~~~~~~~~~~~~~~~~

Fixes issue #391

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-08-28 14:59:43 +01:00
Khem Raj
0433b69889 raspberrypi-firmware: Upgrade to 20200819
Includes 5.4.59 bumps

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-08-24 22:59:04 +01:00
Khem Raj
c61ccdbb93 linux-raspberrypi: Update to 5.4.59
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-08-24 22:59:04 +01:00
Martin Jansa
cc6074c660 linux-raspberrypi-5.4: bump SRCREV to latest to fix perf build
Needs some fixes from newer 5.4 kernel, e.g.:
1b940bbc5c55 Linux 5.4.56
df35e878d0a5 perf bench: Share some global variables to fix build with gcc 10
702d1b287fd2 perf env: Do not return pointers to local variables
73d2d6b421df perf tests bp_account: Make global variable static

to fix:
  LINK     perf/1.0-r9/perf-1.0/perf
perf/1.0-r9/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/10.1.0/ld: error: perf/1.0-r9/perf-1.0/plugins/libtraceevent-dynamic-list:2:15: invalid character
perf/1.0-r9/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/10.1.0/ld: error: perf/1.0-r9/perf-1.0/plugins/libtraceevent-dynamic-list:2:15: syntax error, unexpected end of file, expecting ';'
perf/1.0-r9/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/10.1.0/ld: fatal error: unable to parse dynamic-list script file perf/1.0-r9/perf-1.0/plugins/libtraceevent-dynamic-list
collect2: error: ld returned 1 exit status
Makefile.perf:609: recipe for target 'perf/1.0-r9/perf-1.0/perf' failed
make[2]: *** [perf/1.0-r9/perf-1.0/perf] Error 1
make[2]: *** Waiting for unfinished jobs....
perf/1.0-r9/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/10.1.0/ld: error: perf/1.0-r9/perf-1.0/plugins/libtraceevent-dynamic-list:2:15: invalid character
perf/1.0-r9/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/10.1.0/ld: error: perf/1.0-r9/perf-1.0/plugins/libtraceevent-dynamic-list:2:15: syntax error, unexpected end of file, expecting ';'
perf/1.0-r9/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/10.1.0/ld: fatal error: unable to parse dynamic-list script file perf/1.0-r9/perf-1.0/plugins/libtraceevent-dynamic-list
collect2: error: ld returned 1 exit status
error: command 'arm-oe-linux-gnueabi-gcc' failed with exit status 1
cp: cannot stat 'perf/1.0-r9/perf-1.0/python_ext_build/lib/perf*.so': No such file or directory
Makefile.perf:571: recipe for target 'perf/1.0-r9/perf-1.0/python/perf.so' failed

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-08-18 20:19:23 +01:00
Pierre-Jean Texier
f5c39711c4 linux-raspberrypi: bump to revision 4b945d5
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-08-13 17:09:44 +01:00
Pierre-Jean Texier
42e4b4b889 raspberrypi-firmware: update to current HEAD
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-08-13 17:09:44 +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
Andrei Gherzan
5c3bda2acb sdcard_image-rpi.bbclass: Fix when RPI_SDIMG_EXTRA_DEPENDS not defined
If the variable is not defined, bitbake will fail:

[...]
Task 'depends' should be specified in the form 'packagename:task'
[...]

This is because not expanding the variable leaves an invalid entry.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2020-08-10 11:09:45 +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
Christopher Clark
11318d2da1 docs/extra-build-config.md: document vars to add to boot partition
FATPAYLOAD, DEPLOYPAYLOAD and RPI_SDIMG_EXTRA_DEPENDS

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
2020-07-29 11:54:14 +01:00
Christopher Clark
c883daa802 sdcard_image-rpi.bbclass: enable extensible inclusion into boot
Add DEPLOYPAYLOAD, similar to the existing FATPAYLOAD, to enable
adding files to the boot partition from the image deploy directory.
Files such as hypervisor binaries may not be present (and in fact
unwanted) within the root filesystem, so FATPAYLOAD is not sufficient.

DEPLOYPAYLOAD is implemented with support for file renaming from the
source file in the image deploy directory to the filename written into
the boot image. DEPLOYPAYLOAD is a space-separated list of entries for
additions, each of which can optionally be colon-separated:
    <image deploy directory file>:<destination filename>

If the colon separator is omitted, the source deploy directory filename
is used as the destination filename.

The support for specifying the destination filename is used for
including Xen, which produces a machine-specific file in the image
deploy directory, and is written to the image partition with its
expected filename: xen.

Files that are to be included from the image deploy directory will
be produced by tasks that the do_image_rpi_sdimg[depends] must list,
so enable adding entries to that via a new variable:
RPI_SDIMG_EXTRA_DEPENDS.

These changes enable retiring a Xen-specific Raspberry Pi SD card
bbclass from meta-virtualization and have been tested on the
Raspberry Pi 4.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
2020-07-29 11:54:14 +01:00
Jakub Luzny
eaf4a5f17e docs/extra-build-config.md: Document CAN_OSCILLATOR variable
Add instructions how to use CAN_OSCILLATOR variable and declare support
for the Waveshare RS485 CAN HAT.

Signed-off-by: Jakub Luzny <jakub@luzny.cz>
2020-07-29 11:52:09 +01:00
Jakub Luzny
603f3891fe rpi-config: Add CAN_OSCILLATOR variable to set mcp2515 crystal frequency
Current configuration (16MHz) is made for the PiCAN2 board that uses 16MHz crystal. This setting allows for use of Waveshare RS485 CAN HAT that has 8MHz crystal soldered (although according to Waveshare there is also a 12MHz crystal version of the board).

Signed-off-by: Jakub Luzny <jakub@luzny.cz>
2020-07-29 11:52:09 +01:00
Fabio Berton
fc72c06141 u-boot: Move fw_env.config to u-boot append
The u-boot-env is provided by u-boot recipe and not by libubootenv, so
right recipe to append is the u-boot.

Adding the rpi-u-boot-scr in DEPENDS variable is wrong because it is
forcing rpi-u-boot-scr to be a dependency, but it'll fail if I have
another recipe that provides bootscript, once both recipes provide the
same file. The default value of u-boot-default-script is rpi-u-boot-scr,
so right way is to use u-boot-default-script and change the
PREFERRED_PROVIDER_u-boot-default-script if needed.

Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
2020-07-27 15:34:17 +01:00
colin
e2c1992955 docs: Added documentation for Pican2 Duo support
Added documentation for ENABLE_DUAL_CAN build configuration and support
for Pican2 Duo board.

Signed-off-by: Colin McAllister <colinmca242@gmail.com>
2020-07-23 13:03:23 +01:00
colin
85d3dd81c5 rpi-config_git: Added ENABLE_DUAL_CAN build configuration
Currently ENABLE_CAN adds mcp2525-can0 to the dtoverlay.

ENABLE_DUAL_CAN was added to also add mcp2515-can1 to the dtoverlay.
This will allow a user to enable dual CAN when using a hat like the
PiCAN 2 Duo board.

Signed-off-by: Colin McAllister <colinmca242@gmail.com>
2020-07-23 13:03:23 +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
Khem Raj
497a90a220 userland: Update to 2020-06-24 top commit
Forward port patches

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-07-14 17:16:50 +01:00
Pierre-Jean Texier
372dc40ae3 raspberrypi-firmware: update to current HEAD
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-07-14 17:15:50 +01:00
Pierre-Jean Texier
32eb4bd8ad linux-raspberrypi: bump to Linux version 5.4.51
Fixes:

ERROR: linux-raspberrypi-1_5.4.50+gitAUTOINC+856e83151c-r0 do_fetch: Fetcher failure: Unable to find revision 856e83151cf3f802c495585ac176bb135a08030f in branch rpi-5.4.y even from upstream
ERROR: linux-raspberrypi-1_5.4.50+gitAUTOINC+856e83151c-r0 do_fetch: Fetcher failure for URL: 'git://github.com/raspberrypi/linux.git;branch=rpi-5.4.y'. Unable to fetch URL from any source.

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-07-14 17:15:50 +01:00
Christopher Clark
0d398a3b71 linux-raspberrypi: bump to 5.4.50 since upstream was force-pushed
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
2020-07-08 14:09:28 +01:00
Leon Anavi
27d0016b6b libubootenv_%.bbappend: Add fw_env.config
Add fw_env.config that uses at run-time /boot/uboot.env generated
through the boot scripts (specifically boot.cmd.in) from recipe
rpi-u-boot-scr. This configuration file is required to
successfully run fw_printenv from the user space.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2020-07-03 20:49:32 +01:00
Leon Anavi
64bd47fe58 rpi-u-boot-scr: Create uboot.env via boot.cmd.in
Modify boot.cmd.in from recipe rpi-u-boot-scr to create uboot.env
in the /boot partition when using U-Boot. This change is required
to successfully run fw_printenv from the user space.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2020-07-03 20:49:32 +01:00
Leon Anavi
a6f1233d52 lirc: Rename bbappend to match only version 0.10.1
Rename LIRC bbappend file to match only version 0.10.1 because the
applied patch is not compatible with older LIRC versions.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2020-06-25 10:36:13 +01:00
Leon Anavi
260b89ecd1 docs/extra-build-config.md: Infrared
Add instructions how to use variable ENABLE_IR for infrared
support, for example with LIRC.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2020-06-24 17:01:17 +01:00
Leon Anavi
770a69f18d lirc_%.bbappend: Use lircd.service as in Raspbian
Use lircd systemd service similar to the one in Raspbian. Start
lircd with argument --nodaemon after lircd-setup.service.

Edit device in /etc/lirc/lirc_options.conf to switch between
receive and transmit modes (lircd must be restarted after such
change).

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2020-06-24 17:01:17 +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
c482e2cc7c rpi-config: Add ENABLE_IR variable for infrared
Users who want infrared device tree overlays gpio-ir and
gpio-ir-tx to be set in config.txt can now easily do it through
variable ENABLE_IR, for example in local.conf:

ENABLE_IR = "1"

By default the GPIO pin for gpio-ir is set to 18 and the pin for
gpio-ir-tx is 17. Both pins can be easily changed by modifying
variables GPIO_IR and GPIO_IR_TX (for example in local.conf).

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2020-06-24 17:01:17 +01:00
Leon Anavi
4499d60e60 lirc: Move to dynamic-layers
Move lirc to dynamic-layers/meta-python/recipes-connectivity/ to
avoid related issues while building rpi-basic-image.

Reported-by: Alan <engineer@iotexpert.com>
Suggested-by:  Khem Raj <raj.khem@gmail.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2020-06-24 17:01:17 +01:00
Jon Magnuson
aa47ab631d packagegroup-rpi-test: resolve wireless-regdb conflict
Replaces `wireless-regdb` with `wireless-regdb-static` provided by poky.

Fixes #639.

Signed-off-by: Jon Magnuson <jon.magnuson@gmail.com>
2020-06-24 14:15:27 +01:00
M. ter Woord
5576a22061 Update layer-contents.md to include pi4
Signed-off-by: Matthijs ter Woord <matthijsterwoord@gmail.com>
2020-06-21 19:29:47 +01:00
Khem Raj
5ac6f01333 linux-raspberrypi_5.4.bb: Upgrade to 5.4.47
Drop backported patches which are already in this release

Fixes Issue #658

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-06-21 10:45:14 +01:00
Leon Anavi
f927dcd8c6 lirc_%.bbappend: Fix for gpio-ir
Apply Raspberry Pi specific fix to use LIRC with gpio-ir kernel
module with which the signal from /dev/lircX is slightly different
from that of lirc_dev (which was used with older LIRC and kernel
versions). The patch has been published by neuralassembly and he
has shared more details in the Raspberry Pi community forum:
https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=235256

LIRC ticket #359 tracks the upstreaming of this issue:
https://sourceforge.net/p/lirc/tickets/359/

Co-authored-by: neuralassembly <neuralassembly@gmail.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2020-06-17 14:50:02 +01:00
Khem Raj
39cf54c3cb linux-raspberrypi_5.4.bb: Move to 5.4.45
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-06-13 14:10:23 +01:00
Pierre-Jean Texier
e589e0f3fd linux-raspberrypi: bump to Linux version 4.19.126
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-06-05 13:13:07 +01:00
Pierre-Jean Texier
e4ed884688 raspberrypi-firmware: update to current HEAD
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-06-05 13:13:07 +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
Brandon Verkamp
4982da8d48 docs: Remove reference to xz-compressed sdimg 2020-05-22 15:42:12 +01:00
Brandon Verkamp
a50651ef74 docs: Correct Quick Start instructions to show the new .wic.bz2 extension
Corrects README.md to indicate that the new generated image extension is
.wic.bz2 rather than sdimg as previously stated.

Signed-off-by: Brandon Verkamp <jadelclemens@gmail.com>
2020-05-22 15:42:12 +01:00
Khem Raj
f9b9181521 linux-raspberrypi: Update to latest on 5.4 release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-05-20 12:10:11 +01:00
Khem Raj
6f85d3f665 linux-raspberrypi_5.4.bb: Update to 5.4.35
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-05-09 12:17:54 +01:00
Pierre-Jean Texier
aba412e034 linux-raspberrypi: bump to Linux version 4.19.120
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-05-09 12:16:52 +01:00
Pierre-Jean Texier
3cda39cda2 raspberrypi-firmware: update to current HEAD
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-05-09 12:16:52 +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
Khem Raj
87a44aa75b linux-raspberrypi_5.4.bb: Update to latest
brings in some pinmux and dtoverlays

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-28 10:36:19 +01:00
Bartłomiej Burdukiewicz
6149445010 linux-raspberrypi_5.4.bb: Update to latest
Signed-off-by: Bartłomiej Burdukiewicz <bartlomiej.burdukiewicz@gmail.com>
2020-04-27 11:56:59 +01:00
Khem Raj
9dd58b1bf2 psplash: Do not define ALTERNATIVE_PRIORITY for non-existing provider
This simply causes build warnings about priority of two packages being
same, but infact this is redundant, therefore remove setting ALTERNATIVE_PRIORITY
for psplash-raspberrypi

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-20 11:07:49 +01:00
Khem Raj
8c4980db54 linux-firmware-rpidistro: Upgrade to 20190114-1+rpt6
Adjust PV to reflect the release and make it a bit meaningful

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-20 11:06:25 +01:00
Pierre-Jean Texier
9e67048f32 linux-raspberrypi: bump to Linux version 4.19.115
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-04-18 15:56:39 +01:00
Pierre-Jean Texier
7671f666b2 raspberrypi-firmware: update to current HEAD
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-04-18 15:56:39 +01:00
Khem Raj
9816a45604 linux-raspberrypi_5.4.bb: Update to latest
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-16 12:45:04 +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
3b2ded5ae7 linux-raspberrypi_5.4.bb: Backport the patch to use CHECK macro instead of RET_IF
Revert couple of regressions for selftest

Fixes

| /usr/src/debug/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf/test_select_reuseport.c:671: undefined reference to `RET_IF'

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-15 11:35:23 +01:00
Khem Raj
8d163dd844 linux-raspberrypi_5.4.bb: Enable powersave options in kconfig
Will let system hibernate and suspend, its initial setup, there is more
work needed to get it going fully without problems in userspace, which
will follow

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-08 22:31:24 +01:00
Khem Raj
9f47df580e linux-raspberrypi_5.4.bb: Update to latest and fix build with binutils 2.34
perf fails to build without bfd patch still, therefore apply it to 5.4
as well.

Update to latest on 5.4 branch

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-08 22:31:24 +01:00
Khem Raj
d50c60ee28 linux-raspberrypi: Add recipes for kernel 5.4
5.4 is slated to be next hop for linux-raspberrypi, here add the
recipes, default is still 4.19, we can switch that later

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-08 11:38:35 +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
Khem Raj
025a2025ea userland: Fix build with gcc10
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-03 17:34:07 +01:00
Khem Raj
909a962fe1 userland: Update to 20200316 snapshot
- Refresh patches

- userland now needs to create symlinks for egl.pc,glesv2.pc and vg.pc
  when vc4 is not used

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-03 17:34:07 +01:00
Khem Raj
eaa1314259 qtbase: Drop xkb packageconfig
meta-qt5 master has dropped it too

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-03 17:34:07 +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
Leon Anavi
acca2a00eb docs/extra-build-config.md: Auto-load I2C modules
Add instructions how to auto-load I2C kernel modules with
KERNEL_MODULE_AUTOLOAD when I2C is enabled.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2020-04-03 14:02:29 +01:00
253 changed files with 44717 additions and 1586 deletions

7
.github/CODE_OF_CONDUCT.md vendored Normal file
View File

@@ -0,0 +1,7 @@
## Code of Conduct
This project has adopted the [Contributor
Covenant](https://www.contributor-covenant.org/). For details, see the full
text [here](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
For more information, additional questions or comments contact the project's
maintainers.

47
.github/actions/docker-build/action.yml vendored Normal file
View File

@@ -0,0 +1,47 @@
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
#
# SPDX-License-Identifier: MIT
name: "Build a docker image"
inputs:
docker_image:
required: true
description: "The name of the docker image"
id:
required: true
description: "Namespace for the image"
runs:
using: "composite"
steps:
- name: Build the ${{ inputs.docker_image }} docker image
shell: bash
# We run this unconditionally even if the change doesn't touch the
# relevant docker files because there is a chance that another PR (or
# something else) rebuilt the local image. For example if the first
# version of the PR included change for the relevant docker image but a
# subsequent push to the PR branch dropped them. In this way we rebuild
# the image to avoid using the changes from the previous push.
run: |
cd .github/workflows/docker-images/
# We build a temporary image namespaced by the PR number so we can
# handle multiple runners on the same host using the same docker
# storage.
tries=3
n=1
until [ "$n" -gt "$tries" ]; do
echo "Building the docker image ${{ inputs.docker_image }}-${{ inputs.id }}... try $n..."
if docker build --no-cache . -f "${{ inputs.docker_image }}/Dockerfile" -t "${{ inputs.docker_image }}-${{ inputs.id }}"; then
# This can fail if a dangling images cleaning job runs in
# parallel. So we try this a couple of times to minimize
# conflict. This is because while building, docker creates a
# untagged image first (dangling) before tagging it at the end.
# If between these two operations a dangling cleanup happens,
# build fails.
break
fi
n=$((n+1))
done
[ "$n" -lt "$tries" ]
echo "Temporary image built in ${{ inputs.docker_image }}."

View File

@@ -0,0 +1,18 @@
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
#
# SPDX-License-Identifier: MIT
name: "Cleanup dangling docker images"
runs:
using: "composite"
steps:
- name: Cleanup dangling images
shell: bash
run: |
echo -n "Cleanup dangling images... "
if ! docker rmi $(docker images --filter "dangling=true" -q --no-trunc) > /dev/null 2>&1; then
echo "no dangling images found."
else
echo "done."
fi

View File

@@ -0,0 +1,19 @@
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
#
# SPDX-License-Identifier: MIT
name: "Cleanup docker storage"
inputs:
docker_image:
required: true
description: "The name of the docker image"
runs:
using: "composite"
steps:
- name: Cleanup temporary image
shell: bash
run: |
echo "Cleanup ${{ inputs.docker_image }} image..."
docker rmi "${{ inputs.docker_image }}" || true

View File

@@ -0,0 +1,23 @@
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
#
# SPDX-License-Identifier: MIT
name: Cancel redundant workflows
on:
workflow_run:
workflows:
- "Builds"
- "Compliance"
- "Yocto Compatible"
types:
- requested
jobs:
cancel-redundant-workflows:
runs-on: ubuntu-latest
steps:
- uses: styfle/cancel-workflow-action@0.10.0
with:
all_but_latest: true
workflow_id: ${{ github.event.workflow.id }}

49
.github/workflows/compliance.yml vendored Normal file
View File

@@ -0,0 +1,49 @@
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
#
# SPDX-License-Identifier: MIT
name: Compliance
on:
pull_request:
jobs:
dco:
name: DCO
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Build a temporary DCO image
uses: ./.github/actions/docker-build
with:
docker_image: dco-check
id: ${{ github.event.number }}
- name: Do DCO check
run: |
docker run --rm --security-opt apparmor=unconfined \
--security-opt seccomp=unconfined \
-v "$GITHUB_WORKSPACE:/work:ro" \
--env "BASE_REF=$GITHUB_BASE_REF" \
"dco-check-${{ github.event.number }}"
- name: Cleanup temporary docker image
uses: ./.github/actions/docker-clean-image
with:
docker_image: dco-check-${{ github.event.number }}
if: always()
- name: Cleanup dangling docker images
uses: ./.github/actions/docker-clean-dangling
if: always()
reuse:
name: reuse
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Do reuse check
continue-on-error: true
uses: fsfe/reuse-action@v1

View File

@@ -0,0 +1,21 @@
<!--
SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
SPDX-License-Identifier: MIT
-->
# Docker images for CI
Each directory contains the files for a docker image.
## Building an image
When building a docker image, the build context is expected to be where this
`README.md` file resides. This means that building the images will require
passing the appropriate `-f` argument.
Here is an example for building the `dco-check` image:
```
docker build --no-cache . -f dco-check/Dockerfile -t dco-check
```

View File

@@ -0,0 +1,13 @@
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
#
# SPDX-License-Identifier: MIT
FROM christophebedard/dco-check:latest
# Run under normal user called 'ci'
RUN useradd --create-home --uid 1000 --shell /usr/bin/bash ci
USER ci
COPY ./dco-check/entrypoint.sh /
COPY ./utils.sh /
ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -0,0 +1,16 @@
<!--
SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
SPDX-License-Identifier: MIT
-->
# Docker image for DCO checks
This image provides the environment and the logic of running a DCO check
against a repository.
## Configuration
The `entrypoint.sh` script assumes at runtime that the repository to be checked
is available under `/work`. This path is to be populated via bind mounts when
running the container.

View File

@@ -0,0 +1,29 @@
#!/bin/sh
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
#
# SPDX-License-Identifier: MIT
set -e
# shellcheck disable=SC1091
. /utils.sh
GIT_REPO_PATH="/work"
[ -n "$BASE_REF" ] ||
error "DCO checks needs to know the target branch. Make sure that is set in BASE_REF."
[ -d "$GIT_REPO_PATH/.git" ] ||
error "Can't find a git checkout under $GIT_REPO_PATH ."
cd "$GIT_REPO_PATH"
# The GitHub runner user and the container user might differ making git error
# out with:
# error: fatal: detected dubious ownership in repository at '/work'
# Avoid this as the security risk is minimum here while guarding the git hooks
# via PRs.
git config --global --add safe.directory /work
dco-check \
--verbose \
--default-branch "origin/$BASE_REF"

View File

@@ -0,0 +1,28 @@
#!/bin/sh
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
#
# SPDX-License-Identifier: MIT
_log() {
_level="$1"
_msg="$2"
echo "[$_level] $_msg"
}
error() {
_msg="$1"
_log "ERR" "$1"
exit 1
}
warn() {
_msg="$1"
_log "WRN" "$1"
exit 1
}
log() {
_msg="$1"
_log "LOG" "$1"
}

View File

@@ -0,0 +1,43 @@
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
#
# SPDX-License-Identifier: MIT
FROM ubuntu:22.04
ARG DEBIAN_FRONTEND="noninteractive"
RUN apt-get update -qq
RUN apt-get install -y eatmydata
# Yocto/OE build host dependencies
# Keep this in sync with
# https://git.yoctoproject.org/poky/tree/documentation/poky.yaml.in
# https://git.yoctoproject.org/poky/tree/documentation/tools/host_packages_scripts/ubuntu_essential.sh
RUN eatmydata apt-get install -qq -y \
build-essential chrpath cpio debianutils diffstat file gawk gcc \
git iputils-ping libacl1 liblz4-tool locales python3 python3-git \
python3-jinja2 python3-pexpect python3-pip python3-subunit socat \
texinfo unzip wget xz-utils zstd
# en_US.UTF-8 is required by the build system
RUN eatmydata apt-get install -qq -y locales \
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen
ENV LANG en_US.utf8
RUN eatmydata apt-get clean && rm -rf /var/lib/apt/lists/*
# Have bash as shell
RUN echo "dash dash/sh boolean false" | debconf-set-selections \
&& dpkg-reconfigure dash
# Fix the resource exhaustion problem on the build infrastructure
RUN echo 'vm.max_map_count = 4048576' >> /etc/sysctl.conf
# Run under normal user called 'ci'
RUN useradd --create-home --uid 1000 --shell /usr/bin/bash ci
USER ci
WORKDIR /home/ci
COPY ./yocto-builder/entrypoint-yocto-check-layer.sh /
COPY ./yocto-builder/entrypoint-build.sh /
COPY ./utils.sh /

View File

@@ -0,0 +1,16 @@
<!--
SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
SPDX-License-Identifier: MIT
-->
# Docker image for builds
This defines the docker image for running Yocto/OE based operations/builds. It
privides multiple scripts for driving different operations.
## Configuration
The `entrypoint` scripts assumes at runtime that the repository to drive the
operation against is available under `/work`. This path is to be populated via
bind mounts when running the container.

View File

@@ -0,0 +1,64 @@
#!/bin/sh
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
#
# SPDX-License-Identifier: MIT
set -ex
# shellcheck disable=SC1091
. /utils.sh
META_RASPBERRYPI_PATH="/work"
[ -n "$BASE_REF" ] ||
error "Target branch is needed. Make sure that is set in BASE_REF."
[ -d "$META_RASPBERRYPI_PATH/.git" ] ||
error "Can't find a git checkout under $META_RASPBERRYPI_PATH ."
[ -n "$MACHINE" ] ||
error "Machine to be used for build not provided."
[ -n "$IMAGE" ] ||
error "Image to build not provided."
TEMP_DIR="$(mktemp -d)"
cd "$TEMP_DIR"
REPOS=" \
git://git.yoctoproject.org/poky.git \
"
for repo in $REPOS; do
log "Cloning $repo on branch $BASE_REF..."
git clone --depth 1 --branch "$BASE_REF" "$repo"
done
# shellcheck disable=SC1091,SC2240
. ./poky/oe-init-build-env build
# Build configuration
printf "\n# ------ ci ------\n" >> conf/local.conf
[ -z "$SSTATE_DIR" ] || echo SSTATE_DIR = \""$SSTATE_DIR"\" >> conf/local.conf
[ -z "$DL_DIR" ] || echo DL_DIR = \""$DL_DIR"\" >> conf/local.conf
[ -z "$DISTRO" ] || echo DISTRO = \""$DISTRO"\" >> conf/local.conf
cat <<EOCONF >>conf/local.conf
BB_NUMBER_THREADS = "6"
PARALLEL_MAKE = "-j 6"
# unmerged-usr is deprecated
# https://lore.kernel.org/all/3f2f03085301d22854e5429019fb010f27d98bc7.camel@linuxfoundation.org/t/
DISTRO_FEATURES:append = " systemd usrmerge"
VIRTUAL-RUNTIME_init_manager = "systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit"
VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"
EOCONF
# Add the BSP layer
bitbake-layers add-layer "$META_RASPBERRYPI_PATH"
# Log configs for debugging purposes
for f in 'conf/local.conf' 'conf/bblayers.conf'; do
printf "\n------ %s ------\n" "$f"
cat "$f"
done
# Fire!
MACHINE="$MACHINE" bitbake "$IMAGE"

View File

@@ -0,0 +1,33 @@
#!/bin/sh
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
#
# SPDX-License-Identifier: MIT
set -ex
# shellcheck disable=SC1091
. /utils.sh
GIT_REPO_PATH="/work"
[ -n "$BASE_REF" ] ||
error "Target branch is needed. Make sure that is set in BASE_REF."
[ -d "$GIT_REPO_PATH/.git" ] ||
error "Can't find a git checkout under $GIT_REPO_PATH ."
TEMP_DIR="$(mktemp -d)"
cd "$TEMP_DIR"
REPOS=" \
git://git.yoctoproject.org/poky.git \
"
for repo in $REPOS; do
log "Cloning $repo on branch $BASE_REF..."
git clone --depth 1 --branch "$BASE_REF" "$repo"
done
# shellcheck disable=SC1091,SC2240
. ./poky/oe-init-build-env build
yocto-check-layer --with-software-layer-signature-check --debug \
"$GIT_REPO_PATH"

22
.github/workflows/mirror.yml vendored Normal file
View File

@@ -0,0 +1,22 @@
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
#
# SPDX-License-Identifier: MIT
name: Mirrors
on: [ push, delete, create ]
concurrency:
group: git-mirror-me
jobs:
yocto-mirror:
name: Yocto Git Mirror
runs-on: ubuntu-latest
steps:
- uses: agherzan/git-mirror-me-action@11f54c7186724daafbe5303b5075954f1a19a63e
env:
GMM_SSH_PRIVATE_KEY: ${{ secrets.YOCTO_META_RASPBERRYPI_SSH_PRIVATE_KEY }}
GMM_SSH_KNOWN_HOSTS: ${{ secrets.YOCTO_META_RASPBERRYPI_SSH_KNOWN_HOSTS }}
GMM_DST_REPO: "ssh://git@push.yoctoproject.org/meta-raspberrypi"
GMM_DEBUG: "1"

91
.github/workflows/yocto-builds.yml vendored Normal file
View File

@@ -0,0 +1,91 @@
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
#
# SPDX-License-Identifier: MIT
---
name: Builds
on:
pull_request:
jobs:
build:
strategy:
fail-fast: true
matrix:
machine:
- raspberrypi
- raspberrypi0-2w-64
- raspberrypi0-2w
- raspberrypi0
- raspberrypi0-wifi
- raspberrypi2
- raspberrypi3-64
- raspberrypi3
- raspberrypi4-64
- raspberrypi4
- raspberrypi5
- raspberrypi-cm3
- raspberrypi-cm
- raspberrypi-armv7
- raspberrypi-armv8
image: [rpi-test-image]
distro: [poky]
runs-on: [self-hosted, Linux]
name: ${{ matrix.machine }}/${{ matrix.image }}/poky/systemd
env:
DL_DIR: /var/lib/ci/yocto/downloads
SSTATE_DIR: /var/lib/ci/yocto/sstate
steps:
- name: Checkout the code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Define Yocto build files
id: changed-files-specific
uses: tj-actions/changed-files@v24
with:
files: |
.github/actions/**
.github/workflows/docker-images/yocto-builder/**
.github/workflows/docker-images/*.sh
.github/workflows/yocto-builds.yml
classes/**
conf/**
dynamic-layers/**
files/**
lib/**
recipes-**
wic/**
- name: Build a temporary yocto-builder image
uses: ./.github/actions/docker-build
with:
docker_image: yocto-builder
id: ${{ github.event.number }}
if: steps.changed-files-specific.outputs.any_changed == 'true'
- name: Build the image
run: |
docker run --rm --security-opt apparmor=unconfined \
--security-opt seccomp=unconfined \
-v "$GITHUB_WORKSPACE:/work:ro" \
-v "$DL_DIR:$DL_DIR:rw" \
-v "$SSTATE_DIR:$SSTATE_DIR:rw" \
--env "BASE_REF=$GITHUB_BASE_REF" \
--env "MACHINE=${{ matrix.machine }}" \
--env "DISTRO=${{ matrix.distro }}" \
--env "IMAGE=${{ matrix.image }}" \
--env "DL_DIR=$DL_DIR" \
--env "SSTATE_DIR=$SSTATE_DIR" \
--ulimit "nofile=1024:1048576" \
"yocto-builder-${{ github.event.number }}" \
/entrypoint-build.sh
if: steps.changed-files-specific.outputs.any_changed == 'true'
- name: Cleanup temporary docker image
uses: ./.github/actions/docker-clean-image
with:
docker_image: yocto-builder-${{ github.event.number }}
if: always()
- name: Cleanup dangling docker images
uses: ./.github/actions/docker-clean-dangling
if: always()

58
.github/workflows/yocto-layer.yml vendored Normal file
View File

@@ -0,0 +1,58 @@
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
#
# SPDX-License-Identifier: MIT
---
name: Yocto Compatible
on:
pull_request:
jobs:
yocto-check-layer:
name: Validate with yocto-check-layer
runs-on: [self-hosted, Linux]
steps:
- name: Checkout the code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Define Yocto build files
id: changed-files-specific
uses: tj-actions/changed-files@v24
with:
files: |
.github/actions/**
.github/workflows/docker-images/yocto-builder/**
.github/workflows/docker-images/*.sh
.github/workflows/yocto-builds.yml
classes/**
conf/**
dynamic-layers/**
files/**
lib/**
recipes-**
wic/**
- name: Build a temporary yocto-builder image
uses: ./.github/actions/docker-build
with:
docker_image: yocto-builder
id: ${{ github.event.number }}
if: steps.changed-files-specific.outputs.any_changed == 'true'
- name: Run yocto-check-layer
run: |
docker run --rm --security-opt apparmor=unconfined \
-v "$GITHUB_WORKSPACE:/work:ro" \
--env "BASE_REF=$GITHUB_BASE_REF" \
"yocto-builder-${{ github.event.number }}" \
/entrypoint-yocto-check-layer.sh
if: steps.changed-files-specific.outputs.any_changed == 'true'
- name: Cleanup temporary docker image
uses: ./.github/actions/docker-clean-image
with:
docker_image: yocto-builder-${{ github.event.number }}
if: always()
- name: Cleanup dangling docker images
uses: ./.github/actions/docker-clean-dangling
if: always()

2
.gitignore vendored
View File

@@ -5,3 +5,5 @@ build*
*.rej *.rej
*.log *.log
docs/_build docs/_build
/layers
*.pyc

11
.readthedocs.yaml Normal file
View File

@@ -0,0 +1,11 @@
version: 2
sphinx:
configuration: docs/conf.py
build:
os: ubuntu-22.04
tools:
python: "3.7"
python:
install:
- requirements: docs/requirements.txt

View File

@@ -2,18 +2,31 @@
Yocto BSP layer for the Raspberry Pi boards - <http://www.raspberrypi.org/>. Yocto BSP layer for the Raspberry Pi boards - <http://www.raspberrypi.org/>.
[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi1/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi1)
[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi2/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi2)
[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi3/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi3)
[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi4/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi4)
[![Documentation Status](https://readthedocs.org/projects/meta-raspberrypi/badge/?version=latest)](https://meta-raspberrypi.readthedocs.io/en/latest/?badge=latest) [![Documentation Status](https://readthedocs.org/projects/meta-raspberrypi/badge/?version=latest)](https://meta-raspberrypi.readthedocs.io/en/latest/?badge=latest)
[![Matrix](https://img.shields.io/matrix/meta-raspberrypi:cub.icu.svg?server_fqdn=matrix.cub.icu)](https://matrix.to/#/#meta-raspberrypi:cub.icu) [![Matrix](https://img.shields.io/badge/chat-meta--raspberrypi-brightgreen)](https://matrix.to/#/#meta-raspberrypi:matrix.org)
<table border="0" rules="none">
<tr border="0">
<td width="140" height="100" align="center">
<br />
<a href="https://www.yoctoproject.org/ecosystem/branding/">
<img alt="Yocto Project Layer Compatible" src="img/LF_17_02_Yocto-Badge-Update_Compatible_Final_Blank.png">
</a>
</td>
<td width="150" height="100" align="center">
Sponsored by:<br />
<a href="https://balena.io">
<img alt="balena.io" src="img/balena.png">
</a>
</td>
</tr>
</table>
## Quick links ## Quick links
* Git repository web frontend: * Git repository web frontend:
<https://github.com/agherzan/meta-raspberrypi> <https://github.com/agherzan/meta-raspberrypi>
* Mailing list (yocto mailing list): <yocto@yoctoproject.org> * Mailing list (yocto mailing list): <yocto@lists.yoctoproject.org>
* Issues management (Github Issues): * Issues management (Github Issues):
<https://github.com/agherzan/meta-raspberrypi/issues> <https://github.com/agherzan/meta-raspberrypi/issues>
* Documentation: <http://meta-raspberrypi.readthedocs.io/en/latest/> * Documentation: <http://meta-raspberrypi.readthedocs.io/en/latest/>
@@ -28,9 +41,15 @@ The core BSP part of meta-raspberrypi should work with different
OpenEmbedded/Yocto distributions and layer stacks, such as: OpenEmbedded/Yocto distributions and layer stacks, such as:
* Distro-less (only with OE-Core). * Distro-less (only with OE-Core).
* Angstrom. * Yoe Disto (Video and Camera Products).
* Yocto/Poky (main focus of testing). * Yocto/Poky (main focus of testing).
## Yocto Project Compatible Layer
This layer is officially approved as part of the `Yocto Project Compatible
Layers Program`. You can find details of that on the official Yocto Project
[website](https://www.yoctoproject.org/development/yocto-project-compatible-layers/).
## Dependencies ## Dependencies
This layer depends on: This layer depends on:
@@ -39,26 +58,21 @@ This layer depends on:
* branch: master * branch: master
* revision: HEAD * revision: HEAD
* URI: git://git.openembedded.org/meta-openembedded
* layers: meta-oe, meta-multimedia, meta-networking, meta-python
* branch: master
* revision: HEAD
## Quick Start ## Quick Start
1. source poky/oe-init-build-env rpi-build 1. source poky/oe-init-build-env rpi-build
2. Add this layer to bblayers.conf and the dependencies above 2. Add this layer to bblayers.conf and the dependencies above
3. Set MACHINE in local.conf to one of the supported boards 3. Set MACHINE in local.conf to one of the supported boards
4. bitbake core-image-base 4. bitbake core-image-base
5. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used) 5. Use bmaptool to copy the generated .wic.bz2 file to the SD card
6. Boot your RPI. 6. Boot your RPI
## Quick Start with kas ## Quick Start with kas
1. Install kas build tool from PyPi (sudo pip3 install kas) 1. Install kas build tool from PyPi (sudo pip3 install kas)
2. kas build meta-raspberrypi/kas-poky-rpi.yml 2. kas build meta-raspberrypi/kas-poky-rpi.yml
3. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used) 3. Use bmaptool to copy the generated .wic.bz2 file to the SD card
4. Boot your RPI. 4. Boot your RPI
To adjust the build configuration with specific options (I2C, SPI, ...), simply add To adjust the build configuration with specific options (I2C, SPI, ...), simply add
a section as follows: a section as follows:
@@ -67,14 +81,21 @@ a section as follows:
local_conf_header: local_conf_header:
rpi-specific: | rpi-specific: |
ENABLE_I2C = "1" ENABLE_I2C = "1"
RPI_EXTRA_CONFIG = "dtoverlay=pi3-disable-bt" RPI_EXTRA_CONFIG = "dtoverlay=disable-bt"
``` ```
To configure the machine, you have to update the `machine` variable. To configure the machine, you have to update the `machine` variable.
And the same for the `distro`. And the same for the `distro`.
For further information, you can read more at <https://kas.readthedocs.io/en/1.0/index.html> For further information, you can read more at <https://kas.readthedocs.io/en/latest/index.html>
## Contributing
You can send patches using the GitHub pull request process or/and through the
Yocto mailing list. Refer to the
[documentation](https://meta-raspberrypi.readthedocs.io/en/latest/contributing.html)
for more information.
## Maintainers ## Maintainers
* Andrei Gherzan `<andrei at gherzan.ro>` * Andrei Gherzan `<andrei at gherzan.com>`

20
SECURITY.md Normal file
View File

@@ -0,0 +1,20 @@
How to Report a Potential Vulnerability?
========================================
If you would like to report a public issue (for example, one with a released
CVE number), please report it via GitHub issues:
https://github.com/agherzan/meta-raspberrypi/issues/new/choose
If you are dealing with a not-yet released or urgent issue, please send a
message to one of the maintainers listed in the [README.md](https://github.com/agherzan/meta-raspberrypi/blob/master/README.md). Include as many
details as possible:
- the layer or software module affected
- the recipe and its version
- any example code, if available
Branches maintained with security fixes
---------------------------------------
See https://wiki.yoctoproject.org/wiki/Releases for the list of current
releases. We only accept patches for the LTS releases and the master branch.

View File

@@ -13,31 +13,25 @@ inherit image_types
# Default Free space = 1.3x # Default Free space = 1.3x
# Use IMAGE_OVERHEAD_FACTOR to add more space # Use IMAGE_OVERHEAD_FACTOR to add more space
# <---------> # <--------->
# 4MiB 40MiB SDIMG_ROOTFS # 4MiB 48MiB SDIMG_ROOTFS
# <-----------------------> <----------> <----------------------> # <-----------------------> <----------> <---------------------->
# ------------------------ ------------ ------------------------ # ------------------------ ------------ ------------------------
# | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE | # | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE |
# ------------------------ ------------ ------------------------ # ------------------------ ------------ ------------------------
# ^ ^ ^ ^ # ^ ^ ^ ^
# | | | | # | | | |
# 0 4MiB 4MiB + 40MiB 4MiB + 40Mib + SDIMG_ROOTFS # 0 4MiB 4MiB + 48MiB 4MiB + 48Mib + SDIMG_ROOTFS
# This image depends on the rootfs image # This image depends on the rootfs image
IMAGE_TYPEDEP_rpi-sdimg = "${SDIMG_ROOTFS_TYPE}" IMAGE_TYPEDEP:rpi-sdimg = "${SDIMG_ROOTFS_TYPE}"
# Set kernel and boot loader
IMAGE_BOOTLOADER ?= "bcm2835-bootfiles"
# Kernel image name
SDIMG_KERNELIMAGE_raspberrypi ?= "kernel.img"
SDIMG_KERNELIMAGE_raspberrypi2 ?= "kernel7.img"
SDIMG_KERNELIMAGE_raspberrypi3-64 ?= "kernel8.img"
# Boot partition volume id # Boot partition volume id
BOOTDD_VOLUME_ID ?= "${MACHINE}" # Shorten raspberrypi to just rpi to keep it under 11 characters
# now enforced by mkfs.vfat from dosfstools-4.2
BOOTDD_VOLUME_ID ?= "${@d.getVar('MACHINE').replace('raspberrypi', 'rpi')}"
# Boot partition size [in KiB] (will be rounded up to IMAGE_ROOTFS_ALIGNMENT) # Boot partition size [in KiB] (will be rounded up to IMAGE_ROOTFS_ALIGNMENT)
BOOT_SPACE ?= "40960" BOOT_SPACE ?= "49152"
# Set alignment to 4MB [in KiB] # Set alignment to 4MB [in KiB]
IMAGE_ROOTFS_ALIGNMENT = "4096" IMAGE_ROOTFS_ALIGNMENT = "4096"
@@ -49,22 +43,24 @@ SDIMG_ROOTFS = "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${SDIMG_ROOTFS_TYPE}"
# For the names of kernel artifacts # For the names of kernel artifacts
inherit kernel-artifact-names inherit kernel-artifact-names
RPI_SDIMG_EXTRA_DEPENDS ?= ""
do_image_rpi_sdimg[depends] = " \ do_image_rpi_sdimg[depends] = " \
parted-native:do_populate_sysroot \ parted-native:do_populate_sysroot \
mtools-native:do_populate_sysroot \ mtools-native:do_populate_sysroot \
dosfstools-native:do_populate_sysroot \ dosfstools-native:do_populate_sysroot \
virtual/kernel:do_deploy \ virtual/kernel:do_deploy \
${IMAGE_BOOTLOADER}:do_deploy \ rpi-bootfiles:do_deploy \
rpi-config:do_deploy \
${@bb.utils.contains('MACHINE_FEATURES', 'armstub', 'armstubs:do_deploy', '' ,d)} \ ${@bb.utils.contains('MACHINE_FEATURES', 'armstub', 'armstubs:do_deploy', '' ,d)} \
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \ ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'rpi-u-boot-scr:do_deploy', '',d)} \ ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot-default-script:do_deploy', '',d)} \
${RPI_SDIMG_EXTRA_DEPENDS} \
" "
do_image_rpi_sdimg[recrdeps] = "do_build" do_image_rpi_sdimg[recrdeps] = "do_build"
# SD card image name # SD card image name
SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.rpi-sdimg" SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rpi-sdimg"
# Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS. # Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS.
FATPAYLOAD ?= "" FATPAYLOAD ?= ""
@@ -74,19 +70,7 @@ SDIMG_VFAT_DEPLOY ?= "${RPI_USE_U_BOOT}"
SDIMG_VFAT = "${IMAGE_NAME}.vfat" SDIMG_VFAT = "${IMAGE_NAME}.vfat"
SDIMG_LINK_VFAT = "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.vfat" SDIMG_LINK_VFAT = "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.vfat"
def split_overlays(d, out, ver=None): IMAGE_CMD:rpi-sdimg () {
dts = d.getVar("KERNEL_DEVICETREE")
# Device Tree Overlays are assumed to be suffixed by '-overlay.dtb' (4.1.x) or by '.dtbo' (4.4.9+) string and will be put in a dedicated folder
if out:
overlays = oe.utils.str_filter_out('\S+\-overlay\.dtb$', dts, d)
overlays = oe.utils.str_filter_out('\S+\.dtbo$', overlays, d)
else:
overlays = oe.utils.str_filter('\S+\-overlay\.dtb$', dts, d) + \
" " + oe.utils.str_filter('\S+\.dtbo$', dts, d)
return overlays
IMAGE_CMD_rpi-sdimg () {
# Align partitions # Align partitions
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1) BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
@@ -96,7 +80,7 @@ IMAGE_CMD_rpi-sdimg () {
echo "Creating filesystem with Boot partition ${BOOT_SPACE_ALIGNED} KiB and RootFS $ROOTFS_SIZE KiB" echo "Creating filesystem with Boot partition ${BOOT_SPACE_ALIGNED} KiB and RootFS $ROOTFS_SIZE KiB"
# Check if we are building with device tree support # Check if we are building with device tree support
DTS="${KERNEL_DEVICETREE}" DTS="${@make_dtb_boot_files(d)}"
# Initialize sdcard image file # Initialize sdcard image file
dd if=/dev/zero of=${SDIMG} bs=1024 count=0 seek=${SDIMG_SIZE} dd if=/dev/zero of=${SDIMG} bs=1024 count=0 seek=${SDIMG_SIZE}
@@ -114,22 +98,25 @@ IMAGE_CMD_rpi-sdimg () {
BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDIMG} unit b print | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 512 /2 }') BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDIMG} unit b print | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 512 /2 }')
rm -f ${WORKDIR}/boot.img rm -f ${WORKDIR}/boot.img
mkfs.vfat -F32 -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS mkfs.vfat -F32 -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/ || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* into boot.img" mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${BOOTFILES_DIR_NAME}/* ::/ || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${BOOTFILES_DIR_NAME}/* into boot.img"
if [ "${@bb.utils.contains("MACHINE_FEATURES", "armstub", "1", "0", d)}" = "1" ]; then if [ "${@bb.utils.contains("MACHINE_FEATURES", "armstub", "1", "0", d)}" = "1" ]; then
mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/armstubs/${ARMSTUB} ::/ || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/armstubs/${ARMSTUB} into boot.img" mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/armstubs/${ARMSTUB} ::/ || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/armstubs/${ARMSTUB} into boot.img"
fi fi
if test -n "${DTS}"; then if test -n "${DTS}"; then
# Copy board device trees to root folder # Copy board device trees (including overlays)
for dtbf in ${@split_overlays(d, True)}; do # There is an assumption here - no DTB in other directories than root
dtb=`basename $dtbf` # and root/overlays. mmd/mcopy are not very flexible tools.
mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::$dtb || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/$dtb into boot.img"
done
# Copy device tree overlays to dedicated folder
mmd -i ${WORKDIR}/boot.img overlays mmd -i ${WORKDIR}/boot.img overlays
for dtbf in ${@split_overlays(d, False)}; do for entry in ${DTS} ; do
dtb=`basename $dtbf` # Split entry at optional ';'
mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::overlays/$dtb || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/$dtb into boot.img" if [ $(echo "$entry" | grep -c \;) = "0" ] ; then
DEPLOY_FILE="$entry"
DEST_FILENAME="$entry"
else
DEPLOY_FILE="$(echo "$entry" | cut -f1 -d\;)"
DEST_FILENAME="$(echo "$entry" | cut -f2- -d\;)"
fi
mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${DEPLOY_FILE} ::${DEST_FILENAME} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${DEPLOY_FILE} into boot.img"
done done
fi fi
if [ "${RPI_USE_U_BOOT}" = "1" ]; then if [ "${RPI_USE_U_BOOT}" = "1" ]; then
@@ -148,6 +135,22 @@ IMAGE_CMD_rpi-sdimg () {
fi fi
fi fi
# Add files (eg. hypervisor binaries) from the deploy dir
if [ -n "${DEPLOYPAYLOAD}" ] ; then
echo "Copying deploy file payload into VFAT"
for entry in ${DEPLOYPAYLOAD} ; do
# Split entry at optional ':' to enable file renaming for the destination
if [ $(echo "$entry" | grep -c :) = "0" ] ; then
DEPLOY_FILE="$entry"
DEST_FILENAME="$entry"
else
DEPLOY_FILE="$(echo "$entry" | cut -f1 -d:)"
DEST_FILENAME="$(echo "$entry" | cut -f2- -d:)"
fi
mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${DEPLOY_FILE} ::${DEST_FILENAME} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${DEPLOY_FILE} into boot.img"
done
fi
if [ -n "${FATPAYLOAD}" ] ; then if [ -n "${FATPAYLOAD}" ] ; then
echo "Copying payload into VFAT" echo "Copying payload into VFAT"
for entry in ${FATPAYLOAD} ; do for entry in ${FATPAYLOAD} ; do

View File

@@ -9,7 +9,8 @@ BBFILE_COLLECTIONS += "raspberrypi"
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/" BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
BBFILE_PRIORITY_raspberrypi = "9" BBFILE_PRIORITY_raspberrypi = "9"
LAYERSERIES_COMPAT_raspberrypi = "sumo thud warrior zeus dunfell" LAYERSERIES_COMPAT_raspberrypi = "styhead walnascar"
LAYERDEPENDS_raspberrypi = "core"
# Additional license directories. # Additional license directories.
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses" LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
@@ -19,11 +20,6 @@ LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
# #
# The .bbappend and .bb files are included if the respective layer # The .bbappend and .bb files are included if the respective layer
# collection is available. # collection is available.
BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bbappend' % layer \
for layer in BBFILE_COLLECTIONS.split())}"
BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bb' % layer \
for layer in BBFILE_COLLECTIONS.split())}"
BBFILES_DYNAMIC += " \ BBFILES_DYNAMIC += " \
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \ openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \ openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \
@@ -31,7 +27,11 @@ BBFILES_DYNAMIC += " \
networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bbappend \ networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bbappend \
qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bb \ qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bb \
qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bbappend \ qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bbappend \
multimedia-layer:${LAYERDIR}/dynamic-layers/multimedia-layer/*/*/*.bb \
multimedia-layer:${LAYERDIR}/dynamic-layers/multimedia-layer/*/*/*.bbappend \
meta-python:${LAYERDIR}/dynamic-layers/meta-python/*/*/*.bb \
meta-python:${LAYERDIR}/dynamic-layers/meta-python/*/*/*.bbappend \
" "
DEFAULT_TEST_SUITES_remove_rpi = "parselogs" DEFAULT_TEST_SUITES:remove:rpi = "parselogs"
DEFAULT_TEST_SUITES_append_rpi = " parselogs_rpi" DEFAULT_TEST_SUITES:append:rpi = " parselogs_rpi"

View File

@@ -15,47 +15,95 @@ XSERVER = " \
" "
RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
overlays/overlay_map.dtb \
overlays/at86rf233.dtbo \ overlays/at86rf233.dtbo \
overlays/disable-bt.dtbo \ overlays/disable-bt.dtbo \
overlays/disable-bt-pi5.dtbo \
overlays/disable-wifi.dtbo \
overlays/disable-wifi-pi5.dtbo \
overlays/dwc2.dtbo \ overlays/dwc2.dtbo \
overlays/gpio-ir.dtbo \
overlays/gpio-ir-tx.dtbo \
overlays/gpio-key.dtbo \ overlays/gpio-key.dtbo \
overlays/gpio-poweroff.dtbo \
overlays/gpio-shutdown.dtbo \
overlays/hifiberry-amp.dtbo \ overlays/hifiberry-amp.dtbo \
overlays/hifiberry-amp100.dtbo \
overlays/hifiberry-amp3.dtbo \
overlays/hifiberry-amp4pro.dtbo \
overlays/hifiberry-dac.dtbo \ overlays/hifiberry-dac.dtbo \
overlays/hifiberry-dacplus.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/hifiberry-digi.dtbo \
overlays/justboom-both.dtbo \
overlays/justboom-dac.dtbo \
overlays/justboom-digi.dtbo \
overlays/i2c-gpio.dtbo \
overlays/i2c-rtc.dtbo \ overlays/i2c-rtc.dtbo \
overlays/imx219.dtbo \
overlays/imx477.dtbo \
overlays/imx708.dtbo \
overlays/iqaudio-dac.dtbo \ overlays/iqaudio-dac.dtbo \
overlays/iqaudio-dacplus.dtbo \ overlays/iqaudio-dacplus.dtbo \
overlays/miniuart-bt.dtbo \
overlays/mcp2515-can0.dtbo \ overlays/mcp2515-can0.dtbo \
overlays/pi3-disable-bt.dtbo \ overlays/mcp2515-can1.dtbo \
overlays/pi3-miniuart-bt.dtbo \ overlays/mcp3008.dtbo \
overlays/miniuart-bt.dtbo \
overlays/pitft22.dtbo \ overlays/pitft22.dtbo \
overlays/pitft28-resistive.dtbo \
overlays/pitft28-capacitive.dtbo \ overlays/pitft28-capacitive.dtbo \
overlays/pitft28-resistive.dtbo \
overlays/pitft35-resistive.dtbo \ overlays/pitft35-resistive.dtbo \
overlays/pps-gpio.dtbo \ overlays/pps-gpio.dtbo \
overlays/rpi-ft5406.dtbo \ overlays/rpi-ft5406.dtbo \
overlays/rpi-poe.dtbo \ overlays/rpi-poe.dtbo \
overlays/vc4-kms-v3d.dtbo \ overlays/uart0.dtbo \
overlays/uart0-pi5.dtbo \
overlays/uart1.dtbo \
overlays/uart1-pi5.dtbo \
overlays/uart2.dtbo \
overlays/uart2-pi5.dtbo \
overlays/uart3.dtbo \
overlays/uart3-pi5.dtbo \
overlays/uart4.dtbo \
overlays/uart4-pi5.dtbo \
overlays/uart5.dtbo \
overlays/vc4-fkms-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/vc4-kms-dsi-ili9881-7inch.dtbo \
overlays/w1-gpio.dtbo \ overlays/w1-gpio.dtbo \
overlays/w1-gpio-pullup.dtbo \
overlays/wm8960-soundcard.dtbo \
overlays/bcm2712d0.dtbo \
" "
RPI_KERNEL_DEVICETREE ?= " \ RPI_KERNEL_DEVICETREE ?= " \
bcm2708-rpi-zero-w.dtb \ broadcom/bcm2708-rpi-zero.dtb \
bcm2708-rpi-b.dtb \ broadcom/bcm2708-rpi-zero-w.dtb \
bcm2708-rpi-b-plus.dtb \ broadcom/bcm2708-rpi-b.dtb \
bcm2709-rpi-2-b.dtb \ broadcom/bcm2708-rpi-b-rev1.dtb \
bcm2710-rpi-3-b.dtb \ broadcom/bcm2708-rpi-b-plus.dtb \
bcm2710-rpi-3-b-plus.dtb \ broadcom/bcm2709-rpi-2-b.dtb \
bcm2711-rpi-4-b.dtb \ broadcom/bcm2710-rpi-2-b.dtb \
bcm2708-rpi-cm.dtb \ broadcom/bcm2710-rpi-3-b.dtb \
bcm2710-rpi-cm3.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 \
" "
KERNEL_DEVICETREE ?= " \ KERNEL_DEVICETREE ??= " \
${RPI_KERNEL_DEVICETREE} \ ${RPI_KERNEL_DEVICETREE} \
${RPI_KERNEL_DEVICETREE_OVERLAYS} \ ${RPI_KERNEL_DEVICETREE_OVERLAYS} \
" "
@@ -78,42 +126,58 @@ MACHINE_FEATURES += "apm usbhost keyboard vfat ext2 screen touchscreen alsa blue
# Raspberry Pi has no hardware clock # Raspberry Pi has no hardware clock
MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc" 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 SERIAL_CONSOLES_CHECK ??= "${SERIAL_CONSOLES}"
SPLASH = "psplash-raspberrypi"
# 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): def make_dtb_boot_files(d):
# Generate IMAGE_BOOT_FILES entries for device tree files listed in # Generate IMAGE_BOOT_FILES entries for device tree files listed in
# KERNEL_DEVICETREE. # KERNEL_DEVICETREE.
alldtbs = d.getVar('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): def transform(dtb):
base = os.path.basename(dtb) base = os.path.basename(dtb)
if dtb.endswith('dtb'): if dtb.endswith('dtbo') or base == 'overlay_map.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'):
# overlay dtb: # overlay dtb:
# eg: overlays/hifiberry-amp.dtbo has: # eg: overlays/hifiberry-amp.dtbo has:
# DEPLOYDIR file: hifiberry-amp.dtbo # DEPLOYDIR file: hifiberry-amp.dtbo
# destination: overlays/hifiberry-amp.dtbo # destination: overlays/hifiberry-amp.dtbo
return '{};{}'.format(base, dtb) 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]) return ' '.join([transform(dtb) for dtb in alldtbs.split(' ') if dtb])
RPI_EXTRA_IMAGE_BOOT_FILES ?= " \
IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* \
${@make_dtb_boot_files(d)} \
${@bb.utils.contains('RPI_USE_U_BOOT', '1', \ ${@bb.utils.contains('RPI_USE_U_BOOT', '1', \
'${KERNEL_IMAGETYPE} u-boot.bin;${SDIMG_KERNELIMAGE} boot.scr', \ '${KERNEL_IMAGETYPE} u-boot.bin;${SDIMG_KERNELIMAGE} boot.scr', \
'${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}', d)} \ '${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}', d)} \
" "
IMAGE_BOOT_FILES ?= "${BOOTFILES_DIR_NAME}/* \
${@make_dtb_boot_files(d)} \
${RPI_EXTRA_IMAGE_BOOT_FILES} \
"
EXTRA_IMAGEDEPENDS += "rpi-bootfiles"
do_image_wic[depends] += " \ 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)} \ ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
" "
@@ -121,4 +185,4 @@ do_image_wic[recrdeps] = "do_build"
# The kernel image is installed into the FAT32 boot partition and does not need # The kernel image is installed into the FAT32 boot partition and does not need
# to also be installed into the rootfs. # to also be installed into the rootfs.
RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""

View File

@@ -1,6 +1,6 @@
# RaspberryPi BSP default providers # 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/xserver ?= "xserver-xorg"
PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}" 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/libgles2 ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}"
@@ -11,3 +11,5 @@ PREFERRED_PROVIDER_jpeg ?= "jpeg"
PREFERRED_PROVIDER_virtual/libomxil ?= "userland" PREFERRED_PROVIDER_virtual/libomxil ?= "userland"
VIRTUAL-RUNTIME_libomxil = "userland" VIRTUAL-RUNTIME_libomxil = "userland"
PREFERRED_PROVIDER_u-boot-default-script ??= "rpi-u-boot-scr"

View File

@@ -1,3 +1,9 @@
# RaspberryPi BSP default settings # RaspberryPi BSP default settings
IMAGE_CLASSES += "sdcard_image-rpi" 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"

View File

@@ -1,3 +1,4 @@
# RaspberryPi BSP default versions # 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}"

View File

@@ -1,15 +1,17 @@
DEFAULTTUNE ?= "armv6" DEFAULTTUNE ?= "arm1176jzfshf"
require conf/machine/include/arm/arch-armv6.inc require conf/machine/include/arm/arch-armv6.inc
TUNEVALID[arm1176jzfs] = "Enable arm1176jzfs specific processor optimizations" 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', 'arm1176jzfs', ' -mcpu=arm1176jzf-s', '', d)}"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "vfp", "-mfpu=vfp", "", d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzfs', 'armv6:', '', d)}"
AVAILTUNES += "arm1176jzfs arm1176jzfshf" AVAILTUNES += "arm1176jzfs"
ARMPKGARCH_tune-arm1176jzfs = "arm1176jzfs" ARMPKGARCH:tune-arm1176jzfs = "arm1176jzfs"
ARMPKGARCH_tune-arm1176jzfshf = "arm1176jzfs" TUNE_FEATURES:tune-arm1176jzfs = "arm thumb vfp arm1176jzfs"
TUNE_FEATURES_tune-arm1176jzfs = "${TUNE_FEATURES_tune-armv6} arm1176jzfs" PACKAGE_EXTRA_ARCHS:tune-arm1176jzfs = "${PACKAGE_EXTRA_ARCHS:tune-armv6} arm1176jzfs"
TUNE_FEATURES_tune-arm1176jzfshf = "${TUNE_FEATURES_tune-arm1176jzfs} callconvention-hard"
PACKAGE_EXTRA_ARCHS_tune-arm1176jzfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6}" AVAILTUNES += "arm1176jzfshf"
PACKAGE_EXTRA_ARCHS_tune-arm1176jzfshf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} arm1176jzfshf-vfp" 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"

View 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} \
"

View File

@@ -0,0 +1,49 @@
# 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 \
broadcom/bcm2712-rpi-cm5-cm5io.dtb \
broadcom/bcm2712-rpi-cm5-cm4io.dtb \
broadcom/bcm2712-rpi-cm5l-cm5io.dtb \
broadcom/bcm2712-rpi-cm5l-cm4io.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"

View File

@@ -2,7 +2,7 @@
#@NAME: RaspberryPi Compute Module (CM1) #@NAME: RaspberryPi Compute Module (CM1)
#@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module (CM1) #@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module (CM1)
MACHINEOVERRIDES = "raspberrypi:${MACHINE}" MACHINEOVERRIDES =. "raspberrypi:"
include conf/machine/raspberrypi.conf include conf/machine/raspberrypi.conf
ARMSTUB ?= "armstub.bin" ARMSTUB ?= "armstub.bin"

View File

@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module 3 (CM3) #@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module 3 (CM3)
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4" 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 include conf/machine/include/rpi-base.inc
SDIMG_KERNELIMAGE ?= "kernel7.img" SDIMG_KERNELIMAGE ?= "kernel7.img"

View File

@@ -7,8 +7,8 @@ DEFAULTTUNE ?= "arm1176jzfshf"
require conf/machine/include/tune-arm1176jzf-s.inc require conf/machine/include/tune-arm1176jzf-s.inc
include conf/machine/include/rpi-base.inc include conf/machine/include/rpi-base.inc
SDIMG_KERNELIMAGE ?= "kernel.img"
UBOOT_MACHINE = "rpi_config"
SERIAL_CONSOLES ?= "115200;ttyAMA0" SERIAL_CONSOLES ?= "115200;ttyAMA0"
UBOOT_MACHINE = "rpi_config"
ARMSTUB ?= "armstub.bin" ARMSTUB ?= "armstub.bin"

View File

@@ -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 \
"

View File

@@ -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 \
"

View File

@@ -2,7 +2,7 @@
#@NAME: RaspberryPi Zero Development Board #@NAME: RaspberryPi Zero Development Board
#@DESCRIPTION: Machine configuration for the RaspberryPi Zero board (https://www.raspberrypi.org/blog/raspberry-pi-zero) #@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 include conf/machine/raspberrypi.conf
SERIAL_CONSOLES ?= "115200;ttyAMA0" SERIAL_CONSOLES ?= "115200;ttyAMA0"

View File

@@ -4,11 +4,11 @@
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4" 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 include conf/machine/include/rpi-base.inc
SDIMG_KERNELIMAGE ?= "kernel7.img"
SERIAL_CONSOLES ?= "115200;ttyAMA0" SERIAL_CONSOLES ?= "115200;ttyAMA0"
UBOOT_MACHINE = "rpi_2_config" UBOOT_MACHINE = "rpi_2_config"
ARMSTUB ?= "armstub7.bin" ARMSTUB ?= "armstub7.bin"

View File

@@ -2,7 +2,7 @@
#@NAME: RaspberryPi 3 Development Board #@NAME: RaspberryPi 3 Development Board
#@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 64 bits mode #@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 64 bits mode
MACHINEOVERRIDES = "raspberrypi3:${MACHINE}" MACHINEOVERRIDES =. "raspberrypi3:"
MACHINE_EXTRA_RRECOMMENDS += "\ MACHINE_EXTRA_RRECOMMENDS += "\
linux-firmware-rpidistro-bcm43430 \ linux-firmware-rpidistro-bcm43430 \
@@ -11,24 +11,25 @@ MACHINE_EXTRA_RRECOMMENDS += "\
bluez-firmware-rpidistro-bcm4345c0-hcd \ 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 include conf/machine/include/rpi-base.inc
RPI_KERNEL_DEVICETREE = " \ RPI_KERNEL_DEVICETREE = " \
broadcom/bcm2710-rpi-3-b.dtb \ broadcom/bcm2710-rpi-3-b.dtb \
broadcom/bcm2710-rpi-3-b-plus.dtb \ broadcom/bcm2710-rpi-3-b-plus.dtb \
broadcom/bcm2837-rpi-3-b.dtb \ broadcom/bcm2837-rpi-3-b.dtb \
broadcom/bcm2710-rpi-cm3.dtb \
" "
SERIAL_CONSOLES ?= "115200;ttyS0" SDIMG_KERNELIMAGE ?= "kernel8.img"
UBOOT_MACHINE = "rpi_3_config"
# When u-boot is enabled we need to use the "Image" format and the "booti" # When u-boot is enabled we need to use the "Image" format and the "booti"
# command to load the kernel # command to load the kernel
KERNEL_IMAGETYPE_UBOOT ?= "Image" KERNEL_IMAGETYPE_UBOOT ?= "Image"
# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet # "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
KERNEL_IMAGETYPE_DIRECT ?= "Image" KERNEL_IMAGETYPE_DIRECT ?= "Image"
KERNEL_BOOTCMD ?= "booti" KERNEL_BOOTCMD ?= "booti"
UBOOT_MACHINE = "rpi_arm64_config"
SERIAL_CONSOLES ?= "115200;ttyS0"
VC4DTBO ?= "vc4-fkms-v3d"
ARMSTUB ?= "armstub8.bin" ARMSTUB ?= "armstub8.bin"

View File

@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 32 bits mode #@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 32 bits mode
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4" 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 include conf/machine/include/rpi-base.inc
MACHINE_EXTRA_RRECOMMENDS += "\ MACHINE_EXTRA_RRECOMMENDS += "\
@@ -17,4 +17,5 @@ SDIMG_KERNELIMAGE ?= "kernel7.img"
UBOOT_MACHINE = "rpi_3_32b_config" UBOOT_MACHINE = "rpi_3_32b_config"
SERIAL_CONSOLES ?= "115200;ttyS0" SERIAL_CONSOLES ?= "115200;ttyS0"
VC4DTBO ?= "vc4-fkms-v3d"
ARMSTUB ?= "armstub7.bin" ARMSTUB ?= "armstub7.bin"

View File

@@ -2,27 +2,32 @@
#@NAME: RaspberryPi 4 Development Board (64bit) #@NAME: RaspberryPi 4 Development Board (64bit)
#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 64 bits mode #@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 64 bits mode
MACHINEOVERRIDES = "raspberrypi4:${MACHINE}" MACHINEOVERRIDES =. "raspberrypi4:"
MACHINE_FEATURES += "pci" MACHINE_FEATURES += "pci"
MACHINE_EXTRA_RRECOMMENDS += "\ MACHINE_EXTRA_RRECOMMENDS += "\
linux-firmware-rpidistro-bcm43455 \ linux-firmware-rpidistro-bcm43455 \
bluez-firmware-rpidistro-bcm4345c0-hcd \ 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 include conf/machine/include/rpi-base.inc
RPI_KERNEL_DEVICETREE = " \ RPI_KERNEL_DEVICETREE = " \
broadcom/bcm2711-rpi-4-b.dtb \ 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" SDIMG_KERNELIMAGE ?= "kernel8.img"
SERIAL_CONSOLES ?= "115200;ttyS0" 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" # When u-boot is enabled we need to use the "Image" format and the "booti"
# command to load the kernel # command to load the kernel
@@ -31,6 +36,4 @@ KERNEL_IMAGETYPE_UBOOT ?= "Image"
KERNEL_IMAGETYPE_DIRECT ?= "Image" KERNEL_IMAGETYPE_DIRECT ?= "Image"
KERNEL_BOOTCMD ?= "booti" 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" ARMSTUB ?= "armstub8-gic.bin"

View File

@@ -3,13 +3,15 @@
#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 32 bit mode #@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 32 bit mode
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4" 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 include conf/machine/include/rpi-base.inc
MACHINE_FEATURES += "pci" MACHINE_FEATURES += "pci"
MACHINE_EXTRA_RRECOMMENDS += "\ MACHINE_EXTRA_RRECOMMENDS += "\
linux-firmware-rpidistro-bcm43455 \ linux-firmware-rpidistro-bcm43455 \
bluez-firmware-rpidistro-bcm4345c0-hcd \ bluez-firmware-rpidistro-bcm4345c0-hcd \
linux-firmware-rpidistro-bcm43456 \
bluez-firmware-rpidistro-bcm4345c5-hcd \
" "
# 'l' stands for LPAE # 'l' stands for LPAE
@@ -17,5 +19,5 @@ SDIMG_KERNELIMAGE ?= "kernel7l.img"
UBOOT_MACHINE = "rpi_4_32b_config" UBOOT_MACHINE = "rpi_4_32b_config"
SERIAL_CONSOLES ?= "115200;ttyS0" SERIAL_CONSOLES ?= "115200;ttyS0"
VC4DTBO ?= "vc4-fkms-v3d" VC4DTBO ?= "vc4-kms-v3d"
ARMSTUB ?= "armstub7.bin" ARMSTUB ?= "armstub7.bin"

View File

@@ -0,0 +1,36 @@
#@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 \
broadcom/bcm2712-rpi-cm5-cm5io.dtb \
broadcom/bcm2712-rpi-cm5-cm4io.dtb \
broadcom/bcm2712-rpi-cm5l-cm5io.dtb \
broadcom/bcm2712-rpi-cm5l-cm4io.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"

View File

@@ -30,7 +30,10 @@
# Add any Sphinx extension module names here, as strings. They can be # Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones. # ones.
extensions = [] extensions = [
'myst_parser',
'sphinx_rtd_theme'
]
# Add any paths that contain templates here, relative to this directory. # Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates'] templates_path = ['_templates']
@@ -50,7 +53,7 @@ master_doc = 'index'
# General information about the project. # General information about the project.
project = 'meta-raspberrypi' project = 'meta-raspberrypi'
copyright = '2017, meta-raspberrypi contributors' copyright = '2022, meta-raspberrypi contributors'
author = 'meta-raspberrypi contributors' author = 'meta-raspberrypi contributors'
# The version info for the project you're documenting, acts as replacement for # The version info for the project you're documenting, acts as replacement for
@@ -121,6 +124,7 @@ todo_include_todos = False
# a list of builtin themes. # a list of builtin themes.
# #
# html_theme = 'alabaster' # html_theme = 'alabaster'
html_theme = "sphinx_rtd_theme"
# Theme options are theme-specific and customize the look and feel of a theme # Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the # further. For a list of options available for each theme, see the
@@ -154,7 +158,7 @@ todo_include_todos = False
# Add any paths that contain custom static files (such as style sheets) here, # Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files, # relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css". # so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static'] #html_static_path = ['_static']
# Add any extra paths that contain custom files (such as robots.txt or # Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied # .htaccess) here, relative to this directory. These files are copied
@@ -337,7 +341,3 @@ texinfo_documents = [
# If true, do not generate a @detailmenu in the "Top" node's menu. # If true, do not generate a @detailmenu in the "Top" node's menu.
# #
# texinfo_no_detailmenu = False # texinfo_no_detailmenu = False
source_parsers = {
'.md': 'recommonmark.parser.CommonMarkParser',
}

View File

@@ -4,8 +4,8 @@
The main communication tool in use is the Yocto Project mailing list: The main communication tool in use is the Yocto Project mailing list:
* <yocto@yoctoproject.org> * <yocto@lists.yoctoproject.org>
* <https://lists.yoctoproject.org/listinfo/yocto> * <https://lists.yoctoproject.org/g/yocto>
Feel free to ask any kind of questions but please always prepend your email Feel free to ask any kind of questions but please always prepend your email
subject with `[meta-raspberrypi]` as this is the global *Yocto* mailing subject with `[meta-raspberrypi]` as this is the global *Yocto* mailing
@@ -84,7 +84,11 @@ sure to use the following formatting for the message subject:
Then, for sending patches to the mailing list, you may use this command: Then, for sending patches to the mailing list, you may use this command:
git send-email --to yocto@yoctoproject.org <generated patch> git send-email --to yocto@lists.yoctoproject.org <generated patch>
When patches are sent through the mailing list, the maintainer will include
them in a GitHub pull request that will take the patches through the CI
workflows. This process happens periodically.
## GitHub issues ## GitHub issues

View File

@@ -6,4 +6,4 @@ omxplayer depends on libav which has a commercial license. So in order to be
able to compile omxplayer you will need to whiteflag the commercial able to compile omxplayer you will need to whiteflag the commercial
license in your local.conf: license in your local.conf:
LICENSE_FLAGS_WHITELIST = "commercial" LICENSE_FLAGS_ACCEPTED = "commercial"

View File

@@ -1,6 +1,6 @@
# Optional build configuration # Optional build configuration
There are a set of ways in which a user can influence different paramenters of There are a set of ways in which a user can influence different parameters of
the build. We list here the ones that are closely related to this BSP or the build. We list here the ones that are closely related to this BSP or
specific to it. For the rest please check: specific to it. For the rest please check:
<http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html> <http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html>
@@ -29,7 +29,7 @@ Accommodate the values above to your own needs (ex: ext3 / ext4).
* `GPU_MEM_1024`: GPU memory in megabyte for the 1024MB Raspberry Pi. Ignored by * `GPU_MEM_1024`: GPU memory in megabyte for the 1024MB Raspberry Pi. Ignored by
the 256MB/512MB RP. Overrides gpu_mem. Max 944. Default not set. the 256MB/512MB RP. Overrides gpu_mem. Max 944. Default not set.
See: <https://www.raspberrypi.org/documentation/configuration/config-txt/memory.md> See: <https://www.raspberrypi.com/documentation/computers/config_txt.html#memory-options>
## VC4 ## VC4
@@ -37,7 +37,7 @@ By default, each machine uses `vc4` for graphics. This will in turn sets mesa as
## Add purchased license codecs ## Add purchased license codecs
To add you own licenses use variables `KEY_DECODE_MPG2` and `KEY_DECODE_WVC1` in To add your own licenses use variables `KEY_DECODE_MPG2` and `KEY_DECODE_WVC1` in
local.conf. Example: local.conf. Example:
KEY_DECODE_MPG2 = "12345678" KEY_DECODE_MPG2 = "12345678"
@@ -47,7 +47,7 @@ You can supply more licenses separated by comma. Example:
KEY_DECODE_WVC1 = "0x12345678,0xabcdabcd,0x87654321" KEY_DECODE_WVC1 = "0x12345678,0xabcdabcd,0x87654321"
See: <https://www.raspberrypi.org/documentation/configuration/config-txt/codeclicence.md> See: <https://www.raspberrypi.com/documentation/computers/config_txt.html#licence-key-and-codec-options>
## Disable overscan ## Disable overscan
@@ -74,10 +74,26 @@ To remove (or adjust) this delay set these variables in local.conf:
BOOT_DELAY = "0" BOOT_DELAY = "0"
BOOT_DELAY_MS = "0" BOOT_DELAY_MS = "0"
## Boot media
The Raspberry Pi 4 board can load the boot image files from SD card and USB memory.
By default SD card media is used as boot media.
To switch the boot media from SD card to USB memory, the following variables are supported
in local.conf: `CMDLINE_ROOT_PARTITION` and `BOOT_MEDIA`.
The default value of `CMDLINE_ROOT_PARTITION` is "/dev/mmcblk0p2" to mount SD card. If you want to mount USB memory partition, set CMDLINE_ROOT_PARTITION to "/dev/sda2".
`BOOT_MEDIA` allows `mmc` and `usb`. The "mmc" is required to load an image from the SD card, following the u-boot specification. Similarly, if you want to load a boot image file from USB memory, set BOOT_MEDIA to "usb".
For example, if you want to use USB boot, please define
the following parameters in your local.conf file.
CMDLINE_ROOT_PARTITION = "/dev/sda2"
BOOT_MEDIA = "usb"
## Set overclocking options ## Set overclocking options
The Raspberry Pi can be overclocked. As of now overclocking up to the "Turbo The Raspberry Pi can be overclocked. As of now overclocking up to the "Turbo
Mode" is officially supported by the raspbery and does not void warranty. Check Mode" is officially supported by the Raspberry Pi and does not void warranty. Check
the config.txt for a detailed description of options and modes. The following the config.txt for a detailed description of options and modes. The following
variables are supported in local.conf: `ARM_FREQ`, `GPU_FREQ`, `CORE_FREQ`, variables are supported in local.conf: `ARM_FREQ`, `GPU_FREQ`, `CORE_FREQ`,
`SDRAM_FREQ` and `OVER_VOLTAGE`. `SDRAM_FREQ` and `OVER_VOLTAGE`.
@@ -89,7 +105,7 @@ Example official settings for Turbo Mode in Raspberry Pi 2:
SDRAM_FREQ = "500" SDRAM_FREQ = "500"
OVER_VOLTAGE = "6" OVER_VOLTAGE = "6"
See: <https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md> See: <https://www.raspberrypi.com/documentation/computers/config_txt.html#overclocking-options>
## HDMI and composite video options ## HDMI and composite video options
@@ -99,14 +115,14 @@ selected according to the connected monitor's EDID information and the composite
mode is defaulted to NTSC using a 4:3 aspect ratio. Check the config.txt for a mode is defaulted to NTSC using a 4:3 aspect ratio. Check the config.txt for a
detailed description of options and modes. The following variables are supported in detailed description of options and modes. The following variables are supported in
local.conf: `HDMI_FORCE_HOTPLUG`, `HDMI_DRIVE`, `HDMI_GROUP`, `HDMI_MODE`, local.conf: `HDMI_FORCE_HOTPLUG`, `HDMI_DRIVE`, `HDMI_GROUP`, `HDMI_MODE`,
`CONFIG_HDMI_BOOST`, `SDTV_MODE`, `SDTV_ASPECT` and `DISPLAY_ROTATE`. `HDMI_CVT`, `CONFIG_HDMI_BOOST`, `SDTV_MODE`, `SDTV_ASPECT` and `DISPLAY_ROTATE`.
Example to force HDMI output to 720p in CEA mode: Example to force HDMI output to 720p in CEA mode:
HDMI_GROUP = "1" HDMI_GROUP = "1"
HDMI_MODE = "4" HDMI_MODE = "4"
See: <https://www.raspberrypi.org/documentation/configuration/config-txt/video.md> See: <https://www.raspberrypi.com/documentation/computers/configuration.html#hdmi-configuration>
## Video camera support with V4L2 drivers ## Video camera support with V4L2 drivers
@@ -155,11 +171,22 @@ For further customisation the KERNEL_IMAGETYPE and KERNEL_BOOTCMD variables can
be overridden to select the exact kernel image type (eg. zImage) and u-boot be overridden to select the exact kernel image type (eg. zImage) and u-boot
command (eg. bootz) to be used. command (eg. bootz) to be used.
To operate correctly, U-Boot requires `enable_uart=1` in `config.txt` file for
the following boards:
* Raspberry Pi Zero W
* Raspberry Pi 3 32-bit
* Raspberry Pi 3 64-bit
* Raspberry Pi 4 32-bit
* Raspberry Pi 4 64-bit
It means that, for those boards, `RPI_USE_U_BOOT = "1"` is not compatible with
`ENABLE_UART = "0"`.
## Image with Initramfs ## Image with Initramfs
To build an initramfs image: To build an initramfs image:
* Set this 3 kernel variables (in kernel's do_configure_prepend in linux-raspberrypi.inc after the line kernel_configure_variable LOCALVERSION "\"\"" * Set this 3 kernel variables (in kernel's do_configure:prepend in linux-raspberrypi.inc after the line kernel_configure_variable LOCALVERSION "\"\""
) )
- kernel_configure_variable BLK_DEV_INITRD y - kernel_configure_variable BLK_DEV_INITRD y
- kernel_configure_variable INITRAMFS_SOURCE "" - kernel_configure_variable INITRAMFS_SOURCE ""
@@ -170,7 +197,32 @@ To build an initramfs image:
- `INITRAMFS_IMAGE_BUNDLE = "1"` - `INITRAMFS_IMAGE_BUNDLE = "1"`
- `BOOT_SPACE = "1073741"` - `BOOT_SPACE = "1073741"`
- `INITRAMFS_MAXSIZE = "315400"` - `INITRAMFS_MAXSIZE = "315400"`
- `IMAGE_FSTYPES_pn-${INITRAMFS_IMAGE} = "${INITRAMFS_FSTYPES}"` - `IMAGE_FSTYPES:pn-${INITRAMFS_IMAGE} = "${INITRAMFS_FSTYPES}"`
## Including additional files in the SD card image boot partition
The SD card image class supports adding extra files into the boot
partition, where the files are copied from either the image root
partition or from the build image deploy directory.
To copy files that are present in the root partition into boot,
FATPAYLOAD is a simple space-separated list of files to be copied:
FATPAYLOAD = "/boot/example1 /boot/example2"
To copy files from the image deploy directory, the files should be
listed in the DEPLOYPAYLOAD as a space-separated list of entries.
Each entry lists a file to be copied, and an optional destination
filename can be specified by supplying it after a colon separator.
DEPLOYPAYLOAD = "example1-${MACHINE}:example1 example2"
Files that are to be included from the deploy directory will be produced
by tasks that image building task must depend upon, to ensure that the
files are available when they are needed, so these component deploy
tasks must be added to: RPI_SDIMG_EXTRA_DEPENDS.
RPI_SDIMG_EXTRA_DEPENDS:append = " example:do_deploy"
## Enable SPI bus ## Enable SPI bus
@@ -184,6 +236,10 @@ When using device tree kernels, set this variable to enable I2C:
ENABLE_I2C = "1" ENABLE_I2C = "1"
Furthermore, to auto-load I2C kernel modules set:
KERNEL_MODULE_AUTOLOAD:rpi += "i2c-dev i2c-bcm2708"
## Enable PiTFT support ## Enable PiTFT support
Basic support for using PiTFT screens can be enabled by adding below in Basic support for using PiTFT screens can be enabled by adding below in
@@ -220,7 +276,7 @@ Screen LCD, HDMI interface (<http://www.waveshare.com/7inch-HDMI-LCD-C.htm>) Rev
RaspberryPi 0, 1, 2 and CM will have UART console enabled by default. RaspberryPi 0, 1, 2 and CM will have UART console enabled by default.
RaspberryPi 0 WiFi and 3 does not have the UART enabled by default because this RaspberryPi 0 WiFi and 3 does not have the UART enabled by default because this
needs a fixed core frequency and enable_uart wil set it to the minimum. Certain needs a fixed core frequency and enable_uart will set it to the minimum. Certain
operations - 60fps h264 decode, high quality deinterlace - which aren't operations - 60fps h264 decode, high quality deinterlace - which aren't
performed on the ARM may be affected, and we wouldn't want to do that to users performed on the ARM may be affected, and we wouldn't want to do that to users
who don't want to use the serial port. Users who want serial console support on who don't want to use the serial port. Users who want serial console support on
@@ -240,6 +296,27 @@ local.conf:
ENABLE_DWC2_PERIPHERAL = "1" ENABLE_DWC2_PERIPHERAL = "1"
## Enable USB host support
By default in case of the Compute Module 4 IO Board the standard USB driver
that usually supports host mode operations is disabled for power saving reasons.
Users who want to use the 2 USB built-in ports or the other ports provided via
the header extension should set the following in local.conf:
ENABLE_DWC2_HOST = "1"
## Set CPUs to be isolated from the standard Linux scheduler
By default Linux will use all available CPUs for scheduling tasks. For real time
purposes there can be an advantage to isolating one or more CPUs from the
standard scheduler. It should be noted that CPU 0 is special, it is the only CPU
available during the early stages of the boot process and cannot be isolated.
The string assigned to this variable may be a single CPU number, a comma
separated list ("1,2"), a range("1-3"), or a mixture of these ("1,3-5")
ISOLATED_CPUS = "1-2"
## Enable Openlabs 802.15.4 radio module ## Enable Openlabs 802.15.4 radio module
When using device tree kernels, set this variable to enable the 802.15.4 hat: When using device tree kernels, set this variable to enable the 802.15.4 hat:
@@ -248,14 +325,78 @@ When using device tree kernels, set this variable to enable the 802.15.4 hat:
See: <https://openlabs.co/OSHW/Raspberry-Pi-802.15.4-radio> See: <https://openlabs.co/OSHW/Raspberry-Pi-802.15.4-radio>
## Enable CAN with Pican2 ## Enable CAN
In order to use Pican2 CAN module, set the following variables: In order to use CAN with an MCP2515-based module, set the following variables:
ENABLE_SPI_BUS = "1" ENABLE_SPI_BUS = "1"
ENABLE_CAN = "1" ENABLE_CAN = "1"
See: <http://skpang.co.uk/catalog/pican2-canbus-board-for-raspberry-pi-23-p-1475.html> In case of dual CAN module (e.g. PiCAN2 Duo), set following variables instead:
ENABLE_SPI_BUS = "1"
ENABLE_DUAL_CAN = "1"
Some modules may require setting the frequency of the crystal oscillator used on the particular board. The frequency is usually marked on the package of the crystal. By default, it is set to 16 MHz. To change that to 8 MHz, the following variable also has to be set:
CAN_OSCILLATOR="8000000"
Configure the interrupt pin to the one connected to the CAN module. By default,
the pins are set to 25 for can0 and 24 for can1. To change them to 12 and 16,
the following variables also have to be set:
CAN0_INTERRUPT_PIN = "12"
CAN1_INTERRUPT_PIN = "16"
Tested modules:
* PiCAN2 (16 MHz crystal): <http://skpang.co.uk/catalog/pican2-canbus-board-for-raspberry-pi-23-p-1475.html>
* WaveShare RS485 CAN HAT (8 MHz or 12 MHz crystal): <https://www.waveshare.com/rs485-can-hat.htm>
* PiCAN2 Duo (16 MHz crystal): <http://skpang.co.uk/catalog/pican2-duo-canbus-board-for-raspberry-pi-23-p-1480.html>
## Enable infrared
Users who want to enable infrared support, for example for using LIRC (Linux
Infrared Remote Control), have to explicitly set in local.conf:
ENABLE_IR = "1"
This will add device tree overlays gpio-ir and gpio-ir-tx to config.txt.
Appropriate kernel modules will be also included in the image. By default the
GPIO pin for gpio-ir is set to 18 and the pin for gpio-ir-tx is 17. Both pins
can be easily changed by modifying variables `GPIO_IR` and `GPIO_IR_TX`.
## Enable gpio-shutdown
When using device tree kernels, set this variable to enable gpio-shutdown:
ENABLE_GPIO_SHUTDOWN = "1"
This will add the corresponding device tree overlay to config.txt and include
the gpio-keys kernel module in the image. If System V init is used, additional
mapping is applied to bind the button event to shutdown command. Systemd init
should handle the event out of the box.
By default the feature uses gpio pin 3 (except RPi 1 Model B rev 1 enumerates
the pin as gpio 1). This conflicts with the I2C bus. If you set `ENABLE_I2C`
to `1` or enabled `PiTFT` support, or otherwise want to use another pin, use
`GPIO_SHUTDOWN_PIN` to assign another pin. Example using gpio pin 25:
GPIO_SHUTDOWN_PIN = "25"
## Enable One-Wire Interface
One-wire is a single-wire communication bus typically used to connect sensors
to the RaspberryPi. The Raspberry Pi supports one-wire on any GPIO pin, but
the default is GPIO 4. To enable the one-wire interface explicitly set it in
`local.conf`
ENABLE_W1 = "1"
Once discovery is complete you can list the devices that your Raspberry Pi has
discovered via all 1-Wire busses check the interface with this command
`ls /sys/bus/w1/devices/`
## Manual additions to config.txt ## Manual additions to config.txt
@@ -272,3 +413,94 @@ option:
# Raspberry Pi 7\" display/touch screen \n \ # Raspberry Pi 7\" display/touch screen \n \
lcd_rotate=2 \n \ lcd_rotate=2 \n \
' '
## Enable Raspberry Pi Camera Module
Raspberry Pi does not have the unicam device ( Raspberry Pi Camera ) enabled by default.
Because this unicam device ( bcm2835-unicam ) as of now is used by libcamera opensource.
So we have to explicitly enable it in local.conf.
RASPBERRYPI_CAMERA_V2 = "1"
This will add the device tree overlay imx219 ( Raspberry Pi Camera Module V2 sensor driver
) to config.txt. Also, this will enable adding Contiguous Memory Allocation value in the
cmdline.txt.
Similarly, the Raspberry Pi Camera Module v3 also has to be explicitly enabled in local.conf.
RASPBERRYPI_CAMERA_V3 = "1"
This will add the device tree overlay imx708 ( Raspberry Pi Camera Module V3 sensor driver )
to config.txt.
See:
* <https://www.raspberrypi.com/documentation/computers/camera_software.html>
* <https://www.raspberrypi.org/blog/an-open-source-camera-stack-for-raspberry-pi-using-libcamera/>
## WM8960 soundcard support
Support for WM8960 based sound cards such as the WM8960 Hi-Fi Sound Card HAT for Raspberry Pi from Waveshare, and ReSpeaker 2 / 4 / 6 Mics Pi HAT from Seeed Studio, can be enabled in `local.conf`
MACHINE_FEATURES += "wm8960"
You may need to adjust volume and toggle switches that are off by default
amixer -c1 sset 'Headphone',0 80%,80%
amixer -c1 sset 'Speaker',0 80%,80%
amixer -c1 sset 'Left Input Mixer Boost' toggle
amixer -c1 sset 'Left Output Mixer PCM' toggle
amixer -c1 sset 'Right Input Mixer Boost' toggle
amixer -c1 sset 'Right Output Mixer PCM' toggle
Audio capture on ReSpeaker 2 / 4 / 6 Mics Pi HAT from Seeed Studio is very noisy.
## Support for RTC devices
The RaspberryPi boards don't feature an RTC module and the machine
configurations provided in this BSP layer have this assumption (until, if at
all, some later boards will come with one).
`rtc` is handled as a `MACHINE_FEATURES` in the context of the build system
which means that if an attached device is provided for which support is needed,
the recommended way forward is to write a new machine configuration based on an
existing one. Check the documentation for
`MACHINE_FEATURES_BACKFILL_CONSIDERED` for how this is disabled for the
relevant machines.
Even when `MACHINE_FEATURES` is tweaked to include the needed `rtc` string,
make sure that your kernel configuration is supporting the attached device and
the device tree is properly tweaked. Also, mind the runtime components that
take advantage of your RTC device. You can do that by checking what is
included/configured in the build system based on the inclusion of `rtc` in
`MACHINE_FEATURES`.
## Raspberry Pi Distro VLC
To enable Raspberry Pi Distro VLC, the `meta-openembedded/meta-multimedia` layer must be
included in your `bblayers.conf`.
VLC does not support HW accelerated video decode through MMAL on a 64-bit OS.
See:
* <https://forums.raspberrypi.com/viewtopic.php?t=275370>
* <https://forums.raspberrypi.com/viewtopic.php?t=325218#p1946169>
MMAL is not enabled by default. To enable it add
DISABLE_VC4GRAPHICS = "1"
to `local.conf`. Adding `vlc` to `IMAGE_INSTALL` will then default to building the oe-core
implementation of ffmpeg and the meta-openembedded/meta-multimedia implementation of VLC.
The Raspberry Pi's Distro implementation of VLC with HW accelerated video decode through
MMAL and the Raspberry PI's Distro implementation of ffmpeg. Can however be selected via:
PREFERRED_PROVIDER_vlc = "rpidistro-vlc"
PREFERRED_PROVIDER_ffmpeg = "rpidistro-ffmpeg"
PREFERRED_PROVIDER_libav = "rpidistro-ffmpeg"
PREFERRED_PROVIDER_libpostproc = "rpidistro-ffmpeg"
Usage example: Start VLC with mmal_vout plugin and without an active display server.
DISPLAYNUM=$(tvservice -l | tail -c 2)
MMAL_DISPLAY=$(expr $DISPLAYNUM + 1)
VLC_SETTINGS="-I dummy --vout=mmal_vout --mmal-resize --mmal-display hdmi-$MMAL_DISPLAY --no-dbus"
cvlc $VLC_SETTINGS <video/playlist>

View File

@@ -15,6 +15,7 @@ Contents:
layer-contents layer-contents
extra-build-config extra-build-config
extra-apps extra-apps
ipcompliance
contributing contributing
Indices and tables Indices and tables

23
docs/ipcompliance.md Normal file
View File

@@ -0,0 +1,23 @@
# IP Compliance
## linux-firmware-rpidistro
By default, some of the machine configurations recommend packages for the
WiFi/BT firmware, provided by
[linux-firmware-rpidistro](https://github.com/RPi-Distro/firmware-nonfree).
This package includes some firmware blobs under the `Synaptics` license which
could carry a legal risk: one of the clauses can be (at least theoretically)
used as a `killswitch`. This was
[reported](https://github.com/RPi-Distro/firmware-nonfree/issues/29) in the
upstream repository.
You can find the full license text body in the content of the above mentioned
package.
Due to the above, the build system will only allow this recipe to be built if
the user acknowledges this risk by adding the following configuration:
LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"
You can provide this configuration as part of your `local.conf`, `distro.conf`,
etc.

View File

@@ -5,14 +5,40 @@
* raspberrypi * raspberrypi
* raspberrypi0 * raspberrypi0
* raspberrypi0-wifi * raspberrypi0-wifi
* raspberrypi0-2w-64
* raspberrypi2 * raspberrypi2
* raspberrypi3 * raspberrypi3
* raspberrypi3-64 (64 bit kernel & userspace) * raspberrypi3-64 (64 bit kernel & userspace)
* raspberrypi4
* raspberrypi4-64 (64 bit kernel & userspace)
* raspberrypi5
* raspberrypi-cm (dummy alias for raspberrypi) * raspberrypi-cm (dummy alias for raspberrypi)
* raspberrypi-cm3 * raspberrypi-cm3
Note: The raspberrypi3 machines include support for Raspberry Pi 3B+. 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.
### raspberrypi-armv8
This machine targets support for all the ARMv8-based Raspberry Pi boards. It
will pull in the firmware and deploy the kernel image and kernel modules for
all the relevant boards.
## Images ## Images
* rpi-test-image * rpi-test-image
@@ -20,8 +46,7 @@ Note: The raspberrypi3 machines include support for Raspberry Pi 3B+.
layer and some media samples. layer and some media samples.
For other uses it's recommended to base images on `core-image-minimal` or For other uses it's recommended to base images on `core-image-minimal` or
`core-image-base` as appropriate. The old image names (`rpi-hwup-image` and `core-image-base` as appropriate.
`rpi-basic-image`) are deprecated.
## WiFi and Bluetooth Firmware ## WiFi and Bluetooth Firmware

2
docs/requirements.txt Normal file
View File

@@ -0,0 +1,2 @@
myst_parser
sphinx_rtd_theme

View File

@@ -0,0 +1,11 @@
[Unit]
Description=LIRC Infrared Signal Decoder
Wants=lircd-setup.service
After=network.target lircd-setup.service
[Service]
Type=simple
ExecStart=/usr/sbin/lircd --nodaemon
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,5 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI:append:rpi = " \
file://lircd.service \
"

View File

@@ -0,0 +1,4 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
RDEPENDS:${PN} += "python3-sense-hat"

View File

@@ -1,7 +1,7 @@
SUMMARY = "Python module to control the Raspberry Pi Sense HAT used in the Astro Pi mission" SUMMARY = "Python module to control the Raspberry Pi Sense HAT used in the Astro Pi mission"
HOMEPAGE = "https://github.com/RPi-Distro/python-sense-hat" HOMEPAGE = "https://github.com/RPi-Distro/python-sense-hat"
SECTION = "devel/python" SECTION = "devel/python"
LICENSE = "BSD" LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=d80fe312e1ff5fbd97369b093bf21cda" LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=d80fe312e1ff5fbd97369b093bf21cda"
inherit setuptools3 pypi inherit setuptools3 pypi
@@ -17,8 +17,8 @@ DEPENDS += " \
freetype \ freetype \
" "
RDEPENDS_${PN} += " \ RDEPENDS:${PN} += " \
${PYTHON_PN}-numpy \ python3-numpy \
${PYTHON_PN}-rtimu \ python3-rtimu \
${PYTHON_PN}-imaging \ python3-pillow \
" "

View File

@@ -0,0 +1,42 @@
From bbc1ea3e4119c665723cfd1c5a364bc8c7cbb464 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Thu, 4 May 2023 18:07:16 +0000
Subject: [PATCH] utils/version.py: use /usr/bin/env in shebang
* it uses subprocess text=True which is available only since python-3.7
when running on host with python-3.6 it fails with:
Traceback (most recent call last):
File "TOPDIR/BUILD/work/raspberrypi4_64-oe-linux/rpi-libcamera-apps/git-r0/git/utils/version.py", line 19, in generate_version
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, text=True)
File "/usr/lib/python3.6/subprocess.py", line 423, in run
with Popen(*popenargs, **kwargs) as process:
TypeError: __init__() got an unexpected keyword argument 'text'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "TOPDIR/BUILD/work/raspberrypi4_64-oe-linux/rpi-libcamera-apps/git-r0/git/utils/version.py", line 52, in <module>
generate_version()
File "TOPDIR/BUILD/work/raspberrypi4_64-oe-linux/rpi-libcamera-apps/git-r0/git/utils/version.py", line 48, in generate_version
print(f'{commit} {datetime.now().strftime("%d-%m-%Y (%H:%M:%S)")}', end="")
UnboundLocalError: local variable 'commit' referenced before assignment
Generating version string:
even when newer python3 is in PATH (either from buildtools or from python3native)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Upstream-Status: Pending
---
utils/version.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/utils/version.py b/utils/version.py
index 48d7e05..4a5e35c 100755
--- a/utils/version.py
+++ b/utils/version.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python3
+#!/usr/bin/env python3
# Copyright (C) 2021, Raspberry Pi (Trading) Limited
# Generate version information for rpicam-apps

View File

@@ -0,0 +1,271 @@
From 500f1e9eaeca29b255d0364e1383d70ade1d1177 Mon Sep 17 00:00:00 2001
From: Martin Jansa <martin.jansa@gmail.com>
Date: Tue, 30 Jan 2024 12:02:09 +0000
Subject: [PATCH] Revert "Support compressed pixel formats when saving DNGs"
This reverts commit a85aed7603a0b69a6685d3f81ee860246d5b1621.
This requires rpi specific fork of libcamera to provide e.g.
formats::RGGB16_PISP_COMP1
added in:
https://github.com/raspberrypi/libcamera/commit/fb3cb844f2117f30d3eeece99d6ce4d02624e492
but not included in libcamera from meta-oe:
https://git.openembedded.org/meta-openembedded/commit/?id=711c6fbce39df685225bca081c5f42bae2de658b
See https://github.com/raspberrypi/rpicam-apps/issues/627
Upstream-Status: Pending
---
image/dng.cpp | 205 ++++++++------------------------------------------
1 file changed, 33 insertions(+), 172 deletions(-)
diff --git a/image/dng.cpp b/image/dng.cpp
index 7692f92..fc10439 100644
--- a/image/dng.cpp
+++ b/image/dng.cpp
@@ -33,47 +33,40 @@ struct BayerFormat
int bits;
char const *order;
bool packed;
- bool compressed;
};
static const std::map<PixelFormat, BayerFormat> bayer_formats =
{
- { formats::SRGGB10_CSI2P, { "RGGB-10", 10, TIFF_RGGB, true, false } },
- { formats::SGRBG10_CSI2P, { "GRBG-10", 10, TIFF_GRBG, true, false } },
- { formats::SBGGR10_CSI2P, { "BGGR-10", 10, TIFF_BGGR, true, false } },
- { formats::SGBRG10_CSI2P, { "GBRG-10", 10, TIFF_GBRG, true, false } },
-
- { formats::SRGGB10, { "RGGB-10", 10, TIFF_RGGB, false, false } },
- { formats::SGRBG10, { "GRBG-10", 10, TIFF_GRBG, false, false } },
- { formats::SBGGR10, { "BGGR-10", 10, TIFF_BGGR, false, false } },
- { formats::SGBRG10, { "GBRG-10", 10, TIFF_GBRG, false, false } },
-
- { formats::SRGGB12_CSI2P, { "RGGB-12", 12, TIFF_RGGB, true, false } },
- { formats::SGRBG12_CSI2P, { "GRBG-12", 12, TIFF_GRBG, true, false } },
- { formats::SBGGR12_CSI2P, { "BGGR-12", 12, TIFF_BGGR, true, false } },
- { formats::SGBRG12_CSI2P, { "GBRG-12", 12, TIFF_GBRG, true, false } },
-
- { formats::SRGGB12, { "RGGB-12", 12, TIFF_RGGB, false, false } },
- { formats::SGRBG12, { "GRBG-12", 12, TIFF_GRBG, false, false } },
- { formats::SBGGR12, { "BGGR-12", 12, TIFF_BGGR, false, false } },
- { formats::SGBRG12, { "GBRG-12", 12, TIFF_GBRG, false, false } },
-
- { formats::SRGGB16, { "RGGB-16", 16, TIFF_RGGB, false, false } },
- { formats::SGRBG16, { "GRBG-16", 16, TIFF_GRBG, false, false } },
- { formats::SBGGR16, { "BGGR-16", 16, TIFF_BGGR, false, false } },
- { formats::SGBRG16, { "GBRG-16", 16, TIFF_GBRG, false, false } },
-
- { formats::R10_CSI2P, { "BGGR-10", 10, TIFF_BGGR, true, false } },
- { formats::R10, { "BGGR-10", 10, TIFF_BGGR, false, false } },
+ { formats::SRGGB10_CSI2P, { "RGGB-10", 10, TIFF_RGGB, true } },
+ { formats::SGRBG10_CSI2P, { "GRBG-10", 10, TIFF_GRBG, true } },
+ { formats::SBGGR10_CSI2P, { "BGGR-10", 10, TIFF_BGGR, true } },
+ { formats::SGBRG10_CSI2P, { "GBRG-10", 10, TIFF_GBRG, true } },
+
+ { formats::SRGGB10, { "RGGB-10", 10, TIFF_RGGB, false } },
+ { formats::SGRBG10, { "GRBG-10", 10, TIFF_GRBG, false } },
+ { formats::SBGGR10, { "BGGR-10", 10, TIFF_BGGR, false } },
+ { formats::SGBRG10, { "GBRG-10", 10, TIFF_GBRG, false } },
+
+ { formats::SRGGB12_CSI2P, { "RGGB-12", 12, TIFF_RGGB, true } },
+ { formats::SGRBG12_CSI2P, { "GRBG-12", 12, TIFF_GRBG, true } },
+ { formats::SBGGR12_CSI2P, { "BGGR-12", 12, TIFF_BGGR, true } },
+ { formats::SGBRG12_CSI2P, { "GBRG-12", 12, TIFF_GBRG, true } },
+
+ { formats::SRGGB12, { "RGGB-12", 12, TIFF_RGGB, false } },
+ { formats::SGRBG12, { "GRBG-12", 12, TIFF_GRBG, false } },
+ { formats::SBGGR12, { "BGGR-12", 12, TIFF_BGGR, false } },
+ { formats::SGBRG12, { "GBRG-12", 12, TIFF_GBRG, false } },
+
+ { formats::SRGGB16, { "RGGB-16", 16, TIFF_RGGB, false } },
+ { formats::SGRBG16, { "GRBG-16", 16, TIFF_GRBG, false } },
+ { formats::SBGGR16, { "BGGR-16", 16, TIFF_BGGR, false } },
+ { formats::SGBRG16, { "GBRG-16", 16, TIFF_GBRG, false } },
+
+ { formats::R10_CSI2P, { "BGGR-10", 10, TIFF_BGGR, true } },
+ { formats::R10, { "BGGR-10", 10, TIFF_BGGR, false } },
// Currently not in the main libcamera branch
//{ formats::R12_CSI2P, { "BGGR-12", 12, TIFF_BGGR, true } },
- { formats::R12, { "BGGR-12", 12, TIFF_BGGR, false, false } },
-
- /* PiSP compressed formats. */
- { formats::RGGB16_PISP_COMP1, { "RGGB-16-PISP", 16, TIFF_RGGB, false, true } },
- { formats::GRBG16_PISP_COMP1, { "GRBG-16-PISP", 16, TIFF_GRBG, false, true } },
- { formats::GBRG16_PISP_COMP1, { "GBRG-16-PISP", 16, TIFF_GBRG, false, true } },
- { formats::BGGR16_PISP_COMP1, { "BGGR-16-PISP", 16, TIFF_BGGR, false, true } },
+ { formats::R12, { "BGGR-12", 12, TIFF_BGGR, false } },
};
static void unpack_10bit(uint8_t const *src, StreamInfo const &info, uint16_t *dest)
@@ -124,129 +117,6 @@ static void unpack_16bit(uint8_t const *src, StreamInfo const &info, uint16_t *d
}
}
-// We always use these compression parameters.
-#define COMPRESS_OFFSET 2048
-#define COMPRESS_MODE 1
-
-static uint16_t postprocess(uint16_t a)
-{
- if (COMPRESS_MODE & 2)
- {
- if (COMPRESS_MODE == 3 && a < 0x4000)
- a = a >> 2;
- else if (a < 0x1000)
- a = a >> 4;
- else if (a < 0x1800)
- a = (a - 0x800) >> 3;
- else if (a < 0x3000)
- a = (a - 0x1000) >> 2;
- else if (a < 0x6000)
- a = (a - 0x2000) >> 1;
- else if (a < 0xC000)
- a = (a - 0x4000);
- else
- a = 2 * (a - 0x8000);
- }
-
- return std::min(0xFFFF, a + COMPRESS_OFFSET);
-}
-
-static uint16_t dequantize(uint16_t q, int qmode)
-{
- switch (qmode)
- {
- case 0:
- return (q < 320) ? 16 * q : 32 * (q - 160);
-
- case 1:
- return 64 * q;
-
- case 2:
- return 128 * q;
-
- default:
- return (q < 94) ? 256 * q : std::min(0xFFFF, 512 * (q - 47));
- }
-}
-
-static void subBlockFunction(uint16_t *d, uint32_t w)
-{
- int q[4];
-
- int qmode = (w & 3);
- if (qmode < 3)
- {
- int field0 = (w >> 2) & 511;
- int field1 = (w >> 11) & 127;
- int field2 = (w >> 18) & 127;
- int field3 = (w >> 25) & 127;
- if (qmode == 2 && field0 >= 384)
- {
- q[1] = field0;
- q[2] = field1 + 384;
- }
- else
- {
- q[1] = (field1 >= 64) ? field0 : field0 + 64 - field1;
- q[2] = (field1 >= 64) ? field0 + field1 - 64 : field0;
- }
- int p1 = std::max(0, q[1] - 64);
- if (qmode == 2)
- p1 = std::min(384, p1);
- int p2 = std::max(0, q[2] - 64);
- if (qmode == 2)
- p2 = std::min(384, p2);
- q[0] = p1 + field2;
- q[3] = p2 + field3;
- }
- else
- {
- int pack0 = (w >> 2) & 32767;
- int pack1 = (w >> 17) & 32767;
- q[0] = (pack0 & 15) + 16 * ((pack0 >> 8) / 11);
- q[1] = (pack0 >> 4) % 176;
- q[2] = (pack1 & 15) + 16 * ((pack1 >> 8) / 11);
- q[3] = (pack1 >> 4) % 176;
- }
-
- d[0] = dequantize(q[0], qmode);
- d[2] = dequantize(q[1], qmode);
- d[4] = dequantize(q[2], qmode);
- d[6] = dequantize(q[3], qmode);
-}
-
-static void uncompress(uint8_t const *src, StreamInfo const &info, uint16_t *dest)
-{
- // In all cases, the *decompressed* image must be a multiple of 8 columns wide.
- unsigned int buf_stride_pixels = (info.width + 7) & ~7;
- for (unsigned int y = 0; y < info.height; ++y)
- {
- uint16_t *dp = dest + y * buf_stride_pixels;
- uint8_t const *sp = src + y * info.stride;
-
- for (unsigned int x = 0; x < info.width; x+=8)
- {
- if (COMPRESS_MODE & 1)
- {
- uint32_t w0 = 0, w1 = 0;
- for (int b = 0; b < 4; ++b)
- w0 |= (*sp++) << (b * 8);
- for (int b = 0; b < 4; ++b)
- w1 |= (*sp++) << (b * 8);
- subBlockFunction(dp, w0);
- subBlockFunction(dp + 1, w1);
- for (int i = 0; i < 8; ++i, ++dp)
- *dp = postprocess(*dp);
- }
- else
- {
- for (int i = 0; i < 8; ++i)
- *dp++ = postprocess((*sp++) << 8);
- }
- }
- }
-}
-
struct Matrix
{
Matrix(float m0, float m1, float m2,
@@ -307,16 +177,8 @@ void dng_save(std::vector<libcamera::Span<uint8_t>> const &mem, StreamInfo const
BayerFormat const &bayer_format = it->second;
LOG(1, "Bayer format is " << bayer_format.name);
- // Decompression will require a buffer that's 8 pixels aligned.
- unsigned int buf_stride_pixels = info.width;
- unsigned int buf_stride_pixels_padded = (buf_stride_pixels + 7) & ~7;
- std::vector<uint16_t> buf(buf_stride_pixels_padded * info.height);
- if (bayer_format.compressed)
- {
- uncompress(mem[0].data(), info, &buf[0]);
- buf_stride_pixels = buf_stride_pixels_padded;
- }
- else if (bayer_format.packed)
+ std::vector<uint16_t> buf(info.width * info.height);
+ if (bayer_format.packed)
{
switch (bayer_format.bits)
{
@@ -444,9 +306,8 @@ void dng_save(std::vector<libcamera::Span<uint8_t>> const &mem, StreamInfo const
{
for (unsigned int x = 0; x < (info.width >> 4); x++)
{
- unsigned int off = (y * buf_stride_pixels + x) << 4;
- uint32_t grey =
- buf[off] + buf[off + 1] + buf[off + buf_stride_pixels] + buf[off + buf_stride_pixels + 1];
+ unsigned int off = (y * info.width + x) << 4;
+ uint32_t grey = buf[off] + buf[off + 1] + buf[off + info.width] + buf[off + info.width + 1];
grey = (grey << 14) >> bayer_format.bits;
grey = sqrt((double)grey); // simple "gamma correction"
thumb_buf[3 * x] = thumb_buf[3 * x + 1] = thumb_buf[3 * x + 2] = grey;
@@ -478,7 +339,7 @@ void dng_save(std::vector<libcamera::Span<uint8_t>> const &mem, StreamInfo const
for (unsigned int y = 0; y < info.height; y++)
{
- if (TIFFWriteScanline(tif, &buf[buf_stride_pixels * y], y, 0) != 1)
+ if (TIFFWriteScanline(tif, &buf[info.width * y], y, 0) != 1)
throw std::runtime_error("error writing DNG image data");
}

View File

@@ -0,0 +1,44 @@
SUMMARY = "A suite of libcamera-based apps"
DESCRIPTION = "This is a small suite of libcamera-based apps that aim to \
copy the functionality of the existing \"raspicam\" apps."
HOMEPAGE = "https://github.com/raspberrypi/libcamera-apps"
SECTION = "console/utils"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://license.txt;md5=a0013d1b383d72ba4bdc5b750e7d1d77"
SRC_URI = "\
git://github.com/raspberrypi/libcamera-apps.git;protocol=https;branch=main \
file://0001-utils-version.py-use-usr-bin-env-in-shebang.patch \
file://0002-Revert-Support-compressed-pixel-formats-when-saving-.patch \
"
PV = "1.4.2+git${SRCPV}"
SRCREV = "9ae39f85ae6bee9761c36b9b5b80d675bc1fa369"
S = "${WORKDIR}/git"
DEPENDS = "libcamera libexif jpeg tiff libpng boost"
PACKAGECONFIG ??= "drm"
PACKAGECONFIG[libav] = "-Denable_libav=true, -Denable_libav=false, libav"
PACKAGECONFIG[drm] = "-Denable_drm=true, -Denable_drm=false, libdrm"
PACKAGECONFIG[egl] = "-Denable_egl=true, -Denable_egl=false, virtual/egl"
PACKAGECONFIG[qt] = "-Denable_qt=true, -Denable_qt=false, qtbase"
PACKAGECONFIG[opencv] = "-Denable_opencv=true, -Denable_opencv=false, opencv"
PACKAGECONFIG[tflite] = "-Denable_tflite=true, -Denable_tflite=false, tensorflow-lite"
inherit meson pkgconfig
NEON_FLAGS = ""
NEON_FLAGS:aarch64 = "-Dneon_flags=arm64"
NEON_FLAGS:arm:raspberrypi3 = "-Dneon_flags=armv8-neon"
NEON_FLAGS:arm:raspberrypi4 = "-Dneon_flags=armv8-neon"
EXTRA_OEMESON += "${NEON_FLAGS}"
# QA Issue: /usr/bin/camera-bug-report contained in package libcamera-apps requires /usr/bin/python3
do_install:append() {
rm -v ${D}/${bindir}/camera-bug-report
}
# not picked automatically, because it's missing common 'lib' prefix
FILES:${PN}-dev += "${libdir}/rpicam_app.so"

View File

@@ -0,0 +1,3 @@
PACKAGECONFIG[raspberrypi] = "-Dpipelines=rpi/vc4 -Dipas=rpi/vc4"
PACKAGECONFIG:append:rpi = " raspberrypi"
CXXFLAGS:append:rpi = " -Wno-unaligned-access "

View File

@@ -0,0 +1,25 @@
From: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= <remi@remlab.net>
Date: Sat, 16 Jun 2018 21:31:45 +0300
Subject: configure: fix linking on RISC-V ISA
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure.ac b/configure.ac
index 2037a9e..df26367 100644
--- a/configure.ac
+++ b/configure.ac
@@ -113,6 +113,7 @@ case "${host_os}" in
;;
linux*)
SYS=linux
+ test "${host_cpu}" = "riscv64" && CFLAGS="${CFLAGS} -pthread"
;;
bsdi*)
SYS=bsdi

View File

@@ -0,0 +1,27 @@
From: Sebastian Ramacher <sramacher@debian.org>
Date: Mon, 19 Aug 2019 21:08:26 +0200
Subject: Revert "configure: Require libmodplug >= 0.8.9"
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
This reverts commit 48f014768dc22ecad23d0e9f53c38805a3aff832.
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index df26367..b8580ec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2207,7 +2207,7 @@ AC_ARG_ENABLE(mod,
[AS_HELP_STRING([--disable-mod],
[do not use libmodplug (default auto)])])
if test "${enable_mod}" != "no" ; then
- PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.9.0], [
+ PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
VLC_ADD_PLUGIN([mod])
VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
VLC_ADD_CFLAGS([mod],[$LIBMODPLUG_CFLAGS]) #modules/demux/mod.c needs CFLAGS_mod, not CXXFLAGS_mod

View File

@@ -0,0 +1,83 @@
From 4fcace61801f418786c42487c6b06b693ee87666 Mon Sep 17 00:00:00 2001
From: Romain Vimont <rom1v@videolabs.io>
Date: Mon, 19 Sep 2022 17:17:01 +0200
Subject: [PATCH] vnc: fix possible buffer overflow
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
Thanks to 0xMitsurugi [1] from Synacktiv [2] for the bug report and fix.
[1] https://twitter.com/0xMitsurugi
[2] https://www.synacktiv.com/
Fixes #27335
(cherry picked from commit 5eb783fd44ed6298db3e38f7765f21c42e4405f9)
---
modules/access/vnc.c | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
--- a/modules/access/vnc.c
+++ b/modules/access/vnc.c
@@ -33,6 +33,7 @@
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
+#include <assert.h>
#include <vlc_common.h>
#include <vlc_plugin.h>
@@ -115,7 +116,7 @@
int i_cancel_state;
rfbClient* p_client;
- int i_framebuffersize;
+ size_t i_framebuffersize;
block_t *p_block;
float f_fps;
@@ -143,11 +144,16 @@
p_sys->es = NULL;
}
- int i_width = p_client->width;
- int i_height = p_client->height;
- int i_depth = p_client->format.bitsPerPixel;
+ assert(!(p_client->width & ~0xffff)); // fits in 16 bits
+ uint16_t i_width = p_client->width;
- switch( i_depth )
+ assert(!(p_client->height & ~0xffff)); // fits in 16 bits
+ uint16_t i_height = p_client->height;
+
+ uint8_t i_bits_per_pixel = p_client->format.bitsPerPixel;
+ assert((i_bits_per_pixel & 0x7) == 0); // multiple of 8
+
+ switch( i_bits_per_pixel )
{
case 8:
i_chroma = VLC_CODEC_RGB8;
@@ -180,7 +186,10 @@
}
/* Set up framebuffer */
- p_sys->i_framebuffersize = i_width * i_height * i_depth / 8;
+ if (mul_overflow(i_width, i_height * (i_bits_per_pixel / 8), &p_sys->i_framebuffersize)) {
+ msg_Err(p_demux, "VNC framebuffersize overflow");
+ return FALSE;
+ }
/* Reuse unsent block */
if ( p_sys->p_block )
@@ -211,7 +220,7 @@
fmt.video.i_frame_rate_base = 1000;
fmt.video.i_frame_rate = 1000 * p_sys->f_fps;
- fmt.video.i_bits_per_pixel = i_depth;
+ fmt.video.i_bits_per_pixel = i_bits_per_pixel;
fmt.video.i_rmask = p_client->format.redMax << p_client->format.redShift;
fmt.video.i_gmask = p_client->format.greenMax << p_client->format.greenShift;
fmt.video.i_bmask = p_client->format.blueMax << p_client->format.blueShift;

View File

@@ -0,0 +1,19 @@
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
--- a/bin/vlc.c
+++ b/bin/vlc.c
@@ -106,7 +106,10 @@ static void vlc_kill (void *data)
static void exit_timeout (int signum)
{
(void) signum;
- signal (SIGINT, SIG_DFL);
+// This doesn't seem to be strong enough to reliably kill us if we fail to exit
+// in a timely fashion - so upgrade to _exit().
+// signal (SIGINT, SIG_DFL);
+ _exit(0);
}
/*****************************************************************************

View File

@@ -0,0 +1,19 @@
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
--- a/modules/video_chroma/chain.c
+++ b/modules/video_chroma/chain.c
@@ -280,8 +280,9 @@ static int BuildTransformChain( filter_t
return VLC_SUCCESS;
/* Lets try resize+chroma first, then transform */
- msg_Dbg( p_filter, "Trying to build chroma+resize" );
- EsFormatMergeSize( &fmt_mid, &p_filter->fmt_out, &p_filter->fmt_in );
+ msg_Dbg( p_filter, "Trying to build chroma+resize, then transform" );
+ es_format_Copy( &fmt_mid, &p_filter->fmt_out );
+ video_format_TransformTo(&fmt_mid.video, p_filter->fmt_in.video.orientation);
i_ret = CreateChain( p_filter, &fmt_mid );
es_format_Clean( &fmt_mid );
if( i_ret == VLC_SUCCESS )

View File

@@ -0,0 +1,53 @@
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
--- a/modules/hw/mmal/blend_rgba_neon.S
+++ b/modules/hw/mmal/blend_rgba_neon.S
@@ -1,10 +1,10 @@
- .syntax unified
- .arm
-// .thumb
- .text
+#include "../../arm_neon/asm.S"
.align 16
.arch armv7-a
- .fpu neon-vfpv4
+ .syntax unified
+#if HAVE_AS_FPU_DIRECTIVE
+ .fpu neon-vfpv4
+#endif
@ blend_rgbx_rgba_neon
--- a/modules/hw/mmal/codec.c
+++ b/modules/hw/mmal/codec.c
@@ -29,6 +29,7 @@
#include <stdatomic.h>
#include <vlc_common.h>
+#include <vlc_cpu.h>
#include <vlc_plugin.h>
#include <vlc_codec.h>
#include <vlc_filter.h>
@@ -2311,6 +2312,9 @@ static int OpenBlendMmal(vlc_object_t *o
filter_t * const p_filter = (filter_t *)object;
const vlc_fourcc_t vfcc_dst = p_filter->fmt_out.video.i_chroma;
+ if (!vlc_CPU_ARM_NEON())
+ return VLC_EGENERIC;
+
if (!hw_mmal_chroma_is_mmal(vfcc_dst) ||
!hw_mmal_vzc_subpic_fmt_valid(&p_filter->fmt_in.video))
{
@@ -2421,6 +2425,9 @@ static int OpenBlendNeon(vlc_object_t *o
MMAL_FOURCC_T mfcc_dst = vlc_to_mmal_video_fourcc(&p_filter->fmt_out.video);
blend_neon_fn * blend_fn = (blend_neon_fn *)0;
+ if (!vlc_CPU_ARM_NEON())
+ return VLC_EGENERIC;
+
// Non-alpha RGB only for dest
if (vfcc_dst != VLC_CODEC_RGB32)
return VLC_EGENERIC;

View File

@@ -0,0 +1,26 @@
From 048e4fdd08ac588feb27b03e3ec1824e24f77d62 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 5 Mar 2023 14:13:25 -0800
Subject: [PATCH 3/3] configure: Disable incompatible-function-pointer-types
warning
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
configure.ac | 5 +++++
1 file changed, 5 insertions(+)
--- a/configure.ac
+++ b/configure.ac
@@ -105,6 +105,11 @@ AC_SUBST([AM_CFLAGS], [-fcommon])
dnl Prevent clang from accepting unknown flags with a mere warning
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CFLAGS])
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CXXFLAGS])
+dnl disable clang from erroring on function pointer protype mismatch, vlc seems to rely on that
+dnl especially in modules/video_filter/deinterlace/algo_yadif.c how it interpolates 'filter` variable
+dnl between different functions yadif_filter_line_c_16bit() and yadif_filter_line_c()
+AX_APPEND_COMPILE_FLAGS([-Wno-error=incompatible-function-pointer-types -Wno-error=incompatible-function-pointer-types], [CFLAGS])
+AX_APPEND_COMPILE_FLAGS([-Wno-error=incompatible-function-pointer-types -Wno-error=incompatible-function-pointer-types], [CXXFLAGS])
dnl
dnl Check the operating system

View File

@@ -0,0 +1,30 @@
From 6fca76ebd76bf8fce9b111e31bda64015cdc770f Mon Sep 17 00:00:00 2001
From: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date: Mon, 11 Jul 2022 19:35:57 +0000
Subject: [PATCH] demux: dash: include cstdint, needed for uint64_t
Fixes #27077.
Upstream-Status: Backport
https://github.com/videolan/vlc/commit/6fca76ebd76bf8fce9b111e31bda64015cdc770f
---
modules/demux/dash/mpd/TemplatedUri.hpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules/demux/dash/mpd/TemplatedUri.hpp b/modules/demux/dash/mpd/TemplatedUri.hpp
index 1eeb70cbb6..7f7264a9c8 100644
--- a/modules/demux/dash/mpd/TemplatedUri.hpp
+++ b/modules/demux/dash/mpd/TemplatedUri.hpp
@@ -21,6 +21,7 @@
#ifndef TEMPLATEDURI_HPP
#define TEMPLATEDURI_HPP
+#include <cstdint>
#include <string>
namespace dash
--
2.34.1

View File

@@ -0,0 +1,236 @@
* luaL_checkint and luaL_optint were deprecated in lua 5.3
* replacement functions are luaL_checkinteger and luaL_optinteger
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
--- a/modules/lua/demux.c
+++ b/modules/lua/demux.c
@@ -52,7 +52,7 @@ struct vlclua_playlist
static int vlclua_demux_peek( lua_State *L )
{
stream_t *s = (stream_t *)vlclua_get_this(L);
- int n = luaL_checkint( L, 1 );
+ int n = luaL_checkinteger( L, 1 );
const uint8_t *p_peek;
ssize_t val = vlc_stream_Peek(s->p_source, &p_peek, n);
@@ -66,7 +66,7 @@ static int vlclua_demux_peek( lua_State
static int vlclua_demux_read( lua_State *L )
{
stream_t *s = (stream_t *)vlclua_get_this(L);
- int n = luaL_checkint( L, 1 );
+ int n = luaL_checkinteger( L, 1 );
char *buf = malloc(n);
if (buf != NULL)
--- a/modules/lua/libs/net.c
+++ b/modules/lua/libs/net.c
@@ -179,7 +179,7 @@ static int vlclua_net_listen_tcp( lua_St
{
vlc_object_t *p_this = vlclua_get_this( L );
const char *psz_host = luaL_checkstring( L, 1 );
- int i_port = luaL_checkint( L, 2 );
+ int i_port = luaL_checkinteger( L, 2 );
int *pi_fd = net_ListenTCP( p_this, psz_host, i_port );
if( pi_fd == NULL )
return luaL_error( L, "Cannot listen on %s:%d", psz_host, i_port );
@@ -251,7 +251,7 @@ static int vlclua_net_connect_tcp( lua_S
{
vlc_object_t *p_this = vlclua_get_this( L );
const char *psz_host = luaL_checkstring( L, 1 );
- int i_port = luaL_checkint( L, 2 );
+ int i_port = luaL_checkinteger( L, 2 );
int i_fd = net_ConnectTCP( p_this, psz_host, i_port );
lua_pushinteger( L, vlclua_fd_map_safe( L, i_fd ) );
return 1;
@@ -259,14 +259,14 @@ static int vlclua_net_connect_tcp( lua_S
static int vlclua_net_close( lua_State *L )
{
- int i_fd = luaL_checkint( L, 1 );
+ int i_fd = luaL_checkinteger( L, 1 );
vlclua_fd_unmap_safe( L, i_fd );
return 0;
}
static int vlclua_net_send( lua_State *L )
{
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
size_t i_len;
const char *psz_buffer = luaL_checklstring( L, 2, &i_len );
@@ -278,7 +278,7 @@ static int vlclua_net_send( lua_State *L
static int vlclua_net_recv( lua_State *L )
{
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
size_t i_len = (size_t)luaL_optinteger( L, 2, 1 );
char psz_buffer[i_len];
@@ -312,7 +312,7 @@ static int vlclua_net_poll( lua_State *L
lua_pushnil( L );
for( int i = 0; lua_next( L, 1 ); i++ )
{
- luafds[i] = luaL_checkint( L, -2 );
+ luafds[i] = luaL_checkinteger( L, -2 );
p_fds[i].fd = vlclua_fd_get( L, luafds[i] );
p_fds[i].events = luaL_checkinteger( L, -1 );
p_fds[i].events &= POLLIN | POLLOUT | POLLPRI;
@@ -360,7 +360,7 @@ static int vlclua_fd_open( lua_State *L
#ifndef _WIN32
static int vlclua_fd_write( lua_State *L )
{
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
size_t i_len;
const char *psz_buffer = luaL_checklstring( L, 2, &i_len );
@@ -371,7 +371,7 @@ static int vlclua_fd_write( lua_State *L
static int vlclua_fd_read( lua_State *L )
{
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
size_t i_len = (size_t)luaL_optinteger( L, 2, 1 );
char psz_buffer[i_len];
--- a/modules/lua/libs/osd.c
+++ b/modules/lua/libs/osd.c
@@ -154,7 +154,7 @@ static int vlc_osd_slider_type_from_stri
static int vlclua_osd_slider( lua_State *L )
{
- int i_position = luaL_checkint( L, 1 );
+ int i_position = luaL_checkinteger( L, 1 );
const char *psz_type = luaL_checkstring( L, 2 );
int i_type = vlc_osd_slider_type_from_string( psz_type );
int i_chan = (int)luaL_optinteger( L, 3, VOUT_SPU_CHANNEL_OSD );
@@ -198,7 +198,7 @@ static int vlclua_spu_channel_register(
static int vlclua_spu_channel_clear( lua_State *L )
{
- int i_chan = luaL_checkint( L, 1 );
+ int i_chan = luaL_checkinteger( L, 1 );
input_thread_t *p_input = vlclua_get_input_internal( L );
if( !p_input )
return luaL_error( L, "Unable to find input." );
--- a/modules/lua/libs/playlist.c
+++ b/modules/lua/libs/playlist.c
@@ -69,7 +69,7 @@ static int vlclua_playlist_next( lua_Sta
static int vlclua_playlist_skip( lua_State * L )
{
- int i_skip = luaL_checkint( L, 1 );
+ int i_skip = luaL_checkinteger( L, 1 );
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
playlist_Skip( p_playlist, i_skip );
return 0;
@@ -127,7 +127,7 @@ static int vlclua_playlist_random( lua_S
static int vlclua_playlist_gotoitem( lua_State * L )
{
- int i_id = luaL_checkint( L, 1 );
+ int i_id = luaL_checkinteger( L, 1 );
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
PL_LOCK;
playlist_ViewPlay( p_playlist, NULL,
@@ -138,7 +138,7 @@ static int vlclua_playlist_gotoitem( lua
static int vlclua_playlist_delete( lua_State * L )
{
- int i_id = luaL_checkint( L, 1 );
+ int i_id = luaL_checkinteger( L, 1 );
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
PL_LOCK;
@@ -152,8 +152,8 @@ static int vlclua_playlist_delete( lua_S
static int vlclua_playlist_move( lua_State * L )
{
- int i_item = luaL_checkint( L, 1 );
- int i_target = luaL_checkint( L, 2 );
+ int i_item = luaL_checkinteger( L, 1 );
+ int i_target = luaL_checkinteger( L, 2 );
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
PL_LOCK;
playlist_item_t *p_item = playlist_ItemGetById( p_playlist, i_item );
--- a/modules/lua/libs/stream.c
+++ b/modules/lua/libs/stream.c
@@ -123,7 +123,7 @@ static int vlclua_stream_read( lua_State
{
int i_read;
stream_t **pp_stream = (stream_t **)luaL_checkudata( L, 1, "stream" );
- int n = luaL_checkint( L, 2 );
+ int n = luaL_checkinteger( L, 2 );
uint8_t *p_read = malloc( n );
if( !p_read ) return vlclua_error( L );
--- a/modules/lua/libs/volume.c
+++ b/modules/lua/libs/volume.c
@@ -48,7 +48,7 @@
static int vlclua_volume_set( lua_State *L )
{
playlist_t *p_this = vlclua_get_playlist_internal( L );
- int i_volume = luaL_checkint( L, 1 );
+ int i_volume = luaL_checkinteger( L, 1 );
if( i_volume < 0 )
i_volume = 0;
int i_ret = playlist_VolumeSet( p_this, i_volume/(float)AOUT_VOLUME_DEFAULT );
--- a/modules/lua/libs/dialog.c
+++ b/modules/lua/libs/dialog.c
@@ -382,7 +382,7 @@ static int lua_GetDialogUpdate( lua_Stat
/* Read entry in the Lua registry */
lua_pushlightuserdata( L, (void*) &key_update );
lua_gettable( L, LUA_REGISTRYINDEX );
- return luaL_checkint( L, -1 );
+ return luaL_checkinteger( L, -1 );
}
/** Manually update a dialog
@@ -573,22 +573,22 @@ static int vlclua_create_widget_inner( l
/* Set common arguments: col, row, hspan, vspan, width, height */
if( lua_isnumber( L, arg ) )
- p_widget->i_column = luaL_checkint( L, arg );
+ p_widget->i_column = luaL_checkinteger( L, arg );
else goto end_of_args;
if( lua_isnumber( L, ++arg ) )
- p_widget->i_row = luaL_checkint( L, arg );
+ p_widget->i_row = luaL_checkinteger( L, arg );
else goto end_of_args;
if( lua_isnumber( L, ++arg ) )
- p_widget->i_horiz_span = luaL_checkint( L, arg );
+ p_widget->i_horiz_span = luaL_checkinteger( L, arg );
else goto end_of_args;
if( lua_isnumber( L, ++arg ) )
- p_widget->i_vert_span = luaL_checkint( L, arg );
+ p_widget->i_vert_span = luaL_checkinteger( L, arg );
else goto end_of_args;
if( lua_isnumber( L, ++arg ) )
- p_widget->i_width = luaL_checkint( L, arg );
+ p_widget->i_width = luaL_checkinteger( L, arg );
else goto end_of_args;
if( lua_isnumber( L, ++arg ) )
- p_widget->i_height = luaL_checkint( L, arg );
+ p_widget->i_height = luaL_checkinteger( L, arg );
else goto end_of_args;
end_of_args:
--- a/modules/lua/libs/io.c
+++ b/modules/lua/libs/io.c
@@ -139,7 +139,7 @@ static int vlclua_io_file_seek( lua_Stat
const char* psz_mode = luaL_optstring( L, 2, NULL );
if ( psz_mode != NULL )
{
- long i_offset = luaL_optlong( L, 3, 0 );
+ long i_offset = (long)luaL_optinteger( L, 3, 0 );
int i_mode;
if ( !strcmp( psz_mode, "set" ) )
i_mode = SEEK_SET;

View File

@@ -0,0 +1,33 @@
From d0a7ba506fd302ad195f79f287b5a5a154ac02a3 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Sun, 4 Dec 2022 16:09:51 -0600
Subject: [PATCH] tremor provides libvorbisidec, use it instead of libvorbisdec
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
THIS PATCHES HAS BEEN REIMPLEMENTED INORDER TO APPLY PROPERLY.
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
---
modules/codec/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am
index 3dadf1119..8b6189e92 100644
--- a/modules/codec/Makefile.am
+++ b/modules/codec/Makefile.am
@@ -324,7 +324,7 @@ codec_LTLIBRARIES += $(LTLIBdaala)
libtremor_plugin_la_SOURCES = codec/vorbis.c
libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor
libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
-libtremor_plugin_la_LIBADD = -lvorbisdec -logg
+libtremor_plugin_la_LIBADD = -lvorbisidec -logg
EXTRA_LTLIBRARIES += libtremor_plugin.la
codec_LTLIBRARIES += $(LTLIBtremor)
--
2.38.1

View File

@@ -0,0 +1,124 @@
From ddc2ea76058466b45a1acf37bed0d794cd3112a3 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 19:04:42 -0600
Subject: [PATCH] configure.ac: setup for OE usage
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
Need to use userland graphics libraries package files as it's best
to not assume /opt/vc is where all libs and headers are installed per
distro. Also, needed to include $BCMHOST_MMAL_LIBS variable as
AC_CHECK_LIB(bcm_host) fails to find `vc_tv_unregister_callback_full`.
Adding $BCMHOST_MMAL_LIBS uses all libs inside
bcm_host.pc, mmal.pc, vcsm.pc, openmaxil.pc files when checking
for `vc_tv_unregister_callback_full` function.
Supposed to change linked version to opengl to GLESv2
Ensure correct package config file is used for:
* opencv
* freerdp
Adds Workaround for modules/codec/omxil/omxil_core.h
multiple definition of `pf_enable_graphic_buffers'
multiple definition of `pf_get_graphic_buffer_usage'
multiple definition of `pf_get_hal_format'
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
configure.ac | 34 ++++++++++++++++++++++------------
1 file changed, 22 insertions(+), 12 deletions(-)
diff --git a/configure.ac b/configure.ac
index a72dca0b6..5b8585a26 100644
--- a/configure.ac
+++ b/configure.ac
@@ -95,6 +95,13 @@ AS_IF([test -n "${with_binary_version}"],[
[Binary specific version])
])
+# Workaround for modules/codec/omxil/omxil_core.h
+# multiple definition of `pf_enable_graphic_buffers'
+# multiple definition of `pf_get_graphic_buffer_usage'
+# multiple definition of `pf_get_hal_format'
+AC_SUBST([AM_CXXFLAGS], [-fcommon])
+AC_SUBST([AM_CFLAGS], [-fcommon])
+
dnl Prevent clang from accepting unknown flags with a mere warning
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CFLAGS])
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CXXFLAGS])
@@ -1900,7 +1907,7 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.6.2], (libbluray f
dnl
dnl OpenCV wrapper and example filters
dnl
-PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto])
+PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv4 >= 2.0], (OpenCV (computer vision) filter), [auto])
dnl
@@ -2077,7 +2084,7 @@ PKG_ENABLE_MODULES_VLC([VNC], [vnc], [libvncclient >= 0.9.9], (VNC/rfb client su
dnl RDP/Remote Desktop access module
dnl
-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) )
+PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 1.0.1], (RDP/Remote Desktop client support) )
dnl
dnl Real RTSP plugin
@@ -3089,14 +3096,14 @@ PKG_CHECK_MODULES([GL], [gl], [
#ifdef _WIN32
# include <GL/glew.h>
#endif
-#include <GL/gl.h>
+#include <GLES2/gl2.h>
]], [
[int t0 = GL_TEXTURE0;]])
], [
GL_CFLAGS=""
have_gl="yes"
AS_IF([test "${SYS}" != "mingw32"], [
- GL_LIBS="-lGL"
+ GL_LIBS="-lGLESv2"
], [
GL_LIBS="-lopengl32"
])
@@ -3483,15 +3490,14 @@ AC_ARG_ENABLE(mmal_avcodec,
[Use MMAL enabled avcodec libs (default disable)]))
if test "${enable_mmal}" != "no"; then
VLC_SAVE_FLAGS
- LDFLAGS="${LDFLAGS} -L/opt/vc/lib -lvchostif"
- CPPFLAGS="${CPPFLAGS} -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux"
- AC_CHECK_HEADERS(interface/mmal/mmal.h,
- [ AC_CHECK_LIB(bcm_host, vc_tv_unregister_callback_full, [
+ PKG_CHECK_MODULES(BCMHOST_MMAL, [bcm_host mmal vcsm openmaxil egl], [
+ HAVE_MMAL=yes
+ AC_CHECK_HEADERS(interface/mmal/mmal.h,
+ [ AC_CHECK_LIB(bcm_host $BCMHOST_MMAL_LIBS, vc_tv_unregister_callback_full, [
have_mmal="yes"
- VLC_ADD_PLUGIN([mmal])
- VLC_ADD_LDFLAGS([mmal],[ -L/opt/vc/lib ])
- VLC_ADD_CFLAGS([mmal],[ -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux ])
- VLC_ADD_LIBS([mmal],[ -lbcm_host -lmmal -lmmal_core -lmmal_components -lmmal_util -lvchostif -lvchiq_arm -lvcsm ]) ], [
+ VLC_ADD_PLUGIN([bcm_host mmal vcsm openmaxil egl])
+ VLC_ADD_CFLAGS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_CFLAGS])
+ VLC_ADD_LIBS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_LIBS -lmmal_components]) ], [
AS_IF([test "${enable_mmal}" = "yes"],
[ AC_MSG_ERROR([Cannot find bcm library...]) ],
[ AC_MSG_WARN([Cannot find bcm library...]) ])
@@ -3500,6 +3506,10 @@ if test "${enable_mmal}" != "no"; then
] , [ AS_IF([test "${enable_mmal}" = "yes"],
[ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
[ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
+ ],:[
+ AC_MSG_WARN([${BCMHOST_PKG_ERRORS}: userland graphics not available.])
+ HAVE_MMAL=NO
+ ])
VLC_RESTORE_FLAGS
fi
AM_CONDITIONAL([HAVE_MMAL], [test "${have_mmal}" = "yes"])
--
2.38.1

View File

@@ -0,0 +1,61 @@
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 07 Jan 2022 07:01:47 PM CST
Subject: [PATCH] Fix EGL macro undeclared and EGLImageKHR
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
* Fixes compiler issues related to EGL macro constant/enum value type not being defined
* Updates EGLImage to EGLImageKHR
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
diff --git a/modules/hw/mmal/converter_mmal.c b/modules/hw/mmal/converter_mmal.c
index f31cb81d8..426af668b 100644
--- a/modules/hw/mmal/converter_mmal.c
+++ b/modules/hw/mmal/converter_mmal.c
@@ -28,6 +28,34 @@
#define TRACE_ALL 0
+// Pass Yocto related build errors
+#define EGL_LINUX_DMA_BUF_EXT 0x3270
+#define EGL_LINUX_DRM_FOURCC_EXT 0x3271
+#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
+#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
+#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
+#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
+#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
+#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
+#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
+#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
+#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
+#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B
+#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C
+#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
+#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
+#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
+#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
+#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
+#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
+#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
+#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
+#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440
+#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441
+#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442
+#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
+#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
+
typedef struct mmal_gl_converter_s
{
EGLint drm_fourcc;
@@ -199,7 +227,7 @@ static tex_context_t * get_tex_context(const opengl_tex_converter_t * const tc,
*a = EGL_NONE;
- const EGLImage image = tc->gl->egl.createImageKHR(tc->gl, EGL_LINUX_DMA_BUF_EXT, NULL, attribs);
+ const EGLImageKHR image = tc->gl->egl.createImageKHR(tc->gl, EGL_LINUX_DMA_BUF_EXT, NULL, attribs);
if (!image) {
msg_Err(tc, "Failed to import fd %d: Err=%#x", fd, tc->vt->GetError());
goto fail;

View File

@@ -0,0 +1,43 @@
From 85f6603aca1d174848b42e696a4cff8af57613d6 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Thu, 8 Dec 2022 23:38:36 -0600
Subject: [PATCH] codec: omxil_core replace /opt/vc path with /usr/lib
Upstream-Status: Inappropriate
RPI-Distro repo clones original VLC and applies patches to enable
raspiberry pi support.
Configures omxil_core.c for OE usages as libbcm_host.so
and libopenmaxil.so are located in a different location.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/codec/omxil/omxil_core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules/codec/omxil/omxil_core.c b/modules/codec/omxil/omxil_core.c
index 5098f517a..5922d9034 100644
--- a/modules/codec/omxil/omxil_core.c
+++ b/modules/codec/omxil/omxil_core.c
@@ -56,7 +56,7 @@ static const char *ppsz_dll_list[] =
#if defined(USE_IOMX)
"libiomx.so", /* Not used when using IOMX, the lib should already be loaded */
#elif defined(RPI_OMX)
- "/opt/vc/lib/libopenmaxil.so", /* Broadcom IL core */
+ "/usr/lib/libopenmaxil.so", /* Broadcom IL core */
#elif 1
"libOMX_Core.so", /* TI OMAP IL core */
"libOmxCore.so", /* Qualcomm IL core */
@@ -70,7 +70,7 @@ static const char *ppsz_dll_list[] =
#ifdef RPI_OMX
static const char *ppsz_extra_dll_list[] =
{
- "/opt/vc/lib/libbcm_host.so", /* Broadcom host library */
+ "/usr/lib/libbcm_host.so", /* Broadcom host library */
0
};
#endif
--
2.38.1

View File

@@ -0,0 +1,60 @@
From 377a67af6c3f7c38f6f7ba24f042ba1a6cfd3f24 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 00:21:43 -0600
Subject: [PATCH] use GLESv2 headers over GL headers
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
We utilize GLESv2 during compilation. Patches ensures
we utilize headers for it.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/video_output/opengl/converter.h | 12 +++---------
modules/visualization/glspectrum.c | 4 +++-
2 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/modules/video_output/opengl/converter.h b/modules/video_output/opengl/converter.h
index 7000e1f38..a3fe32671 100644
--- a/modules/video_output/opengl/converter.h
+++ b/modules/video_output/opengl/converter.h
@@ -41,15 +41,9 @@
# include <OpenGLES/ES2/glext.h>
# endif
#else /* !defined (__APPLE__) */
-# if defined (USE_OPENGL_ES2)
-# include <GLES2/gl2.h>
-# include <GLES2/gl2ext.h>
-# else
-# ifdef _WIN32
-# include <GL/glew.h>
-# endif
-# include <GL/gl.h>
-# endif
+#define USE_OPENGL_ES2
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
#endif
#define VLCGL_PICTURE_MAX 128
diff --git a/modules/visualization/glspectrum.c b/modules/visualization/glspectrum.c
index 06f8d1bdf..470080b1a 100644
--- a/modules/visualization/glspectrum.c
+++ b/modules/visualization/glspectrum.c
@@ -37,7 +37,9 @@
#ifdef __APPLE__
# include <OpenGL/gl.h>
#else
-# include <GL/gl.h>
+#define USE_OPENGL_ES2
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
#endif
#include <math.h>
--
2.38.1

View File

@@ -0,0 +1,149 @@
From 5f1bb5889d838719e381350b25c00ef3a75d0e02 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 01:07:55 -0600
Subject: [PATCH] modules: remove glspectrum usage
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
The glspectrum modules requries OpenGL
while we only want to utilize GLESv2.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/Makefile.in | 24 ------------------------
modules/visualization/Makefile.am | 10 ----------
2 files changed, 34 deletions(-)
diff --git a/modules/Makefile.in b/modules/Makefile.in
index bde45db53..c9c4342ad 100644
--- a/modules/Makefile.in
+++ b/modules/Makefile.in
@@ -481,7 +481,6 @@ TESTS = hpack_test$(EXEEXT) hpackenc_test$(EXEEXT) \
@HAVE_WIN32_FALSE@am__append_247 = $(X_LIBS) $(X_PRE_LIBS) -lX11
@HAVE_DARWIN_FALSE@@HAVE_WIN32_FALSE@am__append_248 = $(X_LIBS) $(X_PRE_LIBS) -lX11
@HAVE_EVAS_TRUE@am__append_249 = libevas_plugin.la
-@HAVE_GL_TRUE@am__append_250 = libglspectrum_plugin.la
@ENABLE_SOUT_TRUE@@HAVE_GCRYPT_TRUE@am__append_251 = libaccess_output_livehttp_plugin.la
@ENABLE_SOUT_TRUE@am__append_252 = libaccess_output_shout_plugin.la \
@ENABLE_SOUT_TRUE@ libaccess_output_srt_plugin.la \
@@ -2028,13 +2027,7 @@ libgles2_plugin_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(libgles2_plugin_la_CFLAGS) $(CFLAGS) \
$(libgles2_plugin_la_LDFLAGS) $(LDFLAGS) -o $@
-libglspectrum_plugin_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1)
-am_libglspectrum_plugin_la_OBJECTS = visualization/glspectrum.lo \
- visualization/visual/fft.lo visualization/visual/window.lo
-libglspectrum_plugin_la_OBJECTS = \
- $(am_libglspectrum_plugin_la_OBJECTS)
-@HAVE_GL_TRUE@am_libglspectrum_plugin_la_rpath = -rpath $(visudir)
libglwin32_plugin_la_DEPENDENCIES = libchroma_copy.la \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_5)
am__objects_23 = \
@@ -6507,7 +6500,6 @@ am__depfiles_remade = \
video_splitter/$(DEPDIR)/clone.Plo \
video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo \
video_splitter/$(DEPDIR)/wall.Plo \
- visualization/$(DEPDIR)/glspectrum.Plo \
visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo \
visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo \
visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo \
@@ -6731,7 +6723,6 @@ SOURCES = $(liba52_plugin_la_SOURCES) $(libaa_plugin_la_SOURCES) \
$(libglconv_vaapi_x11_plugin_la_SOURCES) \
$(libglconv_vdpau_plugin_la_SOURCES) \
$(libgles2_plugin_la_SOURCES) \
- $(libglspectrum_plugin_la_SOURCES) \
$(libglwin32_plugin_la_SOURCES) $(libglx_plugin_la_SOURCES) \
$(libgme_plugin_la_SOURCES) $(libgnutls_plugin_la_SOURCES) \
$(libgoom_plugin_la_SOURCES) $(libgradfun_plugin_la_SOURCES) \
@@ -7130,7 +7121,6 @@ DIST_SOURCES = $(liba52_plugin_la_SOURCES) $(libaa_plugin_la_SOURCES) \
$(libglconv_vaapi_x11_plugin_la_SOURCES) \
$(libglconv_vdpau_plugin_la_SOURCES) \
$(libgles2_plugin_la_SOURCES) \
- $(libglspectrum_plugin_la_SOURCES) \
$(libglwin32_plugin_la_SOURCES) $(libglx_plugin_la_SOURCES) \
$(libgme_plugin_la_SOURCES) $(libgnutls_plugin_la_SOURCES) \
$(libgoom_plugin_la_SOURCES) $(libgradfun_plugin_la_SOURCES) \
@@ -12696,13 +12686,6 @@ libevent_thread_la_LDFLAGS = -static
visudir = $(pluginsdir)/visualization
visu_LTLIBRARIES = $(am__append_250) $(LTLIBgoom) $(LTLIBprojectm) \
libvisual_plugin.la $(LTLIBvsxu)
-libglspectrum_plugin_la_SOURCES = \
- visualization/glspectrum.c \
- visualization/visual/fft.c visualization/visual/fft.h \
- visualization/visual/window.c visualization/visual/window.h \
- visualization/visual/window_presets.h
-
-libglspectrum_plugin_la_LIBADD = $(GL_LIBS) $(LIBM)
libgoom_plugin_la_SOURCES = visualization/goom.c
libgoom_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(GOOM_CFLAGS)
libgoom_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(visudir)'
@@ -15715,8 +15698,6 @@ visualization/$(am__dirstamp):
visualization/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) visualization/$(DEPDIR)
@: > visualization/$(DEPDIR)/$(am__dirstamp)
-visualization/glspectrum.lo: visualization/$(am__dirstamp) \
- visualization/$(DEPDIR)/$(am__dirstamp)
visualization/visual/$(am__dirstamp):
@$(MKDIR_P) visualization/visual
@: > visualization/visual/$(am__dirstamp)
@@ -15728,8 +15709,6 @@ visualization/visual/fft.lo: visualization/visual/$(am__dirstamp) \
visualization/visual/window.lo: visualization/visual/$(am__dirstamp) \
visualization/visual/$(DEPDIR)/$(am__dirstamp)
-libglspectrum_plugin.la: $(libglspectrum_plugin_la_OBJECTS) $(libglspectrum_plugin_la_DEPENDENCIES) $(EXTRA_libglspectrum_plugin_la_DEPENDENCIES)
- $(AM_V_CCLD)$(LINK) $(am_libglspectrum_plugin_la_rpath) $(libglspectrum_plugin_la_OBJECTS) $(libglspectrum_plugin_la_LIBADD) $(LIBS)
video_output/opengl/libglwin32_plugin_la-vout_helper.lo: \
video_output/opengl/$(am__dirstamp) \
video_output/opengl/$(DEPDIR)/$(am__dirstamp)
@@ -21420,7 +21399,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@video_splitter/$(DEPDIR)/clone.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@video_splitter/$(DEPDIR)/wall.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/glspectrum.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo@am__quote@ # am--include-marker
@@ -30324,7 +30302,6 @@ distclean: distclean-recursive
-rm -f video_splitter/$(DEPDIR)/clone.Plo
-rm -f video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo
-rm -f video_splitter/$(DEPDIR)/wall.Plo
- -rm -f visualization/$(DEPDIR)/glspectrum.Plo
-rm -f visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo
-rm -f visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo
-rm -f visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo
@@ -31722,7 +31699,6 @@ maintainer-clean: maintainer-clean-recursive
-rm -f video_splitter/$(DEPDIR)/clone.Plo
-rm -f video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo
-rm -f video_splitter/$(DEPDIR)/wall.Plo
- -rm -f visualization/$(DEPDIR)/glspectrum.Plo
-rm -f visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo
-rm -f visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo
-rm -f visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo
diff --git a/modules/visualization/Makefile.am b/modules/visualization/Makefile.am
index 10619e030..aafc97f87 100644
--- a/modules/visualization/Makefile.am
+++ b/modules/visualization/Makefile.am
@@ -1,16 +1,6 @@
visudir = $(pluginsdir)/visualization
visu_LTLIBRARIES =
-libglspectrum_plugin_la_SOURCES = \
- visualization/glspectrum.c \
- visualization/visual/fft.c visualization/visual/fft.h \
- visualization/visual/window.c visualization/visual/window.h \
- visualization/visual/window_presets.h
-libglspectrum_plugin_la_LIBADD = $(GL_LIBS) $(LIBM)
-if HAVE_GL
-visu_LTLIBRARIES += libglspectrum_plugin.la
-endif
-
libgoom_plugin_la_SOURCES = visualization/goom.c
libgoom_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(GOOM_CFLAGS)
libgoom_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(visudir)'
--
2.38.1

View File

@@ -0,0 +1,43 @@
From fd4d233757cc46cd89f68b45ec4b059940dd84ae Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 19:58:11 -0600
Subject: [PATCH] codec: omxil_core.h fix multiple definition of
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
Issue occurs during compilation as
* pf_enable_graphic_buffers
* pf_get_graphic_buffer_usage
* pf_get_hal_format
Apears to be defined multiple times as the omxil_core.h
is included in multiple files.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/codec/omxil/omxil_core.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules/codec/omxil/omxil_core.h b/modules/codec/omxil/omxil_core.h
index ac3db510b..f6e42f5ed 100644
--- a/modules/codec/omxil/omxil_core.h
+++ b/modules/codec/omxil/omxil_core.h
@@ -34,9 +34,9 @@ extern OMX_ERRORTYPE (*pf_component_enum)(OMX_STRING, OMX_U32, OMX_U32);
extern OMX_ERRORTYPE (*pf_get_roles_of_component)(OMX_STRING, OMX_U32 *, OMX_U8 **);
/* Extra IOMX android functions. Can be NULL if we don't link with libiomx */
-OMX_ERRORTYPE (*pf_enable_graphic_buffers)(OMX_HANDLETYPE, OMX_U32, OMX_BOOL);
-OMX_ERRORTYPE (*pf_get_graphic_buffer_usage)(OMX_HANDLETYPE, OMX_U32, OMX_U32*);
-OMX_ERRORTYPE (*pf_get_hal_format) (const char *, int *);
+extern OMX_ERRORTYPE (*pf_enable_graphic_buffers)(OMX_HANDLETYPE, OMX_U32, OMX_BOOL);
+extern OMX_ERRORTYPE (*pf_get_graphic_buffer_usage)(OMX_HANDLETYPE, OMX_U32, OMX_U32*);
+extern OMX_ERRORTYPE (*pf_get_hal_format) (const char *, int *);
int InitOmxCore(vlc_object_t *p_this);
void DeinitOmxCore(void);
--
2.38.1

View File

@@ -0,0 +1,36 @@
From 34e4f4dad923095989ccb0ab8efb883c592bdbfd Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 20:04:27 -0600
Subject: [PATCH] remove xorg related link libs
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
If x11 isn't defined in DISTRO_FEATURES
required xorg related libs are not included
in recipe-sysroot resulting in compilation
failure.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/hw/mmal/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/hw/mmal/Makefile.am b/modules/hw/mmal/Makefile.am
index 4abe68e2e..86dad2c2d 100644
--- a/modules/hw/mmal/Makefile.am
+++ b/modules/hw/mmal/Makefile.am
@@ -8,7 +8,7 @@ libmmal_vout_plugin_la_SOURCES = vout.c mmal_cma.c mmal_picture.c subpic.c\
mmal_cma.h mmal_picture.h subpic.h transform_ops.h\
mmal_piccpy_neon.S
libmmal_vout_plugin_la_CFLAGS = $(AM_CFLAGS)
-libmmal_vout_plugin_la_LDFLAGS = $(AM_LDFLAGS) -lm -lX11 -lXrandr
+libmmal_vout_plugin_la_LDFLAGS = $(AM_LDFLAGS) -lm
libmmal_vout_plugin_la_LIBADD = $(LIBS_mmal)
mmal_LTLIBRARIES = libmmal_vout_plugin.la
--
2.38.1

View File

@@ -0,0 +1,97 @@
From 28917a258a4173af0abda0eef7faef5cbf95f123 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 21:28:48 -0600
Subject: [PATCH] vo: Makefile.am exclude libgl_plugin
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
In the situation where opengl isn't included in
DISTRO_FEATURES. We need to exclude the opengl
vout plugin from being built.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/video_output/Makefile.am | 64 --------------------------------
1 file changed, 64 deletions(-)
diff --git a/modules/video_output/Makefile.am b/modules/video_output/Makefile.am
index 78c06cfc4..14a330e68 100644
--- a/modules/video_output/Makefile.am
+++ b/modules/video_output/Makefile.am
@@ -57,70 +57,6 @@ if HAVE_TVOS
vout_LTLIBRARIES += libvout_ios_plugin.la libglconv_cvpx_plugin.la
endif
-### OpenGL ###
-libgles2_plugin_la_SOURCES = $(OPENGL_COMMONSOURCES) video_output/opengl/display.c
-libgles2_plugin_la_CFLAGS = $(AM_CFLAGS) $(GLES2_CFLAGS) -DUSE_OPENGL_ES2 $(OPENGL_COMMONCLFAGS)
-libgles2_plugin_la_LIBADD = $(GLES2_LIBS) $(LIBM) $(OPENGL_COMMONLIBS)
-libgles2_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)'
-
-EXTRA_LTLIBRARIES += libgles2_plugin.la
-vout_LTLIBRARIES += $(LTLIBgles2)
-
-libgl_plugin_la_SOURCES = $(OPENGL_COMMONSOURCES) video_output/opengl/display.c
-libgl_plugin_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAGS) $(OPENGL_COMMONCLFAGS)
-libgl_plugin_la_LIBADD = $(LIBM) $(OPENGL_COMMONLIBS)
-if HAVE_WIN32
-libgl_plugin_la_CFLAGS += -DHAVE_GL_CORE_SYMBOLS
-libgl_plugin_la_LIBADD += $(GL_LIBS)
-endif
-
-libglconv_vaapi_wl_plugin_la_SOURCES = video_output/opengl/converter_vaapi.c \
- video_output/opengl/converter.h \
- hw/vaapi/vlc_vaapi.c hw/vaapi/vlc_vaapi.h
-libglconv_vaapi_wl_plugin_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAGS) -DHAVE_VA_WL $(LIBVA_WL_CFLAGS)
-libglconv_vaapi_wl_plugin_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_EGL_LIBS) \
- $(LIBVA_WL_LIBS)
-
-libglconv_vaapi_x11_plugin_la_SOURCES = $(libglconv_vaapi_wl_plugin_la_SOURCES)
-libglconv_vaapi_x11_plugin_la_CFLAGS = $(AM_CFLAGS) -DHAVE_VA_X11
-libglconv_vaapi_x11_plugin_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_EGL_LIBS) \
- $(LIBVA_X11_LIBS) $(X_LIBS) $(X_PRE_LIBS) -lX11
-
-libglconv_vaapi_drm_plugin_la_SOURCES = $(libglconv_vaapi_wl_plugin_la_SOURCES)
-libglconv_vaapi_drm_plugin_la_CFLAGS = $(AM_CFLAGS) -DHAVE_VA_DRM
-libglconv_vaapi_drm_plugin_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_EGL_LIBS) \
- $(LIBVA_DRM_LIBS)
-
-libglconv_vdpau_plugin_la_SOURCES = video_output/opengl/converter_vdpau.c \
- video_output/opengl/converter.h hw/vdpau/vlc_vdpau.h
-libglconv_vdpau_plugin_la_CFLAGS = $(AM_CFLAGS) $(VDPAU_CFLAGS)
-libglconv_vdpau_plugin_la_LIBADD = $(LIBDL) libvlc_vdpau.la $(X_LIBS) $(X_PRE_LIBS) -lX11
-
-if HAVE_GL
-vout_LTLIBRARIES += libgl_plugin.la
-if HAVE_EGL
-if HAVE_VAAPI
-if HAVE_WAYLAND_EGL
-if HAVE_VAAPI_WL
-vout_LTLIBRARIES += libglconv_vaapi_wl_plugin.la
-endif
-endif
-if HAVE_XCB
-if HAVE_VAAPI_X11
-vout_LTLIBRARIES += libglconv_vaapi_x11_plugin.la
-endif
-endif
-if HAVE_VAAPI_DRM
-vout_LTLIBRARIES += libglconv_vaapi_drm_plugin.la
-endif
-endif
-endif # HAVE_EGL
-
-if HAVE_VDPAU
-vout_LTLIBRARIES += libglconv_vdpau_plugin.la
-endif
-endif # HAVE_GL
-
### XCB ###
libvlc_xcb_events_la_SOURCES = \
video_output/xcb/events.c video_output/xcb/events.h
--
2.38.1

View File

@@ -0,0 +1,59 @@
From 35276c4b02b9114436108e74727d192f1e21f239 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 23:31:33 -0600
Subject: [PATCH] vo: converter_vaapi Fix EGL macro undeclared
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
Fixes compiler issues related to EGL macro constant/enum value type
not being defined
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/video_output/opengl/converter_vaapi.c | 27 +++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/modules/video_output/opengl/converter_vaapi.c b/modules/video_output/opengl/converter_vaapi.c
index cd842f711..59245fe4c 100644
--- a/modules/video_output/opengl/converter_vaapi.c
+++ b/modules/video_output/opengl/converter_vaapi.c
@@ -55,6 +55,33 @@
#define DRM_FORMAT_MOD_INVALID fourcc_mod_code(NONE, DRM_FORMAT_RESERVED)
+#define EGL_LINUX_DMA_BUF_EXT 0x3270
+#define EGL_LINUX_DRM_FOURCC_EXT 0x3271
+#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
+#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
+#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
+#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
+#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
+#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
+#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
+#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
+#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
+#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B
+#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C
+#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
+#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
+#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
+#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
+#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
+#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
+#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
+#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
+#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440
+#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441
+#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442
+#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
+#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
+
struct priv
{
struct vlc_vaapi_instance *vainst;
--
2.38.1

View File

@@ -0,0 +1,59 @@
From 4caba7560aec54f6d944accd1a8d216e8d9b1d92 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Tue, 14 Nov 2023 20:17:11 -0500
Subject: [PATCH] po: Fix typos in oc.po for gettext compatibility
Upstream-Status: Inappropriate
Ws moved upstream, but upstream patch couldn't be applied.
https://code.videolan.org/videolan/vlc/-/commit/9d67e20c2edd25251b46d1780a7973b44ac5e5ba
gettext-0.22 became stricter and started to validate format strings. Fix
the typos.
Bug: https://bugs.gentoo.org/909015
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
po/oc.po | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/po/oc.po b/po/oc.po
index 86f2ed8a1..ce68c581f 100644
--- a/po/oc.po
+++ b/po/oc.po
@@ -5298,18 +5298,18 @@ msgstr "Comanda+"
#: src/misc/update.c:482
#, c-format
msgid "%.1f GiB"
-msgstr "%.lf Gio"
+msgstr "%.1f Gio"
#: src/misc/update.c:484
#, c-format
msgid "%.1f MiB"
-msgstr "%.lf Mio"
+msgstr "%.1f Mio"
#: src/misc/update.c:486 modules/gui/macosx/VLCPlaylistInfo.m:138
#: modules/gui/macosx/VLCPlaylistInfo.m:140
#, c-format
msgid "%.1f KiB"
-msgstr "%.lf Kio"
+msgstr "%.1f Kio"
#: src/misc/update.c:488
#, c-format
@@ -33071,7 +33071,7 @@ msgstr "Lista del gestionari de mèdias"
#, fuzzy
#~ msgid "%.1f kB"
-#~ msgstr "%.lf Gio"
+#~ msgstr "%.1f Gio"
#, fuzzy
#~ msgid "Speed"
--
2.34.1

View File

@@ -0,0 +1,165 @@
DESCRIPTION = "Video player and streamer - davinci edition"
HOMEPAGE = "http://www.videolan.org"
SECTION = "multimedia"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "\
git://git@github.com/RPi-Distro/vlc;protocol=https;branch=buster-rpt \
file://0001-configure-fix-linking-on-RISC-V-ISA.patch \
file://0002-Revert-configure-Require-libmodplug-0.8.9.patch \
file://0003-CVE-2022-41325.patch \
file://0004-mmal_20.patch \
file://0005-mmal_exit_fix.patch \
file://0006-mmal_chain.patch \
file://0007-armv6.patch \
file://0008-configure-Disable-incompatible-function-pointer-type.patch \
file://0009-demux-dash-include-cstdint-needed-for-uint64_t.patch \
file://2001-fix-luaL-checkint.patch \
file://2002-use-vorbisidec.patch \
file://3001-configure.ac-setup-for-OE-usage.patch \
file://3002-fix-EGL-macro-undeclared-and-EGLImageKHR.patch \
file://3003-codec-omxil_core-replace-opt-vc-path-with-usr-lib.patch \
file://3004-use-GLESv2-headers-over-GL-headers.patch \
file://3005-modules-remove-glspectrum-usage.patch \
file://3006-codec-omxil_core.h-fix-multiple-definition-of.patch \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'file://3007-remove-xorg-related-link-libs.patch', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '', 'file://3008-vo-Makefile.am-exclude-libgl_plugin.patch', d)} \
file://3009-vo-converter_vaapi-Fix-EGL-macro-undeclared.patch \
file://3010-po-Fix-typos-in-oc.po-for-gettext-compatibility.patch \
"
SRCREV = "b276eb0d7bc3213363e97dbb681ef7c927be6c73"
S = "${WORKDIR}/git"
PROVIDES = "vlc"
RPROVIDES:${PN} = "${PROVIDES}"
DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native \
dbus libxml2 gnutls tremor faad2 ffmpeg flac alsa-lib libidn \
jpeg xz libmodplug mpeg2dec libmtp libopus orc libsamplerate0 \
avahi libusb1 schroedinger taglib tiff"
inherit autotools gettext pkgconfig mime-xdg
export BUILDCC = "${BUILD_CC} -std=c11"
EXTRA_OECONF = "\
--enable-run-as-root \
--enable-xvideo \
--disable-lua \
--disable-screen \
--disable-caca \
--enable-vlm \
--enable-tremor \
--disable-aa \
--disable-faad \
--enable-dbus \
--without-contrib \
--without-kde-solid \
--enable-realrtsp \
--disable-libtar \
--enable-avcodec \
--disable-css \
"
PACKAGECONFIG ?= "\
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'mmal', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)} \
${@bb.utils.contains_any('DISTRO_FEATURES', 'x11', 'notify', '', d)} \
live555 dv1394 fontconfig fluidsynth freetype png udev \
x264 alsa harfbuzz jack neon fribidi dvbpsi a52 v4l2 \
"
PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal --enable-mmal-avcodec,,userland"
PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264"
PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52"
PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${prefix},--disable-live555,live555"
PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc"
PACKAGECONFIG[libva] = "--enable-libva,--disable-libva,libva"
#PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex"
PACKAGECONFIG[gstreamer] = "--enable-gst-decode,--disable-gst-decode,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx, libvpx"
#PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp"
PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi"
#PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba"
PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp"
PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss"
PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2"
PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg"
PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis libogg"
PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394"
PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394"
PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg"
PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo"
PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+3"
PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig"
PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype"
#PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss"
PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver"
PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama"
PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
#PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
#PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native"
PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2"
#PACKAGECONFIG[dca] = "--enable-dca,--disable-dca,libdca"
PACKAGECONFIG[fribidi] = "--enable-fribidi,,fribidi"
PACKAGECONFIG[gnutls] = "--enable-gnutls,,gnutls"
PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,,fluidsynth"
PACKAGECONFIG[harfbuzz] = "--enable-harfbuzz,--disable-harfbuzz,harfbuzz"
PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,"
PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus libogg"
PACKAGECONFIG[ncurses] = "--enable-ncurses,--disable-ncurses,ncurses"
PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
PACKAGECONFIG[sdl-image] = "--enable-sdl-image,,libsdl-image"
PACKAGECONFIG[v4l2] = "--enable-v4l2,,v4l-utils"
TARGET_CFLAGS:append = " -I${STAGING_INCDIR}/drm"
TARGET_LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '-lGLESv2', '', d)}"
# Ensures the --enable-mmal-avcodec flag is available for usage
do_configure:prepend() {
olddir=`pwd`
cd ${S}
./bootstrap
cd $olddir
}
# This recipe packages vlc as a library as well, so qt4 dependencies
# can be avoided when only the library is installed.
PACKAGES =+ "libvlc"
LEAD_SONAME_libvlc = "libvlc.so.5"
FILES:libvlc = "${libdir}/lib*.so.*"
FILES:${PN} += "\
${bindir}/vlc \
${libdir}/vlc \
${datadir}/applications \
${datadir}/vlc \
${datadir}/icons \
${datadir}/metainfo/vlc.appdata.xml \
"
FILES:${PN}-dbg += "\
${libdir}/vlc/*/.debug \
${libdir}/vlc/plugins/*/.debug \
"
FILES:${PN}-staticdev += "\
${libdir}/vlc/plugins/*/*.a \
${libdir}/vlc/libcompat.a \
"
# Only enable it for rpi class of machines
COMPATIBLE_HOST = "null"
COMPATIBLE_HOST:rpi = "(.*)"
INSANE_SKIP:${PN} = "dev-so"

View File

@@ -1,3 +1,3 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE_rpi = "(null)" COMPATIBLE_MACHINE:rpi = "(null)"

View File

@@ -1 +1 @@
RDEPENDS_packagegroup-meta-oe-kernel_remove_rpi = "bpftool" RDEPENDS:packagegroup-meta-oe-kernel:remove:rpi = "bpftool"

View File

@@ -0,0 +1,33 @@
SUMMARY = "CircuitPython APIs for non-CircuitPython versions of Python such as CPython on Linux and MicroPython."
HOMEPAGE = "https://github.com/adafruit/Adafruit_Blinka"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=660e614bc7efb0697cc793d8a22a55c2"
SRC_URI = "git://github.com/adafruit/Adafruit_Blinka.git;branch=main;protocol=https"
SRCREV = "dc688f354fe779c9267c208b99f310af87e79272"
S = "${WORKDIR}/git"
inherit setuptools3
DEPENDS += "python3-setuptools-scm-native"
do_install:append() {
# it ships ./bcm283x/pulseio/libgpiod_pulsein which is a prebuilt
# 32bit binary therefore we should make this specific to 32bit rpi machines (based on bcm283x) only
if [ ${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '1', '0', d)} = "0" ]; then
rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}/adafruit_blinka/microcontroller/bcm283x
fi
}
RDEPENDS:${PN} += " \
libgpiod \
python3-adafruit-platformdetect \
python3-adafruit-pureio \
python3-core \
"
RDEPENDS:${PN}:append:rpi = " rpi-gpio"
COMPATIBLE_HOST:libc-musl:class-target = "null"

View File

@@ -0,0 +1,19 @@
SUMMARY = "CircuitPython bus device classes to manage bus sharing."
HOMEPAGE = "https://github.com/adafruit/Adafruit_CircuitPython_BusDevice"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=6ec69d6e9e6c85adfb7799d7f8cf044e"
SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_BusDevice.git;branch=main;protocol=https"
SRCREV = "1bfe8005293205e2f7b2cc498ab5a946f1133b40"
S = "${WORKDIR}/git"
inherit setuptools3
DEPENDS += "python3-setuptools-scm-native"
RDEPENDS:${PN} += " \
python3-adafruit-blinka \
python3-core \
"
COMPATIBLE_HOST:libc-musl:class-target = "null"

View File

@@ -0,0 +1,19 @@
SUMMARY = "CircuitPython helper library provides higher level objects to control motors and servos."
HOMEPAGE = "https://github.com/adafruit/Adafruit_CircuitPython_Motor"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b72678307cc7c10910b5ef460216af07"
SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_Motor.git;branch=main;protocol=https"
SRCREV = "2251bfc0501d0acfb96c0a43f4f2b4c6a10ca14e"
S = "${WORKDIR}/git"
inherit setuptools3
DEPENDS += "python3-setuptools-scm-native"
RDEPENDS:${PN} += " \
python3-adafruit-blinka \
python3-core \
"
COMPATIBLE_HOST:libc-musl:class-target = "null"

View File

@@ -0,0 +1,23 @@
SUMMARY = "CircuitPython helper library for DC & Stepper Motor FeatherWing, Shield, and Pi Hat kits."
HOMEPAGE = "https://github.com/adafruit/Adafruit_CircuitPython_MotorKit"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=6ad4a8854b39ad474755ef1aea813bac"
SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_MotorKit.git;branch=main;protocol=https"
SRCREV = "8c1462b4129b21f6db156d1517abb017bb74b982"
S = "${WORKDIR}/git"
inherit setuptools3
DEPENDS += "python3-setuptools-scm-native"
RDEPENDS:${PN} += " \
python3-adafruit-blinka \
python3-adafruit-circuitpython-busdevice \
python3-adafruit-circuitpython-motor \
python3-adafruit-circuitpython-pca9685 \
python3-adafruit-circuitpython-register \
python3-core \
"
COMPATIBLE_HOST:libc-musl:class-target = "null"

View File

@@ -0,0 +1,21 @@
SUMMARY = "CircuitPython driver for motor, stepper, and servo based on PCA9685."
HOMEPAGE = "https://github.com/adafruit/Adafruit_CircuitPython_PCA9685"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e7eb6b599fb0cfb06485c64cd4242f62"
SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_PCA9685.git;branch=main;protocol=https"
SRCREV = "2780c4102f4c23fbab252aa1198b61ba7e2d1b2c"
S = "${WORKDIR}/git"
inherit setuptools3
DEPENDS += "python3-setuptools-scm-native"
RDEPENDS:${PN} += " \
python3-adafruit-blinka \
python3-adafruit-circuitpython-busdevice \
python3-adafruit-circuitpython-register \
python3-core \
"
COMPATIBLE_HOST:libc-musl:class-target = "null"

View File

@@ -1,19 +1,19 @@
PACKAGECONFIG_GL_rpi = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'gl', \ PACKAGECONFIG_GL:rpi = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'gl', \
bb.utils.contains('DISTRO_FEATURES', 'opengl', 'eglfs gles2', \ bb.utils.contains('DISTRO_FEATURES', 'opengl', 'eglfs gles2', \
'', d), d)}" '', d), d)}"
PACKAGECONFIG_GL_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', ' kms', '', d)}" PACKAGECONFIG_GL:append:rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', ' kms', '', d)}"
PACKAGECONFIG_GL_append_rpi = " gbm" PACKAGECONFIG_GL:append:rpi = " gbm"
PACKAGECONFIG_FONTS_rpi = "fontconfig" PACKAGECONFIG_FONTS:rpi = "fontconfig"
PACKAGECONFIG_append_rpi = " libinput examples tslib xkb xkbcommon" PACKAGECONFIG:append:rpi = " libinput examples tslib xkbcommon"
PACKAGECONFIG_remove_rpi = "tests" PACKAGECONFIG:remove:rpi = "tests"
OE_QTBASE_EGLFS_DEVICE_INTEGRATION_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'eglfs_brcm', d)}" OE_QTBASE_EGLFS_DEVICE_INTEGRATION:rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'eglfs_brcm', d)}"
do_configure_prepend_rpi() { do_configure:prepend:rpi() {
# Add the appropriate EGLFS_DEVICE_INTEGRATION # Add the appropriate EGLFS_DEVICE_INTEGRATION
if [ "${@d.getVar('OE_QTBASE_EGLFS_DEVICE_INTEGRATION')}" != "" ]; then if [ "${@d.getVar('OE_QTBASE_EGLFS_DEVICE_INTEGRATION')}" != "" ]; then
echo "EGLFS_DEVICE_INTEGRATION = ${OE_QTBASE_EGLFS_DEVICE_INTEGRATION}" >> ${S}/mkspecs/oe-device-extra.pri echo "EGLFS_DEVICE_INTEGRATION = ${OE_QTBASE_EGLFS_DEVICE_INTEGRATION}" >> ${S}/mkspecs/oe-device-extra.pri
fi fi
} }
RDEPENDS_${PN}_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}" RDEPENDS:${PN}:append:rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"
DEPENDS_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}" DEPENDS:append:rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 KiB

BIN
img/balena.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@@ -11,7 +11,8 @@ repos:
poky: poky:
url: https://git.yoctoproject.org/git/poky url: https://git.yoctoproject.org/git/poky
refspec: master path: layers/poky
branch: master
layers: layers:
meta: meta:
meta-poky: meta-poky:
@@ -19,7 +20,8 @@ repos:
meta-openembedded: meta-openembedded:
url: http://git.openembedded.org/meta-openembedded url: http://git.openembedded.org/meta-openembedded
refspec: master path: layers/meta-openembedded
branch: master
layers: layers:
meta-oe: meta-oe:
meta-python: meta-python:
@@ -28,7 +30,8 @@ repos:
meta-qt5: meta-qt5:
url: https://github.com/meta-qt5/meta-qt5/ url: https://github.com/meta-qt5/meta-qt5/
refspec: master path: layers/meta-qt5
branch: master
bblayers_conf_header: bblayers_conf_header:
standard: | standard: |
@@ -39,20 +42,24 @@ local_conf_header:
reduce_diskspace: | reduce_diskspace: |
INHERIT += "rm_work_and_downloads" INHERIT += "rm_work_and_downloads"
standard: | standard: |
CONF_VERSION = "1" CONF_VERSION = "2"
PACKAGE_CLASSES = "package_rpm" PACKAGE_CLASSES = "package_rpm"
SDKMACHINE = "x86_64" SDKMACHINE = "x86_64"
USER_CLASSES = "buildstats image-mklibs image-prelink" USER_CLASSES = "buildstats"
PATCHRESOLVE = "noop" PATCHRESOLVE = "noop"
debug-tweaks: | debug-tweaks: |
EXTRA_IMAGE_FEATURES = "debug-tweaks" IMAGE_FEATURES += "empty-root-password allow-empty-password allow-root-login post-install-logging"
diskmon: | diskmon: |
BB_DISKMON_DIRS = "\ BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \ STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \ STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \ STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \ STOPTASKS,/tmp,100M,100K \
ABORT,${TMPDIR},100M,1K \ HALT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \ HALT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K \ HALT,${SSTATE_DIR},100M,1K \
ABORT,/tmp,10M,1K" HALT,/tmp,10M,1K"
license: |
# Uncomment next line to allow the license
# See: linux-firmware-rpidistro in docs/ipcompliance.md
#LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"

View File

@@ -1,9 +1,6 @@
from oeqa.runtime.cases.parselogs import * from oeqa.runtime.cases.parselogs import *
rpi_errors = [ rpi_errors = [
'bcmgenet fd580000.genet: failed to get enet-eee clock',
'bcmgenet fd580000.genet: failed to get enet-wol clock',
'bcmgenet fd580000.genet: failed to get enet clock',
] ]
ignore_errors['raspberrypi4'] = rpi_errors + common_errors ignore_errors['raspberrypi4'] = rpi_errors + common_errors

View File

@@ -11,14 +11,14 @@ COMPATIBLE_MACHINE = "^rpi$"
S = "${RPITOOLS_S}/armstubs" S = "${RPITOOLS_S}/armstubs"
export CC7="${CC}" export CC7 = "${CC}"
export LD7="${LD}" export LD7 = "${LD}"
export OBJCOPY7="${OBJCOPY}" export OBJCOPY7 = "${OBJCOPY}"
export OBJDUMP7="${OBJDUMP}" export OBJDUMP7 = "${OBJDUMP}"
export CC8="${CC}" export CC8 = "${CC}"
export LD8="${LD}" export LD8 = "${LD}"
export OBJCOPY8="${OBJCOPY}" export OBJCOPY8 = "${OBJCOPY}"
export OBJDUMP8="${OBJDUMP} -maarch64" export OBJDUMP8 = "${OBJDUMP} -maarch64"
do_compile() { do_compile() {
[ -z "${ARMSTUB}" ] && bbfatal "No ARMSTUB defined for your machine." [ -z "${ARMSTUB}" ] && bbfatal "No ARMSTUB defined for your machine."
@@ -34,3 +34,5 @@ addtask deploy before do_build after do_install
do_deploy[dirs] += "${DEPLOYDIR}/${PN}" do_deploy[dirs] += "${DEPLOYDIR}/${PN}"
PACKAGE_ARCH = "${MACHINE_ARCH}" PACKAGE_ARCH = "${MACHINE_ARCH}"
TOOLCHAIN = "gcc"

View File

@@ -1,43 +0,0 @@
DESCRIPTION = "Closed source binary files to help boot the ARM on the BCM2835."
LICENSE = "Broadcom-RPi"
LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=c403841ff2837657b2ed8e5bb474ac8d"
inherit deploy nopackages
include recipes-bsp/common/raspberrypi-firmware.inc
INHIBIT_DEFAULT_DEPS = "1"
DEPENDS = "rpi-config"
COMPATIBLE_MACHINE = "^rpi$"
S = "${RPIFW_S}/boot"
PR = "r3"
do_deploy() {
install -d ${DEPLOYDIR}/${PN}
for i in ${S}/*.elf ; do
cp $i ${DEPLOYDIR}/${PN}
done
for i in ${S}/*.dat ; do
cp $i ${DEPLOYDIR}/${PN}
done
for i in ${S}/*.bin ; do
cp $i ${DEPLOYDIR}/${PN}
done
# Add stamp in deploy directory
touch ${DEPLOYDIR}/${PN}/${PN}-${PV}.stamp
}
do_deploy[depends] += "rpi-config:do_deploy"
addtask deploy before do_build after do_install
do_deploy[dirs] += "${DEPLOYDIR}/${PN}"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -0,0 +1,52 @@
DESCRIPTION = "Closed source binary files to help boot all raspberry pi devices."
LICENSE = "Broadcom-RPi"
LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=c403841ff2837657b2ed8e5bb474ac8d"
inherit deploy nopackages
RPIFW_DATE ?= "20250430"
SRCREV = "bc7f439c234e19371115e07b57c366df59cc1bc7"
SHORTREV = "${@d.getVar("SRCREV", False).__str__()[:7]}"
RPIFW_SRC_URI ?= "https://api.github.com/repos/raspberrypi/firmware/tarball/${SRCREV};downloadfilename=raspberrypi-firmware-${SHORTREV}.tar.gz"
RPIFW_S ?= "${WORKDIR}/raspberrypi-firmware-${SHORTREV}"
SRC_URI = "${RPIFW_SRC_URI}"
SRC_URI[sha256sum] = "2c027debbef53c86c9ff9197d056d501b95f6ad214ad4db00a8a59b947574eb1"
PV = "${RPIFW_DATE}"
INHIBIT_DEFAULT_DEPS = "1"
DEPENDS = "rpi-config rpi-cmdline"
COMPATIBLE_MACHINE = "^rpi$"
S = "${RPIFW_S}/boot"
PR = "r3"
do_deploy() {
install -d ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}
for i in ${S}/*.elf ; do
cp $i ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}
done
for i in ${S}/*.dat ; do
cp $i ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}
done
for i in ${S}/*.bin ; do
cp $i ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}
done
# Add stamp in deploy directory
touch ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/${PN}-${PV}.stamp
}
do_deploy[depends] += "rpi-config:do_deploy rpi-cmdline:do_deploy"
addtask deploy before do_build after do_install
do_deploy[dirs] += "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -0,0 +1,78 @@
SUMMARY = "cmdline.txt file used to boot the kernel on a Raspberry Pi device"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
COMPATIBLE_MACHINE = "^rpi$"
INHIBIT_DEFAULT_DEPS = "1"
inherit deploy nopackages
CMDLINE_DWC_OTG ?= "dwc_otg.lpm_enable=0"
CMDLINE_ROOT_FSTYPE ?= "rootfstype=ext4"
CMDLINE_ROOT_PARTITION ?= "/dev/mmcblk0p2"
CMDLINE_ROOTFS ?= "root=${CMDLINE_ROOT_PARTITION} ${CMDLINE_ROOT_FSTYPE} rootwait"
CMDLINE_SERIAL ?= "${@oe.utils.conditional("ENABLE_UART", "1", "console=serial0,115200", "", d)}"
CMDLINE_PITFT ?= "${@bb.utils.contains("MACHINE_FEATURES", "pitft", "fbcon=map:10 fbcon=font:VGA8x8", "", d)}"
# Add the kernel debugger over console kernel command line option if enabled
CMDLINE_KGDB ?= '${@oe.utils.conditional("ENABLE_KGDB", "1", "kgdboc=serial0,115200", "", d)}'
# Disable rpi logo on boot
CMDLINE_LOGO ?= '${@oe.utils.conditional("DISABLE_RPI_BOOT_LOGO", "1", "logo.nologo", "", d)}'
# You can define CMDLINE_DEBUG as "debug" in your local.conf or distro.conf
# to enable kernel debugging.
CMDLINE_DEBUG ?= ""
# Add a request to isolate processors from the Linux scheduler. ISOLATED_CPUS
# may have the form of a comma separated list of processor numbers "0,1,3", a
# range "0-2", a combination of the two "0-1,3", or a single processor you may
# not specify ALL processors simultaneously
def setup_isolcpus(d):
string = ""
if d.getVar('ISOLATED_CPUS'):
string = 'isolcpus=' + d.getVar('ISOLATED_CPUS')
return string
CMDLINE_ISOL_CPUS ?= "${@setup_isolcpus(d)}"
# Add RNDIS capabilities (must be after rootwait)
# example:
# CMDLINE_RNDIS = "modules-load=dwc2,g_ether g_ether.host_addr=<some MAC
# address> g_ether.dev_addr=<some MAC address>"
# if the MAC addresses are omitted, random values will be used
CMDLINE_RNDIS ?= ""
# That allows to keep the traditional network interface names
CMDLINE_IFNAMES ?= "net.ifnames=0"
CMDLINE = " \
${CMDLINE_ISOL_CPUS} \
${CMDLINE_DWC_OTG} \
${CMDLINE_SERIAL} \
${CMDLINE_ROOTFS} \
${CMDLINE_CMA} \
${CMDLINE_KGDB} \
${CMDLINE_LOGO} \
${CMDLINE_PITFT} \
${CMDLINE_DEBUG} \
${CMDLINE_RNDIS} \
${CMDLINE_IFNAMES} \
"
do_compile() {
echo "${@' '.join(d.getVar('CMDLINE').split())}" > "${WORKDIR}/cmdline.txt"
}
do_deploy() {
install -d "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}"
install -m 0644 "${WORKDIR}/cmdline.txt" "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}"
}
addtask deploy before do_build after do_install
do_deploy[dirs] += "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -0,0 +1,55 @@
From ce27f7e22b2cd7453a425e08780a338a71301961 Mon Sep 17 00:00:00 2001
From: Leon Anavi <leon.anavi@konsulko.com>
Date: Mon, 20 Nov 2023 15:19:15 +0200
Subject: [PATCH] config.txt: reintroduce start_x
Reintroduce configuration "start_x". Based on the experience with
Yocto/OpenEmbedded layer meta-raspberrypi, it has been observed
that Raspberry Pi 4B 4GB may fail to enable the camera if
"start_x=1" is at the end of the file. Therefore, "start_x=1"
is expected in config.txt template and it has been set to replace
the original occurrence, which is at the middle of the file.
Also update revision and date stamp.
GitHub pull request: https://github.com/Evilpaul/RPi-config/pull/8
Upstream-Status: Submitted
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
---
config.txt | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/config.txt b/config.txt
index 1cf7b29..e28ed02 100644
--- a/config.txt
+++ b/config.txt
@@ -1,7 +1,7 @@
################################################################################
## Raspberry Pi Configuration Settings
##
-## Revision 17, 2021/08/15
+## Revision 18, 2023/11/20
##
## Details taken from the eLinux wiki and official Raspberry Pi documentation.
## For up-to-date information please refer to links below.
@@ -760,6 +760,16 @@
## Camera Settings
################################################################################
+## start_x
+## Set to "1" to enable the camera module.
+##
+## Enabling the camera requires gpu_mem option to be specified with a value
+## of at least 128.
+##
+## Default 0
+##
+#start_x=0
+
## disable_camera_led
## Turn off the red camera led when recording video or taking a still
## picture.
--
2.39.2

View File

@@ -7,8 +7,9 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
COMPATIBLE_MACHINE = "^rpi$" COMPATIBLE_MACHINE = "^rpi$"
SRCREV = "648ffc470824c43eb0d16c485f4c24816b32cd6f" SRCREV = "6ac2d832c6c3b208e2669f50ec1abf2c20cb7ff4"
SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=git;branch=master \ SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=https;branch=master \
file://0001-config.txt-reintroduce-start_x.patch \
" "
S = "${WORKDIR}/git" S = "${WORKDIR}/git"
@@ -17,208 +18,331 @@ PR = "r5"
INHIBIT_DEFAULT_DEPS = "1" INHIBIT_DEFAULT_DEPS = "1"
PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}" PITFT = "${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
PITFT22="${@bb.utils.contains("MACHINE_FEATURES", "pitft22", "1", "0", d)}" PITFT22 = "${@bb.utils.contains("MACHINE_FEATURES", "pitft22", "1", "0", d)}"
PITFT28r="${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "1", "0", d)}" PITFT28r = "${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "1", "0", d)}"
PITFT28c="${@bb.utils.contains("MACHINE_FEATURES", "pitft28c", "1", "0", d)}" PITFT28c = "${@bb.utils.contains("MACHINE_FEATURES", "pitft28c", "1", "0", d)}"
PITFT35r="${@bb.utils.contains("MACHINE_FEATURES", "pitft35r", "1", "0", d)}" PITFT35r = "${@bb.utils.contains("MACHINE_FEATURES", "pitft35r", "1", "0", d)}"
VC4GRAPHICS="${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}" VC4GRAPHICS = "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}"
VC4DTBO ?= "vc4-kms-v3d" VC4DTBO ?= "vc4-kms-v3d"
GPIO_IR ?= "18"
GPIO_IR_TX ?= "17"
CAN_OSCILLATOR ?= "16000000"
CAN0_INTERRUPT_PIN ?= "25"
CAN1_INTERRUPT_PIN ?= "24"
ENABLE_UART ??= ""
WM8960 = "${@bb.utils.contains("MACHINE_FEATURES", "wm8960", "1", "0", d)}"
GPIO_SHUTDOWN_PIN ??= ""
inherit deploy nopackages inherit deploy nopackages
do_deploy() { do_deploy() {
install -d ${DEPLOYDIR}/bcm2835-bootfiles install -d ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}
CONFIG=${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
cp ${S}/config.txt ${DEPLOYDIR}/bcm2835-bootfiles/ cp ${S}/config.txt $CONFIG
if [ -n "${KEY_DECODE_MPG2}" ]; then if [ -n "${KEY_DECODE_MPG2}" ]; then
sed -i '/#decode_MPG2=/ c\decode_MPG2=${KEY_DECODE_MPG2}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#decode_MPG2=/ c\decode_MPG2=${KEY_DECODE_MPG2}' $CONFIG
fi fi
if [ -n "${KEY_DECODE_WVC1}" ]; then if [ -n "${KEY_DECODE_WVC1}" ]; then
sed -i '/#decode_WVC1=/ c\decode_WVC1=${KEY_DECODE_WVC1}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#decode_WVC1=/ c\decode_WVC1=${KEY_DECODE_WVC1}' $CONFIG
fi fi
if [ -n "${DISABLE_OVERSCAN}" ]; then if [ -n "${DISABLE_OVERSCAN}" ]; then
sed -i '/#disable_overscan=/ c\disable_overscan=${DISABLE_OVERSCAN}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#disable_overscan=/ c\disable_overscan=${DISABLE_OVERSCAN}' $CONFIG
fi fi
if [ "${DISABLE_SPLASH}" = "1" ]; then if [ "${DISABLE_SPLASH}" = "1" ]; then
sed -i '/#disable_splash=/ c\disable_splash=${DISABLE_SPLASH}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#disable_splash=/ c\disable_splash=${DISABLE_SPLASH}' $CONFIG
fi fi
# Set overclocking options # Set overclocking options
if [ -n "${ARM_FREQ}" ]; then if [ -n "${ARM_FREQ}" ]; then
sed -i '/#arm_freq=/ c\arm_freq=${ARM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#arm_freq=/ c\arm_freq=${ARM_FREQ}' $CONFIG
fi fi
if [ -n "${GPU_FREQ}" ]; then if [ -n "${GPU_FREQ}" ]; then
sed -i '/#gpu_freq=/ c\gpu_freq=${GPU_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#gpu_freq=/ c\gpu_freq=${GPU_FREQ}' $CONFIG
fi fi
if [ -n "${CORE_FREQ}" ]; then if [ -n "${CORE_FREQ}" ]; then
sed -i '/#core_freq=/ c\core_freq=${CORE_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#core_freq=/ c\core_freq=${CORE_FREQ}' $CONFIG
fi fi
if [ -n "${SDRAM_FREQ}" ]; then if [ -n "${SDRAM_FREQ}" ]; then
sed -i '/#sdram_freq=/ c\sdram_freq=${SDRAM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#sdram_freq=/ c\sdram_freq=${SDRAM_FREQ}' $CONFIG
fi fi
if [ -n "${OVER_VOLTAGE}" ]; then if [ -n "${OVER_VOLTAGE}" ]; then
sed -i '/#over_voltage=/ c\over_voltage=${OVER_VOLTAGE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#over_voltage=/ c\over_voltage=${OVER_VOLTAGE}' $CONFIG
fi fi
# GPU memory # GPU memory
if [ -n "${GPU_MEM}" ]; then if [ -n "${GPU_MEM}" ]; then
sed -i '/#gpu_mem=/ c\gpu_mem=${GPU_MEM}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#gpu_mem=/ c\gpu_mem=${GPU_MEM}' $CONFIG
fi fi
if [ -n "${GPU_MEM_256}" ]; then if [ -n "${GPU_MEM_256}" ]; then
sed -i '/#gpu_mem_256=/ c\gpu_mem_256=${GPU_MEM_256}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#gpu_mem_256=/ c\gpu_mem_256=${GPU_MEM_256}' $CONFIG
fi fi
if [ -n "${GPU_MEM_512}" ]; then if [ -n "${GPU_MEM_512}" ]; then
sed -i '/#gpu_mem_512=/ c\gpu_mem_512=${GPU_MEM_512}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#gpu_mem_512=/ c\gpu_mem_512=${GPU_MEM_512}' $CONFIG
fi fi
if [ -n "${GPU_MEM_1024}" ]; then if [ -n "${GPU_MEM_1024}" ]; then
sed -i '/#gpu_mem_1024=/ c\gpu_mem_1024=${GPU_MEM_1024}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#gpu_mem_1024=/ c\gpu_mem_1024=${GPU_MEM_1024}' $CONFIG
fi fi
# Set boot delay # Set boot delay
if [ -n "${BOOT_DELAY}" ]; then if [ -n "${BOOT_DELAY}" ]; then
sed -i '/#boot_delay=/ c\boot_delay=${BOOT_DELAY}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#boot_delay=/ c\boot_delay=${BOOT_DELAY}' $CONFIG
fi fi
if [ -n "${BOOT_DELAY_MS}" ]; then if [ -n "${BOOT_DELAY_MS}" ]; then
sed -i '/#boot_delay_ms=/ c\boot_delay_ms=${BOOT_DELAY_MS}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#boot_delay_ms=/ c\boot_delay_ms=${BOOT_DELAY_MS}' $CONFIG
fi fi
# Set HDMI and composite video options # Set HDMI and composite video options
if [ -n "${HDMI_FORCE_HOTPLUG}" ]; then if [ -n "${HDMI_FORCE_HOTPLUG}" ]; then
sed -i '/#hdmi_force_hotplug=/ c\hdmi_force_hotplug=${HDMI_FORCE_HOTPLUG}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#hdmi_force_hotplug=/ c\hdmi_force_hotplug=${HDMI_FORCE_HOTPLUG}' $CONFIG
fi fi
if [ -n "${HDMI_DRIVE}" ]; then if [ -n "${HDMI_DRIVE}" ]; then
sed -i '/#hdmi_drive=/ c\hdmi_drive=${HDMI_DRIVE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#hdmi_drive=/ c\hdmi_drive=${HDMI_DRIVE}' $CONFIG
fi fi
if [ -n "${HDMI_GROUP}" ]; then if [ -n "${HDMI_GROUP}" ]; then
sed -i '/#hdmi_group=/ c\hdmi_group=${HDMI_GROUP}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#hdmi_group=/ c\hdmi_group=${HDMI_GROUP}' $CONFIG
fi fi
if [ -n "${HDMI_MODE}" ]; then if [ -n "${HDMI_MODE}" ]; then
sed -i '/#hdmi_mode=/ c\hdmi_mode=${HDMI_MODE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#hdmi_mode=/ c\hdmi_mode=${HDMI_MODE}' $CONFIG
fi
if [ -n "${HDMI_CVT}" ]; then
echo 'hdmi_cvt=${HDMI_CVT}' >> $CONFIG
fi fi
if [ -n "${CONFIG_HDMI_BOOST}" ]; then if [ -n "${CONFIG_HDMI_BOOST}" ]; then
sed -i '/#config_hdmi_boost=/ c\config_hdmi_boost=${CONFIG_HDMI_BOOST}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#config_hdmi_boost=/ c\config_hdmi_boost=${CONFIG_HDMI_BOOST}' $CONFIG
fi fi
if [ -n "${SDTV_MODE}" ]; then if [ -n "${SDTV_MODE}" ]; then
sed -i '/#sdtv_mode=/ c\sdtv_mode=${SDTV_MODE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#sdtv_mode=/ c\sdtv_mode=${SDTV_MODE}' $CONFIG
fi fi
if [ -n "${SDTV_ASPECT}" ]; then if [ -n "${SDTV_ASPECT}" ]; then
sed -i '/#sdtv_aspect=/ c\sdtv_aspect=${SDTV_ASPECT}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#sdtv_aspect=/ c\sdtv_aspect=${SDTV_ASPECT}' $CONFIG
fi fi
if [ -n "${DISPLAY_ROTATE}" ]; then if [ -n "${DISPLAY_ROTATE}" ]; then
sed -i '/#display_rotate=/ c\display_rotate=${DISPLAY_ROTATE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#display_rotate=/ c\display_rotate=${DISPLAY_ROTATE}' $CONFIG
fi fi
# Video camera support # Video camera support
if [ "${VIDEO_CAMERA}" = "1" ]; then if [ "${VIDEO_CAMERA}" = "1" ]; then
echo "# Enable video camera" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt # It has been observed that Raspberry Pi 4B 4GB may fail to enable the
echo "start_x=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt # camera if "start_x=1" is at the end of the file. Therefore,
# "start_x=1" has been set to replace the original occurrence in
# config.txt, which is at the middle of the file.
# The exact underlying cause is unknown. There are similar issues
# reported in the raspberrypi/firware repo and the conclusion reached
# was that there could be a file size limitation affecting certain
# variables. It was commented that this limitation could be 4k but
# not proved.
sed -i '/#start_x=/ c\start_x=1' $CONFIG
fi fi
# Offline compositing support # Offline compositing support
if [ "${DISPMANX_OFFLINE}" = "1" ]; then if [ "${DISPMANX_OFFLINE}" = "1" ]; then
echo "# Enable offline compositing" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable offline compositing" >>$CONFIG
echo "dispmanx_offline=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dispmanx_offline=1" >>$CONFIG
fi fi
# SPI bus support # SPI bus support
if [ "${ENABLE_SPI_BUS}" = "1" ] || [ "${PITFT}" = "1" ]; then if [ "${ENABLE_SPI_BUS}" = "1" ] || [ "${PITFT}" = "1" ]; then
echo "# Enable SPI bus" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable SPI bus" >>$CONFIG
echo "dtparam=spi=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtparam=spi=on" >>$CONFIG
fi fi
# I2C support # I2C support
if [ "${ENABLE_I2C}" = "1" ] || [ "${PITFT}" = "1" ]; then if [ "${ENABLE_I2C}" = "1" ] || [ "${PITFT}" = "1" ]; then
echo "# Enable I2C" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable I2C" >>$CONFIG
echo "dtparam=i2c1=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtparam=i2c1=on" >>$CONFIG
echo "dtparam=i2c_arm=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtparam=i2c_arm=on" >>$CONFIG
fi fi
# PiTFT22 display support # PiTFT22 display support
if [ "${PITFT22}" = "1" ]; then if [ "${PITFT22}" = "1" ]; then
echo "# Enable PITFT22 display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable PITFT22 display" >>$CONFIG
echo "dtoverlay=pitft22,rotate=270,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtoverlay=pitft22,rotate=270,speed=32000000,txbuflen=32768" >>$CONFIG
fi fi
if [ "${PITFT28r}" = "1" ]; then if [ "${PITFT28r}" = "1" ]; then
echo "# Enable PITFT28r display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable PITFT28r display" >>$CONFIG
echo "dtoverlay=pitft28-resistive,rotate=90,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtoverlay=pitft28-resistive,rotate=90,speed=32000000,txbuflen=32768" >>$CONFIG
fi fi
if [ "${PITFT28c}" = "1" ]; then if [ "${PITFT28c}" = "1" ]; then
echo "# Enable PITFT28c display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable PITFT28c display" >>$CONFIG
echo "dtoverlay=pitft28-capacitive,rotate=90,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtoverlay=pitft28-capacitive,rotate=90,speed=32000000,txbuflen=32768" >>$CONFIG
echo "dtoverlay=pitft28-capacitive,touch-swapxy,touch-invx" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtoverlay=pitft28-capacitive,touch-swapxy,touch-invx" >>$CONFIG
fi fi
if [ "${PITFT35r}" = "1" ]; then if [ "${PITFT35r}" = "1" ]; then
echo "# Enable PITFT35r display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable PITFT35r display" >>$CONFIG
echo "dtoverlay=pitft35-resistive,rotate=90,speed=42000000,fps=20" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtoverlay=pitft35-resistive,rotate=90,speed=42000000,fps=20" >>$CONFIG
fi fi
# UART support # UART support
if [ "${ENABLE_UART}" = "1" ]; then if [ "${ENABLE_UART}" = "1" ] || [ "${ENABLE_UART}" = "0" ]; then
echo "# Enable UART" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable UART" >>$CONFIG
echo "enable_uart=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "enable_uart=${ENABLE_UART}" >>$CONFIG
elif [ -n "${ENABLE_UART}" ]; then
bbfatal "Invalid value for ENABLE_UART [${ENABLE_UART}]. The value for ENABLE_UART can be 0 or 1."
fi
# U-Boot requires "enable_uart=1" for various boards to operate correctly
# cf https://source.denx.de/u-boot/u-boot/-/blob/v2023.04/arch/arm/mach-bcm283x/Kconfig?ref_type=tags#L65
if [ "${RPI_USE_U_BOOT}" = "1" ] && [ "${ENABLE_UART}" != "1" ]; then
case "${UBOOT_MACHINE}" in
rpi_0_w_defconfig|rpi_3_32b_config|rpi_4_32b_config|rpi_arm64_config)
if [ "${ENABLE_UART}" = "0" ]; then
bbfatal "Invalid configuration: RPI_USE_U_BOOT requires to enable the UART in config.txt for ${MACHINE}"
fi
echo "# U-Boot requires UART" >>$CONFIG
echo "enable_uart=1" >>$CONFIG
;;
esac
fi
# Infrared support
if [ "${ENABLE_IR}" = "1" ]; then
echo "# Enable infrared" >>$CONFIG
echo "dtoverlay=gpio-ir,gpio_pin=${GPIO_IR}" >>$CONFIG
echo "dtoverlay=gpio-ir-tx,gpio_pin=${GPIO_IR_TX}" >>$CONFIG
fi fi
# VC4 Graphics support # VC4 Graphics support
if [ "${VC4GRAPHICS}" = "1" ]; then if [ "${VC4GRAPHICS}" = "1" ]; then
echo "# Enable VC4 Graphics" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable VC4 Graphics" >> $CONFIG
echo "dtoverlay=${VC4DTBO}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtoverlay=${VC4DTBO}" >> $CONFIG
fi
# Choose Camera Sensor to be used, default imx219 sensor
if [ "${RASPBERRYPI_CAMERA_V2}" = "1" ]; then
echo "# Enable Sony RaspberryPi Camera(imx219)" >> $CONFIG
echo "dtoverlay=imx219" >> $CONFIG
fi
# Choose Camera Sensor to be used, default imx477 sensor
#if [ "${RASPBERRYPI_HD_CAMERA}" = "1" ]; then
# echo "# Enable Sony RaspberryPi Camera(imx477)" >> $CONFIG
# echo "dtoverlay=imx477" >> $CONFIG
#fi
# Choose Camera Sensor to be used, default imx708 sensor
if [ "${RASPBERRYPI_CAMERA_V3}" = "1" ]; then
echo "# Enable Sony RaspberryPi Camera(imx708)" >> $CONFIG
echo "dtoverlay=imx708" >> $CONFIG
fi fi
# Waveshare "C" 1024x600 7" Rev2.1 IPS capacitive touch (http://www.waveshare.com/7inch-HDMI-LCD-C.htm) # Waveshare "C" 1024x600 7" Rev2.1 IPS capacitive touch (http://www.waveshare.com/7inch-HDMI-LCD-C.htm)
if [ "${WAVESHARE_1024X600_C_2_1}" = "1" ]; then if [ "${WAVESHARE_1024X600_C_2_1}" = "1" ]; then
echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS capacitive touch screen" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS capacitive touch screen" >> $CONFIG
echo "max_usb_current=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "max_usb_current=1" >> $CONFIG
echo "hdmi_group=2" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "hdmi_group=2" >> $CONFIG
echo "hdmi_mode=87" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "hdmi_mode=87" >> $CONFIG
echo "hdmi_cvt 1024 600 60 6 0 0 0" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "hdmi_cvt 1024 600 60 6 0 0 0" >> $CONFIG
echo "hdmi_drive=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "hdmi_drive=1" >> $CONFIG
fi fi
# DWC2 USB peripheral support # DWC2 USB peripheral support
if [ "${ENABLE_DWC2_PERIPHERAL}" = "1" ]; then if ([ "${ENABLE_DWC2_PERIPHERAL}" = "1" ] && [ "${ENABLE_DWC2_OTG}" != "1" ]); then
echo "# Enable USB peripheral mode" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable USB peripheral mode" >> $CONFIG
echo "dtoverlay=dwc2,dr_mode=peripheral" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtoverlay=dwc2,dr_mode=peripheral" >> $CONFIG
fi
# DWC2 USB host mode support
if [ "${ENABLE_DWC2_HOST}" = "1" ]; then
echo "# Enable USB host mode" >> $CONFIG
echo "dtoverlay=dwc2,dr_mode=host" >> $CONFIG
fi
# DWC2 USB OTG support
if ([ "${ENABLE_DWC2_OTG}" = "1" ] && [ "${ENABLE_DWC2_PERIPHERAL}" != "1" ]); then
echo "# Enable USB OTG mode" >> $CONFIG
echo "dtoverlay=dwc2,dr_mode=otg" >> $CONFIG
fi fi
# AT86RF23X support # AT86RF23X support
if [ "${ENABLE_AT86RF}" = "1" ]; then if [ "${ENABLE_AT86RF}" = "1" ]; then
echo "# Enable AT86RF23X" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable AT86RF23X" >>$CONFIG
echo "dtoverlay=at86rf233,speed=3000000" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtoverlay=at86rf233,speed=3000000" >>$CONFIG
fi fi
# ENABLE DUAL CAN
if [ "${ENABLE_DUAL_CAN}" = "1" ]; then
echo "# Enable DUAL CAN" >>$CONFIG
echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=${CAN0_INTERRUPT_PIN}" >>$CONFIG
echo "dtoverlay=mcp2515-can1,oscillator=${CAN_OSCILLATOR},interrupt=${CAN1_INTERRUPT_PIN}" >>$CONFIG
# ENABLE CAN # ENABLE CAN
if [ "${ENABLE_CAN}" = "1" ]; then elif [ "${ENABLE_CAN}" = "1" ]; then
echo "# Enable CAN" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable CAN" >>$CONFIG
echo "dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=${CAN0_INTERRUPT_PIN}" >>$CONFIG
fi
if [ "${ENABLE_GPIO_SHUTDOWN}" = "1" ]; then
if ([ "${ENABLE_I2C}" = "1" ] || [ "${PITFT}" = "1" ]) && [ -z "${GPIO_SHUTDOWN_PIN}" ]; then
# By default GPIO shutdown uses the same pin as the (master) I2C SCL.
# If I2C is configured and an alternative pin is not configured for
# gpio-shutdown, there is a configuration conflict.
bbfatal "I2C and gpio-shutdown are both enabled and using the same pins!"
fi
echo "# Enable gpio-shutdown" >> $CONFIG
if [ -z "${GPIO_SHUTDOWN_PIN}" ]; then
echo "dtoverlay=gpio-shutdown" >> $CONFIG
else
echo "dtoverlay=gpio-shutdown,gpio_pin=${GPIO_SHUTDOWN_PIN}" >> $CONFIG
fi
fi fi
# Append extra config if the user has provided any # Append extra config if the user has provided any
printf "${RPI_EXTRA_CONFIG}\n" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt printf "${RPI_EXTRA_CONFIG}\n" >> $CONFIG
# Handle setup with armstub file # Handle setup with armstub file
if [ "${@bb.utils.contains("MACHINE_FEATURES", "armstub", "1", "0", d)}" = "1" ]; then if [ "${@bb.utils.contains("MACHINE_FEATURES", "armstub", "1", "0", d)}" = "1" ]; then
echo "\n# ARM stub configuration" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "\n# ARM stub configuration" >> $CONFIG
echo "armstub=${ARMSTUB}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "armstub=${ARMSTUB}" >> $CONFIG
case "${ARMSTUB}" in case "${ARMSTUB}" in
*-gic.bin) *-gic.bin)
echo "enable_gic=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "enable_gic=1" >> $CONFIG
;; ;;
esac esac
fi fi
# WM8960 support
if [ "${WM8960}" = "1" ]; then
echo "# Enable WM8960" >> $CONFIG
echo "dtoverlay=wm8960-soundcard" >> $CONFIG
fi
# W1-GPIO - One-Wire Interface
if [ "${ENABLE_W1}" = "1" ]; then
echo "# Enable One-Wire Interface" >> $CONFIG
echo "dtoverlay=w1-gpio" >> $CONFIG
fi
# Reduce config.txt file size to avoid corruption and
# to boot successfully Raspberry Pi 5. The issue has
# been reported to related projects:
# https://github.com/raspberrypi/firmware/issues/1848
# https://github.com/Evilpaul/RPi-config/issues/9
sed -i '/^##/d' $CONFIG
} }
do_deploy_append_raspberrypi3-64() { do_deploy:append:raspberrypi3-64() {
echo "# have a properly sized image" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# have a properly sized image" >> $CONFIG
echo "disable_overscan=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "disable_overscan=1" >> $CONFIG
echo "# Enable audio (loads snd_bcm2835)" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable audio (loads snd_bcm2835)" >> $CONFIG
echo "dtparam=audio=on" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtparam=audio=on" >> $CONFIG
}
do_deploy:append() {
if grep -q -E '^.{80}.$' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt; then
bbwarn "config.txt contains lines longer than 80 characters, this is not supported"
fi
} }
addtask deploy before do_build after do_install addtask deploy before do_build after do_install
do_deploy[dirs] += "${DEPLOYDIR}/bcm2835-bootfiles" do_deploy[dirs] += "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}"
PACKAGE_ARCH = "${MACHINE_ARCH}" PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -1,10 +1,9 @@
RPIFW_DATE ?= "20200326" RPIFW_DATE ?= "20230509~buster"
SRCREV ?= "5574077183389cd4c65077ba18b59144ed6ccd6d"
RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz" RPIFW_SRC_URI ?= "https://archive.raspberrypi.com/debian/pool/main/r/raspberrypi-firmware/raspberrypi-firmware_1.${RPIFW_DATE}.orig.tar.xz"
RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}" RPIFW_S ?= "${WORKDIR}/raspberrypi-firmware-1.${RPIFW_DATE}"
SRC_URI = "${RPIFW_SRC_URI}" SRC_URI = "${RPIFW_SRC_URI}"
SRC_URI[md5sum] = "1091837b8daed93b01dcc8980d936b40" SRC_URI[sha256sum] = "1d9eb83111826b708f461101766fd2000d45f1c171ad573936d000f623ca8098"
SRC_URI[sha256sum] = "0596505f529677906fed30e6c3c1d2387a5d287f668a719484e2f9d8a3059176"
PV = "${RPIFW_DATE}" PV = "${RPIFW_DATE}"

Some files were not shown because too many files have changed in this diff Show More