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>
Update linux kernel 4.14 series recipe for building with latest -rt
branch.
This fixes#474.
Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
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>
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>
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>
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>
* 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>
select the rt kernel by adding in local.conf:
PREFERRED_PROVIDER_virtual/kernel = "linux-raspberrypi-rt"
Signed-off-by: Phong Tran <tranmanphong@gmail.com>
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>
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>
* 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
* 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>
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>
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>
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>
* 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 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>