/openbmc/linux/Documentation/sound/soc/ |
H A D | dpcm.rst | 18 DPCM re-uses all the existing component codec, platform and DAI drivers without 23 ------------------------------------- 26 document for all examples :- 32 PCM0 <------------> * * <----DAI0-----> Codec Headset 34 PCM1 <------------> * * <----DAI1-----> Codec Speakers 36 PCM2 <------------> * * <----DAI2-----> MODEM 38 PCM3 <------------> * * <----DAI3-----> BT 40 * * <----DAI4-----> DMIC 42 * * <----DAI5-----> FM 49 of the BE DAIs. The FE PCM devices can also route audio to more than 1 BE DAI. [all …]
|
H A D | machine.rst | 12 the following struct:- 33 /* CPU <--> Codec DAI links */ 41 ---------------- 46 ------------------ 52 Machine DAI Configuration 53 ------------------------- 54 The machine DAI configuration glues all the codec and CPU DAIs together. It can 55 also be used to set up the DAI system clock and for any machine related DAI 59 struct snd_soc_dai_link is used to set up each DAI in your machine. e.g. 62 /* corgi digital audio interface glue - connects codec <--> CPU */ [all …]
|
/openbmc/linux/sound/soc/sof/ |
H A D | sof-client-probes.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // Copyright(c) 2019-2022 Intel Corporation. All rights reserved. 20 #include "sof-client.h" 21 #include "sof-client-probes.h" 34 struct snd_soc_dai *dai) in sof_probes_compr_startup() argument 36 struct snd_soc_card *card = snd_soc_component_get_drvdata(dai->component); in sof_probes_compr_startup() 38 struct sof_probes_priv *priv = cdev->data; in sof_probes_compr_startup() 39 const struct sof_probes_host_ops *ops = priv->host_ops; in sof_probes_compr_startup() 43 return -ENODEV; in sof_probes_compr_startup() 49 ret = ops->startup(cdev, cstream, dai, &priv->extractor_stream_tag); in sof_probes_compr_startup() [all …]
|
/openbmc/linux/sound/soc/intel/boards/ |
H A D | sof_cs42l42.c | 1 // SPDX-License-Identifier: GPL-2.0-only 20 #include <sound/soc-acpi.h> 21 #include <dt-bindings/sound/cs42l42.h> 23 #include "../common/soc-intel-quirks.h" 90 struct sof_card_private *ctx = snd_soc_card_get_drvdata(rtd->card); in sof_hdmi_init() 91 struct snd_soc_dai *dai = asoc_rtd_to_codec(rtd, 0); in sof_hdmi_init() local 94 pcm = devm_kzalloc(rtd->card->dev, sizeof(*pcm), GFP_KERNEL); in sof_hdmi_init() 96 return -ENOMEM; in sof_hdmi_init() 99 pcm->device = rtd->dai_link->id; in sof_hdmi_init() 100 pcm->codec_dai = dai; in sof_hdmi_init() [all …]
|
H A D | sof_ssp_amp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * sof_ssp_amp.c - ASoc Machine driver for Intel platforms 113 if (!ctx->idisp_codec) in sof_card_late_probe() 116 if (list_empty(&ctx->hdmi_pcm_list)) in sof_card_late_probe() 117 return -EINVAL; in sof_card_late_probe() 119 if (ctx->common_hdmi_codec_drv) { in sof_card_late_probe() 120 pcm = list_first_entry(&ctx->hdmi_pcm_list, struct sof_hdmi_pcm, in sof_card_late_probe() 122 component = pcm->codec_dai->component; in sof_card_late_probe() 126 list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) { in sof_card_late_probe() 127 component = pcm->codec_dai->component; in sof_card_late_probe() [all …]
|
H A D | sof_nau8825.c | 1 // SPDX-License-Identifier: GPL-2.0-only 20 #include <sound/soc-acpi.h> 22 #include "../common/soc-intel-quirks.h" 69 struct sof_card_private *ctx = snd_soc_card_get_drvdata(rtd->card); in sof_hdmi_init() 70 struct snd_soc_dai *dai = asoc_rtd_to_codec(rtd, 0); in sof_hdmi_init() local 73 pcm = devm_kzalloc(rtd->card->dev, sizeof(*pcm), GFP_KERNEL); in sof_hdmi_init() 75 return -ENOMEM; in sof_hdmi_init() 78 pcm->device = rtd->dai_link->id; in sof_hdmi_init() 79 pcm->codec_dai = dai; in sof_hdmi_init() 81 list_add_tail(&pcm->head, &ctx->hdmi_pcm_list); in sof_hdmi_init() [all …]
|
H A D | skl_hda_dsp_generic.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright(c) 2015-18 Intel Corporation. 15 #include <sound/soc-acpi.h> 75 dev_dbg(card->dev, "dai link name - %s\n", link->name); in skl_hda_add_dai_link() 76 link->platforms->name = ctx->platform_name; in skl_hda_add_dai_link() 77 link->nonatomic = 1; in skl_hda_add_dai_link() 79 if (!ctx->idisp_codec) in skl_hda_add_dai_link() 82 if (strstr(link->name, "HDMI")) { in skl_hda_add_dai_link() 83 ret = skl_hda_hdmi_add_pcm(card, ctx->pcm_count); in skl_hda_add_dai_link() 88 ctx->dai_index++; in skl_hda_add_dai_link() [all …]
|
H A D | sof_es8336.c | 1 // SPDX-License-Identifier: GPL-2.0-only 21 #include <sound/soc-acpi.h> 24 /* jd-inv + terminating entry */ 56 static int quirk_override = -1; 58 MODULE_PARM_DESC(quirk, "Board-specific quirk override"); 79 { "speakers-enable-gpios", &enable_gpio0, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO }, 84 { "speakers-enable-gpios", &enable_gpio1, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO }, 88 { "speakers-enable-gpios", &enable_gpio0, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO }, 89 { "headphone-enable-gpios", &enable_gpio1, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO }, 94 { "speakers-enable-gpios", &enable_gpio1, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO }, [all …]
|
H A D | sof_pcm512x.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright(c) 2018-2020 Intel Corporation. 20 #include <sound/soc-acpi.h> 22 #include "../common/soc-intel-quirks.h" 55 sof_pcm512x_quirk = (unsigned long)id->driver_data; in sof_pcm512x_quirk_cb() 64 DMI_MATCH(DMI_PRODUCT_NAME, "UP-CHT01"), 73 struct sof_card_private *ctx = snd_soc_card_get_drvdata(rtd->card); in sof_hdmi_init() 74 struct snd_soc_dai *dai = asoc_rtd_to_codec(rtd, 0); in sof_hdmi_init() local 77 pcm = devm_kzalloc(rtd->card->dev, sizeof(*pcm), GFP_KERNEL); in sof_hdmi_init() 79 return -ENOMEM; in sof_hdmi_init() [all …]
|
H A D | hsw_rt5640.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 #include <sound/soc-acpi.h> 39 rate->min = rate->max = 48000; in codec_link_hw_params_fixup() 40 channels->min = channels->max = 2; in codec_link_hw_params_fixup() 56 dev_err(rtd->dev, "set codec sysclk failed: %d\n", ret); in codec_link_hw_params() 60 /* Set correct codec filter for DAI format and clock config. */ in codec_link_hw_params() 61 snd_soc_component_update_bits(codec_dai->component, 0x83, 0xffff, 0x8000); in codec_link_hw_params() 76 SND_SOC_DAILINK_DEF(codec, DAILINK_COMP_ARRAY(COMP_CODEC("i2c-INT33CA:00", "rt5640-aif1"))); 77 SND_SOC_DAILINK_DEF(platform, DAILINK_COMP_ARRAY(COMP_PLATFORM("haswell-pcm-audio"))); 78 SND_SOC_DAILINK_DEF(ssp0_port, DAILINK_COMP_ARRAY(COMP_CPU("ssp0-port"))); [all …]
|
/openbmc/linux/sound/soc/amd/acp/ |
H A D | acp-mach-common.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 19 #include <sound/soc-dapm.h> 29 #include "acp-mach.h" 35 #define NAU8821_CODEC_DAI "nau8821-hifi" 38 #define MAX98388_CODEC_DAI "max98388-aif1" 44 /* Google skyrim proto-0 */ 77 clk_set_rate(drvdata->wclk, srate); in acp_clk_enable() 78 clk_set_rate(drvdata->bclk, srate * bclk_ratio); in acp_clk_enable() 80 return clk_prepare_enable(drvdata->wclk); in acp_clk_enable() 85 DAILINK_COMP_ARRAY(COMP_CODEC("i2c-10EC5682:00", "rt5682-aif1"))); [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/sound/ |
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 | amlogic,axg-sound-card.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/amlogic,axg-sound-card.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Jerome Brunet <jbrunet@baylibre.com> 13 - $ref: sound-card-common.yaml# 17 const: amlogic,axg-sound-card 19 audio-aux-devs: 20 $ref: /schemas/types.yaml#/definitions/phandle-array 23 audio-widgets: [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 | google,sc7180-trogdor.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/google,sc7180-trogdor.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Google SC7180-Trogdor ASoC sound card driver 10 - Rohit kumar <quic_rohkumar@quicinc.com> 11 - Cheng-Yi Chiang <cychiang@chromium.org> 17 - $ref: sound-card-common.yaml# 22 - google,sc7180-trogdor 23 - google,sc7180-coachz [all …]
|
H A D | qcom,apq8096.txt | 5 - compatible: 8 Definition: must be "qcom,apq8096-sndcard" 10 - audio-routing: 53 - model: 56 Definition: The user-visible name of this sound card. 58 - aux-devs 62 amplifiers) that do not appear directly within the DAI 63 links. Should be connected to another audio component 64 using "audio-routing". 70 - 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> 18 - mediatek,mt8186-mt6366-da7219-max98357-sound 24 headset-codec: 28 sound-dai: 31 - sound-dai 33 playback-codecs: [all …]
|
H A D | google,sc7280-herobrine.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/google,sc7280-herobrine.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Google SC7280-Herobrine ASoC sound card driver 10 - Srinivasa Rao Mandadapu <srivasam@codeaurora.org> 11 - Judy Hsiao <judyhsiao@chromium.org> 17 - $ref: sound-card-common.yaml# 22 - google,sc7280-herobrine 24 "#address-cells": [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> 18 - mediatek,mt8186-mt6366-rt1019-rt5682s-sound 19 - mediatek,mt8186-mt6366-rt5682s-max98360-sound 25 dmic-gpios: 28 dmic-gpios optional prop for switching between two DMICs. 32 headset-codec: [all …]
|
/openbmc/linux/sound/soc/generic/ |
H A D | simple-card.c | 1 // SPDX-License-Identifier: GPL-2.0 16 #include <sound/soc-dai.h> 21 #define DAI "sound-dai" macro 22 #define CELL "#sound-dai-cells" 23 #define PREFIX "simple-audio-card," 41 * Get node via "sound-dai = <&phandle port>" in asoc_simple_parse_platform() 44 ret = of_parse_phandle_with_args(node, DAI, CELL, 0, &args); in asoc_simple_parse_platform() 50 dlc->of_node = args.np; in asoc_simple_parse_platform() 61 struct snd_soc_dai *dai; in asoc_simple_parse_dai() local 68 * Get node via "sound-dai = <&phandle port>" in asoc_simple_parse_dai() [all …]
|
H A D | audio-graph-card.c | 1 // SPDX-License-Identifier: GPL-2.0 8 // based on ${LINUX}/sound/soc/generic/simple-card.c 29 struct snd_soc_dapm_context *dapm = w->dapm; in graph_outdrv_event() 30 struct asoc_simple_priv *priv = snd_soc_card_get_drvdata(dapm->card); in graph_outdrv_event() 34 gpiod_set_value_cansleep(priv->pa_gpio, 1); in graph_outdrv_event() 37 gpiod_set_value_cansleep(priv->pa_gpio, 0); in graph_outdrv_event() 40 return -EINVAL; in graph_outdrv_event() 60 struct snd_soc_dai *dai = snd_soc_find_dai_with_mutex(dlc); in soc_component_is_pcm() local 62 if (dai && (dai->component->driver->pcm_construct || in soc_component_is_pcm() 63 (dai->driver->ops && dai->driver->ops->pcm_new))) in soc_component_is_pcm() [all …]
|
/openbmc/linux/drivers/soundwire/ |
H A D | intel.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) 2 // Copyright(c) 2015-17 Intel Corporation. 32 timeout--; in intel_wait_bit() 36 return -EAGAIN; in intel_wait_bit() 68 return scnprintf(buf + pos, RD_BUF - pos, "%4x\t%4x\n", reg, value); in intel_sprintf() 73 struct sdw_intel *sdw = s_file->private; in intel_reg_show() 74 void __iomem *s = sdw->link_res->shim; in intel_reg_show() 75 void __iomem *a = sdw->link_res->alh; in intel_reg_show() 79 unsigned int links, reg; in intel_reg_show() local 83 return -ENOMEM; in intel_reg_show() [all …]
|
/openbmc/linux/sound/soc/amd/ |
H A D | acp3x-rt5682-max9836.c | 1 // SPDX-License-Identifier: GPL-2.0+ 11 #include <sound/soc-dapm.h> 56 struct snd_soc_card *card = rtd->card; in acp3x_5682_init() 58 struct snd_soc_component *component = codec_dai->component; in acp3x_5682_init() 60 dev_info(rtd->dev, "codec dai name = %s\n", codec_dai->name); in acp3x_5682_init() 62 /* set rt5682 dai fmt */ in acp3x_5682_init() 67 dev_err(rtd->card->dev, in acp3x_5682_init() 68 "Failed to set rt5682 dai fmt: %d\n", ret); in acp3x_5682_init() 76 dev_err(rtd->dev, "can't set rt5682 PLL: %d\n", ret); in acp3x_5682_init() 84 dev_err(rtd->dev, in acp3x_5682_init() [all …]
|
/openbmc/linux/arch/arm64/boot/dts/ti/ |
H A D | k3-am62x-sk-hdmi-audio.dtso | 1 // SPDX-License-Identifier: GPL-2.0 3 * Audio playback via HDMI for AM625-SK and AM62-LP SK. 5 * Links: 6 * AM625 SK: https://www.ti.com/tool/SK-AM62 7 * AM62-LP SK: https://www.ti.com/tool/SK-AM62-LP 9 * Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/ 12 /dts-v1/; 16 hdmi_audio: sound-sii9022 { 17 compatible = "simple-audio-card"; 18 simple-audio-card,name = "AM62x-Sil9022-HDMI"; [all …]
|
/openbmc/linux/sound/soc/meson/ |
H A D | axg-card.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 9 #include <sound/soc-dai.h> 11 #include "axg-tdm.h" 12 #include "meson-card.h" 29 * Base params for the codec to codec links 30 * Those will be over-written by the CPU side of the link 44 struct meson_card *priv = snd_soc_card_get_drvdata(rtd->card); in axg_card_tdm_be_hw_params() 46 (struct axg_dai_link_tdm_data *)priv->link_data[rtd->num]; in axg_card_tdm_be_hw_params() 48 return meson_card_i2s_set_sysclk(substream, params, be->mclk_fs); in axg_card_tdm_be_hw_params() 57 struct meson_card *priv = snd_soc_card_get_drvdata(rtd->card); in axg_card_tdm_dai_init() [all …]
|