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