Hi,
On Thu, Feb 20, 2020 at 04:15:22PM +0200, Peter Ujfalusi wrote:
I suppose in the end its a question if generic card can provide TDM support.
Sure it can, but can it handle the switching between the paths based on use cases? There should be machine level DAPM widgets to kick codec2codec (MDM6600
- CPAC_voice for example) and also to make sure that when you switch
between them the system is not going to get misconfigured. Switching between CPAC and BT route during call? Not allowing VoIP while on call, etc.
I think the main issue is, that based on the route configuration (which could be a simple DAPM widget generated by the simple-graph-card), we may need to configure different bitrates. Tony's hack adding this knowledge to the cpcap driver is very ugly.
In case of B/C you should not have a running stream imho.
I would expect, that MDM6600 codec marks itself as running/stopped based on call state. That should enable DAPM widgets automatically when CPCAP_voice is routed to MDM6600?
In all cases CPCAP_voice should be able to run the clocks on i2s, even if it is not used by the audio setup. Not sure if you can just turn Wl1285 as master, but it is possible that it is master, but silent when it is not used?
I provided CPCAP registers for BT call, which should be enough to figure this out (I did not yet analyze the results myself).
I got the datasheet from NXP (thanks for the pointer!), I try to look at it in a coming days.
FWIW the datasheet is not for the same chip, but for a similar one. The audio part seems to be very similar though.
-- Sebastian