<?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 How to get discrete DDR4 parameters for custom LS1046A board in Layerscape</title>
    <link>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1034588#M5777</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;@Hi all,&lt;BR /&gt;We designed a custom LS1046A board with 4GB DDR4,which use 4 NT5AD512M16A4-HRI(512MBx16).&lt;BR /&gt;The data bus is 64bits. And we use layerscape SDK 19.09, so we need modify the DDR initialization code in ATF component。&lt;BR /&gt;We defined CONFIG_STATIC_DDR, and try to figure out the struct ddr_cfg_regs from CodeWarrior DDR configuration tool.&lt;BR /&gt;When creating the project, we chose Auto configuration mode, Discrete DRAM, and slect 1600MT/s for test, the skews between CKL and DQS is got from PCB tool.&lt;BR /&gt;After enter Component Inspector page, we change the DQ mapping with Default,according with the schematic. The DQ pins didn't swap.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="1.PNG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/99993i6AB11CBA5949D57D/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.PNG" alt="1.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="2.PNG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/100030i126294C6C276C007/image-size/large?v=v2&amp;amp;px=999" role="button" title="2.PNG" alt="2.PNG" /&gt;&lt;/span&gt;&lt;BR /&gt;Keeping other parameters with the tools giving.&lt;BR /&gt;The following log is SD boot log.&lt;BR /&gt;There are 2 error:&lt;BR /&gt;1. DDR registers wirte error with Waiting for D_INIT timeout.&lt;BR /&gt;2. SD read error - DMA error = 10000000 in bl2 phase.&lt;/P&gt;&lt;P&gt;We dosen't have the hardware tools for DDR validation.&lt;BR /&gt;So how can we get the right DDR controller registers value without DDR validation? Anyone have some idea?&lt;BR /&gt;&amp;lt;QCVS DDR Tool User Guide&amp;gt; mentioned "Timing Configuration 1: Set four basic DDR timings: tCL, tRCD, tRP, tRAS specified usually as tCL-tRCD-tRP-&lt;BR /&gt;tRAS. Set rest of the parameters as per the datasheet of the DDR device." There are so many parameters in CodeWarrior, which are the important?&lt;BR /&gt;And in Error 2, the SD read error, what's the error code meaing?&lt;BR /&gt;By the way, we use custom RCW from CodeWarrior PLB configuration tool.&lt;/P&gt;&lt;P&gt;ATF LOG:&lt;BR /&gt;plat/nxp/soc-ls1046/soc.c get_boot_dev:374 INFO: RCW BOOT SRC is SD/EMMC&lt;BR /&gt;plat/nxp/soc-ls1046/soc.c get_boot_dev:374 INFO: RCW BOOT SRC is SD/EMMC&lt;BR /&gt;plat/nxp/drivers/sd/sd_mmc.c sd_mmc_init:1168 INFO: esdhc_emmc_init&lt;BR /&gt;plat/nxp/drivers/sd/sd_mmc.c esdhc_init:155 INFO: Card detected successfully&lt;BR /&gt;plat/nxp/drivers/sd/sd_mmc.c esdhc_emmc_init:1135 INFO: init done:&lt;BR /&gt;plat/nxp/soc-ls1046/ls1046ahtgw/ddr_init.c _init_ddr:390 INFO: platform clock 600000000&lt;BR /&gt;plat/nxp/soc-ls1046/ls1046ahtgw/ddr_init.c _init_ddr:391 INFO: DDR PLL1 2100000000&lt;BR /&gt;plat/nxp/soc-ls1046/ls1046ahtgw/ddr_init.c _init_ddr:392 INFO: DDR PLL2 0&lt;BR /&gt;plat/nxp/drivers/ddr/nxp-ddr/ddr.c dram_init:888 INFO: Time before programming controller 0 ms&lt;BR /&gt;plat/nxp/drivers/ddr/nxp-ddr/ddr.c dram_init:889 INFO: Program controller registers&lt;BR /&gt;plat/nxp/drivers/ddr/nxp-ddr/ddrc.c ddrc_set_regs:364 WARNING: Warning: Optimal CPO value not set.&lt;BR /&gt;plat/nxp/drivers/ddr/nxp-ddr/ddrc.c ddrc_set_regs:455 INFO: total size 4 GB&lt;BR /&gt;plat/nxp/drivers/ddr/nxp-ddr/ddrc.c ddrc_set_regs:456 INFO: Need to wait up to 1000 ms&lt;BR /&gt;&lt;STRONG&gt;plat/nxp/drivers/ddr/nxp-ddr/ddrc.c ddrc_set_regs:468 ERROR: Error: Waiting for D_INIT timeout.&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;plat/nxp/drivers/ddr/nxp-ddr/ddr.c write_ddrc_regs:817 ERROR: Writing DDR register(s) failed&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;plat/nxp/drivers/ddr/nxp-ddr/ddr.c dram_init:892 ERROR: Programing DDRC error&lt;/STRONG&gt;&lt;BR /&gt;plat/nxp/soc-ls1046/ls1046ahtgw/ddr_init.c _init_ddr:404 ERROR: DDR init failed.&lt;BR /&gt;plat/nxp/common/ls_bl2_el3_setup.c populate_dram_regions_info:58 NOTICE: Incorrect DRAM0 size is defined in platfor_def.h&lt;BR /&gt;lib/xlat_tables_v2/xlat_tables_internal.c mmap_add_region_ctx:752 ERROR: mmap_add_region_check() failed. error -22&lt;BR /&gt;lib/xlat_tables_v2/xlat_tables_internal.c mmap_add_region_ctx:752 ERROR: mmap_add_region_check() failed. error -22&lt;BR /&gt;bl2/bl2_main.c bl2_main:32 WARNING: test&lt;BR /&gt;bl2/bl2_main.c bl2_main:32 INFO: test&lt;BR /&gt;bl2/bl2_main.c bl2_main:33 NOTICE: BL2: v1.5(release):LSDK-19.09-dirty&lt;BR /&gt;bl2/bl2_main.c bl2_main:34 NOTICE: BL2: Built : 16:53:17, Feb 14 2020&lt;BR /&gt;bl2/bl2_main.c bl2_main:38 NOTICE: BL2: bl2_arch_setup&lt;BR /&gt;plat/nxp/soc-ls1046/soc.c mem_access_setup:232 INFO: Configuring TrustZone Controller&lt;BR /&gt;drivers/arm/tzc/tzc400.c tzc400_configure_region:189 INFO: Value of region base = 7fdffffb&lt;BR /&gt;drivers/arm/tzc/tzc400.c tzc400_configure_region:189 INFO: Value of region base = 7ffffffb&lt;BR /&gt;drivers/arm/tzc/tzc400.c tzc400_configure_region:189 INFO: Value of region base = fbdffffb&lt;BR /&gt;bl2/bl2_main.c bl2_main:46 NOTICE: BL2: bl2_plat_preload_setup&lt;BR /&gt;bl2/bl2_image_load_v2.c bl2_load_images:36 NOTICE: BL2: plat_get_bl_image_load_info&lt;BR /&gt;bl2/bl2_image_load_v2.c bl2_load_images:53 INFO: BL2: Doing platform setup&lt;BR /&gt;bl2/bl2_image_load_v2.c bl2_load_images:55 NOTICE: BL2: bl2_platform_setup&lt;BR /&gt;bl2/bl2_image_load_v2.c bl2_load_images:61 NOTICE: BL2: bl2_plat_handle_pre_image_load&lt;BR /&gt;bl2/bl2_image_load_v2.c bl2_load_images:68 INFO: BL2: Loading image id 3&lt;BR /&gt;&lt;STRONG&gt;plat/nxp/drivers/sd/sd_mmc.c esdhc_read_data_dma:611 ERROR: SD read error - DMA error = 10000000&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;plat/nxp/drivers/sd/sd_mmc.c esdhc_read:1302 ERROR: Read error = fffffffb&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;common/bl_common.c load_image:229 WARNING: Failed to obtain reference to image id=3 (-2)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;bl2/bl2_image_load_v2.c bl2_load_images:71 NOTICE: BL2: load_auth_image&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;bl2/bl2_image_load_v2.c bl2_load_images:73 ERROR: BL2: Failed to load image (-2)&lt;/STRONG&gt;&lt;BR /&gt;Authentication failure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The attachments are the rcw file and DDR controller registers from Codewarrior.&lt;/P&gt;&lt;P&gt;welcome for any comments . TKS！&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 16 Feb 2020 07:42:54 GMT</pubDate>
    <dc:creator>文炳项</dc:creator>
    <dc:date>2020-02-16T07:42:54Z</dc:date>
    <item>
      <title>How to get discrete DDR4 parameters for custom LS1046A board</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1034588#M5777</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;@Hi all,&lt;BR /&gt;We designed a custom LS1046A board with 4GB DDR4,which use 4 NT5AD512M16A4-HRI(512MBx16).&lt;BR /&gt;The data bus is 64bits. And we use layerscape SDK 19.09, so we need modify the DDR initialization code in ATF component。&lt;BR /&gt;We defined CONFIG_STATIC_DDR, and try to figure out the struct ddr_cfg_regs from CodeWarrior DDR configuration tool.&lt;BR /&gt;When creating the project, we chose Auto configuration mode, Discrete DRAM, and slect 1600MT/s for test, the skews between CKL and DQS is got from PCB tool.&lt;BR /&gt;After enter Component Inspector page, we change the DQ mapping with Default,according with the schematic. The DQ pins didn't swap.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="1.PNG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/99993i6AB11CBA5949D57D/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.PNG" alt="1.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="2.PNG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/100030i126294C6C276C007/image-size/large?v=v2&amp;amp;px=999" role="button" title="2.PNG" alt="2.PNG" /&gt;&lt;/span&gt;&lt;BR /&gt;Keeping other parameters with the tools giving.&lt;BR /&gt;The following log is SD boot log.&lt;BR /&gt;There are 2 error:&lt;BR /&gt;1. DDR registers wirte error with Waiting for D_INIT timeout.&lt;BR /&gt;2. SD read error - DMA error = 10000000 in bl2 phase.&lt;/P&gt;&lt;P&gt;We dosen't have the hardware tools for DDR validation.&lt;BR /&gt;So how can we get the right DDR controller registers value without DDR validation? Anyone have some idea?&lt;BR /&gt;&amp;lt;QCVS DDR Tool User Guide&amp;gt; mentioned "Timing Configuration 1: Set four basic DDR timings: tCL, tRCD, tRP, tRAS specified usually as tCL-tRCD-tRP-&lt;BR /&gt;tRAS. Set rest of the parameters as per the datasheet of the DDR device." There are so many parameters in CodeWarrior, which are the important?&lt;BR /&gt;And in Error 2, the SD read error, what's the error code meaing?&lt;BR /&gt;By the way, we use custom RCW from CodeWarrior PLB configuration tool.&lt;/P&gt;&lt;P&gt;ATF LOG:&lt;BR /&gt;plat/nxp/soc-ls1046/soc.c get_boot_dev:374 INFO: RCW BOOT SRC is SD/EMMC&lt;BR /&gt;plat/nxp/soc-ls1046/soc.c get_boot_dev:374 INFO: RCW BOOT SRC is SD/EMMC&lt;BR /&gt;plat/nxp/drivers/sd/sd_mmc.c sd_mmc_init:1168 INFO: esdhc_emmc_init&lt;BR /&gt;plat/nxp/drivers/sd/sd_mmc.c esdhc_init:155 INFO: Card detected successfully&lt;BR /&gt;plat/nxp/drivers/sd/sd_mmc.c esdhc_emmc_init:1135 INFO: init done:&lt;BR /&gt;plat/nxp/soc-ls1046/ls1046ahtgw/ddr_init.c _init_ddr:390 INFO: platform clock 600000000&lt;BR /&gt;plat/nxp/soc-ls1046/ls1046ahtgw/ddr_init.c _init_ddr:391 INFO: DDR PLL1 2100000000&lt;BR /&gt;plat/nxp/soc-ls1046/ls1046ahtgw/ddr_init.c _init_ddr:392 INFO: DDR PLL2 0&lt;BR /&gt;plat/nxp/drivers/ddr/nxp-ddr/ddr.c dram_init:888 INFO: Time before programming controller 0 ms&lt;BR /&gt;plat/nxp/drivers/ddr/nxp-ddr/ddr.c dram_init:889 INFO: Program controller registers&lt;BR /&gt;plat/nxp/drivers/ddr/nxp-ddr/ddrc.c ddrc_set_regs:364 WARNING: Warning: Optimal CPO value not set.&lt;BR /&gt;plat/nxp/drivers/ddr/nxp-ddr/ddrc.c ddrc_set_regs:455 INFO: total size 4 GB&lt;BR /&gt;plat/nxp/drivers/ddr/nxp-ddr/ddrc.c ddrc_set_regs:456 INFO: Need to wait up to 1000 ms&lt;BR /&gt;&lt;STRONG&gt;plat/nxp/drivers/ddr/nxp-ddr/ddrc.c ddrc_set_regs:468 ERROR: Error: Waiting for D_INIT timeout.&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;plat/nxp/drivers/ddr/nxp-ddr/ddr.c write_ddrc_regs:817 ERROR: Writing DDR register(s) failed&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;plat/nxp/drivers/ddr/nxp-ddr/ddr.c dram_init:892 ERROR: Programing DDRC error&lt;/STRONG&gt;&lt;BR /&gt;plat/nxp/soc-ls1046/ls1046ahtgw/ddr_init.c _init_ddr:404 ERROR: DDR init failed.&lt;BR /&gt;plat/nxp/common/ls_bl2_el3_setup.c populate_dram_regions_info:58 NOTICE: Incorrect DRAM0 size is defined in platfor_def.h&lt;BR /&gt;lib/xlat_tables_v2/xlat_tables_internal.c mmap_add_region_ctx:752 ERROR: mmap_add_region_check() failed. error -22&lt;BR /&gt;lib/xlat_tables_v2/xlat_tables_internal.c mmap_add_region_ctx:752 ERROR: mmap_add_region_check() failed. error -22&lt;BR /&gt;bl2/bl2_main.c bl2_main:32 WARNING: test&lt;BR /&gt;bl2/bl2_main.c bl2_main:32 INFO: test&lt;BR /&gt;bl2/bl2_main.c bl2_main:33 NOTICE: BL2: v1.5(release):LSDK-19.09-dirty&lt;BR /&gt;bl2/bl2_main.c bl2_main:34 NOTICE: BL2: Built : 16:53:17, Feb 14 2020&lt;BR /&gt;bl2/bl2_main.c bl2_main:38 NOTICE: BL2: bl2_arch_setup&lt;BR /&gt;plat/nxp/soc-ls1046/soc.c mem_access_setup:232 INFO: Configuring TrustZone Controller&lt;BR /&gt;drivers/arm/tzc/tzc400.c tzc400_configure_region:189 INFO: Value of region base = 7fdffffb&lt;BR /&gt;drivers/arm/tzc/tzc400.c tzc400_configure_region:189 INFO: Value of region base = 7ffffffb&lt;BR /&gt;drivers/arm/tzc/tzc400.c tzc400_configure_region:189 INFO: Value of region base = fbdffffb&lt;BR /&gt;bl2/bl2_main.c bl2_main:46 NOTICE: BL2: bl2_plat_preload_setup&lt;BR /&gt;bl2/bl2_image_load_v2.c bl2_load_images:36 NOTICE: BL2: plat_get_bl_image_load_info&lt;BR /&gt;bl2/bl2_image_load_v2.c bl2_load_images:53 INFO: BL2: Doing platform setup&lt;BR /&gt;bl2/bl2_image_load_v2.c bl2_load_images:55 NOTICE: BL2: bl2_platform_setup&lt;BR /&gt;bl2/bl2_image_load_v2.c bl2_load_images:61 NOTICE: BL2: bl2_plat_handle_pre_image_load&lt;BR /&gt;bl2/bl2_image_load_v2.c bl2_load_images:68 INFO: BL2: Loading image id 3&lt;BR /&gt;&lt;STRONG&gt;plat/nxp/drivers/sd/sd_mmc.c esdhc_read_data_dma:611 ERROR: SD read error - DMA error = 10000000&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;plat/nxp/drivers/sd/sd_mmc.c esdhc_read:1302 ERROR: Read error = fffffffb&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;common/bl_common.c load_image:229 WARNING: Failed to obtain reference to image id=3 (-2)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;bl2/bl2_image_load_v2.c bl2_load_images:71 NOTICE: BL2: load_auth_image&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;bl2/bl2_image_load_v2.c bl2_load_images:73 ERROR: BL2: Failed to load image (-2)&lt;/STRONG&gt;&lt;BR /&gt;Authentication failure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The attachments are the rcw file and DDR controller registers from Codewarrior.&lt;/P&gt;&lt;P&gt;welcome for any comments . TKS！&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 16 Feb 2020 07:42:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1034588#M5777</guid>
      <dc:creator>文炳项</dc:creator>
      <dc:date>2020-02-16T07:42:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to get discrete DDR4 parameters for custom LS1046A board</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1034589#M5778</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello&amp;nbsp;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="354062" data-username="文炳项" href="https://community.nxp.com/people/文炳项" style="color: #3d9ce7; background-color: #ffffff; border: 0px; font-weight: 600; text-decoration: none; font-size: 11.9994px;"&gt;文炳 项&lt;/A&gt;&lt;SPAN style="background-color: #ffffff; color: #646464; "&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #646464; "&gt;For&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;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Please refer to&amp;nbsp;&lt;A href="https://community.nxp.com/docs/DOC-333349"&gt;https://community.nxp.com/docs/DOC-333349&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&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;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Yiping&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Feb 2020 02:33:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1034589#M5778</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2020-02-18T02:33:04Z</dc:date>
    </item>
    <item>
      <title>Re: How to get discrete DDR4 parameters for custom LS1046A board</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1034590#M5779</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&amp;nbsp; Yiping&lt;/P&gt;&lt;P&gt;Thank you for reply.&lt;/P&gt;&lt;P&gt;My problem is I dosen't have Codewarrior TAP hardware tools. So i can't run&amp;nbsp;&lt;SPAN style="display: inline !important; float: none; background-color: #ffffff; color: #51626f; font-family: inherit; font-size: 100%; font-style: inherit; font-variant: normal; font-weight: inherit; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;DDRv tool&lt;/SPAN&gt; to get the&amp;nbsp;&lt;SPAN style="display: inline !important; float: none; background-color: #ffffff; color: #51626f; font-family: inherit; font-size: 100%; font-style: inherit; font-variant: normal; font-weight: inherit; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;optimization&lt;SPAN style="color: #001000; background-color: transparent;"&gt; &lt;SPAN style="display: inline !important; float: none; background-color: #ffffff; color: #001000; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;parameters&amp;nbsp;&lt;/SPAN&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #001000; white-space: normal; font-weight: inherit; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 100%; font-style: inherit; float: none; background-color: transparent; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; "&gt;No I slow down the DDR rate to 1250MT/s,and use the register value from&amp;nbsp;QCVS&amp;nbsp;&lt;SPAN style="border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; color: #51626f; font-family: inherit; font-size: 100%; font-style: inherit; font-variant: normal; font-weight: inherit; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; vertical-align: baseline; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; padding: 0px; margin: 0px; border: 0px none currentColor;"&gt;DDR Memory Controller Configuration&lt;SPAN style="color: #b01600;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #001000; background-color: transparent;"&gt; It can run to up kernel, but fail at init SD card.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #001000; white-space: normal; font-weight: inherit; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 100%; font-style: inherit; float: none; background-color: transparent; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; "&gt;&lt;SPAN style="border-image-slice: 100%; color: #001000; white-space: normal; font-weight: inherit; border-image-width: 1; font-size: 100%; background-color: transparent; word-spacing: 0px; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; -webkit-text-stroke-width: 0px; border: 0px none currentColor; border-image-source: none; padding: 0px; margin: 0px; border-image-repeat: stretch; letter-spacing: normal; text-decoration: none; vertical-align: baseline; font-style: inherit; text-transform: none; font-variant: normal; border-image-outset: 0; "&gt;So Yiping, could you have some suggestion about how to optimize the parameters without &amp;nbsp;&lt;SPAN style="display: inline !important; float: none; background-color: #ffffff; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; overflow-wrap: break-word; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;Codewarrior TAP&lt;SPAN style="color: #006005;"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #001000; white-space: normal; font-weight: inherit; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 100%; font-style: inherit; float: none; background-color: transparent; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; "&gt;&lt;SPAN style="border-image-slice: 100%; color: #001000; white-space: normal; font-weight: inherit; border-image-width: 1; font-size: 100%; background-color: transparent; word-spacing: 0px; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; -webkit-text-stroke-width: 0px; border: 0px none currentColor; border-image-source: none; padding: 0px; margin: 0px; border-image-repeat: stretch; letter-spacing: normal; text-decoration: none; vertical-align: baseline; font-style: inherit; text-transform: none; font-variant: normal; border-image-outset: 0; "&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #001000; white-space: normal; font-weight: inherit; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 100%; font-style: inherit; float: none; background-color: transparent; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; "&gt;&lt;SPAN style="border-image-slice: 100%; color: #001000; white-space: normal; font-weight: inherit; border-image-width: 1; font-size: 100%; background-color: transparent; word-spacing: 0px; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; -webkit-text-stroke-width: 0px; border: 0px none currentColor; border-image-source: none; padding: 0px; margin: 0px; border-image-repeat: stretch; letter-spacing: normal; text-decoration: none; vertical-align: baseline; font-style: inherit; text-transform: none; font-variant: normal; border-image-outset: 0; "&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #001000; white-space: normal; font-weight: inherit; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 100%; font-style: inherit; float: none; background-color: transparent; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; "&gt;&lt;SPAN style="border-image-slice: 100%; color: #001000; white-space: normal; font-weight: inherit; border-image-width: 1; font-size: 100%; background-color: transparent; word-spacing: 0px; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; -webkit-text-stroke-width: 0px; border: 0px none currentColor; border-image-source: none; padding: 0px; margin: 0px; border-image-repeat: stretch; letter-spacing: normal; text-decoration: none; vertical-align: baseline; font-style: inherit; text-transform: none; font-variant: normal; border-image-outset: 0; "&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #006005; white-space: normal; font-weight: 400; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 15px; font-style: normal; float: none; overflow-wrap: break-word; background-color: #ffffff; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; orphans: 2; text-align: left; "&gt;BTY, I have a tools:&lt;SPAN style="display: inline !important; float: none; background-color: #ffffff; color: #001000; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="display: inline !important; float: none; background-color: #ffffff; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; overflow-wrap: break-word; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;Codewarrior USB TAP, can it work for LS1046A?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #001000; white-space: normal; font-weight: inherit; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 100%; font-style: inherit; float: none; background-color: transparent; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; "&gt;&lt;SPAN style="border-image-slice: 100%; color: #001000; white-space: normal; font-weight: inherit; border-image-width: 1; font-size: 100%; background-color: transparent; word-spacing: 0px; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; -webkit-text-stroke-width: 0px; border: 0px none currentColor; border-image-source: none; padding: 0px; margin: 0px; border-image-repeat: stretch; letter-spacing: normal; text-decoration: none; vertical-align: baseline; font-style: inherit; text-transform: none; font-variant: normal; border-image-outset: 0; "&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #006005; white-space: normal; font-weight: 400; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 15px; font-style: normal; float: none; overflow-wrap: break-word; background-color: #ffffff; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; orphans: 2; text-align: left; "&gt;I install &lt;SPAN style="color: #0b0950; background-color: #ffffff;"&gt;CodeWarrior Development Studio for QorIQ LS series - ARM V8 ISA&lt;/SPAN&gt; V11.4，but the&amp;nbsp;Codewarrior USB TAP couldn't find the right driver.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #001000; white-space: normal; font-weight: inherit; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 100%; font-style: inherit; float: none; background-color: transparent; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; "&gt;&lt;SPAN style="border-image-slice: 100%; color: #001000; white-space: normal; font-weight: inherit; border-image-width: 1; font-size: 100%; background-color: transparent; word-spacing: 0px; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; -webkit-text-stroke-width: 0px; border: 0px none currentColor; border-image-source: none; padding: 0px; margin: 0px; border-image-repeat: stretch; letter-spacing: normal; text-decoration: none; vertical-align: baseline; font-style: inherit; text-transform: none; font-variant: normal; border-image-outset: 0; "&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #006005; white-space: normal; font-weight: 400; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 15px; font-style: normal; float: none; overflow-wrap: break-word; background-color: #ffffff; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; orphans: 2; text-align: left; "&gt;Where can I download the right driver?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #001000; white-space: normal; font-weight: inherit; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 100%; font-style: inherit; float: none; background-color: transparent; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; "&gt;&lt;SPAN style="border-image-slice: 100%; color: #001000; white-space: normal; font-weight: inherit; border-image-width: 1; font-size: 100%; background-color: transparent; word-spacing: 0px; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; -webkit-text-stroke-width: 0px; border: 0px none currentColor; border-image-source: none; padding: 0px; margin: 0px; border-image-repeat: stretch; letter-spacing: normal; text-decoration: none; vertical-align: baseline; font-style: inherit; text-transform: none; font-variant: normal; border-image-outset: 0; "&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #006005; white-space: normal; font-weight: 400; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 15px; font-style: normal; float: none; overflow-wrap: break-word; background-color: #ffffff; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; orphans: 2; text-align: left; "&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="USB TAP.PNG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/102474i97C91D32073478BE/image-size/large?v=v2&amp;amp;px=999" role="button" title="USB TAP.PNG" alt="USB TAP.PNG" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="USB TAP1.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/102523iD3EF589BE42139E1/image-size/large?v=v2&amp;amp;px=999" role="button" title="USB TAP1.jpg" alt="USB TAP1.jpg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Feb 2020 03:43:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1034590#M5779</guid>
      <dc:creator>文炳项</dc:creator>
      <dc:date>2020-02-19T03:43:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to get discrete DDR4 parameters for custom LS1046A board</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1034591#M5780</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Hello&amp;nbsp;&lt;/SPAN&gt;&lt;A _jive_internal="true" data-containerid="-1" data-containertype="-1" data-content-finding="Community" data-objectid="354062" data-objecttype="3" href="https://community.nxp.com/people/文炳项" style="color: #3d9ce7; background-color: #ffffff; border: 0px; font-weight: 600; font-size: 11.9994px; padding: 1px 0px 1px calc(12px + 0.35ex);"&gt;文炳 项&lt;/A&gt;&lt;SPAN style="color: #646464; background-color: #ffffff; border: 0px;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #646464; background-color: #ffffff; border: 0px;"&gt;In your screenshot, it seems that you are using CodeWarrior TAP (only integrates USB port), which only supports PowerPC target board.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #646464; background-color: #ffffff; border: 0px;"&gt;Please purchase CodeWarrior TAP and probe tip for Layerscape from&amp;nbsp;&lt;A class="link-titled" href="https://www.nxp.com/design/software/development-software/codewarrior-development-tools/run-control-devices/codewarrior-tap:CW_TAP" title="https://www.nxp.com/design/software/development-software/codewarrior-development-tools/run-control-devices/codewarrior-tap:CW_TAP"&gt;CodeWarrior® TAP | NXP&lt;/A&gt;&amp;nbsp;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #646464; background-color: #ffffff; border: 0px;"&gt;Regarding USB TAP driver problem.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #646464; background-color: #ffffff; border: 0px;"&gt;Please reinstall driver in&amp;nbsp;Freescale\CW4NET_v2019.01_test\Common\CCS\drivers\usb.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #646464; background-color: #ffffff; border: 0px;"&gt;If this problem remains,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #646464; background-color: #ffffff; border: 0px;"&gt;please try to use CodeWarrior TAP Ethernet connection.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #646464; background-color: #ffffff; border: 0px;"&gt;Please refer to "Chapter 2&amp;nbsp; Connecting to Network" in the attached user manual to set up CodeWarrior TAP Ethernet connection.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #646464; background-color: #ffffff; border: 0px;"&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #646464; background-color: #ffffff; border: 0px;"&gt;Yiping&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Feb 2020 08:31:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1034591#M5780</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2020-02-19T08:31:51Z</dc:date>
    </item>
    <item>
      <title>Re: How to get discrete DDR4 parameters for custom LS1046A board</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1034592#M5781</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Yiping&lt;/P&gt;&lt;P&gt;Do you have some suggestion without without of&amp;nbsp;&lt;SPAN style="display: inline !important; float: none; background-color: #ffffff; color: #646464; font-family: inherit; font-size: 100%; font-style: inherit; font-variant: normal; font-weight: inherit; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;CodeWarrior TAP&lt;SPAN style="color: #b01600;"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #b01600; white-space: normal; font-weight: inherit; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 100%; font-style: inherit; float: none; background-color: #ffffff; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; "&gt;Like change some parameters.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #b01600; white-space: normal; font-weight: inherit; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 100%; font-style: inherit; float: none; background-color: #ffffff; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; "&gt;Right now i solw down DDR rate to&amp;nbsp; 1600, and change DDR pll to 1600 in RCW, the BL2 show DDR init successed, buf BL31 vaildation failed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #007620; "&gt;Then&lt;SPAN style="display: inline !important; float: none; background-color: #ffffff; color: #646464; font-family: inherit; font-size: 100%; font-style: inherit; font-variant: normal; font-weight: inherit; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt; I disable SD DMA operation in BL2, the ATF can run to boot BL31, but failed.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #b01600; white-space: normal; font-weight: inherit; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 100%; font-style: inherit; float: none; background-color: #ffffff; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; "&gt;So i continue to slow down ddr rate to 1250MT/s, change DDR pll to 1200 in RCW. It can run untile linux kernel init SD failed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #b01600; white-space: normal; font-weight: inherit; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: 100%; font-style: inherit; float: none; background-color: #ffffff; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: inherit; orphans: 2; text-align: left; "&gt;According to the trace, it failed at get CID with error code -110, in sub function wait_for_app_cmd.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Feb 2020 02:40:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1034592#M5781</guid>
      <dc:creator>文炳项</dc:creator>
      <dc:date>2020-02-20T02:40:42Z</dc:date>
    </item>
    <item>
      <title>Re: How to get discrete DDR4 parameters for custom LS1046A board</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1034593#M5782</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;CodeWarrior TAP is necessary for you to use DDRv tool to do validation and optimization on the custom board.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Feb 2020 09:01:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1034593#M5782</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2020-02-27T09:01:22Z</dc:date>
    </item>
    <item>
      <title>Re: How to get discrete DDR4 parameters for custom LS1046A board</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1677138#M12732</link>
      <description>&lt;P&gt;According to this thread of discussion, the user has 16GB of DDR4. That said, within the Properties page of the CodeWarrior TAP QorIQ Configuration DDR Memory Controller project, what would be the Chip Select 0-&amp;gt;Memory Boards-&amp;gt;Start Address?&lt;/P&gt;&lt;P&gt;I've got 4 GB of DDR4 memory for an LS1046AFRWY processor and whether I use Start Address of 0x0000 0000, 0x8000 0000, or 0x8 8000 0000, the board_static_ddr() routine ALWAYS return 0x80000000 as the dram_size. As you know, 0x80000000 is 2GB, not 4GB.&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Tue, 27 Jun 2023 15:58:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1677138#M12732</guid>
      <dc:creator>scottwelsh</dc:creator>
      <dc:date>2023-06-27T15:58:19Z</dc:date>
    </item>
    <item>
      <title>Re: How to get discrete DDR4 parameters for custom LS1046A board</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1677980#M12745</link>
      <description>&lt;P&gt;As a clarification, our 4GB size of DDR4 memory is split into 2 chips at 2GB per chip so that internally to the DDR controller, the DDR chips should be organized into DRAM0 and DRAM1. So, how do I configure the&amp;nbsp;&lt;SPAN&gt;Chip Select 0-&amp;gt;Memory Boards-&amp;gt;Start Address to start the DDR Training? Also, I assume that I need to set the&amp;nbsp;Chip Select 0-&amp;gt;Memory Boards-&amp;gt;Size (in MB) to 4GB. Is this correct?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;At the end of the day, the board_static_ddr() return value needs to be 4GB (0x1 0000 0000) so that each "bank" is recognized by the DDR controller: 1 DDR chip as DRAM0 and the other DDR chip as DRAM1.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Please help. Even if I use the above parameters for configuring the DDR controller and then run the DDR training, the board_static_ddr() function ALWAYS sets the return value, which is captured as the dram_size in the ddr.c code as 0x8000 0000, or 2GB.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Scott Welsh&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jun 2023 15:54:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-get-discrete-DDR4-parameters-for-custom-LS1046A-board/m-p/1677980#M12745</guid>
      <dc:creator>scottwelsh</dc:creator>
      <dc:date>2023-06-28T15:54:07Z</dc:date>
    </item>
  </channel>
</rss>

