Hi ,
We are using the RM520NGLAA-M20-SGASA modem via PCIE communication.We have connected the modem through the PCIE switch.PCIE enumeration is happened and PCIE link is up.
Driver: Quectel_Linux_PCIE_MHI_Driver_V1.3.5.zip
PCIE Switch: PI7C9X3G816GPBHFCE
The above-mentioned driver is the one we are using for the RM520 modem.
lspci
00:00.0 PCI bridge: Xilinx Corporation Device 9134
01:00.0 PCI bridge: Pericom Semiconductor Device c016 (rev 07)
02:04.0 PCI bridge: Pericom Semiconductor Device c016 (rev 06)
02:05.0 PCI bridge: Pericom Semiconductor Device c016 (rev 06)
02:06.0 PCI bridge: Pericom Semiconductor Device c016 (rev 06)
02:07.0 PCI bridge: Pericom Semiconductor Device c016 (rev 06)
03:00.0 Unassigned class [ff00]: Qualcomm Device 0308
04:00.0 Unassigned class [ff00]: Qualcomm Device 0308
05:00.0 Unassigned class [ff00]: Qualcomm Device 0308
06:00.0 Unassigned class [ff00]: Qualcomm Device 0308
lspci -v
root@SD:~# lspci -v
00:00.0 PCI bridge: Xilinx Corporation Device 9134 (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 255
Memory at a0500000 (32-bit, non-prefetchable) [size=128K]
Bus: primary=00, secondary=01, subordinate=06, sec-latency=0
I/O behind bridge: 00000000-00000fff [size=4K]
Memory behind bridge: a0000000-a04fffff [size=5M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [40] Power Management version 3
Capabilities: [48] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Root Port (Slot+), MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [128] Vendor Specific Information: ID=0000 Rev=1 Len=038 <?>
Capabilities: [200] Vendor Specific Information: ID=0002 Rev=0 Len=038 <?>
01:00.0 PCI bridge: Pericom Semiconductor Device c016 (rev 07) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Memory at a0400000 (32-bit, non-prefetchable) [size=512K]
Bus: primary=01, secondary=02, subordinate=06, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: a0000000-a03fffff [size=4M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [40] Power Management version 3
Capabilities: [48] MSI: Enable- Count=1/8 Maskable+ 64bit+
Capabilities: [68] Express Upstream Port, MSI 00
Capabilities: [a4] Subsystem: Pericom Semiconductor Device c016
Capabilities: [b0] MSI-X: Enable- Count=6 Masked-
Capabilities: [100] Advanced Error Reporting
Capabilities: [130] Virtual Channel
Capabilities: [1a0] Device Serial Number 08-16-48-96-00-00-12-d8
Capabilities: [1b0] Power Budgeting <?>
Capabilities: [1d0] Multicast
Capabilities: [210] Secondary PCI Express
Capabilities: [2b0] L1 PM Substates
Capabilities: [300] Vendor Specific Information: ID=0000 Rev=0 Len=560 <?>
02:04.0 PCI bridge: Pericom Semiconductor Device c016 (rev 06) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=02, secondary=03, subordinate=03, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: a0000000-a00fffff [size=1M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [40] Power Management version 3
Capabilities: [48] MSI: Enable- Count=1/8 Maskable+ 64bit+
Capabilities: [68] Express Downstream Port (Slot+), MSI 00
Capabilities: [a4] Subsystem: Pericom Semiconductor Device c016
Capabilities: [100] Advanced Error Reporting
Capabilities: [130] Virtual Channel
Capabilities: [1a0] Device Serial Number 08-16-48-96-00-00-12-d8
Capabilities: [1c0] Access Control Services
Capabilities: [1d0] Multicast
Capabilities: [210] Secondary PCI Express
Capabilities: [2a0] Downstream Port Containment
Capabilities: [2b0] L1 PM Substates
Capabilities: [300] Vendor Specific Information: ID=0000 Rev=0 Len=560 <?>
02:05.0 PCI bridge: Pericom Semiconductor Device c016 (rev 06) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=02, secondary=04, subordinate=04, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: a0100000-a01fffff [size=1M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [40] Power Management version 3
Capabilities: [48] MSI: Enable- Count=1/8 Maskable+ 64bit+
Capabilities: [68] Express Downstream Port (Slot+), MSI 00
Capabilities: [a4] Subsystem: Pericom Semiconductor Device c016
Capabilities: [100] Advanced Error Reporting
Capabilities: [130] Virtual Channel
Capabilities: [1a0] Device Serial Number 08-16-48-96-00-00-12-d8
Capabilities: [1c0] Access Control Services
Capabilities: [1d0] Multicast
Capabilities: [210] Secondary PCI Express
Capabilities: [2a0] Downstream Port Containment
Capabilities: [2b0] L1 PM Substates
Capabilities: [300] Vendor Specific Information: ID=0000 Rev=0 Len=560 <?>
02:06.0 PCI bridge: Pericom Semiconductor Device c016 (rev 06) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=02, secondary=05, subordinate=05, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: a0200000-a02fffff [size=1M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [40] Power Management version 3
Capabilities: [48] MSI: Enable- Count=1/8 Maskable+ 64bit+
Capabilities: [68] Express Downstream Port (Slot+), MSI 00
Capabilities: [a4] Subsystem: Pericom Semiconductor Device c016
Capabilities: [100] Advanced Error Reporting
Capabilities: [130] Virtual Channel
Capabilities: [1a0] Device Serial Number 08-16-48-96-00-00-12-d8
Capabilities: [1c0] Access Control Services
Capabilities: [1d0] Multicast
Capabilities: [210] Secondary PCI Express
Capabilities: [2a0] Downstream Port Containment
Capabilities: [2b0] L1 PM Substates
Capabilities: [300] Vendor Specific Information: ID=0000 Rev=0 Len=560 <?>
02:07.0 PCI bridge: Pericom Semiconductor Device c016 (rev 06) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=02, secondary=06, subordinate=06, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: a0300000-a03fffff [size=1M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [40] Power Management version 3
Capabilities: [48] MSI: Enable- Count=1/8 Maskable+ 64bit+
Capabilities: [68] Express Downstream Port (Slot+), MSI 00
Capabilities: [a4] Subsystem: Pericom Semiconductor Device c016
Capabilities: [100] Advanced Error Reporting
Capabilities: [130] Virtual Channel
Capabilities: [1a0] Device Serial Number 08-16-48-96-00-00-12-d8
Capabilities: [1c0] Access Control Services
Capabilities: [1d0] Multicast
Capabilities: [210] Secondary PCI Express
Capabilities: [2a0] Downstream Port Containment
Capabilities: [2b0] L1 PM Substates
Capabilities: [300] Vendor Specific Information: ID=0000 Rev=0 Len=560 <?>
03:00.0 Unassigned class [ff00]: Qualcomm Device 0308
Subsystem: Qualcomm Device 5201
Flags: bus master, fast devsel, latency 0, IRQ 60
Memory at a0000000 (64-bit, non-prefetchable) [size=4K]
Memory at a0001000 (64-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=4/32 Maskable+ 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Secondary PCI Express
Capabilities: [168] Physical Layer 16.0 GT/s <?>
Capabilities: [18c] Lane Margining at the Receiver <?>
Capabilities: [19c] Transaction Processing Hints
Capabilities: [228] Latency Tolerance Reporting
Capabilities: [230] L1 PM Substates
Capabilities: [240] Data Link Feature <?>
Kernel driver in use: mhi_q
Kernel modules: pcie_mhi
04:00.0 Unassigned class [ff00]: Qualcomm Device 0308
Subsystem: Qualcomm Device 5201
Flags: bus master, fast devsel, latency 0, IRQ 64
Memory at a0100000 (64-bit, non-prefetchable) [size=4K]
Memory at a0101000 (64-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=4/32 Maskable+ 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Secondary PCI Express
Capabilities: [168] Physical Layer 16.0 GT/s <?>
Capabilities: [18c] Lane Margining at the Receiver <?>
Capabilities: [19c] Transaction Processing Hints
Capabilities: [228] Latency Tolerance Reporting
Capabilities: [230] L1 PM Substates
Capabilities: [240] Data Link Feature <?>
Kernel driver in use: mhi_q
Kernel modules: pcie_mhi
05:00.0 Unassigned class [ff00]: Qualcomm Device 0308
Subsystem: Qualcomm Device 5201
Flags: bus master, fast devsel, latency 0, IRQ 68
Memory at a0200000 (64-bit, non-prefetchable) [size=4K]
Memory at a0201000 (64-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=4/32 Maskable+ 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Secondary PCI Express
Capabilities: [168] Physical Layer 16.0 GT/s <?>
Capabilities: [18c] Lane Margining at the Receiver <?>
Capabilities: [19c] Transaction Processing Hints
Capabilities: [228] Latency Tolerance Reporting
Capabilities: [230] L1 PM Substates
Capabilities: [240] Data Link Feature <?>
Kernel driver in use: mhi_q
Kernel modules: pcie_mhi
06:00.0 Unassigned class [ff00]: Qualcomm Device 0308
Subsystem: Qualcomm Device 5201
Flags: bus master, fast devsel, latency 0, IRQ 72
Memory at a0300000 (64-bit, non-prefetchable) [size=4K]
Memory at a0301000 (64-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=4/32 Maskable+ 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Secondary PCI Express
Capabilities: [168] Physical Layer 16.0 GT/s <?>
Capabilities: [18c] Lane Margining at the Receiver <?>
Capabilities: [19c] Transaction Processing Hints
Capabilities: [228] Latency Tolerance Reporting
Capabilities: [230] L1 PM Substates
Capabilities: [240] Data Link Feature <?>
Kernel driver in use: mhi_q
Kernel modules: pcie_mhi
BOOT LOGS :
[ 10.329925] udevd[262]: starting eudev-3.2.9
[ 10.524018] mali: loading out-of-tree module taints kernel.
[ 10.614082] mhi_init Quectel_Linux_PCIE_MHI_Driver_V1.3.5
[ 10.619808] mhi_pci_probe pci_dev->name = 0000:03:00.0, domain=0, bus=3, slot=0, vendor=17CB, device=0308
[ 10.638803] [I][mhi0][mhi_arch_set_bus_request] Setting bus request to index 1
[ 10.638832] mhi_q 0000:03:00.0: BAR 0: assigned [mem 0xa0000000-0xa0000fff 64bit]
[ 10.646419] pci 0000:00:00.0: enabling device (0000 → 0002)
[ 10.652136] pci 0000:01:00.0: enabling device (0000 → 0002)
[ 10.657834] pci 0000:02:04.0: enabling device (0000 → 0002)
[ 10.663522] mhi_q 0000:03:00.0: enabling device (0000 → 0002)
[ 10.669396] [I][mhi0][mhi_init_pci_dev] mhi_cntrl->regs = (ptrval)
[ 10.669595] [I][mhi0][mhi_init_pci_dev] msi_required = 4, msi_allocated = 4, msi_irq = 60
[ 10.669612] [I][mhi0][mhi_power_up] dev_state:RESET
[ 10.669616] [I][mhi0][mhi_async_power_up] Requested to power on
[ 10.672767] [I][mhi0][mhi_alloc_coherent] size = 98304, dma_handle = 6dd00000
[ 10.672780] [I][mhi0][mhi_init_dev_ctxt] mhi_ctxt->ctrl_seg = ffff800011e4d000
[ 10.677375] *** mhi_async_power_up ** irqbase: 0
[ 10.682078] [I][mhi0][mhi_async_power_up] dev_state:RESET ee:AMSS
[ 10.682130] [I][mhi0][mhi_async_power_up] Power on setup success
[ 10.682169] [I][mhi0][mhi_pci_show_link] LnkCap: Speed 16GT/s, Width x2
[ 10.682173] [I][mhi0][mhi_pci_show_link] LnkSta: Speed 8GT/s, Width x1
[ 10.682177] [I][mhi0][mhi_pci_probe] Return successful
[ 10.682461] [I][mhi0][mhi_pm_st_worker] Transition to state:READY
[ 10.682471] [I][mhi0][mhi_pm_st_worker] INVALID_EE → AMSS
[ 10.682476] [I][mhi0][mhi_ready_state_transition] Waiting to enter READY state
[ 10.893388] EXT4-fs (mmcblk1p2): recovery complete
[ 10.905118] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
[ 10.916739] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 11.044905] EXT4-fs (mmcblk0p3): recovery complete
[ 11.049727] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
[ 11.057202] EXT4-fs (mmcblk0p4): recovery complete
[ 11.062620] EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: (null)
[ 11.072326] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 11.163196] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[ 11.362364] urandom_read: 4 callbacks suppressed
[ 11.362369] random: dd: uninitialized urandom read (512 bytes read)
[ 11.465868] update-alternatives: Linking /usr/lib/libMali.so.9.0 to /usr/lib/x11/libMali.so.9.0
[ 11.500582] Warn: update-alternatives: libmali-xlnx has multiple providers with the same priority, please check /usr/lib/opkg/alternatives/libmalis
[ 11.529827] update-alternatives: Linking /usr/lib/libMali.so.9.0 to /usr/lib/x11/libMali.so.9.0
[ 11.564294] Warn: update-alternatives: libmali-xlnx has multiple providers with the same priority, please check /usr/lib/opkg/alternatives/libmalis
[ 11.594164] update-alternatives: Linking /usr/lib/libMali.so.9.0 to /usr/lib/x11/libMali.so.9.0
[ 11.644350] update-alternatives: Linking /usr/lib/libMali.so.9.0 to /usr/lib/x11/libMali.so.9.0
[ 12.536221] random: crng init done
[ 13.874509] [I][mhi0][mhi_ready_state_transition] Device in READY State
[ 13.874517] [I][mhi0][mhi_tryset_pm_state] Transition to pm state from:POR to:POR
[ 13.874523] [I][mhi0][mhi_init_mmio] Initializing MMIO Base Address = ffff80001185d000
[ 13.874529] [I][mhi0][mhi_init_mmio] CHDBOFF:0x300
[ 13.874537] [I][mhi0][mhi_init_mmio] ERDBOFF:0x700
[ 13.874541] [I][mhi0][mhi_init_mmio] Programming all MMIO values.
It always gets stopped at this stage, and we are not getting interrupts.
From the above logs, Modem gets into the ready state and is not moving to the M0 state.
listed mhi devices are,
root@SD:~# ls /dev/mhi_*
/dev/mhi_BHI /dev/mhi_BHI1 /dev/mhi_BHI2 /dev/mhi_BHI3
only mhi_BHI device we are getting.Could you please help on this?