[coreboot] Quick CK804 PCI device numbering question
Jonathan A. Kollasch
jakllsch at kollasch.net
Tue Jan 20 22:36:32 CET 2015
On Tue, Jan 20, 2015 at 03:28:45PM -0600, Timothy Pearson wrote:
> On 01/20/2015 01:55 PM, Timothy Pearson wrote:
> >I have been working on porting Coreboot to a new CK804-based K10
> >mainboard; it warm boots but will not cold boot due to IRQ/MSI
> >configuration issues.
> >While tracing the IRQ problem I noticed that the CK804 PCI function
> >numbers change from the proprietary BIOS to Coreboot:
> >-[0000:00]-+-00.0 NVIDIA Corporation CK804 Memory Controller [10de:005e]
> >+-01.0 NVIDIA Corporation CK804 ISA Bridge [10de:0051]
> >+-01.1 NVIDIA Corporation CK804 SMBus [10de:0052]
> >-[0000:00]-+-01.0 NVIDIA Corporation CK804 Memory Controller [10de:005e]
> >+-02.0 NVIDIA Corporation CK804 ISA Bridge [10de:0051]
> >+-02.1 NVIDIA Corporation CK804 SMBus [10de:0052]
> >This, in turn, causes Linux to not detect the CK804 root bridge.
> >Has anyone else seen this with the CK804 chipset? Is there a magic
> >register somewhere that configures the CK804 to use the "correct" PCI
> >function numbers?
> >The only pertinent quirk of this mainboard is that Asus put the CK804 on
> >HT link 1, not 0 or 2 as is more common.
> Looks like I was writing too quickly..."function number" above
> should be "device number". Nothing responds to a PCI vendor ID
> probe at PCI_DEV(0,0,0) which seems to indicate the CK804 itself has
> renumbered its internal devices, but I don't currently know why or
Coreboot supports dual-ck804 boards, perhaps the ck804 got enumerated at the
secondary offset? (starting at something like bus 0x40 or 0x80)
More information about the coreboot