Hi,
A few things for the meeting in Helsinki. The first two are sessions I can host if there is interest. The other one is a request for discussion.
1. Introduction the Linux IIO framework in the context of the media controller framework
The Linux IIO framework is a framework that handles all kind of sensors and converters (like gyroscopes, temperature sensors, precession ADC/DACs, high-speed ADC/DAC, ...). As processing pipelines get more complicated the data flow topology does not necessarily match the control topology. Also there is a trend to towards more integrated solutions which include complex internal processing pipelines in a single chip. For both cases in order for userspace applications to make sense of these setups it is necessary to export the data flow topology. Instead of implementing a custom API the idea is to integrate into the media controller framework. This session will give a quick introduction to the IIO framework and explain its requirements from the media controller framework.
2. Introduction to ALSA/ASoC in the context of media controller framework
ALSA is the Linux audio framework and ASoC is a componentizied subsystem in ALSA similar to the subdev subsystem in V4L. This session will do a quick introduction of the basics of both and of ASoC in particular in the context of the media controller framework, giving a overview of the terminology used as well as the internal structuring.
3. How to handle time division multiplexed (TDM) pipelines
In a TDM pipeline multiple logically independent channels share the same physical channel but are offset in series in time. A pipeline might be only partially TDMed, meaning some parts of the pipeline process data in series while other parts of the pipeline process data in parallel. Special blocks take care of doing the parallel-to-serial and serial-to-parallel conversion.
How to model such a pipeline both in the media controller framework (which is supposed to represent the logical topology [or should it?]) as well as the associated devicetree bindings (which are supposed to represent the physical topology) and how to map between the two.
- Lars