/Linux-v6.1/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 …]
|
/Linux-v6.1/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 …]
|
/Linux-v6.1/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 …]
|
D | gpio_base.c | 2 * 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-v6.1/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 …]
|
/Linux-v6.1/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 …]
|
/Linux-v6.1/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 …]
|
/Linux-v6.1/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 …]
|
/Linux-v6.1/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 …]
|
D | ti,sn65dsi86.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Sandeep Panda <spanda@codeaurora.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-v6.1/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 …]
|
/Linux-v6.1/drivers/gpu/drm/radeon/ |
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() 374 edid_info = combios_get_table_offset(rdev->ddev, COMBIOS_HARDCODED_EDID_TABLE); in radeon_combios_check_hardcoded_edid() 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() [all …]
|
/Linux-v6.1/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 …]
|
/Linux-v6.1/Documentation/devicetree/bindings/display/samsung/ |
D | samsung,exynos-hdmi.yaml | 1 # 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-v6.1/drivers/gpu/drm/amd/display/dc/gpio/dce120/ |
D | hw_factory_dce120.c | 2 * 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-v6.1/drivers/gpu/drm/amd/display/dc/gpio/dcn21/ |
D | hw_factory_dcn21.c | 2 * 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-v6.1/drivers/gpu/drm/panel/ |
D | panel-samsung-atna33xc20.c | 1 // SPDX-License-Identifier: GPL-2.0 6 * by the DRM_PANEL_SIMPLE driver because its power sequencing is non-standard. 11 #include <linux/gpio/consumer.h> 22 /* T3 VCC to HPD high is max 200 ms */ 72 if (p->el3_was_on) in atana33xc20_suspend() 73 atana33xc20_wait(p->el_on3_off_time, 150); in atana33xc20_suspend() 75 ret = regulator_disable(p->supply); in atana33xc20_suspend() 78 p->powered_off_time = ktime_get(); in atana33xc20_suspend() 79 p->el3_was_on = false; in atana33xc20_suspend() 91 atana33xc20_wait(p->powered_off_time, 500); in atana33xc20_resume() [all …]
|
/Linux-v6.1/drivers/gpu/drm/amd/display/dc/gpio/dce80/ |
D | hw_factory_dce80.c | 2 * 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-v6.1/drivers/gpu/drm/amd/display/dc/gpio/dce60/ |
D | hw_factory_dce60.c | 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() 146 hpd->shifts = &hpd_shift; in define_hpd_registers() [all …]
|
/Linux-v6.1/drivers/gpu/drm/amd/display/dc/gpio/dcn20/ |
D | hw_factory_dcn20.c | 2 * Copyright 2013-15 Advanced Micro Devices, Inc. 49 #define block HPD 185 switch (pin->id) { in define_ddc_registers() 187 ddc->regs = &ddc_data_regs_dcn[en]; in define_ddc_registers() 188 ddc->base.regs = &ddc_data_regs_dcn[en].gpio; in define_ddc_registers() 191 ddc->regs = &ddc_clk_regs_dcn[en]; in define_ddc_registers() 192 ddc->base.regs = &ddc_clk_regs_dcn[en].gpio; in define_ddc_registers() 199 ddc->shifts = &ddc_shift[en]; in define_ddc_registers() 200 ddc->masks = &ddc_mask[en]; in define_ddc_registers() 206 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local [all …]
|
/Linux-v6.1/drivers/gpu/drm/amd/display/dc/gpio/dcn30/ |
D | hw_factory_dcn30.c | 56 #define block HPD 190 generic->regs = &generic_regs[en]; in define_generic_registers() 191 generic->shifts = &generic_shift[en]; in define_generic_registers() 192 generic->masks = &generic_mask[en]; in define_generic_registers() 193 generic->base.regs = &generic_regs[en].gpio; in define_generic_registers() 202 switch (pin->id) { in define_ddc_registers() 204 ddc->regs = &ddc_data_regs_dcn[en]; in define_ddc_registers() 205 ddc->base.regs = &ddc_data_regs_dcn[en].gpio; in define_ddc_registers() 208 ddc->regs = &ddc_clk_regs_dcn[en]; in define_ddc_registers() 209 ddc->base.regs = &ddc_clk_regs_dcn[en].gpio; in define_ddc_registers() [all …]
|
/Linux-v6.1/drivers/gpu/drm/amd/display/dc/gpio/dcn315/ |
D | hw_factory_dcn315.c | 53 #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-v6.1/drivers/gpu/drm/amd/display/dc/gpio/dce110/ |
D | hw_factory_dce110.c | 2 * 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-v6.1/drivers/gpu/drm/bridge/ |
D | display-connector.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/gpio/consumer.h> 9 #include <linux/media-bus-format.h> 40 return flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR ? 0 : -EINVAL; in display_connector_attach() 48 if (conn->hpd_gpio) { in display_connector_detect() 49 if (gpiod_get_value_cansleep(conn->hpd_gpio)) in display_connector_detect() 55 if (conn->bridge.ddc && drm_probe_ddc(conn->bridge.ddc)) in display_connector_detect() 58 switch (conn->bridge.type) { in display_connector_detect() 75 * Composite and S-Video connectors have no other detection in display_connector_detect() 76 * mean than the HPD GPIO. For VGA connectors, even if we have in display_connector_detect() [all …]
|