[coreboot] [PATCH] v3: Geode VPCI disabling

ron minnich rminnich at gmail.com
Fri Feb 15 00:05:26 CET 2008


Acked-by: Ronald G. Minnich <rminnich at gmail.com>

On Thu, Feb 14, 2008 at 2:55 PM, Carl-Daniel Hailfinger
<c-d.hailfinger.devel.2006 at gmx.net> wrote:
> 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