| /linux/sound/soc/ti/ |
| H A D | omap-dmic.c | 3 * omap-dmic.c -- OMAP ASoC DMIC DAI driver 29 #include "omap-dmic.h" 50 static inline void omap_dmic_write(struct omap_dmic *dmic, u16 reg, u32 val) in omap_dmic_write() argument 52 writel_relaxed(val, dmic->io_base + reg); in omap_dmic_write() 55 static inline int omap_dmic_read(struct omap_dmic *dmic, u16 reg) in omap_dmic_read() argument 57 return readl_relaxed(dmic->io_base + reg); in omap_dmic_read() 60 static inline void omap_dmic_start(struct omap_dmic *dmic) in omap_dmic_start() argument 62 u32 ctrl = omap_dmic_read(dmic, OMAP_DMIC_CTRL_REG); in omap_dmic_start() 65 omap_dmic_write(dmic, OMAP_DMIC_DMAENABLE_SET_REG, in omap_dmic_start() 68 omap_dmic_write(dmic, OMAP_DMIC_CTRL_REG, ctrl | dmic->ch_enabled); in omap_dmic_start() [all …]
|
| H A D | omap-abe-twl6040.c | 20 #include "omap-dmic.h" 32 DAILINK_COMP_ARRAY(COMP_CODEC("dmic-codec", 33 "dmic-hifi")), 87 printk(KERN_ERR "can't set DMIC cpu system clock\n"); in omap_abe_dmic_hw_params() 93 printk(KERN_ERR "can't set DMIC output clock\n"); in omap_abe_dmic_hw_params() 199 {"DMic", NULL, "Digital Mic"}, 251 priv->dai_links[0].name = "DMIC"; in omap_abe_probe() 264 dai_node = of_parse_phandle(node, "ti,dmic", 0); in omap_abe_probe() 268 priv->dai_links[1].stream_name = "DMIC Capture"; in omap_abe_probe() 324 dmic_codec_dev = platform_device_register_simple("dmic in omap_abe_init() [all...] |
| /linux/sound/soc/tegra/ |
| H A D | tegra210_dmic.c | 5 // tegra210_dmic.c - Tegra210 DMIC driver 44 struct tegra210_dmic *dmic = dev_get_drvdata(dev); in tegra210_dmic_runtime_suspend() local 46 regcache_cache_only(dmic->regmap, true); in tegra210_dmic_runtime_suspend() 47 regcache_mark_dirty(dmic->regmap); in tegra210_dmic_runtime_suspend() 49 clk_disable_unprepare(dmic->clk_dmic); in tegra210_dmic_runtime_suspend() 56 struct tegra210_dmic *dmic = dev_get_drvdata(dev); in tegra210_dmic_runtime_resume() local 59 err = clk_prepare_enable(dmic->clk_dmic); in tegra210_dmic_runtime_resume() 61 dev_err(dev, "failed to enable DMIC clock, err: %d\n", err); in tegra210_dmic_runtime_resume() 65 regcache_cache_only(dmic->regmap, false); in tegra210_dmic_runtime_resume() 66 regcache_sync(dmic->regmap); in tegra210_dmic_runtime_resume() [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,tegra264-dmic 32 - nvidia,tegra234-dmic 33 - nvidia,tegra194-dmic 34 - nvidia,tegra186-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 | 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 | 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 | 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 | realtek,rt5682s.yaml | 60 realtek,dmic-clk-rate-hz: 62 Set the clock rate (hz) for the requirement of the particular DMIC. 64 realtek,dmic-delay-ms: 66 Set the delay time (ms) for the requirement of the particular DMIC. 72 realtek,dmic-clk-driving-high: 75 Set the high driving of the DMIC clock out.
|
| H A D | nuvoton,nau8821.yaml | 87 nuvoton,dmic-clk-threshold: 88 description: DMIC clock speed expected value. Unit is Hz. 92 nuvoton,dmic-slew-rate: 93 description: The range 0 to 7 represents the speed of DMIC slew rate. 143 nuvoton,dmic-clk-threshold = <3072000>; 144 nuvoton,dmic-slew-rate = <0>;
|
| H A D | rt5665.txt | 39 * DMIC L1 40 * DMIC R1 41 * DMIC L2 42 * DMIC R2
|
| /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/codecs/ |
| H A D | lpass-tx-macro.c | 42 /* Default divider for AMIC and DMIC clock: DIV2 */ 761 unsigned int dmic; in tx_macro_update_smic_sel_v9() local 770 dmic = TX_ADC_TO_DMIC(val); in tx_macro_update_smic_sel_v9() 771 dmic_clk_reg = CDC_TX_TOP_CSR_SWR_DMICn_CTL(dmic); in tx_macro_update_smic_sel_v9() 783 unsigned int dmic; in tx_macro_update_smic_sel_v9_2() local 787 /* MSM DMIC */ in tx_macro_update_smic_sel_v9_2() 791 dmic = TX_ADC_TO_DMIC(val); in tx_macro_update_smic_sel_v9_2() 792 dmic_clk_reg = CDC_TX_TOP_CSR_SWR_DMICn_CTL(dmic); in tx_macro_update_smic_sel_v9_2() 847 if (widget->shift) /* MSM DMIC */ in tx_macro_put_dec_enum() 920 u16 adc_mux_reg, adc_reg, adc_n, dmic; in tx_macro_enable_dec() local [all …]
|
| H A D | lpass-va-macro.c | 617 u32 dmic, bool enable) in va_dmic_clk_enable() argument 626 switch (dmic) { in va_dmic_clk_enable() 656 dev_err(component->dev, "%s: Invalid DMIC Selection\n", in va_dmic_clk_enable() 731 unsigned int dmic = w->shift; in va_macro_enable_dmic() local 735 va_dmic_clk_enable(comp, dmic, true); in va_macro_enable_dmic() 738 va_dmic_clk_enable(comp, dmic, false); in va_macro_enable_dmic() 1137 SND_SOC_DAPM_MUX("VA DMIC MUX0", SND_SOC_NOPM, 0, 0, &va_dmic0_mux), 1138 SND_SOC_DAPM_MUX("VA DMIC MUX1", SND_SOC_NOPM, 0, 0, &va_dmic1_mux), 1139 SND_SOC_DAPM_MUX("VA DMIC MUX2", SND_SOC_NOPM, 0, 0, &va_dmic2_mux), 1140 SND_SOC_DAPM_MUX("VA DMIC MUX3", SND_SOC_NOPM, 0, 0, &va_dmic3_mux), [all …]
|
| H A D | rt5514.c | 440 SOC_DAPM_SINGLE("DMIC Switch", RT5514_DOWNFILTER0_CTRL1, 447 SOC_DAPM_SINGLE("DMIC Switch", RT5514_DOWNFILTER0_CTRL2, 454 SOC_DAPM_SINGLE("DMIC Switch", RT5514_DOWNFILTER1_CTRL1, 461 SOC_DAPM_SINGLE("DMIC Switch", RT5514_DOWNFILTER1_CTRL2, 467 /* DMIC Source */ 477 SOC_DAPM_ENUM("Stereo1 DMIC Source", rt5514_stereo1_dmic_enum); 484 SOC_DAPM_ENUM("Stereo2 DMIC Source", rt5514_stereo2_dmic_enum); 487 * rt5514_calc_dmic_clk - Calculate the frequency divider parameter of dmic. 492 * Choose divider parameter that gives the highest possible DMIC frequency in 506 /* find divider that gives DMIC frequenc in rt5514_calc_dmic_clk() [all...] |
| H A D | rt5677.c | 712 * DMIC CLK = 256 * fs / 12 in rt5677_set_vad_source() 1068 * set_dmic_clk - Set parameter of dmic. 1074 * Choose dmic clock between 1MHz and 3MHz. 1088 dev_err(component->dev, "Failed to set DMIC clock\n"); in set_dmic_clk() 1873 "DD MIX1", "DMIC", "Stereo DAC MIX" 1897 /* DMIC Source */ /* MX-28 [9:8][1:0] MX-27 MX-26 MX-25 MX-24 [9:8] */ 1907 SOC_DAPM_ENUM("Mono DMIC L Source", rt5677_mono_dmic_l_enum); 1914 SOC_DAPM_ENUM("Mono DMIC R Source", rt5677_mono_dmic_r_enum); 1921 SOC_DAPM_ENUM("Stereo1 DMIC Source", rt5677_stereo1_dmic_enum); 1928 SOC_DAPM_ENUM("Stereo2 DMIC Sourc [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"}, 33 dev_err(card->dev, "DMic widget addition failed: %d\n", ret); in asoc_sdw_dmic_init() 42 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", 73 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", 76 MODULE_DESCRIPTION("AMD Pink Sardine support for DMIC");
|
| /linux/sound/soc/amd/ |
| H A D | Kconfig | 65 tristate "AMD Renoir support for DMIC" 69 This option enables machine driver for DMIC 106 tristate "AMD YC support for DMIC" 111 using dmic. ACP IP has PDM Decoder block with DMA controller. 112 DMIC can be connected directly to ACP IP. 167 tristate "AMD PINK SARDINE support for DMIC" 172 using dmic. ACP IP has PDM Decoder block with DMA controller. 173 DMIC can be connected directly to ACP IP.
|
| H A D | acp3x-rt5682-max9836.c | 359 SOC_DAPM_ENUM_EXT("DMIC Select Mux", acp3x_dmic_enum, 366 SND_SOC_DAPM_MUX("Dmic Mux", SND_SOC_NOPM, 0, 0, 375 {"Dmic Mux", "Front Mic", "DMIC"}, 376 {"Dmic Mux", "Rear Mic", "DMIC"}, 401 SND_SOC_DAPM_MUX("Dmic Mux", SND_SOC_NOPM, 0, 0, 411 {"Dmic Mux", "Front Mic", "DMIC"}, 412 {"Dmic Mux", "Rear Mic", "DMIC"}, 442 SND_SOC_DAPM_MUX("Dmic Mux", SND_SOC_NOPM, 0, 0, 451 {"Dmic Mux", "Front Mic", "DMIC"}, 452 {"Dmic Mux", "Rear Mic", "DMIC"}, [all …]
|
| /linux/sound/soc/sunxi/ |
| H A D | sun50i-dmic.c | 3 // This driver supports the DMIC in Allwinner's H6 SoCs. 114 /* DMIC num is N+1 */ in sun50i_dmic_hw_params() 276 .name = "dmic", 281 .compatible = "allwinner,sun50i-h6-dmic", 291 SOC_DOUBLE_TLV("DMIC Channel 0 Capture Volume", SUN50I_DMIC_D0D1_VOL_CTR, 294 SOC_DOUBLE_TLV("DMIC Channel 1 Capture Volume", SUN50I_DMIC_D0D1_VOL_CTR, 297 SOC_DOUBLE_TLV("DMIC Channel 2 Capture Volume", SUN50I_DMIC_D2D3_VOL_CTR, 300 SOC_DOUBLE_TLV("DMIC Channel 3 Capture Volume", SUN50I_DMIC_D2D3_VOL_CTR, 308 .name = "sun50i-dmic", 373 "failed to get dmic clock.\n"); in sun50i_dmic_probe() [all …]
|
| /linux/arch/riscv/boot/dts/allwinner/ |
| 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 {
|