coreboot-kgpe-d16/src/mainboard
Arthur Heymans f9d5308690 mb/lenovo/t400: Implement hybrid graphic in romstage
The hybrid driver select by DRIVERS_LENOVO_HYBRID_GRAPHICS doesn't work
for t400/t500.
Replace it with a custom romstage implementation.

Tested on Lenovo T500 with dual graphics:
* Intel Native GFX init
* AMD VBios
* GNU Linux 4.8.13
* SeaBios as payload
* Discrete is working (44 W)
* Integrated is working (24 W)
* Switchable is working (34 W)
** Both GPUs are enabled, with Intel being connected to the panel
** DRI_PRIME allows to use AMD GPU
** ACPI doesn't seem to work (no vgaswitcheroo)

Depends on Change-Id: I4dc00005270240c048272b2e4f52ae46ba1c9422
Depends on Change-Id: If389016f3bb0c4c2fd0b826914997a87a9137201

Change-Id: I7496876e9b434d4a2388e1ede27ac604670339b7
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/18010
Tested-by: build bot (Jenkins)
Reviewed-by: Alexander Couzens <lynxis@fe80.eu>
2017-02-19 19:15:40 +01:00
..
a-trend src/mainboard/a-trend - emulation: Add space around operators 2016-09-20 19:06:28 +02:00
aaeon
abit src/mainboard/a-trend - emulation: Add space around operators 2016-09-20 19:06:28 +02:00
adi cpu/x86/msr.h: Drop excessive includes 2016-12-06 20:54:31 +01:00
adlink
advansus src/amd: Add common definition of AMD ACPI MMIO address 2017-01-05 21:53:55 +01:00
amd ddr3 spd: move accessor code into lib/spd_bin.c 2017-02-10 18:04:33 +01:00
aopen aopen/dxplplusu: Switch to 2MiB flash 2017-01-13 17:47:20 +01:00
apple apple/macbook21: Remove unused include smbios.h 2017-02-18 23:41:27 +01:00
artecgroup mainboard/artecgroup/dbe61/mainboard.c: Use tab for indents 2016-11-30 23:51:00 +01:00
asrock amdfam10: Perform major include ".c" cleanup 2017-01-04 18:56:01 +01:00
asus asus/f2a85-m_le: Activate IOMMU support 2017-02-03 02:02:38 +01:00
avalue src/amd: Add common definition of AMD ACPI MMIO address 2017-01-05 21:53:55 +01:00
azza src/mainboard/a-trend - emulation: Add space around operators 2016-09-20 19:06:28 +02:00
bachmann
bap ddr3 spd: move accessor code into lib/spd_bin.c 2017-02-10 18:04:33 +01:00
bcom src/mainboard/a-trend - emulation: Add space around operators 2016-09-20 19:06:28 +02:00
bifferos
biostar src/amd: Add common definition of AMD ACPI MMIO address 2017-01-05 21:53:55 +01:00
broadcom amdfam10: Perform major include ".c" cleanup 2017-01-04 18:56:01 +01:00
compaq src/mainboard/a-trend - emulation: Add space around operators 2016-09-20 19:06:28 +02:00
cubietech
digitallogic mainboard/digitallogic/msm800sev: Use tabs for indents 2016-10-01 08:34:28 +02:00
dmp
ecs mainboard/*/*/irq_tables.c: Use tabs for indents 2016-09-26 13:22:39 +02:00
elmex amd-based mainboards: Fix whitespace in _PTS comments 2016-12-26 17:39:00 +01:00
emulation riscv/spike: Remove obsolete DRAM_SIZE_MB setting 2017-01-16 06:14:36 +01:00
esd cpu/x86/msr.h: Drop excessive includes 2016-12-06 20:54:31 +01:00
getac sb/ich7: Use common/gpio.h to set up GPIOs 2017-01-06 18:14:00 +01:00
gigabyte nb/intel/x4x: Implement resume from S3 suspend 2017-02-17 23:44:36 +01:00
gizmosphere ddr3 spd: move accessor code into lib/spd_bin.c 2017-02-10 18:04:33 +01:00
google mainboard/eve: select SOC_INTEL_KABYLAKE 2017-02-17 19:02:47 +01:00
hp amdfam10: Perform major include ".c" cleanup 2017-01-04 18:56:01 +01:00
ibase sb/ich7: Use common/gpio.h to set up GPIOs 2017-01-06 18:14:00 +01:00
iei amdfam10: Perform major include ".c" cleanup 2017-01-04 18:56:01 +01:00
intel i2c/generic: Allow GPIOs to be put in _CRS and PowerResource in ACPI 2017-01-29 21:07:22 +01:00
iwave cpu/x86/msr.h: Drop excessive includes 2016-12-06 20:54:31 +01:00
iwill amdfam10: Perform major include ".c" cleanup 2017-01-04 18:56:01 +01:00
jetway amdfam10: Perform major include ".c" cleanup 2017-01-04 18:56:01 +01:00
kontron sb/ich7: Use common/gpio.h to set up GPIOs 2017-01-06 18:14:00 +01:00
lanner mainboard/lanner/em8510: Use tabs for indents 2016-09-29 23:51:19 +02:00
lenovo mb/lenovo/t400: Implement hybrid graphic in romstage 2017-02-19 19:15:40 +01:00
linutop
lippert amd-based mainboards: Fix whitespace in _PTS comments 2016-12-26 17:39:00 +01:00
lowrisc mb/lowrisc/nexys4ddr: Read RAM information from the config string 2016-12-06 18:52:42 +01:00
mitac
msi src/amd: Add common definition of AMD ACPI MMIO address 2017-01-05 21:53:55 +01:00
nec
nokia
nvidia amdfam10: Perform major include ".c" cleanup 2017-01-04 18:56:01 +01:00
packardbell intel/nehalem: Use romstage_handoff for S3 2016-12-11 08:59:35 +01:00
pcengines ddr3 spd: move accessor code into lib/spd_bin.c 2017-02-10 18:04:33 +01:00
purism
rca mainboard/rca/rm4100: transition away from device_t 2016-11-10 16:55:42 +01:00
roda sb/ich7: Use common/gpio.h to set up GPIOs 2017-01-06 18:14:00 +01:00
samsung cpu/x86/msr.h: Drop excessive includes 2016-12-06 20:54:31 +01:00
siemens siemens/mc_apl1: Make basic settings for booting the mainboard 2017-02-15 21:38:03 +01:00
soyo
sunw amdfam10: Perform major include ".c" cleanup 2017-01-04 18:56:01 +01:00
supermicro amdfam10: Perform major include ".c" cleanup 2017-01-04 18:56:01 +01:00
technexion amd-based mainboards: Fix whitespace in _PTS comments 2016-12-26 17:39:00 +01:00
thomson mainboard/thomson/ip1000: transition away from device_t 2016-11-10 17:00:59 +01:00
ti
traverse
tyan amdfam10: Perform major include ".c" cleanup 2017-01-04 18:56:01 +01:00
via mainboard/via/vt8454c: transition away from device_t 2016-11-15 18:19:12 +01:00
winent Kconfig: Update default hex values to start with 0x 2016-10-02 19:08:15 +02:00
wyse mainboard/*/*/irq_tables.c: Use tabs for indents 2016-09-26 13:22:39 +02:00
Kconfig Kconfig: Remind users to delete .config when switching boards 2017-01-06 21:33:58 +01:00