AnsweredAssumed Answered

Pcie probe problem

Question asked by Christophe Cholet on May 18, 2015
Latest reply on Jun 5, 2015 by Christophe Cholet

Hi all,

 

Under linux 3.0.35_4.1, a imx6q-like board is connected to a fpga with a pcie link. Pcie has been configurated like that:

 

iMX6 PCIe PCIe RC mode imx_pcie_pltfm_probe entering.

PCIE: imx_pcie_pltfm_probe start link up.

IMX PCIe port: link up.

PCI: bus0: Fast back to back transfers disabled

PCI: bus1: Fast back to back transfers disabled

pci 0000:00:00.0: BAR 0: assigned [mem 0x01000000-0x010fffff 64bit pref]

pci 0000:00:00.0: BAR 0: set to [mem 0x01000000-0x010fffff 64bit pref] (PCI address [0x1000000-0x10fffff])

pci 0000:00:00.0: BAR 8: assigned [mem 0x01100000-0x011fffff]

pci 0000:00:00.0: BAR 6: assigned [mem 0x01200000-0x0120ffff pref]

pci 0000:01:00.0: BAR 0: assigned [mem 0x01100000-0x011007ff]

pci 0000:01:00.0: BAR 0: set to [mem 0x01100000-0x011007ff] (PCI address [0x1100000-0x11007ff])

pci 0000:00:00.0: PCI bridge to [bus 01-01]

pci 0000:00:00.0:   bridge window [io  disabled]

pci 0000:00:00.0:   bridge window [mem 0x01100000-0x011fffff]

pci 0000:00:00.0:   bridge window [mem pref disabled]

 

lspci gives:

00:00.0 Class 0604: 16c3:abcd

01:00.0 Class 0580: 10ee:7011

 

It seems to me correct.

Now, a user device is added. Driiver is well initialized but not probed. Code in board-mx6q_sabredsd.c is like that:

 

static struct platform_device pcie_fpga_data =

{

    .name           = "pcie_fpga",

    .id                  = -1,

    .num_resources  = 0,

};

 

  /* Register device */

    platform_device_register(&pcie_fpga_data);

 

 

Is this registration correct ? we've found no example to do this and maybe there's something special to do ?

 

Best regards,

 

Christophe

Outcomes