Balázs Vinarz 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 25:
(11 comments)
I couldn't really find other changes which might need more explanation.
https://review.coreboot.org/c/coreboot/+/30987/22/src/mainboard/asus/a88xm-e... File src/mainboard/asus/a88xm-e/OemCustomize.c:
https://review.coreboot.org/c/coreboot/+/30987/22/src/mainboard/asus/a88xm-e... PS22, Line 170: InitPost->MemConfig.PlatformMemoryConfiguration = (PSO_ENTRY *) MemoryTable_XM_E;
line over 96 characters
Ack
https://review.coreboot.org/c/coreboot/+/30987/23/src/mainboard/asus/a88xm-e... File src/mainboard/asus/a88xm-e/bootblock.c:
https://review.coreboot.org/c/coreboot/+/30987/23/src/mainboard/asus/a88xm-e... PS23, Line 24: #define SB_MMIO_MISC32(x) *(volatile u32 *)(AMD_SB_ACPI_MMIO_ADDR + 0xE00 + (x))
Macros with complex values should be enclosed in parentheses
Ack
https://review.coreboot.org/c/coreboot/+/30987/25/src/mainboard/asus/a88xm-e... File src/mainboard/asus/a88xm-e/buildOpts.c:
https://review.coreboot.org/c/coreboot/+/30987/25/src/mainboard/asus/a88xm-e... PS25, Line 146: #
F2A85-M had it as CpbModeDisabled, but here it's CpbModeAuto. […]
This was my own decision, which it enables the core performance boost. It just works as expected.
https://review.coreboot.org/c/coreboot/+/30987/25/src/mainboard/asus/a88xm-e... PS25, Line 184: #
Why BLDCFG_IOMMU_SUPPORT is disabled? F2A85-M had it enabled
I couldn't boot up the machine with IOMMU enabled.
https://review.coreboot.org/c/coreboot/+/30987/25/src/mainboard/asus/a88xm-e... PS25, Line 325: #
F2A85-M had it as FALSE, but here it's TRUE. […]
This port is used for the ethernet chip.
https://review.coreboot.org/c/coreboot/+/30987/25/src/mainboard/asus/a88xm-e... File src/mainboard/asus/a88xm-e/devicetree.cb:
https://review.coreboot.org/c/coreboot/+/30987/25/src/mainboard/asus/a88xm-e... PS25, Line 29: d
Why IOMMU is disabled? F2A85-M had it enabled
Same just like I mentioned previously IOMMU has blocked the boot for two different Arch and Ubuntu 18.04.3 releases.
https://review.coreboot.org/c/coreboot/+/30987/25/src/mainboard/asus/a88xm-e... PS25, Line 33: end
F2A85-M had "device pci 4.0 on end # PCIE 4x black". […]
This board has one less PCIe ports, the other one is connected to 15.0.
https://review.coreboot.org/c/coreboot/+/30987/22/src/mainboard/asus/a88xm-e... File src/mainboard/asus/a88xm-e/romstage.c:
https://review.coreboot.org/c/coreboot/+/30987/22/src/mainboard/asus/a88xm-e... PS22, Line 18: #include <console/console.h> : #include <device/pnp_type.h> : #include <device/pci_ops.h>
remove
Done
https://review.coreboot.org/c/coreboot/+/30987/22/src/mainboard/asus/a88xm-e... PS22, Line 22: #include <southbridge/amd/common/amd_defs.h> : #include <southbridge/amd/agesa/hudson/hudson.h>
remove
Done
https://review.coreboot.org/c/coreboot/+/30987/22/src/mainboard/asus/a88xm-e... PS22, Line 26: #include <string.h> : : #include <superio/ite/common/ite.h> : #include <superio/ite/it8728f/it8728f.h> : : #define MMIO_NON_POSTED_START 0xfed00000 : #define MMIO_NON_POSTED_END 0xfedfffff : #define SB_MMIO_MISC32(x) (*(volatile u32 *)(AMD_SB_ACPI_MMIO_ADDR + 0xE00 + (x))) : : static void sbxxx_enable_48mhzout(void) : { : /* most likely programming to 48MHz out signal */ : u32 reg32; : reg32 = SB_MMIO_MISC32(0x28); : reg32 &= 0xffc7ffff; : reg32 |= 0x00100000; : SB_MMIO_MISC32(0x28) = reg32; : : reg32 = SB_MMIO_MISC32(0x40); : reg32 &= ~0x80u; : SB_MMIO_MISC32(0x40) = reg32; : } : : static void superio_init_e(void) : { : pnp_devfn_t uart = PNP_DEV(0x2e, IT8728F_SP1); : pnp_devfn_t gpio = PNP_DEV(0x2e, IT8728F_GPIO); : : ite_kill_watchdog(gpio); : ite_enable_serial(uart, CONFIG_TTYS0_BASE); : ite_enable_3vsbsw(gpio); : }
remove
Done
https://review.coreboot.org/c/coreboot/+/30987/22/src/mainboard/asus/a88xm-e... PS22, Line 62: pci_devfn_t dev; : : /* enable SIO LPC decode */ : dev = PCI_DEV(0, 0x14, 3); : byte = pci_read_config8(dev, 0x48); : byte |= 3; /* 2e, 2f */ : pci_write_config8(dev, 0x48, byte); : : /* enable serial decode */ : byte = pci_read_config8(dev, 0x44); : byte |= (1 << 6); /* 0x3f8 */ : pci_write_config8(dev, 0x44, byte); : : post_code(0x30); : : /* enable SB MMIO space */ : outb(0x24, 0xcd6); : outb(0x1, 0xcd7); : : /* enable SIO clock */ : sbxxx_enable_48mhzout(); : : if (CONFIG(BOARD_ASUS_A88XM_E)) : superio_init_e();
remove
Done