AMD Kabini: Add map_oprom() function for Vendor/Device IDs

Change-Id: I14285f0677003fbf8b9b112207af202658807894
Reviewed-by: Marc Jones <marc.jones@se-eng.com>
Signed-off-by: Bruce Griffith <Bruce.Griffith@se-eng.com>
Reviewed-by: Bruce Griffith <bruce.griffith@se-eng.com>
Tested-by: Bruce Griffith <bruce.griffith@se-eng.com>
Reviewed-on: http://review.coreboot.org/3806
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martin.roth@se-eng.com>
This commit is contained in:
Bruce Griffith 2013-07-07 02:06:53 -06:00
parent 17933e8bc1
commit 76db07e8c2
2 changed files with 39 additions and 0 deletions

View File

@ -38,4 +38,11 @@ config MMCONF_BUS_NUMBER
int
default 256
config VGA_BIOS_ID
string
default "1002,9830"
help
The default VGA BIOS PCI vendor/device ID should be set to the
result of the map_oprom_vendev() function in northbridge.c.
endif

View File

@ -1144,3 +1144,35 @@ struct chip_operations northbridge_amd_agesa_family16kb_root_complex_ops = {
CHIP_NAME("AMD FAM16 Root Complex")
.enable_dev = root_complex_enable_dev,
};
/*********************************************************************
* Change the vendor / device IDs to match the generic VBIOS header. *
*********************************************************************/
u32 map_oprom_vendev(u32 vendev)
{
u32 new_vendev = vendev;
switch(vendev) {
case 0x10029830:
case 0x10029831:
case 0x10029832:
case 0x10029833:
case 0x10029834:
case 0x10029835:
case 0x10029836:
case 0x10029837:
case 0x10029838:
case 0x10029839:
case 0x1002983A:
case 0x1002983D:
new_vendev = 0x10029830; // This is the default value in AMD-generated VBIOS
break;
default:
break;
}
if (vendev != new_vendev)
printk(BIOS_NOTICE, "Mapping PCI device %8x to %8x\n", vendev, new_vendev);
return new_vendev;
}