I'm working from memory here, I wrote this code over 4 years ago, but I did
find out there's lots of ways to get a dark panel or other issues you
mention. And it's very hard sometimes to get it all right. It's also easy
to have it almost working with parameters that are so wrong that getting
back to a dark screen is a good sign!
To add to the fun, vendors can ship any number of panels with a given
laptop that are very different in behavior. We had to put 4 panel types
into the falco configuration and try to figure out which one it was.
One thing you can try that sometimes works, if you have serial, is to do NO
video initialization at all and let X11 do it instead. I did a lot of debug
this way and on ivybridge it works pretty well. You can take the normal
boot path and, again assuming you have serial, start Xorg and just see if
you get a lightup. If so, well, you've got a starting point: you can put
debug prints in the driver to show each and everything it does to the
panel, and compare to coreboot. There may be a surprise in there somewhere.
The timing is extremely tricky sometimes.
You could also consider running the vga bios in the 'safe' mode (i.e. the
emulator in coreboot) and tracing all the IOs. Sometimes you can learn
something that way.
I also wonder if you could use the code Nico put in for the graphics init.
I have no idea if it's possible, Nico could tell us. But that code looks
really thorough and might work better.