[coreboot-gerrit] New patch to review for coreboot: 700e574 AMD Kabini: Add map_oprom() function for Vendor/Device IDs

Bruce Griffith (Bruce.Griffith@se-eng.com) gerrit at coreboot.org
Wed Jul 24 12:31:07 CEST 2013


Bruce Griffith (Bruce.Griffith at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3806

-gerrit

commit 700e57421a403d298601f1cf9b5ec18d807b3145
Author: Bruce Griffith <Bruce.Griffith at se-eng.com>
Date:   Sun Jul 7 02:06:53 2013 -0600

    AMD Kabini: Add map_oprom() function for Vendor/Device IDs
    
    Change-Id: I14285f0677003fbf8b9b112207af202658807894
    Reviewed-by: Marc Jones <marc.jones at se-eng.com>
    Signed-off-by: Bruce Griffith <Bruce.Griffith at se-eng.com>
---
 src/northbridge/amd/agesa/family16kb/Kconfig       |  7 +++++
 src/northbridge/amd/agesa/family16kb/northbridge.c | 32 ++++++++++++++++++++++
 2 files changed, 39 insertions(+)

diff --git a/src/northbridge/amd/agesa/family16kb/Kconfig b/src/northbridge/amd/agesa/family16kb/Kconfig
index f39b926..259195b 100644
--- a/src/northbridge/amd/agesa/family16kb/Kconfig
+++ b/src/northbridge/amd/agesa/family16kb/Kconfig
@@ -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
diff --git a/src/northbridge/amd/agesa/family16kb/northbridge.c b/src/northbridge/amd/agesa/family16kb/northbridge.c
index cd37d2f..8239d37 100644
--- a/src/northbridge/amd/agesa/family16kb/northbridge.c
+++ b/src/northbridge/amd/agesa/family16kb/northbridge.c
@@ -1149,3 +1149,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;
+}



More information about the coreboot-gerrit mailing list