Mike Banon has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/30987 )
Change subject: mb/asus: Add Asus A88XM-E FM2+ with documentation ......................................................................
Patch Set 35:
Friends, I got a discrete GPU working! :) After applying the patches of csb_patcher.sh from CB:33509 , I did a change similar to CB:31450 but for A88XM-E sources (see below), got AMD HD6670 dGPU's AtomBIOS (used TechPowerUp GPU-Z utility instead of a lengthy method [1], perhaps a "Retrieval via Linux kernel" would've also worked), and set up a .config as in [2]. Later it turned out AtomBIOS isn't needed, probably because this card has it in its' own flash memory.
Maybe I would try to commit CB:31448 and CB:31450 again, considering they benefit not just G505S but the other boards as well. Since I couldn't get AMD discrete GPU working without the changes like these, they seem to be vitally important.
[1] https://mail.coreboot.org/pipermail/coreboot/2017-July/084660.html [2] https://pastebin.com/ZJ7cyT8T
diff --git a/src/mainboard/asus/a88xm-e/Kconfig b/src/mainboard/asus/a88xm-e/Kconfig index ea3073ac00..ca7085304f 100644 --- a/src/mainboard/asus/a88xm-e/Kconfig +++ b/src/mainboard/asus/a88xm-e/Kconfig @@ -29,6 +29,7 @@ config BOARD_SPECIFIC_OPTIONS select SUPERIO_ITE_IT8728F select BOARD_ROMSIZE_KB_8192 select GFXUMA + select MAINBOARD_HAS_MULTIPLE_VGA_ADAPTERS
choice prompt "DDR3 memory voltage" diff --git a/src/mainboard/asus/a88xm-e/OemCustomize.c b/src/mainboard/asus/a88xm-e/OemCustomize.c index de41f54cd8..b64386381a 100644 --- a/src/mainboard/asus/a88xm-e/OemCustomize.c +++ b/src/mainboard/asus/a88xm-e/OemCustomize.c @@ -166,6 +166,8 @@ static CONST PSO_ENTRY ROMDATA MemoryTable_XM_E[] = {
void board_BeforeInitPost(struct sysinfo *cb, AMD_POST_PARAMS *InitPost) { + /* Set to 0xD0 instead of 0xE0 to avoid the PCI resource allocation problems. */ + InitPost->MemConfig.BottomIo = 0xD0; if (CONFIG(BOARD_ASUS_A88XM_E)) InitPost->MemConfig.PlatformMemoryConfiguration = (PSO_ENTRY *) MemoryTable_XM_E; }