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>
All source files in the armstubs directory have a 3-clause BSD license.
The Makefile doesn't appear to use any files from outside this directory
during the build.
Signed-off-by: Paul Barker <paul@betafive.co.uk>
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>
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>
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>
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>
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>
[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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
* 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>
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>
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>
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.htmhttp://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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
- 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>
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>
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>
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>
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>
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>
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>
With the newer kernels that use device tree, the SPI bus is only
enabled by a device tree setting. This is now supported by adding
ENABLE_SPI_BUS = "1"
in local.conf
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
[RPi DT info] https://github.com/raspberrypi/documentation/blob/master/configuration/device-tree.md#part-3-using-device-trees-on-raspberry-pi
RPi bootloader detects a DT-ready kernel by checking for a specific trailer in kernel.img.
Using latest raspberrypi/firmware (firmware.inc) enables this check ability.
Using latest raspberrypi/tools (rpi-mkimage.bb) gives access to mkknlimg for adding the
required trailer to kernel image.
If KERNEL_DEVICETREE is filled in, 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).
If KERNEL_DEVICETREE is empty, this new process isn't operated, legacy one does.
KERNEL_DEVICETREE for RPi is really supported only starting from linux-rapsberry 3.18+
kernels, so as for now it defaults to empty (in machine config file).
Change-Id: Ifea71bbda729b8f3c47be7ba0ba03be5ad2ceeaa
Signed-off-by: Francois Muller <francois@concept-embarque.fr>
PRINC is now obsolete and the PR Service should be used instead to keep PR
values incrementing on change.
A patch has also been submitted to openembedded-core to bump the appropriate PR
values so that PR doesn't move backwards. This patch should only be applied
after that patch, and only to branches which include that patch (ie. if that
patch doesn't go into daisy in oe-core, this patch shouldn't go into daisy in
meta-raspberrypi).
Change-Id: Ibac9e4e89d12dbd6e94430f47e20b82a67506625
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
Tool needed to convert bootable images in kernel.img files which can be loaded
by rpi bootloader.
Change-Id: I0088707be5d31d77def1087f51e3f8cc886d19db
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>