imx8qxp PCIE probe fail in uboot

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

imx8qxp PCIE probe fail in uboot

2,148 Views
jun_li1
Contributor II

I have connected a PCIE network card with M.2 <-> PCIE connector, But in uboot, still exsit fail message:

--------------------------------------------------------------->

[pcie_ctrlb_sata_phy_init_rc] LNK DOWN 8600000

<---------------------------------------------------------------

However, linux kernel could success to probe the PCIE card, therefore hardware is OK.

------------------------------------------------------------------------>

root@imx8qxpmek:~# lspci -v
00:00.0 PCI bridge: Freescale Semiconductor Inc Device 0000 (rev 01) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 410
Memory at 70000000 (32-bit, non-prefetchable) [size=16M]
Bus: primary=00, secondary=01, subordinate=ff, sec-latency=0
I/O behind bridge: 00001000-00001fff [size=4K]
Memory behind bridge: 72000000-720fffff [size=1M]
Prefetchable memory behind bridge: None
[virtual] Expansion ROM at 71000000 [disabled] [size=16M]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/16 Maskable- 64bit+
Capabilities: [70] Express Root Port (Slot-), MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] #19
Capabilities: [168] L1 PM Substates
Kernel driver in use: pcieport

01:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
Subsystem: Device 1d1a:0000
Flags: bus master, fast devsel, latency 0, IRQ 442
Memory at 720c0000 (32-bit, non-prefetchable) [size=128K]
Memory at 72000000 (32-bit, non-prefetchable) [size=512K]
I/O ports at 1000 [disabled] [size=32]
Memory at 720e0000 (32-bit, non-prefetchable) [size=16K]
[virtual] Expansion ROM at 72080000 [disabled] [size=256K]
Capabilities: [c8] Power Management version 2
Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [e0] Express Endpoint, MSI 00
Capabilities: [a0] MSI-X: Enable+ Count=5 Masked-
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 2c-53-4a-ff-ff-02-bc-73
Kernel driver in use: e1000e

<----------------------------------------------------------------------------------------------------

anyone can help to explain why uboot can not probe the PCIE device?

Thanks!

Tags (1)
0 Kudos
5 Replies

1,662 Views
igorpadykov
NXP Employee
NXP Employee

Hi Li

one can try with several pcie cards and latest uboot:

uboot-imx - i.MX U-Boot 

check defines pcie usage : #ifdef CONFIG_FSL_HSIO

imx8qxp_mek.c\imx8qxp_mek\freescale\board - uboot-imx - i.MX U-Boot 

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

0 Kudos

1,662 Views
jun_li1
Contributor II

Hi igorpadyko,

I found there may be an error in uboot code as below:

---------------------------------------------------------------->

https://source.codeaurora.org/external/imx/uboot-imx/tree/board/freescale/imx8qxp_mek/imx8qxp_mek.c?...

#define PCIE_PAD_CTRL ((SC_PAD_CONFIG_OD_IN << PADRING_CONFIG_SHIFT))static iomux_cfg_t board_pcie_pins[] = { SC_P_PCIE_CTRL0_CLKREQ_B | MUX_MODE_ALT(0) | MUX_PAD_CTRL(PCIE_PAD_CTRL), SC_P_PCIE_CTRL0_WAKE_B | MUX_MODE_ALT(0) | MUX_PAD_CTRL(PCIE_PAD_CTRL), SC_P_PCIE_CTRL0_PERST_B | MUX_MODE_ALT(0) | MUX_PAD_CTRL(PCIE_PAD_CTRL),};

<------------------------------------------------------------------

but in linux kernel, the 3 pins' mux should use 

MUX_MODE_ALT(4)

root@imx8qxpmek:/sys/kernel/debug/pinctrl/iomuxc# cat pinconf-pins
Pin config settings per pin
Format: pin (name): configs
pin 0 (SC_P_PCIE_CTRL0_PERST_B): 0x24000021
pin 1 (SC_P_PCIE_CTRL0_CLKREQ_B): 0x24000021
pin 2 (SC_P_PCIE_CTRL0_WAKE_B): 0x24000021

So uboot code is wrong?

1,662 Views
jun_li1
Contributor II

Hi, 

> So uboot code is wrong?

Any answer?

0 Kudos

1,662 Views
LaurentBardet
Contributor III

Hi Li,

Any progress on this topic? I guess we are facing the same issue (PCIe not supported in uBoot whereas functionnal in linux).

We are trying to extract PCIe initialization sequence, and our searchs led to this discussion thread.

Best regards

Laurent

0 Kudos

1,662 Views
igorpadykov
NXP Employee
NXP Employee

this is preproduction part and software for it is under development

pastedImage_1.jpg

0 Kudos