<?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: Add 4-byte addressing to FLEXSPI flash driver in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Add-4-byte-addressing-to-FLEXSPI-flash-driver/m-p/1586052#M23375</link>
    <description>&lt;P&gt;Hello, I need help for the same topic but for IS25LP512M QSPI Flash memory, and it looks that the solution is not as simple as modifying LUT entry for NOR_CMD_LUT_SEQ_IDX_READ_FAST_QUAD to support 32-bit address, because flash memory IC starts initialized in 3-bytes addressing mode and needs to&amp;nbsp;Enter 4-byte Address Mode by 0xB7 instruction or by setting&amp;nbsp;EXTADD bit in Volatile Bank Address Register.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SpoonMan_0-1674465826531.png" style="width: 692px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/208134i710CB66D44483859/image-dimensions/692x647?v=v2" width="692" height="647" role="button" title="SpoonMan_0-1674465826531.png" alt="SpoonMan_0-1674465826531.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;How is it possible to perform such initialization in XIP header? Someone could help understanding how deviceModeSeq and&amp;nbsp;configCmdSeqs are intended to be used, please?&lt;/P&gt;</description>
    <pubDate>Mon, 23 Jan 2023 09:26:41 GMT</pubDate>
    <dc:creator>SpoonMan</dc:creator>
    <dc:date>2023-01-23T09:26:41Z</dc:date>
    <item>
      <title>Add 4-byte addressing to FLEXSPI flash driver</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Add-4-byte-addressing-to-FLEXSPI-flash-driver/m-p/1093750#M9680</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm using 256Mb external flash. That requires using 4-byte addressing. It's easy easy enough to see how to modify customLUT&amp;nbsp;to use&amp;nbsp;the 4-byte versions of the various commands, but how and where do I add the commands to enable and disable 4-byte addressing mode? The memory chip is a Macronix&amp;nbsp;MX25L25645G, I'm using MCUXpresso SDK 2.6.2 (which I'm resistant to changing at this stage in the development cycle, unless it is unavoidable), the MCU is MIMXRT1062DVJ6A, and the IDE is MCUXpresso 11.2.0.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Jul 2020 09:14:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Add-4-byte-addressing-to-FLEXSPI-flash-driver/m-p/1093750#M9680</guid>
      <dc:creator>jeffthompson</dc:creator>
      <dc:date>2020-07-27T09:14:41Z</dc:date>
    </item>
    <item>
      <title>Re: Add 4-byte addressing to FLEXSPI flash driver</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Add-4-byte-addressing-to-FLEXSPI-flash-driver/m-p/1093751#M9681</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Nothing other than updating the customLUT is required to use 4-byte addressing mode for this flash chip.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Jul 2020 18:21:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Add-4-byte-addressing-to-FLEXSPI-flash-driver/m-p/1093751#M9681</guid>
      <dc:creator>jeffthompson</dc:creator>
      <dc:date>2020-07-27T18:21:28Z</dc:date>
    </item>
    <item>
      <title>Re: Add 4-byte addressing to FLEXSPI flash driver</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Add-4-byte-addressing-to-FLEXSPI-flash-driver/m-p/1093752#M9682</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&amp;nbsp;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="335756" data-username="jeffthompson@invue.com" href="https://community.nxp.com/people/jeffthompson@invue.com" style="color: #3d9ce7; background-color: #ffffff; border: 0px; font-weight: 600; text-decoration: underline; font-size: 11.9994px;"&gt;Jeffery Thompson&lt;/A&gt;&lt;SPAN style="color: #646464; background-color: #ffffff;"&gt;&lt;SPAN&gt;&amp;nbsp;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #646464; background-color: #ffffff;"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;Thanks for your updated information.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Do you already solve the issues but update the LUT table with 4Byte address mode?&lt;/P&gt;&lt;P&gt;&amp;nbsp; Do you still have issues with this case?&lt;/P&gt;&lt;P&gt;&amp;nbsp;If you still have questions about it, please kindly let me know.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-weight: inherit; font-size: 14px;"&gt;Best Regards,&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-weight: inherit; font-size: 14px;"&gt;Kerry&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-weight: inherit; font-size: 14px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-weight: inherit; font-size: 14px;"&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-weight: inherit; font-size: 14px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-weight: inherit; font-size: 14px;"&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt;Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jul 2020 06:00:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Add-4-byte-addressing-to-FLEXSPI-flash-driver/m-p/1093752#M9682</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2020-07-28T06:00:47Z</dc:date>
    </item>
    <item>
      <title>Re: Add 4-byte addressing to FLEXSPI flash driver</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Add-4-byte-addressing-to-FLEXSPI-flash-driver/m-p/1579246#M23227</link>
      <description>&lt;P&gt;Hi Kerry,&lt;/P&gt;&lt;P&gt;we are having the same issue&lt;/P&gt;&lt;P&gt;I coulnd find how to solve this&lt;/P&gt;&lt;P&gt;on our flash the opcode to enter 4 byte mode ls&amp;nbsp;0xB7 and to exit is&amp;nbsp;0xE9&lt;/P&gt;</description>
      <pubDate>Mon, 09 Jan 2023 11:00:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Add-4-byte-addressing-to-FLEXSPI-flash-driver/m-p/1579246#M23227</guid>
      <dc:creator>adi2Intel</dc:creator>
      <dc:date>2023-01-09T11:00:19Z</dc:date>
    </item>
    <item>
      <title>Re: Add 4-byte addressing to FLEXSPI flash driver</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Add-4-byte-addressing-to-FLEXSPI-flash-driver/m-p/1586052#M23375</link>
      <description>&lt;P&gt;Hello, I need help for the same topic but for IS25LP512M QSPI Flash memory, and it looks that the solution is not as simple as modifying LUT entry for NOR_CMD_LUT_SEQ_IDX_READ_FAST_QUAD to support 32-bit address, because flash memory IC starts initialized in 3-bytes addressing mode and needs to&amp;nbsp;Enter 4-byte Address Mode by 0xB7 instruction or by setting&amp;nbsp;EXTADD bit in Volatile Bank Address Register.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SpoonMan_0-1674465826531.png" style="width: 692px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/208134i710CB66D44483859/image-dimensions/692x647?v=v2" width="692" height="647" role="button" title="SpoonMan_0-1674465826531.png" alt="SpoonMan_0-1674465826531.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;How is it possible to perform such initialization in XIP header? Someone could help understanding how deviceModeSeq and&amp;nbsp;configCmdSeqs are intended to be used, please?&lt;/P&gt;</description>
      <pubDate>Mon, 23 Jan 2023 09:26:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Add-4-byte-addressing-to-FLEXSPI-flash-driver/m-p/1586052#M23375</guid>
      <dc:creator>SpoonMan</dc:creator>
      <dc:date>2023-01-23T09:26:41Z</dc:date>
    </item>
    <item>
      <title>Re: Add 4-byte addressing to FLEXSPI flash driver</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Add-4-byte-addressing-to-FLEXSPI-flash-driver/m-p/1597386#M23676</link>
      <description>&lt;P&gt;I will try to answer to myself, and to other users like&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/198371"&gt;@adi2Intel&lt;/a&gt;&amp;nbsp;who are still in trouble with this problem. In this answer I'll take IS25WP512M Quad Flash memory as reference (because this is the part number I'm interested to, but I think you may adapt this changes to another flash with little effort).&lt;/P&gt;&lt;P&gt;Datasheet link, for reference:&amp;nbsp;&lt;A href="https://www.issi.com/WW/pdf/25LP-WP512M.pdf" target="_blank"&gt;https://www.issi.com/WW/pdf/25LP-WP512M.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;U&gt;For what concerns eXecution In Place (XIP)&lt;/U&gt;, I modified flexspi_nor_config_t structure as follows:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SpoonMan_0-1676035818265.png" style="width: 732px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/210486i693C9C4D00B9FBCD/image-dimensions/732x485?v=v2" width="732" height="485" role="button" title="SpoonMan_0-1676035818265.png" alt="SpoonMan_0-1676035818265.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;in particular I modified sflashA1Size to match my new 512Mb (64MB) flash size and I changed the first 32-bit word in commands LUT by substituting EBh command (24-bit addressing by default) with ECh command (32-bit addressing by default) and by specifing that 32-bits of address are following instead of 24-bits. After this, I also ensured BOARD_FLASH_SIZE in board.h matched my new flash size:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SpoonMan_2-1676036290185.png" style="width: 450px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/210488iFFBB65B6444D7E04/image-dimensions/450x104?v=v2" width="450" height="104" role="button" title="SpoonMan_2-1676036290185.png" alt="SpoonMan_2-1676036290185.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;U&gt;For what concerns the application (flexspi_nor_polling_transfer)&lt;/U&gt;, I first adapted FLASH_SIZE definition in app.h to match my new flash size (notice that this macro will then be used to fill flashSize field in&amp;nbsp;flexspi_device_config_t structure used in main.c to initialize FlexSPI peripheral, thus requiring &lt;STRONG&gt;flash size is in KBytes, not Bytes&lt;/STRONG&gt;&lt;LI-EMOJI id="lia_disappointed-face" title=":disappointed_face:"&gt;&lt;/LI-EMOJI&gt;&lt;LI-EMOJI id="lia_disappointed-face" title=":disappointed_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SpoonMan_3-1676036610321.png" style="width: 742px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/210490iBEB8E9593D6EAB1B/image-dimensions/742x199?v=v2" width="742" height="199" role="button" title="SpoonMan_3-1676036610321.png" alt="SpoonMan_3-1676036610321.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="SpoonMan_4-1676036710502.png" style="width: 452px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/210492i76B56D36EA717944/image-dimensions/452x269?v=v2" width="452" height="269" role="button" title="SpoonMan_4-1676036710502.png" alt="SpoonMan_4-1676036710502.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;and last but not least, I modified all commands in customLUT to use the 32-bit addressing version of the command originally used by the demo example, e.g. I replaced 03h with 13h for Normal Read Single Data Rate, 0xD7 with 0x21 for Erase Sector, etc. and every time I also specified an ADDR length of 32 bits instead of 24:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SpoonMan_6-1676037005438.png" style="width: 736px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/210495i578FE1323D9320DF/image-dimensions/736x365?v=v2" width="736" height="365" role="button" title="SpoonMan_6-1676037005438.png" alt="SpoonMan_6-1676037005438.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="SpoonMan_7-1676037053555.png" style="width: 735px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/210496i286104E3DEF9A93D/image-dimensions/735x393?v=v2" width="735" height="393" role="button" title="SpoonMan_7-1676037053555.png" alt="SpoonMan_7-1676037053555.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="SpoonMan_8-1676037092530.png" style="width: 735px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/210498i420E2F3EC52B4289/image-dimensions/735x171?v=v2" width="735" height="171" role="button" title="SpoonMan_8-1676037092530.png" alt="SpoonMan_8-1676037092530.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I hope this post will help someone else, as with NXP technical support I am sadly forced to admit that... we are all swimming in a big **bleep**hole.&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2023 14:30:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Add-4-byte-addressing-to-FLEXSPI-flash-driver/m-p/1597386#M23676</guid>
      <dc:creator>SpoonMan</dc:creator>
      <dc:date>2023-02-10T14:30:28Z</dc:date>
    </item>
  </channel>
</rss>

