[coreboot] [commit] r6412 - trunk/src/southbridge/ricoh/rl5c476
repository service
svn at coreboot.org
Mon Feb 28 19:10:00 CET 2011
Author: svens
Date: Mon Feb 28 19:09:58 2011
New Revision: 6412
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6412
Log:
add functions to set Subsystem Vendor/Device to rl5c746
Signed-off-by: Sven Schnelle <svens at stackframe.org>
Acked-by: Peter Stuge <peter at stuge.se>
Modified:
trunk/src/southbridge/ricoh/rl5c476/rl5c476.c
Modified: trunk/src/southbridge/ricoh/rl5c476/rl5c476.c
==============================================================================
--- trunk/src/southbridge/ricoh/rl5c476/rl5c476.c Mon Feb 28 04:59:34 2011 (r6411)
+++ trunk/src/southbridge/ricoh/rl5c476/rl5c476.c Mon Feb 28 19:09:58 2011 (r6412)
@@ -198,12 +198,29 @@
}
+static void rl5c476_set_subsystem(device_t dev, unsigned vendor, unsigned device)
+{
+ u16 miscreg = pci_read_config16(dev, 0x82);
+ /* Enable subsystem id register writes */
+ pci_write_config16(dev, 0x82, miscreg | 0x40);
+
+ pci_write_config16(dev, 0x40, vendor);
+ pci_write_config16(dev, 0x42, device);
+ /* restore original contents */
+ pci_write_config16(dev, 0x82, miscreg);
+}
+
+static struct pci_operations rl5c476_pci_ops = {
+ .set_subsystem = rl5c476_set_subsystem,
+};
+
static struct device_operations ricoh_rl5c476_ops = {
.read_resources = rl5c476_read_resources,
.set_resources = rl5c476_set_resources,
.enable_resources = cardbus_enable_resources,
.init = rl5c476_init,
.scan_bus = pci_scan_bridge,
+ .ops_pci = &rl5c476_pci_ops,
};
static const struct pci_driver ricoh_rl5c476_driver __pci_driver = {
More information about the coreboot
mailing list