/openbmc/linux/Documentation/devicetree/bindings/display/ |
H A D | dp-aux-bus.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/dp-aux-bus.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: DisplayPort AUX bus 10 - Douglas Anderson <dianders@chromium.org> 14 are hooked up to them. This is the DP AUX bus. Over the DP AUX bus 16 particular, DP sinks support DDC over DP AUX which allows tunneling 17 a standard I2C DDC connection over the AUX channel. 19 To model this relationship, DP sinks should be placed as children [all …]
|
/openbmc/linux/drivers/gpu/drm/display/ |
H A D | drm_dp_aux_bus.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * The DP AUX bus is used for devices that are connected over a DisplayPort 6 * AUX bus. The device on the far side of the bus is referred to as an 9 * There is only one device connected to the DP AUX bus: an eDP panel. 10 * Though historically panels (even DP panels) have been modeled as simple 11 * platform devices, putting them under the DP AUX bus allows the panel driver 12 * to perform transactions on that bus. 27 int (*done_probing)(struct drm_dp_aux *aux); 31 * dp_aux_ep_match() - The match function for the dp_aux_bus. 41 return !!of_match_device(drv->of_match_table, dev); in dp_aux_ep_match() [all …]
|
H A D | drm_dp_dual_mode_helper.c | 35 * DOC: dp dual mode helpers 37 * Helper functions to deal with DP dual mode (aka. DP++) adaptors. 40 * Adaptor registers (if any) and the sink DDC bus may be accessed via I2C. 43 * Adaptor registers and sink DDC bus can be accessed either via I2C or 44 * I2C-over-AUX. Source devices may choose to implement either of these 51 * drm_dp_dual_mode_read - Read from the DP dual mode adaptor register(s) 52 * @adapter: I2C adapter for the DDC bus 57 * Reads @size bytes from the DP dual mode adaptor registers 69 * As sub-addressing is not supported by all adaptors, in drm_dp_dual_mode_read() 94 return -ENOMEM; in drm_dp_dual_mode_read() [all …]
|
H A D | drm_dp_helper.c | 58 struct drm_dp_aux *aux; member 64 * DOC: dp helpers 67 * levels to deal with Display Port sink devices and related things like DP aux 68 * channel transfers, EDID reading over DP aux channels, decoding certain DPCD 72 /* Helpers for DP link training */ 75 return link_status[r - DP_LANE0_1_STATUS]; in dp_link_status() 149 /* DP 2.0 128b/132b */ 163 /* DP 2.0 errata for 128b/132b */ 183 /* DP 2.0 errata for 128b/132b */ 199 /* DP 2.0 errata for 128b/132b */ [all …]
|
/openbmc/linux/include/drm/display/ |
H A D | drm_dp_aux_bus.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 * The DP AUX bus is used for devices that are connected over a DisplayPort 6 * AUX bus. The devices on the far side of the bus are referred to as 17 * struct dp_aux_ep_device - Main dev structure for DP AUX endpoints 19 * This is used to instantiate devices that are connected via a DP AUX 20 * bus. Usually the device is a panel, but conceivable other devices could 26 /** @aux: Pointer to the aux bus */ 27 struct drm_dp_aux *aux; member 47 int of_dp_aux_populate_bus(struct drm_dp_aux *aux, 48 int (*done_probing)(struct drm_dp_aux *aux)); [all …]
|
H A D | drm_dp_helper.h | 47 int drm_dp_read_clock_recovery_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE], 49 int drm_dp_read_channel_eq_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE], 52 void drm_dp_link_train_clock_recovery_delay(const struct drm_dp_aux *aux, 55 void drm_dp_link_train_channel_eq_delay(const struct drm_dp_aux *aux, 57 void drm_dp_lttpr_link_train_channel_eq_delay(const struct drm_dp_aux *aux, 60 int drm_dp_128b132b_read_aux_rd_interval(struct drm_dp_aux *aux); 75 * struct drm_dp_vsc_sdp - drm DP VSC SDP 77 * This structure represents a DP VSC SDP of drm 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] [all …]
|
H A D | drm_dp_mst_helper.h | 52 * struct drm_dp_mst_port - MST port 56 * @mcs: message capability status - DP 1.2 spec. Protected by 58 * @ddps: DisplayPort Device Plug Status - DP 1.2. Protected by 73 * @aux: i2c aux transport to talk to device connected to this port, protected 75 * @passthrough_aux: parent aux to which DSC pass-through requests should be 76 * sent, only set if DSC pass-through is possible. 89 * only the DP MST helpers should need to touch this 130 struct drm_dp_aux aux; /* i2c bus for this port? */ member 138 * @cached_edid: for DP logical ports - make tiling work by ensuring 150 /* sideband msg header - not bit struct */ [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/display/msm/ |
H A D | dp-controller.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/msm/dp-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Kuogee Hsieh <quic_khsieh@quicinc.com> 19 - enum: 20 - qcom,sc7180-dp 21 - qcom,sc7280-dp 22 - qcom,sc7280-edp 23 - qcom,sc8180x-dp [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/display/panel/ |
H A 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# 7 title: Probeable (via DP AUX / EDID) eDP Panels with simple poweron sequences 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 21 represented under the DP AUX bus. This means that we can use any 22 information provided by the DP AUX bus (including the EDID) to identify [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/display/bridge/ |
H A D | analogix,anx7625.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 4 --- 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Xin Ji <xji@analogixsemi.com> 14 The ANX7625 is an ultra-low power 4K Mobile HD Transmitter 28 enable-gpios: 32 reset-gpios: 36 vdd10-supply: 39 vdd18-supply: 42 vdd33-supply: [all …]
|
H A D | ps8640.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Nicolas Boichat <drinkcat@chromium.org> 13 The PS8640 is a low power MIPI-to-eDP video format converter supporting 28 powerdown-gpios: 32 reset-gpios: 36 vdd12-supply: 39 vdd33-supply: 42 aux-bus: [all …]
|
H A D | cdns,mhdp8546.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Swapnil Jakhade <sjakhade@cadence.com> 11 - Yuti Amonkar <yamonkar@cadence.com> 16 - cdns,mhdp8546 17 - ti,j721e-mhdp8546 22 - description: 24 The AUX and PMA registers are not part of this range, they are instead 26 - description: [all …]
|
H A 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: 27 suspend-gpios: 31 no-hpd: 37 vccio-supply: 40 vpll-supply: 43 vcca-supply: [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/display/tegra/ |
H A D | nvidia,tegra124-sor.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/tegra/nvidia,tegra124-sor.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 15 and DP outputs. 19 pattern: "^sor@[0-9a-f]+$" 23 - enum: 24 - nvidia,tegra124-sor [all …]
|
H A D | nvidia,tegra124-dpaux.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/tegra/nvidia,tegra124-dpaux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NVIDIA Tegra DisplayPort AUX Interface 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 18 When configured for DisplayPort AUX operation, the DPAUX controller 20 AUX channel. 24 pattern: "^dpaux@[0-9a-f]+$" [all …]
|
/openbmc/linux/drivers/gpu/drm/msm/dp/ |
H A D | dp_display.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. 32 MODULE_PARM_DESC(psr_enabled, "enable PSR for eDP and DP displays"); 97 struct drm_dp_aux *aux; member 180 { .compatible = "qcom,sc7180-dp", .data = &sc7180_dp_descs }, 181 { .compatible = "qcom,sc7280-dp", .data = &sc7280_dp_descs }, 182 { .compatible = "qcom,sc7280-edp", .data = &sc7280_dp_descs }, 183 { .compatible = "qcom,sc8180x-dp", .data = &sc8180x_dp_descs }, 184 { .compatible = "qcom,sc8180x-edp", .data = &sc8180x_dp_descs }, 185 { .compatible = "qcom,sc8280xp-dp", .data = &sc8280xp_dp_descs }, [all …]
|
/openbmc/linux/drivers/gpu/drm/nouveau/dispnv50/ |
H A D | disp.c | 31 #include <linux/dma-mapping.h> 69 #include <subdev/bios/dp.h> 83 chan->device = device; in nv50_chan_create() 94 &chan->user); in nv50_chan_create() 96 nvif_object_map(&chan->user, NULL, 0); in nv50_chan_create() 105 return -ENOSYS; in nv50_chan_create() 111 nvif_object_dtor(&chan->user); in nv50_chan_destroy() 121 nvif_object_dtor(&dmac->vram); in nv50_dmac_destroy() 122 nvif_object_dtor(&dmac->sync); in nv50_dmac_destroy() 124 nv50_chan_destroy(&dmac->base); in nv50_dmac_destroy() [all …]
|
/openbmc/linux/drivers/gpu/drm/bridge/ |
H A D | ti-sn65dsi86.c | 1 // SPDX-License-Identifier: GPL-2.0 134 * struct ti_sn65dsi86 - Platform data for ti-sn65dsi86 driver. 135 * @bridge_aux: AUX-bus sub device for MIPI-to-eDP bridge functionality. 136 * @gpio_aux: AUX-bus sub device for GPIO controller functionality. 137 * @aux_aux: AUX-bus sub device for eDP AUX channel functionality. 138 * @pwm_aux: AUX-bus sub device for PWM controller functionality. 142 * @aux: Our aux channel. 153 * @ln_polrs: Value for the 4-bit LN_POLRS field of SN_ENH_FRAME_REG. 154 * @comms_enabled: If true then communication over the aux channel is enabled. 159 * serves double-duty of keeping track of the direction and [all …]
|
/openbmc/u-boot/drivers/video/ |
H A D | logicore_dp_tx.c | 1 // SPDX-License-Identifier: GPL-2.0+ 26 /* Default DP phy clock value */ 31 /* The maximum pre-emphasis level is 3 */ 34 /* Error out if an AUX request yields a defer reply more than 50 times */ 36 /* Error out if an AUX request times out more than 50 times awaiting a reply */ 42 * enum link_training_states - States for link training state machine 62 * struct aux_transaction - Description of an AUX channel transaction 66 * @data: Payload data of the AUX channel transaction 76 * struct main_stream_attributes - Main stream attributes 87 * to the native internal 16-bit datapath [all …]
|
/openbmc/linux/drivers/gpu/drm/bridge/cadence/ |
H A D | cdns-mhdp8546-core.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Cadence MHDP8546 DP bridge driver. 7 * Authors: Quentin Schulz <quentin.schulz@free-electrons.com> 14 * - Implement optimized mailbox communication using mailbox interrupts 15 * - Add support for power management 16 * - Add support for features like audio, MST and fast link training 17 * - Implement request_fw_cancel to handle HW_STATE 18 * - Fix asynchronous loading of firmware implementation 19 * - Add DRM helper function for cdns_mhdp_lower_link_rate 29 #include <linux/media-bus-format.h> [all …]
|
/openbmc/linux/drivers/gpu/drm/bridge/analogix/ |
H A D | analogix-anx6345.c | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 31 #include "analogix-i2c-dptx.h" 32 #include "analogix-i2c-txcommon.h" 47 struct drm_dp_aux aux; member 88 static ssize_t anx6345_aux_transfer(struct drm_dp_aux *aux, in anx6345_aux_transfer() argument 91 struct anx6345 *anx6345 = container_of(aux, struct anx6345, aux); in anx6345_aux_transfer() 93 return anx_dp_aux_transfer(anx6345->map[I2C_IDX_DPTX], msg); in anx6345_aux_transfer() 102 err = anx6345_clear_bits(anx6345->map[I2C_IDX_TXCOM], in anx6345_dp_link_training() 108 err = drm_dp_dpcd_readb(&anx6345->aux, DP_MAX_LINK_RATE, &dp_bw); in anx6345_dp_link_training() 118 DRM_DEBUG_KMS("DP bandwidth (%#02x) not supported\n", dp_bw); in anx6345_dp_link_training() [all …]
|
H A D | analogix-anx78xx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 29 #include "analogix-anx78xx.h" 67 struct drm_dp_aux aux; member 108 static ssize_t anx78xx_aux_transfer(struct drm_dp_aux *aux, in anx78xx_aux_transfer() argument 111 struct anx78xx *anx78xx = container_of(aux, struct anx78xx, aux); in anx78xx_aux_transfer() 112 return anx_dp_aux_transfer(anx78xx->map[I2C_IDX_TX_P0], msg); in anx78xx_aux_transfer() 119 err = anx78xx_clear_bits(anx78xx->map[I2C_IDX_RX_P0], in anx78xx_set_hpd() 124 err = anx78xx_set_bits(anx78xx->map[I2C_IDX_TX_P2], SP_VID_CTRL3_REG, in anx78xx_set_hpd() 136 err = anx78xx_clear_bits(anx78xx->map[I2C_IDX_TX_P2], SP_VID_CTRL3_REG, in anx78xx_clear_hpd() 141 err = anx78xx_set_bits(anx78xx->map[I2C_IDX_RX_P0], in anx78xx_clear_hpd() [all …]
|
/openbmc/linux/drivers/gpu/drm/mediatek/ |
H A D | mtk_dp.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2019-2022 MediaTek Inc. 18 #include <linux/arm-smccc.h> 23 #include <linux/media-bus-format.h> 24 #include <linux/nvmem-consumer.h> 33 #include <sound/hdmi-codec.h> 118 struct drm_dp_aux aux; member 317 .name = "mtk-dp-registers", 330 ret = regmap_read(mtk_dp->regs, offset, &read_val); in mtk_dp_read() 332 dev_err(mtk_dp->dev, "Failed to read register 0x%x: %d\n", in mtk_dp_read() [all …]
|
/openbmc/linux/drivers/gpu/drm/gma500/ |
H A D | cdv_intel_dp.c | 45 * struct i2c_algo_dp_aux_data - driver interface structure for i2c over dp 46 * aux algorithm 48 * the i2c bus is quiescent 65 struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data; in i2c_algo_dp_aux_transaction() 68 ret = (*algo_data->aux_ch)(adapter, mode, in i2c_algo_dp_aux_transaction() 74 * I2C over AUX CH 85 struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data; in i2c_algo_dp_aux_address() 92 algo_data->address = address; in i2c_algo_dp_aux_address() 93 algo_data->running = true; in i2c_algo_dp_aux_address() 104 struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data; in i2c_algo_dp_aux_stop() [all …]
|
/openbmc/linux/drivers/gpu/drm/tegra/ |
H A D | dpaux.c | 1 // SPDX-License-Identifier: GPL-2.0-only 12 #include <linux/pinctrl/pinconf-generic.h> 25 #include "dp.h" 40 struct drm_dp_aux aux; member 66 static inline struct tegra_dpaux *to_dpaux(struct drm_dp_aux *aux) in to_dpaux() argument 68 return container_of(aux, struct tegra_dpaux, aux); in to_dpaux() 79 u32 value = readl(dpaux->regs + (offset << 2)); in tegra_dpaux_readl() 81 trace_dpaux_readl(dpaux->dev, offset, value); in tegra_dpaux_readl() 89 trace_dpaux_writel(dpaux->dev, offset, value); in tegra_dpaux_writel() 90 writel(value, dpaux->regs + (offset << 2)); in tegra_dpaux_writel() [all …]
|