I am connecting my STM32MP257F-EV1 board to rpi Hailo 8 board via Mini Pcie to M.2 key M adapter. The board is not getting detected even though clock and reset signals are coming properly.
I am using the stm32mp257f-ev1.dts (default device tree) and also sharing my device tree pci node below
&pcie_rc {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&pcie_init_pins_a>;
pinctrl-1 = <&pcie_sleep_pins_a>;
reset-gpios = <&gpioj 8 GPIO_ACTIVE_LOW>;
wakeup-source;
wake-gpios = <&gpioh 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
status = "okay";
};
I am getting this error as given below:-
root@stm32mp2:~# lspci
00:00.0 PCI bridge: Synopsys, Inc. Device 0550 (rev 01)
root@stm32mp2:~# dmesg | grep pci
[ 1.561630] stm32-pcie 48400000.pcie: host bridge /soc@0/rifsc@42080000/pcie@48400000 ranges:
[ 1.570082] stm32-pcie 48400000.pcie: IO 0x0010010000..0x001001ffff -> 0x0010010000
[ 1.586511] stm32-pcie 48400000.pcie: MEM 0x0010020000..0x0017ffffff -> 0x0010020000
[ 1.603016] stm32-pcie 48400000.pcie: MEM 0x0018000000..0x001fffffff -> 0x0018000000
[ 1.611258] stm32-pcie 48400000.pcie: iATU unroll: enabled
[ 1.616731] stm32-pcie 48400000.pcie: iATU regions: 4 ob, 4 ib, align 64K, limit 4G
[ 2.734924] stm32-pcie 48400000.pcie: Phy link never came up
[ 2.735142] stm32-pcie 48400000.pcie: PCI host bridge to bus 0000:00
[ 2.741386] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 2.746855] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] (bus address [0x10010000-0x1001ffff])
[ 2.756387] pci_bus 0000:00: root bus resource [mem 0x10020000-0x17ffffff]
[ 2.763297] pci_bus 0000:00: root bus resource [mem 0x18000000-0x1fffffff pref]
[ 2.770677] pci 0000:00:00.0: [16c3:0550] type 01 class 0x060400
[ 2.776697] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
[ 2.782994] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
[ 2.789347] pci 0000:00:00.0: supports D1 D2
[ 2.793582] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[ 2.804920] pci 0000:00:00.0: BAR 0: assigned [mem 0x10100000-0x101fffff]
[ 2.806179] pci 0000:00:00.0: BAR 1: assigned [mem 0x10020000-0x1002ffff]
[ 2.813040] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[ 2.818718] pcieport 0000:00:00.0: PME: Signaling with IRQ 59
[ 2.825034] pcieport 0000:00:00.0: AER: enabled with IRQ 58
root@stm32mp2:~# dmesg | grep pcie
[ 1.561630] stm32-pcie 48400000.pcie: host bridge /soc@0/rifsc@42080000/pcie@48400000 ranges:
[ 1.570082] stm32-pcie 48400000.pcie: IO 0x0010010000..0x001001ffff -> 0x0010010000
[ 1.586511] stm32-pcie 48400000.pcie: MEM 0x0010020000..0x0017ffffff -> 0x0010020000
[ 1.603016] stm32-pcie 48400000.pcie: MEM 0x0018000000..0x001fffffff -> 0x0018000000
[ 1.611258] stm32-pcie 48400000.pcie: iATU unroll: enabled
[ 1.616731] stm32-pcie 48400000.pcie: iATU regions: 4 ob, 4 ib, align 64K, limit 4G
[ 2.734924] stm32-pcie 48400000.pcie: Phy link never came up
[ 2.735142] stm32-pcie 48400000.pcie: PCI host bridge to bus 0000:00
[ 2.818718] pcieport 0000:00:00.0: PME: Signaling with IRQ 59
[ 2.825034] pcieport 0000:00:00.0: AER: enabled with IRQ 58
When I connect another Pci module directly to the pci connector of the board then the module is getting detected. But when connected via Mini Pcie to M.2 key M adapter then it is not getting detected.
My question is
What can be the reason for this error?
Are there any changes required in the board to enable pci connection via external connector?
Are any more changes required in dts or code to make Hailo 8 work with the stm board via Mini Pcie to M.2 key M connector?