| /linux/drivers/gpu/drm/msm/hdmi/ |
| H A D | hdmi_audio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 12 #include <sound/hdmi-codec.h> 18 struct hdmi_audio *audio = &hdmi->audio; in msm_hdmi_audio_update() local 19 bool enabled = audio->enabled; in msm_hdmi_audio_update() 23 if (!hdmi->connector->display_info.is_hdmi) in msm_hdmi_audio_update() 24 return -EINVAL; in msm_hdmi_audio_update() 26 DBG("audio: enabled=%d, channels=%d, rate=%d", in msm_hdmi_audio_update() 27 audio->enabled, audio->channels, audio->rate); in msm_hdmi_audio_update() 29 DBG("video: power_on=%d, pixclock=%lu", hdmi->power_on, hdmi->pixclock); in msm_hdmi_audio_update() 31 if (enabled && !(hdmi->power_on && hdmi->pixclock)) { in msm_hdmi_audio_update() [all …]
|
| H A D | hdmi.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 39 /* audio state: */ 40 struct hdmi_audio audio; member 63 struct drm_bridge *bridge; member 107 writel(data, hdmi->mmio + reg); in hdmi_write() 112 return readl(hdmi->mmio + reg); in hdmi_read() 117 return readl(hdmi->qfprom_mmio + reg); in hdmi_qfprom_read() 160 writel(data, phy->mmio + reg); in hdmi_phy_write() 165 return readl(phy->mmio + reg); in hdmi_phy_read() 182 return -ENODEV; in msm_hdmi_pll_8960_init() [all …]
|
| H A D | hdmi_bridge.c | 1 // SPDX-License-Identifier: GPL-2.0-only 16 static void msm_hdmi_power_on(struct drm_bridge *bridge) in msm_hdmi_power_on() argument 18 struct drm_device *dev = bridge->dev; in msm_hdmi_power_on() 19 struct hdmi_bridge *hdmi_bridge = to_hdmi_bridge(bridge); in msm_hdmi_power_on() 20 struct hdmi *hdmi = hdmi_bridge->hdmi; in msm_hdmi_power_on() 23 pm_runtime_resume_and_get(&hdmi->pdev->dev); in msm_hdmi_power_on() 25 if (hdmi->extp_clk) { in msm_hdmi_power_on() 26 DBG("pixclock: %lu", hdmi->pixclock); in msm_hdmi_power_on() 27 ret = clk_set_rate(hdmi->extp_clk, hdmi->pixclock); in msm_hdmi_power_on() 29 DRM_DEV_ERROR(dev->dev, "failed to set extp clk rate: %d\n", ret); in msm_hdmi_power_on() [all …]
|
| /linux/drivers/gpu/drm/bridge/ |
| H A D | sii902x.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 9 * Boris Brezillon <boris.brezillon@free-electrons.com> 12 * Copyright (C) 2010-2011 Freescale Semiconductor, Inc. All Rights Reserved. 16 #include <linux/i2c-mux.h> 18 #include <linux/media-bus-format.h> 31 #include <sound/hdmi-codec.h> 74 /* Audio */ 160 (SII902X_TPI_MISC_INFOFRAME_END - SII902X_TPI_MISC_INFOFRAME_BASE) 167 * The maximum resolution supported by the HDMI bridge is 1080p@60Hz 177 struct drm_bridge bridge; member [all …]
|
| H A D | ite-it66121.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2018-2019, Artem Mygaiev 10 #include <linux/media-bus-format.h> 30 #include <sound/hdmi-codec.h> 300 struct drm_bridge bridge; member 315 } audio; member 342 gpiod_set_value(ctx->gpio_reset, 1); in it66121_hw_reset() 344 gpiod_set_value(ctx->gpio_reset, 0); in it66121_hw_reset() 349 return regmap_write(ctx->regmap, IT66121_MASTER_SEL_REG, IT66121_MASTER_SEL_HOST); in it66121_preamble_ddc() 354 return regmap_write(ctx->regmap, IT66121_AFE_DRV_REG, 0); in it66121_fire_afe() [all …]
|
| H A D | tc358767.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * TC358767/TC358867/TC9595 DSI/DPI-to-DPI/(e)DP bridge driver 6 * All modes are supported -- DPI->(e)DP / DSI->DPI / DSI->(e)DP . 27 #include <linux/media-bus-format.h> 44 /* DSI D-PHY Layer registers */ 77 #define DSI_STARTDSI 0x0204 /* START control bit of DSI-TX */ 110 #define SUB_CFG_TYPE_CONFIG3 (2 << 2) /* LSB aligned 8-bit */ 184 #define VID_MN_GEN BIT(6) /* Auto-generate M/N values */ 193 #define DP0_AUDMNGEN0 0x0628 /* DP0 Audio Force M Value Register */ 194 #define DP0_AUDMNGEN1 0x062c /* DP0 Audio Force N Value Register */ [all …]
|
| H A D | tda998x_drv.c | 1 // SPDX-License-Identifier: GPL-2.0-only 15 #include <sound/hdmi-codec.h> 25 #include <media/cec-notifier.h> 27 #include <dt-bindings/display/tda998x.h> 68 struct tda998x_audio_settings audio; member 83 struct drm_bridge bridge; member 97 container_of(x, struct tda998x_priv, bridge) 319 /* Page 11h: audio settings and content info packets */ 411 .addr = priv->cec_addr, in cec_write() 417 ret = i2c_transfer(priv->hdmi->adapter, &msg, 1); in cec_write() [all …]
|
| /linux/drivers/zorro/ |
| H A D | zorro.ids | 4 # Maintained by Geert Uytterhoeven <zorro@linux-m68k.org> 12 # product product_name <-- single tab 23 0200 3-State 26 0100 A2088 XT/A2286 AT [ISA Bus Bridge] 27 0200 A2286 AT [ISA Bus Bridge] 29 6700 A2386-SX [ISA Bus Bridge] 46 6700 A2386-SX [ISA Bus Bridge] 55 0000 KCS Power PC [ISA Bus Bridge] 61 03ed A-Squared 70 0300 8-Up (Rev A) [RAM Expansion] [all …]
|
| /linux/drivers/gpu/drm/msm/dp/ |
| H A D | dp_audio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. 7 #define pr_fmt(fmt) "[drm-dp] %s: " fmt, __func__ 31 static inline u32 msm_dp_read_link(struct msm_dp_audio_private *audio, u32 offset) in msm_dp_read_link() argument 33 return readl_relaxed(audio->link_base + offset); in msm_dp_read_link() 36 static inline void msm_dp_write_link(struct msm_dp_audio_private *audio, in msm_dp_write_link() argument 43 writel(data, audio->link_base + offset); in msm_dp_write_link() 46 static void msm_dp_audio_stream_sdp(struct msm_dp_audio_private *audio) in msm_dp_audio_stream_sdp() argument 52 .HB3 = audio->channels - 1, in msm_dp_audio_stream_sdp() 58 msm_dp_write_link(audio, MMSS_DP_AUDIO_STREAM_0, header[0]); in msm_dp_audio_stream_sdp() [all …]
|
| H A D | dp_display.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. 97 /* wait for audio signaling */ 112 struct msm_dp_audio *audio; member 198 { .compatible = "qcom,glymur-dp", .data = &msm_dp_desc_glymur }, 199 { .compatible = "qcom,sa8775p-dp", .data = &msm_dp_desc_sa8775p }, 200 { .compatible = "qcom,sc7180-dp", .data = &msm_dp_desc_sc7180 }, 201 { .compatible = "qcom,sc7280-dp", .data = &msm_dp_desc_sc7280 }, 202 { .compatible = "qcom,sc7280-edp", .data = &msm_dp_desc_sc7280 }, 203 { .compatible = "qcom,sc8180x-dp", .data = &msm_dp_desc_sc8180x }, [all …]
|
| /linux/drivers/gpu/drm/xlnx/ |
| H A D | zynqmp_dpsub.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 * Copyright (C) 2017 - 2020 Xilinx, Inc. 8 * - Hyun Woo Kwon <hyun.kwon@xilinx.com> 9 * - Laurent Pinchart <laurent.pinchart@ideasonboard.com> 47 * struct zynqmp_dpsub - ZynqMP DisplayPort Subsystem 52 * @aud_clk: Audio clock 53 * @aud_clk_from_ps: True of the audio clock comes from PS, false from PL 58 * @bridge: The DP encoder bridge 63 * @audio: DP audio data 78 struct drm_bridge *bridge; member [all …]
|
| /linux/drivers/gpu/drm/bridge/synopsys/ |
| H A D | dw-hdmi-qp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright (c) 2021-2022 Rockchip Electronics Co., Ltd. 6 * Author: Algea Cao <algea.cao@rock-chips.com> 19 #include <drm/bridge/dw_hdmi_qp.h> 32 #include <sound/hdmi-codec.h> 34 #include "dw-hdmi-qp.h" 46 * slow so we pre-compute values we expect to see. 49 * the recommended N values specified in the Audio chapter of the HDMI 105 * These are the CTS values as recommended in the Audio chapter of the HDMI 150 struct drm_bridge bridge; member [all …]
|
| H A D | dw-hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * DesignWare High-Definition Multimedia Interface (HDMI) driver 5 * Copyright (C) 2013-2015 Mentor Graphics Inc. 6 * Copyright (C) 2011-2013 Freescale Semiconductor, Inc. 21 #include <linux/dma-mapping.h> 24 #include <media/cec-notifie 134 struct drm_bridge bridge; global() member 139 struct platform_device *audio; global() member 2641 dw_hdmi_bridge_atomic_get_output_bus_fmts(struct drm_bridge * bridge,struct drm_bridge_state * bridge_state,struct drm_crtc_state * crtc_state,struct drm_connector_state * conn_state,unsigned int * num_output_fmts) dw_hdmi_bridge_atomic_get_output_bus_fmts() argument 2770 dw_hdmi_bridge_atomic_get_input_bus_fmts(struct drm_bridge * bridge,struct drm_bridge_state * bridge_state,struct drm_crtc_state * crtc_state,struct drm_connector_state * conn_state,u32 output_fmt,unsigned int * num_input_fmts) dw_hdmi_bridge_atomic_get_input_bus_fmts() argument 2872 dw_hdmi_bridge_atomic_check(struct drm_bridge * bridge,struct drm_bridge_state * bridge_state,struct drm_crtc_state * crtc_state,struct drm_connector_state * conn_state) dw_hdmi_bridge_atomic_check() argument 2892 dw_hdmi_bridge_attach(struct drm_bridge * bridge,struct drm_encoder * encoder,enum drm_bridge_attach_flags flags) dw_hdmi_bridge_attach() argument 2905 dw_hdmi_bridge_detach(struct drm_bridge * bridge) dw_hdmi_bridge_detach() argument 2916 dw_hdmi_bridge_mode_valid(struct drm_bridge * bridge,const struct drm_display_info * info,const struct drm_display_mode * mode) dw_hdmi_bridge_mode_valid() argument 2935 dw_hdmi_bridge_mode_set(struct drm_bridge * bridge,const struct drm_display_mode * orig_mode,const struct drm_display_mode * mode) dw_hdmi_bridge_mode_set() argument 2949 dw_hdmi_bridge_atomic_disable(struct drm_bridge * bridge,struct drm_atomic_state * state) dw_hdmi_bridge_atomic_disable() argument 2963 dw_hdmi_bridge_atomic_enable(struct drm_bridge * bridge,struct drm_atomic_state * state) dw_hdmi_bridge_atomic_enable() argument 2982 dw_hdmi_bridge_detect(struct drm_bridge * bridge,struct drm_connector * connector) dw_hdmi_bridge_detect() argument 2989 dw_hdmi_bridge_edid_read(struct drm_bridge * bridge,struct drm_connector * connector) dw_hdmi_bridge_edid_read() argument 3518 struct dw_hdmi_audio_data audio; dw_hdmi_probe() local 3534 struct dw_hdmi_i2s_audio_data audio; dw_hdmi_probe() local 3549 struct dw_hdmi_audio_data audio; dw_hdmi_probe() local [all...] |
| /linux/sound/hda/codecs/cirrus/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 4 tristate "Cirrus Logic HD-audio codec support" 6 Say Y or M here to include Cirrus Logic HD-audio codec support. 8 This will enable both CS420x and CS421x HD-audio codec drivers 21 comment "Set to Y if you want auto-loading the codec driver" 31 comment "Set to Y if you want auto-loading the codec driver" 35 tristate "Build Cirrus Logic HDA bridge support" 38 Say Y or M here to include Cirrus Logic HDA bridge support 41 comment "Set to Y if you want auto-loading the codec driver"
|
| /linux/Documentation/devicetree/bindings/sound/ |
| H A D | st,sta32x.txt | 1 STA32X audio CODEC 7 - compatible: "st,sta32x" 8 - reg: the I2C address of the device for I2C 9 - reset-gpios: a GPIO spec for the reset pin. If specified, it will be 12 - power-down-gpios: a GPIO spec for the power down pin. If specified, 16 - Vdda-supply: regulator spec, providing 3.3V 17 - Vdd3-supply: regulator spec, providing 3.3V 18 - Vcc-supply: regulator spec, providing 5V - 26V 22 - clocks, clock-names: Clock specifier for XTI input clock. 24 and disabled when it is removed. The 'clock-names' must be set to 'xti'. [all …]
|
| H A D | st,sta350.txt | 1 STA350 audio CODEC 7 - compatible: "st,sta350" 8 - reg: the I2C address of the device for I2C 9 - reset-gpios: a GPIO spec for the reset pin. If specified, it will be 12 - power-down-gpios: a GPIO spec for the power down pin. If specified, 16 - vdd-dig-supply: regulator spec, providing 3.3V 17 - vdd-pll-supply: regulator spec, providing 3.3V 18 - vcc-supply: regulator spec, providing 5V - 26V 22 - st,output-conf: number, Selects the output configuration: 23 0: 2-channel (full-bridge) power, 2-channel data-out [all …]
|
| /linux/arch/arm/boot/dts/intel/pxa/ |
| H A D | pxa300-raumfeld-speaker-one.dts | 1 // SPDX-License-Identifier: GPL-2.0 3 /dts-v1/; 5 #include "pxa300-raumfeld-common.dtsi" 9 compatible = "raumfeld,raumfeld-speaker-one-pxa303", "marvell,pxa300"; 13 #sound-dai-cells = <0>; 14 Vdd-supply = <®_3v3>; 15 Vdda-supply = <®_va_5v0>; 18 xo_11mhz: oscillator-11mhz { 19 compatible = "fixed-clock"; 20 #clock-cells = <0>; [all …]
|
| /linux/drivers/gpu/drm/rockchip/ |
| H A D | cdn-dp-core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Author: Chris Zhong <zyw@rock-chips.com> 16 #include <sound/hdmi-codec.h> 28 #include "cdn-dp-core.h" 29 #include "cdn-dp-re 30 bridge_to_dp(struct drm_bridge * bridge) bridge_to_dp() argument 236 cdn_dp_bridge_detect(struct drm_bridge * bridge,struct drm_connector * connector) cdn_dp_bridge_detect() argument 250 cdn_dp_bridge_edid_read(struct drm_bridge * bridge,struct drm_connector * connector) cdn_dp_bridge_edid_read() argument 263 cdn_dp_bridge_mode_valid(struct drm_bridge * bridge,const struct drm_display_info * display_info,const struct drm_display_mode * mode) cdn_dp_bridge_mode_valid() argument 514 cdn_dp_bridge_mode_set(struct drm_bridge * bridge,const struct drm_display_mode * mode,const struct drm_display_mode * adjusted) cdn_dp_bridge_mode_set() argument 565 cdn_dp_bridge_atomic_enable(struct drm_bridge * bridge,struct drm_atomic_state * state) cdn_dp_bridge_atomic_enable() argument 632 cdn_dp_bridge_atomic_disable(struct drm_bridge * bridge,struct drm_atomic_state * state) cdn_dp_bridge_atomic_disable() argument 746 cdn_dp_audio_prepare(struct drm_bridge * bridge,struct drm_connector * connector,struct hdmi_codec_daifmt * daifmt,struct hdmi_codec_params * params) cdn_dp_audio_prepare() argument 752 struct audio_info audio = { cdn_dp_audio_prepare() local 787 cdn_dp_audio_shutdown(struct drm_bridge * bridge,struct drm_connector * connector) cdn_dp_audio_shutdown() argument 804 cdn_dp_audio_mute_stream(struct drm_bridge * bridge,struct drm_connector * connector,bool enable,int direction) cdn_dp_audio_mute_stream() argument [all...] |
| /linux/drivers/gpu/drm/mediatek/ |
| H A D | mtk_hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include <linux/arm-smccc.h> 24 #include <sound/hdmi-codec.h> 49 regmap_update_bits(hdmi->regs, VIDEO_CFG_4, in mtk_hdmi_hw_vid_black() 63 if (hdmi->conf && hdmi->conf->tz_disabled) in mtk_hdmi_hw_make_reg_writable() 64 regmap_update_bits(hdmi->sys_regmap, in mtk_hdmi_hw_make_reg_writable() 65 hdmi->sys_offset + HDMI_SYS_CFG20, in mtk_hdmi_hw_make_reg_writable() 71 regmap_update_bits(hdmi->sys_regmap, hdmi->sys_offset + HDMI_SYS_CFG20, in mtk_hdmi_hw_make_reg_writable() 73 regmap_update_bits(hdmi->sys_regmap, hdmi->sys_offset + HDMI_SYS_CFG1C, in mtk_hdmi_hw_make_reg_writable() 79 regmap_update_bits(hdmi->sys_regmap, hdmi->sys_offset + HDMI_SYS_CFG20, in mtk_hdmi_hw_1p4_version_enable() [all …]
|
| H A D | mtk_hdmi_v2.c | 1 // SPDX-License-Identifier: GPL-2.0 57 [MTK_HDMI_V2_CLK_VPP_SPLIT_HDMI] = "hdmi-split", 62 regmap_write(hdmi->regs, TOP_INT_ENABLE00, 0); in mtk_hdmi_v2_hwirq_disable() 63 regmap_write(hdmi->regs, TOP_INT_ENABLE01, 0); in mtk_hdmi_v2_hwirq_disable() 69 regmap_set_bits(hdmi->regs, TOP_INT_ENABLE00, HPD_PORD_HWIRQS); in mtk_hdmi_v2_enable_hpd_pord_irq() 71 regmap_clear_bits(hdmi->regs, TOP_INT_ENABLE00, HPD_PORD_HWIRQS); in mtk_hdmi_v2_enable_hpd_pord_irq() 77 regmap_set_bits(hdmi->regs, hdmi->conf->reg_hdmi_tx_cfg, HDMITX_SW_HPD); in mtk_hdmi_v2_set_sw_hpd() 78 regmap_set_bits(hdmi->regs, HDCP2X_CTRL_0, HDCP2X_HPD_OVR); in mtk_hdmi_v2_set_sw_hpd() 79 regmap_set_bits(hdmi->regs, HDCP2X_CTRL_0, HDCP2X_HPD_SW); in mtk_hdmi_v2_set_sw_hpd() 81 regmap_clear_bits(hdmi->regs, HDCP2X_CTRL_0, HDCP2X_HPD_OVR); in mtk_hdmi_v2_set_sw_hpd() [all …]
|
| H A D | mtk_dp.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2019-2022 MediaTek Inc. 18 #include <linux/arm-smccc.h> 23 #include <linux/media-bus-format.h> 24 #include <linux/nvmem-consumer.h> 33 #include <sound/hdmi-codec.h> 114 struct drm_bridge bridge; member 129 /* For audio */ 135 /* protect the plugged_cb as it's used in both bridge ops and audio */ 402 .name = "mtk-dp-registers", [all …]
|
| /linux/Documentation/devicetree/bindings/display/bridge/ |
| H A D | ite,it6505.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/ite,it6505.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Allen Chen <allen.chen@ite.com.tw> 13 - $ref: /schemas/sound/dai-common.yaml# 16 The IT6505 is a high-performance DisplayPort 1.1a transmitter, 19 and ensures robust transmission of high-quality uncompressed video 20 content, along with uncompressed and compressed digital audio content. 23 also encodes and transmits up to 8 channels of I2S digital audio, [all …]
|
| /linux/Documentation/driver-api/media/drivers/ |
| H A D | vidtv.rst | 1 .. SPDX-License-Identifier: GPL-2.0 10 ---------- 18 - A fake tuner driver, which will report a bad signal quality if the chosen 22 - A fake demod driver, which will constantly poll the fake signal quality 26 - A fake bridge driver, which is the module responsible for modprobing the 31 - Code responsible for encoding a valid MPEG Transport Stream, which is then 32 passed to the bridge driver. This fake stream contains some hardcoded content. 33 For now, we have a single, audio-only channel containing a single MPEG 34 Elementary Stream, which in turn contains a SMPTE 302m encoded sine-wave. 36 way to encode PCM audio data in a MPEG Transport Stream. [all …]
|
| /linux/Documentation/driver-api/media/ |
| H A D | v4l2-subdev.rst | 1 .. SPDX-License-Identifier: GPL-2.0 3 V4L2 sub-devices 4 ---------------- 6 Many drivers need to communicate with sub-devices. These devices can do all 7 sort of tasks, but most commonly they handle audio and/or video muxing, 8 encoding or decoding. For webcams common sub-devices are sensors and camera 12 driver with a consistent interface to these sub-devices the 13 :c:type:`v4l2_subdev` struct (v4l2-subdev.h) was created. 15 Each sub-device driver must have a :c:type:`v4l2_subdev` struct. This struct 16 can be stand-alone for simple sub-devices or it might be embedded in a larger [all …]
|
| /linux/drivers/media/usb/au0828/ |
| H A D | au0828-core.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Driver for the Auvitek USB bridge 14 #include <media/v4l2-common.h> 24 * 8 = Bridge related 30 "set debug bitmask: 1=general, 2=USB, 4=I2C, 8=bridge, 16=IR"); 68 int status = -ENODEV; in send_control_msg() 70 if (dev->usbdev) { in send_control_msg() 73 status = usb_control_msg(dev->usbdev, in send_control_msg() 74 usb_sndctrlpipe(dev->usbdev, 0), in send_control_msg() 95 int status = -ENODEV; in recv_control_msg() [all …]
|