<?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 Ethernet link update in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-link-update/m-p/613682#M36398</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good morning&lt;/P&gt;&lt;P&gt;I am using the ethernet driver for the K64. The physical device is the DP83848 and it is working.&lt;/P&gt;&lt;P&gt;The initialisation in the SDK 1.1.0 as is, &amp;nbsp;detects the identity of the link and use the function ENET_HAL_SetRMIIMode&lt;/P&gt;&lt;P&gt;for applying the information detected with the physical device.&amp;nbsp;&lt;/P&gt;&lt;P&gt;In my understanding there is no way to update the change of link, is the communication is lost, just unplugging the cable.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also if the cable is not connected at start up no way to use.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think the interrupt of the physical needs to be used for updating the configuration of the MAC every time it is necessary calling again the&amp;nbsp;ENET_HAL_SetRMIIMode... Is there a problem in calling this function repeatedly?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Suggestions??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank You&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 31 Oct 2016 08:09:04 GMT</pubDate>
    <dc:creator>pietrodicastri</dc:creator>
    <dc:date>2016-10-31T08:09:04Z</dc:date>
    <item>
      <title>Ethernet link update</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-link-update/m-p/613682#M36398</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good morning&lt;/P&gt;&lt;P&gt;I am using the ethernet driver for the K64. The physical device is the DP83848 and it is working.&lt;/P&gt;&lt;P&gt;The initialisation in the SDK 1.1.0 as is, &amp;nbsp;detects the identity of the link and use the function ENET_HAL_SetRMIIMode&lt;/P&gt;&lt;P&gt;for applying the information detected with the physical device.&amp;nbsp;&lt;/P&gt;&lt;P&gt;In my understanding there is no way to update the change of link, is the communication is lost, just unplugging the cable.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also if the cable is not connected at start up no way to use.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think the interrupt of the physical needs to be used for updating the configuration of the MAC every time it is necessary calling again the&amp;nbsp;ENET_HAL_SetRMIIMode... Is there a problem in calling this function repeatedly?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Suggestions??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank You&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 31 Oct 2016 08:09:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-link-update/m-p/613682#M36398</guid>
      <dc:creator>pietrodicastri</dc:creator>
      <dc:date>2016-10-31T08:09:04Z</dc:date>
    </item>
    <item>
      <title>Re: Ethernet link update</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-link-update/m-p/613683#M36399</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Pietro,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is an API from PHY that can be used instead. The API: PHY_DRV_GetLinkStatus is used to get the link status and for newer KSDK versions, it is used to wait until cable is connected:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;while&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;count &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt; ENET_PHY_TIMEOUT&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;!&lt;/SPAN&gt;link&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;PHY_GetLinkStatus&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ENET&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; phyAddr&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;link&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;link&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&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 class="comment token"&gt;/* Get the actual PHY link speed. */&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 class="token function"&gt;PHY_GetLinkSpeedDuplex&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ENET&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; phyAddr&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;speed&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;duplex&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&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 class="comment token"&gt;/* Change the MII speed and duplex for actual link status. */&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; config&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;miiSpeed &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;enet_mii_speed_t&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;speed&lt;SPAN class="punctuation token"&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; config&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;miiDuplex &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;enet_mii_duplex_t&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;duplex&lt;SPAN class="punctuation token"&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; config&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;interrupt &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kENET_RxFrameInterrupt&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count&lt;SPAN class="operator token"&gt;++&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;count &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; ENET_PHY_TIMEOUT&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;LWIP_ASSERT&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"\r\nPHY Link down, please check the cable connection.\r\n"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;You can try to use the same method for your phy and check if this can solve the cable connection event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this can help you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;BR /&gt;Isaac&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Nov 2016 01:35:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-link-update/m-p/613683#M36399</guid>
      <dc:creator>isaacavila</dc:creator>
      <dc:date>2016-11-01T01:35:15Z</dc:date>
    </item>
    <item>
      <title>Re: Ethernet link update</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-link-update/m-p/613684#M36400</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Isaac&lt;/P&gt;&lt;P&gt;I see in the version 2 there is a timeout before giving up.&amp;nbsp;&lt;/P&gt;&lt;P&gt;The problem is what happens if the link is down during the session, and the link is os different type.&lt;/P&gt;&lt;P&gt;Do you think it is safe to reconfigure the MAC run time without any problem??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank You&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Nov 2016 17:09:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-link-update/m-p/613684#M36400</guid>
      <dc:creator>pietrodicastri</dc:creator>
      <dc:date>2016-11-01T17:09:39Z</dc:date>
    </item>
    <item>
      <title>Re: Ethernet link update</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-link-update/m-p/613685#M36401</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Piertro,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would prefer to run another function/task that will be checking the status connection as previous snipped. This way, on every iteration you can check if cable is still connected and in case that it won't, then you can omit the section where ethernet communication is performed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this helps!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;BR /&gt;Isaac&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Nov 2016 19:45:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-link-update/m-p/613685#M36401</guid>
      <dc:creator>isaacavila</dc:creator>
      <dc:date>2016-11-04T19:45:19Z</dc:date>
    </item>
  </channel>
</rss>

