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

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

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

Jump to solution
1,437 Views
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 Kudos
Reply
1 Solution
986 Views
fabio_estevam
NXP Employee
NXP Employee

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

View solution in original post

0 Kudos
Reply
2 Replies
987 Views
fabio_estevam
NXP Employee
NXP Employee

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

0 Kudos
Reply
986 Views
varsmolta
Contributor V

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

0 Kudos
Reply