[U-Boot] PCI-E problems on Kilauea board
Felix Radensky
felix at embedded-sol.com
Sun Mar 1 16:00:36 CET 2009
Stefan Roese wrote:
> On Tuesday 17 February 2009, Felix Radensky wrote:
>
>>>> 2. Another problem is that in bootstrap configuration B (CPU - 333 Mhz,
>>>> PLB 166MHz)
>>>> PCI-E cards are not recognized in any slot. This happens with all
>>>> u-boot versions I've
>>>> tested. Linux also does not recognize PCI-E cards. Kilauea board
>>>> manual says that PCI
>>>> clock is determined by CPLD. Could it be CPLD/FPGA bug ?
>>>>
>>> Is bootstrap option C working?
>>>
>> No, C doesn't work either. The card I'm testing with is Intel Gigabit
>> Ethernet adapter (PRO/1000 PT 1x)
>>
>
> Perhaps its only working with the I2C bootstrap settings. Could be that one
> (or more) register values are configured via the I2C bootstrap EEPROM
> compared to the hardwired bootstrap option. Please check the users manual and
> compare the register settings of I2C bootstrap option H to option B or C.
>
>
I did some more tests, and have found the following:
1. When system powers up in bootstrap option B or C u-boot does not
detect PCI-E device
PCI: Bus Dev VenId DevId Class Int
PCIE0: link is not up.
PCIE0: initialization as root-complex failed
PCIE1: link is not up.
PCIE1: initialization as root-complex failed
2. Linux detects PCI-E device, but does not detect the link:
PCIE1: Checking link...
PCIE1: Device detected, waiting for link...
PCIE1: Link up failed
3. If I execute reboot from linux, u-boot now detects the device
PCI: Bus Dev VenId DevId Class Int
PCIE0: link is not up.
PCIE0: initialization as root-complex failed
PCIE1: successfully set as root-complex
01 00 8086 10b9 0200 00
4. After that Linux detects both device and link
PCIE1: Checking link...
PCIE1: Device detected, waiting for link...
PCIE1: link is up !
-bash-3.2# lspci
0000:00:00.0 PCI bridge: Unknown device aaa0:bed0 (rev 01)
0001:40:00.0 PCI bridge: Unknown device aaa1:bed1 (rev 01)
0001:41:00.0 Ethernet controller: Intel Corporation 82572EI
Gigabit Ethernet Controller (Copper) (rev 06)
Also, I've compared the values of SDR0_SDSTP0-SDR0_SDSTP3 registers in
bootstrap options C and H
and didn't find anything suspicious. There are differences in various
divisor values, but that is expected.
Tested with u-boot 2009.03-rc1 and linux-2.6.29-rc5
Any other ideas ?
Thanks a lot.
Felix.
More information about the U-Boot
mailing list