Re: omap4-droid4: voice call support was Re: [PATCHv5,5/5] ARM: dts: omap4-droid4: add soundcard

From: Sebastian Reichel
Date: Wed Mar 28 2018 - 10:02:33 EST


Hi,

On Wed, Mar 28, 2018 at 10:29:10AM +0800, Mark Brown wrote:
> On Wed, Mar 28, 2018 at 12:22:37AM +0200, Sebastian Reichel wrote:
> > On Tue, Mar 27, 2018 at 08:14:41PM +0800, Mark Brown wrote:
>
> > > No, this is exactly the sort of use case with multiple DAIs that the
> > > graph card is intended to enable over the old simple-card.
>
> > +----------+ +-------------+
> > | OMAP4 | | CPCAP |
> > | | | |
> > | [McBSP2] | <-----> | [HiFi DAI] |
> > | | | |
> > | [McBSP3] | <--+--> | [Voice DAI] |
> > | | | | |
> > +----------+ | +-------------+
> > |
> > +----------+ | +-------------+
> > | MDM6600 | | | WL1285 |
> > | | | | |
> > | [DAI] | <--+--> | [DAI] |
> > | | | |
> > +----------+ +-------------+
>
> > Legend:
> > OMAP4 = SoC running Linux
> > CPCAP = Audio codec
> > MDM6600 = Baseband
> > WL1285 = Bluetooth
>
> > Re-reading the audio-graph-card binding document I still don't see
> > how the network (OMAP.McBSP3, CPCAP.Voice, MDM6600, WL1285) is
> > supposed to look like. It seems to expect point-to-point DAI
> > connections.
>
> Ugh, a TDM mux?

Yes, at least that's how I understood Motorola's code.

> That's really unusual and not particularly supported yet, you'd
> need to extend the graph card to do it. It's where things should
> end up for a generic card though.

Motorola's driver provided the following modes:

OMAP4 <-> CPCAP (voice recording)
MDM6600 <-> CPCAP (voice call, CPU not involved)
OMAP4 <-> WL1285 (bluetooth HFP/HSP)
MDM6600 <-> WL1285 (bluetooth voice call)

In case of the last two variants, the bus clock is provided by
CPCAP, so it needs to be enabled for any audio stream. I suppose
the codec <-> codec as part of TDM is out of scope for the graph
card and we need a Droid 4 specific card driver?

-- Sebastian

Attachment: signature.asc
Description: PGP signature