<?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: Does LSDK support LPM20?</title>
    <link>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020507#M5505</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/yipingwang"&gt;yipingwang&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the detailed explanation.&lt;/P&gt;&lt;P&gt;I see the point where TF-A / atf takes over in Linux source code.&amp;nbsp; I am assuming that TF-A / atf will set PWRMGTCSR[LPM20_REQ] bit after that, though I don't find the flow of TF-A / atf...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have checked the value of RCW[ASLEEP] is "0" on my FRWY board so I&amp;nbsp;believe ASLEEP should be asserted and the LED should be turned on in LPM20 mode.&lt;/P&gt;&lt;P&gt;If you have FRWY board, could you check if the LED is turned on after &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;echo mem &amp;gt; /sys/power/state&lt;/SPAN&gt; please?&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 06 Dec 2019 09:22:18 GMT</pubDate>
    <dc:creator>yutaka_ando</dc:creator>
    <dc:date>2019-12-06T09:22:18Z</dc:date>
    <item>
      <title>Does LSDK support LPM20?</title>
      <link>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020501#M5499</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I test the power management feature by following "11.1 Power management user manual" of LSDK User Guide 1909 on FRWY-LS1046A board.&amp;nbsp; But I don't see ASLEEP LED is turned on when I run the following command:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;echo 0 &amp;gt; /sys/class/rtc/rtc1/wakealarm &amp;amp;&amp;amp; echo +10 &amp;gt; /sys/class/rtc/rtc1/wakealarm &amp;amp;&amp;amp; echo mem &amp;gt; /sys/power/state&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I expect that LS1046A enters LPM20 state by &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;echo mem &amp;gt; /sys/power/state&lt;/SPAN&gt; .&amp;nbsp; Am I wrong?&amp;nbsp; If so, how to put LS1046A into LPM20?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Nov 2019 08:18:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020501#M5499</guid>
      <dc:creator>yutaka_ando</dc:creator>
      <dc:date>2019-11-21T08:18:00Z</dc:date>
    </item>
    <item>
      <title>Re: Does LSDK support LPM20?</title>
      <link>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020502#M5500</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;A _jive_internal="true" data-content-finding="Community" data-userid="210528" data-username="yutaka_ando" href="https://community.nxp.com/people/yutaka_ando"&gt;Yutaka Ando,&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please configure Linux Kernel configuration as the following&lt;/P&gt;&lt;P&gt;CONFIG_SUSPEND=y&lt;/P&gt;&lt;P&gt;CONFIG_RTC_DRV_FSL_FTM_ALARM=y&lt;/P&gt;&lt;P&gt;CONFIG_ARM_CPUIDLE=y&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;CONFIG_PCI is not set&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please refer to my attached log verified with Image built from LSDK1909.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Yiping&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Nov 2019 07:14:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020502#M5500</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2019-11-22T07:14:32Z</dc:date>
    </item>
    <item>
      <title>Re: Does LSDK support LPM20?</title>
      <link>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020503#M5501</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/yipingwang"&gt;yipingwang&lt;/A&gt;‌&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your comment.&lt;/P&gt;&lt;P&gt;I&amp;nbsp;modified the config file to have "CONFIG_PCI is not set" and test it again.&amp;nbsp;&amp;nbsp;I could get a similar log with you sent me previously, but ASLEEP LED on my FRWY-LS1046A board is still kept OFF during the low power mode.&lt;/P&gt;&lt;P&gt;In addition, I can't find a code that sets POWMGTCSR[LPM20_REQ] bit in the Linux source tree.&amp;nbsp; Could you check if there are any source codes that set LPM20_REQ bit?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Ando&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Nov 2019 08:20:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020503#M5501</guid>
      <dc:creator>yutaka_ando</dc:creator>
      <dc:date>2019-11-22T08:20:52Z</dc:date>
    </item>
    <item>
      <title>Re: Does LSDK support LPM20?</title>
      <link>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020504#M5502</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Ando,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please refer to the following in atf source code plat/nxp/soc-ls1046/aarch64/ls1046.S. You could run command "flex-builder -c atf -a arm64" in LSDK to get atf source code in packages/firmware/atf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* request LPM20 */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp; x0, #RCPM_POWMGTCSR_OFFSET&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp;&amp;nbsp; read_reg_rcpm&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; orr&amp;nbsp; x1, x0, #RCPM_POWMGTCSR_LPM20_REQ&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp; x0, #RCPM_POWMGTCSR_OFFSET&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp;&amp;nbsp; write_reg_rcpm&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Yiping&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Nov 2019 03:16:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020504#M5502</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2019-11-25T03:16:08Z</dc:date>
    </item>
    <item>
      <title>Re: Does LSDK support LPM20?</title>
      <link>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020505#M5503</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/yipingwang"&gt;yipingwang&lt;/A&gt;‌&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the comment above.&lt;/P&gt;&lt;P&gt;The&amp;nbsp;source code shown in your previous comment is a part of &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;_soc_sys_off&lt;/SPAN&gt; function.&amp;nbsp; I find the note of this function and it says:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;Note: this function is not intended to return, and the only allowable recovery is POR&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;So I am afraid that this function is not called by the Linux command:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; # echo mem &amp;gt; /sys/power/state&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In my understanding, ATF functions are called by &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;__arm_smccc_smc&lt;/SPAN&gt; function in arch/arm64/kernel/smccc-call.S of the kernel source code.&amp;nbsp; But I cannot find the function flow from &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;__arm_smccc_smc&lt;/SPAN&gt; to&amp;nbsp;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;_soc_sys_off.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif;"&gt;I would like to see the ASLEEP LED is turned on during LPM20 state so that I can measure the time&amp;nbsp;from setting POWMGTCSR[LPM20_REQ] to entering LPM20 state.&amp;nbsp; If there is any other way to measure it, that should be helpful.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Dec 2019 09:48:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020505#M5503</guid>
      <dc:creator>yutaka_ando</dc:creator>
      <dc:date>2019-12-05T09:48:03Z</dc:date>
    </item>
    <item>
      <title>Re: Does LSDK support LPM20?</title>
      <link>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020506#M5504</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;STRONG class=""&gt;&lt;SPAN class=""&gt;Yutaka Ando&lt;/SPAN&gt;&lt;/STRONG&gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kernel calling stack&lt;/P&gt;&lt;P&gt;user space :&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;echo mem &amp;gt; /sys/power/state&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;Kernel space&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;kernel/power/main.c&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;state_store();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: yellow;"&gt;pm_suspend&lt;/SPAN&gt;&lt;SPAN&gt;(state);&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;kernel/power/suspend.c:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: yellow;"&gt;pm_suspend&lt;/SPAN&gt;&lt;SPAN&gt;(){&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; enter_state(state);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; suspend_devices_and_enter(state);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; suspend_enter()&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; suspend_ops-&amp;gt;&lt;SPAN style="background: lime;"&gt;enter&lt;/SPAN&gt;(state); ();---------------------------Here system begin to suspend&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; syscore_resume();-------------------------------------------Here system begin to resume&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; system_state = SYSTEM_RUNNING;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enable_nonboot_cpus();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;drivers/firmware/psci.c: &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;struct platform_suspend_ops&amp;nbsp; psci_suspend_ops = {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;SPAN style="background: lime;"&gt;enter&lt;/SPAN&gt; = psci_system_suspend_enter,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;psci_system_suspend_enter() {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu_suspend(0&lt;STRONG&gt;, psci_system_suspend&lt;/STRONG&gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;psci_system_suspend&lt;/STRONG&gt;()&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;psci_cpu_suspend()&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fn = psci_fuanction_id[PSCI_FN_CPU_SUSPEND]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;invoke_psci_fn(… vir_to_phys(&lt;SPAN style="background: aqua;"&gt;cpu_resume&lt;/SPAN&gt;),…)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __invoke_psci_fn_smc()&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;smc---------------------------------------------Here TF-A/atf will take over, and will jump back to &lt;SPAN style="background: aqua;"&gt;cpu_resume&lt;/SPAN&gt;() when system wake up.&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;arch/arm64/kernel/sleep.S:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ENTRY(&lt;SPAN style="background: aqua;"&gt;cpu_resume&lt;/SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;_&lt;EM&gt;cpu&lt;/EM&gt;_resume&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu_do_resume&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;arch/arm64/mm/proc.S:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ENTRY(cpu_do_resume)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; …&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; ret&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ASLEEP:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Please refer to LS1046 Reference Manual, RCW of pin mux.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/95830iB8A47DC1FBB03C74/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;LPM20 entry related programming&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/95832iCB35DC4ED3FD6255/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Yiping&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Dec 2019 07:18:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020506#M5504</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2019-12-06T07:18:42Z</dc:date>
    </item>
    <item>
      <title>Re: Does LSDK support LPM20?</title>
      <link>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020507#M5505</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/yipingwang"&gt;yipingwang&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the detailed explanation.&lt;/P&gt;&lt;P&gt;I see the point where TF-A / atf takes over in Linux source code.&amp;nbsp; I am assuming that TF-A / atf will set PWRMGTCSR[LPM20_REQ] bit after that, though I don't find the flow of TF-A / atf...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have checked the value of RCW[ASLEEP] is "0" on my FRWY board so I&amp;nbsp;believe ASLEEP should be asserted and the LED should be turned on in LPM20 mode.&lt;/P&gt;&lt;P&gt;If you have FRWY board, could you check if the LED is turned on after &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;echo mem &amp;gt; /sys/power/state&lt;/SPAN&gt; please?&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Dec 2019 09:22:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020507#M5505</guid>
      <dc:creator>yutaka_ando</dc:creator>
      <dc:date>2019-12-06T09:22:18Z</dc:date>
    </item>
    <item>
      <title>Re: Does LSDK support LPM20?</title>
      <link>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020508#M5506</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/yipingwang"&gt;yipingwang&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To make sure that the function &lt;SPAN style="font-family: courier new, courier, monospace;"&gt;_soc_sys_off&lt;/SPAN&gt; in plat/nxp/soc-ls1046/aarch64/ls1046.S is called and LPM20_REQ bit is set, I added the following code before the line of &lt;SPAN style="font-family: courier new, courier, monospace;"&gt;/* request LPM20 */&lt;SPAN style="font-family: arial, helvetica, sans-serif;"&gt; to toggle GPIO3[17] pin which is connected to the GPIO expansion header (J67) of LS1046A-FRWY board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; "&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* toggle GPIO3[17] */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp; x0, #GPDIR_REG_OFFSET&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp;&amp;nbsp; read_reg_gpio3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; orr&amp;nbsp; x1, x0, 0x00004000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp; x0, #GPDIR_REG_OFFSET&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp;&amp;nbsp; write_reg_gpio3&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov x0, #GPDAT_REG_OFFSET&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp; read_reg_gpio3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; eor x1, x0, 0x00004000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov x0, #GPDAT_REG_OFFSET&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp; write_reg_gpio3&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* request LPM20 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp; x0, #RCPM_POWMGTCSR_OFFSET&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp;&amp;nbsp; read_reg_rcpm&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; orr&amp;nbsp; x1, x0, #RCPM_POWMGTCSR_LPM20_REQ&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp; x0, #RCPM_POWMGTCSR_OFFSET&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp;&amp;nbsp; write_reg_rcpm&lt;/SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; "&gt;However, I don't observe any toggling on GPIO3[17] pin when I execute "&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;# echo mem &amp;gt; /sys/power/state&lt;/SPAN&gt;" on the command prompt.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; "&gt;Could you please review the attached source code and check if this code will toggle GPIO3[17] pin?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; "&gt;I see it is toggled by using /sys/class/gpio in Linux, so the pin and my oscilloscope are working.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; "&gt;Best regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; "&gt;Ando&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Dec 2019 07:16:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020508#M5506</guid>
      <dc:creator>yutaka_ando</dc:creator>
      <dc:date>2019-12-11T07:16:33Z</dc:date>
    </item>
    <item>
      <title>Re: Does LSDK support LPM20?</title>
      <link>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020509#M5507</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please check whether the following section has been executed.&lt;/P&gt;&lt;P&gt;_soc_sys_pwrdn_wfi:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp; x4, x30&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* request LPM20 */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp; x0, #RCPM_POWMGTCSR_OFFSET&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp;&amp;nbsp; read_reg_rcpm&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; orr&amp;nbsp; x1, x0, #RCPM_POWMGTCSR_LPM20_REQ&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp; x0, #RCPM_POWMGTCSR_OFFSET&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp;&amp;nbsp; write_reg_rcpm&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dsb&amp;nbsp; sy&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; isb&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wfi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp; x30, x4&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 14 Dec 2019 08:48:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020509#M5507</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2019-12-14T08:48:13Z</dc:date>
    </item>
    <item>
      <title>Re: Does LSDK support LPM20?</title>
      <link>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020510#M5508</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for pointing out the correct function.&amp;nbsp; I confirm that &lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;_soc_sys_pwrdn_wfi&lt;/SPAN&gt; is called after &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;# echo mem &amp;gt; /sys/power/state&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif;"&gt;However, I still don't see ASLEEP assertion on my board even though the function &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;_soc_sys_pwrdn_wfi&lt;/SPAN&gt;&amp;nbsp;is executed.&amp;nbsp; I am wandering if LS1046A does not go to LPM20 state by unknown reason though LPM20_REQ bit is set, or if LS1046A does not assert ASLEEP signal even when it goes to LPM20 state.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif;"&gt;I will ask it to our application engineer.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif;"&gt;Thank you very much for your support.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Dec 2019 05:19:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1020510#M5508</guid>
      <dc:creator>yutaka_ando</dc:creator>
      <dc:date>2019-12-16T05:19:58Z</dc:date>
    </item>
    <item>
      <title>Re: Does LSDK support LPM20?</title>
      <link>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1337248#M8868</link>
      <description>&lt;P&gt;SEC and QSPI need to be disabled before entering LPM20 state.&amp;nbsp; The attached patches are for changes dtsi and ATF.&lt;/P&gt;</description>
      <pubDate>Thu, 09 Sep 2021 00:47:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Does-LSDK-support-LPM20/m-p/1337248#M8868</guid>
      <dc:creator>yutaka_ando</dc:creator>
      <dc:date>2021-09-09T00:47:42Z</dc:date>
    </item>
  </channel>
</rss>

