On Fri, Jan 15, 2021 at 05:15:53PM +0000, Srinivas Kandagatla wrote:
On 15/01/2021 16:49, Stephan Gerhold wrote:
Right now it declares just a single DAI, but multiple "ports":
enum lpaif_i2s_ports { IPQ806X_LPAIF_I2S_PORT_CODEC_SPK, IPQ806X_LPAIF_I2S_PORT_CODEC_MIC, IPQ806X_LPAIF_I2S_PORT_SEC_SPK, IPQ806X_LPAIF_I2S_PORT_SEC_MIC, IPQ806X_LPAIF_I2S_PORT_MI2S, };
static struct snd_soc_dai_driver ipq806x_lpass_cpu_dai_driver = { .id = IPQ806X_LPAIF_I2S_PORT_MI2S, /* ... */ };
I suppose we could just declare this as MI2S_PRIMARY but not sure if that is accurate. Do you have more information about this platform?
Looking at the specs it does show that it has 0-4 total 5 I2S interfaces, however Am unable to find a proper name similar to other MI2S. This one is the last one (4)!
I'm still a bit unsure how this would fit into the shared lpass.h dt-bindings, given that we need MI2S_PRIMARY, etc for MSM8916/SC7810 but some different ones for IPQ806X.
But I would also need to check how to implement .of_xlate_dai_name first for example, so I think it's easier if you can prepare a patch to implement your idea. I would be happy to test it. :)
Then we can just drop this patch set, I don't mind.
Thanks! Stephan