Lines Matching full:dmic
2 * dmic.c -- SoC audio for Generic Digital MICs
33 struct dmic { struct
41 struct dmic *dmic = snd_soc_component_get_drvdata(component); in dmic_aif_event() argument
45 if (dmic->gpio_en) in dmic_aif_event()
46 gpiod_set_value(dmic->gpio_en, 1); in dmic_aif_event()
48 if (dmic->wakeup_delay) in dmic_aif_event()
49 msleep(dmic->wakeup_delay); in dmic_aif_event()
52 if (dmic->gpio_en) in dmic_aif_event()
53 gpiod_set_value(dmic->gpio_en, 0); in dmic_aif_event()
61 .name = "dmic-hifi",
75 struct dmic *dmic; in dmic_component_probe() local
77 dmic = devm_kzalloc(component->dev, sizeof(*dmic), GFP_KERNEL); in dmic_component_probe()
78 if (!dmic) in dmic_component_probe()
81 dmic->gpio_en = devm_gpiod_get_optional(component->dev, in dmic_component_probe()
83 if (IS_ERR(dmic->gpio_en)) in dmic_component_probe()
84 return PTR_ERR(dmic->gpio_en); in dmic_component_probe()
87 &dmic->wakeup_delay); in dmic_component_probe()
89 snd_soc_component_set_drvdata(component, dmic); in dmic_component_probe()
95 SND_SOC_DAPM_AIF_OUT_E("DMIC AIF", "Capture", 0,
98 SND_SOC_DAPM_INPUT("DMic"),
102 {"DMIC AIF", NULL, "DMic"},
145 MODULE_ALIAS("platform:dmic-codec");
148 {.compatible = "dmic-codec"},
154 .name = "dmic-codec",
162 MODULE_DESCRIPTION("Generic DMIC driver");