JODY-W2 - System integration manual
UBX-18068879 - R14
Software
Page 38 of 84
C1 - Public
Wi-Fi driver architecture
JODY-W2 module software includes a dedicated Wi-Fi reference driver that has both Wireless
Extension (WEXT) and Netlink-based (nl80211/cfg80211) driver configuration interfaces.
Wi-Fi driver implementation is spread between the kernel modules,
sd8987
and
mlan
, where:
•
sd8987
implements the OS specific bindings. It provides an interface to kernel and protocol stack.
It takes care of operations related to sockets, bus interface, IOCTLs, and so on.
•
mlan
is an OS independent module which handles chip-specific functions such as firmware
downloading, command handling, data-path handling, power-save, and so on.
shows basic architecture of the Wi-Fi driver.
Figure 12: Basic Wi-Fi host driver and firmware architecture
Bluetooth driver architecture
The standard Bluetooth protocol stack in Linux is provided by BlueZ. The reference driver provides a
Bluetooth driver for the JODY-W2 series module. It is a client driver that runs on top of the MMC/SDIO
bus driver and performs the following:
1.
Forwards data and commands between the upper protocol stack layers and the firmware
2.
Handles some private commands used in handshake between the driver and firmware only
The host system can access JODY-W2 modules either through the SDIO or UART interface -
depending on the host interface chosen, as described in