/linux/sound/soc/codecs/ |
H A D | framer-codec.c | 1 // SPDX-License-Identifier: GPL-2.0 33 static int framer_dai_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask, in framer_dai_set_tdm_slot() argument 36 struct framer_codec *framer = snd_soc_component_get_drvdata(dai->component); in framer_dai_set_tdm_slot() 40 /* Not set -> default 8 */ in framer_dai_set_tdm_slot() 44 dev_err(dai->dev, "tdm slot width %d not supported\n", width); in framer_dai_set_tdm_slot() 45 return -EINVAL; in framer_dai_set_tdm_slot() 48 framer->max_chan_playback = hweight32(tx_mask); in framer_dai_set_tdm_slot() 49 if (framer->max_chan_playback > FRAMER_NB_CHANNEL) { in framer_dai_set_tdm_slot() 50 dev_err(dai->dev, "too many tx slots defined (mask = 0x%x) supported max %d\n", in framer_dai_set_tdm_slot() 52 return -EINVAL; in framer_dai_set_tdm_slot() [all …]
|
H A D | hda-dai.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Copyright(c) 2021-2022 Intel Corporation 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 51 unsigned int format; member 108 static const char *const pcm3168a_con[] = { "Differential", "Single-Ended" }; 126 /* -100db to 0db, register values 0-54 cause mute */ 127 static const DECLARE_TLV_DB_SCALE(pcm3168a_dac_tlv, -10050, 50, 1); 129 /* -100db to 20db, register values 0-14 cause mute */ 130 static const DECLARE_TLV_DB_SCALE(pcm3168a_adc_tlv, -10050, 50, 1); 133 SOC_SINGLE("DAC Power-Save Switch", PCM3168A_DAC_PWR_MST_FMT, 135 SOC_ENUM("DAC1 Digital Filter roll-off", pcm3168a_d1_roll_off), 136 SOC_ENUM("DAC2 Digital Filter roll-off", pcm3168a_d2_roll_off), [all …]
|
/linux/Documentation/devicetree/bindings/sound/ |
H A D | mt8192-mt6359-rt1015-rt5682.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/mt8192-mt6359-rt1015-rt5682.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Jiaxin Yu <jiaxin.yu@mediatek.com> 11 - Shane Chien <shane.chien@mediatek.com> 17 - $ref: sound-card-common.yaml# 22 - mediatek,mt8192_mt6359_rt1015_rt5682 23 - mediatek,mt8192_mt6359_rt1015p_rt5682 24 - mediatek,mt8192_mt6359_rt1015p_rt5682s [all …]
|
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 | mt8186-mt6366-da7219-max98357.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/mt8186-mt6366-da7219-max98357.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Jiaxin Yu <jiaxin.yu@mediatek.com> 16 - $ref: sound-card-common.yaml# 21 - mediatek,mt8186-mt6366-da7219-max98357-sound 23 audio-routing: 24 $ref: /schemas/types.yaml#/definitions/non-unique-string-array 35 - HDMI1 [all …]
|
H A D | mt8186-mt6366-rt1019-rt5682s.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/mt8186-mt6366-rt1019-rt5682s.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Jiaxin Yu <jiaxin.yu@mediatek.com> 16 - $ref: sound-card-common.yaml# 21 - mediatek,mt8186-mt6366-rt1019-rt5682s-sound 22 - mediatek,mt8186-mt6366-rt5682s-max98360-sound 23 - mediatek,mt8186-mt6366-rt5650-sound 25 audio-routing: [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 several DAIs. For each DAI, the DAI is working in interleaved mode 16 if only one QMC channel is used by the DAI or it is working in non-interleaved 17 mode if several QMC channels are used by the DAI. 20 - $ref: dai-common.yaml# 24 const: fsl,qmc-audio [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 | 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 …]
|
H A D | mt8195-mt6359.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/mt8195-mt6359.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Trevor Wu <trevor.wu@mediatek.com> 16 - $ref: sound-card-common.yaml# 21 - mediatek,mt8195_mt6359_rt1019_rt5682 22 - mediatek,mt8195_mt6359_rt1011_rt5682 23 - mediatek,mt8195_mt6359_max98390_rt5682 29 audio-routing: [all …]
|
/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 …]
|
/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 …]
|
/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 …]
|
/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 …]
|
/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 …]
|
/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 …]
|
/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 …]
|
/linux/sound/soc/mediatek/mt8365/ |
H A D | mt8365-dai-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * MediaTek 8365 ALSA SoC Audio DAI PCM Control 13 #include "mt8365-afe-clk.h" 14 #include "mt8365-afe-common.h" 20 unsigned int format; member 23 /* DAI Drivers */ 27 regmap_update_bits(afe->regmap, PCM_INTF_CON1, in mt8365_dai_enable_pcm1() 33 regmap_update_bits(afe->regmap, PCM_INTF_CON1, in mt8365_dai_disable_pcm1() 38 struct snd_soc_dai *dai) in mt8365_dai_configure_pcm1() argument 40 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mt8365_dai_configure_pcm1() [all …]
|
/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(const 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 …]
|
/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 …]
|
/linux/arch/arm/boot/dts/marvell/ |
H A D | armada-388-db.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 4 * (DB-88F6820) 8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 11 /dts-v1/; 12 #include "armada-388.dtsi" 16 compatible = "marvell,a385-db", "marvell,armada388", 20 stdout-path = "serial0:115200n8"; 35 internal-regs { 38 clock-frequency = <100000>; 39 audio_codec: audio-codec@4a { [all …]
|
/linux/sound/soc/mediatek/common/ |
H A D | mtk-afe-fe-dai.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * mtk-afe-fe-dais.c -- Mediatek afe fe dai operator 14 #include "mtk-afe-platform-driver.h" 16 #include "mtk-afe-fe-dai.h" 17 #include "mtk-base-afe.h" 38 struct snd_soc_dai *dai) in mtk_afe_fe_startup() argument 41 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_afe_fe_startup() 42 struct snd_pcm_runtime *runtime = substream->runtime; in mtk_afe_fe_startup() 43 int memif_num = snd_soc_rtd_to_cpu(rtd, 0)->id; in mtk_afe_fe_startup() 44 struct mtk_base_afe_memif *memif = &afe->memif[memif_num]; in mtk_afe_fe_startup() [all …]
|
/linux/arch/arm/boot/dts/intel/pxa/ |
H A D | pxa300-raumfeld-connector.dts | 1 // SPDX-License-Identifier: GPL-2.0 3 /dts-v1/; 5 #include "pxa300-raumfeld-common.dtsi" 6 #include "pxa300-raumfeld-tuneable-clock.dtsi" 10 compatible = "raumfeld,raumfeld-connector-pxa303", "marvell,pxa300"; 13 compatible = "simple-audio-card"; 14 simple-audio-card,name = "Raumfeld Connector"; 15 #address-cells = <1>; 16 #size-cells = <0>; 18 simple-audio-card,dai-link@0 { [all …]
|