/openbmc/linux/drivers/gpu/drm/rockchip/ |
H A D | rockchip_lvds.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Mark Yao <mark.yao@rock-chips.com> 6 * Sandy Huang <hjc@rock-chips.com> 40 * struct rockchip_lvds_soc_data - rockchip lvds Soc private data 41 * @probe: LVDS platform probe function 42 * @helper_funcs: LVDS connector helper functions 45 int (*probe)(struct platform_device *pdev, struct rockchip_lvds *lvds); 56 int output; /* rgb lvds or dual lvds output */ 62 struct rockchip_encoder encoder; member 71 static inline struct rockchip_lvds *encoder_to_lvds(struct drm_encoder *encoder) in encoder_to_lvds() argument [all …]
|
/openbmc/linux/drivers/gpu/drm/sun4i/ |
H A D | sun4i_lvds.c | 1 // SPDX-License-Identifier: GPL-2.0+ 4 * Maxime Ripard <maxime.ripard@free-electrons.com> 23 struct drm_encoder encoder; member 36 drm_encoder_to_sun4i_lvds(struct drm_encoder *encoder) in drm_encoder_to_sun4i_lvds() argument 38 return container_of(encoder, struct sun4i_lvds, in drm_encoder_to_sun4i_lvds() 39 encoder); in drm_encoder_to_sun4i_lvds() 44 struct sun4i_lvds *lvds = in sun4i_lvds_get_modes() local 47 return drm_panel_get_modes(lvds->panel, connector); in sun4i_lvds_get_modes() 68 static void sun4i_lvds_encoder_enable(struct drm_encoder *encoder) in sun4i_lvds_encoder_enable() argument 70 struct sun4i_lvds *lvds = drm_encoder_to_sun4i_lvds(encoder); in sun4i_lvds_encoder_enable() local [all …]
|
H A D | sun4i_tcon.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * Maxime Ripard <maxime.ripard@free-electrons.com> 11 #include <linux/media-bus-format.h> 43 static struct drm_connector *sun4i_tcon_get_connector(const struct drm_encoder *encoder) in sun4i_tcon_get_connector() argument 48 drm_connector_list_iter_begin(encoder->dev, &iter); in sun4i_tcon_get_connector() 50 if (connector->encoder == encoder) { in sun4i_tcon_get_connector() 59 static int sun4i_tcon_get_pixel_depth(const struct drm_encoder *encoder) in sun4i_tcon_get_pixel_depth() argument 64 connector = sun4i_tcon_get_connector(encoder); in sun4i_tcon_get_pixel_depth() 66 return -EINVAL; in sun4i_tcon_get_pixel_depth() 68 info = &connector->display_info; in sun4i_tcon_get_pixel_depth() [all …]
|
/openbmc/linux/drivers/gpu/drm/renesas/rcar-du/ |
H A D | rcar_lvds.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * R-Car LVDS Encoder 5 * Copyright (C) 2013-2018 Renesas Electronics Corporation 13 #include <linux/media-bus-format.h> 50 #define RCAR_LVDS_QUIRK_LANES BIT(0) /* LVDS lanes 1 and 3 inverted */ 54 #define RCAR_LVDS_QUIRK_DUAL_LINK BIT(4) /* Supports dual-link operation */ 59 void (*pll_setup)(struct rcar_lvds *lvds, unsigned int freq); 86 static u32 rcar_lvds_read(struct rcar_lvds *lvds, u32 reg) in rcar_lvds_read() argument 88 return ioread32(lvds->mmio + reg); in rcar_lvds_read() 91 static void rcar_lvds_write(struct rcar_lvds *lvds, u32 reg, u32 data) in rcar_lvds_write() argument [all …]
|
H A D | rcar_du_encoder.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * R-Car Display Unit Encoder 5 * Copyright (C) 2013-2014 Renesas Electronics Corporation 21 /* ----------------------------------------------------------------------------- 22 * Encoder 70 bridge = devm_drm_panel_bridge_add_typed(rcdu->dev, panel, in rcar_du_encoder_init() 77 return -EPROBE_DEFER; in rcar_du_encoder_init() 81 rcdu->lvds[output - RCAR_DU_OUTPUT_LVDS0] = bridge; in rcar_du_encoder_init() 85 rcdu->dsi[output - RCAR_DU_OUTPUT_DSI0] = bridge; in rcar_du_encoder_init() 89 * Create and initialize the encoder. On Gen3, skip the LVDS1 output if in rcar_du_encoder_init() [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 3 tristate "DRM Support for R-Car Display Unit" 11 Choose this option if you have an R-Car chipset. 12 If M is selected the module will be called rcar-du-drm. 15 bool "R-Car DU Color Management Module (CMM) Support" 19 Enable support for R-Car Color Management Module (CMM). 26 tristate "R-Car Gen3 and RZ/G2 DU HDMI Encoder Support" 31 Enable support for R-Car Gen3 or RZ/G2 internal HDMI encoder. 34 bool "R-Car DU LVDS Encoder Support" 39 Enable support for the R-Car Display Unit embedded LVDS encoders. [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/display/bridge/ |
H A D | renesas,lvds.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/renesas,lvds.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Renesas R-Car LVDS Encoder 10 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 13 These DT bindings describe the LVDS encoder embedded in the Renesas R-Car 14 Gen2, R-Car Gen3, RZ/G1 and RZ/G2 SoCs. 19 - renesas,r8a7742-lvds # for RZ/G1H compatible LVDS encoders 20 - renesas,r8a7743-lvds # for RZ/G1M compatible LVDS encoders [all …]
|
H A D | lvds-codec.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/lvds-codec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Transparent LVDS encoders and decoders 10 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 13 This binding supports transparent LVDS encoders and decoders that don't 16 LVDS is a physical layer specification defined in ANSI/TIA/EIA-644-A. Multiple 18 to LVDS panels. This binding targets devices compatible with the following 21 [JEIDA] "Digital Interface Standards for Monitor", JEIDA-59-1999, February [all …]
|
/openbmc/linux/drivers/gpu/drm/gma500/ |
H A D | cdv_intel_lvds.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright © 2006-2011 Intel Corporation 27 * LVDS I2C backlight control macros 72 retval = ((dev_priv->regs.saveBLC_PWM_CTL & in cdv_intel_lvds_get_max_backlight() 97 blc_pwm_ctl = dev_priv->regs.saveBLC_PWM_CTL & in cdv_intel_lvds_set_backlight() 99 dev_priv->regs.saveBLC_PWM_CTL = (blc_pwm_ctl | in cdv_intel_lvds_set_backlight() 108 struct drm_encoder *encoder, bool on) in cdv_intel_lvds_set_power() argument 124 dev_priv->mode_dev.backlight_duty_cycle); in cdv_intel_lvds_set_power() 137 static void cdv_intel_lvds_encoder_dpms(struct drm_encoder *encoder, int mode) in cdv_intel_lvds_encoder_dpms() argument 139 struct drm_device *dev = encoder->dev; in cdv_intel_lvds_encoder_dpms() [all …]
|
H A D | psb_intel_lvds.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright © 2006-2007 Intel Corporation 25 * LVDS I2C backlight control macros 70 ret = dev_priv->regs.saveBLC_PWM_CTL; in psb_intel_lvds_get_max_backlight() 78 dev_err(dev->dev, "BL bug: Reg %08x save %08X\n", in psb_intel_lvds_get_max_backlight() 79 REG_READ(BLC_PWM_CTL), dev_priv->regs.saveBLC_PWM_CTL); in psb_intel_lvds_get_max_backlight() 84 * Set LVDS backlight level by I2C command 94 struct gma_i2c_chan *lvds_i2c_bus = dev_priv->lvds_i2c_bus; in psb_lvds_i2c_set_brightness() 100 .addr = lvds_i2c_bus->slave_addr, in psb_lvds_i2c_set_brightness() 111 if (dev_priv->lvds_bl->pol == BLC_POLARITY_INVERSE) in psb_lvds_i2c_set_brightness() [all …]
|
H A D | oaktrail_lvds.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright © 2006-2009 Intel Corporation 14 #include <asm/intel-mid.h> 26 /* The max/min PWM frequency in BPCR[31:17] - */ 28 * 15-bit field of the and then*/ 29 /* shifts to the left by one bit to get the actual 16-bit 30 * value that the 15-bits correspond to.*/ 53 dev_priv->is_lvds_on = true; in oaktrail_lvds_set_power() 54 if (dev_priv->ops->lvds_bl_power) in oaktrail_lvds_set_power() 55 dev_priv->ops->lvds_bl_power(dev, true); in oaktrail_lvds_set_power() [all …]
|
/openbmc/linux/drivers/gpu/drm/radeon/ |
H A D | radeon_legacy_encoders.c | 2 * Copyright 2007-8 Advanced Micro Devices, Inc. 46 static void radeon_legacy_encoder_disable(struct drm_encoder *encoder) in radeon_legacy_encoder_disable() argument 48 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_encoder_disable() 51 encoder_funcs = encoder->helper_private; in radeon_legacy_encoder_disable() 52 encoder_funcs->dpms(encoder, DRM_MODE_DPMS_OFF); in radeon_legacy_encoder_disable() 53 radeon_encoder->active_device = 0; in radeon_legacy_encoder_disable() 56 static void radeon_legacy_lvds_update(struct drm_encoder *encoder, int mode) in radeon_legacy_lvds_update() argument 58 struct drm_device *dev = encoder->dev; in radeon_legacy_lvds_update() 59 struct radeon_device *rdev = dev->dev_private; in radeon_legacy_lvds_update() 60 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_lvds_update() [all …]
|
H A D | radeon_combios.c | 3 * Copyright 2007-8 Advanced Micro Devices, Inc. 132 struct radeon_device *rdev = dev->dev_private; in combios_get_table_offset() 136 if (!rdev->bios) in combios_get_table_offset() 361 size = RBIOS8(rdev->bios_header_start + 0x6); in combios_get_table_offset() 364 offset = RBIOS16(rdev->bios_header_start + check_offset); in combios_get_table_offset() 378 raw = rdev->bios + edid_info; in radeon_combios_check_hardcoded_edid() 391 rdev->mode_info.bios_hardcoded_edid = edid; in radeon_combios_check_hardcoded_edid() 392 rdev->mode_info.bios_hardcoded_edid_size = size; in radeon_combios_check_hardcoded_edid() 402 if (rdev->mode_info.bios_hardcoded_edid) { in radeon_bios_get_hardcoded_edid() 403 edid = kmalloc(rdev->mode_info.bios_hardcoded_edid_size, GFP_KERNEL); in radeon_bios_get_hardcoded_edid() [all …]
|
/openbmc/linux/drivers/gpu/drm/i915/display/ |
H A D | intel_lvds.c | 2 * Copyright © 2006-2007 Intel Corporation 56 /* Private structure for the integrated LVDS support */ 84 static struct intel_lvds_encoder *to_lvds_encoder(struct intel_encoder *encoder) in to_lvds_encoder() argument 86 return container_of(encoder, struct intel_lvds_encoder, base); in to_lvds_encoder() 105 static bool intel_lvds_get_hw_state(struct intel_encoder *encoder, in intel_lvds_get_hw_state() argument 108 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in intel_lvds_get_hw_state() 109 struct intel_lvds_encoder *lvds_encoder = to_lvds_encoder(encoder); in intel_lvds_get_hw_state() 113 wakeref = intel_display_power_get_if_enabled(i915, encoder->power_domain); in intel_lvds_get_hw_state() 117 ret = intel_lvds_port_enabled(i915, lvds_encoder->reg, pipe); in intel_lvds_get_hw_state() 119 intel_display_power_put(i915, encoder->power_domain, wakeref); in intel_lvds_get_hw_state() [all …]
|
H A D | intel_dvo.c | 3 * Copyright © 2006-2007 Intel Corporation 117 static struct intel_dvo *enc_to_dvo(struct intel_encoder *encoder) in enc_to_dvo() argument 119 return container_of(encoder, struct intel_dvo, base); in enc_to_dvo() 129 struct drm_i915_private *i915 = to_i915(connector->base.dev); in intel_dvo_connector_get_hw_state() 130 struct intel_encoder *encoder = intel_attached_encoder(connector); in intel_dvo_connector_get_hw_state() local 131 struct intel_dvo *intel_dvo = enc_to_dvo(encoder); in intel_dvo_connector_get_hw_state() 132 enum port port = encoder->port; in intel_dvo_connector_get_hw_state() 140 return intel_dvo->dev.dev_ops->get_hw_state(&intel_dvo->dev); in intel_dvo_connector_get_hw_state() 143 static bool intel_dvo_get_hw_state(struct intel_encoder *encoder, in intel_dvo_get_hw_state() argument 146 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in intel_dvo_get_hw_state() [all …]
|
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/ |
H A D | atombios_encoders.c | 2 * Copyright 2007-11 Advanced Micro Devices, Inc. 73 struct drm_device *dev = amdgpu_encoder->base.dev; in amdgpu_atombios_encoder_get_backlight_level() 76 if (!(adev->mode_info.firmware_flags & ATOM_BIOS_INFO_BL_CONTROLLED_BY_GPU)) in amdgpu_atombios_encoder_get_backlight_level() 86 struct drm_encoder *encoder = &amdgpu_encoder->base; in amdgpu_atombios_encoder_set_backlight_level() local 87 struct drm_device *dev = amdgpu_encoder->base.dev; in amdgpu_atombios_encoder_set_backlight_level() 91 if (!(adev->mode_info.firmware_flags & ATOM_BIOS_INFO_BL_CONTROLLED_BY_GPU)) in amdgpu_atombios_encoder_set_backlight_level() 94 if ((amdgpu_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) && in amdgpu_atombios_encoder_set_backlight_level() 95 amdgpu_encoder->enc_priv) { in amdgpu_atombios_encoder_set_backlight_level() 96 dig = amdgpu_encoder->enc_priv; in amdgpu_atombios_encoder_set_backlight_level() 97 dig->backlight_level = level; in amdgpu_atombios_encoder_set_backlight_level() [all …]
|
/openbmc/linux/drivers/gpu/drm/ |
H A D | drm_of.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 #include <linux/media-bus-format.h> 25 * drm_of_crtc_port_mask - find the mask of a registered CRTC by port OF node 39 if (tmp->port == port) in drm_of_crtc_port_mask() 50 * drm_of_find_possible_crtcs - find the possible CRTCs for an encoder port 52 * @port: encoder port to scan for endpoints 56 * encoder. 83 * drm_of_component_match_add - Add a component helper OF node match rule 101 * drm_of_component_probe - Generic probe function for a component based master 121 if (!dev->of_node) in drm_of_component_probe() [all …]
|
/openbmc/linux/drivers/gpu/drm/msm/disp/mdp4/ |
H A D | mdp4_lcdc_encoder.c | 1 // SPDX-License-Identifier: GPL-2.0-only 27 static struct mdp4_kms *get_kms(struct drm_encoder *encoder) in get_kms() argument 29 struct msm_drm_private *priv = encoder->dev->dev_private; in get_kms() 30 return to_mdp4_kms(to_mdp_kms(priv->kms)); in get_kms() 33 static void mdp4_lcdc_encoder_destroy(struct drm_encoder *encoder) in mdp4_lcdc_encoder_destroy() argument 36 to_mdp4_lcdc_encoder(encoder); in mdp4_lcdc_encoder_destroy() 37 drm_encoder_cleanup(encoder); in mdp4_lcdc_encoder_destroy() 46 static struct drm_connector *get_connector(struct drm_encoder *encoder) in get_connector() argument 48 struct drm_device *dev = encoder->dev; in get_connector() 51 list_for_each_entry(connector, &dev->mode_config.connector_list, head) in get_connector() [all …]
|
H A D | mdp4_kms.c | 1 // SPDX-License-Identifier: GPL-2.0-only 19 struct drm_device *dev = mdp4_kms->dev; in mdp4_hw_init() 23 pm_runtime_get_sync(dev->dev); in mdp4_hw_init() 25 if (mdp4_kms->rev > 1) { in mdp4_hw_init() 35 clk = clk_get_rate(mdp4_kms->clk); in mdp4_hw_init() 37 if ((mdp4_kms->rev >= 1) || (clk >= 90000000)) { in mdp4_hw_init() 38 dmap_cfg = 0x47; /* 16 bytes-burst x 8 req */ in mdp4_hw_init() 39 vg_cfg = 0x47; /* 16 bytes-burs x 8 req */ in mdp4_hw_init() 41 dmap_cfg = 0x27; /* 8 bytes-burst x 8 req */ in mdp4_hw_init() 42 vg_cfg = 0x43; /* 16 bytes-burst x 4 req */ in mdp4_hw_init() [all …]
|
/openbmc/linux/drivers/gpu/drm/bridge/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 19 tristate "Chipone ICN6211 MIPI-DSI/RGB Converter bridge" 26 ICN6211 is MIPI-DSI/RGB Converter bridge from chipone. 34 tristate "Chrontel CH7033 Video Encoder" 38 Enable support for the Chrontel CH7033 VGA/DVI/HDMI Encoder, as 50 ChromeOS EC ANX7688 is an ultra-low power 51 4K Ultra-HD (4096x2160p60) mobile HD transmitter 53 2.0 to DisplayPort 1.3 Ultra-HD. It is connected 60 Driver for display connectors with support for DDC and hot-plug 64 on ARM-based platforms. Saying Y here when this driver is not needed [all …]
|
H A D | lvds-codec.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 40 return drm_bridge_attach(bridge->encoder, lvds_codec->panel_bridge, in lvds_codec_attach() 49 ret = regulator_enable(lvds_codec->vcc); in lvds_codec_enable() 51 dev_err(lvds_codec->dev, in lvds_codec_enable() 56 if (lvds_codec->powerdown_gpio) in lvds_codec_enable() 57 gpiod_set_value_cansleep(lvds_codec->powerdown_gpio, 0); in lvds_codec_enable() 65 if (lvds_codec->powerdown_gpio) in lvds_codec_disable() 66 gpiod_set_value_cansleep(lvds_codec->powerdown_gpio, 1); in lvds_codec_disable() 68 ret = regulator_disable(lvds_codec->vcc); in lvds_codec_disable() 70 dev_err(lvds_codec->dev, in lvds_codec_disable() [all …]
|
H A D | megachips-stdpxxxx-ge-b850v3-fw.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Driver for MegaChips STDP4028 with GE B850v3 firmware (LVDS-DP) 4 * Driver for MegaChips STDP2690 with GE B850v3 firmware (DP-DP++) 10 * This driver creates a drm_bridge and a drm_connector for the LVDS to DP++ 12 * signal pipeline: a STDP4028(LVDS to DP) and a STDP2690(DP to DP++). The 19 * Host -> LVDS|--(STDP4028)--|DP -> DP|--(STDP2690)--|DP++ -> Video output 70 struct i2c_adapter *adapter = client->adapter; in stdp2690_get_edid() 77 .addr = client->addr, in stdp2690_get_edid() 82 .addr = client->addr, in stdp2690_get_edid() 138 client = ge_b850v3_lvds_ptr->stdp2690_i2c; in ge_b850v3_lvds_get_edid() [all …]
|
/openbmc/linux/arch/arm/boot/dts/nvidia/ |
H A D | tegra30-asus-lvds-display.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 /* This dtsi file describes parts common for Asus T30 devices with a LVDS panel. */ 5 #include <dt-bindings/gpio/tegra-gpio.h> 15 remote-endpoint = <&bridge_input>; 16 bus-width = <24>; 23 display-panel { 24 power-supply = <&vdd_pnl>; 25 ddc-i2c-bus = <&lcd_ddc>; 30 remote-endpoint = <&bridge_output>; 35 /* Texas Instruments SN75LVDS83B LVDS Transmitter */ [all …]
|
/openbmc/linux/drivers/gpu/drm/tegra/ |
H A D | rgb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 91 static void tegra_rgb_encoder_disable(struct drm_encoder *encoder) in tegra_rgb_encoder_disable() argument 93 struct tegra_output *output = encoder_to_output(encoder); in tegra_rgb_encoder_disable() 96 tegra_dc_write_regs(rgb->dc, rgb_disable, ARRAY_SIZE(rgb_disable)); in tegra_rgb_encoder_disable() 97 tegra_dc_commit(rgb->dc); in tegra_rgb_encoder_disable() 100 static void tegra_rgb_encoder_enable(struct drm_encoder *encoder) in tegra_rgb_encoder_enable() argument 102 struct tegra_output *output = encoder_to_output(encoder); in tegra_rgb_encoder_enable() 106 tegra_dc_write_regs(rgb->dc, rgb_enable, ARRAY_SIZE(rgb_enable)); in tegra_rgb_encoder_enable() 109 tegra_dc_writel(rgb->dc, value, DC_DISP_DATA_ENABLE_OPTIONS); in tegra_rgb_encoder_enable() 112 value = tegra_dc_readl(rgb->dc, DC_COM_PIN_OUTPUT_POLARITY(1)); in tegra_rgb_encoder_enable() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/display/rockchip/ |
H A D | rockchip,lvds.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/display/rockchip/rockchip,lvds.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Rockchip low-voltage differential signal (LVDS) transmitter 10 - Sandy Huang <hjc@rock-chips.com> 11 - Heiko Stuebner <heiko@sntech.de> 16 - rockchip,px30-lvds 17 - rockchip,rk3288-lvds 25 clock-names: [all …]
|