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!
Hi Li
one can try with several pcie cards and latest uboot:
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!
-----------------------------------------------------------------------------------------------------------------------
Hi igorpadyko,
I found there may be an error in uboot code as below:
---------------------------------------------------------------->
#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?
Hi,
> So uboot code is wrong?
Any answer?
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
this is preproduction part and software for it is under development