Hi,
The documentation from this part is basically ..... useless (and usually slows you with erroneous parts). An example:
clock-names = "axi", "i2s";
This line define the clocks for devm_clk_get on the Device Tree, if you check the driver (axi-i2s.c 3.15.x):
204 i2s->clk = devm_clk_get(&pdev->dev, "axi");
205 if (IS_ERR(i2s->clk))
206 return PTR_ERR(i2s->clk);
207
208 i2s->clk_ref = devm_clk_get(&pdev->dev, "ref");
209 if (IS_ERR(i2s->clk_ref))
210 return PTR_ERR(i2s->clk_ref);
So you need to change your DT to something like this: clock-names = "axi", "ref";
This make the driver to claim the clock and finalize the probe function but you're a long way to make it work.
I've got something functional with alsa and all controls (I can't use the xilly trick with pulseaudio and the fifo devices), but I'm out of time to sanitize the code. If you can wait some days ... there is hope ,D
Gerds,
GG.