coreboot/src/northbridge/intel
Angel Pons 598ec6af98 nb/intel/haswell: Enable DMI ASPM
On Haswell platforms, the processor and the PCH are two separate dies,
and communicate through a high-speed bus. This is DMI (Direct Media
Interface) on traditional two-package platforms, but single-package
Haswell LP variants use OPI (On-Package Interconnect) instead.

Since OPI is not routed through the mainboard, most link parameters are
static and cannot be changed. OPI self-initializes on boot, anyway.

However, DMI needs to be initialized in firmware. On Haswell, the MRC
initializes the physical DMI link, but things like topology and power
management need to be configured as well. And we don't do that properly.

We enable ASPM on the PCH side of the DMI link, but not on the SA side.
Both sides need to use the same settings, so enable DMI ASPM on the SA.
Clearing the error status bits needs to be done on all Haswell variants.

Tested on Asrock B85M Pro4, still boots.

Change-Id: Ie97ff56eec9f928cfd2d5d43a287f3e0d2fbf3cf
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/43743
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2020-07-28 10:54:29 +00:00
..
e7505 src: Remove unused 'include <cpu/x86/msr.h>' 2020-07-14 16:14:09 +00:00
gm45 src: Change BOOL CONFIG_ to CONFIG() in comments & strings 2020-07-26 21:20:30 +00:00
haswell nb/intel/haswell: Enable DMI ASPM 2020-07-28 10:54:29 +00:00
i440bx nb/intel/i440bx: Add PMCR register to ACPI code 2020-07-06 06:27:36 +00:00
i945 src: Change BOOL CONFIG_ to CONFIG() in comments & strings 2020-07-26 21:20:30 +00:00
ironlake nb/intel/ironlake/raminit.c: initialize 'reply.command' 2020-07-25 01:23:49 +00:00
pineview nb/intel/pineview/acpi: Remove unmatched comment start 2020-07-08 22:10:21 +00:00
sandybridge src: Change BOOL CONFIG_ to CONFIG() in comments & strings 2020-07-26 21:20:30 +00:00
x4x src: Remove unused 'include <types.h>' 2020-07-14 16:10:17 +00:00