Hello,
I am writing bare metal application on IMX8MMini EVK for Cortex A53. I am trying to enable DDR Controller, but when I try to access it's memory mapped location (from 0x3c00 0000) it can not access it.
I enabled all PLLs (Sys pll1, 2,3 and got dram_pll_lock with DRAM PLL set to 800 MHz).
Please notice that this is Bare Metal app. I am not using U boot or any other boot loader. Basically, before my app is only BootRom code. I am using Lauterbach tools for downloading the app and debugging.
Perhaps I am missing some CCGR bit, or some other clock that I am not aware of. I have tried to follow the steps from U boot source code, but it is little complicated to follow. Perhaps the access is denied as this memory is occupied. I really do not have a clue. I have set A53 to master assignment in RDC and also in PGC, and enabled CPU mapping in PGC.
Also, I do not know if this is relevant or not, but I have not enabled MMU in my app.
Also, please note that with MSCALE_DDR_Tool I get everything Ok, but in My code, when I try to follow the memory values that tool is setting, I can not access to DDRC peripheral memory.
Questions:
1. I am not sure if Uboot is enabling DDRC or is that done before Uboot, in SPL, ATF or SCFW?
2. What are the steps to follow to enable DDRC and to access it from A53 core?? Can you point out the relevant parts and resources to check it out while developing this?
Thank you in advance.
Best regards,
Marko