PCI device not working

Davide Viti zinosat at tiscali.it
Tue Sep 25 06:59:09 EST 2012


Here are the settings for PCI we currently have in uboot:

#define CONFIG_PCI                              1    /* Enable PCI/PCIE */
#define CONFIG_PCIE1                          1    /* PCIE controler 1
(slot 1) */
#define CONFIG_PCIE2                          1    /* PCIE controler 2
(slot 2) */
#define CONFIG_FSL_PCI_INIT               1    /* Use common FSL init code
*/
#define CONFIG_FSL_PCIE_RESET       1    /* need PCIe reset errata */
#define CONFIG_FSL_LAW                    1    /* Use common FSL init code
*/

#define CONFIG_SYS_PCIE1_ADDR        (CONFIG_SYS_CCSRBAR+0x9000)
#define CONFIG_SYS_PCIE2_ADDR        (CONFIG_SYS_CCSRBAR+0xa000)

/*
 * General PCI
 */

#define CONFIG_SYS_PCIE1_MEM_VIRT           0xA0000000
#define CONFIG_SYS_PCIE1_MEM_BUS           0xA0000000
#define CONFIG_SYS_PCIE1_MEM_PHYS         0xA0000000
#define CONFIG_SYS_PCIE1_MEM_SIZE           0x10000000
#define CONFIG_SYS_PCIE1_IO_VIRT               0xFFC10000
#define CONFIG_SYS_PCIE1_IO_BUS                0x00000000
#define CONFIG_SYS_PCIE1_IO_PHYS             0xFFC10000
#define CONFIG_SYS_PCIE1_IO_SIZE               0x00010000        /* 64k */

#define CONFIG_SYS_PCIE2_MEM_VIRT           0xB0000000
#define CONFIG_SYS_PCIE2_MEM_BUS           0xB0000000
#define CONFIG_SYS_PCIE2_MEM_PHYS         0xB0000000
#define CONFIG_SYS_PCIE2_MEM_SIZE           0x10000000
#define CONFIG_SYS_PCIE2_IO_VIRT               0xFFC00000
#define CONFIG_SYS_PCIE2_IO_BUS                0x00000000
#define CONFIG_SYS_PCIE2_IO_PHYS             0xFFC00000
#define CONFIG_SYS_PCIE2_IO_SIZE               0x00010000        /* 64k */

I'd really appreciate I you could take a look at it
Thanx alot in advance

Davide

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
>>
>>
>> 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
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20120924/b16affee/attachment-0001.html>


More information about the Linuxppc-dev mailing list