/linux/sound/hda/codecs/hdmi/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 4 tristate "HD-audio HDMI codec support" 6 Say Y or M here to include HD-audio HDMI/DislayPort codec support. 8 This will enable all HDMI/DP codec drivers as default, but you can 9 enable/disable each codec driver individually, too (only when 15 tristate "Generic HDMI/DisplayPort HD-audio codec support" if EXPERT 20 Say Y or M here to include Generic HDMI and DisplayPort HD-audio 21 codec support. 24 to assure the multiple streams for DP-MST support. 27 tristate "Simple HDMI/DisplayPort HD-audio codec support" if EXPERT [all …]
|
H A D | tegrahdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Nvidia Tegra HDMI codec support 22 * The HDA codec on NVIDIA Tegra contains two scratch registers that are 23 * accessed using vendor-defined verbs. These registers can be used for 24 * interoperability between the HDA and HDMI drivers. 31 * The SCRATCH0 register is used to notify the HDMI codec of changes in audio 33 * be raised in the HDMI codec. The remainder of the bits is arbitrary. This 38 * +---------+-------+--------+--------+ 40 * +-----------------------------------| 45 * trigger to hdmi. [all …]
|
H A D | nvhdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Nvidia HDMI codec support 22 * NVIDIA codecs ignore ASP mapping for 2ch - confirmed on: 23 * - 0x10de0015 24 * - 0x10de0040 29 if (cap->ca_index == 0x00 && channels == 2) in nvhdmi_chmap_cea_alloc_validate_get_type() 33 if (cap->channels != channels) in nvhdmi_chmap_cea_alloc_validate_get_type() 34 return -1; in nvhdmi_chmap_cea_alloc_validate_get_type() 44 return -EINVAL; in nvhdmi_chmap_validate() 49 /* map from pin NID to port; port is 0-based */ [all …]
|
H A D | intelhdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Intel HDMI codec support 19 MODULE_PARM_DESC(enable_silent_stream, "Enable Silent Stream for HDMI devices"); 36 static void intel_haswell_enable_all_pins(struct hda_codec *codec, in intel_haswell_enable_all_pins() argument 40 struct hdmi_spec *spec = codec->spec; in intel_haswell_enable_all_pins() 42 vendor_param = snd_hda_codec_read(codec, spec->vendor_nid, 0, in intel_haswell_enable_all_pins() 44 if (vendor_param == -1 || vendor_param & INTEL_EN_ALL_PIN_CVTS) in intel_haswell_enable_all_pins() 48 vendor_param = snd_hda_codec_read(codec, spec->vendor_nid, 0, in intel_haswell_enable_all_pins() 50 if (vendor_param == -1) in intel_haswell_enable_all_pins() 54 snd_hda_codec_update_widgets(codec); in intel_haswell_enable_all_pins() [all …]
|
H A D | hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * hdmi.c - routines for HDMI/DisplayPort codecs 6 * Copyright(c) 2008-2010 Intel Corporation 50 int snd_hda_hdmi_pin_id_to_pin_index(struct hda_codec *codec, in snd_hda_hdmi_pin_id_to_pin_index() argument 53 struct hdmi_spec *spec = codec->spec; in snd_hda_hdmi_pin_id_to_pin_index() 58 * (dev_id == -1) means it is NON-MST pin in snd_hda_hdmi_pin_id_to_pin_index() 61 if (dev_id == -1) in snd_hda_hdmi_pin_id_to_pin_index() 64 for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) { in snd_hda_hdmi_pin_id_to_pin_index() 66 if ((per_pin->pin_nid == pin_nid) && in snd_hda_hdmi_pin_id_to_pin_index() 67 (per_pin->dev_id == dev_id)) in snd_hda_hdmi_pin_id_to_pin_index() [all …]
|
H A D | nvhdmi-mcp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Legacy Nvidia HDMI codec support 50 static int nvhdmi_mcp_init(struct hda_codec *codec) in nvhdmi_mcp_init() argument 52 struct hdmi_spec *spec = codec->spe in nvhdmi_mcp_init() 61 nvhdmi_8ch_7x_set_info_frame_parameters(struct hda_codec * codec,int channels) nvhdmi_8ch_7x_set_info_frame_parameters() argument 96 nvhdmi_8ch_7x_pcm_close(struct hda_pcm_stream * hinfo,struct hda_codec * codec,struct snd_pcm_substream * substream) nvhdmi_8ch_7x_pcm_close() argument 122 nvhdmi_8ch_7x_pcm_prepare(struct hda_pcm_stream * hinfo,struct hda_codec * codec,unsigned int stream_tag,unsigned int format,struct snd_pcm_substream * substream) nvhdmi_8ch_7x_pcm_prepare() argument 237 nvhdmi_mcp_build_pcms(struct hda_codec * codec) nvhdmi_mcp_build_pcms() argument 251 nvhdmi_mcp_build_controls(struct hda_codec * codec) nvhdmi_mcp_build_controls() argument 305 nvhdmi_mcp_probe(struct hda_codec * codec,const struct hda_device_id * id) nvhdmi_mcp_probe() argument [all...] |
H A D | simplehdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Non-generic simple HDMI codec support 11 int snd_hda_hdmi_simple_build_pcms(struct hda_codec *codec) in snd_hda_hdmi_simple_build_pcms() argument 13 struct hdmi_spec *spec = codec->spec; in snd_hda_hdmi_simple_build_pcms() 20 chans = get_wcaps(codec, per_cvt->cvt_nid); in snd_hda_hdmi_simple_build_pcms() 23 info = snd_hda_codec_pcm_new(codec, "HDMI 0"); in snd_hda_hdmi_simple_build_pcms() 25 return -ENOMEM; in snd_hda_hdmi_simple_build_pcms() 26 spec->pcm_rec[0].pcm = info; in snd_hda_hdmi_simple_build_pcms() 27 info->pcm_type = HDA_PCM_TYPE_HDMI; in snd_hda_hdmi_simple_build_pcms() 28 pstr = &info->stream[SNDRV_PCM_STREAM_PLAYBACK]; in snd_hda_hdmi_simple_build_pcms() [all …]
|
H A D | hdmi_local.h | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * HD-audio HDMI codec driver 41 struct hda_codec *codec; member 45 struct hdmi_pcm *pcm; /* pointer to spec->pcm_rec[n] dynamically*/ 46 int pcm_idx; /* which pcm is attached. -1 means no pcm is attached */ 53 bool chmap_set; /* channel-map override by ALSA API? */ 54 unsigned char chmap[8]; /* ALSA API channel-map */ 60 /* operations used by generic code that can be overridden by codec drivers */ 62 int (*pin_get_eld)(struct hda_codec *codec, hda_nid_t pin_nid, 65 void (*pin_setup_infoframe)(struct hda_codec *codec, hda_nid_t pin_nid, [all …]
|
H A D | atihdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * ATI/AMD codec support 17 #define is_amdhdmi_rev3_or_later(codec) \ argument 18 ((codec)->core.vendor_id == 0x1002aa01 && \ 19 ((codec)->core.revision_id & 0xff00) >= 0x0300) 20 #define has_amd_full_remap_support(codec) is_amdhdmi_rev3_or_later(codec) argument 79 /* in standard HDMI VSDB format */ 93 static int get_eld_ati(struct hda_codec *codec, hda_nid_t nid, in get_eld_ati() argument 102 spkalloc = snd_hda_codec_read(codec, nid, 0, ATI_VERB_GET_SPEAKER_ALLOCATION, 0); in get_eld_ati() 105 codec_info(codec, "HDMI ATI/AMD: no speaker allocation for ELD\n"); in get_eld_ati() [all …]
|
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 subdir-ccflags-y += -I$(src)/../../common 4 snd-hda-codec-hdmi-y := hdmi.o eld.o 5 snd-hda-codec-simplehdmi-y := simplehdmi.o 6 snd-hda-codec-intelhdmi-y := intelhdmi.o 7 snd-hda-codec-atihdmi-y := atihdmi.o 8 snd-hda-codec-nvhdmi-y := nvhdmi.o 9 snd-hda-codec-nvhdmi-mcp-y := nvhdmi-mcp.o 10 snd-hda-codec-tegrahdmi-y := tegrahdmi.o 12 obj-$(CONFIG_SND_HDA_CODEC_HDMI_GENERIC) += snd-hda-codec-hdmi.o [all …]
|
H A D | eld.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 29 * - HDMI audio InfoFrame (source to sink) 30 * - CEA E-EDID Extension (sink to source) 33 static unsigned int hdmi_get_eld_data(struct hda_codec *codec, hda_nid_t nid, in hdmi_get_eld_data() argument 38 val = snd_hda_codec_read(codec, nid, 0, in hdmi_get_eld_data() 41 codec_info(codec, "HDMI: ELD data byte %d: 0x%x\n", byte_index, val); in hdmi_get_eld_data() 46 int snd_hdmi_get_eld_size(struct hda_codec *codec, hda_nid_t nid) in snd_hdmi_get_eld_size() argument 48 return snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_HDMI_DIP_SIZE, in snd_hdmi_get_eld_size() 52 int snd_hdmi_get_eld(struct hda_codec *codec, hda_nid_t nid, in snd_hdmi_get_eld() argument 64 size = snd_hdmi_get_eld_size(codec, nid); in snd_hdmi_get_eld() [all …]
|
/linux/Documentation/devicetree/bindings/sound/ |
H A D | rockchip-max98090.txt | 1 ROCKCHIP with MAX98090 CODEC 4 - compatible: "rockchip,rockchip-audio-max98090" 5 - rockchip,model: The user-visible name of this sound complex 6 - rockchip,i2s-controller: The phandle of the Rockchip I2S controller that's 7 connected to the CODEC 10 - rockchip,audio-codec: The phandle of the MAX98090 audio codec. 11 - rockchip,headset-codec: The phandle of Ext chip for jack detection. This is 12 required if there is rockchip,audio-codec. 13 - rockchip,hdmi-codec: The phandle of HDMI device for HDMI codec. 17 /* For max98090-only board. */ [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 24 - mediatek,mt8195_mt6359 [all …]
|
H A D | samsung,snow.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: Google Snow audio complex with MAX9809x codec 10 - Krzysztof Kozlowski <krzk@kernel.org> 11 - Sylwester Nawrocki <s.nawrocki@samsung.com> 16 - google,snow-audio-max98090 17 - google,snow-audio-max98091 18 - google,snow-audio-max98095 20 codec: [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 | st,sti-asoc-card.txt | 3 The sti ASoC Sound Card can be used, for all sti SoCs using internal sti-sas 4 codec or external codecs. 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 [all …]
|
/linux/sound/soc/intel/boards/ |
H A D | sof_board_helpers.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 #include "../common/soc-intel-quirks.h" 11 * Intel HDMI DAI Link 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() [all …]
|
/linux/include/sound/ |
H A D | hdmi-codec.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * hdmi-codec.h - HDMI Codec drive [all...] |
/linux/sound/soc/meson/ |
H A D | aiu-codec-ctrl.c | 1 // SPDX-License-Identifier: GPL-2.0 9 #include <sound/soc-dai.h> 11 #include <dt-bindings/sound/meson-aiu.h> 13 #include "meson-codec-glue.h" 30 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; in aiu_codec_ctrl_mux_put_enum() 33 mux = snd_soc_enum_item_to_val(e, ucontrol->value.enumerated.item[0]); in aiu_codec_ctrl_mux_put_enum() 34 changed = snd_soc_component_test_bits(component, e->reg, in aiu_codec_ctrl_mux_put_enum() 45 snd_soc_component_update_bits(component, e->reg, in aiu_codec_ctrl_mux_put_enum() 52 snd_soc_component_update_bits(component, e->reg, in aiu_codec_ctrl_mux_put_enum() 68 SOC_DAPM_ENUM_EXT("HDMI Source", aiu_hdmi_ctrl_mux_enum, [all …]
|
/linux/sound/soc/codecs/ |
H A D | hdac_hda.c | 1 // SPDX-License-Identifier: GPL-2.0 2 // Copyright(c) 2015-18 Intel Corporation. 5 * hdac_hda.c - ASoC extensions to reuse the legacy HDA codec drivers 7 * codec drivers using hdac_ext_bus_ops ops. 43 …ESC(patch, "Patch file array for Intel HD audio interface. The array index is the codec address."); 74 .name = "Analog Codec DAI", 77 .stream_name = "Analog Codec Playback", 85 .stream_name = "Analog Codec Capture", 95 .name = "Digital Codec DAI", 98 .stream_name = "Digital Codec Playback", [all …]
|
/linux/sound/soc/ti/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 36 - daVinci devices 37 - Sitara line of SoCs (AM335x, AM438x, etc) 38 - OMAP4 39 - DRA7x devices 40 - Keystone devices 41 - K3 devices (am654, j721e) 77 tristate "SoC Audio support for Nokia RX-51" 83 Say Y or M if you want to add support for SoC audio on Nokia RX-51 96 tristate "SoC Audio support for OMAP3 based boards with twl4030 codec" [all …]
|
/linux/drivers/gpu/drm/display/ |
H A D | drm_hdmi_audio_helper.c | 1 // SPDX-License-Identifier: MIT 15 #include <sound/hdmi-codec.h> 21 connector->hdmi_audio.funcs; in drm_connector_hdmi_audio_startup() 23 if (funcs->startup) in drm_connector_hdmi_audio_startup() 24 return funcs->startup(connector); in drm_connector_hdmi_audio_startup() 35 connector->hdmi_audio.funcs; in drm_connector_hdmi_audio_prepare() 37 return funcs->prepare(connector, fmt, hparms); in drm_connector_hdmi_audio_prepare() 44 connector->hdmi_audio.funcs; in drm_connector_hdmi_audio_shutdown() 46 return funcs->shutdown(connector); in drm_connector_hdmi_audio_shutdown() 54 connector->hdmi_audio.funcs; in drm_connector_hdmi_audio_mute_stream() [all …]
|
/linux/sound/hda/common/ |
H A D | bind.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * HD-audio codec driver binding 19 * find a matching codec id 23 struct hda_codec *codec = container_of(dev, struct hda_codec, core); in hda_codec_match() local 28 u32 id = codec->probe_id ? codec->probe_id : codec->core.vendor_id; in hda_codec_match() 29 u32 rev_id = codec->core.revision_id; in hda_codec_match() 31 for (list = driver->id; list->vendor_id; list++) { in hda_codec_match() 32 if (list->vendor_id == id && in hda_codec_match() 33 (!list->rev_id || list->rev_id == rev_id)) { in hda_codec_match() 34 codec->preset = list; in hda_codec_match() [all …]
|
/linux/arch/arm64/boot/dts/amlogic/ |
H A D | meson-g12b-dreambox.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 #include "meson-g12b-w400.dtsi" 7 #include <dt-bindings/gpio/gpio.h> 8 #include <dt-bindings/leds/common.h> 9 #include <dt-bindings/sound/meson-g12a-tohdmitx.h> 12 cvbs-connector { 16 sdio_pwrseq: sdio-pwrseq { 17 compatible = "mmc-pwrseq-simple"; 18 reset-gpios = <&gpio GPIOA_11 GPIO_ACTIVE_LOW>; 20 clock-names = "ext_clock"; [all …]
|
H A D | meson-g12a-u200.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 /dts-v1/; 8 #include "meson-g12a.dtsi" 9 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/gpio/meson-g12a-gpio.h> 11 #include <dt-bindings/sound/meson-g12a-tohdmitx.h> 12 #include <dt-bindings/sound/meson-g12a-toacodec.h> 23 dioo2133: audio-amplifier-0 { 24 compatible = "simple-audio-amplifier"; 25 enable-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; [all …]
|