PCI device not working

Kumar Gala galak at kernel.crashing.org
Wed Sep 26 23:44:55 EST 2012


> 2012/9/24 Davide Viti <zinosat at tiscali.it>
> Hi,
> does the output I've included show anything wrong or should I post something else to help identifying the cause of the problem?
> 
> thank you in advance,
> Davide
> 
> 2012/9/21 Davide Viti <zinosat at tiscali.it>
> I mean there are two controllers and both of them have a device "subtended" (both 0x1b65:0xabba).
> u-boot can see both devices, linux detects only the device attached to the first controller.
> 
> Here's the output of lspci and /proc/iomem :
> 
> root@(none):/# lspci -v
> 
> 0000:00:00.0 Class 0604: Device 1957:0100 (rev 11)
> 
>         Flags: bus master, fast devsel, latency 0
> 
>         Memory at <ignored> (32-bit, non-prefetchable)
> 
>         Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
> 
>         I/O behind bridge: 00000000-00000fff
> 
>         Memory behind bridge: a0000000-afffffff
> 
>         Capabilities: [44] Power Management version 2
> 
>         Capabilities: [4c] Express Root Port (Slot-), MSI 00
> 
>         Capabilities: [100] Advanced Error Reporting
> 
>  
> 0000:01:00.0 Class 0280: Device 1b65:abba (rev 01)
> 
>         Flags: bus master, fast devsel, latency 0, IRQ 16
> 
>         Memory at a0000000 (32-bit, non-prefetchable) [size=1K]
> 
>         Memory at a0010000 (32-bit, non-prefetchable) [size=64K]
> 
>         Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
> 
>         Capabilities: [78] Power Management version 3
> 
>         Capabilities: [80] Express Endpoint, MSI 00
> 
>         Capabilities: [100] Virtual Channel <?>
> 
>         Capabilities: [800] Advanced Error Reporting
> 
>  
> 0001:02:00.0 Class 0604: Device 1957:0100 (rev 11)
> 
>         Flags: bus master, fast devsel, latency 0
> 
>         Memory at <ignored> (32-bit, non-prefetchable)
> 
>         Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
> 
>         I/O behind bridge: 00000000-00000fff
> 
>         Memory behind bridge: b0000000-bfffffff
> 
>         Capabilities: [44] Power Management version 2
> 
>         Capabilities: [4c] Express Root Port (Slot-), MSI 00
> 
>         Capabilities: [100] Advanced Error Reporting

Its possible that in linux the 2nd controller does not believe it has link status.  Can you see if there is a function like fsl_pcie_check_link() in your kernel.  If so maybe add a printk debug message there and see what gets return.

Also helpful to post a full boot log.

> 
> 
> 
> 
> root@(none):/# cat /proc/iomem
> 
> a0000000-afffffff : /pcie at ffe09000
> 
>   a0000000-afffffff : PCI Bus 0000:01
> 
>     a0000000-a00003ff : 0000:01:00.0
> 
>     a0010000-a001ffff : 0000:01:00.0
> 
> b0000000-bfffffff : /pcie at ffe0a000
> 
>   b0000000-bfffffff : PCI Bus 0001:03
> 
> ef000000-efffffff : ef000000.nor
> 
> ffe04500-ffe04507 : serial
> 
> ffe04600-ffe04607 : serial
> 
> 
> 
> thanx for your help,
> 
> Davide
> 
> 
> 
> 
> I mean that the kernel detects the first controller and the device attached to it, plus the second controller: the device on the second controller is not detected (same device as the one detected on the first controller)
> 
> 2012/9/21 Kumar Gala <galak at kernel.crashing.org>
> 
> On Sep 21, 2012, at 6:33 AM, Davide Viti wrote:
> 
> > Hi,
> > I'm working on a custom board based on P1020 with two (identical) PCI devices attached;
> > The work is derived from another board with a single instance of that device.
> > The system is based on u-boot-2009.11 and Linux 2.6.34.6
> >
> > The "pci" command on u-boot, shows me both the PCI controllers and
> > the attached devices:
> >
> > Scanning PCI devices on bus 0
> > BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
> > _____________________________________________________________
> > 00.00.00   0x1957     0x0100     Processor               0x20
> >
> > Scanning PCI devices on bus 1
> > BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
> > _____________________________________________________________
> > 01.00.00   0x1b65     0xabba     Network controller      0x80
> >
> > Scanning PCI devices on bus 2
> > BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
> > _____________________________________________________________
> > 02.00.00   0x1957     0x0100     Processor               0x20
> >
> > Scanning PCI devices on bus 3
> > BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
> > _____________________________________________________________
> > 03.00.00   0x1b65     0xabba     Network controller      0x80
> >
> > The kernel detects only the first instance of the device.
> 
> What do you mean by first instance of the device ?
> 
> > Didn't get very far while looking at dts file and kernel logs, so I'm
> > asking for some help on narrowing down the problem.
> >
> > I'm wondering if I can assume that the problem is restricted to
> > kernel/dts and avoid concentrating on uboot.
> > I can provide any log (didn't want to post tons of details on the first
> > message)
> 
> Probably a dts issue.
> 
> What does lspci in linux say?
> 
> - k
> 
> 
> 
> 
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev



More information about the Linuxppc-dev mailing list