/openbmc/linux/drivers/gpu/drm/msm/hdmi/ |
H A D | hdmi_bridge.c | 1 // SPDX-License-Identifier: GPL-2.0-only 12 #include "hdmi.h" 14 void msm_hdmi_bridge_destroy(struct drm_bridge *bridge) in msm_hdmi_bridge_destroy() argument 16 struct hdmi_bridge *hdmi_bridge = to_hdmi_bridge(bridge); in msm_hdmi_bridge_destroy() 19 drm_bridge_remove(bridge); in msm_hdmi_bridge_destroy() 22 static void msm_hdmi_power_on(struct drm_bridge *bridge) in msm_hdmi_power_on() argument 24 struct drm_device *dev = bridge->dev; in msm_hdmi_power_on() 25 struct hdmi_bridge *hdmi_bridge = to_hdmi_bridge(bridge); in msm_hdmi_power_on() 26 struct hdmi *hdmi = hdmi_bridge->hdmi; in msm_hdmi_power_on() local 27 const struct hdmi_platform_config *config = hdmi->config; in msm_hdmi_power_on() [all …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
/openbmc/linux/drivers/gpu/drm/bridge/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 6 Bridge registration and lookup framework. 13 DRM bridge wrapper of DRM panels 19 tristate "Chipone ICN6211 MIPI-DSI/RGB Converter bridge" 26 ICN6211 is MIPI-DSI/RGB Converter bridge from chipone. 38 Enable support for the Chrontel CH7033 VGA/DVI/HDMI Encoder, as 44 tristate "ChromeOS EC ANX7688 bridge" 50 ChromeOS EC ANX7688 is an ultra-low power 51 4K Ultra-HD (4096x2160p60) mobile HD transmitter 52 designed for ChromeOS devices. It converts HDMI [all …]
|
H A 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 …]
|
H A D | lontium-lt8912b.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/media-bus-format.h> 31 struct drm_bridge bridge; member 74 /*HDMI Pll Analog*/ in lt8912_write_init_config() 87 return regmap_multi_reg_write(lt->regmap[I2C_MAIN], seq, ARRAY_SIZE(seq)); in lt8912_write_init_config() 100 return regmap_multi_reg_write(lt->regmap[I2C_CEC_DSI], seq, ARRAY_SIZE(seq)); in lt8912_write_mipi_basic_config() 153 return regmap_multi_reg_write(lt->regmap[I2C_CEC_DSI], seq, ARRAY_SIZE(seq)); in lt8912_write_dds_config() 160 ret = regmap_write(lt->regmap[I2C_MAIN], 0x03, 0x7f); in lt8912_write_rxlogicres_config() 162 ret |= regmap_write(lt->regmap[I2C_MAIN], 0x03, 0xff); in lt8912_write_rxlogicres_config() 167 /* enable LVDS output with some hardcoded configuration, not required for the HDMI output */ [all …]
|
H A D | ti-tpd12s015.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * TPD12S015 HDMI ESD protection & level shifter chip driver 7 * Based on the omapdrm-specific encoder-opa362 driver 25 struct drm_bridge bridge; member 35 static inline struct tpd12s015_device *to_tpd12s015(struct drm_bridge *bridge) in to_tpd12s015() argument 37 return container_of(bridge, struct tpd12s015_device, bridge); in to_tpd12s015() 40 static int tpd12s015_attach(struct drm_bridge *bridge, in tpd12s015_attach() argument 43 struct tpd12s015_device *tpd = to_tpd12s015(bridge); in tpd12s015_attach() 47 return -EINVAL; in tpd12s015_attach() 49 ret = drm_bridge_attach(bridge->encoder, tpd->next_bridge, in tpd12s015_attach() [all …]
|
H A D | lontium-lt9611.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Copyright (c) 2019-2020. Linaro Limited. 10 #include <linux/media-bus-format.h> 17 #include <sound/hdmi-codec.h> 36 struct drm_bridge bridge; member 87 static struct lt9611 *bridge_to_lt9611(struct drm_bridge *bridge) in bridge_to_lt9611() argument 89 return container_of(bridge, struct lt9611, bridge); in bridge_to_lt9611() 102 { 0x811c, 0x03 }, /* PortA clk lane no-LP mode */ in lt9611_mipi_input_analog() 103 { 0x8120, 0x03 }, /* PortB clk lane with-LP mode */ in lt9611_mipi_input_analog() 106 return regmap_multi_reg_write(lt9611->regmap, reg_cfg, ARRAY_SIZE(reg_cfg)); in lt9611_mipi_input_analog() [all …]
|
/openbmc/linux/drivers/gpu/drm/omapdrm/dss/ |
H A 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 …]
|
H A 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 …]
|
/openbmc/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> 10 #include <linux/hdmi.h> 24 #include <sound/hdmi-codec.h> 155 struct drm_bridge bridge; member 187 return container_of(b, struct mtk_hdmi, bridge); in hdmi_ctx_from_bridge() 190 static u32 mtk_hdmi_read(struct mtk_hdmi *hdmi, u32 offset) in mtk_hdmi_read() argument 192 return readl(hdmi->regs + offset); in mtk_hdmi_read() 195 static void mtk_hdmi_write(struct mtk_hdmi *hdmi, u32 offset, u32 val) in mtk_hdmi_write() argument 197 writel(val, hdmi->regs + offset); in mtk_hdmi_write() [all …]
|
/openbmc/linux/drivers/gpu/drm/meson/ |
H A 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 …]
|
H A 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 …]
|
/openbmc/linux/drivers/gpu/drm/imx/ipuv3/ |
H A 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 …]
|
/openbmc/linux/drivers/gpu/drm/bridge/synopsys/ |
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. 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> 38 #include "dw-hdmi-audio.h" [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/display/bridge/ |
H A 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 <adrien.grassein@gmail.com> 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 …]
|
H A 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 <vkoul@kernel.org> 13 The LT9611 and LT9611UXC are bridge devices which convert DSI to HDMI 18 - lontium,lt9611 19 - lontium,lt9611uxc 24 "#sound-dai-cells": [all …]
|
H A 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 <bbrezillon@kernel.org> 15 - items: 16 - enum: 17 - sil,sii9022-cpi # CEC Programming Interface 18 - sil,sii9022-tpi # Transmitter Programming Interface [all …]
|
/openbmc/linux/drivers/gpu/drm/sti/ |
H A 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 …]
|
/openbmc/linux/Documentation/gpu/bridge/ |
H A 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
|
/openbmc/linux/drivers/gpu/drm/i915/display/ |
H A D | intel_lpe_audio.c | 24 * Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> 31 * DOC: LPE Audio integration for HDMI or DP playback 34 * Atom platforms (e.g. valleyview and cherryTrail) integrates a DMA-based 41 * subsystems, a bridge is setup between the hdmi-lpe-audio and i915: 45 * the hdmi-lpe-audio driver probes the lpe audio device and creates a new 50 * uninstall the hdmi-lpe-audio driver before uninstalling i915 module, 51 * otherwise we might run into use-after-free issues after i915 removes the 52 * platform device: even though hdmi-lpe-audio driver is released, the modules 80 #define HAS_LPE_AUDIO(dev_priv) ((dev_priv)->display.audio.lpe.platdev != NULL) 85 struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev); in lpe_audio_platdev_create() [all …]
|
/openbmc/linux/drivers/gpu/drm/i2c/ |
H A D | tda998x_drv.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include <linux/hdmi.h> 15 #include <sound/hdmi-codec.h> 26 #include <media/cec-notifier.h> 54 struct i2c_client *hdmi; member 82 struct drm_bridge bridge; member 96 container_of(x, struct tda998x_priv, bridge) 410 .addr = priv->cec_addr, in cec_write() 416 ret = i2c_transfer(priv->hdmi->adapter, &msg, 1); in cec_write() 418 dev_err(&priv->hdmi->dev, "Error %d writing to cec:0x%x\n", in cec_write() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/media/i2c/ |
H A D | tc358743.txt | 1 * Toshiba TC358743 HDMI-RX to MIPI CSI2-TX Bridge 3 The Toshiba TC358743 HDMI-RX to MIPI CSI2-TX (H2C) is a bridge that converts 4 a HDMI stream to MIPI CSI-2 TX. It is programmable through I2C. 8 - compatible: value should be "toshiba,tc358743" 9 - clocks, clock-names: should contain a phandle link to the reference clock 14 - reset-gpios: gpio phandle GPIO connected to the reset pin 15 - interrupts: GPIO connected to the interrupt pin 16 - data-lanes: should be <1 2 3 4> for four-lane operation, 17 or <1 2> for two-lane operation 18 - clock-lanes: should be <0> [all …]
|
/openbmc/linux/drivers/gpu/drm/mcde/ |
H A D | mcde_drv.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * (C) ST-Ericsson SA 2013 9 * DOC: ST-Ericsson MCDE Driver 11 * The MCDE (short for multi-channel display engine) is a graphics 15 * ST-Ericsson U8500 where is was used for mass-market deployments 18 * It can do 1080p30 on SDTV CCIR656, DPI-2, DBI-2 or DSI for 25 * Memory -> Overlay -> Channel -> FIFO -> 8 formatters -> DSI/DPI 26 * External 0..5 0..3 A,B, 6 x DSI bridge 29 * FIFOs A and B are for LCD and HDMI while FIFO CO/C1 are for 41 * helpers. We then provide a bridge to the DSI port, and on the DSI port [all …]
|