<?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: U-Boot driver needed to make Ethernet work in Linux</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2049788#M234369</link>
    <description>&lt;P&gt;do you mind sharing two clock dump when you enable ethernet in the uboot and disable the ethernet in the uboot?&lt;/P&gt;
&lt;P&gt;this is clock driver in the kernel &lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/drivers/clk/imx/clk-imx6ul.c" target="_blank"&gt;https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/drivers/clk/imx/clk-imx6ul.c&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;this is ethernet clock settings in the kernel&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/arch/arm/boot/dts/nxp/imx/imx6ul-14x14-evk.dtsi#L208" target="_blank"&gt;https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/arch/arm/boot/dts/nxp/imx/imx6ul-14x14-evk.dtsi#L208&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 24 Feb 2025 09:41:30 GMT</pubDate>
    <dc:creator>joanxie</dc:creator>
    <dc:date>2025-02-24T09:41:30Z</dc:date>
    <item>
      <title>U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2040252#M233758</link>
      <description>&lt;P&gt;We are using Micrel Phy:&lt;/P&gt;&lt;P class="lia-indent-padding-left-30px"&gt;KSZ8091RNBCA&lt;/P&gt;&lt;P&gt;For some reason Linux will not work from a cold boot if U-Boot is not configured for the Micrel Phy. Also the debug port becomes very sluggish and has lots of errors.&lt;/P&gt;&lt;P class="lia-indent-padding-left-30px"&gt;&lt;BR /&gt;fec 2188000.ethernet eth0: Unable to connect to phy&lt;BR /&gt;RTNETLINK answers: No such device&lt;/P&gt;&lt;P class="lia-indent-padding-left-30px"&gt;bash# mii-diag eth0&lt;BR /&gt;SIOCGMIIPHY on eth0 failed: Operation not supported&lt;/P&gt;&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We are using i.MX6ULL which has a single Ethernet port.&lt;BR /&gt;&lt;BR /&gt;Linux seems to recognize our phy when U-Boot is configured and everything is normal.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;Micrel KSZ8041 2188000.ethernet-1:01: attached PHY driver (mii_bus:phy_addr=2188000.ethernet-1:01, irq=POLL)
fec 2188000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;We would like to eliminate the U-Boot Ethernet driver, since we never use it, and we think it is better for security and boot simplicity if we do not have it.&amp;nbsp; What could be causing Linux not to initialize the Ethernet properly?&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;For instance mii-diag is unable to contact the Phy on a cold boot without the U-Boot driver:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 08 Feb 2025 01:31:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2040252#M233758</guid>
      <dc:creator>JohnKlug</dc:creator>
      <dc:date>2025-02-08T01:31:26Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2040283#M233760</link>
      <description>&lt;P&gt;For some reason Linux will not work from a cold boot if U-Boot is not configured for the Micrel Phy.&lt;/P&gt;
&lt;P&gt;&amp;gt;do you mean you would get cold boot issue when you disable ethernet in the uboot but enable in the kernel, right? but everything is ok when you enable it in the uboot and kernel, right? if yes, how did you disable it in the uboot?&lt;/P&gt;</description>
      <pubDate>Sat, 08 Feb 2025 04:00:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2040283#M233760</guid>
      <dc:creator>joanxie</dc:creator>
      <dc:date>2025-02-08T04:00:47Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2040992#M233823</link>
      <description>&lt;P&gt;I disabled the following using U-Boot's menuconfig:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;CONFIG_PHYLIB
CONFIG_PHY_MICREL
CONFIG_PHY_MICREL_KSZ8XXX
CONFIG_DM_MDIO
CONFIG_FEC_MXC
CONFIG_MII
&lt;/LI-CODE&gt;&lt;P&gt;&lt;BR /&gt;This change worked on another i.MX6ULL board we have that used a TI phy (maybe not exactly the same case because it is not Micrel) when we disabled it in U-Boot.&amp;nbsp; I assume something is causing the CPU to enter an undefined state, because why else would the debug serial port go bad when in Linux? As I said it becomes ridiculously slow, full of bad characters and hangs, and TOP is not showing any processes hogging memory or CPU.&amp;nbsp; And putting the Ethernet setup back in U-Boot fixes everything.&lt;BR /&gt;&lt;BR /&gt;I will look into changing the MDIO Ethernet pins to GPIO inputs in U-Boot and see if that fixes it.&lt;/P&gt;</description>
      <pubDate>Mon, 10 Feb 2025 15:11:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2040992#M233823</guid>
      <dc:creator>JohnKlug</dc:creator>
      <dc:date>2025-02-10T15:11:46Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2041079#M233827</link>
      <description>&lt;P&gt;I also tried disabling Ethernet in U-Boot in device tree, which did not work.&amp;nbsp; Now I added code in U-Boot to change the Ethernet pins to GPIO inputs. This made it worse, and it no longer works in a warm boot situation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For instance we are using MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1.&lt;BR /&gt;&lt;BR /&gt;Here is U-Boot, setting the Ethernet pins to GPIO during U-Boot:&lt;/P&gt;&lt;LI-CODE lang="c"&gt;=&amp;gt; md.l 0x20e0368 1
020e0368: 0001b000                             ....
=&amp;gt; md.l 0x20e00dc 1
020e00dc: 00000005                             ....&lt;/LI-CODE&gt;&lt;P&gt;Here are the same pins set to Ethernet in Linux, which does not work when U-Boot has somehow disabled Ethernet:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;bash# devmem2 0x20e0368 w
/dev/mem opened.
Memory mapped at address 0x76f3a000.
Read at address  0x020E0368 (0x76f3a368): 0x00000020
bash# devmem2 0x20e00dc w
/dev/mem opened.
Memory mapped at address 0x76f78000.
Read at address  0x020E00DC (0x76f780dc): 0x00000014&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the U-Boot case the pins are now GPIO inputs.&lt;BR /&gt;&lt;BR /&gt;Linux still has the correct pinctrl, and has defined the usage of the Ethernet mux, mux 4.&amp;nbsp; But I still have issues with Linux not reaching the PHY when U-Boot has disabled Ethernet:&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;But with the Ethernet pins set to GPIO inputs in U-Boot, now I am seeing a failure to reach the Ethernet PHY in both cold and warm boots.&lt;/P&gt;</description>
      <pubDate>Mon, 10 Feb 2025 17:36:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2041079#M233827</guid>
      <dc:creator>JohnKlug</dc:creator>
      <dc:date>2025-02-10T17:36:41Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2042843#M233940</link>
      <description>One of our hardware engineers looked at this, and if Ethernet is not configured in U-Boot there is no clock until we load in Linux, and the clock comes on for a short while and quits. I will start looking at registers next for the CPU.</description>
      <pubDate>Wed, 12 Feb 2025 20:17:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2042843#M233940</guid>
      <dc:creator>JohnKlug</dc:creator>
      <dc:date>2025-02-12T20:17:16Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2042930#M233944</link>
      <description>&lt;P&gt;if you remove these from config files, maybe would cause enet clock enable issue, refer to the clock file, one can refer to the source code as below, if you just set disabled status in the dts file, does it have any issue? I didn't this PHY on the imx6ull to test for you, so it's hard to trace the root cause, I don't suggest that you remove the config file otherwise you can ensure this modification wouldn't&amp;nbsp; cause any other issue&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;A href="https://github.com/nxp-imx/uboot-imx/blob/lf_v2022.04/arch/arm/mach-imx/mx6/clock.c#L103" target="_blank"&gt;https://github.com/nxp-imx/uboot-imx/blob/lf_v2022.04/arch/arm/mach-imx/mx6/clock.c#L103&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Feb 2025 01:03:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2042930#M233944</guid>
      <dc:creator>joanxie</dc:creator>
      <dc:date>2025-02-13T01:03:27Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2043771#M233991</link>
      <description>&lt;P&gt;Normally during boot I get a successful link in U-Boot, the link is brought down and Linux brings up the link again.&lt;/P&gt;&lt;P&gt;If I disable Ethernet in U-Boot device tree and leave the .config file for U-Boot alone, U-Boot no longer links.&amp;nbsp; However Linux does not link either, and I see the unable to connect to phy mesage.&lt;BR /&gt;&lt;BR /&gt;This is my only change:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="c"&gt; &amp;amp;fec1 {
        phy-reset-gpios = &amp;lt;&amp;amp;gpio1 4 GPIO_ACTIVE_LOW&amp;gt;;
        phy-handle = &amp;lt;&amp;amp;ethphy1&amp;gt;;
+       status = "disabled";
        mdio {
                #address-cells = &amp;lt;1&amp;gt;;
                #size-cells = &amp;lt;0&amp;gt;;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What follows in Linux is:&lt;BR /&gt;&lt;BR /&gt;fec 2188000.ethernet eth0: Unable to connect to phy&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;And the link lights never come on ever.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Feb 2025 18:40:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2043771#M233991</guid>
      <dc:creator>JohnKlug</dc:creator>
      <dc:date>2025-02-13T18:40:36Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2046122#M234122</link>
      <description>&lt;P&gt;what bsp version do you test? as you mentioned before, you tested other ethernet module which&amp;nbsp; is ok, only&amp;nbsp;&lt;SPAN&gt;KSZ8091RNBCA？ and could you reproduce this on nxp imx6ull evk board?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 18 Feb 2025 08:23:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2046122#M234122</guid>
      <dc:creator>joanxie</dc:creator>
      <dc:date>2025-02-18T08:23:39Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2046511#M234152</link>
      <description>&lt;P&gt;The Linux we use is:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://github.com/nxp-imx/mwifiex/tree/lf-5.15.71_2.2.0/mxm_wifiex/wlan_src" target="_blank"&gt;https://github.com/nxp-imx/mwifiex/tree/lf-5.15.71_2.2.0/mxm_wifiex/wlan_src&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The U-Boot is lf_v2204.04:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://github.com/nxp-imx/uboot-imx/tree/lf_v2022.04" target="_blank"&gt;https://github.com/nxp-imx/uboot-imx/tree/lf_v2022.04&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I did not try the EVK board.&amp;nbsp; I have not done a build for the EVK in a long time. But we have another i.MX6ULL board that is running the same kernel, and with U-Boot disabled, Linux works.&amp;nbsp; This PHY is:&lt;BR /&gt;&lt;BR /&gt;DP83825IRMQR&lt;/P&gt;&lt;P&gt;Disablement in U-Boot:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;# CONFIG_PHYLIB is not set&lt;/P&gt;&lt;P&gt;# CONFIG_FEC_MXC is not set&lt;BR /&gt;# CONFIG_MII is not set&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Note that on the working board with the TI phy the link status lights do not come on during U-Boot, but do come on in Linux (what we want). Also, when resetting the phy with the hardware reset pin, the phy loses link and comes back, just like what we want.&lt;/P&gt;&lt;P&gt;With the&amp;nbsp; Micrel board, if we disable U-Boot drivers (either in config or device tree), the link status lights never come on in U-Boot or Linux.&lt;/P&gt;&lt;P&gt;The kernel configuration is exactly the same for Linux on the two boards, but device trees differ.&lt;/P&gt;&lt;P&gt;Here are the PHY related entries for Linux:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;CONFIG_SWPHY=y&lt;BR /&gt;# CONFIG_LED_TRIGGER_PHY is not set&lt;BR /&gt;CONFIG_FIXED_PHY=y&lt;/P&gt;&lt;P&gt;CONFIG_FEC=y&lt;/P&gt;&lt;P&gt;CONFIG_MDIO_DEVICE=y&lt;BR /&gt;CONFIG_MDIO_BUS=y&lt;BR /&gt;CONFIG_FWNODE_MDIO=y&lt;BR /&gt;CONFIG_OF_MDIO=y&lt;BR /&gt;CONFIG_MDIO_DEVRES=y&lt;BR /&gt;CONFIG_MICREL_PHY=y&lt;BR /&gt;CONFIG_MICROCHIP_PHY=y&lt;BR /&gt;CONFIG_AT803X_PHY=y&lt;BR /&gt;CONFIG_SMSC_PHY=y&lt;BR /&gt;CONFIG_DP83822_PHY=y&lt;BR /&gt;CONFIG_USB_PHY=y&lt;BR /&gt;CONFIG_USB_MXS_PHY=y&lt;BR /&gt;CONFIG_GENERIC_PHY=y&lt;BR /&gt;CONFIG_PHY_FSL_IMX_PCIE=y&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 18 Feb 2025 16:26:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2046511#M234152</guid>
      <dc:creator>JohnKlug</dc:creator>
      <dc:date>2025-02-18T16:26:37Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2046545#M234154</link>
      <description>I thought I would start to look at registers. If U-Boot does not enable the Ethernet, then it is not possible:&lt;BR /&gt;&lt;BR /&gt;bash# devmem2 0x2188044 w&lt;BR /&gt;/dev/mem opened.&lt;BR /&gt;[HANG]&lt;BR /&gt;&lt;BR /&gt;If U-Boot initializes the driver, devmem2 works:&lt;BR /&gt;&lt;BR /&gt;bash# devmem2 0x2188044 w&lt;BR /&gt;/dev/mem opened.&lt;BR /&gt;Memory mapped at address 0x76f19000.&lt;BR /&gt;Read at address 0x02188044 (0x76f19044): 0x0000001A&lt;BR /&gt;&lt;BR /&gt;The register I am trying to read:&lt;BR /&gt;MII Speed Control Register (ENET1_MSCR)&lt;BR /&gt;</description>
      <pubDate>Tue, 18 Feb 2025 17:30:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2046545#M234154</guid>
      <dc:creator>JohnKlug</dc:creator>
      <dc:date>2025-02-18T17:30:24Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2046700#M234163</link>
      <description>I took our imx6 board which has two TI phys, and when U-Boot is not configured for Ethernet, it has no trouble dumping registers in Linux from both ethernet ports:&lt;BR /&gt;&lt;BR /&gt;bash# devmem2 0x2188044 w&lt;BR /&gt;/dev/mem opened.&lt;BR /&gt;Memory mapped at address 0x76f13000.&lt;BR /&gt;Read at address 0x02188044 (0x76f13044): 0x00000000&lt;BR /&gt;bash# devmem2 0x20b4044 w&lt;BR /&gt;/dev/mem opened.&lt;BR /&gt;Memory mapped at address 0x76f92000.&lt;BR /&gt;Read at address 0x020B4044 (0x76f92044): 0x0000001A&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 18 Feb 2025 22:28:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2046700#M234163</guid>
      <dc:creator>JohnKlug</dc:creator>
      <dc:date>2025-02-18T22:28:38Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2046706#M234164</link>
      <description>&lt;P&gt;I looked in /sys/kernel/debug/clk/clk_summary.&lt;BR /&gt;&lt;BR /&gt;The following clocks are not enabled when things do not work:&lt;BR /&gt;&lt;BR /&gt;pll6_enet&lt;BR /&gt;enet_ptp&lt;BR /&gt;enet_ahb&lt;BR /&gt;ipg-&amp;gt;enet&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;All say "N" in the hardware enable column.&amp;nbsp; So what does one do to enable these clocks in Linux?&amp;nbsp; If U-Boot initializes Ethernet, the clocks are enabled.&amp;nbsp; If I use my board that works without U-Boot enabling Ethernet, all these clocks are enabled.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 18 Feb 2025 23:03:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2046706#M234164</guid>
      <dc:creator>JohnKlug</dc:creator>
      <dc:date>2025-02-18T23:03:02Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2049788#M234369</link>
      <description>&lt;P&gt;do you mind sharing two clock dump when you enable ethernet in the uboot and disable the ethernet in the uboot?&lt;/P&gt;
&lt;P&gt;this is clock driver in the kernel &lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/drivers/clk/imx/clk-imx6ul.c" target="_blank"&gt;https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/drivers/clk/imx/clk-imx6ul.c&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;this is ethernet clock settings in the kernel&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/arch/arm/boot/dts/nxp/imx/imx6ul-14x14-evk.dtsi#L208" target="_blank"&gt;https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/arch/arm/boot/dts/nxp/imx/imx6ul-14x14-evk.dtsi#L208&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 24 Feb 2025 09:41:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2049788#M234369</guid>
      <dc:creator>joanxie</dc:creator>
      <dc:date>2025-02-24T09:41:30Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2050288#M234397</link>
      <description>&lt;P&gt;I was able to fix the issue by changing the clocks line in our single phy from ENET to ENET2.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;               micrelphy1: ethernet-phy@1 {
                        reg = &amp;lt;1&amp;gt;;
                        micrel,led-mode = &amp;lt;0&amp;gt;;
                        clocks = &amp;lt;&amp;amp;clks IMX6UL_CLK_ENET2_REF&amp;gt;;  // Fixes Issue
                        clock-names = "rmii-ref";
                };&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Our i.MX6ULL on the non-working (when not configured by U-Boot) board has only one Ethernet as configured from the factory from NXP.&amp;nbsp; We had selected IMXUL_CLK_ENET_REF.&amp;nbsp; Linux was able to attach to the PHY when this was changed to IMX6UL_CLK_ENET2_REF.&amp;nbsp; How as one to know that the ENET2_REF was to be used?&amp;nbsp; The ENET2 is not connected otherwise.&lt;BR /&gt;Here are the pinmux settings:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;// Need to add MDIO pins to pinctrl_enet1.
&amp;amp;pinctrl_enet1 {
    // Alternate drive strength:
    // MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1      0x40000014
    // Reference design does not work:
    // MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1      0x4001b031
    fsl,pins = &amp;lt;
        MX6UL_PAD_ENET2_RX_DATA1__ENET1_MDC        0x0001B008
        MX6UL_PAD_ENET2_RX_DATA0__ENET1_MDIO       0x0001B808
        MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN         0x00011000
        MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER         0x00011000
        MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00    0x00011000
        MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01    0x00011000
        MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN         0x00000018
        MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00    0x00000018
        MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01    0x00000018
        MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1     0x40000020
        MX6UL_PAD_GPIO1_IO09__GPIO1_IO09           0x0001B0B0
    &amp;gt;;
};&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And fec2 is disabled, which seems to correspond to ENET2.&lt;BR /&gt;&lt;BR /&gt;The part we are using is:&lt;BR /&gt;&lt;FONT size="2"&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;MCIMX6Y1CVM05&lt;/SPAN&gt;AB&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 24 Feb 2025 23:11:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2050288#M234397</guid>
      <dc:creator>JohnKlug</dc:creator>
      <dc:date>2025-02-24T23:11:52Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2050617#M234413</link>
      <description>&lt;P&gt;did you dump the clock to check? it seems the&amp;nbsp;&lt;SPAN&gt;IMX6UL_CLK_ENET_REF is disable but&amp;nbsp;IMX6UL_CLK_ENET2_REF works&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;when you disable the ethenet in the uboot&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 25 Feb 2025 08:17:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2050617#M234413</guid>
      <dc:creator>joanxie</dc:creator>
      <dc:date>2025-02-25T08:17:05Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2051000#M234443</link>
      <description>&lt;P&gt;I apologize for my previous post which is not correct, as I did not look at the U-Boot I was using.&amp;nbsp; Unfortunately using &lt;SPAN class=""&gt;IMX6UL_CLK_ENET&lt;SPAN class=""&gt;2&lt;/SPAN&gt;_REF&lt;/SPAN&gt; Does not fix the issue.&amp;nbsp; I will attach the clk_summary from the kernel debugfs.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;ubooteth.txt:     U-Boot sets up Ethernet
ubootnoeth.txt:   U-Boot has Ethernet disabled&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The first clock that is off when U-Boot does not set up Ethernet is pll6_enet.&lt;/P&gt;</description>
      <pubDate>Tue, 25 Feb 2025 17:03:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2051000#M234443</guid>
      <dc:creator>JohnKlug</dc:creator>
      <dc:date>2025-02-25T17:03:35Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2051337#M234467</link>
      <description>&lt;P&gt;it seems the clock is disable, refer to the reference manual, pls check if you enable the enet clock in the kernel, you can read CG6 of this register&lt;/P&gt;
&lt;P&gt;CCM Clock Gating Register 0 (CCM_CCGR0)&lt;/P&gt;
&lt;P&gt;Address: 20C_4000h base + 68h offset = 20C_4068h&lt;/P&gt;
&lt;DIV id="tinyMceEditorjoanxie_8" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorjoanxie_9" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV id="tinyMceEditorjoanxie_0" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorjoanxie_5" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorjoanxie_6" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorjoanxie_7" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV id="tinyMceEditorjoanxie_4" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV id="tinyMceEditorjoanxie_1" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorjoanxie_2" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorjoanxie_3" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 26 Feb 2025 05:47:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2051337#M234467</guid>
      <dc:creator>joanxie</dc:creator>
      <dc:date>2025-02-26T05:47:29Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2052255#M234503</link>
      <description>The pll6_enet clock is disabled by Linux during boot. If I turn the clock on manually, the following command disables the clock:&lt;BR /&gt;ip link set dev eth0 up&lt;BR /&gt;ip: SIOCSIFFLAGS: No such device&lt;BR /&gt;I suspect that if the driver cannot talk to the phy, the clock is then disabled by the driver.&lt;BR /&gt;&lt;BR /&gt;I have three revisions of this board that are supposed to be functionally the same as far as Ethernet is concerned with the same CPU and Phy, but both copies of one of the revisions of the board fail. The other two board revisions work with Ethernet disabled in U-Boot.&lt;BR /&gt;&lt;BR /&gt;This issue may be hardware implementation related. But the boards that require U-Boot initialization show the same performance with iperf3, 94MBits/S, and no boards show errors in /proc/net/dev.</description>
      <pubDate>Wed, 26 Feb 2025 21:40:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2052255#M234503</guid>
      <dc:creator>JohnKlug</dc:creator>
      <dc:date>2025-02-26T21:40:28Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2052322#M234504</link>
      <description>&lt;P&gt;With one of the boards that cannot reach the phy without U-Boot initialization I see:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;bash# devmem2 0x20c4068 w  
/dev/mem opened.
Memory mapped at address 0x76f35000.
Read at address  0x020C4068 (0x76f35068): 0xC0C03F0F
bash# ip link set dev eth0 down
bash# devmem2 0x20c4068 w  
/dev/mem opened.
Memory mapped at address 0x76f2c000.
Read at address  0x020C4068 (0x76f2c068): 0xC0C00F0F
bash# ip link set dev eth0 up  
[  131.417830] Micrel KSZ8041 2188000.ethernet-1:01: attached PHY driver (mii_bus:phy_addr=2188000.ethernet-1:01, irq=POLL)
bash# [  132.491300] fec 2188000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[  132.499259] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

bash# devmem2 0x20c4068 w  
/dev/mem opened.
Memory mapped at address 0x76f8d000.
Read at address  0x020C4068 (0x76f8d068): 0xC0C03F0F&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This shows that the driver will take the clock up and down, and this works even on boards that require U-Boot to initialize the PHY.&lt;/P&gt;</description>
      <pubDate>Wed, 26 Feb 2025 22:27:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2052322#M234504</guid>
      <dc:creator>JohnKlug</dc:creator>
      <dc:date>2025-02-26T22:27:39Z</dc:date>
    </item>
    <item>
      <title>Re: U-Boot driver needed to make Ethernet work in Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2052349#M234505</link>
      <description>I was told that the boards that do not work in U-Boot use a different phy.&lt;BR /&gt;&lt;BR /&gt;The non-working phy (without U-Boot config) is KSZ8041NL. The working phy is KSZ8091RNB.</description>
      <pubDate>Wed, 26 Feb 2025 22:50:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/U-Boot-driver-needed-to-make-Ethernet-work-in-Linux/m-p/2052349#M234505</guid>
      <dc:creator>JohnKlug</dc:creator>
      <dc:date>2025-02-26T22:50:02Z</dc:date>
    </item>
  </channel>
</rss>

