ccimx93: iw612: add WiFi support
https://onedigi.atlassian.net/browse/DEL-8346 Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This commit is contained in:
parent
4200b2f06a
commit
38831535fb
|
|
@ -0,0 +1,16 @@
|
||||||
|
# Copyright (C) 2023 Digi International.
|
||||||
|
|
||||||
|
LIC_FILES_CHKSUM:ccimx93 = "file://EULA.txt;md5=add2d392714d3096ed7e0f7e2190724b"
|
||||||
|
|
||||||
|
SRCBRANCH:ccimx93 = "lf-6.1.1_1.0.0"
|
||||||
|
SRCREV:ccimx93 = "bacbeb4789c1b13d13aab12ada29217ce8c3e905"
|
||||||
|
|
||||||
|
do_install:append:ccimx93() {
|
||||||
|
install -m 444 ${S}/nxp/FwImage_IW612_SD/sduart_nw61x_v1.bin.se ${D}${base_libdir}/firmware/nxp
|
||||||
|
}
|
||||||
|
|
||||||
|
PACKAGES:prepend:ccimx93 = "${PN}-nxpiw612 "
|
||||||
|
|
||||||
|
FILES:${PN}-nxpiw612 = " \
|
||||||
|
${base_libdir}/firmware/nxp/sduart_nw61x_v1.bin.se \
|
||||||
|
"
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
# Copyright (C) 2023 Digi International.
|
||||||
|
|
||||||
|
FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
|
||||||
|
|
||||||
|
SRC_URI:append = " \
|
||||||
|
file://81-iw612-wifi.rules \
|
||||||
|
file://load_iw612.sh \
|
||||||
|
"
|
||||||
|
|
||||||
|
do_install:append () {
|
||||||
|
install -d ${D}${sysconfdir}/udev/rules.d
|
||||||
|
install -m 0644 ${WORKDIR}/81-iw612-wifi.rules ${D}${sysconfdir}/udev/rules.d/
|
||||||
|
install -d ${D}${sysconfdir}/udev/scripts
|
||||||
|
install -m 0777 ${WORKDIR}/load_iw612.sh ${D}${sysconfdir}/udev/scripts/
|
||||||
|
}
|
||||||
|
|
||||||
|
FILES:${PN}:append = " \
|
||||||
|
${sysconfdir}/udev/rules.d \
|
||||||
|
${sysconfdir}/udev/scripts \
|
||||||
|
"
|
||||||
|
|
||||||
|
RDEPENDS:${PN}:remove = "wireless-tools"
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
# Load IW612 wireless module (sdio)
|
||||||
|
SUBSYSTEM=="sdio", ACTION=="add", ENV{MODALIAS}=="sdio:c00v0471d0205", RUN="/etc/udev/scripts/load_iw612.sh"
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# The bit settings of drv_mode are:
|
||||||
|
# Bit 0 : STA
|
||||||
|
# Bit 1 : uAP
|
||||||
|
# Bit 2 : WIFIDIRECT
|
||||||
|
# eg, for STA + uAP + WIFIDIRECT, set 7 (b'111)
|
||||||
|
DRIVER_MODE=1 # Only STA
|
||||||
|
|
||||||
|
# MREG_D(00000200), MERROR(00000004),MFATAL(00000002)
|
||||||
|
DRIVER_DEBUG="0x206"
|
||||||
|
|
||||||
|
MOAL_PARAMS=" \
|
||||||
|
cfg80211_wext=0xf \
|
||||||
|
max_vir_bss=1 \
|
||||||
|
cal_data_cfg=none \
|
||||||
|
ps_mode=1 \
|
||||||
|
auto_ds=1 \
|
||||||
|
host_mlme=1 \
|
||||||
|
drv_mode=${DRIVER_MODE} \
|
||||||
|
drvdbg=${DRIVER_DEBUG} \
|
||||||
|
fw_name=nxp/sduart_nw61x_v1.bin.se\
|
||||||
|
"
|
||||||
|
|
||||||
|
log() {
|
||||||
|
printf "<3>iw612-wifi: $1\n" >/dev/kmsg
|
||||||
|
}
|
||||||
|
|
||||||
|
if ! [ -e "/proc/device-tree/wireless/mac-address" ]; then
|
||||||
|
log "[ERROR] wireless mac-address not found"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
WLANADDR=$(hexdump -ve '1/1 "%02X" ":"' /proc/device-tree/wireless/mac-address 2>/dev/null | sed 's/:$//g')
|
||||||
|
modprobe mlan && \
|
||||||
|
modprobe moal ${MOAL_PARAMS} mac_addr=${WLANADDR} && \
|
||||||
|
log "Wi-Fi activated" && exit 0
|
||||||
|
|
||||||
|
log "[ERROR] cannot load Wi-Fi driver"
|
||||||
|
exit 1
|
||||||
Loading…
Reference in New Issue