<?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: LS1046A custom board: what are correct DDR4 DQ pin mappings? in Layerscape</title>
    <link>https://community.nxp.com/t5/Layerscape/LS1046A-custom-board-what-are-correct-DDR4-DQ-pin-mappings/m-p/2090370#M15682</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;or&amp;nbsp;&lt;/SPAN&gt;discrete DDR4 parameters configuration, first you need to create a QCVS&amp;nbsp;&lt;SPAN&gt;DDR Memory Controller Configuration&amp;nbsp; project with default configuration parameters, then modify parameters in Properties panel according to your DDR datasheet to generate the initial DDR controller configuration parameters, then use DDRv tool to connect to the target board to do validation, optimization and operational DDR test.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Please refer to&amp;nbsp;&lt;A href="https://community.nxp.com/docs/DOC-333349" target="_blank"&gt;https://community.nxp.com/docs/DOC-333349&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;You could configure your target board as hard-coded RCW first, then do DDR validation with DDRv tool.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 30 Apr 2025 18:10:16 GMT</pubDate>
    <dc:creator>Bio_TICFSL</dc:creator>
    <dc:date>2025-04-30T18:10:16Z</dc:date>
    <item>
      <title>LS1046A custom board: what are correct DDR4 DQ pin mappings?</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1046A-custom-board-what-are-correct-DDR4-DQ-pin-mappings/m-p/2089507#M15673</link>
      <description>&lt;P&gt;&lt;BR /&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;We've designed a custom board based on the LS1046A CPU using five MT40A512M16TB-062E IT:R DDR4 SDRAM chips (4 data chips + 1 ECC chip), without an SPD EEPROM on the board.&lt;/P&gt;&lt;P&gt;Currently, we're facing issues validating DDR memory with CodeWarrior: the DDR initialization fails during the first test ("Auto search &amp;amp; detect for write leveling start values") in the QCVS tool under the "Centering the clock" scenario.&lt;BR /&gt;The logs show the same output for `wrlvl_searcher` that is seen in the post:&lt;BR /&gt;&lt;A href="https://community.nxp.com/t5/Layerscape/DDR-read-write-issues-custom-board-LS1046A/m-p/2037408/thread-id/15344" target="_self"&gt;DDR read/write issues custom board LS1046A&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Our main suspect is incorrect DDR DQ pins mapping.&lt;/P&gt;&lt;P&gt;Attached are screenshots from our board schematic:&lt;BR /&gt;- D16A shows one of the SDRAM chips.&lt;BR /&gt;- D21A shows a fragment of the DDR controller in the LS1046A.&lt;/P&gt;&lt;P&gt;Please focus on pins &lt;STRONG&gt;DQ0–DQ15&lt;/STRONG&gt; and associated &lt;STRONG&gt;DDR_DQxx&lt;/STRONG&gt; nets.&lt;/P&gt;&lt;P&gt;Based on "Table 15-6. Bitfield settings for each byte lane" in the LS1046A Reference Manual, our current assumption for correct mapping is:&lt;/P&gt;&lt;LI-CODE lang="c"&gt;DQ[0:3] = [3,0,2,1] (0x14)
DQ[4:7] = [7,4,6,5] (0x34)
DQ[8:11] = [3,0,2,1] (0x14)
DQ[12:15] = [7,4,6,5] (0x34)&lt;/LI-CODE&gt;&lt;P&gt;Is this mapping correct, or should it instead look like this?&lt;/P&gt;&lt;LI-CODE lang="c"&gt;DQ[0:3] = [1,3,2,0] (0x0C)
DQ[4:7] = [5,7,6,4] (0x2C)
DQ[8:11] = [1,3,2,0] (0x0C)
DQ[12:15] = [5,7,6,4] (0x2C)&lt;/LI-CODE&gt;&lt;P&gt;Any advice or confirmation would be greatly appreciated.&lt;/P&gt;&lt;P&gt;Also, can anybody explain why on LS1046AFRWY board only [0,1,2,3] mappings are used for all nibbles?&lt;BR /&gt;Why there is no any [4,5,6,7]?&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SDRAM chip.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/335611iF0447D7753F96ABA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="SDRAM chip.png" alt="SDRAM chip.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LS1046A_custom_board_fragment_of_DDR.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/335612iA0F1FA20EADDB084/image-size/medium?v=v2&amp;amp;px=400" role="button" title="LS1046A_custom_board_fragment_of_DDR.png" alt="LS1046A_custom_board_fragment_of_DDR.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;</description>
      <pubDate>Tue, 29 Apr 2025 16:05:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1046A-custom-board-what-are-correct-DDR4-DQ-pin-mappings/m-p/2089507#M15673</guid>
      <dc:creator>valokuvaaja</dc:creator>
      <dc:date>2025-04-29T16:05:15Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046A custom board: what are correct DDR4 DQ pin mappings?</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1046A-custom-board-what-are-correct-DDR4-DQ-pin-mappings/m-p/2090370#M15682</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;or&amp;nbsp;&lt;/SPAN&gt;discrete DDR4 parameters configuration, first you need to create a QCVS&amp;nbsp;&lt;SPAN&gt;DDR Memory Controller Configuration&amp;nbsp; project with default configuration parameters, then modify parameters in Properties panel according to your DDR datasheet to generate the initial DDR controller configuration parameters, then use DDRv tool to connect to the target board to do validation, optimization and operational DDR test.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Please refer to&amp;nbsp;&lt;A href="https://community.nxp.com/docs/DOC-333349" target="_blank"&gt;https://community.nxp.com/docs/DOC-333349&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;You could configure your target board as hard-coded RCW first, then do DDR validation with DDRv tool.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 30 Apr 2025 18:10:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1046A-custom-board-what-are-correct-DDR4-DQ-pin-mappings/m-p/2090370#M15682</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2025-04-30T18:10:16Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046A custom board: what are correct DDR4 DQ pin mappings?</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1046A-custom-board-what-are-correct-DDR4-DQ-pin-mappings/m-p/2099280#M15757</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/34846"&gt;@Bio_TICFSL&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;I'm sorry, but your answer didn't help at all.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;I was asking about which scheme of mappings I should choose and why.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&lt;SPAN&gt;UPDATE: we finally sorted it out, and we've got all DDR tests passed in CodeWarrior recently for our LS1046A custom board with 4GB + ECC memory (see screenshots).&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Centering_the_clock_4GB_with_ECC.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/338319i1AB24643A8B57BFA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Centering_the_clock_4GB_with_ECC.png" alt="Centering_the_clock_4GB_with_ECC.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Read_ODT_4GB_with_ECC.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/338320iE68D4BAB2CC229F8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Read_ODT_4GB_with_ECC.png" alt="Read_ODT_4GB_with_ECC.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Write_ODT_4GB_with_ECC.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/338321i9616DF51FE37878E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Write_ODT_4GB_with_ECC.png" alt="Write_ODT_4GB_with_ECC.png" /&gt;&lt;/span&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Operational_tests_4GB_with_ECC.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/338322iB013665412F6EB51/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Operational_tests_4GB_with_ECC.png" alt="Operational_tests_4GB_with_ECC.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;Correct mapping is in the second listing. &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Mapping happens from the DDR controller point of view.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&lt;SPAN&gt;I provide correct mappings as example for the attached earlier screenshot to help new people who will be break their brains on this question:&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;LI-CODE lang="c"&gt;LS1046        SDRAM
DDR_DQ00  -&amp;gt;  DQ1
DDR_DQ01  -&amp;gt;  DQ3
DDR_DQ02  -&amp;gt;  DQ2
DDR_DQ03  -&amp;gt;  DQ0
i.e. [1,3,2,0] 0x0C

LS1046        SDRAM
DDR_DQ04  -&amp;gt;  DQ5
DDR_DQ05  -&amp;gt;  DQ7
DDR_DQ06  -&amp;gt;  DQ6
DDR_DQ07  -&amp;gt;  DQ4
i.e. [5,7,6,4] 0x2C

LS1046        SDRAM
DDR_DQ08  -&amp;gt;  DQ9  (1)
DDR_DQ09  -&amp;gt;  DQ11 (3)
DDR_DQ10  -&amp;gt;  DQ10 (2)
DDR_DQ11  -&amp;gt;  DQ08 (0)
i.e. [1,3,2,0] 0x0C

LS1046        SDRAM
DDR_DQ12  -&amp;gt;  DQ13 (5)
DDR_DQ13  -&amp;gt;  DQ15 (7)
DDR_DQ14  -&amp;gt;  DQ14 (6)
DDR_DQ15  -&amp;gt;  DQ12 (4)
i.e. [5,7,6,4] 0x2C&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Regarding to the question about mappings in LS1046AFRWY:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;it turned out that [&lt;/SPAN&gt;&lt;SPAN&gt;0,1,2,3&lt;/SPAN&gt;&lt;SPAN&gt;] is eqiuivalent to [&lt;/SPAN&gt;&lt;SPAN&gt;4,5,6,7&lt;/SPAN&gt;&lt;SPAN&gt;].&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Sat, 17 May 2025 13:54:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1046A-custom-board-what-are-correct-DDR4-DQ-pin-mappings/m-p/2099280#M15757</guid>
      <dc:creator>valokuvaaja</dc:creator>
      <dc:date>2025-05-17T13:54:33Z</dc:date>
    </item>
  </channel>
</rss>

