Vxworks7 BSP: imx8mq PCIE1 dbi region access failure

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

Vxworks7 BSP: imx8mq PCIE1 dbi region access failure

1,403 Views
viswanathan_m
Contributor II

Hi,

We are working on Vxworks 7 BSP for iMX8M based custom board.

We are facing issue with PCIe interface.

We are unable to access only "dbi" register memory region for PCIe1. But we are able to access the "dbi" memory region of PCIe2.

As per the iMX8MQ reference manual, The "dbi" memory region of PCIe1 is 0x33800000.

From the pcie host controller driver, the driver hangs when reading "PCIE_PL_PLCR (0x710) i.e (0x700+ 0x10) using the dbi base memory address of PCIe1. This fails only for PCIe1. The PCIe1 and PCIe2 works fine with Linux BSP.

Is there any memory protection on this "dbi" region which is causing the failure? Any pointers on why this "dbi" memory access failure with PCIe1 ?

Thank you.

Regards

Viswa

3 Replies

1,271 Views
jimmychan
NXP TechSupport
NXP TechSupport

For VxWorks support, please contact WindRiver

Contact Wind River 

0 Kudos
Reply

1,271 Views
viswanathan_m
Contributor II

Hi, 

We are also in parallel, debugging the pcie host controller driver from vxworks.

Could you please provide some clarification in general what are the possible reasons for this pcie dbi region access failure irrespective of operating systems?

The linux driver access the dbi region using the function "dw_pcie_readl_dbi". There is no designware IP support in Vxworks? could this be the cause?

Could you provide the PCIe sequence specifically for dbi?

Please help us in providing some pointers to check further for this dbi region access failure.

0 Kudos
Reply

1,271 Views
viswanathan_m
Contributor II

The issue was resolved. The issue was with PCIE1 power domain. The power domain was not handled properly.

When we need to power ON PCIE1, the PCIE2 also needs to be powered UP. This is now handled in PCIE driver.

Now PCIE1 access is OK and PCIE1 enumeration is successful.