On Tue, Mar 13, 2012 at 06:23:50PM -0500, Timur Tabi wrote:
sound { compatible = "fsl,imx51-babbage-sgtl5000", "fsl,imx-audio-sgtl5000"; model = "imx51-babbage-sgtl5000"; ssi-controller = <&ssi1>; audio-codec = <&sgtl5000>; mux-int-port = <1>; mux-ext-port = <3>; };
How does this handle multiple SSIs, each connected to its own codec?
With this card those would just be separate CODECs. This is a binding for a simple card.
And where's the binding for the DMA controller?
The DMA controller is transparently instantiated on Tegra systems, there really isn't a meaningfully separate DMA controller - the I2S controller specifies the signal to use. Currently the card takes care of the ASoC level driver stuff but it really should be done by the I2S controller.
I honestly don't see how this is an improvement over what I came up with.
The biggest improvement is that the SoC binding knows nothing about the card binding at all, cards are completely separate and are free to define any binding they choose using any number of on-SoC and off-SoC devices.