| /kernel/linux/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-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 */ 29 struct drm_panel panel; member 39 static inline struct mantix *panel_to_mantix(struct drm_panel *panel) in panel_to_mantix() argument 41 return container_of(panel, struct mantix, panel); in panel_to_mantix() 44 #define dsi_generic_write_seq(dsi, seq...) do { \ argument 47 ret = mipi_dsi_generic_write(dsi, d, ARRAY_SIZE(d)); \ 54 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); in mantix_init_sequence() local [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-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 …]
|
| /kernel/linux/linux-4.19/drivers/gpu/drm/panel/ |
| D | panel-sharp-ls043t1le01.c | 6 * Based on AUO panel driver by Rob Clark <robdclark@gmail.com> 36 struct mipi_dsi_device *dsi; member 48 static inline struct sharp_nt_panel *to_sharp_nt_panel(struct drm_panel *panel) in to_sharp_nt_panel() argument 50 return container_of(panel, struct sharp_nt_panel, base); in to_sharp_nt_panel() 55 struct mipi_dsi_device *dsi = sharp_nt->dsi; in sharp_nt_panel_init() local 58 dsi->mode_flags |= MIPI_DSI_MODE_LPM; in sharp_nt_panel_init() 60 ret = mipi_dsi_dcs_exit_sleep_mode(dsi); in sharp_nt_panel_init() 66 /* Novatek two-lane operation */ in sharp_nt_panel_init() 67 ret = mipi_dsi_dcs_write(dsi, 0xae, (u8[]){ 0x03 }, 1); in sharp_nt_panel_init() 72 ret = mipi_dsi_dcs_set_pixel_format(dsi, MIPI_DCS_PIXEL_FMT_24BIT | in sharp_nt_panel_init() [all …]
|
| D | Kconfig | 5 Panel registration and lookup framework. 11 tristate "ARM Versatile panel driver" 17 reference designs. The panel is detected using special registers 21 tristate "Generic LVDS panel driver" 26 This driver supports LVDS panels that don't require device-specific 28 backlight handling if the panel is attached to a backlight controller. 36 DRM panel driver for dumb panels that need at most a regulator and 38 that it can be automatically turned off when the panel goes into a 47 QVGA (320x240) RGB, YUV and ITU-T BT.656 panels. 50 tristate "Ilitek ILI9881C-based panels" [all …]
|
| D | panel-sharp-lq101r1sx01.c | 24 /* the datasheet refers to them as DSI-LINK1 and DSI-LINK2 */ 37 static inline struct sharp_panel *to_sharp_panel(struct drm_panel *panel) in to_sharp_panel() argument 39 return container_of(panel, struct sharp_panel, base); in to_sharp_panel() 44 unsigned int refresh = drm_mode_vrefresh(sharp->mode); in sharp_wait_frames() 55 struct mipi_dsi_device *dsi = sharp->link1; in sharp_panel_write() local 58 err = mipi_dsi_generic_write(dsi, payload, sizeof(payload)); in sharp_panel_write() 60 dev_err(&dsi->dev, "failed to write %02x to %04x: %zd\n", in sharp_panel_write() 65 err = mipi_dsi_dcs_nop(dsi); in sharp_panel_write() 67 dev_err(&dsi->dev, "failed to send DCS nop: %zd\n", err); in sharp_panel_write() 83 err = mipi_dsi_generic_read(sharp->link1, &offset, sizeof(offset), in sharp_panel_read() [all …]
|
| D | panel-panasonic-vvx10f034n00.c | 6 * Based on AUO panel driver by Rob Clark <robdclark@gmail.com> 34 * When power is turned off to this panel a minimum off time of 500ms has to be 42 struct mipi_dsi_device *dsi; member 55 static inline struct wuxga_nt_panel *to_wuxga_nt_panel(struct drm_panel *panel) in to_wuxga_nt_panel() argument 57 return container_of(panel, struct wuxga_nt_panel, base); in to_wuxga_nt_panel() 62 return mipi_dsi_turn_on_peripheral(wuxga_nt->dsi); in wuxga_nt_panel_on() 65 static int wuxga_nt_panel_disable(struct drm_panel *panel) in wuxga_nt_panel_disable() argument 67 struct wuxga_nt_panel *wuxga_nt = to_wuxga_nt_panel(panel); in wuxga_nt_panel_disable() 70 if (!wuxga_nt->enabled) in wuxga_nt_panel_disable() 73 mipi_ret = mipi_dsi_shutdown_peripheral(wuxga_nt->dsi); in wuxga_nt_panel_disable() [all …]
|
| D | panel-jdi-lt070me05000.c | 8 * From internet archives, the panel for Nexus 7 2nd Gen, 2013 model is a 10 * http://panelone.net/en/7-0-inch/JDI_LT070ME05000_7.0_inch-datasheet 44 struct mipi_dsi_device *dsi; member 59 static inline struct jdi_panel *to_jdi_panel(struct drm_panel *panel) in to_jdi_panel() argument 61 return container_of(panel, struct jdi_panel, base); in to_jdi_panel() 66 struct mipi_dsi_device *dsi = jdi->dsi; in jdi_panel_init() local 67 struct device *dev = &jdi->dsi->dev; in jdi_panel_init() 70 dsi->mode_flags |= MIPI_DSI_MODE_LPM; in jdi_panel_init() 72 ret = mipi_dsi_dcs_soft_reset(dsi); in jdi_panel_init() 78 ret = mipi_dsi_dcs_set_pixel_format(dsi, MIPI_DCS_PIXEL_FMT_24BIT << 4); in jdi_panel_init() [all …]
|
| /kernel/linux/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 …]
|
| /kernel/linux/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 …]
|
| /kernel/linux/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 …]
|