Hi Nico,
thank you for your reply.
I didn't have the time for a closer look at your logs. But there is one thing coreboot does definitely wrong: The clock configuration. You can see it from the Linux log as it dumps the settings coreboot made first:
[ 6.523864] [drm:drm_mode_debug_printmodeline] Modeline 0:"1440x900" 50 87075 1440 1520 1672 1820 900 903 909 961 0x40 0xa [ 6.523872] [drm:intel_dump_pipe_config] port clock: 87075
vs what Linux sets up later:
[ 8.787651] [drm:drm_mode_debug_printmodeline] Modeline 0:"1440x900" 60 104500 1440 1520 1672 1820 900 903 909 961 0x48 0xa [ 8.787668] [drm:intel_dump_pipe_config] port clock: 104500
Thank you for the hint. As I have really no idea what I should look for, it's a starting point.
When I'm comparing this to the kernel log of my working CCFL WXGA display, I notice that on the CCFL WXGA display (which is a LP141WX3-TLR1), the clock frequency is set exactly to the value specified in the datasheet and EDID: 69.5 MHz. However on the G141C1-L01 (the MVA panel) datasheet, the clock frequency is '106.5MHz' in the EDID table - but Linux sets it to 104.5 MHz, if I understand the above correctly. The DCLK frequency in the datasheet is specified as: min. 40MHz, typ. 53.25MHz, max. 65MHz (see page 16 of [0])
Could that difference (104.5MHz to 106.5MHz maybe be the issue? I guess not, since there is a frequency range specified in the datasheet.
I also noticed that the max. current draw of the panel is a little bit higher than the max. current draw of the LED WXGA+ which I used to compare the pinouts. (It is known to work and has model number 'LP141WP2-TLB1') For the MVA, typical for black is 550mA, for white it's 450mA. For the TN it's 365mA - 495mA with typical 430mA.
What do you think about that?
Not sure why Linux doesn't get the display running though. But as Linux sometimes reuses register settings set by the firmware there is a slight chance that fixing coreboot would make it work in Linux too.
You mean, despite the kernel log messages (which say 104500), it might be that Linux is actually using the clock settings from coreboot, that is 87075?
So, to check for that - could I temporarily hardcode the correct clock settings in coreboot/libreboot?
Also, is it worth checking with latest coreboot instead of latest libreboot?
Maybe there are some changes concerning LVDS handling which are not yet in libreboot...
So many questions :P
There is a related patch up for review for i945 [1] (older chipset) that fixes a similar issue there. Maybe it applies to gm45 too. The code looks very similar.
To be honest -- I understand nearly nothing of it :/ Also note that all of this feels way above my skills - at least the coreboot / Linux / software part.
Regards,
Merlin
[0] http://www.display-solution.com/pdf/tft-displays/Chi%20Mei%20Innolux/G141C1-...