Hello,
I am working on SW for a device that has iMX6DL on it.
We are planning to change the SDRAM on the device to a bigger one.
I have been studying SDRAM configurations for various devices and I'm having difficulties
in understanding how the configuration values have been derived.
I don't have Sabre HW with iMX6DL available, but I'm using the source code as reference.
Looking at UBoot source code at CodeAurora (https://source.codeaurora.org/external/imx/uboot-imx),
branch 'imx_v2019.04_4.19.35_1.1.0', for example.
Under /board/freescale/mx6sabresd there's SDRAM config file for iMX6DL; mx6dlsabresd.cfg.
I am not sure which SDRAM component is used on Sabre iMX6DL HW. I assume it could be MT41K128M16JT-125.
Any way, when looking at the configuration data in the cfg file, I made the following findings;
DATA 4 0x021b000c 0x3F435313
- this corresponds to tRFC=160ns, tXS=170ns, tXP=7.5ns/3CK, tXPDLL=24ns/10CK, tFAW=45ns/18CK, tCL=13.75ns/6CK
DATA 4 0x021b0010 0xB66E8B63
- this corresponds to tRCD=13.75ns/6CK, tRP=13.75ns/6CK, tRC=48.75ns/20CK, 36ns/15CK, 1, 15, 12, 5
1) Why are these values used for iMX6DL; tFAW=45ns/18CK, tRC=48.75ns/20CK?
As far as I understand, they both relate to Speed Bin DDR3-1333.
2) When defining the timing values, should they be set according to SDRAM chip specification or
according to SDRAM clock frequency used on iMX6DL, e.g. 400MHz (DDR3-800)?
3) If a -107 SDRAM (DDR3-1866) component is used with iMX6DL (SDRAM clock set to 400MHz),
should all the timing values still be set to values corresponding to DDR3-800?
For example, which one to use, tRC=47.91ns (DDR3-1866) or 52.5ns (DDR3-800)?
Thanks & best regards,
Jari Peltonen
Solved! Go to Solution.
Hello,
You are right, MT41K128M16JT is used in the i.MX 6DL SABRE; and, when considering the
timing values, DDR3-800 should be taken, assuming 400 MHz as working frequency.
General idea is to use more safe (relax) values.
The following tool will be helpful.
“i.MX6DL SABRE SDP/B DDR3 Register Programming Aid”
https://community.nxp.com/docs/DOC-105964
Have a great day,
Yuri
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
Thanks Yuri,
I have no further questions at this point.
Best regards,
Jari
Hello,
You are right, MT41K128M16JT is used in the i.MX 6DL SABRE; and, when considering the
timing values, DDR3-800 should be taken, assuming 400 MHz as working frequency.
General idea is to use more safe (relax) values.
The following tool will be helpful.
“i.MX6DL SABRE SDP/B DDR3 Register Programming Aid”
https://community.nxp.com/docs/DOC-105964
Have a great day,
Yuri
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.