/linux-6.12.1/drivers/gpu/drm/renesas/rz-du/ |
D | rzg2l_mipi_dsi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * RZ/G2L MIPI DSI Encoder Driver 45 unsigned int lanes; member 163 static void rzg2l_mipi_dsi_phy_write(struct rzg2l_mipi_dsi *dsi, u32 reg, u32 data) in rzg2l_mipi_dsi_phy_write() argument 165 iowrite32(data, dsi->mmio + reg); in rzg2l_mipi_dsi_phy_write() 168 static void rzg2l_mipi_dsi_link_write(struct rzg2l_mipi_dsi *dsi, u32 reg, u32 data) in rzg2l_mipi_dsi_link_write() argument 170 iowrite32(data, dsi->mmio + LINK_REG_OFFSET + reg); in rzg2l_mipi_dsi_link_write() 173 static u32 rzg2l_mipi_dsi_phy_read(struct rzg2l_mipi_dsi *dsi, u32 reg) in rzg2l_mipi_dsi_phy_read() argument 175 return ioread32(dsi->mmio + reg); in rzg2l_mipi_dsi_phy_read() 178 static u32 rzg2l_mipi_dsi_link_read(struct rzg2l_mipi_dsi *dsi, u32 reg) in rzg2l_mipi_dsi_link_read() argument [all …]
|
/linux-6.12.1/drivers/gpu/drm/bridge/ |
D | nwl-dsi.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * i.MX8 NWL MIPI DSI host driver 15 #include <linux/media-bus-format.h> 34 #include "nwl-dsi.h" 36 #define DRV_NAME "nwl-dsi" 77 * The DSI host controller needs this reset sequence according to NWL: 78 * 1. Deassert pclk reset to get access to DSI regs 79 * 2. Configure DSI Host and DPHY and enable DPHY 81 * 4. Send DSI cmds to configure peripheral (handled by panel drv) 83 * DSI data [all …]
|
D | samsung-dsim.c | 1 // SPDX-License-Identifier: GPL-2.0-only 18 #include <linux/media-bus-format.h> 25 #include <drm/bridge/samsung-dsim.h> 112 #define DSIM_MAIN_VRESOL(x, num_bits) (((x) & ((1 << (num_bits)) - 1)) << 16) 113 #define DSIM_MAIN_HRESOL(x, num_bits) (((x) & ((1 << (num_bits)) - 1)) << 0) 501 * downstream driver - drivers/gpu/drm/bridge/sec-dsim.c 533 static inline void samsung_dsim_write(struct samsung_dsim *dsi, in samsung_dsim_write() argument 536 writel(val, dsi->reg_base + dsi->driver_data->reg_ofs[idx]); in samsung_dsim_write() 539 static inline u32 samsung_dsim_read(struct samsung_dsim *dsi, enum reg_idx idx) in samsung_dsim_read() argument 541 return readl(dsi->reg_base + dsi->driver_data->reg_ofs[idx]); in samsung_dsim_read() [all …]
|
/linux-6.12.1/drivers/gpu/drm/mediatek/ |
D | mtk_dsi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 215 unsigned int lanes; member 236 static void mtk_dsi_mask(struct mtk_dsi *dsi, u32 offset, u32 mask, u32 data) in mtk_dsi_mask() argument 238 u32 temp = readl(dsi->regs + offset); in mtk_dsi_mask() 240 writel((temp & ~mask) | (data & mask), dsi->regs + offset); in mtk_dsi_mask() 243 static void mtk_dsi_phy_timconfig(struct mtk_dsi *dsi) in mtk_dsi_phy_timconfig() argument 246 u32 data_rate_mhz = DIV_ROUND_UP(dsi->data_rate, HZ_PER_MHZ); in mtk_dsi_phy_timconfig() 247 struct mtk_phy_timing *timing = &dsi->phy_timing; in mtk_dsi_phy_timconfig() 249 timing->lpx = (80 * data_rate_mhz / (8 * 1000)) + 1; in mtk_dsi_phy_timconfig() 250 timing->da_hs_prepare = (59 * data_rate_mhz + 4 * 1000) / 8000 + 1; in mtk_dsi_phy_timconfig() [all …]
|
/linux-6.12.1/drivers/gpu/drm/bridge/synopsys/ |
D | dw-mipi-dsi.c | 1 // SPDX-License-Identifier: GPL-2.0+ 7 * This generic Synopsys DesignWare MIPI DSI host driver is based on the 8 * Rockchip version from rockchip/dw-mipi-dsi.c with phy & bridge APIs. 16 #include <linux/media-bus-format.h> 196 #define N_LANES(n) (((n) - 1) & 0x3) 229 #define VPG_DEFS(name, dsi) \ argument 230 ((void __force *)&((*dsi).vpg_defs.name)) 232 #define REGISTER(name, mask, dsi) \ argument 233 { #name, VPG_DEFS(name, dsi), mask, dsi } 239 struct dw_mipi_dsi *dsi; member [all …]
|
/linux-6.12.1/drivers/gpu/drm/bridge/adv7511/ |
D | adv7533.c | 1 // SPDX-License-Identifier: GPL-2.0-only 29 struct mipi_dsi_device *dsi = adv->dsi; in adv7511_dsi_config_timing_gen() local 30 struct drm_display_mode *mode = &adv->curr_mode; in adv7511_dsi_config_timing_gen() 32 static const u8 clock_div_by_lanes[] = { 6, 4, 3 }; /* 2, 3, 4 lanes */ in adv7511_dsi_config_timing_gen() 34 hsw = mode->hsync_end - mode->hsync_start; in adv7511_dsi_config_timing_gen() 35 hfp = mode->hsync_start - mode->hdisplay; in adv7511_dsi_config_timing_gen() 36 hbp = mode->htotal - mode->hsync_end; in adv7511_dsi_config_timing_gen() 37 vsw = mode->vsync_end - mode->vsync_start; in adv7511_dsi_config_timing_gen() 38 vfp = mode->vsync_start - mode->vdisplay; in adv7511_dsi_config_timing_gen() 39 vbp = mode->vtotal - mode->vsync_end; in adv7511_dsi_config_timing_gen() [all …]
|
/linux-6.12.1/drivers/gpu/drm/hisilicon/kirin/ |
D | dw_drm_dsi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * DesignWare MIPI DSI Host Controller v1.02 driver 6 * Copyright (c) 2014-2016 HiSilicon Limited. 91 u32 lanes; member 98 struct dw_dsi dsi; member 152 phy->pll_vco_750M = dphy_range_info[i].pll_vco_750M; in dsi_calc_phy_rate() 153 phy->hstx_ckg_sel = dphy_range_info[i].hstx_ckg_sel; in dsi_calc_phy_rate() 155 if (phy->hstx_ckg_sel <= 7 && in dsi_calc_phy_rate() 156 phy->hstx_ckg_sel >= 4) in dsi_calc_phy_rate() 157 q_pll = 0x10 >> (7 - phy->hstx_ckg_sel); in dsi_calc_phy_rate() [all …]
|
/linux-6.12.1/drivers/gpu/drm/tegra/ |
D | dsi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 29 #include "dsi.h" 30 #include "mipi-phy.h" 40 unsigned int lanes; member 71 unsigned int lanes; member 81 /* for ganged-mode support */ 102 static struct tegra_dsi_state *tegra_dsi_get_state(struct tegra_dsi *dsi) in tegra_dsi_get_state() argument 104 return to_dsi_state(dsi->output.connector.state); in tegra_dsi_get_state() 107 static inline u32 tegra_dsi_readl(struct tegra_dsi *dsi, unsigned int offset) in tegra_dsi_readl() argument 109 u32 value = readl(dsi->regs + (offset << 2)); in tegra_dsi_readl() [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/display/bridge/ |
D | renesas,dsi-csi2-tx.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/renesas,dsi-csi2-tx.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Renesas R-Car MIPI DSI/CSI-2 Encoder 10 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 13 This binding describes the MIPI DSI/CSI-2 encoder embedded in the Renesas 14 R-Car Gen4 SoCs. The encoder can operate in either DSI or CSI-2 mode, with up 15 to four data lanes. 20 - renesas,r8a779a0-dsi-csi2-tx # for V3U [all …]
|
D | renesas,dsi.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/renesas,dsi.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Renesas RZ/G2L MIPI DSI Encoder 10 - Biju Das <biju.das.jz@bp.renesas.com> 13 This binding describes the MIPI DSI encoder embedded in the Renesas 14 RZ/G2L alike family of SoC's. The encoder can operate in DSI mode, with 15 up to four data lanes. 18 - $ref: /schemas/display/dsi-controller.yaml# [all …]
|
D | adi,adv7533.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Laurent Pinchart <laurent.pinchart@ideasonboard.com> 13 - $ref: /schemas/sound/dai-common.yaml# 18 conversion, S/PDIF, CEC and HDCP. The transmitter input is MIPI DSI. 23 - adi,adv7533 24 - adi,adv7535 38 reg-names: 41 needing a non-default address. [all …]
|
D | ti,sn65dsi83.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: SN65DSI83 and SN65DSI84 DSI to LVDS bridge chip 10 - Marek Vasut <marex@denx.de> 13 Texas Instruments SN65DSI83 1x Single-link MIPI DSI 14 to 1x Single-link LVDS 16 Texas Instruments SN65DSI84 1x Single-link MIPI DSI 17 to 1x Dual-link or 2x Single-link LVDS 23 - ti,sn65dsi83 [all …]
|
D | samsung,mipi-dsim.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Inki Dae <inki.dae@samsung.com> 11 - Jagan Teki <jagan@amarulasolutions.com> 12 - Marek Szyprowski <m.szyprowski@samsung.com> 21 - enum: 22 - samsung,exynos3250-mipi-dsi 23 - samsung,exynos4210-mipi-dsi [all …]
|
/linux-6.12.1/drivers/gpu/drm/vc4/ |
D | vc4_dsi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 * BCM2835 contains two DSI modules, DSI0 and DSI1. DSI0 is a 10 * single-lane DSI controller, while DSI1 is a more modern 4-lane DSI 16 * This driver has been tested for DSI1 video-mode display only 21 #include <linux/clk-provider.h> 25 #include <linux/dma-mapping.h> 146 * of going to LP-STOP. 149 /* Transmit blanking packet only during vblank, instead of allowing LP-STOP. */ 151 /* Transmit blanking packet only during HFP, instead of allowing LP-STOP. */ 153 /* Transmit blanking packet only during HBP, instead of allowing LP-STOP. */ [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/display/ti/ |
D | ti,omap5-dss.txt | 4 See Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt for generic 8 -------- 11 - compatible: "ti,omap5-dss" 12 - reg: address and length of the register space 13 - ti,hwmods: "dss_core" 14 - clocks: handle to fclk 15 - clock-names: "fck" 18 - DISPC 21 - DSS Submodules: RFBI, DSI, HDMI 22 - Video port for DPI output [all …]
|
D | ti,omap4-dss.txt | 4 See Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt for generic 8 -------- 11 - compatible: "ti,omap4-dss" 12 - reg: address and length of the register space 13 - ti,hwmods: "dss_core" 14 - clocks: handle to fclk 15 - clock-names: "fck" 18 - DISPC 21 - DSS Submodules: RFBI, VENC, DSI, HDMI 22 - Video port for DPI output [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/display/panel/ |
D | raydium,rm67191.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Raydium RM67171 OLED LCD panel with MIPI-DSI protocol 10 - Robert Chiras <robert.chiras@nxp.com> 13 - $ref: panel-common.yaml# 23 reset-gpios: true 24 width-mm: true 25 height-mm: true 27 dsi-lanes: [all …]
|
/linux-6.12.1/drivers/gpu/drm/ |
D | drm_of.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 #include <linux/media-bus-format.h> 25 * drm_of_crtc_port_mask - find the mask of a registered CRTC by port OF node 39 if (tmp->port == port) in drm_of_crtc_port_mask() 50 * drm_of_find_possible_crtcs - find the possible CRTCs for an encoder port 83 * drm_of_component_match_add - Add a component helper OF node match rule 101 * drm_of_component_probe - Generic probe function for a component based master 121 if (!dev->of_node) in drm_of_component_probe() 122 return -EINVAL; in drm_of_component_probe() 129 port = of_parse_phandle(dev->of_node, "ports", i); in drm_of_component_probe() [all …]
|
/linux-6.12.1/drivers/gpu/drm/stm/ |
D | dw_mipi_dsi-stm.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/clk-provider.h> 28 /* DSI digital registers & bit definitions */ 32 /* DSI wrapper registers & bit definitions */ 35 #define WCFGR_DSIM BIT(0) /* DSI Mode */ 39 #define WCR_DSIEN BIT(3) /* DSI ENable */ 47 #define WPCR0_TDDL BIT(16) /* Turn Disable Data Lanes */ 63 /* dsi color format coding according to the datasheet */ 86 struct dw_mipi_dsi *dsi; member 94 static inline void dsi_write(struct dw_mipi_dsi_stm *dsi, u32 reg, u32 val) in dsi_write() argument [all …]
|
/linux-6.12.1/drivers/gpu/drm/renesas/rcar-du/ |
D | rcar_mipi_dsi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * R-Car MIPI DSI Encoder 70 struct clk *dsi; member 75 unsigned int lanes; member 176 static void rcar_mipi_dsi_write(struct rcar_mipi_dsi *dsi, u32 reg, u32 data) in rcar_mipi_dsi_write() argument 178 iowrite32(data, dsi->mmio + reg); in rcar_mipi_dsi_write() 181 static u32 rcar_mipi_dsi_read(struct rcar_mipi_dsi *dsi, u32 reg) in rcar_mipi_dsi_read() argument 183 return ioread32(dsi->mmio + reg); in rcar_mipi_dsi_read() 186 static void rcar_mipi_dsi_clr(struct rcar_mipi_dsi *dsi, u32 reg, u32 clr) in rcar_mipi_dsi_clr() argument 188 rcar_mipi_dsi_write(dsi, reg, rcar_mipi_dsi_read(dsi, reg) & ~clr); in rcar_mipi_dsi_clr() [all …]
|
/linux-6.12.1/drivers/gpu/drm/bridge/cadence/ |
D | cdns-dsi-core.c | 1 // SPDX-License-Identifier: GPL-2.0 23 #include <linux/phy/phy-mipi-dphy.h> 25 #include "cdns-dsi-core.h" 27 #include "cdns-dsi-j721e.h" 72 #define DATA_LANE_EN(x) BIT((x) - 1) 448 return mode->hsync_start - mode->hdisplay; in mode_to_dpi_hfp() 450 return mode->crtc_hsync_start - mode->crtc_hdisplay; in mode_to_dpi_hfp() 462 dsi_timing -= dsi_pkt_overhead; in dpi_to_dsi_timing() 467 static int cdns_dsi_mode2cfg(struct cdns_dsi *dsi, in cdns_dsi_mode2cfg() argument 472 struct cdns_dsi_output *output = &dsi->output; in cdns_dsi_mode2cfg() [all …]
|
/linux-6.12.1/drivers/gpu/drm/bridge/imx/ |
D | imx93-mipi-dsi.c | 1 // SPDX-License-Identifier: GPL-2.0+ 12 #include <linux/media-bus-format.h> 17 #include <linux/phy/phy-mipi-dphy.h> 42 #define M(x) FIELD_PREP(M_MASK, ((x) - 2)) 44 #define N(x) FIELD_PREP(N_MASK, ((x) - 1)) 121 /* DPHY Databook Table 3-13 Charge-pump Programmability */ 136 /* DPHY Databook Table 5-7 Frequency Ranges and Defaults */ 203 static void dphy_pll_write(struct imx93_dsi *dsi, unsigned int reg, u32 value) in dphy_pll_write() argument 207 ret = regmap_write(dsi->regmap, reg, value); in dphy_pll_write() 209 dev_err(dsi->dev, "failed to write 0x%08x to pll reg 0x%x: %d\n", in dphy_pll_write() [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/display/msm/ |
D | dsi-phy-10nm.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/display/msm/dsi-phy-10nm.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Qualcomm Display DSI 10nm PHY 10 - Krishna Manikandan <quic_mkrishn@quicinc.com> 13 - $ref: dsi-phy-common.yaml# 18 - qcom,dsi-phy-10nm 19 - qcom,dsi-phy-10nm-8998 23 - description: dsi phy register set [all …]
|
D | dsi-controller-main.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/display/msm/dsi-controller-main.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Qualcomm Display DSI controller 10 - Krishna Manikandan <quic_mkrishn@quicinc.com> 15 - items: 16 - enum: 17 - qcom,apq8064-dsi-ctrl 18 - qcom,msm8226-dsi-ctrl [all …]
|
/linux-6.12.1/include/drm/bridge/ |
D | dw_mipi_dsi.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 39 unsigned long mode_flags, u32 lanes, u32 format, 48 struct mipi_dsi_device *dsi); 50 struct mipi_dsi_device *dsi); 60 u32 lanes, u32 format); 82 void dw_mipi_dsi_remove(struct dw_mipi_dsi *dsi); 83 int dw_mipi_dsi_bind(struct dw_mipi_dsi *dsi, struct drm_encoder *encoder); 84 void dw_mipi_dsi_unbind(struct dw_mipi_dsi *dsi); 85 void dw_mipi_dsi_set_slave(struct dw_mipi_dsi *dsi, struct dw_mipi_dsi *slave); 86 struct drm_bridge *dw_mipi_dsi_get_bridge(struct dw_mipi_dsi *dsi);
|