• Home
  • Raw
  • Download

Lines Matching +full:netron +full:- +full:dy

17  * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
99 struct drm_connector *connector = panel->base.connector; in panel_simple_get_fixed_modes()
100 struct drm_device *drm = panel->base.drm; in panel_simple_get_fixed_modes()
104 if (!panel->desc) in panel_simple_get_fixed_modes()
107 for (i = 0; i < panel->desc->num_timings; i++) { in panel_simple_get_fixed_modes()
108 const struct display_timing *dt = &panel->desc->timings[i]; in panel_simple_get_fixed_modes()
114 dev_err(drm->dev, "failed to add mode %ux%u\n", in panel_simple_get_fixed_modes()
115 dt->hactive.typ, dt->vactive.typ); in panel_simple_get_fixed_modes()
121 mode->type |= DRM_MODE_TYPE_DRIVER; in panel_simple_get_fixed_modes()
123 if (panel->desc->num_timings == 1) in panel_simple_get_fixed_modes()
124 mode->type |= DRM_MODE_TYPE_PREFERRED; in panel_simple_get_fixed_modes()
130 for (i = 0; i < panel->desc->num_modes; i++) { in panel_simple_get_fixed_modes()
131 const struct drm_display_mode *m = &panel->desc->modes[i]; in panel_simple_get_fixed_modes()
135 dev_err(drm->dev, "failed to add mode %ux%u@%u\n", in panel_simple_get_fixed_modes()
136 m->hdisplay, m->vdisplay, m->vrefresh); in panel_simple_get_fixed_modes()
140 mode->type |= DRM_MODE_TYPE_DRIVER; in panel_simple_get_fixed_modes()
142 if (panel->desc->num_modes == 1) in panel_simple_get_fixed_modes()
143 mode->type |= DRM_MODE_TYPE_PREFERRED; in panel_simple_get_fixed_modes()
151 connector->display_info.bpc = panel->desc->bpc; in panel_simple_get_fixed_modes()
152 connector->display_info.width_mm = panel->desc->size.width; in panel_simple_get_fixed_modes()
153 connector->display_info.height_mm = panel->desc->size.height; in panel_simple_get_fixed_modes()
154 if (panel->desc->bus_format) in panel_simple_get_fixed_modes()
155 drm_display_info_set_bus_formats(&connector->display_info, in panel_simple_get_fixed_modes()
156 &panel->desc->bus_format, 1); in panel_simple_get_fixed_modes()
157 connector->display_info.bus_flags = panel->desc->bus_flags; in panel_simple_get_fixed_modes()
166 if (!p->enabled) in panel_simple_disable()
169 if (p->backlight) { in panel_simple_disable()
170 p->backlight->props.power = FB_BLANK_POWERDOWN; in panel_simple_disable()
171 p->backlight->props.state |= BL_CORE_FBBLANK; in panel_simple_disable()
172 backlight_update_status(p->backlight); in panel_simple_disable()
175 if (p->desc->delay.disable) in panel_simple_disable()
176 msleep(p->desc->delay.disable); in panel_simple_disable()
178 p->enabled = false; in panel_simple_disable()
187 if (!p->prepared) in panel_simple_unprepare()
190 gpiod_set_value_cansleep(p->enable_gpio, 0); in panel_simple_unprepare()
192 regulator_disable(p->supply); in panel_simple_unprepare()
194 if (p->desc->delay.unprepare) in panel_simple_unprepare()
195 msleep(p->desc->delay.unprepare); in panel_simple_unprepare()
197 p->prepared = false; in panel_simple_unprepare()
207 if (p->prepared) in panel_simple_prepare()
210 err = regulator_enable(p->supply); in panel_simple_prepare()
212 dev_err(panel->dev, "failed to enable supply: %d\n", err); in panel_simple_prepare()
216 gpiod_set_value_cansleep(p->enable_gpio, 1); in panel_simple_prepare()
218 if (p->desc->delay.prepare) in panel_simple_prepare()
219 msleep(p->desc->delay.prepare); in panel_simple_prepare()
221 p->prepared = true; in panel_simple_prepare()
230 if (p->enabled) in panel_simple_enable()
233 if (p->desc->delay.enable) in panel_simple_enable()
234 msleep(p->desc->delay.enable); in panel_simple_enable()
236 if (p->backlight) { in panel_simple_enable()
237 p->backlight->props.state &= ~BL_CORE_FBBLANK; in panel_simple_enable()
238 p->backlight->props.power = FB_BLANK_UNBLANK; in panel_simple_enable()
239 backlight_update_status(p->backlight); in panel_simple_enable()
242 p->enabled = true; in panel_simple_enable()
253 if (p->ddc) { in panel_simple_get_modes()
254 struct edid *edid = drm_get_edid(panel->connector, p->ddc); in panel_simple_get_modes()
255 drm_connector_update_edid_property(panel->connector, edid); in panel_simple_get_modes()
257 num += drm_add_edid_modes(panel->connector, edid); in panel_simple_get_modes()
262 /* add hard-coded panel modes */ in panel_simple_get_modes()
275 if (p->desc->num_timings < num_timings) in panel_simple_get_timings()
276 num_timings = p->desc->num_timings; in panel_simple_get_timings()
280 timings[i] = p->desc->timings[i]; in panel_simple_get_timings()
282 return p->desc->num_timings; in panel_simple_get_timings()
302 return -ENOMEM; in panel_simple_probe()
304 panel->enabled = false; in panel_simple_probe()
305 panel->prepared = false; in panel_simple_probe()
306 panel->desc = desc; in panel_simple_probe()
308 panel->supply = devm_regulator_get(dev, "power"); in panel_simple_probe()
309 if (IS_ERR(panel->supply)) in panel_simple_probe()
310 return PTR_ERR(panel->supply); in panel_simple_probe()
312 panel->enable_gpio = devm_gpiod_get_optional(dev, "enable", in panel_simple_probe()
314 if (IS_ERR(panel->enable_gpio)) { in panel_simple_probe()
315 err = PTR_ERR(panel->enable_gpio); in panel_simple_probe()
316 if (err != -EPROBE_DEFER) in panel_simple_probe()
321 backlight = of_parse_phandle(dev->of_node, "backlight", 0); in panel_simple_probe()
323 panel->backlight = of_find_backlight_by_node(backlight); in panel_simple_probe()
326 if (!panel->backlight) in panel_simple_probe()
327 return -EPROBE_DEFER; in panel_simple_probe()
330 ddc = of_parse_phandle(dev->of_node, "ddc-i2c-bus", 0); in panel_simple_probe()
332 panel->ddc = of_find_i2c_adapter_by_node(ddc); in panel_simple_probe()
335 if (!panel->ddc) { in panel_simple_probe()
336 err = -EPROBE_DEFER; in panel_simple_probe()
341 drm_panel_init(&panel->base); in panel_simple_probe()
342 panel->base.dev = dev; in panel_simple_probe()
343 panel->base.funcs = &panel_simple_funcs; in panel_simple_probe()
345 err = drm_panel_add(&panel->base); in panel_simple_probe()
354 if (panel->ddc) in panel_simple_probe()
355 put_device(&panel->ddc->dev); in panel_simple_probe()
357 if (panel->backlight) in panel_simple_probe()
358 put_device(&panel->backlight->dev); in panel_simple_probe()
367 drm_panel_remove(&panel->base); in panel_simple_remove()
369 panel_simple_disable(&panel->base); in panel_simple_remove()
370 panel_simple_unprepare(&panel->base); in panel_simple_remove()
372 if (panel->ddc) in panel_simple_remove()
373 put_device(&panel->ddc->dev); in panel_simple_remove()
375 if (panel->backlight) in panel_simple_remove()
376 put_device(&panel->backlight->dev); in panel_simple_remove()
385 panel_simple_disable(&panel->base); in panel_simple_shutdown()
386 panel_simple_unprepare(&panel->base); in panel_simple_shutdown()
1863 * https://www.adafruit.com/images/product-files/2406/c3163.pdf
2295 .hback_porch = { 216 - 128, 216 - 128, 216 - 128 },
2299 .vback_porch = { 35 - 2, 35 - 2, 35 - 2 },
2354 .compatible = "ampire,am-480272h3tmqw-t01h",
2360 .compatible = "armadeus,st0700-adapt",
2402 .compatible = "boe,hv070wsa-100",
2420 .compatible = "dlc,dlc0700yzg-1",
2438 .compatible = "foxlink,fl500wvr00-a0t",
2459 .compatible = "innolux,g070y2-l01",
2462 .compatible = "innolux,g101ice-l01",
2465 .compatible = "innolux,g121i1-l01",
2468 .compatible = "innolux,g121x1-l03",
2474 .compatible = "innolux,n156bge-l21",
2480 .compatible = "innolux,zj070na-01p",
2492 .compatible = "lg,lp079qx1-sp0v",
2495 .compatible = "lg,lp097qx1-spa1",
2504 .compatible = "mitsubishi,aa070mc01-ca1",
2507 .compatible = "nec,nl12880bc20-05",
2510 .compatible = "nec,nl4827hc19-05b",
2513 .compatible = "netron-dy,e231732",
2516 .compatible = "newhaven,nhd-4.3-480272ef-atxl",
2519 .compatible = "nlt,nl192108ac18-02d",
2525 .compatible = "okaya,rs800480t-7x0gp",
2528 .compatible = "olimex,lcd-olinuxino-43-ts",
2537 .compatible = "qiaodian,qd43003c0-40",
2543 .compatible = "samsung,lsn122dl01-c01",
2549 .compatible = "samsung,ltn140at29-301",
2564 .compatible = "shelly,sca07010-bfn-lnn",
2579 .compatible = "tpk,f07a-0102",
2582 .compatible = "tpk,f10a-0102",
2585 .compatible = "urt,umsh-8596md-t",
2588 .compatible = "urt,umsh-8596md-1t",
2591 .compatible = "urt,umsh-8596md-7t",
2594 .compatible = "urt,umsh-8596md-11t",
2597 .compatible = "urt,umsh-8596md-19t",
2600 .compatible = "urt,umsh-8596md-20t",
2615 id = of_match_node(platform_of_match, pdev->dev.of_node); in panel_simple_platform_probe()
2617 return -ENODEV; in panel_simple_platform_probe()
2619 return panel_simple_probe(&pdev->dev, id->data); in panel_simple_platform_probe()
2624 return panel_simple_remove(&pdev->dev); in panel_simple_platform_remove()
2629 panel_simple_shutdown(&pdev->dev); in panel_simple_platform_shutdown()
2634 .name = "panel-simple",
2798 .compatible = "boe,tv080wum-nl0",
2801 .compatible = "lg,ld070wx3-sl01",
2804 .compatible = "lg,lh500wx1-sd03",
2821 id = of_match_node(dsi_of_match, dsi->dev.of_node); in panel_simple_dsi_probe()
2823 return -ENODEV; in panel_simple_dsi_probe()
2825 desc = id->data; in panel_simple_dsi_probe()
2827 err = panel_simple_probe(&dsi->dev, &desc->desc); in panel_simple_dsi_probe()
2831 dsi->mode_flags = desc->flags; in panel_simple_dsi_probe()
2832 dsi->format = desc->format; in panel_simple_dsi_probe()
2833 dsi->lanes = desc->lanes; in panel_simple_dsi_probe()
2837 struct panel_simple *panel = dev_get_drvdata(&dsi->dev); in panel_simple_dsi_probe()
2839 drm_panel_remove(&panel->base); in panel_simple_dsi_probe()
2851 dev_err(&dsi->dev, "failed to detach from DSI host: %d\n", err); in panel_simple_dsi_remove()
2853 return panel_simple_remove(&dsi->dev); in panel_simple_dsi_remove()
2858 panel_simple_shutdown(&dsi->dev); in panel_simple_dsi_shutdown()
2863 .name = "panel-simple-dsi",