Hi
Thanks for all the inputs.
Now we got the new HW with CLKREQ# changes. I am still facing same issue. I also tried using 5.15.71 kernel (imx-linux-kirkstone) but same result probe fails after link up try.
5.15.71 dmesg logs:
root@m18pisv1-dev:~# dmesg |grep pci
[ 1.411083] ehci-pci: EHCI PCI platform driver
[ 1.427191] ohci-pci: OHCI PCI platform driver
[ 1.960100] imx6q-pcie 33800000.pcie: supply epdev_on not found, using dummy regulator
[ 1.996885] imx6q-pcie 33800000.pcie: PCIe PLL is locked.
[ 2.045774] imx6q-pcie 33800000.pcie: iATU unroll: enabled
[ 2.055020] imx6q-pcie 33800000.pcie: Detected iATU regions: 4 outbound, 4 inbound
[ 2.066530] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges:
[ 2.081884] imx6q-pcie 33800000.pcie: IO 0x001ff80000..0x001ff8ffff -> 0x0000000000
[ 2.093835] imx6q-pcie 33800000.pcie: MEM 0x0018000000..0x001fefffff -> 0x0018000000
[ 2.193193] imx6q-pcie 33800000.pcie: Detected iATU regions: 4 outbound, 4 inbound
[ 3.583338] imx6q-pcie 33800000.pcie: Phy link never came up
[ 3.589553] imx6q-pcie: probe of 33800000.pcie failed with error -110
6.6.3-lts-next dmesg logs:
root@m18pisv1-dev:~# dmesg |grep pcie
[ 1.873674] clk-renesas-pcie-9series 1-0068: No cache defaults, reading back from HW
[ 2.380739] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges:
[ 2.381148] imx6q-pcie 33c00000.pcie: host bridge /soc@0/pcie@33c00000 ranges:
[ 2.388076] imx6q-pcie 33800000.pcie: IO 0x001ff80000..0x001ff8ffff -> 0x0000000000
[ 2.395298] imx6q-pcie 33c00000.pcie: IO 0x0027f80000..0x0027f8ffff -> 0x0000000000
[ 2.403471] imx6q-pcie 33800000.pcie: MEM 0x0018000000..0x001fefffff -> 0x0018000000
[ 2.411798] imx6q-pcie 33c00000.pcie: MEM 0x0020000000..0x0027efffff -> 0x0020000000
[ 2.428785] imx6q-pcie 33c00000.pcie: iATU: unroll T, 4 ob, 4 ib, align 64K, limit 4G
[ 2.640787] imx6q-pcie 33800000.pcie: iATU: unroll T, 4 ob, 4 ib, align 64K, limit 4G
[ 3.435150] imx6q-pcie 33c00000.pcie: Phy link never came up
[ 3.636094] imx6q-pcie 33800000.pcie: Phy link never came up
[ 4.448381] imx6q-pcie 33c00000.pcie: Phy link never came up
[ 4.456739] imx6q-pcie 33c00000.pcie: PCI host bridge to bus 0001:00
[ 4.539463] pcieport 0001:00:00.0: PME: Signaling with IRQ 209
[ 4.648560] imx6q-pcie 33800000.pcie: Phy link never came up
[ 4.654672] imx6q-pcie 33800000.pcie: PCI host bridge to bus 0000:00
[ 4.732194] pcieport 0000:00:00.0: PME: Signaling with IRQ 211
root@m18pisv1-dev:~#
In imx8mq-evk schematic, we can see that same Renesas CLK generator is used but that is not configure in the device tree.
Here is the pcie device tree nodes. Attaching complete device tree in attachment. Is there any imx8mq based reference dts file available, which is using external clk generator?
//external osc
clk_xtal25: clock-xtal25 {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <25000000>;
clock-output-names = "xtal_25M";
};
&i2c2 {
//Renesas 9FGV0241 clk generator
pcieclk: clk@68 {
compatible = "renesas,9fgv0241";
reg = <0x68>;
clocks = <&clk_xtal25>;
#clock-cells = <1>;
};
};
&pcie0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pcie0>;
reset-gpio = <&gpio1 9 GPIO_ACTIVE_LOW>;
wake-gpio = <&gpio1 6 GPIO_ACTIVE_LOW>;
clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>,
<&pcieclk 1>, // pcie bus
<&pcieclk 0>, // pcie phy
<&clk IMX8MQ_CLK_PCIE1_AUX>;
vph-supply = <&vgen5_reg>;
status = "okay";
};
&iomuxc {
pinctrl_pcie0: pcie0grp {
fsl,pins = <
MX8MQ_IOMUXC_I2C4_SCL_PCIE1_CLKREQ_B 0x76 //CLKREQ
MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19 //PERST#
MX8MQ_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x19 //Wake#
>;
};
};
* In imx8mqevk schematic, PCIe EP clk pins are connected to both clk_generator and imx8mq pcie clk pins(CLK_N, CLK_P). Do we really need both the conections? CLK from the clk_generator should be enough. Right?
Thanks