1
0
Fork 0

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 flag
5.4-rM2-2.2.x-imx-squashed
Dong Aisheng 2019-12-02 18:01:11 +08:00
commit f73b88b974
3 changed files with 54 additions and 4 deletions

View File

@ -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.

View File

@ -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;

View File

@ -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,