我们正在设计基于 NXP i.MX8QXP 参考板 (i.MX8QXP-MEK) 的定制板。
在我们的设置中,我们无法使用 PCIe 接口与 Wifi 外部模块
通信。然而,与 MEK 不同的是,我们使用板载焊接模块,而不是 M.2 卡插槽
内核日志消息指出 PHY 链接阶段出现错误,并且出现“phy link never came up”,以及错误-110:
[ 1.424457] ehci-pci: EHCI PCI platform driver
[ 1.441283] ohci-pci: OHCI PCI platform driver
[ 2.809918] imx6q-pcie 5f010000.pcie: No cache used with register defaults set!
[ 2.845346] imx6q-pcie 5f010000.pcie: PCIe PLL is locked.
[ 2.860583] imx6q-pcie 5f010000.pcie: iATU unroll: disabled
[ 2.866237] imx6q-pcie 5f010000.pcie: Detected iATU regions: 6 outbound, 6 inbound
[ 2.873907] imx6q-pcie 5f010000.pcie: host bridge /bus@5f000000/pcie@0x5f010000 ranges:
[ 2.889200] imx6q-pcie 5f010000.pcie: IO 0x007ff80000..0x007ff8ffff -> 0x0000000000
[ 2.905010] imx6q-pcie 5f010000.pcie: MEM 0x0070000000..0x007fefffff -> 0x0070000000
[ 2.921022] imx6q-pcie 5f010000.pcie: iATU unroll: disabled
[ 2.934114] imx6q-pcie 5f010000.pcie: Detected iATU regions: 6 outbound, 6 inbound
[ 3.935037] imx6q-pcie 5f010000.pcie: Phy link never came up
[ 3.940769] imx6q-pcie 5f010000.pcie: PHY DEBUG_R0=0x00007e00 DEBUG_R1=0x08200000
[ 3.941390] imx6q-pcie: probe of 5f010000.pcie failed with error -110
设备树中的 PCIeb 节点与 MEK 基本相同——我们设置了一个固定的较低链接速度和一个(当前未使用的)disable-gpio 引脚:
&pcieb{
compa
tible = "fsl,imx8qxp-pcie","snps,dw-pcie";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pcieb>;
pinctrl-1 = <&pinctrl_wifi_init>;
//disable-gpio = <&lsio_gpio1 3 GPIO_ACTIVE_LOW>;
reset-gpio = <&lsio_gpio4 0 GPIO_ACTIVE_LOW>;
clkreq-gpio = <&lsio_gpio4 1 GPIO_ACTIVE_LOW>;
ext_osc = <1>;
fsl,max-link-speed = <1>;
status = "okay";
};
pinctrl_wifi_init: wifi_initgrp{
fsl,pins = <
/* reserve pin init/idle_state to support multiple wlan cards */
IMX8QXP_SPI2_SCK_LSIO_GPIO1_IO03 0x06000021
>;
};
一个显着的区别是
VDD_PCIE_DIG_1P8_3P3引脚——我们在定制板中将其设置为 1v8。但是,MEK 板使用 3v3。

定制板

i.MX8QXP-MEK
- VDD_PCIE_DIG_1P8_3P3电压变化是否也需要更改设备树?
- PHY 链路问题是否是由模块和处理器之间的阻抗不匹配引起的?