<?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: [QSPI]How to define the ADATSZ for AHB buffer in S32G</title>
    <link>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1403221#M448</link>
    <description>&lt;P&gt;“&lt;EM&gt;ADATSZ is specified in bytes, not bits, so it's not clear what you mean with &amp;gt;=8(64B)”&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;According to the CH38.4.2.5, it's multiple of 8 bytes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The setting in&amp;nbsp;&lt;SPAN&gt;SBUSCFG looks interesting. I was thinking the AHB burst type, HSIZE are not configurable. and I'm also curious if it could cover all AHB master. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I'll have a try also for A53 and eDMA.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 21 Jan 2022 11:28:42 GMT</pubDate>
    <dc:creator>Renjun</dc:creator>
    <dc:date>2022-01-21T11:28:42Z</dc:date>
    <item>
      <title>[QSPI]How to define the ADATSZ for AHB buffer</title>
      <link>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402177#M433</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;We're using S32G274A to access an external NOR flash via QSPI.&lt;/P&gt;&lt;P&gt;There's a "AHB abort error" invoked when accessing the external nor flash via AHB. Below is the details.&lt;/P&gt;&lt;P&gt;To configure the BUF0CR for A53-0(AHB master), the setting of MSTRID should be 0, but we got a problem when setting the&amp;nbsp;ADATSZ.&lt;/P&gt;&lt;P&gt;Because we don't have any ideas what's the value should be set, by trying it with several values, and we found that if ADATSZ is &amp;lt; 8, the "AAEF"(AHB abort error flag) will be set and it's failed to read data from the external nor flash. If the&amp;nbsp;ADATSZ is &amp;gt;= 8, the access is ok.&lt;/P&gt;&lt;P&gt;So we're wondering if there's any limitations/notifications regarding the setting of&amp;nbsp;ADATSZ ? And what's the principle to select a reasonable size for it ?&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;</description>
      <pubDate>Thu, 20 Jan 2022 02:37:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402177#M433</guid>
      <dc:creator>Renjun</dc:creator>
      <dc:date>2022-01-20T02:37:32Z</dc:date>
    </item>
    <item>
      <title>Re: [QSPI]How to define the ADATSZ for AHB buffer</title>
      <link>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402380#M437</link>
      <description>&lt;P&gt;The recommended value for ADATSZ is the buffer size, BUFxCR[ADATSZ] = BUFxIND[TPINDX]&lt;/P&gt;
&lt;P&gt;S32CT gives you actually no choice:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="bpe_0-1642663191067.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/168288i7A805F408DE97E7B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="bpe_0-1642663191067.png" alt="bpe_0-1642663191067.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is how RTD code does it:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="bpe_1-1642663375730.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/168289iE8A3C341279808F8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="bpe_1-1642663375730.png" alt="bpe_1-1642663375730.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV id="tinyMceEditorbpe_2" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="bpe_3-1642663718513.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/168291iBBF9F382FF701F28/image-size/medium?v=v2&amp;amp;px=400" role="button" title="bpe_3-1642663718513.png" alt="bpe_3-1642663718513.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can find the theory in S32G2RM, Section 38.6.2.2.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope this helps,&lt;BR /&gt;Platon&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 20 Jan 2022 07:33:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402380#M437</guid>
      <dc:creator>bpe</dc:creator>
      <dc:date>2022-01-20T07:33:02Z</dc:date>
    </item>
    <item>
      <title>Re: [QSPI]How to define the ADATSZ for AHB buffer</title>
      <link>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402404#M438</link>
      <description>&lt;P&gt;Thanks for the reply.&lt;/P&gt;&lt;P&gt;Actually, the issue came with the configuration from RTD(same with your snapshot).&lt;/P&gt;&lt;P&gt;And then, we did try by the different value of the&amp;nbsp;&lt;SPAN&gt;ADATSZ, because we assumed the buffer0 was "hit" by A53-0, and the size is problematic.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;One more information, if we only changed the master ID of buffer0 to a number except "0", everything is fine.&lt;/P&gt;</description>
      <pubDate>Thu, 20 Jan 2022 07:56:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402404#M438</guid>
      <dc:creator>Renjun</dc:creator>
      <dc:date>2022-01-20T07:56:04Z</dc:date>
    </item>
    <item>
      <title>Re: [QSPI]How to define the ADATSZ for AHB buffer</title>
      <link>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402426#M439</link>
      <description>&lt;P&gt;On Vybrid I used ADASZ=0 without any problems, which is "follow data size, specified in instructions LUT table". Different instructions may use different data sizes.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 20 Jan 2022 08:20:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402426#M439</guid>
      <dc:creator>kef2</dc:creator>
      <dc:date>2022-01-20T08:20:04Z</dc:date>
    </item>
    <item>
      <title>Re: [QSPI]How to define the ADATSZ for AHB buffer</title>
      <link>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402439#M440</link>
      <description>&lt;P&gt;Thanks for the information.&lt;/P&gt;&lt;P&gt;yes, the size in LUT is used indeed, but it's same question, how many bytes should be defined ?&lt;/P&gt;&lt;P&gt;We did a try by LUT, the number less than 64 bytes is not working neither.&lt;/P&gt;</description>
      <pubDate>Thu, 20 Jan 2022 08:35:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402439#M440</guid>
      <dc:creator>Renjun</dc:creator>
      <dc:date>2022-01-20T08:35:41Z</dc:date>
    </item>
    <item>
      <title>Re: [QSPI]How to define the ADATSZ for AHB buffer</title>
      <link>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402509#M441</link>
      <description>&lt;P&gt;How many bytes - should be determined practically. Each transfer reads number of bytes specified, even though you may need not all of them. But if you do sequential read, with too low transfer size you will lose your time sending extra command and address bytes for new transfer. So for sequential transfers only you should set it to maximum (limited specific QSPI implementation, I don't what it is for S32G), for execute in place (XIP) it should be something between min and max. Take into account instruction and data cache, which may be applied to QSPI address space, so I think the only way to tell best number is to test performance using different settings.&lt;/P&gt;&lt;P&gt;On Vybrid ADATSZ of 8 to 128 worked well, I didn't try other numbers. 128 worked best for my VF3 XIP bare metal application.&lt;/P&gt;&lt;P&gt;Edward&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 20 Jan 2022 09:18:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402509#M441</guid>
      <dc:creator>kef2</dc:creator>
      <dc:date>2022-01-20T09:18:06Z</dc:date>
    </item>
    <item>
      <title>Re: [QSPI]How to define the ADATSZ for AHB buffer</title>
      <link>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402531#M442</link>
      <description>&lt;P&gt;Really appreciate your sharing and I do agree it.&lt;/P&gt;&lt;P&gt;I have to correct the question to : why the number less than 64 is not working ? I'm wondering the principle behind it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I guess it's limited by the burst size requested by AHB master, but not sure.&lt;/P&gt;&lt;P&gt;By the way, according to the reference manual, the QSPI AHB region is non-cacheable.&lt;/P&gt;</description>
      <pubDate>Thu, 20 Jan 2022 09:41:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402531#M442</guid>
      <dc:creator>Renjun</dc:creator>
      <dc:date>2022-01-20T09:41:56Z</dc:date>
    </item>
    <item>
      <title>Re: [QSPI]How to define the ADATSZ for AHB buffer</title>
      <link>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402550#M443</link>
      <description>&lt;P&gt;I don't know why &amp;lt;64 isn't working. Perhaps some chip bug?&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;By the way, according to the reference manual, the QSPI AHB region is non-cacheable.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;SPAN&gt;Yes, I see it in RM. I understand it may be not cacheable on Cortex-M, which caching is usually manufacturer fixed for different address spaces. But noncacheable on Cortex-A? Really? On Cortex-A user defined TLB defines which areas are cacheable and which not.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Edward&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 20 Jan 2022 10:03:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1402550#M443</guid>
      <dc:creator>kef2</dc:creator>
      <dc:date>2022-01-20T10:03:08Z</dc:date>
    </item>
    <item>
      <title>Re: [QSPI]How to define the ADATSZ for AHB buffer</title>
      <link>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1403168#M446</link>
      <description>&lt;P&gt;Got the conclusion:&lt;/P&gt;&lt;P&gt;The Pre-fetch size(ADATSZ) should be greater than the AHB single burst size.&lt;/P&gt;&lt;P&gt;As to A53-0, the&amp;nbsp;AHB single burst size is 64 bytes, so the&amp;nbsp;ADATSZ should be &amp;gt;=8(64B).&lt;/P&gt;&lt;P&gt;Thank you all for the reply.&lt;/P&gt;</description>
      <pubDate>Fri, 21 Jan 2022 09:28:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1403168#M446</guid>
      <dc:creator>Renjun</dc:creator>
      <dc:date>2022-01-21T09:28:59Z</dc:date>
    </item>
    <item>
      <title>Re: [QSPI]How to define the ADATSZ for AHB buffer</title>
      <link>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1403202#M447</link>
      <description>&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;ADATSZ should be &amp;gt;=8(64B).&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ADATSZ is specified in bytes, not bits, so it's not clear what you mean with &amp;gt;=8(64B)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Perhaps you are right regarding AHB burst. See 55.4.1.10 System Bus Configuration (SBUSCFG)&lt;/P&gt;&lt;P&gt;It is little cryptic. [AHB Master Interface Burst Configuration] defaults to 011, which sets [AHB master transfer type sequence (or priority)] to [INCR16 burst, INCR8 burst, INCR4 burst, then single transfer]. So default transfer is INCR16, which according to BAWR/BARD fields description is 64 bytes.&amp;nbsp;&lt;/P&gt;&lt;P&gt;It is told about AHBBRST that "This chip is designed to support only 011b reset value for this field. Chip operation is not guaranteed for any other programmed values.". Bus since it is R/W register, I would try what happens changing BARD and perhaps&amp;nbsp;AHBBRST, along with ADATSZ. Just to make sure it is really&amp;nbsp;AHB burst size related.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Edward&lt;/P&gt;</description>
      <pubDate>Fri, 21 Jan 2022 10:17:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1403202#M447</guid>
      <dc:creator>kef2</dc:creator>
      <dc:date>2022-01-21T10:17:49Z</dc:date>
    </item>
    <item>
      <title>Re: [QSPI]How to define the ADATSZ for AHB buffer</title>
      <link>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1403221#M448</link>
      <description>&lt;P&gt;“&lt;EM&gt;ADATSZ is specified in bytes, not bits, so it's not clear what you mean with &amp;gt;=8(64B)”&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;According to the CH38.4.2.5, it's multiple of 8 bytes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The setting in&amp;nbsp;&lt;SPAN&gt;SBUSCFG looks interesting. I was thinking the AHB burst type, HSIZE are not configurable. and I'm also curious if it could cover all AHB master. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I'll have a try also for A53 and eDMA.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Jan 2022 11:28:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1403221#M448</guid>
      <dc:creator>Renjun</dc:creator>
      <dc:date>2022-01-21T11:28:42Z</dc:date>
    </item>
    <item>
      <title>Re: [QSPI]How to define the ADATSZ for AHB buffer</title>
      <link>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1403246#M451</link>
      <description>&lt;UL&gt;&lt;LI&gt;“&lt;EM&gt;ADATSZ is specified in bytes, not bits, so it's not clear what you mean with &amp;gt;=8(64B)”&lt;/EM&gt;&lt;/LI&gt;&lt;LI&gt;According to the CH38.4.2.5, it's multiple of 8 bytes.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Thanks. Oh yeah, ADATSZ specifies multiplies of 8 bytes. In contrast read commands arguments in LUT table arguments specify number of bytes n, user has to ensure n is multiple of 8.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Jan 2022 13:03:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1403246#M451</guid>
      <dc:creator>kef2</dc:creator>
      <dc:date>2022-01-21T13:03:29Z</dc:date>
    </item>
    <item>
      <title>Re: [QSPI]How to define the ADATSZ for AHB buffer</title>
      <link>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1403619#M453</link>
      <description>&lt;P&gt;I did a try by setting the ADATSZ as 4(32B) for A53-0 plus:&lt;/P&gt;&lt;P&gt;a. BARD is 7, and go through all settings of&amp;nbsp;AHBBRST, NOK.&lt;/P&gt;&lt;P&gt;b. AHBBRST is 3, and go through all settings of&amp;nbsp;BARD, NOK.&lt;/P&gt;&lt;P&gt;Probably, it's only used for the AHB request to USBOTG.&lt;/P&gt;</description>
      <pubDate>Mon, 24 Jan 2022 02:49:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/QSPI-How-to-define-the-ADATSZ-for-AHB-buffer/m-p/1403619#M453</guid>
      <dc:creator>Renjun</dc:creator>
      <dc:date>2022-01-24T02:49:22Z</dc:date>
    </item>
  </channel>
</rss>

