Lines Matching +full:data +full:- +full:width
17 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
66 * @width: width (in millimeters) of the panel's active display area
70 unsigned int width; member
76 * become ready and start receiving video data
81 * video data
130 for (i = 0; i < panel->desc->num_timings; i++) { in panel_simple_get_timings_modes()
131 const struct display_timing *dt = &panel->desc->timings[i]; in panel_simple_get_timings_modes()
135 mode = drm_mode_create(connector->dev); in panel_simple_get_timings_modes()
137 dev_err(panel->base.dev, "failed to add mode %ux%u\n", in panel_simple_get_timings_modes()
138 dt->hactive.typ, dt->vactive.typ); in panel_simple_get_timings_modes()
144 mode->type |= DRM_MODE_TYPE_DRIVER; in panel_simple_get_timings_modes()
146 if (panel->desc->num_timings == 1) in panel_simple_get_timings_modes()
147 mode->type |= DRM_MODE_TYPE_PREFERRED; in panel_simple_get_timings_modes()
162 for (i = 0; i < panel->desc->num_modes; i++) { in panel_simple_get_display_modes()
163 const struct drm_display_mode *m = &panel->desc->modes[i]; in panel_simple_get_display_modes()
165 mode = drm_mode_duplicate(connector->dev, m); in panel_simple_get_display_modes()
167 dev_err(panel->base.dev, "failed to add mode %ux%u@%u\n", in panel_simple_get_display_modes()
168 m->hdisplay, m->vdisplay, in panel_simple_get_display_modes()
173 mode->type |= DRM_MODE_TYPE_DRIVER; in panel_simple_get_display_modes()
175 if (panel->desc->num_modes == 1) in panel_simple_get_display_modes()
176 mode->type |= DRM_MODE_TYPE_PREFERRED; in panel_simple_get_display_modes()
191 bool has_override = panel->override_mode.type; in panel_simple_get_non_edid_modes()
194 if (!panel->desc) in panel_simple_get_non_edid_modes()
198 mode = drm_mode_duplicate(connector->dev, in panel_simple_get_non_edid_modes()
199 &panel->override_mode); in panel_simple_get_non_edid_modes()
204 dev_err(panel->base.dev, "failed to add override mode\n"); in panel_simple_get_non_edid_modes()
209 if (num == 0 && panel->desc->num_timings) in panel_simple_get_non_edid_modes()
218 WARN_ON(panel->desc->num_timings && panel->desc->num_modes); in panel_simple_get_non_edid_modes()
222 connector->display_info.bpc = panel->desc->bpc; in panel_simple_get_non_edid_modes()
223 connector->display_info.width_mm = panel->desc->size.width; in panel_simple_get_non_edid_modes()
224 connector->display_info.height_mm = panel->desc->size.height; in panel_simple_get_non_edid_modes()
225 if (panel->desc->bus_format) in panel_simple_get_non_edid_modes()
226 drm_display_info_set_bus_formats(&connector->display_info, in panel_simple_get_non_edid_modes()
227 &panel->desc->bus_format, 1); in panel_simple_get_non_edid_modes()
228 connector->display_info.bus_flags = panel->desc->bus_flags; in panel_simple_get_non_edid_modes()
237 if (!p->enabled) in panel_simple_disable()
240 if (p->desc->delay.disable) in panel_simple_disable()
241 msleep(p->desc->delay.disable); in panel_simple_disable()
243 p->enabled = false; in panel_simple_disable()
252 if (!p->prepared) in panel_simple_unprepare()
255 gpiod_set_value_cansleep(p->enable_gpio, 0); in panel_simple_unprepare()
257 regulator_disable(p->supply); in panel_simple_unprepare()
259 if (p->desc->delay.unprepare) in panel_simple_unprepare()
260 msleep(p->desc->delay.unprepare); in panel_simple_unprepare()
262 p->prepared = false; in panel_simple_unprepare()
272 p->hpd_gpio = devm_gpiod_get_optional(dev, "hpd", GPIOD_IN); in panel_simple_get_hpd_gpio()
273 if (IS_ERR(p->hpd_gpio)) { in panel_simple_get_hpd_gpio()
274 err = PTR_ERR(p->hpd_gpio); in panel_simple_get_hpd_gpio()
277 * If we're called from probe we won't consider '-EPROBE_DEFER' in panel_simple_get_hpd_gpio()
278 * to be an error--we'll leave the error code in "hpd_gpio". in panel_simple_get_hpd_gpio()
283 if (err != -EPROBE_DEFER || !from_probe) { in panel_simple_get_hpd_gpio()
299 if (p->prepared) in panel_simple_prepare()
302 err = regulator_enable(p->supply); in panel_simple_prepare()
304 dev_err(panel->dev, "failed to enable supply: %d\n", err); in panel_simple_prepare()
308 gpiod_set_value_cansleep(p->enable_gpio, 1); in panel_simple_prepare()
310 delay = p->desc->delay.prepare; in panel_simple_prepare()
311 if (p->no_hpd) in panel_simple_prepare()
312 delay += p->desc->delay.hpd_absent_delay; in panel_simple_prepare()
316 if (p->hpd_gpio) { in panel_simple_prepare()
317 if (IS_ERR(p->hpd_gpio)) { in panel_simple_prepare()
318 err = panel_simple_get_hpd_gpio(panel->dev, p, false); in panel_simple_prepare()
323 err = readx_poll_timeout(gpiod_get_value_cansleep, p->hpd_gpio, in panel_simple_prepare()
330 dev_err(panel->dev, in panel_simple_prepare()
336 p->prepared = true; in panel_simple_prepare()
345 if (p->enabled) in panel_simple_enable()
348 if (p->desc->delay.enable) in panel_simple_enable()
349 msleep(p->desc->delay.enable); in panel_simple_enable()
351 p->enabled = true; in panel_simple_enable()
363 if (p->ddc) { in panel_simple_get_modes()
364 struct edid *edid = drm_get_edid(connector, p->ddc); in panel_simple_get_modes()
373 /* add hard-coded panel modes */ in panel_simple_get_modes()
377 drm_connector_set_panel_orientation(connector, p->orientation); in panel_simple_get_modes()
389 if (p->desc->num_timings < num_timings) in panel_simple_get_timings()
390 num_timings = p->desc->num_timings; in panel_simple_get_timings()
394 timings[i] = p->desc->timings[i]; in panel_simple_get_timings()
396 return p->desc->num_timings; in panel_simple_get_timings()
420 np = dev->of_node; in panel_dpi_probe()
423 return -ENOMEM; in panel_dpi_probe()
427 return -ENOMEM; in panel_dpi_probe()
429 ret = of_get_display_timing(np, "panel-timing", timing); in panel_dpi_probe()
431 dev_err(dev, "%pOF: no panel-timing node found for \"panel-dpi\" binding\n", in panel_dpi_probe()
436 desc->timings = timing; in panel_dpi_probe()
437 desc->num_timings = 1; in panel_dpi_probe()
439 of_property_read_u32(np, "width-mm", &desc->size.width); in panel_dpi_probe()
440 of_property_read_u32(np, "height-mm", &desc->size.height); in panel_dpi_probe()
444 vm.flags = timing->flags; in panel_dpi_probe()
446 desc->bus_flags = bus_flags; in panel_dpi_probe()
449 desc->connector_type = DRM_MODE_CONNECTOR_DPI; in panel_dpi_probe()
451 panel->desc = desc; in panel_dpi_probe()
457 (to_check->field.typ >= bounds->field.min && \
458 to_check->field.typ <= bounds->field.max)
463 const struct panel_desc *desc = panel->desc; in panel_simple_parse_panel_timing_node()
467 if (WARN_ON(desc->num_modes)) { in panel_simple_parse_panel_timing_node()
471 if (WARN_ON(!desc->num_timings)) { in panel_simple_parse_panel_timing_node()
476 for (i = 0; i < panel->desc->num_timings; i++) { in panel_simple_parse_panel_timing_node()
477 const struct display_timing *dt = &panel->desc->timings[i]; in panel_simple_parse_panel_timing_node()
489 if (ot->flags != dt->flags) in panel_simple_parse_panel_timing_node()
493 drm_display_mode_from_videomode(&vm, &panel->override_mode); in panel_simple_parse_panel_timing_node()
494 panel->override_mode.type |= DRM_MODE_TYPE_DRIVER | in panel_simple_parse_panel_timing_node()
499 if (WARN_ON(!panel->override_mode.type)) in panel_simple_parse_panel_timing_node()
514 return -ENOMEM; in panel_simple_probe()
516 panel->enabled = false; in panel_simple_probe()
517 panel->prepared = false; in panel_simple_probe()
518 panel->desc = desc; in panel_simple_probe()
520 panel->no_hpd = of_property_read_bool(dev->of_node, "no-hpd"); in panel_simple_probe()
521 if (!panel->no_hpd) { in panel_simple_probe()
527 panel->supply = devm_regulator_get(dev, "power"); in panel_simple_probe()
528 if (IS_ERR(panel->supply)) in panel_simple_probe()
529 return PTR_ERR(panel->supply); in panel_simple_probe()
531 panel->enable_gpio = devm_gpiod_get_optional(dev, "enable", in panel_simple_probe()
533 if (IS_ERR(panel->enable_gpio)) { in panel_simple_probe()
534 err = PTR_ERR(panel->enable_gpio); in panel_simple_probe()
535 if (err != -EPROBE_DEFER) in panel_simple_probe()
540 err = of_drm_get_panel_orientation(dev->of_node, &panel->orientation); in panel_simple_probe()
542 dev_err(dev, "%pOF: failed to get orientation %d\n", dev->of_node, err); in panel_simple_probe()
546 ddc = of_parse_phandle(dev->of_node, "ddc-i2c-bus", 0); in panel_simple_probe()
548 panel->ddc = of_find_i2c_adapter_by_node(ddc); in panel_simple_probe()
551 if (!panel->ddc) in panel_simple_probe()
552 return -EPROBE_DEFER; in panel_simple_probe()
556 /* Handle the generic panel-dpi binding */ in panel_simple_probe()
560 desc = panel->desc; in panel_simple_probe()
562 if (!of_get_display_timing(dev->of_node, "panel-timing", &dt)) in panel_simple_probe()
566 connector_type = desc->connector_type; in panel_simple_probe()
574 WARN_ON(desc->bus_flags & in panel_simple_probe()
579 WARN_ON(desc->bus_format != MEDIA_BUS_FMT_RGB666_1X7X3_SPWG && in panel_simple_probe()
580 desc->bus_format != MEDIA_BUS_FMT_RGB888_1X7X4_SPWG && in panel_simple_probe()
581 desc->bus_format != MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA); in panel_simple_probe()
582 WARN_ON(desc->bus_format == MEDIA_BUS_FMT_RGB666_1X7X3_SPWG && in panel_simple_probe()
583 desc->bpc != 6); in panel_simple_probe()
584 WARN_ON((desc->bus_format == MEDIA_BUS_FMT_RGB888_1X7X4_SPWG || in panel_simple_probe()
585 desc->bus_format == MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA) && in panel_simple_probe()
586 desc->bpc != 8); in panel_simple_probe()
589 if (desc->bus_format == 0) in panel_simple_probe()
591 if (desc->bpc != 6 && desc->bpc != 8) in panel_simple_probe()
592 dev_warn(dev, "Expected bpc in {6,8} but got: %u\n", desc->bpc); in panel_simple_probe()
595 if (desc->bpc != 6 && desc->bpc != 8) in panel_simple_probe()
596 dev_warn(dev, "Expected bpc in {6,8} but got: %u\n", desc->bpc); in panel_simple_probe()
607 if (desc->bus_flags & ~bus_flags) in panel_simple_probe()
608 dev_warn(dev, "Unexpected bus_flags(%d)\n", desc->bus_flags & ~bus_flags); in panel_simple_probe()
609 if (!(desc->bus_flags & bus_flags)) in panel_simple_probe()
611 if (desc->bus_format == 0) in panel_simple_probe()
613 if (desc->bpc != 6 && desc->bpc != 8) in panel_simple_probe()
614 dev_warn(dev, "Expected bpc in {6,8} but got: %u\n", desc->bpc); in panel_simple_probe()
617 dev_warn(dev, "Specify a valid connector_type: %d\n", desc->connector_type); in panel_simple_probe()
622 drm_panel_init(&panel->base, dev, &panel_simple_funcs, connector_type); in panel_simple_probe()
624 err = drm_panel_of_backlight(&panel->base); in panel_simple_probe()
628 drm_panel_add(&panel->base); in panel_simple_probe()
635 if (panel->ddc) in panel_simple_probe()
636 put_device(&panel->ddc->dev); in panel_simple_probe()
645 drm_panel_remove(&panel->base); in panel_simple_remove()
646 drm_panel_disable(&panel->base); in panel_simple_remove()
647 drm_panel_unprepare(&panel->base); in panel_simple_remove()
649 if (panel->ddc) in panel_simple_remove()
650 put_device(&panel->ddc->dev); in panel_simple_remove()
659 drm_panel_disable(&panel->base); in panel_simple_shutdown()
660 drm_panel_unprepare(&panel->base); in panel_simple_shutdown()
681 .width = 217,
707 .width = 99,
731 .width = 152,
756 .width = 154,
780 .width = 223,
805 .width = 217,
828 .width = 223,
851 .width = 256,
879 .width = 256,
907 .width = 293,
929 .width = 293,
956 .width = 152,
984 .width = 216,
1008 .width = 211,
1030 .width = 261,
1054 .width = 293,
1084 .width = 344,
1108 .width = 409,
1138 .width = 376,
1168 .width = 698,
1197 .width = 430,
1225 .width = 154,
1252 .width = 154,
1274 .width = 154,
1312 .width = 217,
1342 .width = 294,
1349 * was until the TCON data download was complete. On
1354 * - If HPD isn't hooked up you still have 200 ms delay.
1355 * - If HPD is hooked up we won't try to look at it for the
1387 .width = 309,
1417 .width = 95,
1423 /* S070PWS19HP-FC21 2017/04/22 */
1442 .width = 154,
1450 /* S070SWV29HG-DC44 2017/09/21 */
1469 .width = 154,
1495 .width = 154,
1518 .width = 217,
1548 .width = 94,
1573 .width = 220,
1598 .width = 223,
1624 .width = 152,
1649 .width = 154,
1679 .width = 216,
1710 .width = 70,
1740 .width = 100,
1765 .width = 95,
1788 .width = 115,
1814 .width = 152,
1826 .width = 152,
1853 .width = 108,
1877 .width = 108,
1915 .width = 77,
1940 .width = 94,
1962 .width = 95,
1986 .width = 60,
1999 * According to the data sheet, the minimum horizontal blanking interval
2016 .width = 151,
2041 .width = 203,
2065 .width = 195,
2092 .width = 95,
2116 .width = 154,
2140 .width = 152,
2172 .width = 217,
2201 .width = 261,
2230 .width = 246,
2242 * - total horizontal time: { 1506, 1592, 1716 }
2243 * - total vertical time: { 788, 800, 868 }
2268 .width = 256,
2290 .width = 344,
2316 .width = 254,
2342 .width = 154,
2365 .width = 294,
2395 .width = 256,
2423 .width = 115,
2445 .width = 217,
2477 .width = 292,
2502 .width = 246,
2525 .width = 70,
2549 .width = 151,
2573 .width = 129,
2594 .width = 208,
2616 .width = 267,
2639 .width = 272,
2664 .width = 154,
2694 .width = 217,
2734 .width = 105,
2754 .width = 152,
2785 .width = 261,
2814 .width = 95,
2837 .width = 154,
2874 .width = 260,
2904 .width = 95,
2930 .width = 344,
2957 .width = 156,
2982 .width = 154,
3010 .width = 95,
3036 * https://www.adafruit.com/images/product-files/2406/c3163.pdf
3043 .width = 154,
3067 .width = 56, /* 56.16mm */
3092 .width = 56,
3118 .width = 152,
3143 .width = 152,
3166 .width = 152,
3193 .width = 95,
3217 .width = 154,
3245 .width = 217,
3273 .width = 263,
3295 .width = 223,
3320 .width = 320,
3342 .width = 108,
3367 .width = 260,
3392 .width = 152, /* 152.4mm */
3417 .width = 54,
3441 .width = 217,
3466 .width = 259,
3508 .width = 42,
3533 .width = 152,
3556 .width = 152,
3581 .width = 263,
3608 .width = 155,
3633 .width = 151,
3646 .width = 150,
3672 .width = 154,
3699 .width = 65,
3727 .width = 71,
3751 .width = 194,
3775 .width = 152,
3797 .width = 223,
3806 .hback_porch = { 216 - 128, 216 - 128, 216 - 128 },
3810 .vback_porch = { 35 - 2, 35 - 2, 35 - 2 },
3821 .width = 152,
3833 .width = 152,
3857 .width = 120,
3882 .width = 70,
3908 .width = 400,
3916 .compatible = "ampire,am-1280800n3tzqw-t00h",
3917 .data = &ire_am_1280800n3tzqw_t00h,
3919 .compatible = "ampire,am-480272h3tmqw-t01h",
3920 .data = &ire_am_480272h3tmqw_t01h,
3923 .data = &ire_am800480r3tmqwa1h,
3925 .compatible = "arm,rtsm-display",
3926 .data = &arm_rtsm,
3928 .compatible = "armadeus,st0700-adapt",
3929 .data = &armadeus_st0700_adapt,
3932 .data = &auo_b101aw03,
3935 .data = &auo_b101ean01,
3938 .data = &auo_b101xtn01,
3941 .data = &auo_b116xak01,
3944 .data = &auo_b116xw03,
3947 .data = &auo_b133htn01,
3950 .data = &auo_b133xtn01,
3953 .data = &auo_g070vvn01,
3956 .data = &auo_g101evn010,
3959 .data = &auo_g104sn02,
3962 .data = &auo_g121ean01,
3965 .data = &auo_g133han01,
3968 .data = &auo_g156xtn01,
3971 .data = &auo_g185han01,
3974 .data = &auo_g190ean01,
3977 .data = &auo_p320hvn03,
3980 .data = &auo_t215hvn01,
3983 .data = &avic_tm070ddh03,
3985 .compatible = "bananapi,s070wv20-ct16",
3986 .data = &bananapi_s070wv20_ct16,
3988 .compatible = "boe,hv070wsa-100",
3989 .data = &boe_hv070wsa
3992 .data = &boe_nv101wxmn51,
3994 .compatible = "boe,nv133fhm-n61",
3995 .data = &boe_nv133fhm_n61,
3997 .compatible = "boe,nv133fhm-n62",
3998 .data = &boe_nv133fhm_n61,
4001 .data = &boe_nv140fhmn49,
4003 .compatible = "cdtech,s043wq26h-ct7",
4004 .data = &cdtech_s043wq26h_ct7,
4006 .compatible = "cdtech,s070pws19hp-fc21",
4007 .data = &cdtech_s070pws19hp_fc21,
4009 .compatible = "cdtech,s070swv29hg-dc44",
4010 .data = &cdtech_s070swv29hg_dc44,
4012 .compatible = "cdtech,s070wv95-ct16",
4013 .data = &cdtech_s070wv95_ct16,
4015 .compatible = "chefree,ch101olhlwh-002",
4016 .data = &chefree_ch101olhlwh_002,
4019 .data = &chunghwa_claa070wp03xg,
4022 .data = &chunghwa_claa101wa01a
4025 .data = &chunghwa_claa101wb01
4028 .data = &dataimage_scf0700c48ggu18,
4030 .compatible = "dlc,dlc0700yzg-1",
4031 .data = &dlc_dlc0700yzg_1,
4034 .data = &dlc_dlc1010gig,
4037 .data = &edt_et035012dm6,
4040 .data = &edt_etm043080dh6gp,
4043 .data = &edt_etm0430g0dh6,
4046 .data = &edt_et057090dhu,
4049 .data = &edt_etm0700g0dh6,
4052 .data = &edt_etm0700g0dh6,
4055 .data = &edt_etm0700g0bdh6,
4058 .data = &edt_etm0700g0bdh6,
4061 .data = &evervision_vgg804821,
4063 .compatible = "foxlink,fl500wvr00-a0t",
4064 .data = &foxlink_fl500wvr00_a0t,
4067 .data = &frida_frd350h54004,
4070 .data = &friendlyarm_hd702e,
4073 .data = &giantplus_gpg482739qs5
4076 .data = &giantplus_gpm940b0,
4079 .data = &hannstar_hsd070pww1,
4082 .data = &hannstar_hsd100pxn1,
4085 .data = &hitachi_tx23d38vm0caa
4088 .data = &innolux_at043tn24,
4091 .data = &innolux_at070tn92,
4093 .compatible = "innolux,g070y2-l01",
4094 .data = &innolux_g070y2_l01,
4096 .compatible = "innolux,g101ice-l01",
4097 .data = &innolux_g101ice_l01
4099 .compatible = "innolux,g121i1-l01",
4100 .data = &innolux_g121i1_l01
4102 .compatible = "innolux,g121x1-l03",
4103 .data = &innolux_g121x1_l03,
4106 .data = &innolux_n116bge,
4108 .compatible = "innolux,n156bge-l21",
4109 .data = &innolux_n156bge_l21,
4111 .compatible = "innolux,p120zdg-bf1",
4112 .data = &innolux_p120zdg_bf1,
4114 .compatible = "innolux,zj070na-01p",
4115 .data = &innolux_zj070na_01p,
4117 .compatible = "ivo,m133nwf4-r0",
4118 .data = &ivo_m133nwf4_r0,
4120 .compatible = "kingdisplay,kd116n21-30nv-a010",
4121 .data = &kingdisplay_kd116n21_30nv_a010,
4124 .data = &koe_tx14d24vm1bpa,
4127 .data = &koe_tx26d202vm0bwa,
4130 .data = &koe_tx31d200vm0baa,
4133 .data = &kyo_tcg121xglp,
4135 .compatible = "lemaker,bl035-rgb-002",
4136 .data = &lemaker_bl035_rgb_002,
4139 .data = &lg_lb070wv8,
4141 .compatible = "lg,lp079qx1-sp0v",
4142 .data = &lg_lp079qx1_sp0v,
4144 .compatible = "lg,lp097qx1-spa1",
4145 .data = &lg_lp097qx1_spa1,
4148 .data = &lg_lp120up1,
4151 .data = &lg_lp129qe,
4154 .data = &logicpd_type_28,
4156 .compatible = "logictechno,lt161010-2nhc",
4157 .data = &logictechno_lt161010_2nh,
4159 .compatible = "logictechno,lt161010-2nhr",
4160 .data = &logictechno_lt161010_2nh,
4162 .compatible = "logictechno,lt170410-2whc",
4163 .data = &logictechno_lt170410_2whc,
4165 .compatible = "mitsubishi,aa070mc01-ca1",
4166 .data = &mitsubishi_aa070mc01,
4168 .compatible = "nec,nl12880bc20-05",
4169 .data = &nec_nl12880bc20_05,
4171 .compatible = "nec,nl4827hc19-05b",
4172 .data = &nec_nl4827hc19_05b,
4174 .compatible = "netron-dy,e231732",
4175 .data = &netron_dy_e231732,
4178 .data = &neweast_wjfh116008a,
4180 .compatible = "newhaven,nhd-4.3-480272ef-atxl",
4181 .data = &newhaven_nhd_43_480272ef_atxl,
4183 .compatible = "nlt,nl192108ac18-02d",
4184 .data = &nlt_nl192108ac18_02d,
4187 .data = &nvd_9128,
4189 .compatible = "okaya,rs800480t-7x0gp",
4190 .data = &okaya_rs800480t_7x0gp,
4192 .compatible = "olimex,lcd-olinuxino-43-ts",
4193 .data = &olimex_lcd_olinuxino_43ts,
4196 .data = &ontat_yx700wv03,
4199 .data = &ortustech_com37h3m,
4202 .data = &ortustech_com37h3m,
4205 .data = &ortustech_com43h4m85ulc,
4207 .compatible = "osddisplays,osd070t1718-19ts",
4208 .data = &osddisplays_osd070t1718_19ts,
4210 .compatible = "pda,91-00156-a0",
4211 .data = &pda_91_00156_a0,
4213 .compatible = "powertip,ph800480t013-idf02",
4214 .data = &powertip_ph800480t013_idf02,
4216 .compatible = "qiaodian,qd43003c0-40",
4217 .data = &qd43003c0_40,
4220 .data = &rocktech_rk070er9427,
4222 .compatible = "rocktech,rk101ii01d-ct",
4223 .data = &rocktech_rk101ii01d_ct,
4225 .compatible = "samsung,lsn122dl01-c01",
4226 .data = &samsung_lsn122dl01_c01,
4229 .data = &samsung_ltn101nt05,
4231 .compatible = "samsung,ltn140at29-301",
4232 .data = &samsung_ltn140at29_301,
4235 .data = &satoz_sat050at40h12r2,
4237 .compatible = "sharp,ld-d5116z01b",
4238 .data = &sharp_ld_d5116z01b,
4241 .data = &sharp_lq035q7db03,
4244 .data = &sharp_lq070y3dg3b,
4247 .data = &sharp_lq101k1ly04,
4250 .data = &sharp_lq123p1jx31,
4253 .data = &sharp_ls020b1dd01d,
4255 .compatible = "shelly,sca07010-bfn-lnn",
4256 .data = &shelly_sca07010_bfn_lnn,
4259 .data = &starry_kr070pe2t,
4262 .data = &starry_kr122ea0sra,
4264 .compatible = "tfc,s9700rtwv43tr-01b",
4265 .data = &tfc_s9700rtwv43tr_01b,
4268 .data = &tianma_tm070jdhg30,
4271 .data = &tianma_tm070jvhg33,
4274 .data = &tianma_tm070rvhg71,
4276 .compatible = "ti,nspire-cx-lcd-panel",
4277 .data = &ti_nspire_cx_lcd_panel,
4279 .compatible = "ti,nspire-classic-lcd-panel",
4280 .data = &ti_nspire_classic_lcd_panel,
4283 .data = &toshiba_lt089ac29000,
4285 .compatible = "tpk,f07a-0102",
4286 .data = &tpk_f07a_0102,
4288 .compatible = "tpk,f10a-0102",
4289 .data = &tpk_f10a_0102,
4291 .compatible = "urt,umsh-8596md-t",
4292 .data = &urt_umsh_8596md_parallel,
4294 .compatible = "urt,umsh-8596md-1t",
4295 .data = &urt_umsh_8596md_parallel,
4297 .compatible = "urt,umsh-8596md-7t",
4298 .data = &urt_umsh_8596md_parallel,
4300 .compatible = "urt,umsh-8596md-11t",
4301 .data = &urt_umsh_8596md_lvds,
4303 .compatible = "urt,umsh-8596md-19t",
4304 .data = &urt_umsh_8596md_lvds,
4306 .compatible = "urt,umsh-8596md-20t",
4307 .data = &urt_umsh_8596md_parallel,
4309 .compatible = "vxt,vl050-8048nt-c01",
4310 .data = &vl050_8048nt_c01,
4313 .data = &winstar_wf35ltiacd,
4316 .compatible = "panel-dpi",
4317 .data = &panel_dpi,
4328 id = of_match_node(platform_of_match, pdev->dev.of_node); in panel_simple_platform_probe()
4330 return -ENODEV; in panel_simple_platform_probe()
4332 return panel_simple_probe(&pdev->dev, id->data); in panel_simple_platform_probe()
4337 return panel_simple_remove(&pdev->dev); in panel_simple_platform_remove()
4342 panel_simple_shutdown(&pdev->dev); in panel_simple_platform_shutdown()
4347 .name = "panel-simple",
4381 .width = 108,
4409 .width = 107,
4439 .width = 94,
4467 .width = 62,
4495 .width = 217,
4524 .width = 62,
4553 .width = 217,
4568 .data = &auo_b080uan01
4570 .compatible = "boe,tv080wum-nl0",
4571 .data = &boe_tv080wum_nl0
4573 .compatible = "lg,ld070wx3-sl01",
4574 .data = &lg_ld070wx3_sl01
4576 .compatible = "lg,lh500wx1-sd03",
4577 .data = &lg_lh500wx1_sd03
4580 .data = &panasonic_vvx10f004b00
4582 .compatible = "lg,acx467akm-7",
4583 .data = &lg_acx467akm_7
4585 .compatible = "osddisplays,osd101t2045-53ts",
4586 .data = &osd101t2045_53ts
4599 id = of_match_node(dsi_of_match, dsi->dev.of_node); in panel_simple_dsi_probe()
4601 return -ENODEV; in panel_simple_dsi_probe()
4603 desc = id->data; in panel_simple_dsi_probe()
4605 err = panel_simple_probe(&dsi->dev, &desc->desc); in panel_simple_dsi_probe()
4609 dsi->mode_flags = desc->flags; in panel_simple_dsi_probe()
4610 dsi->format = desc->format; in panel_simple_dsi_probe()
4611 dsi->lanes = desc->lanes; in panel_simple_dsi_probe()
4615 struct panel_simple *panel = dev_get_drvdata(&dsi->dev); in panel_simple_dsi_probe()
4617 drm_panel_remove(&panel->base); in panel_simple_dsi_probe()
4629 dev_err(&dsi->dev, "failed to detach from DSI host: %d\n", err); in panel_simple_dsi_remove()
4631 return panel_simple_remove(&dsi->dev); in panel_simple_dsi_remove()
4636 panel_simple_shutdown(&dsi->dev); in panel_simple_dsi_shutdown()
4641 .name = "panel-simple-dsi",