/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 | 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 | 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 …]
|
D | qcom,lpass-tx-macro.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/qcom,lpass-tx-macro.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 15 - qcom,sc7280-lpass-tx-macro 16 - qcom,sm8250-lpass-tx-macro 17 - qcom,sm8450-lpass-tx-macro 18 - qcom,sc8280xp-lpass-tx-macro 23 "#sound-dai-cells": [all …]
|
D | qcom,lpass-va-macro.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/qcom,lpass-va-macro.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 15 - qcom,sc7280-lpass-va-macro 16 - qcom,sm8250-lpass-va-macro 17 - qcom,sm8450-lpass-va-macro 18 - qcom,sc8280xp-lpass-va-macro 23 "#sound-dai-cells": [all …]
|
D | qcom,lpass-wsa-macro.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/qcom,lpass-wsa-macro.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 15 - qcom,sc7280-lpass-wsa-macro 16 - qcom,sm8250-lpass-wsa-macro 17 - qcom,sm8450-lpass-wsa-macro 18 - qcom,sc8280xp-lpass-wsa-macro 23 "#sound-dai-cells": [all …]
|
/Linux-v6.1/Documentation/sound/soc/ |
D | dai.rst | 2 ASoC Digital Audio Interface (DAI) 5 ASoC currently supports the three main Digital Audio Interfaces (DAI) found on 13 now also popular in many portable devices. This DAI has a RESET line and time 26 I2S is a common 4 wire DAI used in HiFi, STB and portable devices. The Tx and 30 usually varies depending on the sample rate and the master system clock 31 (SYSCLK). LRCLK is the same as the sample rate. A few devices support separate 33 different sample rates. 35 I2S has several different operating modes:- 45 MSB is transmitted sample size BCLKs before LRC transition. 53 receive the audio data. Bit clock usually varies depending on sample rate [all …]
|
D | clocking.rst | 10 ------------ 15 audio playback and capture sample rates. 22 DAI Clocks 23 ---------- 28 The DAI also has a frame clock to signal the start of each audio frame. This 30 runs at exactly the sample rate (LRC = Rate). 32 Bit Clock can be generated as follows:- 34 - BCLK = MCLK / x, or 35 - BCLK = LRC * x, or 36 - BCLK = LRC * Channels * Word Size [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 …]
|
D | axg-pdm.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 12 #include <sound/soc-dai.h> 53 #define PDM_CHAN_CTRL_POINTER_MAX ((1 << PDM_CHAN_CTRL_POINTER_WIDTH) - 1) 126 struct snd_soc_dai *dai) in axg_pdm_trigger() argument 128 struct axg_pdm *priv = snd_soc_dai_get_drvdata(dai); in axg_pdm_trigger() 134 axg_pdm_enable(priv->map); in axg_pdm_trigger() 140 axg_pdm_disable(priv->map); in axg_pdm_trigger() 144 return -EINVAL; in axg_pdm_trigger() 150 const struct axg_pdm_filters *filters = priv->cfg->filters; in axg_pdm_get_os() 151 unsigned int os = filters->hcic.ds; in axg_pdm_get_os() [all …]
|
/Linux-v6.1/sound/soc/codecs/ |
D | wm8524.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * wm8524.c -- WM8524 ALSA SoC Audio driver 60 struct snd_soc_dai *dai) in wm8524_startup() argument 62 struct snd_soc_component *component = dai->component; in wm8524_startup() 65 /* The set of sample rates that can be supported depends on the in wm8524_startup() 66 * MCLK supplied to the CODEC - enforce this. in wm8524_startup() 68 if (!wm8524->sysclk) { in wm8524_startup() 69 dev_err(component->dev, in wm8524_startup() 71 return -EINVAL; in wm8524_startup() 74 snd_pcm_hw_constraint_list(substream->runtime, 0, in wm8524_startup() [all …]
|
D | cs4270.c | 6 * Copyright 2007-2009 Freescale Semiconductor, Inc. This file is licensed 15 * - Software mode is supported. Stand-alone mode is not supported. 16 * - Only I2C is supported, not SPI 17 * - Support for master and slave mode 18 * - The machine driver's 'startup' function must call 20 * - Only I2S and left-justified modes are supported 21 * - Power management is supported 51 #define CS4270_NUMREGS (CS4270_LASTREG - CS4270_FIRSTREG + 1) 101 /* Power-on default values for the registers 103 * This array contains the power-on default values of the registers, with the [all …]
|
D | uda1334.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // uda1334.c -- UDA1334 ALSA SoC Audio driver 47 int deemph = ucontrol->value.integer.value[0]; in uda1334_put_deemph() 50 return -EINVAL; in uda1334_put_deemph() 52 gpiod_set_value_cansleep(uda1334->deemph, deemph); in uda1334_put_deemph() 64 ret = gpiod_get_value_cansleep(uda1334->deemph); in uda1334_get_deemph() 66 return -EINVAL; in uda1334_get_deemph() 68 ucontrol->value.integer.value[0] = ret; in uda1334_get_deemph() 91 struct snd_soc_dai *dai) in uda1334_startup() argument 93 struct snd_soc_component *component = dai->component; in uda1334_startup() [all …]
|
D | cs4271.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 9 * The data format accepted is I2S or left-justified. 132 * Default CS4271 power-up configuration 133 * Array contains non-existing in hw register at address 0 161 /* Current sample rate for de-emphasis control */ 162 int rate; member 177 SND_SOC_DAPM_OUTPUT("AOUTA-"), 179 SND_SOC_DAPM_OUTPUT("AOUTB-"), 187 { "AOUTA-", NULL, "Playback" }, 189 { "AOUTB-", NULL, "Playback" }, [all …]
|
D | si476x.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * sound/soc/codecs/si476x.c -- Codec driver for SI476X chips 21 #include <linux/mfd/si476x-core.h> 68 struct si476x_core *core = i2c_mfd_cell_to_core(codec_dai->dev); in si476x_codec_set_dai_fmt() 73 return -EINVAL; in si476x_codec_set_dai_fmt() 92 return -EINVAL; in si476x_codec_set_dai_fmt() 105 return -EINVAL; in si476x_codec_set_dai_fmt() 125 return -EINVAL; in si476x_codec_set_dai_fmt() 129 return -EINVAL; in si476x_codec_set_dai_fmt() 134 err = snd_soc_component_update_bits(codec_dai->component, SI476X_DIGITAL_IO_OUTPUT_FORMAT, in si476x_codec_set_dai_fmt() [all …]
|
/Linux-v6.1/sound/soc/ti/ |
D | davinci-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 * based on davinci-mcasp.c DT support 31 #include "edma-pcm.h" 32 #include "davinci-i2s.h" 34 #define DRV_NAME "davinci-i2s" 39 * - This driver supports the "Audio Serial Port" (ASP), 42 * - But it labels it a "Multi-channel Buffered Serial Port" 44 * backward-compatible, possibly explaining that confusion. 46 * - OMAP chips have a controller called McBSP, which is 49 * - Newer DaVinci chips have a controller called McASP, [all …]
|
/Linux-v6.1/sound/soc/sh/ |
D | fsi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Fifo-attached Serial Interface (FSI) support for SH7724 12 #include <linux/dma-mapping.h> 137 * A : sample widtht 16bit setting 138 * B : sample widtht 24bit setting 160 * period/frame/sample image 166 * |<-------------------- period--------------------->| 169 * ||<----- frame ----->|<------ frame ----->| ... | 170 * |+--------------------+--------------------+- ... | 171 * ||[ sample ][ sample ]|[ sample ][ sample ]| ... | [all …]
|
/Linux-v6.1/sound/soc/fsl/ |
D | fsl_spdif.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Freescale S/PDIF ALSA SoC Digital Audio Interface (DAI) driver 27 #include "imx-pcm.h" 47 #define RX_SAMPLE_RATE_KCONTROL "RX Sample Rate" 54 * so the driver shouldn't set root clock rate 99 * struct fsl_spdif_priv - Freescale SPDIF private data 102 * @cpu_dai_drv: cpu dai driver 104 * @rxrate_kcontrol: kcontrol for RX Sample Rate 116 * @sysclk: system clock for rx clock rate measurement 122 * @pll8k_clk: PLL clock for the rate of multiply of 8kHz [all …]
|
D | fsl_asrc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Freescale ASRC ALSA SoC Digital Audio Interface (DAI) driver 11 #include <linux/dma-mapping.h> 14 #include <linux/dma/imx-dma.h> 26 dev_err(&asrc->pdev->dev, "Pair %c: " fmt, 'A' + index, ##__VA_ARGS__) 29 dev_dbg(&asrc->pdev->dev, "Pair %c: " fmt, 'A' + index, ##__VA_ARGS__) 32 dev_warn(&asrc->pdev->dev, "Pair %c: " fmt, 'A' + index, ##__VA_ARGS__) 127 static bool fsl_asrc_divider_avail(int clk_rate, int rate, int *div) in fsl_asrc_divider_avail() argument 135 if (clk_rate == 0 || rate == 0) in fsl_asrc_divider_avail() 139 rem = do_div(n, rate); in fsl_asrc_divider_avail() [all …]
|
D | fsl-asoc-card.c | 1 // SPDX-License-Identifier: GPL-2.0 23 #include "imx-audmux.h" 36 /* Default DAI format without Master and Slave flag */ 40 * struct codec_priv - CODEC private data 41 * @mclk_freq: Clock rate of MCLK 42 * @free_freq: Clock rate of MCLK for hw_free() 56 * struct cpu_priv - CPU private data 72 * struct fsl_asoc_card_priv - Freescale Generic ASOC card private data 73 * @dai_link: DAI link structure including normal one and DPCM link 81 * @sample_rate: Current sample rate [all …]
|
/Linux-v6.1/sound/soc/sti/ |
D | uniperif_player.c | 1 // SPDX-License-Identifier: GPL-2.0-only 17 * Some hardware-related definitions 27 #define UNIPERIF_PLAYER_CLK_ADJ_MIN -999999 33 * integrate DAI_CPU capability in term of rate and supported channels 68 spin_lock(&player->irq_lock); in uni_player_irq_handler() 69 if (!player->substream) in uni_player_irq_handler() 72 snd_pcm_stream_lock(player->substream); in uni_player_irq_handler() 73 if (player->state == UNIPERIF_STATE_STOPPED) in uni_player_irq_handler() 82 dev_err(player->dev, "FIFO underflow error detected\n"); in uni_player_irq_handler() 85 if (player->underflow_enabled) { in uni_player_irq_handler() [all …]
|
/Linux-v6.1/sound/soc/mediatek/mt8186/ |
D | mt8186-dai-hw-gain.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // MediaTek ALSA SoC Audio DAI HW Gain Control 9 #include "mt8186-afe-common.h" 10 #include "mt8186-interconnection.h" 15 /* dai component */ 40 struct snd_soc_component *cmpnt = snd_soc_dapm_to_component(w->dapm); in mtk_hw_gain_event() 45 dev_dbg(cmpnt->dev, "%s(), name %s, event 0x%x\n", in mtk_hw_gain_event() 46 __func__, w->name, event); in mtk_hw_gain_event() 50 if (strcmp(w->name, HW_GAIN_1_EN_W_NAME) == 0) { in mtk_hw_gain_event() 59 regmap_update_bits(afe->regmap, gain_cur, AFE_GAIN1_CUR_MASK_SFT, 0); in mtk_hw_gain_event() [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) 88 #define SUN4I_I2S_TX_CHAN_MAP(chan, sample) ((sample) << (chan << 2)) argument 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) [all …]
|
/Linux-v6.1/sound/soc/mediatek/mt6797/ |
D | mt6797-dai-adda.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // MediaTek ALSA SoC Audio DAI ADDA Control 10 #include "mt6797-afe-common.h" 11 #include "mt6797-interconnection.h" 12 #include "mt6797-reg.h" 39 unsigned int rate) in adda_dl_rate_transform() argument 41 switch (rate) { in adda_dl_rate_transform() 65 dev_warn(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n", in adda_dl_rate_transform() 66 __func__, rate); in adda_dl_rate_transform() 72 unsigned int rate) in adda_ul_rate_transform() argument [all …]
|
/Linux-v6.1/sound/soc/pxa/ |
D | pxa-ssp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * pxa-ssp.c -- ALSA Soc Audio Layer 10 * o Test network mode for > 16bit sample size 30 #include <sound/pxa2xx-lib.h> 33 #include "pxa-ssp.h" 55 dev_dbg(ssp->dev, "SSCR0 0x%08x SSCR1 0x%08x SSTO 0x%08x\n", in dump_registers() 59 dev_dbg(ssp->dev, "SSPSP 0x%08x SSSR 0x%08x SSACD 0x%08x\n", in dump_registers() 67 dma->addr_width = width4 ? DMA_SLAVE_BUSWIDTH_4_BYTES : in pxa_ssp_set_dma_params() 69 dma->maxburst = 16; in pxa_ssp_set_dma_params() 70 dma->addr = ssp->phys_base + SSDR; in pxa_ssp_set_dma_params() [all …]
|