Skip to content

Commit

Permalink
drm/panel-simple: add Evervision VGG644804 panel entry
Browse files Browse the repository at this point in the history
Timings taken from the datasheet, although sometimes there are just
typical values and it's not clear if they are no min and max values or
if you must use the typical value exactly. To make things worse, there
is no back porch but only a combined sync and back porch length.

Unfortunately, there is not public datasheet. Therefore, here are the
relevant timings:
                 | min |  typ   | max |
-----------------+-----+--------+-----+
CLK frequency    |  -  | 25.175 |  -  |
HS period        |  -  |   800  |  -  |
HS pulse width   |  5  |    30  |  -  |
HS-DEN time      | 112 |   144  | 175 |
DEN pulse width  |  -  |   640  |  -  |
VS pulse width   |  1  |     3  |  5  |
VS-DEN time      |  -  |    35  |  -  |
VS period        |  -  |   525  |  -  |

Signed-off-by: Michael Walle <[email protected]>
Reviewed-by: Neil Armstrong <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Neil Armstrong <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
  • Loading branch information
mwalle authored and superna9999 committed Dec 5, 2023
1 parent 2a5244a commit 1319f21
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions drivers/gpu/drm/panel/panel-simple.c
Original file line number Diff line number Diff line change
Expand Up @@ -2002,6 +2002,33 @@ static const struct panel_desc eink_vb3300_kca = {
.connector_type = DRM_MODE_CONNECTOR_DPI,
};

static const struct display_timing evervision_vgg644804_timing = {
.pixelclock = { 25175000, 25175000, 25175000 },
.hactive = { 640, 640, 640 },
.hfront_porch = { 16, 16, 16 },
.hback_porch = { 82, 114, 170 },
.hsync_len = { 5, 30, 30 },
.vactive = { 480, 480, 480 },
.vfront_porch = { 10, 10, 10 },
.vback_porch = { 30, 32, 34 },
.vsync_len = { 1, 3, 5 },
.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE |
DISPLAY_FLAGS_SYNC_POSEDGE,
};

static const struct panel_desc evervision_vgg644804 = {
.timings = &evervision_vgg644804_timing,
.num_timings = 1,
.bpc = 8,
.size = {
.width = 115,
.height = 86,
},
.bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG,
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
};

static const struct display_timing evervision_vgg804821_timing = {
.pixelclock = { 27600000, 33300000, 50000000 },
.hactive = { 800, 800, 800 },
Expand Down Expand Up @@ -4366,6 +4393,9 @@ static const struct of_device_id platform_of_match[] = {
}, {
.compatible = "eink,vb3300-kca",
.data = &eink_vb3300_kca,
}, {
.compatible = "evervision,vgg644804",
.data = &evervision_vgg644804,
}, {
.compatible = "evervision,vgg804821",
.data = &evervision_vgg804821,
Expand Down

0 comments on commit 1319f21

Please sign in to comment.