Lines Matching +full:3 +full:- +full:inch
1 // SPDX-License-Identifier: GPL-2.0
14 * - The IB1 is a passive board where the display connector defines a
19 * - The IB2 is a more complex board intended for GSM phone development
66 * struct versatile_panel_type - lookup struct for the supported panels
100 * struct versatile_panel - state container for the Versatile panels
127 * Sanyo TM38QV67A02A - 3.8 inch QVGA (320x240) Color TFT
173 * Epson L2F50113T00 - 2.2 inch QCIF 176x220 Color TFT
185 .hsync_end = 176 + 2 + 3,
186 .htotal = 176 + 2 + 3 + 3,
232 if (vpanel->ib2_map) { in versatile_panel_disable()
233 dev_dbg(vpanel->dev, "disable IB2 display\n"); in versatile_panel_disable()
234 regmap_update_bits(vpanel->ib2_map, in versatile_panel_disable()
248 if (vpanel->ib2_map) { in versatile_panel_enable()
249 dev_dbg(vpanel->dev, "enable IB2 display\n"); in versatile_panel_enable()
250 regmap_update_bits(vpanel->ib2_map, in versatile_panel_enable()
265 connector->display_info.width_mm = vpanel->panel_type->width_mm; in versatile_panel_get_modes()
266 connector->display_info.height_mm = vpanel->panel_type->height_mm; in versatile_panel_get_modes()
267 connector->display_info.bus_flags = vpanel->panel_type->bus_flags; in versatile_panel_get_modes()
269 mode = drm_mode_duplicate(connector->dev, &vpanel->panel_type->mode); in versatile_panel_get_modes()
271 return -ENOMEM; in versatile_panel_get_modes()
273 mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED; in versatile_panel_get_modes()
275 mode->width_mm = vpanel->panel_type->width_mm; in versatile_panel_get_modes()
276 mode->height_mm = vpanel->panel_type->height_mm; in versatile_panel_get_modes()
290 struct device *dev = &pdev->dev; in versatile_panel_probe()
298 parent = dev->parent; in versatile_panel_probe()
301 return -ENODEV; in versatile_panel_probe()
303 map = syscon_node_to_regmap(parent->of_node); in versatile_panel_probe()
311 return -ENOMEM; in versatile_panel_probe()
325 if (pt->magic == val) { in versatile_panel_probe()
326 vpanel->panel_type = pt; in versatile_panel_probe()
334 return -ENODEV; in versatile_panel_probe()
337 dev_info(dev, "detected: %s\n", vpanel->panel_type->name); in versatile_panel_probe()
338 vpanel->dev = dev; in versatile_panel_probe()
339 vpanel->map = map; in versatile_panel_probe()
342 if (vpanel->panel_type->ib2) { in versatile_panel_probe()
343 vpanel->ib2_map = syscon_regmap_lookup_by_compatible( in versatile_panel_probe()
344 "arm,versatile-ib2-syscon"); in versatile_panel_probe()
345 if (IS_ERR(vpanel->ib2_map)) in versatile_panel_probe()
346 vpanel->ib2_map = NULL; in versatile_panel_probe()
351 drm_panel_init(&vpanel->panel, dev, &versatile_panel_drm_funcs, in versatile_panel_probe()
354 drm_panel_add(&vpanel->panel); in versatile_panel_probe()
360 { .compatible = "arm,versatile-tft-panel", },
368 .name = "versatile-tft-panel",