<?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中的主题 Platfrom SDK RGMII AR8031 G-Ethernet Test fail</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Platfrom-SDK-RGMII-AR8031-G-Ethernet-Test-fail/m-p/401005#M59210</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We made an Ethernet loopback cable (1-3, 2-6, 4-7 &amp;amp; 5-8) according to &amp;lt;&lt;A href="http://malcolmchalmers.azurewebsites.net/?p=3481" title="http://malcolmchalmers.azurewebsites.net/?p=3481"&gt;How to wire a ethernet loop back adaptor or cable | Malcolm's Tech Tips&lt;/A&gt;&amp;gt;, and running Platform SDK v1.1.0 output/mx6dq/obds/smart_device_rev_c/obds.bin on i.MX6Q-SDP. We running Ethernet loopback fail as below, but same board can load uImage and mount nfs as rootfs via same Ethernet port. Is there anything we can check?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ---- Running &amp;lt; RGMII AR8031 G-Ethernet Test &amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Would you like to run the Ethernet loopback test?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Please note that in order to run the test, you need to&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; first plug in a loopback cable to the Ethernet port.)&lt;/P&gt;&lt;P&gt;&amp;nbsp; Please enter y or Y to confirm.&lt;/P&gt;&lt;P&gt;y&lt;/P&gt;&lt;P&gt;ENET AR8031 PHY: ID=4dd070&lt;/P&gt;&lt;P&gt;enet phy status 1: 7949&lt;/P&gt;&lt;P&gt;AR8031 reg 0x11 = 0010&lt;/P&gt;&lt;P&gt;&amp;nbsp; ENET link status check failed.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 13 Apr 2015 05:48:27 GMT</pubDate>
    <dc:creator>m_c</dc:creator>
    <dc:date>2015-04-13T05:48:27Z</dc:date>
    <item>
      <title>Platfrom SDK RGMII AR8031 G-Ethernet Test fail</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Platfrom-SDK-RGMII-AR8031-G-Ethernet-Test-fail/m-p/401005#M59210</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We made an Ethernet loopback cable (1-3, 2-6, 4-7 &amp;amp; 5-8) according to &amp;lt;&lt;A href="http://malcolmchalmers.azurewebsites.net/?p=3481" title="http://malcolmchalmers.azurewebsites.net/?p=3481"&gt;How to wire a ethernet loop back adaptor or cable | Malcolm's Tech Tips&lt;/A&gt;&amp;gt;, and running Platform SDK v1.1.0 output/mx6dq/obds/smart_device_rev_c/obds.bin on i.MX6Q-SDP. We running Ethernet loopback fail as below, but same board can load uImage and mount nfs as rootfs via same Ethernet port. Is there anything we can check?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ---- Running &amp;lt; RGMII AR8031 G-Ethernet Test &amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Would you like to run the Ethernet loopback test?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Please note that in order to run the test, you need to&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; first plug in a loopback cable to the Ethernet port.)&lt;/P&gt;&lt;P&gt;&amp;nbsp; Please enter y or Y to confirm.&lt;/P&gt;&lt;P&gt;y&lt;/P&gt;&lt;P&gt;ENET AR8031 PHY: ID=4dd070&lt;/P&gt;&lt;P&gt;enet phy status 1: 7949&lt;/P&gt;&lt;P&gt;AR8031 reg 0x11 = 0010&lt;/P&gt;&lt;P&gt;&amp;nbsp; ENET link status check failed.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Apr 2015 05:48:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Platfrom-SDK-RGMII-AR8031-G-Ethernet-Test-fail/m-p/401005#M59210</guid>
      <dc:creator>m_c</dc:creator>
      <dc:date>2015-04-13T05:48:27Z</dc:date>
    </item>
    <item>
      <title>Re: Platfrom SDK RGMII AR8031 G-Ethernet Test fail</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Platfrom-SDK-RGMII-AR8031-G-Ethernet-Test-fail/m-p/401006#M59211</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi m.c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;from AR8031 FAQ:&lt;/P&gt;&lt;P&gt;How to set external loopback?&lt;/P&gt;&lt;P&gt;Answer:&lt;/P&gt;&lt;P&gt;1. Plug in an external loopback cable (1-3/2-6/4-7/5-8).&lt;/P&gt;&lt;P&gt;2. Config Dbg0xb[15]=0 disable hibernate(power saving mode),&lt;/P&gt;&lt;P&gt;Dbg0x11[0]=1 enable external loopback,&lt;/P&gt;&lt;P&gt;3. For 1000M Config: Preg0=0x8140 to set1000M and software reset&lt;/P&gt;&lt;P&gt;For 100M Config Preg0=0xA100 to set100M and software reset&lt;/P&gt;&lt;P&gt;For 10M Config Preg0=0x8100 to set10M and software reset&lt;/P&gt;&lt;P&gt;Notes:When re-plugs the cable in 1000M mode, need to write Preg0=0x8140 again to make the PHY link.&lt;/P&gt;&lt;P&gt;Need a software or hardware reset to make the PHY out of the loopback mode.&lt;/P&gt;&lt;P&gt;Dbg0xb means debug register whose offset address is 0xb.&lt;/P&gt;&lt;P&gt;Preg0 means basic register 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Additionally one can tweak delays&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="AR8031 TX_CLK dleays.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/49888i4537F2B7891FF2AD/image-size/large?v=v2&amp;amp;px=999" role="button" title="AR8031 TX_CLK dleays.jpg" alt="AR8031 TX_CLK dleays.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lastly one can printf AR8031 and i.MX6 ENET registers in Uboot and set the&lt;/P&gt;&lt;P&gt;same values in SDK.&lt;/P&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>Mon, 13 Apr 2015 09:43:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Platfrom-SDK-RGMII-AR8031-G-Ethernet-Test-fail/m-p/401006#M59211</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2015-04-13T09:43:23Z</dc:date>
    </item>
    <item>
      <title>Re: Platfrom SDK RGMII AR8031 G-Ethernet Test fail</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Platfrom-SDK-RGMII-AR8031-G-Ethernet-Test-fail/m-p/401007#M59212</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Igor,&lt;/P&gt;&lt;P&gt;Since it's an FAQ. Is there any patch for Platform SDK 1.1.0? or any plan to fix in next Platform SDK?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Apr 2015 01:32:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Platfrom-SDK-RGMII-AR8031-G-Ethernet-Test-fail/m-p/401007#M59212</guid>
      <dc:creator>m_c</dc:creator>
      <dc:date>2015-04-14T01:32:45Z</dc:date>
    </item>
    <item>
      <title>Re: Platfrom SDK RGMII AR8031 G-Ethernet Test fail</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Platfrom-SDK-RGMII-AR8031-G-Ethernet-Test-fail/m-p/401008#M59213</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi m.c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am afraid not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Apr 2015 01:34:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Platfrom-SDK-RGMII-AR8031-G-Ethernet-Test-fail/m-p/401008#M59213</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2015-04-14T01:34:51Z</dc:date>
    </item>
    <item>
      <title>Re: Platfrom SDK RGMII AR8031 G-Ethernet Test fail</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Platfrom-SDK-RGMII-AR8031-G-Ethernet-Test-fail/m-p/401009#M59214</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We apply below patch as suggestion and run test again. We found Dbg0x11[0] can't set to 1. Is this correct? BTW the test still fail in the end.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;diff --git a/sdk/drivers/enet/src/enet_drv.c b/sdk/drivers/enet/src/enet_drv.c&lt;/P&gt;&lt;P&gt;index 7d8c0b2..c6aa718 100755&lt;/P&gt;&lt;P&gt;--- a/sdk/drivers/enet/src/enet_drv.c&lt;/P&gt;&lt;P&gt;+++ b/sdk/drivers/enet/src/enet_drv.c&lt;/P&gt;&lt;P&gt;@@ -273,6 +273,26 @@ void enet_phy_rework_ar8031(imx_enet_priv_t * dev)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imx_enet_mii_read(dev-&amp;gt;enet_reg, dev-&amp;gt;phy_addr, 0x1e, &amp;amp;val);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; val |= 0x0100;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imx_enet_mii_write(dev-&amp;gt;enet_reg, dev-&amp;gt;phy_addr, 0x1e, val);&lt;/P&gt;&lt;P&gt;+&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* &lt;/SPAN&gt;&lt;A class="jive-link-message-small" data-containerid="2004" data-containertype="14" data-objectid="504404" data-objecttype="2" href="https://community.freescale.com/message/504404#504404"&gt;https://community.freescale.com/message/504404#504404&lt;/A&gt;&lt;SPAN&gt; */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Dbg0xb means debug register whose offset address is 0xb. */&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Preg0 means basic register 0. */&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Config Dbg0xb[15]=0 disable hibernate(power saving mode) */&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imx_enet_mii_read(dev-&amp;gt;enet_reg, dev-&amp;gt;phy_addr, 0xb, &amp;amp;val);&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("!!!!!! val=%04x\n", val);&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; val &amp;amp;= 0x7fff;&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("!!!!!! val=%04x\n", val);&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imx_enet_mii_write(dev-&amp;gt;enet_reg, dev-&amp;gt;phy_addr, 0xb, val);&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imx_enet_mii_read(dev-&amp;gt;enet_reg, dev-&amp;gt;phy_addr, 0xb, &amp;amp;val);&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("!!!!!! Dbg0xb=%04x\n", val);&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Dbg0x11[0]=1 enable external loopback */&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imx_enet_mii_read(dev-&amp;gt;enet_reg, dev-&amp;gt;phy_addr, 0x11, &amp;amp;val);&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("!!!!!! val=%04x\n", val);&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; val |= 0x1;&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("!!!!!! val=%04x\n", val);&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imx_enet_mii_write(dev-&amp;gt;enet_reg, dev-&amp;gt;phy_addr, 0x11, val);&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imx_enet_mii_read(dev-&amp;gt;enet_reg, dev-&amp;gt;phy_addr, 0x11, &amp;amp;val);&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("!!!!!! Dbg0x11=%04x\n", val);&lt;/P&gt;&lt;P&gt; #endif&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENET AR8031 PHY: ID=4dd070&lt;/P&gt;&lt;P&gt;!!!!!! val=0000&lt;/P&gt;&lt;P&gt;!!!!!! val=0000&lt;/P&gt;&lt;P&gt;!!!!!! Dbg0xb=0000&lt;/P&gt;&lt;P&gt;!!!!!! val=0010&lt;/P&gt;&lt;P&gt;!!!!!! val=0011&lt;/P&gt;&lt;P&gt;!!!!!! Dbg0x11=0010&lt;/P&gt;&lt;P&gt;enet phy status 1: 7949&lt;/P&gt;&lt;P&gt;AR8031 reg 0x11 = 0010&lt;/P&gt;&lt;P&gt;&amp;nbsp; ENET link status check failed.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Apr 2015 09:02:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Platfrom-SDK-RGMII-AR8031-G-Ethernet-Test-fail/m-p/401009#M59214</guid>
      <dc:creator>m_c</dc:creator>
      <dc:date>2015-04-15T09:02:32Z</dc:date>
    </item>
    <item>
      <title>Re: Platfrom SDK RGMII AR8031 G-Ethernet Test fail</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Platfrom-SDK-RGMII-AR8031-G-Ethernet-Test-fail/m-p/401010#M59215</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello! &lt;BR /&gt;I faced with the same problem in our custom board and I solved it!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/igorpadykov"&gt;igorpadykov&lt;/A&gt;&amp;nbsp;said&amp;nbsp; we need to configure ar8031 to external loopback mode:&lt;BR /&gt;1. plug in loopback cable&lt;BR /&gt;2. disable hibernate and enable ext loopback&lt;BR /&gt;3. set register 0x0 to proper value.&lt;BR /&gt;To do so we need to apply patch to enet_drv.c:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;diff --git a/sdk/drivers/enet/src/enet_drv.c b/sdk/drivers/enet/src/enet_drv.c&lt;BR /&gt;index 7d8c0b2..d2ba0ca 100644&lt;BR /&gt;--- a/sdk/drivers/enet/src/enet_drv.c&lt;BR /&gt;+++ b/sdk/drivers/enet/src/enet_drv.c&lt;BR /&gt;@@ -457,6 +457,9 @@ void imx_enet_phy_enable_external_loopback(imx_enet_priv_t * dev)&lt;BR /&gt; val |= 0x0001; // enable ext loopback&lt;BR /&gt; imx_enet_mii_write(dev-&amp;gt;enet_reg, dev-&amp;gt;phy_addr, 0x1e, val);&lt;BR /&gt; }&lt;BR /&gt;+&lt;BR /&gt;+ // 1000M loopback mode&lt;BR /&gt;+ imx_enet_mii_write(dev-&amp;gt;enet_reg, dev-&amp;gt;phy_addr, 0x0, 0x8140);&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And in test code we need to wait until link&amp;nbsp;up (just like in ping unit test).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Sep 2017 13:15:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Platfrom-SDK-RGMII-AR8031-G-Ethernet-Test-fail/m-p/401010#M59215</guid>
      <dc:creator>maximkuk</dc:creator>
      <dc:date>2017-09-12T13:15:52Z</dc:date>
    </item>
  </channel>
</rss>

