The wireless variant of the ConnectCore 8M Nano SOM integrates a Qualcomm Qualcomm QCA6564 wireless chipset with the following features:
-
Bluetooth 5.0, ANT+, backwards compatible with Bluetooth 4.2, 4.1, 4.0, 3.x, 2.x, and 1.0
-
Bluetooth and WLAN coexistence
Digi Embedded Yocto defines the dey-bluetooth feature that builds the bluez5 package for working with the Bluetooth interface. This package installs all the required libraries and tools to use Bluetooth.
Digi Embedded Yocto supports the core specification 5.0 (GAP, L2CAP, RFCOMM, SDP, GATT), including Classic Bluetooth and Bluetooth Smart (Low Energy). The Linux Bluez stack supports additional Bluetooth Classic and Low Energy profiles that are not specifically validated. See the Bluez documentation for details.
If you own a Bluetooth-capable ConnectCore 8M Nano but you don’t need to use Bluetooth, see Disable Bluetooth for instructions on disabling the interface. |
Kernel configuration
The Bluetooth interface is managed by the following kernel configuration options:
-
HCI UART driver (CONFIG_BT_HCIUART)
-
UART (H4) protocol support (CONFIG_BT_HCIUART_H4)
-
Digi Bluetooth support (CONFIG_BT_DIGI)
With the exception of the Digi Bluetooth support that is built as a module to allow you to load/unload it in runtime, these options are enabled as built-in on the default ConnectCore 8M Nano kernel configuration file.
Kernel driver
The Bluetooth driver is located at:
File | Description |
---|---|
UART (H4) protocol support |
|
Digi Bluetooth support |
Device tree bindings
The Digi-supported Bluetooth device tree bindings are documented at Documentation/devicetree/bindings/net/btdigi.txt.
U-Boot fills-in the Bluetooth MAC address inside the bluetooth
node of the device tree.
This MAC address is then programmed into the Bluetooth chip by the Digi Embedded Yocto bluez init script.
bluetooth {
/* U-Boot will fill in the MAC address here */
compatible = "digi,bluetooth-cc8x";
vin-supply = <®_rf_bt_en>;
status = "okay";
};
Bluetooth interfaces
Disable Bluetooth
Bluetooth is enabled by default on the ConnectCore 8M Nano variants that support it. To disable the Bluetooth interface, add the following lines to your platform device tree:
/* Disable Bluetooth */
&bluetooth {
status = "disabled";
};
This patch:
-
disables the
bluetooth
node of the device tree. The status of this node triggers the initialization scripts that bring up the Bluetooth interface, so these won’t start when the node is disabled.
With Bluetooth disabled, you may use that UART for other purposes, or its lines as GPIOs (this requires disabling the UART and redefining the IOMUX of the pads).