AnsweredAssumed Answered

LS1021a-TWR: PCIe not working with SDK 2.0

Question asked by R T on Dec 15, 2016
Latest reply on Dec 19, 2016 by R T

I'm working on an LS1021a-TWR board and trying to get a PCIe radio card to come up.

 

I'm using SDK 2.0, with the latest update 1611.

 

I've modified the kernel to enable ath9k and ath10k drivers.

I've also enabled : "PCI Express Port Bus support", if that helps.

 

The image is booted from and SD card.

 

root@ls1021atwr:~# uname -a
Linux ls1021atwr 4.1.30-rt34+g4004071 #2 SMP Thu Dec 15 16:05:14 EST 2016 armv7l GNU/Linux

 

Kernel boots fine, but lspci command only shows:

root@ls1021atwr:~# lspci
0000:00:00.0 PCI bridge: Freescale Semiconductor Inc Device 0e0a (rev 10)
0001:00:00.0 PCI bridge: Freescale Semiconductor Inc Device 0e0a (rev 10)
root@ls1021atwr:~#

 

Interestingly, the kernel that was on the NOR flash, seems to have no trouble seeing the card:

root@ls1021atwr:/sys/devices/soc.2# lspci
00:00.0 Class 0604: 1957:0e0a
01:00.0 Class 0280: 168c:0030  <--- ath9k card
00:00.0 Class 0604: 1957:0e0a
root@ls1021atwr:/sys/devices/soc.2#

 

 

more copy paste of various pieces of info below

--------------------------------------

U-Boot 2014.01Layerscape-SDK-V1.3+g50d6848 (Oct 24 2014 - 19:21:22)

 

CPU:   Freescale LayerScape LS1021E, Version: 1.0, (0x87081110)
Clock Configuration:
       CPU0(ARMV7):1000 MHz,
       Bus:300  MHz, DDR:800  MHz (1600 MT/s data rate),
Reset Configuration Word (RCW):
       00000000: 0608000a 00000000 00000000 00000000
       00000010: 70000000 00407900 e0025a00 21046000
       00000020: 00000000 00000000 00000000 00038000
       00000030: 00080000 48007340 00000000 00000000
Board: LS1021ATWR
CPLD:  V2.3
PCBA:  V3.0
VBank: 0
I2C:   ready
DRAM:  1 GiB (DDR3, 32-bit, CL=10.5, ECC off)
Using SERDES1 Protocol: 112 (0x70)
Flash: 128 MiB
MMC:   FSL_SDHC: 0
EEPROM: NXID v1
Firmware 'Microcode version 0.0.0 for T1040 r1.0' for 1040 V1.0
QE: uploading microcode 'Microcode for T1040 r1.0'
In:    serial
Out:   serial
Err:   serial
SATA link 0 timeout.
AHCI 0001.0300 1 slots 1 ports ? Gbps 0x1 impl SATA mode
flags: 64bit ncq pm clo only pmp fbss pio slum part ccc
scanning bus for devices...
Found 0 device(s).
Net:   eTSEC2 is in sgmii mode.
eTSEC1 [PRIME], eTSEC2, eTSEC3
Hit any key to stop autoboot:  0

--------------------------------------

here's the PCI related info from dmesg

 

root@ls1021atwr:~# dmesg | grep pci
[    0.198708] PCI host bridge /soc/pcie@3400000 ranges:
[    0.199064] layerscape-pcie 3400000.pcie: PCI host bridge to bus 0000:00
[    0.199079] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.199090] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.199104] pci_bus 0000:00: root bus resource [mem 0x4040000000-0x407fffffff] (bus address [0x40000000-0x7fffffff])
[    0.199150] pci 0000:00:00.0: [1957:0e0a] type 01 class 0x060400
[    0.199180] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00ffffff]
[    0.199197] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x03ffffff]
[    0.199214] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x00ffffff pref]
[    0.199284] pci 0000:00:00.0: supports D1 D2
[    0.199294] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot
[    0.199932] pci 0000:00:00.0: BAR 1: assigned [mem 0x4040000000-0x4043ffffff]
[    0.199948] pci 0000:00:00.0: BAR 0: assigned [mem 0x4044000000-0x4044ffffff]
[    0.199963] pci 0000:00:00.0: BAR 6: assigned [mem 0x4045000000-0x4045ffffff pref]
[    0.199975] pci 0000:00:00.0: PCI bridge to [bus 01]
[    0.200253] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt
[    0.200266] pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded
[    0.200457] aer 0000:00:00.0:pcie02: service driver aer loaded
[    0.200801] PCI host bridge /soc/pcie@3500000 ranges:
[    0.201114] layerscape-pcie 3500000.pcie: PCI host bridge to bus 0001:00
[    0.201126] pci_bus 0001:00: root bus resource [bus 00-ff]
[    0.201140] pci_bus 0001:00: root bus resource [io  0x10000-0x1ffff] (bus address [0x0000-0xffff])
[    0.201154] pci_bus 0001:00: root bus resource [mem 0x4840000000-0x487fffffff] (bus address [0x40000000-0x7fffffff])
[    0.201195] pci 0001:00:00.0: [1957:0e0a] type 01 class 0x060400
[    0.201221] pci 0001:00:00.0: reg 0x10: [mem 0x00000000-0x00ffffff]
[    0.201238] pci 0001:00:00.0: reg 0x14: [mem 0x00000000-0x03ffffff]
[    0.201255] pci 0001:00:00.0: reg 0x38: [mem 0x00000000-0x00ffffff pref]
[    0.201317] pci 0001:00:00.0: supports D1 D2
[    0.201327] pci 0001:00:00.0: PME# supported from D0 D1 D2 D3hot
[    0.201966] pci 0001:00:00.0: BAR 1: assigned [mem 0x4840000000-0x4843ffffff]
[    0.201982] pci 0001:00:00.0: BAR 0: assigned [mem 0x4844000000-0x4844ffffff]
[    0.201997] pci 0001:00:00.0: BAR 6: assigned [mem 0x4845000000-0x4845ffffff pref]
[    0.202008] pci 0001:00:00.0: PCI bridge to [bus 01]
[    0.202278] pcieport 0001:00:00.0: Signaling PME through PCIe PME interrupt
[    0.202291] pcie_pme 0001:00:00.0:pcie01: service driver pcie_pme loaded
[    0.202483] aer 0001:00:00.0:pcie02: service driver aer loaded

 

---------------------------

 

 

P.S.

I've found this thread: LS1021A PCI Express is Visible in u-boot but not Linux  

but the problem in that thread was due to an older SDK.

Outcomes