Home
last modified time | relevance | path

Searched full:dsi (Results 1 – 25 of 371) sorted by relevance

12345678910>>...15

/linux/Documentation/devicetree/bindings/display/msm/
H A Ddsi-controller-main.yaml4 $id: http://devicetree.org/schemas/display/msm/dsi-controller-main.yaml#
7 title: Qualcomm Display DSI controller
17 - qcom,apq8064-dsi-ctrl
18 - qcom,kaanapali-dsi-ctrl
19 - qcom,milos-dsi-ctrl
20 - qcom,msm8226-dsi-ctrl
21 - qcom,msm8916-dsi-ctrl
22 - qcom,msm8953-dsi-ctrl
23 - qcom,msm8974-dsi-ctrl
24 - qcom,msm8976-dsi-ctrl
[all …]
/linux/drivers/gpu/drm/stm/
H A Ddw_mipi_dsi-stm.c27 /* DSI digital registers & bit definitions */
31 /* DSI wrapper registers & bit definitions */
34 #define WCFGR_DSIM BIT(0) /* DSI Mode */
38 #define WCR_DSIEN BIT(3) /* DSI ENable */
62 /* dsi color format coding according to the datasheet */
85 struct dw_mipi_dsi *dsi; member
93 static inline void dsi_write(struct dw_mipi_dsi_stm *dsi, u32 reg, u32 val) in dsi_write() argument
95 writel(val, dsi->base + reg); in dsi_write()
98 static inline u32 dsi_read(struct dw_mipi_dsi_stm *dsi, u32 reg) in dsi_read() argument
100 return readl(dsi->base + reg); in dsi_read()
[all …]
/linux/drivers/gpu/drm/bridge/
H A Dsamsung-dsim.c703 static inline void samsung_dsim_write(struct samsung_dsim *dsi, in samsung_dsim_write() argument
706 writel(val, dsi->reg_base + dsi->driver_data->reg_ofs[idx]); in samsung_dsim_write()
709 static inline u32 samsung_dsim_read(struct samsung_dsim *dsi, enum reg_idx idx) in samsung_dsim_read() argument
711 return readl(dsi->reg_base + dsi->driver_data->reg_ofs[idx]); in samsung_dsim_read()
714 static void samsung_dsim_wait_for_reset(struct samsung_dsim *dsi) in samsung_dsim_wait_for_reset() argument
716 if (wait_for_completion_timeout(&dsi->completed, msecs_to_jiffies(300))) in samsung_dsim_wait_for_reset()
719 dev_err(dsi->dev, "timeout waiting for reset\n"); in samsung_dsim_wait_for_reset()
722 static void samsung_dsim_reset(struct samsung_dsim *dsi) in samsung_dsim_reset() argument
724 u32 reset_val = dsi->driver_data->reg_values[RESET_TYPE]; in samsung_dsim_reset()
726 reinit_completion(&dsi->completed); in samsung_dsim_reset()
[all …]
/linux/drivers/gpu/drm/bridge/imx/
H A Dimx93-mipi-dsi.c203 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()
220 dphy_pll_get_configure_from_opts(struct imx93_dsi *dsi, in dphy_pll_get_configure_from_opts() argument
224 struct device *dev = dsi->dev; in dphy_pll_get_configure_from_opts()
225 unsigned long fin = dsi->ref_clk_rate; in dphy_pll_get_configure_from_opts()
296 static void dphy_pll_clear_shadow(struct imx93_dsi *dsi) in dphy_pll_clear_shadow() argument
300 dphy_pll_write(dsi, DSI_REG, CLKSEL_GEN); in dphy_pll_clear_shadow()
304 dphy_pll_write(dsi, DSI_REG, CLKSEL_GEN | SHADOW_CLR); in dphy_pll_clear_shadow()
308 dphy_pll_write(dsi, DSI_REG, CLKSEL_GEN); in dphy_pll_clear_shadow()
[all …]
/linux/Documentation/devicetree/bindings/display/
H A Dmipi-dsi-bus.txt1 MIPI DSI (Display Serial Interface) busses
6 define the syntax used to represent a DSI bus in a device tree.
8 This document describes DSI bus-specific properties only or defines existing
9 standard properties in the context of the DSI bus.
11 Each DSI host provides a DSI bus. The DSI host controller's node contains a
15 The following assumes that only a single peripheral is connected to a DSI
18 DSI host
22 a DSI host, the following properties apply to a node representing a DSI host.
26 bus. DSI peripherals are addressed using a 2-bit virtual channel number, so
34 conjunction with another DSI host to drive the same peripheral. Hardware
[all …]
H A Dallwinner,sun6i-a31-mipi-dsi.yaml4 $id: http://devicetree.org/schemas/display/allwinner,sun6i-a31-mipi-dsi.yaml#
7 title: Allwinner A31 MIPI-DSI Controller
17 - allwinner,sun6i-a31-mipi-dsi
18 - allwinner,sun50i-a64-mipi-dsi
19 - allwinner,sun50i-a100-mipi-dsi
21 - const: allwinner,sun20i-d1-mipi-dsi
22 - const: allwinner,sun50i-a100-mipi-dsi
44 vcc-dsi-supply:
45 description: VCC-DSI power supply of the DSI encoder
70 - $ref: dsi-controller.yaml#
[all …]
H A Ddsi-controller.yaml4 $id: http://devicetree.org/schemas/display/dsi-controller.yaml#
7 title: Common Properties for DSI Display Panels
13 This document defines device tree properties common to DSI, Display
22 Notice: this binding concerns DSI panels connected directly to a master
23 without any intermediate port graph to the panel. Each DSI master
31 pattern: "^dsi(@.*)?$"
37 another DSI host to drive the same peripheral. Hardware supporting
39 to be driven by the same clock. Only the DSI host instance
50 description: Panels connected to the DSI link
58 The virtual channel number of a DSI peripheral. Must be in the range
[all …]
H A Dst,stm32-dsi.yaml4 $id: http://devicetree.org/schemas/display/st,stm32-dsi.yaml#
7 title: STMicroelectronics STM32 DSI host controller
14 The STMicroelectronics STM32 DSI controller uses the Synopsys DesignWare MIPI-DSI host controller.
17 - $ref: dsi-controller.yaml#
21 const: st,stm32-dsi
29 - description: DSI bus clock
47 phy-dsi-supply:
58 DSI input port node, connected to the ltdc rgb output port.
64 DSI output port node, connected to a panel or a bridge input port.
91 dsi: dsi@5a000000 {
[all …]
/linux/Documentation/devicetree/bindings/display/tegra/
H A Dnvidia,tegra20-dsi.yaml4 $id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-dsi.yaml#
17 - nvidia,tegra20-dsi
18 - nvidia,tegra30-dsi
19 - nvidia,tegra114-dsi
20 - nvidia,tegra124-dsi
21 - nvidia,tegra210-dsi
22 - nvidia,tegra186-dsi
25 - const: nvidia,tegra132-dsi
26 - const: nvidia,tegra124-dsi
48 - const: dsi
[all …]
/linux/drivers/gpu/drm/panel/
H A Dpanel-samsung-s6e8fc0-m1906f9.c4 // Generated with linux-mdss-dsi-panel-driver-generator from vendor device tree:
22 struct mipi_dsi_device *dsi; member
59 struct mipi_dsi_multi_context dsi_ctx = { .dsi = ctx->dsi }; in s6e8fc0_m1906f9_on()
89 struct mipi_dsi_multi_context dsi_ctx = { .dsi = ctx->dsi }; in s6e8fc0_m1906f9_off()
102 struct device *dev = &ctx->dsi->dev; in s6e8fc0_m1906f9_prepare()
127 struct device *dev = &ctx->dsi->dev; in s6e8fc0_m1906f9_unprepare()
169 struct mipi_dsi_device *dsi = bl_get_data(bl); in s6e8fc0_bl_update_status() local
173 dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; in s6e8fc0_bl_update_status()
175 ret = mipi_dsi_dcs_set_display_brightness_large(dsi, brightness); in s6e8fc0_bl_update_status()
179 dsi->mode_flags |= MIPI_DSI_MODE_LPM; in s6e8fc0_bl_update_status()
[all …]
H A Dpanel-samsung-s6e63m0-dsi.c3 * DSI interface to the Samsung S6E63M0 panel.
21 struct mipi_dsi_device *dsi = to_mipi_dsi_device(dev); in s6e63m0_dsi_dcs_read() local
24 ret = mipi_dsi_dcs_read(dsi, cmd, data, 1); in s6e63m0_dsi_dcs_read()
30 dev_dbg(dev, "DSI read CMD %02x = %02x\n", cmd, *data); in s6e63m0_dsi_dcs_read()
38 struct mipi_dsi_device *dsi = to_mipi_dsi_device(dev); in s6e63m0_dsi_dcs_write() local
46 dev_dbg(dev, "DSI writing dcs seq: %*ph\n", (int)len, data); in s6e63m0_dsi_dcs_write()
58 ret = mipi_dsi_dcs_write(dsi, cmd, seqp, chunk); in s6e63m0_dsi_dcs_write()
70 ret = mipi_dsi_dcs_write(dsi, MCS_GLOBAL_PARAM, &cmdwritten, 1); in s6e63m0_dsi_dcs_write()
76 ret = mipi_dsi_dcs_write(dsi, cmd, seqp, chunk); in s6e63m0_dsi_dcs_write()
91 static int s6e63m0_dsi_probe(struct mipi_dsi_device *dsi) in s6e63m0_dsi_probe() argument
[all …]
H A Dpanel-novatek-nt37801.c21 struct mipi_dsi_device *dsi; member
56 dsi_ctx->dsi->mode_flags |= MIPI_DSI_MODE_LPM; in novatek_nt37801_on()
108 struct mipi_dsi_device *dsi = ctx->dsi; in novatek_nt37801_off() local
109 struct mipi_dsi_multi_context dsi_ctx = { .dsi = dsi }; in novatek_nt37801_off()
111 dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; in novatek_nt37801_off()
125 struct mipi_dsi_device *dsi = ctx->dsi; in novatek_nt37801_prepare() local
126 struct mipi_dsi_multi_context dsi_ctx = { .dsi = dsi }; in novatek_nt37801_prepare()
160 struct device *dev = &ctx->dsi->dev; in novatek_nt37801_unprepare()
203 struct mipi_dsi_device *dsi = bl_get_data(bl); in novatek_nt37801_bl_update_status() local
207 dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; in novatek_nt37801_bl_update_status()
[all …]
H A Dpanel-feiyang-fy07024di26a30d.c20 struct mipi_dsi_device *dsi; member
49 struct mipi_dsi_device *dsi = ctx->dsi; in feiyang_prepare() local
84 ret = mipi_dsi_dcs_write_buffer(dsi, cmd->data, in feiyang_prepare()
100 return mipi_dsi_dcs_set_display_on(ctx->dsi); in feiyang_enable()
107 return mipi_dsi_dcs_set_display_off(ctx->dsi); in feiyang_disable()
115 ret = mipi_dsi_dcs_set_display_off(ctx->dsi); in feiyang_unprepare()
119 ret = mipi_dsi_dcs_enter_sleep_mode(ctx->dsi); in feiyang_unprepare()
162 dev_err(&ctx->dsi->dev, "failed to add mode %ux%u@%u\n", in feiyang_get_modes()
184 static int feiyang_dsi_probe(struct mipi_dsi_device *dsi) in feiyang_dsi_probe() argument
189 ctx = devm_drm_panel_alloc(&dsi->dev, struct feiyang, panel, in feiyang_dsi_probe()
[all …]
H A Dpanel-ronbo-rb070d30.c29 struct mipi_dsi_device *dsi; member
52 dev_err(&ctx->dsi->dev, "Failed to enable supply: %d\n", ret); in rb070d30_panel_prepare()
79 return mipi_dsi_dcs_exit_sleep_mode(ctx->dsi); in rb070d30_panel_enable()
86 return mipi_dsi_dcs_enter_sleep_mode(ctx->dsi); in rb070d30_panel_disable()
114 dev_err(&ctx->dsi->dev, "Failed to add mode " DRM_MODE_FMT "\n", in rb070d30_panel_get_modes()
141 static int rb070d30_panel_dsi_probe(struct mipi_dsi_device *dsi) in rb070d30_panel_dsi_probe() argument
146 ctx = devm_drm_panel_alloc(&dsi->dev, struct rb070d30_panel, panel, in rb070d30_panel_dsi_probe()
152 ctx->supply = devm_regulator_get(&dsi->dev, "vcc-lcd"); in rb070d30_panel_dsi_probe()
156 mipi_dsi_set_drvdata(dsi, ctx); in rb070d30_panel_dsi_probe()
157 ctx->dsi = dsi; in rb070d30_panel_dsi_probe()
[all …]
H A Dpanel-sony-td4353-jdi.c5 * Generated with linux-mdss-dsi-panel-driver-generator with a
35 struct mipi_dsi_device *dsi; member
49 struct mipi_dsi_device *dsi = ctx->dsi; in sony_td4353_jdi_on() local
50 struct mipi_dsi_multi_context dsi_ctx = { .dsi = dsi }; in sony_td4353_jdi_on()
52 dsi->mode_flags |= MIPI_DSI_MODE_LPM; in sony_td4353_jdi_on()
74 struct mipi_dsi_device *dsi = ctx->dsi; in sony_td4353_jdi_off() local
75 struct mipi_dsi_multi_context dsi_ctx = { .dsi = dsi }; in sony_td4353_jdi_off()
77 dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; in sony_td4353_jdi_off()
172 static int sony_td4353_jdi_probe(struct mipi_dsi_device *dsi) in sony_td4353_jdi_probe() argument
174 struct device *dev = &dsi->dev; in sony_td4353_jdi_probe()
[all …]
H A Dpanel-hydis-hv101hd1.c19 struct mipi_dsi_device *dsi; member
36 struct mipi_dsi_multi_context ctx = { .dsi = hv->dsi }; in hv101hd1_prepare()
37 struct device *dev = &hv->dsi->dev; in hv101hd1_prepare()
58 struct mipi_dsi_multi_context ctx = { .dsi = hv->dsi }; in hv101hd1_disable()
117 static int hv101hd1_probe(struct mipi_dsi_device *dsi) in hv101hd1_probe() argument
119 struct device *dev = &dsi->dev; in hv101hd1_probe()
134 hv->dsi = dsi; in hv101hd1_probe()
135 mipi_dsi_set_drvdata(dsi, hv); in hv101hd1_probe()
137 dsi->lanes = 2; in hv101hd1_probe()
138 dsi->format = MIPI_DSI_FMT_RGB888; in hv101hd1_probe()
[all …]
H A Dpanel-samsung-s6d16d0.c3 * MIPI-DSI Samsung s6d16d0 panel driver. This is a 864x480
4 * AMOLED panel with a command-only DSI interface.
50 struct mipi_dsi_device *dsi = to_mipi_dsi_device(s6->dev); in s6d16d0_unprepare() local
54 ret = mipi_dsi_dcs_enter_sleep_mode(dsi); in s6d16d0_unprepare()
70 struct mipi_dsi_device *dsi = to_mipi_dsi_device(s6->dev); in s6d16d0_prepare() local
87 ret = mipi_dsi_dcs_set_tear_on(dsi, in s6d16d0_prepare()
94 ret = mipi_dsi_dcs_exit_sleep_mode(dsi); in s6d16d0_prepare()
112 struct mipi_dsi_device *dsi = to_mipi_dsi_device(s6->dev); in s6d16d0_enable() local
115 ret = mipi_dsi_dcs_set_display_on(dsi); in s6d16d0_enable()
127 struct mipi_dsi_device *dsi = to_mipi_dsi_device(s6->dev); in s6d16d0_disable() local
[all …]
H A Dpanel-boe-td4320.c3 // Generated with linux-mdss-dsi-panel-driver-generator from vendor device tree:
20 struct mipi_dsi_device *dsi; member
48 struct mipi_dsi_multi_context dsi_ctx = { .dsi = ctx->dsi }; in boe_td4320_on()
50 ctx->dsi->mode_flags |= MIPI_DSI_MODE_LPM; in boe_td4320_on()
87 struct mipi_dsi_multi_context dsi_ctx = { .dsi = ctx->dsi }; in boe_td4320_off()
89 ctx->dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; in boe_td4320_off()
102 struct device *dev = &ctx->dsi->dev; in boe_td4320_prepare()
127 struct device *dev = &ctx->dsi->dev; in boe_td4320_unprepare()
167 static int boe_td4320_probe(struct mipi_dsi_device *dsi) in boe_td4320_probe() argument
169 struct device *dev = &dsi->dev; in boe_td4320_probe()
[all …]
H A Dpanel-visionox-rm692e5.c3 * Generated with linux-mdss-dsi-panel-driver-generator from vendor device tree:
26 struct mipi_dsi_device *dsi; member
55 struct mipi_dsi_device *dsi = ctx->dsi; in visionox_rm692e5_on() local
56 struct mipi_dsi_multi_context dsi_ctx = { .dsi = dsi }; in visionox_rm692e5_on()
58 dsi->mode_flags |= MIPI_DSI_MODE_LPM; in visionox_rm692e5_on()
176 struct mipi_dsi_device *dsi = ctx->dsi; in visionox_rm692e5_disable() local
177 struct mipi_dsi_multi_context dsi_ctx = { .dsi = dsi }; in visionox_rm692e5_disable()
179 dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; in visionox_rm692e5_disable()
193 struct mipi_dsi_multi_context dsi_ctx = { .dsi = ctx->dsi }; in visionox_rm692e5_prepare()
305 struct mipi_dsi_device *dsi = bl_get_data(bl); in visionox_rm692e5_bl_update_status() local
[all …]
H A Dpanel-samsung-ltl106hl02.c20 struct mipi_dsi_device *dsi; member
42 struct mipi_dsi_multi_context dsi_ctx = { .dsi = ctx->dsi }; in samsung_ltl106hl02_prepare()
43 struct device *dev = &ctx->dsi->dev; in samsung_ltl106hl02_prepare()
67 struct mipi_dsi_multi_context dsi_ctx = { .dsi = ctx->dsi }; in samsung_ltl106hl02_unprepare()
109 static int samsung_ltl106hl02_probe(struct mipi_dsi_device *dsi) in samsung_ltl106hl02_probe() argument
111 struct device *dev = &dsi->dev; in samsung_ltl106hl02_probe()
131 ctx->dsi = dsi; in samsung_ltl106hl02_probe()
132 mipi_dsi_set_drvdata(dsi, ctx); in samsung_ltl106hl02_probe()
134 dsi->lanes = 4; in samsung_ltl106hl02_probe()
135 dsi->format = MIPI_DSI_FMT_RGB888; in samsung_ltl106hl02_probe()
[all …]
H A Dpanel-lg-ld070wx3.c24 struct mipi_dsi_device *dsi; member
37 struct mipi_dsi_multi_context ctx = { .dsi = priv->dsi }; in lg_ld070wx3_prepare()
78 struct mipi_dsi_multi_context ctx = { .dsi = priv->dsi }; in lg_ld070wx3_unprepare()
119 static int lg_ld070wx3_probe(struct mipi_dsi_device *dsi) in lg_ld070wx3_probe() argument
121 struct device *dev = &dsi->dev; in lg_ld070wx3_probe()
136 priv->dsi = dsi; in lg_ld070wx3_probe()
137 mipi_dsi_set_drvdata(dsi, priv); in lg_ld070wx3_probe()
139 dsi->lanes = 4; in lg_ld070wx3_probe()
140 dsi->format = MIPI_DSI_FMT_RGB888; in lg_ld070wx3_probe()
141 dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_LPM; in lg_ld070wx3_probe()
[all …]
H A Dpanel-sharp-lq101r1sx01.c21 /* the datasheet refers to them as DSI-LINK1 and DSI-LINK2 */
48 struct mipi_dsi_device *dsi = sharp->link1; in sharp_panel_write() local
51 err = mipi_dsi_generic_write(dsi, payload, sizeof(payload)); in sharp_panel_write()
53 dev_err(&dsi->dev, "failed to write %02x to %04x: %zd\n", in sharp_panel_write()
58 err = mipi_dsi_dcs_nop(dsi); in sharp_panel_write()
60 dev_err(&dsi->dev, "failed to send DCS nop: %zd\n", err); in sharp_panel_write()
198 * put in place to communicate the configuration back to the DSI host in sharp_panel_prepare()
300 static int sharp_panel_probe(struct mipi_dsi_device *dsi) in sharp_panel_probe() argument
307 dsi->lanes = 4; in sharp_panel_probe()
308 dsi->format = MIPI_DSI_FMT_RGB888; in sharp_panel_probe()
[all …]
/linux/drivers/gpu/drm/hisilicon/kirin/
H A Ddw_drm_dsi.c3 * DesignWare MIPI DSI Host Controller v1.02 driver
97 struct dw_dsi dsi; member
308 * dsi phy reg write function
468 * The DSI IP accepts vertical timing using lines as normal, in dsi_set_mode_timing()
536 static void dsi_mipi_init(struct dw_dsi *dsi) in dsi_mipi_init() argument
538 struct dsi_hw_ctx *ctx = dsi->ctx; in dsi_mipi_init()
539 struct mipi_phy_params *phy = &dsi->phy; in dsi_mipi_init()
540 struct drm_display_mode *mode = &dsi->cur_mode; in dsi_mipi_init()
541 u32 bpp = mipi_dsi_pixel_format_to_bpp(dsi->format); in dsi_mipi_init()
548 dphy_req_kHz = mode->clock * bpp / dsi->lanes; in dsi_mipi_init()
[all …]
/linux/drivers/video/fbdev/omap2/omapfb/displays/
H A Dpanel-dsi-cm.c3 * Generic DSI Command Mode panel driver
27 /* DSI Virtual channel. Hardcoded for now. */
111 r = in->ops.dsi->dcs_read(in, ddata->channel, dcs_cmd, buf, 1); in dsicm_dcs_read_1()
124 return in->ops.dsi->dcs_write(in, ddata->channel, &dcs_cmd, 1); in dsicm_dcs_write_0()
132 return in->ops.dsi->dcs_write(in, ddata->channel, buf, 2); in dsicm_dcs_write_1()
145 r = in->ops.dsi->dcs_write_nosync(in, ddata->channel, &cmd, 1); in dsicm_sleep_in()
207 r = in->ops.dsi->dcs_write_nosync(in, ddata->channel, buf, sizeof(buf)); in dsicm_set_update_window()
217 r = in->ops.dsi->dcs_write_nosync(in, ddata->channel, buf, sizeof(buf)); in dsicm_set_update_window()
221 in->ops.dsi->bta_sync(in, ddata->channel); in dsicm_set_update_window()
255 in->ops.dsi->disable(in, false, true); in dsicm_enter_ulps()
[all …]
/linux/drivers/gpu/drm/bridge/cadence/
H A Dcdns-dsi-j721e.c3 * TI j721e Cadence DSI wrapper
12 #include "cdns-dsi-j721e.h"
23 static int cdns_dsi_j721e_init(struct cdns_dsi *dsi) in cdns_dsi_j721e_init() argument
25 struct platform_device *pdev = to_platform_device(dsi->base.dev); in cdns_dsi_j721e_init()
27 dsi->j721e_regs = devm_platform_ioremap_resource(pdev, 1); in cdns_dsi_j721e_init()
28 return PTR_ERR_OR_ZERO(dsi->j721e_regs); in cdns_dsi_j721e_init()
31 static void cdns_dsi_j721e_enable(struct cdns_dsi *dsi) in cdns_dsi_j721e_enable() argument
35 * to DSI DPI0. This is the only supported configuration on in cdns_dsi_j721e_enable()
38 writel(DSI_WRAP_DPI_0_EN, dsi->j721e_regs + DSI_WRAP_DPI_CONTROL); in cdns_dsi_j721e_enable()
41 static void cdns_dsi_j721e_disable(struct cdns_dsi *dsi) in cdns_dsi_j721e_disable() argument
[all …]

12345678910>>...15