[alsa-devel] Question about SND_SOC_DAIFMT_xB_xF
Hi Mark
I would like to ask you about SND_SOC_DAIFMT_xB_xF. Are these flags for based on "required format" ? or "default HW behavior" ?
For example, if some data format requests that data is sent from "rising edge", but HW send data from "falling edge" in default setting. This case, HW should use inverted edge. Then, should HW send it by SND_SOC_DAIFMT_NB_NF (= based on required format) ? or SND_SOC_DAIFMT_NB_IF (= based on default HW behavior) ?
On 07/31/2014 04:01 AM, Kuninori Morimoto wrote:
r example, if some data format requests that data is sent from "rising edge", but HW send data from "falling edge" in default setting. This case, HW should use inverted edge. Then, should HW send it by SND_SOC_DAIFMT_NB_NF (= based on required format) ? or SND_SOC_DAIFMT_NB_IF (= based on default HW behavior) ?
The same set of settings passed to snd_soc_dai_set_fmt() must for all drivers result in the same waveforms. Otherwise interoperability is pretty hard to archive. This means the clock invert settings are always be relative to the selected DAI format (I2S, LJ, RJ, ...). The hardware default of the specific IP that the driver was written for does not matter in this case.
Hi Lars
r example, if some data format requests that data is sent from "rising edge", but HW send data from "falling edge" in default setting. This case, HW should use inverted edge. Then, should HW send it by SND_SOC_DAIFMT_NB_NF (= based on required format) ? or SND_SOC_DAIFMT_NB_IF (= based on default HW behavior) ?
The same set of settings passed to snd_soc_dai_set_fmt() must for all drivers result in the same waveforms. Otherwise interoperability is pretty hard to archive. This means the clock invert settings are always be relative to the selected DAI format (I2S, LJ, RJ, ...). The hardware default of the specific IP that the driver was written for does not matter in this case.
OK, I see Thank you for your explain
Best regards --- Kuninori Morimoto
participants (2)
-
Kuninori Morimoto
-
Lars-Peter Clausen