<?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: imx8MQ NAND Boot in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1213522#M167954</link>
    <description>&lt;P&gt;For the records: after soldering a 2048+64Byte NAND the ROM-Code is able to boot the image.&lt;/P&gt;</description>
    <pubDate>Mon, 18 Jan 2021 17:07:42 GMT</pubDate>
    <dc:creator>rhubert</dc:creator>
    <dc:date>2021-01-18T17:07:42Z</dc:date>
    <item>
      <title>imx8MQ NAND Boot</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208155#M167408</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I'va a custom board with a i.MX8MQ and a Micron MT29F2G08A which should be used as boot device.&lt;/P&gt;&lt;P&gt;The flash is detected in linux and u-boot (using SD-boot) and I made some flashcp / dd tests in linux to verify the connection works.&lt;/P&gt;&lt;P&gt;However I'm not able to boot from the flash after writing the image using either kobs-ng in linux or nandbcb in u-boot.&lt;/P&gt;&lt;P&gt;Using the Lauterbach I can see parts of the u-boot-spl loaded to the internal RAM, but starting at a offset of ~9K there is some wrong code ever 2K for 32bytes.&lt;/P&gt;&lt;P&gt;instead of:&lt;/P&gt;&lt;PRE&gt;00002380 db ff ff 97 00 00 80 52 fd 7b c1 a8 c0 03 5f d6 |.......R.{...._.|&lt;BR /&gt;00002390 a0 02 80 12 c0 03 5f d6 fd 7b be a9 e6 03 01 2a |......_..{.....*|&lt;/PRE&gt;&lt;P&gt;there is&lt;/P&gt;&lt;PRE&gt;00002380 c0 2b 7e 00 00 00 00 00 04 02 00 00 00 00 00 d6 |.+~.............|&lt;BR /&gt;00002390 a0 2b 7e 00 00 00 00 00 04 02 00 00 00 00 00 d6 |.+~.............|&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;and 2K later:&lt;/P&gt;&lt;PRE&gt;00002b80 21 00 80 52 80 09 80 52 e4 ff ff 17 a0 00 00 b0 |!..R...R........|&lt;BR /&gt;00002b90 00 38 12 91 d4 0d 00 14 fd 7b be a9 fd 03 00 91 |.8.......{......|&lt;/PRE&gt;&lt;PRE&gt;00002b80 c0 33 7e 00 00 00 00 00 05 02 00 00 00 00 00 b0 |.3~.............|&lt;BR /&gt;00002b90 00 33 7e 00 00 00 00 00 05 02 00 00 00 00 00 b0 |.3~.............|&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;and so on. Reading back the flash from linux the spl-content is correct.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;u-boot=&amp;gt; nandbcb dump 0&lt;BR /&gt;device 0 whole chip&lt;BR /&gt;NAND FCB read from 0x0 offset 0x400 read: OK&lt;BR /&gt;NAND FCB read from 0x20000 offset 0x400 read: OK&lt;BR /&gt;NAND FCB read from 0x40000 offset 0x400 read: OK&lt;BR /&gt;NAND FCB read from 0x60000 offset 0x400 read: OK&lt;BR /&gt;NAND DBBT read from 0x80000 offset 0x14 read: OK&lt;BR /&gt;DBBT data read from 0x82000 offset 0x800 read: OK&lt;BR /&gt;NAND DBBT read from 0xa0000 offset 0x14 read: OK&lt;BR /&gt;DBBT data read from 0xa2000 offset 0x800 read: OK&lt;BR /&gt;NAND DBBT read from 0xc0000 offset 0x14 read: OK&lt;BR /&gt;DBBT data read from 0xc2000 offset 0x800 read: OK&lt;BR /&gt;NAND DBBT read from 0xe0000 offset 0x14 read: OK&lt;BR /&gt;DBBT data read from 0xe2000 offset 0x800 read: OK&lt;BR /&gt;FCB &lt;BR /&gt;checksum = 0xfffffc34&lt;BR /&gt;fingerprint = 0x20424346&lt;BR /&gt;version = 0x01000000&lt;BR /&gt;datasetup = 80&lt;BR /&gt;datahold = 60&lt;BR /&gt;addr_setup = 25&lt;BR /&gt;dsample_time = 6&lt;BR /&gt;pagesize = 2048&lt;BR /&gt;oob_pagesize = 2176&lt;BR /&gt;sectors = 64&lt;BR /&gt;nr_nand = 0&lt;BR /&gt;nr_die = 0&lt;BR /&gt;celltype = 0&lt;BR /&gt;ecc_type = 4&lt;BR /&gt;ecc_nr = 512&lt;BR /&gt;ecc_size = 512&lt;BR /&gt;ecc_level = 4&lt;BR /&gt;meta_size = 10&lt;BR /&gt;nr_blocks = 3&lt;BR /&gt;ecc_type_sdk = 0&lt;BR /&gt;ecc_nr_sdk = 0&lt;BR /&gt;ecc_size_sdk = 0&lt;BR /&gt;ecc_level_sdk = 0&lt;BR /&gt;nr_blocks_sdk = 0&lt;BR /&gt;meta_size_sdk = 0&lt;BR /&gt;erase_th = 0&lt;BR /&gt;bootpatch = 0&lt;BR /&gt;patch_size = 0&lt;BR /&gt;fw1_start = 512&lt;BR /&gt;fw2_start = 65792&lt;BR /&gt;fw1_pages = 52&lt;BR /&gt;fw2_pages = 52&lt;BR /&gt;dbbt_start = 256&lt;BR /&gt;bb_byte = 1999&lt;BR /&gt;bb_start_bit = 0&lt;BR /&gt;phy_offset = 2048&lt;BR /&gt;bchtype = 0&lt;BR /&gt;readlatency = 0&lt;BR /&gt;predelay = 0&lt;BR /&gt;cedelay = 0&lt;BR /&gt;postdelay = 0&lt;BR /&gt;cmdaddpause = 0&lt;BR /&gt;datapause = 0&lt;BR /&gt;tmspeed = 0&lt;BR /&gt;busytimeout = 0&lt;BR /&gt;disbbm = 0&lt;BR /&gt;spare_offset = 0&lt;BR /&gt;onfi_sync_enable = 0&lt;BR /&gt;onfi_sync_speed = 0&lt;BR /&gt;onfi_sync_nand_data = 0&lt;BR /&gt;disbbm_search = 0&lt;BR /&gt;disbbm_search_limit = 0&lt;BR /&gt;read_retry_enable = 0&lt;BR /&gt;DBBT :&lt;BR /&gt;checksum = 0x00000000&lt;BR /&gt;fingerprint = 0x54424244&lt;BR /&gt;version = 0x01000000&lt;BR /&gt;dbbtpages = 1&lt;BR /&gt;0 Firmware: image #0 @ 0x200 size 0x1a000&lt;BR /&gt;Firmware: image #1 @ 0x10100 size 0x1a000&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have no idea what could cause this? As it's 32Bytes ever 2K it might be the metadata??&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Ralf&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jan 2021 08:58:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208155#M167408</guid>
      <dc:creator>rhubert</dc:creator>
      <dc:date>2021-01-07T08:58:25Z</dc:date>
    </item>
    <item>
      <title>Re: imx8MQ NAND Boot</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208217#M167414</link>
      <description>&lt;P&gt;Hi Ralf&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;yes this is metadata, description can be found in sect.6.1.5.1.7.2 Metadata&lt;/P&gt;
&lt;P&gt;&lt;A id="relatedDocsClick_3" href="https://www.nxp.com/webapp/Download?colCode=IMX8MDQLQRM" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;i.MX 8M Dual/8M QuadLite/8M Quad Applications Processors Reference Manual&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;For nand boot one can look at&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/i-MX-Processors/i-MX8MQLite-boot-with-GPMI-raw-nand/m-p/1018402" target="_blank"&gt;https://community.nxp.com/t5/i-MX-Processors/i-MX8MQLite-boot-with-GPMI-raw-nand/m-p/1018402&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;for nand programming recommended to use uuu tool&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/NXPmicro/mfgtools" target="_blank"&gt;https://github.com/NXPmicro/mfgtools&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;sample uuu scripts can be found in Demo Images (folder ../samples) from link&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX?tab=In-Depth_Tab" target="_blank"&gt;https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX?tab=In-Depth_Tab&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jan 2021 10:12:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208217#M167414</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-01-07T10:12:30Z</dc:date>
    </item>
    <item>
      <title>Re: imx8MQ NAND Boot</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208228#M167417</link>
      <description>&lt;P&gt;Hi igor,&lt;/P&gt;&lt;P&gt;thanks for the information. I've seen them before. The metadata description is not very useful at all so I can't see that's the metadata from the binary dump. However - why is it in the RAM?&lt;/P&gt;&lt;P&gt;I can't use the uuu as there is no USB on the custom board, but I looked into the xml files to grep the kobs-ng command from uuu. Don't see any difference here.&lt;/P&gt;&lt;P&gt;The MT29F2G08 has a OOB size of 128Byte and 2K pages. Is this supported by the ROM?&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Ralf&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jan 2021 10:26:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208228#M167417</guid>
      <dc:creator>rhubert</dc:creator>
      <dc:date>2021-01-07T10:26:51Z</dc:date>
    </item>
    <item>
      <title>Re: imx8MQ NAND Boot</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208300#M167419</link>
      <description>&lt;P&gt;Hi Ralf&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;The MT29F2G08 has a OOB size of 128Byte and 2K pages. Is this supported by the ROM?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;for supported options please look at Table 6-39. NAND Boot Fusemap&lt;/P&gt;
&lt;P&gt;&lt;A id="relatedDocsClick_3" href="https://www.nxp.com/webapp/Download?colCode=IMX8MDQLQRM" target="_blank" rel="noopener nofollow noopener noreferrer"&gt;&lt;STRONG&gt;i.MX 8M Dual/8M QuadLite/8M Quad Applications Processors Reference Manual&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt; ..why is it in the RAM?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;seems SPL is loaded to IRAM.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jan 2021 12:39:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208300#M167419</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-01-07T12:39:24Z</dc:date>
    </item>
    <item>
      <title>Re: imx8MQ NAND Boot</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208303#M167420</link>
      <description>&lt;P&gt;the fusemap doesn't say anything about the OOB size.&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/NXPmicro/imx-kobs/blob/master/src/mtd.c#L996" target="_blank"&gt;https://github.com/NXPmicro/imx-kobs/blob/master/src/mtd.c#L996&lt;/A&gt;&lt;/P&gt;&lt;P&gt;This if looks broken?&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jan 2021 12:41:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208303#M167420</guid>
      <dc:creator>rhubert</dc:creator>
      <dc:date>2021-01-07T12:41:33Z</dc:date>
    </item>
    <item>
      <title>Re: imx8MQ NAND Boot</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208372#M167424</link>
      <description>&lt;P&gt;what is "broken" ? Fuse Map just adds additional specific for i.MX8MQ&amp;nbsp; restriction&lt;/P&gt;
&lt;P&gt;for kobs-ng supported modes.&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jan 2021 14:50:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208372#M167424</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-01-07T14:50:43Z</dc:date>
    </item>
    <item>
      <title>Re: imx8MQ NAND Boot</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208457#M167433</link>
      <description>&lt;P&gt;The NAND Boot Fusemap (Table 6-39&amp;nbsp; of the TRM) shows "Pages in Block" and "NAND Row Address Bytes" as well as some other non relevant configuration options. It doesn't tell anything about the supported NAND flash geometry.&lt;/P&gt;&lt;P&gt;The "if" condition in kobs-ng is always true, either if the SOC matches or if the flash geometry matches (and kobs-ng is executed on a totally different SOC). IMO it should check if the SOC and the geometry is supported, not only one of both. And if the check would work like this it would fail for our flash.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anyway - the question is: Is a NAND-Flash with 2K pages and a oob-size of 128Bytes supported or not? (And if so, what could be the reason for the metadata corrupting the image in IRAM when loaded by the ROM-Code?)&lt;/P&gt;&lt;P&gt;Looking into the BCH registers after the ROM Code has loaded the SPL the BCH_FLASH0LAYOUT1 register shows a PAGE_SIZE of 2112 Bytes (oob-size = 64) which is wrong.&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jan 2021 18:01:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208457#M167433</guid>
      <dc:creator>rhubert</dc:creator>
      <dc:date>2021-01-07T18:01:44Z</dc:date>
    </item>
    <item>
      <title>Re: imx8MQ NAND Boot</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208581#M167443</link>
      <description>&lt;P&gt;&amp;gt;the question is: Is a NAND-Flash with 2K pages and a oob-size of 128Bytes supported or not?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;yes supported.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;(And if so, what could be the reason for the metadata corrupting the image in IRAM when loaded by the ROM-Code?)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;please try to follow "officially" supported option: use uuu tool for nand programming.&lt;/P&gt;
&lt;P&gt;Please use oficial NXP linux documentation:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX?tab=In-Depth_Tab" target="_blank"&gt;https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX?tab=In-Depth_Tab&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Other nand programming methods may be supported using NXP Professional Services:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;A href="https://contact.nxp.com/new-prof-svcs-sw-tech" target="_blank"&gt;https://contact.nxp.com/new-prof-svcs-sw-tech&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
      <pubDate>Fri, 08 Jan 2021 00:50:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1208581#M167443</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-01-08T00:50:19Z</dc:date>
    </item>
    <item>
      <title>Re: imx8MQ NAND Boot</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1209687#M167553</link>
      <description>&lt;P&gt;The last days I debugged the ROM Code.&lt;/P&gt;&lt;P&gt;At first the AHPB-DMA loads the correct (!) data from the NOR flash into the IRAM. After that the BadBlock marker swapping is executed using the CPU.This works fine as long as I single-step the ROM-Code. As soon as I let it run, the BB-swap corrupts my data! For me this looks like a caching issue / bug in the ROM code.&lt;/P&gt;&lt;P&gt;Can anybody confirm that NAND Boot is really working on i.MX8MQ?&lt;/P&gt;</description>
      <pubDate>Mon, 11 Jan 2021 14:09:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1209687#M167553</guid>
      <dc:creator>rhubert</dc:creator>
      <dc:date>2021-01-11T14:09:09Z</dc:date>
    </item>
    <item>
      <title>Re: imx8MQ NAND Boot</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1213522#M167954</link>
      <description>&lt;P&gt;For the records: after soldering a 2048+64Byte NAND the ROM-Code is able to boot the image.&lt;/P&gt;</description>
      <pubDate>Mon, 18 Jan 2021 17:07:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx8MQ-NAND-Boot/m-p/1213522#M167954</guid>
      <dc:creator>rhubert</dc:creator>
      <dc:date>2021-01-18T17:07:42Z</dc:date>
    </item>
  </channel>
</rss>

