coreboot-kgpe-d16/src/drivers
Patrick Rudolph d7dcc44eb9 drvs/lenovo/hybrid_graphics: Add new hybrid graphics driver
Introduce a chip_driver that uses devicetree instead of Kconfig.

The new driver has the following advantages:

* No more wasted IGD GFX stolen memory
* Can be used by T500 series
* Is even run on devices that do not have a dGPU installed
* Can disable unused PEG port on devices without dGPU (and save power)
* Use devicetree instead of Kconfig options
* Support for multiple hybrid GPIO active levels
* Support for backlight control GPIO
* Support for _ROM on Optimus capable devices

The driver is split into romstage part and ramstage part.

Every mainboard has to call the driver in romstage to get the requested
GPU state. The mainboard code then has to toggle GPU power or disable
the IGD or PEG port.

The ramstage part does handle the hygrid graphics GPIO, including
optional backlight mux GPIO. Every GPIO can have it's own active level,
as defined in devicetree. Devices are no longer disabled in ramstage.

The existing hybrid graphics driver does the same configuration and
should not interfere with this commit until it has been removed.

Change-Id: Ie467f9a18b35ab3b8a523dbf51c5575db5b374a5
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/20792
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2017-08-10 16:05:56 +00:00
..
ams
aspeed src/drivers: Fix checkpatch warning: no spaces at the start of a line 2017-07-28 16:24:57 +00:00
ati/ragexl src/drivers: Fix checkpatch warning: no spaces at the start of a line 2017-07-28 16:24:57 +00:00
dec/21143
elog src/drivers: add IS_ENABLED() around Kconfig symbol references 2017-07-13 23:54:48 +00:00
emulation/qemu src/drivers: Add license headers 2017-06-12 04:08:14 +02:00
generic drivers/regulator: Add driver for handling GPIO-based fixed regulator 2016-12-17 04:21:19 +01:00
gic
i2c drivers/i2c: Add driver for rt5663 codec 2017-08-09 22:05:46 +00:00
ics/954309 src/drivers: Fix checkpatch warning: no spaces at the start of a line 2017-07-28 16:24:57 +00:00
intel SMBIOS: Correct length calculation for empty string table 2017-08-10 15:56:45 +00:00
ipmi src/drivers: Fix checkpatch warning: no spaces at the start of a line 2017-07-28 16:24:57 +00:00
lenovo drvs/lenovo/hybrid_graphics: Add new hybrid graphics driver 2017-08-10 16:05:56 +00:00
maxim
net src/drivers: Fix checkpatch warning: no spaces at the start of a line 2017-07-28 16:24:57 +00:00
parade lib/edid.c: Differentiate between absent and non-conformant EDID 2017-05-03 16:16:43 +02:00
pc80 src/drivers: Fix checkpatch warning: no spaces at the start of a line 2017-07-28 16:24:57 +00:00
ricoh/rce822 buildsystem: Drop explicit (k)config.h includes 2016-12-08 19:46:53 +01:00
siemens/nc_fpga siemens/nc_fpga: Add support for lowest FAN speed to FAN controller 2017-07-28 16:16:42 +00:00
sil/3114 src/drivers: Fix checkpatch warning: no spaces at the start of a line 2017-07-28 16:24:57 +00:00
spi drivers/spi: add IS_ENABLED() around Kconfig symbol references 2017-07-02 18:56:25 +00:00
ti
uart drivers/uart: Use baudrate of 115200 by default 2017-08-04 15:27:50 +00:00
usb usbdebug: Force EHCI to D0 state 2017-08-07 12:36:35 +00:00
xgi src/drivers: Fix checkpatch warning: no spaces at the start of a line 2017-07-28 16:24:57 +00:00
xpowers/axp209