112 Commits

Author SHA1 Message Date
Omer Akram
2081e1bb9a linux-firmware-rpidistro: fix wifi driver loading on cm4
Signed-off-by: Omer Akram <omer@thing.com>
2022-07-06 16:07:50 +01:00
Pavel Zhukov
934064a019 linux-firmware-rpidistro: Use buster branch instead of master
Master branch has been renamed to buster.
This change is dunfell-specific because master follows bullseye which
diverted from ex-master quite a lot.

Related: https://github.com/RPi-Distro/firmware-nonfree/issues/20
Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com>
2021-11-19 09:48:04 +00:00
Changqing Li
2e704f5ef6 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>
(cherry picked from commit fb253346c2)
Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com>
2021-11-09 00:03:42 +00:00
Marcel Hamer
c4d091732c 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>
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2021-11-09 00:03:12 +00:00
Omer Akram
59c2d6f7a8 Update raspberrypi firmware to 20210527
Signed-off-by: Omer Akram <omer@thing.com>
2021-07-15 11:20:08 +03:00
matt-hammond-bbc
f0c75016f0 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-06-08 15:39:02 +01:00
Martin Jansa
a59f771a70 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-06-07 12:59:57 +01:00
Martin Jansa
253f1b1a2e 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-06-07 12:59:57 +01:00
Paul Barker
4685e5a3c9 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>
(cherry picked from commit 7a6759e242)
Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
2021-06-07 12:59:57 +01:00
Martin Jansa
22b7a1d5f3 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-06-07 12:59:57 +01:00
Andrei Gherzan
ee5a06b7f0 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-06-07 12:59:57 +01:00
Aurelian Zanoschi
77190af02d [documentation]Add USB host support in documentation
Signed-off-by: Aurelian Zanoschi <aurelian17@gmail.com>
2021-02-05 10:41:46 +00:00
Aurelian Zanoschi
a2c63ff41f 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-05 10:41:46 +00:00
Martin Jansa
9879932097 Revert "libcamera: Define packageconfig to enable rpi pipeline"
This reverts commit a27f10b76c.

This was backported to dunfell together with many other changes in:
https://github.com/agherzan/meta-raspberrypi/pull/754

but 202002 version in dunfell fails with:
ERROR: QA Issue: libcamera: configure was passed unrecognised options: pipelines [unknown-configure-option]

202008 version in gatesgarth is fine, it was added in March:
https://git.linuxtv.org/libcamera.git/commit/meson_options.txt?id=ee7e2c93dfbf34b3500c895115c516e5e90d3e31

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-11-09 11:02:58 +00:00
Marek Belisko
3a7ba89c58 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-11-04 12:09:34 +00:00
Khem Raj
9625b7d6e5 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-11-04 12:09:34 +00:00
Eino Juhani Oltedal
e97078ba02 linux-raspberrypi: bump to Linux version 5.4.72
Fixes: "Bleeding Tooth" Bluetooth Vulnerability.

Signed-off-by: Eino Juhani Oltedal <einoju@gmail.com>
2020-11-04 12:09:34 +00:00
Alex Gonzalez
ad6feecea6 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-11-04 12:09:34 +00:00
Martin Jansa
957118ac86 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-11-04 12:09:34 +00:00
Martin Jansa
d5503dcb4f 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-11-04 12:09:34 +00:00
Khem Raj
67baec35a3 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-11-04 12:09:34 +00:00
Khem Raj
9fdea9a00b 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-11-04 12:09:34 +00:00
Khem Raj
c2900e59cb 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-11-04 12:09:34 +00:00
Khem Raj
3ffdaef803 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-11-04 12:09:34 +00:00
Khem Raj
c80a123afb linux-raspberrypi_5.4.bb: Update to 5.4.69
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-04 12:09:34 +00:00
Madhavan Krishnan
a27f10b76c 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-11-04 12:09:34 +00:00
Khem Raj
c70af2bae5 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-11-04 12:09:34 +00:00
Martin Jansa
64c76e8be9 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-11-04 12:09:34 +00:00
Luis Alfredo da Silva
d18eed1e30 Revert "mesa: querying dma_buf modifiers for specific formats"
This reverts commit 84cb8538cd.

Fixes:
    - https://gitlab.gnome.org/GNOME/mutter/-/issues/1421
    - #711
2020-11-04 12:09:34 +00:00
Martin Jansa
30aea36e40 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-11-04 12:09:34 +00:00
Martin Jansa
c932beabba 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-11-04 12:09:34 +00:00
Pierre-Jean Texier
b9608c5b0a linux-raspberrypi: bump to Linux version 5.4.64
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-11-04 12:09:34 +00:00
Pierre-Jean Texier
fe8a9e2d90 raspberrypi-firmware: update to current HEAD
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-11-04 12:09:34 +00:00
Andrzej Bednarski
a5504bfa27 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-11-04 12:09:34 +00:00
Khem Raj
ed452cc24b 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-11-04 12:09:34 +00:00
Khem Raj
57fc7d2324 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-11-04 12:09:34 +00:00
Martin Jansa
386f342b71 rpi-gpio: add -fcommon temporarily
* until the fix is available upstream

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-11-04 12:09:34 +00:00
Martin Jansa
954b8b6b75 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-11-04 12:09:34 +00:00
Khem Raj
f922faa300 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-11-04 12:09:34 +00:00
Khem Raj
ac16b0e9d7 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-11-04 12:09:34 +00:00
Martin Jansa
806575fc1d layer.conf: Remove older releases from LAYERSERIES_COMPAT
* 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
* with zeus it parses OK, but I believe people who use meta-raspberrypi
  from dunfell branch in zeus builds should rather ask for backports they
  are missing in zeus branch

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-11-03 15:24:09 +00:00
Murat Kilivan
085fb07e10 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:06:03 +01:00
Khem Raj
93305f7c3a raspberrypi-firmware: Upgrade to 20200819
Includes 5.4.59 bumps

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-08-26 13:53:39 +01:00
Khem Raj
168684cb2e linux-raspberrypi: Update to 5.4.59
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-08-26 13:53:39 +01:00
Martin Jansa
10f01ccffc 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-26 13:53:39 +01:00
Pierre-Jean Texier
795a9af400 linux-raspberrypi: bump to revision 4b945d5
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-08-26 13:53:39 +01:00
Pierre-Jean Texier
8a2488c5f3 raspberrypi-firmware: update to current HEAD
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-08-26 13:53:39 +01:00
Pierre-Jean Texier
659b33b3d0 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-26 13:53:39 +01:00
Andrei Gherzan
bc7a06604d 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:10:11 +01:00
Fabio Berton
671ae4ab48 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-08-10 11:10:11 +01:00
Andrei Gherzan
8258e733ea Revert "u-boot: Fix booting raspberrypi CM3 module"
This reverts commit f20ccfa11d.
2020-08-10 11:10:11 +01:00
Andrei Gherzan
1b2c59808f Revert "u-boot-rpi: Locate local patches with FILESEXTRAPATHS."
This reverts commit 89ca43fe64.
2020-08-10 11:10:11 +01:00
Andrei Gherzan
cf13982625 Revert "u-boot: Move fw_env.config to u-boot append"
This reverts commit fc494a35b5.
2020-08-10 11:10:11 +01:00
Jeff Ithier
4869bb1b95 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-10 11:10:11 +01:00
Christopher Clark
66ca1d81ec 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-08-10 11:10:11 +01:00
Christopher Clark
bfde594164 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-08-10 11:10:11 +01:00
Jakub Luzny
2a9af51efe 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-08-10 11:10:11 +01:00
Jakub Luzny
c2cbafe78f 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-08-10 11:10:11 +01:00
colin
7ee3131628 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-08-10 11:10:11 +01:00
colin
bc6e24c4c2 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-08-10 11:10:11 +01:00
colin
c2b2d783ac 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-08-10 11:10:11 +01:00
Andrei Gherzan
7a2624d5ba Revert "Generalize the naming of the bootfiles deploy directory"
This reverts commit a907c3261e.
2020-08-10 11:10:11 +01:00
Fabio Berton
fc494a35b5 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>
(cherry picked from commit fc72c06141)
2020-08-05 21:20:06 +01:00
Drew Moseley
89ca43fe64 u-boot-rpi: Locate local patches with FILESEXTRAPATHS.
Signed-off-by: Drew Moseley <drew.moseley@northern.tech>
2020-08-04 17:58:19 +01:00
Jeff Ithier
a907c3261e 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-07-27 18:02:17 +01:00
Christopher Clark
eb2f6d460c 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-23 13:06:29 +01:00
Leon Anavi
93c468ddb6 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>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-07-14 18:27:52 +01:00
Leon Anavi
eddf28ecc4 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>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-07-14 18:27:52 +01:00
Leon Anavi
3d04b1ccfe 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>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-07-14 18:27:52 +01:00
Jon Magnuson
ee402d3e9d 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>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-07-14 18:27:52 +01:00
Khem Raj
f7d2f86c85 userland: Update to 2020-06-24 top commit
Forward port patches

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-07-14 18:27:52 +01:00
Pierre-Jean Texier
493bdb2c92 raspberrypi-firmware: update to current HEAD
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-07-14 18:27:52 +01:00
Pierre-Jean Texier
82b38fd206 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>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-07-14 18:27:52 +01:00
Christopher Clark
4676c89c21 linux-raspberrypi: bump to 5.4.50 since upstream was force-pushed
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-07-14 18:27:52 +01:00
Leon Anavi
21d38f0918 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>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-07-14 18:27:52 +01:00
Leon Anavi
31bf9a46fa 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>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-07-14 18:27:52 +01:00
Marek Belisko
f20ccfa11d 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-06-29 21:09:48 +01:00
Leon Anavi
3627eccf19 lirc_%.bbappend: Remove
Temporary remove the LIRC patch because it is not compatible with
version 0.9.4d which is at the moment provided by branch dunfell
from meta-openembedded/meta-oe. This patch should be applied again
when LIRC version 0.10.1 or newer is available at branch dunfell
of meta-openembedded/meta-oe (as of the moment this version is
available at master).

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2020-06-25 10:36:52 +01:00
M. ter Woord
373daa4b39 Update layer-contents.md to include pi4
Signed-off-by: Matthijs ter Woord <matthijsterwoord@gmail.com>
2020-06-22 17:10:13 +01:00
Khem Raj
4851a55098 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-22 17:10:13 +01:00
Leon Anavi
a05b32a5a9 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-22 17:10:13 +01:00
Khem Raj
ac717473e8 linux-raspberrypi_5.4.bb: Move to 5.4.45
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-06-14 10:53:13 +01:00
Pierre-Jean Texier
e733b0663d linux-raspberrypi: bump to Linux version 4.19.126
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-06-14 10:53:13 +01:00
Pierre-Jean Texier
0aeec6f942 raspberrypi-firmware: update to current HEAD
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-06-14 10:53:13 +01:00
Leon Anavi
9df75ee9c4 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-14 10:53:13 +01:00
Brandon Verkamp
8066fac91d docs: Remove reference to xz-compressed sdimg 2020-05-23 10:07:46 +01:00
Brandon Verkamp
468df346e9 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-23 10:07:46 +01:00
Khem Raj
89ef68a164 linux-raspberrypi: Update to latest on 5.4 release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-05-23 10:07:46 +01:00
Khem Raj
38429e8383 linux-raspberrypi_5.4.bb: Update to 5.4.35
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-05-23 10:07:46 +01:00
Pierre-Jean Texier
9aba24e542 linux-raspberrypi: bump to Linux version 4.19.120
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-05-23 10:07:46 +01:00
Pierre-Jean Texier
6fca74d8b3 raspberrypi-firmware: update to current HEAD
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-05-23 10:07:46 +01:00
Leon Anavi
2f24262315 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-30 15:13:54 +01:00
Khem Raj
bec069d390 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-30 15:13:54 +01:00
Bartłomiej Burdukiewicz
d61293c312 linux-raspberrypi_5.4.bb: Update to latest
Signed-off-by: Bartłomiej Burdukiewicz <bartlomiej.burdukiewicz@gmail.com>
2020-04-30 15:13:54 +01:00
Khem Raj
eaae982a1b 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 20:27:19 +01:00
Khem Raj
a4c0ac7134 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 20:27:19 +01:00
Pierre-Jean Texier
640f872d17 linux-raspberrypi: bump to Linux version 4.19.115
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-04-20 20:27:19 +01:00
Pierre-Jean Texier
6596228f1a raspberrypi-firmware: update to current HEAD
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-04-20 20:27:19 +01:00
Khem Raj
dd4c6e09a6 linux-raspberrypi_5.4.bb: Update to latest
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-20 20:27:19 +01:00
Leon Anavi
2a57fa5245 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-20 20:27:19 +01:00
Drew Moseley
6147e72219 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-20 20:27:19 +01:00
Khem Raj
de806226e7 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-20 20:27:19 +01:00
Khem Raj
e60c739b1f 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-09 11:07:40 +01:00
Khem Raj
efec9530de 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-09 11:07:40 +01:00
Khem Raj
864e691655 Revert "qtbase: Drop xkb packageconfig"
This reverts commit eaa1314259.
2020-04-08 22:32:06 +01:00
Khem Raj
00dbfa788a 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 22:32:06 +01:00
Khem Raj
9ad10694b7 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 22:32:06 +01:00
Khem Raj
a66469d2f7 userland: Fix build with gcc10
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-08 22:32:06 +01:00
Khem Raj
31a61503c6 qtbase: Drop xkb packageconfig
meta-qt5 master has dropped it too

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-08 22:32:06 +01:00
Fabio Berton
61975a9be3 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-08 22:32:06 +01:00
Leon Anavi
2425302885 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-08 22:32:06 +01:00
Khem Raj
a63122c931 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-08 22:32:06 +01:00
68 changed files with 712 additions and 306 deletions

View File

@@ -28,7 +28,7 @@ The core BSP part of meta-raspberrypi should work with different
OpenEmbedded/Yocto distributions and layer stacks, such as:
* Distro-less (only with OE-Core).
* Angstrom.
* Yoe Disto (Video and Camera Products).
* Yocto/Poky (main focus of testing).
## Dependencies
@@ -50,15 +50,15 @@ This layer depends on:
2. Add this layer to bblayers.conf and the dependencies above
3. Set MACHINE in local.conf to one of the supported boards
4. bitbake core-image-base
5. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used)
6. Boot your RPI.
5. Use bmaptool to copy the generated .wic.bz2 file to the SD card
6. Boot your RPI
## Quick Start with kas
1. Install kas build tool from PyPi (sudo pip3 install kas)
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)
4. Boot your RPI.
3. Use bmaptool to copy the generated .wic.bz2 file to the SD card
4. Boot your RPI
To adjust the build configuration with specific options (I2C, SPI, ...), simply add
a section as follows:

View File

@@ -26,7 +26,7 @@ inherit image_types
IMAGE_TYPEDEP_rpi-sdimg = "${SDIMG_ROOTFS_TYPE}"
# Set kernel and boot loader
IMAGE_BOOTLOADER ?= "bcm2835-bootfiles"
IMAGE_BOOTLOADER ?= "bootfiles"
# Kernel image name
SDIMG_KERNELIMAGE_raspberrypi ?= "kernel.img"
@@ -49,6 +49,8 @@ SDIMG_ROOTFS = "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${SDIMG_ROOTFS_TYPE}"
# For the names of kernel artifacts
inherit kernel-artifact-names
RPI_SDIMG_EXTRA_DEPENDS ?= ""
do_image_rpi_sdimg[depends] = " \
parted-native:do_populate_sysroot \
mtools-native:do_populate_sysroot \
@@ -58,7 +60,8 @@ do_image_rpi_sdimg[depends] = " \
rpi-config:do_deploy \
${@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', '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"
@@ -114,7 +117,7 @@ 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 }')
rm -f ${WORKDIR}/boot.img
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
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
@@ -148,6 +151,22 @@ IMAGE_CMD_rpi-sdimg () {
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
echo "Copying payload into VFAT"
for entry in ${FATPAYLOAD} ; do

View File

@@ -9,7 +9,9 @@ BBFILE_COLLECTIONS += "raspberrypi"
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
BBFILE_PRIORITY_raspberrypi = "9"
LAYERSERIES_COMPAT_raspberrypi = "sumo thud warrior zeus dunfell"
LAYERSERIES_COMPAT_raspberrypi = "dunfell"
LAYERDEPENDS_raspberrypi = "core"
# Additional license directories.
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"

View File

@@ -28,8 +28,7 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
overlays/iqaudio-dacplus.dtbo \
overlays/miniuart-bt.dtbo \
overlays/mcp2515-can0.dtbo \
overlays/pi3-disable-bt.dtbo \
overlays/pi3-miniuart-bt.dtbo \
overlays/mcp2515-can1.dtbo \
overlays/pitft22.dtbo \
overlays/pitft28-resistive.dtbo \
overlays/pitft28-capacitive.dtbo \
@@ -41,6 +40,8 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
overlays/vc4-fkms-v3d.dtbo \
overlays/w1-gpio-pullup.dtbo \
overlays/w1-gpio.dtbo \
overlays/gpio-ir.dtbo \
overlays/gpio-ir-tx.dtbo \
"
RPI_KERNEL_DEVICETREE ?= " \
@@ -78,7 +79,15 @@ MACHINE_FEATURES += "apm usbhost keyboard vfat ext2 screen touchscreen alsa blue
# Raspberry Pi has no hardware clock
MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
MACHINE_EXTRA_RRECOMMENDS += " kernel-modules udev-rules-rpi"
MACHINE_EXTRA_RRECOMMENDS += "kernel-modules udev-rules-rpi"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "${@oe.utils.conditional('ENABLE_I2C', '1', 'kernel-module-i2c-dev kernel-module-i2c-bcm2708', '', d)}"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "${@oe.utils.conditional('ENABLE_IR', '1', 'kernel-module-gpio-ir kernel-module-gpio-ir-tx', '', d)}"
SERIAL_CONSOLES_CHECK ??= "${SERIAL_CONSOLES}"
# The name of the deploy directory for raspberry pi boot files.
# This variable is referred to by recipes fetching / generating the files.
BOOTFILES_DIR_NAME ?= "bootfiles"
# Set Raspberrypi splash image
SPLASH = "psplash-raspberrypi"
@@ -106,14 +115,14 @@ def make_dtb_boot_files(d):
return ' '.join([transform(dtb) for dtb in alldtbs.split(' ') if dtb])
IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* \
IMAGE_BOOT_FILES ?= "${BOOTFILES_DIR_NAME}/* \
${@make_dtb_boot_files(d)} \
${@bb.utils.contains('RPI_USE_U_BOOT', '1', \
'${KERNEL_IMAGETYPE} u-boot.bin;${SDIMG_KERNELIMAGE} boot.scr', \
'${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}', d)} \
"
do_image_wic[depends] += " \
bcm2835-bootfiles:do_deploy \
bootfiles:do_deploy \
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
"

View File

@@ -11,3 +11,5 @@ PREFERRED_PROVIDER_jpeg ?= "jpeg"
PREFERRED_PROVIDER_virtual/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
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,3 @@
# RaspberryPi BSP default versions
PREFERRED_VERSION_linux-raspberrypi ??= "4.19.%"
PREFERRED_VERSION_linux-raspberrypi ??= "5.4.%"

View File

@@ -31,4 +31,5 @@ KERNEL_IMAGETYPE_UBOOT ?= "Image"
KERNEL_IMAGETYPE_DIRECT ?= "Image"
KERNEL_BOOTCMD ?= "booti"
VC4DTBO ?= "vc4-fkms-v3d"
ARMSTUB ?= "armstub8.bin"

View File

@@ -17,4 +17,5 @@ SDIMG_KERNELIMAGE ?= "kernel7.img"
UBOOT_MACHINE = "rpi_3_32b_config"
SERIAL_CONSOLES ?= "115200;ttyS0"
VC4DTBO ?= "vc4-fkms-v3d"
ARMSTUB ?= "armstub7.bin"

View File

@@ -1,6 +1,6 @@
# 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
specific to it. For the rest please check:
<http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html>
@@ -37,7 +37,7 @@ By default, each machine uses `vc4` for graphics. This will in turn sets mesa as
## 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:
KEY_DECODE_MPG2 = "12345678"
@@ -77,7 +77,7 @@ To remove (or adjust) this delay set these variables in local.conf:
## Set overclocking options
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
variables are supported in local.conf: `ARM_FREQ`, `GPU_FREQ`, `CORE_FREQ`,
`SDRAM_FREQ` and `OVER_VOLTAGE`.
@@ -172,6 +172,31 @@ To build an initramfs image:
- `INITRAMFS_MAXSIZE = "315400"`
- `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
When using device tree kernels, set this variable to enable the SPI bus:
@@ -184,6 +209,10 @@ When using device tree kernels, set this variable to enable I2C:
ENABLE_I2C = "1"
Furthermore, to auto-load I2C kernel modules set:
KERNEL_MODULE_AUTOLOAD_rpi += "i2c-dev i2c-bcm2708"
## Enable PiTFT support
Basic support for using PiTFT screens can be enabled by adding below in
@@ -220,7 +249,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 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
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
@@ -240,6 +269,15 @@ local.conf:
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"
## Enable Openlabs 802.15.4 radio module
When using device tree kernels, set this variable to enable the 802.15.4 hat:
@@ -248,14 +286,39 @@ 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>
## 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_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"
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`.
## Manual additions to config.txt

View File

@@ -8,6 +8,8 @@
* raspberrypi2
* raspberrypi3
* raspberrypi3-64 (64 bit kernel & userspace)
* raspberrypi4
* raspberrypi4-64 (64 bit kernel & userspace)
* raspberrypi-cm (dummy alias for raspberrypi)
* raspberrypi-cm3

View File

@@ -4,6 +4,9 @@ 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',
'bcmgenet fd580000.ethernet: failed to get enet-eee clock',
'bcmgenet fd580000.ethernet: failed to get enet-wol clock',
'bcmgenet fd580000.ethernet: failed to get enet clock',
]
ignore_errors['raspberrypi4'] = rpi_errors + common_errors

View File

@@ -1,4 +1,4 @@
DESCRIPTION = "Closed source binary files to help boot the ARM on the BCM2835."
DESCRIPTION = "Closed source binary files to help boot all raspberry pi devices."
LICENSE = "Broadcom-RPi"
LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=c403841ff2837657b2ed8e5bb474ac8d"

View File

@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
COMPATIBLE_MACHINE = "^rpi$"
SRCREV = "648ffc470824c43eb0d16c485f4c24816b32cd6f"
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 \
"
S = "${WORKDIR}/git"
@@ -25,200 +25,222 @@ PITFT35r="${@bb.utils.contains("MACHINE_FEATURES", "pitft35r", "1", "0", d)}"
VC4GRAPHICS="${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}"
VC4DTBO ?= "vc4-kms-v3d"
GPIO_IR ?= "18"
GPIO_IR_TX ?= "17"
CAN_OSCILLATOR ?= "16000000"
inherit deploy nopackages
do_deploy() {
install -d ${DEPLOYDIR}/bcm2835-bootfiles
install -d ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}
cp ${S}/config.txt ${DEPLOYDIR}/bcm2835-bootfiles/
cp ${S}/config.txt ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# Set overclocking options
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# GPU memory
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# Set boot delay
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# Set HDMI and composite video options
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
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}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# Video camera support
if [ "${VIDEO_CAMERA}" = "1" ]; then
echo "# Enable video camera" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "start_x=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "# Enable video camera" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "start_x=1" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# Offline compositing support
if [ "${DISPMANX_OFFLINE}" = "1" ]; then
echo "# Enable offline compositing" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dispmanx_offline=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "# Enable offline compositing" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dispmanx_offline=1" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# SPI bus support
if [ "${ENABLE_SPI_BUS}" = "1" ] || [ "${PITFT}" = "1" ]; then
echo "# Enable SPI bus" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=spi=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "# Enable SPI bus" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtparam=spi=on" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# I2C support
if [ "${ENABLE_I2C}" = "1" ] || [ "${PITFT}" = "1" ]; then
echo "# Enable I2C" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=i2c1=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=i2c_arm=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "# Enable I2C" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtparam=i2c1=on" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtparam=i2c_arm=on" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# PiTFT22 display support
if [ "${PITFT22}" = "1" ]; then
echo "# Enable PITFT22 display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtoverlay=pitft22,rotate=270,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "# Enable PITFT22 display" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtoverlay=pitft22,rotate=270,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ "${PITFT28r}" = "1" ]; then
echo "# Enable PITFT28r display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtoverlay=pitft28-resistive,rotate=90,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "# Enable PITFT28r display" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtoverlay=pitft28-resistive,rotate=90,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ "${PITFT28c}" = "1" ]; then
echo "# Enable PITFT28c display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtoverlay=pitft28-capacitive,rotate=90,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtoverlay=pitft28-capacitive,touch-swapxy,touch-invx" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "# Enable PITFT28c display" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtoverlay=pitft28-capacitive,rotate=90,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtoverlay=pitft28-capacitive,touch-swapxy,touch-invx" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
if [ "${PITFT35r}" = "1" ]; then
echo "# Enable PITFT35r display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtoverlay=pitft35-resistive,rotate=90,speed=42000000,fps=20" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "# Enable PITFT35r display" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtoverlay=pitft35-resistive,rotate=90,speed=42000000,fps=20" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# UART support
if [ "${ENABLE_UART}" = "1" ]; then
echo "# Enable UART" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "enable_uart=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "# Enable UART" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "enable_uart=1" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# Infrared support
if [ "${ENABLE_IR}" = "1" ]; then
echo "# Enable infrared" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtoverlay=gpio-ir,gpio_pin=${GPIO_IR}" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtoverlay=gpio-ir-tx,gpio_pin=${GPIO_IR_TX}" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# VC4 Graphics support
if [ "${VC4GRAPHICS}" = "1" ]; then
echo "# Enable VC4 Graphics" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtoverlay=${VC4DTBO}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "# Enable VC4 Graphics" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtoverlay=${VC4DTBO}" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# 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
echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS capacitive touch screen" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "max_usb_current=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "hdmi_group=2" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "hdmi_mode=87" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "hdmi_cvt 1024 600 60 6 0 0 0" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "hdmi_drive=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS capacitive touch screen" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "max_usb_current=1" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "hdmi_group=2" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "hdmi_mode=87" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "hdmi_cvt 1024 600 60 6 0 0 0" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "hdmi_drive=1" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# DWC2 USB peripheral support
if [ "${ENABLE_DWC2_PERIPHERAL}" = "1" ]; then
echo "# Enable USB peripheral mode" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtoverlay=dwc2,dr_mode=peripheral" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "# Enable USB peripheral mode" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtoverlay=dwc2,dr_mode=peripheral" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# DWC2 USB host mode support
if [ "${ENABLE_DWC2_HOST}" = "1" ]; then
echo "# Enable USB host mode" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtoverlay=dwc2,dr_mode=host" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# AT86RF23X support
if [ "${ENABLE_AT86RF}" = "1" ]; then
echo "# Enable AT86RF23X" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtoverlay=at86rf233,speed=3000000" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "# Enable AT86RF23X" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtoverlay=at86rf233,speed=3000000" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# ENABLE DUAL CAN
if [ "${ENABLE_DUAL_CAN}" = "1" ]; then
echo "# Enable DUAL CAN" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=25" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtoverlay=mcp2515-can1,oscillator=${CAN_OSCILLATOR},interrupt=24" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
# ENABLE CAN
if [ "${ENABLE_CAN}" = "1" ]; then
echo "# Enable CAN" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
elif [ "${ENABLE_CAN}" = "1" ]; then
echo "# Enable CAN" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=25" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# Append extra config if the user has provided any
printf "${RPI_EXTRA_CONFIG}\n" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
printf "${RPI_EXTRA_CONFIG}\n" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
# Handle setup with armstub file
if [ "${@bb.utils.contains("MACHINE_FEATURES", "armstub", "1", "0", d)}" = "1" ]; then
echo "\n# ARM stub configuration" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "armstub=${ARMSTUB}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "\n# ARM stub configuration" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "armstub=${ARMSTUB}" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
case "${ARMSTUB}" in
*-gic.bin)
echo "enable_gic=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "enable_gic=1" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
;;
esac
fi
}
do_deploy_append_raspberrypi3-64() {
echo "# have a properly sized image" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "disable_overscan=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "# have a properly sized image" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "disable_overscan=1" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "# Enable audio (loads snd_bcm2835)" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=audio=on" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "# Enable audio (loads snd_bcm2835)" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtparam=audio=on" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
}
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}"

View File

@@ -1,10 +1,9 @@
RPIFW_DATE ?= "20200326"
SRCREV ?= "5574077183389cd4c65077ba18b59144ed6ccd6d"
RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz"
RPIFW_DATE ?= "20210527"
SRCREV ?= "1eb8921ae7158249894f89e8bb6c4bfb04ec7377"
RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz;downloadfilename=raspberrypi-firmware-${SRCREV}.tar.gz"
RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
SRC_URI = "${RPIFW_SRC_URI}"
SRC_URI[md5sum] = "1091837b8daed93b01dcc8980d936b40"
SRC_URI[sha256sum] = "0596505f529677906fed30e6c3c1d2387a5d287f668a719484e2f9d8a3059176"
SRC_URI[sha256sum] = "32fb5cc72703247622839c3cb4df2f369f91d2185770df867ac9758283bf5380"
PV = "${RPIFW_DATE}"

View File

@@ -1,9 +1,9 @@
SRCREV ?= "b0c869bc929587a7e1d20a98e2dc828a24ca396a"
RPITOOLS_SRC_URI ?= "https://github.com/raspberrypi/tools/archive/${SRCREV}.tar.gz"
RPITOOLS_DATE ?= "20200803"
SRCREV ?= "0c39cb5b5ac9851312a38c54f5aea770d976de7a"
RPITOOLS_SRC_URI ?= "https://github.com/raspberrypi/tools/archive/${SRCREV}.tar.gz;downloadfilename=raspberrypi-tools-${SRCREV}.tar.gz"
RPITOOLS_S ?= "${WORKDIR}/tools-${SRCREV}"
SRC_URI = "${RPITOOLS_SRC_URI}"
SRC_URI[md5sum] = "fd999aad4424088b5e8746a9d946bb56"
SRC_URI[sha256sum] = "a0a8aff308d9302318442e6bcd2df14cbbb3b633f12ca6b9c43c4ab69bf45bb1"
SRC_URI[sha256sum] = "ef56a891eef387d2278e6f9d20b462021faace14aceeb2048b5e5973069c25c0"
PV = "0.0+git${SRCREV}"
PV = "${RPITOOLS_DATE}"

View File

@@ -1,3 +1,4 @@
fdt addr ${fdt_addr} && fdt get value bootargs /chosen bootargs
fatload mmc 0:1 ${kernel_addr_r} @@KERNEL_IMAGETYPE@@
if test ! -e mmc 0:1 uboot.env; then saveenv; fi;
@@KERNEL_BOOTCMD@@ ${kernel_addr_r} - ${fdt_addr}

View File

@@ -24,3 +24,5 @@ do_deploy() {
}
addtask do_deploy after do_compile before do_build
PROVIDES += "u-boot-default-script"

View File

@@ -0,0 +1,51 @@
From 336d86ebd146905cf4384912f4f27699b6e37c72 Mon Sep 17 00:00:00 2001
From: Simon Glass <sjg@chromium.org>
Date: Sun, 29 Dec 2019 21:19:17 -0700
Subject: [PATCH] dm: core: Move ofdata_to_platdata() call earlier
This method is supposed to extract platform data from the device tree. It
should be done before the device itself is probed. Move it earlier in the
device_probe() function.
Upstream-Status: Backport
Signed-off-by: Simon Glass <sjg@chromium.org>
---
drivers/core/device.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/core/device.c b/drivers/core/device.c
index 4e03708..291ff4c 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -375,6 +375,13 @@ int device_probe(struct udevice *dev)
return 0;
}
+ if (drv->ofdata_to_platdata &&
+ (CONFIG_IS_ENABLED(OF_PLATDATA) || dev_has_of_node(dev))) {
+ ret = drv->ofdata_to_platdata(dev);
+ if (ret)
+ goto fail;
+ }
+
seq = uclass_resolve_seq(dev);
if (seq < 0) {
ret = seq;
@@ -411,13 +418,6 @@ int device_probe(struct udevice *dev)
goto fail;
}
- if (drv->ofdata_to_platdata &&
- (CONFIG_IS_ENABLED(OF_PLATDATA) || dev_has_of_node(dev))) {
- ret = drv->ofdata_to_platdata(dev);
- if (ret)
- goto fail;
- }
-
/* Only handle devices that have a valid ofnode */
if (dev_of_valid(dev)) {
/*
--
2.7.4

View File

@@ -0,0 +1 @@
/boot/uboot.env 0x0000 0x4000

View File

@@ -1 +1,15 @@
DEPENDS_append_rpi = " rpi-u-boot-scr"
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI_append_rpi = " \
file://fw_env.config \
"
# special fix for raspberrypi-cm3
SRC_URI_append_raspberrypi-cm3 = " file://0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch"
DEPENDS_append_rpi = " u-boot-default-script"
do_install_append_rpi () {
install -d ${D}${sysconfdir}
install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
}

View File

@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "\
"
SRC_URI = "\
git://github.com/RPi-Distro/pi-bluetooth \
git://github.com/RPi-Distro/pi-bluetooth;branch=master;protocol=https \
file://0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch \
"
SRCREV = "cbdbcb66bcc5b9af05f1a9fffe2254c872bb0ace"

View File

@@ -20,7 +20,7 @@ RDEPENDS_${PN} = "\
python3-sense-hat \
connman \
connman-client \
wireless-regdb \
wireless-regdb-static \
bluez5 \
"

View File

@@ -1,3 +1,2 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SPLASH_IMAGES_append_rpi = " file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"
ALTERNATIVE_PRIORITY_psplash-raspberrypi[psplash] = "200"
SPLASH_IMAGES_rpi = "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"

View File

@@ -1,8 +1,8 @@
KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\
ALIASES=/proc/device-tree/aliases; \
if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \
if cmp -s $$ALIASES/uart0 $$ALIASES/serial0; then \
echo 0;\
elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then \
elif cmp -s $$ALIASES/uart0 $$ALIASES/serial1; then \
echo 1; \
else \
exit 1; \
@@ -11,9 +11,9 @@ KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\
KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\
ALIASES=/proc/device-tree/aliases; \
if cmp -s $ALIASES/uart1 $ALIASES/serial0; then \
if cmp -s $$ALIASES/uart1 $$ALIASES/serial0; then \
echo 0; \
elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then \
elif cmp -s $$ALIASES/uart1 $$ALIASES/serial1; then \
echo 1; \
else \
exit 1; \

View File

@@ -4,7 +4,7 @@ SECTION = "devel/libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://README.md;beginline=268;endline=292;md5=86d10e4bcf4b4014d306dde7c1d2a80d"
SRC_URI = "git://github.com/sarfata/pi-blaster \
SRC_URI = "git://github.com/sarfata/pi-blaster;branch=master;protocol=https \
file://remove-initscript-lsb-dependency.patch \
"

View File

@@ -5,11 +5,11 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://../../LICENSE;md5=96cdecb41125f498958e09b72faf318e"
SRC_URI = "git://github.com/RPi-Distro/RTIMULib.git;protocol=http;branch=master \
SRC_URI = "git://github.com/RPi-Distro/RTIMULib.git;protocol=http;branch=master;protocol=https \
file://0001-include-asm-ioctl.h-for-ioctl-define.patch;patchdir=../.. \
"
SRCREV = "b949681af69b45f0f7f4bb53b6770037b5b02178"
S = "${WORKDIR}/git/Linux/python/"
S = "${WORKDIR}/git/Linux/python"
inherit setuptools3

View File

@@ -12,3 +12,7 @@ SRC_URI[md5sum] = "777617f9dea9a1680f9af43db0cf150e"
SRC_URI[sha256sum] = "7424bc6c205466764f30f666c18187a0824077daf20b295c42f08aea2cb87d3f"
COMPATIBLE_MACHINE = "^rpi$"
# ignore issues with -fno-common from gcc-10 until it's fixed in upstream:
# https://sourceforge.net/p/raspberry-gpio-python/tickets/187/
CFLAGS += "-fcommon"

View File

@@ -0,0 +1,5 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
# when using userland graphic KHR/khrplatform.h is provided by userland but virtual/libgl is provided by mesa-gl where
# we explicitly delete KHR/khrplatform.h since its already coming from userland package
DEPENDS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'userland', d)}"

View File

@@ -0,0 +1,3 @@
# when using userland graphic KHR/khrplatform.h is provided by userland but virtual/libgl is provided by mesa-gl where
# we explicitly delete KHR/khrplatform.h since its already coming from userland package
DEPENDS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'userland', d)}"

View File

@@ -1,43 +0,0 @@
mesa: querying dma_buf_modifiers for specific formats
mesa wl_drm protocol is the backend for wayland server side which requires
the dmabuf modifiers for some DRM formats on specific devices like RPI.
Currently there is no support of giving any dmabuf modifiers on wl_drm protocol.
This dma_buf modifiers allows EGL implementations to add extra attributes
to drm_fourcc format.
Upstream-Status: Pending
Signed-off-by: Balaji Velmurugan <balaji.velmurugan@ltts.com>
--- a/src/gallium/state_trackers/dri/dri2.c
+++ b/src/gallium/state_trackers/dri/dri2.c
@@ -1366,14 +1366,28 @@ dri2_from_planar(__DRIimage *image, int
return img;
}
+static boolean
+dri2_query_dma_buf_modifiers(__DRIscreen *_screen, int fourcc, int max,
+ uint64_t *modifiers, unsigned int *external_only,
+ int *count);
static __DRIimage *
dri2_from_fds(__DRIscreen *screen, int width, int height, int fourcc,
int *fds, int num_fds, int *strides, int *offsets,
void *loaderPrivate)
{
+ uint64_t modifier= DRM_FORMAT_MOD_INVALID;
+ unsigned int external_only= 0;
+ int count= 0;
+ boolean result;
+ result= dri2_query_dma_buf_modifiers( screen, fourcc, 1, &modifier, &external_only, &count);
+ return dri2_create_image_from_fd(screen, width, height, fourcc,
+ modifier, fds, num_fds,
+ strides, offsets, NULL, loaderPrivate);
+ #if 0
return dri2_create_image_from_fd(screen, width, height, fourcc,
DRM_FORMAT_MOD_INVALID, fds, num_fds,
strides, offsets, NULL, loaderPrivate);
+ #endif
}
static boolean

View File

@@ -1,10 +1,6 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
# DRI3 note:
# With oe-core commit 8509e2e1a87578882b71948ccef3b50ccf1228b3 dri3 is set
# as default. To state out clearly that Raspi needs dri3 and to avoid surprises
# in case oe-core changes this default, we set dri3 explicitly.
SRC_URI_append_rpi = " file://0001-dri2-query-dma-buf-modifiers.patch "
PACKAGECONFIG_append_rpi = " gallium vc4 v3d kmsro ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)}"
DRIDRIVERS_class-target_rpi = ""

View File

@@ -1,7 +1,7 @@
From ccb7f6f1a2bc491a24c0402616a2d24b85e3933a Mon Sep 17 00:00:00 2001
From d0956d198ceaf611314d61a0835fb5924b8a3577 Mon Sep 17 00:00:00 2001
From: Dom Cobley <dc4@broadcom.com>
Date: Tue, 9 Jul 2013 09:26:26 -0400
Subject: [PATCH 01/19] Allow applications to set next resource handle
Subject: [PATCH 01/21] Allow applications to set next resource handle
This patch adds provisions in userland to
let apps callers set the next rendereing dispmanx resource.
@@ -204,5 +204,5 @@ index 8a5734c..51b3580 100644
FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data))
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From 7432d49ddca97b34e402d0108221d34ec69bcd66 Mon Sep 17 00:00:00 2001
From 75eb8ab4bec3e462607214d2e14c9f2eef73435f Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Tue, 1 Oct 2013 13:19:20 +0200
Subject: [PATCH 02/19] wayland: Add support for the Wayland winsys
Subject: [PATCH 02/21] wayland: Add support for the Wayland winsys
* Adds EGL_WL_bind_wayland_display extension
* Adds wayland-egl library
@@ -69,7 +69,7 @@ index 63570f1..1459436 100644
*.mkv
+*~
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cfc8ae5..673a5ad 100644
index fe67fc8..80337b2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -24,6 +24,17 @@ include(makefiles/cmake/global_settings.cmake)
@@ -103,7 +103,7 @@ index 404e4d4..97a6b8f 100644
+
+$ BUILD_WAYLAND=1 ./buildme.
diff --git a/buildme b/buildme
index cee90a6..d1d76a7 100755
index 9e2d405..7b8c0d6 100755
--- a/buildme
+++ b/buildme
@@ -17,6 +17,10 @@ fi
@@ -133,18 +133,18 @@ index cee90a6..d1d76a7 100755
if [ "$1" != "" ]; then
diff --git a/host_applications/linux/apps/raspicam/CMakeLists.txt b/host_applications/linux/apps/raspicam/CMakeLists.txt
index f7db21e..73997b7 100644
index eb1ef7c..5aeeb2e 100644
--- a/host_applications/linux/apps/raspicam/CMakeLists.txt
+++ b/host_applications/linux/apps/raspicam/CMakeLists.txt
@@ -54,7 +54,7 @@ add_executable(raspividyuv ${COMMON_SOURCES} RaspiVidYUV.c)
@@ -61,7 +61,7 @@ add_executable(raspivid ${COMMON_SOURCES} RaspiVid.c)
add_executable(raspividyuv ${COMMON_SOURCES} RaspiVidYUV.c)
set (MMAL_LIBS mmal_core mmal_util mmal_vc_client)
-target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host brcmGLESv2 brcmEGL m dl)
+target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host brcmGLESv2 brcmEGL m dl ${WAYLAND_SERVER_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES})
target_link_libraries(raspiyuv ${MMAL_LIBS} vcos bcm_host)
target_link_libraries(raspivid ${MMAL_LIBS} vcos bcm_host)
target_link_libraries(raspividyuv ${MMAL_LIBS} vcos bcm_host)
-target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host ${EGL_LIBS} m dl)
+target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host ${EGL_LIBS} m dl ${WAYLAND_SERVER_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES})
target_link_libraries(raspiyuv ${MMAL_LIBS} vcos bcm_host m)
target_link_libraries(raspivid ${MMAL_LIBS} vcos bcm_host m)
target_link_libraries(raspividyuv ${MMAL_LIBS} vcos bcm_host m)
diff --git a/interface/khronos/CMakeLists.txt b/interface/khronos/CMakeLists.txt
index 9ad615b..95c0e11 100644
--- a/interface/khronos/CMakeLists.txt
@@ -1551,7 +1551,7 @@ index 0000000..8bafc15
+Libs: -L${libdir} -lwayland-egl
+Cflags: -I${includedir}
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
index a157db1..55b6ace 100755
index 4a914a7..c202204 100755
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
@@ -7,13 +7,24 @@
@@ -1582,8 +1582,8 @@ index a157db1..55b6ace 100755
+add_library(vchostif ${VCHOSTIF_SOURCE})
+
#add_library(bufman vc_vchi_bufman.c )
set(INSTALL_TARGETS vchostif)
# OpenMAX/IL component service
diff --git a/interface/vmcs_host/vc_dispmanx.h b/interface/vmcs_host/vc_dispmanx.h
index 37fdae1..fe3619a 100755
--- a/interface/vmcs_host/vc_dispmanx.h
@@ -1894,5 +1894,5 @@ index 0000000..ad90d30
+ set(${_sources} ${${_sources}} PARENT_SCOPE)
+endfunction()
--
2.22.0
2.27.0

View File

@@ -1,17 +1,17 @@
From 481a9aeba3f84371668fdf8a1380a3cb23bfc502 Mon Sep 17 00:00:00 2001
From 3b568db9460c0359e8bda8256aa2161e5aafe07c Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Tue, 1 Oct 2013 13:19:20 +0200
Subject: [PATCH 03/19] wayland: Add Wayland example
Subject: [PATCH 03/21] wayland: Add Wayland example
---
.../linux/apps/hello_pi/CMakeLists.txt | 1 +
.../linux/apps/hello_pi/Makefile | 2 +
.../hello_pi/hello_wayland/CMakeLists.txt | 8 +
.../hello_pi/hello_wayland/Djenne_128_128.raw | 3 +
.../apps/hello_pi/hello_wayland/Makefile | 5 +
.../hello_wayland/cube_texture_and_coords.h | 100 +++
.../apps/hello_pi/hello_wayland/triangle.c | 666 ++++++++++++++++++
.../linux/apps/hello_pi/rebuild.sh | 3 +-
7 files changed, 785 insertions(+), 1 deletion(-)
7 files changed, 785 insertions(+)
create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt
create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/Djenne_128_128.raw
create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/Makefile
@@ -30,6 +30,24 @@ index b28a94a..2849fad 100644
if(BUILD_FONT)
set(VGFONT_SRCS libs/vgfont/font.c libs/vgfont/vgft.c libs/vgfont/graphics.c)
diff --git a/host_applications/linux/apps/hello_pi/Makefile b/host_applications/linux/apps/hello_pi/Makefile
index 4c2b2ef..d2b2555 100644
--- a/host_applications/linux/apps/hello_pi/Makefile
+++ b/host_applications/linux/apps/hello_pi/Makefile
@@ -24,6 +24,7 @@ apps: libs/ilclient/libilclient.a libs/vgfont/libvgfont.a libs/revision/librevis
$(MAKE) -C hello_teapot
$(MAKE) -C hello_fft
$(MAKE) -C hello_mmal_encode
+ $(MAKE) -C hello_wayland
clean:
$(MAKE) -C libs/ilclient clean
@@ -43,4 +44,5 @@ clean:
$(MAKE) -C hello_teapot clean
$(MAKE) -C hello_fft clean
$(MAKE) -C hello_mmal_encode clean
+ $(MAKE) -C hello_wayland clean
diff --git a/host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt
new file mode 100644
index 0000000..9a2f75c
@@ -843,24 +861,6 @@ index 0000000..1a7bfc4
+
+ ret = wl_display_dispatch(state.wl_display);
+ }
+
+ exit_func(&state);
+
+ return 0;
+}
+
diff --git a/host_applications/linux/apps/hello_pi/rebuild.sh b/host_applications/linux/apps/hello_pi/rebuild.sh
index 8225dd5..0be6ce7 100755
--- a/host_applications/linux/apps/hello_pi/rebuild.sh
+++ b/host_applications/linux/apps/hello_pi/rebuild.sh
@@ -14,6 +14,7 @@ make -C hello_videocube clean
make -C hello_teapot clean
make -C hello_fft clean
make -C hello_mmal_encode clean
+make -C hello_wayland clean
make -C libs/ilclient
make -C libs/vgfont
+
make -C hello_teapot
+ exit_func(&state);
+

View File

@@ -1,7 +1,7 @@
From 4463e2732a09dbb721d0614e7147cbfaa9059930 Mon Sep 17 00:00:00 2001
From 3ce83fc1d4974d4db15ff72b4e856a29c60dbb83 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 10 Aug 2015 02:38:27 -0700
Subject: [PATCH 04/19] wayland-egl: Add bcm_host to dependencies
Subject: [PATCH 04/21] wayland-egl: Add bcm_host to dependencies
It uses headers like vcos_platform_types.h but does not
depend on module which should add the required include paths
@@ -24,5 +24,5 @@ index 8bafc15..fd259c9 100644
Libs: -L${libdir} -lwayland-egl
Cflags: -I${includedir}
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From 571c417c055a57cfd42c30a7a8279332397bad83 Mon Sep 17 00:00:00 2001
From cf4d2dba7150aad7f85eb7f5df0b0cfa9389da57 Mon Sep 17 00:00:00 2001
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Date: Sat, 24 Jan 2015 22:07:19 +0100
Subject: [PATCH 05/19] interface: remove faulty assert() to make weston happy
Subject: [PATCH 05/21] interface: remove faulty assert() to make weston happy
at runtime
This was removed after a discussion on IRC with the weston guys
@@ -25,5 +25,5 @@ index eab146e..29e0dee 100755
}
} else {
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From 393e90beb9f5e535b5ce5d9eba4bc74907a96afe Mon Sep 17 00:00:00 2001
From ce90048cb25a0c2c49c585ce3a4cd8c73a8ff55b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 11:10:47 -0800
Subject: [PATCH 06/19] zero-out wl buffers in egl_surface_free
Subject: [PATCH 06/21] zero-out wl buffers in egl_surface_free
origins from buildroot
@@ -29,5 +29,5 @@ index 42350bf..1f923d9 100644
#endif
}
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From 3e7e309de25d546a4836c59523060f286aadd87d Mon Sep 17 00:00:00 2001
From 7f7e5b87104134b6710985c5f1c5936a59cccc98 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 11:11:41 -0800
Subject: [PATCH 07/19] initialize front back wayland buffers
Subject: [PATCH 07/21] initialize front back wayland buffers
origins from metrological wayland support
@@ -30,5 +30,5 @@ index 1f923d9..9a9582c 100644
}
#endif
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From a08887086cf4418fa0999a340c574b66a5ab4412 Mon Sep 17 00:00:00 2001
From 2291cf20017c297e6ed3afd56945cf8768c9901e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 11:09:18 -0800
Subject: [PATCH 08/19] Remove RPC_FLUSH
Subject: [PATCH 08/21] Remove RPC_FLUSH
Origins from buildroot
@@ -23,5 +23,5 @@ index f9b7287..b04ffef 100644
}
#endif
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From e14d2bfff42be64361a873e73674ce1205af3ee5 Mon Sep 17 00:00:00 2001
From 736f489743b4a761afc928cbac197b28b3209bf1 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 13:12:47 -0800
Subject: [PATCH 09/19] fix cmake dependency race
Subject: [PATCH 09/21] fix cmake dependency race
Fixes errors like
@@ -42,7 +42,7 @@ index 1d81ca3..d6cd415 100644
add_library (vcos SHARED ${SOURCES})
target_link_libraries (vcos pthread dl rt)
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
index 55b6ace..ae52495 100755
index c202204..16d3184 100755
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
@@ -15,14 +15,6 @@ set(VCHOSTIF_SOURCE
@@ -74,5 +74,5 @@ index f0bae30..8c44c58 100644
struct wl_resource *resource;
struct wl_dispmanx *dispmanx;
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From ea3f7c3822efd33cec96a79eb9a345544b942d9e Mon Sep 17 00:00:00 2001
From 450341ccd98801be1c3dc648e18211177f81a60d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 29 Mar 2016 20:38:30 -0700
Subject: [PATCH 10/19] Fix for framerate with nested composition
Subject: [PATCH 10/21] Fix for framerate with nested composition
frame rate appears irregular and lower than expected when using nested composition.
@@ -56,5 +56,5 @@ index 03fe67b..13a110c 100644
#ifdef ANDROID
CLIENT_UNLOCK();
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From 407ab0ed315b4c7b49d1a1dd3777d5af8e0b7e66 Mon Sep 17 00:00:00 2001
From 13f2a4d1c6b6e79389ac3aa64512d78882a11b2f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 2 Apr 2016 10:37:24 -0700
Subject: [PATCH 11/19] build shared library for vchostif
Subject: [PATCH 11/21] build shared library for vchostif
Fixes #149
@@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
index ae52495..369758b 100755
index 16d3184..e54f046 100755
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
@@ -15,7 +15,7 @@ set(VCHOSTIF_SOURCE
@@ -22,7 +22,7 @@ index ae52495..369758b 100755
+add_library(vchostif SHARED ${VCHOSTIF_SOURCE})
#add_library(bufman vc_vchi_bufman.c )
set(INSTALL_TARGETS vchostif)
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From 48a946e24c3e7172f1044f5815e9cfed96982830 Mon Sep 17 00:00:00 2001
From a09feea5ceb0af717c17a3a7df8a638f8e858f52 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 2 Apr 2016 10:54:59 -0700
Subject: [PATCH 12/19] implement buffer wrapping interface for dispmanx
Subject: [PATCH 12/21] implement buffer wrapping interface for dispmanx
Courtesy: Zan Dobersek
@@ -88,5 +88,5 @@ index c18626d..11ed1ef 100644
</protocol>
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From 31e61d1a1d26442be9c90c479e2b14589acedb0e Mon Sep 17 00:00:00 2001
From dd8017ebccfa9c439a4e8dd501872e2052016f10 Mon Sep 17 00:00:00 2001
From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
Date: Thu, 19 Jan 2017 18:56:07 +0000
Subject: [PATCH 13/19] Implement triple buffering for wayland
Subject: [PATCH 13/21] Implement triple buffering for wayland
Change from double to triple buffering for wayland.
This enables higher frame rates without tearing artifacts
@@ -86,5 +86,5 @@ index e328b77..58a3184 100644
back_wl_buffer
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From 961cd03f4db37041ae068cd8535f11cf739e42c0 Mon Sep 17 00:00:00 2001
From afe3917b1a236c08b1ed01053e3da9ab283db1ec Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 10 May 2017 06:39:34 +0000
Subject: [PATCH 14/19] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT
Subject: [PATCH 14/21] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT
weston code uses these defines
Upstream-Status: Pending
@@ -31,5 +31,5 @@ index 4eacf7f..b1acc9f 100644
#ifndef GL_EXT_texture_type_2_10_10_10_REV
#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From 9568135c3e4c23e9056135a13cee58c37456aaac Mon Sep 17 00:00:00 2001
From 47972590947e5da25d77cae0ce060f7b8d022a10 Mon Sep 17 00:00:00 2001
From: Andrea Galbusera <gizero@gmail.com>
Date: Fri, 14 Jul 2017 09:52:54 +0200
Subject: [PATCH 15/19] EGL/glplatform.h: define EGL_CAST
Subject: [PATCH 15/21] EGL/glplatform.h: define EGL_CAST
C++ / C typecast macros for special EGL handle values: used by libepoxy code
The definition comes from the updated version of this header in mesa.
@@ -28,5 +28,5 @@ index 1f7c930..c39d425 100644
+
#endif /* __eglplatform_h */
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From 493b013cb702b821fdeaef7021ae25dea88900c6 Mon Sep 17 00:00:00 2001
From 1eb8bdb4d45e3de9582145c120b0d3ede187c7a9 Mon Sep 17 00:00:00 2001
From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
Date: Sat, 27 Jan 2018 12:28:31 -0500
Subject: [PATCH 16/19] Allow multiple wayland compositor state data per
Subject: [PATCH 16/21] Allow multiple wayland compositor state data per
process
When eglBindWaylandDisplayWL is called store the wl_global
@@ -141,5 +141,5 @@ index 9ef89cd..abd5ab3 100644
CLIENT_UNLOCK();
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From cc25f8abd4498004a276a4ee40e37681fa42422a Mon Sep 17 00:00:00 2001
From 99a210c93019d37dd7f044102c4314c8cb988ed4 Mon Sep 17 00:00:00 2001
From: Hugo Hromic <hhromic@gmail.com>
Date: Sun, 13 May 2018 10:49:04 +0100
Subject: [PATCH 17/19] khronos: backport typedef for
Subject: [PATCH 17/21] khronos: backport typedef for
EGL_EXT_image_dma_buf_import
The `gstreamer1.0-plugins-base` package version `1.14` uses `EGL_EXT_image_dma_buf_import`, which
@@ -34,5 +34,5 @@ index d7e5ba7..dcc90ce 100755
#ifndef EGL_WL_bind_wayland_display
#define EGL_WL_bind_wayland_display 1
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From e091388b4382d90494b5842e9f591043a45b2b21 Mon Sep 17 00:00:00 2001
From 82cf4bc5623c5220dfa1c096ea192f2509837782 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 15 Jul 2018 00:48:38 -0700
Subject: [PATCH 18/19] Add EGL_IMG_context_priority related defines
Subject: [PATCH 18/21] Add EGL_IMG_context_priority related defines
These defines are needed for compiling weston 4.x
taken from Khronos headers
@@ -31,5 +31,5 @@ index dcc90ce..6842bf9 100755
#define EGL_KHR_vg_parent_image 1
#define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From 5229430874b5275547babdbef1e322922317456d Mon Sep 17 00:00:00 2001
From 1112539d9fde6428c1230b4fc9ea479623e9f968 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 25 Jul 2019 23:30:27 -0700
Subject: [PATCH 19/19] libfdt: Undefine __wordsize if already defined
Subject: [PATCH 19/21] libfdt: Undefine __wordsize if already defined
glibc 2.30+ defines __wordsize, which is same so its easier to compile
for multiple versions of glibc even ones which does not have this define
@@ -12,20 +12,20 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 4 insertions(+)
diff --git a/opensrc/helpers/libfdt/libfdt_env.h b/opensrc/helpers/libfdt/libfdt_env.h
index 1c966b8..fc25ca6 100644
index f4608be..5e83a27 100644
--- a/opensrc/helpers/libfdt/libfdt_env.h
+++ b/opensrc/helpers/libfdt/libfdt_env.h
@@ -56,6 +56,10 @@
#include <stdint.h>
@@ -18,6 +18,10 @@
#include <string.h>
#include <limits.h>
+#ifdef __bitwise
+#undef __bitwise
+#endif
+
#ifdef __CHECKER__
#define __force __attribute__((force))
#define __bitwise __attribute__((bitwise))
#define FDT_FORCE __attribute__((force))
#define FDT_BITWISE __attribute__((bitwise))
--
2.22.0
2.27.0

View File

@@ -1,7 +1,7 @@
From 09c7ac4c09d91651b8e98780ec6f2e834e94ece6 Mon Sep 17 00:00:00 2001
From 488916a6b366bfa5da2907b5892798eb2306a17d Mon Sep 17 00:00:00 2001
From: Martin Jansa <martin.jansa@lge.com>
Date: Wed, 13 Jun 2018 18:22:22 +0000
Subject: [PATCH] openmaxil: add pkg-config file
Subject: [PATCH 20/21] openmaxil: add pkg-config file
---
CMakeLists.txt | 2 +-
@@ -10,15 +10,15 @@ Subject: [PATCH] openmaxil: add pkg-config file
create mode 100644 pkgconfig/openmaxil.pc.in
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 673a5ad..e64e0ad 100644
index 80337b2..3e3c90e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -133,7 +133,7 @@ include_directories("${PROJECT_BINARY_DIR}")
include(FindPkgConfig QUIET)
if(PKG_CONFIG_FOUND)
# Produce a pkg-config file
- foreach(PCFILE bcm_host.pc egl.pc glesv2.pc vg.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc )
+ foreach(PCFILE bcm_host.pc egl.pc glesv2.pc vg.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc openmaxil.pc )
- foreach(PCFILE bcm_host.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc)
+ foreach(PCFILE bcm_host.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc openmaxil.pc)
configure_file("pkgconfig/${PCFILE}.in" "${PCFILE}" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PCFILE}"
DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
@@ -38,3 +38,6 @@ index 0000000..8793a61
+Version: 1
+Libs: -L${libdir} -lopenmaxil -lvcos -lvchiq_arm -pthread
+Cflags: -I${includedir} -I${includedir}/IL -I${includedir}/interface/vmcs_host/linux -I${includedir}/interface/vcos/pthreads -DUSE_VCHIQ_ARM
--
2.27.0

View File

@@ -0,0 +1,37 @@
From ee842886f3c0589d6df5a0687973beb18a3be524 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 31 Mar 2020 11:51:02 -0700
Subject: [PATCH 21/21] cmake: Disable format-overflow warning as error
gcc10 complains about a check which could potentially be null
build/inc/interface/vcos/vcos_logging.h:234:88: error: '%s' directive argument is null [-Werror=format-overflow=]
234 | # define _VCOS_LOG_X(cat, _level, fmt...) do { if (vcos_is_log_enabled(cat,_level)) vcos_log_impl(cat,_level,fmt); } while (0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A potential fix would be to check for fmt not being null but lets leave
that to experts
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
host_applications/linux/libs/bcm_host/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/host_applications/linux/libs/bcm_host/CMakeLists.txt b/host_applications/linux/libs/bcm_host/CMakeLists.txt
index a863cb6..f358135 100644
--- a/host_applications/linux/libs/bcm_host/CMakeLists.txt
+++ b/host_applications/linux/libs/bcm_host/CMakeLists.txt
@@ -3,7 +3,7 @@ if (WIN32)
set(VCOS_PLATFORM win32)
else ()
set(VCOS_PLATFORM pthreads)
- add_definitions(-Wall -Werror)
+ add_definitions(-Wall -Werror -Wno-error=format-overflow)
endif ()
# set this as we want all the source of vchostif to be available in libbcm_host
--
2.27.0

View File

@@ -13,14 +13,14 @@ COMPATIBLE_MACHINE = "^rpi$"
SRCBRANCH = "master"
SRCFORK = "raspberrypi"
SRCREV = "17d2fdc1abd370e09ba7074753294c7976dd6b0d"
SRCREV = "188d3bfe4a0ac36b119a2cee35a6be8d0c68e09e"
# Use the date of the above commit as the package version. Update this when
# SRCREV is changed.
PV = "20190724"
PV = "20200624"
SRC_URI = "\
git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
git://github.com/${SRCFORK}/userland.git;protocol=https;branch=${SRCBRANCH} \
file://0001-Allow-applications-to-set-next-resource-handle.patch \
file://0002-wayland-Add-support-for-the-Wayland-winsys.patch \
file://0003-wayland-Add-Wayland-example.patch \
@@ -41,6 +41,7 @@ SRC_URI = "\
file://0018-Add-EGL_IMG_context_priority-related-defines.patch \
file://0019-libfdt-Undefine-__wordsize-if-already-defined.patch \
file://0020-openmaxil-add-pkg-config-file.patch \
file://0021-cmake-Disable-format-overflow-warning-as-error.patch \
"
S = "${WORKDIR}/git"
@@ -75,6 +76,10 @@ do_install_append () {
rm -rf ${D}${libdir}/pkgconfig/egl.pc ${D}${libdir}/pkgconfig/glesv2.pc \
${D}${libdir}/pkgconfig/wayland-egl.pc
rm -rf ${D}${includedir}/EGL ${D}${includedir}/GLES* ${D}${includedir}/KHR
else
ln -sf brcmglesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
ln -sf brcmegl.pc ${D}${libdir}/pkgconfig/egl.pc
ln -sf brcmvg.pc ${D}${libdir}/pkgconfig/vg.pc
fi
}

View File

@@ -1 +1,5 @@
OPENGL_PKGCONFIGS_rpi = "dri glx ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'dri3 xshmfence glamor', '', d)}"
# when using userland graphic KHR/khrplatform.h is provided by userland but virtual/libgl is provided by mesa-gl where
# we explicitly delete KHR/khrplatform.h since its already coming from userland package
DEPENDS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'userland', d)}"

View File

@@ -23,7 +23,7 @@ LIC_FILES_CHKSUM = "\
# so that the license files will be copied from fetched source
NO_GENERIC_LICENSE[Firmware-cypress-rpidistro] = "LICENCE.cypress-rpidistro"
SRC_URI = "git://github.com/RPi-Distro/bluez-firmware"
SRC_URI = "git://github.com/RPi-Distro/bluez-firmware;branch=master;protocol=https"
SRCREV = "96eefffcccc725425fd83be5e0704a5c32b79e54"
PV = "0.0+git${SRCPV}"

View File

@@ -33,10 +33,10 @@ LIC_FILES_CHKSUM = "\
NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx-rpidistro] = "LICENCE.broadcom_bcm43xx"
NO_GENERIC_LICENSE[WHENCE] = "WHENCE"
SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree"
SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=buster;protocol=https"
SRCREV = "00daf85ffa373ecce7836df7543c6ebe4cf43639"
PV = "0.0+git${SRCPV}"
SRCREV = "98e815735e2c805d65994ccc608f399595b74438"
PV = "20190114-1+rpt8"
S = "${WORKDIR}/git"
@@ -59,6 +59,12 @@ do_install() {
for fw in brcmfmac43430-sdio brcmfmac43455-sdio ; do
install -m 0644 brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/
done
# add compat links. Fixes errors like
# brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt failed with error -2
ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt
ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
ln -s brcmfmac43430-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
}
PACKAGES = "\

View File

@@ -0,0 +1,35 @@
From 754e3030788702c1f013a88a4fc8546742d84e27 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 18 Jun 2020 13:45:04 -0700
Subject: [PATCH] Revert "selftests/bpf: Skip perf hw events test if the setup
disabled it"
This reverts commit da43712a7262891317883d4b3a909fb18dac4b1d.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../selftests/bpf/prog_tests/stacktrace_build_id_nmi.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c b/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c
index 437cb93e72ac..f62aa0eb959b 100644
--- a/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c
+++ b/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c
@@ -49,12 +49,8 @@ void test_stacktrace_build_id_nmi(void)
pmu_fd = syscall(__NR_perf_event_open, &attr, -1 /* pid */,
0 /* cpu 0 */, -1 /* group id */,
0 /* flags */);
- if (pmu_fd < 0 && errno == ENOENT) {
- printf("%s:SKIP:no PERF_COUNT_HW_CPU_CYCLES\n", __func__);
- test__skip();
- goto close_prog;
- }
- if (CHECK(pmu_fd < 0, "perf_event_open", "err %d errno %d\n",
+ if (CHECK(pmu_fd < 0, "perf_event_open",
+ "err %d errno %d. Does the test host support PERF_COUNT_HW_CPU_CYCLES?\n",
pmu_fd, errno))
goto close_prog;
--
2.27.0

View File

@@ -1,7 +1,7 @@
From 552084d4da41833a97d19d12f5ee5c3ba02e400a Mon Sep 17 00:00:00 2001
From 4cd12df48b83cef9cc7d6b80b128afbf68746718 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 14 Mar 2020 07:31:34 -0700
Subject: [PATCH V2] selftest/bpf: Use CHECK macro instead of RET_IF
Subject: [PATCH] selftest/bpf: Use CHECK macro instead of RET_IF
backporting 634efb750435d0a489dc58477d4fcb88b2692942 causes build
failures because RET_IF is defined in 7ee0d4e97b889c0478af9c1a6e5af658b181423f
@@ -11,36 +11,30 @@ Upstream-Status: Submitted
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Jakub Sitnicki <jakub@cloudflare.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
---
v2: Add return on check to get complete logic of RET_IF
tools/testing/selftests/bpf/test_select_reuseport.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
tools/testing/selftests/bpf/test_select_reuseport.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/test_select_reuseport.c b/tools/testing/selftests/bpf/test_select_reuseport.c
index cdbbdab2725f..093ef8547abb 100644
index 079d0f5a2909..7e4c91f2238d 100644
--- a/tools/testing/selftests/bpf/test_select_reuseport.c
+++ b/tools/testing/selftests/bpf/test_select_reuseport.c
@@ -616,13 +616,15 @@ static void cleanup_per_test(void)
@@ -668,12 +668,12 @@ static void cleanup_per_test(void)
for (i = 0; i < NR_RESULTS; i++) {
err = bpf_map_update_elem(result_map, &i, &zero, BPF_ANY);
- RET_IF(err, "reset elem in result_map",
- "i:%u err:%d errno:%d\n", i, err, errno);
+ if (CHECK(err, "reset elem in result_map",
+ "i:%u err:%d errno:%d\n", i, err, errno))
+ return;
+ CHECK(err, "reset elem in result_map",
"i:%u err:%d errno:%d\n", i, err, errno);
}
err = bpf_map_update_elem(linum_map, &zero, &zero, BPF_ANY);
- RET_IF(err, "reset line number in linum_map", "err:%d errno:%d\n",
- err, errno);
+ if (CHECK(err, "reset line number in linum_map", "err:%d errno:%d\n",
+ err, errno))
+ return;
+ CHECK(err, "reset line number in linum_map", "err:%d errno:%d\n",
err, errno);
for (i = 0; i < REUSEPORT_ARRAY_SIZE; i++)
close(sk_fds[i]);
--
2.25.1
2.26.0

View File

@@ -0,0 +1,94 @@
From 366487b86a8c87954fb4ab7bd88ab49a929a32f6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 13 Apr 2020 11:25:58 -0700
Subject: [PATCH 2/2] Revert "selftests/bpf: Fix perf_buffer test on systems w/
offline CPUs"
This reverts commit 77bb53cb094828a31cd3c5b402899810f63073c1.
---
.../selftests/bpf/prog_tests/perf_buffer.c | 29 ++++---------------
1 file changed, 5 insertions(+), 24 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/perf_buffer.c b/tools/testing/selftests/bpf/prog_tests/perf_buffer.c
index cf6c87936c69..3003fddc0613 100644
--- a/tools/testing/selftests/bpf/prog_tests/perf_buffer.c
+++ b/tools/testing/selftests/bpf/prog_tests/perf_buffer.c
@@ -4,7 +4,6 @@
#include <sched.h>
#include <sys/socket.h>
#include <test_progs.h>
-#include "libbpf_internal.h"
static void on_sample(void *ctx, int cpu, void *data, __u32 size)
{
@@ -20,7 +19,7 @@ static void on_sample(void *ctx, int cpu, void *data, __u32 size)
void test_perf_buffer(void)
{
- int err, prog_fd, on_len, nr_on_cpus = 0, nr_cpus, i, duration = 0;
+ int err, prog_fd, nr_cpus, i, duration = 0;
const char *prog_name = "kprobe/sys_nanosleep";
const char *file = "./test_perf_buffer.o";
struct perf_buffer_opts pb_opts = {};
@@ -30,27 +29,15 @@ void test_perf_buffer(void)
struct bpf_object *obj;
struct perf_buffer *pb;
struct bpf_link *link;
- bool *online;
nr_cpus = libbpf_num_possible_cpus();
if (CHECK(nr_cpus < 0, "nr_cpus", "err %d\n", nr_cpus))
return;
- err = parse_cpu_mask_file("/sys/devices/system/cpu/online",
- &online, &on_len);
- if (CHECK(err, "nr_on_cpus", "err %d\n", err))
- return;
-
- for (i = 0; i < on_len; i++)
- if (online[i])
- nr_on_cpus++;
-
/* load program */
err = bpf_prog_load(file, BPF_PROG_TYPE_KPROBE, &obj, &prog_fd);
- if (CHECK(err, "obj_load", "err %d errno %d\n", err, errno)) {
- obj = NULL;
- goto out_close;
- }
+ if (CHECK(err, "obj_load", "err %d errno %d\n", err, errno))
+ return;
prog = bpf_object__find_program_by_title(obj, prog_name);
if (CHECK(!prog, "find_probe", "prog '%s' not found\n", prog_name))
@@ -77,11 +64,6 @@ void test_perf_buffer(void)
/* trigger kprobe on every CPU */
CPU_ZERO(&cpu_seen);
for (i = 0; i < nr_cpus; i++) {
- if (i >= on_len || !online[i]) {
- printf("skipping offline CPU #%d\n", i);
- continue;
- }
-
CPU_ZERO(&cpu_set);
CPU_SET(i, &cpu_set);
@@ -99,8 +81,8 @@ void test_perf_buffer(void)
if (CHECK(err < 0, "perf_buffer__poll", "err %d\n", err))
goto out_free_pb;
- if (CHECK(CPU_COUNT(&cpu_seen) != nr_on_cpus, "seen_cpu_cnt",
- "expect %d, seen %d\n", nr_on_cpus, CPU_COUNT(&cpu_seen)))
+ if (CHECK(CPU_COUNT(&cpu_seen) != nr_cpus, "seen_cpu_cnt",
+ "expect %d, seen %d\n", nr_cpus, CPU_COUNT(&cpu_seen)))
goto out_free_pb;
out_free_pb:
@@ -109,5 +91,4 @@ void test_perf_buffer(void)
bpf_link__destroy(link);
out_close:
bpf_object__close(obj);
- free(online);
}
--
2.26.0

View File

@@ -0,0 +1,8 @@
CONFIG_ANDROID=y
#CONFIG_ANDROID_BINDERFS is not set
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDER_DEVICES="binder"
CONFIG_ASHMEM=y

View File

@@ -0,0 +1,13 @@
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION="/dev/mmcblk0p2"
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_AUTOSLEEP=y
CONFIG_PM_WAKELOCKS=y
CONFIG_PM_WAKELOCKS_LIMIT=100
CONFIG_PM_WAKELOCKS_GC=y
CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
CONFIG_ARCH_HIBERNATION_HEADER=y

View File

@@ -5,19 +5,33 @@ python __anonymous() {
raise bb.parse.SkipRecipe(msg)
}
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:"
LINUX_VERSION ?= "5.10.y"
LINUX_RPI_BRANCH ?= "rpi-5.10.y"
LINUX_RPI_KMETA_BRANCH ?= "yocto-5.10"
LINUX_VERSION ?= "4.19"
LINUX_RPI_BRANCH ?= "rpi-4.19.y"
# Set default SRCREVs. Both the machine and meta SRCREVs are statically set
# to the as in 5.10 recipe, and hence prevent network access during parsing. If
# linux-yocto-dev is the preferred provider, they will be overridden to
# AUTOREV in following anonymous python routine and resolved when the
# variables are finalized.
SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-raspberrypi-dev", "${AUTOREV}", "89399e6e7e33d6260a954603ca03857df594ffd3", d)}'
SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-raspberrypi-dev", "${AUTOREV}", "a19886b00ea7d874fdd60d8e3435894bb16e6434", d)}'
KMETA = "kernel-meta"
SRCREV = "${AUTOREV}"
SRC_URI = " \
git://github.com/raspberrypi/linux.git;protocol=git;branch=${LINUX_RPI_BRANCH} \
git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH};protocol=https \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \
file://powersave.cfg \
file://android-drivers.cfg \
"
require linux-raspberrypi.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
KERNEL_EXTRA_ARGS += "DTC_FLAGS='-@ -H epapr'"
# Disable version check so that we don't have to edit this recipe every time
# upstream bumps the version
KERNEL_VERSION_SANITY_SKIP = "1"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"

View File

@@ -130,11 +130,13 @@ do_compile_append() {
}
do_deploy_append() {
# Deploy cmdline.txt
install -d ${DEPLOYDIR}/bcm2835-bootfiles
# Deploy cmdline.txt only for the main kernel package
if [ ${KERNEL_PACKAGE_NAME} = "kernel" ]; then
install -d ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}
PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
if [ ${PITFT} = "1" ]; then
PITFT_PARAMS="fbcon=map:10 fbcon=font:VGA8x8"
fi
echo "${CMDLINE}${PITFT_PARAMS}" > ${DEPLOYDIR}/bcm2835-bootfiles/cmdline.txt
echo "${CMDLINE}${PITFT_PARAMS}" > ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/cmdline.txt
fi
}

View File

@@ -1,7 +1,7 @@
LINUX_VERSION ?= "4.19.113"
LINUX_VERSION ?= "4.19.126"
LINUX_RPI_BRANCH ?= "rpi-4.19.y"
SRCREV = "4f2a4cc501c428c940549f39d5562e60404ac4f7"
SRCREV = "f6b3ac28f0a9137d4c24c0b8832e693bbd16f5b7"
require linux-raspberrypi_4.19.inc

View File

@@ -0,0 +1,14 @@
LINUX_VERSION ?= "5.4.72"
LINUX_RPI_BRANCH ?= "rpi-5.4.y"
LINUX_RPI_KMETA_BRANCH ?= "yocto-5.4"
SRCREV_machine = "154de7bbd5844a824a635d4f9e3f773c15c6ce11"
SRCREV_meta = "5d52d9eea95fa09d404053360c2351b2b91b323b"
require linux-raspberrypi_5.4.inc
SRC_URI += "file://0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch \
file://0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch \
file://powersave.cfg \
file://android-drivers.cfg \
"

View File

@@ -0,0 +1,15 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:"
KMETA = "kernel-meta"
SRC_URI = " \
git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH} \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \
"
SRC_URI_remove = "file://rpi-kernel-misc.cfg"
require linux-raspberrypi.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
KERNEL_EXTRA_ARGS_append_rpi = " DTC_FLAGS='-@ -H epapr'"

View File

@@ -22,8 +22,8 @@ SRCREV_default = "f543a0d0e707ab56415f17b0ca6d397394ee8b63"
# This SRCREV corresponds to the v4.0.3 release of ffmpeg.
SRCREV_ffmpeg = "fcbd117df3077bad495e99e20f01cf93737bce76"
SRC_URI = "git://github.com/popcornmix/omxplayer.git;protocol=git;branch=master \
git://github.com/FFmpeg/FFmpeg;branch=release/4.0;protocol=git;depth=1;name=ffmpeg;destsuffix=git/ffmpeg \
SRC_URI = "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 \
file://0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch \
file://0003-Remove-strip-step-in-Makefile.patch \
file://0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch \