diff --git a/licenses/QCA.txt b/licenses/QCA.txt new file mode 100644 index 0000000000..68890f0f0c --- /dev/null +++ b/licenses/QCA.txt @@ -0,0 +1,45 @@ +Copyright (c) 2013-2017 Qualcomm Atheros, Inc. + +All rights reserved. + +Redistribution and use in binary forms, without +modification, are permitted (subject to the limitations in the +disclaimer below) provided that the following conditions are met: + +* Redistributions must reproduce the above copyright notice, this list + of conditions, and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of Qualcomm Atheros, Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +* No Reverse engineering, decompiling, decrypting, or disassembling of + this software is permitted. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. NO LICENSES OR OTHER RIGHTS, +WHETHER EXPRESS, IMPLIED, BASED ON ESTOPPEL OR OTHERWISE, ARE GRANTED +TO ANY PARTY'S PATENTS, PATENT APPLICATIONS, OR PATENTABLE INVENTIONS +BY VIRTUE OF THIS LICENSE OR THE DELIVERY OR PROVISION BY QUALCOMM +ATHEROS, INC. OF THE SOFTWARE. + +IN NO EVENT SHALL THE COPYRIGHT OWNER OR ANY CONTRIBUTOR BE LIABLE FOR +ANY INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND REGARDLESS OF ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF OR RESULTING FROM THE USE OF THE +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN ANY +EVENT, THE TOTAL AGGREGATE LIABILITY THAT MAY BE IMPOSED ON QUALCOMM +ATHEROS, INC. FOR ANY DIRECT DAMAGES ARISING UNDER OR RESULTING FROM +THIS AGREEMENT OR IN CONNECTION WITH ANY USE OF THE SOFTWARE SHALL NOT +EXCEED A TOTAL AMOUNT OF US$5.00. + +IF ANY OF THE ABOVE PROVISIONS ARE HELD TO BE VOID, INVALID, +UNENFORCEABLE, OR ILLEGAL, THE OTHER PROVISIONS SHALL CONTINUE IN FULL +FORCE AND EFFECT. + diff --git a/packages/linux-firmware/qca-firmware/package.mk b/packages/linux-firmware/qca-firmware/package.mk new file mode 100644 index 0000000000..adfef0329f --- /dev/null +++ b/packages/linux-firmware/qca-firmware/package.mk @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="qca-firmware" +PKG_VERSION="39d025c6d52085c529568c4e110ca6d0b290fef6" +PKG_SHA256="7af9e815f0cc5136819c9f7e02c548ea736d34c9a67ca065e5a693f4fdadb312" +PKG_LICENSE="QCA" +PKG_URL="https://github.com/LibreELEC/qca-firmware/archive/$PKG_VERSION.tar.gz" +PKG_LONGDESC="qca-firmware: WiFi/BT firmware for QCA9377 SDIO modules" +PKG_TOOLCHAIN="manual" + +makeinstall_target() { + mkdir -p $INSTALL/$(get_full_firmware_dir) + cp -a ath10k $INSTALL/$(get_full_firmware_dir) + cp -a qca $INSTALL/$(get_full_firmware_dir) +} diff --git a/packages/linux-firmware/qca-firmware/system.d/qca-firmware.service b/packages/linux-firmware/qca-firmware/system.d/qca-firmware.service new file mode 100644 index 0000000000..c294cd3868 --- /dev/null +++ b/packages/linux-firmware/qca-firmware/system.d/qca-firmware.service @@ -0,0 +1,13 @@ +[Unit] +Description=QCA Bluetooth Firmware Service +ConditionPathExists=/dev/ttyAML1 + +[Service] +Type=simple +RemainAfterExit=yes +ExecStart=/usr/bin/hciattach -n -s 115200 /dev/ttyAML1 qca 2000000 +Restart=always +RestartSec=2 +StartLimitInterval=0 +LimitNPROC=1 +TimeoutStopSec=1s diff --git a/packages/linux-firmware/qca-firmware/udev.d/80-qca-firmware.rules b/packages/linux-firmware/qca-firmware/udev.d/80-qca-firmware.rules new file mode 100644 index 0000000000..98d4ade1be --- /dev/null +++ b/packages/linux-firmware/qca-firmware/udev.d/80-qca-firmware.rules @@ -0,0 +1,6 @@ +######################################################## +# udev rules file for loading QCA9377 bluetooth firmware +######################################################## + +ACTION=="add", SUBSYSTEMS=="sdio", ATTRS{vendor}=="0x0271", ATTRS{device}=="0x0701", \ + TAG+="systemd", ENV{SYSTEMD_WANTS}+="qca-firmware.service"