| /kernel/linux/linux-6.6/drivers/gpu/drm/renesas/rcar-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 …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/bridge/ |
| D | nwl-dsi.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * i.MX8 NWL MIPI DSI host driver 33 #include "nwl-dsi.h" 35 #define DRV_NAME "nwl-dsi" 83 * The DSI host controller needs this reset sequence according to NWL: 84 * 1. Deassert pclk reset to get access to DSI regs 85 * 2. Configure DSI Host and DPHY and enable DPHY 87 * 4. Send DSI cmds to configure peripheral (handled by panel drv) 89 * DSI data 91 * TODO: Since panel_bridges do their DSI setup in enable we [all …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-6.6/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. 193 #define N_LANES(n) (((n) - 1) & 0x3) 226 #define VPG_DEFS(name, dsi) \ argument 227 ((void __force *)&((*dsi).vpg_defs.name)) 229 #define REGISTER(name, mask, dsi) \ argument 230 { #name, VPG_DEFS(name, dsi), mask, dsi } 236 struct dw_mipi_dsi *dsi; member 251 u32 lanes; member [all …]
|
| /kernel/linux/linux-5.10/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. 193 #define N_LANES(n) (((n) - 1) & 0x3) 226 #define VPG_DEFS(name, dsi) \ argument 227 ((void __force *)&((*dsi).vpg_defs.name)) 229 #define REGISTER(name, mask, dsi) \ argument 230 { #name, VPG_DEFS(name, dsi), mask, dsi } 236 struct dw_mipi_dsi *dsi; member 251 u32 lanes; member [all …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-5.10/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 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 …]
|
| /kernel/linux/linux-5.10/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. 90 u32 lanes; member 97 struct dw_dsi dsi; member 151 phy->pll_vco_750M = dphy_range_info[i].pll_vco_750M; in dsi_calc_phy_rate() 152 phy->hstx_ckg_sel = dphy_range_info[i].hstx_ckg_sel; in dsi_calc_phy_rate() 154 if (phy->hstx_ckg_sel <= 7 && in dsi_calc_phy_rate() 155 phy->hstx_ckg_sel >= 4) in dsi_calc_phy_rate() 156 q_pll = 0x10 >> (7 - phy->hstx_ckg_sel); in dsi_calc_phy_rate() [all …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-6.6/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> 15 conversion, S/PDIF, CEC and HDCP. The transmitter input is MIPI DSI. 20 - adi,adv7533 21 - adi,adv7535 35 reg-names: 38 needing a non-default address. 41 - const: main [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/display/msm/ |
| D | dsi.txt | 1 Qualcomm Technologies Inc. adreno/snapdragon DSI output 3 DSI Controller: 5 - compatible: 6 * "qcom,mdss-dsi-ctrl" 7 - reg: Physical base address and length of the registers of controller 8 - reg-names: The names of register regions. The following regions are required: 10 - interrupts: The interrupt signal from the DSI block. 11 - power-domains: Should be <&mmcc MDSS_GDSC>. 12 - clocks: Phandles to device clocks. 13 - clock-names: the following clocks are required: [all …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-5.10/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# 21 reset-gpios: true 22 width-mm: true 23 height-mm: true 25 dsi-lanes: [all …]
|
| /kernel/linux/linux-6.6/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# 21 reset-gpios: true 22 width-mm: true 23 height-mm: true 25 dsi-lanes: [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/mediatek/ |
| D | mtk_dsi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 202 unsigned int lanes; member 223 static void mtk_dsi_mask(struct mtk_dsi *dsi, u32 offset, u32 mask, u32 data) in mtk_dsi_mask() argument 225 u32 temp = readl(dsi->regs + offset); in mtk_dsi_mask() 227 writel((temp & ~mask) | (data & mask), dsi->regs + offset); in mtk_dsi_mask() 230 static void mtk_dsi_phy_timconfig(struct mtk_dsi *dsi) in mtk_dsi_phy_timconfig() argument 233 u32 data_rate_mhz = DIV_ROUND_UP(dsi->data_rate, 1000000); in mtk_dsi_phy_timconfig() 234 struct mtk_phy_timing *timing = &dsi->phy_timing; in mtk_dsi_phy_timconfig() 236 timing->lpx = (60 * data_rate_mhz / (8 * 1000)) + 1; in mtk_dsi_phy_timconfig() 237 timing->da_hs_prepare = (80 * data_rate_mhz + 4 * 1000) / 8000; in mtk_dsi_phy_timconfig() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/stm/ |
| D | dw_mipi_dsi-stm.c | 1 // SPDX-License-Identifier: GPL-2.0 25 /* DSI digital registers & bit definitions */ 29 /* DSI wrapper registers & bit definitions */ 32 #define WCFGR_DSIM BIT(0) /* DSI Mode */ 36 #define WCR_DSIEN BIT(3) /* DSI ENable */ 44 #define WPCR0_TDDL BIT(16) /* Turn Disable Data Lanes */ 60 /* dsi color format coding according to the datasheet */ 80 struct dw_mipi_dsi *dsi; member 87 static inline void dsi_write(struct dw_mipi_dsi_stm *dsi, u32 reg, u32 val) in dsi_write() argument 89 writel(val, dsi->base + reg); in dsi_write() [all …]
|