imx6ul: Recent enet refclock changes breaks custom i.mx6ull board

Oleksij Rempel o.rempel at pengutronix.de
Mon Mar 6 01:47:37 PST 2023


On Mon, Mar 06, 2023 at 10:13:57AM +0100, Stefan Wahren wrote:
> Hi Oleksij,
> 
> Am 06.03.23 um 06:25 schrieb Oleksij Rempel:
> > Hi Stefan,
> > 
> > On Sun, Mar 05, 2023 at 11:16:17PM +0100, Stefan Wahren wrote:
> > > Hi,
> > > 
> > > we planned to submit our custom i.MX6ULL board [1] to mainline after release
> > > of Linux 6.3-rc1, but the recent enet refclock changes breaks our Ethernet
> > > phy:
> > > 
> > > [    0.000000] imx:clk-gpr-mux: failed to get parent (-EINVAL)
> > > 
> > > ...
> > > 
> > > [   18.574595] SMSC LAN8710/LAN8720 2188000.ethernet-1:00: phy_poll_reset
> > > failed: -110
> > > [   18.581064] fec 2188000.ethernet eth0: Unable to connect to phy
> > > 
> > > I narrow down the PHY issue to this first bad commit:
> > > 
> > > 5f82bfced611 ("clk: imx6ul: fix enet1 gate configuration")
> > > 
> > > The clock issues seems to be cause by the following commit. If i revert
> > > 5f82bfced611 and 4e197ee880c24 or use Linux 6.2 everything is fine.
> > It looks like in your kernel version are some missing patches. Can you please
> > rebase your patches on top of this branch:
> > https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git/log/?h=for-next
> 
> thanks for your fast reply. But i rebased my patches against Linux v6.3-rc1
> since this was released yesterday and should contain all patches from Shawn.

No, it is not. Related DTS changes are not included in to v6.3-rc1.

> I also changed the clockref in my DTSI file:
> 
> https://github.com/chargebyte/linux/commits/v6.3-tarragon-v3
> 
> Now the PHY issue disappeared and ethernet is working, but the
> 
> imx:clk-gpr-mux: failed to get parent (-EINVAL)

I need to take a look at it. It should not be critical.

> 
> is still there.
> 
> > and please rename IMX6UL_CLK_ENET_REF to IMX6UL_CLK_ENET1_REF_SEL in
> > your dtsi.
> 
> Yes, this seems to be the issue in my case.
> 
> Does this mean a Linux 6.3 kernel doesn't work with a i.MX6ULL Linux 6.2
> devicetree?

If I see it correctly. Since you do not have patch [1] related clock is not
enabled by the fec controller. Since this PHY is not addressable without
running rmii clock, the PHY can't be probed.

> So there is no fallback?

With [1] it should not be needed.

> 
> What about these other dtsi in Linux 6.3rc-1?
> 
> $ grep IMX6UL_CLK_ENET_REF *
> imx6ul-14x14-evk.dtsi:            clocks = <&clks IMX6UL_CLK_ENET_REF>;
> ..
> imx6ul-kontron-bl-common.dtsi:            clocks = <&clks
> IMX6UL_CLK_ENET_REF>;
> imx6ul-kontron-sl-common.dtsi:            clocks = <&clks
> IMX6UL_CLK_ENET_REF>;
> imx6ull-dhcom-picoitx.dts:            clocks = <&clks IMX6UL_CLK_ENET_REF>;
> imx6ull-dhcom-som.dtsi:            clocks = <&clks IMX6UL_CLK_ENET_REF>;
> imx6ull-jozacp.dts:            clocks = <&clks IMX6UL_CLK_ENET_REF>;
> imx6ull-myir-mys-6ulx.dtsi:            clocks = <&clks IMX6UL_CLK_ENET_REF>;
> imx6ul-phytec-phycore-som.dtsi:            clocks = <&clks
> IMX6UL_CLK_ENET_REF>;
> mba6ulx.dtsi:            clocks = <&clks IMX6UL_CLK_ENET_REF>;

It is nice to convert all of them to proper clock. But all of them are
expected to work with [1].

Can you please confirm it? Revert yourdtsi back to IMX6UL_CLK_ENET_REF
and include [1]?

[1] https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git/commit/?h=for-next&id=8940c105273fcde00a60023f68f8a5b75e1df0cc

Regards,
Oleksij
-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the linux-arm-kernel mailing list