/openbmc/linux/Documentation/devicetree/bindings/sound/ |
H A D | imx-audio-card.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/imx-audio-card.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Shengjiu Wang <shengjiu.wang@nxp.com> 13 - $ref: sound-card-common.yaml# 18 - fsl,imx-audio-card 21 ".*-dai-link$": 23 Each subnode represents a dai link. Subnodes of each dai links would be 29 link-name: [all …]
|
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 | 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 …]
|
H A D | mediatek,mt8188-mt6359.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/mediatek,mt8188-mt6359.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Trevor Wu <trevor.wu@mediatek.com> 13 - $ref: sound-card-common.yaml# 18 - mediatek,mt8188-mt6359-evb 19 - mediatek,mt8188-nau8825 21 audio-routing: 31 "^dai-link-[0-9]+$": [all …]
|
H A D | amlogic,g12a-tohdmitx.txt | 4 - compatible: "amlogic,g12a-tohdmitx" or 5 "amlogic,sm1-tohdmitx" 6 - reg: physical base address of the controller and length of memory 8 - #sound-dai-cells: should be 1. 9 - resets: phandle to the dedicated reset line of the hdmitx glue. 13 tohdmitx: audio-controller@744 { 14 compatible = "amlogic,g12a-tohdmitx"; 16 #sound-dai-cells = <1>; 20 Example of an 'amlogic,axg-sound-card': 23 compatible = "amlogic,axg-sound-card"; [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 | amlogic,gx-sound-card.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/sound/amlogic,gx-sound-card.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Jerome Brunet <jbrunet@baylibre.com> 13 - $ref: sound-card-common.yaml# 18 - const: amlogic,gx-sound-card 20 audio-aux-devs: 21 $ref: /schemas/types.yaml#/definitions/phandle-array 24 audio-widgets: [all …]
|
H A D | fsl,qmc-audio.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/fsl,qmc-audio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Herve Codina <herve.codina@bootlin.com> 15 It provides as many DAI as the number of QMC channel used. 18 - $ref: dai-common.yaml# 22 const: fsl,qmc-audio 24 '#address-cells': 26 '#size-cells': [all …]
|
H A D | st,sti-asoc-card.txt | 3 The sti ASoC Sound Card can be used, for all sti SoCs using internal sti-sas 8 Documentation/devicetree/bindings/sound/simple-card.yaml. 10 1) sti-uniperiph-dai: audio dai device. 11 --------------------------------------- 14 - compatible: "st,stih407-uni-player-hdmi", "st,stih407-uni-player-pcm-out", 15 "st,stih407-uni-player-dac", "st,stih407-uni-player-spdif", 16 "st,stih407-uni-reader-pcm_in", "st,stih407-uni-reader-hdmi", 18 - st,syscfg: phandle to boot-device system configuration registers 20 - clock-names: name of the clocks listed in clocks property in the same order 22 - reg: CPU DAI IP Base address and size entries, listed in same [all …]
|
/openbmc/linux/include/sound/ |
H A D | soc-dai.h | 1 /* SPDX-License-Identifier: GPL-2.0 3 * linux/sound/soc-dai.h -- ALSA SoC Layer 5 * Copyright: 2005-2008 Wolfson Microelectronics. PLC. 7 * Digital Audio Interface (DAI) API. 22 * DAI hardware audio formats. 39 /* Describes the possible PCM format */ 56 * DAI Clock gating. 58 * DAI bit clocks can be gated (disabled) when the DAI is not 64 /* Describes the possible PCM format */ 66 * define GATED -> CONT. GATED will be selected if both are selected. [all …]
|
/openbmc/linux/sound/soc/codecs/ |
H A D | hda-dai.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Copyright(c) 2021-2022 Intel Corporation. All rights reserved. 12 static int hda_codec_dai_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) in hda_codec_dai_startup() argument 19 codec = dev_to_hda_codec(dai->dev); in hda_codec_dai_startup() 20 stream_info = snd_soc_dai_get_dma_data(dai, substream); in hda_codec_dai_startup() 21 pcm = container_of(stream_info, struct hda_pcm, stream[substream->stream]); in hda_codec_dai_startup() 23 dev_dbg(dai->dev, "open stream codec: %08x, info: %p, pcm: %p %s substream: %p\n", in hda_codec_dai_startup() 24 codec->core.vendor_id, stream_info, pcm, pcm->name, substream); in hda_codec_dai_startup() 28 ret = stream_info->ops.open(stream_info, codec, substream); in hda_codec_dai_startup() 30 dev_err(dai->dev, "codec open failed: %d\n", ret); in hda_codec_dai_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() 70 u16 format = 0; in si476x_codec_set_dai_fmt() local 73 return -EINVAL; in si476x_codec_set_dai_fmt() 77 format |= SI476X_DAUDIO_MODE_DSP_A; in si476x_codec_set_dai_fmt() 80 format |= SI476X_DAUDIO_MODE_DSP_B; in si476x_codec_set_dai_fmt() 83 format |= SI476X_DAUDIO_MODE_I2S; in si476x_codec_set_dai_fmt() 86 format |= SI476X_DAUDIO_MODE_RIGHT_J; in si476x_codec_set_dai_fmt() [all …]
|
H A D | pcm3168a.c | 1 // SPDX-License-Identifier: GPL-2.0-only 52 unsigned int format; member 109 static const char *const pcm3168a_con[] = { "Differential", "Single-Ended" }; 127 /* -100db to 0db, register values 0-54 cause mute */ 128 static const DECLARE_TLV_DB_SCALE(pcm3168a_dac_tlv, -10050, 50, 1); 130 /* -100db to 20db, register values 0-14 cause mute */ 131 static const DECLARE_TLV_DB_SCALE(pcm3168a_adc_tlv, -10050, 50, 1); 134 SOC_SINGLE("DAC Power-Save Switch", PCM3168A_DAC_PWR_MST_FMT, 136 SOC_ENUM("DAC1 Digital Filter roll-off", pcm3168a_d1_roll_off), 137 SOC_ENUM("DAC2 Digital Filter roll-off", pcm3168a_d2_roll_off), [all …]
|
/openbmc/linux/sound/soc/mediatek/mt8183/ |
H A 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" 72 static unsigned int get_hdmi_wlen(snd_pcm_format_t format) in get_hdmi_wlen() argument 74 return snd_pcm_format_physical_width(format) <= 16 ? in get_hdmi_wlen() 78 static unsigned int get_tdm_wlen(snd_pcm_format_t format) in get_tdm_wlen() argument 80 return snd_pcm_format_physical_width(format) <= 16 ? in get_tdm_wlen() [all …]
|
/openbmc/linux/sound/soc/mediatek/mt8195/ |
H A D | mt8195-dai-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * MediaTek ALSA SoC Audio DAI PCM I/F Control 12 #include "mt8195-afe-clk.h" 13 #include "mt8195-afe-common.h" 14 #include "mt8195-reg.h" 39 unsigned int format; member 60 return -EINVAL; in mtk_dai_pcm_mode() 120 struct snd_soc_dai *dai) in mtk_dai_pcm_configure() argument 122 struct snd_pcm_runtime * const runtime = substream->runtime; in mtk_dai_pcm_configure() 123 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_pcm_configure() [all …]
|
/openbmc/linux/sound/soc/mediatek/mt8188/ |
H A D | mt8188-dai-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * MediaTek ALSA SoC Audio DAI PCM I/F Control 8 * Chun-Chia Chiu <chun-chia.chiu@mediatek.com> 14 #include "mt8188-afe-clk.h" 15 #include "mt8188-afe-common.h" 16 #include "mt8188-reg.h" 41 unsigned int format; member 62 return -EINVAL; in mtk_dai_pcm_mode() 121 struct snd_soc_dai *dai) in mtk_dai_pcm_configure() argument 123 struct snd_pcm_runtime * const runtime = substream->runtime; in mtk_dai_pcm_configure() [all …]
|
/openbmc/linux/sound/soc/fsl/ |
H A D | fsl_qmc_audio.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/dma-mapping.h> 49 struct snd_card *card = rtd->card->snd_card; in qmc_audio_pcm_construct() 52 ret = dma_coerce_mask_and_coherent(card->dev, DMA_BIT_MASK(32)); in qmc_audio_pcm_construct() 56 snd_pcm_set_managed_buffer_all(rtd->pcm, SNDRV_DMA_TYPE_DEV, card->dev, in qmc_audio_pcm_construct() 65 struct snd_pcm_runtime *runtime = substream->runtime; in qmc_audio_pcm_hw_params() 66 struct qmc_dai_prtd *prtd = substream->runtime->private_data; in qmc_audio_pcm_hw_params() 68 prtd->dma_buffer_start = runtime->dma_addr; in qmc_audio_pcm_hw_params() 69 prtd->dma_buffer_end = runtime->dma_addr + params_buffer_bytes(params); in qmc_audio_pcm_hw_params() 70 prtd->period_size = params_period_bytes(params); in qmc_audio_pcm_hw_params() [all …]
|
/openbmc/linux/sound/soc/mediatek/mt7986/ |
H A D | mt7986-dai-etdm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * MediaTek ALSA SoC Audio DAI eTDM Control 14 #include "mt7986-afe-common.h" 15 #include "mt7986-reg.h" 43 unsigned int format; member 87 /* dai component */ 117 /* dai ops */ 119 struct snd_soc_dai *dai) in mtk_dai_etdm_startup() argument 121 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_etdm_startup() 122 struct mt7986_afe_private *afe_priv = afe->platform_priv; in mtk_dai_etdm_startup() [all …]
|
/openbmc/linux/sound/soc/mediatek/mt8192/ |
H A 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" 70 static unsigned int get_tdm_wlen(snd_pcm_format_t format) in get_tdm_wlen() argument 72 return snd_pcm_format_physical_width(format) <= 16 ? in get_tdm_wlen() 76 static unsigned int get_tdm_channel_bck(snd_pcm_format_t format) in get_tdm_channel_bck() argument 78 return snd_pcm_format_physical_width(format) <= 16 ? in get_tdm_channel_bck() [all …]
|
/openbmc/linux/drivers/staging/greybus/ |
H A 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() 51 u32 format, rate; 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 …]
|
/openbmc/linux/sound/soc/bcm/ |
H A D | bcm2835-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-only 16 * OMAP ALSA SoC DAI driver using McBSP port 21 * Freescale SSI ALSA SoC Digital Audio Interface (DAI) driver 23 * Copyright 2007-2010 Freescale Semiconductor, Inc. 130 unsigned int provider = dev->fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK; in bcm2835_i2s_start_clock() 132 if (dev->clk_prepared) in bcm2835_i2s_start_clock() 138 clk_prepare_enable(dev->clk); in bcm2835_i2s_start_clock() 139 dev->clk_prepared = true; in bcm2835_i2s_start_clock() 148 if (dev->clk_prepared) in bcm2835_i2s_stop_clock() 149 clk_disable_unprepare(dev->clk); in bcm2835_i2s_stop_clock() [all …]
|
/openbmc/linux/sound/soc/spear/ |
H A D | spdif_in.c | 31 u32 format; member 52 writel(ctrl, host->io_base + SPDIF_IN_CTRL); in spdif_in_configure() 53 writel(0xF, host->io_base + SPDIF_IN_IRQ_MASK); in spdif_in_configure() 56 static int spdif_in_dai_probe(struct snd_soc_dai *dai) in spdif_in_dai_probe() argument 58 struct spdif_in_dev *host = snd_soc_dai_get_drvdata(dai); in spdif_in_dai_probe() 60 host->dma_params_rx.filter_data = &host->dma_params; in spdif_in_dai_probe() 61 dai->capture_dma_data = &host->dma_params_rx; in spdif_in_dai_probe() 67 struct snd_soc_dai *dai) in spdif_in_shutdown() argument 69 struct spdif_in_dev *host = snd_soc_dai_get_drvdata(dai); in spdif_in_shutdown() 71 if (substream->stream != SNDRV_PCM_STREAM_CAPTURE) in spdif_in_shutdown() [all …]
|
/openbmc/linux/sound/soc/sti/ |
H A D | sti_uniperif.c | 1 // SPDX-License-Identifier: GPL-2.0-only 15 * User frame size shall be 2, 4, 6 or 8 32-bits words length 80 { .compatible = "st,stih407-uni-player-hdmi", 83 { .compatible = "st,stih407-uni-player-pcm-out", 86 { .compatible = "st,stih407-uni-player-dac", 89 { .compatible = "st,stih407-uni-player-spdif", 92 { .compatible = "st,stih407-uni-reader-pcm_in", 95 { .compatible = "st,stih407-uni-reader-hdmi", 109 if (uni->ver < SND_ST_UNIPERIF_VERSION_UNI_PLR_TOP_1_0) { in sti_uniperiph_reset() 112 count--; in sti_uniperiph_reset() [all …]
|
/openbmc/linux/sound/soc/mediatek/mt8186/ |
H A D | mt8186-dai-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // MediaTek ALSA SoC Audio DAI I2S Control 10 #include "mt8186-afe-common.h" 11 #include "mt8186-afe-gpio.h" 12 #include "mt8186-interconnection.h" 99 /* dai component */ 122 struct snd_soc_component *cmpnt = snd_soc_dapm_to_component(w->dapm); in mtk_pcm_en_event() 125 dev_dbg(afe->dev, "%s(), name %s, event 0x%x\n", in mtk_pcm_en_event() 126 __func__, w->name, event); in mtk_pcm_en_event() 130 mt8186_afe_gpio_request(afe->dev, true, MT8186_DAI_PCM, 0); in mtk_pcm_en_event() [all …]
|
/openbmc/linux/sound/soc/ |
H A D | soc-dai.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // soc-dai.c 10 #include <sound/soc-dai.h> 11 #include <sound/soc-link.h> 13 #define soc_dai_ret(dai, ret) _soc_dai_ret(dai, __func__, ret) argument 14 static inline int _soc_dai_ret(struct snd_soc_dai *dai, in _soc_dai_ret() argument 23 case -EPROBE_DEFER: in _soc_dai_ret() 24 case -ENOTSUPP: in _soc_dai_ret() 27 dev_err(dai->dev, in _soc_dai_ret() 29 func, dai->name, ret); in _soc_dai_ret() [all …]
|