23 Aug
2022
23 Aug
'22
3:05 p.m.
Amadeusz Sławiński amadeuszx.slawinski@linux.intel.com 于2022年8月12日周五 23:20写道:
On 8/11/2022 4:49 PM, Ban Tao wrote:
The Allwinner H6 and later SoCs have an DMIC block which is capable of capture.
Signed-off-by: Ban Tao fengzheng923@gmail.com
...
+#define SUN50I_DMIC_RATES (SNDRV_PCM_RATE_8000_48000)
Seeing supported rates in hw_params callback, you probably want to take a look at SNDRV_PCM_RATE_KNOT?
No, I don't need SNDRV_PCM_RATE_KNOT. Dmic does not support unknown rates.
+#define SUN50I_DMIC_FORMATS (SNDRV_PCM_FMTBIT_S16_LE |
SNDRV_PCM_FMTBIT_S24_LE)
+static struct snd_soc_dai_driver sun50i_dmic_dai = {
.capture = {
.channels_min = 1,
.channels_max = 8,
.rates = SUN50I_DMIC_RATES,
.formats = SUN50I_DMIC_FORMATS,
.sig_bits = 21,
},
.probe = sun50i_dmic_soc_dai_probe,
.ops = &sun50i_dmic_dai_ops,
.name = "dmic",
+};
...