[coreboot] [PATCH] v3: Geode VPCI disabling
Carl-Daniel Hailfinger
c-d.hailfinger.devel.2006 at gmx.net
Thu Feb 14 23:55:52 CET 2008
On 14.02.2008 23:32, ron minnich wrote:
> On Thu, Feb 14, 2008 at 2:32 PM, Carl-Daniel Hailfinger
>
>> Indeed. That would solve the problem very nicely without putting hacks
>> into the dts.
>>
>>
>
> OK, so we put nodes under the 5536, and specify 'disabled', and the
> 5536 code knows to actually call VSA when it sees that they are
> disabled. This is nice. It would use the device tree in a sensible
> way.
>
Factor out Geode LX VPCI device disabling into a separate function which
consumes one device at a time. This helps avoid array handling in the
dts and allows us to use generic disabling infrastructure.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
Index: LinuxBIOSv3-unwantedvpci/southbridge/amd/cs5536/cs5536.c
===================================================================
--- LinuxBIOSv3-unwantedvpci/southbridge/amd/cs5536/cs5536.c (Revision 599)
+++ LinuxBIOSv3-unwantedvpci/southbridge/amd/cs5536/cs5536.c (Arbeitskopie)
@@ -570,6 +570,14 @@
}
+static void disable_vpci(u32 vpci)
+{
+ /* Disable unwanted virtual PCI device. */
+ printk(BIOS_DEBUG, "Disabling VPCI device: 0x%08X\n", vpci);
+ outl(vpci + 0x7C, 0xCF8);
+ outl(0xDEADBEEF, 0xCFC);
+}
+
/**
* TODO.
*
@@ -608,16 +616,6 @@
if (sb->enable_ide)
ide_init(dev);
-#warning Add back in unwanted VPCI support
-#if 0
- /* Disable unwanted virtual PCI devices. */
- for (i = 0; (i < MAX_UNWANTED_VPCI) && (0 != sb->unwanted_vpci[i]); i++) {
- printk(BIOS_DEBUG, "Disabling VPCI device: 0x%08X\n",
- sb->unwanted_vpci[i]);
- outl(sb->unwanted_vpci[i] + 0x7C, 0xCF8);
- outl(0xDEADBEEF, 0xCFC);
- }
-#endif
printk(BIOS_SPEW, "cs5536: %s() Exit\n", __FUNCTION__);
}
--
http://www.hailfinger.org/
More information about the coreboot
mailing list