<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to reset DDR controller in T1024? in T-Series</title>
    <link>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600813#M1365</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;My test application is bare board binary which will be executed in Hypervisor mode. Once control transfers to my application by u-boot(using "go" command). &amp;nbsp;u-boot won't have any control as the test application will be running in Hyper-visor mode(which is highest privilege mode). As the test application executing from NOR flash there should be no issue in re-initializing the DDR controller. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But here my concern is&amp;nbsp;why reset functionality(using DDR_SDRAM_CFG_3) is not working as expected.&lt;/P&gt;&lt;P&gt;Even if I don't use u-boot(I booting the board using my test application it self) DDR controller reset functionality is not working as expected. (as per some test requirements my test application needs to reset the DDR controller).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After setting the reset bit in&amp;nbsp;&lt;SPAN&gt;DDR_SDRAM_CFG_3... it's getting auto clear as per T1024 reference manual... but data initialization is&amp;nbsp;not completing... it's keep on waiting for DATA_INIT bit to clear...&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 09 Jan 2017 14:49:51 GMT</pubDate>
    <dc:creator>veerendranathj</dc:creator>
    <dc:date>2017-01-09T14:49:51Z</dc:date>
    <item>
      <title>How to reset DDR controller in T1024?</title>
      <link>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600809#M1361</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am transferring control from u-boot to my bare board binary(which will execute from NOR flash). Now I want reset the DDR controller and re-initialize. I tried to reset using&amp;nbsp;"&lt;SPAN style="color: #000000; font-size: 9pt;"&gt;DDR_DDR_SDRAM_CFG_3" &lt;SPAN style="color: #3d3d3d;"&gt;reset but after i could not inialize RAM memory... Please refer below for my code... Pleas let me know if am doing anything wrong...&lt;/SPAN&gt;&lt;BR /&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;asm ("ddr_cntrl_reset:");&lt;BR /&gt; SET_GROUP_BASE(CCSRBAR + DDRC_GROUP_OFFSET);&lt;BR /&gt; //# DDR_SDRAM_CFG&lt;BR /&gt; CCSR_SET_W(0x110, 0x0); &amp;nbsp;// Disabling &amp;nbsp;DDR controller&lt;BR /&gt; //# DDR_SDRAM_CFG_3&lt;BR /&gt; CCSR_SET_W(0x260, 0x80000000); // Reset ddr controller.&lt;BR /&gt; //# wait for DDRC_RST bits to clear&lt;BR /&gt; asm ("xor 6, 6, 6");&lt;BR /&gt; asm ("oris 6, 6, 0x80000000@h");&lt;BR /&gt; asm ("ori 6, 6, 0x80000000@l");&lt;BR /&gt; asm ("ddr_reset_loop:");&lt;BR /&gt; CCSR_GET_W(0x260); // Will fetch the value to register 19&lt;BR /&gt; asm ("andis. 19, 19, 0x8000");&lt;BR /&gt; asm ("cmpw 19, 6");&lt;BR /&gt; asm ("bt eq, ddr_reset_loop");&lt;BR /&gt; &lt;BR /&gt; asm ("ddr_cntrl_reset_end:");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// Re-initializing DDR&lt;BR /&gt;//# DDR_SDRAM_CFG&lt;BR /&gt; CCSR_SET_W(0x110, 0x67044000); &lt;BR /&gt; //# DDR_CS0_BNDS&lt;BR /&gt; CCSR_SET_W(0x000, 0x0000007F);&lt;BR /&gt; //# DDR_CS1_BNDS&lt;BR /&gt; CCSR_SET_W(0x008, 0x0000007F);&lt;BR /&gt; //# DDR_CS0_CONFIG&lt;BR /&gt; CCSR_SET_W(0x080, 0x80044302);&lt;BR /&gt; //# DDR_CS1_CONFIG&lt;BR /&gt; CCSR_SET_W(0x084, 0x80004302);&lt;BR /&gt; //# DDR_CS0_CONFIG_2&lt;BR /&gt; CCSR_SET_W(0x0c0, 0x00000000);&lt;BR /&gt; //# DDR_CS1_CONFIG_2&lt;BR /&gt; CCSR_SET_W(0x0c4, 0x00000000);&lt;BR /&gt; //# DDR_TIMING_CFG_3&lt;BR /&gt; CCSR_SET_W(0x100, 0x01071000);&lt;BR /&gt; //# DDR_TIMING_CFG_0&lt;BR /&gt; CCSR_SET_W(0x104, 0x50110004);&lt;BR /&gt; //# DDR_TIMING_CFG_1&lt;BR /&gt; CCSR_SET_W(0x108, 0xBCB48C56);&lt;BR /&gt; //# DDR_TIMING_CFG_2&lt;BR /&gt; CCSR_SET_W(0x10c, 0x0040C0D8);&lt;BR /&gt; //# DDR_SDRAM_CFG_2&lt;BR /&gt; CCSR_SET_W(0x114, 0x00401111);&lt;BR /&gt; //# DDR_SDRAM_MODE&lt;BR /&gt; CCSR_SET_W(0x118, 0x00441C70);&lt;BR /&gt; //# DDR_SDRAM_MODE_2&lt;BR /&gt; CCSR_SET_W(0x11c, 0x00980000);&lt;BR /&gt; //# DDR_SDRAM_MODE_4&lt;BR /&gt; CCSR_SET_DUP_W(0x204);&lt;BR /&gt; //# DDR_SDRAM_MODE_6&lt;BR /&gt; CCSR_SET_DUP_W(0x20C);&lt;BR /&gt; //# DDR_SDRAM_MODE_8&lt;BR /&gt; CCSR_SET_DUP_W(0x214);&lt;BR /&gt; //# DDR_SDRAM_MODE_3&lt;BR /&gt; CCSR_SET_W(0x200, 0x00001C70);&lt;BR /&gt; //# DDR_SDRAM_MODE_5&lt;BR /&gt; CCSR_SET_DUP_W(0x208);&lt;BR /&gt; //# DDR_SDRAM_MODE_7&lt;BR /&gt; CCSR_SET_DUP_W(0x210);&lt;BR /&gt; //# DDR_SDRAM_MD_CNTL&lt;BR /&gt; CCSR_SET_W(0x120, 0x00000000);&lt;BR /&gt; //# DDR_SDRAM_INTERVAL&lt;BR /&gt; CCSR_SET_W(0x124, 0x0C300100);&lt;BR /&gt; //# DDR_DATA_INIT&lt;BR /&gt; CCSR_SET_W(0x128, 0xDEADBEEF);&lt;BR /&gt; //# DDR_SDRAM_CLK_CNTL&lt;BR /&gt; CCSR_SET_W(0x130, 0x02000000);&lt;BR /&gt; //# DDR_INIT_ADDR&lt;BR /&gt; CCSR_SET_W(0x148, 0x00000000);&lt;BR /&gt; //# DDR_INIT_EXT_ADDR&lt;BR /&gt; CCSR_SET_DUP_W(0x14c);&lt;BR /&gt; //# TIMING_CFG_4&lt;BR /&gt; CCSR_SET_W(0x160, 0x00000001);&lt;BR /&gt; //# TIMING_CFG_5&lt;BR /&gt; CCSR_SET_W(0x164, 0x04401400);&lt;BR /&gt; //# DDR_ZQ_CNTL&lt;BR /&gt; CCSR_SET_W(0x170, 0x89080600);&lt;BR /&gt; //# DDR_WRLVL_CNTL&lt;BR /&gt; CCSR_SET_W(0x174, 0xC675F607);&lt;BR /&gt; //# DDR_SR_CNTR&lt;BR /&gt; CCSR_SET_W(0x17c, 0x00000000);&lt;BR /&gt; //# DDR_WRLVL_CNTL_2&lt;BR /&gt; CCSR_SET_W(0x190, 0x0808090B);&lt;BR /&gt; //# DDR_WRLVL_CNTL_3&lt;BR /&gt; CCSR_SET_W(0x194, 0x0C0D0E0A);&lt;BR /&gt; //# DDR_DDRCDR_1&lt;BR /&gt; CCSR_SET_W(0xb28, 0x80000000);&lt;BR /&gt; //# DDRCDR_2&lt;BR /&gt; CCSR_SET_W(0xb2c, 0x00000000);&lt;BR /&gt; //# DDR_ERR_DISABLE - DISABLE&lt;BR /&gt; CCSR_SET_W(0xe44, 0x00000000);&lt;BR /&gt; //# ERR_SBE&lt;BR /&gt; CCSR_SET_W(0xe58, 0x00000000);&lt;/P&gt;&lt;P&gt;//# delay before enable&lt;BR /&gt; asm ("lis 5, 0x0000");&lt;BR /&gt; asm ("ori 5, 5, 0x0fff");&lt;BR /&gt; asm ("mtspr 9 ,5");&lt;BR /&gt; asm ("wait_loop1:");&lt;BR /&gt; asm ("bc 16, 0, wait_loop1 ");&lt;BR /&gt; &lt;BR /&gt; //# DDR_SDRAM_CFG&lt;BR /&gt; CCSR_SET_W(0x110, 0xE7044000);&lt;BR /&gt; &lt;BR /&gt; //# wait for DRAM data initialization&lt;BR /&gt; asm ("lis 5, 0x0000");&lt;BR /&gt; asm ("ori 5, 5, 0x2ffd");&lt;BR /&gt; asm ("mtspr 9 ,5");&lt;BR /&gt; asm ("wait_loop2:");&lt;BR /&gt; asm ("bc 16,0,wait_loop2 ");&lt;BR /&gt; &lt;BR /&gt; //# wait for D_INIT bits to clear&lt;BR /&gt; asm ("xor 5, 5, 5");&lt;BR /&gt; asm ("wait_loop3:");&lt;BR /&gt; CCSR_GET_W(0x114);&lt;BR /&gt; asm ("mr 5, 19");&lt;BR /&gt; asm ("rlwinm 5, 5, 0, 27, 27");&lt;BR /&gt; asm ("cmpwi 5, 0x0010");&lt;BR /&gt; asm ("bt eq, wait_loop3");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-size: 9pt;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-size: 9pt;"&gt;Veerendranath&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jan 2017 10:49:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600809#M1361</guid>
      <dc:creator>veerendranathj</dc:creator>
      <dc:date>2017-01-09T10:49:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to reset DDR controller in T1024?</title>
      <link>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600810#M1362</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry, it is not clear what is the reason why you want to re-initialize DDR in u-boot, this is done already in u-boot and no more re-initializations necessary.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Alexander&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jan 2017 12:59:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600810#M1362</guid>
      <dc:creator>alexander_yakov</dc:creator>
      <dc:date>2017-01-09T12:59:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to reset DDR controller in T1024?</title>
      <link>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600811#M1363</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am writing bare board application(Hardware testing software) which will test peripherals and interfaces of our product which is based on T1024 processor. I am prototyping the test application on T1024RDB. We are using u-boot as bootloader for actual product software and test software(which I am working). As part some requirement I need to reinitialize the DDR controller in test software.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Veerendranath&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jan 2017 13:24:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600811#M1363</guid>
      <dc:creator>veerendranathj</dc:creator>
      <dc:date>2017-01-09T13:24:42Z</dc:date>
    </item>
    <item>
      <title>Re: How to reset DDR controller in T1024?</title>
      <link>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600812#M1364</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I do not think it is possible to re-initialize DDR controller from user software running from u-boot shell, because u-boot itself uses DDR memory for its operation.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jan 2017 13:40:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600812#M1364</guid>
      <dc:creator>alexander_yakov</dc:creator>
      <dc:date>2017-01-09T13:40:51Z</dc:date>
    </item>
    <item>
      <title>Re: How to reset DDR controller in T1024?</title>
      <link>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600813#M1365</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;My test application is bare board binary which will be executed in Hypervisor mode. Once control transfers to my application by u-boot(using "go" command). &amp;nbsp;u-boot won't have any control as the test application will be running in Hyper-visor mode(which is highest privilege mode). As the test application executing from NOR flash there should be no issue in re-initializing the DDR controller. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But here my concern is&amp;nbsp;why reset functionality(using DDR_SDRAM_CFG_3) is not working as expected.&lt;/P&gt;&lt;P&gt;Even if I don't use u-boot(I booting the board using my test application it self) DDR controller reset functionality is not working as expected. (as per some test requirements my test application needs to reset the DDR controller).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After setting the reset bit in&amp;nbsp;&lt;SPAN&gt;DDR_SDRAM_CFG_3... it's getting auto clear as per T1024 reference manual... but data initialization is&amp;nbsp;not completing... it's keep on waiting for DATA_INIT bit to clear...&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jan 2017 14:49:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600813#M1365</guid>
      <dc:creator>veerendranathj</dc:creator>
      <dc:date>2017-01-09T14:49:51Z</dc:date>
    </item>
    <item>
      <title>Re: How to reset DDR controller in T1024?</title>
      <link>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600814#M1366</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So, if my understanding is correct, you have working hardware, I mean your memory works properly under u-boot with settings, used by uboot. After you transfer control to your software, you can reset DDR controller (you can see DDRC_RST bit is successfuly self-cleared), but after reset, when you place your own settings to DDR controller, it can not successfuly finish initialization. In this case recommend referring your u-boot code for proper DDR settings and proper DDR initialization sequence used by u-boot and already verified as working properly. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Jan 2017 04:21:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600814#M1366</guid>
      <dc:creator>alexander_yakov</dc:creator>
      <dc:date>2017-01-12T04:21:36Z</dc:date>
    </item>
    <item>
      <title>Re: How to reset DDR controller in T1024?</title>
      <link>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600815#M1367</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have tested my DDR configuration code without u-boot by booting board with my application... it is absolutely working fine... But I am facing the problem when I reset and initialize the DDR controller...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Jan 2017 04:39:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600815#M1367</guid>
      <dc:creator>veerendranathj</dc:creator>
      <dc:date>2017-01-12T04:39:47Z</dc:date>
    </item>
    <item>
      <title>Re: How to reset DDR controller in T1024?</title>
      <link>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600816#M1368</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When DDR controller is disabled by MEM_EN, the DDR memory itself must be also reset.&lt;/P&gt;&lt;P&gt;The following is said in Section 14.5.3 of T1024 Reference Manual:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Application system board must assert the reset signal on DDR&lt;BR /&gt;memory devices until software is able to program the DDR&lt;BR /&gt;memory controller configuration registers, and must deassert&lt;BR /&gt;the reset signal on DDR memory devices before&lt;BR /&gt;DDR_SDRAM_CFG[MEM_EN] is set. This ensures that the&lt;BR /&gt;DDR memory devices are held in reset until a stable clock is&lt;BR /&gt;provided and, further, that a stable clock is provided before&lt;BR /&gt;memory devices are released from reset.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Jan 2017 07:03:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/How-to-reset-DDR-controller-in-T1024/m-p/600816#M1368</guid>
      <dc:creator>alexander_yakov</dc:creator>
      <dc:date>2017-01-12T07:03:59Z</dc:date>
    </item>
  </channel>
</rss>

