<?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>Layerscape中的主题 Re: Setting GPIO pin as OUTPUT during power-on-reset</title>
    <link>https://community.nxp.com/t5/Layerscape/Setting-GPIO-pin-as-OUTPUT-during-power-on-reset/m-p/2319060#M16484</link>
    <description>&lt;P&gt;Hi Bio_Ticfsl,&lt;/P&gt;&lt;P&gt;Appreciate your detailed explanations.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I had programed BANK-1 with a working image, and it is booted from BANK-1.&lt;/P&gt;&lt;P&gt;First I want to reprogram bank-0. When I booted from BANK-1, ( using Jumper to select BANK-1), but I can only do&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; sf probe 0:0, ( I assume this is the currently running bank, i.e. original bank-1)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;sf probe 0:1 fails. So I am not sure if the original bank-0 is 'damaged'? or I don't know a way to reprogram the original bank-0.&lt;/P&gt;&lt;P&gt;Thank you for your support!&lt;/P&gt;&lt;P&gt;dz_tiger&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 17 Feb 2026 14:20:41 GMT</pubDate>
    <dc:creator>dz_tiger</dc:creator>
    <dc:date>2026-02-17T14:20:41Z</dc:date>
    <item>
      <title>Setting GPIO pin as OUTPUT during power-on-reset</title>
      <link>https://community.nxp.com/t5/Layerscape/Setting-GPIO-pin-as-OUTPUT-during-power-on-reset/m-p/2318079#M16472</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I added the following code into RCW,&amp;nbsp;&lt;/P&gt;&lt;P&gt;.pbi&lt;/P&gt;&lt;P&gt;// Write to CCSR (Configuration and Control Space)&lt;BR /&gt;// Syntax: &amp;lt;address&amp;gt; &amp;lt;value&amp;gt;&lt;/P&gt;&lt;P&gt;write 0x02310000, 0x1D0000 // Set GPIO GPIO2_15,13,12,11&lt;/P&gt;&lt;P&gt;// Wait command to allow hardware to settle&lt;BR /&gt;wait 1000&lt;/P&gt;&lt;P&gt;// Final command to flush PBI&lt;BR /&gt;flush&lt;/P&gt;&lt;P&gt;.end&lt;/P&gt;&lt;P&gt;Can someone review my changes?&amp;nbsp;&lt;/P&gt;&lt;P&gt;After I flashed firmware, it fails to reset the board. On board RED led keeps flashing. I had to re-program the board. But BANK-0 fails, only BANK-1 still programmable.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Not sure, if the above code is causing the problem and damaging bank-0?&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;dz_tiger&lt;/P&gt;</description>
      <pubDate>Fri, 13 Feb 2026 21:57:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Setting-GPIO-pin-as-OUTPUT-during-power-on-reset/m-p/2318079#M16472</guid>
      <dc:creator>dz_tiger</dc:creator>
      <dc:date>2026-02-13T21:57:04Z</dc:date>
    </item>
    <item>
      <title>Re: Setting GPIO pin as OUTPUT during power-on-reset</title>
      <link>https://community.nxp.com/t5/Layerscape/Setting-GPIO-pin-as-OUTPUT-during-power-on-reset/m-p/2318607#M16480</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;DIV class="Y3BBE" data-sfc-cp="" data-hveid="CAEQAA" data-processed="true"&gt;
&lt;DIV style="display: contents;" data-subtree="aimfl,mfl" data-processed="true"&gt;The code you added to the RCW&amp;nbsp;&lt;/DIV&gt;
PBI might be the direct cause of your board's failure to reset and the subsequent issues with Bank 0 programming. Modifying crucial early boot configurations like GPIO settings via PBI commands carries significant risk.&lt;SPAN class="uJ19be notranslate" data-wiz-uids="SskA1b_c,SskA1b_d" data-processed="true"&gt;&lt;SPAN class="vKEkVd" data-animation-atomic="" data-wiz-attrbind="class=SskA1b_b/TKHnVd" data-processed="true"&gt;&lt;SPAN aria-hidden="true" data-processed="true"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="Fsg96" data-sfc-cp="" data-processed="true"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="otQkpb" role="heading" aria-level="3" data-animation-nesting="" data-sfc-cp="" data-processed="true"&gt;Potential Issues with the PBI Code&lt;/DIV&gt;
&lt;UL class="KsbFXc U6u95" data-processed="true"&gt;
&lt;LI data-hveid="CAMQAA" data-processed="true"&gt;&lt;SPAN class="T286Pc" data-sfc-cp="" data-processed="true"&gt;Incorrect Register Access: The address &lt;CODE class="o8j0Mc" dir="ltr" data-processed="true"&gt;0x02310000&lt;/CODE&gt; likely points to a critical configuration and control status register (CCSR). Writing an incorrect value to reserved bits or a sensitive control register (e.g., related to the boot device, clocking, or reset logic) during the early boot phase can cause the processor to enter an unrecoverable state or a boot loop immediately after the PBI command is processed.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-hveid="CAMQAQ" data-processed="true"&gt;&lt;SPAN class="T286Pc" data-sfc-cp="" data-processed="true"&gt;GPIO Misconfiguration: The comment &lt;CODE class="o8j0Mc" dir="ltr" data-processed="true"&gt;// Set GPIO GPIO2_15,13,12,11&lt;/CODE&gt; suggests you are trying to configure specific GPIO pins. If these pins are multiplexed with essential boot-strap functions (like those used for the flash memory interface or JTAG/debug interface) and are incorrectly set as outputs with a specific value, the board's ability to communicate with the boot flash (Bank 0) or the programming tools can be compromised.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-hveid="CAMQAg" data-processed="true"&gt;&lt;SPAN class="T286Pc" data-sfc-cp="" data-processed="true"&gt;Timing Issues: The &lt;CODE class="o8j0Mc" dir="ltr" data-processed="true"&gt;wait 1000&lt;/CODE&gt; command adds a delay, but if the preceding &lt;CODE class="o8j0Mc" dir="ltr" data-processed="true"&gt;write&lt;/CODE&gt; command has already caused a critical error or a boot-loop, the processor may never reach the &lt;CODE class="o8j0Mc" dir="ltr" data-processed="true"&gt;wait&lt;/CODE&gt; or &lt;CODE class="o8j0Mc" dir="ltr" data-processed="true"&gt;flush&lt;/CODE&gt; commands.&lt;/SPAN&gt;&lt;SPAN class="uJ19be notranslate" data-wiz-uids="SskA1b_12,SskA1b_13" data-processed="true"&gt;&lt;SPAN class="vKEkVd" data-animation-atomic="" data-wiz-attrbind="class=SskA1b_11/TKHnVd" data-processed="true"&gt;&lt;SPAN aria-hidden="true" data-processed="true"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;DIV class="Fsg96" data-sfc-cp="" data-processed="true"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="otQkpb" role="heading" aria-level="3" data-animation-nesting="" data-sfc-cp="" data-processed="true"&gt;Why Bank 0 Might Be Affected&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-sfc-cp="" data-hveid="CAUQAA" data-processed="true"&gt;The PBL (Pre-Boot Loader), which processes the RCW and PBI commands, runs early in the boot sequence and typically loads from the primary boot device, likely Bank 0 of your flash memory. A faulty PBI command stored in Bank 0 can prevent the successful execution of the boot process from that bank, leading to the symptoms you described (red LED flashing, failure to reset).&lt;SPAN class="uJ19be notranslate" data-wiz-uids="SskA1b_1e,SskA1b_1f" data-processed="true"&gt;&lt;SPAN class="vKEkVd" data-animation-atomic="" data-wiz-attrbind="class=SskA1b_1d/TKHnVd" data-processed="true"&gt;&lt;SPAN aria-hidden="true" data-processed="true"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-sfc-cp="" data-hveid="CAYQAA" data-processed="true"&gt;Bank 1 might still be programmable because it likely contains either the original, working firmware or is not part of the primary boot sequence that is failing.&lt;SPAN class="uJ19be notranslate" data-wiz-uids="SskA1b_1k,SskA1b_1l" data-processed="true"&gt;&lt;SPAN class="vKEkVd" data-animation-atomic="" data-wiz-attrbind="class=SskA1b_1j/TKHnVd" data-processed="true"&gt;&lt;SPAN aria-hidden="true" data-processed="true"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="Fsg96" data-sfc-cp="" data-processed="true"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="otQkpb" role="heading" aria-level="3" data-animation-nesting="" data-sfc-cp="" data-processed="true"&gt;Recommended Actions and Review&lt;/DIV&gt;
&lt;OL class="IaGLZe VimKh" data-processed="true"&gt;
&lt;LI data-hveid="CAgQAA" data-processed="true"&gt;&lt;SPAN class="T286Pc" data-sfc-cp="" data-processed="true"&gt;Remove the Suspect PBI Command: The immediate next step is to revert the changes. Re-program Bank 1 with your original, working firmware and ensure the board boots correctly from Bank 1.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-hveid="CAgQAQ" data-processed="true"&gt;&lt;SPAN class="T286Pc" data-sfc-cp="" data-processed="true"&gt;Debug Incrementally: To identify the exact command causing the issue, add PBI commands one by one to a clean RCW file and test the board's boot process after each addition. This will help pinpoint which specific command is the culprit.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-hveid="CAgQAg" data-processed="true"&gt;&lt;SPAN class="T286Pc" data-sfc-cp="" data-processed="true"&gt;Consult Documentation: Refer to the official NXP Community or the specific SoC's Reference Manual to verify the correct addresses and values for configuring the GPIO registers and ensuring you are not using reserved bits.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-hveid="CAgQAw" data-processed="true"&gt;&lt;SPAN class="T286Pc" data-sfc-cp="" data-processed="true"&gt;Use Official Tools: Utilize the QCVS PBL tool if possible, as it helps prevent violating documented PBL configuration constraints and errata.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-hveid="CAgQBQ" data-processed="true"&gt;&lt;SPAN class="T286Pc" data-sfc-cp="" data-processed="true"&gt;Seek Expert Help: Post your detailed issue and board type on the NXP Community forum to get assistance from application engineers who can provide specific guidance for your hardware.&lt;/SPAN&gt;&lt;SPAN class="uJ19be notranslate" data-wiz-uids="SskA1b_2b,SskA1b_2c" data-processed="true"&gt;&lt;SPAN class="vKEkVd" data-animation-atomic="" data-wiz-attrbind="class=SskA1b_2a/TKHnVd" data-processed="true"&gt;&lt;SPAN aria-hidden="true" data-processed="true"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;DIV class="Y3BBE" data-sfc-cp="" data-hveid="CAkQAA" data-processed="true"&gt;Conclusion: Your PBI changes are highly likely the cause of the problem. Revert the changes immediately and use the iterative debugging approach to safely incorporate the desired GPIO settings&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-sfc-cp="" data-hveid="CAkQAA" data-processed="true"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-sfc-cp="" data-hveid="CAkQAA" data-processed="true"&gt;Regards&lt;/DIV&gt;</description>
      <pubDate>Mon, 16 Feb 2026 14:13:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Setting-GPIO-pin-as-OUTPUT-during-power-on-reset/m-p/2318607#M16480</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2026-02-16T14:13:04Z</dc:date>
    </item>
    <item>
      <title>Re: Setting GPIO pin as OUTPUT during power-on-reset</title>
      <link>https://community.nxp.com/t5/Layerscape/Setting-GPIO-pin-as-OUTPUT-during-power-on-reset/m-p/2319060#M16484</link>
      <description>&lt;P&gt;Hi Bio_Ticfsl,&lt;/P&gt;&lt;P&gt;Appreciate your detailed explanations.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I had programed BANK-1 with a working image, and it is booted from BANK-1.&lt;/P&gt;&lt;P&gt;First I want to reprogram bank-0. When I booted from BANK-1, ( using Jumper to select BANK-1), but I can only do&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; sf probe 0:0, ( I assume this is the currently running bank, i.e. original bank-1)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;sf probe 0:1 fails. So I am not sure if the original bank-0 is 'damaged'? or I don't know a way to reprogram the original bank-0.&lt;/P&gt;&lt;P&gt;Thank you for your support!&lt;/P&gt;&lt;P&gt;dz_tiger&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Feb 2026 14:20:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Setting-GPIO-pin-as-OUTPUT-during-power-on-reset/m-p/2319060#M16484</guid>
      <dc:creator>dz_tiger</dc:creator>
      <dc:date>2026-02-17T14:20:41Z</dc:date>
    </item>
    <item>
      <title>Re: Setting GPIO pin as OUTPUT during power-on-reset</title>
      <link>https://community.nxp.com/t5/Layerscape/Setting-GPIO-pin-as-OUTPUT-during-power-on-reset/m-p/2319486#M16489</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;DIV class="Y3BBE" data-sfc-cp="" data-hveid="CAEIAxAA" data-complete="true" data-processed="true"&gt;To reprogram Bank-0 while booted from Bank-1 on an NXP S32G device, you typically need to access the inactive chip select or ensure the U-Boot device tree recognizes multiple flash devices. The failure of &lt;CODE class="o8j0Mc" dir="ltr" data-complete="true" data-sae=""&gt;sf probe 0:1&lt;/CODE&gt; often occurs because the SPI controller is configured to only recognize the primary flash chip or because of a hardware/software configuration mismatch.&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-sfc-cp="" data-hveid="CAEIAxAA" data-complete="true" data-processed="true"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-sfc-cp="" data-hveid="CAEIAxAA" data-complete="true" data-processed="true"&gt;Regards&lt;/DIV&gt;</description>
      <pubDate>Wed, 18 Feb 2026 14:15:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Setting-GPIO-pin-as-OUTPUT-during-power-on-reset/m-p/2319486#M16489</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2026-02-18T14:15:11Z</dc:date>
    </item>
    <item>
      <title>Re: Setting GPIO pin as OUTPUT during power-on-reset</title>
      <link>https://community.nxp.com/t5/Layerscape/Setting-GPIO-pin-as-OUTPUT-during-power-on-reset/m-p/2319672#M16491</link>
      <description>I have resolved sf probe 0:1 issue.&lt;BR /&gt;I programmed xspi_boot.img into BANK-1, but qixis_reset altbank unknown u-boot command. I guess it is not included in the uboot built.&lt;BR /&gt;Is there any way to set reset control registers to boot from bank-1 ( cannot find the register from ref man). If bank-1 fails to boot, will it automatically fall back to BANK-0.</description>
      <pubDate>Wed, 18 Feb 2026 17:56:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Setting-GPIO-pin-as-OUTPUT-during-power-on-reset/m-p/2319672#M16491</guid>
      <dc:creator>dz_tiger</dc:creator>
      <dc:date>2026-02-18T17:56:29Z</dc:date>
    </item>
    <item>
      <title>Re: Setting GPIO pin as OUTPUT during power-on-reset</title>
      <link>https://community.nxp.com/t5/Layerscape/Setting-GPIO-pin-as-OUTPUT-during-power-on-reset/m-p/2319795#M16492</link>
      <description>Also, after I added PBI code, BANK-0 fails to reset ( red led keeps flashing). But I cannot restore it to factory default rcw with CodeWarrior Programmer. I am wondering what's the difference between a bad rcw bank vs. a new empty bank from Code Warrior Programmer point of view?&lt;BR /&gt;Thank you,&lt;BR /&gt;</description>
      <pubDate>Wed, 18 Feb 2026 21:16:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Setting-GPIO-pin-as-OUTPUT-during-power-on-reset/m-p/2319795#M16492</guid>
      <dc:creator>dz_tiger</dc:creator>
      <dc:date>2026-02-18T21:16:47Z</dc:date>
    </item>
  </channel>
</rss>

