Browse Source

rpi-bt-firmware: new package

Add firmware file for the Raspberry Pi 3 and Zero W Bluetooth module.

Note that to successfully download the firmware bluez5_utils needs a patch[1].

Even though the firmware file name (BCM43430A1.hcd) only mentions the
Bluetooth module, it is most likely tailored for the Raspberry Pi boards.
Firmware for the same BT module on other boards look different. For this
reason the name of the package is rpi-bt-firmware.

[1] http://www.spinics.net/lists/linux-bluetooth/msg69470.html

[Peter: correct Config.in ordering]
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Baruch Siach 7 years ago
parent
commit
1f94f1aaab
3 changed files with 30 additions and 0 deletions
  1. 1 0
      package/Config.in
  2. 8 0
      package/rpi-bt-firmware/Config.in
  3. 21 0
      package/rpi-bt-firmware/rpi-bt-firmware.mk

+ 1 - 0
package/Config.in

@@ -346,6 +346,7 @@ menu "Firmware"
 	source "package/am33x-cm3/Config.in"
 	source "package/b43-firmware/Config.in"
 	source "package/linux-firmware/Config.in"
+	source "package/rpi-bt-firmware/Config.in"
 	source "package/rpi-firmware/Config.in"
 	source "package/sunxi-boards/Config.in"
 	source "package/ts4900-fpga/Config.in"

+ 8 - 0
package/rpi-bt-firmware/Config.in

@@ -0,0 +1,8 @@
+config BR2_PACKAGE_RPI_BT_FIRMWARE
+	bool "rpi-bt-firmware"
+	depends on BR2_arm || BR2_aarch64
+	help
+	  Raspberry Pi 3 and Zero W Broadcom BCM43438 Bluetooth module
+	  firmware.
+
+	  https://aur.archlinux.org/packages/pi-bluetooth

+ 21 - 0
package/rpi-bt-firmware/rpi-bt-firmware.mk

@@ -0,0 +1,21 @@
+################################################################################
+#
+# rpi-bt-firmware
+#
+################################################################################
+
+RPI_BT_FIRMWARE_VERSION = a439f892bf549ddfefa9ba7ad1999cc515f233bf
+RPI_BT_FIRMWARE_SITE = https://aur.archlinux.org/pi-bluetooth.git
+RPI_BT_FIRMWARE_SITE_METHOD = git
+RPI_BT_FIRMWARE_LICENSE = PROPRIETARY
+RPI_BT_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx
+
+# The BlueZ hciattach utility looks for firmware in /etc/firmware. Add a
+# compatibility symlink.
+define RPI_BT_FIRMWARE_INSTALL_TARGET_CMDS
+	ln -sf ../lib/firmware $(TARGET_DIR)/etc/firmware
+	$(INSTALL) -D -m 0644 $(@D)/BCM43430A1.hcd \
+		$(TARGET_DIR)/lib/firmware/BCM43430A1.hcd
+endef
+
+$(eval $(generic-package))