AnsweredAssumed Answered

imx6q[pop] : LPDDR2 Interleaving by software

Question asked by AMANUEL TIBEBU on Aug 23, 2019
Latest reply on Aug 26, 2019 by igorpadykov

I have a custom board based on the imx6q pop with 2GB LPDDR2. The default configuration boots the device with the lpddr2 memory in 2x32 fixed mode. I now have a requirement to enable 4KB interleaving for the memory. 

I want to be able to do this without hardware modification. I've tested/confirmed that by chaining (rework) the boot config pins I'm able to use the interleaving mode, but this is the least desired method. 


I also know that I can blow the fuses with settings for interleaving, i'm leaving this option as a last resort.


Is there a way to enable this functionality entirely by some software mechanisms?  Below are the options i'm wondering about now, in order of preference.  

1 - Can I use some DCD configurations to enable interleaving? If so, would you have an example?

2 - How about OTP shadow registers? Is there some mechanism that'd allow me to modify and use the updated values to enable interleaving? I've seen in the reference manual that I can reload shadow registers but I'm not sure what this actually does, or if it's even applicable to what i'm trying to do. 

3 - Use PERSIST_OVERRIDE_SBMR1 (SRC_GPR10[28]) after setting SRC_GPR9 to correct values for interleaving. This would require a WDOG reset so it's my least preferred of the software methods. 

Please advise on best route.