Lines Matching +full:n125hce +full:- +full:gn1
17 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
46 * struct panel_delay - Describes delays for a simple panel.
59 * hpd_absent. While that works, it's non-ideal.
68 * This is T3-max on eDP timing diagrams or the delay from power on
79 * This is (T3+T4+T5+T6+T8)-min on eDP timing diagrams or after the
116 * This is usually (T4+T5+T6+T8)-min on eDP timing diagrams.
129 * This is (T6-min + max(T7-max, T8-min)) on eDP timing diagrams or
141 * This is T9-min (delay from backlight off to end of valid video
157 * This is T12-min on eDP timing diagrams.
163 * struct panel_desc - Describes a simple panel.
210 * struct edp_panel_entry - Maps panel ID to delay / panel name.
260 for (i = 0; i < panel->desc->num_timings; i++) {
261 const struct display_timing *dt = &panel->desc->timings[i];
265 mode = drm_mode_create(connector->dev);
267 dev_err(panel->base.dev, "failed to add mode %ux%u\n",
268 dt->hactive.typ, dt->vactive.typ);
274 mode->type |= DRM_MODE_TYPE_DRIVER;
276 if (panel->desc->num_timings == 1)
277 mode->type |= DRM_MODE_TYPE_PREFERRED;
292 for (i = 0; i < panel->desc->num_modes; i++) {
293 const struct drm_display_mode *m = &panel->desc->modes[i];
295 mode = drm_mode_duplicate(connector->dev, m);
297 dev_err(panel->base.dev, "failed to add mode %ux%u@%u\n",
298 m->hdisplay, m->vdisplay,
303 mode->type |= DRM_MODE_TYPE_DRIVER;
305 if (panel->desc->num_modes == 1)
306 mode->type |= DRM_MODE_TYPE_PREFERRED;
323 mode = drm_mode_duplicate(connector->dev, override_mode);
325 dev_err(panel->base.dev, "failed to add additional mode\n");
329 mode->type |= DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
339 bool has_override = panel->override_mode.type;
342 if (!panel->desc)
346 mode = drm_mode_duplicate(connector->dev,
347 &panel->override_mode);
352 dev_err(panel->base.dev, "failed to add override mode\n");
357 if (num == 0 && panel->desc->num_timings)
366 WARN_ON(panel->desc->num_timings && panel->desc->num_modes);
370 connector->display_info.bpc = panel->desc->bpc;
371 connector->display_info.width_mm = panel->desc->size.width;
372 connector->display_info.height_mm = panel->desc->size.height;
395 if (p->desc->delay.disable)
396 msleep(p->desc->delay.disable);
405 drm_dp_dpcd_set_powered(p->aux, false);
406 gpiod_set_value_cansleep(p->enable_gpio, 0);
407 regulator_disable(p->supply);
408 p->unprepared_time = ktime_get_boottime();
417 ret = pm_runtime_put_sync_suspend(panel->dev);
426 p->hpd_gpio = devm_gpiod_get_optional(dev, "hpd", GPIOD_IN);
427 if (IS_ERR(p->hpd_gpio))
428 return dev_err_probe(dev, PTR_ERR(p->hpd_gpio),
436 return !p->no_hpd && (p->hpd_gpio || (p->aux && p->aux->wait_hpd_asserted));
441 struct device *dev = p->base.dev;
447 panel_edp_wait(p->unprepared_time, p->desc->delay.unprepare);
449 err = regulator_enable(p->supply);
455 gpiod_set_value_cansleep(p->enable_gpio, 1);
456 drm_dp_dpcd_set_powered(p->aux, true);
458 p->powered_on_time = ktime_get_boottime();
460 delay = p->desc->delay.hpd_reliable;
461 if (p->no_hpd)
462 delay = max(delay, p->desc->delay.hpd_absent);
467 if (p->desc->delay.hpd_absent)
468 hpd_wait_us = p->desc->delay.hpd_absent * 1000UL;
472 if (p->hpd_gpio) {
474 p->hpd_gpio, hpd_asserted,
479 err = p->aux->wait_hpd_asserted(p->aux, hpd_wait_us);
483 if (err != -ETIMEDOUT)
490 p->prepared_time = ktime_get_boottime();
495 drm_dp_dpcd_set_powered(p->aux, false);
496 gpiod_set_value_cansleep(p->enable_gpio, 0);
497 regulator_disable(p->supply);
498 p->unprepared_time = ktime_get_boottime();
517 if (ret != -ETIMEDOUT)
521 if (ret == -ETIMEDOUT)
533 ret = pm_runtime_get_sync(panel->dev);
535 pm_runtime_put_autosuspend(panel->dev);
547 delay = p->desc->delay.enable;
557 * called (and link training took zero time). Note that "no-hpd"
566 if (p->desc->delay.prepare_to_enable &&
567 !panel_edp_can_read_hpd(p) && !p->no_hpd)
568 delay = max(delay, p->desc->delay.prepare_to_enable);
573 panel_edp_wait(p->prepared_time, p->desc->delay.prepare_to_enable);
575 panel_edp_wait(p->powered_on_time, p->desc->delay.powered_on_to_enable);
585 bool has_hard_coded_modes = p->desc->num_timings || p->desc->num_modes;
586 bool has_override_edid_mode = p->detected_panel &&
587 p->detected_panel != ERR_PTR(-EINVAL) &&
588 p->detected_panel->override_edid_mode;
591 if (p->ddc) {
592 pm_runtime_get_sync(panel->dev);
594 if (!p->drm_edid)
595 p->drm_edid = drm_edid_read_ddc(connector, p->ddc);
597 drm_edid_connector_update(connector, p->drm_edid);
600 * If both edid and hard-coded modes exists, skip edid modes to
603 if (p->drm_edid && !has_hard_coded_modes) {
610 p->detected_panel->override_edid_mode);
616 pm_runtime_mark_last_busy(panel->dev);
617 pm_runtime_put_autosuspend(panel->dev);
623 dev_warn(p->base.dev, "No display modes\n");
629 drm_connector_set_panel_orientation(connector, p->orientation);
641 if (p->desc->num_timings < num_timings)
642 num_timings = p->desc->num_timings;
646 timings[i] = p->desc->timings[i];
648 return p->desc->num_timings;
655 return p->orientation;
660 struct drm_panel *panel = s->private;
663 if (IS_ERR(p->detected_panel))
665 else if (!p->detected_panel)
668 seq_printf(s, "%s\n", p->detected_panel->ident.name);
692 (to_check->field.typ >= bounds->field.min && \
693 to_check->field.typ <= bounds->field.max)
698 const struct panel_desc *desc = panel->desc;
702 if (WARN_ON(desc->num_modes)) {
706 if (WARN_ON(!desc->num_timings)) {
711 for (i = 0; i < panel->desc->num_timings; i++) {
712 const struct display_timing *dt = &panel->desc->timings[i];
724 if (ot->flags != dt->flags)
728 drm_display_mode_from_videomode(&vm, &panel->override_mode);
729 panel->override_mode.type |= DRM_MODE_TYPE_DRIVER |
734 if (WARN_ON(!panel->override_mode.type))
753 desc->delay.unprepare = 2000;
754 desc->delay.enable = 200;
756 panel->detected_panel = ERR_PTR(-EINVAL);
772 return -ENOMEM;
773 panel->desc = desc;
780 of_property_read_u32(dev->of_node, "hpd-reliable-delay-ms", &reliable_ms);
781 desc->delay.hpd_reliable = reliable_ms;
782 of_property_read_u32(dev->of_node, "hpd-absent-delay-ms", &absent_ms);
783 desc->delay.hpd_absent = absent_ms;
795 base_block = drm_edid_read_base_block(panel->ddc);
805 panel->detected_panel = find_edp_panel(panel_id, base_block);
810 * We're using non-optimized timings and want it really obvious that
814 if (WARN_ON(!panel->detected_panel)) {
821 vend, panel->detected_panel->ident.name, product_id);
824 desc->delay = *panel->detected_panel->delay;
847 panel->prepared_time = 0;
848 panel->desc = desc;
849 panel->aux = aux;
851 panel->no_hpd = of_property_read_bool(dev->of_node, "no-hpd");
852 if (!panel->no_hpd) {
858 panel->supply = devm_regulator_get(dev, "power");
859 if (IS_ERR(panel->supply))
860 return PTR_ERR(panel->supply);
862 panel->enable_gpio = devm_gpiod_get_optional(dev, "enable",
864 if (IS_ERR(panel->enable_gpio))
865 return dev_err_probe(dev, PTR_ERR(panel->enable_gpio),
868 err = of_drm_get_panel_orientation(dev->of_node, &panel->orientation);
870 dev_err(dev, "%pOF: failed to get orientation %d\n", dev->of_node, err);
874 ddc = of_parse_phandle(dev->of_node, "ddc-i2c-bus", 0);
876 panel->ddc = of_find_i2c_adapter_by_node(ddc);
879 if (!panel->ddc)
880 return -EPROBE_DEFER;
882 panel->ddc = &aux->ddc;
885 if (!of_get_display_timing(dev->of_node, "panel-timing", &dt))
890 err = drm_panel_of_backlight(&panel->base);
904 if (of_device_is_compatible(dev->of_node, "edp-panel")) {
912 desc = panel->desc;
913 } else if (desc->bpc != 6 && desc->bpc != 8 && desc->bpc != 10) {
914 dev_warn(dev, "Expected bpc in {6,8,10} but got: %u\n", desc->bpc);
917 if (!panel->base.backlight && panel->aux) {
919 err = drm_panel_dp_aux_backlight(&panel->base, panel->aux);
932 drm_panel_add(&panel->base);
940 if (panel->ddc && (!panel->aux || panel->ddc != &panel->aux->ddc))
941 put_device(&panel->ddc->dev);
956 * different DRM modeset drivers used with panel-edp. Once we've
970 if (panel->base.enabled)
971 drm_panel_disable(&panel->base);
972 if (panel->base.prepared)
973 drm_panel_unprepare(&panel->base);
980 drm_panel_remove(&panel->base);
985 if (panel->ddc && (!panel->aux || panel->ddc != &panel->aux->ddc))
986 put_device(&panel->ddc->dev);
988 drm_edid_free(panel->drm_edid);
989 panel->drm_edid = NULL;
1138 /* TODO: should be hpd-absent and no-hpd should be set? */
1218 * - If HPD isn't hooked up you still have 200 ms delay.
1219 * - If HPD is hooked up we won't try to look at it for the
1252 /* TODO: should be hpd-absent and no-hpd should be set? */
1290 * - total horizontal time: { 1506, 1592, 1716 }
1291 * - total vertical time: { 788, 800, 868 }
1621 .compatible = "edp-panel",
1625 * the generic edp-panel compatible.
1628 * - Because of the panel issues (e.g. broken EDID or broken
1630 * - Because the eDP drivers didn't wire up the AUX bus properly.
1635 * In all other cases the platform should use the aux-bus and declare
1636 * the panel using the 'edp-panel' compatible as a device on the AUX
1655 .compatible = "boe,nv110wtm-n61",
1658 .compatible = "boe,nv133fhm-n61",
1661 .compatible = "boe,nv133fhm-n62",
1667 .compatible = "innolux,n116bca-ea1",
1673 .compatible = "innolux,n125hce-gn1",
1676 .compatible = "innolux,p120zdg-bf1",
1679 .compatible = "kingdisplay,kd116n21-30nv-a010",
1682 .compatible = "lg,lp079qx1-sp0v",
1685 .compatible = "lg,lp097qx1-spa1",
1697 .compatible = "samsung,lsn122dl01-c01",
1700 .compatible = "samsung,ltn140at29-301",
1703 .compatible = "sharp,ld-d5116z01b",
1893 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0608, &delay_200_500_e50, "NT116WHM-N11"),
1894 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0609, &delay_200_500_e50_po2e200, "NT116WHM-N21 V4.1"),
1895 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0623, &delay_200_500_e200, "NT116WHM-N21 V4.0"),
1900 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0715, &delay_200_150_e200, "NT116WHM-N21"),
1901 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0717, &delay_200_500_e50_po2e200, "NV133FHM-N42"),
1902 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0731, &delay_200_500_e80, "NT116WHM-N42"),
1903 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0741, &delay_200_500_e200, "NT116WHM-N44"),
1907 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0754, &delay_200_500_e50_po2e200, "NV116WHM-N45"),
1909 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0786, &delay_200_500_p2e80, "NV116WHM-T01"),
1911 EDP_PANEL_ENTRY('B', 'O', 'E', 0x07a8, &delay_200_500_e50_po2e200, "NT116WHM-N21"),
1912 EDP_PANEL_ENTRY('B', 'O', 'E', 0x07d1, &boe_nv133fhm_n61.delay, "NV133FHM-N61"),
1914 EDP_PANEL_ENTRY('B', 'O', 'E', 0x07f6, &delay_200_500_e200, "NT140FHM-N44"),
1917 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0827, &delay_200_500_e50_p2e80, "NT140WHM-N44 V8.0"),
1918 EDP_PANEL_ENTRY('B', 'O', 'E', 0x082d, &boe_nv133fhm_n61.delay, "NV133FHM-N62"),
1920 EDP_PANEL_ENTRY('B', 'O', 'E', 0x08b2, &delay_200_500_e200, "NT140WHM-N49"),
1923 EDP_PANEL_ENTRY('B', 'O', 'E', 0x09c3, &delay_200_500_e50, "NT116WHM-N21,836X2"),
1924 EDP_PANEL_ENTRY('B', 'O', 'E', 0x094b, &delay_200_500_e50, "NT116WHM-N21"),
1925 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0951, &delay_200_500_e80, "NV116WHM-N47"),
1926 EDP_PANEL_ENTRY('B', 'O', 'E', 0x095f, &delay_200_500_e50, "NE135FBM-N41 v8.1"),
1927 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0964, &delay_200_500_e50, "NV133WUM-N61"),
1928 EDP_PANEL_ENTRY('B', 'O', 'E', 0x096e, &delay_200_500_e50_po2e200, "NV116WHM-T07 V8.0"),
1929 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0979, &delay_200_500_e50, "NV116WHM-N49 V8.0"),
1930 EDP_PANEL_ENTRY('B', 'O', 'E', 0x098d, &boe_nv110wtm_n61.delay, "NV110WTM-N61"),
1931 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0993, &delay_200_500_e80, "NV116WHM-T14 V8.0"),
1932 EDP_PANEL_ENTRY('B', 'O', 'E', 0x09ad, &delay_200_500_e80, "NV116WHM-N47"),
1933 EDP_PANEL_ENTRY('B', 'O', 'E', 0x09ae, &delay_200_500_e200, "NT140FHM-N45"),
1934 EDP_PANEL_ENTRY('B', 'O', 'E', 0x09dd, &delay_200_500_e50, "NT116WHM-N21"),
1935 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0a1b, &delay_200_500_e50, "NV133WUM-N63"),
1937 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0a3e, &delay_200_500_e80, "NV116WHM-N49"),
1938 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0a5d, &delay_200_500_e50, "NV116WHM-N45"),
1939 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ac5, &delay_200_500_e50, "NV116WHM-N4C"),
1940 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ae8, &delay_200_500_e50_p2e80, "NV140WUM-N41"),
1941 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b09, &delay_200_500_e50_po2e200, "NV140FHM-NZ"),
1942 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b1e, &delay_200_500_e80, "NE140QDM-N6A"),
1943 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b34, &delay_200_500_e80, "NV122WUM-N41"),
1944 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b43, &delay_200_500_e200, "NV140FHM-T09"),
1945 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b56, &delay_200_500_e80, "NT140FHM-N47"),
1946 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b66, &delay_200_500_e80, "NE140WUM-N6G"),
1947 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0c20, &delay_200_500_e80, "NT140FHM-N47"),
1949 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0cb6, &delay_200_500_e200, "NT116WHM-N44"),
1950 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0cfa, &delay_200_500_e50, "NV116WHM-A4D"),
1951 EDP_PANEL_ENTRY('B', 'O', 'E', 0x0d73, &delay_200_500_e80, "NE140WUM-N6S"),
1953 EDP_PANEL_ENTRY('C', 'M', 'N', 0x1130, &delay_200_500_e50, "N116BGE-EB2"),
1954 EDP_PANEL_ENTRY('C', 'M', 'N', 0x1132, &delay_200_500_e80_d50, "N116BGE-EA2"),
1955 EDP_PANEL_ENTRY('C', 'M', 'N', 0x1138, &innolux_n116bca_ea1.delay, "N116BCA-EA1-RC4"),
1956 EDP_PANEL_ENTRY('C', 'M', 'N', 0x1139, &delay_200_500_e80_d50, "N116BGE-EA2"),
1958 EDP_PANEL_ENTRY('C', 'M', 'N', 0x1145, &delay_200_500_e80_d50, "N116BCN-EB1"),
1960 EDP_PANEL_ENTRY('C', 'M', 'N', 0x114c, &innolux_n116bca_ea1.delay, "N116BCA-EA1"),
1961 EDP_PANEL_ENTRY('C', 'M', 'N', 0x1152, &delay_200_500_e80_d50, "N116BCN-EA1"),
1962 EDP_PANEL_ENTRY('C', 'M', 'N', 0x1153, &delay_200_500_e80_d50, "N116BGE-EA2"),
1963 EDP_PANEL_ENTRY('C', 'M', 'N', 0x1154, &delay_200_500_e80_d50, "N116BCA-EA2"),
1965 EDP_PANEL_ENTRY('C', 'M', 'N', 0x1157, &delay_200_500_e80_d50, "N116BGE-EA2"),
1966 EDP_PANEL_ENTRY('C', 'M', 'N', 0x115b, &delay_200_500_e80_d50, "N116BCN-EB1"),
1967 EDP_PANEL_ENTRY('C', 'M', 'N', 0x115d, &delay_200_500_e80_d50, "N116BCA-EA2"),
1968 EDP_PANEL_ENTRY('C', 'M', 'N', 0x115e, &delay_200_500_e80_d50, "N116BCA-EA1"),
1969 EDP_PANEL_ENTRY('C', 'M', 'N', 0x1160, &delay_200_500_e80_d50, "N116BCJ-EAK"),
1970 EDP_PANEL_ENTRY('C', 'M', 'N', 0x1161, &delay_200_500_e80, "N116BCP-EA2"),
1971 EDP_PANEL_ENTRY('C', 'M', 'N', 0x1163, &delay_200_500_e80_d50, "N116BCJ-EAK"),
1972 EDP_PANEL_ENTRY('C', 'M', 'N', 0x1247, &delay_200_500_e80_d50, "N120ACA-EA1"),
1973 EDP_PANEL_ENTRY('C', 'M', 'N', 0x142b, &delay_200_500_e80_d50, "N140HCA-EAC"),
1974 EDP_PANEL_ENTRY('C', 'M', 'N', 0x142e, &delay_200_500_e80_d50, "N140BGA-EA4"),
1975 EDP_PANEL_ENTRY('C', 'M', 'N', 0x144f, &delay_200_500_e80_d50, "N140HGA-EA1"),
1976 EDP_PANEL_ENTRY('C', 'M', 'N', 0x1468, &delay_200_500_e80, "N140HGA-EA1"),
1977 EDP_PANEL_ENTRY('C', 'M', 'N', 0x14d4, &delay_200_500_e80_d50, "N140HCA-EAC"),
1978 EDP_PANEL_ENTRY('C', 'M', 'N', 0x14d6, &delay_200_500_e80_d50, "N140BGA-EA4"),
1979 EDP_PANEL_ENTRY('C', 'M', 'N', 0x14e5, &delay_200_500_e80_d50, "N140HGA-EA1"),
1980 EDP_PANEL_ENTRY('C', 'M', 'N', 0x162b, &delay_200_500_e80_d50, "N160JCE-ELL"),
1982 EDP_PANEL_ENTRY('C', 'S', 'O', 0x1200, &delay_200_500_e50_p2e200, "MNC207QS1-1"),
1983 EDP_PANEL_ENTRY('C', 'S', 'O', 0x1413, &delay_200_500_e50_p2e200, "MNE007JA1-2"),
1985 EDP_PANEL_ENTRY('C', 'S', 'W', 0x1100, &delay_200_500_e80_d50, "MNB601LS1-1"),
1986 EDP_PANEL_ENTRY('C', 'S', 'W', 0x1103, &delay_200_500_e80_d50, "MNB601LS1-3"),
1987 EDP_PANEL_ENTRY('C', 'S', 'W', 0x1104, &delay_200_500_e50, "MNB601LS1-4"),
1988 EDP_PANEL_ENTRY('C', 'S', 'W', 0x1448, &delay_200_500_e50, "MNE007QS3-7"),
1989 EDP_PANEL_ENTRY('C', 'S', 'W', 0x1457, &delay_80_500_e80_p2e200, "MNE007QS3-8"),
1991 EDP_PANEL_ENTRY('E', 'T', 'C', 0x0000, &delay_50_500_e200_d200_po2e335, "LP079QX1-SP0V"),
1995 EDP_PANEL_ENTRY('H', 'K', 'C', 0x2d5c, &delay_200_500_e200, "MB116AN01-2"),
2000 EDP_PANEL_ENTRY('I', 'V', 'O', 0x854b, &delay_200_500_p2e100, "R133NW4K-R0"),
2004 EDP_PANEL_ENTRY('K', 'D', 'B', 0x0624, &kingdisplay_kd116n21_30nv_a010.delay, "116N21-30NV-A010"),
2005 EDP_PANEL_ENTRY('K', 'D', 'B', 0x1118, &delay_200_500_e50, "KD116N29-30NK-A005"),
2006 EDP_PANEL_ENTRY('K', 'D', 'B', 0x1120, &delay_200_500_e80_d50, "116N29-30NK-C007"),
2010 EDP_PANEL_ENTRY('K', 'D', 'C', 0x044f, &delay_200_500_e50, "KD116N9-30NH-F3"),
2011 EDP_PANEL_ENTRY('K', 'D', 'C', 0x05f1, &delay_200_500_e80_d50, "KD116N5-30NV-G7"),
2017 EDP_PANEL_ENTRY('L', 'G', 'D', 0x0497, &delay_200_500_e200_d200, "LP116WH7-SPB1"),
2018 EDP_PANEL_ENTRY('L', 'G', 'D', 0x052c, &delay_200_500_e200_d200, "LP133WF2-SPL7"),
2020 EDP_PANEL_ENTRY('L', 'G', 'D', 0x054a, &delay_200_500_e200_d200, "LP116WH8-SPC1"),
2034 EDP_PANEL_ENTRY('S', 'T', 'A', 0x0100, &delay_100_500_e200, "2081116HHD028001-51D"),
2052 for (panel = edp_panels; panel->ident.panel_id; panel++)
2053 if (drm_edid_match(edid, &panel->ident))
2056 for (panel = edp_panels; panel->ident.panel_id; panel++)
2057 if (panel->ident.panel_id == panel_id)
2067 /* Skip one since "edp-panel" is only supported on DP AUX bus */
2068 id = of_match_node(platform_of_match + 1, pdev->dev.of_node);
2070 return -ENODEV;
2072 return panel_edp_probe(&pdev->dev, id->data, NULL);
2077 panel_edp_remove(&pdev->dev);
2082 panel_edp_shutdown(&pdev->dev);
2093 .name = "panel-edp",
2106 id = of_match_node(platform_of_match, aux_ep->dev.of_node);
2108 return -ENODEV;
2110 return panel_edp_probe(&aux_ep->dev, id->data, aux_ep->aux);
2115 panel_edp_remove(&aux_ep->dev);
2120 panel_edp_shutdown(&aux_ep->dev);
2125 .name = "panel-simple-dp-aux",