Add firmware files for Realtek 87XX and 88XX Bluetooth chipsets. Those
are supported by the upstream Realtek Bluetooth driver CONFIG_BT_RTL.
Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The latest change in Linux firmware handling breaks the build if no
specific firmware item is selected below BR2_PACKAGE_LINUX_FIRMWARE.
The firmware archive is only created if at least one firmware
sub-category is selected; the installation step wants to unpack the
archive unconditionally.
Use the same condition to control install command definition as in the
build step.
Signed-off-by: Andreas Ziegler <br015@umbiko.net>
[yann.morin.1998@free.fr: use a single conditional block]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Some drivers request their firmware very early when built into the kernel,
even before the initramfs is mounted - So the only way to provide firmware
for those drivers is to include them directly in the kernel with the
CONFIG_EXTRA_FIRMWARE option.
An example of this is the uC firmware for modern Intel GPUs.
Conceptually you can point CONFIG_EXTRA_FIRMWARE to
${TARGET_DIR}/lib/firmware, but then you cannot remove the firmware from the
initramfs and pay the size cost twice (inside the kernel + in initramfs), so
instead also install linux-firmware to the images dir, similar to how we do
it for intel-microcode.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The logic we have for the installation of the firmware files is, to say
the least, non conventional. It is split in two parts:
- one that copies files via an intermediate tarball: the tarball
creation is used to detect if firmware files are missing (i.e. on
a version bump) and fail the build if so, while the tarball
extraction is the actual firmware installation;
- one that copies directories one by one in a loop, removing the
destination before the copy, to maintain a proper layout.
Needless to say, this is not very clean. First, there is no reason why
the directories can not be copied with the same mechanism as the files
themselves; not sure what I had in mind with b55bd5a9e25e...
Second, we're soon going to need the same installation step to copy the
firmware files in the images/ directory, to ease embedding in the kernel
image.
Rationalise this installation procedure.
Cherry-picking files and directories with cp, while still maintaining
the directory layout, is not trivial; rsync is not one of our
pre-requisites. So we're left with tar, which makes it easy. So we keep
using an intermediate tarball, but we use it for both files and
directories, and we generate it at build time, not install time.
That archive is then extracted during the installation.
Now the installation complexity is mostly located in the creation of the
symlinks, so we merge all of that directly into the _INSTALL_TARGET_CMDS
and drop the intermediate macros that have no longer any reason to exist.
This will also make it pretty simple to later install in the images/
directory.
Reported-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
As reported on the mailing list [1], the imx sdma firmwares for
imx[6,7,8] are provided by two packages: firmware-imx and
linux-firmware
$ sha256sum ./firmware-imx-8.10/firmware/sdma/sdma-imx6q.bin
7790c161b7e013a9dbcbffb17cc5d4cb63d952949a505647e4679f02d04c4784
./firmware-imx-8.10/firmware/sdma/sdma-imx6q.bin
$ sha256sum ./linux-firmware-20201022/imx/sdma/sdma-imx6q.bin
7790c161b7e013a9dbcbffb17cc5d4cb63d952949a505647e4679f02d04c4784
./linux-firmware-20201022/imx/sdma/sdma-imx6q.bin
firmware-imx also has firmwares for older variants as well, so this is
what we keep as the only imx sdma firmware provider.
[1] http://lists.busybox.net/pipermail/buildroot/2021-January/300938.html
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Stephane Viau <stephane.viau@oss.nxp.com>
Cc: Gary Bisson <gary.bisson@boundarydevices.com>
[yann.morin.1998@free.fr: explain why we keep firmware-imx]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Switch to using the tarball helper, that can generate reproducible
archives whatever the tar version >= 1.27.
However, those archives are not identical to the previous ones generated
in the (now-broken) gnu format.
To avoid any clashing between old and new archives, and new and old
Buildroot versions, we need to name the new generated archives
differently from the existing ones.
So, we bump the git-specific format-version to -br1.
The %ci date has been supported by git back to 1.6.0, released August
2008); it is not strictly ISO8601, but is still accepted as a PAX date
header. The strict ISO8601 placeholder, %cI, was only introduced with
2.2.0, release in November 2014, so too recent to be widely available.
As the format and the names of the archives changes, we need to update
all the hash files with the new names and hashes.
Of all the bootloaders that have a git download method, vexpress-firmware
is the only one to have a hash. Others have no hash files, or they have
explicitly set BR_NO_CHECK_HASH_FOR.
For the packages, linux-headers is the special snowflake, as the git
download is only for custom git tree, so it is excluded from the hash
verification with BR_NO_CHECK_HASH_FOR.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Vincent Fazio <vfazio@xes-inc.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Vincent Fazio <vfazio@xes-inc.com>
---8<------8<------8<------8<---
#!/bin/sh
# Find and download all packages using git as backend.
# Manually fix hashes for affected packages.
# Packages that only have a host variant
HOST_ONLY='imx-mkimage|mxsldr|netsurf-buildsystem|opkg-utils|prelink-cross|qoriq-rcw|vboot-utils'
# Packages that have a non-git main _SOURCE, and/or which
# have BR_NO_CHECK_HASH_FOR for the git _SOURCE
NOT_GIT='aufs|aufs-util|xenomai|linux-headers'
export BR2_DL_DIR=$(pwd)/temp-dl-dir
make defconfig
make $( git grep -l -E 'SITE_METHOD[[:space:]]*:?=[[:space:]]*git\>|_SITE[[:space:]]*:?=[[:space:]]*git:' \
boot/vexpress-firmware/ package/ \
|sed -r -e 's,.*/([^/]+)\.mk,\1,' \
|sed -r -e '/^('"${NOT_GIT}"')$/d;' \
-e 's/^('"${HOST_ONLY}"')/host-\1/;' \
-e 's/$/-legal-info/;'
)
---8<------8<------8<------8<---
This patch adds CPE ID information for a significant number of
packages.
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This adds generic firmware for USB TI 3410/5052 devices and a couple of
device specific firmwares.
Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Multi format codec (MFC) is the IP present in Samsung Exynos series SoCs
for video encoding/decoding operations.
Signed-off-by: Stefan Agner <stefan@agner.ch>
[yann.morin.1998@free.fr: add all FW versions]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
linux-firmware version 20201022 introduced a new sdio firmware for
QCA9377 sdio devices. Install it when support is selected.
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
For readability, this reformatting is done in a separate commit, as this
package contains many license files.
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
The brcmfmac drivers now load settings files for BCM434xx devices and
fail if they're missing on the Raspberry Pi:
brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt failed with error -2
This commit copies the missing settings files over to the firmware
directory with the other files.
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
There are two groups of chipsets in the BCM4366 family requiring two
different firmware files. Each is quite big (over 1 MiB) so use
separated options for them.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174 is a superset of
BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA6174. Drop the redundant
symbol.
Add the full list of license files to
BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174.
Add notice_ath10k_firmware-5.txt license file hash.
Cc: Yegor Yefremov <yegorslists@googlemail.com>
Reported-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
[yann.morin.1998@free.fr:
- reorder license files
- rewrap license files to usual style for multi-line variables
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The newly introduced option does not follow the naming scheme of other
Realtek firmwares, in part because the model is not named rtl-something,
but rtw-something.
Rename the option to match the VENDOR_DEVICE scheme. We do not add a
legacy entry for this: we've had no release and it was pushed minutes
ago...
Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This patch adds an option to support installing firmware files for the
Microchip/Microsemi VSC85xx networking PHY family.
There is a mismatch between Linux and Linux-firmware on the name of the
PHY (Microchip vs Microsemi), due to the acquisition of Microsemi by
Microchip. We chose here the name in Linux-firmware, but mentioned the
other one in the Kconfig help of the option.
Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Some symlinks were not created correctly when installing the
Linux-firmware package. This patch fixes the support for all symlinks of
the form:
a/foo -> bar
a/foo -> b/bar
a/foo -> ../b/bar
With this patch all forms of symlinks described in the WHENCE file
should be supported, whether they are in nested directories, or in
non-existing ones.
As some symlinks could be in directories that do not exist, we must
maje sure to canonicalize the path before testing the linked-to file.
We compared the symlinks installed pre-20200122 to what we have now, and
it seems we're handling all of them with this patch.
Fixes: 55df4059d2 ("package/linux-firmware: fix symlink support")
Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
[yann.morin.1998@free.fr:
- use readlink in canonicalize-missing mode, to avoid
creating-then-removing directories
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Tested-by: Antoine Tenart <antoine.tenart@bootlin.com>
Reviewed-by: Antoine Tenart <antoine.tenart@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Since Linux-firmware's commit 9cfefbd7fbda ("Remove duplicate symlinks")
symlinks aren't distributed anymore. They are rather created at
installation time by a script provided in the project, copy-firmware.sh.
The description of the symlinks is done in the WHENCE file. Since the
bump to version 20200122, in commit 48cc1a89ae, installation for many
firmwares was broken as Buildroot tried to install missing symlinks from
Linux-firmware.
The fix is not only to remove now missing symlinks, but to add logic to
create those symlinks as kernel modules will depend on them. The
solution taken by this patch is to create dynamically symlinks based on
their description in the WHENCE file *and* only if the file they'll
point to was installed in the target directory.
Fixes: 48cc1a89ae ("package/linux-firmware: bump to version 20200122")
Cc: james.hilliard1@gmail.com
Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
[yann.morin.1998@free.fr:
- don't use a post-install hook
- consolidate grep+sed into a single sed
- split long ling
- detect ln error and exit
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Commit 48cc1a89ae (package/linux-firmware: bump to version 20200122)
forgot to account for an update in the copyright year for the AMD blobs,
as well as a global update to the WHENCE file (which lists all the
blobs and their licenses).
Fixes:
http://autobuild.buildroot.org/results/372abcf91592ef4a1231de6364b0848ff131e432/
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Added new r8169 firmware files.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
[Thomas: split from the AR3011/AR3012 commit]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Only rs9113_wlan_qspi.rps firmware was present on generated image.
Signed-off-by: Adrien Ricciardi <adrien.ricciardi@hotmail.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This is the soft MAC version of the firmware, used by the libertas_tf driver.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This is the OLPC version used by the usb8xxx driver, preferrably to the
v9 firmware. This implements the OLPC-specific meshing protocol and acts
as a mesh point even in machine suspend.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Version 9 only. There's also version 5, but that probably is only for
very very old kernels.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
License changes:
* amdgpu: year on license was bumped to 2019
* Marvell: reformatting, rewording and changed conditions
Signed-off-by: Arno Messiaen <arnomessiaen@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Add options to install the MT7650 bluetooth firmware and the MT76x2e
wifi firmware.
Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This moves the BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560 option to the
Bluetooth section of the config file. This chip is Bluetooth-only, so
it belongs there instead of with the Wi-Fi/Bluetooth combo chips.
Signed-off-by: David Lechner <david@lechnology.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Add an option in the menuconfig submenu of linux-firmware package. Install
the firmware binary files to the target directory if the option is selected.
Signed-off-by: David Picard <dplamp@gmx.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This adds a new config option to include the firmware files for the TI
CC2560 and CC2560A Bluetooth modules. LEGO MINDSTORMS EV3 has one of
these two modules depending on when it was manufactured, so it is
useful to include both firmwares to cover all cases for this device.
Signed-off-by: David Lechner <david@lechnology.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
There are various versions shipped in linux-firmware. In the past we
decided that it was up to the developer to filter out the ones they want
for their specific kernel version, so install them all.
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
In linux-firmware.hash WHENCE sha256 is wrong causing make legal-info to
fail, due to the latest version bump of linux-firmware.
The changes to the WHENCE file are summarized below:
- update mrvl/usb8801_uapsta.bin to version W14.68.36.p131
- remove amdgpu/vegam_me_2.bin
- add qed/qed_init_values_zipped-8.37.7.0.bin
- add brcm/brcmfmac43430-sdio.AP6212.txt and
brcm/brcmfmac43430-sdio.MUR1DX.txt config files under GPLv2
- update ti-connectivity/wl18xx-fw-4.bin to version 8.9.0.0.79
- update intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq to version
BT_StonePeak_D1_REL_52_00005
- update intel/ibt-11-5.ddc to version LnP/SfP_REL0487
- update intel/ibt-11-5.sfi to version BT_LightningPeak_REL0487
- update intel/ibt-12-16.ddc to version BT_WindStormPeak_REL0244
- update intel/ibt-12-16.sfi to version BT_WindStormPeak_REL0244
- update intel/ibt-17-16-1.* to version BT_JeffersonPeak_B0_B0_REL0329
- update intel/ibt-17-2.* to version BT_JeffersonPeak_B0_B0_REL0329
- update intel/ibt-18-16-1.* to version BT_ThunderPeak_B0_B0_REL0329
- update intel/ibt-18-2.* to version BT_ThunderPeak_B0_B0_REL0329
- add rtl_bt/rtl8822cu_fw.bin
- add mediatek/mt7622pr2h.bin version 20180621204904
- add mediatek/mt7610u.bin version 2.6
- add mediatek/mt7662u.bin version 1.5
- add mediatek/mt7662u_rom_patch.bin version 0.0.2_P48
- point to LICENCE.mediatek for Mediatek binaries above
- update netronome/flower version to AOTC-2.9.A.31
- update Qualcomm venus-5.2 version to 5.2-00023
- add mellanox/mlxsw_spectrum-13.1702.6.mfa2 and
mellanox/mlxsw_spectrum-13.1703.4.mfa2 under new Copyright covering
2017-2018
- add cadence/mhdp8546.bin version 1.2.12 pointing to LICENCE.cadence
for licensing informations
Recalculate locally and update it.
Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Bump the package to the most up to date version and fix the sha256 hash.
linux-firmware was failing due to an incorrect sha256 hash, as follows:
Fetching all references
warning: redirecting to https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/
remote: Counting objects: 6972, done.
remote: Total 6972 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (6972/6972), 196.63 MiB | 4.22 MiB/s, done.
Resolving deltas: 100% (4516/4516), done.
>From http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware
* [new branch] master -> origin/master
warning: redirecting to https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/
warning: refname '8d69bab7a3da1913113ea98cefb73d5fa6988286' is ambiguous.
Git normally never creates a ref that ends with 40 hex characters
because it will be ignored when you just specify 40-hex. These refs
may be created by mistake. For example,
git checkout -b $br $(git rev-parse ...)
where "$br" is somehow empty and a 40-hex ref is created. Please
examine these refs and maybe delete them. Turn this message off by
running "git config advice.objectNameWarning false"
ERROR: linux-firmware-8d69bab7a3da1913113ea98cefb73d5fa6988286.tar.gz has wrong sha256 hash:
ERROR: expected: 905be20e4e2d7628dea4e2e99195520fc0cce8b247faabdc52fc44a3ff2ceb04
ERROR: got : b9fce72a7b0b55eb311701dfd47914bc9e037134fa401d33e6e73ab9ebc9d116
ERROR: Incomplete download, or man-in-the-middle (MITM) attack
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
In commit 51435be1f1 ("linux-firmware:
bump version to latest 8d69bab"), the hash of the LICENSE.amdgpu was
not updated as it should have been. Indeed, there was a copyright year
change in this file:
-Copyright (C) 2017 Advanced Micro Devices, Inc. All rights reserved.
+Copyright (C) 2018 Advanced Micro Devices, Inc. All rights reserved.
which changed the hash of this license file.
Fixes:
http://autobuild.buildroot.net/results/cc0e44fa854597b8a83dfdcd6435cb55af1c8571/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Commit 51435be1f1 ("linux-firmware: bump
version to latest 8d69bab") bumped the linux-firmware package, but
forgot to update the hash file accordingly for the license files.
Especially, the WHENCE file contains the list of all licenses for the
different firmware, so it gets updated pretty much whenever a new
firmware is added or a firmware is updated.
Update its hash to fix legal-info for the linux-firmware package, and
therefore fix:
http://autobuild.buildroot.net/results/9795ac912d1bbe66386be9286f1703cdbe0a8898/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Update from 65b1c68 (2018-01-04) to 8d69bab (2018-07-17).
Signed-off-by: Geoff Levand <geoff@infradead.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>