/openbmc/linux/Documentation/devicetree/bindings/sound/ |
H A 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 port-base: 16 $ref: /schemas/graph.yaml#/$defs/port-base 18 convert-rate: 19 $ref: /schemas/sound/dai-params.yaml#/$defs/dai-sample-rate 20 convert-channels: [all …]
|
H A 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 …]
|
H A 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 32 $ref: /schemas/types.yaml#/definitions/non-unique-string-array 33 convert-rate: 34 $ref: /schemas/sound/dai-params.yaml#/$defs/dai-sample-rate [all …]
|
H A 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,sm8550-lpass-tx-macro 19 - qcom,sc8280xp-lpass-tx-macro [all …]
|
H A 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,sm8550-lpass-va-macro 19 - qcom,sc8280xp-lpass-va-macro [all …]
|
H A 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,sm8550-lpass-wsa-macro 19 - qcom,sc8280xp-lpass-wsa-macro [all …]
|
H A D | option,gtm601.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - kernel@puri.sm 13 This device has no configuration interface. The sample rate and channels are 19 - description: Broadmobi BM818 (48Khz stereo) 21 - const: broadmobi,bm818 22 - const: option,gtm601 23 - description: GTM601 (8kHz mono) 26 '#sound-dai-cells': [all …]
|
H A D | nvidia,tegra186-asrc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra186-asrc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 Asynchronous Sample Rate Converter (ASRC) converts the sampling frequency 12 wide range of sample rate ratios (freq_in/freq_out) from 1:24 to 24:1. 16 It supports sample rate conversions in the range of 8 to 192 kHz and 21 - Jon Hunter <jonathanh@nvidia.com> 22 - Mohan Kumar <mkumard@nvidia.com> 23 - Sameer Pujar <spujar@nvidia.com> [all …]
|
/openbmc/linux/Documentation/sound/soc/ |
H A 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 …]
|
H A 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 …]
|
/openbmc/linux/sound/soc/tegra/ |
H A D | tegra_audio_graph_card.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // tegra_audio_graph_card.c - Audio Graph based Tegra Machine Driver 5 // Copyright (c) 2020-2021 NVIDIA CORPORATION. All rights reserved. 13 #include <sound/soc-dai.h> 22 * Sample rates multiple of 8000 Hz and below are supported: 28 * Sample rates multiple of 11025 Hz and below are supported: 48 static bool need_clk_update(struct snd_soc_dai *dai) in need_clk_update() argument 50 if (snd_soc_dai_is_dummy(dai) || in need_clk_update() 51 !dai->driver->ops || in need_clk_update() 52 !dai->driver->name) in need_clk_update() [all …]
|
/openbmc/linux/sound/soc/meson/ |
H A 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" 38 int axg_tdm_set_tdm_slots(struct snd_soc_dai *dai, u32 *tx_mask, in axg_tdm_set_tdm_slots() argument 42 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai); in axg_tdm_set_tdm_slots() 43 struct axg_tdm_stream *tx = snd_soc_dai_dma_data_get_playback(dai); in axg_tdm_set_tdm_slots() 44 struct axg_tdm_stream *rx = snd_soc_dai_dma_data_get_capture(dai); in axg_tdm_set_tdm_slots() 53 dev_err(dai->dev, "interface has no slot\n"); in axg_tdm_set_tdm_slots() 54 return -EINVAL; in axg_tdm_set_tdm_slots() 57 iface->slots = slots; in axg_tdm_set_tdm_slots() [all …]
|
H A 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 …]
|
/openbmc/linux/sound/soc/codecs/ |
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
/openbmc/linux/sound/soc/fsl/ |
H A 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 …]
|
H A 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 …]
|
/openbmc/linux/sound/soc/sh/ |
H A 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 …]
|
/openbmc/linux/sound/soc/ti/ |
H A 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 …]
|
/openbmc/linux/sound/soc/sti/ |
H A 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 …]
|
/openbmc/linux/sound/soc/mediatek/mt8186/ |
H A 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 …]
|
/openbmc/linux/sound/soc/mediatek/mt6797/ |
H A 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 …]
|