Liam Girdwood wrote:
This maps the WM8731 codec to an imaginary PowerPC 5200 based machine using PSC3 for I2S audio. It would be preferable to only probe the parent device and not the children, although I'm not sure if this is possible using this model. ASoC works on other SoC by being a platform device.
Yeah, getting a cross-platform driver to work on PowerPC and non-PowerPC architectures is ... difficult.
Please let me know if I'm way off here. The device tree looks like an elegant solution for machine initialisation/description.
I'm going to study this and run it by others in my department (we handle all the Linux architectural issues for Freescale SOCs). I can tell you that you're very close, but it will require some tweaks. Off the top of my head, I see a few problems:
1) The I2C addresses are specified in a separate I2C node 2) I don't know much about the 5200, but on my part, the DMA operations are provided by the I2S device. We don't use the generic DMA engine. 3) The register mapping for the I2S device normally occurs inside the SOC node, not here. We'd probably need to use some kind of cross-link to represent that.