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

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

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

跳至解决方案
3,933 次查看
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 项奖励
回复
1 解答
2,505 次查看
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 项奖励
回复
4 回复数
2,505 次查看
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 项奖励
回复
2,505 次查看
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 项奖励
回复
2,506 次查看
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 项奖励
回复
2,505 次查看
henrybausley
Contributor I

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

0 项奖励
回复