Home
last modified time | relevance | path

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

1234

/linux/Documentation/devicetree/bindings/media/cec/
H A Dcec-common.yaml1 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
3 ---
4 $id: http://devicetree.org/schemas/media/cec/cec-common.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Hans Verkuil <hverkuil@xs4all.nl>
14 pattern: "^cec(@[0-9a-f]+|-[0-9]+)?$"
16 hdmi-phandle:
21 needs-hpd:
24 The CEC support is only available when the HPD is high. Some boards only
25 let the CEC pin through if the HPD is high, for example if there is a
[all …]
H A Dsamsung,s5p-cec.yaml1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
3 ---
4 $id: http://devicetree.org/schemas/media/cec/samsung,s5p-cec.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Krzysztof Kozlowski <krzk@kernel.org>
11 - Marek Szyprowski <m.szyprowski@samsung.com>
14 - $ref: cec-common.yaml#
18 const: samsung,s5p-cec
23 clock-names:
25 - const: hdmicec
[all …]
/linux/Documentation/admin-guide/media/
H A Dcec.rst1 .. 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 …]
/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
47 return -EINVAL; in tpd12s015_attach()
49 ret = drm_bridge_attach(bridge->encoder, tpd->next_bridge, in tpd12s015_attach()
54 gpiod_set_value_cansleep(tpd->ls_oe_gpio, 1); in tpd12s015_attach()
56 /* DC-DC converter needs at max 300us to get to 90% of 5V. */ in tpd12s015_attach()
66 gpiod_set_value_cansleep(tpd->ls_oe_gpio, 0); in tpd12s015_detach()
73 if (gpiod_get_value_cansleep(tpd->hpd_gpio)) in tpd12s015_detect()
83 gpiod_set_value_cansleep(tpd->ct_cp_hpd_gpio, 1); in tpd12s015_hpd_enable()
90 gpiod_set_value_cansleep(tpd->ct_cp_hpd_gpio, 0); in tpd12s015_hpd_disable()
[all …]
H A Dparade-ps8622.c1 // SPDX-License-Identifier: GPL-2.0-only
68 struct i2c_adapter *adap = client->adapter; in ps8622_set()
72 msg.addr = client->addr + page; in ps8622_set()
80 client->addr + page, reg, val, ret); in ps8622_set()
86 struct i2c_client *cl = ps8622->client; in ps8622_send_config()
89 /* HPD low */ in ps8622_send_config()
137 /* [7:5] DCO_FTRNG=+-40% */ in ps8622_send_config()
147 /* Gitune=-37% */ in ps8622_send_config()
167 /* [7:6] Right-bar GPIO output strength is 8mA */ in ps8622_send_config()
177 /* Logic, needs more than 10 I2C command */ in ps8622_send_config()
[all …]
/linux/drivers/gpu/drm/meson/
H A Dmeson_dw_hdmi.c1 // SPDX-License-Identifier: GPL-2.0-or-later
32 #define DRIVER_NAME "meson-dw-hdmi"
33 #define DRIVER_DESC "Amlogic Meson HDMI-TX DRM driver"
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
55 * The HDMI TOP block only supports HPD sensing.
79 * - HPD Rise & Fall interrupt
80 * - HDMI Controller Interrupt
[all …]
/linux/drivers/gpu/drm/amd/display/dc/
H A Ddc.h2 * Copyright 2012-2023 Advanced Micro Devices, Inc.
108 // for example, 1080p -> 8K is 4.0, or 4000 raw value
116 // for example, 8K -> 1080p is 0.25, or 250 raw value
128 * DOC: color-management-caps
133 * abstracted HW. DCE 5-12 had almost no important changes, but starting with
140 * struct rom_curve_caps - predefined transfer function caps for degamma and regamma
156 * struct dpp_color_caps - color pipeline capabilities for display pipe and
161 * just plain 256-entry lookup
170 * @dgam_rom_for_yuv: pre-defined degamma LUT for YUV planes
171 * @dgam_rom_caps: pre-definied curve caps for degamma 1D LUT
[all …]
/linux/drivers/gpu/drm/panel/
H A Dpanel-edp.c17 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
46 * struct panel_delay - Describes delays for a simple panel.
50 * @hpd_reliable: Time for HPD to be reliable
53 * before the HPD signal is reliable. Ideally this is 0 but some panels,
57 * Presumably some old panels simply didn't have HPD hooked up and put
59 * hpd_absent. While that works, it's non-ideal.
64 * @hpd_absent: Time to wait if HPD isn't hooked up.
68 * This is T3-max on eDP timing diagrams or the delay from power on
69 * until HPD is guaranteed to be asserted.
76 * The minimum time, in milliseconds, that needs to have passed
[all …]
/linux/Documentation/userspace-api/media/cec/
H A Dcec-ioc-adap-g-caps.rst1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
13 CEC_ADAP_G_CAPS - Query device capabilities
42 .. flat-table:: struct cec_caps
43 :header-rows: 0
44 :stub-columns: 0
47 * - char
48 - ``driver[32]``
49 - The name of the cec adapter driver.
50 * - char
51 - ``name[32]``
[all …]
/linux/drivers/gpu/drm/amd/amdgpu/
H A Datombios_dp.c2 * Copyright 2007-8 Advanced Micro Devices, Inc.
34 #include "atom-bits.h"
63 struct drm_device *dev = chan->dev; in amdgpu_atombios_dp_process_aux_ch()
73 mutex_lock(&chan->mutex); in amdgpu_atombios_dp_process_aux_ch()
75 base = (unsigned char *)(adev->mode_info.atom_context->scratch + 1); in amdgpu_atombios_dp_process_aux_ch()
82 args.v2.ucChannelID = chan->rec.i2c_id; in amdgpu_atombios_dp_process_aux_ch()
84 args.v2.ucHPD_ID = chan->rec.hpd; in amdgpu_atombios_dp_process_aux_ch()
86 amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args, sizeof(args)); in amdgpu_atombios_dp_process_aux_ch()
92 r = -ETIMEDOUT; in amdgpu_atombios_dp_process_aux_ch()
99 r = -EIO; in amdgpu_atombios_dp_process_aux_ch()
[all …]
H A Ddce_v8_0.c82 (0x13830 - 0x7030) >> 2,
89 uint32_t hpd; member
95 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK
100 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK
105 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK
110 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK
115 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK
120 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK
129 spin_lock_irqsave(&adev->audio_endpt_idx_lock, flags); in dce_v8_0_audio_endpt_rreg()
132 spin_unlock_irqrestore(&adev->audio_endpt_idx_lock, flags); in dce_v8_0_audio_endpt_rreg()
[all …]
H A Ddce_v11_0.c55 static void dce_v11_0_hpd_int_ack(struct amdgpu_device *adev, int hpd);
94 uint32_t hpd; member
100 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK
105 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK
110 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK
115 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK
120 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK
125 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK
165 switch (adev->asic_type) { in dce_v11_0_init_golden_registers()
202 spin_lock_irqsave(&adev->audio_endpt_idx_lock, flags); in dce_v11_0_audio_endpt_rreg()
[all …]
H A Ddce_v10_0.c55 static void dce_v10_0_hpd_int_ack(struct amdgpu_device *adev, int hpd);
90 uint32_t hpd; member
96 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK
101 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK
106 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK
111 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK
116 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK
121 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK
150 switch (adev->asic_type) { in dce_v10_0_init_golden_registers()
178 spin_lock_irqsave(&adev->audio_endpt_idx_lock, flags); in dce_v10_0_audio_endpt_rreg()
[all …]
H A Ddce_v6_0.c72 mmDC_HPD1_INT_STATUS - mmDC_HPD1_INT_STATUS,
73 mmDC_HPD2_INT_STATUS - mmDC_HPD1_INT_STATUS,
74 mmDC_HPD3_INT_STATUS - mmDC_HPD1_INT_STATUS,
75 mmDC_HPD4_INT_STATUS - mmDC_HPD1_INT_STATUS,
76 mmDC_HPD5_INT_STATUS - mmDC_HPD1_INT_STATUS,
77 mmDC_HPD6_INT_STATUS - mmDC_HPD1_INT_STATUS,
87 (0x13830 - 0x7030) >> 2,
94 uint32_t hpd; member
100 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK
105 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK
[all …]
H A Damdgpu_atombios.c2 * Copyright 2007-8 Advanced Micro Devices, Inc.
35 #include "atom-bits.h"
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()
58 i2c.a_clk_reg = le16_to_cpu(gpio->usClkA_RegisterIndex); in amdgpu_atombios_get_bus_rec_for_i2c_gpio()
59 i2c.a_data_reg = le16_to_cpu(gpio->usDataA_RegisterIndex); in amdgpu_atombios_get_bus_rec_for_i2c_gpio()
[all …]
/linux/drivers/gpu/drm/msm/hdmi/
H A Dhdmi.c1 // SPDX-License-Identifier: GPL-2.0-only
16 #include <sound/hdmi-codec.h>
24 spin_lock_irqsave(&hdmi->reg_lock, flags); in msm_hdmi_set_mode()
27 if (!hdmi->hdmi_mode) { in msm_hdmi_set_mode()
39 spin_unlock_irqrestore(&hdmi->reg_lock, flags); in msm_hdmi_set_mode()
48 /* Process HPD: */ in msm_hdmi_irq()
49 msm_hdmi_hpd_irq(hdmi->bridge); in msm_hdmi_irq()
52 msm_hdmi_i2c_irq(hdmi->i2c); in msm_hdmi_irq()
55 if (hdmi->hdcp_ctrl) in msm_hdmi_irq()
56 msm_hdmi_hdcp_irq(hdmi->hdcp_ctrl); in msm_hdmi_irq()
[all …]
/linux/drivers/gpu/drm/radeon/
H A Datombios_dp.c2 * Copyright 2007-8 Advanced Micro Devices, Inc.
32 #include "atom-bits.h"
48 /* Atom needs data in little endian format so swap as appropriate when copying
90 struct drm_device *dev = chan->dev; in radeon_process_aux_ch()
91 struct radeon_device *rdev = dev->dev_private; in radeon_process_aux_ch()
100 mutex_lock(&chan->mutex); in radeon_process_aux_ch()
101 mutex_lock(&rdev->mode_info.atom_context->scratch_mutex); in radeon_process_aux_ch()
103 base = (unsigned char *)(rdev->mode_info.atom_context->scratch + 1); in radeon_process_aux_ch()
110 args.v1.ucChannelID = chan->rec.i2c_id; in radeon_process_aux_ch()
113 args.v2.ucHPD_ID = chan->rec.hpd; in radeon_process_aux_ch()
[all …]
H A Dr100.c111 * r100_wait_for_vblank - vblank wait asic callback.
116 * Wait for vblank on the requested crtc (r1xx-r4xx).
122 if (crtc >= rdev->num_crtc) in r100_wait_for_vblank()
152 * r100_page_flip - pageflip callback.
159 * Does the actual pageflip (r1xx-r4xx).
166 struct radeon_crtc *radeon_crtc = rdev->mode_info.crtcs[crtc_id]; in r100_page_flip()
168 struct drm_framebuffer *fb = radeon_crtc->base.primary->fb; in r100_page_flip()
174 WREG32(RADEON_CRTC_OFFSET + radeon_crtc->crtc_offset, tmp); in r100_page_flip()
177 pitch_pixels = fb->pitches[0] / fb->format->cpp[0]; in r100_page_flip()
178 crtc_pitch = DIV_ROUND_UP(pitch_pixels * fb->format->cpp[0] * 8, in r100_page_flip()
[all …]
/linux/include/drm/display/
H A Ddrm_dp_helper.h75 * struct drm_dp_vsc_sdp - drm DP VSC SDP
78 * It is based on DP 1.4 spec [Table 2-116: VSC SDP Header Bytes] and
79 * [Table 2-117: VSC SDP Payload for DB16 through DB18]
81 * @sdp_type: secondary-data packet type
88 * @content_type: CTA-861-G defines content types and expected processing by a sink device
102 * struct drm_dp_as_sdp - drm DP Adaptive Sync SDP
105 * It is based on DP 2.1 spec [Table 2-126: Adaptive-Sync SDP Header Bytes] and
106 * [Table 2-127: Adaptive-Sync SDP Payload for DB0 through DB8]
108 * @sdp_type: Secondary-data packet type
210 return dsc_dpcd[DP_DSC_SUPPORT - DP_DSC_SUPPORT] & in drm_dp_sink_supports_dsc()
[all …]
/linux/drivers/media/i2c/
H A Dtda1997x_regs.h1 /* SPDX-License-Identifier: GPL-2.0 */
6 /* Page 0x00 - General Control */
127 /* HPD Detection */
129 #define DETECT_HPD BIT(6) /* HPD of HDMI level */
157 #define HPD_MAN_CTRL_HPD_PULSE BIT(7) /* HPD Pulse low 110ms */
159 #define HPD_MAN_CTRL_HPD_B BIT(1) /* Assert HPD High for Input A */
160 #define HPD_MAN_CTRL_HPD_A BIT(0) /* Assert HPD High for Input A */
165 #define RT_MAN_CTRL_RT_B BIT(1) /* enable TMDS pull-up on Input B */
166 #define RT_MAN_CTRL_RT_A BIT(0) /* enable TMDS pull-up on Input A */
212 #define PCLK_DELAY_SHIFT 4 /* Pixel delay (-8..+7) */
[all …]
/linux/arch/arm/boot/dts/samsung/
H A Dexynos4412-odroidu3.dts1 // SPDX-License-Identifier: GPL-2.0
3 * Hardkernel's Exynos4412 based ODROID-U3 board device tree source
7 * Device tree source file for Hardkernel's ODROID-U3 board which is based
11 /dts-v1/;
12 #include <dt-bindings/leds/common.h>
13 #include "exynos4412-odroid-common.dtsi"
14 #include "exynos4412-prime.dtsi"
17 model = "Hardkernel ODROID-U3 board based on Exynos4412";
18 compatible = "hardkernel,odroid-u3", "samsung,exynos4412", "samsung,exynos4";
29 vbus_otg_reg: regulator-1 {
[all …]
H A Dexynos5422-odroidxu3-common.dtsi1 // SPDX-License-Identifier: GPL-2.0
3 * Hardkernel Odroid XU3/XU3-Lite/XU4 boards common device tree source
12 #include <dt-bindings/input/input.h>
13 #include "exynos5422-odroid-core.dtsi"
20 gpio-keys {
21 compatible = "gpio-keys";
22 pinctrl-names = "default";
23 pinctrl-0 = <&power_key>;
25 power-key {
36 debounce-interval = <0>;
[all …]
/linux/drivers/gpu/drm/i915/display/
H A Dintel_display_driver.c1 // SPDX-License-Identifier: MIT
3 * Copyright © 2022-2023 Intel Corporation
67 * apple-gmux is needed on dual GPU MacBook Pro in intel_display_driver_probe_defer()
73 /* If the LCD panel has a privacy-screen, wait for it */ in intel_display_driver_probe_defer()
74 privacy_screen = drm_privacy_screen_get(&pdev->dev, NULL); in intel_display_driver_probe_defer()
75 if (IS_ERR(privacy_screen) && PTR_ERR(privacy_screen) == -EPROBE_DEFER) in intel_display_driver_probe_defer()
85 struct drm_i915_private *i915 = to_i915(display->drm); in intel_display_driver_init_hw()
91 cdclk_state = to_intel_cdclk_state(display->cdclk.obj.state); in intel_display_driver_init_hw()
94 intel_cdclk_dump_config(display, &display->cdclk.hw, "Current CDCLK"); in intel_display_driver_init_hw()
95 cdclk_state->logical = cdclk_state->actual = display->cdclk.hw; in intel_display_driver_init_hw()
[all …]
H A Dintel_crt.c2 * Copyright © 2006-2007 Intel Corporation
93 struct drm_i915_private *dev_priv = to_i915(display->drm); in intel_crt_port_enabled()
111 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_crt_get_hw_state()
117 encoder->power_domain); in intel_crt_get_hw_state()
121 ret = intel_crt_port_enabled(display, crt->adpa_reg, pipe); in intel_crt_get_hw_state()
123 intel_display_power_put(dev_priv, encoder->power_domain, wakeref); in intel_crt_get_hw_state()
134 tmp = intel_de_read(display, crt->adpa_reg); in intel_crt_get_flags()
152 crtc_state->output_types |= BIT(INTEL_OUTPUT_ANALOG); in intel_crt_get_config()
154 crtc_state->hw.adjusted_mode.flags |= intel_crt_get_flags(encoder); in intel_crt_get_config()
156 crtc_state->hw.adjusted_mode.crtc_clock = crtc_state->port_clock; in intel_crt_get_config()
[all …]
/linux/drivers/gpu/drm/bridge/analogix/
H A Danx7625.c1 // SPDX-License-Identifier: GPL-2.0-only
35 #include <media/v4l2-fwnode.h>
36 #include <sound/hdmi-codec.h>
50 struct device *dev = &client->dev; in i2c_access_workaround()
53 if (client == ctx->last_client) in i2c_access_workaround()
56 ctx->last_client = client; in i2c_access_workaround()
58 if (client == ctx->i2c.tcpc_client) in i2c_access_workaround()
60 else if (client == ctx->i2c.tx_p0_client) in i2c_access_workaround()
62 else if (client == ctx->i2c.tx_p1_client) in i2c_access_workaround()
64 else if (client == ctx->i2c.rx_p0_client) in i2c_access_workaround()
[all …]

1234