/linux-6.14.4/drivers/gpu/drm/msm/hdmi/ |
D | hdmi_bridge.c | 1 // SPDX-License-Identifier: GPL-2.0-only 12 #include "hdmi.h" 14 static void msm_hdmi_power_on(struct drm_bridge *bridge) in msm_hdmi_power_on() argument 16 struct drm_device *dev = bridge->dev; in msm_hdmi_power_on() 17 struct hdmi_bridge *hdmi_bridge = to_hdmi_bridge(bridge); in msm_hdmi_power_on() 18 struct hdmi *hdmi = hdmi_bridge->hdmi; in msm_hdmi_power_on() local 19 const struct hdmi_platform_config *config = hdmi->config; in msm_hdmi_power_on() 22 pm_runtime_get_sync(&hdmi->pdev->dev); in msm_hdmi_power_on() 24 ret = regulator_bulk_enable(config->pwr_reg_cnt, hdmi->pwr_regs); in msm_hdmi_power_on() 26 DRM_DEV_ERROR(dev->dev, "failed to enable pwr regulator: %d\n", ret); in msm_hdmi_power_on() [all …]
|
D | hdmi_hpd.c | 1 // SPDX-License-Identifier: GPL-2.0-only 12 #include "hdmi.h" 14 static void msm_hdmi_phy_reset(struct hdmi *hdmi) in msm_hdmi_phy_reset() argument 18 val = hdmi_read(hdmi, REG_HDMI_PHY_CTRL); in msm_hdmi_phy_reset() 22 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 26 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 32 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 36 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 44 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 48 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() [all …]
|
D | hdmi.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 15 #include <linux/hdmi.h> 20 #include "hdmi.xml.h" 33 struct hdmi { struct 63 struct drm_bridge *bridge; member 67 /* the encoder we are hooked to (outside of hdmi block) */ argument 70 bool hdmi_mode; /* are we in hdmi mode? */ argument 109 struct hdmi *hdmi; member 114 void msm_hdmi_set_mode(struct hdmi *hdmi, bool power_on); 116 static inline void hdmi_write(struct hdmi *hdmi, u32 reg, u32 data) in hdmi_write() argument [all …]
|
D | hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 16 #include <sound/hdmi-codec.h> 17 #include "hdmi.h" 19 void msm_hdmi_set_mode(struct hdmi *hdmi, bool power_on) in msm_hdmi_set_mode() argument 24 spin_lock_irqsave(&hdmi->reg_lock, flags); in msm_hdmi_set_mode() 27 if (!hdmi->hdmi_mode) { in msm_hdmi_set_mode() 29 hdmi_write(hdmi, REG_HDMI_CTRL, ctrl); in msm_hdmi_set_mode() 38 hdmi_write(hdmi, REG_HDMI_CTRL, ctrl); in msm_hdmi_set_mode() 39 spin_unlock_irqrestore(&hdmi->reg_lock, flags); in msm_hdmi_set_mode() 40 DBG("HDMI Core: %s, HDMI_CTRL=0x%08x", in msm_hdmi_set_mode() [all …]
|
/linux-6.14.4/drivers/gpu/drm/bridge/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 6 Bridge registration and lookup framework. 13 DRM bridge wrapper of DRM panels 21 Simple transparent bridge that is used by several non-DRM drivers to 29 Simple bridge that terminates the bridge chain and provides HPD 36 tristate "Chipone ICN6211 MIPI-DSI/RGB Converter bridge" 43 ICN6211 is MIPI-DSI/RGB Converter bridge from chipone. 55 Enable support for the Chrontel CH7033 VGA/DVI/HDMI Encoder, as 61 tristate "ChromeOS EC ANX7688 bridge" 67 ChromeOS EC ANX7688 is an ultra-low power [all …]
|
D | ite-it6263.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/hdmi.h> 12 #include <linux/media-bus-format.h> 31 /* ----------------------------------------------------------------------------- 65 /* ----------------------------------------------------------------------------- 66 * HDMI registers are separated into three banks: 67 * 1) HDMI register common bank: 0x00 ~ 0x2f 70 /* HDMI genernal registers */ 87 /* HDMI System DDC control registers */ 114 /* ----------------------------------------------------------------------------- [all …]
|
D | display-connector.c | 1 // SPDX-License-Identifier: GPL-2.0 9 #include <linux/media-bus-format.h> 21 struct drm_bridge bridge; member 31 to_display_connector(struct drm_bridge *bridge) in to_display_connector() argument 33 return container_of(bridge, struct display_connector, bridge); in to_display_connector() 36 static int display_connector_attach(struct drm_bridge *bridge, in display_connector_attach() argument 39 return flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR ? 0 : -EINVAL; in display_connector_attach() 43 display_connector_detect(struct drm_bridge *bridge) in display_connector_detect() argument 45 struct display_connector *conn = to_display_connector(bridge); in display_connector_detect() 47 if (conn->hpd_gpio) { in display_connector_detect() [all …]
|
/linux-6.14.4/drivers/gpu/drm/bridge/synopsys/ |
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> 10 #include <linux/hdmi.h> 18 #include <drm/bridge/dw_hdmi_qp.h> 28 #include <sound/hdmi-codec.h> 30 #include "dw-hdmi-qp.h" 52 struct drm_bridge bridge; member 65 static void dw_hdmi_qp_write(struct dw_hdmi_qp *hdmi, unsigned int val, in dw_hdmi_qp_write() argument 68 regmap_write(hdmi->regm, offset, val); in dw_hdmi_qp_write() [all …]
|
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. 12 #include <linux/hdmi.h> 20 #include <linux/dma-mapping.h> 23 #include <media/cec-notifier.h> 25 #include <uapi/linux/media-bus-format.h> 28 #include <drm/bridge/dw_hdmi.h> 39 #include "dw-hdmi-audio.h" [all …]
|
/linux-6.14.4/drivers/gpu/drm/omapdrm/dss/ |
D | hdmi5.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * HDMI driver for OMAP5 5 * Copyright (C) 2014 Texas Instruments Incorporated - https://www.ti.com/ 14 #define DSS_SUBSYS_NAME "HDMI" 31 #include <sound/omap-hdmi-audio.h> 41 static int hdmi_runtime_get(struct omap_hdmi *hdmi) in hdmi_runtime_get() argument 47 r = pm_runtime_get_sync(&hdmi->pdev->dev); in hdmi_runtime_get() 49 pm_runtime_put_noidle(&hdmi->pdev->dev); in hdmi_runtime_get() 55 static void hdmi_runtime_put(struct omap_hdmi *hdmi) in hdmi_runtime_put() argument 61 r = pm_runtime_put_sync(&hdmi->pdev->dev); in hdmi_runtime_put() [all …]
|
D | hdmi4.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * HDMI interface DSS driver for TI's OMAP4 family of SoCs. 5 * Copyright (C) 2010-2011 Texas Instruments Incorporated - https://www.ti.com/ 10 #define DSS_SUBSYS_NAME "HDMI" 27 #include <sound/omap-hdmi-audio.h> 38 #include "hdmi.h" 40 static int hdmi_runtime_get(struct omap_hdmi *hdmi) in hdmi_runtime_get() argument 46 r = pm_runtime_get_sync(&hdmi->pdev->dev); in hdmi_runtime_get() 48 pm_runtime_put_noidle(&hdmi->pdev->dev); in hdmi_runtime_get() 54 static void hdmi_runtime_put(struct omap_hdmi *hdmi) in hdmi_runtime_put() argument [all …]
|
/linux-6.14.4/drivers/gpu/drm/mediatek/ |
D | mtk_hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include <linux/arm-smccc.h> 10 #include <linux/hdmi.h> 24 #include <sound/hdmi-codec.h> 155 struct drm_bridge bridge; member 188 return container_of(b, struct mtk_hdmi, bridge); in hdmi_ctx_from_bridge() 191 static u32 mtk_hdmi_read(struct mtk_hdmi *hdmi, u32 offset) in mtk_hdmi_read() argument 193 return readl(hdmi->regs + offset); in mtk_hdmi_read() 196 static void mtk_hdmi_write(struct mtk_hdmi *hdmi, u32 offset, u32 val) in mtk_hdmi_write() argument 198 writel(val, hdmi->regs + offset); in mtk_hdmi_write() [all …]
|
/linux-6.14.4/drivers/gpu/drm/meson/ |
D | meson_encoder_hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 19 #include <media/cec-notifier.h> 29 #include <linux/media-bus-format.h> 40 struct drm_bridge bridge; member 49 container_of(x, struct meson_encoder_hdmi, bridge) 51 static int meson_encoder_hdmi_attach(struct drm_bridge *bridge, in meson_encoder_hdmi_attach() argument 54 struct meson_encoder_hdmi *encoder_hdmi = bridge_to_meson_encoder_hdmi(bridge); in meson_encoder_hdmi_attach() 56 return drm_bridge_attach(bridge->encoder, encoder_hdmi->next_bridge, in meson_encoder_hdmi_attach() 57 &encoder_hdmi->bridge, flags); in meson_encoder_hdmi_attach() 60 static void meson_encoder_hdmi_detach(struct drm_bridge *bridge) in meson_encoder_hdmi_detach() argument [all …]
|
D | meson_dw_hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 18 #include <drm/bridge/dw_hdmi.h> 32 #define DRIVER_NAME "meson-dw-hdmi" 33 #define DRIVER_DESC "Amlogic Meson HDMI-TX DRM driver" 36 * DOC: HDMI Output 38 * HDMI Output is composed of : 40 * - A Synopsys DesignWare HDMI Controller IP 41 * - A TOP control block controlling the Clocks and PHY 42 * - A custom HDMI PHY in order convert video to TMDS signal 47 * | HDMI TOP |<= HPD [all …]
|
/linux-6.14.4/drivers/gpu/drm/imx/ipuv3/ |
D | dw_hdmi-imx.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright (C) 2011-2013 Freescale Semiconductor, Inc. 4 * derived from imx-hdmi.c(renamed to bridge/dw_hdmi.c now) 9 #include <linux/mfd/syscon/imx6q-iomuxc-gpr.h> 14 #include <video/imx-ipu-v3.h> 16 #include <drm/bridge/dw_hdmi.h> 25 #include "imx-drm.h" 31 struct imx_hdmi *hdmi; member 36 struct drm_bridge *bridge; member 37 struct dw_hdmi *hdmi; member [all …]
|
/linux-6.14.4/drivers/gpu/drm/bridge/imx/ |
D | Kconfig | 10 This is a DRM bridge implementation for the DRM i.MX IPUv3 driver, 13 Newer designs should not use this bridge and should use proper panel 17 tristate "Freescale i.MX8MP HDMI-TX bridge support" 24 Choose this to enable support for the internal HDMI encoder found 28 tristate "Freescale i.MX8MP HDMI PVI bridge support" 31 Choose this to enable support for the internal HDMI TX Parallel 35 tristate "Freescale i.MX8QM LVDS display bridge" 41 Choose this to enable the internal LVDS Display Bridge(LDB) found in 45 tristate "Freescale i.MX8QXP LVDS display bridge" 51 Choose this to enable the internal LVDS Display Bridge(LDB) found in
|
D | imx8mp-hdmi-pvi.c | 1 // SPDX-License-Identifier: GPL-2.0+ 30 struct drm_bridge bridge; member 37 to_imx8mp_hdmi_pvi(struct drm_bridge *bridge) in to_imx8mp_hdmi_pvi() argument 39 return container_of(bridge, struct imx8mp_hdmi_pvi, bridge); in to_imx8mp_hdmi_pvi() 42 static int imx8mp_hdmi_pvi_bridge_attach(struct drm_bridge *bridge, in imx8mp_hdmi_pvi_bridge_attach() argument 45 struct imx8mp_hdmi_pvi *pvi = to_imx8mp_hdmi_pvi(bridge); in imx8mp_hdmi_pvi_bridge_attach() 47 return drm_bridge_attach(bridge->encoder, pvi->next_bridge, in imx8mp_hdmi_pvi_bridge_attach() 48 bridge, flags); in imx8mp_hdmi_pvi_bridge_attach() 51 static void imx8mp_hdmi_pvi_bridge_enable(struct drm_bridge *bridge, in imx8mp_hdmi_pvi_bridge_enable() argument 54 struct drm_atomic_state *state = bridge_state->base.state; in imx8mp_hdmi_pvi_bridge_enable() [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/display/bridge/ |
D | lontium,lt8912b.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/lontium,lt8912b.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Lontium LT8912B MIPI to HDMI Bridge 10 - Adrien Grassein <[email protected]> 13 The LT8912B is a bridge device which convert DSI to HDMI 18 - lontium,lt8912b 23 reset-gpios: 32 $ref: /schemas/graph.yaml#/$defs/port-base [all …]
|
D | lontium,lt9611.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/lontium,lt9611.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Lontium LT9611(UXC) 2 Port MIPI to HDMI Bridge 10 - Vinod Koul <[email protected]> 13 The LT9611 and LT9611UXC are bridge devices which convert DSI to HDMI 18 - lontium,lt9611 19 - lontium,lt9611uxc 24 "#sound-dai-cells": [all …]
|
D | sil,sii9022.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/sil,sii9022.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Silicon Image sii902x HDMI bridge 10 - Boris Brezillon <[email protected]> 15 - items: 16 - enum: 17 - sil,sii9022-cpi # CEC Programming Interface 18 - sil,sii9022-tpi # Transmitter Programming Interface [all …]
|
D | fsl,imx8mp-hdmi-tx.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/fsl,imx8mp-hdmi-tx.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Freescale i.MX8MP DWC HDMI TX Encoder 10 - Lucas Stach <[email protected]> 13 The i.MX8MP HDMI transmitter is a Synopsys DesignWare 14 HDMI 2.0a TX controller IP. 17 - $ref: /schemas/display/bridge/synopsys,dw-hdmi.yaml# 22 - fsl,imx8mp-hdmi-tx [all …]
|
/linux-6.14.4/drivers/gpu/drm/sti/ |
D | sti_hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/hdmi.h> 26 #include <sound/hdmi-codec.h> 96 #define HDMI_IFRAME_CFG_DI_N(x, n) ((x) << ((n-1)*4)) /* n from 1 to 6 */ 164 struct sti_hdmi *hdmi; member 177 u32 hdmi_read(struct sti_hdmi *hdmi, int offset) in hdmi_read() argument 179 return readl(hdmi->regs + offset); in hdmi_read() 182 void hdmi_write(struct sti_hdmi *hdmi, u32 val, int offset) in hdmi_write() argument 184 writel(val, hdmi->regs + offset); in hdmi_write() 188 * HDMI interrupt handler threaded [all …]
|
/linux-6.14.4/Documentation/gpu/bridge/ |
D | dw-hdmi.rst | 2 drm/bridge/dw-hdmi Synopsys DesignWare HDMI Controller 5 Synopsys DesignWare HDMI Controller 8 This section covers everything related to the Synopsys DesignWare HDMI 9 Controller implemented as a DRM bridge. 12 ------------------------------------- 14 .. kernel-doc:: include/drm/bridge/dw_hdmi.h
|
/linux-6.14.4/include/drm/ |
D | drm_bridge.h | 49 * enum drm_bridge_attach_flags - Flags for &drm_bridge_funcs.attach 53 * @DRM_BRIDGE_ATTACH_NO_CONNECTOR: When this flag is set the bridge 60 * struct drm_bridge_funcs - drm_bridge control functions 66 * This callback is invoked whenever our bridge is being attached to a 76 int (*attach)(struct drm_bridge *bridge, 82 * This callback is invoked whenever our bridge is being detached from a 87 void (*detach)(struct drm_bridge *bridge); 93 * bridge. This should be implemented if the bridge has some sort of 94 * restriction in the modes it can display. For example, a given bridge 111 * to look at anything else but the passed-in mode, and validate it [all …]
|
/linux-6.14.4/drivers/gpu/drm/display/ |
D | drm_bridge_connector.c | 1 // SPDX-License-Identifier: GPL-2.0+ 29 * The DRM bridge connector helper object provides a DRM connector 35 * To use the helper, display controller drivers create a bridge connector with 41 * The DRM bridge connector operations are implemented based on the operations 43 * to the bridge closest to the connector (at the end of the chain) that 46 * To make use of this helper, all bridges in the chain shall report bridge 47 * operation flags (&drm_bridge->ops) and bridge output type 48 * (&drm_bridge->type), as well as the DRM_BRIDGE_ATTACH_NO_CONNECTOR attach 53 * struct drm_bridge_connector - A connector backed by a chain of bridges 69 * The last bridge in the chain (closest to the connector) that provides [all …]
|