Hi community,
Our partner have a question about i.MX6 android BSP.
Please see the Bluetooth feature in Table 2 of Android Release Notes for L5.1.1_2.1.0-ga.
They want to know whether the supported profiles (A2DP Source, A2DP Sink, HID, etc...) are implemented by Bluedroid, or BlueZ same as L3.14.52 Linux BSP.
Which implements the profiles?
If Bluedroid implements them, would you let me know whether SPP (Serial Port Profile) is implemented or not also?
Best Regards,
Satoshi Shimoda
Solved! Go to Solution.
After study this : How to enable BT on board imx6q_sabresd RevC.
Bluez is no longer be used in Android since Jelly Bean 4.2.
And the profiles supported in L5.1.1_2.1.0-ga:
After study this : How to enable BT on board imx6q_sabresd RevC.
Bluez is no longer be used in Android since Jelly Bean 4.2.
And the profiles supported in L5.1.1_2.1.0-ga:
According to the Linux BSP (L4.1.15_1.1.0) Linux reference manual Chapter 55, there is the information about BCM4339 BT driver.
Chapter 55 Bluetooth® BCM4339 Driver
55.1 Bluetooth Introduction
Bluetooth technology is low-cost, low-power, short-range wireless technology. It was designed as a replacement for cables and other short-range technologies like IrDA. Bluetooth wireless technology operates in personal area range that typically extends up to
10 meters. For more information about Bluetooth wireless technology, see www.bluetooth.com/.
55.2 Hardware Operation
The officially supported Bluetooth wireless chip with Freescale BSP is BCM4339 from Broadcom. The Broadcom® BCM4339 single-chip device provides the highest level of integration for a mobile or handheld wireless system with integrated single stream IEEE 802.11ac MAC/baseband/radio, Bluetooth 4.1, and FM radio receiver. For the Bluetooth section, i.MX host interface is a high-speed 4-wire UART with flow control.
55.3 Software Operation
55.3.1 Bluetooth Driver Overview
FSL BSP uses the open source bluetooth driver from kernel 3.14.52 for BCM4339. The Bluetooth software is divided into four parts as follows:
• 4-wire UART and TTY driver: It is the communication interface with the Bluetooth module.
• Bluetooth HCI device driver: UART (H4) is a serial protocol for communication between the Bluetooth device and host. This protocol is required for most Bluetooth devices with the UART interface.
• Bluetooth kernel stack: Bluetooth framework and protocols implementation.
• Bluetooth user stack: Supplies several user-space utilities and integrate many profiles for use cases.
55.3.2 Bluetooth Driver Files
The Bluetooth driver source files are available in the kernel source directory.
• Bluetooth HCI device driver:
• <Yocto_BuildDir>/linux/drivers/bluetooth/hci_h4.c
• <Yocto_BuildDir>/linux/drivers/bluetooth/hci_ldisc.c
• Bluetooth kernel stack:
• <Yocto_BuildDir>/linux/net/bluetooth/*
55.3.3 Bluetooth Stack
BlueZ is the official Linux standard Bluetooth protocol stack, it is the latest version of 5.x and it is a Bluetooth stack for Linux kernel-based family of operating systems. Its goal is to program an implementation of the Bluetooth wireless standards specifications for Linux. To use Linux Bluetooth subsystem, you need several user-space utilities like hciconfig and bluetoothd. These utilities and updates to Bluetooth kernel modules are provided in the BlueZ packages. For more information, see www.bluez.org/. BlueZ source code are available in the git: git://git.kernel.org/pub/scm/bluetooth/bluez.git. The current BSP package test pass with BlueZ 5.28.
55.3.4 Menu Configuration Options
The following Linux kernel configuration option is provided for this module:
• UART interface:
• CONFIG_SERIAL_IMX
• CONFIG_TTY
• HCI interface:
• CONFIG_BT_HCIUART
• CONFIG_BT_HCIUART_H4
• Bluetooth Stack:
• CONFIG_BT
• CONFIG_BT_RFCOMM
• CONFIG_BT_RFCOMM_TTY
• CONFIG_BT_BNEP
• CONFIG_BT_BNEP_MC_FILTER
• CONFIG_BT_BNEP_PROTO_FILTER
• CONFIG_BT_HIDP
Dear jimmychan,
Would you give me a reply to the above my confirmation?
Best Regards,
Satoshi Shimoda
Dear jimmychan,
Thank you for your reply.
According to your reply, Android BSP also uses Bluetooth driver even though Android BSP includes Bluedroid directory /external/bluetooth/bluedroid, right?
Best Regards,
Satoshi Shimoda