Modetest LCD outputs are not identical on new LCD implementation

2

I have been working on implementing a custom 10.1" LCD screen to my Acqua “System On Module” (running a SAMA5D36 Microchip MPU) unfortunately without any good results.

The problem I am facing is that my Modetest output does not give the expected output. The output I am expecting is as follows:

expected output modetest

But this is what I get instead is:

received output modetest

The LCD screen which is provided to be suitable with the board is a 5" lcd screen, when I connect this lcd everything seems to be running fine and modetest looks as expected. But when I connect the 10.1" LCD with a different resolution it doesn't work anymore.

Things I have changed to transition from the 5" to the 10.1" LCD (different resolution)

  • Checked if connections are compatible
  • Changed the clock frequency and display timings in the devicetree to match the new display.

We changed the frequency and display timings, by building the kernel to be suitable for the 5" display and then editing all the timing parameters to fit the 10.1" display. The part where we edit these parameters are as follows:

panel-simple.c
static const struct drm_display_mode acme_50inch_mode = {
    .clock = 33300,
    .hdisplay = 800,
    .hsync_start = 800 + 1,
    .hsync_end = 800 + 1 + 64,
    .htotal = 800 + 1 + 64 + 64,
    .vdisplay = 480,
    .vsync_start = 480 + 1,
    .vsync_end = 480 + 1 + 23,
    .vtotal = 480 + 1 + 23 + 22,
    .vrefresh = 60,
    .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
};

I have the feeling that there is something missing in my kernel or that I am overlooking a parameter somewhere that still needs to be changed.

Does anyone have an idea of what piece of information I am missing to drive a custom LCD?

Remco Vink

Posted 2019-06-11T08:27:56.493

Reputation: 71

No answers