318 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
Khem Raj
12641489df qtbase: Append userland to rdeps iff vc4graphics is not enabled
This avoids adding unnessary dependency at runtime on userland graphics
package when vc4 driver is used

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-03-31 11:59:27 +01:00
Orne Brocaar
b7d3f86687 rpi-base.conf: add disable-bt.dtbo and miniuart-bt.dtbo overlays.
Closes #602.

Signed-off-by: Orne Brocaar <info@brocaar.com>
2020-03-31 11:58:30 +01:00
Pierre-Jean Texier
4d5c6edc2c README.md: add status badge for raspberrypi4
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-03-30 11:52:34 +01:00
Pierre-Jean Texier
d96ed84212 linux-raspberrypi: bump to Linux version 4.19.113
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-03-27 10:32:29 +00:00
Pierre-Jean Texier
5e56eff64f raspberrypi-firmware: update to current HEAD
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-03-27 10:32:29 +00:00
Khem Raj
d05d418419 linux-raspberrypi: Get PMU fixes on top of 4.19.108
This fixes Issue #593

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-03-20 11:29:27 +00:00
Khem Raj
e1bd6d31dc oeqa: Add rpi specific kernel dmesg parser
These errors are harmless on rpi3/rpi4 [1]

[1] https://github.com/raspberrypi/linux/issues/3195

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-03-17 10:33:56 +00:00
Khem Raj
2aab60f22c linux-raspberrypi: Fix building selftest/bpf
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-03-16 19:10:44 +00:00
Pierre-Jean Texier
e9d258ec59 layer.conf: add dunfell to compat layer
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-03-16 19:09:59 +00:00
Khem Raj
ac5e346167 mesa: Fix patch fuzz
Fixes
ERROR: mesa-2_20.0.1-r0 do_patch: Fuzz detected:

Applying patch 0001-dri2-query-dma-buf-modifiers.patch
patching file src/gallium/state_trackers/dri/dri2.c
Hunk #1 succeeded at 1366 with fuzz 1 (offset -2 lines).

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-03-12 16:57:44 +00:00
rkhan467
84cb8538cd 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>
2020-03-10 17:49:23 +00:00
Madhavan Krishnan
c5bc556873 gstreamer: Fix the compilation issue in meta multimedia image
When we tried to build the meta-multimedia-image, we faced the
compilation issue with faad component.

Since faad component has commercial license, we could not able
to build with multimedia image. So we have modified the faad
component to be included when commercial licenese is supported.

Signed-off-by: Madhavan Krishnan <madhavan.krishnan@linaro.org>
2020-03-10 17:24:09 +00:00
Pierre-Jean Texier
bf15756322 raspberrypi-firmware: update to current HEAD
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-03-08 20:59:57 +00:00
Pierre-Jean Texier
1ff7696e09 linux-raspberrypi: bump to Linux version 4.19.108
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-03-08 20:59:57 +00:00
Martin Jansa
b422a0ae50 linux-raspberrypi: fix perf build with latest binutils
* fixes:
|   LINK     /OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/perf/1.0-r9/perf-1.0/perf
| /OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/perf/1.0-r9/perf-1.0/libperf.a(libperf-in.o):srcline.c:function find_address_in_section: error: undefined reference to 'bfd_get_section_flags'
| /OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/perf/1.0-r9/perf-1.0/libperf.a(libperf-in.o):srcline.c:function find_address_in_section: error: undefined reference to 'bfd_get_section_vma'
| /OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/perf/1.0-r9/perf-1.0/libperf.a(libperf-in.o):srcline.c:function find_address_in_section: error: undefined reference to 'bfd_get_section_size'
| collect2: error: ld returned 1 exit status
| make[2]: *** [Makefile.perf:519: /OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/perf/1.0-r9/perf-1.0/perf] Error 1
| make[1]: *** [Makefile.perf:206: sub-make] Error 2
| make: *** [Makefile:70: all] Error 2
| make: Leaving directory '/OE/build/oe-core/tmp-glibc/work/raspberrypi4-oe-linux-gnueabi/perf/1.0-r9/perf-1.0/tools/perf'
| WARNING: exit code 1 from a shell command.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-02-25 19:55:21 +00:00
Pierre-Jean Texier
7a8c76f056 raspberrypi-firmware: update to current HEAD
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-02-24 11:47:53 +00:00
Pierre-Jean Texier
42c0a4d315 linux-raspberrypi: bump to Linux version 4.19.105
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-02-21 12:18:38 +00:00
Pierre-Jean Texier
251a351fc3 linux-raspberrypi: bump to Linux version 4.19.102
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-02-08 14:19:01 +00:00
Khem Raj
a60d182bf0 gstreamer1.0-plugins-base: Adjust for meson conversion
OE-core now uses meson to build gstreamer

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-02-08 14:16:56 +00:00
Pierre-Jean Texier
06c8537bcc raspberrypi-firmware: bump to version 20200205
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-02-08 14:15:48 +00:00
Martin Jansa
4801ca3f03 packagegroup-rpi-test: use MACHINE_ARCH
* fixes this error reported by sstate-diff-machines.sh:
   === Comparing signatures for task do_package_write_ipk.sigdata between raspberrypi2 and raspberrypi3 ===                                                                                                                                                              |
  ERROR: packagegroup-rpi-test different signature for task do_package_write_ipk.sigdata between raspberrypi2 and raspberrypi3                                                                                                                                           |
  NOTE: Starting bitbake server...                                                                                                                                                                                                                                       |
  Hash for dependent task packagegroups/packagegroup-rpi-test.bb:do_package changed from 90d4d6b4f44b5c02560c4fd3a1d6143d7c79e75a110db351c99d393a58b5cf26 to 32d7a96f98179695ff0dce057a8501a6920ce7f053a47c3bd6bd50613bd2618b                                            |
  Unable to find matching sigdata for /OE/build/luneos-master/webos-ports/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb:do_package with hashes 90d4d6b4f44b5c02560c4fd3a1d6143d7c79e75a110db351c99d393a58b5cf26 or 32d7a96f98179695ff0dce057a8501a|
  6920ce7f053a47c3bd6bd50613bd2618b                                                                                                                                                                                                                                      |

* MACHINE_EXTRA_RRECOMMENDS in RRECOMMENDS_${PN} is MACHINE specific, e.g. between raspberrypi2 and raspberrypi3:

  tmp-glibc/sstate-diff/1580322520/raspberrypi2/all-webos-linux/packagegroup-rpi-test/1.0-r0.do_package.sigdata.90d4d6b4f44b5c02560c4fd3a1d6143d7c79e75a110db351c99d393a58b5cf26
  tmp-glibc/sstate-diff/1580322520/raspberrypi3/all-webos-linux/packagegroup-rpi-test/1.0-r0.do_package.sigdata.32d7a96f98179695ff0dce057a8501a6920ce7f053a47c3bd6bd50613bd2618b

  bitbake-diffsigs tmp-glibc/sstate-diff/1580322520/raspberrypi*/*/packagegroup-rpi-test*/*do_package.sig*                                                                                                    |
  NOTE: Starting bitbake server...
  basehash changed from ee2d20ddb4aa98ffefe5c4c56ba2e59833ba94ed3a4523d3e52683209626aa23 to ca3df8d8ef86b298f57c41ffba278dd0330ffb00e7e25943c272c8b3c57a6dc3
  Variable MACHINE_EXTRA_RRECOMMENDS value changed:
  "  kernel-modules udev-rules-rpi {+    linux-firmware-rpidistro-bcm43430     linux-firmware-rpidistro-bcm43455     bluez-firmware-rpidistro-bcm43430a1-hcd     bluez-firmware-rpidistro-bcm4345c0-hcd +}"

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-01-30 16:08:58 +00:00
Martin Jansa
55069cb633 packagegroup-rpi-test: include bigbuckbunny in RRECOMMENDS_${PN} only with meta-multimedia
* resolves:
  ERROR: Nothing RPROVIDES 'bigbuckbunny-480p' (but meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb RDEPENDS on or otherwise requires it)
  NOTE: Runtime target 'bigbuckbunny-480p' is unbuildable, removing...
  Missing or unbuildable dependency chain was: ['bigbuckbunny-480p']
  ERROR: Required build target 'meta-world-pkgdata' has no buildable providers.
  Missing or unbuildable dependency chain was: ['meta-world-pkgdata', 'packagegroup-rpi-test', 'bigbuckbunny-480p']

  when building without meta-multimedia layer included

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-01-30 16:08:58 +00:00
Martin Jansa
3c8fdb4a7a omxplayer: respect virtual/libomxil
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-01-28 10:02:02 +00:00
Pierre-Jean Texier
37d3dd955d linux-raspberrypi: bump to Linux version 4.19.97
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-01-24 17:55:20 +00:00
Pierre-Jean Texier
722d837612 rpi-base.inc: use wic.bz2 for all rpi machines by default
This change moves the default image for all rpi machines.
We moved from rpi-sdimg to wic.bz2.

Also enable wic.bmap image generation.

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

Example:

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

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

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-01-24 12:09:42 +00:00
Khem Raj
2a1a8e396a rpio: Use python3 during build
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-24 12:09:42 +00:00
Martin Jansa
2faf9cab72 gstreamer1.0-omx: let virtual/libomxil dependency to pull userland
* and adjust VIRTUAL-RUNTIME_libomxil to pull runtime provider for libomxil

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-01-24 12:09:42 +00:00
Martin Jansa
51bb38b728 gstreamer1.0-plugins-base: adapt to gstreamer1.0 now using meson
* depends on oe-core changes which adds dispmanx PACKAGECONFIG to gstreamer1.0-plugins-base

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-01-24 12:09:42 +00:00
Martin Jansa
30eedfa095 userland: add pkg-config for openmaxil and add virtual/libomxil to PROVIDES
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-01-24 12:09:42 +00:00
Pierre-Jean Texier
d058d2a2cf kas-poky-rpi: add kas file
The kas tool provides an easy mechanism to setup bitbake based projects.

As explained in [1] the key features provided by kas are:

- clone and checkout bitbake layers
- create default bitbake settings (machine, arch, ...)
- launch minimal build environment, reducing risk of host contamination
- initiate bitbake build process

So, let's create a minimal example in this layer to build an image with a
small effort. This seems interesting for new users of the meta-raspberrypi.

For example:

$: sudo pip3 install kas
$: mkdir rpi
$: cd rpi
$: git clone https://github.com/agherzan/meta-raspberrypi.git
$: kas build meta-raspberrypi/kas-poky-rpi.yml

and that's all !

To adjust the construction with specific options (I2C, SPI, ...), simply add
a section as follows:

local_conf_header:
  rpi-specific: |
    ENABLE_I2C = "1"
    RPI_EXTRA_CONFIG = "dtoverlay=pi3-disable-bt"

To configure the machine, the user have to update the 'machine' variable.
And the same for the 'distro'.

[1] - https://kas.readthedocs.io/en/1.0/userguide.html

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-01-22 18:09:10 +00:00
Paul Barker
05c86e3160 README: Add documentation badge
Signed-off-by: Paul Barker <pbarker@konsulko.com>
2020-01-20 15:30:24 +00:00
Erik Botö
e7c856ee7b Add support for PiTFT 2.8" with capacitive touch
Add support for the Adafruit PiTFT Plus 320x240 2.8" TFT with
Capacitive Touchscreen, using the same patterns used for the other
versions of the PiTFT screens.

Signed-off-by: Erik Botö <erik.boto@gmail.com>
2020-01-14 16:17:04 +00:00
Andrei Gherzan
09f35259a2 armstubs: Define the new symbols use in Makefile
The tools repository renamed the CC, LD etc symbols to CC7, LD7 etc.
See:
b0c869bc92

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2020-01-14 16:16:46 +00:00
Andrei Gherzan
a9ecd32ae4 raspberrypi-tools: Update to current HEAD
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2020-01-14 16:16:46 +00:00
Andrei Gherzan
adccf43655 pi-bluetooth: Fix signature failures
After bc7b654fee, we made this package
depend on a package that is not allarch while this is. Let's drop it for
this package as well to avoid these sstate signature issues.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2020-01-14 16:16:20 +00:00
Martin Jansa
6e84890e8c gstreamer1.0-plugins-base: respect opengl DISTRO_FEATURES when vc4graphics is in MACHINE_FEATURES
No virtual/egl provider is available in the default setup with
vc4graphics enabled and neither opengl nor vulkan in DISTRO_FEATURES:

$ bitbake -e virtual/egl | tee env.egl
ERROR: Nothing PROVIDES 'virtual/egl'
vc-graphics-hardfp PROVIDES virtual/egl but was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics-hardfp
vc-graphics PROVIDES virtual/egl but was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics

$ bitbake -e userland 2>&1 | tee env.userland
ERROR: Nothing RPROVIDES 'libegl-mesa' (but /jenkins/mjansa/build-ros/ros2-dashing-warrior/meta-raspberrypi/recipes-graphics/userland/userland_git.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'libegl-mesa' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['libegl-mesa']
ERROR: Required build target 'userland' has no buildable providers.
Missing or unbuildable dependency chain was: ['userland', 'libegl-mesa']

$ bitbake -e mesa 2>&1 | tee env.mesa
ERROR: Nothing PROVIDES 'mesa'
mesa was skipped: one of 'vulkan opengl' needs to be in DISTRO_FEATURES

$ bitbake -e vc-graphics-hardfp 2>&1 | tee env.vc-graphics-hardfp
ERROR: Nothing PROVIDES 'vc-graphics-hardfp'
vc-graphics-hardfp was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics-hardfp

There is unbuildable dependency on virtual/egl from gstreamer1.0-plugins-base because:
1) gstreamer1.0-plugins-base depends on virtual/egl because of "egl" PACKAGECONFIG

2) "egl" PACKAGECONFIG is enabled by
   meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
   PACKAGECONFIG_GL_rpi = "egl gles2"

   without respecting the "opengl" in DISTRO_FEATURES like the recipe in oe-core does
   openembedded-core/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb:
   PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"

3) virtual/egl is provided either by:
   - userland (only without vc4graphics in MACHINE_FEATURES):
     meta-raspberrypi/recipes-graphics/userland/userland_git.bb:PROVIDES += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "virtual/libgles2 virtual/egl", d)}"
   - mesa (selected with vc4graphics in MACHINE_FEATURES)
     meta-raspberrypi/conf/machine/include/rpi-default-providers.inc:PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}"
   - vc-graphics(-hardfp)
     meta-raspberrypirecipes-graphics/vc-graphics/vc-graphics.inc:PROVIDES = "virtual/libgles2 virtual/egl"

4) vc-graphics(-hardfp) recipe are skipped in default setup, because with vc4graphics being
   in MACHINE_FEATURES by default since:
   690bdca574
   the PREFERRED_PROVIDER_virtual/libgles2 is set to mesa in:
   conf/machine/include/rpi-default-providers.inc:PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}"

   resulting in skipping the other virtual/libgles2 providers:
   vc-graphics-hardfp PROVIDES virtual/egl but was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics-hardfp
   vc-graphics PROVIDES virtual/egl but was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics

5) mesa is skipped when neither opengl nor vulkan are in DISTRO_FEATURES

6) userland doesn't provide virtual/egl because we have the default vc4graphics
   meta-raspberrypi/recipes-graphics/userland/userland_git.bb:PROVIDES += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "virtual/libgles2 virtual/egl", d)}"
   and it cannot be built anyway, because with the default vc4graphics it depends on libegl-mesa:
   meta-raspberrypi/recipes-graphics/userland/userland_git.bb:RDEPENDS_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "libegl-mesa", "", d)}"
   and libegl-mesa is provided only by mesa recipe from oe-core which in turn
   requires either "opengl" or "vulkan" to be in DISTRO_FEATURES

This causes a lot of unresolved dependencies in default setup with vc4graphics but without opengl.
- with Yocto 2.6 Thud and older it worked, because vc4graphics wasn't enabled by default before:
  690bdca574

To build gstreamer1.0-plugins-base with egl PACKAGECONFIG enabled you have 2 options:
A) Just add "opengl" to DISTRO_FEATURES and use the default vc4graphics with mesa providing virtual/egl
B) Use DISABLE_VC4GRAPHICS added in
   96c8459c93
   to explicitly disable vc4graphics and use userland to provide virtual/egl

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-01-13 18:23:28 +00:00
Pierre-Jean Texier
29fd4d430a linux-raspberrypi: bump to Linux version 4.19.93
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-01-13 18:00:50 +00:00
Ricardo Salveti
c3b3cd6efd raspberrypi-cm3.conf: drop KBUILD_DEFCONFIG definition
KBUILD_DEFCONFIG should be defined by the kernel recipe instead, such as
linux-raspberrypi.

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
2020-01-08 11:24:51 +00:00
Ricardo Salveti
12bbdd91b2 linux-raspberrypi: define kbuild defconfig for rpi cm3
Also define a default kbuild defconfig value for rpi cm3.

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

Signed-off-by: Allen Wild <allenwild93@gmail.com>
2020-01-07 10:16:54 +00:00
Pierre-Jean Texier
a953fc0f9b raspi-gpio: bump to revision 4edfde1
This includes the following changes:

4edfde1 Update raw output to show pull registers on 2711

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2019-12-31 13:13:53 +00:00
Pierre-Jean Texier
e57d33298c rpi-gpio: bump to version 0.7.0
Also:
  - update the HOMEPAGE location
  - refresh patch
  - use 'distutils3' to support python3 -> python2 is now deprecated

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2019-12-31 13:12:48 +00:00
Pierre-Jean Texier
d059288fa0 linux-raspberrypi-rt: bump to revision e2e9cec
This version includes a fix for the USB part.

Fixes:

[    2.988098] CPU: 3 PID: 79 Comm: irq/56-dwc_otg_ Not tainted 4.19.71-rt24 #1
[    2.988102] Hardware name: BCM2835
[    2.988134] [<801120a8>] (unwind_backtrace) from [<8010d260>] (show_stack+0x20/0x24)
[    2.988151] [<8010d260>] (show_stack) from [<8085340c>] (dump_stack+0xbc/0x100)
[    2.988167] [<8085340c>] (dump_stack) from [<80121160>] (__warn.part.0+0xcc/0xe8)
[    2.988182] [<80121160>] (__warn.part.0) from [<80121314>] (warn_slowpath_null+0x54/0x5c)
[    2.988197] [<80121314>] (warn_slowpath_null) from [<8014f120>] (migrate_disable+0x220/0x

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2019-12-24 21:09:51 +00:00
Michael Baisch
ef6555c09a linux-raspberrypi.inc: no longer set CONFIG_LOCALVERSION to empty string
Fixes: #533

Signed-off-by: Michael Baisch <baisch@tau-tec.com>
2019-12-23 14:13:18 +00:00
Leon Anavi
bc7b654fee pi-bluetooth: Runtime depends on udev-rules-rpi
Add udev-rules-rpi as a runtime dependency. It brings udev rules
for creating /dev/serial1. This way hciuart.service, provided by
pi-bluetooth, will be successfully started because it depends
on dev-serial1.device. As a result the Bluetooth module will
be properly attached via UART HCI to BlueZ stack.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2019-12-23 14:12:39 +00:00
Andrei Gherzan
a0a5d3848e linux-raspberrypi: Bump to 4.19 recipe to 4.19.88
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-12-20 19:08:31 +00:00
Andrei Gherzan
655dbf3de8 raspberrypi-firmware: Update to current HEAD
This RaspberryPi firmware update includes a change in the license file
as well[1]. This change is for supporting customisation program.

[1] dd9e9ebb5d

As a result of this change, we update the hash in the bcm2835-bootfiles
recipe as well.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-12-20 19:08:31 +00:00
Francois Retief
3ae288aa38 sdcard_image-rpi.bbclass: Use IMAGE_NAME_SUFFIX variable in SDIMG
Use the IMAGE_NAME_SUFFIX variable to build the SDIMG name. Some layers,
notably meta-mender, change the IMAGE_NAME_SUFFIX variable to something
other that ".rootfs", causing build failures.

Signed-off-by: Francois Retief <fgretief@gmail.com>
2019-12-05 12:45:02 +00:00
Pierre-Jean Texier
ed6b75ba69 pi-blaster: bump to revision befd8ef
Also:
 - remove upstreamed patch.
 - update LIC_FILES_CHKSUM: License in the README was moved a
   couple of lines below

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2019-11-12 17:07:36 +00:00
Pierre-Jean Texier
a430f1e50a wiringpi: remove obsolete files
Since commit e050601 ("wiringpi: Delete"), wiringpi does not
exits anymore.

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2019-11-11 10:55:27 +00:00
Pierre-Jean Texier
8672b8656d raspi-gpio: bump to revision 2eaa8b8
This includes the following changes:

2eaa8b8 Initialise hwbase so that access without /dev/gpiomem works again
f36777c Whitespace tidyup (and re-ran astyle). No functional changes.
80fa7d0 Add support for 2711
bf7f4c8 Reformat with astyle (cosmetic change)
aa55bbd Autoreconf for Buster
5e453d0 raspi-gpio: Fix handling of "funcs" mode

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2019-11-08 11:15:39 +01:00
Andrei Gherzan
b0600bf1ee linux-raspberrypi: Bump to 4.19 recipe to 4.19.81
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-11-08 11:15:04 +01:00
Andrei Gherzan
55b9bd6ef3 linux-firmware-rpidistro: Bump revision
This reverts the last firmware update where enabling WiFi breaks
Bluetooth connectivity[1].

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

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-11-08 11:15:04 +01:00
Andrei Gherzan
b721933013 raspberrypi-tools: Update to current HEAD
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-11-08 11:15:04 +01:00
Andrei Gherzan
7f78604c4c raspberrypi-firmware: Update to current HEAD
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-11-08 11:15:04 +01:00
Andrei Gherzan
018683d24b pi-bluetooth: Update to latest version (0.1.12)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-11-08 11:15:04 +01:00
Paul Barker
254c9366b9 vc-graphics: Clarify license conditions
The license text matches the 'Broadcom-RPi' custom license used in
bcm2835-bootfiles.

Signed-off-by: Paul Barker <paul@betafive.co.uk>
2019-10-24 14:08:16 +01:00
Paul Barker
ae6611ea46 bcm2835-bootfiles: Clarify license conditions
We define a new 'Broadcom-RPi' license and include the full text in our
custom-licenses directory.

Signed-off-by: Paul Barker <paul@betafive.co.uk>
2019-10-24 14:08:16 +01:00
Paul Barker
55d521a888 armstubs: License is BSD-3-Clause
All source files in the armstubs directory have a 3-clause BSD license.
The Makefile doesn't appear to use any files from outside this directory
during the build.

Signed-off-by: Paul Barker <paul@betafive.co.uk>
2019-10-24 14:08:16 +01:00
Paul Barker
a4bbd10d46 licenses: Drop unused Broadcom license file
Signed-off-by: Paul Barker <paul@betafive.co.uk>
2019-10-24 14:08:16 +01:00
Martin Jansa
baba59dc28 linux-raspberrypi=4.19.80 bcm2835-bootfiles=20191021
* Upgrade the kernel to latest with corresponding firmware.

* This VC4 firmware is compatible with network boot described here:
  https://github.com/raspberrypi/rpi-eeprom/blob/master/firmware/raspberry_pi4_network_boot_beta.md

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2019-10-24 14:07:52 +01:00
Patrick Vacek
4776ecc532 u-boot: drop patches for RPi4 merged upstream.
Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
2019-10-23 11:35:53 +01:00
Khan3033
cee2557dc8 linux-raspberrypi: Updating the linux revision to resolve video rendering issue
Signed-off-by: Khan3033 <Riyaz.l@ltts.com>
2019-10-18 09:41:56 +01:00
Khem Raj
95ac7c9c11 omxplayer: Disable on aarch64
It does not build for 64bit, needs porting

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-10-16 15:31:42 +01:00
Vincenzo Pacella
f599fe632e linux-raspberrypi-rt: Update 4.19 recipe to 4.19.71
Signed-off-by: Vincenzo Pacella <shaduz@shaduzlabs.com>
2019-10-15 19:10:32 +01:00
Khem Raj
e050601d86 wiringpi: Delete
It has gone closed source and git tree has disappeared

http://wiringpi.com/wiringpi-deprecated/

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-10-10 22:26:53 +01:00
Florin Sarbu
afc43769e4 linux-firmware-rpidistro_git: Update wifi firmware
This updates brcmfmac43455-sdio.bin to version 7.45.189
and brcmfmac43430-sdio.bin to version 7.45.98.83

This updated upstream firmware also includes the changes from
0001-brcmfmac43455-sdio.txt-Follow-raspbian-change-for-bo.patch
so we remove this patch along with removing the do_clean_pc
function which is not needed anymore since we don't apply
any other patches to the upstream source.

Signed-off-by: Florin Sarbu <florin@balena.io>
2019-10-09 23:16:41 +01:00
Chris Laplante
9a231b5794 sdcard_image-rpi.bbclass: make the dep on rpi-config:do_deploy explicit
Signed-off-by: Chris Laplante <mostthingsweb@gmail.com>
2019-10-09 17:14:23 +01:00
Chris Laplante
787bcf3a0b bcm2835-bootfiles: tighten up dep on rpi-config
Intuitively, bcm2835-bootfiles:do_deploy should depend on rpi-config:do_deploy.
This indirectly resolves a missing dep between rpi-config:do_deploy and
do_image_rpi_sdimg (on an image recipe inheriting from sdcard_image-rpi.bbclass).
This manifested as changes to rpi-config (e.g. setting or unsetting
ENABLE_* variables) not triggering a rebuild of the SD card image.

Signed-off-by: Chris Laplante <mostthingsweb@gmail.com>
2019-10-09 17:14:23 +01:00
Andrei Gherzan
d34e054d51 extra-build-config.md: Document DISABLE_VC4GRAPHICS
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-09-16 14:44:39 +01:00
Andrei Gherzan
7c1d1e1eeb rpi-base.inc: Introduce DISABLE_VC4GRAPHICS
Since we enabled vc4graphics by default[1], there is no easy way to disable
it if needed. This patch introduces a variable (DISABLE_VC4GRAPHICS)
which when set to '1' will not add 'vc4graphics' to MACHINE_FEATURES
forcing the old behaviour.
One could use it in 'local.conf' for example.

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

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

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

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-09-16 14:44:39 +01:00
Timm Eversmeyer
0381ac4d08 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
2019-09-12 12:55:33 +01:00
Bernardo A. Rodrigues
34dab90dfc extra-build-config.md: add RPi 0W to UART section
This makes it clear in the docs that ENABLE_UART can be used both for the RPi 0W or 3.

Signed-off-by: Bernardo A. Rodrigues <bernardaraujor@gmail.com>
2019-09-10 12:01:27 +03:00
Andrei Gherzan
866ccc829f linux-raspberrypi: Update 4.19 recipe to 4.19.71
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-09-09 13:37:58 +03:00
Martin Jansa
81f79f15c3 u-boot-fw-utils: apply the same rpi4 patches as for u-boot recipe
* otherwise u-boot-fw-utils build for rpi4 fails with:
  scripts/kconfig/conf  --defconfig=arch/../configs/rpi_4_defconfig
  Kconfig
  ***
  *** Can't find default configuration "arch/../configs/rpi_4_defconfig"!
  ***
  scripts/kconfig/Makefile:128: recipe for target 'rpi_4_defconfig' failed

* cannot include/require u-boot_2019.07.bbappend directly in
  u-boot-fw-utils_2019.07.bbappend, because then it fails with:
  "u-boot_2019.01.bbappend: not a BitBake file"

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2019-09-09 12:39:19 +03:00
Khem Raj
d1614999e1 eglinfo: Drop bbappend
eglinfo has been removed from OE-Core since aa36510ebe

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-09-04 10:13:28 +03:00
Khem Raj
ed47e37e43 layer.conf: Add zeus to compatible layers
zeus is codename for next 3.0 release

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-09-04 10:13:28 +03:00
Martin Jansa
e811912fae raspberrypi-firmware: upgrade to latest to fix vc4-fkms
* with 4.19.66 kernel the vc4-fkms no longer works, because it doesn't
  get any usable modes from firmware

* this behavior was introduced probably in one of following changes:
  38e81f25e6
  https://github.com/raspberrypi/linux/pull/3082
  https://github.com/raspberrypi/linux/pull/3110
  66bafab005

* without this fix:
root@rpijama:~# cat /proc/device-tree/soc/firmwarekms@7e600000/status
okay

root@rpijama:~# modeprint vc4
Starting test
Resources

count_connectors : 1
count_encoders   : 1
count_crtcs      : 1
count_fbs        : 0

Connector: HDMI-A-1
        id             : 51
        encoder id     : 0
        conn           : connected
        size           : 0x0 (mm)
        count_modes    : 0
        count_props    : 9
        props          : 1 2 5 6 52 53 54 55 56
        count_encoders : 1
        encoders       : 50

Encoder: TMDS
        id     :50
        crtc_id   :0
        type   :2
        possible_crtcs  :0x1
        possible_clones :0x0

Crtc
        id             : 49
        x              : 0
        y              : 0
        width          : 0
        height         : 0
        mode           : 0xfec884
        gamma size     : 0

Ok

* with this fix:

martin@jama ~ $ sshc root@rpijama
Warning: Permanently added 'rpijama,192.168.169.37' (ECDSA) to the list of known hosts.
root@rpijama:~# modeprint vc4
Starting test
Resources

count_connectors : 1
count_encoders   : 1
count_crtcs      : 1
count_fbs        : 0

Connector: HDMI-A-1
        id             : 51
        encoder id     : 50
        conn           : connected
        size           : 1600x900 (mm)
        count_modes    : 22
        count_props    : 9
        props          : 1 2 5 6 52 53 54 55 56
        count_encoders : 1
        encoders       : 50
Mode: "1920x1080" 1920x1080 60
Mode: "1920x1080" 1920x1080 60
Mode: "1920x1080" 1920x1080 50
Mode: "1920x1080" 1920x1080 30
Mode: "1920x1080" 1920x1080 30
Mode: "1920x1080" 1920x1080 25
Mode: "1920x1080" 1920x1080 24
Mode: "1920x1080" 1920x1080 24
Mode: "1280x1024" 1280x1024 60
Mode: "1360x768" 1360x768 60
Mode: "1152x864" 1152x864 60
Mode: "1280x720" 1280x720 60
Mode: "1280x720" 1280x720 60
Mode: "1280x720" 1280x720 50
Mode: "1024x768" 1024x768 60
Mode: "800x600" 800x600 60
Mode: "720x576" 720x576 50
Mode: "720x480" 720x480 60
Mode: "720x480" 720x480 60
Mode: "640x480" 640x480 60
Mode: "640x480" 640x480 60
Mode: "720x400" 720x400 70

Encoder: TMDS
        id     :50
        crtc_id   :49
        type   :2
        possible_crtcs  :0x1
        possible_clones :0x0

Crtc
        id             : 49
        x              : 0
        y              : 0
        width          : 1920
        height         : 1080
        mode           : 0x1fcde54
        gamma size     : 0

Ok

* tested on raspberrypi3 B
  weston works fine
  qtbase-examples tested with:
  /usr/share/examples/opengl/cube/cube -platform eglfs

* the same issue is now in warrior, after someone tests on raspberrypi4
  it would be good to backport this to warrior as well

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2019-08-28 20:09:48 +01:00
Khem Raj
aa4222a446 bpftool: Enable for rpi since default kernel is > 4.14 now
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-08-28 20:08:55 +01:00
Khem Raj
d7cd633b75 mesa: Enable vc4, v3d, kmsro gallium drivers
This enables new v3d driver which needs kmsro as dependency

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-08-28 20:08:55 +01:00
Francesco Giancane
e52158c936 linux-raspberrypi-rt: update to latest commit for 4.14 series
Update linux kernel 4.14 series recipe for building with latest -rt
branch.
This fixes #474.

Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
2019-08-22 14:29:07 +01:00
Vincenzo Pacella
2634621374 linux-raspberrypi: add linux-raspberrypi-rt 4.19
add rt kernel recipe for version 4.19

Signed-off-by: Vincenzo Pacella <shaduz@shaduzlabs.com>
2019-08-18 11:22:41 +01:00
Francesco Giancane
b112816e95 linux-raspberrypi: update to 4.14.114
Kernel 4.19.y and above was patched to rename the Raspberry Pi Zero W dts.
Unfortunately, this modification was not propagated to previous kernels,
especially on the 4.14.y series which is still supported in this layer.

Thus, kernel 4.14.y would not build because correct .dts file is not found.

The aforementioned modification was merged as backport back in 4.14.y series.
Updating to the latest commit fixes the issue.

Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
2019-08-15 17:30:29 +01:00
Andrei Gherzan
8106df150d raspberrypi4-64: Remove the 3G RAM limitation
The PCIe bounce buffers were ported[1] in the kernel so we can remove
this limitation now.

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

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-08-15 16:50:50 +01:00
Andrei Gherzan
c6e0a7e467 mesa: Add v3d and kmsro driver as well
Videocore 5/6 support was added as a separate driver in mesa: v3d. Enable
this so we can have it available for Raspberry Pi 4. Also, this driver
depends on kmsro.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-08-15 16:50:50 +01:00
Andrei Gherzan
557ea4737e linux-raspberrypi: Update 4.19 recipe to 4.19.66
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-08-15 16:50:50 +01:00
Andrei Gherzan
42c02d063a raspberrypi-firmware.inc: Update to 20190718
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-08-15 16:50:50 +01:00
Khem Raj
be0e3df5cf python-rtimu,python-sense-hat: Convert to py3 modules
py2 is on its way out from oe-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-08-14 13:55:08 +02:00
Kirill Goncharov
c29c821c37 omxplayer: Bump revision
Bump revision to fix playback errors on RPi 4 (https://github.com/popcornmix/omxplayer/issues/733)
and update patches accordingly.
Update the license hash because of the change in FSF mailing address.

Signed-off-by: Kirill Goncharov <kdgoncharov@gmail.com>
2019-08-12 15:41:09 +02:00
Martin Jansa
9d0935c9bb sdcard_image-rpi.bbclass: use -v for all mcopy calls and add bbfatal in case mcopy fails
* I have this in our layer for some time:
  RPI_KERNEL_DEVICETREE_OVERLAYS_append = " overlays/vc4-fkms-v3d.dtbo"
  because we're using vc4graphics also on raspberrypi3 and it was
  working fine until recently.

* now the default rpi-base.inc in warrior and master branch includes the same since:
  37aa050d5a
  and do_image_rpi_sdimg started failing with a bit useless log:
  ...
  Partition Table: msdos
  Disk Flags:

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

  mkfs.fat: warning - lowercase labels might not work properly with DOS or
  Windows
  mkfs.fat 4.1 (2017-01-24)
  WARNING: exit code 1 from a shell command.

* after adding -v to mcopy calls I got slightly better log:
  ...
  Copying w1-gpio-pullup.dtbo
  Copying w1-gpio.dtbo
  WARNING: exit code 1 from a shell command.

* the issue is that mcopy behavior in non-interactive shell is to fail
  when the target file already exists (sometimes it seems to cause mcopy
  to hang forever), but when you execute the run.do_image_rpi_sdimg
  script manually in interactive shell it will nicely show this prompt
  on stderr:
  $ dtb=vc4-fkms-v3d.dtbo recipe-sysroot-native/usr/bin/mcopy  -i boot.img -s BUILD/deploy/images/raspberrypi3/$dtb ::overlays/$dtb
    Long file name "vc4-fkms-v3d.dtbo" already exists.
    a)utorename A)utorename-all r)ename R)ename-all o)verwrite O)verwrite-all
    s)kip S)kip-all q)uit (aArRoOsSq): o

* with the bbfatal the log is finally a bit more useful:
  ...
  Copying w1-gpio-pullup.dtbo
  Copying w1-gpio.dtbo
  ERROR: mcopy cannot copy TOPDIR/BUILD/deploy/images/raspberrypi3/vc4-fkms-v3d.dtbo into boot.img
  WARNING: exit code 1 from a shell command.

* the only exception is FATPAYLOAD where it was ignoring mcopy with || true
  before, I've added bbwarn, because even issues like mentioned there
  "vfat issues like not supporting .~lock files" are probably worth
  reporting as warning (why would people add .~lock to FATPAYLOAD if
  it cannot be copied into boot.img)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2019-08-06 14:18:54 +01:00
Khem Raj
55345dfd41 xorg-xserver: Adapt bbappend to latest OE-core
There is no need to override complete packageconfig but just the openGL
part, this ensures that any common change in oe-core reflects for rpi as
well and does not cause the packageconfigs to go stale

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-08-06 12:12:13 +01:00
Khem Raj
414831c102 packagegroup-rpi-test: Depend on wireless-regdb instead of crda
this should bring in crda if needed

Fixes issue #456

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-07-30 16:47:13 +01:00
Khem Raj
62f5cd7de2 drbd: Disable for rpi machines
Its enabled in linux-raspberrypi modules in defconfig
so we can ignore external driver for now, fixes

ERROR: linux-raspberrypi-1_4.19.58+gitAUTOINC+d5dc848c98-r0 do_packagedata_setscene: The recipe linux-raspberrypi is trying to install files into a shared area when those files already exist. Those files and their manifest location are:
  /mnt/a/yoe/build/tmp/pkgdata/raspberrypi3-64/runtime/kernel-module-drbd-4.19.58.packaged
    (matched in manifest-raspberrypi3_64-drbd.packagedata)
  /mnt/a/yoe/build/tmp/pkgdata/raspberrypi3-64/runtime/kernel-module-drbd-4.19.58
    (matched in manifest-raspberrypi3_64-drbd.packagedata)
Please verify which recipe should provide the above files.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-07-28 21:51:16 +01:00
Khem Raj
37faf7553f layer.conf: Add meta-networking to dynamic layers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-07-28 21:51:16 +01:00
Khem Raj
18544d4471 webkitgtk: Remove -DUSE_GSTREAMER_GL=OFF for vc4graphics
This is no longer needed, on the contrary is fails the build for
webkitgtk

Fixes
webkitgtk-2.24.2/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:1007:33: error: use of undeclared identifier 'TEXTURE_MAPPER_COLOR_CONVERT_FLAG'
|         m_textureMapperFlags |= TEXTURE_MAPPER_COLOR_CONVERT_FLAG;
|                                 ^

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-07-28 21:51:16 +01:00
Khem Raj
e237a18d94 userland: Upgrade to latest
Fix build with glibc 2.30
Forward patches to 20190724 release

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-07-28 21:51:16 +01:00
Andrei Gherzan
6c175288cc README.md: Use matrix chat room
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-25 14:07:24 +01:00
Andrei Gherzan
fafad9b025 raspberrypi4-64.conf: Limit RAM to 3G
The PCI controller on the Raspberry Pi 4 acts as a DMA controller and can
only address the first 3Gb[1] of the memory space. On 32bit this was
addressed by implementing bouncing buffers[2] but this currently has no
support for arm64. In order to have working USB, as a workaround, we
limit the ram to 3G.

Fixes #446

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

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-25 13:27:52 +01:00
Andrei Gherzan
0d641c8fa9 raspberrypi*: Define ARMSTUB for all machines
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-19 20:05:53 +01:00
Andrei Gherzan
c99fe712d6 armstubs: Error out when ARMSTUBS is not defined
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-19 20:05:53 +01:00
Andrei Gherzan
6c07f239fa sdcard_image-rpi: Check for armstub based on machine feature
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-19 20:05:53 +01:00
Andrei Gherzan
b4ab8cd5d1 rpi-config: Check for armstub based on machine feature
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-19 20:05:53 +01:00
Andrei Gherzan
9381de8f91 u-boot: Update patches for RPi4
After a review in upstream, some of the patches were modified. Most
notable changes:
1. use directly the dtb passed by the firmware and make sure uboot
doesn't tweak memory/reg
2. remove known unimplemented support (usb, eth etc.)
3. drop patches that are not needed anymore with the new firmware update
(for example 0012-bcm283x-mbox-Correctly-wait-for-space-to-send.patch)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-19 19:36:11 +01:00
Riyaz
03488c6159 rpi-base.inc: Enabling open-source vc4graphics driver for all RPI platforms
Vc4graphics enables drm backend on wayland Compositor (weston & westeros)
Appending vc4graphics machine feature to use mesa drivers for OpenGL and
V4l2 for video.

Signed-off-by: Riyaz <Riyaz.l@ltts.com>
2019-07-18 17:00:07 +01:00
Andrei Gherzan
c33649a678 u-boot: Replace custom fork by patches
The upstream branch might suffer rebases due to effort of pushing the
patches upstream. To avoid issues, let's have here the patches we need
for RPi 4 support.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-18 17:00:07 +01:00
Carton
e4936f361b rpi-config: Check some config values against "1"
When we read the docs, we have the feelings that theses variables are
boolean ones. So I was setting, for example in my distro.conf file the
variable ' ENABLE_I2C = "1" ' to enable I2C. Then I wanted to disable it
by simply setting 'ENABLE_I2C' to "0" but it wasn't working. So I
noticed that, for example, ' ENABLE_UART ' was checked with ' = "1" '
condition and some other "boolean" was checked against ' -n ' like for
ENABLE_I2C.

This commit tries to have an uniform behavior for all variables that are
shown in the doc under the format ' VARIABLE = "1" ' to enable them and
the reader can think they are kind of 'boolean' values.

Signed-off-by: Joël Carron <joel.carron@eeproperty.ch>
2019-07-18 17:19:06 +01:00
Carton
c49d09c725 bluez5: Fixed typo (RC_URI -> SRC_URI)
Signed-off-by: Joël Carron <joel.carron@eeproperty.ch>
2019-07-18 17:00:07 +01:00
Andrei Gherzan
d44c0c3f19 raspberrypi4-64.conf: Remove memory limitation
We can do this because the kernel now includes a workaround for the DMA
issue.
https://github.com/raspberrypi/linux/pull/3080

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-18 13:27:34 +01:00
Andrei Gherzan
9728806fe5 linux-raspberrypi: Bump 4.19 revision
This version includes a workaround for the usable DMA memory. It limits
the DMA to the first 1G.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-18 13:27:34 +01:00
Andrei Gherzan
1e329d36c9 linux-raspberrypi: Build dtbs with dtbs make target for all 64bit targets
We already do this for rpi3-64 and we will need it for rpi4-64 as well.
See 6c4de0b5fe for more details.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-16 13:39:01 +01:00
Andrei Gherzan
9966bdcfe6 linux-raspberrypi: Bump 4.19 to 4.19.58
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-16 13:38:41 +01:00
Andrei Gherzan
982a81e4b8 raspberrypi4.conf: The firmware uses kernel7l.img when LPAE is supported
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-16 13:38:41 +01:00
Andrei Gherzan
ae7aba5ed1 raspberrypi-firmware: Update to 20190709
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-16 13:38:41 +01:00
Andrei Gherzan
1c06e2b417 u-boot: Use a temporary fork for RPi4 support
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-16 13:38:41 +01:00
Andrei Gherzan
69da331154 raspberrypi4-64.conf: Uboot configuration and drop armstub
We drop armstub configuration because the new firmware includes them.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-16 13:38:41 +01:00
Andrei Gherzan
15a4849b2c raspberrypi4.conf: Define uboot defconfig
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-16 13:38:41 +01:00
Andrei Gherzan
2a9cedc2f6 linux-raspberrypi: Bump 4.19.57 revision
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-16 13:38:41 +01:00
Khem Raj
8940137498 linux-raspberrypi: Upgrade to 4.19.57
Fixes vc4 graphics issues seen with 4.19.56
Add -@ to device tree flags so we can debug/dump the
dtb with symbols, helps in debugging the overlays

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-07-11 14:34:44 +01:00
Andrei Gherzan
8d5fc54f41 sdcard_image-rpi.bbclass: Use armstub machine feature
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan
a6e14fb195 raspberrypi4-64.conf: Define a machine feature for armstubs
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan
da9b5b8285 linux-raspberrypi: Bump 4.19 revision to have proper coherent_pool set
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan
53fc99a80b sdcard_image-rpi.bbclass: Fix typo
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan
f027daf51d linux-raspberrypi.inc: Explicitly set defconfig for raspberrypi4-64
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan
62ff6dcd57 linux-raspberrypi: Fix defconfig for RPi4-64
emmc dt node uses iproc sdhci driver. Make sure it is enabled.
https://github.com/raspberrypi/linux/pull/3045

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan
1f8296c37b raspberrypi-tools: Update to remove Makefile patch
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan
7a35ad9826 raspberrypi4-64.conf: Initial machine configuration
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan
24a77246ac sdcard_image-rpi.bbclass: Include in the SD card image the armstub file
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan
d6999eb06f rpi-config: Handle ARMSTUB
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan
9d0348874a armstubs: Add support for compiling ARM stubs
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan
2e45813a6b firmware: Rename firmware inc file to raspberrypi-firmware.inc
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan
08b5a29028 raspberrypi4-64.conf: Introduce RPi arm64 machine
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan
8e346a9bf9 linux-raspberrypi: Bump 4.19 revision to fix RPi 4 arm64 builds
See:
9d1deec93f
https://github.com/raspberrypi/linux/issues/3024
https://github.com/raspberrypi/linux/pull/3030

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan
bc90c9a569 raspberrypi4: Use vc4-fkms-v3d
Currently, we use vc4-kms-v3d as the default overlay for VC4 but this
seems to break vc4 at runtime on RPi4. Change this to vc4-fkms-v3d for
now as this is the default Raspbian ons as well.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-06-30 16:14:31 +01:00
Andrei Gherzan
11f4377629 rpi-base.inc: Include the "fake" KMS dtbo
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-06-30 16:14:31 +01:00
Andrei Gherzan
063196ec9b linux-firmware-rpidistro: Fix WiFi on RaspberryPi 4
The official Raspbian with RPi4 support has an additional change for the
NVRAM WiFi configuration: boardflags3 value is changed from "0x48200100"
to "0x44200100". Without this change the interface never comes up. It is
confusing because the deb changelog doesn't say anything about it and
the repository upstream doesn't have this change. Asked for more info
here:
https://github.com/RPi-Distro/firmware-nonfree/issues/3

In the meanwhile we import this change. Also, we remove the .pc directory
which confuses the patch step.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-06-30 16:14:31 +01:00
Andrei Gherzan
0953da75c2 raspberrypi4.conf: Add initial machine 32 bit configuration
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-06-30 16:14:31 +01:00
Andrei Gherzan
1ca7931fb0 firmware: Update to 20190620
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-06-30 16:14:31 +01:00
Andrei Gherzan
e472f28af5 rpi-base: Rename the rpi0w dtb
This change is following the rename in the kernel:

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

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-06-30 16:14:31 +01:00
Andrei Gherzan
bb366e8b4e linux-raspberrypi: Update 4.19 kernel to 4.19.56
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-06-30 16:14:31 +01:00
Andrei Gherzan
dbe5c91cb2 linux-raspberrypi: Include configuration for RaspberryPi3 defconfig
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-06-30 16:14:31 +01:00
Andrei Gherzan
e3aa98a0ce raspberrypi3.conf: Clarify machine mode
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-06-30 16:14:31 +01:00
Andrei Gherzan
863ed37bb6 rpi-base.inc: Include rpi4 dtb
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-06-30 16:14:31 +01:00
dir
8636b63752 vc-graphics: Don't install sbin directory
Newer versions of the PI firmware don't contain a sbin directory
anymore. This patch removes the then failing attempt at installing.

Signed-off-by: Diez Roggisch <diez.roggisch@ableton.com>
2019-06-24 18:10:14 +01:00
Martin Schuessler
ca11a291ee omxplayer: remove hardcoded tune and arch from Makefile
Fixes: #428

Signed-off-by: Martin Schuessler <tossprobe@gmail.com>
2019-06-20 21:52:46 +01:00
malus-brandywine
40283f583b sdcard_image-rpi : minor bug in use of FATPAYLOAD
Double quotation marks were added around FATPAYLOAD to prevent parsing error when FATPAYLOAD contains list of file names

Signed-off-by: Nataliya Korovkina <malus.brandywine@gmail.com>
2019-06-13 16:43:20 +01:00
Khem Raj
920822c0fb firmware: Update 20190220 -> 20190517
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-05-29 12:08:38 +01:00
Khem Raj
041cdd8040 userland: Update to 20190501
Forward port the patches as needed

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-05-29 12:08:38 +01:00
Khem Raj
aaa0d0b708 rpi-default-versions: Switch defaults to 4.19
4.19 is now declared stable, see
https://github.com/raspberrypi/linux/issues/2931#issuecomment-494016355

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-05-29 12:08:38 +01:00
Khem Raj
0e079f3097 linux-raspberrypi_4.19.bb: Update to 4.19.44
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-05-29 12:08:38 +01:00
Andrei Gherzan
36c3c2e7ca gstreamer1.0-omx: Forward port bbappend and patches to v1.16.x
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-05-28 21:05:58 +01:00
Gianluigi Tiesi
7059c37451 psplash: Raise alternatives priority to 200
Alternatives priority of psplash in poky is now 100,
so we need something higher (fixes #381).

Signed-off-by: Gianluigi Tiesi <sherpya@netfarm.it>
2019-04-24 13:13:37 +01:00
Paul Barker
1de713eec3 linux-raspberrypi 4.9: Drop old version
The rpi-4.9.y branch has not been updated since July 2018.

Signed-off-by: Paul Barker <paul@betafive.co.uk>
2019-04-24 13:13:21 +01:00
Paul Barker
348d572a6b linux-raspberrypi: Switch default back to 4.14.y
The 4.19.y kernel is not yet considered stable upstream as discussed in
the following GitHub issues:

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

Signed-off-by: Paul Barker <paul@betafive.co.uk>
2019-04-24 13:13:21 +01:00
Paul Barker
047808065c linux-raspberrypi: Update 4.14.y kernel
Signed-off-by: Paul Barker <paul@betafive.co.uk>
2019-04-24 13:13:21 +01:00
Martin Jansa
8eeb579c55 userland: use default PACKAGE_ARCH
* drop MACHINE_ARCH which was added in:
  592274937b
* the recipe is using MACHINE_FEATURES but if everybody either enables or disables vc4graphics
  for all rpi MACHINEs it isn't causing it to be MACHINE_ARCH any more than all other rpi
  overrides used in this layer.
* raspberrypi3-64 is the only one with vc4graphics by default, but it
  has different TUNE_PKGARCH than other rpi MACHINEs). Unfortunately not
  without its own set of issues:
  http://lists.openembedded.org/pipermail/openembedded-core/2019-April/281328.html
* fixes userland and everything which depends on it (qtbase, qtwebengine..)
  to be effectivelly MACHINE_ARCH

  === Comparing signatures for task do_package_write_ipk.sigdata between raspberrypi2 and raspberrypi3 ===
  ERROR: qtbase different signature for task do_package_write_ipk.sigdata between raspberrypi2 and raspberrypi3
  NOTE: Starting bitbake server...
  Hash for dependent task userland/userland_git.bb.do_packagedata changed from dcfe9e7982ce1e231f06293c1e568d77384f167358fe88debe761290483244a0 to baa4d4164b0045f46c966e773cfeeed87f2c491c3dbd368af7cf4cd63ce39177
  Unable to find matching sigdata for /OE/build/luneos-master/webos-ports/meta-raspberrypi/recipes-graphics/userland/userland_git.bb.do_packagedata with hashes dcfe9e7982ce1e231f06293c1e568d77384f167358fe88debe761290483244a0 or baa4d4164b0045f46c966e773cfeeed87f2c491c3dbd368af7cf4cd63ce39177

  ERROR: 1 errors found in /OE/build/luneos-master/webos-ports/tmp-glibc/sstate-diff/1555500556/signatures.raspberrypi3.do_package_write_ipk.sigdata.log

  bitbake-diffsigs tmp-glibc/sstate-diff/1555495762/r*/*/userland/do_fetch
  NOTE: Starting bitbake server...
  basehash changed from d767ab01261472a220e0ec80b01bc33e60764d56b5880ab3153afd42ea734703 to e57e594d7e4219f22778ccc5d8c102deeeaff64586e0f71cd90964fa2ace4e1c
  Variable MACHINE value changed from 'raspberrypi2' to 'raspberrypi3'

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2019-04-18 10:56:46 +01:00
Martin Jansa
7ef5042001 bluez5: apply the same patches and pi-bluetooth dependency for all rpi MACHINEs
* otherwise e.g. raspberrypi2 and raspberrypi3 have bluez5 and
  everything which depends on it (e.g. libpcap, ppp, connman, ..)
  effectively MACHINE_ARCH.

bitbake-diffsigs tmp-glibc/sstate-diff/1555265356/ra*/*/bluez5/*do_fetch*
NOTE: Starting bitbake server...
Task dependencies changed from:
['ABIEXTENSION', 'ARMPKGARCH', 'ARMPKGARCH_tune-cortexa7thf-neon-vfpv4', 'ARMPKGSFX_DSP', 'ARMPKGSFX_EABI', 'ARMPKGSFX_ENDIAN', 'ARMPKGSFX_FPU', 'ARMPKGSFX_THUMB', 'ARM_INSTRUCTION_SET', 'ARM_M_OPT', 'ARM_THUMB_OPT', 'ARM_THUMB_SUFFIX', 'DEFAULTTUNE', 'EXTENDPE', 'LIBCEXTENSION', 'MULTIMACH_TARGET_SYS', 'PACKAGE_ARCH', 'PE', 'PN', 'PR', 'PV', 'SRCREV', 'SRC_URI', 'SRC_URI[md5sum]', 'SRC_URI[sha256sum]', 'STAMP', 'TARGET_OS', 'TARGET_VENDOR', 'TUNE_CCARGS_MFLOAT', 'TUNE_CCARGS_MFPU', 'TUNE_FEATURES', 'TUNE_FEATURES_tune-cortexa7', 'TUNE_FEATURES_tune-cortexa7-neon', 'TUNE_FEATURES_tune-cortexa7-neon-vfpv4', 'TUNE_FEATURES_tune-cortexa7t-neon-vfpv4', 'TUNE_FEATURES_tune-cortexa7thf-neon-vfpv4', 'TUNE_PKGARCH', 'base_do_fetch', 'clean_recipe_sysroot']
to:
['ABIEXTENSION', 'ARMPKGARCH', 'ARMPKGARCH_tune-cortexa7thf-neon-vfpv4', 'ARMPKGSFX_DSP', 'ARMPKGSFX_EABI', 'ARMPKGSFX_ENDIAN', 'ARMPKGSFX_FPU', 'ARMPKGSFX_THUMB', 'ARM_INSTRUCTION_SET', 'ARM_M_OPT', 'ARM_THUMB_OPT', 'ARM_THUMB_SUFFIX', 'BCM_BT_SOURCES', 'DEFAULTTUNE', 'EXTENDPE', 'LIBCEXTENSION', 'MULTIMACH_TARGET_SYS', 'PACKAGE_ARCH', 'PE', 'PN', 'PR', 'PV', 'SRCREV', 'SRC_URI', 'SRC_URI[md5sum]', 'SRC_URI[sha256sum]', 'STAMP', 'TARGET_OS', 'TARGET_VENDOR', 'TUNE_CCARGS_MFLOAT', 'TUNE_CCARGS_MFPU', 'TUNE_FEATURES', 'TUNE_FEATURES_tune-cortexa7', 'TUNE_FEATURES_tune-cortexa7-neon', 'TUNE_FEATURES_tune-cortexa7-neon-vfpv4', 'TUNE_FEATURES_tune-cortexa7t-neon-vfpv4', 'TUNE_FEATURES_tune-cortexa7thf-neon-vfpv4', 'TUNE_PKGARCH', 'base_do_fetch', 'clean_recipe_sysroot']
basehash changed from 64b667d84518033856312563af69f9153d8af50dc39c75386ebfbb21fc221a56 to 1b061d52d03831d80866fa7374df99c42db7851e6f259b7a33e3b05f537dd9aa
List of dependencies for variable SRC_URI changed from '{'SRC_URI[sha256sum]', 'SRC_URI[md5sum]', 'PV'}' to '{'SRC_URI[sha256sum]', 'SRC_URI[md5sum]', 'BCM_BT_SOURCES', 'PV'}'
changed items: {'BCM_BT_SOURCES'}
Dependency on variable BCM_BT_SOURCES was added
Variable SRC_URI value changed:
@@ -1,2 +1,2 @@
-    ${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz     file://out-of-tree.patch     file://init     file://run-ptest     ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'file://0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch', d)}     file://0001-tests-add-a-target-for-building-tests-without-runnin.patch     file://0001-test-gatt-Fix-hung-issue.patch     file://0001-Makefile.am-Fix-a-race-issue-for-tools.patch     file://CVE-2018-10910.patch      file://0001-Case-insensitive-firmware-name.patch
+    ${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz     file://out-of-tree.patch     file://init     file://run-ptest     ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'file://0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch', d)}     file://0001-tests-add-a-target-for-building-tests-without-runnin.patch     file://0001-test-gatt-Fix-hung-issue.patch     file://0001-Makefile.am-Fix-a-race-issue-for-tools.patch     file://CVE-2018-10910.patch  ${BCM_BT_SOURCES}     file://0001-Case-insensitive-firmware-name.patch
 DISTRO_FEATURES{systemd} = Set
Dependency on checksum of file 0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch was added
Dependency on checksum of file 0001-bcm43xx-Add-bcm43xx-3wire-variant.patch was added
Dependency on checksum of file 0004-Move-the-43xx-firmware-into-lib-firmware.patch was added
Dependency on checksum of file 0003-Increase-firmware-load-timeout-to-30s.patch was added

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2019-04-18 10:56:46 +01:00
Francesco Giancane
2e59929402 qtbase_%.bbappend: update PACKAGECONFIG name for xkbcommon
As per [Qt 5.12.2 commit update](28d4bfdf74), xkbcommon-evdev PACKAGECONFIG option has been renamed to xkbcommon.

This commit fixes BitBake QA:
WARNING: qtbase-5.12.2+gitAUTOINC+856fb1ab44-r0 do_configure: QA Issue: qtbase: invalid PACKAGECONFIG: xkbcommon-evdev [invalid-packageconfig]
2019-04-17 10:12:42 +01:00
Martin Jansa
6745beb7b1 linux_raspberrypi_4.19: Update to 4.19.34
* The branch rpi-4.19.y (and rpi-4.18.y) was recently force pushed and
  current d65a0f76d3adcf86a6f5c614c68edb3aeb3b8590 nor previous
  3c468fc8191d276e3e9efd976a0ff71271f3fc51 aren't included in any
  branch, from my local checkout update:

  e24b1f6c0c79..5f4b16e4a8d6 rpi-4.14.y -> up/rpi-4.14.y
  e54efc381a97..22bb67b8e2e8 rpi-4.14.y-rt -> up/rpi-4.14.y-rt
  3a1a31d70660...d58c595b013f rpi-4.18.y -> up/rpi-4.18.y (forced update)
  48dfbb408fdd...ab8652c03fa0 rpi-4.19.y -> up/rpi-4.19.y (forced update)
  [new branch] rpi-4.20.y -> up/rpi-4.20.y
  [new branch] rpi-5.0.y -> up/rpi-5.0.y

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2019-04-16 14:49:59 +01:00
Peter A. Bigot
9ceb84ee9e linux_raspberrypi_4.19: Update to 4.19.32
The rpi-4.19.y branch has been rebased and the commit specified for
4.19.30 no longer exists upstream.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2019-04-07 08:12:53 +09:00
Khem Raj
490a4441ac layer.conf: Add warrior to compatible release series
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-04-05 11:21:49 +09:00
Khem Raj
7af614b2ee linux-raspberrypi_4.19: Bump to 4.19.30
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-03-24 04:24:14 +00:00
Khem Raj
2586881ce6 linux-kernel: Upgrade to 4.9.29
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-03-21 17:01:15 +00:00
Khem Raj
1b990fb8e2 linux-raspberrypi_4.19.bb: Upgrade to 4.19.25
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-03-08 10:36:45 +00:00
Khem Raj
7cfb0e8928 linux-raspberrypi_4.19.bb: Update to 4.19.25
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-03-05 12:19:25 +00:00
Khem Raj
9a7b5c9ad4 qtbase: Enabel gbm always and add userland to depends
When using userland graphics, we need to install both userland and
mesa-gl to complete the stack needed to build wayland support

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-03-05 12:19:25 +00:00
Khem Raj
7e5fb3fca8 mesa-gl: Delete only KHR/khrplatform.h
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-03-05 12:19:25 +00:00
Khem Raj
c7e7f0b762 cairo: Enable egl/gles2 with userland
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-03-05 12:19:25 +00:00
Khem Raj
60dbfd2544 userland: Upgrade to latest as of 20190114
Forward port the patches
package vcfiled init scripts

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-24 11:07:36 +00:00
Khem Raj
a6c81aa527 firmware: Update to latest as of 20190220
Needed for 4.19 kernel

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-24 11:07:36 +00:00
Khem Raj
6a3dc071cd machines: Switch default kernel to 4.19
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-24 11:07:36 +00:00
Khem Raj
606675f4e8 linux-raspberrypi: Add recipe for 4.19 kernel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-24 11:07:36 +00:00
Khem Raj
ec5f7981e6 linux-raspberrypi-dev: Switch to 4.19 kernel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-24 11:07:36 +00:00
Khem Raj
99e6700784 dtbo: Remove lirc-rpi overlay
kernel 4.19 does not have this overlay

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-24 11:07:36 +00:00
Khem Raj
52d0031c57 mesa-gl: Provide virtual/libgbm
We specificially enable building libgbm via packageconfig but then the
PROVIDES is hardcoded in main recipes, we make that change here so when
using userland as graphics driver, we can build wayland apps

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-24 11:04:38 +00:00
Khem Raj
2c8b2f6c6b mesa-gl: Let userland provide libEGL and GLESv2 when vc4 graphics is not used
When vc4graphics is not used then useland graphics provides these
libraries

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-24 11:04:38 +00:00
Andrei Gherzan
09c00164d6 docs/layer-contents.md: raspberrypi-cm3 is a stand alone machine now
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-02-19 17:02:19 +00:00
Andrei Gherzan
5af10f56d5 raspberrypi-cm3.conf: Define it as a stand alone machine
As well, define the correct configuration for this machine.

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

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-02-19 17:02:19 +00:00
ErikHH
b2dac7379b wiringpi: Set major version
To fix the behaviour described in
https://github.com/agherzan/meta-raspberrypi/issues/362

Signed-off-by: ErikHH <erik.hoogeveen@outlook.com>
2019-02-19 14:17:12 +00:00
Richard Osterloh
ba54962bce sdcard_image-rpi: Format boot partition as FAT32
Closes: #382

Signed-off-by: Richard Osterloh <richard.osterloh@gmail.com>
2019-02-19 13:41:28 +00:00
memox_5
6305aa7b69 rpi-config: used printf to escape properly
Used printf command because on some systems bash doesn't escape
sequences consistently.

Signed-off-by: memox5 <memox_5@yahoo.com>
2019-02-15 17:17:57 +00:00
Zahari Petkov
cbc7bee292 firmware.inc: Update to 20190212
Signed-off-by: Zahari Petkov <zahari@balena.io>
2019-02-14 16:50:58 +00:00
Zahari Petkov
0a042bc24a linux-raspberrypi: Update to 4.14.98
Signed-off-by: Zahari Petkov <zahari@balena.io>
2019-02-14 16:50:58 +00:00
Ricardo Salveti
592b4779ac bluez-firmware-rpidistro: update bluez-firmware
Latest bluez-firmware release updates BCM4345C0.hcd to
003.001.025.0156.0280, restoring LE scan capability.

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
2019-02-12 12:37:09 +00:00
Marek Belisko
89bc575bf2 devtools: Added raspi-gpio
Added handy tool which can be used to trace down how gpio on RPI are
configured + add possibility to update.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2019-02-08 14:06:34 +00:00
Khem Raj
9cc89cb734 raspberrypi3-64.conf: Use more appropriate tune
rpi3 is based on cortex-a53 implementation which is armv8+crc+simd
now that OE-Core has the appropriate tunes, switch to using the new
tune file, bonus, is that chromium will be more optimized now

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-07 12:24:51 +00:00
Khem Raj
74087f84ce bpftool: Move under meta-oe dynamic layer
This helps to ignore dangling bbappend when meta-oe is not included in
layer mix

Fixes #366

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-01-17 01:46:57 +00:00
Phong Tran
ff04567064 linux-raspberrypi: add linux-raspberrypi-rt 4.14
select the rt kernel by adding in local.conf:

PREFERRED_PROVIDER_virtual/kernel = "linux-raspberrypi-rt"

Signed-off-by: Phong Tran <tranmanphong@gmail.com>
2019-01-01 15:43:32 +00:00
Khem Raj
8a2d0807f9 layer.conf: Fix typo for openembedded-layer dynamic layer addition
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-12-20 11:31:40 +00:00
Khem Raj
752db52633 userland: Use original name libegl-mesa in rdeps
This avoids a missing rdep errors seen sometimes when switching
compilers or graphic driver providers

ERROR: userland-20181120-r0 do_package_qa: QA Issue: /usr/lib/libWFC.so contained in package userland requires li bEGL.so.1, but no providers found in RDEPENDS_userland? [file-rdeps]

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

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
2018-12-18 11:48:39 +00:00
Ming Liu
785e52bfad userland: do not provide libgl1
The userland should only provide egl libraries rather than gl libraries,
or else it will cause conflicts with other libgl providers like mesa.

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
2018-12-18 11:48:39 +00:00
Pepijn de Vos
1aa973ce38 linux-raspberrypi: Update to 4.14.87
To match 20181211 firmware

Signed-off-by: Pepijn de Vos <pepijndevos@gmail.com>
2018-12-15 12:34:29 +00:00
Pepijn de Vos
ef84874a05 firmware.inc: Update to 20181211
This fixes raspberrypi/firmware#1051

Signed-off-by: Pepijn de Vos <pepijndevos@gmail.com>
2018-12-15 12:34:29 +00:00
Hugo Hromic
481285982b docs: improve the contributing section
* Rephrased some paragraphs
* Better organised the section itself
* Added guideline and formatting examples for commit log messages

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-12-15 12:33:20 +00:00
Khem Raj
05c00c0e4f qtbase: Get eglfs/kms working with vc4graphics
- Drop enabling linuxfb, now we can get eglfs going
- Enable kms and gbm feature when using vc4graphics driver
- No need to set OE_QTBASE_EGLFS_DEVICE_INTEGRATION when using vc4graphics

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-12-14 08:47:20 +00:00
Fabien Lahoudere
12e61faf30 Add Pican2 support
In order to make Pican 2 work, we :
- add mcp2515.dto to the overlay list
- add a variable to enable it in local.conf
- create a udev rule to mount interface

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

Signed-off-by: Fabien Lahoudere <fabien.lahoudere@collabora.com>
2018-12-12 16:24:17 +00:00
Iurii Lunev
1803681e84 extra-build-config.md: Update docs as per SDIMG_COMPRESSION removal
Using SDIMG_COMPRESSION variable to choose compression type for
produced images is deprecated. IMAGE_FSTYPES should be used instead.
This patch removes any reference to SDIMG_COMPRESSION variable
within the build documentation.

Signed-off-by: Iurii Lunev <koolkhel@mail.ru>
2018-12-12 16:23:32 +00:00
Iurii Lunev
7f10b74dc8 sdcard_image-rpi.bbclass: Remove SDIMG_COMPRESSION
Using SDIMG_COMPRESSION variable to choose compression type for
produced images is deprecated. IMAGE_FSTYPES should be used instead.
This patch removes any response to SDIMG_COMPRESSION within
sdcard_image-rpi.bbclass

Signed-off-by: Iurii Lunev <koolkhel@mail.ru>
2018-12-12 16:23:32 +00:00
Drew Moseley
b25228fcb3 linux-raspberrypi: Update to 4.14.85
Signed-off-by: Drew Moseley <drew.moseley@northern.tech>
2018-12-12 16:22:54 +00:00
Khem Raj
c6c1bdde86 Add meta-oe to dynamic-layers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-12-12 16:22:15 +00:00
Khem Raj
2efc2de81c packagegroup-meta-oe.bbappend: remove bpftool for rpi
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-12-12 16:22:15 +00:00
Khem Raj
14b9d06ac1 bpftool: Disable for rpi until kernel is not > 4.14
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-12-12 16:22:15 +00:00
Khem Raj
009145adf4 dynamic-layers/qt5-layer: Append to oe-device-extra.pri instead of rewriting
This file is also populated by main qtbase recipe so honor those
settings

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-12-12 16:22:15 +00:00
Khem Raj
c8a05f2fcf qtbase: Do not define QT_QPA_DEFAULT_PLATFORM
leave this to distro since it is based on distro features and not
machine features

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-12-01 12:10:49 +00:00
Khem Raj
a6f96854b6 userland: rprovide debiannamed libraries
These names are mapped to mesa equivalent rproviders
when using vc4 rdep should be on libegl1 which is then
mapped to libegl-mesa since thats what provides libegl1
when using mesa. The libegl is not a global name for this
library

Fixes

ERROR: userland-20181120-r0 do_package_qa: QA Issue: /usr/lib/libWFC.so
contained in package userland requires libEGL.so.1, but no providers
found in RDEPENDS_userland? [file-rdeps]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-12-01 12:10:49 +00:00
121 changed files with 1518 additions and 999 deletions

View File

@@ -5,7 +5,9 @@ Yocto BSP layer for the Raspberry Pi boards - <http://www.raspberrypi.org/>.
[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi1/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi1)
[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi2/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi2)
[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi3/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi3)
[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/agherzan/meta-raspberrypi)
[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi4/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi4)
[![Documentation Status](https://readthedocs.org/projects/meta-raspberrypi/badge/?version=latest)](https://meta-raspberrypi.readthedocs.io/en/latest/?badge=latest)
[![Matrix](https://img.shields.io/matrix/meta-raspberrypi:cub.icu.svg?server_fqdn=matrix.cub.icu)](https://matrix.to/#/#meta-raspberrypi:cub.icu)
## Quick links
@@ -26,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
@@ -48,8 +50,30 @@ 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. 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:
```
local_conf_header:
rpi-specific: |
ENABLE_I2C = "1"
RPI_EXTRA_CONFIG = "dtoverlay=pi3-disable-bt"
```
To configure the machine, you have to update the `machine` variable.
And the same for the `distro`.
For further information, you can read more at <https://kas.readthedocs.io/en/1.0/index.html>
## Maintainers

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,27 +49,25 @@ 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 \
dosfstools-native:do_populate_sysroot \
virtual/kernel:do_deploy \
${IMAGE_BOOTLOADER}:do_deploy \
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"
# SD card image name
SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.rpi-sdimg"
# Compression method to apply to SDIMG after it has been created. Supported
# compression formats are "gzip", "bzip2" or "xz". The original .rpi-sdimg file
# is kept and a new compressed file is created if one of these compression
# formats is chosen. If SDIMG_COMPRESSION is set to any other value it is
# silently ignored.
#SDIMG_COMPRESSION ?= ""
SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.rpi-sdimg"
# Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS.
FATPAYLOAD ?= ""
@@ -118,49 +116,68 @@ IMAGE_CMD_rpi-sdimg () {
# Create a vfat image with boot files
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 -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/
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}/${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
if test -n "${DTS}"; then
# Copy board device trees to root folder
for dtbf in ${@split_overlays(d, True)}; do
dtb=`basename $dtbf`
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::$dtb
mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::$dtb || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/$dtb into boot.img"
done
# Copy device tree overlays to dedicated folder
mmd -i ${WORKDIR}/boot.img overlays
for dtbf in ${@split_overlays(d, False)}; do
dtb=`basename $dtbf`
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::overlays/$dtb
mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::overlays/$dtb || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/$dtb into boot.img"
done
fi
if [ "${RPI_USE_U_BOOT}" = "1" ]; then
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.bin ::${SDIMG_KERNELIMAGE}
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/boot.scr ::boot.scr
mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.bin ::${SDIMG_KERNELIMAGE} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/u-boot.bin into boot.img"
mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/boot.scr ::boot.scr || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/boot.scr into boot.img"
if [ ! -z "${INITRAMFS_IMAGE}" -a "${INITRAMFS_IMAGE_BUNDLE}" = "1" ]; then
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin ::${KERNEL_IMAGETYPE}
mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin ::${KERNEL_IMAGETYPE} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin into boot.img"
else
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} ::${KERNEL_IMAGETYPE}
mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} ::${KERNEL_IMAGETYPE} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} into boot.img"
fi
else
if [ ! -z "${INITRAMFS_IMAGE}" -a "${INITRAMFS_IMAGE_BUNDLE}" = "1" ]; then
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin ::${SDIMG_KERNELIMAGE}
mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin ::${SDIMG_KERNELIMAGE} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin into boot.img"
else
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} ::${SDIMG_KERNELIMAGE}
mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} ::${SDIMG_KERNELIMAGE} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} into boot.img"
fi
fi
if [ -n ${FATPAYLOAD} ] ; then
# 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
# add the || true to stop aborting on vfat issues like not supporting .~lock files
mcopy -i ${WORKDIR}/boot.img -s -v ${IMAGE_ROOTFS}$entry :: || true
# use bbwarn instead of bbfatal to stop aborting on vfat issues like not supporting .~lock files
mcopy -v -i ${WORKDIR}/boot.img -s ${IMAGE_ROOTFS}$entry :: || bbwarn "mcopy cannot copy ${IMAGE_ROOTFS}$entry into boot.img"
done
fi
# Add stamp file
echo "${IMAGE_NAME}" > ${WORKDIR}/image-version-info
mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}/image-version-info ::
mcopy -v -i ${WORKDIR}/boot.img ${WORKDIR}/image-version-info :: || bbfatal "mcopy cannot copy ${WORKDIR}/image-version-info into boot.img"
# Deploy vfat partition
if [ "${SDIMG_VFAT_DEPLOY}" = "1" ]; then
@@ -177,19 +194,6 @@ IMAGE_CMD_rpi-sdimg () {
else
dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
fi
# Optionally apply compression
case "${SDIMG_COMPRESSION}" in
"gzip")
gzip -k9 "${SDIMG}"
;;
"bzip2")
bzip2 -k9 "${SDIMG}"
;;
"xz")
xz -k "${SDIMG}"
;;
esac
}
ROOTFS_POSTPROCESS_COMMAND += " rpi_generate_sysctl_config ; "

View File

@@ -9,7 +9,9 @@ BBFILE_COLLECTIONS += "raspberrypi"
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
BBFILE_PRIORITY_raspberrypi = "9"
LAYERSERIES_COMPAT_raspberrypi = "sumo thud"
LAYERSERIES_COMPAT_raspberrypi = "dunfell"
LAYERDEPENDS_raspberrypi = "core"
# Additional license directories.
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
@@ -25,6 +27,13 @@ BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bb' % layer
for layer in BBFILE_COLLECTIONS.split())}"
BBFILES_DYNAMIC += " \
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \
networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bb \
networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bbappend \
qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bb \
qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bbappend \
"
DEFAULT_TEST_SUITES_remove_rpi = "parselogs"
DEFAULT_TEST_SUITES_append_rpi = " parselogs_rpi"

View File

@@ -5,7 +5,7 @@ include conf/machine/include/rpi-default-providers.inc
SOC_FAMILY = "rpi"
include conf/machine/include/soc-family.inc
IMAGE_FSTYPES ?= "tar.bz2 ext3 rpi-sdimg"
IMAGE_FSTYPES ?= "tar.bz2 ext3 wic.bz2 wic.bmap"
WKS_FILE ?= "sdimage-raspberrypi.wks"
XSERVER = " \
@@ -16,6 +16,7 @@ XSERVER = " \
RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
overlays/at86rf233.dtbo \
overlays/disable-bt.dtbo \
overlays/dwc2.dtbo \
overlays/gpio-key.dtbo \
overlays/hifiberry-amp.dtbo \
@@ -25,27 +26,32 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
overlays/i2c-rtc.dtbo \
overlays/iqaudio-dac.dtbo \
overlays/iqaudio-dacplus.dtbo \
overlays/lirc-rpi.dtbo \
overlays/pi3-disable-bt.dtbo \
overlays/pi3-miniuart-bt.dtbo \
overlays/miniuart-bt.dtbo \
overlays/mcp2515-can0.dtbo \
overlays/mcp2515-can1.dtbo \
overlays/pitft22.dtbo \
overlays/pitft28-resistive.dtbo \
overlays/pitft28-capacitive.dtbo \
overlays/pitft35-resistive.dtbo \
overlays/pps-gpio.dtbo \
overlays/rpi-ft5406.dtbo \
overlays/rpi-poe.dtbo \
overlays/vc4-kms-v3d.dtbo \
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 ?= " \
bcm2708-rpi-0-w.dtb \
bcm2708-rpi-zero-w.dtb \
bcm2708-rpi-b.dtb \
bcm2708-rpi-b-plus.dtb \
bcm2709-rpi-2-b.dtb \
bcm2710-rpi-3-b.dtb \
bcm2710-rpi-3-b-plus.dtb \
bcm2711-rpi-4-b.dtb \
bcm2708-rpi-cm.dtb \
bcm2710-rpi-cm3.dtb \
"
@@ -68,12 +74,20 @@ KERNEL_IMAGETYPE_DIRECT ??= "zImage"
KERNEL_IMAGETYPE ?= "${@bb.utils.contains('RPI_USE_U_BOOT', '1', \
'${KERNEL_IMAGETYPE_UBOOT}', '${KERNEL_IMAGETYPE_DIRECT}', d)}"
MACHINE_FEATURES += "apm usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio"
MACHINE_FEATURES += "apm usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio ${@bb.utils.contains('DISABLE_VC4GRAPHICS', '1', '', 'vc4graphics', d)}"
# 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"
@@ -101,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

@@ -6,5 +6,10 @@ PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4
PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}"
PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
PREFERRED_PROVIDER_virtual/mesa ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
PREFERRED_PROVIDER_libgbm ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
PREFERRED_PROVIDER_virtual/libgbm ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
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.14.%"
PREFERRED_VERSION_linux-raspberrypi ??= "5.4.%"

View File

@@ -4,3 +4,5 @@
MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
include conf/machine/raspberrypi.conf
ARMSTUB ?= "armstub.bin"

View File

@@ -2,5 +2,12 @@
#@NAME: RaspberryPi Compute Module 3 (CM3)
#@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module 3 (CM3)
MACHINEOVERRIDES = "raspberrypi3:${MACHINE}"
include conf/machine/raspberrypi3.conf
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
require conf/machine/include/tune-cortexa7.inc
include conf/machine/include/rpi-base.inc
SDIMG_KERNELIMAGE ?= "kernel7.img"
UBOOT_MACHINE = "rpi_3_32b_config"
SERIAL_CONSOLES ?= "115200;ttyAMA0"
ARMSTUB ?= "armstub.bin"

View File

@@ -10,3 +10,5 @@ include conf/machine/include/rpi-base.inc
SERIAL_CONSOLES ?= "115200;ttyAMA0"
UBOOT_MACHINE = "rpi_config"
ARMSTUB ?= "armstub.bin"

View File

@@ -14,3 +14,5 @@ MACHINE_EXTRA_RRECOMMENDS += "\
SDIMG_KERNELIMAGE ?= "kernel.img"
UBOOT_MACHINE ?= "rpi_0_w_defconfig"
SERIAL_CONSOLES ?= "115200;ttyS0"
ARMSTUB ?= "armstub.bin"

View File

@@ -10,3 +10,5 @@ include conf/machine/include/rpi-base.inc
SERIAL_CONSOLES ?= "115200;ttyAMA0"
UBOOT_MACHINE = "rpi_2_config"
ARMSTUB ?= "armstub7.bin"

View File

@@ -11,7 +11,7 @@ MACHINE_EXTRA_RRECOMMENDS += "\
bluez-firmware-rpidistro-bcm4345c0-hcd \
"
require conf/machine/include/arm/arch-armv8.inc
require conf/machine/include/tune-cortexa53.inc
include conf/machine/include/rpi-base.inc
RPI_KERNEL_DEVICETREE = " \
@@ -23,7 +23,6 @@ RPI_KERNEL_DEVICETREE = " \
SERIAL_CONSOLES ?= "115200;ttyS0"
UBOOT_MACHINE = "rpi_3_config"
MACHINE_FEATURES_append = " vc4graphics"
# When u-boot is enabled we need to use the "Image" format and the "booti"
# command to load the kernel
@@ -31,3 +30,6 @@ KERNEL_IMAGETYPE_UBOOT ?= "Image"
# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
KERNEL_IMAGETYPE_DIRECT ?= "Image"
KERNEL_BOOTCMD ?= "booti"
VC4DTBO ?= "vc4-fkms-v3d"
ARMSTUB ?= "armstub8.bin"

View File

@@ -1,6 +1,6 @@
#@TYPE: Machine
#@NAME: RaspberryPi 3 Development Board
#@DESCRIPTION: Machine configuration for the RaspberryPi 3
#@NAME: RaspberryPi 3 Development Board (32bit)
#@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 32 bits mode
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
require conf/machine/include/tune-cortexa7.inc
@@ -16,3 +16,6 @@ MACHINE_EXTRA_RRECOMMENDS += "\
SDIMG_KERNELIMAGE ?= "kernel7.img"
UBOOT_MACHINE = "rpi_3_32b_config"
SERIAL_CONSOLES ?= "115200;ttyS0"
VC4DTBO ?= "vc4-fkms-v3d"
ARMSTUB ?= "armstub7.bin"

View File

@@ -0,0 +1,36 @@
#@TYPE: Machine
#@NAME: RaspberryPi 4 Development Board (64bit)
#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 64 bits mode
MACHINEOVERRIDES = "raspberrypi4:${MACHINE}"
MACHINE_FEATURES += "pci"
MACHINE_EXTRA_RRECOMMENDS += "\
linux-firmware-rpidistro-bcm43455 \
bluez-firmware-rpidistro-bcm4345c0-hcd \
"
require conf/machine/include/tune-cortexa72.inc
include conf/machine/include/rpi-base.inc
RPI_KERNEL_DEVICETREE = " \
broadcom/bcm2711-rpi-4-b.dtb \
"
SDIMG_KERNELIMAGE ?= "kernel8.img"
SERIAL_CONSOLES ?= "115200;ttyS0"
UBOOT_MACHINE = "rpi_4_config"
VC4DTBO ?= "vc4-fkms-v3d"
# When u-boot is enabled we need to use the "Image" format and the "booti"
# command to load the kernel
KERNEL_IMAGETYPE_UBOOT ?= "Image"
# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
KERNEL_IMAGETYPE_DIRECT ?= "Image"
KERNEL_BOOTCMD ?= "booti"
RPI_EXTRA_CONFIG ?= "\n# Force arm in 64bit mode. See: https://github.com/raspberrypi/firmware/issues/1193.\narm_64bit=1"
ARMSTUB ?= "armstub8-gic.bin"

View File

@@ -0,0 +1,21 @@
#@TYPE: Machine
#@NAME: RaspberryPi 4 Development Board (32bit)
#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 32 bit mode
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
require conf/machine/include/tune-cortexa7.inc
include conf/machine/include/rpi-base.inc
MACHINE_FEATURES += "pci"
MACHINE_EXTRA_RRECOMMENDS += "\
linux-firmware-rpidistro-bcm43455 \
bluez-firmware-rpidistro-bcm4345c0-hcd \
"
# 'l' stands for LPAE
SDIMG_KERNELIMAGE ?= "kernel7l.img"
UBOOT_MACHINE = "rpi_4_32b_config"
SERIAL_CONSOLES ?= "115200;ttyS0"
VC4DTBO ?= "vc4-fkms-v3d"
ARMSTUB ?= "armstub7.bin"

View File

@@ -2,37 +2,108 @@
## Mailing list
The main communication tool we use is a mailing list:
The main communication tool in use is the Yocto Project mailing list:
* <yocto@yoctoproject.org>
* <https://lists.yoctoproject.org/listinfo/yocto>
Feel free to ask any kind of questions but always prepend your email subject
with "[meta-raspberrypi]". This is because we use the 'yocto' mailing list and
not a perticular 'meta-raspberrypi' mailing list.
Feel free to ask any kind of questions but please always prepend your email
subject with `[meta-raspberrypi]` as this is the global *Yocto* mailing
list and not a dedicated *meta-raspberrypi* mailing list.
## Patches and pull requests
## Formatting patches
All the contributions should be compliant with the openembedded patch
guidelines: <http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines>
First and foremost, all of the contributions to the layer must be compliant
with the standard openembedded patch guidelines:
To contribute to this project you should send pull requests to the github mirror
(<https://github.com/agherzan/meta-raspberrypi>). **Additionally** you can send
the patches for review to the above specified mailing list.
* <http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines>
When creating patches for the mailing list, please use something like:
In summary, your commit log messages should be formatted as follows:
<layer-component>: <short log/statement of what needed to be changed>
(Optional pointers to external resources, such as defect tracking)
The intent of your change.
(Optional: if it's not clear from above, how your change resolves
the issues in the first part)
Signed-off-by: Your Name <yourname@youremail.com>
The `<layer-component>` is the layer component name that your changes affect.
It is important that you choose it correctly. A simple guide for selecting a
a good component name is the following:
* For changes that affect *layer recipes*, please just use the **base names**
of the affected recipes, separated by commas (`,`), as the component name.
For example: use `omxplayer` instead of `omxplayer_git.bb`. If you are
adding new recipe(s), just use the new recipe(s) base name(s). An example
for changes to multiple recipes would be `userland,vc-graphics,wayland`.
* For changes that affect the *layer documentation*, please just use `docs`
as the component name.
* For changes that affect *other files*, i.e. under the `conf` directory,
please use the full path as the component name, e.g. `conf/layer.conf`.
* For changes that affect the *layer itself* and do not fall into any of
the above cases, please use `meta-raspberrypi` as the component name.
A full example of a suitable commit log message is below:
foobar: Adjusted the foo setting in bar
When using foobar on systems with less than a gigabyte of RAM common
usage patterns often result in an Out-of-memory condition causing
slowdowns and unexpected application termination.
Low-memory systems should continue to function without running into
memory-starvation conditions with minimal cost to systems with more
available memory. High-memory systems will be less able to use the
full extent of the system, a dynamically tunable option may be best,
long-term.
The foo setting in bar was decreased from X to X-50% in order to
ensure we don't exhaust all system memory with foobar threads.
Signed-off-by: Joe Developer <joe.developer@example.com>
A common issue during patch reviewing is commit log formatting, please review
the above formatting guidelines carefully before sending your patches.
## Sending patches
The preferred method to contribute to this project is to send pull
requests to the GitHub mirror of the layer:
* <https://github.com/agherzan/meta-raspberrypi>
**In addition**, you may send patches for review to the above specified
mailing list. In this case, when creating patches using `git` please make
sure to use the following formatting for the message subject:
git format-patch -s --subject-prefix='meta-raspberrypi][PATCH' origin
When sending patches to the mailing list, please use something like:
Then, for sending patches to the mailing list, you may use this command:
git send-email --to yocto@yoctoproject.org <generated patch>
## Github issues
## GitHub issues
In order to manage and trace the meta-raspberrypi issues, we use github issues:
<https://github.com/agherzan/meta-raspberrypi/issues>
In order to manage and track the layer issues more efficiently, the
GitHub issues facility is used by this project:
* <https://github.com/agherzan/meta-raspberrypi/issues>
If you submit patches that have a GitHub issue associated, please make sure to
use standard GitHub keywords, e.g. `closes`, `resolves` or `fixes`, before the
"Signed-off-by" tag to close the relevant issues automatically:
foobar: Adjusted the foo setting in bar
Fixes: #324
Signed-off-by: Joe Developer <joe.developer@example.com>
More information on the available GitHub close keywords can be found here:
* <https://help.github.com/articles/closing-issues-using-keywords>
If you push patches which have a github issue associated, please provide the
issue number in the commit log just before "Signed-off-by" line(s). Example line
for a bug:
`[Issue #13]`

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>
@@ -13,9 +13,6 @@ specific to it. For the rest please check:
2. Overwrite SDIMG_ROOTFS_TYPE in local.conf
* `SDIMG_ROOTFS_TYPE = "ext3.xz"`
3. Overwrite SDIMG_COMPRESSION in local.conf
* `SDIMG_COMPRESSION = "xz"`
Accommodate the values above to your own needs (ex: ext3 / ext4).
## GPU memory
@@ -34,9 +31,13 @@ Accommodate the values above to your own needs (ex: ext3 / ext4).
See: <https://www.raspberrypi.org/documentation/configuration/config-txt/memory.md>
## VC4
By default, each machine uses `vc4` for graphics. This will in turn sets mesa as provider for `gl` libraries. `DISABLE_VC4GRAPHICS` can be set to `1` to disable this behaviour falling back to using `userland`. Be aware that `userland` has not support for 64-bit arch. If you disable `vc4` on a 64-bit Raspberry Pi machine, expect build breakage.
## 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"
@@ -76,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`.
@@ -171,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:
@@ -183,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
@@ -203,6 +233,7 @@ modelname should be added as a MACHINE_FEATURES in local.conf like below:
List of currently supported models:
* pitft22
* pitft28r
* pitft28c
* pitft35r
## Misc. display
@@ -218,11 +249,11 @@ 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
RaspberryPi3 will have to explicitly set in local.conf:
RaspberryPi 0 Wifi or 3 will have to explicitly set in local.conf:
ENABLE_UART = "1"
@@ -238,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:
@@ -246,6 +286,40 @@ 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
In order to use CAN with an MCP2515-based module, set the following variables:
ENABLE_SPI_BUS = "1"
ENABLE_CAN = "1"
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
The `RPI_EXTRA_CONFIG` variable can be used to manually add additional lines to

View File

@@ -8,8 +8,10 @@
* raspberrypi2
* raspberrypi3
* raspberrypi3-64 (64 bit kernel & userspace)
* raspberrypi4
* raspberrypi4-64 (64 bit kernel & userspace)
* raspberrypi-cm (dummy alias for raspberrypi)
* raspberrypi-cm3 (dummy alias for raspberrypi2)
* raspberrypi-cm3
Note: The raspberrypi3 machines include support for Raspberry Pi 3B+.

View File

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

View File

@@ -0,0 +1 @@
RDEPENDS_packagegroup-meta-oe-kernel_remove_rpi = "bpftool"

View File

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

View File

@@ -1,25 +0,0 @@
Copyright (c) 2012, Broadcom Europe Ltd
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -0,0 +1,29 @@
Copyright (c) 2006, Broadcom Corporation.
Copyright (c) 2015, Raspberry Pi (Trading) Ltd
All rights reserved.
Redistribution. Redistribution and use in binary form, without
modification, are permitted provided that the following conditions are
met:
* This software may only be used for the purposes of developing for,
running or using a Raspberry Pi device.
* Redistributions must reproduce the above copyright notice and the
following disclaimer in the documentation and/or other materials
provided with the distribution.
* Neither the name of Broadcom Corporation nor the names of its suppliers
may be used to endorse or promote products derived from this software
without specific prior written permission.
DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

58
kas-poky-rpi.yml Normal file
View File

@@ -0,0 +1,58 @@
header:
version: 8
machine: raspberrypi4
distro: poky
target:
- core-image-base
repos:
meta-raspberry:
poky:
url: https://git.yoctoproject.org/git/poky
refspec: master
layers:
meta:
meta-poky:
meta-yocto-bsp:
meta-openembedded:
url: http://git.openembedded.org/meta-openembedded
refspec: master
layers:
meta-oe:
meta-python:
meta-networking:
meta-perl:
meta-qt5:
url: https://github.com/meta-qt5/meta-qt5/
refspec: master
bblayers_conf_header:
standard: |
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
local_conf_header:
reduce_diskspace: |
INHERIT += "rm_work_and_downloads"
standard: |
CONF_VERSION = "1"
PACKAGE_CLASSES = "package_rpm"
SDKMACHINE = "x86_64"
USER_CLASSES = "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
debug-tweaks: |
EXTRA_IMAGE_FEATURES = "debug-tweaks"
diskmon: |
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K \
ABORT,/tmp,10M,1K"

View File

@@ -0,0 +1,18 @@
from oeqa.runtime.cases.parselogs import *
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
ignore_errors['raspberrypi4-64'] = rpi_errors + common_errors
ignore_errors['raspberrypi3'] = rpi_errors + common_errors
ignore_errors['raspberrypi3-64'] = rpi_errors + common_errors
class ParseLogsTestRpi(ParseLogsTest):
pass

View File

@@ -0,0 +1,36 @@
DESCRIPTION = "Boot strap code that the GPU puts on memory to start running the boot loader"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://armstub.S;beginline=1;endline=26;md5=9888f34ac06a676129416c952a6a521e"
inherit deploy nopackages
include recipes-bsp/common/raspberrypi-tools.inc
COMPATIBLE_MACHINE = "^rpi$"
S = "${RPITOOLS_S}/armstubs"
export CC7="${CC}"
export LD7="${LD}"
export OBJCOPY7="${OBJCOPY}"
export OBJDUMP7="${OBJDUMP}"
export CC8="${CC}"
export LD8="${LD}"
export OBJCOPY8="${OBJCOPY}"
export OBJDUMP8="${OBJDUMP} -maarch64"
do_compile() {
[ -z "${ARMSTUB}" ] && bbfatal "No ARMSTUB defined for your machine."
oe_runmake ${ARMSTUB}
}
do_deploy() {
install -d ${DEPLOYDIR}/${PN}
cp ${S}/armstub*.bin ${DEPLOYDIR}/${PN}
}
addtask deploy before do_build after do_install
do_deploy[dirs] += "${DEPLOYDIR}/${PN}"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -1,11 +1,11 @@
DESCRIPTION = "Closed source binary files to help boot the ARM on the BCM2835."
LICENSE = "Proprietary"
DESCRIPTION = "Closed source binary files to help boot all raspberry pi devices."
LICENSE = "Broadcom-RPi"
LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=4a4d169737c0786fb9482bb6d30401d1"
LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=c403841ff2837657b2ed8e5bb474ac8d"
inherit deploy nopackages
include recipes-bsp/common/firmware.inc
include recipes-bsp/common/raspberrypi-firmware.inc
INHIBIT_DEFAULT_DEPS = "1"
@@ -34,6 +34,8 @@ do_deploy() {
touch ${DEPLOYDIR}/${PN}/${PN}-${PV}.stamp
}
do_deploy[depends] += "rpi-config:do_deploy"
addtask deploy before do_build after do_install
do_deploy[dirs] += "${DEPLOYDIR}/${PN}"

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"
@@ -20,182 +20,227 @@ INHIBIT_DEFAULT_DEPS = "1"
PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
PITFT22="${@bb.utils.contains("MACHINE_FEATURES", "pitft22", "1", "0", d)}"
PITFT28r="${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "1", "0", d)}"
PITFT28c="${@bb.utils.contains("MACHINE_FEATURES", "pitft28c", "1", "0", d)}"
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 [ -n "${DISABLE_SPLASH}" ]; then
sed -i '/#disable_splash=/ c\disable_splash=${DISABLE_SPLASH}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
if [ "${DISABLE_SPLASH}" = "1" ]; then
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 [ -n "${VIDEO_CAMERA}" ]; then
echo "# Enable video camera" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "start_x=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
if [ "${VIDEO_CAMERA}" = "1" ]; then
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 [ -n "${DISPMANX_OFFLINE}" ]; then
echo "# Enable offline compositing" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dispmanx_offline=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
if [ "${DISPMANX_OFFLINE}" = "1" ]; then
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 [ -n "${ENABLE_SPI_BUS}" ] || [ "${PITFT}" = "1" ]; then
echo "# Enable SPI bus" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=spi=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
if [ "${ENABLE_SPI_BUS}" = "1" ] || [ "${PITFT}" = "1" ]; then
echo "# Enable SPI bus" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
echo "dtparam=spi=on" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
fi
# I2C support
if [ -n "${ENABLE_I2C}" ] || [ "${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
if [ "${ENABLE_I2C}" = "1" ] || [ "${PITFT}" = "1" ]; then
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}/${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
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
echo "${RPI_EXTRA_CONFIG}" >> ${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}/${BOOTFILES_DIR_NAME}/config.txt
echo "armstub=${ARMSTUB}" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt
case "${ARMSTUB}" in
*-gic.bin)
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,11 +0,0 @@
RPIFW_DATE ?= "20180924"
SRCREV ?= "5b49caa17e91d0e64024380119ad739bb201c674"
RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz"
RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
SRC_URI = "${RPIFW_SRC_URI}"
SRC_URI[md5sum] = "51352972a029c6f47bde6d302b69440e"
SRC_URI[sha256sum] = "d1f9c58957dfe681fff7e1cf1eabb9e0f6fdc99720f1d059fb24a37750573310"
PV = "${RPIFW_DATE}"

View File

@@ -0,0 +1,9 @@
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[sha256sum] = "32fb5cc72703247622839c3cb4df2f369f91d2185770df867ac9758283bf5380"
PV = "${RPIFW_DATE}"

View File

@@ -0,0 +1,9 @@
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[sha256sum] = "ef56a891eef387d2278e6f9d20b462021faace14aceeb2048b5e5973069c25c0"
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

@@ -1,16 +1,10 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
FILESEXTRAPATHS_prepend_rpi := "${THISDIR}/${PN}:"
BCM_BT_SOURCES = " \
SRC_URI_append_rpi = "\
file://0001-bcm43xx-Add-bcm43xx-3wire-variant.patch \
file://0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch \
file://0003-Increase-firmware-load-timeout-to-30s.patch \
file://0004-Move-the-43xx-firmware-into-lib-firmware.patch \
"
BCM_BT_RDEPENDS = "pi-bluetooth"
SRC_URI_append_raspberrypi0-wifi = " ${BCM_BT_SOURCES}"
SRC_URI_append_raspberrypi3 = " ${BCM_BT_SOURCES}"
RDEPENDS_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_RDEPENDS}"
RDEPENDS_${PN}_append_raspberrypi3 = " ${BCM_BT_RDEPENDS}"
RDEPENDS_${PN}_append_rpi = " pi-bluetooth"

View File

@@ -1,16 +1,18 @@
From af91c96951a11f81f5cea88a0010161592c89310 Mon Sep 17 00:00:00 2001
From a73bbed89fb049ac424c211629935b26013e2573 Mon Sep 17 00:00:00 2001
From: "Peter A. Bigot" <pab@pabigot.com>
Date: Wed, 14 Nov 2018 09:19:51 -0600
Subject: [PATCH] bthelper: correct path for hciconfig under Yocto
Upstream-Status: Inapproprate [OE-specific]
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
---
usr/bin/bthelper | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/usr/bin/bthelper b/usr/bin/bthelper
index 255fdeb..4e1a1a4 100755
index af597e5..5de84f6 100755
--- a/usr/bin/bthelper
+++ b/usr/bin/bthelper
@@ -10,7 +10,7 @@ fi
@@ -18,11 +20,8 @@ index 255fdeb..4e1a1a4 100755
dev="$1"
# Need to bring hci up before looking at MAC as it can be all zeros during init
-/bin/hciconfig "$dev" up
-/bin/hciconfig "$dev" |grep -q "BD Address: B8:27:EB:" || exit 0
-/bin/hciconfig "$dev" | grep -qE "BD Address: (B8:27:EB|DC:A6:32):" || exit 0
+/usr/bin/hciconfig "$dev" up
+/usr/bin/hciconfig "$dev" |grep -q "BD Address: B8:27:EB:" || exit 0
+/usr/bin/hciconfig "$dev" | grep -qE "BD Address: (B8:27:EB|DC:A6:32):" || exit 0
/usr/bin/hcitool -i "$dev" cmd 0x3f 0x1c 0x01 0x02 0x00 0x01 0x01 > /dev/null
--
2.17.1

View File

@@ -7,11 +7,10 @@ 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 = "2e1a393955910aea67bbf3c921be35a66e8a8fbe"
PV = "1.1+git${SRCPV}"
SRCREV = "cbdbcb66bcc5b9af05f1a9fffe2254c872bb0ace"
S = "${WORKDIR}/git"
@@ -22,8 +21,6 @@ SYSTEMD_SERVICE_${PN} = "\
bthelper@.service \
"
inherit allarch
do_install() {
install -d ${D}${sysconfdir}/udev/rules.d
install -m 0644 ${S}/lib/udev/rules.d/* ${D}${sysconfdir}/udev/rules.d
@@ -44,3 +41,7 @@ FILES_${PN} = "\
${sysconfdir} \
${systemd_unitdir}/system \
"
RDEPENDS_${PN} += " \
udev-rules-rpi \
"

View File

@@ -2,6 +2,8 @@ DESCRIPTION = "RaspberryPi Test Packagegroup"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
COMPATIBLE_MACHINE = "^rpi$"
@@ -11,21 +13,18 @@ OMXPLAYER = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'omxpl
RDEPENDS_${PN} = "\
${OMXPLAYER} \
bcm2835-tests \
wiringpi \
rpio \
rpi-gpio \
pi-blaster \
python-rtimu \
python-sense-hat \
python3-rtimu \
python3-sense-hat \
connman \
connman-client \
crda \
wireless-regdb-static \
bluez5 \
"
RRECOMMENDS_${PN} = "\
bigbuckbunny-1080p \
bigbuckbunny-480p \
bigbuckbunny-720p \
${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-multimedia", "bigbuckbunny-1080p bigbuckbunny-480p bigbuckbunny-720p", "", d)} \
${MACHINE_EXTRA_RRECOMMENDS} \
"

View File

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

View File

@@ -2,7 +2,10 @@ DESCRIPTION = "udev rules for Raspberry Pi Boards"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = " file://99-com.rules"
SRC_URI = " \
file://99-com.rules \
file://can.rules \
"
S = "${WORKDIR}"
@@ -11,4 +14,5 @@ INHIBIT_DEFAULT_DEPS = "1"
do_install () {
install -d ${D}${sysconfdir}/udev/rules.d
install -m 0644 ${WORKDIR}/99-com.rules ${D}${sysconfdir}/udev/rules.d/
install -m 0644 ${WORKDIR}/can.rules ${D}${sysconfdir}/udev/rules.d/
}

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

@@ -0,0 +1 @@
SUBSYSTEM=="net", DEVPATH=="/devices/platform/soc/3f204000.spi/spi_master/spi0/spi0.0/net/can0", RUN+="/sbin/ip link set can0 up type can bitrate 500000"

View File

@@ -1,32 +0,0 @@
From 6a6b705ff5cba960c54bdb4d4bcdaa3b00a854a2 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 11 Aug 2018 10:24:24 -0700
Subject: [PATCH] pi-blaster: Include sys/sysmacros.h for makedev()
In glibc 2.28+ this header is not included indirectly anymore
fixes
ld: pi-blaster.o: in function `mbox_open':
pi-blaster.c:(.text+0x28): undefined reference to `makedev'
collect2: error: ld returned 1 exit status
Upstream-Status: Submitted [https://github.com/sarfata/pi-blaster/pull/100]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
pi-blaster.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/pi-blaster.c b/pi-blaster.c
index 6cfd010..fc4e686 100644
--- a/pi-blaster.c
+++ b/pi-blaster.c
@@ -41,6 +41,7 @@ static char VERSION[] = "SNAPSHOT";
#include <sys/time.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/sysmacros.h>
#include <fcntl.h>
#include <sys/mman.h>
#include "mailbox.h"

View File

@@ -2,16 +2,15 @@ DESCRIPTION = "This project enables PWM on the GPIO pins you request of a Raspbe
HOMEPAGE = "https://github.com/sarfata/pi-blaster/"
SECTION = "devel/libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://README.md;beginline=244;endline=268;md5=86d10e4bcf4b4014d306dde7c1d2a80d"
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 \
file://0001-pi-blaster-Include-sys-sysmacros.h-for-makedev.patch \
"
S = "${WORKDIR}/git"
SRCREV = "e981aa5d7624c75a4d4afcddcbd235f25e32ffe4"
SRCREV = "befd8ef36e5066e4d444ef47fe4020787e541248"
inherit update-rc.d autotools

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 setuptools
inherit setuptools3

View File

@@ -4,7 +4,7 @@ SECTION = "devel/python"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=d80fe312e1ff5fbd97369b093bf21cda"
inherit setuptools pypi
inherit setuptools3 pypi
PYPI_PACKAGE = "sense-hat"
@@ -18,7 +18,7 @@ DEPENDS += " \
"
RDEPENDS_${PN} += " \
python-numpy \
python-rtimu \
python-imaging \
${PYTHON_PN}-numpy \
${PYTHON_PN}-rtimu \
${PYTHON_PN}-imaging \
"

View File

@@ -30,6 +30,8 @@ silence this warning
uint32_t peri_base;
Signed-off-by: Khem Raj <raj.khem@gmail.com>
[Pierre-Jean: update for version 0.7.0]
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
---
Upstream-Status: Submitted
@@ -37,37 +39,6 @@ Upstream-Status: Submitted
source/py_gpio.c | 135 ++++++++++++++++++++++++++++---------------------------
2 files changed, 71 insertions(+), 70 deletions(-)
diff --git a/source/c_gpio.c b/source/c_gpio.c
index c96a2b0..b69880f 100644
--- a/source/c_gpio.c
+++ b/source/c_gpio.c
@@ -61,7 +61,7 @@ int setup(void)
{
int mem_fd;
uint8_t *gpio_mem;
- uint32_t peri_base;
+ uint32_t peri_base = 0;
uint32_t gpio_base;
unsigned char buf[4];
FILE *fp;
@@ -73,7 +73,7 @@ int setup(void)
if ((mem_fd = open("/dev/gpiomem", O_RDWR|O_SYNC)) > 0)
{
gpio_map = (uint32_t *)mmap(NULL, BLOCK_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, mem_fd, 0);
- if ((uint32_t)gpio_map < 0) {
+ if (gpio_map == MAP_FAILED) {
return SETUP_MMAP_FAIL;
} else {
return SETUP_OK;
@@ -127,7 +127,7 @@ int setup(void)
gpio_map = (uint32_t *)mmap( (void *)gpio_mem, BLOCK_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, mem_fd, gpio_base);
- if ((uint32_t)gpio_map < 0)
+ if (gpio_map == MAP_FAILED)
return SETUP_MMAP_FAIL;
return SETUP_OK;
diff --git a/source/py_gpio.c b/source/py_gpio.c
index d54cc7f..007bad5 100644
--- a/source/py_gpio.c

View File

@@ -1,14 +0,0 @@
DESCRIPTION = "A module to control Raspberry Pi GPIO channels"
HOMEPAGE = "http://code.google.com/p/raspberry-gpio-python/"
SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=9b95630a648966b142f1a0dcea001cb7"
PYPI_PACKAGE = "RPi.GPIO"
inherit pypi distutils
SRC_URI += "file://0001-Remove-nested-functions.patch"
SRC_URI[md5sum] = "e4abe1cfb5eacebe53078032256eb837"
SRC_URI[sha256sum] = "a5fc0eb5e401963b6c0a03650da6b42c4005f02d962b81241d96c98d0a578516"
COMPATIBLE_MACHINE = "^rpi$"

View File

@@ -0,0 +1,18 @@
DESCRIPTION = "A module to control Raspberry Pi GPIO channels"
HOMEPAGE = "https://sourceforge.net/projects/raspberry-gpio-python/"
SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=9b95630a648966b142f1a0dcea001cb7"
PYPI_PACKAGE = "RPi.GPIO"
inherit pypi distutils3
SRC_URI += "file://0001-Remove-nested-functions.patch"
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

@@ -10,13 +10,13 @@ inherit pypi
SRC_URI += "file://0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch"
inherit setuptools
inherit setuptools3
COMPATIBLE_MACHINE = "^rpi$"
RDEPENDS_${PN} = "\
python-logging \
python-threading \
python3-logging \
python3-threading \
"
SRC_URI[md5sum] = "cefc45422833dcafcd59b78dffc540f4"

View File

@@ -0,0 +1,16 @@
DESCRIPTION = "Tool to help debug / hack at the BCM283x GPIO"
HOMEPAGE = "https://github.com/RPi-Distro/raspi-gpio"
SECTION = "devel/libs"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a14affa234debc057b47cdca615b2192"
COMPATIBLE_MACHINE = "^rpi$"
inherit autotools
SRCREV = "4edfde183ff3ac9ed66cdc015ae25e45f3a5502d"
SRC_URI = "git://github.com/RPi-Distro/raspi-gpio.git;protocol=https;branch=master \
"
S = "${WORKDIR}/git"

View File

@@ -1,405 +0,0 @@
From 9a47fd5da546d148886c8890cd48249ebe826948 Mon Sep 17 00:00:00 2001
From: Daniel Rank <dwrank@gmail.com>
Date: Wed, 1 Aug 2018 23:32:00 -0700
Subject: [PATCH] Add initial cross compile support
Upstream-Status: Pending
Signed-off-by: Daniel Rank <dwrank@gmail.com>
---
devLib/Makefile | 54 +++++++++++++++++++++++++--------------------
examples/Gertboard/Makefile | 22 +++++++++++-------
examples/Makefile | 22 +++++++++++-------
examples/PiFace/Makefile | 22 +++++++++++-------
examples/PiGlow/Makefile | 4 ++--
examples/q2w/Makefile | 4 ++--
gpio/Makefile | 29 ++++++++++++------------
wiringPi/Makefile | 46 +++++++++++++++++++++-----------------
8 files changed, 117 insertions(+), 86 deletions(-)
diff --git a/devLib/Makefile b/devLib/Makefile
index cf665d6..040c03a 100644
--- a/devLib/Makefile
+++ b/devLib/Makefile
@@ -31,15 +31,19 @@ ifneq ($V,1)
Q ?= @
endif
-STATIC=libwiringPiDev.a
-DYNAMIC=libwiringPiDev.so.$(VERSION)
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
-#DEBUG = -g -O0
-DEBUG = -O2
-CC = gcc
-INCLUDE = -I.
-DEFS = -D_GNU_SOURCE
-CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
+BASE_NAME=libwiringPiDev
+STATIC=$(BASE_NAME).a
+DYNAMIC=$(BASE_NAME).so.$(VERSION)
+
+#DEBUG ?= -g -O0
+DEBUG ?= -O2
+CC ?= gcc
+INCLUDE ?= -I.
+DEFS ?= -D_GNU_SOURCE
+CFLAGS ?= $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
LIBS =
@@ -68,16 +72,16 @@ $(STATIC): $(OBJ)
$(DYNAMIC): $(OBJ)
$Q echo "[Link (Dynamic)]"
- $Q $(CC) -shared -Wl,-soname,libwiringPiDev.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPiDev.so.$(VERSION) -lpthread $(OBJ)
+ $Q $(CC) -shared $(LDFLAGS) -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ)
.c.o:
$Q echo [Compile] $<
- $Q $(CC) -c $(CFLAGS) $< -o $@
+ $Q $(CC) -c $(CFLAGS) -fPIC $< -o $@
.PHONY: clean
clean:
$Q echo "[Clean]"
- $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPiDev.*
+ $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak $(BASE_NAME).so* $(BASE_NAME).a
.PHONY: tags
tags: $(SRC)
@@ -88,22 +92,22 @@ tags: $(SRC)
.PHONY: install
install: $(DYNAMIC)
$Q echo "[Install Headers]"
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/include
- $Q install -m 0644 $(HEADERS) $(DESTDIR)$(PREFIX)/include
+ $Q install -m 0755 -d $(INCLUDE_DIR)
+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
$Q echo "[Install Dynamic Lib]"
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
- $Q install -m 0755 libwiringPiDev.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION)
- $Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION) $(DESTDIR)/lib/libwiringPiDev.so
- $Q $(LDCONFIG)
+ $Q install -m 0755 -d $(LIB_DIR)
+ $Q install -m 0755 $(BASE_NAME).so $(LIB_DIR)/$(DYNAMIC)
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
.PHONY: install-static
install-static: $(STATIC)
$Q echo "[Install Headers]"
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/include
- $Q install -m 0644 $(HEADERS) $(DESTDIR)$(PREFIX)/include
+ $Q install -m 0755 -d $(INCLUDE_DIR)
+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
$Q echo "[Install Static Lib]"
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
- $Q install -m 0755 libwiringPiDev.a $(DESTDIR)$(PREFIX)/lib
+ $Q install -m 0755 -d $(LIB_DIR)
+ $Q install -m 0755 $(STATIC) $(LIB_DIR)
.PHONY: install-deb
install-deb: $(DYNAMIC)
@@ -118,9 +122,11 @@ install-deb: $(DYNAMIC)
.PHONY: uninstall
uninstall:
$Q echo "[UnInstall]"
- $Q cd $(DESTDIR)$(PREFIX)/include/ && rm -f $(HEADERS)
- $Q cd $(DESTDIR)$(PREFIX)/lib/ && rm -f libwiringPiDev.*
- $Q $(LDCONFIG)
+ $Q cd $(INCLUDE_DIR) && rm -f $(HEADERS)
+ $Q rm -f $(LIB_DIR)/$(STATIC)
+ $Q rm -f $(LIB_DIR)/$(DYNAMIC)
+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so
+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
.PHONY: depend
diff --git a/examples/Gertboard/Makefile b/examples/Gertboard/Makefile
index 1939ad6..98d1415 100644
--- a/examples/Gertboard/Makefile
+++ b/examples/Gertboard/Makefile
@@ -9,14 +9,20 @@ ifneq ($V,1)
Q ?= @
endif
-#DEBUG = -g -O0
-DEBUG = -O3
-CC = gcc
-INCLUDE = -I/usr/local/include
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-
-LDFLAGS = -L/usr/local/lib
-LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
+DESTDIR?=/usr
+PREFIX?=/local
+
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
+
+#DEBUG ?= -g -O0
+DEBUG ?= -O3
+CC ?= gcc
+INCLUDE ?= -I$(INCLUDE_DIR)
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+
+LDFLAGS ?= -L$(LIB_DIR)
+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm
# Should not alter anything below this line
###############################################################################
diff --git a/examples/Makefile b/examples/Makefile
index 6d87885..8623816 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -26,14 +26,20 @@ ifneq ($V,1)
Q ?= @
endif
-#DEBUG = -g -O0
-DEBUG = -O3
-CC = gcc
-INCLUDE = -I/usr/local/include
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-
-LDFLAGS = -L/usr/local/lib
-LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
+DESTDIR?=/usr
+PREFIX?=/local
+
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
+
+#DEBUG ?= -g -O0
+DEBUG ?= -O3
+CC ?= gcc
+INCLUDE ?= -I$(INCLUDE_DIR)
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+
+LDFLAGS ?= -L$(LIB_DIR)
+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
# Should not alter anything below this line
###############################################################################
diff --git a/examples/PiFace/Makefile b/examples/PiFace/Makefile
index f937c14..ad030b3 100644
--- a/examples/PiFace/Makefile
+++ b/examples/PiFace/Makefile
@@ -26,14 +26,20 @@ ifneq ($V,1)
Q ?= @
endif
-#DEBUG = -g -O0
-DEBUG = -O3
-CC = gcc
-INCLUDE = -I/usr/local/include
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-
-LDFLAGS = -L/usr/local/lib
-LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
+DESTDIR?=/usr
+PREFIX?=/local
+
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
+
+#DEBUG ?= -g -O0
+DEBUG ?= -O3
+CC ?= gcc
+INCLUDE ?= -I$(INCLUDE_DIR)
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+
+LDFLAGS ?= -L$(LIB_DIR)
+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm
# Should not alter anything below this line
###############################################################################
diff --git a/examples/PiGlow/Makefile b/examples/PiGlow/Makefile
index f182db7..d1ea74f 100644
--- a/examples/PiGlow/Makefile
+++ b/examples/PiGlow/Makefile
@@ -29,10 +29,10 @@ endif
#DEBUG = -g -O0
DEBUG = -O3
CC = gcc
-INCLUDE = -I/usr/local/include
+INCLUDE = -I../wiringPi -I../wiringPiDev
CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-LDFLAGS = -L/usr/local/lib
+LDFLAGS = -L../wiringPi -L../wiringPiDev
LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
# Should not alter anything below this line
diff --git a/examples/q2w/Makefile b/examples/q2w/Makefile
index 8f773bf..14aa6e4 100644
--- a/examples/q2w/Makefile
+++ b/examples/q2w/Makefile
@@ -29,10 +29,10 @@ endif
#DEBUG = -g -O0
DEBUG = -O3
CC = gcc
-INCLUDE = -I/usr/local/include
+INCLUDE = -I../wiringPi -I../devLib
CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-LDFLAGS = -L/usr/local/lib
+LDFLAGS = -L../wiringPi -L../devLib
LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
###############################################################################
diff --git a/gpio/Makefile b/gpio/Makefile
index 9ec160d..a294242 100644
--- a/gpio/Makefile
+++ b/gpio/Makefile
@@ -30,13 +30,17 @@ ifneq ($V,1)
Q ?= @
endif
-#DEBUG = -g -O0
-DEBUG = -O2
-CC = gcc
-INCLUDE = -I$(DESTDIR)$(PREFIX)/include
-CFLAGS = $(DEBUG) -Wall -Wextra $(INCLUDE) -Winline -pipe
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
+BIN_DIR?=$(DESTDIR)$(PREFIX)/bin
-LDFLAGS = -L$(DESTDIR)$(PREFIX)/lib
+#DEBUG ?= -g -O0
+DEBUG ?= -O2
+CC ?= gcc
+INCLUDE ?= -I$(INCLUDE_DIR)
+CFLAGS ?= $(DEBUG) -Wall -Wextra $(INCLUDE) -Winline -pipe
+
+LDFLAGS ?= -L$(LIB_DIR)
LIBS = -lwiringPi -lwiringPiDev -lpthread -lrt -lm -lcrypt
# May not need to alter anything below this line
@@ -72,13 +76,10 @@ tags: $(SRC)
.PHONY: install
install: gpio
$Q echo "[Install]"
- $Q cp gpio $(DESTDIR)$(PREFIX)/bin
-ifneq ($(WIRINGPI_SUID),0)
- $Q chown root.root $(DESTDIR)$(PREFIX)/bin/gpio
- $Q chmod 4755 $(DESTDIR)$(PREFIX)/bin/gpio
-endif
- $Q mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1
- $Q cp gpio.1 $(DESTDIR)$(PREFIX)/share/man/man1
+ $Q install -d $(BIN_DIR)
+ $Q install -m 4755 -o root -g root gpio $(BIN_DIR)
+ $Q install -d $(DESTDIR)$(PREFIX)/share/man/man1
+ $Q install -m 644 -o root -g root gpio.1 $(DESTDIR)$(PREFIX)/share/man/man1
.PHONY: install-deb
install-deb: gpio
@@ -91,7 +92,7 @@ install-deb: gpio
.PHONY: uninstall
uninstall:
$Q echo "[UnInstall]"
- $Q rm -f $(DESTDIR)$(PREFIX)/bin/gpio
+ $Q rm -f $(BIN_DIR)/gpio
$Q rm -f $(DESTDIR)$(PREFIX)/share/man/man1/gpio.1
.PHONY: depend
diff --git a/wiringPi/Makefile b/wiringPi/Makefile
index 287fa58..670a6db 100644
--- a/wiringPi/Makefile
+++ b/wiringPi/Makefile
@@ -25,22 +25,26 @@ VERSION=$(shell cat ../VERSION)
DESTDIR?=/usr
PREFIX?=/local
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
+
LDCONFIG?=ldconfig
ifneq ($V,1)
Q ?= @
endif
-STATIC=libwiringPi.a
-DYNAMIC=libwiringPi.so.$(VERSION)
+BASE_NAME=libwiringPi
+STATIC=$(BASE_NAME).a
+DYNAMIC=$(BASE_NAME).so.$(VERSION)
-#DEBUG = -g -O0
-DEBUG = -O2
-CC = gcc
-INCLUDE = -I.
+#DEBUG ?= -g -O0
+DEBUG ?= -O2
+CC ?= gcc
+INCLUDE ?= -I.
DEFS = -D_GNU_SOURCE
-CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Wextra -Winline $(INCLUDE) -pipe -fPIC
-#CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Wextra -Wconversion -Winline $(INCLUDE) -pipe -fPIC
+CFLAGS = $(DEBUG) $(DEFS) $(INCLUDE) -Wformat=2 -Wall -Wextra -Winline -pipe -fPIC
+#CFLAGS = $(DEBUG) $(DEFS) $(INCLUDE) -Wformat=2 -Wall -Wextra -Wconversion -Winline -pipe -fPIC
LIBS = -lm -lpthread -lrt -lcrypt
@@ -75,17 +79,17 @@ static:
$(DYNAMIC): $(OBJ)
$Q echo "[Link (Dynamic)]"
- $Q $(CC) -shared -Wl,-soname,libwiringPi.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPi.so.$(VERSION) $(LIBS) $(OBJ)
+ $Q $(CC) $(LDFLAGS) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so $(OBJ) $(LIBS)
.c.o:
$Q echo [Compile] $<
- $Q $(CC) -c $(CFLAGS) $< -o $@
+ $Q $(CC) $(CFLAGS) $(LIBS) -c $< -o $@
.PHONY: clean
clean:
$Q echo "[Clean]"
- $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPi.*
+ $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak $(BASE_NAME).so* $(BASE_NAME).a
.PHONY: tags
tags: $(SRC)
@@ -96,13 +100,13 @@ tags: $(SRC)
.PHONY: install
install: $(DYNAMIC)
$Q echo "[Install Headers]"
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/include
- $Q install -m 0644 $(HEADERS) $(DESTDIR)$(PREFIX)/include
+ $Q install -m 0755 -d $(INCLUDE_DIR)
+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
$Q echo "[Install Dynamic Lib]"
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
- $Q install -m 0755 libwiringPi.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION)
- $Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) $(DESTDIR)/lib/libwiringPi.so
- $Q $(LDCONFIG)
+ $Q install -m 0755 -d $(LIB_DIR)
+ $Q install -m 0755 $(BASE_NAME).so $(LIB_DIR)/$(DYNAMIC)
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
.PHONY: install-deb
install-deb: $(DYNAMIC)
@@ -117,9 +121,11 @@ install-deb: $(DYNAMIC)
.PHONY: uninstall
uninstall:
$Q echo "[UnInstall]"
- $Q cd $(DESTDIR)$(PREFIX)/include/ && rm -f $(HEADERS)
- $Q cd $(DESTDIR)$(PREFIX)/lib/ && rm -f libwiringPi.*
- $Q $(LDCONFIG)
+ $Q cd $(INCLUDE_DIR) && rm -f $(HEADERS)
+ $Q rm -f $(LIB_DIR)/$(STATIC)
+ $Q rm -f $(LIB_DIR)/$(DYNAMIC)
+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so
+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
.PHONY: depend
--
2.7.4

View File

@@ -1,35 +0,0 @@
DESCRIPTION = "A library to control Raspberry Pi GPIO channels"
HOMEPAGE = "https://projects.drogon.net/raspberry-pi/wiringpi/"
SECTION = "devel/libs"
LICENSE = "LGPLv3+"
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02"
DEPENDS += "virtual/crypt"
# tag 2.46
SRCREV = "8d188fa0e00bb8c6ff6eddd07bf92857e9bd533a"
S = "${WORKDIR}/git"
SRC_URI = "git://git.drogon.net/wiringPi \
file://0001-Add-initial-cross-compile-support.patch \
"
COMPATIBLE_MACHINE = "^rpi$"
CFLAGS_prepend = "-I${S}/wiringPi -I${S}/devLib "
EXTRA_OEMAKE += "'INCLUDE_DIR=${D}${includedir}' 'LIB_DIR=${D}${libdir}'"
EXTRA_OEMAKE += "'DESTDIR=${D}/usr' 'PREFIX=""'"
do_compile() {
oe_runmake -C devLib
oe_runmake -C wiringPi
oe_runmake -C gpio 'LDFLAGS=${LDFLAGS} -L${S}/wiringPi -L${S}/devLib'
}
do_install() {
oe_runmake -C devLib install
oe_runmake -C wiringPi install
oe_runmake -C gpio install
}

View File

@@ -0,0 +1,3 @@
PACKAGECONFIG_GLESV2 = " ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'glesv2', d)}"
PACKAGECONFIG_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' egl ${PACKAGECONFIG_GLESV2}', d)}"

View File

@@ -1,2 +0,0 @@
EGLINFO_DEVICE_rpi = "raspberrypi"
COMPATIBLE_HOST_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'null', '(.*)', d)}"

View File

@@ -1,2 +0,0 @@
EGLINFO_DEVICE_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'generic', 'raspberrypi', d)}"
ASNEEDED = ""

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 +1,6 @@
PACKAGECONFIG_append_rpi = " gbm"
PROVIDES_append_rpi = " virtual/libgbm"
do_install_append_rpi() {
rm -rf ${D}${includedir}/KHR/khrplatform.h
}

View File

@@ -2,6 +2,5 @@
# 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.
PACKAGECONFIG_append_rpi = " gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)}"
GALLIUMDRIVERS_append_rpi = ",vc4"
DRIDRIVERS_rpi = ""
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 08d56c1174e27573ae8df2a7b9e6632afd0bfe86 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/18] 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.19.1
2.27.0

View File

@@ -1,7 +1,7 @@
From da60a2a34a48e2b324fceae608964814488cc8fb 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/18] 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)
@@ -91,22 +91,22 @@ index cfc8ae5..673a5ad 100644
# Global include paths
diff --git a/README.md b/README.md
index 94b93b8..50b90b1 100644
index 404e4d4..97a6b8f 100644
--- a/README.md
+++ b/README.md
@@ -6,3 +6,7 @@ Use buildme to build. It requires cmake to be installed and an arm cross compile
https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian
@@ -8,3 +8,7 @@ https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/gcc-linaro-arm-linu
Whilst 64-bit userspace is not officially supported, some of the libraries will work for it. To cross compile, install gcc-aarch64-linux-gnu and g++-aarch64-linux-gnu first. For both native and cross compiles, add the option ```--aarch64``` to the buildme command.
Note that this repository does not contain the source for the edid_parser and vcdbg binaries due to licensing restrictions.
Note that this repository does not contain the source for the edidparser and vcdbg binaries due to licensing restrictions.
+
+To build support for the Wayland winsys in EGL, execute the buildme script like this:
+
+$ BUILD_WAYLAND=1 ./buildme.
diff --git a/buildme b/buildme
index b8fd440..a780bb6 100755
index 9e2d405..7b8c0d6 100755
--- a/buildme
+++ b/buildme
@@ -8,6 +8,10 @@ fi
@@ -17,6 +17,10 @@ fi
BUILDSUBDIR=`echo $BUILDTYPE | tr '[A-Z]' '[a-z]'`;
@@ -114,10 +114,10 @@ index b8fd440..a780bb6 100755
+ WAYLAND_VARS="-DBUILD_WAYLAND=TRUE"
+fi
+
if [ "armv6l" = `arch` ] || [ "armv7l" = `arch` ]; then
if [ $ARCH = "armv6l" ] || [ $ARCH = "armv7l" ] || [ $ARCH = "aarch64" ]; then
# Native compile on the Raspberry Pi
mkdir -p build/raspberry/$BUILDSUBDIR
@@ -32,9 +36,13 @@ elif [ "$1" = "--native" ]; then
@@ -41,9 +45,13 @@ elif [ "$1" = "--native" ]; then
make -j `nproc` $*
else
# Cross compile on a more capable machine
@@ -127,24 +127,24 @@ index b8fd440..a780bb6 100755
+ fi
mkdir -p build/arm-linux/$BUILDSUBDIR
pushd build/arm-linux/$BUILDSUBDIR
- cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE ../../..
+ cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE $WAYLAND_VARS ../../..
- cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE -DCMAKE_BUILD_TYPE=$BUILDTYPE -DARM64=$ARM64 ../../..
+ cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE -DCMAKE_BUILD_TYPE=$BUILDTYPE -DARM64=$ARM64 $WAYLAND_VARS ../../..
make -j `nproc`
if [ "$1" != "" ]; then
diff --git a/host_applications/linux/apps/raspicam/CMakeLists.txt b/host_applications/linux/apps/raspicam/CMakeLists.txt
index 42636e8..d47ad55 100644
index eb1ef7c..5aeeb2e 100644
--- a/host_applications/linux/apps/raspicam/CMakeLists.txt
+++ b/host_applications/linux/apps/raspicam/CMakeLists.txt
@@ -33,7 +33,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,12 +1551,12 @@ 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 fde18da..6718215 100755
index 4a914a7..c202204 100755
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
@@ -9,13 +9,24 @@ add_definitions(-fno-strict-aliasing)
include_directories(${VMCS_TARGET}/vcfiled)
@@ -7,13 +7,24 @@
# vc_vchi_gencmd.c has a type-punning problem in vc_gencmd_read_response
add_definitions(-fno-strict-aliasing)
-add_library(vchostif
- ${VMCS_TARGET}/vcfilesys.c ${VMCS_TARGET}/vcmisc.c
@@ -1582,8 +1582,8 @@ index fde18da..6718215 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.19.1
2.27.0

View File

@@ -1,17 +1,17 @@
From 976cc9355fe18487cd84e313e76f397ab47a4bf8 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/18] 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
@@ -19,10 +19,10 @@ Subject: [PATCH 03/18] wayland: Add Wayland example
create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/triangle.c
diff --git a/host_applications/linux/apps/hello_pi/CMakeLists.txt b/host_applications/linux/apps/hello_pi/CMakeLists.txt
index f2c6aef..0df78f7 100644
index b28a94a..2849fad 100644
--- a/host_applications/linux/apps/hello_pi/CMakeLists.txt
+++ b/host_applications/linux/apps/hello_pi/CMakeLists.txt
@@ -21,6 +21,7 @@ add_subdirectory(hello_encode)
@@ -25,6 +25,7 @@ add_subdirectory(hello_encode)
add_subdirectory(hello_jpeg)
add_subdirectory(hello_videocube)
add_subdirectory(hello_teapot)
@@ -30,6 +30,24 @@ index f2c6aef..0df78f7 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 c379bd2dc575256084d9e36fc11a347e20660130 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/18] 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.19.1
2.27.0

View File

@@ -1,7 +1,7 @@
From bd940c32878d401f311215270579ff513c2f3999 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/18] 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.19.1
2.27.0

View File

@@ -1,7 +1,7 @@
From 466f28ce302f68ac39be750f4b55285791f43ab1 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/18] 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.19.1
2.27.0

View File

@@ -1,7 +1,7 @@
From b4a2967513f7d0f5f3caee8cf6cbc7a7a085ebac 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/18] 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.19.1
2.27.0

View File

@@ -1,7 +1,7 @@
From 14c22987dfa9fec02794856cd15b2d64b4b81c32 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/18] Remove RPC_FLUSH
Subject: [PATCH 08/21] Remove RPC_FLUSH
Origins from buildroot
@@ -23,5 +23,5 @@ index f9b7287..b04ffef 100644
}
#endif
--
2.19.1
2.27.0

View File

@@ -1,7 +1,7 @@
From e510be221276d06e630ab93452ecb712d3921790 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/18] fix cmake dependency race
Subject: [PATCH 09/21] fix cmake dependency race
Fixes errors like
@@ -42,10 +42,10 @@ 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 6718215..c415176 100755
index c202204..16d3184 100755
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
@@ -17,14 +17,6 @@ set(VCHOSTIF_SOURCE
@@ -15,14 +15,6 @@ set(VCHOSTIF_SOURCE
# ${VMCS_TARGET}/vmcs_main.c
# vc_vchi_haud.c
@@ -74,5 +74,5 @@ index f0bae30..8c44c58 100644
struct wl_resource *resource;
struct wl_dispmanx *dispmanx;
--
2.19.1
2.27.0

View File

@@ -1,7 +1,7 @@
From 8e6cde08077eadfe563dc17c19995ebc48e30b97 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/18] 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.19.1
2.27.0

View File

@@ -1,7 +1,7 @@
From 9a97d60262999093d6ce8cb688279506c210d802 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/18] build shared library for vchostif
Subject: [PATCH 11/21] build shared library for vchostif
Fixes #149
@@ -11,10 +11,10 @@ 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 c415176..d0cca1a 100755
index 16d3184..e54f046 100755
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
@@ -17,7 +17,7 @@ set(VCHOSTIF_SOURCE
@@ -15,7 +15,7 @@ set(VCHOSTIF_SOURCE
# ${VMCS_TARGET}/vmcs_main.c
# vc_vchi_haud.c
@@ -22,7 +22,7 @@ index c415176..d0cca1a 100755
+add_library(vchostif SHARED ${VCHOSTIF_SOURCE})
#add_library(bufman vc_vchi_bufman.c )
set(INSTALL_TARGETS vchostif)
--
2.19.1
2.27.0

View File

@@ -1,7 +1,7 @@
From fedd7668152049c15ed58c7058e5f4a9c1fac7cb 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/18] 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.19.1
2.27.0

View File

@@ -1,7 +1,7 @@
From 65f8bca55aead676cd06fc3210aeffef1f2158c6 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/18] 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.19.1
2.27.0

View File

@@ -1,7 +1,7 @@
From dc1d07d835e1fe70c957a655d6fbb8cde65775af 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/18] 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.19.1
2.27.0

View File

@@ -1,7 +1,7 @@
From b5fa294c0d8fcb6dd5bfbfb96a0885dd9f3ae609 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/18] 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.19.1
2.27.0

View File

@@ -1,7 +1,7 @@
From bff03f92c0d8bae113e0c7234c719f8385808b38 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/18] 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.19.1
2.27.0

View File

@@ -1,7 +1,7 @@
From 8efd81e96bdd3be68063a6fd32be4755225e93b2 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/18] 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.19.1
2.27.0

View File

@@ -1,7 +1,7 @@
From 9cfea4761ba68776fd9bfac671b74c7174f99029 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/18] 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.19.1
2.27.0

View File

@@ -0,0 +1,31 @@
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/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
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
opensrc/helpers/libfdt/libfdt_env.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/opensrc/helpers/libfdt/libfdt_env.h b/opensrc/helpers/libfdt/libfdt_env.h
index f4608be..5e83a27 100644
--- a/opensrc/helpers/libfdt/libfdt_env.h
+++ b/opensrc/helpers/libfdt/libfdt_env.h
@@ -18,6 +18,10 @@
#include <string.h>
#include <limits.h>
+#ifdef __bitwise
+#undef __bitwise
+#endif
+
#ifdef __CHECKER__
#define FDT_FORCE __attribute__((force))
#define FDT_BITWISE __attribute__((bitwise))
--
2.27.0

View File

@@ -0,0 +1,43 @@
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 20/21] openmaxil: add pkg-config file
---
CMakeLists.txt | 2 +-
pkgconfig/openmaxil.pc.in | 10 ++++++++++
2 files changed, 11 insertions(+), 1 deletion(-)
create mode 100644 pkgconfig/openmaxil.pc.in
diff --git a/CMakeLists.txt b/CMakeLists.txt
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 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")
diff --git a/pkgconfig/openmaxil.pc.in b/pkgconfig/openmaxil.pc.in
new file mode 100644
index 0000000..8793a61
--- /dev/null
+++ b/pkgconfig/openmaxil.pc.in
@@ -0,0 +1,10 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: openmaxil
+Description: Broadcom openmaxil library
+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

@@ -6,20 +6,21 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENCE;md5=0448d6488ef8cc380632b1569ee6d196"
PROVIDES += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "virtual/libgles2 virtual/egl", d)}"
PROVIDES += "virtual/libomxil"
RPROVIDES_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "libgles2 egl libegl", d)}"
RPROVIDES_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "libgles2 egl libegl libegl1 libglesv2-2", d)}"
COMPATIBLE_MACHINE = "^rpi$"
SRCBRANCH = "master"
SRCFORK = "raspberrypi"
SRCREV = "d574b51a60a075baefe863670466ee24e6c4256e"
SRCREV = "188d3bfe4a0ac36b119a2cee35a6be8d0c68e09e"
# Use the date of the above commit as the package version. Update this when
# SRCREV is changed.
PV = "20181120"
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 \
@@ -38,6 +39,9 @@ SRC_URI = "\
file://0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch \
file://0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch \
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"
@@ -64,6 +68,7 @@ do_install_append () {
sed -i 's/include "vcos_futex_mutex.h"/include "pthreads\/vcos_futex_mutex.h"/g' ${f}
sed -i 's/include "vcos_platform_types.h"/include "pthreads\/vcos_platform_types.h"/g' ${f}
done
rm -rf ${D}${prefix}${sysconfdir}
if [ "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}" = "1" ]; then
rm -rf ${D}${libdir}/libEGL*
rm -rf ${D}${libdir}/libGLES*
@@ -71,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
}
@@ -88,7 +97,5 @@ FILES_${PN}-dev += "${includedir} \
FILES_${PN}-doc += "${datadir}/install"
FILES_${PN}-dbg += "${libdir}/plugins/.debug"
PACKAGE_ARCH = "${MACHINE_ARCH}"
RDEPENDS_${PN} += "bash"
RDEPENDS_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "libegl", "", d)}"
RDEPENDS_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "libegl-mesa", "", d)}"

View File

@@ -1,5 +1,5 @@
DESCRIPTION = "Graphics libraries for BCM2835."
LICENSE = "Proprietary"
LICENSE = "Broadcom-RPi"
LIC_FILES_CHKSUM = "file://LICENCE;md5=86e53f5f5909ee66900418028de11780"
@@ -8,7 +8,7 @@ COMPATIBLE_MACHINE = "^rpi$"
INHIBIT_DEFAULT_DEPS = "1"
include recipes-bsp/common/firmware.inc
include recipes-bsp/common/raspberrypi-firmware.inc
SRC_URI += " \
file://egl.pc \
@@ -25,9 +25,6 @@ do_install () {
install -d ${D}${bindir}
cp -R bin/* ${D}${bindir}
install -d ${D}${sbindir}
cp -R sbin/* ${D}${sbindir}
install -d ${D}${libdir}
# note: -H option to deref symlinked .so
cp -R -H lib/* ${D}${libdir}
@@ -49,7 +46,6 @@ INITSCRIPT_NAME = "vchiq.sh"
INITSCRIPT_PARAMS = "start 03 S ."
FILES_${PN} = "${bindir}/* \
${sbindir}/* \
${libdir}/lib*.so \
${sysconfdir}/init.d \
${libdir}/plugins"

View File

@@ -1,9 +1,5 @@
OPENGL_PKGCFG = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'dri3 xshmfence glamor', '', d)}"
OPENGL_PKGCONFIGS_rpi = "dri glx ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'dri3 xshmfence glamor', '', d)}"
# slightly modified to oe-core's default: add ${OPENGL_PKGCFG}
PACKAGECONFIG_rpi ?= " \
dri2 udev ${XORG_CRYPTO} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri glx ${OPENGL_PKGCFG}', '', d)} \
${@bb.utils.contains("DISTRO_FEATURES", "wayland", "xwayland", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd", "", 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,8 +23,8 @@ 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"
SRCREV = "ade2bae1aaaebede09abb8fb546f767a0e4c7804"
SRC_URI = "git://github.com/RPi-Distro/bluez-firmware;branch=master;protocol=https"
SRCREV = "96eefffcccc725425fd83be5e0704a5c32b79e54"
PV = "0.0+git${SRCPV}"
S = "${WORKDIR}/git"

View File

@@ -25,7 +25,7 @@ LICENSE = "\
"
LIC_FILES_CHKSUM = "\
file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \
file://WHENCE;md5=a9c2c217f513c20e1d16b384b3e2c12d \
file://WHENCE;md5=7b12b2224438186e4c97c4c7f3a5cc28 \
"
# These are not common licenses, set NO_GENERIC_LICENSE for them
@@ -33,9 +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"
SRCREV = "b518de45ced519e8f7a499f4778100173402ae43"
PV = "0.0+git${SRCPV}"
SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=buster;protocol=https"
SRCREV = "98e815735e2c805d65994ccc608f399595b74438"
PV = "20190114-1+rpt8"
S = "${WORKDIR}/git"
@@ -58,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

@@ -0,0 +1,57 @@
From e66a0be4fac135d67ab228a6fd1453b9e36a3644 Mon Sep 17 00:00:00 2001
From: Changbin Du <changbin.du@gmail.com>
Date: Tue, 28 Jan 2020 23:29:38 +0800
Subject: [PATCH] perf: Make perf able to build with latest libbfd
libbfd has changed the bfd_section_* macros to inline functions
bfd_section_<field> since 2019-09-18. See below two commits:
o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html
o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html
This fix make perf able to build with both old and new libbfd.
Signed-off-by: Changbin Du <changbin.du@gmail.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/srcline.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c
index af3f9b9f1e8b..b8e77617fdc4 100644
--- a/tools/perf/util/srcline.c
+++ b/tools/perf/util/srcline.c
@@ -191,16 +191,30 @@ static void find_address_in_section(bfd *abfd, asection *section, void *data)
bfd_vma pc, vma;
bfd_size_type size;
struct a2l_data *a2l = data;
+ flagword flags;
if (a2l->found)
return;
- if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
+#ifdef bfd_get_section_flags
+ flags = bfd_get_section_flags(abfd, section);
+#else
+ flags = bfd_section_flags(section);
+#endif
+ if ((flags & SEC_ALLOC) == 0)
return;
pc = a2l->addr;
+#ifdef bfd_get_section_vma
vma = bfd_get_section_vma(abfd, section);
+#else
+ vma = bfd_section_vma(section);
+#endif
+#ifdef bfd_get_section_size
size = bfd_get_section_size(section);
+#else
+ size = bfd_section_size(section);
+#endif
if (pc < vma || pc >= vma + size)
return;

View File

@@ -0,0 +1,40 @@
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] selftest/bpf: Use CHECK macro instead of RET_IF
backporting 634efb750435d0a489dc58477d4fcb88b2692942 causes build
failures because RET_IF is defined in 7ee0d4e97b889c0478af9c1a6e5af658b181423f
but that is not backported
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>
---
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 079d0f5a2909..7e4c91f2238d 100644
--- a/tools/testing/selftests/bpf/test_select_reuseport.c
+++ b/tools/testing/selftests/bpf/test_select_reuseport.c
@@ -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",
+ 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",
+ CHECK(err, "reset line number in linum_map", "err:%d errno:%d\n",
err, errno);
for (i = 0; i < REUSEPORT_ARRAY_SIZE; i++)
--
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

@@ -0,0 +1,2 @@
# see emmc node
CONFIG_MMC_SDHCI_IPROC=y

View File

@@ -5,18 +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.16"
LINUX_RPI_DEV_BRANCH ?= "rpi-4.16.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_DEV_BRANCH} \
file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \
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"

View File

@@ -0,0 +1,9 @@
LINUX_VERSION ?= "4.14.91"
SRCREV = "0b520d5f1f580d36a742a9457a5673fa1578fff3"
SRC_URI = " \
git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y-rt \
file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \
"
require linux-raspberrypi.inc

View File

@@ -0,0 +1,6 @@
LINUX_VERSION ?= "4.19.71"
LINUX_RPI_BRANCH ?= "rpi-4.19.y-rt"
SRCREV = "e2e9cec6fb061ba58304fd391ef76747f2963557"
require linux-raspberrypi_4.19.inc

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