[coreboot] Quick CK804 PCI device numbering question

Scott Duplichan scott at notabs.org
Tue Jan 20 23:58:10 CET 2015


Timothy Pearson [mailto:tpearson at raptorengineeringinc.com] 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!
]
]-- 
]Timothy Pearson
]Raptor Engineering
]+1 (415) 727-8645
]http://www.raptorengineeringinc.com

If I remember correctly, PCI device IDs are assigned during non-coherent
HyperTransport initialization on these systems. Search a BKDG for "unit id"
for details. The solution may involve changing HT_CHAIN_UNITID_BASE and
related items. Take a look at 'swaplist' in the source code.

Thanks,
Scott




More information about the coreboot mailing list