[coreboot] [skylake] Can not turn monitor on

Matt DeVillier matt.devillier at gmail.com
Fri Oct 5 23:23:59 CEST 2018

On Fri, Oct 5, 2018 at 3:27 PM Nico Huber <nico.h at gmx.de> wrote:
> On 10/5/18 4:43 PM, Zheng Bao wrote:
> > I transfer all the GPIO setting to my code.
> What do you mean? did you have wrong GPIO settings before?
> > After this, the linux can turn the monitor on, but in BIOS stage,
> > monitor can not be turn on.
> > Is that the way it is? Can BIOS turn the display on?
> What exactly do you mean with BIOS? a VGA BIOS? it should work with the
> correct VBT. Same with a GOP driver. I'll add Matt in CC who has more
> experience with the proprietary graphics solutions.
> Personally, I would just implement the backlight control in coreboot
> and use libgfxinit as open-source solution. Register documentation can
> be found here [1][2] and soc/intel/broadwell/igd.c:311..344 as example
> how it worked on older platforms. Everything else you need are the
> correct settings for your board/panel which you can find by decoding
> the VBT or just dump the registers when Linux initialized it.

that's certainly the ideal way to do it, but using the FSP GOP init
with the VBT extracted from the vendor UEFI firmware should work as
well (ASCII search for $VBT, it's a 4-5kb file), combined with
SeaVGABIOS and using SeaBIOS master (I pushed a few fixes for
SeaVGABIOS recently).  This is what we're currently testing on the
Purism Librem laptops; the current release firmware uses a VBIOS
(extracted from another Skylake proprietary firmware) which is
executed by SeaBIOS, but seems to have some artifacting issues for
some users.

> Nico
> [1] BLC_PWM_(CTL|DATA) in
> https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-skl-vol02c-commandreference-registers-part1.pdf
> [2] PP_* and SBLC_PWM_CTL[12] in
> https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-skl-vol02c-commandreference-registers-part2.pdf

More information about the coreboot mailing list