imx6 EIM bus stuck - reading same values from EIM control regs

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

imx6 EIM bus stuck - reading same values from EIM control regs

跳至解决方案
1,335 次查看
varsmolta
Contributor V

I am using this (Armadeus APF51 / Freescale i.MX51: A kit for reverse engineering the EIM bus) as a starting point for working with the EIM module. While this post is for the imx51, I have ported over the kernel module to use with the mx6q. After insmod the module (which should initiate a bus transfer), I get the following:

CS2GCR1=00010080, CS2GCR2=00001000

CS2RCR1=00000000, CS2RCR2=00000000

CS2WCR1=00000000, CS2WCR2=00000000

WEIM Config register WCR=00000020

WEIM IP Access register WIAR=00000010

<processor gets stuck here>

It seems writing to the above registers has no impact, since the values read are always the same as above. According the Imx6 reference manual, these are R/W registers. I have also used the devregs utility from here (devregs - tool to display and modify a device's registers at runtime) to double check that I am indeed writing and reading from the correct registers, but still I always read the same values no matter what I wrote. After ioremap call and the call to read from the EIM bus, the processor gets stuck and I cannot recover and must reboot. Am I missing a step? My goal is to just do a burst transfer and observe it on the scope.

Thanks

0 项奖励
回复
1 解答
884 次查看
fabio_estevam
NXP Employee
NXP Employee

Make sure you have turned on the WEIM clock in the CCM registers.

在原帖中查看解决方案

0 项奖励
回复
2 回复数
885 次查看
fabio_estevam
NXP Employee
NXP Employee

Make sure you have turned on the WEIM clock in the CCM registers.

0 项奖励
回复
884 次查看
varsmolta
Contributor V

yes CCM_CCGR6 register has a bit to enable the EIM_CLK. After setting the bit, the EIM bus works.

0 项奖励
回复