S32R45 board, NVMe driver issues

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

S32R45 board, NVMe driver issues

918 Views
lihongliang
Contributor I
hi,
    we are debugging the SSD usage of the S32R45 board, the PCIe link is connected, i can also find the SSD device,uboot and kernel information are as follows,

 

uboot detect info,
=> pci 
Showing already found devices. Not re-enumerating the bus.
Scanning PCI devices on bus 0
BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
_____________________________________________________________
00.00.00   0x1957     0x4002     Build before PCI Rev2.0 0x00

kernel detect info,
root@s32r45evb:~/muniu# lspci   
0000:00:00.0 PCI bridge: Freescale Semiconductor Inc Device 4002
0001:00:00.0 PCI bridge: Freescale Semiconductor Inc Device 4002
0001:01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a80a​

 

      However, the NVMe initialization failure occurs, it should be the NVME I/O command timeout, but the specific cause is not located, and the error message is as follows:

 

[    4.099855] nvme nvme0: pci function 0001:01:00.0
[   64.540710] nvme nvme0: I/O 16 QID 0 timeout, disable controller
[   64.648677] nvme nvme0: Device shutdown incomplete; abort shutdown
[   64.648984] nvme nvme0: Identify Controller failed (-4)
[   64.648995] nvme nvme0: Removing after probe failure status: -5​

 

 

The following questions need your help to confirm:
    1> Does the kernel driver layer need to be adjusted separately for the NVMe part?
    2> How do I debug this problem? Do I need to configure PCIe controller registers separately for verification?(I found that there are many similar problems on the Internet, but no good solutions have been proposed)
    3> Is there anything else to pay special attention to in hardware design?【the PCIE part schematic as follows
lihongliang_1-1683691221053.pnglihongliang_2-1683691311220.pnglihongliang_4-1683691410153.png
 
      Remark, on another version of our self-developed S32R45 board, PCIe and NVMe drivers are normal;What confuses me even more,the circuit design of the PCIE part of the hardware board is almost the same as the 2 versions of the hardware board, and the same boot parameters and kernel version are used on the software.
 
The output logs related to the kernel driver are as follows:

 

[    3.984311] s32gen1-pcie 44100000.pcie: Configuring as RootComplex
[    3.984328] s32gen1-pcie 44100000.pcie: host bridge /soc/pcie@44100000 ranges:
[    3.984377] s32gen1-pcie 44100000.pcie:       IO 0x4ffffe0000..0x4ffffeffff -> 0x0000000000
[    3.984404] s32gen1-pcie 44100000.pcie:      MEM 0x4800000000..0x4ffffdffff -> 0x0000000000
[    4.084510] s32gen1-pcie 44100000.pcie: Link up
[    4.086553] s32gen1-pcie 44100000.pcie: Link up
[    4.086562] s32gen1-pcie 44100000.pcie: Link up, Gen=3
[    4.086696] s32gen1-pcie 44100000.pcie: PCI host bridge to bus 0001:00
[    4.086708] pci_bus 0001:00: root bus resource [bus 00-ff]
[    4.086722] pci_bus 0001:00: root bus resource [io  0x10000-0x1ffff] (bus address [0x0000-0xffff])
[    4.086734] pci_bus 0001:00: root bus resource [mem 0x4800000000-0x4ffffdffff] (bus address [0x00000000-0x7fffdffff])
[    4.086783] pci 0001:00:00.0: [1957:4002] type 01 class 0x060400
[    4.086809] pci 0001:00:00.0: reg 0x10: [mem 0x4800000000-0x48000fffff]
[    4.086828] pci 0001:00:00.0: reg 0x38: [mem 0x4800000000-0x480000ffff pref]
[    4.086908] pci 0001:00:00.0: supports D1
[    4.086917] pci 0001:00:00.0: PME# supported from D0 D1 D3hot D3cold
[    4.089333] pci 0001:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    4.089614] pci 0001:01:00.0: [144d:a80a] type 00 class 0x010802
[    4.089765] pci 0001:01:00.0: reg 0x10: [mem 0x4800100000-0x4800103fff 64bit]
[    4.090844] pci 0001:01:00.0: 15.752 Gb/s available PCIe bandwidth, limited by 8.0 GT/s PCIe x2 link at 0001:00:00.0 (capable of 63.012 Gb/s with 16.0 GT/s PCIe x4 link)
[    4.098829] pci_bus 0001:01: busn_res: [bus 01-ff] end is updated to 01
[    4.098870] pci 0001:00:00.0: BAR 0: assigned [mem 0x4800000000-0x48000fffff]
[    4.098885] pci 0001:00:00.0: BAR 8: assigned [mem 0x4800100000-0x48001fffff]
[    4.098895] pci 0001:00:00.0: BAR 6: assigned [mem 0x4800200000-0x480020ffff pref]
[    4.098913] pci 0001:01:00.0: BAR 0: assigned [mem 0x4800100000-0x4800103fff 64bit]
[    4.098982] pci 0001:00:00.0: PCI bridge to [bus 01]
[    4.098992] pci 0001:00:00.0:   bridge window [mem 0x4800100000-0x48001fffff]
[    4.099210] pcieport 0001:00:00.0: enabling device (0000 -> 0002)
[    4.099356] pcieport 0001:00:00.0: PME: Signaling with IRQ 102
[    4.099855] nvme nvme0: pci function 0001:01:00.0
[   64.540710] nvme nvme0: I/O 16 QID 0 timeout, disable controller
[   64.648677] nvme nvme0: Device shutdown incomplete; abort shutdown
[   64.648984] nvme nvme0: Identify Controller failed (-4)
[   64.648995] nvme nvme0: Removing after probe failure status: -5

 

 

                                                                                 We look forward to your response!

0 Kudos
Reply
3 Replies

593 Views
amei_liu
Contributor II

Hi, may I ask how this issue was ultimately resolved? Would you mind sharing the solution method?

0 Kudos
Reply

896 Views
petervlna
NXP TechSupport
NXP TechSupport

Hello,

Could you please submit this question via NXP support?

RADAR devices support is limited and it prioritized based on companies. Could you please use you company email address and details in case to get most accurate support for your issue?

https://community.nxp.com/t5/HomeTest-Knowledge-Base/How-to-submit-a-new-question-for-NXP-Support/ta...

Best regards,

Peter

0 Kudos
Reply

894 Views
lihongliang
Contributor I

Thans for your reply.

        I certainly particularly want NXP support.

       To support your work, I'll sync the company information, Our company information is as follows, Beijing Muniu Pilot Technology Co., LTD, focus on the development and production of millimeter wave radar products.

      Many of our company's products use NXP radar chip solutions, eg,S32R274/S32R294/S32R45, NXP technical support is required in many applications.

     Best regards,Looking forward to your response.

0 Kudos
Reply