i.mx28 memory autosizing ?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

i.mx28 memory autosizing ?

1,263 次查看
SJA
Contributor II

What is the procedure for DRAM auto-sizing ?

We want to have a single bootstream that supports 64MB, 128MB, 256MB.

So we need to have different settings for DRAM_REG[29] ....

Can I just change DRAM_REG[29] on the fly ??

So I set it for 256MB ... look for pattern wraparound at 64MB and 128MB and

then set DRAM_REG[29] to 64MB setting or 128MB settings or leave it at 256MB

depending on wraparound results ....

Or do I have to do something to shutdown and restart the DRAM controller in order to

change DRAM_REG[29] ?

标签 (1)
0 项奖励
回复
4 回复数

1,070 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Stuart

correct procedure would be restart the DRAM controller

using small subroutine running in iRAM.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复

1,070 次查看
SJA
Contributor II

What do I need to do to stop the DRAM controller before going through the startup sequence again ???

Here is what we do to startup the DRAM:

        Init_mddr_200MHz();

        value = HW_DRAM_CTL17_RD();
        value &= ~BM_DRAM_CTL17_SREFRESH;
        HW_DRAM_CTL17_WR(value);

        value = HW_DRAM_CTL16_RD();
        value |= BM_DRAM_CTL16_START;
        HW_DRAM_CTL16_WR(value);

        //Wait for DDR ready
        while(!(HW_DRAM_CTL58_RD()&0x100000));

0 项奖励
回复

1,070 次查看
gianlucarenzi71
Contributor II

Hello Stuart!

Did you achieve your goal?

I am in the same situation as you, as we are upgrading various memory sizes (128MB=default, 256M, 512M and 1GB as options) in our iMX28 based boards.

Some memories need to have one CS but different memory layout, some other will have more than one CS and different row and columns, ...

Did you find a suitable solution to cover a wide spread range of memory sizes in bootlets?

0 项奖励
回复

1,070 次查看
igorpadykov
NXP Employee
NXP Employee

one can set START=0 in HW_DRAM_CTL16.

~igor

0 项奖励
回复