firmware: add brcmfmac_sdio-firmware package

This commit is contained in:
chewitt 2019-04-28 07:53:01 +00:00 committed by Christian Hewitt
parent f6463d0a43
commit d290c747ec
4 changed files with 74 additions and 0 deletions

View File

@ -0,0 +1,50 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="brcmfmac_sdio-firmware"
PKG_VERSION="bc97ecd07221b0f0baca67bbe5dbb6f053a271f1"
PKG_SHA256="61773247f8ec519db5f123b2b554746bf4e4cc1902038d87d6217337afba00f5"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/LibreELEC/brcmfmac_sdio-firmware"
PKG_URL="https://github.com/LibreELEC/$PKG_NAME/archive/$PKG_VERSION.tar.gz"
PKG_SECTION="firmware"
PKG_LONGDESC="Broadcom SDIO firmware used with LibreELEC"
PKG_TOOLCHAIN="manual"
post_makeinstall_target() {
FW_TARGET_DIR=$INSTALL/$(get_full_firmware_dir)
if find_file_path firmwares/$PKG_NAME.dat; then
FW_LISTS="${FOUND_PATH}"
else
FW_LISTS="${PKG_DIR}/firmwares/any.dat ${PKG_DIR}/firmwares/${TARGET_ARCH}.dat"
fi
for fwlist in ${FW_LISTS}; do
[ -f ${fwlist} ] || continue
while read -r fwline; do
[ -z "${fwline}" ] && continue
[[ ${fwline} =~ ^#.* ]] && continue
[[ ${fwline} =~ ^[[:space:]] ]] && continue
for fwfile in $(cd ${PKG_BUILD} && eval "find ${fwline}"); do
[ -d ${PKG_BUILD}/${fwfile} ] && continue
if [ -f ${PKG_BUILD}/${fwfile} ]; then
mkdir -p $(dirname ${FW_TARGET_DIR}/brcm/${fwfile})
cp -Lv ${PKG_BUILD}/${fwfile} ${FW_TARGET_DIR}/brcm/${fwfile}
else
echo "ERROR: Firmware file ${fwfile} does not exist - aborting"
exit 1
fi
done
done < ${fwlist}
done
mkdir -p $INSTALL/usr/bin
cp $PKG_DIR/scripts/brcmfmac-firmware-setup $INSTALL/usr/bin
}
post_install() {
enable_service brcmfmac-firmware.service
}

View File

@ -0,0 +1,12 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
DTNAME=$(/usr/bin/dtname)
if [ "$DTNAME" = "khadas,vim" -o "$DTNAME" = "xunlong,orangepi-win" ]; then
ln -sf /usr/lib/kernel-overlays/base/lib/firmware/brcm/BCM43430A1.vim /usr/lib/firmware/brcm/BCM43430A1.hcd
else
ln -sf /usr/lib/kernel-overlays/base/lib/firmware/brcm/BCM43430A1.def /usr/lib/firmware/brcm/BCM43430A1.hcd
fi

View File

@ -0,0 +1,11 @@
[Unit]
Description=Broadcom SDIO Firmware Symlink Service
After=kernel-overlays.service
Before=kodi.service
[Service]
Type=oneshot
ExecStart=/bin/sh -c "/usr/bin/brcmfmac-firmware-setup"
[Install]
WantedBy=local-fs.target