Other Parts Discussed in Thread: TLV320AIC3106
Tool/software: Linux
Hi,
We have a design using an AM335x processor and 3 x TLV320AIC3106 codecs interfaced using a McASP in TDM mode. The topology appears to be similar to the multi-codec case described in SPRAC09A (http://www.ti.com/lit/an/sprac09a/sprac09a.pdf.
We have a 4.14.x kernel build and are hoping to use the simple-audio-card driver, however even with the multi-codec additions to ALSA, our analysis is that there are still some limitations to being able to use this, namely:
Single Codec Limitation:
- Primarily, it doesn’t appear possible to configure multiple codecs in a single DAI link for single-card
- It appears there was an aborted attempt to use add this support, http://mailman.alsa-project.org/pipermail/alsa-devel/2014-September/081044.html
Codec Timeslot Mask Configuration:
- Even if the proposed support were added, there doesn’t appear to be an agreed way to configure the TDM masks for each of the codecs
Widget, Control and Route Name Conflict:
- While it appears possible within ALSA to prefix a codec instance with a prefix via codec_conf, it doesn’t appear to have been considered in the proposed support
- Without the codec prefixing, widget, control and route names of each codec will conflict
Do TI have some recommended approach to support this topology? It would appear that a custom machine driver is required.
SPRAC09A seems to the topology is feasible, however its unclear if a custom machine driver was used. There has been some discussion of using simple-card in recent threads (e.g. https://e2e.ti.com/support/arm/sitara_arm/f/791/p/628563/2324371), has it been extended, or is there ongoing work to extend it?
Alternatively, are there alternate DTS configurations of the topology, e.g. multiple sounds cards or multiple DAI-link definitions sharing the McASP?
Lastly, do you have any recommendation for master assignment in this configuration? Is assigning the first codec as the master a viable configuration, or is it better to assign the CPU as the master?
Regards,
Paul