[U-Boot] PCIe card doesn't work

goldenshore goldenshore at tom.com
Thu Apr 18 03:34:10 CEST 2013


<div>Hi All:</div><div>&nbsp; Now I have a sbc8548 at my hand, and I insert a PCIe X1 card in it and another</div><div>PCI card running at 33MHZ. The u-boot vsersion is U-Boot 2012.10. I download the&nbsp;</div><div>kernel 3.6.10 from kernel.org (download from denx.de is too slow in my place).&nbsp;</div><div>Then the linux system runs ok, the pci card is a graphic card, it displays fine.</div><div>But the PCIe card doesn't work, when its device driver access the card's register, the system</div><div>freezes.</div><div>&nbsp; I stop at u-boot and type the command "pci 2.0.0" to display the PCIe's header. the following</div><div>is the content:</div><div>&nbsp; vendor ID = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x1c00</div><div>&nbsp; device ID = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x3253</div><div>&nbsp; command register = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0x0007</div><div>&nbsp; status register = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x0010</div><div>&nbsp; revision ID = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x10</div><div>&nbsp; class code = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0x07 (Simple comm. controller)</div><div>&nbsp; sub class code = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0x00</div><div>&nbsp; programming interface = &nbsp; &nbsp; &nbsp; 0x05</div><div>&nbsp; cache line = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0x08</div><div>&nbsp; latency time = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0x00</div><div>&nbsp; header type = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x00</div><div>&nbsp; BIST = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0x00</div><div>&nbsp; base address 0 = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0x00001001</div><div>&nbsp; base address 1 = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0xa0000008</div><div>&nbsp; base address 2 = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0x00001101</div><div>&nbsp; base address 3 = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0x00000000</div><div>&nbsp; base address 4 = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0x00000000</div><div>&nbsp; base address 5 = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0x00000000</div><div>&nbsp; cardBus CIS pointer = &nbsp; &nbsp; &nbsp; &nbsp; 0x00000000</div><div>&nbsp; sub system vendor ID = &nbsp; &nbsp; &nbsp; &nbsp;0x1c00</div><div>&nbsp; sub system ID = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x3253</div><div>&nbsp; expansion ROM base address = &nbsp;0x00000000</div><div>&nbsp; interrupt line = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0x00</div><div>&nbsp; interrupt pin = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x01</div><div>&nbsp; min Grant = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x00</div><div>&nbsp; max Latency = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x00</div><div>&nbsp; I notice the base address 0 seems not the correct vlaue. The datasheet says that it is IO register base. So is there</div><div>something wrong with my configuration? The PCI card can only work at 33MHZ, so I configure the u-boot by running&nbsp;</div><div>"make sbc8548_PCI_33_PCIE". I also read the README under u-boot-2012.10\board\sbc8548, it says the "sbc8548_PCI_33_PCIE"</div><div>configuration is not tested. So is there any bug about this configuration?&nbsp;</div><div>&nbsp; By the way, the PCIe card works ok under windows xp.</div><div></div><div><br /></div>


More information about the U-Boot mailing list