[coreboot] [patch] i82810 WIP for fixing VGA and 512MB

z4ziggy at gmail.com z4ziggy at gmail.com
Tue Nov 18 06:29:30 CET 2008


On Nov 18, 2008 7:26am, Corey Osgood <corey.osgood at gmail.com> wrote:
> On Mon, Nov 17, 2008 at 11:45 PM, Elia Yehuda z4ziggy at gmail.com> wrote:
>
> well, i managed to make it work as you initially suggested  
(adding .ops_pci to northbridge_operations),
> but... i had to change the .device to 0x7124 (which is what lspci shows  
me) - are you all sure 82810
>
>
> device_id is 7120? i use 82810e but according to datasheet it should be  
the same.
>
> Nope, here's from my i810 datasheet:
>
> DIDDevice Identification Register (Device 0)
> Address Offset: 02–03h
>
> Default Value: 82810 = 7120h
> 82810-DC100 = 7122h
> Attribute: Read Only
> Size: 16 bits
>
> So, go ahead and do this:
>
> static const struct pci_driver i810_northbridge_driver __pci_driver = {
>
>
> .ops = &northbridge_operations,
>
> .vendor = PCI_VENDOR_ID_INTEL,
>
> .device = 0x7120,
>
> };
>
> static const struct pci_driver i810e_northbridge_driver __pci_driver = {
>
> .ops = &northbridge_operations,
>
> .vendor = PCI_VENDOR_ID_INTEL,
>
> .device = 0x7124,
>
> };

exactly what i just did! only different naming :-)
thanks for all your info.

>
> Please do not be tempted to add i810-dc100 in there as well, unless you  
want to read through the i810 datasheet and fix any other differences ;)

:)

>
> -Corey
>
>
>
>
>
> Elia.
>
> On Tue, Nov 18, 2008 at 6:04 AM, Corey Osgood corey.osgood at gmail.com>  
wrote:
>
>
>
>
>
> On Mon, Nov 17, 2008 at 10:10 PM, Elia Yehuda z4ziggy at gmail.com> wrote:
>
>
>
>
>
>
>
>
> On Tue, Nov 18, 2008 at 3:44 AM, Joseph Smith joe at settoplinux.org> wrote:
>
>
>
>
>
>
>
>
> On Tue, 18 Nov 2008 00:59:07 +0200, "Elia Yehuda" z4ziggy at gmail.com>
>
> wrote:
>
> > just noticed ive put it in cpu_bus_ops... have a laugh...
>
> >
>
>
> No worries, this is how we learn :-)
>
> >
>
> > but i dont have "static struct device_operations mc_ops" - where should  
i
>
> > add
>
> > the .ops_pci ?
>
> >
>
>
> Little confused about what your trying to do here. This doesn't work??
>
>
>
> static const struct pci_driver northbridge_driver __pci_driver = {
>
> .ops = &northbridge_operations,
>
> .vendor = PCI_VENDOR_ID_INTEL,
>
> .device = 0x7120,
>
> };
>
>
>
> this works just fine. i simply don't know where to add ".ops_pci" since i  
dont have
> "static struct device_operations mc_ops" in northbridge.c
>
>
>
>
>
>
>
>
> You should be able to add it to pci_domain_ops, but be sure to check that  
it actually runs. Otherwise, you'll need to create that mc_ops driver with  
just the .ops_pci and everything else set to NULL, and use this:
>
>
>
>
> static void enable_dev(struct device *dev)
> {
> struct device_path path; //unused?
>
> /* Set the operations if it is a special bus type */
> if (dev->path.type == DEVICE_PATH_PCI_DOMAIN) {
> dev->ops = &pci_domain_ops;
>
>
>
> pci_set_method(dev);
> } else if (dev->path.type == DEVICE_PATH_APIC_CLUSTER) {
> dev->ops = &cpu_bus_ops;
> } else if (dev->path.type == DEVICE_PATH_PCI) {
> dev->ops = &mc_ops;
>
>
>
> }
>
>
> }
>
> I hope you can understand what I'm trying to say, I'ma bit tired right  
now.
>
> -Corey
>
>
>
>
>
>
>
>
>
>

Elia.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20081117/eafd25bf/attachment.html>


More information about the coreboot mailing list