cpu/amd/fam10h15h: Set up SRI to XCS Token Count registers on Family 15h

Change-Id: Ic992efad11d8e231ec85c793cf1e478bea0b9d3e
Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com>
Reviewed-on: http://review.coreboot.org/12040
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
This commit is contained in:
Timothy Pearson 2015-08-08 22:14:59 -05:00 committed by Stefan Reinauer
parent aab3ad256a
commit baa1acde7b

View file

@ -1489,6 +1489,46 @@ static void cpuSetAMDPCI(u8 node)
pci_write_config32(NODE_PCI(node, 3), (link << 2) + 0x148, dword);
}
}
/* Set up the SRI to XCS Token Count */
uint8_t free_tok;
uint8_t up_rsp_tok;
/* Set defaults */
free_tok = 0xa;
up_rsp_tok = 0x3;
if (!dual_node) {
free_tok = 0xa;
up_rsp_tok = 0x3;
} else {
if ((sockets == 1)
|| ((sockets == 2) && (sockets_populated == 1))) {
if (probe_filter_enabled) {
free_tok = 0x9;
up_rsp_tok = 0x3;
} else {
free_tok = 0xa;
up_rsp_tok = 0x3;
}
} else if ((sockets == 2) && (sockets_populated == 2)) {
free_tok = 0xb;
up_rsp_tok = 0x1;
} else if ((sockets == 4) && (sockets_populated == 2)) {
free_tok = 0xa;
up_rsp_tok = 0x3;
} else if ((sockets == 4) && (sockets_populated == 4)) {
free_tok = 0x9;
up_rsp_tok = 0x1;
}
}
dword = pci_read_config32(NODE_PCI(node, 3), 0x140);
dword &= ~(0xf << 20); /* FreeTok = free_tok */
dword |= ((free_tok & 0xf) << 20);
dword &= ~(0x3 << 8); /* UpRspTok = up_rsp_tok */
dword |= ((up_rsp_tok & 0x3) << 8);
pci_write_config32(NODE_PCI(node, 3), 0x140, dword);
}
printk(BIOS_DEBUG, " done\n");