Mark,
I'm looking at enabling audio-over-HDMI on Tegra in the ChromeOS kernel. This will use the SPDIF controller as the CPU DAI. Right now, I have things working with the stub SPDIF codec (codecs/spdif_transciever.c), but to support a non-hard-coded sample rate, need a real codec driver that writes registers in the HDMI controller.
I see that a Samsung chip has such a codec in drivers/video/sh_mobile_hdmi.c. The equivalent for Tegra would be drivers/video/tegra/dc/hdmi.c. Note that this location doesn't yet exist upstream. I just wanted to confirm that this location makes sense to you, vs. implementing a codec in sound/soc/tegra/hdmi.c, and having that call functions exposed by the Tegra dc/hdmi.c driver?
Note that the SPDIF controller isn't involved in the Tegra Digital Audio Switch muxing/switching module at all.
Thanks.