<?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>S32GのトピックRe: Cache coherency for S32G274ardb2</title>
    <link>https://community.nxp.com/t5/S32G/Cache-coherency-for-S32G274ardb2/m-p/1603966#M2292</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Thanks for the feedback.&lt;/P&gt;
&lt;P&gt;As said in the reference manual (and you are saying) [Page 131, S32G2 Reference Manual, Rev. 6, 11/2022]:&lt;/P&gt;
&lt;P&gt;"Ncore writes a 1 to this field when the unit is performing any activity related to ...&amp;nbsp;and is cleared otherwise."&lt;/P&gt;
&lt;P&gt;As implied in the RM, it should only be set if Ncore is executing the related activity, not related to a system state.&lt;/P&gt;
&lt;P&gt;We could also recommend looking into the "AN12887 -&amp;nbsp;S32G2 Data Cache Coherency" available under the S32G2 product site (link:&amp;nbsp;&lt;A href="https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32g-vehicle-network-processors/s32g2-processors-for-vehicle-networking:S32G2" target="_blank"&gt;S32G2 Safe and Secure Vehicle Network Processor | NXP Semiconductors&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;Please, let us know.&lt;/P&gt;</description>
    <pubDate>Wed, 22 Feb 2023 18:13:35 GMT</pubDate>
    <dc:creator>Daniel-Aguirre</dc:creator>
    <dc:date>2023-02-22T18:13:35Z</dc:date>
    <item>
      <title>Cache coherency for S32G274ardb2</title>
      <link>https://community.nxp.com/t5/S32G/Cache-coherency-for-S32G274ardb2/m-p/1596918#M2191</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;We are verifying that cache coherency is maintained across Cortex-A53 clusters.&lt;/P&gt;&lt;P&gt;The U-Boot bootloader for S32G_BSP30.0 is built with s32g274ardb2_defconfig (no source modification).&lt;BR /&gt;ATF is not used. The global enable bit in the XRDC control register (XRDC_CR) is 0.&lt;/P&gt;&lt;P&gt;In this combination, is the cache coherency between Cortex-A53 Cluster0 and Cortex-A53 Cluster1 maintained when the OS is booted from the U-Boot ?&lt;BR /&gt;If not, what settings should be made to maintain cache coherency between clusters?&lt;BR /&gt;Below are the register values for XRDC_CR and NCORE (only those with valid bits set).&lt;/P&gt;&lt;P&gt;&amp;lt;env&amp;gt;&lt;BR /&gt;board: s32g-vnp-rdb2&lt;BR /&gt;bootloader: u-boot of S32G_BSP30.0 (ATF not used)&lt;BR /&gt;core: CA53 x 4core use&lt;BR /&gt;OS:my customer's RTOS&lt;/P&gt;&lt;P&gt;&amp;lt;reg dump after init_core() executed&amp;gt;&lt;/P&gt;&lt;P&gt;[registers address : value]&lt;/P&gt;&lt;P&gt;XRDC Control (CR) register&lt;BR /&gt;XRDC0_CR 401a4000: 0000008a&lt;BR /&gt;XRDC1_CR 44004000: 0000008a&lt;/P&gt;&lt;P&gt;Coherent Agent Interface Unit registers&lt;BR /&gt;CAIU0_CAIUTC 50400000: 00000001&lt;BR /&gt;CAIU0_CAIUTA 50400004: 00000001&lt;BR /&gt;CAIU0_CAIUID 50400ffc: 00008001&lt;BR /&gt;CAIU1_CAIUTC 50401000: 00000001&lt;BR /&gt;CAIU1_CAIUID 50401ffc: 00008101&lt;/P&gt;&lt;P&gt;Non-coherent bridge unit (NCBU) register&lt;BR /&gt;NCBU0_NCBUTC 50460000: 00000001&lt;BR /&gt;NCBU0_NCBUID 50460ffc: 00030001&lt;BR /&gt;NCBU1_NCBUTC 50461000: 00000001&lt;BR /&gt;NCBU1_NCBUID 50461ffc: 00030101&lt;/P&gt;&lt;P&gt;Directory unit (DIRU) register&lt;BR /&gt;DIRU_DIRUSFE 50480010: 00000001&lt;BR /&gt;DIRU_DIRUCASE0 50480040: 00000003&lt;BR /&gt;DIRU_DIRUID 50480ffc: 00000001&lt;/P&gt;&lt;P&gt;Coherent memory interface unit (CMIU) register&lt;BR /&gt;CMIU_CMIUID 504c0ffc: 00000001&lt;/P&gt;&lt;P&gt;Coherent subsystem (CSR) register&lt;BR /&gt;CSR_CSADSE0 504ff040: 00000003&lt;BR /&gt;CSR_CSSFIDR0 504fff00: 0cb007ff&lt;BR /&gt;CSR_CSUID 504ffff8: 01010202&lt;BR /&gt;CSR_CSID 504ffffc: 00000109&lt;/P&gt;&lt;P&gt;CCTI fault controller register&lt;BR /&gt;CCTI_COREID 50500000: 7073b716&lt;BR /&gt;CCTI_REVISIONID 50500004: c67f8700&lt;BR /&gt;CCTI_BIST_DONE 50500038: 00000002&lt;BR /&gt;CCTI_BIST_TO1 5050003c: 0000ffff&lt;BR /&gt;CCTI_BIST_TO2 50500040: 000000ff&lt;/P&gt;&lt;P&gt;Functional safety controller (FSC) register&lt;BR /&gt;FSC_SCCETH 50600008: 00000001&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2023 01:26:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/Cache-coherency-for-S32G274ardb2/m-p/1596918#M2191</guid>
      <dc:creator>k_kikuchi</dc:creator>
      <dc:date>2023-02-10T01:26:53Z</dc:date>
    </item>
    <item>
      <title>Re: Cache coherency for S32G274ardb2</title>
      <link>https://community.nxp.com/t5/S32G/Cache-coherency-for-S32G274ardb2/m-p/1597552#M2199</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;For our understanding, Cache coherency should be done through the Snoop Control Unit (provided from ARM).&lt;/P&gt;
&lt;P&gt;Still, between both clusters, there is no clear information.&lt;/P&gt;
&lt;P&gt;Let us see if there is something we could share that helps with this topic.&lt;/P&gt;
&lt;P&gt;We thank you for your patience.&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2023 19:00:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/Cache-coherency-for-S32G274ardb2/m-p/1597552#M2199</guid>
      <dc:creator>Daniel-Aguirre</dc:creator>
      <dc:date>2023-02-10T19:00:14Z</dc:date>
    </item>
    <item>
      <title>Re: Cache coherency for S32G274ardb2</title>
      <link>https://community.nxp.com/t5/S32G/Cache-coherency-for-S32G274ardb2/m-p/1598377#M2209</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;We have received the following information:&lt;/P&gt;
&lt;P&gt;"&lt;SPAN&gt;Yes, the cache coherency between clusters is maintained by NCORE. It is a&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://developer.arm.com/documentation/den0024/a/Multi-core-processors/Bus-protocol-and-the-Cache-Coherent-Interconnect?lang=en" target="_self" rel="nofollow noopener noreferrer"&gt;CCI-400&lt;/A&gt;&lt;SPAN&gt;-like module, and is configured in U-BOOT within BSP 30.&lt;/SPAN&gt;"&lt;/P&gt;
&lt;P&gt;Please, let us know if this information was helpful or not.&lt;/P&gt;</description>
      <pubDate>Mon, 13 Feb 2023 20:06:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/Cache-coherency-for-S32G274ardb2/m-p/1598377#M2209</guid>
      <dc:creator>Daniel-Aguirre</dc:creator>
      <dc:date>2023-02-13T20:06:31Z</dc:date>
    </item>
    <item>
      <title>Re: Cache coherency for S32G274ardb2</title>
      <link>https://community.nxp.com/t5/S32G/Cache-coherency-for-S32G274ardb2/m-p/1602300#M2266</link>
      <description>&lt;P&gt;Thanks for your response.&lt;/P&gt;&lt;P&gt;Let me check the register values after a module like CCI-400 is configured in the U-Boot.&lt;BR /&gt;After executing the Init_core() function, I checked the value of Coherent Agent Interface Unit registers.&lt;/P&gt;&lt;P&gt;[registers address : value]&lt;BR /&gt;CAIU0_CAIUTC 50400000: 00000001&lt;BR /&gt;CAIU0_CAIUTA 50400004: 00000001&lt;BR /&gt;CAIU1_CAIUTC 50401000: 00000001&lt;BR /&gt;CAIU1_CAIUTA 50401004: 00000000&lt;/P&gt;&lt;P&gt;From these results, we infer that each cluster is in the following states&lt;/P&gt;&lt;P&gt;Cluster0: Agent Transaction Enable / Transaction Active&lt;BR /&gt;Cluster1: Agent Transaction Enable / Transaction Inactive&lt;/P&gt;&lt;P&gt;Which of the following is a valid bit in the CAIUTA register?&lt;/P&gt;&lt;P&gt;1. Always as long as cache coherency is maintained.&lt;BR /&gt;2. only while cache transfers are occurring to maintain cache coherency.&lt;BR /&gt;3. when other special conditions are met.&lt;/P&gt;</description>
      <pubDate>Tue, 21 Feb 2023 00:17:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/Cache-coherency-for-S32G274ardb2/m-p/1602300#M2266</guid>
      <dc:creator>k_kikuchi</dc:creator>
      <dc:date>2023-02-21T00:17:30Z</dc:date>
    </item>
    <item>
      <title>Re: Cache coherency for S32G274ardb2</title>
      <link>https://community.nxp.com/t5/S32G/Cache-coherency-for-S32G274ardb2/m-p/1603190#M2281</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Could you elaborate more on the "&lt;SPAN&gt;Which of the following is a valid bit in the CAIUTA register?&lt;/SPAN&gt;", we understand that you are asking which bits are valid ones on the register. If so, the following information on the reference manual should provide this:&lt;/P&gt;
&lt;P&gt;CAIU Transaction Activity (CAIUTA) [Chapter 7.10.1.1.2, Page 131, S32G2 Reference Manual, Rev. 6, 11/2022]:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="DanielAguirre_0-1677013752412.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/211844iA9790B4B00EF6904/image-size/medium?v=v2&amp;amp;px=400" role="button" title="DanielAguirre_0-1677013752412.png" alt="DanielAguirre_0-1677013752412.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Please, let us know if this information was helpful or not.&lt;/P&gt;</description>
      <pubDate>Tue, 21 Feb 2023 21:09:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/Cache-coherency-for-S32G274ardb2/m-p/1603190#M2281</guid>
      <dc:creator>Daniel-Aguirre</dc:creator>
      <dc:date>2023-02-21T21:09:34Z</dc:date>
    </item>
    <item>
      <title>Re: Cache coherency for S32G274ardb2</title>
      <link>https://community.nxp.com/t5/S32G/Cache-coherency-for-S32G274ardb2/m-p/1603437#M2283</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Thanks for your response.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I would like to clarify "the unit is performing any activity related to the native agent coherenttransactions" in the manual.&lt;BR /&gt;When is each bit in the CAIUTA register turned on?&lt;/P&gt;&lt;P&gt;A. Only while performing coherence preserving operations.&lt;BR /&gt;B. Only while coherence is maintained (0 if cache mismatch)&lt;BR /&gt;C. Always 1 if Agent Transaction is Enable&lt;/P&gt;&lt;P&gt;The following is a timing chart based on the interpretation of each of A, B, and C.&lt;BR /&gt;The chart starts with a cache mismatch, and the cache is matched at the timing of "Maintaining Cache Coherency".&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="cache_chart.png" style="width: 726px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/211922i2E10A295C3AF39D7/image-size/large?v=v2&amp;amp;px=999" role="button" title="cache_chart.png" alt="cache_chart.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Feb 2023 06:20:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/Cache-coherency-for-S32G274ardb2/m-p/1603437#M2283</guid>
      <dc:creator>k_kikuchi</dc:creator>
      <dc:date>2023-02-22T06:20:20Z</dc:date>
    </item>
    <item>
      <title>Re: Cache coherency for S32G274ardb2</title>
      <link>https://community.nxp.com/t5/S32G/Cache-coherency-for-S32G274ardb2/m-p/1603966#M2292</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Thanks for the feedback.&lt;/P&gt;
&lt;P&gt;As said in the reference manual (and you are saying) [Page 131, S32G2 Reference Manual, Rev. 6, 11/2022]:&lt;/P&gt;
&lt;P&gt;"Ncore writes a 1 to this field when the unit is performing any activity related to ...&amp;nbsp;and is cleared otherwise."&lt;/P&gt;
&lt;P&gt;As implied in the RM, it should only be set if Ncore is executing the related activity, not related to a system state.&lt;/P&gt;
&lt;P&gt;We could also recommend looking into the "AN12887 -&amp;nbsp;S32G2 Data Cache Coherency" available under the S32G2 product site (link:&amp;nbsp;&lt;A href="https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32g-vehicle-network-processors/s32g2-processors-for-vehicle-networking:S32G2" target="_blank"&gt;S32G2 Safe and Secure Vehicle Network Processor | NXP Semiconductors&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;Please, let us know.&lt;/P&gt;</description>
      <pubDate>Wed, 22 Feb 2023 18:13:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32G/Cache-coherency-for-S32G274ardb2/m-p/1603966#M2292</guid>
      <dc:creator>Daniel-Aguirre</dc:creator>
      <dc:date>2023-02-22T18:13:35Z</dc:date>
    </item>
  </channel>
</rss>

