691 Commits
jethro ... zeus

Author SHA1 Message Date
Orne Brocaar
0e05098853 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:59:00 +01:00
Pierre-Jean Texier
d17588fe86 linux-raspberrypi: bump to Linux version 4.19.93
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
2020-01-28 10:04:36 +00:00
Martin Jansa
71e188ecd5 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-28 10:04:36 +00:00
Andrei Gherzan
e7869f781d linux-raspberrypi: Bump to 4.19 recipe to 4.19.88
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2020-01-28 10:04:36 +00:00
Andrei Gherzan
bbefb8b185 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>
2020-01-28 10:04:36 +00:00
Francois Retief
21b9936511 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>
2020-01-28 10:04:36 +00:00
Andrei Gherzan
f180928988 linux-raspberrypi: Bump to 4.19 recipe to 4.19.81
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2020-01-28 10:04:36 +00:00
Andrei Gherzan
83e5f70a73 raspberrypi-firmware: Update to current HEAD
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2020-01-28 10:04:36 +00:00
Paul Barker
5fb2819858 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>
2020-01-28 10:04:36 +00:00
Martin Jansa
609df93917 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>
2020-01-28 10:04:36 +00:00
Pierre-Jean Texier
85b75588fd 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>
(cherry picked from commit d059288fa0)
2019-12-26 10:40:25 +00: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
Peter A. Bigot
f752e92383 bluez5: use pi-bluetooth package for startup infrastructure
RPi-Distro has augmented their bluetooth infrastructure to support new
features.  It also correctly handles restart, which fixes problems when
faults cause hciattach to exit.  Replace brcm43438.service with the
upstream ones.

Resolves: #330
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-11-23 16:25:34 +02:00
Peter A. Bigot
bfc35b773f linux-firmware: replace machine override with new recipes
Raspberry Pi hardware requires firmware that supersedes or is not
present in the standard linux-firmware distribution.  These files are
maintained in the RPi-Distro project on github.

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

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

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

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

Resolves: #298
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-11-23 16:25:34 +02:00
Khem Raj
10cee099bc omxplaye: Fix build with userland graphic driver
- Upgrade to latest omxplayer with ffmpeg 4.x
- drop backported patches which are not needed
- Make vc4 support patch conditionally apply only when vc4graphics is used

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-22 11:49:36 +02:00
Khem Raj
7c94afee2b userland: Update to latest master
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-21 17:56:52 +02:00
Khem Raj
981376b1c4 qtbase_%.bbappend: Depend on userland package
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-21 17:56:52 +02:00
Khem Raj
b38a77938a userland: Merge userland-nogl into userland itself
Control the installs via MACHINE_FEATURES and avoid almost duplicate
recipe

Adjust other recipes to depend on userland now

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-21 17:56:52 +02:00
Khem Raj
e1ba4484c0 qtbase: Tackle the case when eglfs is to be used
This provides out of box configuration for QT/eglfs use
when x11/wayland arent used but plain EGLFS is in play

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-19 18:21:43 +02:00
Khem Raj
c8b6962487 conf/layer.conf: Use BBFILES_DYNAMIC to handle dynamic-layers
BBFILES_DYNAMIC can be used to activate content only when given
layers are present.

For now just add qt5 layer to the BBFILES_DYNAMIC list

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-19 18:21:43 +02:00
Khem Raj
1583815847 docs: Add more info on generating initramfs images
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-15 17:45:48 +02:00
Andrei Gherzan
b589574d9e firmware.inc: Update to 20180924
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-11-08 13:23:23 +00:00
Andrei Gherzan
db02864e83 linux-raspberrypi: Update to 4.14.79
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-11-08 13:23:23 +00:00
Khem Raj
78259ad6e2 extra-build-config.md: Improve documentation on generating initramfs image
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-08 13:23:05 +00:00
Khem Raj
f661406e2d omxplayer: Fix build when using vc4graphics driver
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-08 13:23:05 +00:00
Khem Raj
229363bbac gstreamer1.0-omx: Use rpi target and depend on userland-nogl
This ensures that it links to right userland libraries to get access to
accelarated video path

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-07 14:25:00 +00:00
Khem Raj
0c14814f23 machines: Drop VC4_CMA_SIZE
setting cma is not required with latest vc4 driver

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-07 14:25:00 +00:00
Khem Raj
d05f559089 userland-nogl: Add recipe which does not include GL libraries
This is needed when mesa is providing these libraries especially when
using vc4graphics

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-07 14:25:00 +00:00
Khem Raj
f7a2726cdf omxplayer: Forward port patches and fix build
Fixes issue #324

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-07 14:25:00 +00:00
Otavio Salvador
0f14d185d3 rpi-base.inc: Add gpio-key to the device tree overlays
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-31 01:52:54 +00:00
Otavio Salvador
f61854f3c9 rpi-base.inc: Sort device tree overlays
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-31 01:52:54 +00:00
Otavio Salvador
43bad59ab5 linux-firmware: Bump revisions
- raspbian-nf = "b518de45ced519e8f7a499f4778100173402ae43"
 - raspbian-bluez = "ade2bae1aaaebede09abb8fb546f767a0e4c7804"

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-30 17:15:29 +00:00
Khem Raj
30200f75d6 rpi-config: Use vc4-kms-v3d for raspberrypi3-64 as well
vc4-fkms-v3d needs dispmanx, its DRM VC4 V3D driver on top of the dispmanx
display stack, this does not work with 4.14 kernel and since we always
use vc4graphics on 64bit, just keep using vc4-kms-v3d dtbo which should
enable right graphics

Tested with core-image-sato, running glxgears with 55.5fps in
raspberrypi3-64

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-10-04 11:41:55 +01:00
Khem Raj
16a8bb9da0 xorg-server: Do not install 10-noglamor.conf
This causes glamor APIs to be disabled and glxgears run very slow
like 1FPS, without this it speeds up to 55.5fps

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-10-02 14:14:54 +01:00
Khem Raj
0b10f248d0 mesa: Build swrast gallium driver along with vc4
when running -ctestimage target, it fails because of errors it finds in
Xorg logs

| Log:
/mnt/a/yoe/build/tmp/work/raspberrypi3-yoe-linux-gnueabi/core-image-sato/1.0-r0/target_logs/Xorg.0.log
| -----------------------
| Central error: [    14.760] (EE) AIGLX error: dlopen of /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory)

Therefore we enable swrast gallium drivers to make xorg happy

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-10-02 14:14:54 +01:00
Khem Raj
4f3a81e165 layer.conf: Add thud to compatible layer series
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-09-26 23:44:21 +03:00
Khem Raj
9da0723f4c packagegroup-rpi-test: Ensure that OMXPLAYER is only set when using userland graphics
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-09-20 22:27:18 +03:00
Khem Raj
c1aabba056 omxplayer: Update and add fixes for OpenSSL 1.1.x and thumb2
* Update to latest from upstream
* Backport OpenSSL 1.1.x related patches for ffmpeg
* Pass --cpu based on machine, instead of hardcoding it to arm1176jzf-s
* Make --cc, --cxx and --ld be used from environment, helps building
  with clang
* It requires userland graphics driver to build to encode that in
  COMPATIBLE_HOST

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-09-20 22:27:18 +03:00
Andrei Gherzan
ab8a44d655 rpi-base.inc: Build rpi-poe dtb overlay
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-09-11 11:36:35 +01:00
Andrei Gherzan
9bfbd7a26a linux-raspberrypi: Build rpi poe fan driver
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-09-11 11:36:35 +01:00
Andrei Gherzan
19be0e76a2 linux-raspberrypi: Update to 4.14.68
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-09-11 11:36:35 +01:00
Andrei Gherzan
d747f4cf47 firmware: Update to 20180817
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-09-11 11:36:35 +01:00
Laurent Bonnans
165bdf8974 sdcard_image-rpi: fix kernel artifacts variables
${INITRAMFS_SYMLINK_NAME} has been changed to ${INITRAMFS_LINK_NAME} in
poky's commit f09947586c5c2c05368651838fea970808ab161d
2018-09-07 13:01:51 +01:00
Steve Pavao
f98b279297 rpi-hwup-image.bb: Modified the warning message in do_image_prepend()
When bitbaking image rpi-hwup-image, a warning message is generated
to inform he user that the image is deprecated.  The warning message
contains a suggestion of a non-deprecated image to use instead.

Previous to this commit, core-image-minimal was the suggested alternate
image.  This was a subpar suggestion, because rpi-hwup-image packages
the kernel modules in the image, but core-image-minimal does not.  This
can lead to confusion for the user, who may not immediately realize that
their kernel modules are no longer in the image.  With this commit, the
warning message now suggests core-image-base, which packages the kernel
modules in its image.

This change was suggested by Khem Raj on the Yocto project mailing list.

Signed-off-by: Steve Pavao <stevep@korgrd.com>
2018-08-17 21:09:33 +01:00
Hugo Hromic
576ac27869 machines: use new format for SERIAL_CONSOLES
From the documentation:

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

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

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

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

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-08-16 11:34:33 +01:00
Khem Raj
b660366a30 piglit,kmscube: Disable when using userland graphics driver
These packages need stuff from mesa which is not available in
userland implementation as of now

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-08-16 11:34:33 +01:00
Khem Raj
40a9a11794 pi-blaster: Fix build with glibc 2.28
Licesnse-Update: Limit the check to license text alone and not until end of file
                 and point to correct lines otherwise license is unchanged

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-08-16 11:34:33 +01:00
Khem Raj
2f7e6e9b0e wiringpi: Add missing dependency on libcrypt
This library has moved out into independent package with glibc 2.28+

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-08-16 11:34:33 +01:00
Daniel Rank
2e23e17666 wiringpi: uprev to 2.46
Update to v2.46 to support the RPi 3 B+.

Patches reworked as follow:
* 0001-Add-initial-cross-compile-support.patch: rebase to current
upstream

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

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-07-26 23:11:07 +01:00
Andrei Gherzan
39381720bd linux-raspberrypi: Update to v4.14.58
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-07-26 23:11:07 +01:00
Martin Jansa
3623b89c53 linux-firmware: remove duplicate ${PN}-bcm43455 package
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-07-26 17:42:12 +01:00
Martin Jansa
effb6afeff linux-firmware: move ${PN}-cypress-license handling to oe-core recipe
* this will make this bbappend a bit more version agnostic
* depends on oe-core commits from:
  http://lists.openembedded.org/pipermail/openembedded-core/2018-July/153164.html
  to prevent including ${PN}-cypress-license package twice in PACKAGES
  http://lists.openembedded.org/pipermail/openembedded-core/2018-July/153165.html

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-07-20 16:41:37 +01:00
Mirza Krak
7cd27ce83e linux-raspberrypi: update 4.9 recipe to current HEAD
Contains the following changes:

    7f9c648dad64 drm/vc4: Move IRQ enable to PM path

which fixes an unbalanced IRQ enable warning, which was rapported
in #286

Signed-off-by: Mirza Krak <mirza.krak@northern.tech>
Signed-off-by: Gunnar Andersson <gandersson@genivi.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-07-20 12:24:15 +01:00
Jonathan Haigh
c7999e8c2f rpi-base.inc: update IMAGE_BOOT_FILES for change in oe-core
[Issue #285] -- https://github.com/agherzan/meta-raspberrypi/issues/285

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

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

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

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-07-16 18:54:26 +01:00
Khem Raj
0bea144135 userland: Define missing GLES2 defines needed for weston
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-07-16 16:57:38 +01:00
Khem Raj
9f523f5ecc Revert "userland: drop now obsolete backport khronos typedef patch"
This reverts commit e713c3f60d.
2018-07-16 16:57:38 +01:00
Khem Raj
a0beccee73 mesa-demos,piglit,packagegroup-core-tools-testapps: Remove dependency on mesa-demos
mesa-demos demand libgles1 and userland driver does not have it, therefore make it
conditional on choice of graphics driver, remove it when using userland driver and
keep it when using vc4 graphics driver.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-07-16 16:57:38 +01:00
Martin Jansa
52255ae3af sdcard_image-rpi.bbclass: allow to easily deploy vfat partition even for non u-boot case
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-07-16 16:54:32 +01:00
Martin Jansa
e8f9a4e8f8 sdcard_image-rpi.bbclass: drop KERNEL_INITRAMFS variable
* use INITRAMFS_SYMLINK_NAME from new kernel-artifact-names.bbclass
  instead of KERNEL_INITRAMFS
* the documentation says that KERNEL_INITRAMFS should be used to
  define extension of initramfs, but in linux-raspberrypi.inc it's
  defined only to 1 or empty based on INITRAMFS_IMAGE_BUNDLE variable
  and I don't see any code in meta-raspberry or oe-core which would
  use KERNEL_INITRAMFS to actualy name the initramfs artifact to create:
  ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin
  used in classes/sdcard_image-rpi.bbclass
* also fix the assumption that there is -${MACHINE} suffix in:
  ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin
  because that's defined as KERNEL_IMAGE_SYMLINK_NAME and some DISTROs
  might use different value
* this depends on oe-core changes which were merged today:
  http://git.openembedded.org/openembedded-core/commit/?id=7d0ef0eaa1bfe97015a774c26f5791622e7e8b12
* this is the last piece of previous pull-request:
  https://github.com/agherzan/meta-raspberrypi/pull/159

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-07-16 16:54:32 +01:00
Martin Jansa
efa848ca84 sdcard_image-rpi.bbclass: use 4 spaces for indentation instead of mix of tabs and spaces
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-07-07 11:28:48 +01:00
Martin Jansa
55aadae7aa sdcard_image-rpi: add dependency on rpi-u-boot-scr
* there is runtime dependency on rpi-u-boot-scr from u-boot itself:
  recipes-bsp/u-boot/u-boot_%.bbappend:RDEPENDS_${PN}_append_rpi = " rpi-u-boot-scr"
* but that's not enough to ensure that rpi-u-boot-scr:do_deploy is
  finished before do_image_rpi_sdimg and for
  ${DEPLOY_DIR_IMAGE}/boot.scr to exist in time

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-07-07 11:28:48 +01:00
Martin Jansa
4826d22580 sdcard_image-rpi.bbclass: copy the DTB files with canonical name
* instead of using ${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb use
  the entries from KERNEL_DEVICETREE
* basename is still needed because raspberrypi3-64 is using:
  broadcom/bcm2710-rpi-3-b.dtb and the ${DEPLOY_DIR_IMAGE} doesn't
  contain any directories for DTBs and we cannot remove broadcom/
  prefix, because then "make bcm2710-rpi-3-b.dtb" from
  kernel-devicetree.bbclass will fail with:
  make[3]: *** No rule to make target 'arch/arm64/boot/dts/bcm2710-rpi-3-b.dtb'.  Stop.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-07-07 11:28:48 +01:00
Khem Raj
c4400ca811 linux-raspberrypi: Update to 4.14.52+
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-07-07 11:27:15 +01:00
Khem Raj
c9a4b5666f firmware: Update to 20180619 release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-07-07 11:27:15 +01:00
Khem Raj
d5f7ff887d userland: Update to latest as of 20180702
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-07-07 11:27:15 +01:00
Hugo Hromic
e713c3f60d userland: drop now obsolete backport khronos typedef patch
The patch introduced in 237e0c7 is now fixed upstream in gstreamer-base-1.14.1, hence drop it.

See: <2f3ff84f40>

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-07-04 15:33:16 +01:00
Hugo Hromic
3b6549a5e0 wiringpi: use lower-case in recipe directory name
Keep naming consistency.

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-06-27 13:38:23 +01:00
Hugo Hromic
efa81bff3e meta-raspberrypi: use generic licenses in ${COMMON_LICENSE_DIR} from Poky
Keep consistency with current practices.

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-06-27 13:38:23 +01:00
Hugo Hromic
19d0fcac21 pi-bluetooth: use _git suffix in recipe filename
Keep naming consistency.

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-06-27 13:38:23 +01:00
Hugo Hromic
b825f32ccd meta-raspberrypi: use _% suffix instead of specific versions for bbappends
Keep naming consistency and ensure they are still applied when the upstream recipes are updated.

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-06-27 13:38:23 +01:00
Hugo Hromic
a477b29cc1 linux-firmware: update Cypress license checksum
Upstream recipe was updated and the license checksum needed refresh.
See: <https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=e3bec3951b2f95e5f9a592cc3f64c8f5fb152f57>

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-06-27 13:33:53 +01:00
Hugo Hromic
2b3526563e omxplayer: refresh and clean-up patches
fixes:

    WARNING: omxplayer-git-r4 do_patch:

    Applying patch 0003-Remove-strip-step-in-Makefile.patch
    patching file Makefile.ffmpeg
    Hunk #1 succeeded at 241 with fuzz 2 (offset -2 lines).
    Hunk #2 succeeded at 255 (offset -2 lines).

    Applying patch fix-tar-command-with-DIST.patch
    patching file Makefile
    Hunk #1 succeeded at 89 with fuzz 2 (offset 18 lines).

    Applying patch use-native-pkg-config.patch
    patching file Makefile.ffmpeg
    Hunk #1 succeeded at 245 with fuzz 1.

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-06-27 13:33:02 +01:00
Hugo Hromic
f8da9113fa formfactor: use rpi instead of raspberrypi to apply to all rpi machines
Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-06-27 13:31:40 +01:00
Hugo Hromic
71a040dc11 userland: fix backport khronos typedef patch
The patch in 237e0c7 used a define guard that clashes with an actual feature of Khronos (EGL_KHR_stream).
This makes some packages such as `qtbase` to think that the outdated Krhonos in userland has newer features.
This fix uses a more specific name for the relevant define guard (EGL_KHR_uint64_typedef).

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-06-27 13:28:52 +01:00
Anton Gerasimov
b2da4618b0 docs: document support for 802.15.4 hat
Signed-off-by: Anton Gerasimov <tossel@gmail.com>
2018-06-04 16:00:39 +01:00
Anton Gerasimov
f51047bafb rpi-config: load at86rf233 overlay
Controlled with ENABLED_AT86RF variable

Signed-off-by: Anton Gerasimov <tossel@gmail.com>
2018-06-04 16:00:39 +01:00
Anton Gerasimov
2ad9aa01e7 rpi-base.inc: install at86rf233 overlay
Controlled with ENABLE_AT86RF variable

Signed-off-by: Anton Gerasimov <tossel@gmail.com>
2018-06-04 16:00:39 +01:00
Khem Raj
de597abc3b gstreamer1.0-plugins: App proper appends for base and bad plugins
This patch accounts for the fact that rpi dispmanx plugin migrated
from bad to base stating 1.14 release

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-05-22 21:38:09 +01:00
Hugo Hromic
7f7bc9e778 wayland: only remove libwayland-egl if not using vc4graphics, e.g. when using userland
Related to PR #247.

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-05-16 19:24:15 +01:00
Peter A. Bigot
1fb4dcc0b5 rpi-config: remove explicit device tree selection for raspberrypi3-64
The current firmware doesn't need this.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-14 16:56:05 +01:00
Peter A. Bigot
dd94917555 raspberrypi3-64.conf: add 3B+ device tree
Closes #253

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-14 16:56:05 +01:00
Hugo Hromic
237e0c79c6 userland: bumped version and backport khronos 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
expects the `EGLuint64KHR` typedef that is present in recent versions of Khronos.
However, the older version included in userland does not provide it.

This patch backports the missing typedef from recent Khronos into userland.
See: <https://www.khronos.org/registry/EGL/api/EGL/eglext.h>

Submitted to userland in <https://github.com/raspberrypi/userland/pull/467>

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-05-14 14:35:43 +01:00
Khem Raj
bf2a07be69 gstreamer1.0-plugins-bad_%.bbappend: Drop --disable-dispmanx
1.14 does not support this option
Fixes
QA Issue: gstreamer1.0-plugins-bad: configure was passed unrecognised options: --disable-dispmanx [unknown-configure-option]

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

Closes #244

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-14 10:34:08 +01:00
Hugo Hromic
de8912cbcb wayland: do not install libwayland-egl from wayland
Wayland was updated recently in Poky, and now includes `libwayland-egl`:

    commit 8097bf7012a0d97d3b8b48eceb5dc20cc4ae7ca9
    Author: Denys Dmytriyenko <denys@ti.com>
    Date:   Tue Apr 10 15:06:09 2018 -0400

        wayland: upgrade to 1.15.0

        Official announcement:
        https://lists.freedesktop.org/archives/wayland-devel/2018-April/037767.html

        | libwayland-egl is now part of libwayland, and will presumably be removed
        | from mesa in the not too distant future.

        Update mesa recipe by removing corresponding libwayland-egl entries.

        (From OE-Core rev: 6e5952fcfc13ff4b63c9376bd41a1dbba957f425)

        Signed-off-by: Denys Dmytriyenko <denys@ti.com>
        Signed-off-by: Ross Burton <ross.burton@intel.com>
        Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

However, the `userland` ships its own version of the library (see issue #243).
Until further testing, for now discard the version in `wayland` in favour of the version in `userland`.

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-05-14 10:33:19 +01:00
Khem Raj
5492c68403 gstreamer1.0-omx: Forward port bbappend to 1.14
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-05-12 11:16:15 +01:00
Peter A. Bigot
53af636f88 pi-bluetooth: create to provide standard raspbian script for bluetooth setup
Unique bluetooth device addresses are not assigned correctly with some
firmware, resulting in a fixed default address.  Use the same utility as
raspbian does to initialize the device.

Closes #236

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-09 16:45:50 +01:00
Peter A. Bigot
2a0f25a71f bluez-firmware-raspbian: create to hold non-free firmware
Remove the material covered by the Cypress license from the bluez5
package and move it to its own package, derived directly from the
upstream sources.

Closes #224

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-09 16:45:50 +01:00
Peter A. Bigot
6f8926e80e bluez5: fix issues with systemd script
Type=simple is wrong: it allows bluetooth.service to start before the
uart is configured, resulting in hci0 command tx timeout errors.
Type=oneshot blocks follow-up units until the ExecStart completes.

Add RemainAfterExit since system state has changed as a result of the
unit.

Also add a BindsTo for the device that we're going to use.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-09 16:45:50 +01:00
Peter A. Bigot
df53ac131a bluez5: trivial fix to RDEPENDS
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-09 16:45:50 +01:00
Peter A. Bigot
8aca17aa58 linux-raspberrypi: Update to v4.14.39
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-09 16:45:50 +01:00
Peter A. Bigot
70d0c30824 firmware: Update to 20180417
stable #4

RaspberryPi 3B+ support

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-09 16:45:50 +01:00
Jonathan Haigh
d2015ceee0 u-boot: Remove upstreamed U-Boot rpi0w defconfig patch
[Issue #239] -- https://github.com/agherzan/meta-raspberrypi/issues/239

The patch 0002-rpi_0_w-Add-configs-consistent-with-RpI3.patch has been
applied to the upstream U-Boot repo and is now in the release that
openembedded-core uses so remove it from meta-raspberrypi's U-Boot
bbappend.

Signed-off-by: Jonathan Haigh <jonathan.haigh@arm.com>
2018-05-09 16:40:25 +01:00
Eduardo Abinader
a93a373c3e config_git.bb: Remove extra space
Signed-off-by: Eduardo Abinader <eduardoabinader@gmail.com>
2018-05-07 16:50:27 +01:00
Peter A. Bigot
d3709fa688 rpi-config: add helper to enable dwc2 peripheral support
Document and add support to easily enable USB gadget mode.

Also fix a spelling error.

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

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

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-05-05 10:03:21 +01:00
Khem Raj
cf9971fa8b xserver-xf86-config: Disable glamor for vc4 in general
We need this fix across 32bit and 64bit with vc4/mesa

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-05-04 22:08:38 +01:00
Khem Raj
4d689a792c webkitgtk: Add a bbappend to disable gst-gl on vc4
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-05-04 22:08:38 +01:00
Khem Raj
014408d1ac linux-raspberrypi: Disable serial on kernel cmdline if ENABLE_UART is unset
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-05-04 22:08:38 +01:00
Eduardo Abinader
070c894321 sdcard_image-rpi.bbclass: Fix a typo in comment
Only a small typo on bbclass header.

Signed-off-by: Eduardo Abinader <eduardoabinader@gmail.com>
2018-05-04 15:11:47 +01:00
Paul Barker
693f36dded linux-raspberrypi: Drop CONFIG_OABI_COMPAT completely
There's no reason to support the old, outdated ARM OABI when upstream
linux-raspberrypi doesn't support this by default.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-04-23 14:08:04 +01:00
Paul Barker
2c7eab2d0d linux-raspberrypi: Drop inappropriate forced settings
CONFIG_BLK_DEV_DRBD: Deciding whether to use the in-kernel DRBD module or the
external drbd recipe in meta-networking is a policy decision and doesn't belong
in our BSP layer.

CONFIG_LEGACY_PTYS: These are legacy for a reason. They're not enabled in the
defconfig so they shouldn't be required for rpi devices. Let's drop this here,
it can be added back in a distro layer where (if) needed.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-04-23 14:08:04 +01:00
Paul Barker
d2ead7c039 linux-raspberrypi: Don't set CONFIG_CMDLINE
We force the command line at runtime via cmdline.txt anyway.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-04-23 14:08:04 +01:00
Paul Barker
66103edbb8 linux-raspberrypi: Drop support for CMDLINE_NFSROOT_USB
This is obsolete, undocumented and won't work anyway since we force the kernel
command line to ${CMDLINE} via the cmdline.txt file.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-04-23 14:08:04 +01:00
Paul Barker
be2d9b1bf6 linux-raspberrypi: Drop unnecessary configurations
KERNEL_ENABLE_CGROUPS: This is obsolete, all required config options for cgroups
are enabled by default.

KERNEL_INITRAMFS: Some of the config options we set are already enabled by
default.

UDEV_GE_141: This is long obsolete and all the required config options are
already set in the defconfig.

ARM_KEEP_OABI: AEABI=y and OABI_COMPAT=n are already set in the defconfig.

CONFIG_LOCALVERSION_AUTO: This setting is already disabled in the defconfig.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-04-23 14:08:04 +01:00
Paul Barker
92aac38577 Don't use RDEPENDS in recipes which don't create packages
RDEPENDS is fairly meaningless for recipes which don't create a package to be
installed into the rootfs. Instead we should be using DEPENDS to guarantee
correct ordering of build tasks.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-04-23 14:08:04 +01:00
Paul Barker
9b2cbacb07 Drop unnecessary dependencies and tasks
We have a few recipes which only deploy files that go into the boot partition
and do not create packages to be installed into the rootfs. These recipes don't
need to run the usual packaging tasks so we can drop them to speed up the build
a little.

We also have a bunch of recipes that don't need the usual toolchain as they just
copy files or invoke native commands like `mkimage`. So to speed up the build a
little more we can set INHIBIT_DEFAULT_DEPS to avoid an unnecessary dependency
on the toolchain.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-04-23 14:08:04 +01:00
Paul Barker
e059aaffdf linux-raspberrypi-dev: Update to v4.16.y
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-04-23 14:08:04 +01:00
Paul Barker
9e3a5ef513 linux-raspberrypi: Update to v4.14.34
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-04-23 14:08:04 +01:00
Paul Barker
2bea3356a9 linux-raspberrypi: Update v4.9.y kernel
This branch is still getting a few fixes upstream.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-04-23 14:08:04 +01:00
Paul Barker
51249c9c78 linux-raspberrypi: Allow specification of ncurses location
From patch message:

    In some cross build environments such as the Yocto Project build environment
    it provides an ncurses library that is compiled differently than the host's
    version.  This causes display corruption problems when the host's curses
    includes are used instead of the includes from the provided compiler are
    overridden.  There is a second case where there is no curses libraries at
    all on the host system and menuconfig will just fail entirely.

    The solution is simply to allow an override variable in check-lxdialog.sh
    for environments such as the Yocto Project.  Adding a CROSS_CURSES_LIB and
    CROSS_CURSES_INC solves the issue and allowing compiling and linking against
    the right headers and libraries.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-04-23 14:08:04 +01:00
Hugo Hromic
3175e7f3e2 rpi-config: support more commonly used config variables and update documentation
Added support for and documented the following new extra build options:

* gpu_freq overclocking option
* disable boot rainbow splash screen
* configure the boot delay after GPU firmware loading
* configure common HDMI and composite video options

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-04-20 15:17:20 +01:00
Peter A. Bigot
5641ac3730 bluez5: update bluez-firmware
Updated BCM43430A1.hcd to bluez-firmware_1.2-3+rpt4.1.debian.tar.xz
Added BCM4345C0.hcd for RasperryPi 3B+ support

Files from https://github.com/RPi-Distro/bluez-firmware at commit
50fa5628b5c2fd6c59090fb18f02af9fd98c3170

Closes Issue #222

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-04-15 00:00:50 +01:00
Martin Jansa
35234a0bfa layer.conf: add LAYERSERIES_COMPAT
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-04-06 14:57:39 +01:00
Andreas Müller
4bf40b2d32 udev-udisks-rules-rpi: Hide initial boot partition from udisks2
If I am not mistaken, many desktops (kde/lxqt/xfce..) use udisks2 to ask for
devices which can be mounted. Without this patch the initial boot partition
can be mounted by a single click on folder displayed on desktop or file manager.

Why it is suggested to add this recipe to an image:
* It removes annoying icon in desktop/file manager.
* The initial boot partition is vfat. Unpriviledged users can modify
  content. E.g by removing files accidently, images can be turned into
  non-booting condition easily. And from security point of view, it is a
  disaster.

FWIW: Have similar in all my BSPs vor very long time.

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2018-04-06 12:33:40 +01:00
Andreas Müller
963761aac3 mesa: enable dri3 explicitly
Currently oe-core enables dri3 only for x11 AND vulcan. Although patch enabling
dri3 by default in oe-core was sent out, make sure here dri3 is enabled -
whatever oe-core suggest in the future.

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2018-04-06 12:33:40 +01:00
Paul Barker
292e00099b Merge pull request #215 from agherzan/ag_rpi3bplus
RasperryPi 3B+ support
2018-04-03 11:49:38 +01:00
Andrei Gherzan
519da94776 layer-contents.md: Update documentation
* Raspberry Pi 3B+ support mentioned
* Add info about linux-firmware-raspbian

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-03-29 14:27:25 +01:00
Andrei Gherzan
279b14730a linux-firmware: Remove as replaced by linux-firmware-raspbian
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-03-29 14:26:57 +01:00
Andrei Gherzan
3934ba7127 raspberrypi0-wifi.conf: Use linux-firmware-raspbian package
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-03-29 14:16:37 +01:00
Andrei Gherzan
0059905a90 rpi-base.inc: Add Raspberry Pi 3B+ dtb
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-03-29 11:49:40 +01:00
Andrei Gherzan
c717e7359a raspberrypi3-64.conf: Use linux-firmware-raspbian packages and add bcm43455
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-03-29 11:06:35 +01:00
Andrei Gherzan
d5f252ef23 raspberrypi3.conf: Use linux-firmware-raspbian packages and add bcm43455
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-03-29 11:05:57 +01:00
Andrei Gherzan
9209f20c7a linux-firmware-raspbian: New recipe which uses RPi-Distro repository
This packages only the firmware needed for the RaspberryPi boards. We use the
RPi-Distro as it's already maintained by the Raspbian guys and we get better
support for the RaspberryPi needed firmwares.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-03-29 11:04:40 +01:00
Andrei Gherzan
e99afb0c89 firmware: Update to 20180313
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-03-28 14:48:34 +01:00
Andrei Gherzan
857db4a496 linux-raspberrypi: Update 4.14 recipe to 4.14.30
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-03-28 14:48:33 +01:00
Andrei Gherzan
a4c79714d6 linux-raspberrypi: Update 4.9 recipe to current HEAD
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-03-28 14:48:26 +01:00
Paul Barker
63e53f9190 docs: Remove reference to deprecated images
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-03-23 20:41:12 +00:00
Hugo Hromic
415c1998a6 gstreamer1.0-omx: refresh and clean-up patches
fixes:

    WARNING: gstreamer1.0-omx-1.12.4-r0 do_patch:
    Some of the context lines in patches were ignored. This can lead to incorrectly applied patches.
    The context lines in the patches can be updated with devtool:

        devtool modify <recipe>
        devtool finish --force-patch-refresh <recipe> <layer_path>

    Then the updated patches and the source tree (in devtool's workspace)
    should be reviewed to make sure the patches apply in the correct place
    and don't introduce duplicate lines (which can, and does happen
    when some of the context is ignored). Further information:
    http://lists.openembedded.org/pipermail/openembedded-core/2018-March/148675.html
    https://bugzilla.yoctoproject.org/show_bug.cgi?id=10450
    Details:
    Applying patch 0001-config-files-path.patch
    patching file config/bellagio/gstomx.conf
    Hunk #1 succeeded at 1 with fuzz 2.
    Hunk #2 succeeded at 9 with fuzz 2.
    patching file config/rpi/gstomx.conf
    Hunk #8 succeeded at 63 with fuzz 2.
    Hunk #10 succeeded at 82 with fuzz 2.
    Hunk #11 succeeded at 92 with fuzz 2.

    Now at patch 0001-config-files-path.patch

deleted obsolete `gstreamer1.0-omx` directory with duplicated patches that are also in `gstreamer1.0-omx-1.12`.
made file naming for `gstreamer1.0-omx_%.bbappend` consistent with the rest of the layer recipes.

Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-03-23 11:44:45 +00:00
Paul Barker
f86f9f0013 Merge pull request #202 from kraj/kraj/master
Upgrade to 4.14 kernel
2018-03-18 19:09:12 +00:00
Khem Raj
790e100a90 userland: Add wayland support for libbrcmEGL
These renames are recently added
dd98890106

Some packages e.g. libSDL2 has started using the new names
and are resulting in undefined symbols e.g.

| /mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-gnueabi/libsdl2-mixer/2.0.2-r0/recipe-sysroot/usr/lib/libb
rcmEGL.so: undefined reference to `wl_resource_post_error'

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-03-08 20:31:12 -08:00
Khem Raj
4230fae1de firmware: Use snapshots from master again
This time use the snapshot archives to avoid
repo clone size issues

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-03-08 20:31:12 -08:00
Khem Raj
712558c64e userland: Update to master as of 20180219
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-03-08 20:31:12 -08:00
Khem Raj
b588825238 linux-raspberrypi-4.14: Update past 4.14.22
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-03-08 20:31:12 -08:00
Maxin B. John
79ea44b997 gstreamer1.0-omx: remove unused patches
Remove the following unused patches:
 1. 0002-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch
 2. 0003-fix-decoder-flushing.patch

Signed-off-by: Maxin B. John <maxin.john@intel.com>
2018-03-08 21:57:25 +00:00
Peter A. Bigot
abd453d7da bluez5: brcm43438: update device dependency
A previous patch changed the BT serial device to the alias, but did not
update the device dependency resulting in the service failing to start
on boot.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-03-07 23:37:53 +00:00
Peter A. Bigot
ad7693c9a0 rpi-base.inc: set default wic kickstart file
While wic is not a standard image, adding it to IMAGE_FSTYPES in
local.conf will fail unless a WKS_FILE is provided.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-03-07 23:35:18 +00:00
Peter A. Bigot
0e1e2c6e0a sdimage-raspberrypi.wks: find /boot partition on mmcblk0
Recently wic was modified to no longer exclude /boot from partitions
added to fstab.  The --on parameter in many kickstart specifications
insufficiently resolved the MMC device, resulting in attempts to mount
/dev/mmcblkp1 as boot when the device should be /dev/mmcblk0p1.

With systemd the mount failure is an error and the system drops into
emergency mode.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2018-03-07 23:35:18 +00:00
Paul Barker
207efc6fcf rpi-basic-image: Refactor to avoid double deprecation warnings
If rpi-basic-image is based on rpi-hwup-image, both deprecation warnings are
printed which may be confusing. Therefore let's just copy over the relevant bits
of rpi-hwup-image for now.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-02-28 18:02:58 +00:00
Paul Barker
81a9e9d450 linux-raspberrypi: Change default version to 4.14.y
This matches the change made in the upstream firmware repository earlier in
February.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-02-28 18:02:58 +00:00
Paul Barker
ad0443b3d2 linux-raspberrypi: Add recipe for v4.14.y
It's alive! (a.k.a. upstream have stopped rebasing this branch)

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-02-28 18:02:58 +00:00
Paul Barker
37f6523aa1 firmware: Update to recent commit
There hasn't been a tagged version of the firmware lately, but there have been
several bugfixes listed in the commit history and we're about to move to v4.14.y
as the default kernel so let's get up-to-date.

The actual commit used is the most recent change to the firmware files as of
2018-02-26, the most recent commits which only change the kernel image and other
files we don't use are ignored.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-02-28 18:02:58 +00:00
Paul Barker
8501a33253 linux-raspberrypi-dev: Update to v4.15.y
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-02-28 18:02:58 +00:00
Paul Barker
69d9fa2a69 linux-raspberrypi: Update to v4.9.80
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-02-28 18:02:58 +00:00
Paul Barker
0deabddb14 rpi-*-image: Deprecate old image names
As discussed on the issue tracker, it's confusing for meta-raspberrypi to have
its own set of image names filling the same jobs as the core images. Therefore
we are marking these images as deprecated and will be removing them in the
future. The recommended replacement images are as follows:

    rpi-hwup-image -> core-image-minimal
    rpi-basic-image -> core-image-base

The image 'rpi-test-image' will be kept and is not marked as deprecated, it is
still useful for testing. It it updated to be based on 'core-image-base'.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-02-28 18:02:58 +00:00
Paul Barker
0f145057c3 rpio: Use pypi.bbclass
This should resolve recent issues with the non-https URL in SRC_URI.

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

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

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-02-28 18:02:58 +00:00
Drew Moseley
72bc798ff5 u-boot: Update RPi Zero W defconfig to support DTB.
This makes the defconfig more consistent with the RPi 3 and
CONFIG_OF_EMBED is needed to get the RPi firmware provided
DTB to function.

Recently removed by:
    a50e19695f u-boot: drop upstreamed patches in v2018.01
however this change missed the cutoff for v2018.01

Signed-off-by: Drew Moseley <drew.moseley@northern.tech>
2018-02-14 17:52:28 +00:00
Hugo Hromic
a2ba56f74e linux-firmware: fix addition of NVRAM file to image (fixes #184)
Signed-off-by: Hugo Hromic <hhromic@gmail.com>
2018-02-05 19:19:06 +00:00
Jeff Wannamaker
ee668d8072 userland: Update to latest master
Add patch to allow multiple wayland clients per process

userland has limit of one wayland client per process and thereby allow compositors
to launch multiple wayland client apps

Signed-off-by: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-02-02 11:13:24 +00:00
Martin Jansa
073f1e845e omxplayer: make samba support configureable
* samba depends on libpam and it might be useful to disable support
  for it in DISTROs without pam in DISTRO_FEATURES
* disable it by default

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-02-01 18:42:47 +00:00
Martin Jansa
ea35d07b5b recipes: use oe.utils.conditional instead of deprecated base_conditional
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-02-01 13:40:32 +00:00
Martin Kelly
8643e28c3a linux-raspberrypi: fix build with devtool
Currently, building linux-raspberrypi with "devtool build" breaks
because ${B}.config doesn't yet exist when do_configure_prepend runs.

Fix this by taking some logic from kernel.bbclass do_configure to populate
${B}.config before do_configure_prepend.

The full explanation for why this is necessary is fairly complex:

- In devtool builds, externalsrc.bbclass gets inherited and sets a list of
SRCTREECOVEREDTASKS, which don't get run because they affect the source tree
and, when using devtool, we want the developer's changes to be the single
source of truth. kernel-yocto.bbclass adds do_kernel_configme to
SRCTREECOVEREDTASKS, so it doesn't run in a devtool build., In a normal
non-devtool build, do_kernel_configme creates ${B}.config.

- Normally (e.g. in linux-yocto), it would be OK that do_kernel_configme
doesn't run, because the first few lines of do_configure in kernel.bbclass
populate ${B}.config from either ${S}.config (if it exists) for custom
developer changes, or otherwise from ${WORDIR}/defconfig.

- In linux-raspberrypi, we add do_configure_prepend, which tweaks
${B}.config. Since this runs *before* the kernel.bbclass do_configure,
${B}.config doesn't yet exist and we hit an error. Thus we need to move
the logic from do_configure up to before our do_configure_prepend. Because
we are copying only a portion of do_configure and not the whole thing,
there is no clean way to do it using OE functionality, so we just
copy-and-paste.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2018-01-31 20:38:58 +00:00
Martin Kelly
dfa7f00bab linux-raspberrypi: remove custom oldconfig command
This command is done (with more correct flags) in kernel.bbclass's
kernel_do_configure. Since we inherit that and prepend to it, we don't
need to run it ourselves, as we end up just running it twice.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2018-01-31 20:38:58 +00:00
Hugo Hromic
1c9986257e rpi-config: fix config variables with the same initial name being overwritten 2018-01-29 18:24:15 +00:00
Andrei Gherzan
6235b0a854 bluez5: Use serial device alias for BT device
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-01-26 16:50:42 +00:00
Andrei Gherzan
0202bc2881 rpi-base.inc: Include udev-rules-rpi in MACHINE_EXTRA_RRECOMMENDS
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-01-26 16:50:42 +00:00
Andrei Gherzan
f864b1068f bluez5: Update BCM43430A1 firmware from Raspbian
[Issue #174]

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-01-23 13:34:12 +00:00
Andrei Gherzan
15d2ea0f5a linux-raspberrypi: Update 4.9 recipe to 4.9.77
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-01-23 13:34:12 +00:00
Andrea Galbusera
a50e19695f u-boot: drop upstreamed patches in v2018.01
These are now in upstream, so they are no longer required here.

Signed-off-by: Andrea Galbusera <gizero@gmail.com>
2018-01-22 20:20:38 +00:00
Martin Kelly
61c2a965a2 linux-firmware: make rpi fw specific to rpi
Currently, we are installing the rpi custom txt and fw files whenever
the meta-raspberrypi layer is included in bblayers.conf. This breaks
other machines that need to use the bcm43430 drivers but with alternate
txt or fw files.

Install these files only when "rpi" is in MACHINEOVERRIDES.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2018-01-22 19:10:14 +00:00
Ricardo Salveti
c47caaca32 rpi-base.inc: use $KERNEL_PACKAGE_NAME for the kernel package name
The kernel class is now using $KERNEL_PACKAGE_NAME to set the default
kernel package name in order to allow alternate kernel flavors.

This fixes the following bitbake warning:
Variable key RDEPENDS_${KERNEL_PACKAGE_NAME}-base (${KERNEL_PACKAGE_NAME}-image) replaces original key RDEPENDS_kernel-base ().

Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
2018-01-11 21:34:23 +00:00
Ricardo Salveti
ab5ef24ef8 rpi-config: allow VC4DTBO override on raspberrypi3-64
Allow user to replace VC4DTBO (e.g. vc4-kms-v3d) on raspberrypi3-64.

Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
2018-01-11 21:34:11 +00:00
Drew Moseley
58d86c0986 u-boot: Update RPi Zero W defconfig to support DTB.
This makes the defconfig more consistent with the RPi 3 and
CONFIG_OF_EMBED is needed to get the RPi firmware provided
DTB to function.

Signed-off-by: Drew Moseley <drew.moseley@northern.tech>

Added patch status information in patch header, and re-word of commit
message

Signed-off-by: Mirza Krak <mirza.krak@endian.se>
2018-01-11 21:33:55 +00:00
Mirza Krak
9c9c2bac61 raspberrypi0-wifi: update UBOOT_MACHINE variable
The rpi0-wifi has an machine/board specific defconfig instead of the generic one

Signed-off-by: Mirza Krak <mirza.krak@endian.se>
2018-01-11 21:33:55 +00:00
Mirza Krak
f900a6568c u-boot: add support for Raspberry Pi Zero W
It is all ready supported upstream and this will apply a backported
patch until next U-boot release.

Signed-off-by: Mirza Krak <mirza.krak@endian.se>
2018-01-11 21:33:55 +00:00
Paul Barker
24ffe9fb59 docs: Do not force alabaster theme
Sphinx will use the 'alabaster' theme by default when building locally. However,
Read the Docs will use their own theme by default which suits their site better.

By not specifying html_theme we allow both targets to use the appropriate
default theme.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-12-18 19:20:43 +00:00
Paul Barker
337a419c0e userland: Use commit date as PV
This gives us a package version which can be reliably expected to move forwards
not backwards.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-12-18 19:20:43 +00:00
Paul Barker
9bf918014b rpi-config: Add RPI_EXTRA_CONFIG option
The variable RPI_EXTRA_CONFIG can be set in local.conf to append text to the
Raspberry Pi config.txt file as described in the documentation.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-12-18 19:20:43 +00:00
Paul Barker
8124f87175 readme: Update quick links
* As we now use GitHub for development we should point users at this repo.

* Layer documentation is now published on Read the Docs.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-12-18 19:20:43 +00:00
Paul Barker
ea6dc59cd7 linux-raspberrypi: Update dev version to 4.14.y
The patch to add dtbo rules to the arm64 Makefile is no longer needed.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-12-04 17:53:26 +01:00
Paul Barker
0c41915260 linux-raspberrypi: Don't install empty firmware directory
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-12-04 17:53:26 +01:00
Paul Barker
ef9c8cb092 linux-raspberrypi: Update to 4.9.65
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-12-04 17:53:26 +01:00
Martin Jansa
14fd58b881 raspberrypi0-wifi, raspberrypi3: drop unused KERNEL_DEFCONFIG variables
* KERNEL_DEFCONFIG variable isn't used anywhere since this commit:
  88478c3874
* it was replaced with KBUILD_DEFCONFIG:
  recipes-kernel/linux/linux-raspberrypi.inc:KBUILD_DEFCONFIG_raspberrypi0-wifi ?= "bcmrpi_defconfig"
  recipes-kernel/linux/linux-raspberrypi.inc:KBUILD_DEFCONFIG_raspberrypi ?= "bcmrpi_defconfig"
  recipes-kernel/linux/linux-raspberrypi.inc:KBUILD_DEFCONFIG_raspberrypi2 ?= "bcm2709_defconfig"
  recipes-kernel/linux/linux-raspberrypi.inc:KBUILD_DEFCONFIG_raspberrypi3 ?= "bcm2709_defconfig"
  recipes-kernel/linux/linux-raspberrypi.inc:KBUILD_DEFCONFIG_raspberrypi3-64 ?= "bcmrpi3_defconfig"

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-11-27 15:21:59 +01:00
Paul Barker
e0fe589092 rpi-base.inc: Fix KERNEL_IMAGETYPE assignment
We can't just override KERNEL_IMAGETYPE in machine-specific conf files without
breaking the implementation of RPI_USE_U_BOOT. Instead we need to define a new
KERNEL_IMAGETYPE_DIRECT variable which will control the value when u-boot is not
in use. This new variable may then be overridden as needed without breaking our
u-boot support.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-11-27 14:03:46 +01:00
Khem Raj
9b1a796cb7 userland: Update to latest revision
Forward port patches as needed

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-11-15 10:47:39 +00:00
Loys Ollivier
4d3a148b8e raspberrypi3-64: set default kernel to Image
Fixes: 50fd319205 for raspberrypi3-64.
Fixes: #153

For raspberrypi3-64 set default kernel image to "Image".

"zImage" are not supported by arm64 platforms. And ".gz" images are not
handled by bootloader yet.

Signed-off-by: Loys Ollivier <lollivier@baylibre.com>
2017-11-10 12:39:51 +00:00
Andrei Gherzan
4c09f3e6db firmware.inc: Update to 20171029
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2017-11-08 10:20:08 +00:00
Andrei Gherzan
50fd319205 rpi-base.inc: KERNEL_IMAGETYPE default to zImage
We used to have this as the default but there was a bug at some point in the
firmware which didn't work with compressed kernel images. We switched to Image
and never changed it back even though that bug is long history.

In this way we will stop carrying 15M of a kernel image. 4M looks much better.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2017-11-08 10:20:08 +00:00
Andrei Gherzan
c07d7055e5 pi-blaster: An .inc file looks too much for this small recipe
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2017-11-08 10:20:08 +00:00
Andrei Gherzan
abe5e31a89 linux-raspberrypi: Update 4.9 recipe to 4.9.59
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2017-11-08 10:20:08 +00:00
Andrei Gherzan
536c15bab9 x264: Disable asm for raspberrypi0-wifi
This used to work in the past because this machine was based on raspberrypi
one. Now that they are separate, we need a configuration for it too otherwise:

| common/arm/quant-a.S: Assembler messages:
| common/arm/quant-a.S:362: Error: selected processor does not support `rbit
r1,r1' in ARM mode
| common/arm/quant-a.S:363: Error: selected processor does not support `rbit
r1,r1' in ARM mode

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2017-11-08 10:20:08 +00:00
Francesco Giancane
76f5a7df71 userland: RPROVIDES is missing libegl
userland package is the Raspberry Pi provider for the openGL stack.
If selected, it shall provide the gles2 and egl stacks in conjunction
with mesa-gl.

libegl was missing in the RPROVIDES variable, thus some run-time
dependencies were not met when using userland as provider.

Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
2017-10-28 11:45:19 +02:00
Michael Gloff
6a7606a1e4 bluez5: Replace /lib with ${nonarch_base_libdir}
Use standard /lib variable name and avoid
QA errors when usermerge DISTRO_FEATURE is enabled.

Signed-off-by: Michael Gloff <mgloff@hotmail.com>
2017-10-27 22:28:31 +02:00
Michael Gloff
1ab83ec30a linux-raspberrypi: Replace /lib with ${nonarch_base_libdir}
Use standard /lib variable name and avoid
QA errors when usermerge DISTRO_FEATURE is enabled.

Signed-off-by: Michael Gloff <mgloff@hotmail.com>
2017-10-27 22:28:31 +02:00
Michael Gloff
be340eec3f linux-firmware: Replace /lib with ${nonarch_base_libdir}
Use standard /lib variable name and avoid
QA errors when usermerge DISTRO_FEATURE is enabled.

Signed-off-by: Michael Gloff <mgloff@hotmail.com>
2017-10-27 22:28:31 +02:00
Francesco Giancane
a1cfeb3324 weston: remove rpi-backend configuration switch
rpi-backend.so was an attempt to create a specialized
weston backend to be used on raspberry pi like platforms.

At the moment, this backend's support has been dropped in favor
of using the standard drm backend, as the vc4 driver is now mainline
in mesa and in kernel (for kernel support).

As a result, weston on raspberry pi does not require the rpi-backend.so
anymore, nor it is buildable (weston's configure complains about
unrecognized configuration switch).

This patch enables weston to natively run on the DRM backend.

Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
2017-10-20 15:54:06 +01:00
Paul Barker
fe99478aa9 docs: Drop comment on broken raspberrypi3-64 HDMI output
Graphical output on raspberrypi3-64 should now be fixed.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-10-12 18:14:20 +01:00
Paul Barker
9d84186870 linux-raspberrypi: Keep framebuffer support when vc4graphics is enabled
Framebuffer support may be required for some monitors and applications.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-10-09 19:31:28 +01:00
Paul Barker
f6fecae825 rpi-config: Do not force HDMI mode for raspberrypi3-64
Forcing hdmi_drive=2 prevents the use of a DVI monitor and a HDMI-DVI converter
cable.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-10-09 19:31:28 +01:00
Andrei Gherzan
c716e0d30c linux-raspberrypi.inc: Define KBUILD_DEFCONFIG for rpi0 WiFi
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2017-10-03 17:09:35 +01:00
Martin Jansa
70b9c3ec57 Revert "qtbase: Enable EGLFS support"
* this reverts commit 04b37dbdb7.
* this makes qtbase and everything which depends on some qt* recipe to
  be effectivelly MACHINE_ARCH

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-10-02 15:30:55 +01:00
Otavio Salvador
04b37dbdb7 qtbase: Enable EGLFS support
Change-Id: Ib96bd995091f6838f7c09cf5daedbf60f18e1a2d
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-09-27 11:16:31 +01:00
Otavio Salvador
e2432d3bb4 layer.conf: Add Dynamic Layer mechanism
This allow for bbappend files to be enabled when specific layers are
included.

Change-Id: Iecbcf0de85a64aad71605b60ecd3d9a2586fae85
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-09-27 11:16:31 +01:00
Paul Barker
f1e2bf782f omxplayer: Explain inclusion of ffmpeg
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-09-24 20:39:35 +01:00
Paul Barker
47da217fda omxplayer: Update Upstream-status tag on patch
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-09-24 20:39:35 +01:00
Paul Barker
c26e9d3df5 rpi-base.inc: Set dependencies for creating wic images
We need to ensure that the bootloader and firmware files are present in the
deploy directory before creating wic images.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-09-24 20:39:35 +01:00
Paul Barker
37e4e18f4a sdcard_image-rpi: Use un-timestamped link to rootfs partition image
The timestamp in the rootfs partition image filename may not match the current
timestamp if the do_image_rpi_sdimg step is repeated without repeating the
previous do_image_ext3 (or similar) step.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-09-24 20:39:35 +01:00
Paul Barker
134e7dd943 sdcard_image-rpi: Drop unnecessary sync commands
These commands are unnecessary and seem to mask failures to find the rootfs.ext3
file when re-running the do_image_rpi_sdimg stage without re-running the
preceeding do_image_ext3 stage.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-09-24 20:39:35 +01:00
Paul Barker
e9bb7f0c6d Support using u-boot with Image format for raspberrypi3-64
For raspberrypi3-64 we need to use the Image or Image.gz format with u-boot
instead of the legacy uImage format. We also need to issue the 'booti' command
to boot the kernel instead of 'bootm'.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-09-24 20:39:35 +01:00
Paul Barker
43e0169ab7 rpi-base.inc: Simplify setting of IMAGE_BOOT_FILES
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-09-24 20:39:35 +01:00
Paul Barker
129107837d linux-raspberrypi-dev: Bump to 4.13.y series
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-09-24 20:39:35 +01:00
Paul Barker
49f1a94512 linux-raspberrypi: Move LOADADDR setting to inc file
There is no reason to continue supporting pre-4.8 series kernels so we can move
the setting of LOADADDR to the common inc file.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-09-24 20:39:35 +01:00
Paul Barker
e7bac0bed5 linux-raspberrypi: Merge inc files
There is no need to have 2 separate inc files any more and the existing code has
several duplications.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-09-24 20:39:35 +01:00
Paul Barker
46f78e37e3 linux-raspberrypi: Drop ineffective code
The code to determine if we need to depend on lzop-native will fail as the local
defconfig file no longer exists.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-09-24 20:39:35 +01:00
Paul Barker
cbd2412fb4 linux-raspberrypi-base.bbclass: Drop
The only remaining function in linux-raspberrypi-base was split_overlays() which
is used in the sdcard_image-rpi class. So we can move this function over and
drop the now-empty linux-raspberrypi-base class.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-09-24 20:39:35 +01:00
Paul Barker
8311d16e59 linux-raspberrypi: Drop unnecessary code
* The kerneltype variable is not used anywhere after being set.

* The manipulation of KERNEL_DEVICETREE is effectively a no-op, we read the
  current value in get_dts() and store this back into the same variable.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-09-24 20:39:35 +01:00
Paul Barker
b00d914e78 omxplayer: Fix build issues
* Update the recipe and patch the Makefile to not require internet access during
  do_compile. Unfortunately, the upstream Makefile wants to access a web service
  hosted on Heroku and to "git clone" ffmpeg with no fixed commit hash.

* Patch Makefile.ffmpeg to avoid a potential race condition between the
  configure & compile stages.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-09-24 20:39:35 +01:00
Andrei Gherzan
acd5869235 linux-firmware: Update brcmfmac43430 to 7.45.41.46
The version of this firmware provided by linux-firmware is 7.45.41.26. This
version seems to have connectivity issues when bonding interfaces. Raspbian
included an updated version (7.45.41.46) which tested, proved to fix this
problem (see https://github.com/resin-os/meta-resin/issues/812).

The version Raspbian is providing is not yet in linux-firmware as they have it
directly from Cypress (see https://github.com/RPi-Distro/repo/issues/88).
Besides the issue described above, it fixes various other issues including a
broadpwn fix.

Hopefully this version, or a newer one, will end up in upstream soon. In order
to catch when that happens and stop overwriting this firmware, a check is added
in the racipe based on the md5sum of the current shipped firmware.

In terms of ditribution license, we got an informal one in the github thread
mentioned above.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2017-09-21 23:11:13 +01:00
Khem Raj
f2896b0e5c xserver-xf86-config: Disable glamor for the modesetting driver on pi64
Fixes a xorg server crash with musl see details
https://github.com/voidlinux/void-packages/issues/6091

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-09-20 15:50:20 +01:00
Khem Raj
6c4de0b5fe linux-raspberrypi: Build dtbs with dtbs make target for rpi64
OE currently builds dtb files with its own custom targets by
specifying each dtb file as makefile target, this creates bad
dtb for rpi64 bit. This patch calles 'make dtbs' at the end
which regenerates the correct dtb files

This makes the vc4 initialize properly on rpi64

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-09-20 15:50:20 +01:00
Khem Raj
bb51049ebe raspberrypi3-64: Use vc4-fkms-v3d overlay for rpi64
Use correct overlay for enabled vc4 accelaration
This enable 3D accelaration over dispmanx on vc4/rpi64
Enable audio over HDMI
Disable overscan to avoid graphics glitches

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-09-20 15:50:20 +01:00
Khem Raj
d31377b81a linux-raspberrypi_4.9.bb: Upgrade to 4.9.50
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-09-20 15:50:20 +01:00
Andrea Galbusera
5a2b34e56c u-boot: drop now upstreamed patches
oe-core now provides v2017.09 of u-boot which already merged both patches
introduced by commit 94e2929f74 so we can
drop them from meta-raspberrypi.

Signed-off-by: Andrea Galbusera <gizero@gmail.com>
2017-09-18 21:59:02 +01:00
Yusuke Mitsuki
a120ece0e4 bluez5: enable bluetooth on raspberrypi0-wifi
Add functions/variable to enabling bluetooth on raspberrypi0-wifi.

Signed-off-by: Yusuke Mitsuki <mickey.happygolucky@gmail.com>
2017-09-11 13:12:42 +01:00
Yusuke Mitsuki
6abd752bd0 bluez5: add functions/variables to enabling bluetooth on another raspberrypi
functions/variables in this bbappend implemented for only raspberrypi3.
But these must be able to used to enabling bluetooth on another raspberrypi that has bluetooth feature such as raspberrypi0-wifi.

The simple solution is a duplicating these but it is not good ideas for maintainance.

Add functions/variables follows to simplify to enabling bluetooth on another raspberrypi that has bluetooth.
- BCM_BT_SOURCES
- enable_bcm_bluetooth()
- BCM_BT_FIRMWARE
- BCM_BT_SERVICE

Signed-off-by: Yusuke Mitsuki <mickey.happygolucky@gmail.com>
2017-09-11 13:12:42 +01:00
Andrei Gherzan
91f59ae288 userland: Update to current master HEAD
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2017-09-08 18:47:41 +01:00
Andrei Gherzan
aea2129fe3 omxplayer: Update to current master HEAD
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2017-09-08 18:47:41 +01:00
Andrei Gherzan
50cbbb0151 pi-blaster: Update to current master HEAD
License in the README was moved a couple of lines below.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2017-09-08 18:47:41 +01:00
Andrei Gherzan
b6b6ecb6cb python-sense-hat: Update to 2.2.0
As well integrate with meta-oe bbclass pypi.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2017-09-08 18:47:41 +01:00
Andrei Gherzan
fa82321af2 rpi-gpio: Update to 0.6.3
As well integrate with meta-oe bbclass pypi.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2017-09-08 18:47:41 +01:00
Khem Raj
d2acb3ffda extra-apps.md: Document limitations of raspberrypi3-64
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-09-08 18:43:53 +01:00
Khem Raj
b934304e43 linux-raspberrypi: Disable DRBD lkm
This comes from drbd-utils in meta-oe

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-09-08 18:43:53 +01:00
Aurelian Zanoschi
e59132bdcc wiringpi: Fix linking problem
[github issue #105: wiringpi library is not linked correctly]

Incorrect order of compiler flags causing the libwiringpi.so library
to not have the required linking dependencies. The cross-compilation
patch needed to be reworked in order to fix this problem.

Fixes #105

Signed-off-by: Aurelian Zanoschi <aurelian17@gmail.com>
2017-09-01 13:59:51 +01:00
Zdzisław Krajewski
7a7d871cc1 linux-raspberrypi: Add option for disabling rpi boot logo.
Signed-off-by Zdzisław Krajewski <zdzichucb@gmail.com>
2017-09-01 11:14:19 +01:00
Andrea Ghittino
88478c3874 linux-raspberrypi: fix kernel configuration using cfg files
In tree configurations are now used to build the kernel and
it is possible to extend the config via bbappend and cfg fragments

Fix issue 14

Signed-off-by: Andrea Ghittino <aghittino@gmail.com>
2017-08-31 15:12:11 +01:00
Andrea Galbusera
f70b24b1f1 sdcard_image-rpi: fix absolute path in vfat symlink
Fix bitbake complaining with:

ERROR: core-image-minimal-1.0-r0 do_image_complete: sstate found an absolute
path symlink [...].vfat pointing at [...].vfat. Please replace this with a
relative link.

This patch redefines SDIMG_VFAT as a file name instead of a full absolute path,
then fixing the symlink creation by pointing to a relative target. The cp
command that deploys the artifact is changed accordingly to include the
destination path.

Signed-off-by: Andrea Galbusera <gizero@gmail.com>
2017-08-29 16:27:05 +01:00
Paul Barker
2aa08e4f97 firmware: Update to tag '1.20170811'
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-08-29 15:36:13 +01:00
Paul Barker
c098439ac1 linux-raspberrypi: Update to tag 'raspberrypi-kernel_1.20170811-1'
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-08-29 15:36:13 +01:00
Paul Barker
94e2929f74 u-boot: Fix boot and keyboard for rpi devices
u-boot v2017.07 was not able to boot a Linux kernel or handle keyboard input.
This is fixed by reverting a config change to re-enable CONFIG_OF_EMBED and
backporting another config change to enable CONFIG_DM_KEYBOARD.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-08-28 22:20:02 +01:00
Khem Raj
1a06502656 gstreamer1.0-omx: Match with oe-core 1.12.x gstreamer
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-08-25 08:19:30 +01:00
Paul Barker
1b589998f4 Merge pull request #102 from shr-project/jansa/master
Fixes for bitbake world
2017-08-13 09:25:54 +01:00
Martin Jansa
ff02bf92e6 packagegroup-rpi-test, rpi-test-image: restrict to ^rpi$ and include omxplayer only for 32bit rpi
* omxplayer has:
  COMPATIBLE_MACHINE_rpi_aarch64 = null

  so it cannot be inclued for raspberrypi3-64
* components used by this packagegroup are also restricted to ^rpi$ so
  the packagegroup and the image using it cannot be built for anything else
* fixes couple errors when trying to build world with meta-raspberrypi included

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-07-27 10:56:34 +02:00
Martin Jansa
56d0bdb5fe recipe: anchor regexps in COMPATIBLE_MACHINE
* bitbake is using re.match, so raspberrypi actually matches with anything
  ^raspberrypi.* which currently works, but it will also match with hypothetical
  raspberrypi-is-no-more-this-is-banana-now MACHINE which isn't intended by
  this COMPATIBLE_MACHINE.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-07-27 10:56:34 +02:00
Martin Jansa
ab4006bb2e weston: use just one append and one bb.utils.contains
* drop duplicated --enable-rpi-compositor and WESTON_NATIVE_BACKEND=rpi-backend.so
* use rpi override, adding --enable-rpi-compositor unconditionally breaks other MACHINEs with:
  configure: WARNING: unrecognized options: --enable-rpi-compositor
* use just one append and one bb.utils.contains to save some bitbake cycles while parsing

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-07-27 10:56:34 +02:00
Thomas Thorne
f6a2ca21c7 rpio: Add RDEPENDS For python-logging & python-threading
[GitHub Ticket #98 - rpio requires the logging and threading Python
packages but does not RDEPENDS them in recipie]

The rpio tool needs the Python logging and threading pacakges installed
on the target system for it to work.  The pacakges are not included when
doing a rpi-basci-image.  This change updates the recipe so that all the
required dependencies of the prio script are identified by the recipie.

Fixes #98

Signed-off-by: Thomas A F Thorne <TafThorne@GoogleMail.com>
2017-07-26 17:09:06 +01:00
Andrea Galbusera
1e1b50c55d userland: Add missing EGL_CAST defines
Needed by libepoxy

Signed-off-by: Andrea Galbusera <gizero@gmail.com>
2017-07-14 14:35:59 +01:00
Paul Barker
4cff21e243 linux-raspberrypi-dev: Switch to rpi-4.12.y
Linux v4.12 is now released.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-07-05 15:45:33 +01:00
Paul Barker
16a8384a9a linux-rasbperrypi: Update to 4.9.35
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-07-02 11:37:13 +01:00
Andrea Galbusera
04a33eadfb rpi-base: wic: generate entries for u-boot
This commit allow wic generated images to work when we want u-boot to
load the kernel image.

Augment IMAGE_BOOT_FILES with the proper entries when KERNEL_IMAGETYPE
is "uImage". More specifically add u-boot image and boot.scr to deployed files
and give the proper name to the kernel image accordingly.

Signed-off-by: Andrea Galbusera <gizero@gmail.com>
2017-06-30 11:46:21 +01:00
Andreas Müller
fc17cd7419 sdcard_image-rpi: replace IMAGE_DEPENDS_rpi-sdimg by do_image_rpi-sdimg[depends]
* oe-core removed IMAGE_DEPENDS -> parsing fails with hint how to fix
* add required task for each recipe

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-06-29 23:00:36 +01:00
Michal Mazurek
d9dbfe6536 raspberrypi3-64.conf: Don't use raspberrypi as MACHINEOVERRIDES
The current setup broke the build for rpi3-64 when we wanted to port
some changes from rpi3 to rpi0.

Signed-off-by: Michal Mazurek <michal@resin.io>
2017-06-26 14:51:06 +01:00
Andrei Gherzan
ca77a583c3 Merge pull request #86 from mattsm/master
sdcard_image-rpi.bbclass: deploy vfat partition
2017-06-26 13:37:05 +01:00
Matthew McClintock
a6bb80c935 sdcard_image-rpi.bbclass: deploy vfat partition
This is useful to update the bootloader/vfat partition from u-boot when
you don't want to update everything:

U-Boot> tftpboot 0x1000000 tmp/0VXje
Waiting for Ethernet connection... done.
Using sms0 device
TFTP from server 192.168.0.1; our IP address is 192.168.0.26
Filename 'image.vfat'.
Load address: 0x1000000
Loading: ##################################################  40 MiB
	 2.1 MiB/s
done
Bytes transferred = 41943040 (2800000 hex)
U-Boot> mmc part

Partition Map for MMC device 0  --   Partition Type: DOS

Part	Start Sector	Num Sectors	UUID		Type
  1	8192      	81920     	a63a4fbc-01	0c Boot
  2	90112     	163840    	a63a4fbc-02	83
U-Boot> mmc erase 0x2000 0x14000

MMC erase: dev # 0, block # 8192, count 81920 ... 81920 blocks erased:
OK
U-Boot> mmc write 0x1000000 0x2000 0x14000

MMC write: dev # 0, block # 8192, count 81920 ... 81920 blocks written:
OK
U-Boot>

Signed-off-by: Matthew McClintock <msm-oss@mcclintock.net>
2017-06-21 10:54:32 -05:00
Andrei Gherzan
11fec46133 Merge pull request #83 from Technux/update-pi-blaster
pi-blaster: update to include proper rpi3 support
2017-06-09 12:22:05 +01:00
Petter Mabäcker
df901c2915 pi-blaster: update to include proper rpi3 support
Update to latest available revision, in order to include proper rpi3
support as well as latest fixes.

LIC_FILES_CHKSUM for the license text in README.md is changed to handle
fixes of whitespace and newlines in the license text, introduced by the
pi-blaster commit: '0e1a1df Cleaning up the README'.

Signed-off-by: Petter Mabäcker <petter@technux.se>
2017-06-08 16:28:23 +02:00
Paul Barker
081405feaa linux-raspberrypi-dev: Skip if not preferred provider
This should avoid network traffic to resolve ${AUTOREV} unless this
recipe is explicitly selected as the preferred provider of
virtual/kernel.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-06-01 13:48:23 +01:00
Paul Barker
e147e12d94 linux-raspberrypi-dev: Rename recipe
This recipe is now uniquely named instead of just being another version
of linux-raspberrypi.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-06-01 13:48:23 +01:00
Andrei Gherzan
a71483f9d9 bcm2835: Remove dependency of bcm2835-dev on bcm2835
By default, the ${PN}-dev package of a recipe depends on the ${PN}
package.  However, since the bcm2835 package contains no file, it is not
generated.  As a result, when trying to include bcm2835-dev in an image
(or another package that depends on bcm2835-dev, such as
bcm2835-staticdev), we receive an error message saying that the bcm2835
package is not found.

A solution would be to define ALLOW_EMPTY for bcm2835, so that an empty
package is generated.  However, that would causes a useless package to
be installed on the target.  This patch uses another solution, which is
to empty the RDEPENDS variable of bcm2835-dev, so that it doesn't pull
in bcm2835.

Fixes #22

Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-05-27 03:24:35 +01:00
Paul Barker
371f85ce53 docs: Format all links correctly
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-05-26 12:16:52 +01:00
Mirza Krak
5eb159d32d docs: small editorial fix
Signed-off-by: Mirza Krak <mirza.krak@endian.se>
2017-05-26 12:16:52 +01:00
Mirza Krak
caabd6a608 docs: drop "Device tree support" section
We no longer provide any Linux kernel which do not have device-tree
support and all machines setup KERNEL_DEVICETREE correctly.

Signed-off-by: Mirza Krak <mirza.krak@endian.se>
2017-05-26 12:16:52 +01:00
Mirza Krak
34113350f4 docs: fix alignment of "code blocks"
We provide a lot of variable examples as code blocks in the following
format:

	some text: `Variable`

or
	some test:
	`Variable`

Which is not as pretty as (when converted to html/pdf):

	some text:

		Variable

Converted all and hoppefully this will improve readability a bit.

Signed-off-by: Mirza Krak <mirza.krak@endian.se>
2017-05-26 12:16:52 +01:00
Paul Barker
a30708d49c docs: Remove incompatible table format
Sadly sphinx doesn't support pipe tables in markdown at the minute.
Let's use a bullet-point list instead.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-05-26 12:16:52 +01:00
Paul Barker
bf02bfd2ed docs: Include readme in sphinx documentation
This allows us to avoid having to duplicate any information in the
readme into another documentation file.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-05-26 12:16:52 +01:00
Paul Barker
654d84d68a docs: Initial sphinx configuration
This allows us to create documentation by running 'make html' or 'make
latexpdf' in the docs directory. It depends on sphinx and the
recommonmark python module (for parsing markdown files in sphinx).
Creation of the PDF document requires a full LaTeX toolchain to be
installed.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-05-26 12:16:52 +01:00
Paul Barker
03976f7ff1 docs: Initial split of README into docs directory
The top-level README document has got pretty unwieldy and so we need to
switch to add some more structure to our documentation. The first step
is to split out sub-sections of the README document into separate files
in a new 'docs' directory.

Whilst splitting up the README, we can also take the opportunity to tidy
things up and fix a couple of typos.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-05-26 12:16:52 +01:00
Khem Raj
4f2dd0f0e8 userland: Update to latest
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-05-24 16:20:58 +01:00
Paul Barker
45ece9cd0a linux-raspberrypi: Minor recipe tidyup
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-05-22 10:48:05 +02:00
Paul Barker
e5f33333ca linux-rasbperrypi: Update to 4.9.27
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-05-22 10:48:05 +02:00
Andrei Gherzan
3d43e174d2 Merge pull request #71 from agherzan/pbarker/dev-4.11
linux-raspberrypi: Switch dev recipe to 4.11 branch
2017-05-17 18:49:11 +01:00
Andrei Gherzan
c4e6ff4f9f Merge pull request #59 from LocutusOfBorg/patch-2
Make CMDLINE overridable from outside
2017-05-17 18:48:50 +01:00
Andrei Gherzan
39e1d49097 Merge pull request #70 from agherzan/pbarker/drop-4.4
linux-rasberrypi: Drop 4.4 series kernel
2017-05-17 18:48:36 +01:00
Andrei Gherzan
adf62cd9e8 Merge pull request #68 from resin-os/ignore-logs
.gitignore: Ignore log files
2017-05-16 12:26:41 +01:00
Gianfranco Costamagna
e28e6e6422 raspberrypi0.conf: make SERIAL_CONSOLE overridable from outside
currently there is no way to override the default SERIAL_CONSOLE,
 this variable needs to be set only if the developer didn't set it already from
 another layer.

Signed-off-by: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com>
2017-05-16 12:54:04 +02:00
Gianfranco Costamagna
4a2e37f96e linux-raspberrypi: Make CMDLINE overridable from outside
currently there is no way to override the default CMDLINE,
 this variable needs to be set only if the developer didn't set it already from
 another layer.

Signed-off-by: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com>
2017-05-16 12:53:47 +02:00
Andrei Gherzan
6d5d83f1d6 Merge pull request #67 from agherzan/misc-fixes
Various tweaks and fixes
2017-05-15 13:12:28 +01:00
Andrei Gherzan
a438f1d514 Merge pull request #69 from agherzan/github
GitHub templates
2017-05-15 12:25:24 +01:00
Paul Barker
a001d9f316 linux-raspberrypi: Switch dev recipe to 4.11 branch
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-05-15 10:29:14 +01:00
Paul Barker
9eaff5ce1a linux-rasberrypi: Drop 4.4 series kernel
The rpi-4.4.y branch has been unmaintained for a couple of months now.
Let's drop it before branching for pyro.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-05-15 10:19:17 +01:00
Andrei Gherzan
135a7ae55f PULL_REQUEST_TEMPLATE.md: Add pull request template
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-05-12 20:41:05 +01:00
Andrei Gherzan
63aa85268c ISSUE_TEMPLATE.md: Add issue template
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-05-12 20:40:48 +01:00
Andrei Gherzan
d0abd927f5 .gitignore: Ignore log files
Signed-off-by: Andrei Gherzan <andrei@resin.io>
2017-05-12 18:46:49 +01:00
Andrei Gherzan
abeddc3b0d README.md: Add info about github pull requests
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-05-12 18:38:54 +01:00
Andrei Gherzan
d8da77b57e README: Migrate to markdown version
Add badges too.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-05-12 18:16:57 +01:00
Andrei Gherzan
3cf2582cc9 README: Document missing dependencies
We depend on other layers from meta-oe.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-05-12 18:16:40 +01:00
Khem Raj
d9e94b87a7 mesa-gl: Enable gbm for rpi
weston needs gbm support which is not
in userland

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-05-11 18:18:08 +01:00
Khem Raj
2aa6b1a637 userland: Add missing GLES2 defines
Needed by weston

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-05-11 18:18:05 +01:00
Andrea Galbusera
8527a396d3 rpi-base: fix make_dtb_boot_files() for raspberrypi3-64
Building the stock wic image for raspberrypi3-64 failed to find dtbs listed in
IMAGE_BOOT_FILES. This patch updates the make_dtb_boot_files() function to
account for dtbs listed in KERNEL_DEVICETREE that do include a path prefix:
this is the case for things like broadcom/bcm2710-rpi-3-b.dtb (the dts dir
layout in the kernel sources is different for arm64). Use the same approach
already used for overlays/ dir. While at it also fix a typo in dtb overlay
code path comments.

Signed-off-by: Andrea Galbusera <gizero@gmail.com>
2017-04-21 18:01:08 +01:00
Andrei Gherzan
decdacf30c raspberrypi3.conf: Use a stand alone machine configuration
As well make all the variables assigned in a way that they can be
overwritten so we can give maximum flexibility to distros.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-04-21 17:02:28 +01:00
Andrei Gherzan
0d28786dac raspberrypi3-64.conf: Make SERIAL_CONSOLE overwritable
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-04-21 17:00:02 +01:00
Andrei Gherzan
b05e5e32a4 raspberrypi2.conf: Make SERIAL_CONSOLE overwritable
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-04-21 17:00:02 +01:00
Andrei Gherzan
e8682225ef raspberrypi.conf: Have the ability to overwrite SERIAL_CONSOLE
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-04-20 12:22:49 +01:00
Khem Raj
7d064961c2 linux-raspberrypi_4.9.bb: Update to 4.9.23
bring CMA > 256M changes

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-04-20 11:58:56 +01:00
Andrei Gherzan
962ba44ec8 raspberrypi0-wifi.conf: Use a stand alone machine configuration
As well make all the variables assigned in a way that they can be
overwritten so we can give maximum flexibility to distros.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-04-19 18:43:48 +01:00
Andrei Gherzan
668446e283 udev: Create rules file to generate serial0/1
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-04-19 17:47:39 +01:00
Paul Gortmaker
8a450f0a8a README: document 64 bit r-pi3 variant for MACHINE
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2017-04-17 02:33:31 +01:00
Rob Woolley
af79504e44 pitft: Add documentation for pitft35r in README
The support for the PiTFT 3.5 inch resistive touchscreen is optional.
It may be enabled by adding the following line in local.conf:

    MACHINE_FEATURES += "pitft pitft35r"

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
2017-04-17 02:22:35 +01:00
Rob Woolley
0ef0667550 pitft: Include a pitft35r MACHINE_FEATURE
This MACHINE_FEATURE will automatically add the recommended
Adafruit configuration line to the Raspberry Pi config.txt.

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
2017-04-17 02:22:34 +01:00
Rob Woolley
e11d38f8dc pitft: Include the pitft35r dtbo files
Include the pitft35r device tree blobs in the filesystem of the image.

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
2017-04-17 02:22:33 +01:00
Khem Raj
d70e311c43 psplash: Let distro override the default splash image if it provides
BSPs should not be overriding the distro splash images, here we
reduce the priority of psplash-raspberrypi below 100 so the defaults
from distros can kick in.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-04-17 02:20:30 +01:00
Khem Raj
7e941bb1ed eglinfo-fb: Mark is userland specific
It does not yet compile/work with vc4 open graphics driver

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-04-17 02:20:21 +01:00
Khem Raj
1a42bce360 userland: Upgrade to latest
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-04-17 02:20:15 +01:00
Andrei Gherzan
fe909cd5b9 x264: Fix build for armv6 RaspberryPi boards
quant-a.S uses rbit thumb instruction unconditionally even though only
from ARMV6T2 this is available (which is not the case for RPI1, RPI0
etc). Avoid this by disabling asm.

Signed-off-by: Andrei Gherzan <andrei@resin.io>
2017-04-17 02:13:48 +01:00
Andrei Gherzan
1b05ca6bb4 omxplayer: Bump to head and fix missing native dependency
Signed-off-by: Andrei Gherzan <andrei@resin.io>
2017-04-17 02:13:42 +01:00
Andrei Gherzan
78612dfcc5 README: Add info about raspberrypi0-wifi
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-04-14 21:12:40 +01:00
Andrei Gherzan
723f04622f raspberrypi0-wifi.conf: Add machine configuration file
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-04-14 21:12:17 +01:00
Andrei Gherzan
66e0e37ce3 rpi-base.inc: Include dtb for RPI0 WiFi
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-04-14 21:11:49 +01:00
Andrei Gherzan
aa454eea68 linux-raspberrypi_4.9: Bump to 4.9.21
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-04-14 21:11:13 +01:00
Andrei Gherzan
e3620fc038 firmware.inc: Bump to 20170405
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-04-14 21:10:53 +01:00
Andrei Gherzan
58b2015564 bcm2835: Update to v1.52
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-04-14 21:10:26 +01:00
Andrei Gherzan
2adfc6818e rpi-gpio: Update to v0.6.2
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-04-14 21:10:04 +01:00
Andrea Galbusera
4b0bc450e0 wiringpi: uprev to 2.44
This upgrade is required to solve the following runtime hardware detection
issue when calling wiringPiSetup() on the Pi3:

  Unable to determine hardware version. I see: Hardware   : BCM2835
  ,
  - expecting BCM2708 or BCM2709.

This was triggered by the recent kernel upgrade to 4.9 that introduced
"BCM2835" as the hardware signature in /proc/cpuinfo.

Patches reworked as follow:
* 0001-Add-initial-cross-compile-support.patch: rebase to current upstream
* 0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch: drop since is now
upstream

Signed-off-by: Andrea Galbusera <gizero@gmail.com>
2017-04-05 16:37:13 +01:00
Andrea Galbusera
d0c152d7f8 rpi-config: fix invalid shell variable name
Commit da32aac introduced an invalid shell variable name in do_deploy():
according to bash manpage variable names cannot contain dots. Replace
dot with underscore to fix it.

Signed-off-by: Andrea Galbusera <gizero@gmail.com>
2017-04-05 16:35:21 +01:00
Trevor Woerner
da32aac453 rpi-config: waveshare screen support
Add support for the Waveshare 1024x600 "C" Rev2.1 7" IPS Capacitive Touch
Screen LCD with HDMI interface:

	http://www.waveshare.com/7inch-HDMI-LCD-C.htm
	http://www.waveshare.com/wiki/7inch_HDMI_LCD_(C)

This product works "out of the box" with the Raspberry Pi. Simply connect
the provided HDMI and USB cables between the two devices. The touch<=>mouse
integration works automatically.

Tested with a Raspberry Pi 3, with a 32-bit raspberrypi3 build.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2017-04-03 14:38:35 +01:00
Andrei Gherzan
0948d17ded omxplayer: Add dependency on coreutils-native
Internal ffmpeg configure uses pr which is provided by coreutils-native:
| ./configure: line 471: pr: command not found

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-03-21 16:15:29 +00:00
Janek Filus
6c8ca9ccf1 sdcard_image: fix sdcard image generation
Rely on  shell environment when copying devicetree
and devicetree overlays to target image.

Signed-off-by: Janek Filus <janek.filus@bytesatwork.ch>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-03-11 17:38:06 -08:00
Khem Raj
e070005aa8 userland: Do not provide libgl
libgl is actually provided by mesa-gl and this
casued unneeded conflict between these two
packages resulting in sato image reporting missing
libGL.so.1

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-03-11 13:34:46 -08:00
Paul Barker
a84ba9b73c linux-raspberrypi_dev: Add back arm64 dtbo rules patch
This patch hasn't yet been applied to the 4.10.y branch of
linux-raspberrypi.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-03-11 09:43:17 -08:00
Paul Barker
65b9376450 linux-raspberrypi_4.4: Update to 4.4.50
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-03-11 09:33:17 -08:00
Paul Barker
7a9c3e48b2 linux-raspberrypi_dev: Disable version sanity check
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-03-11 09:33:17 -08:00
Paul Barker
65723a9455 linux-raspberrypi_dev: Allow branch override
This makes the linux-raspberrypi_dev recipe more flexible by allowing
the kernel branch to be overridden in local.conf.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-03-11 09:33:17 -08:00
Paul Barker
bfae6d8952 linux-raspberrypi_dev: Use AUTOREV
The development branches of linux-raspberrypi are rebased frequently. To
avoid fetch failures caused by out-of-date git hashes we need to use
AUTOREV.

LINUX_VERSION may need to be overridden in local.conf to match the
upstream version.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-03-11 09:33:17 -08:00
Paul Barker
6561befc96 linux-raspberrypi: Fix uImage build on 4.9.y and later
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-03-11 09:33:17 -08:00
Andreas Müller
52bec45b67 xserver-xf86-config: remove evdev configuration
xorg-xserver recommends xf86-input-libinput since oe-core's commit

| commit 2d005faff6341a81a2afae28860101ba9db51ae8
| Author: Jussi Kukkonen <jussi.kukkonen@intel.com>
| Date:   Wed Oct 26 11:37:38 2016 +0300
|
|    conf: Use xf86-input-libinput by default
| ...

As nice side effect warnings for missing evdev in Xorg.0.log are gone.

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-03-11 04:39:15 -08:00
Maciej Borzecki
c01466aabb rpi-base: wic: generate entries for device tree files
Augment IMAGE_BOOT_FILES with entries picking up proper dtb[o]s. This allows for
building usable wic images once again.

Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
2017-03-11 04:39:15 -08:00
Maciej Borzecki
6bafea4f37 wic: move sdimage-raspberrypi to toplevel wic location
Wic supports picking up image files from toplevel LAYERDIR/wic directory. Using
this location has the benefit that image files are easier to find (compare that
to previously used scripts/lib/image/canned-wks/ location).

Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
2017-03-11 04:39:14 -08:00
Maxin B. John
ff914ff622 gstreamer1.0-omx: remove bbappend for version 1.2.0 and git
OE-Core rev: aa06a18d59eb391d1a7ace9daa0681bdf8daf17f
removed gstreamer1.0-omx_1.2.0 recipe.

OE-Core removed all gst git recipes as well

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-03-11 04:39:13 -08:00
Khem Raj
a23003794f userland: Update to latest
Forward port the patches

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-03-11 04:39:13 -08:00
Khem Raj
8873478623 linux-raspberrypi: Default to 4.9 kernel
4.9 is now declared stable for raspberrypi

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-03-11 04:39:12 -08:00
Khem Raj
59d111195d linux-raspberrypi_4.9.bb: Update to 4.9.13
drop upstreamed patch

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-03-11 04:38:58 -08:00
Khem Raj
12f8a354bf firmware: Update to 20170303 release
Uses 4.9.13 and has rpi0w support

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-03-11 04:38:55 -08:00
Khem Raj
6ce6e57782 linux-firmware: Bring up wifi/ble interface on rpi3
Currently the firmware is installed but kernel fails to load it
due this .txt file missing in the firmware directory and it ends
up with wifi/bluetooth i/f not being initialized. The error is
also in dmesg

[    3.120991] usbcore: registered new interface driver brcmfmac
[    3.148240] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.txt failed with error -2

After applying this patch now ifconfig -a can list wlan0 interface
successfully.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 18:02:46 -08:00
Khem Raj
9aded8f9d4 omxplayer: Update to latest and disable on rpi64
Its uses omaxplayer/mmal APIs from firmware which seems
to not work with 4.9 kernel

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 16:45:58 -08:00
Khem Raj
c768a3d1ae linux-raspberrypi_dev: Fix build on rpi3 64bit
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 20:53:18 +01:00
Khem Raj
9d418db5ed raspberrypi3-64.conf: Add vc4graphics to MACHINE_FEATURES
Userland wont work in 64bit mode

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 20:53:15 +01:00
Khem Raj
f81e9ac1bb rpi-default-versions.inc: Use fallback weak assignment
This lets machines use ?= to choose their preferred kernel
e.g. 64bit rpi3 needs 4.9 minimum but default right now
is 4.4

At the same time it keeps the option for user to override
any of these settings via config metadata e.g. local.conf

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 20:53:14 +01:00
Khem Raj
11d376d2fe rpi-config: Specify bcm2710-rpi-3-b dtb for 64bit rpi3
Let config.txt explicitly specify it

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 20:53:12 +01:00
Khem Raj
50f769f82c sdcard: Use kernel8.img for 64bit kernel image name
This helps the firmware to identify the kernel as 64bit
image

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 20:53:10 +01:00
Khem Raj
9eee2833c3 raspberrypi3-64.conf: Specifiy rpi3-64bit dtbs
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 20:53:08 +01:00
Khem Raj
8990caf8b7 linux-raspberrypi: Add defconfig for raspberrypi3-64
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 20:53:07 +01:00
Khem Raj
c9cf319f47 firmware: Update to 20161215 release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 20:53:05 +01:00
Khem Raj
d01bf8751b userland: Upgrade to latest and implement triple buffering for wayland
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 20:53:04 +01:00
Khem Raj
39bd54a3f6 linux-raspberrypi_4.9.bb: Upgrade to 4.9.10
Fix dtbo builds for arm64

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 20:53:02 +01:00
Khem Raj
d9c6b7903e linux-raspberrypi_dev.bb: Add recipe for tracking development tip
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 20:53:01 +01:00
Khem Raj
0be123e5b8 raspberrypi3-64.conf: Use 4.9 as default kernel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 20:53:00 +01:00
Khem Raj
9ed927caae rpi-default-providers: Let mesa provide libgbm
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 20:52:58 +01:00
Herve Jourdain
36a3895d4e Add raspberrypi3-64.conf
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 20:52:57 +01:00
Paul Barker
67e0216492 u-boot: Fix boot on rpi3
U-boot configured with 'rpi_2_config' does not boot on a RaspberryPi 3.
Instead we need to configure with 'rpi_3_32b_config'.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2017-02-16 01:11:36 +01:00
Paul Barker
acbbe4b252 linux-raspberrypi_4.4: Update to 4.4.48
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2017-02-16 01:11:30 +01:00
Mirza Krak
68634deeed u-boot: drop backported patches
U-boot has been updated to 2017.01 in poky/oe-core which contains these
patches.

Signed-off-by: Mirza Krak <mirza.krak@gmail.com>
2017-01-25 16:37:11 +01:00
Andrei Gherzan
ae2be3aff9 README: Mention CM1 and CM3 support
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-01-20 20:15:12 +01:00
Andrei Gherzan
8f1511d72d rpi-base.inc: Include dtb file for CM1 and CM3
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-01-20 20:15:12 +01:00
Andrei Gherzan
9d4b68dc77 raspberrypi*.conf: Minor tweaks
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-01-20 20:15:12 +01:00
Andrei Gherzan
f43dd79dcc raspberrypi-cm3.conf: Add dummy machine for CM3 (alias for RPi2)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-01-20 20:15:12 +01:00
Andrei Gherzan
3ea6f9f455 raspberrypi-cm.conf: Add dummy machine for CM1 (alias for RPi1)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-01-20 20:15:12 +01:00
Andrei Gherzan
ec28a0d5b3 linux-raspberrypi_4.9: Update to 4.9.4
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-01-18 18:33:20 +01:00
Andrei Gherzan
9288778503 linux-raspberrypi_4.4: Update to 4.4.43
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2017-01-18 18:32:59 +01:00
Khem Raj
7f99a4cb6d gstreamer1.0-omx: Add 1.10x support
Restructure the bbappends such that common portions
can be put in a common bbappend and version specific
bbappend then only do the patching

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-01-18 17:45:56 +01:00
Paul Barker
ac715f78f8 linux-raspberrypi: Drop v4.8
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2017-01-18 17:08:00 +01:00
Paul Barker
6dcdb7fba3 linux-raspberrypi: Drop v4.7
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2017-01-18 17:08:00 +01:00
Paul Barker
8716d7027c linux-raspberrypi: Upgrade to v4.4.39
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2017-01-18 16:43:02 +01:00
Paul Barker
642d5c25b2 linux-raspberrypi: Drop v4.1
The linux-raspberrypi 4.1 recipe has been broken for a while, probably since
09b76a43f6. It should now be safe to drop this
version.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2017-01-18 16:43:00 +01:00
Paul Barker
3ad29d11e7 Remove True option to getVar calls
getVar() now defaults to expanding by default.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2017-01-18 16:42:59 +01:00
Khem Raj
e1f69daa80 linux-raspberrypi_4.9.bb: Add recipe for 4.9 release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-01-12 19:47:52 +01:00
Khem Raj
02c0d41478 linux-raspberrypi_4.8.bb: Upgrade to 4.8.16
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-01-12 19:47:51 +01:00
Mirza Krak
031e26954b u-boot: drop patch to include lowlevel_init
The patch 0003-Include-lowlevel_init.o-for-rpi2.patch does not apply on
2016.11 and causes an build error.

Patch 0002-rpi-passthrough-of-the-firmware-provided-FDT-blob.patch
provides the inclusion of lowlever_init.o.

Signed-off-by: Mirza Krak <mirza.krak@gmail.com>
2016-12-29 20:00:55 +01:00
Andreas Müller
c40558173f rpi-base.inc: remove input modules form XSERVER
This is nothing a BSP has to decide

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2016-12-29 19:51:37 +01:00
Andreas Müller
d77f3d46e3 rpi-base.inc: add xserver-xorg-extension-glx to XSERVER for vc4 enabled
make glxinfo/glggears/.. work

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2016-12-29 19:51:34 +01:00
Andrei Gherzan
672e025e2d linux-raspberrypi-4.8: Upgrade to 4.8.15
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-12-29 19:48:13 +01:00
Khem Raj
1bf09a45a9 userland: Fix building on aarch64
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-12-29 19:33:20 +01:00
Khem Raj
22fb2b4b25 linux-raspberrypi-4.8: Upgrade to 4.8.13
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-12-29 19:33:18 +01:00
Khem Raj
90c45b48f6 userland: Update to latest
* Regenerate forward patches
* Remove upstreamed ones

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-12-29 19:33:17 +01:00
Andreas Müller
96b9c633d7 linux-raspberrypi-base.bbclass: remove version hack
* no more required (version > 3.17 | > 4.3.x | > 4.4.5)
* causes error with rt kernel

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2016-12-29 19:23:28 +01:00
Frank Meerkoetter
17f0c23305 linux-rpi.inc: Do not rely on DISTRO_TYPE to enable/disable kernel debug
DISTRO_TYPE doesn't seem to be set anywhere in OE/poky. This causes
CMDLINE_DEBUG to default to "debug" which is very noisy. This is
especially true when building a systemd based system, as systemd
also looks at the kernel commandline to set the debug level.
Such a system is nearly unuseable from the serial console due
to the amount of data logged by systemd.

Signed-off-by: Frank Meerkoetter <meerkoetter@googlemail.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-12-06 19:55:18 +01:00
Jonathan Liu
064aa0a388 u-boot: Simplify boot script
A patch is backported to check if the firmware loaded a device tree blob
into memory and set the fdt_addr variable if it is found. The U-Boot
script will then read the command line arguments generated by the
firmware from the device tree and boot the kernel with the command
line arguments and the loaded device tree.

This allows things like MAC address, board revision and serial number
to be correctly configured and options in config.txt to be used.

An additional patch is backported and further changes are made to support
this.

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2016-12-06 19:16:11 +01:00
Trevor Woerner
0e66d6953c linux-raspberrypi_4.8.bb: upgrade to 4.8.12
The rpi-4.8.y branch of git://github.com/raspberrypi/linux.git was rebased,
losing any previous commit hashes. This latest update doesn't include the
raspberry pi patches for 4.8.6, but the upstream patches are included starting
with 4.8.11.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-12-06 17:20:33 +01:00
Jonathan Liu
18cf04d167 firmware: Update to 20161125
Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-12-06 16:56:10 +01:00
Trevor Woerner
1f64604570 linux-raspberrypi_4.4.bb: upgrade to 4.4.35
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2016-12-06 16:16:31 +01:00
piotr.lewicki
44d41bf3e9 raspberrypi3.conf: fix typo for BCM43430
Signed-off-by: Piotr Lewicki <piotr.lewicki@elfin.de>
2016-11-16 12:53:58 +01:00
piotr.lewicki
6bd1bfe472 linux-raspberrypi: remove not needed bundle_initramfs_append() 2016-11-12 19:50:02 +01:00
Jonathan Liu
b0308141c1 u-boot: Fix appending to RDEPENDS
The += operator should not be used in combination with overrides as it
will clear any existing values in the variable.

Example:
FOO = "bar"
FOO_rpi += "baz"

The above example would result in FOO being equal to " baz" instead of
"bar baz".

The bbappend is changed to use a wildcard instead of a specific version
to simplify updating U-Boot.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-11-12 13:26:18 +01:00
Khem Raj
9c12ac8280 linux-raspberrypi_4.8.bb: Upgrade to 4.8.6
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-11-12 13:26:14 +01:00
Khem Raj
380740d866 linux-firmware_git.bbappend: Delete
OE-core already bumped the base rev on linux-firmware package
to include the upstreamed version of brcmfmac43430 firmware in
september via OE-Core commit a0bc732976670810505286ba43feee70e2c812ce

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-11-08 12:30:50 +01:00
Khem Raj
a5f95f4233 userland: Bump to latest and add ASNEEDED = ""
ASNEEDED does not work with userland libraries as
noted in see
https://lists.yoctoproject.org/pipermail/yocto/2014-June/019933.html

Helps with running kodi using gles2

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-11-08 12:26:24 +01:00
Khem Raj
716b6a9cd7 firmware: Use release tarballs
This is a binary repo and its quite large in size
we do not need the whole history of this repo since
most of stuff needed is binaries, therefore switch
to release tarballs

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-11-08 12:12:29 +01:00
Khem Raj
6c755af275 weston: Unify bbappends for weston into single file
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-11-08 12:02:38 +01:00
Khem Raj
b9e6f04ce6 userland: Update to latest master tip
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-11-08 11:59:38 +01:00
Khem Raj
00300d9df8 firmware: Update to 20161030
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-11-08 11:40:15 +01:00
Khem Raj
3e6e890437 linux-raspberrypi-4.4: Update to 4.4.28
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-11-08 11:29:09 +01:00
Khem Raj
12aa27df80 gstreamer1.0-plugins-bad_%.bbappend: Set PACKAGECONFIG_GL for RPi
Enable dispmanx support if using bcm driver

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-11-08 10:08:58 +01:00
Jonathan Liu
ab39653ed0 rpi-base.inc: Include pi3-disable-bt-overlay.dtb
This is used to disable Bluetooth and restore the serial console.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-11-08 09:34:47 +01:00
Andrei Gherzan
17a6933adf linux-raspberrypi: Update to 4.8.4
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-10-31 17:38:57 +01:00
Jonathan Liu
ddc9390c2a linux-firmware: Fix "No generic license file exists" warning
The NO_GENERIC_LICENSE map value for Firmware-broadcom_brcm80211 needs
to have the full path to LICENSE.broadcom_brcm80211 from the URL
instead of just the filename.

Fixes the following warning building the linux-firmware recipe:
WARNING: linux-firmware-1_0.0+gitAUTOINC+42ad5367dd-r0 do_populate_lic: linux-firmware: No generic license file exists for: Firmware-broadcom_brcm80211 in any provider

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-10-31 17:33:30 +01:00
Khem Raj
d51a8a7373 linux-raspberrypi_4.8.bb: Update to 4.8.2
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-10-31 17:32:58 +01:00
Khem Raj
e9911480e0 firmware: Update to latest
Fixes issues with display not starting with weston

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-10-31 17:32:57 +01:00
Jonathan Liu
ed54bd3788 linux-firmware: Correct the LICENSE for brcm43430-license
The license for brcm43430-license should be the license it contains
instead of all the licenses of the linux-firmware packages.

[YOCTO #10251]

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-10-31 16:57:25 +01:00
Paul Barker
3360f98cad sdcard_image-rpi.bbclass: Include boot script when using u-boot
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2016-10-31 15:59:31 +01:00
Paul Barker
1d629b1925 u-boot: Add RDEPENDS on rpi-u-boot-scr
The boot.cmd file created by rpi-u-boot-scr is needed for u-boot to
automatically boot a RaspberryPi.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2016-10-31 15:59:19 +01:00
Paul Barker
56047ad7db rpi-u-boot-scr: Add recipe to create u-boot boot script
Upstream u-boot searches the boot partition for a script named 'boot.scr'. If
this file exists it is executed as a sequence of u-boot commands in order to
boot the system. This script must be compiled using the mkimage command to
ensure that it is understood by u-boot.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2016-10-31 15:58:48 +01:00
Paul Barker
1f24992a3c rpi-base.inc: Don't install kernel image into rootfs
The kernel image is installed into the FAT32 boot partition and does not need to
also be installed into the rootfs.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2016-10-31 15:58:23 +01:00
Andreas Müller
c62e088a65 eglinfo-x11: align to VC4
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2016-10-14 14:50:12 +02:00
Andreas Müller
1ebb370e81 vc4: why no framebuffer device?
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2016-10-14 14:49:05 +02:00
Andreas Müller
8d17669588 xorg align for vc4
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2016-10-14 14:49:04 +02:00
Andreas Müller
3b9aebd6ae mesa: align for vc4
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2016-10-14 14:49:04 +02:00
Samuli Piippo
de016ceef6 bluez5: correctly append brcm43438 service
Cannot use += operator together with machine override.

Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
2016-10-14 11:27:34 +02:00
Alistair Buxton
b6c954de58 Fix DISPMANX_OFFLINE variable typo
Signed-off-by: Alistair Buxton <a.j.buxton@gmail.com>
2016-10-14 09:03:53 +01:00
Alistair Buxton
d778d0a23d README: Replace references to Redmine with Github Issues
Signed-off-by: Alistair Buxton <a.j.buxton@gmail.com>
2016-10-14 09:03:53 +01:00
Khem Raj
1e3983fbfc linux-raspberrypi_4.7.bb: Update to 4.7.7
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-10-14 09:19:16 +02:00
Khem Raj
ecd8875d6d linux-raspberrypi: Add recipe for 4.8 release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-10-14 09:19:15 +02:00
Khem Raj
05be947a31 firmware: Upgrade to latest
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-10-13 10:40:35 +02:00
Khem Raj
585838e7a2 userland: Upgrade to latest
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-10-13 10:40:16 +02:00
Jonathan Liu
41689e8fe2 sdcard_image-rpi.bbclass: Remove redundant RPI_KERNEL_VERSION
The value of the RPI_KERNEL_VERSION can change between None and the
kernel version which can result in taskhash mismatch errors while
building images.

The taskhash mismatch errors can be reproduced using:
bitbake -c cleansstate virtual/kernel core-image-minimal && bitbake core-image-minimal

The get_dts() and split_overlays() functions are modified so that the
kernel version argument is optional. If the version is not supplied to
these functions, they will fallback to the Python equivalent of the
expression used for RPI_KERNEL_VERSION.

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-10-13 10:39:59 +02:00
Khem Raj
5697e77ec4 linux-raspberrypi_4.4: Upgrade to 4.4.23
Drop upstreamed patch

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-10-13 10:39:50 +02:00
Andreas Müller
4817e2c087 sdcard_image-rpi.bbclass: avoid corrupted images with latest oe-core
oe-core's commit d54339d4b1a7e884de636f6325ca60409ebd95ff creates image in
IMGDEPLOYDIR and copies through sstate to DEPLOY_DIR_IMAGE. That causes
DEPLOY_DIR_IMAGE not valid when calling IMAGE_CMD. Therefore use
IMGDEPLOYDIR for sdcard creation too.

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2016-09-21 17:34:17 +01:00
Khem Raj
ac6f357271 weston: Fix typo with override
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-09-21 17:15:02 +01:00
Khem Raj
760ddd0f18 Switch to using 4.4 as default kernel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-09-21 17:15:01 +01:00
Carlos Alberto Lopez Perez
ed84c2c8a2 vc4graphics: Support X11 with the VC4 driver.
* We need to use the X11 modesetting driver with VC4.

  * We need to build at least the mesa swrast DRI driver.
   (its already the default so don't overwrite it to empty)

Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-09-21 17:14:59 +01:00
Khem Raj
55388a5101 firmware, userland: Bump to latest
firmware -> 20160726

userland -> 20160728

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-09-21 17:14:57 +01:00
Khem Raj
b24afdc2e7 linux-raspberrypi_3.18: Remove
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-09-21 17:14:55 +01:00
Khem Raj
e993bdc7cd linux-raspberrypi: Add recipe for 4.7 release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-09-21 17:14:53 +01:00
Khem Raj
c2f76439cc linux-raspberrypi_4.4: upgrade to 4.4.16
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-09-21 17:14:06 +01:00
Herve Jourdain
d511c7ceb6 linux-raspberrypi-4.4: add patch to enable proper operation of renderD128 device
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:51:29 +01:00
Herve Jourdain
ef22ff49e9 linux-rpi.inc: add the configuration options required to support vc4graphics
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:51:27 +01:00
Herve Jourdain
6b4de2bb90 mesa_%.bbappend: new file to add the correct configuration options to support vc4graphics
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:51:25 +01:00
Herve Jourdain
bee7643b6c weston/weston_%.bbappend: modify configuration options to support vc4graphics
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:51:23 +01:00
Herve Jourdain
72b9635c66 wayland/weston_%.bbappend: modify configuration options to support vc4graphics
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:51:21 +01:00
Herve Jourdain
ba9c4660d6 rpi-config_git.bb: add v4c overlay to config.txt to support vc4graphics
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:51:20 +01:00
Herve Jourdain
5d2722c33b raspberrypi3.conf: set the default value of VC4_CMA_SIZE to support vc4graphics
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:51:19 +01:00
Herve Jourdain
824b78c4f0 raspberrypi2.conf: set the default value of VC4_CMA_SIZE to support vc4graphics
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:51:17 +01:00
Herve Jourdain
dfce95fa3d raspberrypi0.conf: set the default value of VC4_CMA_SIZE to support vc4graphics
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:51:16 +01:00
Herve Jourdain
224b9e9a39 raspberrypi.conf: set the default value of VC4_CMA_SIZE to support vc4graphics
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:51:12 +01:00
Herve Jourdain
0035bc8d80 rpi-base.inc: add vc4-kms-v3d to the overlays to support vc4graphics
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:51:11 +01:00
Herve Jourdain
6e535ddabb rpi-default-providers.inc: change default providers to support vc4graphics
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:51:10 +01:00
Herve Jourdain
1a32817fb8 sdcard_image-rpi.bbclass: support for .dtbo files for dtb overlays
Kernel 4.4.6+ on RaspberryPi support .dtbo files for overlays, instead of .dtb.
Add support for both extensions for overlays (".dtb" and ".dtbo")

CAUTION: in IMAGE_CMD_rpi-sdimg, 'TMPDIR' is not set, causing 'STAGING_KERNEL_BUILDDIR' to not be expanded, causing get_dts() to not being able to get the kernel version!
To avoid this problem, the kernel version is added in a new variable outside the scope of IMAGE_CMD_rpi-sdimg, and its value passed to get_dts() and split_overlays()!

Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:50:32 +01:00
Herve Jourdain
d98f2a74db linux-raspberrypi-base.bbclass: support for .dtbo files for dtb overlays
Kernel 4.4.6+ on RaspberryPi support .dtbo files for overlays, instead of .dtb.
Add support for both variants of overlays ("-overlay.dtb" and ".dtbo")
Change which variant needs to be supported based on the kernel version

CAUTION: when called from IMAGE_CMD_rpi-sdimg, 'TMPDIR' is not set, causing 'STAGING_KERNEL_BUILDDIR' to not be expanded, causing get_kernelversion_file() to fail!
To avoid this problem, get_dts() and split_overlays() MUST be called with the kernel version parameter set, when called from IMAGE_CMD_rpi-sdimg!

Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:47:26 +01:00
Herve Jourdain
09b76a43f6 rpi-base.inc: support for .dtbo files for dtb overlays
Kernel 4.4.6+ on RaspberryPi support .dtbo files for overlays, instead of .dtb.
Add support for .dtbo variant of overlays for the default KERNEL_DEVICETREE variable
(the list will be turned into "-overlay.dtb" by linux-raspberry-base.bbclass, if needed, depending on the kernel version)

Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:46:48 +01:00
Herve Jourdain
18a2fb644b linux-raspberrypi_4.4.bb: support for .dtbo files for dtb overlays
Kernel 4.4.6+ on RaspberryPi support .dtbo files for overlays, instead of .dtb.
Patch the kernel, which has faulty rules to generate .dtbo the way yocto does

Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:46:46 +01:00
Andrei Gherzan
a5f9b07a82 bcm2835: Compile examples correct LDFLAGS to avoid HASH errors
ERROR: bcm2835-1.50-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/spi'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/event'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/gpio'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/i2c'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/blink'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/spin'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/input'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/pwm'
[ldflags]

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-09-21 11:38:22 +01:00
Andrei Gherzan
8c5eba1d94 bcm2835: Update to 1.50
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-09-21 11:38:22 +01:00
Andrei Gherzan
5229f75604 wiringPi: Fix compilation of libraries
Not using the yocto LDFLAGS will make some qa tests fail:

ERROR: wiringpi-git-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/wiringpi/git-r0/packages-split/wiringpi/usr/lib/libwiringPi.so.2.32'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/wiringpi/git-r0/packages-split/wiringpi/usr/lib/libwiringPiDev.so.2.32'
[ldflags]

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-09-21 11:38:22 +01:00
Andrei Gherzan
5771c7f7d4 wiringpi: Fix prepend space
Not having this correctly will get you into troubles like:

| gpio.c:40:23: fatal error: gertboard.h: No such file or directory
|  #include <gertboard.h>

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-09-21 11:38:22 +01:00
Andrei Gherzan
1b2c25ee88 wiringpi: Update to 2.32
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-09-21 11:38:22 +01:00
Jonathan Liu
4c02c7ce07 sdcard_image-rpi.bbclass: remove redundant IMAGEDATESTAMP
The IMAGE_NAME variable already contains the date and time so it is
redundant to also include the date again with IMAGEDATESTAMP
when writing to image-version-info in the boot partition.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-09-16 18:30:08 +01:00
Scott Ellis
cc64d6324d userland: Add bash to RDEPENDS
WARNING: userland-git-r5 do_package_qa: QA Issue: /usr/bin/dtoverlay-post
contained in package userland requires /bin/bash, but no providers found
in RDEPENDS_userland? [file-rdeps]

Signed-off-by: Scott Ellis <scott@jumpnowtek.com>
2016-08-29 20:59:42 +01:00
Khem Raj
2745399f75 gstreamer1.0-omx-1.2.0: Add patches and bbappend for 1.2.0 separately
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-07-13 12:40:41 +01:00
Khem Raj
3fb0a1914a sdcard_image-rpi.bbclass: Add the vardepexcludes
The problem reappears because we need to add to the variable
and not assign

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-07-13 12:40:40 +01:00
Khem Raj
6564e126ae sdcard_image-rpi.bbclass: Exclude DATETIME from task stamp
This helps in fixing occasional error seen quite often

ERROR: wpe-image-1.0-r0 do_image_rpi_sdimg: Taskhash mismatch 7ea6b505bb7a2cc5ca03552bcf3333fa verses 3be7cdad8c4532430d96368c5ca523d4 for /a/builder/home/kraj/work/oe/meta-metrological/recipes-core/images/wp
e-image.bb.do_image_rpi_sdimg
ERROR: Taskhash mismatch 7ea6b505bb7a2cc5ca03552bcf3333fa verses 3be7cdad8c4532430d96368c5ca523d4 for /a/builder/home/kraj/work/oe/meta-metrological/recipes-core/images/wpe-image.bb.do_image_rpi_sdimg

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-07-08 14:25:56 +01:00
Khem Raj
101e8aba77 linux-raspberrypi_4.4: Upgrade to 4.4.13
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-07-08 14:25:55 +01:00
Khem Raj
10691ae680 firmware: Upgrade to 20160622
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-07-08 14:25:54 +01:00
Khem Raj
5cac5e67f8 userland: Upgrade to latest tip
Drop upstream applied patches

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-07-08 14:25:53 +01:00
Paul Barker
43ecd9ac99 sdcard_image-rpi: Always install dtb files
We now need dtb files when booting via u-boot.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2016-07-08 12:17:47 +01:00
Paul Barker
fe92cc7e14 rpi-mkimage: Remove unused recipe
The rpi-mkimage tools are no longer used. Recent Raspberry Pi firmware can
directly boot a Linux kernel image using device tree and mainline u-boot
supports Raspberry Pi without the use of these tools.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2016-07-08 12:17:46 +01:00
Paul Barker
d49bd07c5b u-boot: Use mainline u-boot recipe from oe-core
The repository used by u-boot-rpi has not been updated since 2012. In the
meantime, mailine u-boot has gained Raspberry Pi support. All we need to do is
set UBOOT_MACHINE to an appropriate value in the machine config files.

Currently configs are only provided for raspberrypi and raspberrypi2. The master
branch of u-boot now also appears to have a config file for raspberrypi3 so
support for this can be added in the future when u-boot is upgraded in oe-core.

The mainline u-boot recipe creates the file "u-boot.bin" instead of
"u-boot.img".

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2016-07-08 12:17:41 +01:00
Paul Barker
b34b4fe8fc linux-raspberrypi: rpi-mkimage is no longer needed
Recent versions of the Raspberry Pi firmware can directly handle kernel images
which use device tree. The modifications made by rpi-mkimage are no longer
needed.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2016-07-08 12:17:39 +01:00
Andrei Gherzan
5f12d846f7 packagegroup-rpi-test: Fix COPYING md5sum
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-07-08 11:36:20 +01:00
Andrei Gherzan
f38938f6ca linux-raspberrypi: Fix v4.1 with GCC6
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-07-08 11:33:44 +01:00
Andrei Gherzan
4fb1a155dc packagegroup-rpi-test: Poky moved the license so fix LIC_FILES_CHKSUM
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-07-08 11:33:42 +01:00
Herve Jourdain
8a21c1dda6 linux-raspberrypi.inc: KERNEL_OUTPUT has been removed in kernel.bbclass
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-06-15 00:50:57 +01:00
Jonathan Liu
0dbf569173 omxplayer: fix compilation with GCC 6
Specifying -isystem${STAGING_DIR_HOST}/usr/include in INCLUDES gives:

    In file included from utils/PCMRemap.cpp:26:0:
    .../build/tmp/sysroots/raspberrypi2/usr/include/c++/6.1.1/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
     #include_next <stdlib.h>
                             ^
    compilation terminated.
    Makefile:44: recipe for target 'utils/PCMRemap.o' failed

To resolve this, /usr/include shouldn't be specified as it is already a
default include path relative to the sysroot.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-06-14 16:27:18 +01:00
Jonathan Liu
ffddbad97c linux-rpi: ensure config file is closed
Avoids warnings like this with python3:

    WARNING: .../meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_3.18.bb:
    <string>:16: ResourceWarning: unclosed file <_io.TextIOWrapper
    name='.../meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/defconfig'
    mode='r' encoding='UTF-8'>

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-06-13 12:27:38 +01:00
Khem Raj
69840c0bbe linux-raspberrypi_4.4.bb: Upgrade to 4.4.9
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-05-19 17:25:39 +02:00
Khem Raj
b1940869a5 linux-rpi: Enable kconf options to enable initramfs support
Additionally add few few file systems e.g. squashfs, overlayfs
to support booting with initramfs

Drop checking for target triplet to set EABI, rpi probaly should
not have any legacy into OABI world.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-05-19 17:25:38 +02:00
Khem Raj
5d79d24d36 firmware: Update to "20160512" snapshot
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-05-19 17:14:06 +02:00
Khem Raj
f7af12910f userland: Update to tip of tree
Drop the patch which is upstreamed slightly differently
use VMCS_INSTALL_PREFIX to /usr via EXTRA_OECMAKE

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-05-19 17:14:04 +02:00
Khem Raj
9912d38e97 linux-raspberrypi_4.4.bb: Upgrade to 4.4.8
Fixes for gcc6
Drop upstreamed patch

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-05-05 13:20:26 +02:00
Andreas Müller
060927314d replace base_contains by bb.utils.contains
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2016-05-05 12:51:29 +02:00
Jonathan Liu
cd338c26e2 sdcard_image-rpi.bbclass: Fix do_image_rpi_sdimg tashhash mismatch
IMAGE_CMD_rpi-sdimg() uses the IMAGEDATESTAMP variable, so the taskhash
of the function keeps changing. This results in a taskhash mismatch
error.

Fix this by excluding the IMAGEDATESTAMP variable from the checksum.

Change-Id: Ie6f30ad29e279d5312ec655ac4a3bf246c8a04de
Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-05-04 15:52:15 +02:00
Andrei Gherzan
dedd75f08f README: Switch from redmine to github issues
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-04-25 10:10:05 +02:00
Andrei Gherzan
c4ddf87db2 rpi-base.inc: Include pi3-miniuart-bt-overlay.dtb
This is used to switch BT from ttyUSB0 to ttyS0 (miniUART).

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-04-25 09:05:09 +02:00
Andrei Gherzan
953dc5a406 linux-raspberrypi_4.1: Update to v4.1.21
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-04-22 16:41:33 +02:00
toolmmy
1317a894fa bluez5: Add bluez5 support for brcm43438 on raspberrypi3.
This patch adds the bluetooth support for the brcm43438 module on the raspberrypi3 by
deploying the modules firmware and changing the targeting firmware path. In addition
the brcm43438.service adds the automatically attaching (hciattach) for systemd environments.
The following steps can be used to manually configure the brcm43438:

root@raspberrypi3:~# hciattach /dev/ttyAMA0 bcm43xx-3wire
bcm43xx_init
Flash firmware /lib/firmware/brcm/BCM43430A1.hcd
Set Controller UART speed to 3000000 bit/s
Device setup complete
root@raspberrypi3:~# hciconfig
hci0:   Type: BR/EDR  Bus: UART
        BD Address: B8:27:EB:6C:85:BE  ACL MTU: 1021:8  SCO MTU: 64:1
        DOWN
        RX bytes:983 acl:0 sco:0 events:33 errors:0
        TX bytes:887 acl:0 sco:0 commands:33 errors:0

root@raspberrypi3:~# /usr/lib/bluez5/bluetooth/bluetoothd -e -n -E
root@raspberrypi3:~# bluetoothctl
[NEW] Controller B8:27:EB:6C:85:BE raspberrypi3 [default]
[bluetooth]# power on
[CHG] Controller B8:27:EB:6C:85:BE Class: 0x400000
Changing power on succeeded
[CHG] Controller B8:27:EB:6C:85:BE Powered: yes
[bluetooth]# scan on
Discovery started
[CHG] Controller B8:27:EB:6C:85:BE Discovering: yes
[NEW] Device 00:1C:05:FF:F9:F8 Nonin3230_501585326

NOTE: SERIAL_CONSOLE must configured to ttyS0 instead of ttyAMA0 (used by the brcm43438). See pending patch from Martin Bergek

Signed-off-by: Tom Doehring <toolmmy@gmail.com>
2016-04-22 16:41:33 +02:00
Andrei Gherzan
6cdb2becac packagegroup-rpi-test: Add packages to be able to test WiFi/Bluetooth
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-04-22 16:41:33 +02:00
Andrei Gherzan
37c2366724 linux-raspberrypi: Set baudrate and use serial0 for kgdboc
The driver for 8250 defaults to 9600. We setup it on 115200 to be consistent
with getty configuration.

The firmware can do its magic with kgdboc too as it searches and replaces
=serial0 and =serial1. So, use serial0 for kgdboc too.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-04-22 16:39:52 +02:00
Andrei Gherzan
4a2cefab66 linux-raspberrypi: Bump to v4.4.7
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-04-22 11:00:41 +02:00
Theodor Gherzan
47440c32a4 README: Document new variable configuration
Signed-off-by: Theodor Gherzan <theodor@resin.io>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-04-22 10:59:44 +02:00
Theodor Gherzan
3fe96d9212 linux-raspberrypi: Make use of serial aliases
The firmware will parse cmdline and replace serial aliases with the
actual serial console port.

Signed-off-by: Theodor Gherzan <theodor@resin.io>
2016-04-21 22:25:53 +02:00
Theodor Gherzan
c57a7295d7 rpi-config: Add UART enabler
Signed-off-by: Theodor Gherzan <theodor@resin.io>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-04-21 22:25:41 +02:00
Theodor Gherzan
d997e2da17 firmware.inc: Update firmware to include various serial fixes
Signed-off-by: Theodor Gherzan <theodor@resin.io>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-04-21 22:11:26 +02:00
Trevor Woerner
e2603e56d6 raspberrypi*.conf: Serial console definition split
The latest raspberrypi3 puts its console on ttyS0 instead of ttyAMA0 (like all
the preceding boards). Therefore pull this definition out of the common
include file and add it separately for each MACHINE.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2016-04-21 21:16:56 +02:00
Jonathan Liu
3696c0ef66 omxplayer: Bump revision
Fixes linking error due to missing vchostif library dependency.
Rebased patches and removed patches already merged upstream.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-04-21 19:12:38 +02:00
Tom Doehring
bfc46bdd55 userland: Fix passing of wayland-native to cmake while configuring
While having 'wayland' set DISTRO_FEATURES 'wayland-native' is handled as a cmake parameter which breaks the do_configure:

$ cat /data/builds/rpi3-sandbox/tmp/work/raspberrypi2-poky-linux-gnueab i/userland/git-r5/temp/run.do_configure
 cmake \
          ${OECMAKE_SITEFILE} \
          [...]
          -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed'                  wayland-native \
          -Wno-dev

$ CMake Error: The source directory "/data/builds/rpi3-sandbox/tmp/work/raspberrypi2-poky-linux-gnueabi/userland/git-r5/build/wayland-native" does not exist.
| Specify --help for usage, or press the help button on the CMake GUI.

Assuming that wayland-native should only be defined as a DEPENDS package this patch moves it to the correct PACKAGECONFIG position.

Signed-off-by: Tom Doehring <toolmmy@gmail.com>
Signed-off-by: toolmmy <toolmmy@gmail.com>
2016-04-20 22:57:56 +02:00
Khem Raj
3645b27848 userland: Make vchostif as shared library
This helps in using this library when building
with PIE binaries

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-04-13 05:16:57 +02:00
Khem Raj
f1b7034077 userland: Fix a build regression in builds not using wayland
Update userland to latest

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-04-13 05:16:26 +02:00
Andrei Gherzan
4f8930b9d0 userland: In case of wayland configuration build needs wayland-native
Building wayland support requires availability of wayland-scanner to avoid
build errors like:

| /bin/sh:
| /home/andrei/work/yocto/build-rpi-master/tmp/sysroots/x86_64-linux/usr/bin/wayland-scanner:
| No such file or directory

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-04-13 05:12:13 +02:00
Andrei Gherzan
d493717509 README: Mention all the supported machines
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-04-13 05:08:23 +02:00
toolmmy
9b6cdaf826 linux-firmware: Rework of brcmfmac43430 firmware handling
The current version of the recipe produces the following warnings while createing an image:

WARNING: The license listed Firmware-broadcom_brcm80211 was not in the licenses collected for recipe linux-firmwa
re
WARNING: [log_check] td-core-image: found a warning message in the logfile (keyword 'WARNING:'):
[log_check] WARNING: The license listed Firmware-broadcom_brcm80211 was not in the licenses collected for recipe
linux-firmware

This commit contains a rework of the brcm80211 firmware handling and deploys the firmware and the LICENSE files that fixes the warning messages.

Signed-off-by: Tom Doehring <toolmmy@gmail.com>
2016-04-13 04:32:03 +02:00
Alan Stice
54ecd3402d linux-raspberrypi: Rename linux.inc to linux-rpi.inc Rename linux.inc to prevent it from impacting other machines
Signed-off-by: Alan Stice <alan@alanstice.com>
2016-04-13 04:17:22 +02:00
Petter Mabäcker
e9e4b1bbd2 linux-raspberrypi: Drop support for 3.14
General policy is to support three kernel versions; latest stable + two
longterm versions. These are currently 4.4, 4.1, and 3.18.

Signed-off-by: Petter Mabäcker <petter@technux.se>
2016-04-13 03:18:41 +02:00
Petter Mabäcker
e447357ec4 .gitignore: Ignore some additional files
Signed-off-by: Petter Mabäcker <petter@technux.se>
2016-04-13 03:18:38 +02:00
Petter Mabäcker
3bd9b1bce4 rpi-base.inc: Add overlay for rpi-ft5406
rpi-ft5406 is an enabler for Official Raspberry Pi 7 inch
touchscreen support.

Signed-off-by: Petter Mabäcker <petter@technux.se>
2016-04-13 03:18:21 +02:00
Petter Mabäcker
197266a2aa rpi-base.inc: Remove deprecated MACHINE_FEATURES
Signed-off-by: Petter Mabäcker <petter@technux.se>
2016-04-13 03:17:56 +02:00
Petter Mabäcker
9797874a23 pitft: Add support for pitft28r
The support for PiTFT 28 inch resistive touchscreen is optional
and can be enabled by adding below in local.conf:

MACHINE_FEATURES += "pitft pitft28r"

While at it also fix a minor typo in README.

Signed-off-by: Petter Mabäcker <petter@technux.se>
2016-04-13 03:16:02 +02:00
Khem Raj
84af6e7de3 userland: Fix tearing effect seen with wayland compositors
Introduce EGL flush in few more places

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-04-01 13:27:59 +02:00
Khem Raj
8f425f1b9e firmware: Update to 20160326
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-04-01 13:22:37 +02:00
Khem Raj
e82417d33b userland: Implement dispmanx_wrap_buffer
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-28 16:37:43 +02:00
Khem Raj
d28692dc9e userland: Upgrade to latest
Regenerate patches on top of given SRCREV Add return code errors fix to get it
working with clang.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-28 16:37:29 +02:00
Khem Raj
f6473c36a5 eglinfo-x11: Disable --as-needed
--as-needed exposes a dependency problem where libegl needs some symbols
from libgles2 but the order that waf uses on linker cmdline for these
libs is reversed so we end up with link time failures e.g.

libEGL.so: undefined reference to `glxx_client_GetRenderbufferParameteriv'

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-28 16:36:06 +02:00
Khem Raj
8f285bb8f3 sdcard_image: Depend on do_deploy for kernel
SD image is expecting dtb files to be deployed in deploy area, this step
however is done when do_deploy of kernel is finished and we need to pin that in
dependency list, otherwise there are build race conditions during builds
especially visible when building with initramfs enabled.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-28 16:35:50 +02:00
Khem Raj
75efa69e75 linux-raspberrypi-4.4: Add the pitft22 overlay from adafruit
Upgrade to 4.4.6

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-28 16:35:04 +02:00
Khem Raj
38ab74bd3e linux-raspberrypi_4.4.bb: Update to 4.4.3
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 15:16:14 +01:00
Khem Raj
e9c8b2aa4d linux-raspberrypi: Upgrade 4.4.1 -> 4.4.2
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 15:16:03 +01:00
Khem Raj
2c19e8882f linux-raspberrypi: Add recipe for 4.4 release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-03-10 15:15:44 +01:00
Khem Raj
00962adc49 userland: Drop extern inline patches
Not needed since the issues have been fixed differently upstream

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 14:58:26 +01:00
Khem Raj
370e0f68e6 userland: Upgrade to latest
Drop upstreamed patches

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 14:57:48 +01:00
Khem Raj
f248d7cf8c gstreamer1.0-omx: Backports and fixes for smooth video playback
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 14:56:07 +01:00
Khem Raj
53e17683c5 weston: Specify egl and compositor options for rpi
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 14:55:47 +01:00
Khem Raj
27445a1e4c gstreamer1.0-omx: Add raspberry pi optimization patches and config options
Patches from Hong Li <honglh@gmail.com>

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 14:54:43 +01:00
Khem Raj
06709d784d userland: Fix build race with wayland support
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 14:54:02 +01:00
Khem Raj
da73efffe1 userland: Add wayland to deps if in DISTRO_FEATURES
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 14:53:49 +01:00
Khem Raj
34cb837929 userland: Define PROJECT_APIVER and rprovide libgles2 libgl
These are needed for pkgconfig to have correct version number which is
checked by many configure systems e.g. cogl to decide on support for
wayland-egl

rprovides are expected by cogl as well to define runtime deps on
libgles2 and libgl

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 14:53:28 +01:00
Khem Raj
507ab2682b userland: Delete rpc flushing of thread in glEGLImageTargetTexture2DOES
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-03-10 14:53:03 +01:00
Khem Raj
4ed070fc0c eglinfo-x11,eglinfo-fb: Add EGLINFO_DEVICE via bbappends
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 14:51:44 +01:00
Khem Raj
b47e8f5599 rpi-gpio: Upgrade to 0.6.1 and fix build with clang
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 14:51:01 +01:00
Khem Raj
6fa040c769 weston: Enable rpi compositor backend
oe-core default configure options disables it

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 14:50:49 +01:00
Khem Raj
bfbe0ce3b4 userland: Add wayland support
backport and fix needed patches for supporting wayland-egl
use PACKAGECONFIG for wayland so we can add proper DEPENDS on wayland
Fix QA warnings about dev-so

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 14:49:21 +01:00
Khem Raj
4db634bcda userland: Fix build with clang compiler
ends up with some warning cleanups and extern inline semantics changes

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 14:49:10 +01:00
Khem Raj
32d0936570 userland: Upgrade to latest git master
Drop upstreamed patches
0002-fix-musl-build.patch was partially upstreamed
git'ify the remaining patches

Change license field to BSD 3 clause, since thats what
the licence it with BCM and RPI Copyrights

Licence changed from Broadcom to Raspberry Pi Ltd

see commit 0863709b9fb90ee1204b7fe52f69535830d3c111
Author: popcornmix <popcornmix@gmail.com>
Date:   Mon Feb 1 21:07:02 2016 +0000

    Update copyright

diff --git a/LICENCE b/LICENCE
index 2582681..dea4c26 100644
--- a/LICENCE
+++ b/LICENCE
@@ -1,4 +1,5 @@
 Copyright (c) 2012, Broadcom Europe Ltd
+Copyright (c) 2015, Raspberry Pi (Trading) Ltd
 All rights reserved.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-10 14:48:53 +01:00
Theodor Gherzan
519c387e3b rpi-base.inc: Add rpi3 device tree blob
Signed-off-by: Theodor Gherzan <theodor@resin.io>
2016-03-10 14:45:42 +01:00
Theodor Gherzan
12a8848127 raspberrypi3.conf: Create machine configuration for Raspberrypi 3
Signed-off-by: Theodor Gherzan <theodor@resin.io>
2016-03-10 14:45:12 +01:00
Theodor Gherzan
1601a3571c linux-firmware: Add brcmfmac43430 firmware
Signed-off-by: Theodor Gherzan <theodor@resin.io>
2016-03-10 14:44:44 +01:00
Theodor Gherzan
752a9a89e5 bcm2835-bootfiles: Update LICENCE md5 due to firmware revision update
Signed-off-by: Theodor Gherzan <theodor@resin.io>
2016-03-10 14:44:24 +01:00
Theodor Gherzan
5eaeb55161 firmware.inc: Update revision to include rpi3 support
Signed-off-by: Theodor Gherzan <theodor@resin.io>
2016-03-10 14:44:10 +01:00
Theodor Gherzan
15a23443c8 linux-raspberrypi: Update revision to include rpi3 support
Signed-off-by: Theodor Gherzan <theodor@resin.io>
2016-03-10 14:44:03 +01:00
Petter Mabäcker
a42a1706de pitft: Add PiTFT22 support
- Add support to build overlays for PiTFT22 in the kernel.
- Setup a basic configuration for the driver

The PiTFT22 support is optional and can be enabled by adding below in
local.conf:

MACHINE_FEATURES += "pitft pitft22"

This patch also includes restructuring of kernel patches per kernel version
specific directories.

[Support #70]

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-03-01 21:56:56 +01:00
Jonathan Liu
249cb544e0 u-boot-rpi: update path to imagetool-uncompressed.py
Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-03-01 15:04:04 +01:00
Jonathan Liu
807cff5e5b linux-raspberrypi: update path to mkknlimg
Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-03-01 15:04:03 +01:00
Jonathan Liu
224d1c9925 rpi-mkimage: install to bindir instead of libexecdir
On fido and earlier branches, ${libexecdir} depends on ${BPN} so it
is not a good choice as ${libexecdir} is different depending on the
recipe name.

For example, rpi-mkimage would install mkknlimg to:
  [...]/sysroots/x86_64-linux/usr/lib/rpi-mkimage
but linux-raspberrypi would look for mkknlimg in the path:
  [...]/sysroots/x86_64-linux/usr/lib/linux-raspberrypi

To resolve this, we use ${bindir} instead as it doesn't depend on
${BPN} in fido and earlier branches as well as in the master branch.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-03-01 15:04:02 +01:00
Petter Mabäcker
0d5aff5161 pitft: Add basic support for PiTFT
Add basic support for PiTFT display by using device-trees.

In order get it working below configurations must be active in
local.conf:

MACHINE_FEATURES += "pitft"
 - This will enable SPI bus and i2c device-trees, it will also setup
   framebuffer for console and x server on PiTFT.

[Support #70]

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-03-01 14:38:03 +01:00
Petter Mabäcker
52671faf4f rpi-base.inc: Allow MACHINE_FEATURES appends
Ensure that it's possible to add MACHINE_FEATURES from places that will
be executed before rpi-base.inc (like e.g. local.conf), without having
them overrided.

Signed-off-by: Petter Mabäcker <petter@technux.se>
2016-03-01 14:25:54 +01:00
Petter Mabäcker
b331933938 rpi-config: I2C support
With newer kernels (>=3.18) that supports device-trees I2C
should be enabled with device-trees.

This is now support by adding:
ENABLE_I2C = "1"
in local.conf

This will enable the dtparams:
i2c1
i2c_arm

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-03-01 14:10:21 +01:00
Andrei Gherzan
6c6f6cf7b3 Add optional build configuration section
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-03-01 14:06:42 +01:00
Andrei Gherzan
8948772554 README: Add missing contents
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-03-01 13:24:39 +01:00
Petter Mabäcker
451a8de37c .gitignore: Ignore .swp files
Signed-off-by: Petter Mabäcker <petter@technux.se>
2016-02-29 22:25:35 +01:00
Andrei Gherzan
e9de6d816d linux-raspberrypi: Make sure we have initramfs image before running mkknlimg
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-02-28 12:48:20 +01:00
Stéphane Cerveau
9675f8f09a linux-raspberry.inc: add initramfs support
append initramfs creation to install RPi bootloader trailer

Signed-off-by: Stéphane Cerveau <voxtok@voxtok.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-02-28 12:48:20 +01:00
Khem Raj
4d42a6efec linux-raspberrypi: Upgrade 4.1 kernel to 4.1.17
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-02-28 12:48:20 +01:00
Khem Raj
68b18fa80e rpi-config: Upgrade to tip of tree to get GPU_MEM_1024
Document it in README

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-02-28 12:48:20 +01:00
Khem Raj
37e4913438 wiringPi: Fix build with musl
Include asm/ioctl.h for _IOC_SIZEBITS

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-02-28 12:48:20 +01:00
Khem Raj
c65b0b8c3f python-rtimu: Fix build with musl
ioctl(3) needs to include asm/ioctl.h for its signature

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-02-28 12:48:20 +01:00
Khem Raj
bcb26ed634 rpio: Include sys/types.h for caddr_t
Fixes build with musl

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-02-28 12:48:20 +01:00
Andrei Gherzan
9295c7fd71 omxplayer: Add patch to fix host-user-contaminated QA
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-02-28 11:31:49 +01:00
Jonathan Liu
048008a935 u-boot-rpi: update path to imagetool-uncompressed.py
Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-02-28 10:48:56 +01:00
Jonathan Liu
c25a43a3b4 linux-raspberrypi: update path to mkknlimg
Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-02-28 10:48:55 +01:00
Jonathan Liu
736e1ba035 rpi-mkimage: install to ${libexecdir}
It doesn't make sense to install to ${libexecdir}/rpi-mkimage as it
changes the path on fido and earlier branches from:
  [...]/sysroots/x86_64-linux/usr/lib/rpi-mkimage
to:
  [...]/sysroots/x86_64-linux/usr/lib/rpi-mkimage/rpi-mkimage

Using ${libexecdir} instead of ${libexecdir}/rpi-mkimage preserves
the path for fido and earlier.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-02-28 10:48:54 +01:00
Jonathan Liu
6726ffb4fe omxplayer: bump revision
Fixes compile errors with ffmpeg 3.0.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-02-27 13:56:47 +01:00
Maciej Borzecki
053cb6ea0d linux-raspberrypi: use STAGING_LIBEXECDIR_NATIVE for rpi-mkimage tools
The rpi-mkimage tools are installed ${libexecdir}/rpi-mkimage within
native sysroot, where ${libexecdir} resolves to /usr/libexec. This caused
the build to fail due to recipe trying to access ${libdir}/mkimage. Fix
the paths to use an unambiguous STAGING_LIBEXECDIR_NATIVE so that a
proper location is used.

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
2016-02-26 20:42:19 +01:00
Maciej Borzecki
1465bc8787 u-boot-rpi: use STAGING_LIBEXECDIR_NATIVE for rpi-mkimage tools
The rpi-mkimage tools are installed ${libexecdir}/rpi-mkimage within
native sysroot, where ${libexecdir} resolves to /usr/libexec. This caused
the build to fail due to recipe trying to access ${libdir}/mkimage. Fix
the paths to use an unambiguous STAGING_LIBEXECDIR_NATIVE so that a
proper location is used.

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
2016-02-26 20:42:18 +01:00
Maciej Borzecki
6bd39a61b7 rpi-mkimage: install tools under {libexecdir}/rpi-mkimage
For consistency with other recipes that look for mkimage
tools (u-boot-rpi, linux-raspberrypi) under ${libexecdir}/rpi-mkimage,
make sure that the tools are installed at the proper location.

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
2016-02-26 20:42:11 +01:00
Andrei Gherzan
6314f668fa raspberrypi0.conf: Add machine configuration for Raspberry Pi Zero
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-01-11 11:09:35 +01:00
Andrei Gherzan
fe25a1163a packagegroup-rpi-test: Include newly added packages
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-01-11 11:00:12 +01:00
Leon Anavi
70e7860820 python-rtimu: Add recipe to support RTIMULib
RTIMULib is a C++ and Python library that makes it easy to use
9-dof and 10-dof IMUs with embedded Linux systems. Python
module for Raspberry Pi Sense HAT depends on it.

Python module python-rtimu uses the source code from the
GitHub repository of RPi-Distro.

Signed-off-by: Leon Anavi <leon@anavi.org>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-01-10 19:55:25 +01:00
Leon Anavi
509f042280 python-sense-hat: Add recipe to support Raspberry Pi Sense HAT
Python module to control the Raspberry Pi Sense HAT used in
the Astro Pi mission. This recipe provides the officially
supported library for the Sense HAT with access to all of the
on-board sensors and the LED matrix.

Signed-off-by: Leon Anavi <leon@anavi.org>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-01-10 19:53:25 +01:00
177 changed files with 8253 additions and 1821 deletions

27
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,27 @@
<!--
If you are reporting a new issue, make sure that we do not have any duplicates
already open. You can ensure this by searching the issue list for this
repository. If there is a duplicate, please close your issue and add a comment
to the existing issue instead.
-->
**Description**
<!--
Briefly describe the problem you are having in a few paragraphs.
-->
**Steps to reproduce the issue:**
1.
2.
3.
**Describe the results you received:**
**Describe the results you expected:**
**Additional information you deem important (e.g. issue happens only occasionally):**
**Additional details (revisions used, host distro, etc.):**

16
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,16 @@
<!--
Please make sure you've read and understood our contributing guidelines.
For additional information on the contribution guidelines:
https://wiki.yoctoproject.org/wiki/Contribution_Guidelines#General_Information
If this PR fixes an issue, make sure your description includes "fixes #xxxx".
If this PR connects to an issue, make sure your description includes "connected to #xxxx".
Please provide the following information:
-->
**- What I did**
**- How I did it**

5
.gitignore vendored
View File

@@ -1,2 +1,7 @@
build* build*
*~ *~
.*.swp
*.orig
*.rej
*.log
docs/_build

292
README
View File

@@ -1,292 +0,0 @@
Quick links
===========
Git repository web frontend:
http://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/
Mailing list (yocto mailing list):
yocto@yoctoproject.org
Issues management (redmine):
http://redmine.gherzan.ro/projects/meta-raspberrypi
Contents:
=========
1. Description
2. Yocto BSP Layer - Raspberry Pi
2.A. Compressed deployed files
2.B. GPU memory
2.C. Add purchased license codecs
2.D. Disable overscan
2.E. Set overclocking options
2.F. Optional - Video camera support with V4L2 drivers
2.G. Optional - Enable offline compositing support
2.H. Optional - Enable kgdb over console support
2.I. Images
2.J. Boot to U-Boot
2.K. Image with Initramfs
2.L. Device tree support
3. Extra apps
3.A. omxplayer
4. Source code and mirrors
5. Contribution
5.A. Mailing List
5.B. Redmine
6. Maintainers
1. Description
==============
This is the general hardware specific BSP overlay for the RaspberryPi device.
More information can be found at:
http://www.raspberrypi.org/ (Official Site)
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.
* Yocto/Poky (main focus of testing).
2. Yocto BSP Layer - RaspberryPi
================================
This layer depends on:
URI: git://git.yoctoproject.org/poky
branch: master
revision: HEAD
URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe, meta-multimedia
branch: master
revision: HEAD
How to use it:
1. source poky/oe-init-build-env rpi-build
2. Add needed layer to bblayers.conf:
- meta-raspberrypi
3 Set MACHINE to "raspberrypi"/"raspberrypi2" in local.conf
4. bitbake rpi-hwup-image
5. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used)
6. Boot your RPI.
2.A. Optional - compressed deployed files:
==========================================
1. Overwrite IMAGE_FSTYPES in local.conf
IMAGE_FSTYPES = "tar.bz2 ext3.xz"
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).
2.B. Optional - GPU memory:
===========================
Variable : Details
GPU_MEM : GPU memory in megabyte. Sets the memory split between the ARM and
GPU. ARM gets the remaining memory. Min 16. Default 64.
GPU_MEM_256 : GPU memory in megabyte for the 256MB Raspberry Pi. Ignored by the
512MB RP. Overrides gpu_mem. Max 192. Default not set.
GPU_MEM_512 : GPU memory in megabyte for the 512MB Raspberry Pi. Ignored by the
256MB RP. Overrides gpu_mem. Max 448. Default not set.
2.C.Optional - Add purchased license codecs:
============================================
To add you own licenses use variables KEY_DECODE_MPG2 and KEY_DECODE_WVC1 in
local.conf. Example:
KEY_DECODE_MPG2 = "12345678"
KEY_DECODE_WVC1 = "12345678"
You can supply more licenses separated by comma. Example:
KEY_DECODE_WVC1 = "0x12345678,0xabcdabcd,0x87654321"
2.D. Optional - Disable overscan:
=================================
By default the GPU adds a black border around the video output to compensate for
TVs which cut off part of the image. To disable this set this variable in
local.conf:
DISABLE_OVERSCAN = "1"
2.E. Optional - 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 the config.txt for a detailed description of options and modes. Example:
# Turbo mode
ARM_FREQ = "1000"
CORE_FREQ = "500"
SDRAM_FREQ = "500"
OVER_VOLTAGE = "6"
2.F. Optional - Video camera support with V4L2 drivers
======================================================
Set this variable to enable support for the video camera (Linux 3.12.4+ required)
VIDEO_CAMERA = "1"
2.G. Optional - Enable offline compositing support
==================================================
Set this variable to enable support for dispmanx offline compositing
DISMANX_OFFLINE = "1"
This will enable the firmware to fall back to off-line compositing of
Dispmanx elements. Normally the compositing is done on-line, during scanout,
but cannot handle too many elements. With off-line enabled, an off-screen
buffer is allocated for compositing. When scene complexity (number and sizes
of elements) is high, compositing will happen off-line into the buffer.
Heavily recommended for Wayland/Weston.
See: http://wayland.freedesktop.org/raspberrypi.html
2.H. Optional - Enable kgdb over console support
================================================
To add the kdbg over console (kgdboc) parameter to the kernel command line,
set this variable in local.conf:
ENABLE_KGDB = "1"
2.I. Images
===========
* rpi-hwup-image
Hardware up image
* rpi-basic-image
Based on rpi-hwup-image with some added features (ex: splash)
* rpi-test-image
Image based on rpi-basic-image which includes most of the packages in this
layer and some media samples.
2.J. Boot to U-Boot
===================
To have u-boot load kernel image, set in your local.conf
KERNEL_IMAGETYPE = "uImage"
This will make kernel.img be u-boot image which will load uImage.
By default, kernel.img is the actual kernel image (ex. Image).
2.K. Image with Initramfs
=========================
To build an initramfs image :
* Set this 3 kernel variables (in linux-raspberrypi.inc for example)
- kernel_configure_variable BLK_DEV_INITRD y
- kernel_configure_variable INITRAMFS_SOURCE ""
- kernel_configure_variable RD_GZIP y
* Set the yocto variables (in linux-raspberrypi.inc for example)
- INITRAMFS_IMAGE = "<a name for your initramfs image>"
- INITRAMFS_IMAGE_BUNDLE = "1"
* Set the meta-rasberrypi variable (in raspberrypi.conf for example)
- KERNEL_INITRAMFS = "-initramfs"
2.L. Device tree support
=========================
Device tree for RPi is only supported when using linux-raspberrypi 3.18+
kernels.
* Set KERNEL_DEVICETREE (in conf/machine/raspberrypi.conf)
- the trailer is added to the kernel image before kernel install task.
While creating the SDCard image, this modified kernel is put on
boot partition (as kernel.img) as well as DeviceTree blobs (.dtb files).
NOTE: KERNEL_DEVICETREE is default enabled for kernel >= 3.18 and always disabled for
older kernel versions.
2.M. Optional - enable SPI bus
==============================
When using device tree kernels, set this variable to enable the SPI bus
ENABLE_SPI_BUS = "1"
3. Extra apps
=============
3.A. omxplayer
==============
omxplayer depends on libav which has a commercial license. So in order to be
able to compile omxplayer you will need to whiteflag the commercial license
adding to you local.conf:
LICENSE_FLAGS_WHITELIST = "commercial"
4. Board Configuration
======================
4.A. Audio Routing
==================
To load audio driver
modprobe snd-bcm2835
To test audio playback
e.g. aplay test.wav
Note that without HDMI connected this emits audio from the 3.5in jack connector
as expected. However With an HDMI display connected there is no audio output from
the jack connector.
To force the audio routing via the 3.5in jack connector use
amixer cset numid=3 1
Options to amixer cset are:
0=auto
1=headphones
2=hdmi
5. Source code and mirrors
==========================
Main repo:
git://git.yoctoproject.org/meta-raspberrypi
http://git.yoctoproject.org/git/meta-raspberrypi
Github mirror:
https://github.com/agherzan/meta-raspberrypi
Bitbucket mirror:
https://bitbucket.org/agherzan/meta-raspberrypi
6. Contributing
===============
6.A. Mailing list
=================
The main communication tool we use is a 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.
To contribute to this layer you should send the patches for review to the
above specified mailing list.
The patches should be compliant with the openembedded patch guidelines:
http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
When creating patches, please use something like:
git format-patch -s --subject-prefix='meta-raspberrypi][PATCH' origin
When sending patches to mailing list, please use something like:
git send-email --to yocto@yoctoproject.org <generated patch>
6.B. Redmine
============
In order to manage and trace the meta-raspberrypi issues, we use redmine:
http://redmine.gherzan.ro/projects/meta-raspberrypi
Here we report, trace and develop bugs, features or support tickets for this
yocto BSP later.
If you push patches which have a redmine issue associated, please provide the
issue number in the commit log just before "Signed-off-by" line(s). Example line
for a bug:
[Bug #13]
7. Maintainers
==============
Andrei Gherzan <andrei at gherzan.ro>

56
README.md Normal file
View File

@@ -0,0 +1,56 @@
# meta-raspberrypi
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)
[![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
* Git repository web frontend:
<https://github.com/agherzan/meta-raspberrypi>
* Mailing list (yocto mailing list): <yocto@yoctoproject.org>
* Issues management (Github Issues):
<https://github.com/agherzan/meta-raspberrypi/issues>
* Documentation: <http://meta-raspberrypi.readthedocs.io/en/latest/>
## Description
This is the general hardware specific BSP overlay for the RaspberryPi device.
More information can be found at: <http://www.raspberrypi.org/> (Official Site)
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.
* Yocto/Poky (main focus of testing).
## Dependencies
This layer depends on:
* URI: git://git.yoctoproject.org/poky
* branch: master
* revision: HEAD
* URI: git://git.openembedded.org/meta-openembedded
* layers: meta-oe, meta-multimedia, meta-networking, meta-python
* branch: master
* revision: HEAD
## Quick Start
1. source poky/oe-init-build-env rpi-build
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.
## Maintainers
* Andrei Gherzan `<andrei at gherzan.ro>`

View File

@@ -1,39 +0,0 @@
inherit linux-kernel-base
def get_dts(d, ver):
staging_dir = d.getVar("STAGING_KERNEL_BUILDDIR", True)
dts = d.getVar("KERNEL_DEVICETREE", True)
# d.getVar() might return 'None' as a normal string
# leading to 'is None' check isn't enough.
# TODO: Investigate if this is a bug in bitbake
if ver is None or ver == "None":
''' if 'ver' isn't set try to grab the kernel version
from the kernel staging '''
ver = get_kernelversion_file(staging_dir)
if ver is not None:
min_ver = ver.split('.', 3)
else:
return dts
# Always turn off device tree support for kernel's < 3.18
try:
if int(min_ver[0]) <= 3:
if int(min_ver[1]) < 18:
dts = ""
except IndexError:
min_ver = None
return dts
def split_overlays(d, out):
dts = get_dts(d, None)
if out:
overlays = oe.utils.str_filter_out('\S+\-overlay\.dtb$', dts, d)
else:
overlays = oe.utils.str_filter('\S+\-overlay\.dtb$', dts, d)
return overlays

View File

@@ -1,8 +1,7 @@
inherit image_types inherit image_types
inherit linux-raspberrypi-base
# #
# Create an image that can by written onto a SD card using dd. # Create an image that can be written onto a SD card using dd.
# #
# The disk layout used is: # The disk layout used is:
# #
@@ -29,12 +28,10 @@ IMAGE_TYPEDEP_rpi-sdimg = "${SDIMG_ROOTFS_TYPE}"
# Set kernel and boot loader # Set kernel and boot loader
IMAGE_BOOTLOADER ?= "bcm2835-bootfiles" IMAGE_BOOTLOADER ?= "bcm2835-bootfiles"
# Set initramfs extension
KERNEL_INITRAMFS ?= ""
# Kernel image name # Kernel image name
SDIMG_KERNELIMAGE_raspberrypi ?= "kernel.img" SDIMG_KERNELIMAGE_raspberrypi ?= "kernel.img"
SDIMG_KERNELIMAGE_raspberrypi2 ?= "kernel7.img" SDIMG_KERNELIMAGE_raspberrypi2 ?= "kernel7.img"
SDIMG_KERNELIMAGE_raspberrypi3-64 ?= "kernel8.img"
# Boot partition volume id # Boot partition volume id
BOOTDD_VOLUME_ID ?= "${MACHINE}" BOOTDD_VOLUME_ID ?= "${MACHINE}"
@@ -47,137 +44,149 @@ IMAGE_ROOTFS_ALIGNMENT = "4096"
# Use an uncompressed ext3 by default as rootfs # Use an uncompressed ext3 by default as rootfs
SDIMG_ROOTFS_TYPE ?= "ext3" SDIMG_ROOTFS_TYPE ?= "ext3"
SDIMG_ROOTFS = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}" SDIMG_ROOTFS = "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${SDIMG_ROOTFS_TYPE}"
IMAGE_DEPENDS_rpi-sdimg = " \ # For the names of kernel artifacts
parted-native \ inherit kernel-artifact-names
mtools-native \
dosfstools-native \ do_image_rpi_sdimg[depends] = " \
virtual/kernel \ parted-native:do_populate_sysroot \
${IMAGE_BOOTLOADER} \ mtools-native:do_populate_sysroot \
${@bb.utils.contains('KERNEL_IMAGETYPE', 'uImage', 'u-boot', '',d)} \ 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)} \
"
do_image_rpi_sdimg[recrdeps] = "do_build"
# SD card image name # SD card image name
SDIMG = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.rpi-sdimg" SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.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 ?= ""
# Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS. # Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS.
FATPAYLOAD ?= "" FATPAYLOAD ?= ""
IMAGEDATESTAMP = "${@time.strftime('%Y.%m.%d',time.gmtime())}" # SD card vfat partition image name
SDIMG_VFAT_DEPLOY ?= "${RPI_USE_U_BOOT}"
SDIMG_VFAT = "${IMAGE_NAME}.vfat"
SDIMG_LINK_VFAT = "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.vfat"
def split_overlays(d, out, ver=None):
dts = d.getVar("KERNEL_DEVICETREE")
# Device Tree Overlays are assumed to be suffixed by '-overlay.dtb' (4.1.x) or by '.dtbo' (4.4.9+) string and will be put in a dedicated folder
if out:
overlays = oe.utils.str_filter_out('\S+\-overlay\.dtb$', dts, d)
overlays = oe.utils.str_filter_out('\S+\.dtbo$', overlays, d)
else:
overlays = oe.utils.str_filter('\S+\-overlay\.dtb$', dts, d) + \
" " + oe.utils.str_filter('\S+\.dtbo$', dts, d)
return overlays
IMAGE_CMD_rpi-sdimg () { IMAGE_CMD_rpi-sdimg () {
# Align partitions # Align partitions
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1) BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT}) BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE) SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE)
echo "Creating filesystem with Boot partition ${BOOT_SPACE_ALIGNED} KiB and RootFS $ROOTFS_SIZE KiB" echo "Creating filesystem with Boot partition ${BOOT_SPACE_ALIGNED} KiB and RootFS $ROOTFS_SIZE KiB"
# Check if we are building with device tree support # Check if we are building with device tree support
DTS="${@get_dts(d, None)}" DTS="${KERNEL_DEVICETREE}"
# Initialize sdcard image file # Initialize sdcard image file
dd if=/dev/zero of=${SDIMG} bs=1024 count=0 seek=${SDIMG_SIZE} dd if=/dev/zero of=${SDIMG} bs=1024 count=0 seek=${SDIMG_SIZE}
# Create partition table # Create partition table
parted -s ${SDIMG} mklabel msdos parted -s ${SDIMG} mklabel msdos
# Create boot partition and mark it as bootable # Create boot partition and mark it as bootable
parted -s ${SDIMG} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) parted -s ${SDIMG} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT})
parted -s ${SDIMG} set 1 boot on parted -s ${SDIMG} set 1 boot on
# Create rootfs partition to the end of disk # Create rootfs partition to the end of disk
parted -s ${SDIMG} -- unit KiB mkpart primary ext2 $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) -1s parted -s ${SDIMG} -- unit KiB mkpart primary ext2 $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) -1s
parted ${SDIMG} print parted ${SDIMG} print
# Create a vfat image with boot files # 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 }') BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDIMG} unit b print | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 512 /2 }')
rm -f ${WORKDIR}/boot.img rm -f ${WORKDIR}/boot.img
mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS mkfs.vfat -F32 -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/ || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* into boot.img"
case "${KERNEL_IMAGETYPE}" in if [ "${@bb.utils.contains("MACHINE_FEATURES", "armstub", "1", "0", d)}" = "1" ]; then
"uImage") mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/armstubs/${ARMSTUB} ::/ || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/armstubs/${ARMSTUB} into boot.img"
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.img ::${SDIMG_KERNELIMAGE} fi
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::uImage if test -n "${DTS}"; then
;; # Copy board device trees to root folder
*) for dtbf in ${@split_overlays(d, True)}; do
if test -n "${DTS}"; then dtb=`basename $dtbf`
# Device Tree Overlays are assumed to be suffixed by '-overlay.dtb' string and will be put in a dedicated folder mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::$dtb || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/$dtb into boot.img"
DT_OVERLAYS="${@split_overlays(d, 0)}" done
DT_ROOT="${@split_overlays(d, 1)}"
# Copy board device trees to root folder # Copy device tree overlays to dedicated folder
for DTB in ${DT_ROOT}; do mmd -i ${WORKDIR}/boot.img overlays
DTB_BASE_NAME=`basename ${DTB} .dtb` for dtbf in ${@split_overlays(d, False)}; do
dtb=`basename $dtbf`
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 -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 -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 -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 -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 -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
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb ::${DTB_BASE_NAME}.dtb if [ -n "${FATPAYLOAD}" ] ; then
done echo "Copying payload into VFAT"
for entry in ${FATPAYLOAD} ; do
# 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
# Copy device tree overlays to dedicated folder # Add stamp file
mmd -i ${WORKDIR}/boot.img overlays echo "${IMAGE_NAME}" > ${WORKDIR}/image-version-info
for DTB in ${DT_OVERLAYS}; do mcopy -v -i ${WORKDIR}/boot.img ${WORKDIR}/image-version-info :: || bbfatal "mcopy cannot copy ${WORKDIR}/image-version-info into boot.img"
DTB_BASE_NAME=`basename ${DTB} .dtb`
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb ::overlays/${DTB_BASE_NAME}.dtb # Deploy vfat partition
done if [ "${SDIMG_VFAT_DEPLOY}" = "1" ]; then
fi cp ${WORKDIR}/boot.img ${IMGDEPLOYDIR}/${SDIMG_VFAT}
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::${SDIMG_KERNELIMAGE} ln -sf ${SDIMG_VFAT} ${SDIMG_LINK_VFAT}
;; fi
esac
if [ -n ${FATPAYLOAD} ] ; then # Burn Partitions
echo "Copying payload into VFAT" dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
for entry in ${FATPAYLOAD} ; do # If SDIMG_ROOTFS_TYPE is a .xz file use xzcat
# add the || true to stop aborting on vfat issues like not supporting .~lock files if echo "${SDIMG_ROOTFS_TYPE}" | egrep -q "*\.xz"
mcopy -i ${WORKDIR}/boot.img -s -v ${IMAGE_ROOTFS}$entry :: || true then
done xzcat ${SDIMG_ROOTFS} | dd of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
fi else
dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
# Add stamp file fi
echo "${IMAGE_NAME}-${IMAGEDATESTAMP}" > ${WORKDIR}/image-version-info
mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}//image-version-info ::
# Burn Partitions
dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
# If SDIMG_ROOTFS_TYPE is a .xz file use xzcat
if echo "${SDIMG_ROOTFS_TYPE}" | egrep -q "*\.xz"
then
xzcat ${SDIMG_ROOTFS} | dd of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
else
dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
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 ; " ROOTFS_POSTPROCESS_COMMAND += " rpi_generate_sysctl_config ; "
rpi_generate_sysctl_config() { rpi_generate_sysctl_config() {
# systemd sysctl config # systemd sysctl config
test -d ${IMAGE_ROOTFS}${sysconfdir}/sysctl.d && \ test -d ${IMAGE_ROOTFS}${sysconfdir}/sysctl.d && \
echo "vm.min_free_kbytes = 8192" > ${IMAGE_ROOTFS}${sysconfdir}/sysctl.d/rpi-vm.conf echo "vm.min_free_kbytes = 8192" > ${IMAGE_ROOTFS}${sysconfdir}/sysctl.d/rpi-vm.conf
# sysv sysctl config # sysv sysctl config
IMAGE_SYSCTL_CONF="${IMAGE_ROOTFS}${sysconfdir}/sysctl.conf" IMAGE_SYSCTL_CONF="${IMAGE_ROOTFS}${sysconfdir}/sysctl.conf"
test -e ${IMAGE_ROOTFS}${sysconfdir}/sysctl.conf && \ test -e ${IMAGE_ROOTFS}${sysconfdir}/sysctl.conf && \
sed -e "/vm.min_free_kbytes/d" -i ${IMAGE_SYSCTL_CONF} sed -e "/vm.min_free_kbytes/d" -i ${IMAGE_SYSCTL_CONF}
echo "" >> ${IMAGE_SYSCTL_CONF} && echo "vm.min_free_kbytes = 8192" >> ${IMAGE_SYSCTL_CONF} echo "" >> ${IMAGE_SYSCTL_CONF} && echo "vm.min_free_kbytes = 8192" >> ${IMAGE_SYSCTL_CONF}
} }

View File

@@ -9,6 +9,26 @@ BBFILE_COLLECTIONS += "raspberrypi"
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/" BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
BBFILE_PRIORITY_raspberrypi = "9" BBFILE_PRIORITY_raspberrypi = "9"
LAYERSERIES_COMPAT_raspberrypi = "sumo thud warrior zeus"
# Additional license directories. # Additional license directories.
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses" LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
# The dynamic-layers directory hosts the extensions and layer specific
# modifications.
#
# The .bbappend and .bb files are included if the respective layer
# collection is available.
BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bbappend' % layer \
for layer in BBFILE_COLLECTIONS.split())}"
BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bb' % layer \
for layer in BBFILE_COLLECTIONS.split())}"
BBFILES_DYNAMIC += " \
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 \
"

View File

@@ -6,45 +6,118 @@ SOC_FAMILY = "rpi"
include conf/machine/include/soc-family.inc include conf/machine/include/soc-family.inc
IMAGE_FSTYPES ?= "tar.bz2 ext3 rpi-sdimg" IMAGE_FSTYPES ?= "tar.bz2 ext3 rpi-sdimg"
WKS_FILE ?= "sdimage-raspberrypi.wks"
SERIAL_CONSOLE = "115200 ttyAMA0"
XSERVER = " \ XSERVER = " \
xserver-xorg \ xserver-xorg \
xf86-input-evdev \ ${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "xserver-xorg-extension-glx", "", d)} \
xf86-input-mouse \ ${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "xf86-video-modesetting", "xf86-video-fbdev", d)} \
xf86-input-keyboard \
xf86-video-fbdev \
" "
# Really supported starting from linux-raspberrypi 3.18.y only RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
KERNEL_DEVICETREE ?= " \ overlays/at86rf233.dtbo \
overlays/disable-bt.dtbo \
overlays/dwc2.dtbo \
overlays/gpio-key.dtbo \
overlays/hifiberry-amp.dtbo \
overlays/hifiberry-dac.dtbo \
overlays/hifiberry-dacplus.dtbo \
overlays/hifiberry-digi.dtbo \
overlays/i2c-rtc.dtbo \
overlays/iqaudio-dac.dtbo \
overlays/iqaudio-dacplus.dtbo \
overlays/miniuart-bt.dtbo \
overlays/mcp2515-can0.dtbo \
overlays/pi3-disable-bt.dtbo \
overlays/pi3-miniuart-bt.dtbo \
overlays/pitft22.dtbo \
overlays/pitft28-resistive.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 \
"
RPI_KERNEL_DEVICETREE ?= " \
bcm2708-rpi-zero-w.dtb \
bcm2708-rpi-b.dtb \ bcm2708-rpi-b.dtb \
bcm2708-rpi-b-plus.dtb \ bcm2708-rpi-b-plus.dtb \
bcm2709-rpi-2-b.dtb \ bcm2709-rpi-2-b.dtb \
\ bcm2710-rpi-3-b.dtb \
overlays/hifiberry-amp-overlay.dtb \ bcm2710-rpi-3-b-plus.dtb \
overlays/hifiberry-dac-overlay.dtb \ bcm2711-rpi-4-b.dtb \
overlays/hifiberry-dacplus-overlay.dtb \ bcm2708-rpi-cm.dtb \
overlays/hifiberry-digi-overlay.dtb \ bcm2710-rpi-cm3.dtb \
overlays/i2c-rtc-overlay.dtb \
overlays/iqaudio-dac-overlay.dtb \
overlays/iqaudio-dacplus-overlay.dtb \
overlays/lirc-rpi-overlay.dtb \
overlays/pps-gpio-overlay.dtb \
overlays/w1-gpio-overlay.dtb \
overlays/w1-gpio-pullup-overlay.dtb \
" "
KERNEL_IMAGETYPE ?= "Image"
MACHINE_FEATURES = "kernel26 apm usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio" KERNEL_DEVICETREE ?= " \
${RPI_KERNEL_DEVICETREE} \
${RPI_KERNEL_DEVICETREE_OVERLAYS} \
"
# By default:
#
# * When u-boot is disabled use the "Image" format which can be directly loaded
# by the rpi firmware.
#
# * When u-boot is enabled use the "uImage" format and the "bootm" command
# within u-boot to load the kernel.
KERNEL_BOOTCMD ??= "bootm"
KERNEL_IMAGETYPE_UBOOT ??= "uImage"
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 ${@bb.utils.contains('DISABLE_VC4GRAPHICS', '1', '', 'vc4graphics', d)}"
# Raspberry Pi has no hardware clock # Raspberry Pi has no hardware clock
MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc" MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
MACHINE_EXTRA_RRECOMMENDS += " kernel-modules" MACHINE_EXTRA_RRECOMMENDS += " kernel-modules udev-rules-rpi"
# Set Raspberrypi splash image # Set Raspberrypi splash image
SPLASH = "psplash-raspberrypi" SPLASH = "psplash-raspberrypi"
IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* ${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}" def make_dtb_boot_files(d):
# Generate IMAGE_BOOT_FILES entries for device tree files listed in
# KERNEL_DEVICETREE.
alldtbs = d.getVar('KERNEL_DEVICETREE')
imgtyp = d.getVar('KERNEL_IMAGETYPE')
def transform(dtb):
base = os.path.basename(dtb)
if dtb.endswith('dtb'):
# eg: whatever/bcm2708-rpi-b.dtb has:
# DEPLOYDIR file: bcm2708-rpi-b.dtb
# destination: bcm2708-rpi-b.dtb
return base
elif dtb.endswith('dtbo'):
# overlay dtb:
# eg: overlays/hifiberry-amp.dtbo has:
# DEPLOYDIR file: hifiberry-amp.dtbo
# destination: overlays/hifiberry-amp.dtbo
return '{};{}'.format(base, dtb)
return ' '.join([transform(dtb) for dtb in alldtbs.split(' ') if dtb])
IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* \
${@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 \
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
"
do_image_wic[recrdeps] = "do_build"
# The kernel image is installed into the FAT32 boot partition and does not need
# to also be installed into the rootfs.
RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""

View File

@@ -1,10 +1,10 @@
# RaspberryPi BSP default providers # RaspberryPi BSP default providers
PREFERRED_PROVIDER_virtual/kernel ?= "linux-raspberrypi" PREFERRED_PROVIDER_virtual/kernel ?= "linux-raspberrypi"
PREFERRED_PROVIDER_u-boot ?= "u-boot-rpi"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
PREFERRED_PROVIDER_virtual/egl ?= "userland" PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}"
PREFERRED_PROVIDER_virtual/libgles2 ?= "userland" PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}"
PREFERRED_PROVIDER_virtual/libgl ?= "mesa-gl" PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
PREFERRED_PROVIDER_virtual/mesa ?= "mesa-gl" PREFERRED_PROVIDER_virtual/mesa ?= "${@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_jpeg ?= "jpeg"

View File

@@ -1,3 +1,3 @@
# RaspberryPi BSP default versions # RaspberryPi BSP default versions
PREFERRED_VERSION_linux-raspberrypi ?= "4.1.%" PREFERRED_VERSION_linux-raspberrypi ??= "4.19.%"

View File

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

View File

@@ -0,0 +1,14 @@
#@TYPE: Machine
#@NAME: RaspberryPi Compute Module 3 (CM3)
#@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module 3 (CM3)
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
require conf/machine/include/tune-cortexa7.inc
include conf/machine/include/rpi-base.inc
KBUILD_DEFCONFIG ?= "bcm2709_defconfig"
SDIMG_KERNELIMAGE ?= "kernel7.img"
UBOOT_MACHINE = "rpi_3_32b_config"
SERIAL_CONSOLES ?= "115200;ttyAMA0"
ARMSTUB ?= "armstub.bin"

View File

@@ -6,3 +6,9 @@ DEFAULTTUNE ?= "arm1176jzfshf"
require conf/machine/include/tune-arm1176jzf-s.inc require conf/machine/include/tune-arm1176jzf-s.inc
include conf/machine/include/rpi-base.inc include conf/machine/include/rpi-base.inc
SERIAL_CONSOLES ?= "115200;ttyAMA0"
UBOOT_MACHINE = "rpi_config"
ARMSTUB ?= "armstub.bin"

View File

@@ -0,0 +1,18 @@
#@TYPE: Machine
#@NAME: RaspberryPi Zero WiFi Development Board
#@DESCRIPTION: Machine configuration for the RaspberryPi Zero WiFi board (https://www.raspberrypi.org/blog/raspberry-pi-zero-w-joins-family/)
DEFAULTTUNE ?= "arm1176jzfshf"
require conf/machine/include/tune-arm1176jzf-s.inc
include conf/machine/include/rpi-base.inc
MACHINE_EXTRA_RRECOMMENDS += "\
linux-firmware-rpidistro-bcm43430 \
bluez-firmware-rpidistro-bcm43430a1-hcd \
"
SDIMG_KERNELIMAGE ?= "kernel.img"
UBOOT_MACHINE ?= "rpi_0_w_defconfig"
SERIAL_CONSOLES ?= "115200;ttyS0"
ARMSTUB ?= "armstub.bin"

View File

@@ -0,0 +1,8 @@
#@TYPE: Machine
#@NAME: RaspberryPi Zero Development Board
#@DESCRIPTION: Machine configuration for the RaspberryPi Zero board (https://www.raspberrypi.org/blog/raspberry-pi-zero)
MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
include conf/machine/raspberrypi.conf
SERIAL_CONSOLES ?= "115200;ttyAMA0"

View File

@@ -6,3 +6,9 @@ DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
require conf/machine/include/tune-cortexa7.inc require conf/machine/include/tune-cortexa7.inc
include conf/machine/include/rpi-base.inc include conf/machine/include/rpi-base.inc
SERIAL_CONSOLES ?= "115200;ttyAMA0"
UBOOT_MACHINE = "rpi_2_config"
ARMSTUB ?= "armstub7.bin"

View File

@@ -0,0 +1,34 @@
#@TYPE: Machine
#@NAME: RaspberryPi 3 Development Board
#@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 64 bits mode
MACHINEOVERRIDES = "raspberrypi3:${MACHINE}"
MACHINE_EXTRA_RRECOMMENDS += "\
linux-firmware-rpidistro-bcm43430 \
linux-firmware-rpidistro-bcm43455 \
bluez-firmware-rpidistro-bcm43430a1-hcd \
bluez-firmware-rpidistro-bcm4345c0-hcd \
"
require conf/machine/include/tune-cortexa53.inc
include conf/machine/include/rpi-base.inc
RPI_KERNEL_DEVICETREE = " \
broadcom/bcm2710-rpi-3-b.dtb \
broadcom/bcm2710-rpi-3-b-plus.dtb \
broadcom/bcm2837-rpi-3-b.dtb \
"
SERIAL_CONSOLES ?= "115200;ttyS0"
UBOOT_MACHINE = "rpi_3_config"
# 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"
ARMSTUB ?= "armstub8.bin"

View File

@@ -0,0 +1,20 @@
#@TYPE: Machine
#@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
include conf/machine/include/rpi-base.inc
MACHINE_EXTRA_RRECOMMENDS += "\
linux-firmware-rpidistro-bcm43430 \
linux-firmware-rpidistro-bcm43455 \
bluez-firmware-rpidistro-bcm43430a1-hcd \
bluez-firmware-rpidistro-bcm4345c0-hcd \
"
SDIMG_KERNELIMAGE ?= "kernel7.img"
UBOOT_MACHINE = "rpi_3_32b_config"
SERIAL_CONSOLES ?= "115200;ttyS0"
ARMSTUB ?= "armstub7.bin"

View File

@@ -0,0 +1,35 @@
#@TYPE: Machine
#@NAME: RaspberryPi 4 Development Board (64bit)
#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 64 bits mode
MACHINEOVERRIDES = "raspberrypi4:${MACHINE}"
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,20 @@
#@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_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"

225
docs/Makefile Normal file
View File

@@ -0,0 +1,225 @@
# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " applehelp to make an Apple Help Book"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " epub3 to make an epub3"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " xml to make Docutils-native XML files"
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
@echo " coverage to run coverage check of the documentation (if enabled)"
@echo " dummy to check syntax errors of document sources"
.PHONY: clean
clean:
rm -rf $(BUILDDIR)/*
.PHONY: html
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
.PHONY: dirhtml
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
.PHONY: singlehtml
singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
.PHONY: pickle
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
.PHONY: json
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
.PHONY: htmlhelp
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
.PHONY: qthelp
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/meta-raspberrypi.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/meta-raspberrypi.qhc"
.PHONY: applehelp
applehelp:
$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
@echo
@echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
@echo "N.B. You won't be able to view it unless you put it in" \
"~/Library/Documentation/Help or install it in your application" \
"bundle."
.PHONY: devhelp
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/meta-raspberrypi"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/meta-raspberrypi"
@echo "# devhelp"
.PHONY: epub
epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
.PHONY: epub3
epub3:
$(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3
@echo
@echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3."
.PHONY: latex
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
.PHONY: latexpdf
latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
.PHONY: latexpdfja
latexpdfja:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
.PHONY: text
text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
.PHONY: man
man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
.PHONY: texinfo
texinfo:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."
.PHONY: info
info:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
.PHONY: gettext
gettext:
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
.PHONY: changes
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
.PHONY: linkcheck
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
.PHONY: doctest
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
.PHONY: coverage
coverage:
$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
@echo "Testing of coverage in the sources finished, look at the " \
"results in $(BUILDDIR)/coverage/python.txt."
.PHONY: xml
xml:
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
@echo
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
.PHONY: pseudoxml
pseudoxml:
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
@echo
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
.PHONY: dummy
dummy:
$(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy
@echo
@echo "Build finished. Dummy builder generates no files."

343
docs/conf.py Normal file
View File

@@ -0,0 +1,343 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# meta-raspberrypi documentation build configuration file, created by
# sphinx-quickstart on Tue May 23 09:51:24 2017.
#
# This file is execfile()d with the current directory set to its
# containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
# -- General configuration ------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#
# needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = []
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
# source_suffix = ['.rst', '.md']
source_suffix = ['.rst', '.md']
# The encoding of source files.
#
# source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = 'meta-raspberrypi'
copyright = '2017, meta-raspberrypi contributors'
author = 'meta-raspberrypi contributors'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = 'master'
# The full version, including alpha/beta/rc tags.
release = 'master'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#
# today = ''
#
# Else, today_fmt is used as the format for a strftime call.
#
# today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This patterns also effect to html_static_path and html_extra_path
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
# The reST default role (used for this markup: `text`) to use for all
# documents.
#
# default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#
# add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#
# add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#
# show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
# modindex_common_prefix = []
# If true, keep warnings as "system message" paragraphs in the built documents.
# keep_warnings = False
# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = False
# -- Options for HTML output ----------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
# html_theme = 'alabaster'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
# html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
# html_theme_path = []
# The name for this set of Sphinx documents.
# "<project> v<release> documentation" by default.
#
# html_title = 'meta-raspberrypi vmaster'
# A shorter title for the navigation bar. Default is the same as html_title.
#
# html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#
# html_logo = None
# The name of an image file (relative to this directory) to use as a favicon of
# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#
# html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
#
# html_extra_path = []
# If not None, a 'Last updated on:' timestamp is inserted at every page
# bottom, using the given strftime format.
# The empty string is equivalent to '%b %d, %Y'.
#
# html_last_updated_fmt = None
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#
# html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#
# html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#
# html_additional_pages = {}
# If false, no module index is generated.
#
# html_domain_indices = True
# If false, no index is generated.
#
# html_use_index = True
# If true, the index is split into individual pages for each letter.
#
# html_split_index = False
# If true, links to the reST sources are added to the pages.
#
# html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#
# html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#
# html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#
# html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
# html_file_suffix = None
# Language to be used for generating the HTML full-text search index.
# Sphinx supports the following languages:
# 'da', 'de', 'en', 'es', 'fi', 'fr', 'h', 'it', 'ja'
# 'nl', 'no', 'pt', 'ro', 'r', 'sv', 'tr', 'zh'
#
# html_search_language = 'en'
# A dictionary with options for the search language support, empty by default.
# 'ja' uses this config value.
# 'zh' user can custom change `jieba` dictionary path.
#
# html_search_options = {'type': 'default'}
# The name of a javascript file (relative to the configuration directory) that
# implements a search results scorer. If empty, the default will be used.
#
# html_search_scorer = 'scorer.js'
# Output file base name for HTML help builder.
htmlhelp_basename = 'meta-raspberrypidoc'
# -- Options for LaTeX output ---------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#
# 'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#
# 'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#
# 'preamble': '',
# Latex figure (float) alignment
#
# 'figure_align': 'htbp',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'meta-raspberrypi.tex', 'meta-raspberrypi Documentation',
'meta-raspberrypi contributors', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#
# latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#
# latex_use_parts = False
# If true, show page references after internal links.
#
# latex_show_pagerefs = False
# If true, show URL addresses after external links.
#
# latex_show_urls = False
# Documents to append as an appendix to all manuals.
#
# latex_appendices = []
# It false, will not define \strong, \code, itleref, \crossref ... but only
# \sphinxstrong, ..., \sphinxtitleref, ... To help avoid clash with user added
# packages.
#
# latex_keep_old_macro_names = True
# If false, no module index is generated.
#
# latex_domain_indices = True
# -- Options for manual page output ---------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, 'meta-raspberrypi', 'meta-raspberrypi Documentation',
[author], 1)
]
# If true, show URL addresses after external links.
#
# man_show_urls = False
# -- Options for Texinfo output -------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, 'meta-raspberrypi', 'meta-raspberrypi Documentation',
author, 'meta-raspberrypi', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#
# texinfo_appendices = []
# If false, no module index is generated.
#
# texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#
# texinfo_show_urls = 'footnote'
# If true, do not generate a @detailmenu in the "Top" node's menu.
#
# texinfo_no_detailmenu = False
source_parsers = {
'.md': 'recommonmark.parser.CommonMarkParser',
}

109
docs/contributing.md Normal file
View File

@@ -0,0 +1,109 @@
# Contributing
## 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 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.
## Formatting patches
First and foremost, all of the contributions to the layer must be compliant
with the standard openembedded patch guidelines:
* <http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines>
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
Then, for sending patches to the mailing list, you may use this command:
git send-email --to yocto@yoctoproject.org <generated patch>
## GitHub 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>

9
docs/extra-apps.md Normal file
View File

@@ -0,0 +1,9 @@
# Extra apps
## omxplayer
omxplayer depends on libav which has a commercial license. So in order to be
able to compile omxplayer you will need to whiteflag the commercial
license in your local.conf:
LICENSE_FLAGS_WHITELIST = "commercial"

273
docs/extra-build-config.md Normal file
View File

@@ -0,0 +1,273 @@
# Optional build configuration
There are a set of ways in which a user can influence different paramenters 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>
## Compressed deployed files
1. Overwrite IMAGE_FSTYPES in local.conf
* `IMAGE_FSTYPES = "tar.bz2 ext3.xz"`
2. Overwrite SDIMG_ROOTFS_TYPE in local.conf
* `SDIMG_ROOTFS_TYPE = "ext3.xz"`
Accommodate the values above to your own needs (ex: ext3 / ext4).
## GPU memory
* `GPU_MEM`: GPU memory in megabyte. Sets the memory split between the ARM and
GPU. ARM gets the remaining memory. Min 16. Default 64.
* `GPU_MEM_256`: GPU memory in megabyte for the 256MB Raspberry Pi. Ignored by
the 512MB RP. Overrides gpu_mem. Max 192. Default not set.
* `GPU_MEM_512`: GPU memory in megabyte for the 512MB Raspberry Pi. Ignored by
the 256MB RP. Overrides gpu_mem. Max 448. Default not set.
* `GPU_MEM_1024`: GPU memory in megabyte for the 1024MB Raspberry Pi. Ignored by
the 256MB/512MB RP. Overrides gpu_mem. Max 944. Default not set.
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
local.conf. Example:
KEY_DECODE_MPG2 = "12345678"
KEY_DECODE_WVC1 = "12345678"
You can supply more licenses separated by comma. Example:
KEY_DECODE_WVC1 = "0x12345678,0xabcdabcd,0x87654321"
See: <https://www.raspberrypi.org/documentation/configuration/config-txt/codeclicence.md>
## Disable overscan
By default the GPU adds a black border around the video output to compensate for
TVs which cut off part of the image. To disable this set this variable in
local.conf:
DISABLE_OVERSCAN = "1"
## Disable splash screen
By default a rainbow splash screen is shown after the GPU firmware is loaded.
To disable this set this variable in local.conf:
DISABLE_SPLASH = "1"
## Boot delay
The Raspberry Pi waits a number of seconds after loading the GPU firmware and
before loading the kernel. By default it is one second. This is useful if your
SD card needs a while to get ready before Linux is able to boot from it.
To remove (or adjust) this delay set these variables in local.conf:
BOOT_DELAY = "0"
BOOT_DELAY_MS = "0"
## 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
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`.
Example official settings for Turbo Mode in Raspberry Pi 2:
ARM_FREQ = "1000"
CORE_FREQ = "500"
SDRAM_FREQ = "500"
OVER_VOLTAGE = "6"
See: <https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md>
## HDMI and composite video options
The Raspberry Pi can output video over HDMI or SDTV composite (the RCA connector).
By default the video mode for these is autodetected on boot: the HDMI mode is
selected according to the connected monitor's EDID information and the composite
mode is defaulted to NTSC using a 4:3 aspect ratio. Check the config.txt for a
detailed description of options and modes. The following variables are supported in
local.conf: `HDMI_FORCE_HOTPLUG`, `HDMI_DRIVE`, `HDMI_GROUP`, `HDMI_MODE`,
`CONFIG_HDMI_BOOST`, `SDTV_MODE`, `SDTV_ASPECT` and `DISPLAY_ROTATE`.
Example to force HDMI output to 720p in CEA mode:
HDMI_GROUP = "1"
HDMI_MODE = "4"
See: <https://www.raspberrypi.org/documentation/configuration/config-txt/video.md>
## Video camera support with V4L2 drivers
Set this variable to enable support for the video camera (Linux 3.12.4+
required):
VIDEO_CAMERA = "1"
## Enable offline compositing support
Set this variable to enable support for dispmanx offline compositing:
DISPMANX_OFFLINE = "1"
This will enable the firmware to fall back to off-line compositing of Dispmanx
elements. Normally the compositing is done on-line, during scanout, but cannot
handle too many elements. With off-line enabled, an off-screen buffer is
allocated for compositing. When scene complexity (number and sizes
of elements) is high, compositing will happen off-line into the buffer.
Heavily recommended for Wayland/Weston.
See: <http://wayland.freedesktop.org/raspberrypi.html>
## Enable kgdb over console support
To add the kdbg over console (kgdboc) parameter to the kernel command line, set
this variable in local.conf:
ENABLE_KGDB = "1"
## Disable rpi boot logo
To disable rpi boot logo, set this variable in local.conf:
DISABLE_RPI_BOOT_LOGO = "1"
## Boot to U-Boot
To have u-boot load kernel image, set in your local.conf:
RPI_USE_U_BOOT = "1"
This will select the appropriate image format for use with u-boot automatically.
For further customisation the KERNEL_IMAGETYPE and KERNEL_BOOTCMD variables can
be overridden to select the exact kernel image type (eg. zImage) and u-boot
command (eg. bootz) to be used.
## Image with Initramfs
To build an initramfs image:
* Set this 3 kernel variables (in kernel's do_configure_prepend in linux-raspberrypi.inc after the line kernel_configure_variable LOCALVERSION "\"\""
)
- kernel_configure_variable BLK_DEV_INITRD y
- kernel_configure_variable INITRAMFS_SOURCE ""
- kernel_configure_variable RD_GZIP y
* Set the yocto variables (e.g. in local.conf)
- `INITRAMFS_IMAGE = "<name for your initramfs image>"`
- `INITRAMFS_IMAGE_BUNDLE = "1"`
- `BOOT_SPACE = "1073741"`
- `INITRAMFS_MAXSIZE = "315400"`
- `IMAGE_FSTYPES_pn-${INITRAMFS_IMAGE} = "${INITRAMFS_FSTYPES}"`
## Enable SPI bus
When using device tree kernels, set this variable to enable the SPI bus:
ENABLE_SPI_BUS = "1"
## Enable I2C
When using device tree kernels, set this variable to enable I2C:
ENABLE_I2C = "1"
## Enable PiTFT support
Basic support for using PiTFT screens can be enabled by adding below in
local.conf:
* `MACHINE_FEATURES += "pitft"`
- This will enable SPI bus and i2c device-trees, it will also setup
framebuffer for console and x server on PiTFT.
NOTE: To get this working the overlay for the PiTFT model must be build, added
and specified as well (dtoverlay=<driver> in config.txt).
Below is a list of currently supported PiTFT models in meta-raspberrypi, the
modelname should be added as a MACHINE_FEATURES in local.conf like below:
MACHINE_FEATURES += "pitft <modelname>"
List of currently supported models:
* pitft22
* pitft28r
* pitft35r
## Misc. display
If you would like to use the Waveshare "C" 1024×600, 7 inch Capacitive Touch
Screen LCD, HDMI interface (<http://www.waveshare.com/7inch-HDMI-LCD-C.htm>) Rev
2.1, please set the following in your local.conf:
WAVESHARE_1024X600_C_2_1 = "1"
## Enable UART
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
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
RaspberryPi 0 Wifi or 3 will have to explicitly set in local.conf:
ENABLE_UART = "1"
Ref.:
* <https://github.com/raspberrypi/firmware/issues/553>
* <https://github.com/RPi-Distro/repo/issues/22>
## Enable USB Peripheral (Gadget) support
The standard USB driver only supports host mode operations. Users who
want to use gadget modules like g_ether should set the following in
local.conf:
ENABLE_DWC2_PERIPHERAL = "1"
## Enable Openlabs 802.15.4 radio module
When using device tree kernels, set this variable to enable the 802.15.4 hat:
ENABLE_AT86RF = "1"
See: <https://openlabs.co/OSHW/Raspberry-Pi-802.15.4-radio>
## Enable CAN with Pican2
In order to use Pican2 CAN module, set the following variables:
ENABLE_SPI_BUS = "1"
ENABLE_CAN = "1"
See: <http://skpang.co.uk/catalog/pican2-canbus-board-for-raspberry-pi-23-p-1475.html>
## Manual additions to config.txt
The `RPI_EXTRA_CONFIG` variable can be used to manually add additional lines to
the `config.txt` file if there is not a specific option above for the
configuration you need. To add multiple lines you must include `\n` separators.
If double-quotes are needed in the lines you are adding you can use single
quotes around the whole string.
For example, to add a comment containing a double-quote and a configuration
option:
RPI_EXTRA_CONFIG = ' \n \
# Raspberry Pi 7\" display/touch screen \n \
lcd_rotate=2 \n \
'

26
docs/index.rst Normal file
View File

@@ -0,0 +1,26 @@
.. meta-raspberrypi documentation master file, created by
sphinx-quickstart on Tue May 23 09:51:24 2017.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to meta-raspberrypi's documentation!
============================================
Contents:
.. toctree::
:maxdepth: 2
readme
layer-contents
extra-build-config
extra-apps
contributing
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

34
docs/layer-contents.md Normal file
View File

@@ -0,0 +1,34 @@
# Layer Contents
## Supported Machines
* raspberrypi
* raspberrypi0
* raspberrypi0-wifi
* raspberrypi2
* raspberrypi3
* raspberrypi3-64 (64 bit kernel & userspace)
* raspberrypi-cm (dummy alias for raspberrypi)
* raspberrypi-cm3
Note: The raspberrypi3 machines include support for Raspberry Pi 3B+.
## Images
* rpi-test-image
* Image based on core-image-base which includes most of the packages in this
layer and some media samples.
For other uses it's recommended to base images on `core-image-minimal` or
`core-image-base` as appropriate. The old image names (`rpi-hwup-image` and
`rpi-basic-image`) are deprecated.
## WiFi and Bluetooth Firmware
Be aware that the WiFi and Bluetooth firmware for the supported boards
is not available in the base version of `linux-firmware` from OE-Core
(poky). The files are added from Raspbian repositories in this layer's
bbappends to that recipe. All machines define
`MACHINE_EXTRA_RRECOMMENDS` to include the required wireless firmware;
raspberrypi3 supports 3, 3B, and 3B+ and so include multiple firmware
packages.

1
docs/readme.md Symbolic link
View File

@@ -0,0 +1 @@
../README.md

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

@@ -0,0 +1,19 @@
PACKAGECONFIG_GL_rpi = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'gl', \
bb.utils.contains('DISTRO_FEATURES', 'opengl', 'eglfs gles2', \
'', d), 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"
PACKAGECONFIG_remove_rpi = "tests"
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
fi
}
RDEPENDS_${PN}_append_rpi = " userland"
DEPENDS_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"

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.

View File

@@ -0,0 +1,32 @@
DESCRIPTION = "Boot strap code that the GPU puts on memory to start running the boot loader"
LICENSE = "Proprietary"
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 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,15 +1,17 @@
DESCRIPTION = "Closed source binary files to help boot the ARM on the BCM2835." DESCRIPTION = "Closed source binary files to help boot the ARM on the BCM2835."
LICENSE = "Proprietary" LICENSE = "Broadcom-RPi"
LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=e86e693d19572ee64cc8b17fb062faa9" LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=c403841ff2837657b2ed8e5bb474ac8d"
inherit deploy inherit deploy nopackages
include recipes-bsp/common/firmware.inc include recipes-bsp/common/raspberrypi-firmware.inc
RDEPENDS_${PN} = "rpi-config" INHIBIT_DEFAULT_DEPS = "1"
COMPATIBLE_MACHINE = "raspberrypi" DEPENDS = "rpi-config"
COMPATIBLE_MACHINE = "^rpi$"
S = "${RPIFW_S}/boot" S = "${RPIFW_S}/boot"
@@ -32,7 +34,9 @@ do_deploy() {
touch ${DEPLOYDIR}/${PN}/${PN}-${PV}.stamp touch ${DEPLOYDIR}/${PN}/${PN}-${PV}.stamp
} }
addtask deploy before do_package after do_install do_deploy[depends] += "rpi-config:do_deploy"
addtask deploy before do_build after do_install
do_deploy[dirs] += "${DEPLOYDIR}/${PN}" do_deploy[dirs] += "${DEPLOYDIR}/${PN}"
PACKAGE_ARCH = "${MACHINE_ARCH}" PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -3,19 +3,29 @@ DESCRIPTION = "Commented config.txt file for the Raspberry Pi. \
the ARM core is initialised. It can be used to set various \ the ARM core is initialised. It can be used to set various \
system configuration parameters." system configuration parameters."
LICENSE = "MIT" LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
COMPATIBLE_MACHINE = "raspberrypi" COMPATIBLE_MACHINE = "^rpi$"
SRCREV = "5d2ca5f9bcb1b239c051e20c05a233fd79cf09d5" 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=git;branch=master \
" "
S = "${WORKDIR}/git" S = "${WORKDIR}/git"
PR = "r4" PR = "r5"
inherit deploy 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)}"
PITFT35r="${@bb.utils.contains("MACHINE_FEATURES", "pitft35r", "1", "0", d)}"
VC4GRAPHICS="${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}"
VC4DTBO ?= "vc4-kms-v3d"
inherit deploy nopackages
do_deploy() { do_deploy() {
install -d ${DEPLOYDIR}/bcm2835-bootfiles install -d ${DEPLOYDIR}/bcm2835-bootfiles
@@ -23,25 +33,33 @@ do_deploy() {
cp ${S}/config.txt ${DEPLOYDIR}/bcm2835-bootfiles/ cp ${S}/config.txt ${DEPLOYDIR}/bcm2835-bootfiles/
if [ -n "${KEY_DECODE_MPG2}" ]; then if [ -n "${KEY_DECODE_MPG2}" ]; then
sed -i '/#decode_MPG2/ c\decode_MPG2=${KEY_DECODE_MPG2}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#decode_MPG2=/ c\decode_MPG2=${KEY_DECODE_MPG2}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi fi
if [ -n "${KEY_DECODE_WVC1}" ]; then if [ -n "${KEY_DECODE_WVC1}" ]; then
sed -i '/#decode_WVC1/ c\decode_WVC1=${KEY_DECODE_WVC1}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#decode_WVC1=/ c\decode_WVC1=${KEY_DECODE_WVC1}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi fi
if [ -n "${DISABLE_OVERSCAN}" ]; then if [ -n "${DISABLE_OVERSCAN}" ]; then
sed -i '/#disable_overscan/ c\disable_overscan=${DISABLE_OVERSCAN}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#disable_overscan=/ c\disable_overscan=${DISABLE_OVERSCAN}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi fi
if [ "${DISABLE_SPLASH}" = "1" ]; then
sed -i '/#disable_splash=/ c\disable_splash=${DISABLE_SPLASH}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
# Set overclocking options
if [ -n "${ARM_FREQ}" ]; then if [ -n "${ARM_FREQ}" ]; then
sed -i '/#arm_freq/ c\arm_freq=${ARM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#arm_freq=/ c\arm_freq=${ARM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
if [ -n "${GPU_FREQ}" ]; then
sed -i '/#gpu_freq=/ c\gpu_freq=${GPU_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi fi
if [ -n "${CORE_FREQ}" ]; then if [ -n "${CORE_FREQ}" ]; then
sed -i '/#core_freq/ c\core_freq=${CORE_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#core_freq=/ c\core_freq=${CORE_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi fi
if [ -n "${SDRAM_FREQ}" ]; then if [ -n "${SDRAM_FREQ}" ]; then
sed -i '/#sdram_freq/ c\sdram_freq=${SDRAM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#sdram_freq=/ c\sdram_freq=${SDRAM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi fi
if [ -n "${OVER_VOLTAGE}" ]; then if [ -n "${OVER_VOLTAGE}" ]; then
sed -i '/#over_voltage/ c\over_voltage=${OVER_VOLTAGE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#over_voltage=/ c\over_voltage=${OVER_VOLTAGE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi fi
# GPU memory # GPU memory
@@ -49,32 +67,152 @@ do_deploy() {
sed -i '/#gpu_mem=/ c\gpu_mem=${GPU_MEM}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#gpu_mem=/ c\gpu_mem=${GPU_MEM}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi fi
if [ -n "${GPU_MEM_256}" ]; then if [ -n "${GPU_MEM_256}" ]; then
sed -i '/#gpu_mem_256/ c\gpu_mem_256=${GPU_MEM_256}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#gpu_mem_256=/ c\gpu_mem_256=${GPU_MEM_256}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi fi
if [ -n "${GPU_MEM_512}" ]; then if [ -n "${GPU_MEM_512}" ]; then
sed -i '/#gpu_mem_512/ c\gpu_mem_512=${GPU_MEM_512}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt sed -i '/#gpu_mem_512=/ c\gpu_mem_512=${GPU_MEM_512}' ${DEPLOYDIR}/bcm2835-bootfiles/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
fi
# Set boot delay
if [ -n "${BOOT_DELAY}" ]; then
sed -i '/#boot_delay=/ c\boot_delay=${BOOT_DELAY}' ${DEPLOYDIR}/bcm2835-bootfiles/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
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
fi
if [ -n "${HDMI_DRIVE}" ]; then
sed -i '/#hdmi_drive=/ c\hdmi_drive=${HDMI_DRIVE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
if [ -n "${HDMI_GROUP}" ]; then
sed -i '/#hdmi_group=/ c\hdmi_group=${HDMI_GROUP}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
if [ -n "${HDMI_MODE}" ]; then
sed -i '/#hdmi_mode=/ c\hdmi_mode=${HDMI_MODE}' ${DEPLOYDIR}/bcm2835-bootfiles/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
fi
if [ -n "${SDTV_MODE}" ]; then
sed -i '/#sdtv_mode=/ c\sdtv_mode=${SDTV_MODE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
if [ -n "${SDTV_ASPECT}" ]; then
sed -i '/#sdtv_aspect=/ c\sdtv_aspect=${SDTV_ASPECT}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
if [ -n "${DISPLAY_ROTATE}" ]; then
sed -i '/#display_rotate=/ c\display_rotate=${DISPLAY_ROTATE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi fi
# Video camera support # Video camera support
if [ -n "${VIDEO_CAMERA}" ]; then if [ "${VIDEO_CAMERA}" = "1" ]; then
echo "# Enable video camera" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable video camera" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "start_x=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "start_x=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi fi
# Offline compositing support # Offline compositing support
if [ -n "${DISPMANX_OFFLINE}" ]; then if [ "${DISPMANX_OFFLINE}" = "1" ]; then
echo "# Enable offline compositing" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable offline compositing" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dispmanx_offline=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dispmanx_offline=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi fi
# SPI bus support # SPI bus support
if [ -n "${ENABLE_SPI_BUS}" ]; then if [ "${ENABLE_SPI_BUS}" = "1" ] || [ "${PITFT}" = "1" ]; then
echo "# Enable SPI bus" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "# Enable SPI bus" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=spi=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "dtparam=spi=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi fi
# I2C support
if [ "${ENABLE_I2C}" = "1" ] || [ "${PITFT}" = "1" ]; then
echo "# Enable I2C" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=i2c1=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=i2c_arm=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
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
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
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
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
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
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
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
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
fi
# ENABLE CAN
if [ "${ENABLE_CAN}" = "1" ]; then
echo "# Enable CAN" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
# Append extra config if the user has provided any
printf "${RPI_EXTRA_CONFIG}\n" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
# Handle setup with armstub file
if [ "${@bb.utils.contains("MACHINE_FEATURES", "armstub", "1", "0", d)}" = "1" ]; then
echo "\n# ARM stub configuration" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "armstub=${ARMSTUB}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
case "${ARMSTUB}" in
*-gic.bin)
echo "enable_gic=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
;;
esac
fi
} }
addtask deploy before do_package after do_install 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 "# Enable audio (loads snd_bcm2835)" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=audio=on" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
}
addtask deploy before do_build after do_install
do_deploy[dirs] += "${DEPLOYDIR}/bcm2835-bootfiles" do_deploy[dirs] += "${DEPLOYDIR}/bcm2835-bootfiles"
PACKAGE_ARCH = "${MACHINE_ARCH}" PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -1,8 +0,0 @@
RPIFW_SRCREV ?= "f7108cfdc715f79c5fd051fb4c3ae6f4b1b01f23"
RPIFW_DATE ?= "20151021"
RPIFW_SRC_URI ?= "git://github.com/raspberrypi/firmware.git;protocol=git;branch=master"
RPIFW_S ?= "${WORKDIR}/git"
SRC_URI = "${RPIFW_SRC_URI}"
SRCREV = "${RPIFW_SRCREV}"
PV = "${RPIFW_DATE}"

View File

@@ -0,0 +1,10 @@
RPIFW_DATE ?= "20191210"
SRCREV ?= "9d6be5b07e81bdfb9c4b9a560e90fbc7477fdc6e"
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] = "645e812765c8b4ca05d6cb47a1f67ab0"
SRC_URI[sha256sum] = "484d52caed909fcafbf593cc3e726ea44a9218db7f0aeec843b825797eb9b0fc"
PV = "${RPIFW_DATE}"

View File

@@ -0,0 +1,9 @@
SRCREV ?= "76f64a28dc4685507d12f57fe5cfc89f6c32f8e6"
RPITOOLS_SRC_URI ?= "https://github.com/raspberrypi/tools/archive/${SRCREV}.tar.gz"
RPITOOLS_S ?= "${WORKDIR}/tools-${SRCREV}"
SRC_URI = "${RPITOOLS_SRC_URI}"
SRC_URI[md5sum] = "e2d4709b62e1536aeaaeabcbae82a03e"
SRC_URI[sha256sum] = "5f1c5eb8af9dff71b7cae30ffa6541d689d269a7b86013b365215adfb4c1c27d"
PV = "0.0+git${SRCREV}"

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

@@ -1,17 +0,0 @@
When using open, use path relative to imagetool-uncompressed.py
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Index: git/mkimage/imagetool-uncompressed.py
===================================================================
--- a/mkimage/imagetool-uncompressed.py
+++ b/mkimage/imagetool-uncompressed.py
@@ -18,7 +18,7 @@ re_line = re.compile(r"0x(?P<value>[0-9a
mem = [0 for i in range(32768)]
def load_to_mem(name, addr):
- f = open(name)
+ f = open(os.path.dirname(__file__) + '/' + name)
for l in f.readlines():
m = re_line.match(l)

View File

@@ -1,22 +0,0 @@
SUMMARY = "RaspberryPi tool to produce kernel.img"
LICENSE = "Broadcom"
LIC_FILES_CHKSUM = "file://${WORKDIR}/License;md5=957f6640d5e2d2acfce73a36a56cb32f"
SECTION = "bootloader"
DEPENDS = "python"
SRCREV = "f5642106425d430e1f82ee064121a5fd0e05a386"
SRC_URI = " \
git://github.com/raspberrypi/tools.git;branch=master;protocol=git \
file://License \
file://open-files-relative-to-script.patch \
"
S = "${WORKDIR}/git"
do_install () {
install -d ${D}${libexecdir}
cp ./mkimage/* ${D}${libexecdir}
}
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,3 @@
fdt addr ${fdt_addr} && fdt get value bootargs /chosen bootargs
fatload mmc 0:1 ${kernel_addr_r} @@KERNEL_IMAGETYPE@@
@@KERNEL_BOOTCMD@@ ${kernel_addr_r} - ${fdt_addr}

View File

@@ -0,0 +1,26 @@
SUMMARY = "U-boot boot scripts for Raspberry Pi"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
COMPATIBLE_MACHINE = "^rpi$"
DEPENDS = "u-boot-mkimage-native"
INHIBIT_DEFAULT_DEPS = "1"
SRC_URI = "file://boot.cmd.in"
do_compile() {
sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \
-e 's/@@KERNEL_BOOTCMD@@/${KERNEL_BOOTCMD}/' \
"${WORKDIR}/boot.cmd.in" > "${WORKDIR}/boot.cmd"
mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr
}
inherit deploy nopackages
do_deploy() {
install -d ${DEPLOYDIR}
install -m 0644 boot.scr ${DEPLOYDIR}
}
addtask do_deploy after do_compile before do_build

View File

@@ -0,0 +1,104 @@
From 5bf85d04b440ce874310e701abded823dc1864bc Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei@balena.io>
Date: Wed, 17 Jul 2019 15:32:11 +0100
Subject: [PATCH 1/7] configs: rpi4: Add defconfigs for rpi4 (32/64)
This defines a minimum defconfig for each of the two Raspberry Pi 4
variants. One notable difference is that we don't have a embedded dt for
this board given that the fw supplies us with one which we can reuse.
Furthermore, the ram size is not queryable through mbox interface as the
maximum reported size is 1G. The fw patches the dt with the right
memory configuration and uboot uses it as it is. We avoid u-boot
touching this configuration by making sure CONFIG_ARCH_FIXUP_FDT_MEMORY
is deactivated.
Signed-off-by: Andrei Gherzan <andrei@balena.io>
Upstream-status: Pending
---
configs/rpi_4_32b_defconfig | 33 +++++++++++++++++++++++++++++++++
configs/rpi_4_defconfig | 33 +++++++++++++++++++++++++++++++++
2 files changed, 66 insertions(+)
create mode 100644 configs/rpi_4_32b_defconfig
create mode 100644 configs/rpi_4_defconfig
diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig
new file mode 100644
index 0000000000..a31a617a5f
--- /dev/null
+++ b/configs/rpi_4_32b_defconfig
@@ -0,0 +1,33 @@
+CONFIG_ARM=y
+CONFIG_ARCH_BCM283X=y
+CONFIG_SYS_TEXT_BASE=0x00008000
+CONFIG_TARGET_RPI_4_32B=y
+CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_DISTRO_DEFAULTS=y
+CONFIG_NR_DRAM_BANKS=1
+# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
+CONFIG_OF_BOARD=y
+CONFIG_OF_BOARD_SETUP=y
+CONFIG_MISC_INIT_R=y
+# CONFIG_DISPLAY_CPUINFO is not set
+# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_SYS_PROMPT="U-Boot> "
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_FS_UUID=y
+CONFIG_ENV_FAT_INTERFACE="mmc"
+CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_DM_KEYBOARD=y
+CONFIG_DM_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_BCM2835=y
+CONFIG_PINCTRL=y
+# CONFIG_PINCTRL_GENERIC is not set
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
+CONFIG_DM_VIDEO=y
+CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_CONSOLE_SCROLL_LINES=10
+CONFIG_PHYS_TO_BUS=y
+CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig
new file mode 100644
index 0000000000..da8c960a2a
--- /dev/null
+++ b/configs/rpi_4_defconfig
@@ -0,0 +1,33 @@
+CONFIG_ARM=y
+CONFIG_ARCH_BCM283X=y
+CONFIG_SYS_TEXT_BASE=0x00080000
+CONFIG_TARGET_RPI_4=y
+CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_DISTRO_DEFAULTS=y
+CONFIG_NR_DRAM_BANKS=1
+# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
+CONFIG_OF_BOARD=y
+CONFIG_OF_BOARD_SETUP=y
+CONFIG_MISC_INIT_R=y
+# CONFIG_DISPLAY_CPUINFO is not set
+# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_SYS_PROMPT="U-Boot> "
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_FS_UUID=y
+CONFIG_ENV_FAT_INTERFACE="mmc"
+CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_DM_KEYBOARD=y
+CONFIG_DM_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_BCM2835=y
+CONFIG_PINCTRL=y
+# CONFIG_PINCTRL_GENERIC is not set
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
+CONFIG_DM_VIDEO=y
+CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_CONSOLE_SCROLL_LINES=10
+CONFIG_PHYS_TO_BUS=y
+CONFIG_OF_LIBFDT_OVERLAY=y
--
2.22.0

View File

@@ -0,0 +1,105 @@
From df2aa4c6be33b468adc09de337a055556d1f37fb Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Fri, 12 Jul 2019 18:20:53 +0200
Subject: [PATCH 2/7] ARM: bcm283x: Add BCM283x_BASE define
Devices of bcm283x have different base address, depending if they are on
bcm2835 or bcm2836/7. Use BCM283x_BASE depending on the SoC you want to
build and only add the offset in the header files.
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Andrei Gherzan <andrei@balena.io>
Upstream-status: Pending
---
arch/arm/mach-bcm283x/Kconfig | 5 +++++
arch/arm/mach-bcm283x/include/mach/mbox.h | 6 +-----
arch/arm/mach-bcm283x/include/mach/sdhci.h | 6 +-----
arch/arm/mach-bcm283x/include/mach/timer.h | 6 +-----
arch/arm/mach-bcm283x/include/mach/wdog.h | 6 +-----
5 files changed, 9 insertions(+), 20 deletions(-)
diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig
index 3eb5a9a897..8e69914a83 100644
--- a/arch/arm/mach-bcm283x/Kconfig
+++ b/arch/arm/mach-bcm283x/Kconfig
@@ -141,4 +141,9 @@ config SYS_SOC
config SYS_CONFIG_NAME
default "rpi"
+config BCM283x_BASE
+ hex
+ default "0x20000000" if BCM2835
+ default "0x3f000000" if BCM2836 || BCM2837
+
endmenu
diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h
index e3a893e49c..e44c7577da 100644
--- a/arch/arm/mach-bcm283x/include/mach/mbox.h
+++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
@@ -37,11 +37,7 @@
/* Raw mailbox HW */
-#ifndef CONFIG_BCM2835
-#define BCM2835_MBOX_PHYSADDR 0x3f00b880
-#else
-#define BCM2835_MBOX_PHYSADDR 0x2000b880
-#endif
+#define BCM2835_MBOX_PHYSADDR (CONFIG_BCM283x_BASE + 0x0000b880)
struct bcm2835_mbox_regs {
u32 read;
diff --git a/arch/arm/mach-bcm283x/include/mach/sdhci.h b/arch/arm/mach-bcm283x/include/mach/sdhci.h
index 5cb6ec3340..b443c379d8 100644
--- a/arch/arm/mach-bcm283x/include/mach/sdhci.h
+++ b/arch/arm/mach-bcm283x/include/mach/sdhci.h
@@ -6,11 +6,7 @@
#ifndef _BCM2835_SDHCI_H_
#define _BCM2835_SDHCI_H_
-#ifndef CONFIG_BCM2835
-#define BCM2835_SDHCI_BASE 0x3f300000
-#else
-#define BCM2835_SDHCI_BASE 0x20300000
-#endif
+#define BCM2835_SDHCI_BASE (CONFIG_BCM283x_BASE + 0x00300000)
int bcm2835_sdhci_init(u32 regbase, u32 emmc_freq);
diff --git a/arch/arm/mach-bcm283x/include/mach/timer.h b/arch/arm/mach-bcm283x/include/mach/timer.h
index 56b0c356bb..014355e759 100644
--- a/arch/arm/mach-bcm283x/include/mach/timer.h
+++ b/arch/arm/mach-bcm283x/include/mach/timer.h
@@ -6,11 +6,7 @@
#ifndef _BCM2835_TIMER_H
#define _BCM2835_TIMER_H
-#ifndef CONFIG_BCM2835
-#define BCM2835_TIMER_PHYSADDR 0x3f003000
-#else
-#define BCM2835_TIMER_PHYSADDR 0x20003000
-#endif
+#define BCM2835_TIMER_PHYSADDR (CONFIG_BCM283x_BASE + 0x00003000)
#define BCM2835_TIMER_CS_M3 (1 << 3)
#define BCM2835_TIMER_CS_M2 (1 << 2)
diff --git a/arch/arm/mach-bcm283x/include/mach/wdog.h b/arch/arm/mach-bcm283x/include/mach/wdog.h
index 99c88e5df7..00b5e06c3a 100644
--- a/arch/arm/mach-bcm283x/include/mach/wdog.h
+++ b/arch/arm/mach-bcm283x/include/mach/wdog.h
@@ -6,11 +6,7 @@
#ifndef _BCM2835_WDOG_H
#define _BCM2835_WDOG_H
-#ifndef CONFIG_BCM2835
-#define BCM2835_WDOG_PHYSADDR 0x3f100000
-#else
-#define BCM2835_WDOG_PHYSADDR 0x20100000
-#endif
+#define BCM2835_WDOG_PHYSADDR (CONFIG_BCM283x_BASE + 0x00100000)
struct bcm2835_wdog_regs {
u32 unknown0[7];
--
2.22.0

View File

@@ -0,0 +1,108 @@
From c03f551cab8fe38de8f0e1781f0e2e339419b003 Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei@balena.io>
Date: Wed, 17 Jul 2019 15:33:01 +0100
Subject: [PATCH 3/7] arm: mach-bcm283x: Define configs for RaspberryPi 4
Define two target configs for Raspberry Pi 4 (32 and 64bit) and the
corresponding BCM2838* configs.
Be aware of the current limitation in firmware which requires an
explicit configuration to force the arm in 64bit mode when the
respective target is used.
Signed-off-by: Andrei Gherzan <andrei@balena.io>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
Upstream-status: Pending
---
arch/arm/mach-bcm283x/Kconfig | 62 +++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig
index 8e69914a83..09a5b42bbb 100644
--- a/arch/arm/mach-bcm283x/Kconfig
+++ b/arch/arm/mach-bcm283x/Kconfig
@@ -26,6 +26,23 @@ config BCM2837_64B
select BCM2837
select ARM64
+config BCM2838
+ bool "Broadcom BCM2838 SoC support"
+ depends on ARCH_BCM283X
+
+config BCM2838_32B
+ bool "Broadcom BCM2838 SoC 32-bit support"
+ depends on ARCH_BCM283X
+ select BCM2838
+ select ARMV7_LPAE
+ select CPU_V7A
+
+config BCM2838_64B
+ bool "Broadcom BCM2838 SoC 64-bit support"
+ depends on ARCH_BCM283X
+ select BCM2838
+ select ARM64
+
menu "Broadcom BCM283X family"
depends on ARCH_BCM283X
@@ -127,6 +144,50 @@ config TARGET_RPI_3
This option creates a build targeting the ARMv8/AArch64 ISA.
select BCM2837_64B
+config TARGET_RPI_4_32B
+ bool "Raspberry Pi 4 32-bit build"
+ help
+ Support for all BCM2838-based Raspberry Pi variants, such as
+ the RPi 4 model B, in AArch32 (32-bit) mode.
+
+ This option assumes the VideoCore firmware is configured to use the
+ mini UART (rather than PL011) for the serial console. This is the
+ default on the RPi 4. To enable the UART console, the following non-
+ default option must be present in config.txt: enable_uart=1. This is
+ required for U-Boot to operate correctly, even if you only care
+ about the HDMI/usbkbd console.
+
+ Due to hardware incompatibilities, this can't be used with
+ BCM283/5/6/7.
+
+ This option creates a build targeting the ARMv7/AArch32 ISA.
+ select BCM2838_32B
+
+config TARGET_RPI_4
+ bool "Raspberry Pi 4 64-bit build"
+ help
+ Support for all BCM2838-based Raspberry Pi variants, such as
+ the RPi 4 model B, in AArch64 (64-bit) mode.
+
+ This option assumes the VideoCore firmware is configured to use the
+ mini UART (rather than PL011) for the serial console. This is the
+ default on the RPi 4. To enable the UART console, the following non-
+ default option must be present in config.txt: enable_uart=1. This is
+ required for U-Boot to operate correctly, even if you only care
+ about the HDMI/usbkbd console.
+
+ Due to hardware incompatibilities, this can't be used with
+ BCM283/5/6/7.
+
+ Also, due to a bug in firmware, switching to 64bit mode doesn't
+ happen automatically based on the kernel's image filename. See
+ https://github.com/raspberrypi/firmware/issues/1193 for more details.
+ Until that is resolved, the configuration (config.txt) needs to
+ explicitly set: arm_64bit=1.
+
+ This option creates a build targeting the ARMv8/AArch64 ISA.
+ select BCM2838_64B
+
endchoice
config SYS_BOARD
@@ -145,5 +206,6 @@ config BCM283x_BASE
hex
default "0x20000000" if BCM2835
default "0x3f000000" if BCM2836 || BCM2837
+ default "0xfe000000" if BCM2838
endmenu
--
2.22.0

View File

@@ -0,0 +1,33 @@
From 12fbbd5bc12e225b19d3b4cb193a1bf3d9fa752a Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei@balena.io>
Date: Wed, 17 Jul 2019 15:34:18 +0100
Subject: [PATCH 4/7] rpi: Add entry for Raspberry Pi 4 model B
The Raspebrry Pi 4 uses the new revision code scheme as documented by
the foundation. This change adds an entry for this board as well.
Signed-off-by: Andrei Gherzan <andrei@balena.io>
Upstream-status: Pending
---
board/raspberrypi/rpi/rpi.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index 617c892dde..92c6534da6 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -148,6 +148,11 @@ static const struct rpi_model rpi_models_new_scheme[] = {
DTB_DIR "bcm2837-rpi-cm3.dtb",
false,
},
+ [0x11] = {
+ "4 Model B",
+ DTB_DIR "bcm2838-rpi-4-b.dtb",
+ true,
+ },
};
static const struct rpi_model rpi_models_old_scheme[] = {
--
2.22.0

View File

@@ -0,0 +1,30 @@
From fd99a249e6faf234066a6b5da2ed34aaead3d6d9 Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei@balena.io>
Date: Fri, 12 Jul 2019 11:26:10 +0100
Subject: [PATCH 5/7] arm: bcm283x: Include definition for additional emmc
clock
This clock has a different mbox ID so have this included in the relevant
header file.
Signed-off-by: Andrei Gherzan <andrei@balena.io>
Upstream-status: Pending
---
arch/arm/mach-bcm283x/include/mach/mbox.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h
index e44c7577da..f2a98acddd 100644
--- a/arch/arm/mach-bcm283x/include/mach/mbox.h
+++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
@@ -230,6 +230,7 @@ struct bcm2835_mbox_tag_set_power_state {
#define BCM2835_MBOX_CLOCK_ID_SDRAM 8
#define BCM2835_MBOX_CLOCK_ID_PIXEL 9
#define BCM2835_MBOX_CLOCK_ID_PWM 10
+#define BCM2835_MBOX_CLOCK_ID_EMMC2 12
struct bcm2835_mbox_tag_get_clock_rate {
struct bcm2835_mbox_tag_hdr tag_hdr;
--
2.22.0

View File

@@ -0,0 +1,53 @@
From 1f42758fe69648340cfae6cae98e667b88923cf6 Mon Sep 17 00:00:00 2001
From: Matthias Brugger <mbrugger@suse.com>
Date: Wed, 10 Jul 2019 13:24:36 +0200
Subject: [PATCH 6/7] mmc: bcm2835_sdhci: Add support for bcm2711 device
The bcm2711 has two emmc controller. The difference is the clocks
they use. Add support for the second emmc contoller.
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Andrei Gherzan <andrei@balena.io>
Upstream-status: Pending
---
drivers/mmc/bcm2835_sdhci.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/mmc/bcm2835_sdhci.c b/drivers/mmc/bcm2835_sdhci.c
index 08bddd410e..e68dec3be7 100644
--- a/drivers/mmc/bcm2835_sdhci.c
+++ b/drivers/mmc/bcm2835_sdhci.c
@@ -178,12 +178,13 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
fdt_addr_t base;
int emmc_freq;
int ret;
+ int clock_id = (int)dev_get_driver_data(dev);
base = devfdt_get_addr(dev);
if (base == FDT_ADDR_T_NONE)
return -EINVAL;
- ret = bcm2835_get_mmc_clock(BCM2835_MBOX_CLOCK_ID_EMMC);
+ ret = bcm2835_get_mmc_clock(clock_id);
if (ret < 0) {
debug("%s: Failed to set MMC clock (err=%d)\n", __func__, ret);
return ret;
@@ -228,7 +229,14 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
}
static const struct udevice_id bcm2835_sdhci_match[] = {
- { .compatible = "brcm,bcm2835-sdhci" },
+ {
+ .compatible = "brcm,bcm2835-sdhci",
+ .data = BCM2835_MBOX_CLOCK_ID_EMMC
+ },
+ {
+ .compatible = "brcm,bcm2711-emmc2",
+ .data = BCM2835_MBOX_CLOCK_ID_EMMC2
+ },
{ /* sentinel */ }
};
--
2.22.0

View File

@@ -0,0 +1,62 @@
From 76b656349a6786fa81cf69ac7762c31675cd567e Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei@balena.io>
Date: Fri, 12 Jul 2019 14:27:31 +0100
Subject: [PATCH 7/7] rpi: Add memory map for bcm2838
Define the memory map for the BCM2838 based on the dt configuration
available in the Raspberry Pi kernel fork.
Signed-off-by: Andrei Gherzan <andrei@balena.io>
Upstream-status: Pending
---
board/raspberrypi/rpi/rpi.c | 27 ++++++++++++++++++++++++---
1 file changed, 24 insertions(+), 3 deletions(-)
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index 92c6534da6..bddf2a578d 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -249,7 +249,8 @@ static uint32_t rev_type;
static const struct rpi_model *model;
#ifdef CONFIG_ARM64
-static struct mm_region bcm2837_mem_map[] = {
+#ifndef CONFIG_BCM2838
+static struct mm_region bcm283x_mem_map[] = {
{
.virt = 0x00000000UL,
.phys = 0x00000000UL,
@@ -268,8 +269,28 @@ static struct mm_region bcm2837_mem_map[] = {
0,
}
};
-
-struct mm_region *mem_map = bcm2837_mem_map;
+#else
+static struct mm_region bcm283x_mem_map[] = {
+ {
+ .virt = 0x00000000UL,
+ .phys = 0x00000000UL,
+ .size = 0xfe000000UL,
+ .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
+ PTE_BLOCK_INNER_SHARE
+ }, {
+ .virt = 0xfe000000UL,
+ .phys = 0xfe000000UL,
+ .size = 0x01800000UL,
+ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
+ PTE_BLOCK_NON_SHARE |
+ PTE_BLOCK_PXN | PTE_BLOCK_UXN
+ }, {
+ /* List terminator */
+ 0,
+ }
+};
+#endif
+struct mm_region *mem_map = bcm283x_mem_map;
#endif
int dram_init(void)
--
2.22.0

View File

@@ -0,0 +1,2 @@
# Apply the same patches for rpi4 as u-boot recipe
require u-boot-rpi4-${PV}.inc

View File

@@ -0,0 +1,12 @@
FILESEXTRAPATHS_prepend_raspberrypi4 := "${THISDIR}/u-boot-2019.07:"
UBOOT_RPI4_SUPPORT_PATCHES = " \
file://0001-configs-rpi4-Add-defconfigs-for-rpi4-32-64.patch \
file://0002-ARM-bcm283x-Add-BCM283x_BASE-define.patch \
file://0003-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch \
file://0004-rpi-Add-entry-for-Raspberry-Pi-4-model-B.patch \
file://0005-arm-bcm283x-Include-definition-for-additional-emmc-c.patch \
file://0006-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch \
file://0007-rpi-Add-memory-map-for-bcm2838.patch \
"
SRC_URI_append_raspberrypi4 = "${UBOOT_RPI4_SUPPORT_PATCHES}"

View File

@@ -1,29 +0,0 @@
DESCRIPTION = "U-Boot port for RaspberryPi"
require recipes-bsp/u-boot/u-boot.inc
DEPENDS += "rpi-mkimage-native"
PROVIDES += "u-boot"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb"
SRCREV = "6709570cdc947c2a546f96d571551acf4474778c"
SRC_URI = "git://github.com/gonzoua/u-boot-pi.git;branch=rpi"
S = "${WORKDIR}/git"
UBOOT_MACHINE = "rpi_b"
UBOOT_MAKE_TARGET = "u-boot.bin"
UBOOT_SUFFIX = "img"
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "raspberrypi"
do_compile_append() {
# Create kernel.img from uboot.bin and name it u-boot.img
${STAGING_DIR_NATIVE}/usr/lib/rpi-mkimage/imagetool-uncompressed.py u-boot.bin
mv kernel.img u-boot.img
}

View File

@@ -0,0 +1 @@
DEPENDS_append_rpi = " rpi-u-boot-scr"

View File

@@ -0,0 +1,2 @@
# Apply the same patches for rpi4 as u-boot recipe
require u-boot-rpi4-${PV}.inc

View File

@@ -0,0 +1,26 @@
From b4f2b77472aeb967d3a7595e8a965785c7a37c87 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 16 Feb 2016 16:40:46 +0000
Subject: [PATCH 1/4] bcm43xx: Add bcm43xx-3wire variant
---
tools/hciattach.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tools/hciattach.c b/tools/hciattach.c
index 59a76a7..5861d33 100644
--- a/tools/hciattach.c
+++ b/tools/hciattach.c
@@ -1144,6 +1144,9 @@ struct uart_t uart[] = {
{ "bcm43xx", 0x0000, 0x0000, HCI_UART_H4, 115200, 3000000,
FLOW_CTL, DISABLE_PM, NULL, bcm43xx, NULL },
+ { "bcm43xx-3wire", 0x0000, 0x0000, HCI_UART_3WIRE, 115200, 3000000,
+ 0, DISABLE_PM, NULL, bcm43xx, NULL },
+
{ "ath3k", 0x0000, 0x0000, HCI_UART_ATH3K, 115200, 115200,
FLOW_CTL, DISABLE_PM, NULL, ath3k_ps, ath3k_pm },
--
1.9.1

View File

@@ -0,0 +1,37 @@
From e145c9621f976063e5c573db1f2053d906f63427 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 16 Feb 2016 16:39:09 +0000
Subject: [PATCH 2/4] bcm43xx: The UART speed must be reset after the firmware download
---
tools/hciattach_bcm43xx.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/tools/hciattach_bcm43xx.c b/tools/hciattach_bcm43xx.c
index 81f38cb..0b792e0 100644
--- a/tools/hciattach_bcm43xx.c
+++ b/tools/hciattach_bcm43xx.c
@@ -366,11 +366,8 @@ int bcm43xx_init(int fd, int def_speed, int speed, struct termios *ti,
return -1;
if (bcm43xx_locate_patch(FIRMWARE_DIR, chip_name, fw_path)) {
- fprintf(stderr, "Patch not found, continue anyway\n");
+ fprintf(stderr, "Patch not found for %s, continue anyway\n", chip_name);
} else {
- if (bcm43xx_set_speed(fd, ti, speed))
- return -1;
-
if (bcm43xx_load_firmware(fd, fw_path))
return -1;
@@ -380,6 +377,7 @@ int bcm43xx_init(int fd, int def_speed, int speed, struct termios *ti,
return -1;
}
+ sleep(1);
if (bcm43xx_reset(fd))
return -1;
}
--
1.9.1

View File

@@ -0,0 +1,25 @@
From d41dc2046dd08d8c95197f677e224506f5b39bdd Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 20 Jan 2016 16:00:37 +0000
Subject: [PATCH 3/4] Increase firmware load timeout to 30s
---
tools/hciattach.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/hciattach.c b/tools/hciattach.c
index 5861d33..4141796 100644
--- a/tools/hciattach.c
+++ b/tools/hciattach.c
@@ -1293,7 +1293,7 @@ int main(int argc, char *argv[])
{
struct uart_t *u = NULL;
int detach, printpid, raw, opt, i, n, ld, err;
- int to = 10;
+ int to = 30;
int init_speed = 0;
int send_break = 0;
pid_t pid;
--
1.9.1

View File

@@ -0,0 +1,25 @@
From 76681284b0ea49852041fdb97a35175089a08781 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 23 Feb 2016 17:52:29 +0000
Subject: [PATCH 4/4] Move the 43xx firmware into /lib/firmware
---
tools/hciattach_bcm43xx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/hciattach_bcm43xx.c b/tools/hciattach_bcm43xx.c
index 0b792e0..207f668 100644
--- a/tools/hciattach_bcm43xx.c
+++ b/tools/hciattach_bcm43xx.c
@@ -43,7 +43,7 @@
#include "hciattach.h"
#ifndef FIRMWARE_DIR
-#define FIRMWARE_DIR "/etc/firmware"
+#define FIRMWARE_DIR "/lib/firmware"
#endif
#define FW_EXT ".hcd"
--
1.9.1

View File

@@ -0,0 +1,10 @@
FILESEXTRAPATHS_prepend_rpi := "${THISDIR}/${PN}:"
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 \
"
RDEPENDS_${PN}_append_rpi = " pi-bluetooth"

View File

@@ -0,0 +1,28 @@
From af91c96951a11f81f5cea88a0010161592c89310 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>
---
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
--- a/usr/bin/bthelper
+++ b/usr/bin/bthelper
@@ -10,7 +10,7 @@ fi
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
+/usr/bin/hciconfig "$dev" up
+/usr/bin/hciconfig "$dev" |grep -q "BD Address: B8:27:EB:" || exit 0
/usr/bin/hcitool -i "$dev" cmd 0x3f 0x1c 0x01 0x02 0x00 0x01 0x01 > /dev/null
--
2.17.1

View File

@@ -0,0 +1,46 @@
SUMMARY = "Script to properly configure BT-HCI on Raspberry Pi"
HOMEPAGE = "https://github.com/RPi-Distro/pi-bluetooth"
SECTION = "kernel"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "\
file://debian/copyright;md5=6af8de3c8ee71f8e91e9b22f84ff2022 \
"
SRC_URI = "\
git://github.com/RPi-Distro/pi-bluetooth \
file://0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch \
"
SRCREV = "2e1a393955910aea67bbf3c921be35a66e8a8fbe"
PV = "1.1+git${SRCPV}"
S = "${WORKDIR}/git"
# hciuart.service replaces what was brcm43438.service
inherit systemd
SYSTEMD_SERVICE_${PN} = "\
hciuart.service \
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
install -d ${D}${bindir}
install -m 0755 ${S}/usr/bin/bthelper ${D}${bindir}
install -m 0755 ${S}/usr/bin/btuart ${D}${bindir}
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${S}/debian/pi-bluetooth.bthelper@.service ${D}${systemd_system_unitdir}/bthelper@.service
install -m 0644 ${S}/debian/pi-bluetooth.hciuart.service ${D}${systemd_system_unitdir}/hciuart.service
fi
}
FILES_${PN} = "\
${bindir} \
${sysconfdir} \
${systemd_unitdir}/system \
"

View File

@@ -1,6 +1,15 @@
# Base this image on rpi-hwup-image # Base this image on core-image-minimal
include rpi-hwup-image.bb include recipes-core/images/core-image-minimal.bb
# Include modules in rootfs
IMAGE_INSTALL += " \
kernel-modules \
"
SPLASH = "psplash-raspberrypi" SPLASH = "psplash-raspberrypi"
IMAGE_FEATURES += "ssh-server-dropbear splash" IMAGE_FEATURES += "ssh-server-dropbear splash"
do_image_prepend() {
bb.warn("The image 'rpi-basic-image' is deprecated, please use 'core-image-base' instead")
}

View File

@@ -5,3 +5,7 @@ include recipes-core/images/core-image-minimal.bb
IMAGE_INSTALL += " \ IMAGE_INSTALL += " \
kernel-modules \ kernel-modules \
" "
do_image_prepend() {
bb.warn("The image 'rpi-hwup-image' is deprecated, please use 'core-image-base' instead")
}

View File

@@ -1,4 +1,6 @@
# Base this image on rpi-basic-image # Base this image on core-image-base
include rpi-basic-image.bb include recipes-core/images/core-image-base.bb
COMPATIBLE_MACHINE = "^rpi$"
IMAGE_INSTALL_append = " packagegroup-rpi-test" IMAGE_INSTALL_append = " packagegroup-rpi-test"

View File

@@ -0,0 +1,2 @@
# mesa-demos needs gles1 and userland driver does not have it, works ok with vc4 graphics driver
X11GLTOOLS_remove_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'mesa-demos', d)}"

View File

@@ -1,20 +1,30 @@
DESCRIPTION = "RaspberryPi Test Packagegroup" DESCRIPTION = "RaspberryPi Test Packagegroup"
LICENSE = "MIT" LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit packagegroup inherit packagegroup
COMPATIBLE_MACHINE = "^rpi$"
OMXPLAYER = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'omxplayer', d)}"
RDEPENDS_${PN} = "\ RDEPENDS_${PN} = "\
omxplayer \ ${OMXPLAYER} \
bcm2835-tests \ bcm2835-tests \
wiringpi \
rpio \ rpio \
rpi-gpio \ rpi-gpio \
pi-blaster \ pi-blaster \
python3-rtimu \
python3-sense-hat \
connman \
connman-client \
wireless-regdb \
bluez5 \
" "
RRECOMMENDS_${PN} = "\ RRECOMMENDS_${PN} = "\
bigbuckbunny-1080p \ bigbuckbunny-1080p \
bigbuckbunny-480p \ bigbuckbunny-480p \
bigbuckbunny-720p \ bigbuckbunny-720p \
${MACHINE_EXTRA_RRECOMMENDS} \
" "

View File

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

View File

@@ -1,2 +0,0 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SPLASH_IMAGES += "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"

View File

@@ -0,0 +1,18 @@
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 \
file://can.rules \
"
S = "${WORKDIR}"
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

@@ -0,0 +1,21 @@
KERNEL=="ttyAMA[01]", PROGRAM="/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\
'", SYMLINK+="serial%c"
KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\
ALIASES=/proc/device-tree/aliases; \
if cmp -s $ALIASES/uart1 $ALIASES/serial0; then \
echo 0; \
elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then \
echo 1; \
else \
exit 1; \
fi \
'", SYMLINK+="serial%c"

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

@@ -0,0 +1,10 @@
##############################################################################################################
# Partitions which desktops should not display
#
# boot partition
ENV{ID_FS_TYPE}=="vfat", ENV{ID_FS_LABEL}=="raspberrypi", \
ENV{UDISKS_PRESENTATION_HIDE}="1", ENV{UDISKS_IGNORE}="1"
##############################################################################################################

View File

@@ -0,0 +1,13 @@
DESCRIPTION = "add udisk/udev rule to hide boot partition from udev"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = "file://80-udisks-rpi.rules"
INHIBIT_DEFAULT_DEPS = "1"
do_install () {
install -d ${D}${base_libdir}/udev/rules.d
install -m 644 ${WORKDIR}/80-udisks-rpi.rules ${D}${base_libdir}/udev/rules.d
}
FILES_${PN} = "${base_libdir}/udev/rules.d"

View File

@@ -8,12 +8,12 @@ AUTHOR = "Mike McCauley (mikem@open.com.au)"
LICENSE = "GPLv2" LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
COMPATIBLE_MACHINE = "raspberrypi" COMPATIBLE_MACHINE = "^rpi$"
SRC_URI = "http://www.airspayce.com/mikem/bcm2835/bcm2835-${PV}.tar.gz" SRC_URI = "http://www.airspayce.com/mikem/bcm2835/bcm2835-${PV}.tar.gz"
SRC_URI[md5sum] = "3a40c01ee7d81fbff80c54fbe1a351b5" SRC_URI[md5sum] = "b5dc426b4ff258bb1397442f98e40236"
SRC_URI[sha256sum] = "fc6b0412525e6b7e85aeffec67e2d01a99fb906346620041e6684d59ea5517a7" SRC_URI[sha256sum] = "b9fd10f7a80aadaed28a77168709b7c519568a63b6e98d0a50e9c5fe31bea6bb"
inherit autotools inherit autotools
@@ -21,7 +21,7 @@ do_compile_append() {
# Now compiling the examples provided by the package # Now compiling the examples provided by the package
mkdir -p ${B}/examples mkdir -p ${B}/examples
for file in `ls ${S}/examples`; do for file in `ls ${S}/examples`; do
${CC} ${S}/examples/${file}/${file}.c -o ${B}/examples/${file} -Bstatic -L${B}/src -lbcm2835 -I${S}/src ${CC} ${LDFLAGS} ${S}/examples/${file}/${file}.c -o ${B}/examples/${file} -Bstatic -L${B}/src -lbcm2835 -I${S}/src
done done
} }
@@ -35,6 +35,8 @@ do_install_append() {
PACKAGES += "${PN}-tests" PACKAGES += "${PN}-tests"
RDEPENDS_${PN}-dev = ""
FILES_${PN} = "" FILES_${PN} = ""
FILES_${PN}-tests = "${libdir}/${BPN}" FILES_${PN}-tests = "${libdir}/${BPN}"
FILES_${PN}-dbg += "${libdir}/${BPN}/.debug" FILES_${PN}-dbg += "${libdir}/${BPN}/.debug"

View File

@@ -0,0 +1,32 @@
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

@@ -1,13 +1,28 @@
Remove dependencies on LSB functions From 1338f98a279616f4e5e9ea30a25d1dfa0c7df5d6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petter=20Mab=C3=A4cker?= <petter@technux.se>
Date: Sun, 4 Jun 2017 12:22:40 +0200
Subject: [PATCH] Remove dependencies on LSB functions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
See this as a rebase of the previous 'Remove dependencies on LSB
functions patch' with only minor modifications from the original version,
based on the work done by Alex Lennon <ajlennon@dynamicdevices.co.uk> in
'25fd817 pi-blaster: Added recipe'.
Upstream-Status: Inappropriate [configuration] Upstream-Status: Inappropriate [configuration]
Signed-off-by: Alex Lennon <ajlennon@dynamicdevices.co.uk> Signed-off-by: Petter Mabäcker <petter@technux.se>
---
debian/pi-blaster.init | 38 +++++++-------------------------------
1 file changed, 7 insertions(+), 31 deletions(-)
diff -ur git.org/pi-blaster.boot.sh git/pi-blaster.boot.sh diff --git a/debian/pi-blaster.init b/debian/pi-blaster.init
--- git.org/pi-blaster.boot.sh 2014-05-20 14:49:44.378582168 +0100 index b142d70..01a686c 100644
+++ git/pi-blaster.boot.sh 2014-05-20 14:51:08.330582386 +0100 --- a/debian/pi-blaster.init
@@ -28,12 +28,12 @@ +++ b/debian/pi-blaster.init
@@ -28,12 +28,12 @@ SCRIPTNAME=/etc/init.d/$NAME
[ -r /etc/default/$NAME ] && . /etc/default/$NAME [ -r /etc/default/$NAME ] && . /etc/default/$NAME
# Load the VERBOSE setting and other rcS variables # Load the VERBOSE setting and other rcS variables
@@ -22,7 +37,7 @@ diff -ur git.org/pi-blaster.boot.sh git/pi-blaster.boot.sh
# #
# Function that starts the daemon/service # Function that starts the daemon/service
@@ -77,48 +77,23 @@ @@ -77,48 +77,24 @@ do_stop()
case "$1" in case "$1" in
start) start)
@@ -52,6 +67,7 @@ diff -ur git.org/pi-blaster.boot.sh git/pi-blaster.boot.sh
# 'force-reload' alias # 'force-reload' alias
# #
- log_daemon_msg "Restarting $DESC" "$NAME" - log_daemon_msg "Restarting $DESC" "$NAME"
+ echo "Restarting $DESC" "$NAME"
do_stop do_stop
- case "$?" in - case "$?" in
- 0|1) - 0|1)
@@ -67,11 +83,14 @@ diff -ur git.org/pi-blaster.boot.sh git/pi-blaster.boot.sh
- log_end_msg 1 - log_end_msg 1
- ;; - ;;
- esac - esac
+ do_start + do_start
;; ;;
*) *)
- echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 - echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2 + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3 exit 3
;; ;;
esac esac
--
1.9.1

View File

@@ -1,21 +0,0 @@
DESCRIPTION = "This project enables PWM on the GPIO pins you request of a Raspberry Pi."
HOMEPAGE = "https://github.com/sarfata/pi-blaster/"
SECTION = "devel/libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://README.md;beginline=157;endline=170;md5=f20832f31126609af5a7bf2340014540"
SRC_URI = "git://github.com/sarfata/pi-blaster \
file://remove-initscript-lsb-dependency.patch \
"
S = "${WORKDIR}/git"
inherit update-rc.d autotools
INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_NAME_${PN} = "${PN}.boot.sh"
INITSCRIPT_PARAMS_${PN} = "defaults 15 85"
COMPATIBLE_MACHINE = "raspberrypi"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -1,3 +1,24 @@
require pi-blaster.inc DESCRIPTION = "This project enables PWM on the GPIO pins you request of a Raspberry Pi."
HOMEPAGE = "https://github.com/sarfata/pi-blaster/"
SECTION = "devel/libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://README.md;beginline=244;endline=268;md5=86d10e4bcf4b4014d306dde7c1d2a80d"
SRCREV = "ec5e1b4c6191d8f9a538497dbbb86f9cf0de7016" SRC_URI = "git://github.com/sarfata/pi-blaster \
file://remove-initscript-lsb-dependency.patch \
file://0001-pi-blaster-Include-sys-sysmacros.h-for-makedev.patch \
"
S = "${WORKDIR}/git"
SRCREV = "e981aa5d7624c75a4d4afcddcbd235f25e32ffe4"
inherit update-rc.d autotools
INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_NAME_${PN} = "${PN}.boot.sh"
INITSCRIPT_PARAMS_${PN} = "defaults 15 85"
COMPATIBLE_MACHINE = "^rpi$"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -0,0 +1,33 @@
From c3aa4af56652b403e304ea5f321acfe289e42922 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Jan 2016 16:07:14 -0800
Subject: [PATCH] include asm/ioctl.h for ioctl() define
also fixes errors e.g.
../../RTIMULib/RTIMUHal.cpp:208:29: error: '_IOC_SIZEBITS' was not
declared in this scope
return ioctl(m_SPI, SPI_IOC_MESSAGE(1), &wrIOC);
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Submitted
RTIMULib/RTIMUHal.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/RTIMULib/RTIMUHal.cpp b/RTIMULib/RTIMUHal.cpp
index f9c3d15..d968326 100644
--- a/RTIMULib/RTIMUHal.cpp
+++ b/RTIMULib/RTIMUHal.cpp
@@ -29,6 +29,7 @@
#if !defined(WIN32) && !defined(__APPLE__)
#include <linux/spi/spidev.h>
+#include <asm/ioctl.h>
RTIMUHal::RTIMUHal()
{
--
2.7.0

View File

@@ -0,0 +1,15 @@
DESCRIPTION = "RTIMULib is a C++ and Python library that makes it easy to use 9-dof and \
10-dof IMUs with embedded Linux systems"
HOMEPAGE = "https://github.com/RPi-Distro/RTIMULib/"
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 \
file://0001-include-asm-ioctl.h-for-ioctl-define.patch;patchdir=../.. \
"
SRCREV = "b949681af69b45f0f7f4bb53b6770037b5b02178"
S = "${WORKDIR}/git/Linux/python/"
inherit setuptools3

View File

@@ -0,0 +1,24 @@
SUMMARY = "Python module to control the Raspberry Pi Sense HAT used in the Astro Pi mission"
HOMEPAGE = "https://github.com/RPi-Distro/python-sense-hat"
SECTION = "devel/python"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=d80fe312e1ff5fbd97369b093bf21cda"
inherit setuptools3 pypi
PYPI_PACKAGE = "sense-hat"
SRC_URI[md5sum] = "69929250cb72349a8a82edf2584b1d83"
SRC_URI[sha256sum] = "f000998d042d96ed722d459312e1bebd0107f9f3015cd34b3e4fabcab9c800af"
DEPENDS += " \
jpeg \
zlib \
freetype \
"
RDEPENDS_${PN} += " \
${PYTHON_PN}-numpy \
${PYTHON_PN}-rtimu \
${PYTHON_PN}-imaging \
"

View File

@@ -0,0 +1,294 @@
From 23d7ab77865f8b17042f5cd4c6720cca475e0eb5 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 13 Jan 2016 14:27:10 -0800
Subject: [PATCH] Remove nested functions
nested functions are not supported on llvm/clang compiler, replacing
them helps make code portable and be compilable with non-gcc compilers
additionally fix the diagnostic messages clang reported
source/c_gpio.c:130:18: warning: comparison of distinct pointer types
('volatile uint32_t *' (aka 'volatile unsigned int *') an
d 'void *') [-Wcompare-distinct-pointer-types]
if (gpio_map < MAP_FAILED)
~~~~~~~~ ^ ~~~~~~~~~~
source/c_gpio.c:89:13: warning: variable 'peri_base' is used
uninitialized whenever 'if' condition is false [-Wsometimes-uninit
ialized]
if (fread(buf, 1, sizeof buf, fp) == sizeof buf) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
source/c_gpio.c:116:17: note: uninitialized use occurs here
gpio_base = peri_base + GPIO_BASE_OFFSET;
^~~~~~~~~
source/c_gpio.c:89:9: note: remove the 'if' if its condition is always
true
if (fread(buf, 1, sizeof buf, fp) == sizeof buf) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
source/c_gpio.c:64:23: note: initialize the variable 'peri_base' to
silence this warning
uint32_t peri_base;
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Submitted
source/c_gpio.c | 6 +--
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
+++ b/source/py_gpio.c
@@ -69,6 +69,20 @@ static int mmap_gpio_mem(void)
return 0;
}
}
+static inline int cleanup_one(unsigned int gpio)
+{
+ // clean up any /sys/class exports
+ event_cleanup(gpio);
+
+ // set everything back to input
+ if (gpio_direction[gpio] != -1) {
+ setup_gpio(gpio, INPUT, PUD_OFF);
+ gpio_direction[gpio] = -1;
+ return 1;
+ }
+ return 0;
+}
+
// python function cleanup(channel=None)
static PyObject *py_cleanup(PyObject *self, PyObject *args, PyObject *kwargs)
@@ -83,19 +97,6 @@ static PyObject *py_cleanup(PyObject *self, PyObject *args, PyObject *kwargs)
PyObject *tempobj;
static char *kwlist[] = {"channel", NULL};
- void cleanup_one(void)
- {
- // clean up any /sys/class exports
- event_cleanup(gpio);
-
- // set everything back to input
- if (gpio_direction[gpio] != -1) {
- setup_gpio(gpio, INPUT, PUD_OFF);
- gpio_direction[gpio] = -1;
- found = 1;
- }
- }
-
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|O", kwlist, &chanlist))
return NULL;
@@ -140,7 +141,7 @@ static PyObject *py_cleanup(PyObject *self, PyObject *args, PyObject *kwargs)
} else if (channel != -666) { // channel was an int indicating single channel
if (get_gpio_number(channel, &gpio))
return NULL;
- cleanup_one();
+ found = cleanup_one(gpio);
} else { // channel was a list/tuple
for (i=0; i<chancount; i++) {
if (chanlist) {
@@ -169,7 +170,7 @@ static PyObject *py_cleanup(PyObject *self, PyObject *args, PyObject *kwargs)
if (get_gpio_number(channel, &gpio))
return NULL;
- cleanup_one();
+ found = cleanup_one(gpio);
}
}
}
@@ -182,6 +183,37 @@ static PyObject *py_cleanup(PyObject *self, PyObject *args, PyObject *kwargs)
Py_RETURN_NONE;
}
+static inline int setup_one(unsigned int *gpio, int channel, int pud, int direction, int initial) {
+ if (get_gpio_number(channel, gpio))
+ return 0;
+
+ int func = gpio_function(*gpio);
+ if (gpio_warnings && // warnings enabled and
+ ((func != 0 && func != 1) || // (already one of the alt functions or
+ (gpio_direction[*gpio] == -1 && func == 1))) // already an output not set from this program)
+ {
+ PyErr_WarnEx(NULL, "This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.", 1);
+ }
+
+ // warn about pull/up down on i2c channels
+ if (gpio_warnings) {
+ if (rpiinfo.p1_revision == 0) { // compute module - do nothing
+ } else if ((rpiinfo.p1_revision == 1 && (*gpio == 0 || *gpio == 1)) ||
+ (*gpio == 2 || *gpio == 3)) {
+ if (pud == PUD_UP || pud == PUD_DOWN)
+ PyErr_WarnEx(NULL, "A physical pull up resistor is fitted on this channel!", 1);
+ }
+ }
+
+ if (direction == OUTPUT && (initial == LOW || initial == HIGH)) {
+ output_gpio(*gpio, initial);
+ }
+ setup_gpio(*gpio, direction, pud);
+ gpio_direction[*gpio] = direction;
+ return 1;
+}
+
+
// python function setup(channel(s), direction, pull_up_down=PUD_OFF, initial=None)
static PyObject *py_setup_channel(PyObject *self, PyObject *args, PyObject *kwargs)
{
@@ -195,37 +227,6 @@ static PyObject *py_setup_channel(PyObject *self, PyObject *args, PyObject *kwar
int pud = PUD_OFF + PY_PUD_CONST_OFFSET;
int initial = -1;
static char *kwlist[] = {"channel", "direction", "pull_up_down", "initial", NULL};
- int func;
-
- int setup_one(void) {
- if (get_gpio_number(channel, &gpio))
- return 0;
-
- func = gpio_function(gpio);
- if (gpio_warnings && // warnings enabled and
- ((func != 0 && func != 1) || // (already one of the alt functions or
- (gpio_direction[gpio] == -1 && func == 1))) // already an output not set from this program)
- {
- PyErr_WarnEx(NULL, "This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.", 1);
- }
-
- // warn about pull/up down on i2c channels
- if (gpio_warnings) {
- if (rpiinfo.p1_revision == 0) { // compute module - do nothing
- } else if ((rpiinfo.p1_revision == 1 && (gpio == 0 || gpio == 1)) ||
- (gpio == 2 || gpio == 3)) {
- if (pud == PUD_UP || pud == PUD_DOWN)
- PyErr_WarnEx(NULL, "A physical pull up resistor is fitted on this channel!", 1);
- }
- }
-
- if (direction == OUTPUT && (initial == LOW || initial == HIGH)) {
- output_gpio(gpio, initial);
- }
- setup_gpio(gpio, direction, pud);
- gpio_direction[gpio] = direction;
- return 1;
- }
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "Oi|ii", kwlist, &chanlist, &direction, &pud, &initial))
return NULL;
@@ -290,7 +291,7 @@ static PyObject *py_setup_channel(PyObject *self, PyObject *args, PyObject *kwar
} else if (chantuple) {
chancount = PyTuple_Size(chantuple);
} else {
- if (!setup_one())
+ if (!setup_one(&gpio, channel, pud, direction, initial))
return NULL;
Py_RETURN_NONE;
}
@@ -320,12 +321,29 @@ static PyObject *py_setup_channel(PyObject *self, PyObject *args, PyObject *kwar
return NULL;
}
- if (!setup_one())
+ if (!setup_one(&gpio, channel, pud, direction, initial))
return NULL;
}
Py_RETURN_NONE;
}
+static inline int output_val(unsigned int *gpio, int channel, int value) {
+ if (get_gpio_number(channel, gpio))
+ return 0;
+
+ if (gpio_direction[*gpio] != OUTPUT)
+ {
+ PyErr_SetString(PyExc_RuntimeError, "The GPIO channel has not been set up as an OUTPUT");
+ return 0;
+ }
+
+ if (check_gpio_priv())
+ return 0;
+
+ output_gpio(*gpio, value);
+ return 1;
+}
+
// python function output(channel(s), value(s))
static PyObject *py_output_gpio(PyObject *self, PyObject *args)
@@ -342,23 +360,6 @@ static PyObject *py_output_gpio(PyObject *self, PyObject *args)
int chancount = -1;
int valuecount = -1;
- int output(void) {
- if (get_gpio_number(channel, &gpio))
- return 0;
-
- if (gpio_direction[gpio] != OUTPUT)
- {
- PyErr_SetString(PyExc_RuntimeError, "The GPIO channel has not been set up as an OUTPUT");
- return 0;
- }
-
- if (check_gpio_priv())
- return 0;
-
- output_gpio(gpio, value);
- return 1;
- }
-
if (!PyArg_ParseTuple(args, "OO", &chanlist, &valuelist))
return NULL;
@@ -416,7 +417,7 @@ static PyObject *py_output_gpio(PyObject *self, PyObject *args)
}
if (chancount == -1) {
- if (!output())
+ if (!output_val(&gpio, channel, value))
return NULL;
Py_RETURN_NONE;
}
@@ -472,7 +473,7 @@ static PyObject *py_output_gpio(PyObject *self, PyObject *args)
return NULL;
}
}
- if (!output())
+ if (!output_val(&gpio, channel, value))
return NULL;
}
--
2.7.0

View File

@@ -1,19 +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"
SRCNAME = "RPi.GPIO"
SRC_URI = "\
http://pypi.python.org/packages/source/R/RPi.GPIO/${SRCNAME}-${PV}.tar.gz \
"
S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit distutils
COMPATIBLE_MACHINE = "raspberrypi"
SRC_URI[md5sum] = "9dc3dab6ce2b7ccb833a866efb392821"
SRC_URI[sha256sum] = "8d6f02da7f90e24512ad80ee4ccf34ef33687c88c47326f100cf7ac4d7ae4bf3"

View File

@@ -0,0 +1,14 @@
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,30 @@
From c86bfacc98d58244f532626954ed00d84ecfa82d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Jan 2016 17:12:37 -0800
Subject: [PATCH] include sys/types.h explicitly for getting caddr_t definition
Helps fixing build on musl where sys/types.h is not included indirectly
as happening on glibc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Submitted
source/c_gpio/c_gpio.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/source/c_gpio/c_gpio.c b/source/c_gpio/c_gpio.c
index 25a04ca..70df632 100644
--- a/source/c_gpio/c_gpio.c
+++ b/source/c_gpio/c_gpio.c
@@ -29,6 +29,7 @@
#include <stdint.h>
#include <stdlib.h>
#include <fcntl.h>
+#include <sys/types.h>
#include <sys/mman.h>
#include "c_gpio.h"
--
2.7.0

View File

@@ -5,16 +5,19 @@ SECTION = "devel/python"
LICENSE = "LGPLv3+" LICENSE = "LGPLv3+"
LIC_FILES_CHKSUM = "file://README.rst;beginline=41;endline=53;md5=d5d95d7486a4d98c999675c23196b25a" LIC_FILES_CHKSUM = "file://README.rst;beginline=41;endline=53;md5=d5d95d7486a4d98c999675c23196b25a"
SRCNAME = "RPIO" PYPI_PACKAGE = "RPIO"
inherit pypi
SRC_URI = "\ SRC_URI += "file://0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch"
http://pypi.python.org/packages/source/R/RPIO/${SRCNAME}-${PV}.tar.gz \
"
S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit setuptools inherit setuptools
COMPATIBLE_MACHINE = "raspberrypi" COMPATIBLE_MACHINE = "^rpi$"
RDEPENDS_${PN} = "\
python-logging \
python-threading \
"
SRC_URI[md5sum] = "cefc45422833dcafcd59b78dffc540f4" SRC_URI[md5sum] = "cefc45422833dcafcd59b78dffc540f4"
SRC_URI[sha256sum] = "b89f75dec9de354681209ebfaedfe22b7c178aacd91a604a7bd6d92024e4cf7e" SRC_URI[sha256sum] = "b89f75dec9de354681209ebfaedfe22b7c178aacd91a604a7bd6d92024e4cf7e"

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 = "2df7b8684e2e36b080cda315d78d5ba16f8f18b0"
SRC_URI = "git://github.com/RPi-Distro/raspi-gpio.git;protocol=https;branch=master \
"
S = "${WORKDIR}/git"

View File

@@ -1,34 +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"
# tag 2.29
SRCREV = "d79506694d7ba1c3da865d095238289d6175057d"
S = "${WORKDIR}/git"
SRC_URI = "\
git://git.drogon.net/wiringPi \
file://0001-Add-initial-cross-compile-support.patch \
"
COMPATIBLE_MACHINE = "raspberrypi"
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

@@ -1,24 +1,33 @@
From 6d85e6cc3ab97c3f060e5e0a8e3f1945a14c86ba Mon Sep 17 00:00:00 2001 From 32f3cad3c41161693659a902062fa0c01c0338ed Mon Sep 17 00:00:00 2001
From: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com> From: ErikHH <erik.hoogeveen@outlook.com>
Date: Mon, 12 Oct 2015 12:15:51 +0200 Date: Thu, 20 Dec 2018 15:33:45 +0100
Subject: [PATCH] Add initial cross compile support (rebase from Petter Mabäcker <petter@technux.se> version) Subject: [PATCH 1/1] Add initial cross compile support
Signed-off-by: ErikHH <erik.hoogeveen@outlook.com>
--- ---
devLib/Makefile | 54 ++++++++++++++++++++++++------------------- devLib/Makefile | 55 +++++++++++++++++++++----------------
examples/Gertboard/Makefile | 22 +++++++++++------- examples/Gertboard/Makefile | 22 +++++++++------
examples/Makefile | 22 +++++++++++------- examples/Makefile | 22 +++++++++------
examples/PiFace/Makefile | 22 +++++++++++------- examples/PiFace/Makefile | 22 +++++++++------
examples/PiGlow/Makefile | 4 ++-- examples/PiGlow/Makefile | 4 +--
examples/q2w/Makefile | 4 ++-- examples/q2w/Makefile | 4 +--
gpio/Makefile | 29 ++++++++++++----------- gpio/Makefile | 29 +++++++++----------
wiringPi/Makefile | 50 +++++++++++++++++++++------------------ wiringPi/Makefile | 47 +++++++++++++++++--------------
8 files changed, 119 insertions(+), 88 deletions(-) 8 files changed, 119 insertions(+), 86 deletions(-)
diff --git a/devLib/Makefile b/devLib/Makefile diff --git a/devLib/Makefile b/devLib/Makefile
index 0fb0033..cbea759 100644 index cf665d6..d193a9d 100644
--- a/devLib/Makefile --- a/devLib/Makefile
+++ b/devLib/Makefile +++ b/devLib/Makefile
@@ -31,15 +31,19 @@ ifneq ($V,1) @@ -22,6 +22,7 @@
#################################################################################
VERSION=$(shell cat ../VERSION)
+DYN_VERS_MAJ=$(word 1,$(subst ., ,$(VERSION)))
DESTDIR?=/usr
PREFIX?=/local
@@ -31,15 +32,19 @@ ifneq ($V,1)
Q ?= @ Q ?= @
endif endif
@@ -46,12 +55,12 @@ index 0fb0033..cbea759 100644
LIBS = LIBS =
@@ -66,16 +70,16 @@ $(STATIC): $(OBJ) @@ -68,16 +73,16 @@ $(STATIC): $(OBJ)
$(DYNAMIC): $(OBJ) $(DYNAMIC): $(OBJ)
$Q echo "[Link (Dynamic)]" $Q echo "[Link (Dynamic)]"
- $Q $(CC) -shared -Wl,-soname,libwiringPiDev.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPiDev.so.$(VERSION) -lpthread $(OBJ) - $Q $(CC) -shared -Wl,-soname,libwiringPiDev.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPiDev.so.$(VERSION) -lpthread $(OBJ)
+ $Q $(CC) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ) + $Q $(CC) -shared $(LDFLAGS) -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ)
.c.o: .c.o:
$Q echo [Compile] $< $Q echo [Compile] $<
@@ -66,7 +75,7 @@ index 0fb0033..cbea759 100644
.PHONY: tags .PHONY: tags
tags: $(SRC) tags: $(SRC)
@@ -86,22 +90,22 @@ tags: $(SRC) @@ -88,22 +93,22 @@ tags: $(SRC)
.PHONY: install .PHONY: install
install: $(DYNAMIC) install: $(DYNAMIC)
$Q echo "[Install Headers]" $Q echo "[Install Headers]"
@@ -99,7 +108,7 @@ index 0fb0033..cbea759 100644
.PHONY: install-deb .PHONY: install-deb
install-deb: $(DYNAMIC) install-deb: $(DYNAMIC)
@@ -116,9 +120,11 @@ install-deb: $(DYNAMIC) @@ -118,9 +123,11 @@ install-deb: $(DYNAMIC)
.PHONY: uninstall .PHONY: uninstall
uninstall: uninstall:
$Q echo "[UnInstall]" $Q echo "[UnInstall]"
@@ -148,7 +157,7 @@ index 1939ad6..98d1415 100644
# Should not alter anything below this line # Should not alter anything below this line
############################################################################### ###############################################################################
diff --git a/examples/Makefile b/examples/Makefile diff --git a/examples/Makefile b/examples/Makefile
index e6b9b71..931b167 100644 index 6d87885..8623816 100644
--- a/examples/Makefile --- a/examples/Makefile
+++ b/examples/Makefile +++ b/examples/Makefile
@@ -26,14 +26,20 @@ ifneq ($V,1) @@ -26,14 +26,20 @@ ifneq ($V,1)
@@ -162,7 +171,7 @@ index e6b9b71..931b167 100644
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe -CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
- -
-LDFLAGS = -L/usr/local/lib -LDFLAGS = -L/usr/local/lib
-LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm -LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
+DESTDIR?=/usr +DESTDIR?=/usr
+PREFIX?=/local +PREFIX?=/local
+ +
@@ -176,12 +185,12 @@ index e6b9b71..931b167 100644
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe +CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+ +
+LDFLAGS ?= -L$(LIB_DIR) +LDFLAGS ?= -L$(LIB_DIR)
+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm +LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
# Should not alter anything below this line # Should not alter anything below this line
############################################################################### ###############################################################################
diff --git a/examples/PiFace/Makefile b/examples/PiFace/Makefile diff --git a/examples/PiFace/Makefile b/examples/PiFace/Makefile
index 4685adc..cfaf902 100644 index f937c14..ad030b3 100644
--- a/examples/PiFace/Makefile --- a/examples/PiFace/Makefile
+++ b/examples/PiFace/Makefile +++ b/examples/PiFace/Makefile
@@ -26,14 +26,20 @@ ifneq ($V,1) @@ -26,14 +26,20 @@ ifneq ($V,1)
@@ -214,7 +223,7 @@ index 4685adc..cfaf902 100644
# Should not alter anything below this line # Should not alter anything below this line
############################################################################### ###############################################################################
diff --git a/examples/PiGlow/Makefile b/examples/PiGlow/Makefile diff --git a/examples/PiGlow/Makefile b/examples/PiGlow/Makefile
index acd4818..dabd64e 100644 index f182db7..d1ea74f 100644
--- a/examples/PiGlow/Makefile --- a/examples/PiGlow/Makefile
+++ b/examples/PiGlow/Makefile +++ b/examples/PiGlow/Makefile
@@ -29,10 +29,10 @@ endif @@ -29,10 +29,10 @@ endif
@@ -231,7 +240,7 @@ index acd4818..dabd64e 100644
# Should not alter anything below this line # Should not alter anything below this line
diff --git a/examples/q2w/Makefile b/examples/q2w/Makefile diff --git a/examples/q2w/Makefile b/examples/q2w/Makefile
index 6f50fa0..c5e9f6e 100644 index 8f773bf..14aa6e4 100644
--- a/examples/q2w/Makefile --- a/examples/q2w/Makefile
+++ b/examples/q2w/Makefile +++ b/examples/q2w/Makefile
@@ -29,10 +29,10 @@ endif @@ -29,10 +29,10 @@ endif
@@ -248,7 +257,7 @@ index 6f50fa0..c5e9f6e 100644
############################################################################### ###############################################################################
diff --git a/gpio/Makefile b/gpio/Makefile diff --git a/gpio/Makefile b/gpio/Makefile
index 7dcd090..83ec454 100644 index 9ec160d..a294242 100644
--- a/gpio/Makefile --- a/gpio/Makefile
+++ b/gpio/Makefile +++ b/gpio/Makefile
@@ -30,13 +30,17 @@ ifneq ($V,1) @@ -30,13 +30,17 @@ ifneq ($V,1)
@@ -259,7 +268,7 @@ index 7dcd090..83ec454 100644
-DEBUG = -O2 -DEBUG = -O2
-CC = gcc -CC = gcc
-INCLUDE = -I$(DESTDIR)$(PREFIX)/include -INCLUDE = -I$(DESTDIR)$(PREFIX)/include
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe -CFLAGS = $(DEBUG) -Wall -Wextra $(INCLUDE) -Winline -pipe
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include +INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib +LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
+BIN_DIR?=$(DESTDIR)$(PREFIX)/bin +BIN_DIR?=$(DESTDIR)$(PREFIX)/bin
@@ -269,10 +278,10 @@ index 7dcd090..83ec454 100644
+DEBUG ?= -O2 +DEBUG ?= -O2
+CC ?= gcc +CC ?= gcc
+INCLUDE ?= -I$(INCLUDE_DIR) +INCLUDE ?= -I$(INCLUDE_DIR)
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe +CFLAGS ?= $(DEBUG) -Wall -Wextra $(INCLUDE) -Winline -pipe
+ +
+LDFLAGS ?= -L$(LIB_DIR) +LDFLAGS ?= -L$(LIB_DIR)
LIBS = -lwiringPi -lwiringPiDev -lpthread LIBS = -lwiringPi -lwiringPiDev -lpthread -lrt -lm -lcrypt
# May not need to alter anything below this line # May not need to alter anything below this line
@@ -72,13 +76,10 @@ tags: $(SRC) @@ -72,13 +76,10 @@ tags: $(SRC)
@@ -284,8 +293,8 @@ index 7dcd090..83ec454 100644
- $Q chown root.root $(DESTDIR)$(PREFIX)/bin/gpio - $Q chown root.root $(DESTDIR)$(PREFIX)/bin/gpio
- $Q chmod 4755 $(DESTDIR)$(PREFIX)/bin/gpio - $Q chmod 4755 $(DESTDIR)$(PREFIX)/bin/gpio
-endif -endif
- $Q mkdir -p $(DESTDIR)$(PREFIX)/man/man1 - $Q mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1
- $Q cp gpio.1 $(DESTDIR)$(PREFIX)/man/man1 - $Q cp gpio.1 $(DESTDIR)$(PREFIX)/share/man/man1
+ $Q install -d $(BIN_DIR) + $Q install -d $(BIN_DIR)
+ $Q install -m 4755 -o root -g root gpio $(BIN_DIR) + $Q install -m 4755 -o root -g root gpio $(BIN_DIR)
+ $Q install -d $(DESTDIR)$(PREFIX)/share/man/man1 + $Q install -d $(DESTDIR)$(PREFIX)/share/man/man1
@@ -293,20 +302,24 @@ index 7dcd090..83ec454 100644
.PHONY: install-deb .PHONY: install-deb
install-deb: gpio install-deb: gpio
@@ -89,7 +90,7 @@ install-deb: gpio @@ -91,7 +92,7 @@ install-deb: gpio
.PHONY: uninstall .PHONY: uninstall
uninstall: uninstall:
$Q echo "[UnInstall]" $Q echo "[UnInstall]"
- $Q rm -f $(DESTDIR)$(PREFIX)/bin/gpio - $Q rm -f $(DESTDIR)$(PREFIX)/bin/gpio
+ $Q rm -f $(BIN_DIR)/gpio + $Q rm -f $(BIN_DIR)/gpio
$Q rm -f $(DESTDIR)$(PREFIX)/man/man1/gpio.1 $Q rm -f $(DESTDIR)$(PREFIX)/share/man/man1/gpio.1
.PHONY: depend .PHONY: depend
diff --git a/wiringPi/Makefile b/wiringPi/Makefile diff --git a/wiringPi/Makefile b/wiringPi/Makefile
index 6bbcc5d..5355b74 100644 index 287fa58..3423d3f 100644
--- a/wiringPi/Makefile --- a/wiringPi/Makefile
+++ b/wiringPi/Makefile +++ b/wiringPi/Makefile
@@ -25,19 +25,23 @@ VERSION=$(shell cat ../VERSION) @@ -22,25 +22,30 @@
#################################################################################
VERSION=$(shell cat ../VERSION)
+DYN_VERS_MAJ=$(word 1,$(subst ., ,$(VERSION)))
DESTDIR?=/usr DESTDIR?=/usr
PREFIX?=/local PREFIX?=/local
@@ -334,19 +347,24 @@ index 6bbcc5d..5355b74 100644
+CC ?= gcc +CC ?= gcc
+INCLUDE ?= -I. +INCLUDE ?= -I.
DEFS = -D_GNU_SOURCE DEFS = -D_GNU_SOURCE
CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC -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
@@ -89,17 +93,17 @@ $(STATIC): $(OBJ) LIBS = -lm -lpthread -lrt -lcrypt
@@ -75,17 +80,17 @@ static:
$(DYNAMIC): $(OBJ) $(DYNAMIC): $(OBJ)
$Q echo "[Link (Dynamic)]" $Q echo "[Link (Dynamic)]"
- $Q $(CC) -shared -Wl,-soname,libwiringPi.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPi.so.$(VERSION) -lpthread $(OBJ) - $Q $(CC) -shared -Wl,-soname,libwiringPi.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPi.so.$(VERSION) $(LIBS) $(OBJ)
+ $Q $(CC) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ) + $Q $(CC) $(LDFLAGS) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so $(OBJ) $(LIBS)
.c.o: .c.o:
$Q echo [Compile] $< $Q echo [Compile] $<
- $Q $(CC) -c $(CFLAGS) $< -o $@ - $Q $(CC) -c $(CFLAGS) $< -o $@
+ $Q $(CC) -c $(CFLAGS) -fPIC $< -o $@ + $Q $(CC) $(CFLAGS) $(LIBS) -c $< -o $@
.PHONY: clean .PHONY: clean
@@ -357,7 +375,7 @@ index 6bbcc5d..5355b74 100644
.PHONY: tags .PHONY: tags
tags: $(SRC) tags: $(SRC)
@@ -110,22 +114,22 @@ tags: $(SRC) @@ -96,13 +101,13 @@ tags: $(SRC)
.PHONY: install .PHONY: install
install: $(DYNAMIC) install: $(DYNAMIC)
$Q echo "[Install Headers]" $Q echo "[Install Headers]"
@@ -375,22 +393,9 @@ index 6bbcc5d..5355b74 100644
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so + $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ) + $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 libwiringPi.a $(DESTDIR)$(PREFIX)/lib
+ $Q install -m 0755 -d $(LIB_DIR)
+ $Q install -m 0755 $(STATIC) $(LIB_DIR)
.PHONY: install-deb .PHONY: install-deb
install-deb: $(DYNAMIC) install-deb: $(DYNAMIC)
@@ -140,9 +144,11 @@ install-deb: $(DYNAMIC) @@ -117,9 +122,11 @@ install-deb: $(DYNAMIC)
.PHONY: uninstall .PHONY: uninstall
uninstall: uninstall:
$Q echo "[UnInstall]" $Q echo "[UnInstall]"
@@ -406,5 +411,5 @@ index 6bbcc5d..5355b74 100644
.PHONY: depend .PHONY: depend
-- --
2.1.4 2.19.1

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

@@ -0,0 +1,2 @@
# userland driver EGL implementation does not have all needed bits for it so remove it from build
COMPATIBLE_HOST_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '(.*)', 'null', d)}"

View File

@@ -0,0 +1,2 @@
# mesa-demos need libgles1 and userland driver does not have it
COMPATIBLE_HOST_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '(.*)', 'null', d)}"

View File

@@ -0,0 +1,6 @@
PACKAGECONFIG_append_rpi = " gbm"
PROVIDES_append_rpi = " virtual/libgbm"
do_install_append_rpi() {
rm -rf ${D}${includedir}/KHR/khrplatform.h
}

View File

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

View File

@@ -0,0 +1,5 @@
# mesa-demos need libgles1 and userland driver does not have it so remove it from piglit rdeps
RDEPENDS_${PN}_remove_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'mesa-demos', d)}"
# it needs EGL >= 11 but userland says it provided version 10, remove it from build
# | -- Requested 'egl >= 11.0' but version of EGL is 10
COMPATIBLE_HOST_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '(.*)', 'null', d)}"

View File

@@ -0,0 +1,208 @@
From ccb7f6f1a2bc491a24c0402616a2d24b85e3933a Mon Sep 17 00:00:00 2001
From: Dom Cobley <dc4@broadcom.com>
Date: Tue, 9 Jul 2013 09:26:26 -0400
Subject: [PATCH 01/19] Allow applications to set next resource handle
This patch adds provisions in userland to
let apps callers set the next rendereing dispmanx resource.
It's useful for implementing, say, a buffer carousel.
---
interface/khronos/common/khrn_client_rpc.h | 2 ++
interface/khronos/common/khrn_int_ids.h | 2 ++
interface/khronos/egl/egl_client.c | 30 +++++++++++++++++++---
interface/khronos/egl/egl_client_surface.c | 24 ++++++++++++++++-
interface/khronos/egl/egl_client_surface.h | 3 ++-
interface/khronos/egl/egl_int_impl.h | 5 ++--
6 files changed, 59 insertions(+), 7 deletions(-)
diff --git a/interface/khronos/common/khrn_client_rpc.h b/interface/khronos/common/khrn_client_rpc.h
index dc4351d..10ea060 100644
--- a/interface/khronos/common/khrn_client_rpc.h
+++ b/interface/khronos/common/khrn_client_rpc.h
@@ -685,6 +685,7 @@ static INLINE void rpc_call12_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id
static INLINE void rpc_call13_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
static INLINE void rpc_call14_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
static INLINE void rpc_call15_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, uint32_t p13, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
+static INLINE void rpc_call16_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, uint32_t p13, uint32_t p14, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
#endif
#define RPC_CALL1_OUT_CTRL(fn, thread, id, out) rpc_call1_out_ctrl(thread, id, out)
@@ -702,6 +703,7 @@ static INLINE void rpc_call15_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id
#define RPC_CALL13_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, out) rpc_call13_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, out)
#define RPC_CALL14_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, out) rpc_call14_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, out)
#define RPC_CALL15_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, out) rpc_call15_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, out)
+#define RPC_CALL16_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, out) rpc_call16_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, out)
# if !defined(__SYMBIAN32__) //use functions defined in khrpc.cpp
static INLINE uint32_t rpc_call1_out_ctrl_res(CLIENT_THREAD_STATE_T *thread,uint32_t id, void *out) { uint32_t res; rpc_begin(thread); RPC_CALL(thread, id); res = rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_RES | RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); return res; }
diff --git a/interface/khronos/common/khrn_int_ids.h b/interface/khronos/common/khrn_int_ids.h
index 8378f4a..ec961e0 100644
--- a/interface/khronos/common/khrn_int_ids.h
+++ b/interface/khronos/common/khrn_int_ids.h
@@ -367,6 +367,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#define EGLINTCREATESURFACE_ID 0x4000
+#define EGLINTCREATESURFACE_ID_V2 0x4100
#define EGLINTCREATEGLES11_ID 0x4001
#define EGLINTCREATEGLES20_ID 0x4002
#define EGLINTCREATEVG_ID 0x4003
@@ -377,6 +378,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define EGLINTMAKECURRENT_ID 0x4008
#define EGLINTFLUSHANDWAIT_ID 0x4009
#define EGLINTSWAPBUFFERS_ID 0x400a
+#define EGLINTSWAPBUFFERS_ID_V2 0x410a
#define EGLINTSELECTMIPMAP_ID 0x400b
#define EGLINTFLUSH_ID 0x400c
#define EGLINTGETCOLORDATA_ID 0x400d
diff --git a/interface/khronos/egl/egl_client.c b/interface/khronos/egl/egl_client.c
index 9d617c8..b8bb374 100644
--- a/interface/khronos/egl/egl_client.c
+++ b/interface/khronos/egl/egl_client.c
@@ -162,6 +162,17 @@ static void egl_current_release(CLIENT_PROCESS_STATE_T *process, EGL_CURRENT_T *
void egl_gl_flush_callback(bool wait);
void egl_vg_flush_callback(bool wait);
+#include "interface/vmcs_host/vc_dispmanx_types.h"
+/**HACKHACK - give us the ability to inject a DispmanX
+ * resource handle into the CreateWindowSurface and
+ * SwapBuffers calls */
+static DISPMANX_RESOURCE_HANDLE_T next_resource_handle;
+
+EGLAPI EGLBoolean EGLAPIENTRY eglSetNextResourceHandle(DISPMANX_RESOURCE_HANDLE_T handle)
+{
+ next_resource_handle = handle;
+}
+
/*
TODO: do an RPC call to make sure the Khronos vll is loaded (and that it stays loaded until eglTerminate)
Also affects global image (and possibly others?)
@@ -644,7 +655,8 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig c
false,
EGL_NO_TEXTURE,
EGL_NO_TEXTURE,
- 0, 0);
+ 0, 0,
+ next_resource_handle);
if (surface) {
if (khrn_pointer_map_insert(&process->surfaces, process->next_surface, surface)) {
@@ -889,7 +901,7 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig
mipmap_texture,
texture_format,
texture_target,
- 0, 0);
+ 0, 0, 0);
if (surface) {
if (khrn_pointer_map_insert(&process->surfaces, process->next_surface, surface)) {
@@ -1031,7 +1043,7 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig c
false,
EGL_NO_TEXTURE,
EGL_NO_TEXTURE,
- pixmap, ((server_handle[0] == 0) && (server_handle[1] == (uint32_t)(-1))) ? NULL : server_handle);
+ pixmap, ((server_handle[0] == 0) && (server_handle[1] == (uint32_t)(-1))) ? NULL : server_handle, 0);
if (surface) {
if (khrn_pointer_map_insert(&process->surfaces, process->next_surface, surface)) {
@@ -2303,6 +2315,18 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surf)
vcos_log_trace("eglSwapBuffers server call");
+ if (next_resource_handle)
+ RPC_CALL7(eglIntSwapBuffers_impl,
+ thread,
+ EGLINTSWAPBUFFERS_ID_V2,
+ RPC_UINT(surface->serverbuffer),
+ RPC_UINT(surface->width),
+ RPC_UINT(surface->height),
+ RPC_UINT(surface->internal_handle),
+ RPC_UINT(surface->swap_behavior == EGL_BUFFER_PRESERVED ? 1 : 0),
+ RPC_UINT(khrn_platform_get_window_position(surface->win)),
+ RPC_INT(next_resource_handle));
+ else
RPC_CALL6(eglIntSwapBuffers_impl,
thread,
EGLINTSWAPBUFFERS_ID,
diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
index 6846dfa..128325e 100644
--- a/interface/khronos/egl/egl_client_surface.c
+++ b/interface/khronos/egl/egl_client_surface.c
@@ -314,7 +314,8 @@ EGL_SURFACE_T *egl_surface_create(
EGLenum texture_format,
EGLenum texture_target,
EGLNativePixmapType pixmap,
- const uint32_t *pixmap_server_handle)
+ const uint32_t *pixmap_server_handle,
+ DISPMANX_RESOURCE_HANDLE_T next_resource_handle)
{
KHRN_IMAGE_FORMAT_T color;
KHRN_IMAGE_FORMAT_T depth;
@@ -473,6 +474,27 @@ EGL_SURFACE_T *egl_surface_create(
#endif
uint32_t results[3];
+ if (next_resource_handle)
+ RPC_CALL16_OUT_CTRL(eglIntCreateSurface_impl,
+ thread,
+ EGLINTCREATESURFACE_ID_V2,
+ RPC_UINT(serverwin),
+ RPC_UINT(buffers),
+ RPC_UINT(width),
+ RPC_UINT(height),
+ RPC_UINT(color),
+ RPC_UINT(depth),
+ RPC_UINT(mask),
+ RPC_UINT(multi),
+ RPC_UINT(largest_pbuffer),
+ RPC_UINT(mipmap_texture),
+ RPC_UINT(config_depth_bits),
+ RPC_UINT(config_stencil_bits),
+ RPC_UINT(sem_name),
+ RPC_UINT(type),
+ RPC_INT(next_resource_handle),
+ results);
+ else
RPC_CALL15_OUT_CTRL(eglIntCreateSurface_impl,
thread,
EGLINTCREATESURFACE_ID,
diff --git a/interface/khronos/egl/egl_client_surface.h b/interface/khronos/egl/egl_client_surface.h
index c99d44c..b5bf70a 100644
--- a/interface/khronos/egl/egl_client_surface.h
+++ b/interface/khronos/egl/egl_client_surface.h
@@ -322,7 +322,8 @@ extern EGL_SURFACE_T *egl_surface_create(
EGLenum texture_format,
EGLenum texture_target,
EGLNativePixmapType pixmap,
- const uint32_t *pixmap_server_handle);
+ const uint32_t *pixmap_server_handle,
+ DISPMANX_RESOURCE_HANDLE_T next_resource_handle);
extern EGL_SURFACE_T *egl_surface_from_vg_image(
VGImage vg_handle,
EGLSurface name,
diff --git a/interface/khronos/egl/egl_int_impl.h b/interface/khronos/egl/egl_int_impl.h
index 8a5734c..51b3580 100644
--- a/interface/khronos/egl/egl_int_impl.h
+++ b/interface/khronos/egl/egl_int_impl.h
@@ -56,7 +56,8 @@ FN(int, eglIntCreateSurface_impl, (
uint32_t config_stencil_bits,
uint32_t sem,
uint32_t type,
- uint32_t *results))
+ uint32_t *results,
+ DISPMANX_RESOURCE_HANDLE_T next_resource_handle))
FN(int, eglIntCreatePbufferFromVGImage_impl, (
VGImage vg_handle,
@@ -110,7 +111,7 @@ FN(void, eglIntMakeCurrent_impl, (uint32_t pid_0, uint32_t pid_1, uint32_t glver
FN(int, eglIntFlushAndWait_impl, (uint32_t flushgl, uint32_t flushvg))
FN(void, eglIntFlush_impl, (uint32_t flushgl, uint32_t flushvg))
-FN(void, eglIntSwapBuffers_impl, (EGL_SURFACE_ID_T s, uint32_t width, uint32_t height, uint32_t handle, uint32_t preserve, uint32_t position))
+FN(void, eglIntSwapBuffers_impl, (EGL_SURFACE_ID_T s, uint32_t width, uint32_t height, uint32_t handle, uint32_t preserve, uint32_t position, DISPMANX_RESOURCE_HANDLE_T new_back_buffer))
FN(void, eglIntSelectMipmap_impl, (EGL_SURFACE_ID_T s, int level))
FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data))
--
2.22.0

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