Hello,
I am trying to communicate the with a SRAM chip over the EIM bus on an i.MX6.
It uses the following signals:
CS0
OE
RW
LBA
EB0/EB1
ADDR/DATA[0-15]
It doesn't have the WAIT pin connected and uses a external chip to latch addresses.
I configured the EIM_CS0GCR1, EIM_CS0GCR2, EIM_CS0RCR1, EIM_CS0RCR2, EIM_CS0WCR1, EIM_CS0WCR2 but I might still be confused with timings: what are their references and how they are related to each other.
I then tried to access the SRAM by doing read and write on the address range [0x08000000 - 0x08004000] which should be 16KB on the CS0. But only get strange values. Writing is not working either.
My configuration:
EIM_CS0GCR1: 0x07f1003f
EIM_CS0GCR2: 0x00001002
EIM_CS0RCR1: 0x08785000
EIM_CS0RCR2: 0x00000028
EIM_CS0WCR1: 0x88e28800
EIM_CS0WCR2: 0x00000000
I tried google but it seems that only asynchronous mode is used by other people.
Any idea on what I am doing wrong: wrong configuration? missing step?
Thanks
Regards
Solved! Go to Solution.
Actually I found the correct timings, and it is now working:
For reference, the working configuration is:
EIM_CS0GCR1: 0x07f1303f
EIM_CS0GCR2: 0x00001001
EIM_CS0RCR1: 0x08386000
EIM_CS0RCR2: 0x00000068
EIM_CS0WCR1: 0x88630c00
EIM_CS0WCR2: 0x00000000
Actually I found the correct timings, and it is now working:
For reference, the working configuration is:
EIM_CS0GCR1: 0x07f1303f
EIM_CS0GCR2: 0x00001001
EIM_CS0RCR1: 0x08386000
EIM_CS0RCR2: 0x00000068
EIM_CS0WCR1: 0x88630c00
EIM_CS0WCR2: 0x00000000