<?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: LS1046ARDB RTIC sample code/ steps for configuration in Layerscape</title>
    <link>https://community.nxp.com/t5/Layerscape/LS1046ARDB-RTIC-sample-code-steps-for-configuration/m-p/1367729#M9280</link>
    <description>&lt;P&gt;Thank You.&lt;/P&gt;&lt;P&gt;One more help needed Is there a way of checking stored hash value&amp;nbsp; after enabling&lt;SPAN&gt;&amp;nbsp;Secure boot ? I have configured&amp;nbsp; RTIC by following above steps&amp;nbsp; as mentioned&amp;nbsp; by you, I am not able to see any hash value in the hash registers. It shows all zeros.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Any help would be appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 08 Nov 2021 11:48:45 GMT</pubDate>
    <dc:creator>Faizanbaig</dc:creator>
    <dc:date>2021-11-08T11:48:45Z</dc:date>
    <item>
      <title>LS1046ARDB RTIC sample code/ steps for configuration</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1046ARDB-RTIC-sample-code-steps-for-configuration/m-p/1362153#M9192</link>
      <description>&lt;P&gt;Hi ,&lt;/P&gt;&lt;P&gt;I am trying to configure RTIC(Run time integrity Checker) on LS1046ARDB board. I did not find any sample C code or steps for its configuration . I need help with steps for RTIC initialization/configuration.&lt;/P&gt;&lt;P&gt;Could anyone help me in doing so?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Faizanbaig Inamdar&lt;/P&gt;</description>
      <pubDate>Wed, 27 Oct 2021 06:41:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1046ARDB-RTIC-sample-code-steps-for-configuration/m-p/1362153#M9192</guid>
      <dc:creator>Faizanbaig</dc:creator>
      <dc:date>2021-10-27T06:41:33Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046ARDB RTIC sample code/ steps for configuration</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1046ARDB-RTIC-sample-code-steps-for-configuration/m-p/1362292#M9196</link>
      <description>&lt;P&gt;&lt;SPAN&gt;The RTIC is documented in the LS1046ASECRM.pdf, which can be download from&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;the nxp.com. Please refers to&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Chapter 12 Trust Architecture modules&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;12.1 Run-time integrity checker&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;(RTIC)......................................................................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;.......................................................651&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;12.1.1 RTIC modes of&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;operation...................................................................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;........................................................651&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;12.1.2 RTIC initialization and&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;operation...................................................................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;........................................... 651&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;12.1.3 RTIC use of the Throttle&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Register....................................................................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;..........................................652&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;12.1.4 RTIC use of command, configuration, and status&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;registers...................................................................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;.... 652&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;12.1.5 Initializing&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;RTIC........................................................................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;................................................................ 653&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;12.1.6 RTIC Memory Block Address/Length&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Registers...................................................................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;....................653&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;There are no C level source code samples for it. To run a demo, customer can&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;touch the registers to enable it. Here are the sample procedures in uboot&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;with registers level configuration.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;#####&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Run time integrity checker (RTIC) is a hardware feature that checks the&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;integrity of the operating environment. You can use RTIC to monitor binary&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;images, set it up as a static data area, or administrative database that are&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;constant in nature. As soon as RTIC detects any modification in the memory&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;regions it monitors, you can either send an interpretation to the host for&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;post processing, or change the security state of the SoC to lockout&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;cryptographic key(s) access to protect sensitive date.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Below is a register level prototype to enable RTIC to monitor a pre-defined&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;memory region.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l a0000000 11112222 100&amp;nbsp; &amp;lt;-# init RAM address&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;=&amp;gt; md 0x1760000 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;-display RTIC status&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;01760000: 00000000 00000400 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l 0x176001c 0xff000000 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- # set RTIC Throttle (RTHR)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l 0x176002c 0xffff0000 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- # set RTIC Watchdog Timer (RWDOG)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l 0x1760104 000000a0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- # set RTIC monitor address (RMAA)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l 0x176010c 00010000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- # set RTIC monitor length (RMAL)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l 0x1760014 10010000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- Enable and unlock run time memory (RCTL)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l 0x176000c 02000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- Hash block A once (RMAL)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l 0x176000c 04000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- Enable Run Time Check (RMAL)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;=&amp;gt; md 0x1760000; md 0x1760000 &amp;lt;- display RTIC Status (RSTA)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;01760000: 00000000 01000004 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;01760000: 00000000 01000a04 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;01 = RTIC Busy, 02 = Hash Once Operation Completed. 04=sec violation&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;00 = no address error for all four blocks&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;0a = RTD, RTIC is in Run Time mode, All blocks hashed (ABH)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;04 = run time state, 02 Single Hash State, 06 = Error State&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;When the RTIC monitored memory region is modified, the SECMON changes the&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;state to non-secure and locks out black key access for further cryptographic&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;operations.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;=&amp;gt; md 0x1760000; echo; md 01e90000;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;01760000: 00000000 01000004 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;01760010: 00000000 10110000 00000000 ff000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;01e90000: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;01e90010: 00000000 00ad0080 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&amp;nbsp; &amp;lt;-&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Trusted state, OTPMK programmed&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l a0000000 01234567&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- modify any area monitored&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;by RTIC block A&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;=&amp;gt; md 0x1760000; echo; md 01e90000; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- take few cycles for RTIC&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;to update state!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;01760000: 00000000 14000206 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;01760010: 00000000 10100000 00000000 ff000000 &amp;nbsp;&amp;nbsp;&amp;nbsp;................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;01e90000: 00000000 00000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;01e90010: 00000000 00a30088 01000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ................ &amp;lt;- HPSR:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;SSM = Soft fail.OTPMK=0&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Recall for the SecMon_HP Status register (HPSR), 0x88 means both OPTMK and&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;ZMK, and 0x03 means that the security monitor is in a soft fail state.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;#####&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Oct 2021 08:44:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1046ARDB-RTIC-sample-code-steps-for-configuration/m-p/1362292#M9196</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2021-10-27T08:44:49Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046ARDB RTIC sample code/ steps for configuration</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1046ARDB-RTIC-sample-code-steps-for-configuration/m-p/1364821#M9225</link>
      <description>&lt;P&gt;Thanks for the response.&lt;BR /&gt;Section 12.1.2 of LS1046ASECRM.pdf talks about signed code hash value, what does this mean? Do we need to manually hash required memory region(Say 0x40110000 , Size: 0x10) , then sign it and then load into RTIC hash register or is there other way ? How does RTIC do the comparison?&lt;/P&gt;&lt;P&gt;Any suggestions would be appreciated.&lt;/P&gt;&lt;P&gt;Thanks in advance&lt;/P&gt;</description>
      <pubDate>Tue, 02 Nov 2021 05:12:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1046ARDB-RTIC-sample-code-steps-for-configuration/m-p/1364821#M9225</guid>
      <dc:creator>Faizanbaig</dc:creator>
      <dc:date>2021-11-02T05:12:57Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046ARDB RTIC sample code/ steps for configuration</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1046ARDB-RTIC-sample-code-steps-for-configuration/m-p/1366239#M9248</link>
      <description>&lt;P&gt;&lt;SPAN&gt;12.1.2 RTIC initialization and operation and section (or 12.1 Run-time&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;integrity checker (RTIC)) is just an overview what can one do with it.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;RTIC is part of Trust Architecture modules and registers level of details&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;are in the Trust Arcitecture User Guide section 8.4 RTIC initialization and&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;operation, which is a NDA document that customer needs to request access to.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;One cannot take full advantages of RTIC unless Secure Boot is enabled. That&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;is why the detail is documented in the QorIQ Trust Architecture User Guide.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;As described in Table 12-1. RTIC modes of operation, customer needs to&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;execute the "One-time hash mode" once, then the RTIC module will&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;periodically run the "Continuous hash mode" to compare the result with&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;"One-time hash mode". If it match, no violation. If the hash does not match,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;that means the memory block is modified and alert will send to the Secure&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Boot Monitor Satate machine to take appropriate actions. The "the signed&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;code hash value" is refers to the "One-time hash mode".&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Nov 2021 02:45:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1046ARDB-RTIC-sample-code-steps-for-configuration/m-p/1366239#M9248</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2021-11-04T02:45:50Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046ARDB RTIC sample code/ steps for configuration</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1046ARDB-RTIC-sample-code-steps-for-configuration/m-p/1367729#M9280</link>
      <description>&lt;P&gt;Thank You.&lt;/P&gt;&lt;P&gt;One more help needed Is there a way of checking stored hash value&amp;nbsp; after enabling&lt;SPAN&gt;&amp;nbsp;Secure boot ? I have configured&amp;nbsp; RTIC by following above steps&amp;nbsp; as mentioned&amp;nbsp; by you, I am not able to see any hash value in the hash registers. It shows all zeros.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Any help would be appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Nov 2021 11:48:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1046ARDB-RTIC-sample-code-steps-for-configuration/m-p/1367729#M9280</guid>
      <dc:creator>Faizanbaig</dc:creator>
      <dc:date>2021-11-08T11:48:45Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046ARDB RTIC sample code/ steps for configuration</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1046ARDB-RTIC-sample-code-steps-for-configuration/m-p/1368159#M9284</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Yes, customer can check the RTIC status AND the stored hash register.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;From the Trust Architecture User Guide.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;##### &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;8.4.1.2 RTIC Hash Registers&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Four sets of Hash Registers store the hash values against which the&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;continuous run-time&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;hashes are compared. These registers can be initially loaded by the RTIC&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;itself, or by&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;software.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;At boot time, the RTIC can be used to accelerate software-image&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;verification. The steps&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;below automatically loads the Hash Registers.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. Selecting the hash algorithm (SHA-256 or SHA-512)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. Defining the memory blocks via the RTIC Memory Block Address and Length&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;registers&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. Selecting the correct endianness&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. Writing to the RTIC Command Register to initiate a one time hash&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;If many systems will have the same memory blocks (addresses, lengths, and&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;binary&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;content), hashing can be done off-line. Trusted software can load the&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;previously&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;generated hash values into the Hash Registers directly. Note that the&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;authenticity of the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;software performing the loading (and the memory blocks hashed) must be first&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;validated&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;via secure boot digital signature checking. The value of the RTIC's hash&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;isn't to prove&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;authenticity, it is to detect change vs the binary values authenticated&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;during secure boot.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;8.4.1.3 RTIC command, control, and status registers&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The command and control registers are used to:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. Select the hashing algorithm (SHA-256 or SHA-512)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. Select endianess&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. "Throttle" the RTIC&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. user determines how aggressively the RTIC performs its scanning to avoid&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;consuming excessive memory bandwidth&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. Set the RTIC time out interval&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. The RTIC must complete all configured hash comparisons before timer&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;expiration, else a security violation is triggered&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. Specify which memory blocks to hash (one time and continuously)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. Enable/Disable/Clear interrupts&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. Initiate one time or continuous hashing (putting the RTIC into runtime&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;mode)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;A status register in the RTIC indicates the current state of the controller,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;which includes:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. Interrupt status&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. Processing status&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;. Error status&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;#####&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The more information and detail of the RTIC registers, please refers to the&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Trust Architecture User Guide.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Nov 2021 03:17:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1046ARDB-RTIC-sample-code-steps-for-configuration/m-p/1368159#M9284</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2021-11-09T03:17:53Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046ARDB RTIC sample code/ steps for configuration</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1046ARDB-RTIC-sample-code-steps-for-configuration/m-p/1369900#M9325</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l 0x176001c 0xff000000 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- # set RTIC Throttle (RTHR)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l 0x176002c 0xffff0000 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- # set RTIC Watchdog Timer (RWDOG)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l 0x1760104 000000a0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- # set RTIC monitor address (RMAA)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l 0x176010c 00010000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- # set RTIC monitor length (RMAL)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l 0x1760014 10010000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- Enable and unlock run time memory (RCTL)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l 0x176000c 02000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- Hash block A once (RMAL)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;=&amp;gt; mw.l 0x176000c 04000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- Enable Run Time Check (RMAL)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;=&amp;gt; md 0x1760000; md 0x1760000 &amp;lt;- display RTIC Status (RSTA)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I followed above steps and referred Trust 2.1 Document as well, But The status register and Hash registers are still showing a zero value.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Are there Any additional steps that need to be followed because the Trust2.1 document is not very descriptive .&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Nov 2021 11:19:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1046ARDB-RTIC-sample-code-steps-for-configuration/m-p/1369900#M9325</guid>
      <dc:creator>Faizanbaig</dc:creator>
      <dc:date>2021-11-11T11:19:35Z</dc:date>
    </item>
  </channel>
</rss>

