| /kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
| D | conn.c | 28 #include <subdev/gpio.h> 35 struct nvkm_conn *conn = container_of(notify, typeof(*conn), hpd); in nvkm_conn_hpd() 36 struct nvkm_disp *disp = conn->disp; in nvkm_conn_hpd() 37 struct nvkm_gpio *gpio = disp->engine.subdev.device->gpio; in nvkm_conn_hpd() local 38 const struct nvkm_gpio_ntfy_rep *line = notify->data; in nvkm_conn_hpd() 40 int index = conn->index; in nvkm_conn_hpd() 42 CONN_DBG(conn, "HPD: %d", line->mask); in nvkm_conn_hpd() 44 if (!nvkm_gpio_get(gpio, 0, DCB_GPIO_UNUSED, conn->hpd.index)) in nvkm_conn_hpd() 50 nvkm_event_send(&disp->hpd, rep.mask, index, &rep, sizeof(rep)); in nvkm_conn_hpd() 57 nvkm_notify_put(&conn->hpd); in nvkm_conn_fini() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/media/ |
| D | cec-gpio.txt | 1 * HDMI CEC GPIO driver 3 The HDMI CEC GPIO module supports CEC implementations where the CEC line 4 is hooked up to a pull-up GPIO line and - optionally - the HPD line is 5 hooked up to another GPIO line. 7 Please note: the maximum voltage for the CEC line is 3.63V, for the HPD and 9 when connecting them to a GPIO line. 12 - compatible: value must be "cec-gpio". 13 - cec-gpios: gpio that the CEC line is connected to. The line should be 19 - hdmi-phandle - phandle to the HDMI controller, see also cec.txt. 22 the following property is optional and can be used for debugging HPD changes: [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/media/cec/ |
| D | cec-gpio.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/media/cec/cec-gpio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: HDMI CEC GPIO 10 - Hans Verkuil <hverkuil-cisco@xs4all.nl> 13 The HDMI CEC GPIO module supports CEC implementations where the CEC line is 14 hooked up to a pull-up GPIO line and - optionally - the HPD line is hooked up 15 to another GPIO line. 17 Please note:: the maximum voltage for the CEC line is 3.63V, for the HPD and [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/link/protocols/ |
| D | link_hpd.c | 28 * 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 …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
| D | conn.c | 28 #include <subdev/gpio.h> 56 static const u8 hpd[] = { 0x07, 0x08, 0x51, 0x52, 0x5e, 0x5f, 0x60 }; in nvkm_conn_ctor() local 57 struct nvkm_gpio *gpio = disp->engine.subdev.device->gpio; in nvkm_conn_ctor() local 61 conn->disp = disp; in nvkm_conn_ctor() 62 conn->index = index; in nvkm_conn_ctor() 63 conn->info = *info; in nvkm_conn_ctor() 64 conn->info.hpd = DCB_GPIO_UNUSED; in nvkm_conn_ctor() 66 CONN_DBG(conn, "type %02x loc %d hpd %02x dp %x di %x sr %x lcdid %x", in nvkm_conn_ctor() 67 info->type, info->location, info->hpd, info->dp, in nvkm_conn_ctor() 68 info->di, info->sr, info->lcdid); in nvkm_conn_ctor() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/gpio/ |
| D | hw_hpd.c | 2 * Copyright 2012-15 Advanced Micro Devices, Inc. 40 hpd->shifts->field_name, hpd->masks->field_name 43 hpd->base.base.ctx 45 (hpd->regs->reg) 47 struct gpio; 52 dal_hw_gpio_destruct(&pin->base); in dal_hw_hpd_destruct() 58 struct hw_hpd *hpd = HW_HPD_FROM_BASE(*ptr); in dal_hw_hpd_destroy() local 60 dal_hw_hpd_destruct(hpd); in dal_hw_hpd_destroy() 62 kfree(hpd); in dal_hw_hpd_destroy() 71 struct hw_hpd *hpd = HW_HPD_FROM_BASE(ptr); in get_value() local [all …]
|
| D | gpio_base.c | 2 * Copyright 2012-15 Advanced Micro Devices, Inc. 27 * Pre-requisites: headers required by header of this unit 42 * Post-requisites: headers required by this unit 55 struct gpio *gpio, in dal_gpio_open() argument 58 return dal_gpio_open_ex(gpio, mode); in dal_gpio_open() 62 struct gpio *gpio, in dal_gpio_open_ex() argument 65 if (gpio->pin) { in dal_gpio_open_ex() 70 // No action if allocation failed during gpio construct in dal_gpio_open_ex() 71 if (!gpio->hw_container.ddc) { in dal_gpio_open_ex() 75 gpio->mode = mode; in dal_gpio_open_ex() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/gpio/ |
| D | hw_hpd.c | 2 * 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 get_value() local [all …]
|
| /kernel/linux/linux-6.6/Documentation/admin-guide/media/ |
| D | cec.rst | 1 .. SPDX-License-Identifier: GPL-2.0 12 - Exynos4 13 - Exynos5 14 - STIH4xx HDMI CEC 15 - V4L2 adv7511 (same HW, but a different driver from the drm adv7511) 16 - stm32 17 - Allwinner A10 (sun4i) 18 - Raspberry Pi 19 - dw-hdmi (Synopsis IP) 20 - amlogic (meson ao-cec and ao-cec-g12a) [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/msm/hdmi/ |
| D | hdmi_hpd.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 #include <linux/gpio/consumer.h> 65 const struct hdmi_platform_config *config = hdmi->config; in enable_hpd_clocks() 66 struct device *dev = &hdmi->pdev->dev; in enable_hpd_clocks() 70 for (i = 0; i < config->hpd_clk_cnt; i++) { in enable_hpd_clocks() 71 if (config->hpd_freq && config->hpd_freq[i]) { in enable_hpd_clocks() 72 ret = clk_set_rate(hdmi->hpd_clks[i], in enable_hpd_clocks() 73 config->hpd_freq[i]); in enable_hpd_clocks() 77 config->hpd_clk_names[i], ret); in enable_hpd_clocks() 80 ret = clk_prepare_enable(hdmi->hpd_clks[i]); in enable_hpd_clocks() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/msm/hdmi/ |
| D | hdmi_hpd.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 #include <linux/gpio/consumer.h> 65 const struct hdmi_platform_config *config = hdmi->config; in enable_hpd_clocks() 66 struct device *dev = &hdmi->pdev->dev; in enable_hpd_clocks() 70 for (i = 0; i < config->hpd_clk_cnt; i++) { in enable_hpd_clocks() 71 if (config->hpd_freq && config->hpd_freq[i]) { in enable_hpd_clocks() 72 ret = clk_set_rate(hdmi->hpd_clks[i], in enable_hpd_clocks() 73 config->hpd_freq[i]); in enable_hpd_clocks() 77 config->hpd_clk_names[i], ret); in enable_hpd_clocks() 80 ret = clk_prepare_enable(hdmi->hpd_clks[i]); in enable_hpd_clocks() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/display/panel/ |
| D | panel-edp.yaml | 1 # 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 …]
|
| D | panel-common.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/display/panel/panel-common.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 24 width-mm: 29 height-mm: 43 non-descriptive information. For instance an LCD panel in a system that 55 panel-timing: [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/display/bridge/ |
| D | analogix,dp.yaml | 1 # 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 …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/ |
| D | amdgpu_atombios.c | 2 * Copyright 2007-8 Advanced Micro Devices, Inc. 35 #include "atom-bits.h" 40 ATOM_GPIO_I2C_ASSIGMENT *gpio, in amdgpu_atombios_lookup_i2c_gpio_quirks() argument 46 …c struct amdgpu_i2c_bus_rec amdgpu_atombios_get_bus_rec_for_i2c_gpio(ATOM_GPIO_I2C_ASSIGMENT *gpio) in amdgpu_atombios_get_bus_rec_for_i2c_gpio() argument 52 i2c.mask_clk_reg = le16_to_cpu(gpio->usClkMaskRegisterIndex); in amdgpu_atombios_get_bus_rec_for_i2c_gpio() 53 i2c.mask_data_reg = le16_to_cpu(gpio->usDataMaskRegisterIndex); in amdgpu_atombios_get_bus_rec_for_i2c_gpio() 54 i2c.en_clk_reg = le16_to_cpu(gpio->usClkEnRegisterIndex); in amdgpu_atombios_get_bus_rec_for_i2c_gpio() 55 i2c.en_data_reg = le16_to_cpu(gpio->usDataEnRegisterIndex); in amdgpu_atombios_get_bus_rec_for_i2c_gpio() 56 i2c.y_clk_reg = le16_to_cpu(gpio->usClkY_RegisterIndex); in amdgpu_atombios_get_bus_rec_for_i2c_gpio() 57 i2c.y_data_reg = le16_to_cpu(gpio->usDataY_RegisterIndex); in amdgpu_atombios_get_bus_rec_for_i2c_gpio() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/display/panel/ |
| D | panel-common.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/display/panel/panel-common.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 24 width-mm: 29 height-mm: 43 non-descriptive information. For instance an LCD panel in a system that 55 panel-timing: [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/display/exynos/ |
| D | exynos_dp.txt | 5 -dp-controller node 6 -dptx-phy node(defined inside dp-controller node) 8 For the DP-PHY initialization, we use the dptx-phy node. 9 Required properties for dptx-phy: deprecated, use phys and phy-names 10 -reg: deprecated 12 -samsung,enable-mask: deprecated 13 The bit-mask used to enable/disable DP PHY. 15 For the Panel initialization, we read data from dp-controller node. 16 Required properties for dp-controller: 17 -compatible: [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/display/exynos/ |
| D | exynos_dp.txt | 5 -dp-controller node 6 -dptx-phy node(defined inside dp-controller node) 8 For the DP-PHY initialization, we use the dptx-phy node. 9 Required properties for dptx-phy: deprecated, use phys and phy-names 10 -reg: deprecated 12 -samsung,enable-mask: deprecated 13 The bit-mask used to enable/disable DP PHY. 15 For the Panel initialization, we read data from dp-controller node. 16 Required properties for dp-controller: 17 -compatible: [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/display/bridge/ |
| D | analogix_dp.txt | 3 Required properties for dp-controller: 4 -compatible: 6 * "samsung,exynos5-dp" 7 * "rockchip,rk3288-dp" 8 * "rockchip,rk3399-edp" 9 -reg: 12 -interrupts: 14 -clocks: 16 -clock-names: 18 -phys: [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/bridge/ |
| D | display-connector.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/gpio/consumer.h> 34 return flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR ? 0 : -EINVAL; in display_connector_attach() 42 if (conn->hpd_gpio) { in display_connector_detect() 43 if (gpiod_get_value_cansleep(conn->hpd_gpio)) in display_connector_detect() 49 if (conn->bridge.ddc && drm_probe_ddc(conn->bridge.ddc)) in display_connector_detect() 52 switch (conn->bridge.type) { in display_connector_detect() 69 * Composite and S-Video connectors have no other detection in display_connector_detect() 70 * mean than the HPD GPIO. For VGA connectors, even if we have in display_connector_detect() 84 return drm_get_edid(connector, conn->bridge.ddc); in display_connector_get_edid() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/ |
| D | amdgpu_atombios.c | 2 * Copyright 2007-8 Advanced Micro Devices, Inc. 35 #include "atom-bits.h" 40 ATOM_GPIO_I2C_ASSIGMENT *gpio, in amdgpu_atombios_lookup_i2c_gpio_quirks() argument 46 …c struct amdgpu_i2c_bus_rec amdgpu_atombios_get_bus_rec_for_i2c_gpio(ATOM_GPIO_I2C_ASSIGMENT *gpio) in amdgpu_atombios_get_bus_rec_for_i2c_gpio() argument 52 i2c.mask_clk_reg = le16_to_cpu(gpio->usClkMaskRegisterIndex); in amdgpu_atombios_get_bus_rec_for_i2c_gpio() 53 i2c.mask_data_reg = le16_to_cpu(gpio->usDataMaskRegisterIndex); in amdgpu_atombios_get_bus_rec_for_i2c_gpio() 54 i2c.en_clk_reg = le16_to_cpu(gpio->usClkEnRegisterIndex); in amdgpu_atombios_get_bus_rec_for_i2c_gpio() 55 i2c.en_data_reg = le16_to_cpu(gpio->usDataEnRegisterIndex); in amdgpu_atombios_get_bus_rec_for_i2c_gpio() 56 i2c.y_clk_reg = le16_to_cpu(gpio->usClkY_RegisterIndex); in amdgpu_atombios_get_bus_rec_for_i2c_gpio() 57 i2c.y_data_reg = le16_to_cpu(gpio->usDataY_RegisterIndex); in amdgpu_atombios_get_bus_rec_for_i2c_gpio() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/gpio/dcn10/ |
| D | hw_factory_dcn10.c | 2 * 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 …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/gpio/dcn10/ |
| D | hw_factory_dcn10.c | 2 * 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 …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/display/msm/ |
| D | edp.txt | 4 - compatible: 5 * "qcom,mdss-edp" 6 - reg: Physical base address and length of the registers of controller and PLL 7 - reg-names: The names of register regions. The following regions are required: 10 - interrupts: The interrupt signal from the eDP block. 11 - power-domains: Should be <&mmcc MDSS_GDSC>. 12 - clocks: device clocks 13 See Documentation/devicetree/bindings/clock/clock-bindings.txt for details. 14 - clock-names: the following clocks are required: 20 - #clock-cells: The value should be 1. [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/display/tegra/ |
| D | nvidia,tegra20-hdmi.yaml | 1 # 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 …]
|