How to enable MSI Controller?

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

How to enable MSI Controller?

1,468 Views
iqrajaved
Contributor III

It's mentioned in the Technical Reference Manual of iMx6 that in order to allow MSI reception the controller of MSI in host must be enabled. The screenshot of the corresponding section from reference manual is also attached. 

pastedImage_1.png

But where should I enable MSI controller? Where is CX_MSI_CTRL_ENABLE bit (in which register)? 

Thanks,

Iqra Javed

Labels (5)
Tags (4)
0 Kudos
2 Replies

1,159 Views
igorpadykov
NXP Employee
NXP Employee

Hi Iqra

MSI features are used by linux PCIe driver and one can look

at Chapter 40 PCI Express Root Complex Driver attached Linux Manual for

description. Linux BSPs are described on:

https://www.nxp.com/support/developer-resources/run-time-software/i.mx-developer-resources/i.mx-6ser...

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,159 Views
iqrajaved
Contributor III

Hi igor,

Thank you for replying. I have checked the document you provided. I am actually writing the driver without OS. The configurations that I used for MSI are mentioned in the thread https://community.nxp.com/message/1002121?commentID=1002121#comment-1002121 as well. 

My PCI driver is working fine, legacy interrupt is also working but i am facing issue in case of MSI interrupt. As far as i get it there might be issue with the inbound reception of the MSI interrupt in RC. 

Further, the regions that i have assigned in my RC are, 

0x01000000 - 0x01E00000 (Memory Region)

0x01E00000 - 0x01F00000 (IO Region)

0x01F00000 - 0x01F20000  (CFG0 and CFG1 Regions)

The address 0x01FF8000 is allocated for the MSI Address (written in MSI Controller Address of RC as well as in MSI Address register of capabilities in EP). For MSI MemWr TLP reception i have made an inbound region with the same values as mentioned in https://community.nxp.com/thread/318307?commentID=1002121#comment earlier. 

But i am not able to get MSI interrupt. 

Can you please guide me what must be the reason for this behaviour?

Regards,

Iqra Javed

0 Kudos