correct mode_str - display timings - tx20d33

  • We have to replace our display from the type KOE TX20D19VM2BPA to the new type KOE TX20D33VM2BPA.
    Unfortunately it's not just replacing the display.


    By the given mode_str the timings should calculate correctly.

    Code
    1. .mode_str = "800x480M-16@60"


    The display shows only a flicker with the given mode_str.


    Which mode_str we have to use to drive the TX20D33 correctly?


    By the way, the display is fully compatible on netdcu10 by selecting the tx18 display.

  • Hello,


    That's maybe a bit confusing, the mode string is not the timing itself. It's just a name that refers to timing settings that are deposited in the kernel.
    Have a look at the file 'drivers/video/mvf_dcu.c'. There you find different display timings that can be referenced with a mode string. These settings are for a few default displays.
    But of course we cannot have every display here. So in the common case that your display differs from the existing settings you have to add your own timing settings according to the display datasheet or change an existing setting.
    Then you can refer to it with the mode string.
    In conclusion if you have not defined a timing setting with the name '800x480M-16@60' your mode string initialisation will have no impact.


    Best Regards
    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Thank you for your reply.


    I tried to implement the timing mode in "fb_videomode" for the type display type "'800x480M-16@60'".
    It looks like that the "M" inside the mode string will forward the driver to use the "fbcvt.c".
    So later i tried it with just a custom name to link the mode_str to our customized display timing string but also without effect.

  • Yes,
    The Timings must be set in drivers/video/mvf_dcu.c. in static struct fb_videomode __devinitdata mvf_dcu_mode_db[]
    The .mode_str must be set in arch/arm/mach-mvf/mach-netdcua5.c in static struct mvf_dcu_platform_data mvf_dcu_pdata
    Why do you think the M will forward the driver to fbcvt.c?
    Have you tried a string without a character like @?

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • hi,


    fixed!


    First I've added the correct configuration for tx18 / tx20 displays.


    Unfortunately that's not the solution.


    In

    Code
    1. static void update_lcdc(struct fb_info *info)

    I've replaced the 60 by the given refresh cycle, 35.

    Code
    1. t *= 60; /* ### TODO: Use given framerate resp. var->pixclock */


    Code
    1. t *= 35; /* ### TODO: Use given framerate resp. var->pixclock */


    With this fix it's possible to move back to the mode_str 800x480.


    by the way:

    Quote

    Why do you think the M will forward the driver to fbcvt.c?


    I tried multiple mode_str and added a few debug lines in fbcvt.c; in several configurations the fbcvt was activated.

  • Why the refresh rate of 35 Hz? This is out of spec. LCDs are usually refreshed with 60 Hz with a tolerance of +/- a few Hz. But 35 Hz is definitely not OK.

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.