[coreboot] Quick CK804 PCI device numbering question

Timothy Pearson tpearson at raptorengineeringinc.com
Tue Jan 20 22:28:45 CET 2015


On 01/20/2015 01:55 PM, Timothy Pearson wrote:
> All,
>
> 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:
>
> Proprietary:
> -[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]
> ...etc...
>
> Coreboot:
> -[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.
>
> Thanks!
>

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 how.

-- 
Timothy Pearson
Raptor Engineering
+1 (415) 727-8645
http://www.raptorengineeringinc.com



More information about the coreboot mailing list