MSI Interrupt is not generating in I.MX8QM board

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

MSI Interrupt is not generating in I.MX8QM board

601 Views
mallibeerala
Contributor III

Hi,

I am configuring my I.MX8QM board as Root complex and my custom board is configured as endpoint.

I am able to write & read PCIe data between I.MX8QM board and my custom board.

Now I am trying MSI interrupt, MSI interrupt address and data mentioned as "0xbc000000, 0", I got these values in RC by using command "lspci -vv"

for testing msi interrupt generation, In I.MX8QM board I am writing 0 data into 0xbc000000 address location but I didn't get any msi interrupt.

Here MSI address is belongs ddr space, Is it OK.

Same procedure I am following in my layerscape board, there address and data mentioned as "0x15800000 and 0" and it is not in the ddr memory range and I am getting MSI interrupt while writing 0 into 0x15800000 address location.

Please help us to resolve this Issue.

Thanks & Regards,
Mallikarjuna

0 Kudos
6 Replies

582 Views
jimmychan
NXP TechSupport
NXP TechSupport

Could you tell me which version of BSP are you using?

0 Kudos

579 Views
mallibeerala
Contributor III

I am using kernel version - 5.15.32, which is lts.

0 Kudos

557 Views
jimmychan
NXP TechSupport
NXP TechSupport

Please refer to the iMX reference manual page 90. There is the memory layout of i.MX8QM pcie.

https://www.nxp.com/docs/en/reference-manual/IMX_REFERENCE_MANUAL.pdf

0 Kudos

536 Views
mallibeerala
Contributor III

Hi,

In Reference manual memory layout mentioned as below but MSI address is not available in below address region, it is available at 0xbc000000.

PCIeA
– PCIe host configuration space: 0x5f00_0000 – 0x5f00_ffff (64K bytes)
– PCIe device configuration space: 0x6ff0_0000 – 0x6ff7_ffff (512K bytes)
– PCIe IO space: 0x6ff8_0000 – 0x6ff8_ffff (64K bytes)
– PCIe memory space: 0x6000_0000 – 0x6fef_ffff (255M bytes)

Thanks,
Mallikarjuna

0 Kudos

486 Views
mallibeerala
Contributor III

Please provide example for I.MX8QM board, vector address is different for I.MX8QM and I.MX6 board.

Thanks & Regards,
Mallikarjuna

0 Kudos