summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO19
-rw-r--r--50-bluetooth-hci-auto-poweron.rules2
-rw-r--r--BCM43430A1.hcdbin0 -> 35976 bytes
-rw-r--r--LICENCE.broadcom_bcm43xx65
-rw-r--r--PKGBUILD33
-rw-r--r--brcm43438.service12
-rw-r--r--pi-bluetooth.install3
7 files changed, 134 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..47f55cc56fbf
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,19 @@
+pkgbase = pi-bluetooth
+ pkgdesc = Services, firmware and udev rules to get integrated bluetooth running in Raspberry Pi 3
+ pkgver = 1
+ pkgrel = 1
+ install = pi-bluetooth.install
+ arch = armv7h
+ license = multiple
+ depends = hciattach-rpi3
+ source = BCM43430A1.hcd
+ source = brcm43438.service
+ source = LICENCE.broadcom_bcm43xx
+ source = 50-bluetooth-hci-auto-poweron.rules
+ md5sums = b95ee9032a723daa25ab9608a515e984
+ md5sums = 89d9171e5693d7d3b0a3ee1710dcbe0c
+ md5sums = 3160c14df7228891b868060e1951dfbc
+ md5sums = d236124f0a979685154e4e57dfebafd5
+
+pkgname = pi-bluetooth
+
diff --git a/50-bluetooth-hci-auto-poweron.rules b/50-bluetooth-hci-auto-poweron.rules
new file mode 100644
index 000000000000..0f616c15d372
--- /dev/null
+++ b/50-bluetooth-hci-auto-poweron.rules
@@ -0,0 +1,2 @@
+# Set bluetooth power up
+ACTION=="add", SUBSYSTEM=="bluetooth", KERNEL=="hci[0-9]*", RUN+="/bin/hciconfig %k up"
diff --git a/BCM43430A1.hcd b/BCM43430A1.hcd
new file mode 100644
index 000000000000..162275ac0b18
--- /dev/null
+++ b/BCM43430A1.hcd
Binary files differ
diff --git a/LICENCE.broadcom_bcm43xx b/LICENCE.broadcom_bcm43xx
new file mode 100644
index 000000000000..ff26fdd72fe1
--- /dev/null
+++ b/LICENCE.broadcom_bcm43xx
@@ -0,0 +1,65 @@
+SOFTWARE LICENSE AGREEMENT
+
+The accompanying software in binary code form (“Software”), is licensed to you,
+or, if you are accepting on behalf of an entity, the entity and its affiliates
+exercising rights hereunder (“Licensee”) subject to the terms of this software
+license agreement (“Agreement”), unless Licensee and Broadcom Corporation
+(“Broadcom”) execute a separate written software license agreement governing
+use of the Software. ANY USE, REPRODUCTION, OR DISTRIBUTION OF THE SOFTWARE
+CONSTITUTES LICENSEE’S ACCEPTANCE OF THIS AGREEMENT.
+
+1. License. Subject to the terms and conditions of this Agreement,
+Broadcom hereby grants to Licensee a limited, non-exclusive, non-transferable,
+royalty-free license: (i) to use and integrate the Software with any other
+software; and (ii) to reproduce and distribute the Software complete,
+unmodified, and as provided by Broadcom, solely for use with Broadcom
+proprietary integrated circuit product(s) sold by Broadcom with which the
+Software was designed to be used, or their successors.
+
+2. Restrictions. Licensee shall distribute Software with a copy of this
+Agreement. Licensee shall not remove, efface or obscure any copyright or
+trademark notices from the Software. Reproductions of the Broadcom copyright
+notice shall be included with each copy of the Software, except where such
+Software is embedded in a manner not readily accessible to the end user.
+Licensee shall not: (i) use, license, sell or otherwise distribute the Software
+except as provided in this Agreement; (ii) attempt to modify in any way,
+reverse engineer, decompile or disassemble any portion of the Software; or
+(iii) use the Software or other material in violation of any applicable law or
+regulation, including but not limited to any regulatory agency. This Agreement
+shall automatically terminate upon Licensee’s failure to comply with any of the
+terms of this Agreement. In such event, Licensee will destroy all copies of the
+Software and its component parts.
+
+3. Ownership. The Software is licensed and not sold. Title to and
+ownership of the Software, including all intellectual property rights thereto,
+and any portion thereof remain with Broadcom or its licensors. Licensee hereby
+covenants that it will not assert any claim that the Software created by or for
+Broadcom infringe any intellectual property right owned or controlled by
+Licensee.
+
+4. Disclaimer. THE SOFTWARE IS OFFERED “AS IS,” AND BROADCOM PROVIDES AND
+GRANTS AND LICENSEE RECEIVES NO SUPPORT AND NO WARRANTIES OF ANY KIND, EXPRESS
+OR IMPLIED, BY STATUTE, COMMUNICATION OR CONDUCT WITH LICENSEE, OR OTHERWISE.
+BROADCOM SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A SPECIFIC PURPOSE, OR NONINFRINGEMENT CONCERNING THE SOFTWARE OR
+ANY UPGRADES TO OR DOCUMENTATION FOR THE SOFTWARE. WITHOUT LIMITATION OF THE
+ABOVE, BROADCOM GRANTS NO WARRANTY THAT THE SOFTWARE IS ERROR-FREE OR WILL
+OPERATE WITHOUT INTERRUPTION, AND GRANTS NO WARRANTY REGARDING ITS USE OR THE
+RESULTS THEREFROM INCLUDING, WITHOUT LIMITATION, ITS CORRECTNESS, ACCURACY, OR
+RELIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM
+OR ANY OF ITS LICENSORS HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER FOR BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE) OR
+OTHERWISE, ARISING OUT OF THIS AGREEMENT OR USE, REPRODUCTION, OR DISTRIBUTION
+OF THE SOFTWARE, INCLUDING BUT NOT LIMITED TO LOSS OF DATA AND LOSS OF PROFITS,
+EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THESE
+LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY
+LIMITED REMEDY.
+
+5. Export Laws. LICENSEE UNDERSTANDS AND AGREES THAT THE SOFTWARE IS
+SUBJECT TO UNITED STATES AND OTHER APPLICABLE EXPORT-RELATED LAWS AND
+REGULATIONS AND THAT LICENSEE MAY NOT EXPORT, RE-EXPORT OR TRANSFER THE
+SOFTWARE OR ANY DIRECT PRODUCT OF THE SOFTWARE EXCEPT AS PERMITTED UNDER THOSE
+LAWS. WITHOUT LIMITING THE FOREGOING, EXPORT, RE-EXPORT, OR TRANSFER OF THE
+SOFTWARE TO CUBA, IRAN, NORTH KOREA, SUDAN, AND SYRIA IS PROHIBITED.
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..6b08c3090d65
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Jesse Jaara <jesse.jaara: gmail.com>
+
+pkgname=pi-bluetooth
+pkgver=1
+pkgrel=1
+pkgdesc="Services, firmware and udev rules to get integrated bluetooth running in Raspberry Pi 3"
+arch=('armv7h')
+url=""
+license=('multiple')
+depends=('hciattach-rpi3')
+install=pi-bluetooth.install
+source=(BCM43430A1.hcd
+ brcm43438.service
+ LICENCE.broadcom_bcm43xx
+ 50-bluetooth-hci-auto-poweron.rules)
+md5sums=('b95ee9032a723daa25ab9608a515e984'
+ '89d9171e5693d7d3b0a3ee1710dcbe0c'
+ '3160c14df7228891b868060e1951dfbc'
+ 'd236124f0a979685154e4e57dfebafd5')
+
+package() {
+ cd "${srcdir}"
+
+ mkdir -p "${pkgdir}/usr/lib/systemd/system"
+ mkdir -p "${pkgdir}/etc/firmware"
+ mkdir -p "${pkgdir}/etc/udev/rules.d"
+ mkdir -p "${pkgdir}/usr/share/licences"
+
+ cp BCM43430A1.hcd "${pkgdir}/etc/firmware/"
+ cp brcm43438.service "${pkgdir}/usr/lib/systemd/system/"
+ cp 50-bluetooth-hci-auto-poweron.rules "${pkgdir}/etc/udev/rules.d/"
+ cp LICENCE.broadcom_bcm43xx "${pkgdir}/usr/share/licences/"
+}
diff --git a/brcm43438.service b/brcm43438.service
new file mode 100644
index 000000000000..396b2ceb3054
--- /dev/null
+++ b/brcm43438.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Broadcom BCM43438 bluetooth HCI
+ConditionPathIsDirectory=/proc/device-tree/soc/gpio@7e200000/bt_pins
+Before=bluetooth.service
+After=dev-ttyAMA0.device
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/hciattach-rpi3 -n /dev/ttyAMA0 bcm43xx 921600 noflow -
+
+[Install]
+WantedBy=multi-user.target
diff --git a/pi-bluetooth.install b/pi-bluetooth.install
new file mode 100644
index 000000000000..81c82d295f06
--- /dev/null
+++ b/pi-bluetooth.install
@@ -0,0 +1,3 @@
+post_install() {
+ echo "Enable with: systemctl enable brcm43438.service"
+}