i.MX6QP Read/Write PCIe register issues by memtool on Yocto 3.14.38_beta

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

i.MX6QP Read/Write PCIe register issues by memtool on Yocto 3.14.38_beta

1,115 Views
charleshuang
Senior Contributor II

1. After PCIe PHY reference clock is disabled, then PCIe PHY reference clock is enabled.

   PCIE cannot enable.

20E_0004 GPR (IOMUXC_GPR1): BIT 16 (REF_SSP_EN):

0 --> PCIe PHY reference clock is disabled

1 --> PCIe PHY reference clock is enabled

step 1) /unit_tests/memtool 0x020e0004=0x48400005

step 2) /unit_tests/memtool 0x020e0004=0x48410005

2. Whether it is read or write PCIE_RC_LCSR2 (Link Control and Status 2 Register) register, system will crash.

PCIE_RC_LCSR2 register: 0x01ffc0a0

Write: /unit_tests/memtool 0x01ffc0a0=0x10102

Can you tell me how to solve this issue?

Thank you.

Best Regards,

Alex Cheng

Labels (3)
0 Kudos
3 Replies

705 Views
Yuri
NXP Employee
NXP Employee

Hello,

I do not think, that just disabling / enabling the clocks via the GPR is correct

sequence to stop / resume PCIe operations.  

The following is initialization sequence of the PCIe.

  Configure the GPR fields related with PCIE.

  Configure the PCIE reference clock.

  Reset the PCIE endpoint device.

  Start linkup the endpoint device.

  Wait until the linkup setup unless timeout.


Have a great day,
Yuri

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

0 Kudos

705 Views
charleshuang
Senior Contributor II

Hi Yuri,

About question 2, do you have any suggestion?

Thank you.

Best Regards,

Alex

0 Kudos

705 Views
Yuri
NXP Employee
NXP Employee

Hi,

When memtool operation causes system hang / crash :

1.
Please try to enable all clocks :

   

//===================================                 

// Enable all clocks (they are disabled by ROM code)                       

//====================================                       

setmem /32        0x020c4068 =     0xffffffff    

setmem /32        0x020c406c =     0xffffffff    

setmem /32        0x020c4070 =     0xffffffff    

setmem /32        0x020c4074 =     0xffffffff    

setmem /32        0x020c4078 =     0xffffffff    

setmem /32        0x020c407c =     0xffffffff    

setmem /32        0x020c4080 =     0xffffffff

2.
It may be caused by the fact, that the requested memory
was not mapped.

Regards,
Yuri.

0 Kudos