<?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のトピックRe: i.MX8QXP RMII Ethernet Phy issues</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX8QXP-RMII-Ethernet-Phy-issues/m-p/1337133#M179792</link>
    <description>&lt;P&gt;Turned out this problem didn't need a kernel patch after all.&amp;nbsp; It was only that the pins were improperly configured.&amp;nbsp; All the signals were muxed to the correct pads, but the TXC_CONN pad needed to be configured as an INOUT for the 50MHz clock to get routed both externally to the phy and internally to the FEC.&amp;nbsp; Without that pad being configured as an INOUT, the signal was only getting routed externally.&amp;nbsp; So the phy was getting properly clocked, but the FEC was not.&amp;nbsp; That allowed the phy to be responsive to MDIO and bring the link up and down, but the FEC would never transmit or receive data.&lt;/P&gt;&lt;P&gt;I ended up using this device tree entry for muxing the pads related to the phy:&lt;/P&gt;&lt;PRE&gt;&lt;FONT size="2"&gt;&amp;amp;iomuxc {&lt;BR /&gt;    pinctrl_fec1: fec1grp {&lt;BR /&gt;        fsl,pins = &amp;lt;&lt;BR /&gt;            SC_P_COMP_CTL_GPIO_1V8_3V3_ENET_ENETB0_PAD 0x000014a0&lt;BR /&gt;            SC_P_COMP_CTL_GPIO_1V8_3V3_ENET_ENETB1_PAD 0x000014a0&lt;BR /&gt;            SC_P_ENET0_MDC_CONN_ENET0_MDC                   0x00000060&lt;BR /&gt;            SC_P_ENET0_MDIO_CONN_ENET0_MDIO                 0x00000060&lt;BR /&gt;            SC_P_ENET0_RGMII_TXC_CONN_ENET0_RCLK50M_OUT     0x06000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_RXD0_CONN_ENET0_RGMII_RXD0     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_RXD2_CONN_ENET0_RMII_RX_ER     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_RX_CTL_CONN_ENET0_RGMII_RX_CTL 0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_TXD0_CONN_ENET0_RGMII_TXD0     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_TXD1_CONN_ENET0_RGMII_TXD1     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_TX_CTL_CONN_ENET0_RGMII_TX_CTL 0x00000060&lt;/FONT&gt;&lt;BR /&gt;        &amp;gt;;&lt;BR /&gt;    };&lt;BR /&gt;};&lt;/PRE&gt;&lt;P&gt;With that pin muxing change the problem went away, and the Ethernet started working.&lt;/P&gt;&lt;P&gt;I will want to use that same mux configuration in u-boot, but I expect that will get u-boot working as well.&lt;/P&gt;</description>
    <pubDate>Wed, 08 Sep 2021 19:39:23 GMT</pubDate>
    <dc:creator>rob_mclean</dc:creator>
    <dc:date>2021-09-08T19:39:23Z</dc:date>
    <item>
      <title>i.MX8QXP RMII Ethernet Phy issues</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX8QXP-RMII-Ethernet-Phy-issues/m-p/1331161#M179249</link>
      <description>&lt;P&gt;I'm trying to get an i.MX8QXP to communicate with an RMII Ethernet PHY, specifically a Microchip KSZ8061RNDW.&amp;nbsp; I can see the 50MHz reference clock coming out of the "ENET0_RGMII_TXC" pad.&amp;nbsp; &amp;nbsp;When I do an "ifconfig eth0 up",&amp;nbsp;I get this notification in Linux telling me the link is up so I know the MDIO is working.&lt;/P&gt;&lt;PRE&gt;&lt;FONT size="2"&gt;[ 2543.250265] Micrel KSZ8061 5b040000.ethernet-1:01: attached PHY driver [Micrel KSZ8061] (mii_bus:phy_addr=5b040000.ethernet-1:01, irq=POLL)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;[ 2546.342710] fec 5b040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx&lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My device tree looks like this:&lt;/P&gt;&lt;PRE&gt;&lt;FONT size="2"&gt;&amp;amp;fec1 {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;    pinctrl-names = "default", "sleep";&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;    pinctrl-0 = &lt;/FONT&gt;&lt;FONT size="2"&gt;&amp;lt;&amp;amp;pinctrl_fec1&amp;gt;;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;    clocks = &amp;lt;&amp;amp;clk IMX8QXP_ENET0_IPG_CLK&amp;gt;,&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;             &amp;lt;&amp;amp;clk IMX8QXP_ENET0_AHB_CLK&amp;gt;,&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;             &amp;lt;&amp;amp;clk IMX8QXP_ENET0_REF_50MHZ_CLK&amp;gt;,&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;             &amp;lt;&amp;amp;clk IMX8QXP_ENET0_PTP_CLK&amp;gt;,&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;             &amp;lt;&amp;amp;clk IMX8QXP_ENET0_TX_CLK&amp;gt;;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;    phy-mode = "rmii";&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;    phy-handle = &amp;lt;&amp;amp;ethphy1&amp;gt;;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;    phy-supply = &amp;lt;&amp;amp;reg_3v3_eth0&amp;gt;;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;    fsl,magic-packet;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;    status = "okay";&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;    mdio {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;        #address-cells = &amp;lt;1&amp;gt;;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;        #size-cells = &amp;lt;0&amp;gt;;&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;        ethphy1: ethernet-phy@1 {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            compatible = "ethernet-phy-ieee802.3-c22";&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            reg = &amp;lt;1&amp;gt;;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            phy-reset-gpios = &amp;lt;&amp;amp;gpio3 18 GPIO_ACTIVE_LOW&amp;gt;;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            reset-assert-us = &amp;lt;1000&amp;gt;;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            reset-deassert-us = &amp;lt;2000&amp;gt;;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            max-speed = &amp;lt;100&amp;gt;;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            };&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;      };&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;};&lt;BR /&gt;&lt;BR /&gt;&amp;amp;iomuxc {&lt;BR /&gt;    pinctrl_fec1: fec1grp {&lt;BR /&gt;        fsl,pins = &amp;lt;&lt;BR /&gt;            SC_P_COMP_CTL_GPIO_1V8_3V3_ENET_ENETB0_PAD 0x000014a0&lt;BR /&gt;            SC_P_COMP_CTL_GPIO_1V8_3V3_ENET_ENETB1_PAD 0x000014a0&lt;BR /&gt;            SC_P_ENET0_MDC_CONN_ENET0_MDC                   0x00000060&lt;BR /&gt;            SC_P_ENET0_MDIO_CONN_ENET0_MDIO                 0x00000060&lt;BR /&gt;            SC_P_ENET0_RGMII_TXC_CONN_ENET0_RCLK50M_OUT     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_RXD0_CONN_ENET0_RGMII_RXD0     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_RXD2_CONN_ENET0_RMII_RX_ER     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_RX_CTL_CONN_ENET0_RGMII_RX_CTL 0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_TXD0_CONN_ENET0_RGMII_TXD0     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_TXD1_CONN_ENET0_RGMII_TXD1     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_TX_CTL_CONN_ENET0_RGMII_TX_CTL 0x00000060&lt;/FONT&gt;&lt;BR /&gt;        &amp;gt;;&lt;BR /&gt;    };&lt;BR /&gt;};&lt;/PRE&gt;&lt;P&gt;When I added some debugging code to the FEC driver to tell me the speed of the reference clock, it indicated that the clock rate was 0Hz.&amp;nbsp; So I'm pretty sure that the 50MHz reference clock which is coming from the "ENET0_RGMII_TXC" pad is not getting properly plumbed back into the FEC.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I did find this issue&amp;nbsp;&lt;A href="https://community.nxp.com/t5/i-MX-Processors/i-MX8QXP-RMII-4-19-35-NXP-Kernel-Not-Working/m-p/1330504" target="_self"&gt;i.MXQXP RMII + 4.19.35 NXP Kernel Not Working&amp;nbsp;&lt;/A&gt;which is similar enough to my problem to make me think the solution described there would also fix my problem.&amp;nbsp; That discussion suggested a kernel patch is needed to fix that reference clock problem, but I've not been able to find the patch, or create it on my own.&lt;/P&gt;&lt;P&gt;We are using a 4.14 kernel which is not unlike this one&amp;nbsp;&lt;A href="https://source.codeaurora.org/external/imx/linux-imx/log/?h=imx_4.14.98_2.3.0" target="_self"&gt;4.14.98_2.3.0&lt;/A&gt;, and I'm not sure if we can move to a newer kernel yet.&amp;nbsp; So it would be ideal if we could find or create a patch that would fix the problem with the reference clock in the FEC.&lt;/P&gt;&lt;P&gt;Any help is greatly appreciated.&lt;/P&gt;</description>
      <pubDate>Fri, 27 Aug 2021 17:50:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX8QXP-RMII-Ethernet-Phy-issues/m-p/1331161#M179249</guid>
      <dc:creator>rob_mclean</dc:creator>
      <dc:date>2021-08-27T17:50:09Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX8QXP RMII Ethernet Phy issues</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX8QXP-RMII-Ethernet-Phy-issues/m-p/1335647#M179637</link>
      <description>&lt;P&gt;Hi Robert&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;We are using a 4.14 kernel which is not unlike this one&amp;nbsp;&lt;A href="https://source.codeaurora.org/external/imx/linux-imx/log/?h=imx_4.14.98_2.3.0" target="_self" rel="nofollow noopener noreferrer"&gt;4.14.98_2.3.0&lt;/A&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;please note that NXP supports only own linux releases from source.codeaurora.org/external/imx/linux-imx repository&lt;BR /&gt;&lt;A href="https://source.codeaurora.org/external/imx/linux-imx/tree/?h=lf-5.10.y" target="_blank" rel="noopener"&gt;https://source.codeaurora.org/external/imx/linux-imx/tree/?h=lf-5.10.y&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX?tab=In-Depth_Tab" target="_blank" rel="noopener"&gt;https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX?tab=In-Depth_Tab&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Please try this latest linux release and provide linux/uboot logs for that issue and relevant sources changes.&lt;/P&gt;
&lt;P&gt;Alternatively, support for other proprietary linux releases can be provided with NXP Professional Services:&lt;BR /&gt;&lt;A href="https://contact.nxp.com/new-prof-svcs-sw-tech" target="_blank" rel="noopener"&gt;https://contact.nxp.com/new-prof-svcs-sw-tech&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;In general one can try to debug it using&amp;nbsp;&amp;nbsp; &lt;A id="relatedDocsClick_12" href="https://www.nxp.com/webapp/Download?colCode=AN12631" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;AN12631: Normal and Secure Debug for i.MX8/8X Family of Applications Processors – Application Note&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
      <pubDate>Mon, 06 Sep 2021 23:31:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX8QXP-RMII-Ethernet-Phy-issues/m-p/1335647#M179637</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-09-06T23:31:54Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX8QXP RMII Ethernet Phy issues</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX8QXP-RMII-Ethernet-Phy-issues/m-p/1337133#M179792</link>
      <description>&lt;P&gt;Turned out this problem didn't need a kernel patch after all.&amp;nbsp; It was only that the pins were improperly configured.&amp;nbsp; All the signals were muxed to the correct pads, but the TXC_CONN pad needed to be configured as an INOUT for the 50MHz clock to get routed both externally to the phy and internally to the FEC.&amp;nbsp; Without that pad being configured as an INOUT, the signal was only getting routed externally.&amp;nbsp; So the phy was getting properly clocked, but the FEC was not.&amp;nbsp; That allowed the phy to be responsive to MDIO and bring the link up and down, but the FEC would never transmit or receive data.&lt;/P&gt;&lt;P&gt;I ended up using this device tree entry for muxing the pads related to the phy:&lt;/P&gt;&lt;PRE&gt;&lt;FONT size="2"&gt;&amp;amp;iomuxc {&lt;BR /&gt;    pinctrl_fec1: fec1grp {&lt;BR /&gt;        fsl,pins = &amp;lt;&lt;BR /&gt;            SC_P_COMP_CTL_GPIO_1V8_3V3_ENET_ENETB0_PAD 0x000014a0&lt;BR /&gt;            SC_P_COMP_CTL_GPIO_1V8_3V3_ENET_ENETB1_PAD 0x000014a0&lt;BR /&gt;            SC_P_ENET0_MDC_CONN_ENET0_MDC                   0x00000060&lt;BR /&gt;            SC_P_ENET0_MDIO_CONN_ENET0_MDIO                 0x00000060&lt;BR /&gt;            SC_P_ENET0_RGMII_TXC_CONN_ENET0_RCLK50M_OUT     0x06000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_RXD0_CONN_ENET0_RGMII_RXD0     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_RXD2_CONN_ENET0_RMII_RX_ER     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_RX_CTL_CONN_ENET0_RGMII_RX_CTL 0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_TXD0_CONN_ENET0_RGMII_TXD0     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_TXD1_CONN_ENET0_RGMII_TXD1     0x00000060&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;            SC_P_ENET0_RGMII_TX_CTL_CONN_ENET0_RGMII_TX_CTL 0x00000060&lt;/FONT&gt;&lt;BR /&gt;        &amp;gt;;&lt;BR /&gt;    };&lt;BR /&gt;};&lt;/PRE&gt;&lt;P&gt;With that pin muxing change the problem went away, and the Ethernet started working.&lt;/P&gt;&lt;P&gt;I will want to use that same mux configuration in u-boot, but I expect that will get u-boot working as well.&lt;/P&gt;</description>
      <pubDate>Wed, 08 Sep 2021 19:39:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX8QXP-RMII-Ethernet-Phy-issues/m-p/1337133#M179792</guid>
      <dc:creator>rob_mclean</dc:creator>
      <dc:date>2021-09-08T19:39:23Z</dc:date>
    </item>
  </channel>
</rss>

