This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

WL1271 BT: sharing the audio PCM bus with a 3rd device

Other Parts Discussed in Thread: WL1271, DM3730, BL6450

Hi,

with DM3730 and the WL1271 module by LSR, can I share the BT audio PCM/TDM link between the processor and WL1271 (McBSP3) with a 3rd device?

To achieve this, I must have the freedom to freely allocate the active time slots on the PCM link.  Is this handled by the linux driver and by the firmware of wl1271?
Where shall I look at?

Ideally, I'd like to use one single data pin of the McBSP, muxing the rx and tx data on different time slots.

Best regadrs
Massimo

  • Hi Massimo,

    Let me explain the existing setup on OMAP3 EVM;

    On the EVM for omap35x/am37x/dm37x with WL1271 daughter card, CODEC interface of the WL1271 is interfaced with MCBSP1 port. This interface is used for Bluetooth SCO profiles, ie. profiles those who rely on ACL do not use this interface and they go for HCI (UART) interface.  Currently, WL1271 CODEC interface is configured (in firmware/ Bluez command) as follows;
    1. When in use the WL1271 CODEC is master of the PCM bus (clock is driven by the WL1271).
    2. Data are transmitted to the WL1271 via mcbsp1_dx pin and data from the WL1271 received on the mcbsp1_dr pin
    3. Configured for 2 channels via HCI command (can be configured for either one or two channels)
    For testing above configuration, alsa driver sound/soc/codecs/wl1271bt.c included in common/patches/PSP-linux-03.00.01.06-wl1271-support.patch is used along with BT HSP demo (http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/ecs/WL1271_Linux_SDK/3_00_01_06/index_FDS.html).

    Please correct me if i am wrong;
    1. Since the McBSP provides a full-duplex interface between the device and other devices in a system, dx and dr pins need to be used.
    2. Using one single data pin of the McBSP, muxing the rx and tx data on different time slots is not possible.
    3. Multiple devices share common dx & dr pins and each device  take their share according to the clock signal. All device need to be configured properly (For  WL1271, use TI's HCI commands). In this TDM mode, only one device transmits on dx pin during it's time-slot and others are tri-stated.

    Regards,

    Sinoj

     

  • Sinoj,

    in principle with the McBSP, you can  conecting together dx and rx, of course trasmitting and receiving on different time slots of a tdm bus.

    The AM37/DM37 implementation of McBSP includes the support for multichannel, so each channel (==time slot) can be independently enabled for Tx or Rx.
    TX disabled channels are in high impedance state, according to the TRM.

    I'm not familiar with TI's HCI comands. Where can I find some information about it?

    Thanks, Best Regards
    Massimo

     

  • Hi Massimo,

    Yes, OMAP3 McBSP TRM says that dx pin can be used in half duplex mode. However, not sure that the WL1271 can do the same. I was referring to Bluetooth (BL6450(L)/WL127x(L)/NL5500/WL128x) Vendor-Specific HCI Commands User's Guide and WiLink 6.0 WL1271 features document. I do not have a link where these documents are openly available to everyone.

    Best Regards,

    Sinoj