[U-Boot] PCIe card doesn't work

goldenshore
2013-04-18T01:34:10Z

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