I was going through your Audio DAC example:
processors.wiki.ti.com/.../Sitara_Linux_Audio_DAC_Example
and I got everything working. Then as I was studying the rest of ALSA/ASoC I found the ASoC simple card support layer (simple-card.c) which can be used to completely replace davinci-evm.c with just entries in the device tree. For example, the tutorial could be reduced to just creating the codec driver and then adding the following to your device tree:
sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,cpu {
sound-dai = <&mcasp0>;
bitclock-master;
bitclock-inversion;
frame-master;
system-clock-frequency = <24000000>;
system-clock-direction = "out";
};
simple-audio-card,codec {
sound-dai = <&pcm5102a>;
};
};
This describes to the simple card support layer how to create the DAI link between the codec and McASP. I hope this helps others!