<?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のトピックFlexcan doesn't execute soft reset</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Flexcan-doesn-t-execute-soft-reset/m-p/454727#M70819</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I use the xenomai realtime driver for flexcan but function flexcan_chip_start never worked successfull because the&lt;/P&gt;&lt;P&gt;softreset never finished.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* enable module */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; flexcan_chip_enable(priv);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_mcr = flexcan_read(&amp;amp;regs-&amp;gt;mcr);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt;&amp;nbsp;&amp;nbsp; Logmessage: rtcan0: regs-&amp;gt;mcr d0c00000 reg_mcr 0x7980000f&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* soft reset */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; flexcan_write(FLEXCAN_MCR_SOFTRST, &amp;amp;regs-&amp;gt;mcr);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; udelay(10);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_mcr = flexcan_read(&amp;amp;regs-&amp;gt;mcr);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (reg_mcr &amp;amp; FLEXCAN_MCR_SOFTRST) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rtcandev_err(dev,&lt;/P&gt;&lt;P&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; "Failed to softreset can module (mcr=0x%08x)\n",&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&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; reg_mcr);&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;gt;&amp;nbsp;&amp;nbsp; Logmessage: rtcan0: Failed to softreset can module (mcr=0x5b80000f)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; err = -ENODEV;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; goto out;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It looks like the reset was performed because all values are on init state except the softreset bit stays 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On Page 1430 of Reference Manual Rev. 1, 04/2013 I found the following text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"When this bit is asserted, FlexCAN resets its internal state machines and some of the memory mapped&lt;/P&gt;&lt;P&gt;registers. The following registers are reset: MCR (except the MDIS bit)&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;The SOFT_RST bit remains asserted while reset is pending, and is&lt;/P&gt;&lt;P&gt;automatically negated when reset completes.&lt;/P&gt;&lt;P&gt;.....&lt;/P&gt;&lt;P&gt;Soft reset cannot be applied while clocks are shut down in any of the low power modes. The module&lt;/P&gt;&lt;P&gt;should be first removed from low power mode, and then soft reset can be applied."&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So the bit should switch to 0 when the reset finished, but not if no clock is assigned.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there a way to check if a clock is assigned and running and I am not in any powerdown mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wolfgang&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 29 Apr 2015 15:48:07 GMT</pubDate>
    <dc:creator>wolnet</dc:creator>
    <dc:date>2015-04-29T15:48:07Z</dc:date>
    <item>
      <title>Flexcan doesn't execute soft reset</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Flexcan-doesn-t-execute-soft-reset/m-p/454727#M70819</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I use the xenomai realtime driver for flexcan but function flexcan_chip_start never worked successfull because the&lt;/P&gt;&lt;P&gt;softreset never finished.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* enable module */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; flexcan_chip_enable(priv);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_mcr = flexcan_read(&amp;amp;regs-&amp;gt;mcr);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt;&amp;nbsp;&amp;nbsp; Logmessage: rtcan0: regs-&amp;gt;mcr d0c00000 reg_mcr 0x7980000f&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* soft reset */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; flexcan_write(FLEXCAN_MCR_SOFTRST, &amp;amp;regs-&amp;gt;mcr);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; udelay(10);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_mcr = flexcan_read(&amp;amp;regs-&amp;gt;mcr);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (reg_mcr &amp;amp; FLEXCAN_MCR_SOFTRST) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rtcandev_err(dev,&lt;/P&gt;&lt;P&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; "Failed to softreset can module (mcr=0x%08x)\n",&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&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; reg_mcr);&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;gt;&amp;nbsp;&amp;nbsp; Logmessage: rtcan0: Failed to softreset can module (mcr=0x5b80000f)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; err = -ENODEV;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; goto out;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It looks like the reset was performed because all values are on init state except the softreset bit stays 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On Page 1430 of Reference Manual Rev. 1, 04/2013 I found the following text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"When this bit is asserted, FlexCAN resets its internal state machines and some of the memory mapped&lt;/P&gt;&lt;P&gt;registers. The following registers are reset: MCR (except the MDIS bit)&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;The SOFT_RST bit remains asserted while reset is pending, and is&lt;/P&gt;&lt;P&gt;automatically negated when reset completes.&lt;/P&gt;&lt;P&gt;.....&lt;/P&gt;&lt;P&gt;Soft reset cannot be applied while clocks are shut down in any of the low power modes. The module&lt;/P&gt;&lt;P&gt;should be first removed from low power mode, and then soft reset can be applied."&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So the bit should switch to 0 when the reset finished, but not if no clock is assigned.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there a way to check if a clock is assigned and running and I am not in any powerdown mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wolfgang&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Apr 2015 15:48:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Flexcan-doesn-t-execute-soft-reset/m-p/454727#M70819</guid>
      <dc:creator>wolnet</dc:creator>
      <dc:date>2015-04-29T15:48:07Z</dc:date>
    </item>
    <item>
      <title>Re: Flexcan doesn't execute soft reset</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Flexcan-doesn-t-execute-soft-reset/m-p/454728#M70820</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Which device are you using?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/Alejandro&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Apr 2015 19:31:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Flexcan-doesn-t-execute-soft-reset/m-p/454728#M70820</guid>
      <dc:creator>alejandrolozan1</dc:creator>
      <dc:date>2015-04-30T19:31:44Z</dc:date>
    </item>
    <item>
      <title>Re: Flexcan doesn't execute soft reset</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Flexcan-doesn-t-execute-soft-reset/m-p/454729#M70821</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use an imx6 dual lite and I try to use this driver on FLEXCAN 1 and FLEXCAN 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here my devicetree&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#include "imx6dl.dtsi"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*&lt;/P&gt;&lt;P&gt; * PAD settings&lt;/P&gt;&lt;P&gt; */&lt;/P&gt;&lt;P&gt;&amp;amp;iomuxc {&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;flexcan1 {&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; pinctrl_flexcan1_sigmatek: flexcan1grp-sigmatek {&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;fsl,pins = &amp;lt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; MX6QDL_PAD_SD3_CLK__FLEXCAN1_RX NO_PAD_CTRL&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; MX6QDL_PAD_SD3_CMD__FLEXCAN1_TX NO_PAD_CTRL&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; &amp;gt;;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; };&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; flexcan2 {&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; pinctrl_flexcan2_sigmatek: flexcan2grp-sigmatek {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; fsl,pins = &amp;lt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; MX6QDL_PAD_SD3_DAT1__FLEXCAN2_RX NO_PAD_CTRL&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; MX6QDL_PAD_SD3_DAT0__FLEXCAN2_TX NO_PAD_CTRL&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; &amp;gt;;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; };&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;/*&lt;/P&gt;&lt;P&gt; * CAN&lt;/P&gt;&lt;P&gt; */&lt;/P&gt;&lt;P&gt;&amp;amp;flexcan1 {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinctrl-names = "default";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinctrl-0 = &amp;lt;&amp;amp;pinctrl_flexcan1_sigmatek&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = "okay";&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;flexcan2 {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinctrl-names = "default";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinctrl-0 = &amp;lt;&amp;amp;pinctrl_flexcan2_sigmatek&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = "okay";&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 02 May 2015 06:09:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Flexcan-doesn-t-execute-soft-reset/m-p/454729#M70821</guid>
      <dc:creator>wolnet</dc:creator>
      <dc:date>2015-05-02T06:09:15Z</dc:date>
    </item>
    <item>
      <title>Re: Flexcan doesn't execute soft reset</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Flexcan-doesn-t-execute-soft-reset/m-p/454730#M70822</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; The following may help :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/message/345722"&gt;https://community.nxp.com/message/345722&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Dec 2018 07:28:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Flexcan-doesn-t-execute-soft-reset/m-p/454730#M70822</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-12-28T07:28:32Z</dc:date>
    </item>
  </channel>
</rss>

