/Linux-v6.1/sound/soc/sof/ |
D | ipc3-pcm.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 11 #include "ipc3-priv.h" 13 #include "sof-priv.h" 14 #include "sof-audio.h" 27 return -EINVAL; in sof_ipc3_pcm_hw_free() 29 if (!spcm->prepared[substream->stream]) in sof_ipc3_pcm_hw_free() 34 stream.comp_id = spcm->stream[substream->stream].comp_id; in sof_ipc3_pcm_hw_free() 37 return sof_ipc_tx_message(sdev->ipc, &stream, sizeof(stream), &reply, sizeof(reply)); in sof_ipc3_pcm_hw_free() 47 struct sof_ipc_fw_version *v = &sdev->fw_ready.version; in sof_ipc3_pcm_hw_params() 48 struct snd_pcm_runtime *runtime = substream->runtime; in sof_ipc3_pcm_hw_params() [all …]
|
/Linux-v6.1/sound/soc/codecs/ |
D | hdmi-codec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright (C) 2015 Texas Instruments Incorporated - https://www.ti.com/ 16 #include <sound/hdmi-codec.h> 21 #define HDMI_CODEC_CHMAP_IDX_UNKNOWN -1 59 { .channels = 2, 64 /* Channel maps for multi-channel playbacks, up to 8 n_ch */ 66 { .channels = 2, /* CA_ID 0x00 */ 68 { .channels = 4, /* CA_ID 0x01 */ 71 { .channels = 4, /* CA_ID 0x02 */ 74 { .channels = 4, /* CA_ID 0x03 */ [all …]
|
D | ad193x.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 30 * AD193X volume/mute/de-emphasis etc. controls 37 static const DECLARE_TLV_DB_MINMAX(adau193x_tlv, -9563, 0); 67 /* DAC de-emphasis */ 78 /* ADC high-pass filter */ 105 struct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm); in ad193x_check_pll() 108 return !!ad193x->sysclk; in ad193x_check_pll() 131 switch (ad193x->type) { in ad193x_has_adc() 143 * DAI ops entries 146 static int ad193x_mute(struct snd_soc_dai *dai, int mute, int direction) in ad193x_mute() argument [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/sound/ |
D | audio-graph-port.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/audio-graph-port.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> 15 - $ref: /schemas/graph.yaml#/$defs/port-base 21 convert-rate: 22 $ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-rate" 23 convert-channels: 24 $ref: "/schemas/sound/dai-params.yaml#/$defs/dai-channels" [all …]
|
D | simple-card.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/sound/simple-card.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> 14 frame-master: 15 description: Indicates dai-link frame master. 18 bitclock-master: 19 description: Indicates dai-link bit clock master 22 frame-inversion: [all …]
|
D | dai-params.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/dai-params.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Digital Audio Interface (DAI) Stream Parameters 10 - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> 16 dai-channels: 17 description: Number of audio channels used by DAI 22 dai-sample-format: 23 description: Audio sample format used by DAI [all …]
|
D | rockchip-i2s.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/sound/rockchip-i2s.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 The I2S bus (Inter-IC sound bus) is a serial link for digital 14 - Heiko Stuebner <heiko@sntech.de> 19 - const: rockchip,rk3066-i2s 20 - items: 21 - enum: 22 - rockchip,px30-i2s [all …]
|
D | audio-graph.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/audio-graph.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> 14 $ref: /schemas/types.yaml#/definitions/phandle-array 25 $ref: /schemas/types.yaml#/definitions/non-unique-string-array 28 $ref: /schemas/types.yaml#/definitions/non-unique-string-array 29 convert-rate: 30 $ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-rate" [all …]
|
/Linux-v6.1/sound/soc/sh/ |
D | ssi.c | 1 // SPDX-License-Identifier: GPL-2.0 62 #define SSIREG(reg) (*(unsigned long *)(ssi->mmio + (reg))) 86 * track usage of the SSI; it is simplex-only so prevent attempts of 90 struct snd_soc_dai *dai) in ssi_startup() argument 92 struct ssi_priv *ssi = &ssi_cpu_data[dai->id]; in ssi_startup() 93 if (ssi->inuse) { in ssi_startup() 95 return -EBUSY; in ssi_startup() 97 ssi->inuse = 1; in ssi_startup() 102 struct snd_soc_dai *dai) in ssi_shutdown() argument 104 struct ssi_priv *ssi = &ssi_cpu_data[dai->id]; in ssi_shutdown() [all …]
|
/Linux-v6.1/sound/soc/amd/acp/ |
D | acp-pdm.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 22 #include <sound/soc-dai.h> 26 #define DRV_NAME "acp-pdm" 41 struct snd_soc_dai *dai) in acp_dmic_prepare() argument 43 struct acp_stream *stream = substream->runtime->private_data; in acp_dmic_prepare() 44 struct device *dev = dai->component->dev; in acp_dmic_prepare() 50 writel(PDM_CLK_FREQ_MASK, adata->acp_base + ACP_WOV_CLK_CTRL); in acp_dmic_prepare() 51 dmic_ctrl = readl(adata->acp_base + ACP_WOV_MISC_CTRL); in acp_dmic_prepare() 53 writel(dmic_ctrl, adata->acp_base + ACP_WOV_MISC_CTRL); in acp_dmic_prepare() 55 period_bytes = frames_to_bytes(substream->runtime, in acp_dmic_prepare() [all …]
|
/Linux-v6.1/sound/soc/mediatek/mt8183/ |
D | mt8183-dai-tdm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // MediaTek ALSA SoC Audio DAI TDM Control 10 #include "mt8183-afe-clk.h" 11 #include "mt8183-afe-common.h" 12 #include "mt8183-interconnection.h" 13 #include "mt8183-reg.h" 92 return snd_pcm_format_physical_width(format) - 1; in get_tdm_lrck_width() 113 static unsigned int get_tdm_ch_fixup(unsigned int channels) in get_tdm_ch_fixup() argument 115 if (channels > 4) in get_tdm_ch_fixup() 117 else if (channels > 2) in get_tdm_ch_fixup() [all …]
|
/Linux-v6.1/sound/soc/mediatek/mt8195/ |
D | mt8195-dai-etdm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * MediaTek ALSA SoC Audio DAI eTDM Control 14 #include "mt8195-afe-clk.h" 15 #include "mt8195-afe-common.h" 16 #include "mt8195-reg.h" 115 int cowork_source_id; //dai id 117 int cowork_slv_id[MT8195_AFE_IO_ETDM_NUM - 1]; //dai_id 148 return -EINVAL; in get_etdm_fs_timing() 151 static unsigned int get_etdm_ch_fixup(unsigned int channels) in get_etdm_ch_fixup() argument 153 if (channels > 16) in get_etdm_ch_fixup() [all …]
|
/Linux-v6.1/sound/soc/sunxi/ |
D | sun4i-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 7 * Maxime Ripard <maxime.ripard@free-electrons.com> 22 #include <sound/soc-dai.h> 85 #define SUN4I_I2S_CHAN_SEL(num_chan) (((num_chan) - 1) << 0) 93 /* Defines required for sun8i-h3 support */ 106 #define SUN8I_I2S_FMT0_LRCK_PERIOD(period) ((period - 1) << 8) 119 #define SUN8I_I2S_CHAN_CFG_RX_SLOT_NUM(chan) ((chan - 1) << 4) 121 #define SUN8I_I2S_CHAN_CFG_TX_SLOT_NUM(chan) (chan - 1) 128 #define SUN8I_I2S_TX_CHAN_EN(num_chan) (((1 << num_chan) - 1) << 4) 133 /* Defines required for sun50i-h6 support */ [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/iio/adc/ |
D | st,stm32-dfsdm-adc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/iio/adc/st,stm32-dfsdm-adc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Fabrice Gasnier <fabrice.gasnier@foss.st.com> 11 - Olivier Moysan <olivier.moysan@foss.st.com> 14 STM32 DFSDM ADC is a sigma delta analog-to-digital converter dedicated to 17 - Sigma delta modulators (motor control, metering...) 18 - PDM microphones (audio digital microphone) 28 - st,stm32h7-dfsdm [all …]
|
/Linux-v6.1/sound/soc/mediatek/mt8186/ |
D | mt8186-dai-tdm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // MediaTek ALSA SoC Audio DAI TDM Control 11 #include "mt8186-afe-clk.h" 12 #include "mt8186-afe-common.h" 13 #include "mt8186-afe-gpio.h" 14 #include "mt8186-interconnection.h" 65 return snd_pcm_format_physical_width(format) - 1; in get_tdm_lrck_width() 68 static unsigned int get_tdm_ch_fixup(unsigned int channels) in get_tdm_ch_fixup() argument 70 if (channels > 4) in get_tdm_ch_fixup() 72 else if (channels > 2) in get_tdm_ch_fixup() [all …]
|
/Linux-v6.1/sound/soc/mediatek/mt8192/ |
D | mt8192-dai-tdm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // MediaTek ALSA SoC Audio DAI TDM Control 11 #include "mt8192-afe-clk.h" 12 #include "mt8192-afe-common.h" 13 #include "mt8192-afe-gpio.h" 14 #include "mt8192-interconnection.h" 84 return snd_pcm_format_physical_width(format) - 1; in get_tdm_lrck_width() 105 static unsigned int get_tdm_ch_fixup(unsigned int channels) in get_tdm_ch_fixup() argument 107 if (channels > 4) in get_tdm_ch_fixup() 109 else if (channels > 2) in get_tdm_ch_fixup() [all …]
|
/Linux-v6.1/sound/soc/atmel/ |
D | mchp-i2s-mcc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Driver for Microchip I2S Multi-channel controller 29 * ---- I2S Controller Register map ---- 75 * ---- Control Register (Write-only) ---- 86 * ---- Mode Register A (Read/Write) ---- 135 /* Number of TDM Channels - 1 */ 138 ((((ch) - 1) << 13) & MCHP_I2SMCC_MRA_NBCHAN_MASK) 169 * ---- Mode Register B (Read/Write) ---- 171 /* all enabled I2S left channels are filled first, then I2S right channels */ 175 * channel, until all channels are filled [all …]
|
D | mchp-pdmc.c | 1 // SPDX-License-Identifier: GPL-2.0 5 // Copyright (C) 2019-2022 Microchip Technology Inc. and its subsidiaries 9 #include <dt-bindings/sound/microchip,pdmc.h> 22 * ---- PDMC Register map ---- 35 * ---- Control Register (Write-only) ---- 40 * ---- Mode Register (Read/Write) ---- 68 * ---- Configuration Register (Read/Write) ---- 77 * ---- Interrupt Enable/Disable/Mask/Status Registers ---- 87 * ---- Version Register (Read-only) ---- 140 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; in mchp_pdmc_sinc_order_get() [all …]
|
/Linux-v6.1/sound/soc/ti/ |
D | omap-mcpdm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * omap-mcpdm.c -- OMAP ALSA SoC DAI driver using McPDM port 5 * Copyright (C) 2009 - 2011 Texas Instruments 30 #include "omap-mcpdm.h" 31 #include "sdma-pcm.h" 51 /* McPDM dn offsets for rx1, and 2 channels */ 69 writel_relaxed(val, mcpdm->io_base + reg); in omap_mcpdm_write() 74 return readl_relaxed(mcpdm->io_base + reg); in omap_mcpdm_read() 80 dev_dbg(mcpdm->dev, "***********************\n"); in omap_mcpdm_reg_dump() 81 dev_dbg(mcpdm->dev, "IRQSTATUS_RAW: 0x%04x\n", in omap_mcpdm_reg_dump() [all …]
|
D | omap-dmic.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * omap-dmic.c -- OMAP ASoC DMIC DAI driver 5 * Copyright (C) 2010 - 2011 Texas Instruments 30 #include "omap-dmic.h" 31 #include "sdma-pcm.h" 53 writel_relaxed(val, dmic->io_base + reg); in omap_dmic_write() 58 return readl_relaxed(dmic->io_base + reg); in omap_dmic_read() 69 omap_dmic_write(dmic, OMAP_DMIC_CTRL_REG, ctrl | dmic->ch_enabled); in omap_dmic_start() 91 struct snd_soc_dai *dai) in omap_dmic_dai_startup() argument 93 struct omap_dmic *dmic = snd_soc_dai_get_drvdata(dai); in omap_dmic_dai_startup() [all …]
|
/Linux-v6.1/drivers/staging/greybus/ |
D | audio_codec.c | 1 // SPDX-License-Identifier: GPL-2.0 26 list_for_each_entry(data, &module->data_list, list) { in find_data() 27 if (id == data->id) in find_data() 36 struct gbaudio_codec_dai *dai; in find_dai_stream_params() local 38 list_for_each_entry(dai, &codec->dai_list, list) { in find_dai_stream_params() 39 if (dai->id == id) in find_dai_stream_params() 40 return &dai->params[stream]; in find_dai_stream_params() 50 u8 sig_bits, channels; in gbaudio_module_enable_tx() local 55 /* find the dai */ in gbaudio_module_enable_tx() 58 dev_err(module->dev, "%d:DATA connection missing\n", id); in gbaudio_module_enable_tx() [all …]
|
/Linux-v6.1/sound/soc/xilinx/ |
D | xlnx_i2s.c | 1 // SPDX-License-Identifier: GPL-2.0 32 u32 channels; member 44 return -EINVAL; in xlnx_i2s_set_sclkout_div() 46 drv_data->sysclk = 0; in xlnx_i2s_set_sclkout_div() 48 writel(div, drv_data->base + I2S_I2STIM_OFFSET); in xlnx_i2s_set_sclkout_div() 53 static int xlnx_i2s_set_sysclk(struct snd_soc_dai *dai, in xlnx_i2s_set_sysclk() argument 56 struct xlnx_i2s_drv_data *drv_data = snd_soc_dai_get_drvdata(dai); in xlnx_i2s_set_sysclk() 58 drv_data->sysclk = freq; in xlnx_i2s_set_sysclk() 62 if (drv_data->is_32bit_lrclk) in xlnx_i2s_set_sysclk() 65 bits_per_sample = drv_data->data_width; in xlnx_i2s_set_sysclk() [all …]
|
/Linux-v6.1/sound/soc/qcom/ |
D | lpass-cpu.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2010-2011,2013-2015 The Linux Foundation. All rights reserved. 5 * lpass-cpu.c -- ALSA SoC CPU DAI driver for QTi LPASS 18 #include <sound/soc-dai.h> 19 #include "lpass-lpaif-reg.h" 38 { .channels = 4, 47 struct lpass_variant *v = drvdata->variant; in lpass_cpu_init_i2sctl_bitfields() 49 i2sctl->loopback = devm_regmap_field_alloc(dev, map, v->loopback); in lpass_cpu_init_i2sctl_bitfields() 50 i2sctl->spken = devm_regmap_field_alloc(dev, map, v->spken); in lpass_cpu_init_i2sctl_bitfields() 51 i2sctl->spkmode = devm_regmap_field_alloc(dev, map, v->spkmode); in lpass_cpu_init_i2sctl_bitfields() [all …]
|
/Linux-v6.1/sound/soc/sti/ |
D | uniperif_reader.c | 1 // SPDX-License-Identifier: GPL-2.0-only 15 * integrate unireader capability in term of rate and supported channels 49 spin_lock(&reader->irq_lock); in uni_reader_irq_handler() 50 if (!reader->substream) in uni_reader_irq_handler() 53 snd_pcm_stream_lock(reader->substream); in uni_reader_irq_handler() 54 if (reader->state == UNIPERIF_STATE_STOPPED) { in uni_reader_irq_handler() 56 dev_warn(reader->dev, "unexpected IRQ\n"); in uni_reader_irq_handler() 66 dev_err(reader->dev, "FIFO error detected\n"); in uni_reader_irq_handler() 68 snd_pcm_stop(reader->substream, SNDRV_PCM_STATE_XRUN); in uni_reader_irq_handler() 74 snd_pcm_stream_unlock(reader->substream); in uni_reader_irq_handler() [all …]
|
/Linux-v6.1/sound/soc/meson/ |
D | axg-tdm-interface.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 11 #include <sound/soc-dai.h> 13 #include "axg-tdm.h" 35 int axg_tdm_set_tdm_slots(struct snd_soc_dai *dai, u32 *tx_mask, in axg_tdm_set_tdm_slots() argument 39 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai); in axg_tdm_set_tdm_slots() 41 dai->playback_dma_data; in axg_tdm_set_tdm_slots() 43 dai->capture_dma_data; in axg_tdm_set_tdm_slots() 52 dev_err(dai->dev, "interface has no slot\n"); in axg_tdm_set_tdm_slots() 53 return -EINVAL; in axg_tdm_set_tdm_slots() 56 iface->slots = slots; in axg_tdm_set_tdm_slots() [all …]
|