/linux-5.10/drivers/gpu/drm/panel/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 6 Panel registration and lookup framework. 12 tristate "ARM Versatile panel driver" 18 reference designs. The panel is detected using special registers 22 tristate "ASUS Z00T TM5P5 NT35596 panel" 28 NT35596 1080x1920 video mode panel as found in some Asus 32 tristate "Boe Himax8279d panel" 38 TFT-LCD modules. The panel has a 1200x1920 resolution and uses 39 24 bit RGB per pixel. It provides a MIPI DSI interface to 40 the host and has a built-in LED backlight. [all …]
|
D | panel-elida-kd35t133.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Elida kd35t133 5.5" MIPI-DSI panel driver 8 * Rockteck jh057n00900 5.5" MIPI-DSI panel driver 14 #include <linux/media-bus-format.h> 26 /* Manufacturer specific Commands send via DSI */ 41 struct drm_panel panel; member 48 static inline struct kd35t133 *panel_to_kd35t133(struct drm_panel *panel) in panel_to_kd35t133() argument 50 return container_of(panel, struct kd35t133, panel); in panel_to_kd35t133() 53 #define dsi_dcs_write_seq(dsi, cmd, seq...) do { \ argument 56 ret = mipi_dsi_dcs_write_buffer(dsi, b, ARRAY_SIZE(b)); \ [all …]
|
D | panel-visionox-rm69299.c | 1 // SPDX-License-Identifier: GPL-2.0 19 struct drm_panel panel; member 22 struct mipi_dsi_device *dsi; member 27 static inline struct visionox_rm69299 *panel_to_ctx(struct drm_panel *panel) in panel_to_ctx() argument 29 return container_of(panel, struct visionox_rm69299, panel); in panel_to_ctx() 36 ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies); in visionox_rm69299_power_on() 41 * Reset sequence of visionox panel requires the panel to be in visionox_rm69299_power_on() 45 gpiod_set_value(ctx->reset_gpio, 1); in visionox_rm69299_power_on() 47 gpiod_set_value(ctx->reset_gpio, 0); in visionox_rm69299_power_on() 49 gpiod_set_value(ctx->reset_gpio, 1); in visionox_rm69299_power_on() [all …]
|
D | panel-asus-z00t-tm5p5-n35596.c | 1 // SPDX-License-Identifier: GPL-2.0-only 15 struct drm_panel panel; member 16 struct mipi_dsi_device *dsi; member 22 static inline struct tm5p5_nt35596 *to_tm5p5_nt35596(struct drm_panel *panel) in to_tm5p5_nt35596() argument 24 return container_of(panel, struct tm5p5_nt35596, panel); in to_tm5p5_nt35596() 27 #define dsi_generic_write_seq(dsi, seq...) do { \ argument 30 ret = mipi_dsi_generic_write(dsi, d, ARRAY_SIZE(d)); \ 35 #define dsi_dcs_write_seq(dsi, seq...) do { \ argument 38 ret = mipi_dsi_dcs_write_buffer(dsi, d, ARRAY_SIZE(d)); \ 45 gpiod_set_value_cansleep(ctx->reset_gpio, 1); in tm5p5_nt35596_reset() [all …]
|
D | panel-mantix-mlaf057we51.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Mantix MLAF057WE51 5.7" MIPI-DSI panel driver 20 #define DRV_NAME "panel-mantix-mlaf057we51" 22 /* Manufacturer specific Commands send via DSI */ 28 struct drm_panel panel; member 38 static inline struct mantix *panel_to_mantix(struct drm_panel *panel) in panel_to_mantix() argument 40 return container_of(panel, struct mantix, panel); in panel_to_mantix() 43 #define dsi_generic_write_seq(dsi, seq...) do { \ argument 46 ret = mipi_dsi_generic_write(dsi, d, ARRAY_SIZE(d)); \ 53 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); in mantix_init_sequence() local [all …]
|
D | panel-ronbo-rb070d30.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Copyright (C) 2018-2019, Bridge Systems BV 4 * Copyright (C) 2018-2019, Bootlin 7 * This file based on panel-ilitek-ili9881c.c 16 #include <linux/media-bus-format.h> 28 struct drm_panel panel; member 29 struct mipi_dsi_device *dsi; member 40 static inline struct rb070d30_panel *panel_to_rb070d30_panel(struct drm_panel *panel) in panel_to_rb070d30_panel() argument 42 return container_of(panel, struct rb070d30_panel, panel); in panel_to_rb070d30_panel() 45 static int rb070d30_panel_prepare(struct drm_panel *panel) in rb070d30_panel_prepare() argument [all …]
|
D | panel-sharp-ls043t1le01.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * Based on AUO panel driver by Rob Clark <robdclark@gmail.com> 25 struct mipi_dsi_device *dsi; member 36 static inline struct sharp_nt_panel *to_sharp_nt_panel(struct drm_panel *panel) in to_sharp_nt_panel() argument 38 return container_of(panel, struct sharp_nt_panel, base); in to_sharp_nt_panel() 43 struct mipi_dsi_device *dsi = sharp_nt->dsi; in sharp_nt_panel_init() local 46 dsi->mode_flags |= MIPI_DSI_MODE_LPM; in sharp_nt_panel_init() 48 ret = mipi_dsi_dcs_exit_sleep_mode(dsi); in sharp_nt_panel_init() 54 /* Novatek two-lane operation */ in sharp_nt_panel_init() 55 ret = mipi_dsi_dcs_write(dsi, 0xae, (u8[]){ 0x03 }, 1); in sharp_nt_panel_init() [all …]
|
D | panel-feiyang-fy07024di26a30d.c | 1 // SPDX-License-Identifier: GPL-2.0+ 20 struct drm_panel panel; member 21 struct mipi_dsi_device *dsi; member 28 static inline struct feiyang *panel_to_feiyang(struct drm_panel *panel) in panel_to_feiyang() argument 30 return container_of(panel, struct feiyang, panel); in panel_to_feiyang() 47 static int feiyang_prepare(struct drm_panel *panel) in feiyang_prepare() argument 49 struct feiyang *ctx = panel_to_feiyang(panel); in feiyang_prepare() 50 struct mipi_dsi_device *dsi = ctx->dsi; in feiyang_prepare() local 54 ret = regulator_enable(ctx->dvdd); in feiyang_prepare() 61 ret = regulator_enable(ctx->avdd); in feiyang_prepare() [all …]
|
D | panel-samsung-s6d16d0.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * MIPI-DSI Samsung s6d16d0 panel driver. This is a 864x480 4 * AMOLED panel with a command-only DSI interface. 19 struct drm_panel panel; member 43 static inline struct s6d16d0 *panel_to_s6d16d0(struct drm_panel *panel) in panel_to_s6d16d0() argument 45 return container_of(panel, struct s6d16d0, panel); in panel_to_s6d16d0() 48 static int s6d16d0_unprepare(struct drm_panel *panel) in s6d16d0_unprepare() argument 50 struct s6d16d0 *s6 = panel_to_s6d16d0(panel); in s6d16d0_unprepare() 51 struct mipi_dsi_device *dsi = to_mipi_dsi_device(s6->dev); in s6d16d0_unprepare() local 55 ret = mipi_dsi_dcs_enter_sleep_mode(dsi); in s6d16d0_unprepare() [all …]
|
D | panel-xinpeng-xpp055c272.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Xinpeng xpp055c272 5.5" MIPI-DSI panel driver 8 * Rockteck jh057n00900 5.5" MIPI-DSI panel driver 21 #include <linux/media-bus-format.h> 26 /* Manufacturer specific Commands send via DSI */ 51 struct drm_panel panel; member 58 static inline struct xpp055c272 *panel_to_xpp055c272(struct drm_panel *panel) in panel_to_xpp055c272() argument 60 return container_of(panel, struct xpp055c272, panel); in panel_to_xpp055c272() 63 #define dsi_generic_write_seq(dsi, cmd, seq...) do { \ argument 66 ret = mipi_dsi_dcs_write_buffer(dsi, b, ARRAY_SIZE(b)); \ [all …]
|
D | panel-raydium-rm67191.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Raydium RM67191 MIPI-DSI panel driver 23 /* Panel specific color-format bits */ 197 struct drm_panel panel; member 198 struct mipi_dsi_device *dsi; member 226 static inline struct rad_panel *to_rad_panel(struct drm_panel *panel) in to_rad_panel() argument 228 return container_of(panel, struct rad_panel, panel); in to_rad_panel() 231 static int rad_panel_push_cmd_list(struct mipi_dsi_device *dsi) in rad_panel_push_cmd_list() argument 239 u8 buffer[2] = { entry->cmd, entry->param }; in rad_panel_push_cmd_list() 241 ret = mipi_dsi_generic_write(dsi, &buffer, sizeof(buffer)); in rad_panel_push_cmd_list() [all …]
|
D | panel-panasonic-vvx10f034n00.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * Based on AUO panel driver by Rob Clark <robdclark@gmail.com> 23 * When power is turned off to this panel a minimum off time of 500ms has to be 31 struct mipi_dsi_device *dsi; member 43 static inline struct wuxga_nt_panel *to_wuxga_nt_panel(struct drm_panel *panel) in to_wuxga_nt_panel() argument 45 return container_of(panel, struct wuxga_nt_panel, base); in to_wuxga_nt_panel() 50 return mipi_dsi_turn_on_peripheral(wuxga_nt->dsi); in wuxga_nt_panel_on() 53 static int wuxga_nt_panel_disable(struct drm_panel *panel) in wuxga_nt_panel_disable() argument 55 struct wuxga_nt_panel *wuxga_nt = to_wuxga_nt_panel(panel); in wuxga_nt_panel_disable() 58 if (!wuxga_nt->enabled) in wuxga_nt_panel_disable() [all …]
|
D | panel-osd-osd101t2587-53ts.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2019 Texas Instruments Incorporated - https://www.ti.com 20 struct mipi_dsi_device *dsi; member 30 static inline struct osd101t2587_panel *ti_osd_panel(struct drm_panel *panel) in ti_osd_panel() argument 32 return container_of(panel, struct osd101t2587_panel, base); in ti_osd_panel() 35 static int osd101t2587_panel_disable(struct drm_panel *panel) in osd101t2587_panel_disable() argument 37 struct osd101t2587_panel *osd101t2587 = ti_osd_panel(panel); in osd101t2587_panel_disable() 40 if (!osd101t2587->enabled) in osd101t2587_panel_disable() 43 ret = mipi_dsi_shutdown_peripheral(osd101t2587->dsi); in osd101t2587_panel_disable() 45 osd101t2587->enabled = false; in osd101t2587_panel_disable() [all …]
|
D | panel-sitronix-st7703.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * - Rocktech jh057n00900 5.5" MIPI-DSI panel 13 #include <linux/media-bus-format.h> 26 #define DRV_NAME "panel-sitronix-st7703" 28 /* Manufacturer specific Commands send via DSI */ 53 struct drm_panel panel; member 71 static inline struct st7703 *panel_to_st7703(struct drm_panel *panel) in panel_to_st7703() argument 73 return container_of(panel, struct st7703, panel); in panel_to_st7703() 76 #define dsi_generic_write_seq(dsi, seq...) do { \ argument 79 ret = mipi_dsi_generic_write(dsi, d, ARRAY_SIZE(d)); \ [all …]
|
D | panel-sony-acx424akp.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * MIPI-DSI Sony ACX424AKP panel driver. This is a 480x864 4 * AMOLED panel with a command-only DSI interface. 8 * Based on code and know-how from Marcus Lorentzon 9 * Copyright (C) ST-Ericsson SA 2010 36 * and panel 00 ... seems like default values. 41 struct drm_panel panel; member 86 static inline struct acx424akp *panel_to_acx424akp(struct drm_panel *panel) in panel_to_acx424akp() argument 88 return container_of(panel, struct acx424akp, panel); in panel_to_acx424akp() 97 struct mipi_dsi_device *dsi = to_mipi_dsi_device(acx->dev); in acx424akp_set_brightness() local [all …]
|
D | panel-samsung-s6e88a0-ams452ef01.c | 1 // SPDX-License-Identifier: GPL-2.0-only 17 struct drm_panel panel; member 18 struct mipi_dsi_device *dsi; member 26 s6e88a0_ams452ef01 *to_s6e88a0_ams452ef01(struct drm_panel *panel) in to_s6e88a0_ams452ef01() argument 28 return container_of(panel, struct s6e88a0_ams452ef01, panel); in to_s6e88a0_ams452ef01() 31 #define dsi_dcs_write_seq(dsi, seq...) do { \ argument 34 ret = mipi_dsi_dcs_write_buffer(dsi, d, ARRAY_SIZE(d)); \ 41 gpiod_set_value_cansleep(ctx->reset_gpio, 1); in s6e88a0_ams452ef01_reset() 43 gpiod_set_value_cansleep(ctx->reset_gpio, 0); in s6e88a0_ams452ef01_reset() 45 gpiod_set_value_cansleep(ctx->reset_gpio, 1); in s6e88a0_ams452ef01_reset() [all …]
|
D | panel-sharp-lq101r1sx01.c | 1 // SPDX-License-Identifier: GPL-2.0-only 21 /* the datasheet refers to them as DSI-LINK1 and DSI-LINK2 */ 33 static inline struct sharp_panel *to_sharp_panel(struct drm_panel *panel) in to_sharp_panel() argument 35 return container_of(panel, struct sharp_panel, base); in to_sharp_panel() 40 unsigned int refresh = drm_mode_vrefresh(sharp->mode); in sharp_wait_frames() 51 struct mipi_dsi_device *dsi = sharp->link1; in sharp_panel_write() local 54 err = mipi_dsi_generic_write(dsi, payload, sizeof(payload)); in sharp_panel_write() 56 dev_err(&dsi->dev, "failed to write %02x to %04x: %zd\n", in sharp_panel_write() 61 err = mipi_dsi_dcs_nop(dsi); in sharp_panel_write() 63 dev_err(&dsi->dev, "failed to send DCS nop: %zd\n", err); in sharp_panel_write() [all …]
|
D | panel-orisetech-otm8009a.c | 1 // SPDX-License-Identifier: GPL-2.0 26 #define MCS_PANSET 0xB3A6 /* Panel Type Setting */ 28 #define MCS_P_DRV_M 0xC0B4 /* Panel Driving Mode */ 36 #define MCS_PANCTRLSET1 0xCB80 /* Panel Control Setting 1 */ 37 #define MCS_PANCTRLSET2 0xCB90 /* Panel Control Setting 2 */ 38 #define MCS_PANCTRLSET3 0xCBA0 /* Panel Control Setting 3 */ 39 #define MCS_PANCTRLSET4 0xCBB0 /* Panel Control Setting 4 */ 40 #define MCS_PANCTRLSET5 0xCBC0 /* Panel Control Setting 5 */ 41 #define MCS_PANCTRLSET6 0xCBD0 /* Panel Control Setting 6 */ 42 #define MCS_PANCTRLSET7 0xCBE0 /* Panel Control Setting 7 */ [all …]
|
D | panel-jdi-lt070me05000.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 * From internet archives, the panel for Nexus 7 2nd Gen, 2013 model is a 11 * http://panelone.net/en/7-0-inch/JDI_LT070ME05000_7.0_inch-datasheet 35 struct mipi_dsi_device *dsi; member 50 static inline struct jdi_panel *to_jdi_panel(struct drm_panel *panel) in to_jdi_panel() argument 52 return container_of(panel, struct jdi_panel, base); in to_jdi_panel() 57 struct mipi_dsi_device *dsi = jdi->dsi; in jdi_panel_init() local 58 struct device *dev = &jdi->dsi->dev; in jdi_panel_init() 61 dsi->mode_flags |= MIPI_DSI_MODE_LPM; in jdi_panel_init() 63 ret = mipi_dsi_dcs_soft_reset(dsi); in jdi_panel_init() [all …]
|
D | panel-leadtek-ltk050h3146w.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/media-bus-format.h> 34 struct drm_panel panel; member 48 { 0x51, 0x85 }, /* VREG2OUT=-5V */ 231 { 0x85, 0x0D }, /* VGL clamp level (-10V) */ 242 struct ltk050h3146w *panel_to_ltk050h3146w(struct drm_panel *panel) in panel_to_ltk050h3146w() argument 244 return container_of(panel, struct ltk050h3146w, panel); in panel_to_ltk050h3146w() 247 #define dsi_dcs_write_seq(dsi, cmd, seq...) do { \ argument 250 ret = mipi_dsi_dcs_write_buffer(dsi, b, ARRAY_SIZE(b)); \ 257 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); in ltk050h3146w_init_sequence() local [all …]
|
D | panel-truly-nt35597.c | 1 // SPDX-License-Identifier: GPL-2.0 55 struct drm_panel panel; member 64 struct mipi_dsi_device *dsi[2]; member 71 static inline struct truly_nt35597 *panel_to_ctx(struct drm_panel *panel) in panel_to_ctx() argument 73 return container_of(panel, struct truly_nt35597, panel); in panel_to_ctx() 225 static int truly_dcs_write(struct drm_panel *panel, u32 command) in truly_dcs_write() argument 227 struct truly_nt35597 *ctx = panel_to_ctx(panel); in truly_dcs_write() 230 for (i = 0; i < ARRAY_SIZE(ctx->dsi); i++) { in truly_dcs_write() 231 ret = mipi_dsi_dcs_write(ctx->dsi[i], command, NULL, 0); in truly_dcs_write() 233 dev_err(ctx->dev, "cmd 0x%x failed for dsi = %d\n", command, i); in truly_dcs_write() [all …]
|
/linux-5.10/Documentation/devicetree/bindings/display/panel/ |
D | panel-dsi-cm.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/panel/panel-dsi-cm.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: DSI command mode panels 10 - Tomi Valkeinen <tomi.valkeinen@ti.com> 11 - Sebastian Reichel <sre@kernel.org> 14 This binding file is a collection of the DSI panels that 16 referenced via the optional backlight property, the DSI 17 panel is assumed to have native backlight support. [all …]
|
/linux-5.10/drivers/gpu/drm/msm/dsi/ |
D | dsi_manager.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include "dsi.h" 22 struct msm_dsi *dsi[DSI_MAX]; member 37 return msm_dsim_glb.dsi[id]; in dsi_mgr_get_dsi() 42 return msm_dsim_glb.dsi[(id + 1) % DSI_MAX]; in dsi_mgr_get_other_dsi() 49 /* We assume 2 dsi nodes have the same information of dual-dsi and in dsi_mgr_parse_dual_dsi() 50 * sync-mode, and only one node specifies master in case of dual mode. in dsi_mgr_parse_dual_dsi() 52 if (!msm_dsim->is_dual_dsi) in dsi_mgr_parse_dual_dsi() 53 msm_dsim->is_dual_dsi = of_property_read_bool( in dsi_mgr_parse_dual_dsi() 54 np, "qcom,dual-dsi-mode"); in dsi_mgr_parse_dual_dsi() [all …]
|
/linux-5.10/Documentation/devicetree/bindings/display/ |
D | dsi-controller.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/dsi-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Common Properties for DSI Display Panels 10 - Linus Walleij <linus.walleij@linaro.org> 13 This document defines device tree properties common to DSI, Display 18 When referenced from panel device tree bindings the properties defined in 19 this document are defined as follows. The panel device tree bindings are 22 Notice: this binding concerns DSI panels connected directly to a master [all …]
|
/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 …]
|