<?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: iMX28 FEC MDC clock rate in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-FEC-MDC-clock-rate/m-p/282756#M32882</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jacky,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The ENET_CLK is not the right clock.&amp;nbsp; The MDC clock that forms part of the MDC &amp;amp; MDIO MII management interface is on R138 and is called ENET_MDC.&lt;/P&gt;&lt;P&gt;ENET_CLK should be 50MHz for RMII operation.&lt;/P&gt;&lt;P&gt;ENET_MDC is normally set at 2.5MHz although many PHYs will operate at a faster rate.&lt;/P&gt;&lt;P&gt;ENET_MDC is not related to ENET_CLK as the code assumes but is related to an internal bus clock (clkp or clkh) which is 151MHz on my board.&amp;nbsp; This is stated on p1668 of the reference manual.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am not using the EVK but my own board which is similar in many ways.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Best Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Matt.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 20 May 2013 06:11:48 GMT</pubDate>
    <dc:creator>Matt_</dc:creator>
    <dc:date>2013-05-20T06:11:48Z</dc:date>
    <item>
      <title>iMX28 FEC MDC clock rate</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-FEC-MDC-clock-rate/m-p/282753#M32879</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;I'm using the linux-2.6.35.3 SDK and notice in drivers/net/fec.c function fec_enet_mii_init&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fep-&amp;gt;phy_speed = DIV_ROUND_UP(clk_get_rate(fep-&amp;gt;clk), 5000000) &amp;lt;&amp;lt; 1;&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_ARCH_MXS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Can't get phy(8720) ID when set to 2.5M on MX28, lower it*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fep-&amp;gt;phy_speed &amp;lt;&amp;lt;= 2;&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(fep-&amp;gt;phy_speed, fep-&amp;gt;hwp + FEC_MII_SPEED);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is incorrect for the iMX28 as the MDC clock rate is determined by the 151MHz bus clock and not the 50MHz fep-&amp;gt;clk.&amp;nbsp; See page 1668 of the reference manual.&amp;nbsp; This was probably the reason why phy(8720) didn't respond until the calculated rate was divided by 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've used&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#ifndef CONFIG_ARCH_MXS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Set MII speed to 2.5 MHz (= clk_get_rate() / 2 * phy_speed)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fep-&amp;gt;phy_speed = DIV_ROUND_UP(clk_get_rate(fep-&amp;gt;clk), 5000000) &amp;lt;&amp;lt; 1;&lt;/P&gt;&lt;P&gt;#else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Set MII speed to 2.5 MHz (= clk_get_rate() / 2 * (MII_SPEED + 1))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fep-&amp;gt;phy_speed = (DIV_ROUND_UP(clk_get_rate(clk_get(&amp;amp;pdev-&amp;gt;dev, "h")), 5000000)-1) &amp;lt;&amp;lt; 1;&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(fep-&amp;gt;phy_speed, fep-&amp;gt;hwp + FEC_MII_SPEED);&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I now have a 2.44MHz clock rather than the original 1.84MHz clock.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is a similar mistake in fec_switch.c but I'm not using that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Matt.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Apr 2013 12:21:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-FEC-MDC-clock-rate/m-p/282753#M32879</guid>
      <dc:creator>Matt_</dc:creator>
      <dc:date>2013-04-24T12:21:37Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 FEC MDC clock rate</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-FEC-MDC-clock-rate/m-p/282754#M32880</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm studying the code which is quite confusing. I will get back to you later.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Jacky&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 May 2013 09:44:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-FEC-MDC-clock-rate/m-p/282754#M32880</guid>
      <dc:creator>JackyAtFreescal</dc:creator>
      <dc:date>2013-05-10T09:44:46Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 FEC MDC clock rate</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-FEC-MDC-clock-rate/m-p/282755#M32881</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Are you working on iMX28 EVK board?&lt;/P&gt;&lt;P&gt;With you changes and I probed on R171 on EVK which is the ENET_CLK signal, I always got 50MHz either the eth0 port has connected to 10MHz Hub or 100MHz switch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jacky&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 May 2013 02:51:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-FEC-MDC-clock-rate/m-p/282755#M32881</guid>
      <dc:creator>JackyAtFreescal</dc:creator>
      <dc:date>2013-05-20T02:51:57Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 FEC MDC clock rate</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-FEC-MDC-clock-rate/m-p/282756#M32882</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jacky,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The ENET_CLK is not the right clock.&amp;nbsp; The MDC clock that forms part of the MDC &amp;amp; MDIO MII management interface is on R138 and is called ENET_MDC.&lt;/P&gt;&lt;P&gt;ENET_CLK should be 50MHz for RMII operation.&lt;/P&gt;&lt;P&gt;ENET_MDC is normally set at 2.5MHz although many PHYs will operate at a faster rate.&lt;/P&gt;&lt;P&gt;ENET_MDC is not related to ENET_CLK as the code assumes but is related to an internal bus clock (clkp or clkh) which is 151MHz on my board.&amp;nbsp; This is stated on p1668 of the reference manual.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am not using the EVK but my own board which is similar in many ways.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Best Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Matt.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 May 2013 06:11:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-FEC-MDC-clock-rate/m-p/282756#M32882</guid>
      <dc:creator>Matt_</dc:creator>
      <dc:date>2013-05-20T06:11:48Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 FEC MDC clock rate</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-FEC-MDC-clock-rate/m-p/282757#M32883</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Matt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have verified on &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;ENET_MDC&lt;/SPAN&gt; signal, with your changes, the MDC frequency is 2.445MHz which is closed &lt;SPAN class="GINGER_SOFATWARE_correct"&gt;to&lt;/SPAN&gt; 151578666/31. fec_enet_mii_init&lt;SPAN class="GINGER_SOFATWARE_correct"&gt;(&lt;/SPAN&gt;) in drivers/net/&lt;SPAN class="GINGER_SOFATWARE_correct"&gt;fec&lt;/SPAN&gt;&lt;SPAN class="GINGER_SOFATWARE_correct"&gt;.&lt;/SPAN&gt;c and drivers/net/fec_switch&lt;SPAN class="GINGER_SOFATWARE_correct"&gt;.&lt;/SPAN&gt;c are need to be corrected. I will push the changes into our git.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your works on this defect!&lt;/P&gt;&lt;P&gt;Jacky&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 May 2013 07:14:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-FEC-MDC-clock-rate/m-p/282757#M32883</guid>
      <dc:creator>JackyAtFreescal</dc:creator>
      <dc:date>2013-05-21T07:14:25Z</dc:date>
    </item>
  </channel>
</rss>

