Hi Daniel,
On 28/01/2020 17.14, Daniel Baluta wrote:
Hi Peter,
Liam mentioned that at some point (when working for OMAP) you might have had the same challenge I'm facing now.
Sorry for the delay...
I'm trying to figure out how to properly manage resources needed by the IPs configured by DSP.
On i.MX8 we the following scenario:
- Application processor (arm64) exposes an ALSA sound card to applications
- DSP (Hifi4) does the processing
DSP has direct access to DAI registers but it doesn't have (easily) access to other resources like: pinctrl, power-domain, clocks, etc.
I was wondering how did you tackled this for OMAP?
It is (was, as the AESS/ABE support is not upstream) bit different.
From the audio backend we do not touch the DAI registers, all setup is
done on the Linux side and the AESS 'only' managing the data flow.
So the back-ends are the DAIs and they are managed by Linux, the front-end is AESS. DAIs are configured by fixing up the hw_params for them in the AESS (front-end) stack, so they are configured correctly for the use case.
It was pre DPCM, but the foundation was the same.
I have already created a dummy CPU DAI on Linux that it will take care of this [1].
It is a part of a Back End link like this (simplified view):
links[i].cpus->name = "dummy_dai"; links[i].platforms->name = "dsp"; links[i].codecs->name = "cs42888"; links[i].no_pcm = 1;
It works pretty well for basic playback / capture.
thanks, Daniel.
- Péter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki