LS1021A PCI Express is Visible in u-boot but not Linux

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LS1021A PCI Express is Visible in u-boot but not Linux

Jump to solution
3,245 Views
henrybausley
Contributor I

The PCI Express card is visible in u-boot so we believe the hardware is good.  However, it is not visible in Linux only the bridge shows up.  Any suggestions would be greatly appreciated.

Reset Configuration Word (RCW):

       00000000: 0608000a 00000000 00000000 00000000

       00000010: 20000000 00403900 e0025a00 21046000

       00000020: 00000000 00000000 00000000 18000000

       00000030: 00080000 481b7340 00000000 00000000

Board: LS1021ATWR

CPLD:  V3.2

PCBA:  V0.0

VBank: 0

I2C:   ready

DRAM:  Initializing DDR....using SPD

Detected UDIMM i-DIMM

1 GiB (DDR3, 32-bit, CL=11, ECC off)

Using SERDES1 Protocol: 32 (0x20)

Firmware 'Microcode version 0.0.1 for LS1021a r1.0' for 1021 V1.0

QE: uploading microcode 'Microcode for LS1021a r1.0' version 0.0.1

The regulator (MC34VR500) does not exist. The device does not support deep sleep.

Flash: 64 MiB

MMC:   FSL_SDHC: 0

EEPROM: Read failed.

PCIe1: Root Complex x1 gen1, regs @ 0x3400000

     01:00.0    - 10ec:8168 - Network controller

PCIe1: Bus 00 - 01

PCIe2: Root Complex x1 gen1, regs @ 0x3500000

     03:00.0    - 10ec:8168 - Network controller

PCIe2: Bus 02 - 03

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).

SCSI:  Net:   eTSEC1 is in sgmii mode.

eTSEC1, eTSEC3 [PRIME]

Hit any key to stop autoboot:  0

## Booting kernel from Legacy Image at 60200000 ...

   Image Name:   Linux-3.14.28-ipipe

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    3507112 Bytes = 3.3 MiB

   Load Address: 82000000

   Entry Point:  82000000

   Verifying Checksum ... OK

## Flattened Device Tree blob at 60020000

   Booting using the fdt blob at 0x60020000

   Loading Kernel Image ... OK

   Loading Device Tree to bef13000, end bef1b61f ... OK

Starting kernel ...

Debian GNU/Linux 7 ubuntu ttyS0

ubuntu login: root

Password:

Last login: Thu Jan  1 00:00:16 UTC 1970 on ttyS0

Linux ubuntu 3.14.28-ipipe #52 SMP Thu Feb 18 13:14:39 PST 2016 armv7l

The programs included with the Debian GNU/Linux system are free software;

the exact distribution terms for each program are described in the

individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent

permitted by applicable law.

-bash: cd: /opt/ppmac: No such file or directory

root@:~# lspci

0000:00:00.0 PCI bridge: Freescale Semiconductor Inc Device 0e0b (rev 20)

0001:00:00.0 PCI bridge: Freescale Semiconductor Inc Device 0e0b (rev 20)

root@:~#

0 Kudos
1 Solution
1,817 Views
bpe
NXP Employee
NXP Employee

Suggestions:

1. Use the kernel from the most recent QorIQ SDK. There are no known

   issues with your board and PCIe under the SDK

2. Check the SerDes link status with lspci -vv.

 

3. cat /proc/bus/pci/devices to circumvent any problems with lspci

4. Try scanpci. This attempts to re-discover the devices.


Have a great day,
Platon

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
4 Replies
1,817 Views
jiye
Contributor V

may I ask how to read the RCW to know that the PCIe is up ? 

Also how are you able to change the protocol values thanks.

Using SERDES1 Protocol: 32 (0x20)

0 Kudos
1,817 Views
jiye
Contributor V

Hi Henry,

I saw your uboot log and it shows you have two PCIe enabled, I am working on a wifi module which is connected to the PCIe 1 interface. But how did you change the SERDES1 Protocol: 32 (0x20) mine is 48 (0x30). 

0 Kudos
1,818 Views
bpe
NXP Employee
NXP Employee

Suggestions:

1. Use the kernel from the most recent QorIQ SDK. There are no known

   issues with your board and PCIe under the SDK

2. Check the SerDes link status with lspci -vv.

 

3. cat /proc/bus/pci/devices to circumvent any problems with lspci

4. Try scanpci. This attempts to re-discover the devices.


Have a great day,
Platon

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
1,817 Views
henrybausley
Contributor I

Upgrading from the SDK 1.3 to the latest SDK 1.9 my lspci now displays my hardware.  Thank you.

0 Kudos