[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