BlueZ is the official Linux Bluetooth stack as well as Android. It
provides support for core Bluetooth layers and protocols. We use it to provide Bluetooth
profiles on GB86XX and it consists of following components:
HCI Core
HCI UART, USB and Virtual HCI device drivers
L2CAP protocol module
Configuration and testing utilities
Figure 1. BlueZ Overview Diagram
In our case, we use UART as the Host Controller Interface (HCI)
and AP6XXX is the Bluetooth Hardware in figure above.