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

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

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

1,779 次查看
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

标签 (3)
0 项奖励
回复
3 回复数

1,369 次查看
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 项奖励
回复

1,369 次查看
charleshuang
Senior Contributor II

Hi Yuri,

About question 2, do you have any suggestion?

Thank you.

Best Regards,

Alex

0 项奖励
回复

1,369 次查看
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 项奖励
回复