- New superIO winbond/w83977tf - Add single memory controller SBbus debug routine into a file private to the i440bx This adds support the start of support for an Asus p2b mainboard. Current limitations are the same as for the Bitworks IMS board. Reads from the SMbus don't work. Moving dump_spd_registers() into its own private copy solves the problem of having to go hack on the version that included in src/sdram to only do one memory controller. git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2351 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
67 lines
1.4 KiB
C
67 lines
1.4 KiB
C
|
|
static void print_debug_pci_dev(unsigned dev)
|
|
{
|
|
print_debug("PCI: ");
|
|
print_debug_hex8((dev >> 16) & 0xff);
|
|
print_debug_char(':');
|
|
print_debug_hex8((dev >> 11) & 0x1f);
|
|
print_debug_char('.');
|
|
print_debug_hex8((dev >> 8) & 7);
|
|
}
|
|
|
|
static void print_pci_devices(void)
|
|
{
|
|
device_t dev;
|
|
for(dev = PCI_DEV(0, 0, 0);
|
|
dev <= PCI_DEV(0, 0x1f, 0x7);
|
|
dev += PCI_DEV(0,0,1)) {
|
|
uint32_t id;
|
|
id = pci_read_config32(dev, PCI_VENDOR_ID);
|
|
if (((id & 0xffff) == 0x0000) || ((id & 0xffff) == 0xffff) ||
|
|
(((id >> 16) & 0xffff) == 0xffff) ||
|
|
(((id >> 16) & 0xffff) == 0x0000)) {
|
|
continue;
|
|
}
|
|
print_debug_pci_dev(dev);
|
|
print_debug("\r\n");
|
|
}
|
|
}
|
|
|
|
static void dump_pci_device(unsigned dev)
|
|
{
|
|
int i;
|
|
print_debug_pci_dev(dev);
|
|
print_debug("\r\n");
|
|
|
|
for(i = 0; i <= 255; i++) {
|
|
unsigned char val;
|
|
if ((i & 0x0f) == 0) {
|
|
print_debug_hex8(i);
|
|
print_debug_char(':');
|
|
}
|
|
val = pci_read_config8(dev, i);
|
|
print_debug_char(' ');
|
|
print_debug_hex8(val);
|
|
if ((i & 0x0f) == 0x0f) {
|
|
print_debug("\r\n");
|
|
}
|
|
}
|
|
}
|
|
|
|
static void dump_pci_devices(void)
|
|
{
|
|
device_t dev;
|
|
for(dev = PCI_DEV(0, 0, 0);
|
|
dev <= PCI_DEV(0, 0x1f, 0x7);
|
|
dev += PCI_DEV(0,0,1)) {
|
|
uint32_t id;
|
|
id = pci_read_config32(dev, PCI_VENDOR_ID);
|
|
if (((id & 0xffff) == 0x0000) || ((id & 0xffff) == 0xffff) ||
|
|
(((id >> 16) & 0xffff) == 0xffff) ||
|
|
(((id >> 16) & 0xffff) == 0x0000)) {
|
|
continue;
|
|
}
|
|
dump_pci_device(dev);
|
|
}
|
|
}
|