<?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>Kinetis MicrocontrollersのトピックRe: using KSZ8863 with lwip</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752592#M45839</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mark:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was able to download the basic project and get it to run on the FRDM-K64 board.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I believe I was also able to modify the needed configurations to match our development boards clocks (we have a 24Mhz crystal).&amp;nbsp; I created a new board type using examples between the FRDM-K64 and TEENSY_3_5 to match our clocks.&amp;nbsp; But somewhere in the nested macros I'm missing something in the configuration to support the KSZ8863.&amp;nbsp; My code only gets as far as&amp;nbsp;fnMIIread() where it will fault waiting for the read action to complete.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Terry&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 16 May 2018 14:41:03 GMT</pubDate>
    <dc:creator>tbiberdorf</dc:creator>
    <dc:date>2018-05-16T14:41:03Z</dc:date>
    <item>
      <title>using KSZ8863 with lwip</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752590#M45837</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Has anyone been able to connect the Mitrel switch KSZ8863 to&amp;nbsp; K64F with MCUXpresso + lwip?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have the PHY register communication working with the KSZ8863 and I believe I'm able to instruct it to auto-negotiate.&amp;nbsp; But after I init my lwip stack I don't see any network traffic being received.&amp;nbsp; Is there any other special register setup needed in the KSZ8863 for network traffic to start?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Terry&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 May 2018 13:46:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752590#M45837</guid>
      <dc:creator>tbiberdorf</dc:creator>
      <dc:date>2018-05-14T13:46:31Z</dc:date>
    </item>
    <item>
      <title>Re: using KSZ8863 with lwip</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752591#M45838</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Terry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you have the PHY's HW straps set up in their standard way you can communicate without commanding anything.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can get KSZ8863 code from the Open Source uTasker project, which also allows the KSZ8863's tail-tagging mode to be used to create multi-homed and multi-interface interface (two independent Ethernet interfaces on one Ethernet controller with multiple IP settings).&lt;BR /&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fdocs%2FuTasker%2FuTaskerNetworking.pdf" rel="nofollow" target="_blank"&gt;http://www.utasker.com/docs/uTasker/uTaskerNetworking.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The project has been used in numerous industrial products (based on K53, K60, K61, K64, K65, K66 and K70) whereby (apart from one or two pin configurations and clock settings - notably the K65/K66) the code is compatible on all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080;"&gt;&lt;EM&gt;uTasker developer and supporter (+5'000 hours experience on +60 Kinetis derivatives in +80 product developments)&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000080;"&gt;&lt;EM&gt;&lt;SPAN&gt;Kinetis: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis.html&lt;/A&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 May 2018 23:26:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752591#M45838</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2018-05-14T23:26:23Z</dc:date>
    </item>
    <item>
      <title>Re: using KSZ8863 with lwip</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752592#M45839</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mark:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was able to download the basic project and get it to run on the FRDM-K64 board.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I believe I was also able to modify the needed configurations to match our development boards clocks (we have a 24Mhz crystal).&amp;nbsp; I created a new board type using examples between the FRDM-K64 and TEENSY_3_5 to match our clocks.&amp;nbsp; But somewhere in the nested macros I'm missing something in the configuration to support the KSZ8863.&amp;nbsp; My code only gets as far as&amp;nbsp;fnMIIread() where it will fault waiting for the read action to complete.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Terry&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 May 2018 14:41:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752592#M45839</guid>
      <dc:creator>tbiberdorf</dc:creator>
      <dc:date>2018-05-16T14:41:03Z</dc:date>
    </item>
    <item>
      <title>Re: using KSZ8863 with lwip</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752593#M45840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Terry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Make sure that &lt;STRONG&gt;_PHY_KSZ8863&lt;/STRONG&gt; is defined "somewhere".&lt;BR /&gt;You can then also choose between &lt;STRONG&gt;PHY_MICREL_SMI&lt;/STRONG&gt; (of not) since you need the SMI interface (which is partly bit-banged) in order to use all of the PHY's features.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only reason for a failure in the &lt;EM&gt;fnMIIread()&lt;/EM&gt; that I know is a missing clock to the module (however, again check the &lt;STRONG&gt;PHY_MICREL_SMI&lt;/STRONG&gt; setting because this routine is dependent on it).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Disable &lt;STRONG&gt;STOP_MII_CLOCK&lt;/STRONG&gt; (if enabled) for first work since this allows the MII clock to be stopped between activity (to reduce power and radiation) but there is a risk that if &lt;EM&gt;fnMIIread()&lt;/EM&gt; is being called without first enabling the clock again it will hang. If the line state is being polled (this is an option when no interrupt line is used) this may be possible if not set up entirely correctly - disabling this ensures no potential issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that the Ethernet driver 'expects' the PHY to be recognised and will power off the interface again if it doesn't match.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;if ((ulPhyIdentifier &amp;amp; PHY_MASK) != (PHY_IDENTIFIER &amp;amp; PHY_MASK)) {&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;should be checked as being true (PHY connection is good) before continuing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It can however be disabled if &lt;STRONG&gt;ALLOW_PHY_ERROR&lt;/STRONG&gt; is set, which would allow HW with no PHY communication capability to still use the Ethernet.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 May 2018 15:59:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752593#M45840</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2018-05-16T15:59:32Z</dc:date>
    </item>
    <item>
      <title>Re: using KSZ8863 with lwip</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752594#M45841</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This was a big help, I'm now seeing the identifiers from the KZS8863.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How do I change the debug port?&amp;nbsp; I know the FRDM-K64 dumps data to the UART1, PTB16 and PTB17.&amp;nbsp; I cannot find the configuration needed to change it for my board?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Terry&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 May 2018 20:48:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752594#M45841</guid>
      <dc:creator>tbiberdorf</dc:creator>
      <dc:date>2018-05-16T20:48:03Z</dc:date>
    </item>
    <item>
      <title>Re: using KSZ8863 with lwip</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752595#M45842</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Terry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FRDM-K64F uses these pins (it is however UART0).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To use a different UART you can set the value in the file &lt;EM&gt;app_hw_kinetis.h&lt;/EM&gt; where you will find the UART defined by&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;#define DEMO_UART&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;You can change it to any other available UART (&lt;EM&gt;1..5&lt;/EM&gt;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, there are various pin muxing options and you may need to match to your HW.&lt;BR /&gt;eg. if you choose UART 3 there is a default pin pair&amp;nbsp; which can be optionally overwritten with defines like&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //#define UART3_ON_B&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;&amp;nbsp;&amp;nbsp; // alternative UART3 pin mapping&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //#define UART3_ON_F&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;&amp;nbsp;&amp;nbsp; // alternative UART3 pin mapping on port F&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;which will move them to port B or F as desired.&lt;/P&gt;&lt;P&gt;To see the choice, take a look in the routines &lt;EM&gt;fnTxOn()&lt;/EM&gt; and &lt;EM&gt;fnRxOn()&lt;/EM&gt; in &lt;EM&gt;kinetis_UART.h&lt;/EM&gt;.&lt;BR /&gt;The options change to a degree for different processors and if you find a set missing it is simple to extend the choice - just add a new option in the style of&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;_CONFIG_PERIPHERAL(B, 17, (PB_17_UART0_TX | UART_PULL_UPS));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // UART0_TX on PB17 (alt. function 3)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;eg. if there were a UART0_TX possibility on alternative function 6 on PTC19 (&lt;EM&gt;which there isn't in reality&lt;/EM&gt;) one would add&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;_CONFIG_PERIPHERAL(C, 19, (PC_19_UART0_TX | UART_PULL_UPS));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // UART0_TX on PC19 (alt. function 6)&lt;/STRONG&gt;&lt;BR /&gt;which requires &lt;EM&gt;PC_19_UART0_TX&lt;/EM&gt; to be added to &lt;EM&gt;kinetis.h&lt;/EM&gt; with the value &lt;EM&gt;PORT_MUX_ALT6&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Since (in this case) &lt;EM&gt;PC_19_UART0_TX&lt;/EM&gt; is not a valid pin-out for UART0 it will never actually exist in (or be added to) the header) so trying to move to an inappropriate pin will always result in a build error (a build error is always better than an error on the board that then needs in circuit debugging to work out why).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am however a little worried about the fact that mentioned a 24MHz clock in your design. The K64 &lt;STRONG&gt;&lt;EM&gt;NEEDS&lt;/EM&gt; &lt;/STRONG&gt;a 50MHz clock &lt;SPAN style="text-decoration: underline;"&gt;to be able to operate with Ethernet&lt;/SPAN&gt; since it is used to synchronise the PHY with the Ethernet controller. Is this a possible reason why you had difficulties with your original SW?&lt;/P&gt;&lt;P&gt;In comparison: The K65/K66 has a new Ethernet clock input that can be used instead, which allows the processor itself to be clocked with 24MHz (for example) since its HW USB requires the 24MHz (or one of a couple of other potential frequencies) to be available to generate its internal HS USB clocks from. In this case the developers needed to allow the Ethernet to be decoupled from the CPU's clock so that the two requirements could be met at the same time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 May 2018 23:11:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752595#M45842</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2018-05-16T23:11:49Z</dc:date>
    </item>
    <item>
      <title>Re: using KSZ8863 with lwip</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752596#M45843</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the direction to getting the debug port working, I'm now seeing some status being returned.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As for the 50Mhz question, we're following a previous K60 design with a KSZ8081 where the KSZ8081 (and now in this case with our KSZ8863) has its own 25Mhz crystal, this in turn sends a 50Mhz sync OSC to the K64's ENET_1588_CLKIN, which I have configured in kinetis_ENET.h&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;&amp;nbsp;_CONFIG_PERIPHERAL(E, 26, PE_26_ENET_1588_CLKIN);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You may be correct on a problem with the h/w, my debug output after reset does not reflect a network connection.&lt;/P&gt;&lt;P&gt;From my KSZ8863 build, I get the following message after reset:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Hello, world... GC100-K64F [Software]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Static memory = 0x00001080&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OS Heap use = 0x3840 from 0xc000&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Initial stack margin 0x00002ddf&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I run the branch of code on the FRDM-K64 board I see that it detects the ETH0 link is present:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Hello, world... FRDM-K64F [Lockup]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Static memory = 0x00001078&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OS Heap use = 0x3838 from 0xc000&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Initial stack margin 0x00002de7&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;Eth0 link-up 100 full-duplex&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This seems to be giving me the indication that the KSZ8863 network signals are not being passed to my K64.&amp;nbsp; I can see that it does communicate via the MDIO/MDC pins so I know the K64 does detect that its there.&amp;nbsp; Reading though the KSZ8863 documentation it talks about a bypass that does not provide communication to port 3 which is in turn sent to my K64.&amp;nbsp; Could this be happening?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks again&amp;nbsp;&lt;/P&gt;&lt;P&gt;Terry&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 May 2018 14:49:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752596#M45843</guid>
      <dc:creator>tbiberdorf</dc:creator>
      <dc:date>2018-05-17T14:49:51Z</dc:date>
    </item>
    <item>
      <title>Re: using KSZ8863 with lwip</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752597#M45844</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Terry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In fact I haven't used the K64 clocked from the 1588 clock input before and I though that only the K65 and K66 allowed this but in fact the K64 is the same, so your circuit is OK.&lt;BR /&gt;Nevertheless, in order to use this you not only need to configure the pin but you also need to select the input in the SIM_SOPT2 register. I checked the open source version and found that it didn't do this so checked in a change to do it correctly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _CONFIG_PERIPHERAL(E, 26,&amp;nbsp; PE_26_ENET_1588_CLKIN);&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; // select the pin function for external 50MHz clock input&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SOPT2 |= (SIM_SOPT2_RMIISRC_ENET_1588_CLKIN);&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; // select the ENET_1588_CLKIN as clock source (rather than EXTAL)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can simply add &lt;EM&gt;SIM_SOPT2 | 0x80000;&lt;/EM&gt; if defines are missing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;The fact that you don't get a link up is not connected to the port 3 or the RMII. You will get a link up when the PHY detects the Ethernet, even if it doesn't actually communicate yet.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that if you enable the define &lt;STRONG&gt;DEVELOP_PHY_CONTROL&lt;/STRONG&gt; in the file &lt;EM&gt;debug.c&lt;/EM&gt; it will add a PHY register dump. I use this will new PHY types to see their register content when disconnected or connected to certain connection types (10/100M duplex/simplex). I think that it is usable for the KSZ8863 since all PHYs have a few base registers that are defined by IEEE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The next question is whether you have configured the link detection interrupt (which will also need the correct K64 port to be set) or are polling it. &lt;BR /&gt;The FRDM-K64F doesn't connect an interrupt line and so uses the polling method, which is configured with:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define PHY_POLL_LINK&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; // no interrupt line connected so poll the link state&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define INTERRUPT_TASK_PHY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TASK_NETWORK_INDICATOR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // enable link state output messages&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;which configures the network indicator task (&lt;EM&gt;NetworkIndicator.c&lt;/EM&gt;) to check the state periodically and print out its details each time there is a change. This is the easiest method since it neither requires a port interrupt to be used nor the interrupt to be enabled in the PHY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In any case the link state change is the next thing that will confirm the HW is connected correctly to the Ethernet.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 May 2018 21:11:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752597#M45844</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2018-05-17T21:11:32Z</dc:date>
    </item>
    <item>
      <title>Re: using KSZ8863 with lwip</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752598#M45845</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm another step closer, but not there yet.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After making both the clock enable change you suggested, RMII clock source select:&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #51626f; background-color: #ffffff; border: 0px; font-weight: bold; font-size: 14px;"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;SIM_SOPT2 |= 0x80000;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="background-color: #ffffff; border: 0px; color: #3d3d3d; font-weight: 400; font-size: 14px;"&gt;I also added the selection to use the&amp;nbsp;&lt;SPAN&gt;IEEE 1588 timestamp clock source select:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #51626f; background-color: #ffffff; border: 0px; font-weight: bold; font-size: 14px;"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;SIM_SOPT2 |=&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;0x300000;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also found that my code still had the following define in place (so I took it out):&lt;/P&gt;&lt;P&gt;&lt;STRONG style="background-color: #ffffff; border: 0px; color: #3d3d3d; font-weight: 400; font-size: 14px;"&gt;#define&amp;nbsp;_KSZ8081RNA&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="background-color: #ffffff; border: 0px; color: #3d3d3d; font-weight: 400; font-size: 14px;"&gt;Note: My code still have the define for:&amp;nbsp;&lt;STRONG&gt;_PHY_KSZ8863&lt;/STRONG&gt;, and I do have the define for &lt;STRONG&gt;PHY_POLL_LINK&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="background-color: #ffffff; border: 0px; color: #3d3d3d; font-weight: 400; font-size: 14px;"&gt;Now my code is getting as far as detecting the Eth0:&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="background-color: #ffffff; border: 0px; color: #3d3d3d; font-weight: 400; font-size: 14px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Static memory = 0x00001080&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OS Heap use = 0x3840 from 0xc000&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Initial stack margin 0x00002d9f&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Eth0 link-up 10 half-duplex&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="background-color: #ffffff; border: 0px; color: #3d3d3d; font-weight: 400; font-size: 14px;"&gt;But I still fail to receive a valid IP address and DHCP reports that it fails to complete.&amp;nbsp; So my belief is that there is no ethernet communication is getting through.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="background-color: #ffffff; border: 0px; color: #3d3d3d; font-weight: 400; font-size: 14px;"&gt;Thanks&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="background-color: #ffffff; border: 0px; color: #3d3d3d; font-weight: 400; font-size: 14px;"&gt;Terry&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 May 2018 15:58:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752598#M45845</guid>
      <dc:creator>tbiberdorf</dc:creator>
      <dc:date>2018-05-18T15:58:32Z</dc:date>
    </item>
    <item>
      <title>Re: using KSZ8863 with lwip</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752599#M45846</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Terry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are you expecting 10Mb/s half-duplex? This would be an old hub connected.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Next check is to see whether the EMAC is detecting any activity. To do this go to the I/O menu (3) and do "md 400c0284 l 23" which will display the RX MIB counters (see the description of these in the user's manual). These are counters in the HW that count good and bad frames.&lt;/P&gt;&lt;P&gt;There is also a block for Tx counters.&lt;/P&gt;&lt;P&gt;In the LAN manu (1) do&lt;/P&gt;&lt;P&gt;"arp -a" to see whether any IP addresses have been collected form the network activity and try to&amp;nbsp; ping something from the board with "ping 192.168.0.1" for example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 May 2018 22:23:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752599#M45846</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2018-05-18T22:23:54Z</dc:date>
    </item>
    <item>
      <title>Re: using KSZ8863 with lwip</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752600#M45847</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is a very interesting.&amp;nbsp; I found that when I moved the same network cable between my hardware and my FRDM-K64 board that my KRDM-K64 board reports back the expected statistics&amp;nbsp;&lt;BR /&gt;Eth0 link-up 100 full-duplex&lt;BR /&gt;DHCP successful: 192.168.50.101&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but my hardware seems to be stuck reporting the:&amp;nbsp;&lt;BR /&gt;Eth0 link-up 10 half-duplex&lt;/P&gt;&lt;P&gt;DHCP failed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So something is still not correct in the configuration.&amp;nbsp; I'm still trying to better understand just what configuration settings the KSZ8863 should power up with, as something still does not seem correct.&amp;nbsp; I've been attempting to read the special registers of the KSZ8863 and the results do not seem correct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Terry&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 May 2018 16:30:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752600#M45847</guid>
      <dc:creator>tbiberdorf</dc:creator>
      <dc:date>2018-05-21T16:30:12Z</dc:date>
    </item>
    <item>
      <title>Re: using KSZ8863 with lwip</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752601#M45848</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem has been found.&amp;nbsp; It had to do with the Advanced Control Registers, Forward Invalid VID Frame and Host Mode Register 198, in the KSZ8863.&amp;nbsp; The power up straps should have set the P3 RMII Clock to use the Internal, but for some reason it was still set to external.&amp;nbsp; When I changed the register to use the Internal clock all network communication started to work!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Terry&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 May 2018 16:46:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/using-KSZ8863-with-lwip/m-p/752601#M45848</guid>
      <dc:creator>tbiberdorf</dc:creator>
      <dc:date>2018-05-23T16:46:37Z</dc:date>
    </item>
  </channel>
</rss>

