add functions to set Subsystem Vendor/Device to rl5c746
Signed-off-by: Sven Schnelle <svens@stackframe.org> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6412 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
b671172320
commit
d175f44139
|
@ -198,12 +198,29 @@ static void rl5c476_set_resources(device_t dev)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 = {
|
static struct device_operations ricoh_rl5c476_ops = {
|
||||||
.read_resources = rl5c476_read_resources,
|
.read_resources = rl5c476_read_resources,
|
||||||
.set_resources = rl5c476_set_resources,
|
.set_resources = rl5c476_set_resources,
|
||||||
.enable_resources = cardbus_enable_resources,
|
.enable_resources = cardbus_enable_resources,
|
||||||
.init = rl5c476_init,
|
.init = rl5c476_init,
|
||||||
.scan_bus = pci_scan_bridge,
|
.scan_bus = pci_scan_bridge,
|
||||||
|
.ops_pci = &rl5c476_pci_ops,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct pci_driver ricoh_rl5c476_driver __pci_driver = {
|
static const struct pci_driver ricoh_rl5c476_driver __pci_driver = {
|
||||||
|
|
Loading…
Reference in New Issue