Merge remote-tracking branch 'origin/display/panel' into display/next
* origin/display/panel: drm/panel: rm67191: Add dev_err for reset gpio drm/panel: simple: Add support for JDI TX26D202VM0BWA panel dt-bindings: display: Add JDI TX26D202VM0BWA LCD panel bindings drm/panel: rm67191: Remove CLOCK_NON_CONTINUOUS flag5.4-rM2-2.2.x-imx-squashed
commit
f73b88b974
|
@ -0,0 +1,9 @@
|
|||
Japan Display Inc. 10.1" WUXGA (1920x1200) TFT LCD panel
|
||||
|
||||
The panel has dual LVDS channels.
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "jdi,tx26d202vm0bwa"
|
||||
|
||||
This binding is compatible with the simple-panel binding, which is specified
|
||||
in simple-panel.txt in this directory.
|
|
@ -555,8 +555,7 @@ static int rad_panel_probe(struct mipi_dsi_device *dsi)
|
|||
panel->dsi = dsi;
|
||||
|
||||
dsi->format = MIPI_DSI_FMT_RGB888;
|
||||
dsi->mode_flags = MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_VIDEO |
|
||||
MIPI_DSI_CLOCK_NON_CONTINUOUS;
|
||||
dsi->mode_flags = MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_VIDEO;
|
||||
|
||||
ret = of_property_read_u32(np, "video-mode", &video_mode);
|
||||
if (!ret) {
|
||||
|
@ -585,8 +584,11 @@ static int rad_panel_probe(struct mipi_dsi_device *dsi)
|
|||
}
|
||||
|
||||
panel->reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
|
||||
if (IS_ERR(panel->reset))
|
||||
return PTR_ERR(panel->reset);
|
||||
if (IS_ERR(panel->reset)) {
|
||||
ret = PTR_ERR(panel->reset);
|
||||
dev_err(dev, "Failed to get reset gpio (%d)\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
memset(&bl_props, 0, sizeof(bl_props));
|
||||
bl_props.type = BACKLIGHT_RAW;
|
||||
|
|
|
@ -1824,6 +1824,42 @@ static const struct panel_desc innolux_zj070na_01p = {
|
|||
},
|
||||
};
|
||||
|
||||
static const struct display_timing jdi_tx26d202vm0bwa_timing = {
|
||||
.pixelclock = { 151820000, 156720000, 159780000 },
|
||||
.hactive = { 1920, 1920, 1920 },
|
||||
.hfront_porch = { 76, 100, 112 },
|
||||
.hback_porch = { 74, 100, 112 },
|
||||
.hsync_len = { 30, 30, 30 },
|
||||
.vactive = { 1200, 1200, 1200},
|
||||
.vfront_porch = { 3, 5, 10 },
|
||||
.vback_porch = { 2, 5, 10 },
|
||||
.vsync_len = { 5, 5, 5 },
|
||||
.flags = DISPLAY_FLAGS_DE_HIGH,
|
||||
};
|
||||
|
||||
static const struct panel_desc jdi_tx26d202vm0bwa = {
|
||||
.timings = &jdi_tx26d202vm0bwa_timing,
|
||||
.num_timings = 1,
|
||||
.bpc = 8,
|
||||
.size = {
|
||||
.width = 217,
|
||||
.height = 136,
|
||||
},
|
||||
.delay = {
|
||||
/*
|
||||
* The panel spec recommends one second delay
|
||||
* to the below items. However, it's a bit too
|
||||
* long in pratice. Based on tests, it turns
|
||||
* out 100 milliseconds is fine.
|
||||
*/
|
||||
.prepare = 100,
|
||||
.enable = 100,
|
||||
.unprepare = 100,
|
||||
.disable = 100,
|
||||
},
|
||||
.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
|
||||
};
|
||||
|
||||
static const struct display_timing koe_tx14d24vm1bpa_timing = {
|
||||
.pixelclock = { 5580000, 5850000, 6200000 },
|
||||
.hactive = { 320, 320, 320 },
|
||||
|
@ -3237,6 +3273,9 @@ static const struct of_device_id platform_of_match[] = {
|
|||
}, {
|
||||
.compatible = "innolux,zj070na-01p",
|
||||
.data = &innolux_zj070na_01p,
|
||||
}, {
|
||||
.compatible = "jdi,tx26d202vm0bwa",
|
||||
.data = &jdi_tx26d202vm0bwa,
|
||||
}, {
|
||||
.compatible = "koe,tx14d24vm1bpa",
|
||||
.data = &koe_tx14d24vm1bpa,
|
||||
|
|
Loading…
Reference in New Issue