/linux/sound/soc/ti/ |
H A D | omap-dmic.c | 3 * omap-dmic.c -- OMAP ASoC DMIC DAI driver 30 #include "omap-dmic.h" 51 static inline void omap_dmic_write(struct omap_dmic *dmic, u16 reg, u32 val) in omap_dmic_write() argument 53 writel_relaxed(val, dmic->io_base + reg); in omap_dmic_write() 56 static inline int omap_dmic_read(struct omap_dmic *dmic, u16 reg) in omap_dmic_read() argument 58 return readl_relaxed(dmic->io_base + reg); in omap_dmic_read() 61 static inline void omap_dmic_start(struct omap_dmic *dmic) in omap_dmic_start() argument 63 u32 ctrl = omap_dmic_read(dmic, OMAP_DMIC_CTRL_REG); in omap_dmic_start() 66 omap_dmic_write(dmic, OMAP_DMIC_DMAENABLE_SET_REG, in omap_dmic_start() 69 omap_dmic_write(dmic, OMAP_DMIC_CTRL_REG, ctrl | dmic->ch_enabled); in omap_dmic_start() [all …]
|
/linux/sound/soc/tegra/ |
H A D | tegra210_dmic.c | 5 // tegra210_dmic.c - Tegra210 DMIC driver 45 struct tegra210_dmic *dmic = dev_get_drvdata(dev); in tegra210_dmic_runtime_suspend() local 47 regcache_cache_only(dmic->regmap, true); in tegra210_dmic_runtime_suspend() 48 regcache_mark_dirty(dmic->regmap); in tegra210_dmic_runtime_suspend() 50 clk_disable_unprepare(dmic->clk_dmic); in tegra210_dmic_runtime_suspend() 57 struct tegra210_dmic *dmic = dev_get_drvdata(dev); in tegra210_dmic_runtime_resume() local 60 err = clk_prepare_enable(dmic->clk_dmic); in tegra210_dmic_runtime_resume() 62 dev_err(dev, "failed to enable DMIC clock, err: %d\n", err); in tegra210_dmic_runtime_resume() 66 regcache_cache_only(dmic->regmap, false); in tegra210_dmic_runtime_resume() 67 regcache_sync(dmic->regmap); in tegra210_dmic_runtime_resume() [all …]
|
/linux/sound/soc/codecs/ |
H A D | dmic.c | 3 * dmic.c -- SoC audio for Generic Digital MICs 26 struct dmic { struct 29 /* Delay after DMIC mode switch */ 37 struct dmic *dmic = snd_soc_component_get_drvdata(component); in dmic_daiops_trigger() argument 41 if (dmic->modeswitch_delay) in dmic_daiops_trigger() 42 mdelay(dmic->modeswitch_delay); in dmic_daiops_trigger() 57 struct dmic *dmic = snd_soc_component_get_drvdata(component); in dmic_aif_event() local 61 if (dmic->gpio_en) in dmic_aif_event() 62 gpiod_set_value_cansleep(dmic->gpio_en, 1); in dmic_aif_event() 64 if (dmic->wakeup_delay) in dmic_aif_event() [all …]
|
H A D | lpass-tx-macro.c | 41 /* Default divider for AMIC and DMIC clock: DIV2 */ 760 unsigned int dmic; in tx_macro_update_smic_sel_v9() local 769 dmic = TX_ADC_TO_DMIC(val); in tx_macro_update_smic_sel_v9() 770 dmic_clk_reg = CDC_TX_TOP_CSR_SWR_DMICn_CTL(dmic); in tx_macro_update_smic_sel_v9() 782 unsigned int dmic; in tx_macro_update_smic_sel_v9_2() local 786 /* MSM DMIC */ in tx_macro_update_smic_sel_v9_2() 790 dmic = TX_ADC_TO_DMIC(val); in tx_macro_update_smic_sel_v9_2() 791 dmic_clk_reg = CDC_TX_TOP_CSR_SWR_DMICn_CTL(dmic); in tx_macro_update_smic_sel_v9_2() 846 if (widget->shift) /* MSM DMIC */ in tx_macro_put_dec_enum() 919 u16 adc_mux_reg, adc_reg, adc_n, dmic; in tx_macro_enable_dec() local [all …]
|
H A D | lpass-va-macro.c | 607 u32 dmic, bool enable) in va_dmic_clk_enable() argument 616 switch (dmic) { in va_dmic_clk_enable() 646 dev_err(component->dev, "%s: Invalid DMIC Selection\n", in va_dmic_clk_enable() 721 unsigned int dmic = w->shift; in va_macro_enable_dmic() local 725 va_dmic_clk_enable(comp, dmic, true); in va_macro_enable_dmic() 728 va_dmic_clk_enable(comp, dmic, false); in va_macro_enable_dmic() 1127 SND_SOC_DAPM_MUX("VA DMIC MUX0", SND_SOC_NOPM, 0, 0, &va_dmic0_mux), 1128 SND_SOC_DAPM_MUX("VA DMIC MUX1", SND_SOC_NOPM, 0, 0, &va_dmic1_mux), 1129 SND_SOC_DAPM_MUX("VA DMIC MUX2", SND_SOC_NOPM, 0, 0, &va_dmic2_mux), 1130 SND_SOC_DAPM_MUX("VA DMIC MUX3", SND_SOC_NOPM, 0, 0, &va_dmic3_mux), [all …]
|
H A D | rt5670.c | 735 * set_dmic_clk - Set parameter of dmic. 741 * Choose dmic clock between 1MHz and 3MHz. 755 dev_err(component->dev, "Failed to set DMIC clock\n"); in set_dmic_clk() 1241 "DAC MIX", "DMIC" 1265 SOC_DAPM_ENUM("Stereo1 DMIC source", rt5670_stereo1_dmic_enum); 1271 SOC_DAPM_ENUM("Stereo2 DMIC source", rt5670_stereo2_dmic_enum); 1286 "Mono DAC MIXL", "DMIC" 1304 SOC_DAPM_ENUM("Mono DMIC left source", rt5670_mono_dmic_l_enum); 1310 SOC_DAPM_ENUM("Mono DMIC Right source", rt5670_mono_dmic_r_enum); 1323 "Mono DAC MIXR", "DMIC" [all …]
|
/linux/Documentation/devicetree/bindings/sound/ |
H A D | nvidia,tegra210-dmic.yaml | 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra210-dmic.yaml# 7 title: Tegra210 DMIC Controller 10 The Digital MIC (DMIC) Controller is used to interface with Pulse 12 Pulse Coded Modulation (PCM) signals. DMIC can be viewed as a PDM 24 pattern: "^dmic@[0-9a-f]*$" 28 - const: nvidia,tegra210-dmic 31 - nvidia,tegra234-dmic 32 - nvidia,tegra194-dmic 33 - nvidia,tegra186-dmic 34 - const: nvidia,tegra210-dmic [all …]
|
H A D | nvidia,tegra-audio-rt5677.yaml | 50 - DMIC L1 51 - DMIC L2 52 - DMIC L3 53 - DMIC L4 54 - DMIC R1 55 - DMIC R2 56 - DMIC R3 57 - DMIC R4 84 "DMIC L1", "Internal Mic 1", 85 "DMIC R1", "Internal Mic 1", [all …]
|
H A D | dmic-codec.yaml | 4 $id: http://devicetree.org/schemas/sound/dmic-codec.yaml# 7 title: Generic PDM Digital microphone (DMIC) codec 17 const: dmic-codec 23 description: GPIO specifier for DMIC to control start and stop 34 description: Delay (in ms) to complete DMIC mode switch 37 description: Delay (in ms) after enabling the DMIC 48 dmic { 49 compatible = "dmic-codec";
|
H A D | dlg,da7213.yaml | 43 dlg,dmic-data-sel: 44 description: DMIC channel select based on clock edge 47 dlg,dmic-samplephase: 48 description: When to sample audio from DMIC 51 dlg,dmic-clkrate: 52 description: DMIC clock frequency (Hz) 99 dlg,dmic-data-sel = "lrise_rfall"; 100 dlg,dmic-samplephase = "between_clkedge"; 101 dlg,dmic-clkrate = <3000000>;
|
H A D | omap-dmic.txt | 4 - compatible: "ti,omap4-dmic" 8 - interrupts: Interrupt number for DMIC 9 - ti,hwmods: Name of the hwmod associated with OMAP dmic IP 13 dmic: dmic@4012e000 { 14 compatible = "ti,omap4-dmic"; 19 ti,hwmods = "dmic";
|
H A D | allwinner,sun50i-h6-dmic.yaml | 4 $id: http://devicetree.org/schemas/sound/allwinner,sun50i-h6-dmic.yaml# 7 title: Allwinner H6 DMIC 20 - allwinner,sun20i-d1-dmic 21 - const: allwinner,sun50i-h6-dmic 22 - const: allwinner,sun50i-h6-dmic 75 dmic: dmic@5095000 { 77 compatible = "allwinner,sun50i-h6-dmic";
|
H A D | rockchip,rk3399-gru-sound.txt | 10 - dmic-wakeup-delay-ms : specify delay time (ms) for DMIC ready. 11 If this option is specified, which means it's required dmic need 12 delay for DMIC to ready so that rt5514 can avoid recording before 13 DMIC send valid data 21 dmic-wakeup-delay-ms = <20>;
|
H A D | omap-abe-twl6040.txt | 14 - ti,dmic: phandle for the OMAP dmic node if the machine have it connected 54 * DMic 66 ti,dmic = <&dmic>; 89 "DMic", "Digital Mic",
|
H A D | rt5651.txt | 16 - realtek,dmic-en 17 Boolean. true if dmic is used. 43 * DMIC L1 44 * DMIC R1 61 realtek,dmic-en = "true";
|
/linux/sound/soc/mediatek/mt8365/ |
H A D | mt8365-dai-dmic.c | 3 * MediaTek 8365 ALSA SoC Audio DAI DMIC Control 215 .name = "DMIC", 218 .stream_name = "DMIC Capture", 241 SOC_SINGLE("DMIC IIR Switch", AFE_DMIC0_UL_SRC_CON0, DMIC_TOP_CON_IIR_ON, 1, 0), 242 SOC_ENUM("DMIC IIR Mode", iir_mode), 248 SND_SOC_DAPM_INPUT("DMIC In"), 254 {"I14", NULL, "DMIC Capture"}, 255 {"I15", NULL, "DMIC Capture"}, 256 {"I16", NULL, "DMIC Capture"}, 257 {"I17", NULL, "DMIC Capture"}, [all …]
|
/linux/sound/soc/amd/acp/ |
H A D | acp-legacy-mach.c | 28 .dmic_cpu_id = DMIC, 31 .dmic_codec_id = DMIC, 38 .dmic_cpu_id = DMIC, 41 .dmic_codec_id = DMIC, 48 .dmic_cpu_id = DMIC, 51 .dmic_codec_id = DMIC, 57 .dmic_cpu_id = DMIC, 59 .dmic_codec_id = DMIC, 65 .dmic_cpu_id = DMIC, 68 .dmic_codec_id = DMIC, [all …]
|
H A D | acp-sof-mach.c | 27 .dmic_cpu_id = DMIC, 30 .dmic_codec_id = DMIC, 36 .dmic_cpu_id = DMIC, 39 .dmic_codec_id = DMIC, 45 .dmic_cpu_id = DMIC, 48 .dmic_codec_id = DMIC, 54 .dmic_cpu_id = DMIC, 57 .dmic_codec_id = DMIC, 63 .dmic_cpu_id = DMIC, 66 .dmic_codec_id = DMIC, [all …]
|
/linux/sound/soc/sdw_utils/ |
H A D | soc_sdw_dmic.c | 7 * soc_sdw_dmic - Helpers to handle dmic from generic machine driver 16 SND_SOC_DAPM_MIC("SoC DMIC", NULL), 21 {"DMic", NULL, "SoC DMIC"}, 32 dev_err(card->dev, "DMic widget addition failed: %d\n", ret); in asoc_sdw_dmic_init() 41 dev_err(card->dev, "DMic map addition failed: %d\n", ret); in asoc_sdw_dmic_init()
|
/linux/sound/soc/amd/renoir/ |
H A D | acp3x-rn.c | 3 // Machine driver for AMD Renoir platform using DMIC 22 DAILINK_COMP_ARRAY(COMP_CODEC("dmic-codec.0", 23 "dmic-hifi"))); 30 .name = "acp3x-dmic-capture", 31 .stream_name = "DMIC capture", 75 MODULE_DESCRIPTION("AMD Renoir support for DMIC");
|
/linux/sound/soc/amd/ps/ |
H A D | ps-mach.c | 3 * Machine driver for AMD Pink Sardine platform using DMIC 24 DAILINK_COMP_ARRAY(COMP_CODEC("dmic-codec.0", 25 "dmic-hifi"))); 32 .name = "acp63-dmic-capture", 33 .stream_name = "DMIC capture", 78 MODULE_DESCRIPTION("AMD Pink Sardine support for DMIC");
|
/linux/sound/soc/sunxi/ |
H A D | sun50i-dmic.c | 3 // This driver supports the DMIC in Allwinner's H6 SoCs. 115 /* DMIC num is N+1 */ in sun50i_dmic_hw_params() 277 .name = "dmic", 282 .compatible = "allwinner,sun50i-h6-dmic", 292 SOC_DOUBLE_TLV("DMIC Channel 0 Capture Volume", SUN50I_DMIC_D0D1_VOL_CTR, 295 SOC_DOUBLE_TLV("DMIC Channel 1 Capture Volume", SUN50I_DMIC_D0D1_VOL_CTR, 298 SOC_DOUBLE_TLV("DMIC Channel 2 Capture Volume", SUN50I_DMIC_D2D3_VOL_CTR, 301 SOC_DOUBLE_TLV("DMIC Channel 3 Capture Volume", SUN50I_DMIC_D2D3_VOL_CTR, 309 .name = "sun50i-dmic", 371 "failed to get dmic clock.\n"); in sun50i_dmic_probe() [all …]
|
/linux/arch/riscv/boot/dts/allwinner/ |
H A D | sun20i-d1-lichee-rv-dock.dts | 18 dmic_codec: dmic-codec { 19 compatible = "dmic-codec"; 24 dmic-sound { 26 simple-audio-card,name = "DMIC"; 37 sound-dai = <&dmic>; 52 &dmic {
|
H A D | sun20i-d1-lichee-rv-86-panel.dtsi | 12 dmic_codec: dmic-codec { 13 compatible = "dmic-codec"; 18 dmic-sound { 20 simple-audio-card,name = "DMIC"; 31 sound-dai = <&dmic>; 55 &dmic {
|
/linux/sound/soc/ux500/ |
H A D | mop500_ab8500.c | 179 SOC_DAPM_PIN_SWITCH("DMic 1"), 180 SOC_DAPM_PIN_SWITCH("DMic 2"), 181 SOC_DAPM_PIN_SWITCH("DMic 3"), 182 SOC_DAPM_PIN_SWITCH("DMic 4"), 183 SOC_DAPM_PIN_SWITCH("DMic 5"), 184 SOC_DAPM_PIN_SWITCH("DMic 6"), 420 ret |= snd_soc_dapm_disable_pin(dapm, "DMic 1"); in mop500_ab8500_machine_init() 421 ret |= snd_soc_dapm_disable_pin(dapm, "DMic 2"); in mop500_ab8500_machine_init() 422 ret |= snd_soc_dapm_disable_pin(dapm, "DMic 3"); in mop500_ab8500_machine_init() 423 ret |= snd_soc_dapm_disable_pin(dapm, "DMic 4"); in mop500_ab8500_machine_init() [all …]
|