/linux/Documentation/sound/hd-audio/ |
H A D | controls.rst | 2 HD-Audio Codec-Specific Mixer Controls 6 This file explains the codec-specific mixer controls. 8 Realtek codecs 9 -------------- 12 This is an enum control to change the surround-channel setup, 16 jack-retasking of multi-I/O jacks. 18 Auto-Mute Mode 19 This is an enum control to change the auto-mute behavior of the 20 headphone and line-out jacks. If built-in speakers and headphone 21 and/or line-out jacks are available on a machine, this controls [all …]
|
H A D | models.rst | 2 HD-Audio Codec-Specific Models 8 3-jack in back and a headphone out 9 3stack-digout 10 3-jack in back, a HP out and a SPDIF out 12 5-jack in back, 2-jack in front 13 5stack-digout 14 5-jack in back, 2-jack in front, a SPDIF out 16 6-jack in back, 2-jack in front 17 6stack-digout 18 6-jack with a SPDIF out [all …]
|
H A D | realtek-pc-beep.rst | 6 Realtek HDA codecs and controls a muxer and pair of passthrough mixers that can 9 for codecs that don't have mixer widgets in their output paths. Why it's easier 20 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 24 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 48 into 14h (internal speaker on my machine). Mixed signal **ignores** the mute 58 +--DIV--+--!DIV--+ {1Ah boost control} 60 +--(b == 0)--+--(b != 0)--+ 70 +-----!h-----+-----S-----+ 74 >21h (Headphone)< >14h (Internal Speaker)< 79 All Realtek HDA codecs have a vendor-defined widget with node ID 20h which [all …]
|
/linux/sound/soc/intel/boards/ |
H A D | sof_realtek_common.c | 1 // SPDX-License-Identifier: GPL-2.0-only 10 #include <sound/soc-acpi.h> 11 #include <sound/soc-dai.h> 12 #include <sound/soc-dapm.h> 15 #include "../../codecs/rt1011.h" 16 #include "../../codecs/rt1015.h" 17 #include "../../codecs/rt1308.h" 18 #include "../common/soc-intel-quirks.h" 55 for_each_acpi_dev_match(adev, hid, NULL, -1) in get_num_codecs() 65 /* speaker */ [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_cirrus_common.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Driver for Intel platforms with Cirrus Logic Codecs. 10 #include "../../codecs/cs35l41.h" 34 /* speaker */ 44 * Mapping between ACPI instance id and speaker position. 50 struct snd_soc_card *card = rtd->card; in cs35l41_init() 53 ret = snd_soc_dapm_new_controls(&card->dapm, cs35l41_dapm_widgets, in cs35l41_init() 56 dev_err(rtd->dev, "fail to add dapm controls, ret %d\n", ret); in cs35l41_init() 63 dev_err(rtd->dev, "fail to add card controls, ret %d\n", ret); in cs35l41_init() 67 ret = snd_soc_dapm_add_routes(&card->dapm, cs35l41_dapm_routes, in cs35l41_init() [all …]
|
H A D | bytcht_es8316.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * bytcht_es8316.c - ASoc Machine driver for Intel Baytrail/Cherrytrail 7 * Authors: David Yang <yangxiaohua@everest-semi.com>, 29 #include <sound/soc-acpi.h> 30 #include "../../codecs/es83xx-dsm-common.h" 31 #include "../atom/sst-atom-controls.h" 32 #include "../common/soc-intel-quirks.h" 34 /* jd-inv + terminating entry */ 57 static int quirk_override = -1; 59 MODULE_PARM_DESC(quirk, "Board-specific quirk override"); [all …]
|
H A D | sof_maxim_common.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include <sound/soc-acpi.h> 10 #include <sound/soc-dai.h> 11 #include <sound/soc-dapm.h> 14 #include "../common/soc-intel-quirks.h" 37 for_each_acpi_dev_match(adev, hid, NULL, -1) in get_num_codecs() 49 /* speaker */ 89 * The tx mask indicates which channel(s) contains output IV-sense data and 90 * others should set to Hi-Z. Here we get the channel number from codec's ACPI 91 * device property "maxim,vmon-slot-no" and "maxim,imon-slot-no" to generate the [all …]
|
H A D | sof_rt5682.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright(c) 2019-2020 Intel Corporation. 6 * and speaker codec MAX98357A or RT1015. 22 #include <sound/soc-acpi.h> 23 #include "../../codecs/rt5682.h" 24 #include "../../codecs/rt5682s.h" 25 #include "../../codecs/rt5645.h" 26 #include "../common/soc-intel-quirks.h" 31 /* Driver-specific board quirks: from bit 0 to 7 */ 40 sof_rt5682_quirk = (unsigned long)id->driver_data; in sof_rt5682_quirk_cb() [all …]
|
H A D | sof_nuvoton_common.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Driver for Intel platforms with Nuvoton Codecs. 24 { "Spk", NULL, "Speaker" }, 36 struct snd_soc_card *card = rtd->card; in nau8318_init() 39 ret = snd_soc_dapm_new_controls(&card->dapm, nau8318_widgets, in nau8318_init() 42 dev_err(rtd->dev, "fail to add nau8318 widgets, ret %d\n", ret); in nau8318_init() 49 dev_err(rtd->dev, "fail to add nau8318 kcontrols, ret %d\n", ret); in nau8318_init() 53 ret = snd_soc_dapm_add_routes(&card->dapm, nau8318_routes, in nau8318_init() 57 dev_err(rtd->dev, "fail to add nau8318 routes, ret %d\n", ret); in nau8318_init() 66 link->codecs = nau8318_components; in nau8318_set_dai_link() [all …]
|
H A D | sof_board_helpers.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 #include "../common/soc-intel-quirks.h" 15 struct sof_card_private *ctx = snd_soc_card_get_drvdata(rtd->card); in hdmi_init() 18 ctx->hdmi.hdmi_comp = dai->component; in hdmi_init() 27 if (!ctx->hdmi_num) in sof_intel_board_card_late_probe() 30 if (!ctx->hdmi.idisp_codec) in sof_intel_board_card_late_probe() 33 if (!ctx->hdmi.hdmi_comp) in sof_intel_board_card_late_probe() 34 return -EINVAL; in sof_intel_board_card_late_probe() 36 return hda_dsp_hdmi_build_controls(card, ctx->hdmi.hdmi_comp); in sof_intel_board_card_late_probe() 53 struct snd_soc_card *card = rtd->card; in dmic_init() [all …]
|
H A D | ehl_rt5660.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * ehl_rt5660 - ASOC Machine driver for Elkhart Lake platforms 21 #include <sound/soc-acpi.h> 24 #include "../../codecs/rt5660.h" 38 SOC_DAPM_PIN_SWITCH("Speaker"), 46 SND_SOC_DAPM_SPK("Speaker", NULL), 54 {"Speaker", NULL, "SPO"}, 76 struct sof_card_private *ctx = snd_soc_card_get_drvdata(rtd->card); in hdmi_init() 80 pcm = devm_kzalloc(rtd->card->dev, sizeof(*pcm), GFP_KERNEL); in hdmi_init() 82 return -ENOMEM; in hdmi_init() [all …]
|
/linux/sound/soc/codecs/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 5 # setting - SPI can't be modular so that case doesn't need to be covered. 364 Support for the bus types used to access the codecs to be built must 489 tristate "Analog Devices AU1761 CODEC - I2C" 495 tristate "Analog Devices AU1761 CODEC - SPI" 532 tristate "Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter" 538 tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - HW Mode" 541 Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM 547 will be called snd-soc-adau7118-hw. 550 tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - I2C" [all …]
|
/linux/sound/soc/sdw_utils/ |
H A D | soc_sdw_rt_amp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * soc_sdw_rt_amp - Helpers to handle RT1308/RT1316/RT1318 from generic machine driver 14 #include <sound/soc-acpi.h> 15 #include <sound/soc-dapm.h> 21 #include "../codecs/rt1308.h" 119 pdata = dmi_data->driver_data; in rt_amp_add_device_props() 120 memcpy(¶ms, pdata->bq_params, sizeof(unsigned char) * pdata->bq_params_cnt); in rt_amp_add_device_props() 122 props[0] = PROPERTY_ENTRY_U8_ARRAY("realtek,bq-params", params); in rt_amp_add_device_props() 123 props[1] = PROPERTY_ENTRY_U32("realtek,bq-params-cnt", pdata->bq_params_cnt); in rt_amp_add_device_props() 143 { "Speaker", NULL, "rt1308-1 SPOL" }, [all …]
|
/linux/sound/soc/samsung/ |
H A D | lowland.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 #include <sound/soc-dapm.h> 13 #include "../codecs/wm5100.h" 14 #include "../codecs/wm9081.h" 39 struct snd_soc_component *component = snd_soc_rtd_to_codec(rtd, 0)->component; in lowland_wm5100_init() 58 ret = snd_soc_card_jack_new_pins(rtd->card, "Headset", in lowland_wm5100_init() 73 struct snd_soc_component *component = snd_soc_rtd_to_codec(rtd, 0)->component; in lowland_wm9081_init() 75 snd_soc_dapm_nc_pin(&rtd->card->dapm, "LINEOUT"); in lowland_wm9081_init() 91 DAILINK_COMP_ARRAY(COMP_CPU("samsung-i2s.0")), 92 DAILINK_COMP_ARRAY(COMP_CODEC("wm5100.1-001a", "wm5100-aif1")), [all …]
|
H A D | speyside.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 #include <sound/soc-dapm.h> 13 #include "../codecs/wm8996.h" 14 #include "../codecs/wm9081.h" 27 rtd = snd_soc_get_pcm_runtime(card, &card->dai_link[1]); in speyside_set_bias_level() 30 if (dapm->dev != codec_dai->dev) in speyside_set_bias_level() 63 rtd = snd_soc_get_pcm_runtime(card, &card->dai_link[1]); in speyside_set_bias_level_post() 66 if (dapm->dev != codec_dai->dev) in speyside_set_bias_level_post() 71 if (card->dapm.bias_level == SND_SOC_BIAS_STANDBY) { in speyside_set_bias_level_post() 93 card->dapm.bias_level = level; in speyside_set_bias_level_post() [all …]
|
/linux/Documentation/devicetree/bindings/sound/ |
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 | 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 | 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 | cirrus,madera.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Cirrus Logic Madera class audio CODECs 10 - patches@opensource.cirrus.com 13 This describes audio configuration bindings for these codecs. 21 include/dt-bindings/sound/madera.h 26 - $ref: dai-common.yaml# 29 '#sound-dai-cells': 38 INnAR INnBL INnBR. For non-muxed inputs the first two cells [all …]
|
H A D | wlf,arizona.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - patches@opensource.cirrus.com 20 - $ref: dai-common.yaml# 23 '#sound-dai-cells': 31 signals. Valid values are 0 (Differential), 1 (Single-ended) and 38 $ref: /schemas/types.yaml#/definitions/uint32-array 46 wlf,out-mono: 50 (eg. First entry in the list corresponds to output 1). A non-zero [all …]
|
/linux/sound/soc/rockchip/ |
H A D | rockchip_max98090.c | 1 // SPDX-License-Identifier: GPL-2.0-only 19 #include "../codecs/ts3a227e.h" 21 #define DRV_NAME "rockchip-snd-max98090" 42 SND_SOC_DAPM_SPK("Speaker", NULL) 66 {"Speaker", NULL, "SPKL"}, \ 67 {"Speaker", NULL, "SPKR"} 89 SOC_DAPM_PIN_SWITCH("Speaker") 111 struct snd_soc_dapm_context *dapm = &jack->card->dapm; in rk_jack_event() 167 return -EINVAL; in rk_aif1_hw_params() 173 dev_err(cpu_dai->dev, "Can't set cpu dai clock %d\n", ret); in rk_aif1_hw_params() [all …]
|
/linux/sound/pci/hda/ |
H A D | cirrus_scodec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // Common code for Cirrus side-codecs. 18 int speaker_id = -ENOENT; in cirrus_scodec_get_speaker_id() 21 dev_dbg(dev, "Found Fixed Speaker ID GPIO (index = %d)\n", fixed_gpio_id); in cirrus_scodec_get_speaker_id() 36 count = gpiod_count(dev, "spk-id"); in cirrus_scodec_get_speaker_id() 43 return -EINVAL; in cirrus_scodec_get_speaker_id() 45 dev_dbg(dev, "Found %d Speaker ID GPIOs per Amp\n", gpios_per_amp); in cirrus_scodec_get_speaker_id() 48 speaker_id_desc = gpiod_get_index(dev, "spk-id", i + base_index, in cirrus_scodec_get_speaker_id() 65 dev_dbg(dev, "Speaker ID = %d\n", speaker_id); in cirrus_scodec_get_speaker_id() 71 MODULE_DESCRIPTION("HDA Cirrus side-codec library");
|
/linux/sound/soc/intel/common/ |
H A D | soc-acpi-intel-tgl-match.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * soc-acpi-intel-tgl-match.c - tables and support for TGL ACPI enumeration. 9 #include <sound/soc-acpi.h> 10 #include <sound/soc-acpi-intel-match.h> 11 #include <sound/soc-acpi-intel-ssp-common.h> 12 #include "soc-acpi-intel-sdw-mockup-match.h" 16 .codecs = { "ESSX8316", "ESSX8326", "ESSX8336"}, 92 .name_prefix = "rt1308-1" 98 .name_prefix = "rt1308-2" 107 .name_prefix = "rt1308-1" [all …]
|
/linux/sound/soc/atmel/ |
H A D | mikroe-proto.c | 1 // SPDX-License-Identifier: GPL-2.0-only 17 #include "../codecs/wm8731.h" 23 struct snd_soc_card *card = rtd->card; in snd_proto_init() 30 dev_err(card->dev, "Failed to set WM8731 SYSCLK: %d\n", in snd_proto_init() 44 /* speaker connected to LHPOUT/RHPOUT */ 67 struct device_node *np = pdev->dev.of_node; in snd_proto_probe() 75 dev_err(&pdev->dev, "No device node supplied\n"); in snd_proto_probe() 76 return -EINVAL; in snd_proto_probe() 79 snd_proto.dev = &pdev->dev; in snd_proto_probe() 84 dai = devm_kzalloc(&pdev->dev, sizeof(*dai), GFP_KERNEL); in snd_proto_probe() [all …]
|