mb/lenovo/t*00/romstage: Switch to new hybrid driver
commitdb27e3384a596aad4e33abf535a72d42f7aab1e8
authorPatrick Rudolph <siro@das-labor.org>
Thu, 27 Jul 2017 16:00:59 +0000 (27 18:00 +0200)
committerMartin Roth <martinroth@google.com>
Thu, 10 Aug 2017 16:06:26 +0000 (10 16:06 +0000)
tree192c93964e2114fa742bd0d9be64363de1dfae22
parent24680d0902f70d3b63f8d7b11f47ffac73697d94
mb/lenovo/t*00/romstage: Switch to new hybrid driver

Get rid of old hybrid graphics driver and use the new one.

1. Disable IGD and PEG in early romstage.
 The PEG port will get disabled on devices that do not have a
 discrete GPU. The power savings are around ~1Watt.

 The disabled IGD does no longer waste GFX stolen memory.

2. Get rid of PCI driver
 The Nvidia GPU can be handled by the generic PCI driver and allows
 to use the ACPI _ROM generator for Switchable graphics.

3. Settings are stored in devicetree.
 One driver for all Lenovo hybrid graphics capable devices.

4. Add support for Thinker1 GPU power handling.
 Only boards that do use reference design 2012 are known to be
 supported. Needs test on boards that do you use reference design 2013.
 Should reduce idle power consumption when using IGD by ~5Watt.

Tested on Lenovo T430 without DGPU. PEG port is disabled.
Needs test on all devices.

Change-Id: Ibf18b75e8afe2568de8498b39a608dac8db3ba73
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/20794
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
14 files changed:
src/drivers/lenovo/Kconfig
src/drivers/lenovo/Makefile.inc
src/drivers/lenovo/hybrid_graphics.c [deleted file]
src/mainboard/lenovo/t420/Kconfig
src/mainboard/lenovo/t420/devicetree.cb
src/mainboard/lenovo/t420/romstage.c
src/mainboard/lenovo/t420s/devicetree.cb
src/mainboard/lenovo/t420s/romstage.c
src/mainboard/lenovo/t430/devicetree.cb
src/mainboard/lenovo/t430/romstage.c
src/mainboard/lenovo/t520/devicetree.cb
src/mainboard/lenovo/t520/romstage.c
src/mainboard/lenovo/t530/devicetree.cb
src/mainboard/lenovo/t530/romstage.c