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!