i.MX6 Android L5.1.1_2.1.0-ga Bluetooth profile.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6 Android L5.1.1_2.1.0-ga Bluetooth profile.

Jump to solution
3,484 Views
satoshishimoda
Senior Contributor I

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

Labels (6)
Tags (1)
0 Kudos
1 Solution
1,272 Views
jimmychan
NXP TechSupport
NXP TechSupport

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:

  • A2DP Source
  • A2DP Sink
  • HID
  • OPP
  • PBAP
  • AVRCP
  • PAN
  • FTP
  • BLE Host

View solution in original post

0 Kudos
4 Replies
1,273 Views
jimmychan
NXP TechSupport
NXP TechSupport

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:

  • A2DP Source
  • A2DP Sink
  • HID
  • OPP
  • PBAP
  • AVRCP
  • PAN
  • FTP
  • BLE Host
0 Kudos
1,272 Views
jimmychan
NXP TechSupport
NXP TechSupport

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

0 Kudos
1,272 Views
satoshishimoda
Senior Contributor I

Dear jimmychan,

Would you give me a reply to the above my confirmation?

Best Regards,

Satoshi Shimoda

0 Kudos
1,272 Views
satoshishimoda
Senior Contributor I

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

0 Kudos