[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200218163515.rxdvv5ponu2ndwn7@earth.universe>
Date: Tue, 18 Feb 2020 17:35:15 +0100
From: Sebastian Reichel <sebastian.reichel@...labora.com>
To: Tony Lindgren <tony@...mide.com>
Cc: Peter Ujfalusi <peter.ujfalusi@...com>,
Mark Brown <broonie@...nel.org>,
Liam Girdwood <lgirdwood@...il.com>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>, alsa-devel@...a-project.org,
linux-kernel@...r.kernel.org, linux-omap@...r.kernel.org,
Aaro Koskinen <aaro.koskinen@....fi>,
"Arthur D ." <spinal.by@...il.com>,
Jarkko Nikula <jarkko.nikula@...mer.com>,
Merlijn Wajer <merlijn@...zup.org>, Pavel Machek <pavel@....cz>
Subject: Re: [PATCH] ASoC: ti: Allocate dais dynamically for TDM and audio
graph card
Hi,
On Tue, Feb 18, 2020 at 06:19:05AM -0800, Tony Lindgren wrote:
> * Sebastian Reichel <sebastian.reichel@...labora.com> [200218 06:05]:
> > On Fri, Feb 14, 2020 at 09:09:46AM -0800, Tony Lindgren wrote:
> > > * Sebastian Reichel <sre@...nel.org> [200214 13:05]:
> > > > On Thu, Feb 13, 2020 at 05:34:54PM -0800, Tony Lindgren wrote:
> > > > > And bluetooth would be similar to cpcap_audio and mot_mdm6600_audio
> > > > > above.
> > > >
> > > > My understanding is, that CPU is not involved for calls (except for
> > > > setting up cpcap registers correctly). Basically McBSP3 should
> > > > remain idle for a call and data goes directly from modem to cpcap.
> > > > The same should work for modem <-> BT, except that CPCAP seems to
> > > > always provide the clock. That would imply a direct link between
> > > > modem and codec / BT?
> > >
> > > Yes the direct link is i2s. I'm ot sure if mcbsp can be idle during
> > > voice call though, I guess it should be doable since mcbsp is not
> > > the clock master :)
> > >
> > > > > My guess is that only cpcap registers and clock rate needs to be
> > > > > changed for bluetooth audio BTW, so if somebody havs a bluetooth
> > > > > headset just do the following in Android:
> > > > >
> > > > > # cpcaprw --all > /tmp/before
> > > > > configure bluetooth headset for audio in android and start
> > > > > playing some music or make a phone call
> > > > > ...
> > > > > # cpcaprw --all > /tmp/after
> > > > > stop playing music or phone call
> > > > > ...
> > > > > diff -u /tmp/before /tmp/after
> > > > >
> > > > > The registers will be different for a bluetooth phone call and
> > > > > playing music.
> > > >
> > > > I can provider register values once I find some time.
> >
> > [NI] Normal idle (no BT headset connected)
> > [BI] Bluetooth idle (with BT headset connected)
> > [BC] Bluetooth call in progress
> > [NC] Normal call in progress (BT headset disabled)
> >
> > [NI] => [BI] => [BC] => [NC]
> > CPCAP_REG_VAUDIOC 0x0065 => 0x0065 => 0x0065 => 0x0025
> > CPCAP_REG_CC 0x0000 => 0x0000 => 0x6000 => 0x60df
> > CPCAP_REG_CDI 0x0040 => 0x0000 => 0xaa40 => 0xae0a
> > CPCAP_REG_SDAC -------------- 0x0000 --------------
> > CPCAP_REG_SDACDI -------------- 0x0004 --------------
> > CPCAP_REG_TXI 0x0804 => 0x0004 => 0x0000 => 0x0cc6
> > CPCAP_REG_TXMP 0x079c => 0x079c => 0x0400 => 0x0673
> > CPCAP_REG_RXOA 0x0000 => 0x0000 => 0x0001 => 0x0001
> > CPCAP_REG_RXVC 0x0d34 => 0x0d34 => 0x0000 => 0x0b2c
> > CPCAP_REG_RXCOA 0x0000 => 0x0000 => 0x0000 => 0x0601
> > CPCAP_REG_RXSDOA 0x0000 => 0x0000 => 0x0600 => 0x0600
> > CPCAP_REG_RXEPOA -------------- 0x0400 --------------
> > CPCAP_REG_RXLL -------------- 0x0000 --------------
> > CPCAP_REG_A2LA -------------- 0x0030 --------------
> > CPCAP_REG_MIPIS1 -------------- 0x0000 --------------
> > CPCAP_REG_MIPIS2 -------------- 0x0000 --------------
> > CPCAP_REG_MIPIS3 -------------- 0x0000 --------------
> > CPCAP_REG_LVAB -------------- 0x0000 --------------
>
> Great thanks! Care to do also a dump just playing music to on
> bluetooth headset at some point?
AFAIK BT music is usually done via A2DP using the data connection,
but I can get a register dump to make sure. I guess the more
interesting bit would be to use BT headset for a VOIP call, which
requires the headset profile being routed to the CPU.
-- Sebastian
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists