| /linux/drivers/gpu/drm/ |
| H A D | drm_panel.c | 38 * DOC: drm panel 40 * The DRM panel helpers allow drivers to register panel objects with a 49 * drm_panel_init - initialize a panel 50 * @panel: DRM panel 51 * @dev: parent device of the panel 52 * @funcs: panel operations 54 * the panel interface (must NOT be DRM_MODE_CONNECTOR_Unknown) 56 * Initialize the panel structure for subsequent registration with 59 void drm_panel_init(struct drm_panel *panel, struct device *dev, in drm_panel_init() argument 65 INIT_LIST_HEAD(&panel->list); in drm_panel_init() [all …]
|
| /linux/drivers/gpu/drm/panel/ |
| H A D | Makefile | 2 obj-$(CONFIG_DRM_PANEL_ABT_Y030XX067A) += panel-abt-y030xx067a.o 3 obj-$(CONFIG_DRM_PANEL_ARM_VERSATILE) += panel-arm-versatile.o 4 obj-$(CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596) += panel-asus-z00t-tm5p5-n35596.o 5 obj-$(CONFIG_DRM_PANEL_AUO_A030JTN01) += panel-auo-a030jtn01.o 6 obj-$(CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0) += panel-boe-bf060y8m-aj0.o 7 obj-$(CONFIG_DRM_PANEL_BOE_HIMAX8279D) += panel-boe-himax8279d.o 8 obj-$(CONFIG_DRM_PANEL_BOE_TD4320) += panel-boe-td4320.o 9 obj-$(CONFIG_DRM_PANEL_BOE_TH101MB31UIG002_28A) += panel-boe-th101mb31ig002-28a.o 10 obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_LL2) += panel-boe-tv101wum-ll2.o 11 obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_NL6) += panel-boe-tv101wum-nl6.o [all …]
|
| H A D | Kconfig | 6 Panel registration and lookup framework. 12 tristate "ABT Y030XX067A 320x480 LCD panel" 17 Y030XX067A 320x480 3.0" panel as found in the YLM RG-280M, RG-300 21 tristate "ARM Versatile panel driver" 27 reference designs. The panel is detected using special registers 31 tristate "ASUS Z00T TM5P5 NT35596 panel" 37 NT35596 1080x1920 video mode panel as found in some Asus 45 Say Y here to enable support for the AUO A030JTN01 320x480 3.0" panel 49 tristate "Boe BF060Y8M-AJ0 panel" 55 5.99" AMOLED modules. The panel has a 1080x2160 resolution and [all …]
|
| H A D | panel-seiko-43wvf1g.c | 6 * Based on Panel Simple driver by Thierry Reding <treding@nvidia.com> 33 * @width: width (in millimeters) of the panel's active display area 34 * @height: height (in millimeters) of the panel's active display area 53 static inline struct seiko_panel *to_seiko_panel(struct drm_panel *panel) in to_seiko_panel() argument 55 return container_of(panel, struct seiko_panel, base); in to_seiko_panel() 58 static int seiko_panel_get_fixed_modes(struct seiko_panel *panel, in seiko_panel_get_fixed_modes() argument 64 if (!panel->desc) in seiko_panel_get_fixed_modes() 67 for (i = 0; i < panel->desc->num_timings; i++) { in seiko_panel_get_fixed_modes() 68 const struct display_timing *dt = &panel->desc->timings[i]; in seiko_panel_get_fixed_modes() 74 dev_err(panel->base.dev, "failed to add mode %ux%u\n", in seiko_panel_get_fixed_modes() [all …]
|
| H A D | panel-samsung-atna33xc20.c | 5 * Panel driver for the Samsung ATNA33XC20 panel. This panel can't be handled 44 static inline struct atana33xc20_panel *to_atana33xc20(struct drm_panel *panel) in to_atana33xc20() argument 46 return container_of(panel, struct atana33xc20_panel, base); in to_atana33xc20() 140 static int atana33xc20_disable(struct drm_panel *panel) in atana33xc20_disable() argument 142 struct atana33xc20_panel *p = to_atana33xc20(panel); in atana33xc20_disable() 165 static int atana33xc20_enable(struct drm_panel *panel) in atana33xc20_enable() argument 167 struct atana33xc20_panel *p = to_atana33xc20(panel); in atana33xc20_enable() 191 static int atana33xc20_unprepare(struct drm_panel *panel) in atana33xc20_unprepare() argument 196 * Purposely do a put_sync, don't use autosuspend. The panel's tcon in atana33xc20_unprepare() 201 * to get the EDID or otherwise send DP AUX commands to the panel. in atana33xc20_unprepare() [all …]
|
| H A D | panel-novatek-nt39016.c | 3 * Novatek NT39016 TFT LCD panel driver 65 static inline struct nt39016 *to_nt39016(struct drm_panel *panel) in to_nt39016() argument 67 return container_of(panel, struct nt39016, drm_panel); in to_nt39016() 120 struct nt39016 *panel = to_nt39016(drm_panel); in nt39016_prepare() local 123 err = regulator_enable(panel->supply); in nt39016_prepare() 135 gpiod_set_value_cansleep(panel->reset_gpio, 1); in nt39016_prepare() 137 gpiod_set_value_cansleep(panel->reset_gpio, 0); in nt39016_prepare() 141 err = regmap_multi_reg_write(panel->map, nt39016_panel_regs, in nt39016_prepare() 151 regulator_disable(panel->supply); in nt39016_prepare() 157 struct nt39016 *panel = to_nt39016(drm_panel); in nt39016_unprepare() local [all …]
|
| H A D | panel-orisetech-ota5601a.c | 3 * Orisetech OTA5601A TFT LCD panel driver 42 static inline struct ota5601a *to_ota5601a(struct drm_panel *panel) in to_ota5601a() argument 44 return container_of(panel, struct ota5601a, drm_panel); in to_ota5601a() 113 struct ota5601a *panel = to_ota5601a(drm_panel); in ota5601a_prepare() local 116 err = regulator_enable(panel->supply); in ota5601a_prepare() 123 gpiod_set_value_cansleep(panel->reset_gpio, 1); in ota5601a_prepare() 125 gpiod_set_value_cansleep(panel->reset_gpio, 0); in ota5601a_prepare() 129 err = regmap_multi_reg_write(panel->map, ota5601a_panel_regs, in ota5601a_prepare() 141 regulator_disable(panel->supply); in ota5601a_prepare() 147 struct ota5601a *panel = to_ota5601a(drm_panel); in ota5601a_unprepare() local [all …]
|
| H A D | panel-edp.c | 46 * struct panel_delay - Describes delays for a simple panel. 52 * The time (in milliseconds) that it takes after powering the panel 56 * NOTE: on some old panel data this number appears to be much too big. 74 * @powered_on_to_enable: Time between panel powered on and enable. 77 * between when panel powered on and enable may begin. 123 * @enable: Time for the panel to display a valid frame. 125 * The time (in milliseconds) that it takes for the panel to 136 * @disable: Time for the panel to turn the display off. 138 * The time (in milliseconds) that it takes for the panel to 149 * The time (in milliseconds) that it takes for the panel [all …]
|
| /linux/Documentation/devicetree/bindings/display/panel/ |
| H A D | panel-simple.yaml | 4 $id: http://devicetree.org/schemas/display/panel/panel-simple.yaml# 17 The panel may use an OF graph binding for the association to the display, 20 If the panel is more advanced a dedicated binding file is required. 23 - $ref: panel-common.yaml# 32 # Ampire AM-1280800N3TZQW-T00H 10.1" WQVGA TFT LCD panel 34 # Ampire AM-480272H3TMQW-T01H 4.3" WQVGA TFT LCD panel 36 # Ampire AM-800480L1TMQW-T00H 5" WVGA TFT LCD panel 38 # Ampire AM-800480R3TMQW-A1H 7.0" WVGA TFT LCD panel 40 # Ampire AM-800600P5TMQW-TB8H 8.0" SVGA TFT LCD panel 42 # AU Optronics Corporation 10.1" WSVGA TFT LCD panel [all …]
|
| H A D | panel-edp-legacy.yaml | 4 $id: http://devicetree.org/schemas/display/panel/panel-edp-legacy.yaml# 7 title: Legacy eDP panels from before the "edp-panel" compatible 14 "edp-panel" compatible was introduced. It is kept around to support old 15 dts files. The only reason one might add a new panel here instead of using 16 the generic "edp-panel" is if it needed to be used on an eDP controller 17 that doesn't support the generic "edp-panel" compatible, but it should be 18 a strong preference to add the generic "edp-panel" compatible instead. 21 - $ref: panel-common.yaml# 29 # AU Optronics Corporation 10.1" WSVGA TFT LCD panel 31 # AUO B116XAK01 eDP TFT LCD panel [all …]
|
| H A D | panel-simple-dsi.yaml | 4 $id: http://devicetree.org/schemas/display/panel/panel-simple-dsi.yaml# 17 The panel may use an OF graph binding for the association to the display, 20 If the panel is more advanced a dedicated binding file is required. 29 # AU Optronics Corporation 8.0" WUXGA TFT LCD panel 31 # Boe Corporation 8.0" WUXGA TFT LCD panel 33 # Innolux P079ZCA 7.85" 768x1024 TFT LCD panel 35 # JDI FHD_R63452 1080x1920 5.2" IPS LCD Panel 37 # Khadas TS050 5" 1080x1920 LCD panel 39 # Khadas TS050 V2 5" 1080x1920 LCD panel 41 # Kingdisplay KD097D04 9.7" 1536x2048 TFT LCD panel [all …]
|
| H A D | panel-dsi-cm.yaml | 4 $id: http://devicetree.org/schemas/display/panel/panel-dsi-cm.yaml# 17 panel is assumed to have native backlight support. 18 The panel may use an OF graph binding for the association 23 - $ref: panel-common.yaml# 30 - motorola,droid4-panel # Panel from Motorola Droid4 phone 31 - nokia,himalaya # Panel from Nokia N950 phone 32 - tpo,taal # Panel from OMAP4 SDP board 33 - const: panel-dsi-cm # Generic DSI command mode panel compatible fallback 42 more than one power supply with panel-specific constraints governing the 44 supply is sufficient, either because the panel has a single power rail, or [all …]
|
| H A D | panel-lvds.yaml | 4 $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml# 7 title: Generic LVDS Display Panel 14 - $ref: panel-common.yaml# 21 const: panel-lvds 42 # Admatec 9904379 10.1" 1024x600 LVDS panel 44 # Ampire AMP19201200B5TZQW-T03 10.1" WUXGA (1920x1200) color TFT LCD panel 47 # AUO G084SN05 V9 8.4" 800x600 LVDS panel 49 # Chunghwa Picture Tubes Ltd. 7" WXGA (800x1280) TFT LCD LVDS panel 51 # EDT ETML0700Z8DHA 7.0" Full HD (1920x1080) color TFT LCD LVDS panel 53 # EDT ETML0700Z9NDHA 7.0" WSVGA (1024x600) color TFT LCD LVDS panel [all …]
|
| H A D | rocktech,jh057n00900.yaml | 4 $id: http://devicetree.org/schemas/display/panel/rocktech,jh057n00900.yaml# 7 title: Rocktech JH057N00900 5.5" 720x1440 TFT LCD panel 14 Rocktech JH057N00900 is a 720x1440 TFT LCD panel 18 - $ref: panel-common.yaml# 23 # Anberic RG353V-V2 5.0" 640x480 TFT LCD panel 24 - anbernic,rg353v-panel-v2 25 # GameForce Chi 3.5" 640x480 TFT LCD panel 26 - gameforce,chi-panel 27 # Powkiddy RGB10MAX3 5.0" 720x1280 TFT LCD panel 28 - powkiddy,rgb10max3-panel [all …]
|
| /linux/drivers/gpu/drm/i915/display/ |
| H A D | intel_backlight.c | 71 struct intel_panel *panel = &connector->panel; in clamp_user_to_hw() local 74 hw_level = scale(user_level, 0, user_max, 0, panel->backlight.max); in clamp_user_to_hw() 75 hw_level = clamp(hw_level, panel->backlight.min, panel->backlight.max); in clamp_user_to_hw() 84 struct intel_panel *panel = &connector->panel; in scale_hw_to_user() local 86 return scale(hw_level, panel->backlight.min, panel->backlight.max, in scale_hw_to_user() 93 struct intel_panel *panel = &connector->panel; in intel_backlight_invert_pwm_level() local 95 drm_WARN_ON(display->drm, panel->backlight.pwm_level_max == 0); in intel_backlight_invert_pwm_level() 102 return panel->backlight.pwm_level_max - val + panel->backlight.pwm_level_min; in intel_backlight_invert_pwm_level() 112 struct intel_panel *panel = &connector->panel; in intel_backlight_set_pwm_level() local 116 panel->backlight.pwm_funcs->set(conn_state, val); in intel_backlight_set_pwm_level() [all …]
|
| H A D | intel_dp_aux_backlight.c | 117 struct intel_panel *panel = &connector->panel; in intel_dp_aux_supports_hdr_backlight() local 142 * don't have this data in panel EDID. In case we find panel in intel_dp_aux_supports_hdr_backlight() 151 …"[CONNECTOR:%d:%s] Panel is missing HDR static metadata. Possible support for Intel HDR backlight … in intel_dp_aux_supports_hdr_backlight() 157 panel->backlight.edp.intel_cap.sdr_uses_aux = in intel_dp_aux_supports_hdr_backlight() 159 panel->backlight.edp.intel_cap.supports_2084_decode = in intel_dp_aux_supports_hdr_backlight() 161 panel->backlight.edp.intel_cap.supports_2020_gamut = in intel_dp_aux_supports_hdr_backlight() 163 panel->backlight.edp.intel_cap.supports_segmented_backlight = in intel_dp_aux_supports_hdr_backlight() 165 panel->backlight.edp.intel_cap.supports_sdp_colorimetry = in intel_dp_aux_supports_hdr_backlight() 167 panel->backlight.edp.intel_cap.supports_tone_mapping = in intel_dp_aux_supports_hdr_backlight() 177 struct intel_panel *panel = &connector->panel; in intel_dp_aux_hdr_get_backlight() local [all …]
|
| H A D | intel_dsi_dcs_backlight.c | 51 struct intel_panel *panel = &connector->panel; in dcs_get_backlight() local 55 size_t len = panel->backlight.max > U8_MAX ? 2 : 1; in dcs_get_backlight() 57 for_each_dsi_port(port, panel->vbt.dsi.bl_ports) { in dcs_get_backlight() 70 struct intel_panel *panel = &to_intel_connector(conn_state->connector)->panel; in dcs_set_backlight() local 74 size_t len = panel->backlight.max > U8_MAX ? 2 : 1; in dcs_set_backlight() 84 for_each_dsi_port(port, panel->vbt.dsi.bl_ports) { in dcs_set_backlight() 97 struct intel_panel *panel = &to_intel_connector(conn_state->connector)->panel; in dcs_disable_backlight() local 103 for_each_dsi_port(port, panel->vbt.dsi.cabc_ports) { in dcs_disable_backlight() 111 for_each_dsi_port(port, panel->vbt.dsi.bl_ports) { in dcs_disable_backlight() 132 struct intel_panel *panel = &to_intel_connector(conn_state->connector)->panel; in dcs_enable_backlight() local [all …]
|
| H A D | intel_panel.c | 58 return list_first_entry_or_null(&connector->panel.fixed_modes, in intel_panel_preferred_fixed_mode() 92 list_for_each_entry(fixed_mode, &connector->panel.fixed_modes, head) { in intel_panel_fixed_mode() 129 int min_vrefresh = connector->panel.vbt.seamless_drrs_min_refresh_rate; in intel_panel_downclock_mode() 133 list_for_each_entry(fixed_mode, &connector->panel.fixed_modes, head) { in intel_panel_downclock_mode() 153 list_for_each_entry(fixed_mode, &connector->panel.fixed_modes, head) { in intel_panel_highest_mode() 166 list_for_each_entry(fixed_mode, &connector->panel.fixed_modes, head) { in intel_panel_get_modes() 183 list_for_each_entry(mode1, &connector->panel.fixed_modes, head) { in has_drrs_modes() 186 list_for_each_entry_continue(mode2, &connector->panel.fixed_modes, head) { in has_drrs_modes() 197 return connector->panel.vbt.drrs_type; in intel_panel_drrs_type() 266 list_move_tail(&mode->head, &connector->panel.fixed_modes); in intel_panel_add_edid_alt_fixed_modes() [all …]
|
| /linux/drivers/input/misc/ |
| H A D | ibm-panel.c | 15 #define DEVICE_NAME "ibm-panel" 26 static u8 ibm_panel_calculate_checksum(struct ibm_panel *panel) in ibm_panel_calculate_checksum() argument 32 for (i = 0; i < sizeof(panel->command) - 1; ++i) { in ibm_panel_calculate_checksum() 33 sum += panel->command[i]; in ibm_panel_calculate_checksum() 47 static void ibm_panel_process_command(struct ibm_panel *panel) in ibm_panel_process_command() argument 52 if (panel->command[0] != 0xff && panel->command[1] != 0xf0) { in ibm_panel_process_command() 53 dev_dbg(&panel->input->dev, "command invalid: %02x %02x\n", in ibm_panel_process_command() 54 panel->command[0], panel->command[1]); in ibm_panel_process_command() 58 chksum = ibm_panel_calculate_checksum(panel); in ibm_panel_process_command() 59 if (chksum != panel->command[sizeof(panel->command) - 1]) { in ibm_panel_process_command() [all …]
|
| /linux/drivers/gpu/drm/msm/dp/ |
| H A D | dp_panel.c | 33 static inline u32 msm_dp_read_link(struct msm_dp_panel_private *panel, u32 offset) in msm_dp_read_link() argument 35 return readl_relaxed(panel->link_base + offset); in msm_dp_read_link() 38 static inline void msm_dp_write_link(struct msm_dp_panel_private *panel, in msm_dp_write_link() argument 45 writel(data, panel->link_base + offset); in msm_dp_write_link() 48 static inline void msm_dp_write_p0(struct msm_dp_panel_private *panel, in msm_dp_write_p0() argument 55 writel(data, panel->p0_base + offset); in msm_dp_write_p0() 58 static inline u32 msm_dp_read_p0(struct msm_dp_panel_private *panel, in msm_dp_read_p0() argument 65 return readl_relaxed(panel->p0_base + offset); in msm_dp_read_p0() 68 static void msm_dp_panel_read_psr_cap(struct msm_dp_panel_private *panel) in msm_dp_panel_read_psr_cap() argument 73 msm_dp_panel = &panel->msm_dp_panel; in msm_dp_panel_read_psr_cap() [all …]
|
| /linux/include/drm/ |
| H A D | drm_panel.h | 44 * struct drm_panel_funcs - perform operations on a given panel 47 * starts to transmit video data. Panel drivers can use this to turn the panel 60 * necessary to turn off the panel to avoid visual glitches. This is done in 63 * is visible on the panel. It is then safe for the display controller to 67 * the panel. This is the job of the .unprepare() function. 77 * Turn on panel and perform set up. 81 int (*prepare)(struct drm_panel *panel); 86 * Enable panel (turn on back light, etc.). 90 int (*enable)(struct drm_panel *panel); 95 * Disable panel (turn off back light, etc.). [all …]
|
| /linux/drivers/video/fbdev/mmp/ |
| H A D | core.c | 37 * this function fetches modelist from phy/panel: 39 * or get from panel 46 if (path->panel && path->panel->get_modelist) in path_get_modelist() 47 return path->panel->get_modelist(path->panel, modelist); in path_get_modelist() 53 * panel list is used to pair panel/path when path/panel registered 56 * panel driver do panel register/unregister 64 * mmp_register_panel - register panel to panel_list and connect to path 65 * @p: panel to be registered 67 * this function provides interface for panel drivers to register panel 68 * to panel_list and connect to path which matchs panel->plat_path_name. [all …]
|
| /linux/drivers/gpu/drm/bridge/ |
| H A D | panel.c | 24 struct drm_panel *panel; member 45 return drm_panel_get_modes(panel_bridge->panel, connector); in panel_bridge_connector_get_modes() 129 drm_panel_prepare(panel_bridge->panel); in panel_bridge_atomic_pre_enable() 148 drm_panel_enable(panel_bridge->panel); in panel_bridge_atomic_enable() 167 drm_panel_disable(panel_bridge->panel); in panel_bridge_atomic_disable() 186 drm_panel_unprepare(panel_bridge->panel); in panel_bridge_atomic_post_disable() 194 return drm_panel_get_modes(panel_bridge->panel, connector); in panel_bridge_get_modes() 201 struct drm_panel *panel = panel_bridge->panel; in panel_bridge_debugfs_init() local 203 root = debugfs_create_dir("panel", root); in panel_bridge_debugfs_init() 204 if (panel->funcs->debugfs_init) in panel_bridge_debugfs_init() [all …]
|
| /linux/drivers/gpu/drm/tiny/ |
| H A D | pixpaper.c | 3 * DRM driver for PIXPAPER e-ink panel 30 * and stable operation of the panel. Modifying these values without 31 * thorough understanding may lead to display anomalies, panel damage, 36 #define PIXPAPER_CMD_PANEL_SETTING 0x00 /* R00H: Panel settings */ 442 * The panel has a visible resolution of 122x250. 448 /* Panel visible resolution */ 512 static void pixpaper_wait_for_panel(struct pixpaper_panel *panel) in pixpaper_wait_for_panel() argument 518 while (gpiod_get_value_cansleep(panel->busy) != 1) { in pixpaper_wait_for_panel() 520 drm_warn(&panel->drm, "Busy wait timed out\n"); in pixpaper_wait_for_panel() 539 static void pixpaper_send_cmd(struct pixpaper_panel *panel, u8 cmd, in pixpaper_send_cmd() argument [all …]
|
| /linux/drivers/video/fbdev/omap2/omapfb/displays/ |
| H A D | Kconfig | 2 menu "OMAPFB Panel and Encoder Drivers" 39 tristate "Generic DPI panel" 44 tristate "Generic DSI Command Mode Panel" 51 tristate "ACX565AKM Panel" 55 This is the LCD panel used on Nokia N900 58 tristate "LG.Philips LB035Q02 LCD Panel" 61 LCD Panel used on the Gumstix Overo Palo35 64 tristate "Sharp LS037V7DW01 LCD Panel" 68 LCD Panel used in TI's SDP3430 and EVM boards 71 tristate "TPO TD028TTEC1 LCD Panel" [all …]
|