mirror of
https://github.com/Freescale/meta-freescale-3rdparty.git
synced 2025-07-19 20:19:01 +02:00
ccimx6ulsom: Add wireless driver and firmware files
The ConnectCore 6UL SOM contains a Qualcomm QCA6564A wireless and Bluetooth chipset with the following features: * Dual band 5GHz 802.11ac or 2.4/5GHz 802.11n support * Open, WPA and WPA2 personal and enterprise authentication * AES/TKIP encryption * Station, softAP and Wi-Fi direct modes * FCC compliant US regulatory domain support * Bluetooth 4.2, backwards compatible with older standard revisions This commit builds an out-of-tree driver for it as well as installs firmware files for both Wi-Fi and Bluetooth. Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This commit is contained in:
parent
40a05f3b8c
commit
c49b5a14b9
|
@ -21,6 +21,14 @@ UBOOT_CONFIG[ccimx6ulstarter] = "ccimx6ulstarter_defconfig"
|
|||
MACHINE_EXTRA_RDEPENDS += " \
|
||||
mtd-utils-ubifs \
|
||||
"
|
||||
|
||||
MACHINE_FEATURES += " wifi bluetooth"
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS += " \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'wifi', 'kernel-module-qca6564 linux-firmware-qca6564-wifi', '', d)} \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'bluetooth', 'linux-firmware-qca6564-bt', '', d)} \
|
||||
"
|
||||
|
||||
# mkfs.ubifs parameters for boot partition (the one holding kernel and device tree files)
|
||||
# Max LEB count (-c 255) calculated for a partition of up to 32 MiB considering 128 KiB erase-block size.
|
||||
MKUBIFS_BOOT_ARGS ?= "-m 2048 -e 126976 -c 255"
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
# Load the wlan module with values for SDIO3.0.
|
||||
options wlan asyncintdelay=0x2 writecccr1=0xf2 writecccr1value=0xf \
|
||||
writecccr2=0xf1 writecccr2value=0xa8 writecccr3=0xf0 \
|
||||
writecccr3value=0xa1 writecccr4=0x15 writecccr4value=0x30
|
57
recipes-kernel/kernel-modules/kernel-module-qca6564_git.bb
Normal file
57
recipes-kernel/kernel-modules/kernel-module-qca6564_git.bb
Normal file
|
@ -0,0 +1,57 @@
|
|||
# Copyright (C) 2019 Digi International Inc.
|
||||
|
||||
SUMMARY = "Qualcomm QCA6564 wireless driver module"
|
||||
LICENSE = "ISC"
|
||||
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d"
|
||||
|
||||
# Reference Qualcomm tag/version
|
||||
PV = "v4.2.89.63+${SRCPV}"
|
||||
|
||||
SRCBRANCH = "qca6564/master"
|
||||
SRCREV = "2e780b29209ca6b0f71442be5fd36cf0ddddc661"
|
||||
|
||||
SRC_URI = "\
|
||||
git://github.com/digi-embedded/qcacld-2.0.git;protocol=git;branch=${SRCBRANCH} \
|
||||
file://modprobe-qca6564.conf \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit module
|
||||
|
||||
EXTRA_OEMAKE += "CONFIG_LINUX_QCMBR=y WLAN_OPEN_SOURCE=1"
|
||||
# Explicity state it is not a QC platform, if not the driver will try to remap
|
||||
# memory that is not allowed in ARMv6
|
||||
EXTRA_OEMAKE += "CONFIG_NON_QC_PLATFORM=y"
|
||||
# Flag to compile the debug version (1 - enabled, rest of values - disabled)
|
||||
EXTRA_OEMAKE += "BUILD_DEBUG_VERSION=0"
|
||||
# Flags for SDIO interface
|
||||
EXTRA_OEMAKE += "CONFIG_CLD_HL_SDIO_CORE=y"
|
||||
|
||||
do_compile_prepend() {
|
||||
export BUILD_VER=${PV}
|
||||
}
|
||||
|
||||
do_install_prepend() {
|
||||
sed -i -e "s/gVhtTxMCS=2/gVhtTxMCS=0/g" ${WORKDIR}/git/firmware_bin/WCNSS_qcom_cfg.ini
|
||||
}
|
||||
|
||||
do_install_append() {
|
||||
install -d ${D}${sysconfdir}/modprobe.d
|
||||
install -m 0644 ${WORKDIR}/modprobe-qca6564.conf ${D}${sysconfdir}/modprobe.d/qca6564.conf
|
||||
|
||||
install -d ${D}${base_libdir}/firmware/wlan/
|
||||
install -m 0644 ${WORKDIR}/git/firmware_bin/WCNSS_cfg.dat ${D}${base_libdir}/firmware/wlan/cfg.dat
|
||||
install -m 0644 ${WORKDIR}/git/firmware_bin/WCNSS_qcom_cfg.ini ${D}${base_libdir}/firmware/wlan/qcom_cfg.ini
|
||||
sed -i -e "s/gVhtTxMCS=2/gVhtTxMCS=0/g" ${D}${base_libdir}/firmware/wlan/qcom_cfg.ini
|
||||
}
|
||||
|
||||
FILES_${PN} += " \
|
||||
${sysconfdir}/modprobe.d/qca6564.conf \
|
||||
${base_libdir}/firmware/wlan/cfg.dat \
|
||||
${base_libdir}/firmware/wlan/qcom_cfg.ini \
|
||||
"
|
||||
|
||||
RRECOMMENDS_${PN} = "hostapd iw crda wireless-regdb udev-rules-digi"
|
||||
|
||||
COMPATIBLE_MACHINE = "(ccimx6ul)"
|
|
@ -0,0 +1,31 @@
|
|||
# Copyright (C) 2019 Digi International Inc.
|
||||
|
||||
SUMMARY = "Firmware files for Qualcomm's QCA6564 wireless chip"
|
||||
SECTION = "base"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13"
|
||||
|
||||
SRC_URI = "ftp://ftp1.digi.com/support/digiembeddedyocto/source/${BPN}-${PV}.tar.gz"
|
||||
SRC_URI[md5sum] = "7400b74881ac499517b6ad761a54f8fc"
|
||||
SRC_URI[sha256sum] = "be3a56334764e21ee297260b6648075b7fada6f55e24a287a24e7c7d128e27ef"
|
||||
|
||||
S = "${WORKDIR}/linux-firmware-qca6564/"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${base_libdir}/firmware/qca
|
||||
install -m 0644 nvm_tlv_3.2.bin ${D}${base_libdir}/firmware/qca
|
||||
install -m 0644 rampatch_tlv_3.2.tlv ${D}${base_libdir}/firmware/qca
|
||||
install -m 0644 bdwlan30_US.bin ${D}${base_libdir}/firmware
|
||||
install -m 0644 LICENCE.atheros_firmware ${D}${base_libdir}/firmware
|
||||
install -m 0644 otp30.bin ${D}${base_libdir}/firmware
|
||||
install -m 0644 qwlan30.bin ${D}${base_libdir}/firmware
|
||||
install -m 0644 utf30.bin ${D}${base_libdir}/firmware
|
||||
}
|
||||
|
||||
PACKAGES = "${PN}-bt ${PN}-wifi"
|
||||
|
||||
FILES_${PN}-bt = "/lib/firmware/qca"
|
||||
FILES_${PN}-wifi = "/lib/firmware"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "(ccimx6ul)"
|
Loading…
Reference in New Issue
Block a user