Home
last modified time | relevance | path

Searched +full:hpd +full:- +full:gpio (Results 1 – 25 of 168) sorted by relevance

1234567

/linux/drivers/gpu/drm/amd/display/dc/link/protocols/
H A Dlink_hpd.c28 * This file implements functions that manage basic HPD components such as gpio.
29 * It also provides wrapper functions to execute HPD related programming. This
30 * file only manages basic HPD functionality. It doesn't manage detection or
31 * feature or signal specific HPD behaviors.
40 dal_gpio_lock_pin(link->hpd_gpio); in link_get_hpd_state()
41 dal_gpio_get_value(link->hpd_gpio, &state); in link_get_hpd_state()
42 dal_gpio_unlock_pin(link->hpd_gpio); in link_get_hpd_state()
49 struct link_encoder *encoder = link->link_enc; in link_enable_hpd()
51 if (encoder != NULL && encoder->funcs->enable_hpd != NULL) in link_enable_hpd()
52 encoder->funcs->enable_hpd(encoder); in link_enable_hpd()
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/engine/disp/
H A Dconn.c28 #include <subdev/gpio.h>
46 static const u8 hpd[] = { 0x07, 0x08, 0x51, 0x52, 0x5e, 0x5f, 0x60 }; in nvkm_conn_ctor() local
47 struct nvkm_gpio *gpio = disp->engine.subdev.device->gpio; in nvkm_conn_ctor() local
51 conn->disp = disp; in nvkm_conn_ctor()
52 conn->index = index; in nvkm_conn_ctor()
53 conn->info = *info; in nvkm_conn_ctor()
54 conn->info.hpd = DCB_GPIO_UNUSED; in nvkm_conn_ctor()
56 CONN_DBG(conn, "type %02x loc %d hpd %02x dp %x di %x sr %x lcdid %x", in nvkm_conn_ctor()
57 info->type, info->location, info->hpd, info->dp, in nvkm_conn_ctor()
58 info->di, info->sr, info->lcdid); in nvkm_conn_ctor()
[all …]
/linux/drivers/gpu/drm/amd/display/dc/gpio/
H A Dhw_hpd.c2 * Copyright 2012-15 Advanced Micro Devices, Inc.
38 hpd->shifts->field_name, hpd->masks->field_name
41 hpd->base.base.ctx
43 (hpd->regs->reg)
45 struct gpio;
50 dal_hw_gpio_destruct(&pin->base); in dal_hw_hpd_destruct()
56 struct hw_hpd *hpd = HW_HPD_FROM_BASE(*ptr); in dal_hw_hpd_destroy() local
58 dal_hw_hpd_destruct(hpd); in dal_hw_hpd_destroy()
60 kfree(hpd); in dal_hw_hpd_destroy()
69 struct hw_hpd *hpd = HW_HPD_FROM_BASE(ptr); in dal_hw_hpd_get_value() local
[all …]
H A Dgpio_base.c2 * Copyright 2012-15 Advanced Micro Devices, Inc.
27 * Pre-requisites: headers required by header of this unit
40 * Post-requisites: headers required by this unit
53 struct gpio *gpio, in dal_gpio_open() argument
56 return dal_gpio_open_ex(gpio, mode); in dal_gpio_open()
60 struct gpio *gpio, in dal_gpio_open_ex() argument
63 if (gpio->pin) { in dal_gpio_open_ex()
68 // No action if allocation failed during gpio construct in dal_gpio_open_ex()
69 if (!gpio->hw_container.ddc) { in dal_gpio_open_ex()
73 gpio->mode = mode; in dal_gpio_open_ex()
[all …]
/linux/drivers/gpu/drm/msm/hdmi/
H A Dhdmi_hpd.c1 // SPDX-License-Identifier: GPL-2.0-only
8 #include <linux/gpio/consumer.h>
66 struct hdmi *hdmi = hdmi_bridge->hdmi; in msm_hdmi_hpd_enable()
67 struct device *dev = &hdmi->pdev->dev; in msm_hdmi_hpd_enable()
72 if (hdmi->hpd_gpiod) in msm_hdmi_hpd_enable()
73 gpiod_set_value_cansleep(hdmi->hpd_gpiod, 1); in msm_hdmi_hpd_enable()
79 mutex_lock(&hdmi->state_mutex); in msm_hdmi_hpd_enable()
84 hdmi->hpd_enabled = true; in msm_hdmi_hpd_enable()
85 mutex_unlock(&hdmi->state_mutex); in msm_hdmi_hpd_enable()
89 /* enable HPD events: */ in msm_hdmi_hpd_enable()
[all …]
/linux/Documentation/devicetree/bindings/display/panel/
H A Dpanel-edp.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/display/panel/panel-edp.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Douglas Anderson <dianders@chromium.org>
14 to a Embedded DisplayPort AUX bus (see display/dp-aux-bus.yaml) without
17 board, either for second-sourcing purposes or to support multiple SKUs
51 :<T1>:<T2>: :<--T10-->:<T11>:<T12>:
52 : +-----------------------+---------+---------+
53 eDP -----------+ Black video | Src vid | Blk vid +
[all …]
/linux/Documentation/devicetree/bindings/display/bridge/
H A Danalogix,dp.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Rob Herring <robh@kernel.org>
21 clock-names: true
25 phy-names:
28 force-hpd:
31 Indicate driver need force hpd when hpd detect failed, this
32 is used for some eDP screen which don not have a hpd signal.
34 hpd-gpios:
[all …]
H A Dti,sn65dsi86.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Douglas Anderson <dianders@chromium.org>
23 enable-gpios:
25 description: GPIO specifier for bridge_en pin (active high).
27 suspend-gpios:
29 description: GPIO specifier for GPIO1 pin on bridge (active low).
31 no-hpd:
34 Set if the HPD line on the bridge isn't hooked up to anything or is
[all …]
/linux/drivers/gpu/drm/radeon/
H A Dradeon_combios.c3 * Copyright 2007-8 Advanced Micro Devices, Inc.
133 struct radeon_device *rdev = dev->dev_private; in combios_get_table_offset()
137 if (!rdev->bios) in combios_get_table_offset()
362 size = RBIOS8(rdev->bios_header_start + 0x6); in combios_get_table_offset()
365 offset = RBIOS16(rdev->bios_header_start + check_offset); in combios_get_table_offset()
379 raw = rdev->bios + edid_info; in radeon_combios_check_hardcoded_edid()
388 rdev->mode_info.bios_hardcoded_edid = edid; in radeon_combios_check_hardcoded_edid()
396 return drm_edid_duplicate(drm_edid_raw(rdev->mode_info.bios_hardcoded_edid)); in radeon_bios_get_hardcoded_edid()
447 if (rdev->family == CHIP_RS300 || in combios_setup_i2c_bus()
448 rdev->family == CHIP_RS400 || in combios_setup_i2c_bus()
[all …]
H A Drs600.c39 #include <linux/io-64-nonatomic-lo-hi.h>
59 AVIVO_D2CRTC_H_TOTAL - AVIVO_D1CRTC_H_TOTAL
84 * avivo_wait_for_vblank - vblank wait asic callback.
89 * Wait for vblank on the requested crtc (r5xx-r7xx).
95 if (crtc >= rdev->num_crtc) in avivo_wait_for_vblank()
121 struct radeon_crtc *radeon_crtc = rdev->mode_info.crtcs[crtc_id]; in rs600_page_flip()
122 struct drm_framebuffer *fb = radeon_crtc->base.primary->fb; in rs600_page_flip()
123 u32 tmp = RREG32(AVIVO_D1GRPH_UPDATE + radeon_crtc->crtc_offset); in rs600_page_flip()
128 WREG32(AVIVO_D1GRPH_UPDATE + radeon_crtc->crtc_offset, tmp); in rs600_page_flip()
131 WREG32(AVIVO_D1GRPH_FLIP_CONTROL + radeon_crtc->crtc_offset, in rs600_page_flip()
[all …]
H A Dradeon_atombios.c2 * Copyright 2007-8 Advanced Micro Devices, Inc.
36 #include "atom-bits.h"
48 ATOM_GPIO_I2C_ASSIGMENT *gpio, in radeon_lookup_i2c_gpio_quirks() argument
52 if ((rdev->family == CHIP_R420) || in radeon_lookup_i2c_gpio_quirks()
53 (rdev->family == CHIP_R423) || in radeon_lookup_i2c_gpio_quirks()
54 (rdev->family == CHIP_RV410)) { in radeon_lookup_i2c_gpio_quirks()
55 if ((le16_to_cpu(gpio->usClkMaskRegisterIndex) == 0x0018) || in radeon_lookup_i2c_gpio_quirks()
56 (le16_to_cpu(gpio->usClkMaskRegisterIndex) == 0x0019) || in radeon_lookup_i2c_gpio_quirks()
57 (le16_to_cpu(gpio->usClkMaskRegisterIndex) == 0x001a)) { in radeon_lookup_i2c_gpio_quirks()
58 gpio->ucClkMaskShift = 0x19; in radeon_lookup_i2c_gpio_quirks()
[all …]
/linux/drivers/gpu/drm/amd/display/dc/gpio/dcn10/
H A Dhw_factory_dcn10.c2 * Copyright 2013-15 Advanced Micro Devices, Inc.
43 #define block HPD
155 generic->regs = &generic_regs[en]; in define_generic_registers()
156 generic->shifts = &generic_shift[en]; in define_generic_registers()
157 generic->masks = &generic_mask[en]; in define_generic_registers()
158 generic->base.regs = &generic_regs[en].gpio; in define_generic_registers()
167 switch (pin->id) { in define_ddc_registers()
169 ddc->regs = &ddc_data_regs[en]; in define_ddc_registers()
170 ddc->base.regs = &ddc_data_regs[en].gpio; in define_ddc_registers()
173 ddc->regs = &ddc_clk_regs[en]; in define_ddc_registers()
[all …]
/linux/Documentation/devicetree/bindings/display/tegra/
H A Dnvidia,tegra20-hdmi.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-hdmi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Thierry Reding <thierry.reding@gmail.com>
11 - Jon Hunter <jonathanh@nvidia.com>
15 pattern: "^hdmi@[0-9a-f]+$"
19 - enum:
20 - nvidia,tegra20-hdmi
21 - nvidia,tegra30-hdmi
[all …]
/linux/Documentation/devicetree/bindings/display/samsung/
H A Dsamsung,exynos-hdmi.yaml1 # SPDX-License-Identifier: GPL-2.0-only
3 ---
4 $id: http://devicetree.org/schemas/display/samsung/samsung,exynos-hdmi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Inki Dae <inki.dae@samsung.com>
11 - Seung-Woo Kim <sw0312.kim@samsung.com>
12 - Kyungmin Park <kyungmin.park@samsung.com>
13 - Krzysztof Kozlowski <krzk@kernel.org>
18 - samsung,exynos4210-hdmi
19 - samsung,exynos4212-hdmi
[all …]
/linux/drivers/gpu/drm/amd/display/dc/gpio/dcn21/
H A Dhw_factory_dcn21.c2 * Copyright 2013-15 Advanced Micro Devices, Inc.
47 #define block HPD
163 generic->regs = &generic_regs[en]; in define_generic_registers()
164 generic->shifts = &generic_shift[en]; in define_generic_registers()
165 generic->masks = &generic_mask[en]; in define_generic_registers()
166 generic->base.regs = &generic_regs[en].gpio; in define_generic_registers()
175 switch (pin->id) { in define_ddc_registers()
177 ddc->regs = &ddc_data_regs_dcn[en]; in define_ddc_registers()
178 ddc->base.regs = &ddc_data_regs_dcn[en].gpio; in define_ddc_registers()
181 ddc->regs = &ddc_clk_regs_dcn[en]; in define_ddc_registers()
[all …]
/linux/drivers/gpu/drm/amd/display/dc/gpio/dce120/
H A Dhw_factory_dce120.c2 * Copyright 2013-15 Advanced Micro Devices, Inc.
42 #define block HPD
135 switch (pin->id) { in define_ddc_registers()
137 ddc->regs = &ddc_data_regs[en]; in define_ddc_registers()
138 ddc->base.regs = &ddc_data_regs[en].gpio; in define_ddc_registers()
141 ddc->regs = &ddc_clk_regs[en]; in define_ddc_registers()
142 ddc->base.regs = &ddc_clk_regs[en].gpio; in define_ddc_registers()
149 ddc->shifts = &ddc_shift; in define_ddc_registers()
150 ddc->masks = &ddc_mask; in define_ddc_registers()
156 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
[all …]
/linux/drivers/gpu/drm/amd/display/dc/gpio/dce80/
H A Dhw_factory_dce80.c2 * Copyright 2012-15 Advanced Micro Devices, Inc.
122 switch (pin->id) { in define_ddc_registers()
124 ddc->regs = &ddc_data_regs[en]; in define_ddc_registers()
125 ddc->base.regs = &ddc_data_regs[en].gpio; in define_ddc_registers()
128 ddc->regs = &ddc_clk_regs[en]; in define_ddc_registers()
129 ddc->base.regs = &ddc_clk_regs[en].gpio; in define_ddc_registers()
136 ddc->shifts = &ddc_shift; in define_ddc_registers()
137 ddc->masks = &ddc_mask; in define_ddc_registers()
143 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
145 hpd->regs = &hpd_regs[en]; in define_hpd_registers()
[all …]
/linux/drivers/gpu/drm/amd/display/dc/gpio/dce60/
H A Dhw_factory_dce60.c122 switch (pin->id) { in define_ddc_registers()
124 ddc->regs = &ddc_data_regs[en]; in define_ddc_registers()
125 ddc->base.regs = &ddc_data_regs[en].gpio; in define_ddc_registers()
128 ddc->regs = &ddc_clk_regs[en]; in define_ddc_registers()
129 ddc->base.regs = &ddc_clk_regs[en].gpio; in define_ddc_registers()
136 ddc->shifts = &ddc_shift; in define_ddc_registers()
137 ddc->masks = &ddc_mask; in define_ddc_registers()
143 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
145 hpd->regs = &hpd_regs[en]; in define_hpd_registers()
146 hpd->shifts = &hpd_shift; in define_hpd_registers()
[all …]
/linux/drivers/gpu/drm/amd/display/dc/gpio/dcn401/
H A Dhw_factory_dcn401.c1 // SPDX-License-Identifier: MIT
29 #define block HPD
188 generic->regs = &generic_regs[en]; in define_generic_registers()
189 generic->shifts = &generic_shift[en]; in define_generic_registers()
190 generic->masks = &generic_mask[en]; in define_generic_registers()
191 generic->base.regs = &generic_regs[en].gpio; in define_generic_registers()
200 switch (pin->id) { in define_ddc_registers()
202 ddc->regs = &ddc_data_regs_dcn[en]; in define_ddc_registers()
203 ddc->base.regs = &ddc_data_regs_dcn[en].gpio; in define_ddc_registers()
206 ddc->regs = &ddc_clk_regs_dcn[en]; in define_ddc_registers()
[all …]
/linux/drivers/gpu/drm/amd/display/dc/gpio/dcn20/
H A Dhw_factory_dcn20.c2 * Copyright 2013-15 Advanced Micro Devices, Inc.
49 #define block HPD
187 switch (pin->id) { in define_ddc_registers()
189 ddc->regs = &ddc_data_regs_dcn[en]; in define_ddc_registers()
190 ddc->base.regs = &ddc_data_regs_dcn[en].gpio; in define_ddc_registers()
193 ddc->regs = &ddc_clk_regs_dcn[en]; in define_ddc_registers()
194 ddc->base.regs = &ddc_clk_regs_dcn[en].gpio; in define_ddc_registers()
201 ddc->shifts = &ddc_shift[en]; in define_ddc_registers()
202 ddc->masks = &ddc_mask[en]; in define_ddc_registers()
208 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
[all …]
/linux/drivers/gpu/drm/amd/display/dc/gpio/dcn30/
H A Dhw_factory_dcn30.c56 #define block HPD
192 generic->regs = &generic_regs[en]; in define_generic_registers()
193 generic->shifts = &generic_shift[en]; in define_generic_registers()
194 generic->masks = &generic_mask[en]; in define_generic_registers()
195 generic->base.regs = &generic_regs[en].gpio; in define_generic_registers()
204 switch (pin->id) { in define_ddc_registers()
206 ddc->regs = &ddc_data_regs_dcn[en]; in define_ddc_registers()
207 ddc->base.regs = &ddc_data_regs_dcn[en].gpio; in define_ddc_registers()
210 ddc->regs = &ddc_clk_regs_dcn[en]; in define_ddc_registers()
211 ddc->base.regs = &ddc_clk_regs_dcn[en].gpio; in define_ddc_registers()
[all …]
/linux/drivers/gpu/drm/amd/display/dc/gpio/dcn315/
H A Dhw_factory_dcn315.c53 #define block HPD
184 generic->regs = &generic_regs[en]; in define_generic_registers()
185 generic->shifts = &generic_shift[en]; in define_generic_registers()
186 generic->masks = &generic_mask[en]; in define_generic_registers()
187 generic->base.regs = &generic_regs[en].gpio; in define_generic_registers()
196 switch (pin->id) { in define_ddc_registers()
198 ddc->regs = &ddc_data_regs_dcn[en]; in define_ddc_registers()
199 ddc->base.regs = &ddc_data_regs_dcn[en].gpio; in define_ddc_registers()
202 ddc->regs = &ddc_clk_regs_dcn[en]; in define_ddc_registers()
203 ddc->base.regs = &ddc_clk_regs_dcn[en].gpio; in define_ddc_registers()
[all …]
/linux/drivers/gpu/drm/amd/display/dc/gpio/dce110/
H A Dhw_factory_dce110.c2 * Copyright 2013-15 Advanced Micro Devices, Inc.
118 switch (pin->id) { in define_ddc_registers()
120 ddc->regs = &ddc_data_regs[en]; in define_ddc_registers()
121 ddc->base.regs = &ddc_data_regs[en].gpio; in define_ddc_registers()
124 ddc->regs = &ddc_clk_regs[en]; in define_ddc_registers()
125 ddc->base.regs = &ddc_clk_regs[en].gpio; in define_ddc_registers()
132 ddc->shifts = &ddc_shift; in define_ddc_registers()
133 ddc->masks = &ddc_mask; in define_ddc_registers()
139 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
141 hpd->regs = &hpd_regs[en]; in define_hpd_registers()
[all …]
/linux/drivers/gpu/drm/amd/display/dc/gpio/dcn32/
H A Dhw_factory_dcn32.c49 #define block HPD
196 generic->regs = &generic_regs[en]; in define_generic_registers()
197 generic->shifts = &generic_shift[en]; in define_generic_registers()
198 generic->masks = &generic_mask[en]; in define_generic_registers()
199 generic->base.regs = &generic_regs[en].gpio; in define_generic_registers()
208 switch (pin->id) { in define_ddc_registers()
210 ddc->regs = &ddc_data_regs_dcn[en]; in define_ddc_registers()
211 ddc->base.regs = &ddc_data_regs_dcn[en].gpio; in define_ddc_registers()
214 ddc->regs = &ddc_clk_regs_dcn[en]; in define_ddc_registers()
215 ddc->base.regs = &ddc_clk_regs_dcn[en].gpio; in define_ddc_registers()
[all …]
/linux/drivers/gpu/drm/bridge/
H A Dti-tpd12s015.c1 // SPDX-License-Identifier: GPL-2.0
7 * Based on the omapdrm-specific encoder-opa362 driver
14 #include <linux/gpio/consumer.h>
48 return -EINVAL; in tpd12s015_attach()
50 ret = drm_bridge_attach(encoder, tpd->next_bridge, in tpd12s015_attach()
55 gpiod_set_value_cansleep(tpd->ls_oe_gpio, 1); in tpd12s015_attach()
57 /* DC-DC converter needs at max 300us to get to 90% of 5V. */ in tpd12s015_attach()
67 gpiod_set_value_cansleep(tpd->ls_oe_gpio, 0); in tpd12s015_detach()
74 if (gpiod_get_value_cansleep(tpd->hpd_gpio)) in tpd12s015_detect()
90 gpiod_set_value_cansleep(tpd->ct_cp_hpd_gpio, 1); in tpd12s015_hpd_enable()
[all …]

1234567