<?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>i.MX ProcessorsのトピックRe: Kernel oops while power off, custom mx28 board.</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Kernel-oops-while-power-off-custom-mx28-board/m-p/514070#M83793</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Andrzej&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in general it should work, however had this register IO mapped smth like&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;#define MX6Q_IO_ADDRESS(x)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;IOMEM(MX6Q_IO_P2V(x)) &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;igor&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 04 Jun 2016 01:13:54 GMT</pubDate>
    <dc:creator>igorpadykov</dc:creator>
    <dc:date>2016-06-04T01:13:54Z</dc:date>
    <item>
      <title>Kernel oops while power off, custom mx28 board.</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Kernel-oops-while-power-off-custom-mx28-board/m-p/514069#M83792</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Community,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to shut down i.MX28 custom board using kernel 3.18.22.&lt;/P&gt;&lt;P&gt;Code added to arch/arm/mach-mxs/pm.c as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define REGS_POWER_BASE 0x80044000&lt;/P&gt;&lt;P&gt;#define POWER_RESET_UNLOCK_KEY (0x3e77 &amp;lt;&amp;lt; 16)&lt;/P&gt;&lt;P&gt;#define MX28_HW_POWER_RESET 0x100&lt;/P&gt;&lt;P&gt;#define MX28_HW_POWER_RESET_SET 0x104&lt;/P&gt;&lt;P&gt;(...)&lt;/P&gt;&lt;P&gt;static void customMX28_pm_power_off(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(POWER_RESET_UNLOCK_KEY,&amp;nbsp; REGS_POWER_BASE + MX28_HW_POWER_RESET_SET );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(POWER_RESET_UNLOCK_KEY | POWER_RESET_PWD_OFF, REGS_POWER_BASE + MX28_HW_POWER_RESET_SET );&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(...)&lt;/P&gt;&lt;P&gt;void __init mxs_pm_init(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pm_power_off = customMX28_pm_power_off;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; suspend_set_ops(&amp;amp;mxs_suspend_ops);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I tried to poweroff device, kernel Oops message appears:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unable to handle kernel paging request at virtual address 80044104&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What am I doing wrong?&lt;BR /&gt;Regards&lt;/P&gt;&lt;P&gt;Andrzej&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Jun 2016 12:41:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Kernel-oops-while-power-off-custom-mx28-board/m-p/514069#M83792</guid>
      <dc:creator>Andrzej</dc:creator>
      <dc:date>2016-06-03T12:41:25Z</dc:date>
    </item>
    <item>
      <title>Re: Kernel oops while power off, custom mx28 board.</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Kernel-oops-while-power-off-custom-mx28-board/m-p/514070#M83793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Andrzej&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in general it should work, however had this register IO mapped smth like&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;#define MX6Q_IO_ADDRESS(x)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;IOMEM(MX6Q_IO_P2V(x)) &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;igor&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 04 Jun 2016 01:13:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Kernel-oops-while-power-off-custom-mx28-board/m-p/514070#M83793</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2016-06-04T01:13:54Z</dc:date>
    </item>
    <item>
      <title>Re: Kernel oops while power off, custom mx28 board.</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Kernel-oops-while-power-off-custom-mx28-board/m-p/514071#M83794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Igor, &lt;BR /&gt;thanks for your hint. I've modified source code as below&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;#define IMX_IO_P2V(x)&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;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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&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;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;(((x) &amp;amp; 0x80000000) &amp;gt;&amp;gt; 7) |&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; &lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&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;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;(0xf4000000 +&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;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; &lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&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;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;(((x) &amp;amp; 0x50000000) &amp;gt;&amp;gt; 6) +&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; &lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&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;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;(((x) &amp;amp; 0x0b000000) &amp;gt;&amp;gt; 4) +&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; &lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&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;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;(((x) &amp;amp; 0x000fffff))))&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define IMX_IO_ADDRESS(x)&amp;nbsp; IOMEM(IMX_IO_P2V(x))&lt;/P&gt;&lt;P&gt;#define REGS_POWER_BASE_PADDR 0x80044000&lt;/P&gt;&lt;P&gt;#define REGS_POWER_BASE_VADDR&amp;nbsp; IMX_IO_ADDRESS(REGS_POWER_BASE_PADDR))&lt;/P&gt;&lt;P&gt;#define POWER_RESET_SET (REGS_POWER_BASE_VADDR + MX28_HW_POWER_RESET_SET)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and then I call &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;writel(POWER_RESET_UNLOCK_KEY, POWER_RESET_SET );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but unfortunately I've got very similar kernel oops as at begin, this time pointing to proper virtual address:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unable to handle kernel paging request at virtual address f5044104&lt;/P&gt;&lt;P&gt;pgd = c7a38000&lt;/P&gt;&lt;P&gt;[f5044104] *pgd=00000000&lt;/P&gt;&lt;P&gt;Internal error: Oops - BUG: 805 [#1] PREEMPT ARM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jun 2016 13:59:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Kernel-oops-while-power-off-custom-mx28-board/m-p/514071#M83794</guid>
      <dc:creator>Andrzej</dc:creator>
      <dc:date>2016-06-06T13:59:47Z</dc:date>
    </item>
    <item>
      <title>Re: Kernel oops while power off, custom mx28 board.</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Kernel-oops-while-power-off-custom-mx28-board/m-p/514072#M83795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Andrzej,&lt;/P&gt;&lt;P&gt;better use the devicetree to get the virtual address:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="pl-c1"&gt;np = of_find_compatible_node&lt;/SPAN&gt;(&lt;SPAN class="pl-c1"&gt;NULL&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;NULL&lt;/SPAN&gt;, "&lt;SPAN class="pl-s"&gt;fsl,imx28-power&lt;/SPAN&gt;");&lt;/P&gt;&lt;P&gt;&lt;SPAN class="pl-c1"&gt;of_address_to_resource&lt;/SPAN&gt;(np, &lt;SPAN class="pl-c1"&gt;0&lt;/SPAN&gt;, &amp;amp;res);&lt;/P&gt;&lt;P&gt;paddr = &lt;SPAN class="pl-c1"&gt;ioremap&lt;/SPAN&gt;(res.&lt;SPAN class="pl-smi"&gt;start&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;resource_size&lt;/SPAN&gt;(&amp;amp;res));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards Stefan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Jun 2016 07:42:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Kernel-oops-while-power-off-custom-mx28-board/m-p/514072#M83795</guid>
      <dc:creator>lategoodbye</dc:creator>
      <dc:date>2016-06-11T07:42:48Z</dc:date>
    </item>
  </channel>
</rss>

