<?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>i.MX Processors中的主题 Re: i.MX6ULL QSPI controller corrupted by Boot-ROM</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955654#M142728</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The i.MX6UL EVK CPU Board is of &lt;STRONG&gt;SCH-28617 REV C1&lt;/STRONG&gt; and i.MX6ULL EVK CPU Board is of &lt;STRONG&gt;SCH-29364 REV A&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Shivani&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 12 Jul 2019 12:17:14 GMT</pubDate>
    <dc:creator>shivanipatel</dc:creator>
    <dc:date>2019-07-12T12:17:14Z</dc:date>
    <item>
      <title>i.MX6ULL QSPI controller corrupted by Boot-ROM</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955649#M142723</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I want to share some strange behaviour, that we discovered on i.MX6ULL in case anyone else faces this issue and in hope that someone can explain what is actually going on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We used to use i.MX6UL in QSPI boot mode to get the bootloader from a QSPI-NOR flash chip. This worked fine until we replaced the i.MX6UL by an i.MX6ULL. After booting from QSPI-NOR (which works fine), the Linux Kernel (4.14+backports) wasn't able to detect and access the QSPI-NOR flash any more. Booting the same bootloader binary from a different device like SD card, the QSPI-NOR worked just fine in Linux.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We found out, that in case of QSPI Boot and only on i.MX6ULL, one bit in the QSPI registers differs from non-QSPI boots, or i.MX6UL. When the issue occurs, bit 16 in QuadSPI_FLSHCR register is set, in other cases it is not set.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;=&amp;gt; md.l 0x021e000c 1
021e000c: 00010303
&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;=&amp;gt; md.l 0x021e000c 1
021e000c: 00000303
&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;According to the reference manual of UL and ULL, the bit is marked as "Reserved", so it is completely unknown, what it actually means. As a workaround we can manually reset the bit in the bootloader code and this will cause the Linux QSPI driver to work properly and being able to access the NOR flash in Linux.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Jul 2019 15:35:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955649#M142723</guid>
      <dc:creator>friederschrempf</dc:creator>
      <dc:date>2019-07-08T15:35:46Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6ULL QSPI controller corrupted by Boot-ROM</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955650#M142724</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;A _jive_internal="true" data-content-finding="Community" data-userid="210736" data-username="friederschrempf" href="https://community.nxp.com/people/friederschrempf" rel="noopener noreferrer" target="_blank"&gt;Frieder Schrempf&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried to boot from QSPI on i.MX6UL-EVK &amp;amp; i.MX6ULL-EVK which has hardware revisions of &lt;STRONG&gt;SCH-28616 REV C1&lt;/STRONG&gt; &amp;amp; &lt;STRONG&gt;SCH-28616 REV C2&lt;/STRONG&gt; respectively.&lt;/P&gt;&lt;P&gt;I have used MFGTool of version &lt;STRONG&gt;L4.9.88&lt;/STRONG&gt;, taken from &lt;A href="https://www.nxp.com/webapp/sps/download/license.jsp?colCode=IMX6_L4.9.88_2.0.0_MFG_TOOL&amp;amp;appType=file1&amp;amp;location=null&amp;amp;DOWNLOAD_ID=null&amp;amp;lang_cd=en" rel="nofollow noopener noreferrer noopener noreferrer" target="_blank"&gt;this link &lt;/A&gt;to flash the image on QSPI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have followed the below mentioned steps to boot the boards (both&amp;nbsp; i.MX6UL-EVK &amp;amp; i.MX6ULL-EVK) from QSPI.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Flash the image on QSPI by running &lt;STRONG&gt;mfgtool2-yocto-mx-evk-qspi-nor-n25q256a.vbs&lt;/STRONG&gt; script.&lt;/LI&gt;&lt;LI&gt;Load zImage, DTB file and rootfs using TFTP. (refered &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-340583" rel="noopener noreferrer" target="_blank"&gt;this link&lt;/A&gt;)&lt;/LI&gt;&lt;LI&gt;Boot the boards from QSPI. Boot Switch Configurations are &lt;STRONG&gt;SW602 - ON OFF&lt;/STRONG&gt; and &lt;STRONG&gt;SW601 - OFF OFF OFF OFF&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am able to boot from QSPI on both i.MX6UL &amp;amp; i.MX6ULL EVKs and being able to detect the QSPI in Linux see the below sceenshot.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="qspi.png"&gt;&lt;IMG alt="qspi.png" src="https://community.nxp.com/t5/image/serverpage/image-id/90902iF5BF01CD3888B9F7/image-size/large?v=v2&amp;amp;px=999" title="qspi.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I also checked the QuadSPI_FLSHCR register value. It is same for both boards.&lt;/P&gt;&lt;PRE class=""&gt;&lt;STRONG&gt;&lt;CODE&gt;=&amp;gt; md.l 0x021e000c 1
021e000c: 00010303&lt;/CODE&gt;&lt;/STRONG&gt;&lt;/PRE&gt;&lt;P&gt;Are you facing the issue on i.MX6UL &amp;amp; i.MX6ULL EVK boards?&lt;/P&gt;&lt;P&gt;If not then can you please check it first on EVKs?&lt;/P&gt;&lt;P&gt;Let us know your observations. It would be helpful if you provide the steps to boot the board from QSPI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Shivani&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 14:27:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955650#M142724</guid>
      <dc:creator>shivanipatel</dc:creator>
      <dc:date>2020-11-02T14:27:49Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6ULL QSPI controller corrupted by Boot-ROM</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955651#M142725</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/shivanipatel"&gt;shivanipatel&lt;/A&gt;‌ ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The SCH-28616 schematic refers to the EVK Base board that is common for the i.MX6UL and i.MX6ULL EVK boards. The schematic of the i.MX6UL CPU board is SPF-28617, for the i.MX6ULL CPU board - SPF-29364. So, which one exactly did you actually use? Please check&amp;amp;specify.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/friederschrempf"&gt;friederschrempf&lt;/A&gt;‌ ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The issue you're reporting is not the known one. This might be possible specific (or even bug) of the i.MX6ULL Boot ROM code. Please give me some time to check it on my i.MX6ULL EVK board.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;BR /&gt;Artur&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Jul 2019 10:30:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955651#M142725</guid>
      <dc:creator>art</dc:creator>
      <dc:date>2019-07-12T10:30:44Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6ULL QSPI controller corrupted by Boot-ROM</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955652#M142726</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for looking at this issue. I see this issue on custom boards with i.MX6ULL. I don't have EVK boards to reproduce.&lt;/P&gt;&lt;P&gt;Steps:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Generate U-Boot image and prepend with QSPI header&lt;/LI&gt;&lt;LI&gt;Using Linux to copy image to NOR flash&lt;/LI&gt;&lt;LI&gt;Set OTP fuses to QSPI-Boot&lt;/LI&gt;&lt;LI&gt;Boot from QSPI&lt;/LI&gt;&lt;/UL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Jul 2019 11:07:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955652#M142726</guid>
      <dc:creator>friederschrempf</dc:creator>
      <dc:date>2019-07-12T11:07:24Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6ULL QSPI controller corrupted by Boot-ROM</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955653#M142727</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for investigating. I also suspect a bug/feature in the BootROM code of i.MX6ULL, as the very same software runs fine on i.MX6UL.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Jul 2019 11:09:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955653#M142727</guid>
      <dc:creator>friederschrempf</dc:creator>
      <dc:date>2019-07-12T11:09:46Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6ULL QSPI controller corrupted by Boot-ROM</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955654#M142728</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The i.MX6UL EVK CPU Board is of &lt;STRONG&gt;SCH-28617 REV C1&lt;/STRONG&gt; and i.MX6ULL EVK CPU Board is of &lt;STRONG&gt;SCH-29364 REV A&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Shivani&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Jul 2019 12:17:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955654#M142728</guid>
      <dc:creator>shivanipatel</dc:creator>
      <dc:date>2019-07-12T12:17:14Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6ULL QSPI controller corrupted by Boot-ROM</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955655#M142729</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Okay. As per my investigation, this behaviour has not been seen on EVK boards.&lt;/P&gt;&lt;P&gt;So as &lt;SPAN class=""&gt;&lt;A _jive_internal="true" data-userid="14795" data-username="art" href="https://community.nxp.com/people/art"&gt;Artur Petukhov&lt;/A&gt;&lt;/SPAN&gt; said, it might be possible specific (or even bug) of the i.MX6ULL Boot ROM code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Shivani&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Jul 2019 12:21:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955655#M142729</guid>
      <dc:creator>shivanipatel</dc:creator>
      <dc:date>2019-07-12T12:21:48Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6ULL QSPI controller corrupted by Boot-ROM</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955656#M142730</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/bernhardfink"&gt;bernhardfink&lt;/A&gt;‌ has pointed me to the reference manual of the i.MX7, which explains the meaning of bit 16 and 17 in the QuadSPI_FLSHCR register. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/86659iFFCFB20A7DCEBDD1/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I guess the i.MX6UL contains an older version of the QSPI IP, that doesn't have the TDH feature and the documentation for the i.MX6ULL seems to miss the information about the differences in the QSPI hardware.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Our QSPI parameter file enables the DDR mode for the BootROM and our U-Boot implementation too uses DDR mode for read access via the AHB bus, which is the reason why the access via U-Boot works fine.&lt;/P&gt;&lt;P&gt;The Linux driver instead uses SDR mode and therefore resets the DDR_EN bit in the QuadSPI_MCR register, but leaves the TDH bits untouched, which leads to failures accessing the flash.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Aug 2019 12:10:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-QSPI-controller-corrupted-by-Boot-ROM/m-p/955656#M142730</guid>
      <dc:creator>friederschrempf</dc:creator>
      <dc:date>2019-08-05T12:10:38Z</dc:date>
    </item>
  </channel>
</rss>

