AnsweredAssumed Answered

PCIe problem on SabreSD with kernel 3.10.17

Question asked by lmhdoms on Mar 3, 2015
Latest reply on Jun 30, 2015 by SUMIT SHARMA

Hi all,

 

I am trying to get PCIe to work on SabreSD. The PCI device is the Exar XR17V35 eval. board. The root is detected but the device is not.

 

The kernel is 3.10.17-1.0.1_ga and there is no PCI enabled in U-Boot.

 

Probing the signals I find that the power and reset signals toggle as expected, but there is no reference clock at all (so no wonder the phy link does not come up).

 

Here are some logs:

 

root@imx6qsabresd:~# dmesg | grep pci

imx6q-pcie 1ffc000.pcie: phy link never came up

pci_bus 0000:00: root bus resource [io  0x1000-0x10000]

pci_bus 0000:00: root bus resource [mem 0x01000000-0x01efffff]

pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]

pci_bus 0000:00: scanning bus

pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400

pci 0000:00:00.0: reg 10: [mem 0x00000000-0x000fffff]

pci 0000:00:00.0: reg 38: [mem 0x00000000-0x0000ffff pref]

pci 0000:00:00.0: calling pci_fixup_ide_bases+0x0/0x3c

pci 0000:00:00.0: supports D1

pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold

pci 0000:00:00.0: PME# disabled

pci_bus 0000:00: fixups for bus

pci 0000:00:00.0: scanning [bus 01-01] behind bridge, pass 0

pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1

pci_bus 0000:01: scanning bus

pci_bus 0000:01: fixups for bus

pci_bus 0000:01: bus scan returning with max=01

pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01

pci_bus 0000:00: bus scan returning with max=01

pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 01

pci 0000:00:00.0: fixup irq: got 155

pci 0000:00:00.0: assigning IRQ 155

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

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

pci 0000:00:00.0: BAR 6: assigned [mem 0x01100000-0x0110ffff pref]

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

pci_bus 0000:00: resource 4 [io  0x1000-0x10000]

pci_bus 0000:00: resource 5 [mem 0x01000000-0x01efffff]

ehci-pci: EHCI PCI platform driver

 

Clocks (/sys/kernel/debug/clk) - the 125 MHz clock is what I would expect:

pcie_axi_sel             axi                       1  264000000

pcie_axi                 pcie_axi_sel              1  264000000

pcie_ref                 pll6_enet                 1  125000000

pcie_ref_125m            pcie_ref                  1  125000000

 

Kernel config:

#

# Bus support

#

CONFIG_PCI=y

CONFIG_PCI_DOMAINS=y

CONFIG_PCI_SYSCALL=y

CONFIG_ARCH_SUPPORTS_MSI=y

CONFIG_PCI_MSI=y

CONFIG_PCI_DEBUG=y

CONFIG_PCI_STUB=y

CONFIG_PCI_ATS=y

CONFIG_PCI_IOV=y

 

#

# PCI host controller drivers

#

CONFIG_PCIE_DW=y

CONFIG_PCI_IMX6=y

CONFIG_PCIEPORTBUS=y

CONFIG_PCIEAER=y

CONFIG_PCIEASPM=y

CONFIG_PCIEASPM_DEFAULT=y

CONFIG_PCIE_PME=y

 

Any suggestions as to what I am missing? Is my SabreSD board faulty?

 

I also tried to add PCI support to U-Boot 2014.01, I tried the kernel 3.0.35 but to no avail.

 

Thanks and regards,

Lars

Outcomes