util/autoport: Add support for 9 Series PCHs (Lynx Point Refresh)
The existing Lynx Point code is known to work with 9 series PCHs, as evidenced by commitf5105313cf("mb/asrock/z97_extreme6: Add new mainboard") and commit58c7a84097("mb/asrock: Add Z97E-ITX/ac (Haswell/Broadwell)"). Add the missing IDs to autoport's existing Lynx Point code. These IDs were taken from the Intel 9 Series Chipset Family Platform Controller Hub datasheet (document 330550), section 1.4 "Device and Revision ID Table". TEST=Autoport output for the ASRock Z87E-ITX remains unchanged TEST=Autoport generates output for the ASRock Z97E-ITX/ac Change-Id: I94c0b35245624d1a68ab69332fe9a5c5abfc5310 Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/90054 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
3c9077cb81
commit
4a09db75d9
2 changed files with 45 additions and 9 deletions
|
|
@ -65,7 +65,9 @@ func init() {
|
|||
RegisterPCI(0x8086, 0x1c20, azalia{})
|
||||
/* C216/ivybridge */
|
||||
RegisterPCI(0x8086, 0x1e20, azalia{})
|
||||
/* Lynx Point */
|
||||
/* Lynx Point (8 Series PCH) */
|
||||
RegisterPCI(0x8086, 0x8c20, azalia{})
|
||||
RegisterPCI(0x8086, 0x9c20, azalia{})
|
||||
/* Lynx Point Refresh (9 Series PCH) */
|
||||
RegisterPCI(0x8086, 0x8ca0, azalia{})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ const (
|
|||
LYNX_POINT_DESKTOP
|
||||
LYNX_POINT_SERVER
|
||||
LYNX_POINT_ULT
|
||||
LYNX_POINT_REFRESH
|
||||
)
|
||||
|
||||
type lynxpoint struct {
|
||||
|
|
@ -161,6 +162,11 @@ func (b lynxpoint) Scan(ctx Context, addr PCIDevData) {
|
|||
ich9GetFlashSize(ctx)
|
||||
}
|
||||
|
||||
if (b.variant == LYNX_POINT_REFRESH) {
|
||||
KconfigBool["USE_BROADWELL_MRC"] = true
|
||||
KconfigComment["USE_BROADWELL_MRC"] = "if !USE_NATIVE_RAMINIT # FIXME: Uncomment the if"
|
||||
}
|
||||
|
||||
FADT := ctx.InfoSource.GetACPI()["FACP"]
|
||||
|
||||
sp0dtle_data := (inteltool.IOBP[0xea002750] >> 24) & 0xf
|
||||
|
|
@ -393,12 +399,14 @@ const struct usb3_port_config mainboard_usb3_ports[MAX_USB3_PORTS] = {
|
|||
|
||||
func init() {
|
||||
for _, id := range []uint16{
|
||||
/* Lynx Point (8 Series PCH) */
|
||||
0x8c41, 0x8c49, 0x8c4b, 0x8c4f,
|
||||
} {
|
||||
RegisterPCI(0x8086, uint16(id), lynxpoint{variant: LYNX_POINT_MOBILE})
|
||||
}
|
||||
|
||||
for _, id := range []uint16{
|
||||
/* Lynx Point (8 Series PCH) */
|
||||
0x8c42, 0x8c44, 0x8c46, 0x8c4a,
|
||||
0x8c4c, 0x8c4e, 0x8c50, 0x8c5c,
|
||||
} {
|
||||
|
|
@ -417,52 +425,78 @@ func init() {
|
|||
RegisterPCI(0x8086, uint16(id), lynxpoint{variant: LYNX_POINT_ULT})
|
||||
}
|
||||
|
||||
for _, id := range []uint16{
|
||||
/* Lynx Point Refresh (9 Series PCH) */
|
||||
0x8cc1, 0x8cc2, 0x8cc3, 0x8cc4, 0x8cc6,
|
||||
} {
|
||||
RegisterPCI(0x8086, uint16(id), lynxpoint{variant: LYNX_POINT_REFRESH})
|
||||
}
|
||||
|
||||
/* PCIe bridge */
|
||||
for _, id := range []uint16{
|
||||
/* Lynx Point (8 Series PCH) */
|
||||
0x8c10, 0x8c12, 0x8c14, 0x8c16, 0x8c18, 0x8c1a, 0x8c1c, 0x8c1e,
|
||||
/* Lynx Point LP */
|
||||
0x9c10, 0x9c12, 0x9c14, 0x9c16, 0x9c18, 0x9c1a,
|
||||
/* Lynx Point Refresh (9 Series PCH) */
|
||||
0x8c90, 0x8c92, 0x8c94, 0x8c96, 0x8c98, 0x8c9a, 0x8c9c, 0x8c9e,
|
||||
} {
|
||||
RegisterPCI(0x8086, id, GenericPCI{})
|
||||
}
|
||||
|
||||
/* SMBus controller */
|
||||
RegisterPCI(0x8086, 0x8c22, GenericPCI{MissingParent: "smbus"})
|
||||
RegisterPCI(0x8086, 0x9c22, GenericPCI{MissingParent: "smbus"})
|
||||
RegisterPCI(0x8086, 0x8c22, GenericPCI{MissingParent: "smbus"}) /* Lynx Point (8 Series PCH) */
|
||||
RegisterPCI(0x8086, 0x9c22, GenericPCI{MissingParent: "smbus"}) /* Lynx Point LP */
|
||||
RegisterPCI(0x8086, 0x8ca2, GenericPCI{MissingParent: "smbus"}) /* Lynx Point Refresh (9 Series PCH) */
|
||||
|
||||
/* SATA */
|
||||
for _, id := range []uint16{
|
||||
/* Lynx Point (8 Series PCH) */
|
||||
0x8c00, 0x8c02, 0x8c04, 0x8c06, 0x8c08, 0x8c0e,
|
||||
0x8c01, 0x8c03, 0x8c05, 0x8c07, 0x8c09, 0x8c0f,
|
||||
/* Lynx Point LP */
|
||||
0x9c03, 0x9c05, 0x9c07, 0x9c0f,
|
||||
/* Lynx Point Refresh (9 Series PCH) */
|
||||
0x8c80, 0x8c82, 0x8c84, 0x8c86, 0x8c88, 0x8c8e,
|
||||
0x8c81, 0x8c83, 0x8c85, 0x8c87, 0x8c89, 0x8c8f,
|
||||
} {
|
||||
RegisterPCI(0x8086, id, GenericPCI{})
|
||||
}
|
||||
|
||||
/* EHCI */
|
||||
for _, id := range []uint16{
|
||||
0x9c26, 0x8c26, 0x8c2d,
|
||||
0x8c26, 0x8c2d, /* Lynx Point (8 Series PCH) */
|
||||
0x9c26, /* Lynx Point LP */
|
||||
0x8ca6, 0x8cad, /* Lynx Point Refresh (9 Series PCH) */
|
||||
} {
|
||||
RegisterPCI(0x8086, id, GenericPCI{})
|
||||
}
|
||||
|
||||
/* XHCI */
|
||||
RegisterPCI(0x8086, 0x8c31, GenericPCI{})
|
||||
RegisterPCI(0x8086, 0x9c31, GenericPCI{})
|
||||
RegisterPCI(0x8086, 0x8c31, GenericPCI{}) /* Lynx Point (8 Series PCH) */
|
||||
RegisterPCI(0x8086, 0x9c31, GenericPCI{}) /* Lynx Point LP */
|
||||
RegisterPCI(0x8086, 0x8cb1, GenericPCI{}) /* Lynx Point Refresh (9 Series PCH) */
|
||||
|
||||
/* ME and children */
|
||||
for _, id := range []uint16{
|
||||
/* Lynx Point (8 Series PCH) */
|
||||
0x8c3a, 0x8c3b, 0x8c3c, 0x8c3d,
|
||||
/* Lynx Point LP */
|
||||
0x9c3a, 0x9c3b, 0x9c3c, 0x9c3d,
|
||||
/* Lynx Point Refresh (9 Series PCH) */
|
||||
0x8cba, 0x8cbb, 0x8cbc, 0x8cbd,
|
||||
} {
|
||||
RegisterPCI(0x8086, id, GenericPCI{})
|
||||
}
|
||||
|
||||
/* Ethernet */
|
||||
RegisterPCI(0x8086, 0x8c33, GenericPCI{})
|
||||
RegisterPCI(0x8086, 0x8c33, GenericPCI{}) /* Lynx Point (8 Series PCH) */
|
||||
RegisterPCI(0x8086, 0x8cb3, GenericPCI{}) /* Lynx Point Refresh (9 Series PCH) */
|
||||
|
||||
/* Thermal */
|
||||
RegisterPCI(0x8086, 0x8c24, GenericPCI{})
|
||||
RegisterPCI(0x8086, 0x9c24, GenericPCI{})
|
||||
RegisterPCI(0x8086, 0x8c24, GenericPCI{}) /* Lynx Point (8 Series PCH) */
|
||||
RegisterPCI(0x8086, 0x9c24, GenericPCI{}) /* Lynx Point LP */
|
||||
RegisterPCI(0x8086, 0x8ca4, GenericPCI{}) /* Lynx Point Refresh (9 Series PCH) */
|
||||
|
||||
/* LAN Controller on LP PCH (if EEPROM has 0x0000/0xffff in DID) */
|
||||
RegisterPCI(0x8086, 0x155a, GenericPCI{})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue