On 12/12/2018 2.19, Tony Lindgren wrote:
- Kuninori Morimoto kuninori.morimoto.gx@renesas.com [181211 23:16]:
Hi Tony
The issue I have with that it does not then follow the binding doc :)
See this part in Documentation/devicetree/bindings/graph.txt:
"If a single port is connected to more than one remote device, an 'endpoint' child node must be provided for each link."
Isn't the I2C TDM case the same as "single port connecected to more than one remote device" rather than multiple ports?
To me it seems we're currently only handling the multiple ports case, and not multiple endpoints for a port. Other than fixing that, things should work just as earlier with my two patches. That is unless I accidentally broke something.
So just trying to correct the binding usage. Or am I missing something?
I'm not 100% sure your "I2C TDM case", but you can check multi-endpoint sample on "Example: Multi DAI with DPCM" below. "pcm3168a" is using multi-endpoint. Does this help you ?
Hmm, so do you have multiple separate ports at the "&sound" node hardware? If so then yeah multiple ports make sense.
But if you only a single physical (I2S?) port at the "&sound" node hardware, then IMO you should only have one port and multiple endpoints there according to the graph.txt binding doc.
In my McBSP case there is only a single physical I2S port that can be TDM split into timeslots.
So what is missing from the McBSP driver is to configure the TDM. We never had a hardware which would require it so it is _not_ implemented.
imho the 'only' thing is to implement the set_tdm_slot callback for the McBSP DAI. In DT you would have single card with two dai_link section and each section would set different tdm slots to use for the codecs listening on different slots.
There is one issue for sure with this setup: the two PCM can not be used at the same time. But we have one DMA channel so if you would open both the PCM stream need to be set up in a way to match with the HW or create a asound.conf file to do some mapping.
Regards,
Tony
- Péter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki