| /linux/drivers/gpu/drm/panel/ | 
| H A D | panel-novatek-nt37801.c | 1 // SPDX-License-Identifier: GPL-2.0-only21 	struct drm_panel panel;  member
 22 	struct mipi_dsi_device *dsi;  member
 34 static inline struct novatek_nt37801 *to_novatek_nt37801(struct drm_panel *panel)  in to_novatek_nt37801()  argument
 36 	return container_of(panel, struct novatek_nt37801, panel);  in to_novatek_nt37801()
 41 	gpiod_set_value_cansleep(ctx->reset_gpio, 0);  in novatek_nt37801_reset()
 43 	gpiod_set_value_cansleep(ctx->reset_gpio, 1);  in novatek_nt37801_reset()
 45 	gpiod_set_value_cansleep(ctx->reset_gpio, 0);  in novatek_nt37801_reset()
 57 	struct mipi_dsi_device *dsi = ctx->dsi;  in novatek_nt37801_on()  local
 58 	struct mipi_dsi_multi_context dsi_ctx = { .dsi = dsi };  in novatek_nt37801_on()
 [all …]
 
 | 
| H A D | panel-osd-osd101t2587-53ts.c | 1 // SPDX-License-Identifier: GPL-2.03  *  Copyright (C) 2019 Texas Instruments Incorporated - https://www.ti.com
 20 	struct mipi_dsi_device *dsi;  member
 27 static inline struct osd101t2587_panel *ti_osd_panel(struct drm_panel *panel)  in ti_osd_panel()  argument
 29 	return container_of(panel, struct osd101t2587_panel, base);  in ti_osd_panel()
 32 static int osd101t2587_panel_disable(struct drm_panel *panel)  in osd101t2587_panel_disable()  argument
 34 	struct osd101t2587_panel *osd101t2587 = ti_osd_panel(panel);  in osd101t2587_panel_disable()
 37 	ret = mipi_dsi_shutdown_peripheral(osd101t2587->dsi);  in osd101t2587_panel_disable()
 42 static int osd101t2587_panel_unprepare(struct drm_panel *panel)  in osd101t2587_panel_unprepare()  argument
 44 	struct osd101t2587_panel *osd101t2587 = ti_osd_panel(panel);  in osd101t2587_panel_unprepare()
 [all …]
 
 | 
| H A D | panel-panasonic-vvx10f034n00.c | 1 // SPDX-License-Identifier: GPL-2.0-only7  * 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
 40 static inline struct wuxga_nt_panel *to_wuxga_nt_panel(struct drm_panel *panel)  in to_wuxga_nt_panel()  argument
 42 	return container_of(panel, struct wuxga_nt_panel, base);  in to_wuxga_nt_panel()
 47 	return mipi_dsi_turn_on_peripheral(wuxga_nt->dsi);  in wuxga_nt_panel_on()
 50 static int wuxga_nt_panel_disable(struct drm_panel *panel)  in wuxga_nt_panel_disable()  argument
 52 	struct wuxga_nt_panel *wuxga_nt = to_wuxga_nt_panel(panel);  in wuxga_nt_panel_disable()
 54 	return mipi_dsi_shutdown_peripheral(wuxga_nt->dsi);  in wuxga_nt_panel_disable()
 [all …]
 
 | 
| H A D | panel-sharp-lq101r1sx01.c | 1 // SPDX-License-Identifier: GPL-2.0-only21 	/* the datasheet refers to them as DSI-LINK1 and DSI-LINK2 */
 30 static inline struct sharp_panel *to_sharp_panel(struct drm_panel *panel)  in to_sharp_panel()  argument
 32 	return container_of(panel, struct sharp_panel, base);  in to_sharp_panel()
 37 	unsigned int refresh = drm_mode_vrefresh(sharp->mode);  in sharp_wait_frames()
 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()
 [all …]
 
 | 
| H A D | panel-jdi-lt070me05000.c | 1 // SPDX-License-Identifier: GPL-2.0-only31 	struct mipi_dsi_device *dsi;  member
 43 static inline struct jdi_panel *to_jdi_panel(struct drm_panel *panel)  in to_jdi_panel()  argument
 45 	return container_of(panel, struct jdi_panel, base);  in to_jdi_panel()
 50 	struct mipi_dsi_device *dsi = jdi->dsi;  in jdi_panel_init()  local
 51 	struct device *dev = &jdi->dsi->dev;  in jdi_panel_init()
 54 	dsi->mode_flags |= MIPI_DSI_MODE_LPM;  in jdi_panel_init()
 56 	ret = mipi_dsi_dcs_soft_reset(dsi);  in jdi_panel_init()
 62 	ret = mipi_dsi_dcs_set_pixel_format(dsi, MIPI_DCS_PIXEL_FMT_24BIT << 4);  in jdi_panel_init()
 68 	ret = mipi_dsi_dcs_set_column_address(dsi, 0, jdi->mode->hdisplay - 1);  in jdi_panel_init()
 [all …]
 
 | 
| H A D | panel-truly-nt35597.c | 1 // SPDX-License-Identifier: GPL-2.055 	struct drm_panel panel;  member
 64 	struct mipi_dsi_device *dsi[2];  member
 69 static inline struct truly_nt35597 *panel_to_ctx(struct drm_panel *panel)  in panel_to_ctx()  argument
 71 	return container_of(panel, struct truly_nt35597, panel);  in panel_to_ctx()
 223 static int truly_dcs_write(struct drm_panel *panel, u32 command)  in truly_dcs_write()  argument
 225 	struct truly_nt35597 *ctx = panel_to_ctx(panel);  in truly_dcs_write()
 228 	for (i = 0; i < ARRAY_SIZE(ctx->dsi); i++) {  in truly_dcs_write()
 229 		ret = mipi_dsi_dcs_write(ctx->dsi[i], command, NULL, 0);  in truly_dcs_write()
 231 			dev_err(ctx->dev, "cmd 0x%x failed for dsi = %d\n", command, i);  in truly_dcs_write()
 [all …]
 
 | 
| H A D | panel-tdo-tl070wsh30.c | 1 // SPDX-License-Identifier: GPL-2.030 struct tdo_tl070wsh30_panel *to_tdo_tl070wsh30_panel(struct drm_panel *panel)  in to_tdo_tl070wsh30_panel()  argument
 32 	return container_of(panel, struct tdo_tl070wsh30_panel, base);  in to_tdo_tl070wsh30_panel()
 35 static int tdo_tl070wsh30_panel_prepare(struct drm_panel *panel)  in tdo_tl070wsh30_panel_prepare()  argument
 37 	struct tdo_tl070wsh30_panel *tdo_tl070wsh30 = to_tdo_tl070wsh30_panel(panel);  in tdo_tl070wsh30_panel_prepare()
 40 	err = regulator_enable(tdo_tl070wsh30->supply);  in tdo_tl070wsh30_panel_prepare()
 46 	gpiod_set_value_cansleep(tdo_tl070wsh30->reset_gpio, 1);  in tdo_tl070wsh30_panel_prepare()
 50 	gpiod_set_value_cansleep(tdo_tl070wsh30->reset_gpio, 0);  in tdo_tl070wsh30_panel_prepare()
 54 	err = mipi_dsi_dcs_exit_sleep_mode(tdo_tl070wsh30->link);  in tdo_tl070wsh30_panel_prepare()
 56 		dev_err(panel->dev, "failed to exit sleep mode: %d\n", err);  in tdo_tl070wsh30_panel_prepare()
 [all …]
 
 | 
| H A D | panel-lg-sw43408.c | 1 // SPDX-License-Identifier: GPL-2.0+3  * Copyright (C) 2019-2024 Linaro Ltd
 36 static inline struct sw43408_panel *to_panel_info(struct drm_panel *panel)  in to_panel_info()  argument
 38 	return container_of(panel, struct sw43408_panel, base);  in to_panel_info()
 41 static int sw43408_unprepare(struct drm_panel *panel)  in sw43408_unprepare()  argument
 43 	struct sw43408_panel *sw43408 = to_panel_info(panel);  in sw43408_unprepare()
 44 	struct mipi_dsi_multi_context ctx = { .dsi = sw43408->link };  in sw43408_unprepare()
 53 	gpiod_set_value(sw43408->reset_gpio, 1);  in sw43408_unprepare()
 55 	ret = regulator_bulk_disable(ARRAY_SIZE(sw43408->supplies), sw43408->supplies);  in sw43408_unprepare()
 60 static int sw43408_program(struct drm_panel *panel)  in sw43408_program()  argument
 [all …]
 
 | 
| H A D | panel-raspberrypi-touchscreen.c | 2  * Copyright © 2016-2017 Broadcom8  * Portions of this file (derived from panel-simple.c) are:
 25  * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
 33  * Raspberry Pi 7" touchscreen panel driver.
 35  * The 7" touchscreen consists of a DPI LCD panel, a Toshiba
 36  * TC358762XBG DSI-DPI bridge, and an I2C-connected Atmel ATTINY88-MUR
 40  * This driver controls the TC358762 and ATTINY88, presenting a DSI
 47 #include <linux/media-bus-format.h>
 58 #define RPI_DSI_DRIVER_NAME "rpi-ts-dsi"
 83 /* DSI D-PHY Layer Registers */
 [all …]
 
 | 
| H A D | panel-startek-kd070fhfid015.c | 1 // SPDX-License-Identifier: GPL-2.08  * - Vinay Simha BN <simhavcs@gmail.com>
 9  * - Sumit Semwal <sumit.semwal@linaro.org>
 10  * - Guillaume La Roque <glaroque@baylibre.com>
 43 	struct mipi_dsi_device *dsi;  member
 47 static inline struct stk_panel *to_stk_panel(struct drm_panel *panel)  in to_stk_panel()  argument
 49 	return container_of(panel, struct stk_panel, base);  in to_stk_panel()
 54 	struct mipi_dsi_device *dsi = stk->dsi;  in stk_panel_init()  local
 55 	struct mipi_dsi_multi_context dsi_ctx = {.dsi = dsi};  in stk_panel_init()
 75 	mipi_dsi_dcs_set_column_address_multi(&dsi_ctx, 0, stk->mode->hdisplay - 1);  in stk_panel_init()
 [all …]
 
 | 
| H A D | panel-kingdisplay-kd097d04.c | 1 // SPDX-License-Identifier: GPL-2.0+36  * the panel init array is not part of the panels datasheet but instead
 37  * just came in this form from the panel vendor.
 175 struct kingdisplay_panel *to_kingdisplay_panel(struct drm_panel *panel)  in to_kingdisplay_panel()  argument
 177 	return container_of(panel, struct kingdisplay_panel, base);  in to_kingdisplay_panel()
 180 static int kingdisplay_panel_disable(struct drm_panel *panel)  in kingdisplay_panel_disable()  argument
 182 	struct kingdisplay_panel *kingdisplay = to_kingdisplay_panel(panel);  in kingdisplay_panel_disable()
 185 	err = mipi_dsi_dcs_set_display_off(kingdisplay->link);  in kingdisplay_panel_disable()
 187 		dev_err(panel->dev, "failed to set display off: %d\n", err);  in kingdisplay_panel_disable()
 192 static int kingdisplay_panel_unprepare(struct drm_panel *panel)  in kingdisplay_panel_unprepare()  argument
 [all …]
 
 | 
| /linux/Documentation/devicetree/bindings/display/panel/ | 
| H A 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 …]
 
 | 
| H A D | sharp,lq101r1sx01.yaml | 1 # SPDX-License-Identifier: GPL-2.03 ---
 4 $id: http://devicetree.org/schemas/display/panel/sharp,lq101r1sx01.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: Sharp Microelectronics 10.1" WQXGA TFT LCD panel
 10   - Thierry Reding <treding@nvidia.com>
 13   This panel requires a dual-channel DSI host to operate. It supports two modes:
 14   - left-right: each channel drives the left or right half of the screen
 15   - even-odd: each channel drives the even or odd lines of the screen
 17   Each of the DSI channels controls a separate DSI peripheral. The peripheral
 [all …]
 
 | 
| H A D | panel-simple-dsi.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 4 $id: http://devicetree.org/schemas/display/panel/panel-simple-dsi.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: Simple DSI panels with a single power-supply
 10   - Thierry Reding <thierry.reding@gmail.com>
 11   - Sam Ravnborg <sam@ravnborg.org>
 14   This binding file is a collection of the DSI panels that
 15   requires only a single power-supply.
 17   The panel may use an OF graph binding for the association to the display,
 [all …]
 
 | 
| H A D | jdi,lpm102a188a.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause3 ---
 4 $id: http://devicetree.org/schemas/display/panel/jdi,lpm102a188a.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: JDI LPM102A188A 2560x1800 10.2" DSI Panel
 10   - Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt>
 13   This panel requires a dual-channel DSI host to operate. It supports two modes:
 14   - left-right: each channel drives the left or right half of the screen
 15   - even-odd: each channel drives the even or odd lines of the screen
 17   Each of the DSI channels controls a separate DSI peripheral. The peripheral
 [all …]
 
 | 
| H A D | samsung,s6d7aa0.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 4 $id: http://devicetree.org/schemas/display/panel/samsung,s6d7aa0.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: Samsung S6D7AA0 MIPI-DSI LCD panel controller
 10   - Artur Weber <aweber.kernel@gmail.com>
 13   - $ref: panel-common.yaml#
 18       - enum:
 19           # 1280x800 LSL080AL02 panel
 20           - samsung,lsl080al02
 [all …]
 
 | 
| H A D | novatek,nt36672a.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause3 ---
 4 $id: http://devicetree.org/schemas/display/panel/novatek,nt36672a.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: Novatek NT36672A based DSI display Panels
 10   - Sumit Semwal <sumit.semwal@linaro.org>
 13   The nt36672a IC from Novatek is a generic DSI Panel IC used to drive dsi
 15   Right now, support is added only for a Tianma FHD+ LCD display panel with a
 16   resolution of 1080x2246. It is a video mode DSI panel.
 19   - $ref: panel-common.yaml#
 [all …]
 
 | 
| H A D | orisetech,otm8009a.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 4 $id: http://devicetree.org/schemas/display/panel/orisetech,otm8009a.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: Orise Tech OTM8009A 3.97" 480x800 TFT LCD panel (MIPI-DSI video mode)
 10   - Philippe CORNU <philippe.cornu@foss.st.com>
 13              The Orise Tech OTM8009A is a 3.97" 480x800 TFT LCD panel connected using
 14              a MIPI-DSI video interface. Its backlight is managed through the DSI link.
 16   - $ref: panel-common.yaml#
 25     description: DSI virtual channel
 [all …]
 
 | 
| H A D | ebbg,ft8719.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause3 ---
 4 $id: http://devicetree.org/schemas/display/panel/ebbg,ft8719.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: EBBG FT8719 MIPI-DSI LCD panel
 10   - Joel Selvaraj <jo@jsfamily.in>
 13   The FT8719 panel from EBBG is a FHD+ LCD display panel with a resolution
 14   of 1080x2246. It is a video mode DSI panel. The backlight is managed
 18   - $ref: panel-common.yaml#
 26     description: DSI virtual channel of the peripheral
 [all …]
 
 | 
| H A D | rocktech,jh057n00900.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 4 $id: http://devicetree.org/schemas/display/panel/rocktech,jh057n00900.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: Rocktech JH057N00900 5.5" 720x1440 TFT LCD panel
 10   - Ondrej Jirman <megi@xff.cz>
 11   - Guido Gŭnther <agx@sigxcpu.org>
 14   Rocktech JH057N00900 is a 720x1440 TFT LCD panel
 15   connected using a MIPI-DSI video interface.
 18   - $ref: panel-common.yaml#
 [all …]
 
 | 
| H A D | raydium,rm67191.yaml | 1 # SPDX-License-Identifier: GPL-2.03 ---
 4 $id: http://devicetree.org/schemas/display/panel/raydium,rm67191.yaml#
 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
 [all …]
 
 | 
| H A D | sony,tulip-truly-nt35521.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 4 $id: http://devicetree.org/schemas/display/panel/sony,tulip-truly-nt35521.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: Sony Tulip Truly NT35521 5.24" 1280x720 MIPI-DSI Panel
 10   - Shawn Guo <shawn.guo@linaro.org>
 13   The Sony Tulip Truly NT35521 is a 5.24" 1280x720 MIPI-DSI panel, which
 14   can be found no Sony Xperia M4 phone.  The panel backlight is managed
 15   through DSI link.
 18   - $ref: panel-common.yaml#
 [all …]
 
 | 
| H A D | raydium,rm68200.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 4 $id: http://devicetree.org/schemas/display/panel/raydium,rm68200.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: Raydium Semiconductor Corporation RM68200 5.5" 720p MIPI-DSI TFT LCD panel
 10   - Philippe CORNU <philippe.cornu@foss.st.com>
 14   panel connected using a MIPI-DSI video interface.
 17   - $ref: panel-common.yaml#
 26     description: DSI virtual channel
 29   enable-gpios: true
 [all …]
 
 | 
| /linux/drivers/video/fbdev/omap2/omapfb/displays/ | 
| H A D | panel-dsi-cm.c | 1 // SPDX-License-Identifier: GPL-2.0-only3  * Generic DSI Command Mode panel driver
 28 /* DSI Virtual channel. Hardcoded for now. */
 55 	/* panel HW configuration from DT or platform data */
 92 	ddata->hw_guard_wait = msecs_to_jiffies(guard_msec);  in hw_guard_start()
 93 	ddata->hw_guard_end = jiffies + ddata->hw_guard_wait;  in hw_guard_start()
 98 	unsigned long wait = ddata->hw_guard_end - jiffies;  in hw_guard_wait()
 100 	if ((long)wait > 0 && time_before_eq(wait, ddata->hw_guard_wait)) {  in hw_guard_wait()
 108 	struct omap_dss_device *in = ddata->in;  in dsicm_dcs_read_1()
 112 	r = in->ops.dsi->dcs_read(in, ddata->channel, dcs_cmd, buf, 1);  in dsicm_dcs_read_1()
 [all …]
 
 | 
| /linux/drivers/gpu/drm/sun4i/ | 
| H A D | sun6i_mipi_dsi.c | 1 // SPDX-License-Identifier: GPL-2.0+4  * Copyright (C) 2017-2018 Bootlin
 11 #include <linux/crc-ccitt.h>
 14 #include <linux/phy/phy-mipi-dphy.h>
 291 static void sun6i_dsi_inst_abort(struct sun6i_dsi *dsi)  in sun6i_dsi_inst_abort()  argument
 293 	regmap_update_bits(dsi->regs, SUN6I_DSI_BASIC_CTL0_REG,  in sun6i_dsi_inst_abort()
 297 static void sun6i_dsi_inst_commit(struct sun6i_dsi *dsi)  in sun6i_dsi_inst_commit()  argument
 299 	regmap_update_bits(dsi->regs, SUN6I_DSI_BASIC_CTL0_REG,  in sun6i_dsi_inst_commit()
 304 static int sun6i_dsi_inst_wait_for_completion(struct sun6i_dsi *dsi)  in sun6i_dsi_inst_wait_for_completion()  argument
 308 	return regmap_read_poll_timeout(dsi->regs, SUN6I_DSI_BASIC_CTL0_REG,  in sun6i_dsi_inst_wait_for_completion()
 [all …]
 
 |