Hi Kevin, let me try and explain a little.
The general I2S signal is pretty much the same for all - there is data being sent from the Pi to the pins and a clock signal which indicated when the data is valid.
An I2S DAC takes these signals and reads the data based on the clock signals.
What the DAC does with the digital signal from input to output is very much DAC specific but out the end you get analog signals.
Each DAC device offers various features, some are pretty featureless - like the TI PCM5102A as used in many of the DACs we find for the Pi. Others offer additional features (like hardware volume control / EQ / etc. etc.) but the control of these features is not something which is done using I2S, rather these DAC features may be controlled over I2C or SPI.
So basic DAC boards which use the same basic DAC offering no additional features are likely to work using the same linux drivers.
More sophisticated DAC boards will use the control signals (i2c or SPI) so will need to have a specific linux driver which aligns to these features and on i2c, each device is at a particular address. So the Driver for the IQaudio PCM5122 based DACs will only work with another similar board if the developer has used the same i2c address and PCM5122.
So although i2s itself is pretty generic, each board needs a driver and each DAC needs a driver too. For our Pi-Accessories these are:
raspberrypi/linux/sound/soc/codecs/pcm512x.c
and
raspberrypi/linux/sound/soc/bcm/iqaudio-dac.c
The effort of getting this all going from scratch can be a challenge and takes time and effort on the first to implement the solution.
Other vendors can then take advantage of others hard work and piggy back onto already developed drivers (as you have experienced). But that’s the world of open source and we contribute for the greater good
For the Pi you will see int the sound/soc/bcm directory that there aren’t that many board drivers around.
If you look at each card’s /etc/modules content will help you link codec to board driver too.
Hope that helps?
Gordon@iqaudio.com