This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM/DM37x x-loader SDRC_MDCFG configure question

 

Hi, all

 

    I have a question on  SDRC_MDCFG configure in x-loader:

 

   In file include/asm/arch-omap3/mem.h  #define SDP_SDRC_MDCFG_0_DDR    (0x02584019|B_ALL) /* Infin ddr module */.

 

   According to DM/AM37x TRM, it means 13bits RAS width, 10 bits CAS width.

 

    But in the LPDDR datasheet 7774.nandflash_mddr_pop_am37x_evm.pdf, it said,  Row Address A0~A13, that is 14bits width, Column Address:A0~A9, that is 10 bits widhth, Auto-precharge flag is A10.

 

   So the RAS width is not compatible in x-loader configure and mddr's spec.

 

   Could you help to give some explanation for this?

 

 

 

Thanks!

 

Yaoming

 

  • Yaoming:

    X-loader (v1.5.1 - which ver do you have?) sets the SDRC_MCFG_0 register to:

    0x6D000080 = 0x02584099 (128MB, Row+Bank+Col, Mobile DDR2, 32-bit, CAS=10bits, RAS=13 bits)

    For reference, after Linux kernel v2.6.39 boots this register has:

    0x6D000080 = 0x03588099 (256MB, Row+Bank+Col, Mobile DDR2, 32-bit, CAS=10bits, RAS=14 bits)

    It looks like X-loader only configures the system to use 128MB instead of the full 256MB that the LPDDR

    supports, so there is one less RAS bit used.

    Regards,

    Michael T

    PS: Please mark this post as answered via the Verify Answer button below if you think it answers your question.  Thanks!

  • Hi, Mike

        Thanks for supporting me again !

    • Why the x-loader just enable 128MB? So if I change it to  0x6D000080 = 0x03588099, it will work well, too?
      • I will make some test tomorrow.
    • Could you please kindly show me in which file of Kernel set the SDRC_MCFG_0, that I can't  find finally.

     

    Thanks !

    Yaoming

  • Yaoming:

    I am assuming that the x-loader code is simplified to always use 128MB since xloader is a very small program and

    does not need a large memory (u-boot is ~256KB), so it is OK as is.

    Where as, Linux kernel would make use of all the memory.  You should not need to change either of these.

    Regards,

    Michael T

  • Mike:

    Thanks for your reply !

            Yes, I will not be going to change the setting for memory, but I want to make clear where to configure the memory, so that I can handle the memory configuration totally.

            If you could refer some code about it, I can dig into it by  myself, this will be great !

     

    Thanks !

    Yaoming