Lines Matching refs:panel
51 /* The Versatile can detect the connected panel type */
70 * @name: the name of this panel
78 * @mode: the DRM display mode for this panel
82 * @bus_flags: the DRM bus flags for this panel e.g. inverted clock
86 * @width_mm: the panel width in mm
90 * @height_mm: the panel height in mm
94 * @ib2: the panel may be connected on an IB2 daughterboard
108 * @panel: the DRM panel instance for this device
110 struct drm_panel panel;
112 * @panel_type: the Versatile panel type as detected
222 to_versatile_panel(struct drm_panel *panel)
224 return container_of(panel, struct versatile_panel, panel);
227 static int versatile_panel_disable(struct drm_panel *panel)
229 struct versatile_panel *vpanel = to_versatile_panel(panel);
243 static int versatile_panel_enable(struct drm_panel *panel)
245 struct versatile_panel *vpanel = to_versatile_panel(panel);
259 static int versatile_panel_get_modes(struct drm_panel *panel,
262 struct versatile_panel *vpanel = to_versatile_panel(panel);
300 dev_err(dev, "no parent for versatile panel\n");
305 dev_err(dev, "no regmap for versatile panel parent\n");
331 /* No panel detected or VGA, let's leave this show */
333 dev_info(dev, "no panel detected\n");
341 /* Check if the panel is mounted on an IB2 daughterboard */
348 dev_info(dev, "panel mounted on IB2 daughterboard\n");
351 drm_panel_init(&vpanel->panel, dev, &versatile_panel_drm_funcs,
354 drm_panel_add(&vpanel->panel);
360 { .compatible = "arm,versatile-tft-panel", },
368 .name = "versatile-tft-panel",
375 MODULE_DESCRIPTION("ARM Versatile panel driver");